openjournals / joss-reviews

Reviews for the Journal of Open Source Software
Creative Commons Zero v1.0 Universal
721 stars 38 forks source link

[REVIEW]: Pulse Physiology Engine: A Computational Physiology Engine for Whole-Body Simulation #4929

Closed editorialbot closed 1 year ago

editorialbot commented 2 years ago

Submitting author: !--author-handle-->@aaron-bray<!--end-author-handle-- (Aaron Bray) Repository: https://gitlab.kitware.com/physiology/engine Branch with paper.md (empty if default branch): publication/JOSS Version: v4.1.0 Editor: !--editor-->@prashjha<!--end-editor-- Reviewers: @alexrockhill, @prashjha Archive: Pending

Status

status

Status badge code:

HTML: <a href="https://joss.theoj.org/papers/f28e96343ebb407cd458ac0e15439bd6"><img src="https://joss.theoj.org/papers/f28e96343ebb407cd458ac0e15439bd6/status.svg"></a>
Markdown: [![status](https://joss.theoj.org/papers/f28e96343ebb407cd458ac0e15439bd6/status.svg)](https://joss.theoj.org/papers/f28e96343ebb407cd458ac0e15439bd6)

Reviewers and authors:

Please avoid lengthy details of difficulties in the review thread. Instead, please create a new issue in the target repository and link to those issues (especially acceptance-blockers) by leaving comments in the review thread below. (For completists: if the target issue tracker is also on GitHub, linking the review thread in the issue or vice versa will create corresponding breadcrumb trails in the link target.)

Reviewer instructions & questions

@alexrockhill & @vaniisgh, your review will be checklist based. Each of you will have a separate checklist that you should update when carrying out your review. First of all you need to run this command in a separate comment to create the checklist:

@editorialbot generate my checklist

The reviewer guidelines are available here: https://joss.readthedocs.io/en/latest/reviewer_guidelines.html. Any questions/concerns please let @prashjha know.

✨ Please start on your review when you are able, and be sure to complete your review in the next six weeks, at the very latest ✨

Checklists

πŸ“ Checklist for @alexrockhill

πŸ“ Checklist for @prashjha

editorialbot commented 2 years ago

Hello humans, I'm @editorialbot, a robot that can help you with some common editorial tasks.

For a list of things I can do to help you, just type:

@editorialbot commands

For example, to regenerate the paper pdf after making changes in the paper's md or bib files, type:

@editorialbot generate pdf
editorialbot commented 2 years ago
Software report:

github.com/AlDanial/cloc v 1.88  T=3.80 s (526.6 files/s, 123140.8 lines/s)
-------------------------------------------------------------------------------
Language                     files          blank        comment           code
-------------------------------------------------------------------------------
JSON                           237            901              0         145615
C++                            507          12457          12534         107762
Java                           299           5564           4341          45546
C/C++ Header                   451           5832           3174          22920
C#                             202           2300           1122          20551
Markdown                        33           3085              0          11785
Python                          97           2233           1194          11675
CSS                             10            270            108           9416
XML                             23             13             39           8102
TeX                              2            836              0           7157
CMake                           43            497            933           5025
Protocol Buffers                44            509            330           3715
JavaScript                       6            572            354           2550
Sass                            13             26             24           1352
LESS                            13             26             33           1343
Bourne Shell                     4             51            205           1321
HTML                             9             68             45           1131
SVG                              3              0              1            803
MSBuild script                   1              0              0            261
DOS Batch                        3             19              0            100
Dockerfile                       1              9              2             51
-------------------------------------------------------------------------------
SUM:                          2001          35268          24439         408181
-------------------------------------------------------------------------------

gitinspector failed to run statistical information for the repository
editorialbot commented 2 years ago

Wordcount for paper.md is 1904

editorialbot commented 2 years ago

:point_right::page_facing_up: Download article proof :page_facing_up: View article proof on GitHub :page_facing_up: :point_left:

editorialbot commented 2 years ago
Reference check summary (note 'MISSING' DOIs are suggestions that need verification):

OK DOIs

- 10.1101/2020.05.19.20107201 is OK
- 10.1007/978-3-319-91467-1_19 is OK
- 10.1145/3357495.3357499 is OK
- 10.1007/s42399-019-00053-w is OK
- 10.1097/01.sla.0000234655.83517.56 is OK
- 10.1542/peds.2007-2902 is OK
- 10.1097/PCC.0b013e3181f52b2f is OK
- 10.1016/j.anclin.2007.03.009 is OK
- 10.1016/j.jpedsurg.2008.02.033 is OK
- 10.7861/fhj.2019-0036 is OK
- 10.30476/jamp.2020.86070.1213 is OK

MISSING DOIs

- 10.23919/annsim55834.2022.9859325 may be a valid DOI for title: Implementation of a Dynamic and Extensible Mechanical Ventilator Model for Real-Time Physiological Simulation

INVALID DOIs

- None
prashjha commented 2 years ago

Dear @alexrockhill and @vaniisgh, please read the first couple of comments in this thread and create your review checklist. You can read the reviewer guidelines here. Also, you can browse the closed "REVIEW" issues on the "joss-reviews" repository to get some ideas on how to complete the reviews. Good luck!

vaniisgh commented 1 year ago

Review checklist for @vaniisgh

Conflict of interest

Code of Conduct

General checks

Functionality

Documentation

Software paper

alexrockhill commented 1 year ago

Review checklist for @alexrockhill

Conflict of interest

Code of Conduct

General checks

Functionality

Documentation

Software paper

alexrockhill commented 1 year ago

In relation to this checklist item

Substantial scholarly effort: Does this submission meet the scope eligibility described in the JOSS guidelines

and this conversation in pre-review:

Could you say more about how this previous paper (from 2019) relates to this JOSS submission?

The 2019 paper was our first overview paper introducing pulse and its components. The JOSS submission focuses on our latest features not included in the 2019 paper, including the unity asset and unreal plugin, the ventilator and our hemorrhage improvements. These features show our advantages over other physiology engines.

In my opinion it's not clear from the title and summary of the publication that this smaller scope is the scope of the publication; it appears from reading the title and summary that this is the flagship publication for this software. Since, the 2019 publication is already titled as the flagship publication for the software, this seems confusing and potentially self-plagiarizing to me. I think this could easily be resolved by clarifying scope in the title and summary, perhaps by enumerating the new models that were added and focusing on them specifically instead of putting them in a list of "[r]ecent advances" that include items such as the COVID model published elsewhere. A nice way to handle this might be to think of a theme that ties "the unity asset and unreal plugin, the ventilator and our hemorrhage improvements" together as far as what the overarching goal(s) of the project have been in the last three years. Maybe 'low-latency, improved realism of hemorrhage and ventilator models in Pulse Physiology Engine' might make more sense, please make the title whatever you think is best though (as long as it is clear that it is not the flagship publication), I just thought it would be helpful to provide an example.

Also Figure 3 is reproduced from the 2019 publication almost identically without attribution; this figure should be compared to that publication directly (or this part should be removed and the focus shifted to the new modules).

EDIT: I guess just titling the manuscript after the latest version release would make the scope clear and then removing things in the summary that sound like it's the first/flagship publication and making it clear that this publication covers the newest version would be a smaller change that would also solve this issue.

alexrockhill commented 1 year ago

Automated tests: Are there automated tests or manual steps described so that the functionality of the software can be verified?

I don't see in the README of https://gitlab.kitware.com/physiology/explorer or https://pulse.kitware.com/ any information about how to run the tests. Could you please point me to this information (and add it to the README) or add it if it does not exist? It looks like it may not be written yet from this source https://gitlab.kitware.com/physiology/engine/-/wikis/Creating%20a%20Unit%20Test which says "TODO".

alexrockhill commented 1 year ago

Overall, the authors provide a mature software tool to model cardiopulmonary function in healthy and disease states and with medical intervention that will be and is undoubtedly useful to a wide medical audience. The software is easy to install and I was able to test that the basic functionality works in the application. There are many possible extensions to the tool, such as new medical interventions or simulations of other aspects of physiology that can be measured, and while it doesn't appear that there are contributors outside the core group yet, documentation has been started on how to add contributors and grow the open-source project.

While the application is very well made and widely applicable, unfortunately it seems that to satisfy the checklist items for the review would require a major rewrite of the paper and major additions to the documentation that I think would be very helpful to the growth of Pulse in the long-term but may be onerous to complete for an expeditious publication. Here are the major points:

Functionality documentation: Is the core functionality of the software documented to a satisfactory level (e.g., API method documentation)?

  • There are mostly empty headers in the API documentation (i.e. https://pulse.kitware.com/class_s_e_hemorrhage.html). Documenting this API seems like a very large undertaking but I think it would make the software much easier to contribute to, potentially enabling the number of contributors to grow.

Functionality: Have the functional claims of the software been confirmed?

  • The main functionalities of the publication; modeling hemorrhage and intervention with a ventilator have been published elsewhere (https://papers.ssrn.com/sol3/papers.cfm?abstract_id=4106696 and https://ieeexplore.ieee.org/stamp/stamp.jsp?tp=&arnumber=9859325 respectively). I was unable to get a working version of Unity installed on my machine (running Ubuntu 22.04); the application crashed when I tried to run UnityHub, and since I want to focus my efforts on the software in this review, I have not continued to troubleshoot this so I was not able to verify that the Unity extension worked. Since the hemorrhage and ventilator models have already been published and the Unity and Unreal Engine extensions have not been published previously, those could be the main subject for publication but that is not the main focus of the paper as written. Otherwise, the last component mentioned was the Automated Verification and Validation. While this is publishable, the main functionality of Pulse has already been published in 2019 and it is not clear that extensive tests and validation have been added since then. Thus, the scope of the functional claims of this manuscript may be limited to just the Unity and Unreal Engine extensions, although that is not how the manuscript is currently written, this should be clarified.

It's the policy of JOSS to make it easy so that if the software is developed well, the paper follows with minimal effort so I'm sorry to the authors that my review doesn't facilitate publication with minimal barriers, especially since the software works so well and seems widely useful. The software doesn't conform well to the review guidelines as written from my perspective but perhaps if it were rewritten to focus on the Unity asset and Unreal Engine plugin it could be suitable for publication in JOSS.

aaron-bray commented 1 year ago

Automated tests: Are there automated tests or manual steps described so that the functionality of the software can be verified?

@alexrockhill

We have a utility script that runs various drivers built with Pulse Our home wiki documents this here: https://gitlab.kitware.com/physiology/engine/-/wikis/home

I need to update the How to perform verification and validation section

Basically, you want to ./run.sh DebugRun from your build/install/bin directory This will run the one test case in this config file

When successful, you will have results

To run all tests, this takes several hours (and is multi threaded so it will kill your occupy your entire machine) which consists of automatically running

Validation is perfomed with ./run.sh SystemValidation or ./run.sh PatientValidation

All of this can be done individually or via one call: ./run.sh tests

We also can copy any test line from the associated config files above, put it the DebugRun.config, to run those particular tests for example, adding the line patient/TensionPneumothoraxBilateral.json = ScenarioTest to the bottom of the DebugRun.config will execute TensionPneumothoraxBilateral scenario when ./run.sh DebugRun is executed

Note that line references/executes this scenaio

aaron-bray commented 1 year ago

the software is developed well, the paper follows with minimal effort

@alexrockhill

I understand what you are saying here.

I think we could use JOSS to discuss various aspects (ex. hemorrhage updates, the mechanical ventilator, unity, unreal) of this version release. Does it seem feasible within JOSS, to publish a new JOSS article when we make a release? We could open by referencing our 2019 paper, then expanding on the major improvments. This would result in our repository would have multiple JOSS paper markdown files, for each time we publish. Are there other projects that work with JOSS this way? I am not sure if there are different guidlines for version release publications.

Thanks!

alexrockhill commented 1 year ago

I forgot that the guidelines specify that the publication can be a companion to a results paper (https://joss.readthedocs.io/en/latest/submitting.html) so I think I'll just review more thoroughly the examples and tutorials for the hemorrhage and ventilator models and I think that will satisfy the requirement of substantial scholarly effort beyond the publication for the development of the software.

alexrockhill commented 1 year ago

I think we could use JOSS to discuss various aspects (ex. hemorrhage updates, the mechanical ventilator, unity, unreal) of this version release. Does it seem feasible within JOSS, to publish a new JOSS article when we make a release? We could open by referencing our 2019 paper, then expanding on the major improvments. This would result in our repository would have multiple JOSS paper markdown files, for each time we publish. Are there other projects that work with JOSS this way? I am not sure if there are different guidlines for version release publications.

I'm not aware of projects that publish a new JOSS paper every major version release but I don't think it's against any rules or guidelines as far as I am aware. I think the main thing is to just make it clear what work the publication is covering and that it's been done since the last publication. Personally, I have published in JOSS for major new features rather than version releases and used the paper to describe the new functionality that may be added in one version but then smaller improvements and bug fixes are added in subsequent versions. Here is that paper from a larger software package that is a major module addition https://joss.theoj.org/papers/10.21105/joss.03897.

alexrockhill commented 1 year ago

A statement of need: Do the authors clearly state what problems the software is designed to solve and who the target audience is?

Could the authors please add a bit more about the interaction between the hemorrhage and ventilator models and the existing functionality (e.g. giving medication) and how this could be used? This is covered in the introductory videos so those could be referenced but it would be nice to see a bit more about the use cases.

aaron-bray commented 1 year ago

Hey @alexrockhill

Just an FYI, I did not get to this over break (I actually had a break!) I am also busy prepping for our IMSH outing next week. (Drop by our booth if you are going!)

But After that, I will get all these items addressed!

Thanks for your time!

alexrockhill commented 1 year ago

@aaron-bray, I'm glad you had a good break!

I'm at the North American Neuromodulation Society (NANS) meeting this week so it was a bit much to do IMSH but best of luck at your booth!

prashjha commented 1 year ago

Hello @vaniisgh, how is the review progressing?

aaron-bray commented 1 year ago

Hi @alexrockhill @prashjha @vaniisgh

I updated the paper to be more oriented towards the Major Version Release submission category It should be around the 1000 word mark, I cut a little more detail to sections (~500 words) If you think it needs it and 1500 words is ok, I can integrate it back in (Its in the paper.full.md file if interested)

I am going to start improving our execution documentation as mentioned by Alex

Let me know if this draft is more in line with the release paper type

Thanks!

prashjha commented 1 year ago

Hello @vaniisgh, please let me know how far you are in finishing the review.

prashjha commented 1 year ago

Hi @vaniisgh, I have not heard from you for a long time, and your checklist has not changed in the last four months. If you are unable to review it, please let us know!

aaron-bray commented 1 year ago

@prashjha Should we get a new reviewer?

prashjha commented 1 year ago

@aaron-bray, yes. I have been trying to get in touch with @vaniisgh over her email too. I will invite new reviewers today.

prashjha commented 1 year ago

Hi @alcantarar, I think this JOSS submission is in your area of interest. Would you, by any chance, be interested and have time to review this submission? Please let me know. Also, if you need more information about the review process, I can help.

alcantarar commented 1 year ago

Hi, thanks for considering me for this review. Unfortunately I’m unavailable to review publications at this time.

R

On Mon, Apr 17, 2023 at 2:00 PM Prashant K. Jha @.***> wrote:

Hi @alcantarar https://github.com/alcantarar, I think this JOSS submission is in your area of interest. Would you, by any chance, be interested and have time to review this submission? Please let me know. Also, if you need more information about the review process, I can help.

β€” Reply to this email directly, view it on GitHub https://github.com/openjournals/joss-reviews/issues/4929#issuecomment-1512077901, or unsubscribe https://github.com/notifications/unsubscribe-auth/AJDMLEOTC5KR5XVT2QA5Y2LXBWVOLANCNFSM6AAAAAASABKCRY . You are receiving this because you were mentioned.Message ID: @.***>

prashjha commented 1 year ago

@alcantarar, no worries; thanks for quick reply.

prashjha commented 1 year ago

Hello @abhishektha, I am wondering if you could review this JOSS submission. I believe it is in your area of interest. If you need any information, please let me know. For more details about the review process, please check out this link.

aaron-bray commented 1 year ago

Hey @prashjha It seems like we are not having luck finding reviewers Should we look for more off your list or should I try to find one outside of that?

Thanks!

prashjha commented 1 year ago

Hi @aaron-bray, sorry for the delay. I will add myself as a reviewer and hope to finish the review in the next couple of weeks.

prashjha commented 1 year ago

@editorialbot help

editorialbot commented 1 year ago

Hello @prashjha, here are the things you can ask me to do:


# List all available commands
@editorialbot commands

# Add to this issue's reviewers list
@editorialbot add @username as reviewer

# Remove from this issue's reviewers list
@editorialbot remove @username from reviewers

# Get a list of all editors's GitHub handles
@editorialbot list editors

# Assign a user as the editor of this submission
@editorialbot assign @username as editor

# Remove the editor assigned to this submission
@editorialbot remove editor

# Remind an author, a reviewer or the editor to return to a review after a 
# certain period of time (supported units days and weeks)
@editorialbot remind @reviewer in 2 weeks

# Check the references of the paper for missing DOIs
@editorialbot check references

# Perform checks on the repository
@editorialbot check repository

# Adds a checklist for the reviewer using this command
@editorialbot generate my checklist

# Set a value for version
@editorialbot set v1.0.0 as version

# Set a value for branch
@editorialbot set joss-paper as branch

# Set a value for repository
@editorialbot set https://github.com/organization/repo as repository

# Set a value for the archive DOI
@editorialbot set set 10.5281/zenodo.6861996 as archive

# Mention the EiCs for the correct track
@editorialbot ping track-eic

# Generates the pdf paper
@editorialbot generate pdf

# Recommends the submission for acceptance
@editorialbot recommend-accept

# Generates a LaTeX preprint file
@editorialbot generate preprint

# Flag submission with questionable scope
@editorialbot query scope

# Get a link to the complete list of reviewers
@editorialbot list reviewers

# Creates a post-review checklist with editor and authors tasks
@editorialbot create post-review checklist

# Open the review issue
@editorialbot start review
prashjha commented 1 year ago

@editorialbot remove @vaniisgh from reviewers

editorialbot commented 1 year ago

@vaniisgh removed from the reviewers list!

editorialbot commented 1 year ago

I'm sorry human, I don't understand that. You can see what commands I support by typing:

@editorialbot commands

editorialbot commented 1 year ago

I'm sorry human, I don't understand that. You can see what commands I support by typing:

@editorialbot commands

prashjha commented 1 year ago

@editorialbot add me as reviewer

editorialbot commented 1 year ago

@prashjha added to the reviewers list!

prashjha commented 1 year ago

@editorialbot generate checklist

editorialbot commented 1 year ago

I'm sorry human, I don't understand that. You can see what commands I support by typing:

@editorialbot commands

prashjha commented 1 year ago

Review checklist for @prashjha

Conflict of interest

Code of Conduct

General checks

Functionality

Documentation

Software paper

prashjha commented 1 year ago

Hi @alexrockhill, could you please provide an update on the progress of your review? Thanks!!

alexrockhill commented 1 year ago

@editorialbot generate pdf

alexrockhill commented 1 year ago

Hi @alexrockhill, could you please provide an update on the progress of your review? Thanks!!

My initial review is finished; I suggested minor revisions above. I need to look at the changes the authors made in response and and check the final items off the checklist.

editorialbot commented 1 year ago

:point_right::page_facing_up: Download article proof :page_facing_up: View article proof on GitHub :page_facing_up: :point_left:

alexrockhill commented 1 year ago

It doesn't look like all of the changes I suggested have been made yet so I'll hold off on reviewing those until then.

aaron-bray commented 1 year ago

Hey @prashjha I would like to rescind this submission. The version direction I chose for this paper was not the right way to go. I am going to look to resubmit feature specific papers associated with Pulse as mentioned by @alexrockhill

I have published in JOSS for major new features rather than version releases and used the paper to describe the new functionality that may be added in one version but then smaller improvements and bug fixes are added in subsequent versions.

Alex, thanks for all the feedback you provided. I hope to have a better paper submitted by the end of the year.

Thanks!

alexrockhill commented 1 year ago

Sounds good, happy to review if asked. Good luck @aaron-bray

prashjha commented 1 year ago

Hi @Kevin-Mattheus-Moerman, the author of this review wishes to withdraw the submission; see comment. Could you please help? Thanks, Prashant.

Kevin-Mattheus-Moerman commented 1 year ago

@aaron-bray @prashjha understood. I will now proceed to withdraw this submission.