SEBloodChemistrySystem.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
9class CDM_DECL SEBloodChemistrySystem : public SESystem
10{
11 friend class PBPhysiology;//friend the serialization class
12public:
13
16
17 void Clear() override;
19 const SEScalar* GetScalar(const std::string& name) override; //@{ @copybrief Physiology_BloodChemistrySystemData_BloodDensity
22 virtual bool HasBloodDensity() const;
23 virtual SEScalarMassPerVolume& GetBloodDensity();
24 virtual double GetBloodDensity(const MassPerVolumeUnit& unit) const; //@}
25
30 virtual bool HasBaseExcess() const;
32 virtual SEScalarAmountPerVolume& GetBaseExcess();
33 virtual double GetBaseExcess(const AmountPerVolumeUnit& unit) const;
35
40 virtual bool HasBloodPH() const;
42 virtual SEScalar& GetBloodPH();
43 virtual double GetBloodPH() const;
45
50 virtual bool HasBloodSpecificHeat() const;
52 virtual SEScalarHeatCapacitancePerMass& GetBloodSpecificHeat();
53 virtual double GetBloodSpecificHeat(const HeatCapacitancePerMassUnit& unit) const;
55
60 virtual bool HasBloodUreaNitrogenConcentration() const;
62 virtual SEScalarMassPerVolume& GetBloodUreaNitrogenConcentration();
63 virtual double GetBloodUreaNitrogenConcentration(const MassPerVolumeUnit& unit) const;
65
70 virtual bool HasCarbonDioxideSaturation() const;
72 virtual SEScalar0To1& GetCarbonDioxideSaturation();
73 virtual double GetCarbonDioxideSaturation() const;
75
80 virtual bool HasCarbonMonoxideSaturation() const;
82 virtual SEScalar0To1& GetCarbonMonoxideSaturation();
83 virtual double GetCarbonMonoxideSaturation() const;
85
90 virtual bool HasHematocrit() const;
92 virtual SEScalar0To1& GetHematocrit();
93 virtual double GetHematocrit() const;
95
100 virtual bool HasHemoglobinContent() const;
102 virtual SEScalarMass& GetHemoglobinContent();
103 virtual double GetHemoglobinContent(const MassUnit& unit) const;
105
110 virtual bool HasOxygenSaturation() const;
112 virtual SEScalar0To1& GetOxygenSaturation();
113 virtual double GetOxygenSaturation() const;
115
120 virtual bool HasPhosphate() const;
122 virtual SEScalarAmountPerVolume& GetPhosphate();
123 virtual double GetPhosphate(const AmountPerVolumeUnit& unit) const;
125
126 virtual bool HasPlasmaOsmolality() const;
127 virtual SEScalarOsmolality& GetPlasmaOsmolality();
128 virtual double GetPlasmaOsmolality(const OsmolalityUnit& unit) const;
129
130 virtual bool HasPlasmaOsmolarity() const;
131 virtual SEScalarOsmolarity& GetPlasmaOsmolarity();
132 virtual double GetPlasmaOsmolarity(const OsmolarityUnit& unit) const;
133
138 virtual bool HasPlasmaVolume() const;
140 virtual SEScalarVolume& GetPlasmaVolume();
141 virtual double GetPlasmaVolume(const VolumeUnit& unit) const;
143
148 virtual bool HasPulseOximetry() const;
150 virtual SEScalar0To1& GetPulseOximetry();
151 virtual double GetPulseOximetry() const;
153
158 virtual bool HasRedBloodCellCount() const;
160 virtual SEScalarAmountPerVolume& GetRedBloodCellCount();
161 virtual double GetRedBloodCellCount(const AmountPerVolumeUnit& unit) const;
163
168 virtual bool HasStrongIonDifference() const;
170 virtual SEScalarAmountPerVolume& GetStrongIonDifference();
171 virtual double GetStrongIonDifference(const AmountPerVolumeUnit& unit) const;
173
178 virtual bool HasShuntFraction() const;
180 virtual SEScalar0To1& GetShuntFraction();
181 virtual double GetShuntFraction() const;
183
188 virtual bool HasTotalProteinConcentration() const;
190 virtual SEScalarMassPerVolume& GetTotalProteinConcentration();
191 virtual double GetTotalProteinConcentration(const MassPerVolumeUnit& unit) const;
193
198 virtual bool HasVolumeFractionNeutralPhospholipidInPlasma() const;
200 virtual SEScalar0To1& GetVolumeFractionNeutralPhospholipidInPlasma();
201 virtual double GetVolumeFractionNeutralPhospholipidInPlasma() const;
203
208 virtual bool HasVolumeFractionNeutralLipidInPlasma() const;
210 virtual SEScalar0To1& GetVolumeFractionNeutralLipidInPlasma();
211 virtual double GetVolumeFractionNeutralLipidInPlasma() const;
213
218 virtual bool HasWhiteBloodCellCount() const;
220 virtual SEScalarAmountPerVolume& GetWhiteBloodCellCount();
221 virtual double GetWhiteBloodCellCount(const AmountPerVolumeUnit& unit) const;
223
228 virtual bool HasArterialCarbonDioxidePressure() const;
230 virtual SEScalarPressure& GetArterialCarbonDioxidePressure();
231 virtual double GetArterialCarbonDioxidePressure(const PressureUnit& unit) const;
233
238 virtual bool HasArterialOxygenPressure() const;
240 virtual SEScalarPressure& GetArterialOxygenPressure();
241 virtual double GetArterialOxygenPressure(const PressureUnit& unit) const;
243
248 virtual bool HasPulmonaryArterialCarbonDioxidePressure() const;
250 virtual SEScalarPressure& GetPulmonaryArterialCarbonDioxidePressure();
251 virtual double GetPulmonaryArterialCarbonDioxidePressure(const PressureUnit& unit) const;
253
258 virtual bool HasPulmonaryArterialOxygenPressure() const;
260 virtual SEScalarPressure& GetPulmonaryArterialOxygenPressure();
261 virtual double GetPulmonaryArterialOxygenPressure(const PressureUnit& unit) const;
263
268 virtual bool HasPulmonaryVenousCarbonDioxidePressure() const;
270 virtual SEScalarPressure& GetPulmonaryVenousCarbonDioxidePressure();
271 virtual double GetPulmonaryVenousCarbonDioxidePressure(const PressureUnit& unit) const;
273
278 virtual bool HasPulmonaryVenousOxygenPressure() const;
280 virtual SEScalarPressure& GetPulmonaryVenousOxygenPressure();
281 virtual double GetPulmonaryVenousOxygenPressure(const PressureUnit& unit) const;
283
288 virtual bool HasVenousCarbonDioxidePressure() const;
290 virtual SEScalarPressure& GetVenousCarbonDioxidePressure();
291 virtual double GetVenousCarbonDioxidePressure(const PressureUnit& unit) const;
293
297 virtual bool HasVenousOxygenPressure() const;
299 virtual SEScalarPressure& GetVenousOxygenPressure();
300 virtual double GetVenousOxygenPressure(const PressureUnit& unit) const;
302
303
304protected:
327
336};
Definition: SEScalarAmountPerVolume.h:8
Definition: SEScalarHeatCapacitancePerMass.h:8
Definition: Logger.h:71
Definition: SEScalarMassPerVolume.h:8
Definition: SEScalarMass.h:8
Definition: SEScalarOsmolality.h:8
Definition: SEScalarOsmolarity.h:8
Definition: PBPhysiology.h:24
Definition: SEScalarPressure.h:8
Definition: SEBloodChemistrySystem.h:10
SEScalarPressure * m_PulmonaryVenousOxygenPressure
Test if member has been allocated
Definition: SEBloodChemistrySystem.h:333
SEScalar0To1 * m_CarbonMonoxideSaturation
Test if member has been allocated
Definition: SEBloodChemistrySystem.h:311
SEScalar0To1 * m_Hematocrit
Test if member has been allocated
Definition: SEBloodChemistrySystem.h:312
SEScalarPressure * m_ArterialOxygenPressure
Test if member has been allocated
Definition: SEBloodChemistrySystem.h:329
SEScalar0To1 * m_CarbonDioxideSaturation
Test if member has been allocated
Definition: SEBloodChemistrySystem.h:310
SEScalarMassPerVolume * m_BloodUreaNitrogenConcentration
Test if member has been allocated
Definition: SEBloodChemistrySystem.h:309
SEScalar * m_BloodPH
Test if member has been allocated
Definition: SEBloodChemistrySystem.h:307
SEScalarPressure * m_VenousCarbonDioxidePressure
Test if member has been allocated
Definition: SEBloodChemistrySystem.h:334
SEScalar0To1 * m_PulseOximetry
Test if member has been allocated
Definition: SEBloodChemistrySystem.h:319
SEScalarMassPerVolume * m_BloodDensity
Test if member has been allocated
Definition: SEBloodChemistrySystem.h:306
SEScalar0To1 * m_VolumeFractionNeutralPhospholipidInPlasma
Test if member has been allocated
Definition: SEBloodChemistrySystem.h:324
SEScalar0To1 * m_OxygenSaturation
Test if member has been allocated
Definition: SEBloodChemistrySystem.h:314
SEScalarPressure * m_PulmonaryArterialOxygenPressure
Test if member has been allocated
Definition: SEBloodChemistrySystem.h:331
SEScalarOsmolarity * m_PlasmaOsmolarity
Test if member has been allocated
Definition: SEBloodChemistrySystem.h:317
SEScalarAmountPerVolume * m_RedBloodCellCount
Test if member has been allocated
Definition: SEBloodChemistrySystem.h:320
SEScalar0To1 * m_ShuntFraction
Test if member has been allocated
Definition: SEBloodChemistrySystem.h:321
SEScalarMassPerVolume * m_TotalProteinConcentration
Test if member has been allocated
Definition: SEBloodChemistrySystem.h:323
SEScalarPressure * m_PulmonaryArterialCarbonDioxidePressure
Test if member has been allocated
Definition: SEBloodChemistrySystem.h:330
SEScalar0To1 * m_VolumeFractionNeutralLipidInPlasma
Test if member has been allocated
Definition: SEBloodChemistrySystem.h:325
SEScalarAmountPerVolume * m_Phosphate
Test if member has been allocated
Definition: SEBloodChemistrySystem.h:315
SEScalarAmountPerVolume * m_WhiteBloodCellCount
Test if member has been allocated
Definition: SEBloodChemistrySystem.h:326
SEScalarHeatCapacitancePerMass * m_BloodSpecificHeat
Test if member has been allocated
Definition: SEBloodChemistrySystem.h:308
SEScalarAmountPerVolume * m_StrongIonDifference
Test if member has been allocated
Definition: SEBloodChemistrySystem.h:322
SEScalarMass * m_HemoglobinContent
Test if member has been allocated
Definition: SEBloodChemistrySystem.h:313
SEScalarPressure * m_ArterialCarbonDioxidePressure
Test if member has been allocated
Definition: SEBloodChemistrySystem.h:328
SEScalarPressure * m_PulmonaryVenousCarbonDioxidePressure
Test if member has been allocated
Definition: SEBloodChemistrySystem.h:332
SEScalarPressure * m_VenousOxygenPressure
Test if member has been allocated
Definition: SEBloodChemistrySystem.h:335
SEScalarOsmolality * m_PlasmaOsmolality
Test if member has been allocated
Definition: SEBloodChemistrySystem.h:316
SEScalarVolume * m_PlasmaVolume
Test if member has been allocated
Definition: SEBloodChemistrySystem.h:318
SEScalarAmountPerVolume * m_BaseExcess
Test if member has been allocated
Definition: SEBloodChemistrySystem.h:305
Definition: SEScalar0To1.h:8
Definition: SEScalarAmountPerVolume.h:31
Definition: SEScalarHeatCapacitancePerMass.h:27
Definition: SEScalar.h:19
Definition: SEScalarMass.h:28
Definition: SEScalarMassPerVolume.h:37
Definition: SEScalarOsmolality.h:25
Definition: SEScalarOsmolarity.h:25
Definition: SEScalarPressure.h:29
Definition: SEScalarVolume.h:28
Definition: SESystem.h:8
virtual const SEScalar * GetScalar(const std::string &name)=0
virtual void Clear()
Definition: SESystem.cpp:17
Definition: SEScalarVolume.h:8

Distributed under the Apache License, Version 2.0.

See accompanying NOTICE file for details.