Pulse 3.0 Released

June 29, 2020
Pulse 2.3.0

On behalf of the Pulse Physiology Community, we are pleased to announce that version 3.0 is now available. We have continued to assist companies and universities to integrate Pulse into their projects and product goals.  We have worked with these users to improve models and functionality to advance the physiology engine for their needs.

The 3.0 version release includes:

  • Software Architecture Improvements
    • Major refactor of our repository structure
      • Enables implementation of specific engines (adult, pediatric, animal) to both share and extend common models with target-specific models
      • Provides a framework for performing and sharing code between various sensitivity and correlation analysis studies with a Pulse engine
      • Improved CMake structure to simplify integration of Pulse into custom applications
    • Streamlining of engine creation and management
      • Pulse states are now self-contained and no longer depend on any files on disk
      • Pulse states now support binary serialization
      • Location of required files for patient creation can be specified by users
    • Improvements to cross-language support
      • Java interface has been refactored to conform with C# and Python usage
      • C# interface supports most actions, conditions, and equipment types 
      • Python is now a fully supported language
    • Added the ability to override and hold system and circuit parameters to specific values, such as total lung compliance and resistance
  • Physiology Model Improvements
    • Added generic mechanical ventilator equipment model with PC-CMV and VC-AC mode implementation
    • Added pulmonary shunting to function as both a standalone model and in conjunction with other respiratory diseases
    • Improved and validated ARDS
    • Added more respiratory clinical measurements with validation
    • Added hyperoxemia and hypocapnia events
    • Improved cardiovascular validation for resting physiology
    • Updated the tissue to cardiovascular interface to improve fluid movement between these regions of the body
    • Added hemorrhagic shock and improved hemorrhage methodology to meet validation through different stages of hemorrhagic shock to death
    • Added a second-order baroreceptor model to moderate their effectiveness over time

The cardiovascular, tissue, and baroreceptor model improvements were needed to model hemorrhage from minor injury through the stages of hemorrhagic shock. This model was validated with experimental data from the literature.  Our abstract, titled “An Integrated Model for Hemorrhagic Shock and Fluid Resuscitation,”  was recently accepted to the 2020 Military Health Services Research Symposium.

Figure 1. The hemorrhagic model in Pulse (left) and the experimental data from Guyton and Hall Textbook of Medical Physiology.

In this release, we also added the ability to run multiple connected engines. This was completed in the context of modeling COVID-19 and multiple patients connected to a single ventilator. This work has been submitted for publication and the preprint available here.

Figure 2. With contributions from faculty and clinicians at Bucknell and Geisinger Health, we modeled mult-patient ventilation using multiple Pulse engines in a single simulation.

In the coming months, we are working to improve and extend Pulse with:

  • Sepsis
  • Cerebrospinal fluid model for improved intracranial pressure
  • Circuit/Compartment black-boxing to support modularity for system/model/circuit swapping
  • Pediatric physiology prototype
  • An official contribution guide for merge requests for methodology/model changes
  • PyPI support to pip install Pulse into a python environment
  • Maven build for easy inclusion into Java projects
  • Integration with Hololens 2

Watch for new releases for the Pulse Unity Asset and the Pulse Explorer in the coming weeks. The next release for the Pulse Physiology Engine is planned for Fall 2020.

This release includes a number of changes contributed by our expanding community. Special thanks go to:

  • Bob Marinier of SoarTech for helping improve the Java interface
  • Wenye He of Innovision, LLC for helping to start the Python API, and extend the C# API

For more information on our efforts and our users, visit our new and improved website or sign up for our newsletter. If you would like to feature your Pulse use case, please email us at kitware@kitware.com.

Leave a Reply