5#include "cdm/system/SESystem.h"
7enum class eLungCompartment
18extern CDM_DECL
const std::string& eLungCompartment_Name(eLungCompartment cmpt);
19using LungImpairmentMap = std::map<eLungCompartment, SEScalar0To1*>;
20using LungVolumeIncrementMap = std::map<eLungCompartment, SEScalarVolume*>;
28 static void FillLungImpairmentMap(LungImpairmentMap& map);
33 void Clear()
override;
37 virtual bool HasAirwayPressure()
const;
39 virtual double GetAirwayPressure(
const PressureUnit& unit)
const;
41 virtual bool HasAlveolarArterialGradient()
const;
43 virtual double GetAlveolarArterialGradient(
const PressureUnit& unit)
const;
45 virtual bool HasAlveolarDeadSpace()
const;
47 virtual double GetAlveolarDeadSpace(
const VolumeUnit& unit)
const;
49 virtual bool HasAnatomicDeadSpace()
const;
51 virtual double GetAnatomicDeadSpace(
const VolumeUnit& unit)
const;
53 virtual bool HasHorowitzIndex()
const;
55 virtual double GetHorowitzIndex(
const PressureUnit& unit)
const;
57 virtual bool HasChestWallCompliance()
const;
61 virtual bool HasElasticWorkOfBreathing()
const;
63 virtual double GetElasticWorkOfBreathing(
const EnergyUnit& unit)
const;
65 virtual bool HasEndTidalCarbonDioxideFraction()
const;
66 virtual SEScalar0To1& GetEndTidalCarbonDioxideFraction();
67 virtual double GetEndTidalCarbonDioxideFraction()
const;
69 virtual bool HasEndTidalCarbonDioxidePressure()
const;
71 virtual double GetEndTidalCarbonDioxidePressure(
const PressureUnit& unit)
const;
73 virtual bool HasEndTidalOxygenFraction()
const;
75 virtual double GetEndTidalOxygenFraction()
const;
77 virtual bool HasEndTidalOxygenPressure()
const;
79 virtual double GetEndTidalOxygenPressure(
const PressureUnit& unit)
const;
81 virtual bool HasExpiratoryFlow()
const;
85 virtual bool HasExpiratoryRespiratoryResistance()
const;
89 virtual bool HasExpiratoryTidalVolume()
const;
91 virtual double GetExpiratoryTidalVolume(
const VolumeUnit& unit)
const;
93 virtual bool HasExtrinsicPositiveEndExpiratoryPressure()
const;
95 virtual double GetExtrinsicPositiveEndExpiratoryPressure(
const PressureUnit& unit)
const;
97 virtual bool HasFractionOfInspiredOxygen()
const;
99 virtual double GetFractionOfInspiredOxygen()
const;
101 virtual bool HasImposedPowerOfBreathing()
const;
103 virtual double GetImposedPowerOfBreathing(
const PowerUnit& unit)
const;
105 virtual bool HasImposedWorkOfBreathing()
const;
107 virtual double GetImposedWorkOfBreathing(
const EnergyUnit& unit)
const;
109 virtual bool HasInspiratoryExpiratoryRatio()
const;
110 virtual SEScalar& GetInspiratoryExpiratoryRatio();
111 virtual double GetInspiratoryExpiratoryRatio()
const;
113 virtual bool HasInspiratoryFlow()
const;
117 virtual bool HasInspiratoryRespiratoryResistance()
const;
121 virtual bool HasInspiratoryTidalVolume()
const;
123 virtual double GetInspiratoryTidalVolume(
const VolumeUnit& unit)
const;
125 virtual bool HasIntrapleuralPressure()
const;
127 virtual double GetIntrapleuralPressure(
const PressureUnit& unit)
const;
129 virtual bool HasIntrapulmonaryPressure()
const;
131 virtual double GetIntrapulmonaryPressure(
const PressureUnit& unit)
const;
133 virtual bool HasIntrinsicPositiveEndExpiratoryPressure()
const;
135 virtual double GetIntrinsicPositiveEndExpiratoryPressure(
const PressureUnit& unit)
const;
137 virtual bool HasLungCompliance()
const;
141 virtual bool HasMaximalInspiratoryPressure()
const;
143 virtual double GetMaximalInspiratoryPressure(
const PressureUnit& unit)
const;
145 virtual bool HasMeanAirwayPressure()
const;
147 virtual double GetMeanAirwayPressure(
const PressureUnit& unit)
const;
149 virtual bool HasOxygenationIndex()
const;
150 virtual SEScalar& GetOxygenationIndex();
151 virtual double GetOxygenationIndex()
const;
153 virtual bool HasOxygenSaturationIndex()
const;
155 virtual double GetOxygenSaturationIndex(
const PressureUnit& unit)
const;
157 virtual bool HasPatientPowerOfBreathing()
const;
159 virtual double GetPatientPowerOfBreathing(
const PowerUnit& unit)
const;
161 virtual bool HasPatientWorkOfBreathing()
const;
163 virtual double GetPatientWorkOfBreathing(
const EnergyUnit& unit)
const;
165 virtual bool HasPeakInspiratoryPressure()
const;
167 virtual double GetPeakInspiratoryPressure(
const PressureUnit& unit)
const;
169 virtual bool HasPhysiologicDeadSpace()
const;
171 virtual double GetPhysiologicDeadSpace(
const VolumeUnit& unit)
const;
173 virtual bool HasPhysiologicDeadSpaceTidalVolumeRatio()
const;
174 virtual SEScalar& GetPhysiologicDeadSpaceTidalVolumeRatio();
175 virtual double GetPhysiologicDeadSpaceTidalVolumeRatio()
const;
177 virtual bool HasRespiratoryCompliance()
const;
181 virtual bool HasRespiratoryElastance()
const;
185 virtual bool HasRelativeTotalLungVolume()
const;
187 virtual double GetRelativeTotalLungVolume(
const VolumeUnit& unit)
const;
189 virtual bool HasResistiveExpiratoryWorkOfBreathing()
const;
191 virtual double GetResistiveExpiratoryWorkOfBreathing(
const EnergyUnit& unit)
const;
193 virtual bool HasResistiveInspiratoryWorkOfBreathing()
const;
195 virtual double GetResistiveInspiratoryWorkOfBreathing(
const EnergyUnit& unit)
const;
197 virtual bool HasRespirationRate()
const;
199 virtual double GetRespirationRate(
const FrequencyUnit& unit)
const;
201 virtual bool HasRespiratoryMuscleFatigue()
const;
203 virtual double GetRespiratoryMuscleFatigue()
const;
205 virtual bool HasRespiratoryMusclePressure()
const;
207 virtual double GetRespiratoryMusclePressure(
const PressureUnit& unit)
const;
209 virtual bool HasSaturationAndFractionOfInspiredOxygenRatio()
const;
210 virtual SEScalar& GetSaturationAndFractionOfInspiredOxygenRatio();
211 virtual double GetSaturationAndFractionOfInspiredOxygenRatio()
const;
213 virtual bool HasSpecificVentilation()
const;
214 virtual SEScalar& GetSpecificVentilation();
215 virtual double GetSpecificVentilation()
const;
217 virtual bool HasTidalVolume()
const;
219 virtual double GetTidalVolume(
const VolumeUnit& unit)
const;
221 virtual bool HasTotalAlveolarVentilation()
const;
225 virtual bool HasTotalDeadSpaceVentilation()
const;
227 virtual double GetTotalDeadSpaceVentilation(
const VolumePerTimeUnit& unit)
const;
229 virtual bool HasTotalLungVolume()
const;
231 virtual double GetTotalLungVolume(
const VolumeUnit& unit)
const;
233 virtual bool HasTotalPositiveEndExpiratoryPressure()
const;
235 virtual double GetTotalPositiveEndExpiratoryPressure(
const PressureUnit& unit)
const;
237 virtual bool HasTotalPowerOfBreathing()
const;
239 virtual double GetTotalPowerOfBreathing(
const PowerUnit& unit)
const;
241 virtual bool HasTotalPulmonaryVentilation()
const;
243 virtual double GetTotalPulmonaryVentilation(
const VolumePerTimeUnit& unit)
const;
245 virtual bool HasTotalWorkOfBreathing()
const;
247 virtual double GetTotalWorkOfBreathing(
const EnergyUnit& unit)
const;
249 virtual bool HasTransairwayPressure()
const;
251 virtual double GetTransairwayPressure(
const PressureUnit& unit)
const;
253 virtual bool HasTransalveolarPressure()
const;
255 virtual double GetTransalveolarPressure(
const PressureUnit& unit)
const;
257 virtual bool HasTransChestWallPressure()
const;
259 virtual double GetTransChestWallPressure(
const PressureUnit& unit)
const;
261 virtual bool HasTransMusclePressure()
const;
263 virtual double GetTransMusclePressure(
const PressureUnit& unit)
const;
265 virtual bool HasTranspulmonaryPressure()
const;
267 virtual double GetTranspulmonaryPressure(
const PressureUnit& unit)
const;
269 virtual bool HasTransrespiratoryPressure()
const;
271 virtual double GetTransrespiratoryPressure(
const PressureUnit& unit)
const;
273 virtual bool HasTransthoracicPressure()
const;
275 virtual double GetTransthoracicPressure(
const PressureUnit& unit)
const;
277 virtual bool HasVentilationPerfusionRatio()
const;
278 virtual SEScalar& GetVentilationPerfusionRatio();
279 virtual double GetVentilationPerfusionRatio()
const;
281 virtual bool HasActiveMechanics()
const;
282 virtual bool HasMechanics()
const;
Definition: SEScalarEnergy.h:8
Definition: SEScalarFrequency.h:8
Definition: PBPhysiology.h:24
Definition: SEScalarPower.h:8
Definition: SEScalarPressurePerVolume.h:8
Definition: SEScalarPressureTimePerVolume.h:8
Definition: SEScalarPressure.h:8
Definition: SERespiratoryMechanics.h:8
Definition: SERespiratorySystem.h:25
SEScalarPressureTimePerVolume * m_ExpiratoryRespiratoryResistance
Definition: SERespiratorySystem.h:300
SERespiratoryMechanics * m_Mechanics
Definition: SERespiratorySystem.h:350
SEScalar * m_PhysiologicDeadSpaceTidalVolumeRatio
Definition: SERespiratorySystem.h:322
SEScalarPower * m_TotalPowerOfBreathing
Definition: SERespiratorySystem.h:338
SEScalarVolume * m_ExpiratoryTidalVolume
Definition: SERespiratorySystem.h:301
SEScalarPressure * m_TranspulmonaryPressure
Definition: SERespiratorySystem.h:345
SEScalar * m_SaturationAndFractionOfInspiredOxygenRatio
Definition: SERespiratorySystem.h:331
SEScalarVolumePerTime * m_ExpiratoryFlow
Definition: SERespiratorySystem.h:299
SEScalarPressure * m_TotalPositiveEndExpiratoryPressure
Definition: SERespiratorySystem.h:337
SEScalarEnergy * m_ImposedWorkOfBreathing
Definition: SERespiratorySystem.h:305
SEScalarPressure * m_AlveolarArterialGradient
Definition: SERespiratorySystem.h:289
SEScalarPressure * m_HorowitzIndex
Definition: SERespiratorySystem.h:292
SEScalarVolume * m_AnatomicDeadSpace
Definition: SERespiratorySystem.h:291
SEScalarVolume * m_RelativeTotalLungVolume
Definition: SERespiratorySystem.h:325
SEScalarPressure * m_ExtrinsicPositiveEndExpiratoryPressure
Definition: SERespiratorySystem.h:302
SEScalarEnergy * m_PatientWorkOfBreathing
Definition: SERespiratorySystem.h:319
SEScalarVolumePerTime * m_TotalPulmonaryVentilation
Definition: SERespiratorySystem.h:339
SEScalarPressure * m_RespiratoryMusclePressure
Definition: SERespiratorySystem.h:330
SEScalarPressure * m_TransairwayPressure
Definition: SERespiratorySystem.h:341
SEScalarEnergy * m_ElasticWorkOfBreathing
Definition: SERespiratorySystem.h:294
SEScalarVolume * m_AlveolarDeadSpace
Definition: SERespiratorySystem.h:290
SEScalarVolumePerPressure * m_RespiratoryCompliance
Definition: SERespiratorySystem.h:323
SEScalarPressure * m_MeanAirwayPressure
Definition: SERespiratorySystem.h:315
SEScalarPressure * m_MaximalInspiratoryPressure
Definition: SERespiratorySystem.h:314
SEScalarEnergy * m_ResistiveExpiratoryWorkOfBreathing
Definition: SERespiratorySystem.h:326
SEScalarPressure * m_AirwayPressure
Definition: SERespiratorySystem.h:288
SEScalarEnergy * m_TotalWorkOfBreathing
Definition: SERespiratorySystem.h:340
SEScalarPressure * m_TransMusclePressure
Definition: SERespiratorySystem.h:344
SEScalarPressure * m_EndTidalOxygenPressure
Definition: SERespiratorySystem.h:298
SEScalar * m_OxygenationIndex
Definition: SERespiratorySystem.h:316
SEScalarPressurePerVolume * m_RespiratoryElastance
Definition: SERespiratorySystem.h:324
SEScalar0To1 * m_FractionOfInspiredOxygen
Definition: SERespiratorySystem.h:303
SEScalarVolumePerPressure * m_ChestWallCompliance
Definition: SERespiratorySystem.h:293
SEScalarPressureTimePerVolume * m_InspiratoryRespiratoryResistance
Definition: SERespiratorySystem.h:308
SEScalarVolume * m_InspiratoryTidalVolume
Definition: SERespiratorySystem.h:309
SEScalarVolumePerTime * m_TotalAlveolarVentilation
Definition: SERespiratorySystem.h:334
SEScalar0To1 * m_EndTidalOxygenFraction
Definition: SERespiratorySystem.h:297
SEScalarVolume * m_PhysiologicDeadSpace
Definition: SERespiratorySystem.h:321
SEScalarPressure * m_TransChestWallPressure
Definition: SERespiratorySystem.h:343
SEScalarPressure * m_TransrespiratoryPressure
Definition: SERespiratorySystem.h:346
SEScalar0To1 * m_EndTidalCarbonDioxideFraction
Definition: SERespiratorySystem.h:295
SEScalarPressure * m_IntrinsicPositiveEndExpiratoryPressure
Definition: SERespiratorySystem.h:312
SEScalarPressure * m_IntrapleuralPressure
Definition: SERespiratorySystem.h:310
SEScalarPressure * m_IntrapulmonaryPressure
Definition: SERespiratorySystem.h:311
SEScalar * m_InspiratoryExpiratoryRatio
Definition: SERespiratorySystem.h:306
SEScalar0To1 * m_RespiratoryMuscleFatigue
Definition: SERespiratorySystem.h:329
SEScalarVolumePerTime * m_TotalDeadSpaceVentilation
Definition: SERespiratorySystem.h:335
SEScalarPower * m_ImposedPowerOfBreathing
Definition: SERespiratorySystem.h:304
SEScalarFrequency * m_RespirationRate
Definition: SERespiratorySystem.h:328
SEScalarVolumePerPressure * m_LungCompliance
Definition: SERespiratorySystem.h:313
SEScalarPressure * m_TransalveolarPressure
Definition: SERespiratorySystem.h:342
SEScalarVolumePerTime * m_InspiratoryFlow
Definition: SERespiratorySystem.h:307
SEScalarVolume * m_TidalVolume
Definition: SERespiratorySystem.h:333
SEScalarPressure * m_PeakInspiratoryPressure
Definition: SERespiratorySystem.h:320
SEScalarPressure * m_EndTidalCarbonDioxidePressure
Definition: SERespiratorySystem.h:296
SEScalarPower * m_PatientPowerOfBreathing
Definition: SERespiratorySystem.h:318
SEScalar * m_SpecificVentilation
Definition: SERespiratorySystem.h:332
SEScalarEnergy * m_ResistiveInspiratoryWorkOfBreathing
Definition: SERespiratorySystem.h:327
SEScalarVolume * m_TotalLungVolume
Definition: SERespiratorySystem.h:336
SEScalarPressure * m_OxygenSaturationIndex
Definition: SERespiratorySystem.h:317
SEScalarPressure * m_TransthoracicPressure
Definition: SERespiratorySystem.h:347
SEScalar * m_VentilationPerfusionRatio
Definition: SERespiratorySystem.h:348
Definition: SEScalar0To1.h:8
Definition: SEScalarEnergy.h:27
Definition: SEScalarFrequency.h:26
Definition: SEScalar.h:19
Definition: SEScalarPower.h:29
Definition: SEScalarPressure.h:29
Definition: SEScalarPressurePerVolume.h:26
Definition: SEScalarPressureTimePerVolume.h:29
Definition: SEScalarVolume.h:28
Definition: SEScalarVolumePerPressure.h:28
Definition: SEScalarVolumePerTime.h:32
virtual const SEScalar * GetScalar(const std::string &name)=0
virtual void Clear()
Definition: SESystem.cpp:17
Definition: SEScalarVolumePerPressure.h:8
Definition: SEScalarVolumePerTime.h:8
Definition: SEScalarVolume.h:8