The Respiratory System class handles the analysis and storage of data related the respiratory physiology and pathology. More...

#include <Respiratory.h>

Inherits PulseRespiratorySystem.

Public Member Functions

 Respiratory (PulseData &data)
 
virtual ~Respiratory ()
 
virtual void Clear ()
 
virtual void Initialize ()
 Initializes system properties to valid homeostatic values. More...
 
virtual void SetUp ()
 Initializes parameters for Respiratory Class. More...
 
virtual void AtSteadyState ()
 Respiratory system at steady state. More...
 
virtual void PreProcess ()
 Respiratory system preprocess function. More...
 
virtual void Process (bool solve_and_transport=true)
 Respiratory system process function. More...
 
virtual void PostProcess (bool solve_and_transport=true)
 Respiratory system postprocess function. More...
 
bool CalculatePulmonaryFunctionTest (SEPulmonaryFunctionTest &pft) const
 Populate the Pulmonary Function Test Assessment. More...
 
- Public Member Functions inherited from PulseRespiratorySystem
 PulseRespiratorySystem (PulseData &data)
 
virtual ~PulseRespiratorySystem ()=default
 
void Clear () override
 
virtual const SEScalarGetScalar (const std::string &name) override
 
 DEFINE_UNIT_SCALAR (TotalRespiratoryModelCompliance, VolumePerPressure)
 
 DEFINE_UNIT_SCALAR (TotalRespiratoryModelResistance, PressureTimePerVolume)
 
- Public Member Functions inherited from SERespiratorySystem
 SERespiratorySystem (Logger *logger)
 
virtual ~SERespiratorySystem ()
 
virtual bool HasAlveolarArterialGradient () const
 
virtual SEScalarPressureGetAlveolarArterialGradient ()
 
virtual double GetAlveolarArterialGradient (const PressureUnit &unit) const
 
virtual bool HasAlveolarDeadSpace () const
 
virtual SEScalarVolumeGetAlveolarDeadSpace ()
 
virtual double GetAlveolarDeadSpace (const VolumeUnit &unit) const
 
virtual bool HasAnatomicDeadSpace () const
 
virtual SEScalarVolumeGetAnatomicDeadSpace ()
 
virtual double GetAnatomicDeadSpace (const VolumeUnit &unit) const
 
virtual bool HasCarricoIndex () const
 
virtual SEScalarPressureGetCarricoIndex ()
 
virtual double GetCarricoIndex (const PressureUnit &unit) const
 
virtual bool HasChestWallCompliance () const
 
virtual SEScalarVolumePerPressureGetChestWallCompliance ()
 
virtual double GetChestWallCompliance (const VolumePerPressureUnit &unit) const
 
virtual bool HasElasticWorkOfBreathing () const
 
virtual SEScalarEnergyGetElasticWorkOfBreathing ()
 
virtual double GetElasticWorkOfBreathing (const EnergyUnit &unit) const
 
virtual bool HasEndTidalCarbonDioxideFraction () const
 
virtual SEScalar0To1GetEndTidalCarbonDioxideFraction ()
 
virtual double GetEndTidalCarbonDioxideFraction () const
 
virtual bool HasEndTidalCarbonDioxidePressure () const
 
virtual SEScalarPressureGetEndTidalCarbonDioxidePressure ()
 
virtual double GetEndTidalCarbonDioxidePressure (const PressureUnit &unit) const
 
virtual bool HasEndTidalOxygenFraction () const
 
virtual SEScalar0To1GetEndTidalOxygenFraction ()
 
virtual double GetEndTidalOxygenFraction () const
 
virtual bool HasEndTidalOxygenPressure () const
 
virtual SEScalarPressureGetEndTidalOxygenPressure ()
 
virtual double GetEndTidalOxygenPressure (const PressureUnit &unit) const
 
virtual bool HasExpiratoryFlow () const
 
virtual SEScalarVolumePerTimeGetExpiratoryFlow ()
 
virtual double GetExpiratoryFlow (const VolumePerTimeUnit &unit) const
 
virtual bool HasExpiratoryPulmonaryResistance () const
 
virtual SEScalarPressureTimePerVolumeGetExpiratoryPulmonaryResistance ()
 
virtual double GetExpiratoryPulmonaryResistance (const PressureTimePerVolumeUnit &unit) const
 
virtual bool HasFractionOfInsipredOxygen () const
 
virtual SEScalar0To1GetFractionOfInsipredOxygen ()
 
virtual double GetFractionOfInsipredOxygen () const
 
virtual bool HasImposedPowerOfBreathing () const
 
virtual SEScalarPowerGetImposedPowerOfBreathing ()
 
virtual double GetImposedPowerOfBreathing (const PowerUnit &unit) const
 
virtual bool HasImposedWorkOfBreathing () const
 
virtual SEScalarEnergyGetImposedWorkOfBreathing ()
 
virtual double GetImposedWorkOfBreathing (const EnergyUnit &unit) const
 
virtual bool HasInspiratoryExpiratoryRatio () const
 
virtual SEScalarGetInspiratoryExpiratoryRatio ()
 
virtual double GetInspiratoryExpiratoryRatio () const
 
virtual bool HasInspiratoryFlow () const
 
virtual SEScalarVolumePerTimeGetInspiratoryFlow ()
 
virtual double GetInspiratoryFlow (const VolumePerTimeUnit &unit) const
 
virtual bool HasInspiratoryPulmonaryResistance () const
 
virtual SEScalarPressureTimePerVolumeGetInspiratoryPulmonaryResistance ()
 
virtual double GetInspiratoryPulmonaryResistance (const PressureTimePerVolumeUnit &unit) const
 
virtual bool HasIntrapleuralPressure () const
 
virtual SEScalarPressureGetIntrapleuralPressure ()
 
virtual double GetIntrapleuralPressure (const PressureUnit &unit) const
 
virtual bool HasIntrapulmonaryPressure () const
 
virtual SEScalarPressureGetIntrapulmonaryPressure ()
 
virtual double GetIntrapulmonaryPressure (const PressureUnit &unit) const
 
virtual bool HasLungCompliance () const
 
virtual SEScalarVolumePerPressureGetLungCompliance ()
 
virtual double GetLungCompliance (const VolumePerPressureUnit &unit) const
 
virtual bool HasMaximalInspiratoryPressure () const
 
virtual SEScalarPressureGetMaximalInspiratoryPressure ()
 
virtual double GetMaximalInspiratoryPressure (const PressureUnit &unit) const
 
virtual bool HasMeanAirwayPressure () const
 
virtual SEScalarPressureGetMeanAirwayPressure ()
 
virtual double GetMeanAirwayPressure (const PressureUnit &unit) const
 
virtual bool HasOxygenationIndex () const
 
virtual SEScalarGetOxygenationIndex ()
 
virtual double GetOxygenationIndex () const
 
virtual bool HasOxygenSaturationIndex () const
 
virtual SEScalarPressureGetOxygenSaturationIndex ()
 
virtual double GetOxygenSaturationIndex (const PressureUnit &unit) const
 
virtual bool HasPatientPowerOfBreathing () const
 
virtual SEScalarPowerGetPatientPowerOfBreathing ()
 
virtual double GetPatientPowerOfBreathing (const PowerUnit &unit) const
 
virtual bool HasPatientWorkOfBreathing () const
 
virtual SEScalarEnergyGetPatientWorkOfBreathing ()
 
virtual double GetPatientWorkOfBreathing (const EnergyUnit &unit) const
 
virtual bool HasPeakInspiratoryPressure () const
 
virtual SEScalarPressureGetPeakInspiratoryPressure ()
 
virtual double GetPeakInspiratoryPressure (const PressureUnit &unit) const
 
virtual bool HasPhysiologicDeadSpace () const
 
virtual SEScalarVolumeGetPhysiologicDeadSpace ()
 
virtual double GetPhysiologicDeadSpace (const VolumeUnit &unit) const
 
virtual bool HasPositiveEndExpiratoryPressure () const
 
virtual SEScalarPressureGetPositiveEndExpiratoryPressure ()
 
virtual double GetPositiveEndExpiratoryPressure (const PressureUnit &unit) const
 
virtual bool HasPulmonaryCompliance () const
 
virtual SEScalarVolumePerPressureGetPulmonaryCompliance ()
 
virtual double GetPulmonaryCompliance (const VolumePerPressureUnit &unit) const
 
virtual bool HasPulmonaryElastance () const
 
virtual SEScalarPressurePerVolumeGetPulmonaryElastance ()
 
virtual double GetPulmonaryElastance (const PressurePerVolumeUnit &unit) const
 
virtual bool HasResistiveExpiratoryWorkOfBreathing () const
 
virtual SEScalarEnergyGetResistiveExpiratoryWorkOfBreathing ()
 
virtual double GetResistiveExpiratoryWorkOfBreathing (const EnergyUnit &unit) const
 
virtual bool HasResistiveInspiratoryWorkOfBreathing () const
 
virtual SEScalarEnergyGetResistiveInspiratoryWorkOfBreathing ()
 
virtual double GetResistiveInspiratoryWorkOfBreathing (const EnergyUnit &unit) const
 
virtual bool HasRespirationRate () const
 
virtual SEScalarFrequencyGetRespirationRate ()
 
virtual double GetRespirationRate (const FrequencyUnit &unit) const
 
virtual bool HasRespiratoryMuscleFatigue () const
 
virtual SEScalar0To1GetRespiratoryMuscleFatigue ()
 
virtual double GetRespiratoryMuscleFatigue () const
 
virtual bool HasRespiratoryMusclePressure () const
 
virtual SEScalarPressureGetRespiratoryMusclePressure ()
 
virtual double GetRespiratoryMusclePressure (const PressureUnit &unit) const
 
virtual bool HasSaturationAndFractionOfInspiredOxygenRatio () const
 
virtual SEScalarGetSaturationAndFractionOfInspiredOxygenRatio ()
 
virtual double GetSaturationAndFractionOfInspiredOxygenRatio () const
 
virtual bool HasSpecificVentilation () const
 
virtual SEScalarGetSpecificVentilation ()
 
virtual double GetSpecificVentilation () const
 
virtual bool HasTidalVolume () const
 
virtual SEScalarVolumeGetTidalVolume ()
 
virtual double GetTidalVolume (const VolumeUnit &unit) const
 
virtual bool HasTotalAlveolarVentilation () const
 
virtual SEScalarVolumePerTimeGetTotalAlveolarVentilation ()
 
virtual double GetTotalAlveolarVentilation (const VolumePerTimeUnit &unit) const
 
virtual bool HasTotalDeadSpaceVentilation () const
 
virtual SEScalarVolumePerTimeGetTotalDeadSpaceVentilation ()
 
virtual double GetTotalDeadSpaceVentilation (const VolumePerTimeUnit &unit) const
 
virtual bool HasTotalLungVolume () const
 
virtual SEScalarVolumeGetTotalLungVolume ()
 
virtual double GetTotalLungVolume (const VolumeUnit &unit) const
 
virtual bool HasTotalPowerOfBreathing () const
 
virtual SEScalarPowerGetTotalPowerOfBreathing ()
 
virtual double GetTotalPowerOfBreathing (const PowerUnit &unit) const
 
virtual bool HasTotalPulmonaryVentilation () const
 
virtual SEScalarVolumePerTimeGetTotalPulmonaryVentilation ()
 
virtual double GetTotalPulmonaryVentilation (const VolumePerTimeUnit &unit) const
 
virtual bool HasTotalWorkOfBreathing () const
 
virtual SEScalarEnergyGetTotalWorkOfBreathing ()
 
virtual double GetTotalWorkOfBreathing (const EnergyUnit &unit) const
 
virtual bool HasTransairwayPressure () const
 
virtual SEScalarPressureGetTransairwayPressure ()
 
virtual double GetTransairwayPressure (const PressureUnit &unit) const
 
virtual bool HasTransalveolarPressure () const
 
virtual SEScalarPressureGetTransalveolarPressure ()
 
virtual double GetTransalveolarPressure (const PressureUnit &unit) const
 
virtual bool HasTransChestWallPressure () const
 
virtual SEScalarPressureGetTransChestWallPressure ()
 
virtual double GetTransChestWallPressure (const PressureUnit &unit) const
 
virtual bool HasTransMusclePressure () const
 
virtual SEScalarPressureGetTransMusclePressure ()
 
virtual double GetTransMusclePressure (const PressureUnit &unit) const
 
virtual bool HasTranspulmonaryPressure () const
 
virtual SEScalarPressureGetTranspulmonaryPressure ()
 
virtual double GetTranspulmonaryPressure (const PressureUnit &unit) const
 
virtual bool HasTransrespiratoryPressure () const
 
virtual SEScalarPressureGetTransrespiratoryPressure ()
 
virtual double GetTransrespiratoryPressure (const PressureUnit &unit) const
 
virtual bool HasTransthoracicPressure () const
 
virtual SEScalarPressureGetTransthoracicPressure ()
 
virtual double GetTransthoracicPressure (const PressureUnit &unit) const
 
- Public Member Functions inherited from SESystem
 SESystem (Logger *logger)
 
virtual ~SESystem ()
 
- Public Member Functions inherited from Loggable
 Loggable (Logger *logger=nullptr)
 
 Loggable (std::string const &logfile)
 
virtual ~Loggable ()
 
virtual LoggerGetLogger () const
 
virtual void SetLogger (Logger &logger)
 
virtual void Debug (std::string const &msg, std::string const &origin=empty) const
 
virtual void Debug (std::stringstream &msg, std::string const &origin=empty) const
 
virtual void Debug (std::ostream &msg, std::string const &origin=empty) const
 
virtual void Info (std::string const &msg, std::string const &origin=empty) const
 
virtual void Info (std::stringstream &msg, std::string const &origin=empty) const
 
virtual void Info (const std::stringstream &msg, std::string const &origin=empty) const
 
virtual void Info (std::ostream &msg, std::string const &origin=empty) const
 
virtual void Warning (std::string const &msg, std::string const &origin=empty) const
 
virtual void Warning (std::stringstream &msg, std::string const &origin=empty) const
 
virtual void Warning (std::ostream &msg, std::string const &origin=empty) const
 
virtual void Error (std::string const &msg, std::string const &origin=empty) const
 
virtual void Error (std::stringstream &msg, std::string const &origin=empty) const
 
virtual void Error (std::ostream &msg, std::string const &origin=empty) const
 
virtual void Fatal (std::string const &msg, std::string const &origin=empty) const
 
virtual void Fatal (std::stringstream &msg, std::string const &origin=empty) const
 
virtual void Fatal (std::ostream &msg, std::string const &origin=empty) const
 
- Public Member Functions inherited from PulseSystem
 PulseSystem (PulseData &data)
 
virtual ~PulseSystem ()=default
 

Protected Member Functions

void ComputeExposedModelParameters () override
 
void TuneCircuit ()
 Run the circuit standalone once to get it into a good starting state. More...
 
void CalculateWork ()
 Calculate the instantaneous work of breathing. More...
 
void CalculateFatigue ()
 Calculate and apply repiratory fatigue effects. More...
 
void UpdateChestWallCompliances ()
 Modify the chest wall compliance based on lung volume. More...
 
void UpdateVolumes ()
 Modify lung volumes based on actions and conditions. More...
 
void UpdateResistances ()
 Update respiratory resistances due to actions and conditions. More...
 
void UpdateAlveolarCompliances ()
 Update lung compliance due to actions and conditions. More...
 
void UpdateInspiratoryExpiratoryRatio ()
 Update the inspiratory:expiratory ratio due to actions and conditions. More...
 
void UpdateDiffusion ()
 Update the diffusion surface area due to actions and conditions. More...
 
void UpdatePulmonaryCapillary ()
 Update Pulmonary Capillary Resistance. More...
 
void UpdatePulmonaryShunt ()
 Update Pulmonary Shunt Resistance. More...
 
void SetRespiratoryResistance ()
 Override the total system resistance. More...
 
void SetRespiratoryCompliance ()
 Override the total system compliance. More...
 
void Pneumothorax ()
 Tension pneumothorax. More...
 
void DoLeftNeedleDecompression (double dFlowResistance)
 Left Side Needle Decompression. More...
 
void DoRightNeedleDecompression (double dFlowResistance)
 Right Side Needle Decompression. More...
 
void MechanicalVentilation ()
 Modifies the pressure and/or flow at the airway. More...
 
void SupplementalOxygen ()
 Applys supplemental oxygen equipment. More...
 
void RespiratoryDriver ()
 Respiratory driver pressure source. More...
 
void SetBreathCycleFractions ()
 Set inspiratory and expiratory timing. More...
 
void ConsciousRespiration ()
 Conscious respiration. More...
 
double VolumeToDriverPressure (double TargetVolume)
 Peak Driver Pressure Based on Target Volume. More...
 
void ModifyDriverPressure ()
 Reduce the driver pressure based on action and conditions. More...
 
void ProcessAerosolSubstances ()
 Compute deposited mass, update localized PD effects. More...
 
void CalculateVitalSigns ()
 Calculates key respiratory physiological parameters. More...
 
void Debugging (SEFluidCircuit &RespiratoryCircuit)
 Output data tracks for debugging purposes. More...
 

Protected Attributes

bool m_BreathingCycle
 
bool m_NotBreathing
 
double m_TopBreathTotalVolume_L
 
double m_TopBreathAlveoliVolume_L
 
double m_TopBreathPleuralVolume_L
 
double m_TopBreathAlveoliPressure_cmH2O
 
double m_TopBreathDriverPressure_cmH2O
 
double m_TopBreathPleuralPressure_cmH2O
 
double m_LastCardiacCycleBloodPH
 
double m_TopCarinaO2
 
double m_TopBreathElapsedTime_min
 
double m_BottomBreathElapsedTime_min
 
double m_BottomBreathTotalVolume_L
 
double m_BottomBreathAlveoliVolume_L
 
double m_BottomBreathPleuralVolume_L
 
double m_BottomBreathAlveoliPressure_cmH2O
 
double m_BottomBreathDriverPressure_cmH2O
 
double m_BottomBreathPleuralPressure_cmH2O
 
double m_PeakAlveolarPressure_cmH2O
 
double m_MaximalAlveolarPressure_cmH2O
 
SERunningAveragem_BloodPHRunningAverage
 
SERunningAveragem_MeanAirwayPressure_cmH2O
 
double m_ArterialO2PartialPressure_mmHg
 
double m_ArterialCO2PartialPressure_mmHg
 
double m_BreathingCycleTime_s
 
double m_DriverPressure_cmH2O
 
double m_ElapsedBreathingCycleTime_min
 
double m_IERatioScaleFactor
 
double m_PeakInspiratoryPressure_cmH2O
 
double m_PeakExpiratoryPressure_cmH2O
 
double m_PreviousTargetAlveolarVentilation_L_Per_min
 
double m_VentilationFrequency_Per_min
 
double m_VentilationToTidalVolumeSlope
 
SERunningAveragem_ArterialO2RunningAverage_mmHg
 
SERunningAveragem_ArterialCO2RunningAverage_mmHg
 
double m_ExpiratoryHoldFraction
 
double m_ExpiratoryReleaseFraction
 
double m_ExpiratoryRiseFraction
 
double m_InspiratoryHoldFraction
 
double m_InspiratoryReleaseFraction
 
double m_InspiratoryRiseFraction
 
double m_InspiratoryToExpiratoryPauseFraction
 
bool m_ActiveConsciousRespirationCommand
 
double m_leftAlveoliDecrease_L
 
double m_rightAlveoliDecrease_L
 
double m_RespiratoryResistanceOverride_cmH2O_s_Per_L
 
double m_RespiratoryComplianceOverride_L_Per_cmH2O
 
double m_MaxDriverPressure_cmH2O
 
double m_CentralControlGainConstant
 
double m_DefaultOpenResistance_cmH2O_s_Per_L
 
double m_DefaultClosedResistance_cmH2O_s_Per_L
 
double m_PeripheralControlGainConstant
 
double m_RespOpenResistance_cmH2O_s_Per_L
 
double m_RespClosedResistance_cmH2O_s_Per_L
 
double m_VentilationTidalVolumeIntercept
 
double m_VentilatoryOcclusionPressure_cmH2O
 
double m_MinimumAllowableTidalVolume_L
 
double m_MinimumAllowableInpiratoryAndExpiratoryPeriod_s
 
double m_AverageLocalTissueBronchodilationEffects
 
SEPatientActionCollectionm_PatientActions
 
SEGasCompartmentm_Environment
 
SELiquidCompartmentm_AerosolAirway
 
SELiquidCompartmentm_AerosolCarina
 
SELiquidCompartmentm_AerosolLeftAnatomicDeadSpace
 
SELiquidCompartmentm_AerosolLeftAlveolarDeadSpace
 
SELiquidCompartmentm_AerosolLeftAlveoli
 
SELiquidCompartmentm_AerosolRightAnatomicDeadSpace
 
SELiquidCompartmentm_AerosolRightAlveolarDeadSpace
 
SELiquidCompartmentm_AerosolRightAlveoli
 
SELiquidCompartmentm_LeftLungExtravascular
 
SELiquidCompartmentm_RightLungExtravascular
 
SEGasCompartmentm_Lungs
 
SEGasCompartmentm_LeftLung
 
SEGasCompartmentm_RightLung
 
SEGasCompartmentm_Carina
 
SEGasSubstanceQuantitym_CarinaO2
 
SELiquidSubstanceQuantitym_AortaO2
 
SELiquidSubstanceQuantitym_AortaCO2
 
SEGasSubstanceQuantitym_LeftAlveoliO2
 
SEGasSubstanceQuantitym_RightAlveoliO2
 
std::vector< SELiquidCompartment * > m_AerosolEffects
 
SEGasCompartmentm_MechanicalVentilationConnection
 
SELiquidCompartmentm_MechanicalVentilationAerosolConnection
 
SEGasCompartmentm_PleuralCavity
 
SEFluidCircuitm_RespiratoryCircuit
 
SEFluidCircuitNodem_Airway
 
SEFluidCircuitNodem_LeftAlveoli
 
SEFluidCircuitNodem_LeftAnatomicDeadSpace
 
SEFluidCircuitNodem_LeftAlveolarDeadSpace
 
SEFluidCircuitNodem_LeftPleural
 
SEFluidCircuitNodem_RespiratoryMuscle
 
SEFluidCircuitNodem_RightAlveoli
 
SEFluidCircuitNodem_RightAnatomicDeadSpace
 
SEFluidCircuitNodem_RightAlveolarDeadSpace
 
SEFluidCircuitNodem_RightPleural
 
SEFluidCircuitNodem_Ambient
 
SEFluidCircuitNodem_Stomach
 
SEFluidCircuitPathm_CarinaToLeftAnatomicDeadSpace
 
SEFluidCircuitPathm_CarinaToRightAnatomicDeadSpace
 
SEFluidCircuitPathm_LeftAnatomicDeadSpaceToLeftAlveolarDeadSpace
 
SEFluidCircuitPathm_RightAnatomicDeadSpaceToRightAlveolarDeadSpace
 
SEFluidCircuitPathm_LeftAlveolarDeadSpaceToLeftAlveoli
 
SEFluidCircuitPathm_RightAlveolarDeadSpaceToRightAlveoli
 
SEFluidCircuitPathm_LeftPleuralToRespiratoryMuscle
 
SEFluidCircuitPathm_RightPleuralToRespiratoryMuscle
 
SEFluidCircuitPathm_DriverPressurePath
 
SEFluidCircuitPathm_AirwayToCarina
 
SEFluidCircuitPathm_AirwayToStomach
 
SEFluidCircuitPathm_EnvironmentToLeftChestLeak
 
SEFluidCircuitPathm_EnvironmentToRightChestLeak
 
SEFluidCircuitPathm_LeftAlveoliLeakToLeftPleural
 
SEFluidCircuitPathm_RightAlveoliLeakToRightPleural
 
SEFluidCircuitPathm_LeftPleuralToEnvironment
 
SEFluidCircuitPathm_RightPleuralToEnvironment
 
SEFluidCircuitPathm_LeftAlveoliToLeftPleuralConnection
 
SEFluidCircuitPathm_RightAlveoliToRightPleuralConnection
 
SEFluidCircuitPathm_LeftPulmonaryCapillary
 
SEFluidCircuitPathm_RightPulmonaryCapillary
 
SEFluidCircuitPathm_LeftPulmonaryArteriesToVeins
 
SEFluidCircuitPathm_RightPulmonaryArteriesToVeins
 
SEFluidCircuitPathm_ConnectionToAirway
 
SEFluidCircuitPathm_GroundToConnection
 
SEFluidCircuitCalculatorm_Calculator
 
SEGasTransporterm_GasTransporter
 
SELiquidTransporterm_AerosolTransporter
 
- Protected Attributes inherited from SERespiratorySystem
SEScalarPressurem_AlveolarArterialGradient
 
SEScalarVolumem_AlveolarDeadSpace
 
SEScalarVolumem_AnatomicDeadSpace
 
SEScalarPressurem_CarricoIndex
 
SEScalarVolumePerPressurem_ChestWallCompliance
 
SEScalarEnergym_ElasticWorkOfBreathing
 
SEScalar0To1m_EndTidalCarbonDioxideFraction
 
SEScalarPressurem_EndTidalCarbonDioxidePressure
 
SEScalar0To1m_EndTidalOxygenFraction
 
SEScalarPressurem_EndTidalOxygenPressure
 
SEScalarVolumePerTimem_ExpiratoryFlow
 
SEScalarPressureTimePerVolumem_ExpiratoryPulmonaryResistance
 
SEScalar0To1m_FractionOfInsipredOxygen
 
SEScalarPowerm_ImposedPowerOfBreathing
 
SEScalarEnergym_ImposedWorkOfBreathing
 
SEScalarm_InspiratoryExpiratoryRatio
 
SEScalarVolumePerTimem_InspiratoryFlow
 
SEScalarPressureTimePerVolumem_InspiratoryPulmonaryResistance
 
SEScalarPressurem_IntrapleuralPressure
 
SEScalarPressurem_IntrapulmonaryPressure
 
SEScalarVolumePerPressurem_LungCompliance
 
SEScalarPressurem_MaximalInspiratoryPressure
 
SEScalarPressurem_MeanAirwayPressure
 
SEScalarm_OxygenationIndex
 
SEScalarPressurem_OxygenSaturationIndex
 
SEScalarPowerm_PatientPowerOfBreathing
 
SEScalarEnergym_PatientWorkOfBreathing
 
SEScalarPressurem_PeakInspiratoryPressure
 
SEScalarVolumem_PhysiologicDeadSpace
 
SEScalarPressurem_PositiveEndExpiratoryPressure
 
SEScalarVolumePerPressurem_PulmonaryCompliance
 
SEScalarPressurePerVolumem_PulmonaryElastance
 
SEScalarEnergym_ResistiveExpiratoryWorkOfBreathing
 
SEScalarEnergym_ResistiveInspiratoryWorkOfBreathing
 
SEScalarFrequencym_RespirationRate
 
SEScalar0To1m_RespiratoryMuscleFatigue
 
SEScalarPressurem_RespiratoryMusclePressure
 
SEScalarm_SaturationAndFractionOfInspiredOxygenRatio
 
SEScalarm_SpecificVentilation
 
SEScalarVolumem_TidalVolume
 
SEScalarVolumePerTimem_TotalAlveolarVentilation
 
SEScalarVolumePerTimem_TotalDeadSpaceVentilation
 
SEScalarVolumem_TotalLungVolume
 
SEScalarPowerm_TotalPowerOfBreathing
 
SEScalarVolumePerTimem_TotalPulmonaryVentilation
 
SEScalarEnergym_TotalWorkOfBreathing
 
SEScalarPressurem_TransairwayPressure
 
SEScalarPressurem_TransalveolarPressure
 
SEScalarPressurem_TransChestWallPressure
 
SEScalarPressurem_TransMusclePressure
 
SEScalarPressurem_TranspulmonaryPressure
 
SEScalarPressurem_TransrespiratoryPressure
 
SEScalarPressurem_TransthoracicPressure
 
- Protected Attributes inherited from SESystem
std::stringstream m_ss
 
- Protected Attributes inherited from Loggable
bool myLogger
 
Loggerm_Logger
 
- Protected Attributes inherited from PulseSystem
PulseDatam_data
 

Friends

class PulseController
 
class PBPulsePhysiology
 
class PulseEngineTest
 

Additional Inherited Members

- Static Public Member Functions inherited from SESystem
static const SEScalarGetScalar (const std::string &name, std::vector< SESystem *> *systems)
 
- Static Public Attributes inherited from Loggable
static const std::string empty
 

Detailed Description

The Respiratory System class handles the analysis and storage of data related the respiratory physiology and pathology.

The goal of the Respiratory System class is to handle the analysis and storage of data representing the ventilation and gas exchange of the human respiratory system. The class handles the analysis of changes in the lungs volume and pressure data during the flow and transfer of gases between the lungs, the blood and the outside environment. The class updates the volume and volume fractions of gases in the lungs, and ensures the integration and flow of data between the respiratory system and the anesthesia machine during mechanical ventilation.

Constructor & Destructor Documentation

◆ Respiratory()

Respiratory::Respiratory ( PulseData data)

◆ ~Respiratory()

Respiratory::~Respiratory ( )
virtual

Member Function Documentation

◆ AtSteadyState()

void Respiratory::AtSteadyState ( )
virtual

Respiratory system at steady state.

Initializes respiratory conditions if any are present.

  • COPD
  • Lobar Pneumonia
  • ImpairedAlveolarExchange
  • Pulmonary Fibrosis< / LI>
Todo:
figure out how to save an initial healthy/baseline patient definition and another current patient definition

Implements PulseSystem.

◆ CalculateFatigue()

void Respiratory::CalculateFatigue ( )
protected

Calculate and apply repiratory fatigue effects.

ToDo

Add fatigue calculation

◆ CalculatePulmonaryFunctionTest()

bool Respiratory::CalculatePulmonaryFunctionTest ( SEPulmonaryFunctionTest pft) const

Populate the Pulmonary Function Test Assessment.

Parameters
pftpft data
Returns
success true, if everything worked out
Todo:
Insert more PFT calculations here

◆ CalculateVitalSigns()

void Respiratory::CalculateVitalSigns ( )
protected

Calculates key respiratory physiological parameters.

Calculates the respiration rate and tidal volume. For each breathing cycle, the tidal volume is calculated by identifying the peaks in the total lung volume. The tidal volume of a particular breathing cycle is then calculated by taking the difference between the maximum and minimum values of the total lung volume. The respiration rate is calculated by measuring the duration for one complete breathing cycle and then converting the duration to the number of breaths per minute.

[163] page 227-228 ---————————————————

Event:
Patient: Bradypnea: Respiration rate is below 10 breaths per minute The patient has bradypnea.

[239]

Event:
Patient: End Bradypnea Event. The respiration rate has risen above 10. The patient is no longer considered to have bradypnea.
Event:
Patient: Tachypnea: Respiration rate is above 20 breaths per minute. The patient has tachypnea.
Event:
Patient: End Tachypnea Event. The respiration rate has fallen below 19.5. The patient is no longer considered to have tachypnea.
Todo:
Move to blood chemistry
Event:
Patient: Respiratory Acidosis: event is triggered when blood pH is below 7.36 The patient has respiratory acidosis.
Event:
Patient: arterial blood ph has dropped below 6.5.
Irreversible:
Extreme respiratory Acidosis: blood pH below 6.5.
Event:
Patient: End Respiratory Acidosis Event. The pH value has risen above 7.38. The patient is no longer considered to have respiratory acidosis.
Event:
Patient: Respiratory Alkalosis: event is triggered when blood pH is above 7.45 The patient has respiratory alkalosis.
Event:
Patient: arterial blood ph has gotten above 8.5.
Irreversible:
Extreme respiratory Alkalosis: blood pH above 8.5.
Event:
Patient: End Respiratory Alkalosis Event. The pH value has has fallen below 7.45. The patient is no longer considered to have respiratory alkalosis.

◆ CalculateWork()

void Respiratory::CalculateWork ( )
protected

Calculate the instantaneous work of breathing.

ToDo

Add work calculation

◆ Clear()

void Respiratory::Clear ( )
virtual

Reimplemented from SERespiratorySystem.

◆ ComputeExposedModelParameters()

void Respiratory::ComputeExposedModelParameters ( )
overrideprotectedvirtual

◆ ConsciousRespiration()

void Respiratory::ConsciousRespiration ( )
protected

Conscious respiration.

Parameters
None
Returns
void

This method processes a conscious respiration command and removes by setting the effort waveform parameters. New commands will overwrite incomplete commands.

◆ Debugging()

void Respiratory::Debugging ( SEFluidCircuit RespiratoryCircuit)
protected

Output data tracks for debugging purposes.

◆ DoLeftNeedleDecompression()

void Respiratory::DoLeftNeedleDecompression ( double  dPressureTimePerVolume)
protected

Left Side Needle Decompression.

Parameters
dPressureTimePerVolume- Resistance value for air flow through the needle

Used for left side needle decompression. this is an intervention (action) used to treat left side tension pneumothorax

◆ DoRightNeedleDecompression()

void Respiratory::DoRightNeedleDecompression ( double  dPressureTimePerVolume)
protected

Right Side Needle Decompression.

Parameters
dPressureTimePerVolume- Resistance value for air flow through the needle

Used for right side needle decompression. this is an intervention (action) used to treat right side tension pneumothorax

◆ Initialize()

void Respiratory::Initialize ( )
virtual

Initializes system properties to valid homeostatic values.

For stabilization only! Called AFTER Setup when stabilizing a new patient

Reimplemented from PulseSystem.

◆ MechanicalVentilation()

void Respiratory::MechanicalVentilation ( )
protected

Modifies the pressure and/or flow at the airway.

Handles the mechanical ventilation action that adds a flow and pressure source to instantaneously set the respiratory connection (airway) to user specified values.

◆ ModifyDriverPressure()

void Respiratory::ModifyDriverPressure ( )
protected

Reduce the driver pressure based on action and conditions.

This method scales the driver pressure lower than "requested" by the chemoreceptors and other nervous system / PD effects. This ultamitely caused lower O2 in the blood and higher respiration rates compared to lower tidal volumes.

◆ Pneumothorax()

void Respiratory::Pneumothorax ( )
protected

Tension pneumothorax.

Pneumothorax is an abnormal accumulation of air in the pleural cavity. Tension pneumothorax occurs when air escapes into the pleural space on inspiration, but cannot return on expiration. Different types of pneumothorces are known. The engine models open (sucking chest wound) and closed (intact thoracic cage) pnumothoraces whereas occlusive dressing and needle decompression are modeled as interventions. The function models pneumothorax and needle decompression by opening respiratory circuits that allow air flows into and out of the pleural cavity. Under normal condition, the path between the lung node or the outside environment and the intrapleural cavity is blocked via significantly high resistances that serve as open switches. When open or closed pneumothorax is triggered, these resistances are reduced in proportion to the severity of the pneumothorax. This reduction permits air flow into the pleural cavity a and cause respiratory and cardiovascular distress. The function allows the selection of tension pneumothorax and/or needle decompression events on the left or right lung side. The effects on the cardiovascular system parameters is accounted through modifiers that scale in proportion to the accumulated gas.

Error:
Patient: Cannot perform an intervention if Tension Pneumothorax is not present on that side.
Error:
Patient: Cannot perform an intervention if Tension Pneumothorax is not present on that side.
Error:
Patient: can't process needle decompression if no pneumothorax is present
Error:
Patient: can't process a chest occlusive dressing if no pneumothorax is present

◆ PostProcess()

void Respiratory::PostProcess ( bool  solve_and_transport = true)
virtual

Respiratory system postprocess function.

Updates the current values of the gas volume fraction and gas volumes for the nodes in the respiratory circuit or the nodes in the combined (respiratory + anesthesia machine) circuit when the anesthesia machine is turned on.

Implements PulseSystem.

◆ PreProcess()

void Respiratory::PreProcess ( )
virtual

Respiratory system preprocess function.

Calculates the muscle pressure source that drives the respiratory system. Updates airway resistance to account for changes arising from factors like drugs and respiratory insults and interventions. Updates the chest wall variable compliance. Handles all respiratory insults and actions.

Implements PulseSystem.

◆ Process()

void Respiratory::Process ( bool  solve_and_transport = true)
virtual

Respiratory system process function.

Ensures the selection of the respiratory system with or without the anesthesia machine. Handles the integration of the anesthesia machine to the respiratory system when the anesthesia machine is turned on. The integration of the anesthesia machine to the respiratory system is handled at run time by constructing a combined circuit of the respiratory and anesthesia machine. Handles lung volume changes during alveolar gas transfer. Calculates physiological parameters such as respiration rate, tidal volume and others that belonging to the respiratory system.

Implements PulseSystem.

◆ ProcessAerosolSubstances()

void Respiratory::ProcessAerosolSubstances ( )
protected

Compute deposited mass, update localized PD effects.

For each aerosol get the SIDE coefficient to determine deposited mass in each respiratory compartment. Adjust the resistances between compartments as a function of deposited mass to reach validated data. Liquid and solid aerosols are handeled here.

◆ RespiratoryDriver()

void Respiratory::RespiratoryDriver ( )
protected

Respiratory driver pressure source.

Calculates the muscle pressure source pressure by using the chemical stimuli as feedback control mechanism. The method reads the arterial O2 and CO2 partial pressures. Using these partial pressures, the method calculates the alveolar ventilation from which the method calculates the target breathing frequency. The target breathing frequency is used in the equation for muscle pressure source. The muscle pressure source is used as a driver for ventilation. This method also calculates the drug modifiers that adjusts the depth and frequency of respiration.

Event:
Patient: Start of exhale/inhale
Event:
Patient: Maximum Pulmonary Ventilation Rate : Pulmonary ventilation exceeds maximum value

◆ SetBreathCycleFractions()

void Respiratory::SetBreathCycleFractions ( )
protected

Set inspiratory and expiratory timing.

This sets the fraction/percentage of each segment of a breath cycle. The values are used by the driver to produce the pressure waveform for a single breath. The fractions must sum to 1.0, and anything remaining will be added at the end as a hold at zero.

[113]

◆ SetRespiratoryCompliance()

void Respiratory::SetRespiratoryCompliance ( )
protected

Override the total system compliance.

◆ SetRespiratoryResistance()

void Respiratory::SetRespiratoryResistance ( )
protected

Override the total system resistance.

Error:
Error: Ignoring the resistance override. The airway resistance cannot be lowered enough to meet the criteria.

◆ SetUp()

void Respiratory::SetUp ( )
virtual

Initializes parameters for Respiratory Class.

Called during both State loading and Patient Stabilization Pull and setup up our data (can be from other systems) Initialize will be called after this and can overwrite any of this data (only if stabilizing)

Todo:
figure out how to modify these resistances without getting the cv circuit - maybe add a parameter, like baroreceptors does

Implements PulseSystem.

◆ SupplementalOxygen()

void Respiratory::SupplementalOxygen ( )
protected

Applys supplemental oxygen equipment.

This will provide supplemental oxygen by connecting and updating the circuit and graph for nasal cannula, simple mask, or nonrebreather mask

Todo:
  • Maybe this and mechanical ventilation should be broken out to their own class, like anesthesia machine?
Event:
Supplemental Oxygen: Oxygen bottle is exhausted. There is no longer any oxygen to provide.
Event:
Supplemental Oxygen: The nonrebreather mask is empty. Oxygen may need to be provided at a faster rate.

◆ TuneCircuit()

void Respiratory::TuneCircuit ( )
protected

Run the circuit standalone once to get it into a good starting state.

  • keep volume fractions constant

◆ UpdateAlveolarCompliances()

void Respiratory::UpdateAlveolarCompliances ( )
protected

Update lung compliance due to actions and conditions.

The alveoli/lung compliance is a constant value (linear volume vs. presure function) that is modified and tuned to provide the desired total pulmonary compliance. The maximal obstructive and maximal restrictive effects are combined through individual multipliers.

◆ UpdateChestWallCompliances()

void Respiratory::UpdateChestWallCompliances ( )
protected

Modify the chest wall compliance based on lung volume.

The chest wall compliance is modified using a sigmoidal function. Extreme values are defined by a volume vs. pressure curve between reserve volume (minimum lung volume) and total lung capacity (maximum lung volume). The instantaneous compliance is calculated each time step to follow this defined volume vs. pressure piecewise function.

[341]

◆ UpdateDiffusion()

void Respiratory::UpdateDiffusion ( )
protected

Update the diffusion surface area due to actions and conditions.

The surface area is an important factor for gas exchange between the respiratory and cardiovascular systems. Several conditions effectively reduce the area of alveoli that participate in gas exchange and cause increased CO2 and decreased O2 in the blood. This models the destruction of alveoli membranes and/or lung consolidation.

Todo:
Update this with new healthy vs. current patient methodology
Error:
Fatal: The Impaired Alveolar Exchange action must include a surface area, fraction, or severity.
Error:
Warning: The Impaired Alveolar Exchange action is defined with mulitple values. Defaulting to the surface area value first, impaired fraction next, and severity last.
Error:
Fatal: The Impaired Alveolar Exchange action must include a surface area, fraction, or severity.
Error:
Warning: The Impaired Alveolar Exchange condition is defined with mulitple values. Defaulting to the surface area value first, impaired fraction next, and severity last.

◆ UpdateInspiratoryExpiratoryRatio()

void Respiratory::UpdateInspiratoryExpiratoryRatio ( )
protected

Update the inspiratory:expiratory ratio due to actions and conditions.

The inspiratory and expiratory ratio scaling factors are determine thorugh the tuned combined effects of respiratory conditions and actions, as well as drug PD effects. The resulting modifier is then applied to the breath cycle fraction to ultimately modify the relaive inspiratory and expiratory time.

◆ UpdatePulmonaryCapillary()

void Respiratory::UpdatePulmonaryCapillary ( )
protected

Update Pulmonary Capillary Resistance.

This method determines a resistance scaling factor from COPD severity to updates the pulmonary capillary resistance in order to model the destruction of capillaries in the alveolus membrane.

◆ UpdatePulmonaryShunt()

void Respiratory::UpdatePulmonaryShunt ( )
protected

Update Pulmonary Shunt Resistance.

This decreases the pulmonary shunt resistance in the cardiovascular system. The resistance is inversely proportional to the severity. The shunt allows deoxgenated blood to pass without participating in gas exchange. This often occurs with alveoli filled with fluid.

◆ UpdateResistances()

void Respiratory::UpdateResistances ( )
protected

Update respiratory resistances due to actions and conditions.

Update the trachea, bronchial, and alveoli resistances as appropriate. Effects are combined by taking the action/conditions that has the greatest change from baseline.

◆ UpdateVolumes()

void Respiratory::UpdateVolumes ( )
protected

Modify lung volumes based on actions and conditions.

Increase the alveolar dead space volume due to COPD. Also, make sure the stomach volume does not cause a problem with ambient changes.

[138] p504: In a person with partially functional or nonfunctional alveoli in some parts of the lungs,

◆ VolumeToDriverPressure()

double Respiratory::VolumeToDriverPressure ( double  TargetVolume_L)
protected

Peak Driver Pressure Based on Target Volume.

Parameters
TargetVolume_LTarget volume (L)
Returns
Peak Driver Pressure The driver pressure required to achieve target volume (cmH2O)

This method returns an estimated driver pressure as a function of target volume. The equation uses a constant total compliance from the basline values. This is an approximation and will not acheive the desired volume exactly.

Friends And Related Function Documentation

◆ PBPulsePhysiology

friend class PBPulsePhysiology
friend

◆ PulseController

friend class PulseController
friend

◆ PulseEngineTest

friend class PulseEngineTest
friend

Member Data Documentation

◆ m_ActiveConsciousRespirationCommand

bool Respiratory::m_ActiveConsciousRespirationCommand
protected

◆ m_AerosolAirway

SELiquidCompartment* Respiratory::m_AerosolAirway
protected

◆ m_AerosolCarina

SELiquidCompartment* Respiratory::m_AerosolCarina
protected

◆ m_AerosolEffects

std::vector<SELiquidCompartment*> Respiratory::m_AerosolEffects
protected

◆ m_AerosolLeftAlveolarDeadSpace

SELiquidCompartment* Respiratory::m_AerosolLeftAlveolarDeadSpace
protected

◆ m_AerosolLeftAlveoli

SELiquidCompartment* Respiratory::m_AerosolLeftAlveoli
protected

◆ m_AerosolLeftAnatomicDeadSpace

SELiquidCompartment* Respiratory::m_AerosolLeftAnatomicDeadSpace
protected

◆ m_AerosolRightAlveolarDeadSpace

SELiquidCompartment* Respiratory::m_AerosolRightAlveolarDeadSpace
protected

◆ m_AerosolRightAlveoli

SELiquidCompartment* Respiratory::m_AerosolRightAlveoli
protected

◆ m_AerosolRightAnatomicDeadSpace

SELiquidCompartment* Respiratory::m_AerosolRightAnatomicDeadSpace
protected

◆ m_AerosolTransporter

SELiquidTransporter* Respiratory::m_AerosolTransporter
protected

◆ m_Airway

SEFluidCircuitNode* Respiratory::m_Airway
protected

◆ m_AirwayToCarina

SEFluidCircuitPath* Respiratory::m_AirwayToCarina
protected

◆ m_AirwayToStomach

SEFluidCircuitPath* Respiratory::m_AirwayToStomach
protected

◆ m_Ambient

SEFluidCircuitNode* Respiratory::m_Ambient
protected

◆ m_AortaCO2

SELiquidSubstanceQuantity* Respiratory::m_AortaCO2
protected

◆ m_AortaO2

SELiquidSubstanceQuantity* Respiratory::m_AortaO2
protected

◆ m_ArterialCO2PartialPressure_mmHg

double Respiratory::m_ArterialCO2PartialPressure_mmHg
protected

◆ m_ArterialCO2RunningAverage_mmHg

SERunningAverage* Respiratory::m_ArterialCO2RunningAverage_mmHg
protected

◆ m_ArterialO2PartialPressure_mmHg

double Respiratory::m_ArterialO2PartialPressure_mmHg
protected

◆ m_ArterialO2RunningAverage_mmHg

SERunningAverage* Respiratory::m_ArterialO2RunningAverage_mmHg
protected

◆ m_AverageLocalTissueBronchodilationEffects

double Respiratory::m_AverageLocalTissueBronchodilationEffects
protected

◆ m_BloodPHRunningAverage

SERunningAverage* Respiratory::m_BloodPHRunningAverage
protected

◆ m_BottomBreathAlveoliPressure_cmH2O

double Respiratory::m_BottomBreathAlveoliPressure_cmH2O
protected

◆ m_BottomBreathAlveoliVolume_L

double Respiratory::m_BottomBreathAlveoliVolume_L
protected

◆ m_BottomBreathDriverPressure_cmH2O

double Respiratory::m_BottomBreathDriverPressure_cmH2O
protected

◆ m_BottomBreathElapsedTime_min

double Respiratory::m_BottomBreathElapsedTime_min
protected

◆ m_BottomBreathPleuralPressure_cmH2O

double Respiratory::m_BottomBreathPleuralPressure_cmH2O
protected

◆ m_BottomBreathPleuralVolume_L

double Respiratory::m_BottomBreathPleuralVolume_L
protected

◆ m_BottomBreathTotalVolume_L

double Respiratory::m_BottomBreathTotalVolume_L
protected

◆ m_BreathingCycle

bool Respiratory::m_BreathingCycle
protected

◆ m_BreathingCycleTime_s

double Respiratory::m_BreathingCycleTime_s
protected

◆ m_Calculator

SEFluidCircuitCalculator* Respiratory::m_Calculator
protected

◆ m_Carina

SEGasCompartment* Respiratory::m_Carina
protected

◆ m_CarinaO2

SEGasSubstanceQuantity* Respiratory::m_CarinaO2
protected

◆ m_CarinaToLeftAnatomicDeadSpace

SEFluidCircuitPath* Respiratory::m_CarinaToLeftAnatomicDeadSpace
protected

◆ m_CarinaToRightAnatomicDeadSpace

SEFluidCircuitPath* Respiratory::m_CarinaToRightAnatomicDeadSpace
protected

◆ m_CentralControlGainConstant

double Respiratory::m_CentralControlGainConstant
protected

◆ m_ConnectionToAirway

SEFluidCircuitPath* Respiratory::m_ConnectionToAirway
protected

◆ m_DefaultClosedResistance_cmH2O_s_Per_L

double Respiratory::m_DefaultClosedResistance_cmH2O_s_Per_L
protected

◆ m_DefaultOpenResistance_cmH2O_s_Per_L

double Respiratory::m_DefaultOpenResistance_cmH2O_s_Per_L
protected

◆ m_DriverPressure_cmH2O

double Respiratory::m_DriverPressure_cmH2O
protected

◆ m_DriverPressurePath

SEFluidCircuitPath* Respiratory::m_DriverPressurePath
protected

◆ m_ElapsedBreathingCycleTime_min

double Respiratory::m_ElapsedBreathingCycleTime_min
protected

◆ m_Environment

SEGasCompartment* Respiratory::m_Environment
protected

◆ m_EnvironmentToLeftChestLeak

SEFluidCircuitPath* Respiratory::m_EnvironmentToLeftChestLeak
protected

◆ m_EnvironmentToRightChestLeak

SEFluidCircuitPath* Respiratory::m_EnvironmentToRightChestLeak
protected

◆ m_ExpiratoryHoldFraction

double Respiratory::m_ExpiratoryHoldFraction
protected

◆ m_ExpiratoryReleaseFraction

double Respiratory::m_ExpiratoryReleaseFraction
protected

◆ m_ExpiratoryRiseFraction

double Respiratory::m_ExpiratoryRiseFraction
protected

◆ m_GasTransporter

SEGasTransporter* Respiratory::m_GasTransporter
protected

◆ m_GroundToConnection

SEFluidCircuitPath* Respiratory::m_GroundToConnection
protected

◆ m_IERatioScaleFactor

double Respiratory::m_IERatioScaleFactor
protected

◆ m_InspiratoryHoldFraction

double Respiratory::m_InspiratoryHoldFraction
protected

◆ m_InspiratoryReleaseFraction

double Respiratory::m_InspiratoryReleaseFraction
protected

◆ m_InspiratoryRiseFraction

double Respiratory::m_InspiratoryRiseFraction
protected

◆ m_InspiratoryToExpiratoryPauseFraction

double Respiratory::m_InspiratoryToExpiratoryPauseFraction
protected

◆ m_LastCardiacCycleBloodPH

double Respiratory::m_LastCardiacCycleBloodPH
protected

◆ m_LeftAlveolarDeadSpace

SEFluidCircuitNode* Respiratory::m_LeftAlveolarDeadSpace
protected

◆ m_LeftAlveolarDeadSpaceToLeftAlveoli

SEFluidCircuitPath* Respiratory::m_LeftAlveolarDeadSpaceToLeftAlveoli
protected

◆ m_LeftAlveoli

SEFluidCircuitNode* Respiratory::m_LeftAlveoli
protected

◆ m_leftAlveoliDecrease_L

double Respiratory::m_leftAlveoliDecrease_L
protected

◆ m_LeftAlveoliLeakToLeftPleural

SEFluidCircuitPath* Respiratory::m_LeftAlveoliLeakToLeftPleural
protected

◆ m_LeftAlveoliO2

SEGasSubstanceQuantity* Respiratory::m_LeftAlveoliO2
protected

◆ m_LeftAlveoliToLeftPleuralConnection

SEFluidCircuitPath* Respiratory::m_LeftAlveoliToLeftPleuralConnection
protected

◆ m_LeftAnatomicDeadSpace

SEFluidCircuitNode* Respiratory::m_LeftAnatomicDeadSpace
protected

◆ m_LeftAnatomicDeadSpaceToLeftAlveolarDeadSpace

SEFluidCircuitPath* Respiratory::m_LeftAnatomicDeadSpaceToLeftAlveolarDeadSpace
protected

◆ m_LeftLung

SEGasCompartment* Respiratory::m_LeftLung
protected

◆ m_LeftLungExtravascular

SELiquidCompartment* Respiratory::m_LeftLungExtravascular
protected

◆ m_LeftPleural

SEFluidCircuitNode* Respiratory::m_LeftPleural
protected

◆ m_LeftPleuralToEnvironment

SEFluidCircuitPath* Respiratory::m_LeftPleuralToEnvironment
protected

◆ m_LeftPleuralToRespiratoryMuscle

SEFluidCircuitPath* Respiratory::m_LeftPleuralToRespiratoryMuscle
protected

◆ m_LeftPulmonaryArteriesToVeins

SEFluidCircuitPath* Respiratory::m_LeftPulmonaryArteriesToVeins
protected

◆ m_LeftPulmonaryCapillary

SEFluidCircuitPath* Respiratory::m_LeftPulmonaryCapillary
protected

◆ m_Lungs

SEGasCompartment* Respiratory::m_Lungs
protected

◆ m_MaxDriverPressure_cmH2O

double Respiratory::m_MaxDriverPressure_cmH2O
protected

◆ m_MaximalAlveolarPressure_cmH2O

double Respiratory::m_MaximalAlveolarPressure_cmH2O
protected

◆ m_MeanAirwayPressure_cmH2O

SERunningAverage* Respiratory::m_MeanAirwayPressure_cmH2O
protected

◆ m_MechanicalVentilationAerosolConnection

SELiquidCompartment* Respiratory::m_MechanicalVentilationAerosolConnection
protected

◆ m_MechanicalVentilationConnection

SEGasCompartment* Respiratory::m_MechanicalVentilationConnection
protected

◆ m_MinimumAllowableInpiratoryAndExpiratoryPeriod_s

double Respiratory::m_MinimumAllowableInpiratoryAndExpiratoryPeriod_s
protected

◆ m_MinimumAllowableTidalVolume_L

double Respiratory::m_MinimumAllowableTidalVolume_L
protected

◆ m_NotBreathing

bool Respiratory::m_NotBreathing
protected

◆ m_PatientActions

SEPatientActionCollection* Respiratory::m_PatientActions
protected

◆ m_PeakAlveolarPressure_cmH2O

double Respiratory::m_PeakAlveolarPressure_cmH2O
protected

◆ m_PeakExpiratoryPressure_cmH2O

double Respiratory::m_PeakExpiratoryPressure_cmH2O
protected

◆ m_PeakInspiratoryPressure_cmH2O

double Respiratory::m_PeakInspiratoryPressure_cmH2O
protected

◆ m_PeripheralControlGainConstant

double Respiratory::m_PeripheralControlGainConstant
protected

◆ m_PleuralCavity

SEGasCompartment* Respiratory::m_PleuralCavity
protected

◆ m_PreviousTargetAlveolarVentilation_L_Per_min

double Respiratory::m_PreviousTargetAlveolarVentilation_L_Per_min
protected

◆ m_RespClosedResistance_cmH2O_s_Per_L

double Respiratory::m_RespClosedResistance_cmH2O_s_Per_L
protected

◆ m_RespiratoryCircuit

SEFluidCircuit* Respiratory::m_RespiratoryCircuit
protected

◆ m_RespiratoryComplianceOverride_L_Per_cmH2O

double Respiratory::m_RespiratoryComplianceOverride_L_Per_cmH2O
protected

◆ m_RespiratoryMuscle

SEFluidCircuitNode* Respiratory::m_RespiratoryMuscle
protected

◆ m_RespiratoryResistanceOverride_cmH2O_s_Per_L

double Respiratory::m_RespiratoryResistanceOverride_cmH2O_s_Per_L
protected

◆ m_RespOpenResistance_cmH2O_s_Per_L

double Respiratory::m_RespOpenResistance_cmH2O_s_Per_L
protected

◆ m_RightAlveolarDeadSpace

SEFluidCircuitNode* Respiratory::m_RightAlveolarDeadSpace
protected

◆ m_RightAlveolarDeadSpaceToRightAlveoli

SEFluidCircuitPath* Respiratory::m_RightAlveolarDeadSpaceToRightAlveoli
protected

◆ m_RightAlveoli

SEFluidCircuitNode* Respiratory::m_RightAlveoli
protected

◆ m_rightAlveoliDecrease_L

double Respiratory::m_rightAlveoliDecrease_L
protected

◆ m_RightAlveoliLeakToRightPleural

SEFluidCircuitPath* Respiratory::m_RightAlveoliLeakToRightPleural
protected

◆ m_RightAlveoliO2

SEGasSubstanceQuantity* Respiratory::m_RightAlveoliO2
protected

◆ m_RightAlveoliToRightPleuralConnection

SEFluidCircuitPath* Respiratory::m_RightAlveoliToRightPleuralConnection
protected

◆ m_RightAnatomicDeadSpace

SEFluidCircuitNode* Respiratory::m_RightAnatomicDeadSpace
protected

◆ m_RightAnatomicDeadSpaceToRightAlveolarDeadSpace

SEFluidCircuitPath* Respiratory::m_RightAnatomicDeadSpaceToRightAlveolarDeadSpace
protected

◆ m_RightLung

SEGasCompartment* Respiratory::m_RightLung
protected

◆ m_RightLungExtravascular

SELiquidCompartment* Respiratory::m_RightLungExtravascular
protected

◆ m_RightPleural

SEFluidCircuitNode* Respiratory::m_RightPleural
protected

◆ m_RightPleuralToEnvironment

SEFluidCircuitPath* Respiratory::m_RightPleuralToEnvironment
protected

◆ m_RightPleuralToRespiratoryMuscle

SEFluidCircuitPath* Respiratory::m_RightPleuralToRespiratoryMuscle
protected

◆ m_RightPulmonaryArteriesToVeins

SEFluidCircuitPath* Respiratory::m_RightPulmonaryArteriesToVeins
protected

◆ m_RightPulmonaryCapillary

SEFluidCircuitPath* Respiratory::m_RightPulmonaryCapillary
protected

◆ m_Stomach

SEFluidCircuitNode* Respiratory::m_Stomach
protected

◆ m_TopBreathAlveoliPressure_cmH2O

double Respiratory::m_TopBreathAlveoliPressure_cmH2O
protected

◆ m_TopBreathAlveoliVolume_L

double Respiratory::m_TopBreathAlveoliVolume_L
protected

◆ m_TopBreathDriverPressure_cmH2O

double Respiratory::m_TopBreathDriverPressure_cmH2O
protected

◆ m_TopBreathElapsedTime_min

double Respiratory::m_TopBreathElapsedTime_min
protected

◆ m_TopBreathPleuralPressure_cmH2O

double Respiratory::m_TopBreathPleuralPressure_cmH2O
protected

◆ m_TopBreathPleuralVolume_L

double Respiratory::m_TopBreathPleuralVolume_L
protected

◆ m_TopBreathTotalVolume_L

double Respiratory::m_TopBreathTotalVolume_L
protected

◆ m_TopCarinaO2

double Respiratory::m_TopCarinaO2
protected

◆ m_VentilationFrequency_Per_min

double Respiratory::m_VentilationFrequency_Per_min
protected

◆ m_VentilationTidalVolumeIntercept

double Respiratory::m_VentilationTidalVolumeIntercept
protected

◆ m_VentilationToTidalVolumeSlope

double Respiratory::m_VentilationToTidalVolumeSlope
protected

◆ m_VentilatoryOcclusionPressure_cmH2O

double Respiratory::m_VentilatoryOcclusionPressure_cmH2O
protected

Distributed under the Apache License, Version 2.0.

See accompanying NOTICE file for details.