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.
- Interoperable: Seamless integration with various simulators, sensors, and software platforms, with easy cross-platform deployment 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, analyzed with extensive verification and validation tools, ensuring reliable performance.
- Thorough documentation: In-depth, referenced descriptions of physiology methodology and software design.
- Open: Public repository managed by an experienced Kitware team with a permissible Apache 2.0 license, allowing users complete control without dependency on proprietary vendors, and facilitating multicenter and multidisciplinary collaborative development.
- Economical: Cost-sharing model supported by contributions from government and private entities, reducing financial barriers for users.
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 |
Standard Male Validation Summary
Category | < 10% | < 30% | > 30% | Total |
---|---|---|---|---|
Patient | 15 | 0 | 0 | 15 |
BloodChemistry | 41 | 3 | 1 | 45 |
ArterialBloodGasTest | 5 | 0 | 0 | 5 |
CompleteBloodCount | 8 | 0 | 0 | 8 |
CompleteMetabolicPanel | 8 | 0 | 0 | 8 |
Cardiovascular | 27 | 2 | 0 | 29 |
CardiovascularCompartments | 71 | 2 | 0 | 73 |
Endocrine | 1 | 0 | 0 | 1 |
Energy | 7 | 0 | 0 | 7 |
Gastrointestinal | 1 | 0 | 0 | 1 |
Renal | 24 | 15 | 5 | 44 |
RenalCompartments | 35 | 6 | 8 | 49 |
RenalSubstances | 13 | 13 | 10 | 36 |
Urinalysis | 5 | 0 | 1 | 6 |
Respiratory | 47 | 6 | 3 | 56 |
RespiratoryCompartments | 34 | 0 | 0 | 34 |
Tissue | 9 | 1 | 0 | 10 |
TissueCompartments | 39 | 0 | 0 | 39 |
Totals | 390 | 48 | 28 | 466 |
Standard Female Validation Summary
Category | < 10% | < 30% | > 30% | Total |
---|---|---|---|---|
Patient | 15 | 0 | 0 | 15 |
BloodChemistry | 41 | 2 | 2 | 45 |
ArterialBloodGasTest | 5 | 0 | 0 | 5 |
CompleteBloodCount | 8 | 0 | 0 | 8 |
CompleteMetabolicPanel | 7 | 1 | 0 | 8 |
Cardiovascular | 27 | 2 | 0 | 29 |
CardiovascularCompartments | 69 | 4 | 0 | 73 |
Endocrine | 1 | 0 | 0 | 1 |
Energy | 7 | 0 | 0 | 7 |
Gastrointestinal | 1 | 0 | 0 | 1 |
Renal | 22 | 9 | 13 | 44 |
RenalCompartments | 27 | 12 | 10 | 49 |
RenalSubstances | 11 | 6 | 19 | 36 |
Urinalysis | 6 | 0 | 0 | 6 |
Respiratory | 47 | 4 | 5 | 56 |
RespiratoryCompartments | 33 | 1 | 0 | 34 |
Tissue | 6 | 2 | 2 | 10 |
TissueCompartments | 36 | 3 | 0 | 39 |
Totals | 369 | 46 | 51 | 466 |
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