SERespiratorySystem.h
1/* Distributed under the Apache License, Version 2.0.
2 See accompanying NOTICE file for details.*/
3
4#pragma once
5#include "cdm/system/SESystem.h"
6#include "cdm/system/physiology/SERespiratoryMechanics.h"
7
8class CDM_DECL SERespiratorySystem : public SESystem
9{
10 friend class PBPhysiology;//friend the serialization class
11public:
12
14 virtual ~SERespiratorySystem();
15
16 virtual void Clear();
17
18 virtual const SEScalar* GetScalar(const std::string& name);
19
20 virtual bool HasAirwayPressure() const;
21 virtual SEScalarPressure& GetAirwayPressure();
22 virtual double GetAirwayPressure(const PressureUnit& unit) const;
23
24 virtual bool HasAlveolarArterialGradient() const;
25 virtual SEScalarPressure& GetAlveolarArterialGradient();
26 virtual double GetAlveolarArterialGradient(const PressureUnit& unit) const;
27
28 virtual bool HasAlveolarDeadSpace() const;
29 virtual SEScalarVolume& GetAlveolarDeadSpace();
30 virtual double GetAlveolarDeadSpace(const VolumeUnit& unit) const;
31
32 virtual bool HasAnatomicDeadSpace() const;
33 virtual SEScalarVolume& GetAnatomicDeadSpace();
34 virtual double GetAnatomicDeadSpace(const VolumeUnit& unit) const;
35
36 virtual bool HasHorowitzIndex() const;
37 virtual SEScalarPressure& GetHorowitzIndex();
38 virtual double GetHorowitzIndex(const PressureUnit& unit) const;
39
40 virtual bool HasChestWallCompliance() const;
41 virtual SEScalarVolumePerPressure& GetChestWallCompliance();
42 virtual double GetChestWallCompliance(const VolumePerPressureUnit& unit) const;
43
44 virtual bool HasElasticWorkOfBreathing() const;
45 virtual SEScalarEnergy& GetElasticWorkOfBreathing();
46 virtual double GetElasticWorkOfBreathing(const EnergyUnit& unit) const;
47
48 virtual bool HasEndTidalCarbonDioxideFraction() const;
49 virtual SEScalar0To1& GetEndTidalCarbonDioxideFraction();
50 virtual double GetEndTidalCarbonDioxideFraction() const;
51
52 virtual bool HasEndTidalCarbonDioxidePressure() const;
53 virtual SEScalarPressure& GetEndTidalCarbonDioxidePressure();
54 virtual double GetEndTidalCarbonDioxidePressure(const PressureUnit& unit) const;
55
56 virtual bool HasEndTidalOxygenFraction() const;
57 virtual SEScalar0To1& GetEndTidalOxygenFraction();
58 virtual double GetEndTidalOxygenFraction() const;
59
60 virtual bool HasEndTidalOxygenPressure() const;
61 virtual SEScalarPressure& GetEndTidalOxygenPressure();
62 virtual double GetEndTidalOxygenPressure(const PressureUnit& unit) const;
63
64 virtual bool HasExpiratoryFlow() const;
65 virtual SEScalarVolumePerTime& GetExpiratoryFlow();
66 virtual double GetExpiratoryFlow(const VolumePerTimeUnit& unit) const;
67
68 virtual bool HasExpiratoryPulmonaryResistance() const;
69 virtual SEScalarPressureTimePerVolume& GetExpiratoryPulmonaryResistance();
70 virtual double GetExpiratoryPulmonaryResistance(const PressureTimePerVolumeUnit& unit) const;
71
72 virtual bool HasExpiratoryTidalVolume() const;
73 virtual SEScalarVolume& GetExpiratoryTidalVolume();
74 virtual double GetExpiratoryTidalVolume(const VolumeUnit& unit) const;
75
76 virtual bool HasFractionOfInsipredOxygen() const;
77 virtual SEScalar0To1& GetFractionOfInsipredOxygen();
78 virtual double GetFractionOfInsipredOxygen() const;
79
80 virtual bool HasImposedPowerOfBreathing() const;
81 virtual SEScalarPower& GetImposedPowerOfBreathing();
82 virtual double GetImposedPowerOfBreathing(const PowerUnit& unit) const;
83
84 virtual bool HasImposedWorkOfBreathing() const;
85 virtual SEScalarEnergy& GetImposedWorkOfBreathing();
86 virtual double GetImposedWorkOfBreathing(const EnergyUnit& unit) const;
87
88 virtual bool HasInspiratoryExpiratoryRatio() const;
89 virtual SEScalar& GetInspiratoryExpiratoryRatio();
90 virtual double GetInspiratoryExpiratoryRatio() const;
91
92 virtual bool HasInspiratoryFlow() const;
93 virtual SEScalarVolumePerTime& GetInspiratoryFlow();
94 virtual double GetInspiratoryFlow(const VolumePerTimeUnit& unit) const;
95
96 virtual bool HasInspiratoryPulmonaryResistance() const;
97 virtual SEScalarPressureTimePerVolume& GetInspiratoryPulmonaryResistance();
98 virtual double GetInspiratoryPulmonaryResistance(const PressureTimePerVolumeUnit& unit) const;
99
100 virtual bool HasInspiratoryTidalVolume() const;
101 virtual SEScalarVolume& GetInspiratoryTidalVolume();
102 virtual double GetInspiratoryTidalVolume(const VolumeUnit& unit) const;
103
104 virtual bool HasIntrapleuralPressure() const;
105 virtual SEScalarPressure& GetIntrapleuralPressure();
106 virtual double GetIntrapleuralPressure(const PressureUnit& unit) const;
107
108 virtual bool HasIntrapulmonaryPressure() const;
109 virtual SEScalarPressure& GetIntrapulmonaryPressure();
110 virtual double GetIntrapulmonaryPressure(const PressureUnit& unit) const;
111
112 virtual bool HasIntrinsicPositiveEndExpiredPressure() const;
113 virtual SEScalarPressure& GetIntrinsicPositiveEndExpiredPressure();
114 virtual double GetIntrinsicPositiveEndExpiredPressure(const PressureUnit& unit) const;
115
116 virtual bool HasLungCompliance() const;
117 virtual SEScalarVolumePerPressure& GetLungCompliance();
118 virtual double GetLungCompliance(const VolumePerPressureUnit& unit) const;
119
120 virtual bool HasMaximalInspiratoryPressure() const;
121 virtual SEScalarPressure& GetMaximalInspiratoryPressure();
122 virtual double GetMaximalInspiratoryPressure(const PressureUnit& unit) const;
123
124 virtual bool HasMeanAirwayPressure() const;
125 virtual SEScalarPressure& GetMeanAirwayPressure();
126 virtual double GetMeanAirwayPressure(const PressureUnit& unit) const;
127
128 virtual bool HasOxygenationIndex() const;
129 virtual SEScalar& GetOxygenationIndex();
130 virtual double GetOxygenationIndex() const;
131
132 virtual bool HasOxygenSaturationIndex() const;
133 virtual SEScalarPressure& GetOxygenSaturationIndex();
134 virtual double GetOxygenSaturationIndex(const PressureUnit& unit) const;
135
136 virtual bool HasPatientPowerOfBreathing() const;
137 virtual SEScalarPower& GetPatientPowerOfBreathing();
138 virtual double GetPatientPowerOfBreathing(const PowerUnit& unit) const;
139
140 virtual bool HasPatientWorkOfBreathing() const;
141 virtual SEScalarEnergy& GetPatientWorkOfBreathing();
142 virtual double GetPatientWorkOfBreathing(const EnergyUnit& unit) const;
143
144 virtual bool HasPeakInspiratoryPressure() const;
145 virtual SEScalarPressure& GetPeakInspiratoryPressure();
146 virtual double GetPeakInspiratoryPressure(const PressureUnit& unit) const;
147
148 virtual bool HasPhysiologicDeadSpace() const;
149 virtual SEScalarVolume& GetPhysiologicDeadSpace();
150 virtual double GetPhysiologicDeadSpace(const VolumeUnit& unit) const;
151
152 virtual bool HasPhysiologicDeadSpaceTidalVolumeRatio() const;
153 virtual SEScalar& GetPhysiologicDeadSpaceTidalVolumeRatio();
154 virtual double GetPhysiologicDeadSpaceTidalVolumeRatio() const;
155
156 virtual bool HasPositiveEndExpiratoryPressure() const;
157 virtual SEScalarPressure& GetPositiveEndExpiratoryPressure();
158 virtual double GetPositiveEndExpiratoryPressure(const PressureUnit& unit) const;
159
160 virtual bool HasPulmonaryCompliance() const;
161 virtual SEScalarVolumePerPressure& GetPulmonaryCompliance();
162 virtual double GetPulmonaryCompliance(const VolumePerPressureUnit& unit) const;
163
164 virtual bool HasPulmonaryElastance() const;
165 virtual SEScalarPressurePerVolume& GetPulmonaryElastance();
166 virtual double GetPulmonaryElastance(const PressurePerVolumeUnit& unit) const;
167
168 virtual bool HasRelativeTotalLungVolume() const;
169 virtual SEScalarVolume& GetRelativeTotalLungVolume();
170 virtual double GetRelativeTotalLungVolume(const VolumeUnit& unit) const;
171
172 virtual bool HasResistiveExpiratoryWorkOfBreathing() const;
173 virtual SEScalarEnergy& GetResistiveExpiratoryWorkOfBreathing();
174 virtual double GetResistiveExpiratoryWorkOfBreathing(const EnergyUnit& unit) const;
175
176 virtual bool HasResistiveInspiratoryWorkOfBreathing() const;
177 virtual SEScalarEnergy& GetResistiveInspiratoryWorkOfBreathing();
178 virtual double GetResistiveInspiratoryWorkOfBreathing(const EnergyUnit& unit) const;
179
180 virtual bool HasRespirationRate() const;
181 virtual SEScalarFrequency& GetRespirationRate();
182 virtual double GetRespirationRate(const FrequencyUnit& unit) const;
183
184 virtual bool HasRespiratoryMuscleFatigue() const;
185 virtual SEScalar0To1& GetRespiratoryMuscleFatigue();
186 virtual double GetRespiratoryMuscleFatigue() const;
187
188 virtual bool HasRespiratoryMusclePressure() const;
189 virtual SEScalarPressure& GetRespiratoryMusclePressure();
190 virtual double GetRespiratoryMusclePressure(const PressureUnit& unit) const;
191
192 virtual bool HasSaturationAndFractionOfInspiredOxygenRatio() const;
193 virtual SEScalar& GetSaturationAndFractionOfInspiredOxygenRatio();
194 virtual double GetSaturationAndFractionOfInspiredOxygenRatio() const;
195
196 virtual bool HasSpecificVentilation() const;
197 virtual SEScalar& GetSpecificVentilation();
198 virtual double GetSpecificVentilation() const;
199
200 virtual bool HasTidalVolume() const;
201 virtual SEScalarVolume& GetTidalVolume();
202 virtual double GetTidalVolume(const VolumeUnit& unit) const;
203
204 virtual bool HasTotalAlveolarVentilation() const;
205 virtual SEScalarVolumePerTime& GetTotalAlveolarVentilation();
206 virtual double GetTotalAlveolarVentilation(const VolumePerTimeUnit& unit) const;
207
208 virtual bool HasTotalDeadSpaceVentilation() const;
209 virtual SEScalarVolumePerTime& GetTotalDeadSpaceVentilation();
210 virtual double GetTotalDeadSpaceVentilation(const VolumePerTimeUnit& unit) const;
211
212 virtual bool HasTotalLungVolume() const;
213 virtual SEScalarVolume& GetTotalLungVolume();
214 virtual double GetTotalLungVolume(const VolumeUnit& unit) const;
215
216 virtual bool HasTotalPowerOfBreathing() const;
217 virtual SEScalarPower& GetTotalPowerOfBreathing();
218 virtual double GetTotalPowerOfBreathing(const PowerUnit& unit) const;
219
220 virtual bool HasTotalPulmonaryVentilation() const;
221 virtual SEScalarVolumePerTime& GetTotalPulmonaryVentilation();
222 virtual double GetTotalPulmonaryVentilation(const VolumePerTimeUnit& unit) const;
223
224 virtual bool HasTotalWorkOfBreathing() const;
225 virtual SEScalarEnergy& GetTotalWorkOfBreathing();
226 virtual double GetTotalWorkOfBreathing(const EnergyUnit& unit) const;
227
228 virtual bool HasTransairwayPressure() const;
229 virtual SEScalarPressure& GetTransairwayPressure();
230 virtual double GetTransairwayPressure(const PressureUnit& unit) const;
231
232 virtual bool HasTransalveolarPressure() const;
233 virtual SEScalarPressure& GetTransalveolarPressure();
234 virtual double GetTransalveolarPressure(const PressureUnit& unit) const;
235
236 virtual bool HasTransChestWallPressure() const;
237 virtual SEScalarPressure& GetTransChestWallPressure();
238 virtual double GetTransChestWallPressure(const PressureUnit& unit) const;
239
240 virtual bool HasTransMusclePressure() const;
241 virtual SEScalarPressure& GetTransMusclePressure();
242 virtual double GetTransMusclePressure(const PressureUnit& unit) const;
243
244 virtual bool HasTranspulmonaryPressure() const;
245 virtual SEScalarPressure& GetTranspulmonaryPressure();
246 virtual double GetTranspulmonaryPressure(const PressureUnit& unit) const;
247
248 virtual bool HasTransrespiratoryPressure() const;
249 virtual SEScalarPressure& GetTransrespiratoryPressure();
250 virtual double GetTransrespiratoryPressure(const PressureUnit& unit) const;
251
252 virtual bool HasTransthoracicPressure() const;
253 virtual SEScalarPressure& GetTransthoracicPressure();
254 virtual double GetTransthoracicPressure(const PressureUnit& unit) const;
255
256 virtual bool HasVentilationPerfusionRatio() const;
257 virtual SEScalar& GetVentilationPerfusionRatio();
258 virtual double GetVentilationPerfusionRatio() const;
259
260 virtual bool HasActiveRespiratoryMechanics() const;
261 virtual bool HasRespiratoryMechanics() const;
262 virtual SERespiratoryMechanics& GetRespiratoryMechanics();
263 virtual const SERespiratoryMechanics* GetRespiratoryMechanics() const;
264
265protected:
266
327
329};
Definition: SEScalarEnergy.h:8
Definition: SEScalarFrequency.h:8
Definition: Logger.h:71
Definition: PBPhysiology.h:22
Definition: SEScalarPower.h:8
Definition: SEScalarPressurePerVolume.h:8
Definition: SEScalarPressureTimePerVolume.h:8
Definition: SEScalarPressure.h:8
Definition: SERespiratoryMechanics.h:8
Definition: SERespiratorySystem.h:9
SEScalarPressurePerVolume * m_PulmonaryElastance
Definition: SERespiratorySystem.h:303
SEScalarPressureTimePerVolume * m_InspiratoryPulmonaryResistance
Definition: SERespiratorySystem.h:286
SEScalar * m_PhysiologicDeadSpaceTidalVolumeRatio
Definition: SERespiratorySystem.h:300
SEScalarPower * m_TotalPowerOfBreathing
Definition: SERespiratorySystem.h:316
SEScalarVolume * m_ExpiratoryTidalVolume
Definition: SERespiratorySystem.h:280
SEScalarPressure * m_TranspulmonaryPressure
Definition: SERespiratorySystem.h:323
SEScalar * m_SaturationAndFractionOfInspiredOxygenRatio
Definition: SERespiratorySystem.h:310
SERespiratoryMechanics * m_RespiratoryMechanics
Definition: SERespiratorySystem.h:328
SEScalarVolumePerTime * m_ExpiratoryFlow
Definition: SERespiratorySystem.h:278
SEScalarEnergy * m_ImposedWorkOfBreathing
Definition: SERespiratorySystem.h:283
SEScalarPressure * m_AlveolarArterialGradient
Definition: SERespiratorySystem.h:268
SEScalarPressure * m_HorowitzIndex
Definition: SERespiratorySystem.h:271
SEScalarVolume * m_AnatomicDeadSpace
Definition: SERespiratorySystem.h:270
SEScalarVolume * m_RelativeTotalLungVolume
Definition: SERespiratorySystem.h:304
SEScalarEnergy * m_PatientWorkOfBreathing
Definition: SERespiratorySystem.h:297
SEScalarVolumePerTime * m_TotalPulmonaryVentilation
Definition: SERespiratorySystem.h:317
SEScalarPressure * m_RespiratoryMusclePressure
Definition: SERespiratorySystem.h:309
SEScalarPressure * m_TransairwayPressure
Definition: SERespiratorySystem.h:319
SEScalarEnergy * m_ElasticWorkOfBreathing
Definition: SERespiratorySystem.h:273
SEScalarVolume * m_AlveolarDeadSpace
Definition: SERespiratorySystem.h:269
SEScalarPressure * m_MeanAirwayPressure
Definition: SERespiratorySystem.h:293
SEScalarPressure * m_MaximalInspiratoryPressure
Definition: SERespiratorySystem.h:292
SEScalarEnergy * m_ResistiveExpiratoryWorkOfBreathing
Definition: SERespiratorySystem.h:305
SEScalarPressure * m_AirwayPressure
Definition: SERespiratorySystem.h:267
SEScalarEnergy * m_TotalWorkOfBreathing
Definition: SERespiratorySystem.h:318
SEScalarPressure * m_TransMusclePressure
Definition: SERespiratorySystem.h:322
SEScalarPressure * m_EndTidalOxygenPressure
Definition: SERespiratorySystem.h:277
SEScalar * m_OxygenationIndex
Definition: SERespiratorySystem.h:294
SEScalarVolumePerPressure * m_ChestWallCompliance
Definition: SERespiratorySystem.h:272
SEScalarVolumePerPressure * m_PulmonaryCompliance
Definition: SERespiratorySystem.h:302
SEScalarVolume * m_InspiratoryTidalVolume
Definition: SERespiratorySystem.h:287
SEScalarVolumePerTime * m_TotalAlveolarVentilation
Definition: SERespiratorySystem.h:313
SEScalar0To1 * m_EndTidalOxygenFraction
Definition: SERespiratorySystem.h:276
SEScalarVolume * m_PhysiologicDeadSpace
Definition: SERespiratorySystem.h:299
SEScalarPressure * m_TransChestWallPressure
Definition: SERespiratorySystem.h:321
SEScalarPressure * m_TransrespiratoryPressure
Definition: SERespiratorySystem.h:324
SEScalarPressure * m_PositiveEndExpiratoryPressure
Definition: SERespiratorySystem.h:301
SEScalarPressureTimePerVolume * m_ExpiratoryPulmonaryResistance
Definition: SERespiratorySystem.h:279
SEScalar0To1 * m_EndTidalCarbonDioxideFraction
Definition: SERespiratorySystem.h:274
SEScalarPressure * m_IntrapleuralPressure
Definition: SERespiratorySystem.h:288
SEScalarPressure * m_IntrapulmonaryPressure
Definition: SERespiratorySystem.h:289
SEScalar * m_InspiratoryExpiratoryRatio
Definition: SERespiratorySystem.h:284
SEScalar0To1 * m_RespiratoryMuscleFatigue
Definition: SERespiratorySystem.h:308
SEScalarVolumePerTime * m_TotalDeadSpaceVentilation
Definition: SERespiratorySystem.h:314
SEScalar0To1 * m_FractionOfInsipredOxygen
Definition: SERespiratorySystem.h:281
SEScalarPower * m_ImposedPowerOfBreathing
Definition: SERespiratorySystem.h:282
SEScalarFrequency * m_RespirationRate
Definition: SERespiratorySystem.h:307
SEScalarVolumePerPressure * m_LungCompliance
Definition: SERespiratorySystem.h:291
SEScalarPressure * m_TransalveolarPressure
Definition: SERespiratorySystem.h:320
SEScalarVolumePerTime * m_InspiratoryFlow
Definition: SERespiratorySystem.h:285
SEScalarVolume * m_TidalVolume
Definition: SERespiratorySystem.h:312
SEScalarPressure * m_PeakInspiratoryPressure
Definition: SERespiratorySystem.h:298
SEScalarPressure * m_IntrinsicPositiveEndExpiredPressure
Definition: SERespiratorySystem.h:290
SEScalarPressure * m_EndTidalCarbonDioxidePressure
Definition: SERespiratorySystem.h:275
SEScalarPower * m_PatientPowerOfBreathing
Definition: SERespiratorySystem.h:296
SEScalar * m_SpecificVentilation
Definition: SERespiratorySystem.h:311
SEScalarEnergy * m_ResistiveInspiratoryWorkOfBreathing
Definition: SERespiratorySystem.h:306
SEScalarVolume * m_TotalLungVolume
Definition: SERespiratorySystem.h:315
SEScalarPressure * m_OxygenSaturationIndex
Definition: SERespiratorySystem.h:295
SEScalarPressure * m_TransthoracicPressure
Definition: SERespiratorySystem.h:325
SEScalar * m_VentilationPerfusionRatio
Definition: SERespiratorySystem.h:326
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:31
Definition: SESystem.h:8
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

Distributed under the Apache License, Version 2.0.

See accompanying NOTICE file for details.