The Pulse Physiology Engine can be used as a standalone application or integrated with simulators, sensor interfaces, and models of all fidelities. The platform includes a common data model for standard model and data definitions, a software interface for engine control, robust physics-based circuit and transport solvers, and a verification and validation suite. The architecture was specifically designed to reduce model development time and increase the usability of the engine in simulations by creating a modular, extensible definition for human physiology. Pulse provides the following benefits to its user community:
- Sound underlying physics: Clear, accurate, precise first principles conservation equations
- Standardized data model: Easily understandable, widely usable, ontologies and software interfaces
- Extensible: Reusable, repeatable implementation to allow the addition of new capabilities and functionality
- Modular: Interdependent, hierarchical models for varying fidelity and complexity
- Thorough documentation: In-depth, referenced descriptions of physiology methodology and software design
- Cross-platform deployment: Easy compilation on all standard operating systems (Windows, Mac, Linux, and ARM) and multiple languages (C++, C#, Java, Unity)
- Credible: Computational models transparently derived from evidence-based literature and analyzed with extensive verification and validation tools
- Open: Public repository managed by experienced Kitware team with a permissible Apache 2.0 license for multicenter and multidisciplinary collaborative development
Pulse is comprised of numerical models representing the different body systems, feedback mechanisms and interactions between the systems, PK/PD, and medical equipment. The major systems are modeled using zero-dimensional lumped-parameter circuit analogs (e.g., the cardiovascular circuit) with homeostatic feedback. The differential equations contained in each system are calculated through transient analysis with a shared dynamic time step. The numerical models currently execute with a time step of 20 ms, which can be reduced, as necessary, to ensure all physiology features of interest are captured, while maintaining real-time execution for the simulation.
Pulse has been developed through a combination of funding by many different government and private entities, and is a significantly improved and extended fork from the DoD-funded BioGears program. The Pulse repository is maintained by the Kitware team that includes the original core BioGears creators (see the FAQ). Pulse has recently been incorporated into a number of commercial, research, and academic tools for medical simulation (see Pulse in action)
Validation Methodology
Models are validated using a combination of peer-reviewed publications and subject matter expertise. The validation process includes:
- Defining key parameters for system validation
- Performing literature reviews to gather published data in the form of waveforms, and max, min, and mean values
- Using custom developed tools to compare data, perform analysis, and generate plots and tables of results
We validate each system at a compartment level (pressure, flow, volume, temperature, etc.). We also validate each action for a variety of system level parameters (heart rate, respiratory rate, tidal volume, blood pressure, etc.). We provide reports for each system in our Methodology documentation.
Below is a summary of our system and compartment level validation.
Key |
---|
Good agreement: correct trends or <10% deviation from expected |
Some deviation: correct trend and/or <30% deviation from expected |
Poor agreement: incorrect trends or >30% deviation from expected |
Category | < 10% | 10%-30% | > 30% | Total |
---|---|---|---|---|
ArterialBloodGasTest-StandardFemale | 5 | 0 | 0 | 5 |
ArterialBloodGasTest-StandardMale | 5 | 0 | 0 | 5 |
BloodChemistry-StandardFemale | 39 | 2 | 2 | 43 |
BloodChemistry-StandardMale | 40 | 2 | 1 | 43 |
Cardiovascular-StandardFemale | 26 | 2 | 0 | 28 |
Cardiovascular-StandardMale | 27 | 1 | 0 | 28 |
CardiovascularCompartments-StandardFemale | 70 | 3 | 0 | 73 |
CardiovascularCompartments-StandardMale | 72 | 1 | 0 | 73 |
CompleteBloodCount-StandardFemale | 8 | 0 | 0 | 8 |
CompleteBloodCount-StandardMale | 8 | 0 | 0 | 8 |
CompleteMetabolicPanel-StandardFemale | 8 | 0 | 0 | 8 |
CompleteMetabolicPanel-StandardMale | 8 | 0 | 0 | 8 |
Endocrine-StandardFemale | 1 | 0 | 0 | 1 |
Endocrine-StandardMale | 1 | 0 | 0 | 1 |
Energy-StandardFemale | 6 | 0 | 0 | 6 |
Energy-StandardMale | 6 | 0 | 0 | 6 |
Gastrointestinal-StandardFemale | 1 | 0 | 0 | 1 |
Gastrointestinal-StandardMale | 1 | 0 | 0 | 1 |
Nervous-StandardFemale | 0 | 0 | 0 | 0 |
Nervous-StandardMale | 0 | 0 | 0 | 0 |
Renal-StandardFemale | 20 | 11 | 13 | 44 |
Renal-StandardMale | 22 | 17 | 5 | 44 |
RenalCompartments-StandardFemale | 28 | 13 | 8 | 49 |
RenalCompartments-StandardMale | 18 | 7 | 24 | 49 |
RenalSubstances-StandardFemale | 12 | 5 | 19 | 36 |
RenalSubstances-StandardMale | 14 | 12 | 10 | 36 |
Respiratory-StandardFemale | 38 | 8 | 9 | 55 |
Respiratory-StandardMale | 40 | 9 | 6 | 55 |
RespiratoryCompartments-StandardFemale | 32 | 2 | 0 | 34 |
RespiratoryCompartments-StandardMale | 34 | 0 | 0 | 34 |
Tissue-StandardFemale | 5 | 2 | 2 | 9 |
Tissue-StandardMale | 7 | 2 | 0 | 9 |
TissueCompartments-StandardFemale | 36 | 3 | 0 | 39 |
TissueCompartments-StandardMale | 39 | 0 | 0 | 39 |
TissueSubstances-StandardFemale | 0 | 0 | 0 | 0 |
TissueSubstances-StandardMale | 0 | 0 | 0 | 0 |
Urinalysis-StandardFemale | 6 | 0 | 0 | 6 |
Urinalysis-StandardMale | 6 | 0 | 0 | 6 |
Total | 689 | 102 | 99 | 890 |
What can I do with the physiology engine?
Available data is defined within the engine in three major ways:
- System data (Cardiovascular, Respiratory, etc.) that is analogous to system vitals Examples: heart rate, oxygen consumption, mean arterial pressure, etc.
-
Compartment data
- Flow, pressure, and volume related to specific region of the body or component of equipment Examples: Cerebral Blood Flow, Right Lung Volume, Right Heart Pressure
- Substance specific data related to a specific part of the body or component of equipment Examples: The Extracellular concentration of succinylcholine in the brain tissue, anesthesia machine gas inlet oxygen volume fraction
- Assessments formed at the level of a clinician's report, Intended to mimic test results Examples: Complete Blood Count