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 virtual void Clear();
19 virtual const SEScalar* GetScalar(const std::string& name); //@{ @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 HasBloodPH() const;
32 virtual SEScalar& GetBloodPH();
33 virtual double GetBloodPH() const;
35
40 virtual bool HasBloodSpecificHeat() const;
42 virtual SEScalarHeatCapacitancePerMass& GetBloodSpecificHeat();
43 virtual double GetBloodSpecificHeat(const HeatCapacitancePerMassUnit& unit) const;
45
50 virtual bool HasBloodUreaNitrogenConcentration() const;
52 virtual SEScalarMassPerVolume& GetBloodUreaNitrogenConcentration();
53 virtual double GetBloodUreaNitrogenConcentration(const MassPerVolumeUnit& unit) const;
55
60 virtual bool HasCarbonDioxideSaturation() const;
62 virtual SEScalar0To1& GetCarbonDioxideSaturation();
63 virtual double GetCarbonDioxideSaturation() const;
65
70 virtual bool HasCarbonMonoxideSaturation() const;
72 virtual SEScalar0To1& GetCarbonMonoxideSaturation();
73 virtual double GetCarbonMonoxideSaturation() const;
75
80 virtual bool HasHematocrit() const;
82 virtual SEScalar0To1& GetHematocrit();
83 virtual double GetHematocrit() const;
85
90 virtual bool HasHemoglobinContent() const;
92 virtual SEScalarMass& GetHemoglobinContent();
93 virtual double GetHemoglobinContent(const MassUnit& unit) const;
95
100 virtual bool HasOxygenSaturation() const;
102 virtual SEScalar0To1& GetOxygenSaturation();
103 virtual double GetOxygenSaturation() const;
105
110 virtual bool HasPhosphate() const;
112 virtual SEScalarAmountPerVolume& GetPhosphate();
113 virtual double GetPhosphate(const AmountPerVolumeUnit& unit) const;
115
120 virtual bool HasPlasmaVolume() const;
122 virtual SEScalarVolume& GetPlasmaVolume();
123 virtual double GetPlasmaVolume(const VolumeUnit& unit) const;
125
130 virtual bool HasPulseOximetry() const;
132 virtual SEScalar0To1& GetPulseOximetry();
133 virtual double GetPulseOximetry() const;
135
140 virtual bool HasRedBloodCellCount() const;
142 virtual SEScalarAmountPerVolume& GetRedBloodCellCount();
143 virtual double GetRedBloodCellCount(const AmountPerVolumeUnit& unit) const;
145
150 virtual bool HasStrongIonDifference() const;
152 virtual SEScalarAmountPerVolume& GetStrongIonDifference();
153 virtual double GetStrongIonDifference(const AmountPerVolumeUnit& unit) const;
155
160 virtual bool HasShuntFraction() const;
162 virtual SEScalar0To1& GetShuntFraction();
163 virtual double GetShuntFraction() const;
165
170 virtual bool HasTotalProteinConcentration() const;
172 virtual SEScalarMassPerVolume& GetTotalProteinConcentration();
173 virtual double GetTotalProteinConcentration(const MassPerVolumeUnit& unit) const;
175
180 virtual bool HasVolumeFractionNeutralPhospholipidInPlasma() const;
182 virtual SEScalar0To1& GetVolumeFractionNeutralPhospholipidInPlasma();
183 virtual double GetVolumeFractionNeutralPhospholipidInPlasma() const;
185
190 virtual bool HasVolumeFractionNeutralLipidInPlasma() const;
192 virtual SEScalar0To1& GetVolumeFractionNeutralLipidInPlasma();
193 virtual double GetVolumeFractionNeutralLipidInPlasma() const;
195
200 virtual bool HasWhiteBloodCellCount() const;
202 virtual SEScalarAmountPerVolume& GetWhiteBloodCellCount();
203 virtual double GetWhiteBloodCellCount(const AmountPerVolumeUnit& unit) const;
205
210 virtual bool HasArterialCarbonDioxidePressure() const;
212 virtual SEScalarPressure& GetArterialCarbonDioxidePressure();
213 virtual double GetArterialCarbonDioxidePressure(const PressureUnit& unit) const;
215
220 virtual bool HasArterialOxygenPressure() const;
222 virtual SEScalarPressure& GetArterialOxygenPressure();
223 virtual double GetArterialOxygenPressure(const PressureUnit& unit) const;
225
230 virtual bool HasPulmonaryArterialCarbonDioxidePressure() const;
232 virtual SEScalarPressure& GetPulmonaryArterialCarbonDioxidePressure();
233 virtual double GetPulmonaryArterialCarbonDioxidePressure(const PressureUnit& unit) const;
235
240 virtual bool HasPulmonaryArterialOxygenPressure() const;
242 virtual SEScalarPressure& GetPulmonaryArterialOxygenPressure();
243 virtual double GetPulmonaryArterialOxygenPressure(const PressureUnit& unit) const;
245
250 virtual bool HasPulmonaryVenousCarbonDioxidePressure() const;
252 virtual SEScalarPressure& GetPulmonaryVenousCarbonDioxidePressure();
253 virtual double GetPulmonaryVenousCarbonDioxidePressure(const PressureUnit& unit) const;
255
260 virtual bool HasPulmonaryVenousOxygenPressure() const;
262 virtual SEScalarPressure& GetPulmonaryVenousOxygenPressure();
263 virtual double GetPulmonaryVenousOxygenPressure(const PressureUnit& unit) const;
265
270 virtual bool HasVenousCarbonDioxidePressure() const;
272 virtual SEScalarPressure& GetVenousCarbonDioxidePressure();
273 virtual double GetVenousCarbonDioxidePressure(const PressureUnit& unit) const;
275
279 virtual bool HasVenousOxygenPressure() const;
281 virtual SEScalarPressure& GetVenousOxygenPressure();
282 virtual double GetVenousOxygenPressure(const PressureUnit& unit) const;
284
285
286protected:
287
307
316};
Definition: SEScalarAmountPerVolume.h:8
Definition: SEScalarHeatCapacitancePerMass.h:8
Definition: Logger.h:71
Definition: SEScalarMassPerVolume.h:8
Definition: SEScalarMass.h:8
Definition: PBPhysiology.h:22
Definition: SEScalarPressure.h:8
Definition: SEBloodChemistrySystem.h:10
SEScalarPressure * m_PulmonaryVenousOxygenPressure
Test if member has been allocated
Definition: SEBloodChemistrySystem.h:313
SEScalar0To1 * m_CarbonMonoxideSaturation
Test if member has been allocated
Definition: SEBloodChemistrySystem.h:293
SEScalar0To1 * m_Hematocrit
Test if member has been allocated
Definition: SEBloodChemistrySystem.h:294
SEScalarPressure * m_ArterialOxygenPressure
Test if member has been allocated
Definition: SEBloodChemistrySystem.h:309
SEScalar0To1 * m_CarbonDioxideSaturation
Test if member has been allocated
Definition: SEBloodChemistrySystem.h:292
SEScalarMassPerVolume * m_BloodUreaNitrogenConcentration
Test if member has been allocated
Definition: SEBloodChemistrySystem.h:291
SEScalar * m_BloodPH
Test if member has been allocated
Definition: SEBloodChemistrySystem.h:289
SEScalarPressure * m_VenousCarbonDioxidePressure
Test if member has been allocated
Definition: SEBloodChemistrySystem.h:314
SEScalar0To1 * m_PulseOximetry
Test if member has been allocated
Definition: SEBloodChemistrySystem.h:299
SEScalarMassPerVolume * m_BloodDensity
Test if member has been allocated
Definition: SEBloodChemistrySystem.h:288
SEScalar0To1 * m_VolumeFractionNeutralPhospholipidInPlasma
Test if member has been allocated
Definition: SEBloodChemistrySystem.h:304
SEScalar0To1 * m_OxygenSaturation
Test if member has been allocated
Definition: SEBloodChemistrySystem.h:296
SEScalarPressure * m_PulmonaryArterialOxygenPressure
Test if member has been allocated
Definition: SEBloodChemistrySystem.h:311
SEScalarAmountPerVolume * m_RedBloodCellCount
Test if member has been allocated
Definition: SEBloodChemistrySystem.h:300
SEScalar0To1 * m_ShuntFraction
Test if member has been allocated
Definition: SEBloodChemistrySystem.h:301
SEScalarMassPerVolume * m_TotalProteinConcentration
Test if member has been allocated
Definition: SEBloodChemistrySystem.h:303
SEScalarPressure * m_PulmonaryArterialCarbonDioxidePressure
Test if member has been allocated
Definition: SEBloodChemistrySystem.h:310
SEScalar0To1 * m_VolumeFractionNeutralLipidInPlasma
Test if member has been allocated
Definition: SEBloodChemistrySystem.h:305
SEScalarAmountPerVolume * m_Phosphate
Test if member has been allocated
Definition: SEBloodChemistrySystem.h:297
SEScalarAmountPerVolume * m_WhiteBloodCellCount
Test if member has been allocated
Definition: SEBloodChemistrySystem.h:306
SEScalarHeatCapacitancePerMass * m_BloodSpecificHeat
Test if member has been allocated
Definition: SEBloodChemistrySystem.h:290
SEScalarAmountPerVolume * m_StrongIonDifference
Test if member has been allocated
Definition: SEBloodChemistrySystem.h:302
SEScalarMass * m_HemoglobinContent
Test if member has been allocated
Definition: SEBloodChemistrySystem.h:295
SEScalarPressure * m_ArterialCarbonDioxidePressure
Test if member has been allocated
Definition: SEBloodChemistrySystem.h:308
SEScalarPressure * m_PulmonaryVenousCarbonDioxidePressure
Test if member has been allocated
Definition: SEBloodChemistrySystem.h:312
SEScalarPressure * m_VenousOxygenPressure
Test if member has been allocated
Definition: SEBloodChemistrySystem.h:315
SEScalarVolume * m_PlasmaVolume
Test if member has been allocated
Definition: SEBloodChemistrySystem.h:298
Definition: SEScalar0To1.h:8
Definition: SEScalarAmountPerVolume.h:30
Definition: SEScalarHeatCapacitancePerMass.h:27
Definition: SEScalar.h:19
Definition: SEScalarMass.h:28
Definition: SEScalarMassPerVolume.h:37
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.