SEMechanicalVentilatorContinuousPositiveAirwayPressure.h
1/* Distributed under the Apache License, Version 2.0.
2 See accompanying NOTICE file for details.*/
3#pragma once
4#include "cdm/system/equipment/mechanical_ventilator/actions/SEMechanicalVentilatorMode.h"
7
9{
10 friend class PBEquipmentAction;//friend the serialization class
11public:
12
15
16 static constexpr char const* Name = "CPAP";
17 std::string GetName() const override { return Name; }
18
19 void Clear() override;
20 virtual void Copy(const SEMechanicalVentilatorContinuousPositiveAirwayPressure& src, bool /*preserveState*/ = false);
21 virtual bool ToSettings(SEMechanicalVentilatorSettings& s, const SESubstanceManager& subMgr) override;
22
23 bool IsValid() const override;
24 bool IsActive() const override;
25 void Deactivate() override;
26
27 virtual bool HasDeltaPressureSupport() const;
28 virtual SEScalarPressure& GetDeltaPressureSupport();
29 virtual double GetDeltaPressureSupport(const PressureUnit& unit) const;
30
31 virtual bool HasExpirationWaveform() const;
32 virtual eDriverWaveform GetExpirationWaveform() const;
33 virtual void SetExpirationWaveform(eDriverWaveform w);
34
35 virtual bool HasExpirationCycleFlow() const;
36 virtual SEScalarVolumePerTime& GetExpirationCycleFlow();
37 virtual double GetExpirationCycleFlow(const VolumePerTimeUnit& unit) const;
38
39 virtual bool HasExpirationCyclePressure() const;
40 virtual SEScalarPressure& GetExpirationCyclePressure();
41 virtual double GetExpirationCyclePressure(const PressureUnit& unit) const;
42
43 virtual bool HasFractionInspiredOxygen() const;
44 virtual SEScalar0To1& GetFractionInspiredOxygen();
45 virtual double GetFractionInspiredOxygen() const;
46
47 virtual bool HasInspirationWaveform() const;
48 virtual eDriverWaveform GetInspirationWaveform() const;
49 virtual void SetInspirationWaveform(eDriverWaveform w);
50
51 virtual bool HasInspirationPatientTriggerFlow() const;
52 virtual SEScalarVolumePerTime& GetInspirationPatientTriggerFlow();
53 virtual double GetInspirationPatientTriggerFlow(const VolumePerTimeUnit& unit) const;
54
55 virtual bool HasInspirationPatientTriggerPressure() const;
56 virtual SEScalarPressure& GetInspirationPatientTriggerPressure();
57 virtual double GetInspirationPatientTriggerPressure(const PressureUnit& unit) const;
58
59 virtual bool HasPositiveEndExpiratoryPressure() const;
60 virtual SEScalarPressure& GetPositiveEndExpiratoryPressure();
61 virtual double GetPositiveEndExpiratoryPressure(const PressureUnit& unit) const;
62
63 virtual bool HasSlope() const;
64 virtual SEScalarTime& GetSlope();
65 virtual double GetSlope(const TimeUnit& unit) const;
66
67 const SEScalar* GetScalar(const std::string& name) override;
68
69protected:
70
72 eDriverWaveform m_ExpirationWaveform;
76 eDriverWaveform m_InspirationWaveform;
81};
Definition: Logger.h:71
Definition: PBEquipmentActions.h:41
Definition: SEScalarPressure.h:8
virtual const SEScalar * GetScalar(const std::string &name)=0
static SEAction * Copy(const SEAction &, const SESubstanceManager &)
Definition: SEAction.cpp:53
void Deactivate() override
Definition: SEEquipmentAction.h:19
Definition: SEMechanicalVentilatorContinuousPositiveAirwayPressure.h:9
SEScalar0To1 * m_FractionInspiredOxygen
Definition: SEMechanicalVentilatorContinuousPositiveAirwayPressure.h:75
eDriverWaveform m_ExpirationWaveform
Definition: SEMechanicalVentilatorContinuousPositiveAirwayPressure.h:72
SEScalarVolumePerTime * m_InspirationPatientTriggerFlow
Definition: SEMechanicalVentilatorContinuousPositiveAirwayPressure.h:77
SEScalarPressure * m_PositiveEndExpiratoryPressure
Definition: SEMechanicalVentilatorContinuousPositiveAirwayPressure.h:79
SEScalarPressure * m_DeltaPressureSupport
Definition: SEMechanicalVentilatorContinuousPositiveAirwayPressure.h:71
SEScalarTime * m_Slope
Definition: SEMechanicalVentilatorContinuousPositiveAirwayPressure.h:80
eDriverWaveform m_InspirationWaveform
Definition: SEMechanicalVentilatorContinuousPositiveAirwayPressure.h:76
SEScalarPressure * m_ExpirationCyclePressure
Definition: SEMechanicalVentilatorContinuousPositiveAirwayPressure.h:74
SEScalarPressure * m_InspirationPatientTriggerPressure
Definition: SEMechanicalVentilatorContinuousPositiveAirwayPressure.h:78
SEScalarVolumePerTime * m_ExpirationCycleFlow
Definition: SEMechanicalVentilatorContinuousPositiveAirwayPressure.h:73
std::string GetName() const override
Definition: SEMechanicalVentilatorContinuousPositiveAirwayPressure.h:17
Definition: SEMechanicalVentilator.h:10
Definition: SEMechanicalVentilatorMode.h:8
bool IsValid() const override
Definition: SEMechanicalVentilatorMode.cpp:22
virtual bool ToSettings(SEMechanicalVentilatorSettings &s, const SESubstanceManager &subMgr)
Definition: SEMechanicalVentilatorMode.cpp:34
bool IsActive() const override
Definition: SEMechanicalVentilatorMode.cpp:29
void Clear() override
Definition: SEMechanicalVentilatorMode.cpp:16
Definition: SEMechanicalVentilatorSettings.h:13
Definition: SEScalar0To1.h:8
Definition: SEScalar.h:19
Definition: SEScalarPressure.h:29
Definition: SEScalarTime.h:28
Definition: SEScalarVolumePerTime.h:32
Definition: SESubstanceManager.h:9
Definition: SEScalarTime.h:8
Definition: SEScalarVolumePerTime.h:8

Distributed under the Apache License, Version 2.0.

See accompanying NOTICE file for details.