What’s New in the Pulse Physiology Engine 4.4.0
×
SEExtracorporealMembraneOxygenationDevice.h
1/* Distributed under the Apache License, Version 2.0.
2 See accompanying NOTICE file for details.*/
3
4#pragma once
5#include "cdm/properties/SEScalar.h"
6#include "cdm/system/equipment/SEEquipment.h"
7#include "cdm/system/equipment/extracorporeal_membrane_oxygenation_device/SEExtracorporealMembraneOxygenationDeviceSettings.h"
8
10{
11 friend class PBExtracorporealMembraneOxygenationDevice;//friend the serialization class
12public:
13
16
17 void Clear() override;
18 virtual void TurnOff();
19
20protected:
26 virtual void StateChange() {};
27
28public:
29
30 const SEScalar* GetScalar(const std::string& name) override;
31
32 virtual bool HasBagVolume() const;
33 virtual SEScalarVolume& GetBagVolume();
34 virtual double GetBagVolume(const VolumeUnit& unit) const;
35
36 virtual bool HasBloodFlow() const;
37 virtual SEScalarVolumePerTime& GetBloodFlow();
38 virtual double GetBloodFlow(const VolumePerTimeUnit& unit) const;
39
40 virtual bool HasDrainagePressure() const;
41 virtual SEScalarPressure& GetDrainagePressure();
42 virtual double GetDrainagePressure(const PressureUnit& unit) const;
43
44 virtual bool HasHemoglobinConcentration() const;
45 virtual SEScalarMassPerVolume& GetHemoglobinConcentration();
46 virtual double GetHemoglobinConcentration(const MassPerVolumeUnit& unit) const;
47
48 virtual bool HasInletOxygenSaturation() const;
49 virtual SEScalar0To1& GetInletOxygenSaturation();
50 virtual double GetInletOxygenSaturation() const;
51
52 virtual bool HasInletPressure() const;
53 virtual SEScalarPressure& GetInletPressure();
54 virtual double GetInletPressure(const PressureUnit& unit) const;
55
56 virtual bool HasHydraulicTransmembranePressureGradient() const;
57 virtual SEScalarPressure& GetHydraulicTransmembranePressureGradient();
58 virtual double GetHydraulicTransmembranePressureGradient(const PressureUnit& unit) const;
59
60 virtual bool HasMembraneLungOxygenContribution() const;
61 virtual SEScalarVolumePerTime& GetMembraneLungOxygenContribution();
62 virtual double GetMembraneLungOxygenContribution(const VolumePerTimeUnit& unit) const;
63
64 virtual bool HasMembraneLungCarbonDioxideContribution() const;
65 virtual SEScalarVolumePerTime& GetMembraneLungCarbonDioxideContribution();
66 virtual double GetMembraneLungCarbonDioxideContribution(const VolumePerTimeUnit& unit) const;
67
68 virtual bool HasOutletOxygenSaturation() const;
69 virtual SEScalar0To1& GetOutletOxygenSaturation();
70 virtual double GetOutletOxygenSaturation() const;
71
72 virtual bool HasOutletPressure() const;
73 virtual SEScalarPressure& GetOutletPressure();
74 virtual double GetOutletPressure(const PressureUnit& unit) const;
75
76 virtual bool HasSweepGasFlow() const;
77 virtual SEScalarVolumePerTime& GetSweepGasFlow();
78 virtual double GetSweepGasFlow(const VolumePerTimeUnit& unit) const;
79
80 virtual bool HasTransmembranePressureGradient() const;
81 virtual SEScalarPressure& GetTransmembranePressureGradient();
82 virtual double GetTransmembranePressureGradient(const PressureUnit& unit) const;
83
84 virtual bool HasSettings() const;
86 virtual const SEExtracorporealMembraneOxygenationDeviceSettings* GetSettings() const;
87 virtual void RemoveSettings();
88
89protected:
90
104
106};
Definition: Logger.h:71
Definition: SEScalarMassPerVolume.h:8
Definition: PBExtracorporealMembraneOxygenationDevice.h:10
Definition: SEScalarPressure.h:8
Definition: SEEquipment.h:9
void Clear() override
Definition: SEEquipment.cpp:17
Definition: SEExtracorporealMembraneOxygenationDevice.h:10
SEScalarVolume * m_BagVolume
Definition: SEExtracorporealMembraneOxygenationDevice.h:91
SEScalar0To1 * m_OutletOxygenSaturation
Definition: SEExtracorporealMembraneOxygenationDevice.h:100
SEScalarPressure * m_OutletPressure
Definition: SEExtracorporealMembraneOxygenationDevice.h:101
SEScalarMassPerVolume * m_HemoglobinConcentration
Definition: SEExtracorporealMembraneOxygenationDevice.h:94
SEScalarPressure * m_HydraulicTransmembranePressureGradient
Definition: SEExtracorporealMembraneOxygenationDevice.h:97
SEScalar0To1 * m_InletOxygenSaturation
Definition: SEExtracorporealMembraneOxygenationDevice.h:95
SEScalarVolumePerTime * m_BloodFlow
Definition: SEExtracorporealMembraneOxygenationDevice.h:92
SEScalarPressure * m_DrainagePressure
Definition: SEExtracorporealMembraneOxygenationDevice.h:93
SEScalarPressure * m_InletPressure
Definition: SEExtracorporealMembraneOxygenationDevice.h:96
SEScalarVolumePerTime * m_MembraneLungCarbonDioxideContribution
Definition: SEExtracorporealMembraneOxygenationDevice.h:99
SEScalarVolumePerTime * m_SweepGasFlow
Definition: SEExtracorporealMembraneOxygenationDevice.h:102
SEScalarVolumePerTime * m_MembraneLungOxygenContribution
Definition: SEExtracorporealMembraneOxygenationDevice.h:98
virtual void StateChange()
Definition: SEExtracorporealMembraneOxygenationDevice.h:26
SEExtracorporealMembraneOxygenationDeviceSettings * m_Settings
Definition: SEExtracorporealMembraneOxygenationDevice.h:105
SEScalarPressure * m_TransmembranePressureGradient
Definition: SEExtracorporealMembraneOxygenationDevice.h:103
Definition: SEExtracorporealMembraneOxygenationDeviceSettings.h:37
Definition: SEScalar0To1.h:8
Definition: SEScalar.h:19
Definition: SEScalarMassPerVolume.h:37
Definition: SEScalarPressure.h:29
Definition: SEScalarVolume.h:28
Definition: SEScalarVolumePerTime.h:32
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.