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 
9 class CDM_DECL SEBloodChemistrySystem : public SESystem
10 {
11  friend class PBPhysiology;//friend the serialization class
12 public:
13 
15  virtual ~SEBloodChemistrySystem();
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 HasClinicalShuntFraction() const;
32  virtual SEScalar0To1& GetClinicalShuntFraction();
33  virtual double GetClinicalShuntFraction() const;
35 
40  virtual bool HasArterialOxygenContent() const;
42  virtual SEScalar& GetArterialOxygenContent();
43  virtual double GetArterialOxygenContent() const;
45 
50  virtual bool HasArteriovenousOxygenDifference() const;
52  virtual SEScalar& GetArteriovenousOxygenDifference();
53  virtual double GetArteriovenousOxygenDifference() const;
55 
60  virtual bool HasBaseExcess() const;
62  virtual SEScalarAmountPerVolume& GetBaseExcess();
63  virtual double GetBaseExcess(const AmountPerVolumeUnit& unit) const;
65 
70  virtual bool HasBloodPH() const;
72  virtual SEScalar& GetBloodPH();
73  virtual double GetBloodPH() const;
75 
80  virtual bool HasBloodSpecificHeat() const;
82  virtual SEScalarHeatCapacitancePerMass& GetBloodSpecificHeat();
83  virtual double GetBloodSpecificHeat(const HeatCapacitancePerMassUnit& unit) const;
85 
90  virtual bool HasBloodUreaNitrogenConcentration() const;
92  virtual SEScalarMassPerVolume& GetBloodUreaNitrogenConcentration();
93  virtual double GetBloodUreaNitrogenConcentration(const MassPerVolumeUnit& unit) const;
95 
100  virtual bool HasCarbonDioxideSaturation() const;
102  virtual SEScalar0To1& GetCarbonDioxideSaturation();
103  virtual double GetCarbonDioxideSaturation() const;
105 
110  virtual bool HasCarbonMonoxideSaturation() const;
112  virtual SEScalar0To1& GetCarbonMonoxideSaturation();
113  virtual double GetCarbonMonoxideSaturation() const;
115 
120  virtual bool HasHematocrit() const;
122  virtual SEScalar0To1& GetHematocrit();
123  virtual double GetHematocrit() const;
125 
130  virtual bool HasHemoglobinContent() const;
132  virtual SEScalarMass& GetHemoglobinContent();
133  virtual double GetHemoglobinContent(const MassUnit& unit) const;
135 
140  virtual bool HasMixedVenousOxygenContent() const;
142  virtual SEScalar& GetMixedVenousOxygenContent();
143  virtual double GetMixedVenousOxygenContent() const;
145 
150  virtual bool HasClinicalOxygenConsumption() const;
152  virtual SEScalarVolumePerTime& GetClinicalOxygenConsumption();
153  virtual double GetClinicalOxygenConsumption(const VolumePerTimeUnit& unit) const;
155 
160  virtual bool HasOxygenDelivery() const;
162  virtual SEScalarVolumePerTime& GetOxygenDelivery();
163  virtual double GetOxygenDelivery(const VolumePerTimeUnit& unit) const;
165 
170  virtual bool HasOxygenDeliveryToOxygenConsumptionRatio() const;
172  virtual SEScalar& GetOxygenDeliveryToOxygenConsumptionRatio();
173  virtual double GetOxygenDeliveryToOxygenConsumptionRatio() const;
175 
180  virtual bool HasOxygenSaturation() const;
182  virtual SEScalar0To1& GetOxygenSaturation();
183  virtual double GetOxygenSaturation() const;
185 
190  virtual bool HasPhosphate() const;
192  virtual SEScalarAmountPerVolume& GetPhosphate();
193  virtual double GetPhosphate(const AmountPerVolumeUnit& unit) const;
195 
196  virtual bool HasPlasmaOsmolality() const;
197  virtual SEScalarOsmolality& GetPlasmaOsmolality();
198  virtual double GetPlasmaOsmolality(const OsmolalityUnit& unit) const;
199 
200  virtual bool HasPlasmaOsmolarity() const;
201  virtual SEScalarOsmolarity& GetPlasmaOsmolarity();
202  virtual double GetPlasmaOsmolarity(const OsmolarityUnit& unit) const;
203 
208  virtual bool HasPlasmaVolume() const;
210  virtual SEScalarVolume& GetPlasmaVolume();
211  virtual double GetPlasmaVolume(const VolumeUnit& unit) const;
213 
218  virtual bool HasPulseOximetry() const;
220  virtual SEScalar0To1& GetPulseOximetry();
221  virtual double GetPulseOximetry() const;
223 
228  virtual bool HasRedBloodCellCount() const;
230  virtual SEScalarAmountPerVolume& GetRedBloodCellCount();
231  virtual double GetRedBloodCellCount(const AmountPerVolumeUnit& unit) const;
233 
238  virtual bool HasStrongIonDifference() const;
240  virtual SEScalarAmountPerVolume& GetStrongIonDifference();
241  virtual double GetStrongIonDifference(const AmountPerVolumeUnit& unit) const;
243 
248  virtual bool HasShuntFraction() const;
250  virtual SEScalar0To1& GetShuntFraction();
251  virtual double GetShuntFraction() const;
253 
258  virtual bool HasTotalProteinConcentration() const;
260  virtual SEScalarMassPerVolume& GetTotalProteinConcentration();
261  virtual double GetTotalProteinConcentration(const MassPerVolumeUnit& unit) const;
263 
268  virtual bool HasVolumeFractionNeutralPhospholipidInPlasma() const;
270  virtual SEScalar0To1& GetVolumeFractionNeutralPhospholipidInPlasma();
271  virtual double GetVolumeFractionNeutralPhospholipidInPlasma() const;
273 
278  virtual bool HasVolumeFractionNeutralLipidInPlasma() const;
280  virtual SEScalar0To1& GetVolumeFractionNeutralLipidInPlasma();
281  virtual double GetVolumeFractionNeutralLipidInPlasma() const;
283 
288  virtual bool HasWhiteBloodCellCount() const;
290  virtual SEScalarAmountPerVolume& GetWhiteBloodCellCount();
291  virtual double GetWhiteBloodCellCount(const AmountPerVolumeUnit& unit) const;
293 
298  virtual bool HasArterialCarbonDioxidePressure() const;
300  virtual SEScalarPressure& GetArterialCarbonDioxidePressure();
301  virtual double GetArterialCarbonDioxidePressure(const PressureUnit& unit) const;
303 
308  virtual bool HasArterialOxygenPressure() const;
310  virtual SEScalarPressure& GetArterialOxygenPressure();
311  virtual double GetArterialOxygenPressure(const PressureUnit& unit) const;
313 
318  virtual bool HasPulmonaryArterialCarbonDioxidePressure() const;
320  virtual SEScalarPressure& GetPulmonaryArterialCarbonDioxidePressure();
321  virtual double GetPulmonaryArterialCarbonDioxidePressure(const PressureUnit& unit) const;
323 
328  virtual bool HasPulmonaryArterialOxygenPressure() const;
330  virtual SEScalarPressure& GetPulmonaryArterialOxygenPressure();
331  virtual double GetPulmonaryArterialOxygenPressure(const PressureUnit& unit) const;
333 
338  virtual bool HasPulmonaryVenousCarbonDioxidePressure() const;
340  virtual SEScalarPressure& GetPulmonaryVenousCarbonDioxidePressure();
341  virtual double GetPulmonaryVenousCarbonDioxidePressure(const PressureUnit& unit) const;
343 
348  virtual bool HasPulmonaryVenousOxygenPressure() const;
350  virtual SEScalarPressure& GetPulmonaryVenousOxygenPressure();
351  virtual double GetPulmonaryVenousOxygenPressure(const PressureUnit& unit) const;
353 
358  virtual bool HasVenousCarbonDioxidePressure() const;
360  virtual SEScalarPressure& GetVenousCarbonDioxidePressure();
361  virtual double GetVenousCarbonDioxidePressure(const PressureUnit& unit) const;
363 
367  virtual bool HasVenousOxygenPressure() const;
369  virtual SEScalarPressure& GetVenousOxygenPressure();
370  virtual double GetVenousOxygenPressure(const PressureUnit& unit) const;
372 
373 
374 protected:
404 
413 };
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
SEScalar * m_OxygenDeliveryToOxygenConsumptionRatio
Test if member has been allocated
Definition: SEBloodChemistrySystem.h:390
SEScalarPressure * m_PulmonaryVenousOxygenPressure
Test if member has been allocated
Definition: SEBloodChemistrySystem.h:410
SEScalar0To1 * m_CarbonMonoxideSaturation
Test if member has been allocated
Definition: SEBloodChemistrySystem.h:384
SEScalar0To1 * m_Hematocrit
Test if member has been allocated
Definition: SEBloodChemistrySystem.h:385
SEScalarPressure * m_ArterialOxygenPressure
Test if member has been allocated
Definition: SEBloodChemistrySystem.h:406
SEScalar0To1 * m_CarbonDioxideSaturation
Test if member has been allocated
Definition: SEBloodChemistrySystem.h:383
SEScalarMassPerVolume * m_BloodUreaNitrogenConcentration
Test if member has been allocated
Definition: SEBloodChemistrySystem.h:382
SEScalar * m_BloodPH
Test if member has been allocated
Definition: SEBloodChemistrySystem.h:380
SEScalarPressure * m_VenousCarbonDioxidePressure
Test if member has been allocated
Definition: SEBloodChemistrySystem.h:411
SEScalar * m_ArteriovenousOxygenDifference
Test if member has been allocated
Definition: SEBloodChemistrySystem.h:377
SEScalar0To1 * m_PulseOximetry
Test if member has been allocated
Definition: SEBloodChemistrySystem.h:396
SEScalarMassPerVolume * m_BloodDensity
Test if member has been allocated
Definition: SEBloodChemistrySystem.h:379
SEScalar0To1 * m_VolumeFractionNeutralPhospholipidInPlasma
Test if member has been allocated
Definition: SEBloodChemistrySystem.h:401
SEScalar * m_ArterialOxygenContent
Test if member has been allocated
Definition: SEBloodChemistrySystem.h:376
SEScalar0To1 * m_OxygenSaturation
Test if member has been allocated
Definition: SEBloodChemistrySystem.h:391
SEScalarPressure * m_PulmonaryArterialOxygenPressure
Test if member has been allocated
Definition: SEBloodChemistrySystem.h:408
SEScalar * m_MixedVenousOxygenContent
Test if member has been allocated
Definition: SEBloodChemistrySystem.h:387
SEScalarOsmolarity * m_PlasmaOsmolarity
Test if member has been allocated
Definition: SEBloodChemistrySystem.h:394
SEScalarAmountPerVolume * m_RedBloodCellCount
Test if member has been allocated
Definition: SEBloodChemistrySystem.h:397
SEScalar0To1 * m_ShuntFraction
Test if member has been allocated
Definition: SEBloodChemistrySystem.h:398
SEScalarMassPerVolume * m_TotalProteinConcentration
Test if member has been allocated
Definition: SEBloodChemistrySystem.h:400
SEScalar0To1 * m_ClinicalShuntFraction
Test if member has been allocated
Definition: SEBloodChemistrySystem.h:375
SEScalarPressure * m_PulmonaryArterialCarbonDioxidePressure
Test if member has been allocated
Definition: SEBloodChemistrySystem.h:407
SEScalar0To1 * m_VolumeFractionNeutralLipidInPlasma
Test if member has been allocated
Definition: SEBloodChemistrySystem.h:402
SEScalarAmountPerVolume * m_Phosphate
Test if member has been allocated
Definition: SEBloodChemistrySystem.h:392
SEScalarAmountPerVolume * m_WhiteBloodCellCount
Test if member has been allocated
Definition: SEBloodChemistrySystem.h:403
SEScalarHeatCapacitancePerMass * m_BloodSpecificHeat
Test if member has been allocated
Definition: SEBloodChemistrySystem.h:381
SEScalarAmountPerVolume * m_StrongIonDifference
Test if member has been allocated
Definition: SEBloodChemistrySystem.h:399
SEScalarMass * m_HemoglobinContent
Test if member has been allocated
Definition: SEBloodChemistrySystem.h:386
SEScalarPressure * m_ArterialCarbonDioxidePressure
Test if member has been allocated
Definition: SEBloodChemistrySystem.h:405
SEScalarPressure * m_PulmonaryVenousCarbonDioxidePressure
Test if member has been allocated
Definition: SEBloodChemistrySystem.h:409
SEScalarVolumePerTime * m_OxygenDelivery
Test if member has been allocated
Definition: SEBloodChemistrySystem.h:389
SEScalarVolumePerTime * m_ClinicalOxygenConsumption
Test if member has been allocated
Definition: SEBloodChemistrySystem.h:388
SEScalarPressure * m_VenousOxygenPressure
Test if member has been allocated
Definition: SEBloodChemistrySystem.h:412
SEScalarOsmolality * m_PlasmaOsmolality
Test if member has been allocated
Definition: SEBloodChemistrySystem.h:393
SEScalarVolume * m_PlasmaVolume
Test if member has been allocated
Definition: SEBloodChemistrySystem.h:395
SEScalarAmountPerVolume * m_BaseExcess
Test if member has been allocated
Definition: SEBloodChemistrySystem.h:378
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: SEScalarVolumePerTime.h:32
Definition: SESystem.h:8
virtual void Clear()
Definition: SESystem.cpp:17
virtual const SEScalar * GetScalar(const std::string &name)=0
Definition: SEScalarVolumePerTime.h:8
Definition: SEScalarVolume.h:8

Distributed under the Apache License, Version 2.0.

See accompanying NOTICE file for details.