SEBloodChemistrySystem.h
1 /* Distributed under the Apache License, Version 2.0.
2  See accompanying NOTICE file for details.*/
3 
4 #pragma once
5 #include "system/SESystem.h"
6 
9 class CDM_DECL SEBloodChemistrySystem : public SESystem
10 {
11  friend class PBPhysiology;//friend the serialization class
12 public:
13 
15  virtual ~SEBloodChemistrySystem();
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 
29  virtual bool HasBloodPH() const;
32  virtual SEScalar& GetBloodPH();
33  virtual double GetBloodPH() const;
35 
39  virtual bool HasBloodSpecificHeat() const;
42  virtual SEScalarHeatCapacitancePerMass& GetBloodSpecificHeat();
43  virtual double GetBloodSpecificHeat(const HeatCapacitancePerMassUnit& unit) const;
45 
49  virtual bool HasBloodUreaNitrogenConcentration() const;
52  virtual SEScalarMassPerVolume& GetBloodUreaNitrogenConcentration();
53  virtual double GetBloodUreaNitrogenConcentration(const MassPerVolumeUnit& unit) const;
55 
59  virtual bool HasCarbonDioxideSaturation() const;
62  virtual SEScalar0To1& GetCarbonDioxideSaturation();
63  virtual double GetCarbonDioxideSaturation() const;
65 
69  virtual bool HasCarbonMonoxideSaturation() const;
72  virtual SEScalar0To1& GetCarbonMonoxideSaturation();
73  virtual double GetCarbonMonoxideSaturation() const;
75 
79  virtual bool HasHematocrit() const;
82  virtual SEScalar0To1& GetHematocrit();
83  virtual double GetHematocrit() const;
85 
89  virtual bool HasHemoglobinContent() const;
92  virtual SEScalarMass& GetHemoglobinContent();
93  virtual double GetHemoglobinContent(const MassUnit& unit) const;
95 
99  virtual bool HasOxygenSaturation() const;
102  virtual SEScalar0To1& GetOxygenSaturation();
103  virtual double GetOxygenSaturation() const;
105 
109  virtual bool HasPhosphate() const;
112  virtual SEScalarAmountPerVolume& GetPhosphate();
113  virtual double GetPhosphate(const AmountPerVolumeUnit& unit) const;
115 
119  virtual bool HasPlasmaVolume() const;
122  virtual SEScalarVolume& GetPlasmaVolume();
123  virtual double GetPlasmaVolume(const VolumeUnit& unit) const;
125 
129  virtual bool HasPulseOximetry() const;
132  virtual SEScalar0To1& GetPulseOximetry();
133  virtual double GetPulseOximetry() const;
135 
139  virtual bool HasRedBloodCellCount() const;
142  virtual SEScalarAmountPerVolume& GetRedBloodCellCount();
143  virtual double GetRedBloodCellCount(const AmountPerVolumeUnit& unit) const;
145 
149  virtual bool HasStrongIonDifference() const;
152  virtual SEScalarAmountPerVolume& GetStrongIonDifference();
153  virtual double GetStrongIonDifference(const AmountPerVolumeUnit& unit) const;
155 
159  virtual bool HasShuntFraction() const;
162  virtual SEScalar0To1& GetShuntFraction();
163  virtual double GetShuntFraction() const;
165 
169  virtual bool HasTotalProteinConcentration() const;
172  virtual SEScalarMassPerVolume& GetTotalProteinConcentration();
173  virtual double GetTotalProteinConcentration(const MassPerVolumeUnit& unit) const;
175 
179  virtual bool HasVolumeFractionNeutralPhospholipidInPlasma() const;
182  virtual SEScalar0To1& GetVolumeFractionNeutralPhospholipidInPlasma();
183  virtual double GetVolumeFractionNeutralPhospholipidInPlasma() const;
185 
189  virtual bool HasVolumeFractionNeutralLipidInPlasma() const;
192  virtual SEScalar0To1& GetVolumeFractionNeutralLipidInPlasma();
193  virtual double GetVolumeFractionNeutralLipidInPlasma() const;
195 
199  virtual bool HasWhiteBloodCellCount() const;
202  virtual SEScalarAmountPerVolume& GetWhiteBloodCellCount();
203  virtual double GetWhiteBloodCellCount(const AmountPerVolumeUnit& unit) const;
205 
209  virtual bool HasArterialCarbonDioxidePressure() const;
212  virtual SEScalarPressure& GetArterialCarbonDioxidePressure();
213  virtual double GetArterialCarbonDioxidePressure(const PressureUnit& unit) const;
215 
219  virtual bool HasArterialOxygenPressure() const;
222  virtual SEScalarPressure& GetArterialOxygenPressure();
223  virtual double GetArterialOxygenPressure(const PressureUnit& unit) const;
225 
229  virtual bool HasPulmonaryArterialCarbonDioxidePressure() const;
232  virtual SEScalarPressure& GetPulmonaryArterialCarbonDioxidePressure();
233  virtual double GetPulmonaryArterialCarbonDioxidePressure(const PressureUnit& unit) const;
235 
239  virtual bool HasPulmonaryArterialOxygenPressure() const;
242  virtual SEScalarPressure& GetPulmonaryArterialOxygenPressure();
243  virtual double GetPulmonaryArterialOxygenPressure(const PressureUnit& unit) const;
245 
249  virtual bool HasPulmonaryVenousCarbonDioxidePressure() const;
252  virtual SEScalarPressure& GetPulmonaryVenousCarbonDioxidePressure();
253  virtual double GetPulmonaryVenousCarbonDioxidePressure(const PressureUnit& unit) const;
255 
259  virtual bool HasPulmonaryVenousOxygenPressure() const;
262  virtual SEScalarPressure& GetPulmonaryVenousOxygenPressure();
263  virtual double GetPulmonaryVenousOxygenPressure(const PressureUnit& unit) const;
265 
269  virtual bool HasVenousCarbonDioxidePressure() const;
272  virtual SEScalarPressure& GetVenousCarbonDioxidePressure();
273  virtual double GetVenousCarbonDioxidePressure(const PressureUnit& unit) const;
275 
278  virtual bool HasVenousOxygenPressure() const;
281  virtual SEScalarPressure& GetVenousOxygenPressure();
282  virtual double GetVenousOxygenPressure(const PressureUnit& unit) const;
284 
285 
286 protected:
287 
307 
316 };
Definition: SEScalarMass.h:23
SEScalar0To1 * m_CarbonMonoxideSaturation
Definition: SEBloodChemistrySystem.h:293
Definition: SEScalar.h:18
Definition: SEScalarVolume.h:7
SEScalarPressure * m_PulmonaryVenousOxygenPressure
Definition: SEBloodChemistrySystem.h:313
SEScalarMass * m_HemoglobinContent
Definition: SEBloodChemistrySystem.h:295
Definition: SEScalarHeatCapacitancePerMass.h:7
Definition: SEScalarVolume.h:23
Definition: Logger.h:61
SEScalar0To1 * m_OxygenSaturation
Definition: SEBloodChemistrySystem.h:296
Definition: SEScalarMassPerVolume.h:32
SEScalar * m_BloodPH
Definition: SEBloodChemistrySystem.h:289
Definition: SEScalarPressure.h:24
Definition: SEScalarMassPerVolume.h:7
SEScalarAmountPerVolume * m_StrongIonDifference
Definition: SEBloodChemistrySystem.h:302
SEScalar0To1 * m_PulseOximetry
Definition: SEBloodChemistrySystem.h:299
SEScalarPressure * m_PulmonaryArterialOxygenPressure
Definition: SEBloodChemistrySystem.h:311
SEScalarMassPerVolume * m_TotalProteinConcentration
Definition: SEBloodChemistrySystem.h:303
SEScalar0To1 * m_ShuntFraction
Definition: SEBloodChemistrySystem.h:301
SEScalarMassPerVolume * m_BloodUreaNitrogenConcentration
Definition: SEBloodChemistrySystem.h:291
SEScalar0To1 * m_VolumeFractionNeutralPhospholipidInPlasma
Definition: SEBloodChemistrySystem.h:304
SEScalarPressure * m_PulmonaryArterialCarbonDioxidePressure
Definition: SEBloodChemistrySystem.h:310
SEScalarMassPerVolume * m_BloodDensity
Definition: SEBloodChemistrySystem.h:288
Definition: SEScalarPressure.h:7
SEScalarPressure * m_VenousCarbonDioxidePressure
Definition: SEBloodChemistrySystem.h:314
SEScalarAmountPerVolume * m_Phosphate
Definition: SEBloodChemistrySystem.h:297
Definition: SESystem.h:7
SEScalarAmountPerVolume * m_RedBloodCellCount
Definition: SEBloodChemistrySystem.h:300
Definition: SEBloodChemistrySystem.h:9
SEScalarAmountPerVolume * m_WhiteBloodCellCount
Definition: SEBloodChemistrySystem.h:306
SEScalarPressure * m_PulmonaryVenousCarbonDioxidePressure
Definition: SEBloodChemistrySystem.h:312
SEScalarHeatCapacitancePerMass * m_BloodSpecificHeat
Definition: SEBloodChemistrySystem.h:290
SEScalar0To1 * m_Hematocrit
Definition: SEBloodChemistrySystem.h:294
SEScalarVolume * m_PlasmaVolume
Definition: SEBloodChemistrySystem.h:298
Definition: SEScalarAmountPerVolume.h:7
SEScalarPressure * m_VenousOxygenPressure
Definition: SEBloodChemistrySystem.h:315
Definition: SEScalarAmountPerVolume.h:24
Definition: PBPhysiology.h:20
SEScalarPressure * m_ArterialOxygenPressure
Definition: SEBloodChemistrySystem.h:309
SEScalar0To1 * m_VolumeFractionNeutralLipidInPlasma
Definition: SEBloodChemistrySystem.h:305
SEScalarPressure * m_ArterialCarbonDioxidePressure
Definition: SEBloodChemistrySystem.h:308
Definition: SEScalarMass.h:7
SEScalar0To1 * m_CarbonDioxideSaturation
Definition: SEBloodChemistrySystem.h:292
virtual const SEScalar * GetScalar(const std::string &name)=0
Definition: SEScalar0To1.h:7
virtual void Clear()
Definition: SESystem.cpp:17
Definition: SEScalarHeatCapacitancePerMass.h:22