<
    Kitware and KbPort announce the launch of SimPulse
×
SEMechanicalVentilatorPressureControl.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"
5 
6 // Keep enums in sync with appropriate schema/cdm/MechanicalVentilatorActions.proto file !!
7 enum class eMechanicalVentilator_PressureControlMode { AssistedControl = 0, ContinuousMandatoryVentilation };
8 extern const std::string& eMechanicalVentilator_PressureControlMode_Name(eMechanicalVentilator_PressureControlMode m);
9 
11 {
12  friend class PBEquipmentAction;//friend the serialization class
13 public:
14 
17 
18  virtual void Clear();
19  virtual void Copy(const SEMechanicalVentilatorPressureControl& src, bool /*preserveState*/ = false);
20  virtual bool ToSettings(SEMechanicalVentilatorSettings& s, const SESubstanceManager& subMgr) override;
21 
22  virtual bool IsValid() const;
23  virtual bool IsActive() const;
24  virtual void Deactivate();
25 
26  virtual eMechanicalVentilator_PressureControlMode GetMode() const;
27  virtual void SetMode(eMechanicalVentilator_PressureControlMode c);
28 
29  virtual bool HasFractionInspiredOxygen() const;
30  virtual SEScalar0To1& GetFractionInspiredOxygen();
31  virtual double GetFractionInspiredOxygen() const;
32 
33  virtual bool HasInspiratoryPeriod() const;
34  virtual SEScalarTime& GetInspiratoryPeriod();
35  virtual double GetInspiratoryPeriod(const TimeUnit& unit) const;
36 
37  virtual bool HasInspiratoryPressure() const;
38  virtual SEScalarPressure& GetInspiratoryPressure();
39  virtual double GetInspiratoryPressure(const PressureUnit& unit) const;
40 
41  virtual bool HasPositiveEndExpiredPressure() const;
42  virtual SEScalarPressure& GetPositiveEndExpiredPressure();
43  virtual double GetPositiveEndExpiredPressure(const PressureUnit& unit) const;
44 
45  virtual bool HasRespirationRate() const;
46  virtual SEScalarFrequency& GetRespirationRate();
47  virtual double GetRespirationRate(const FrequencyUnit& unit) const;
48 
49  virtual bool HasSlope() const;
50  virtual SEScalarTime& GetSlope();
51  virtual double GetSlope(const TimeUnit& unit) const;
52 
53  virtual void ToString(std::ostream& str) const;
54 
55  virtual const SEScalar* GetScalar(const std::string& name);
56 
57 protected:
58 
59  eMechanicalVentilator_PressureControlMode m_Mode;
66 };
Definition: SESubstanceManager.h:8
Definition: SEScalar.h:34
SEScalarTime * m_Slope
Definition: SEMechanicalVentilatorPressureControl.h:65
Definition: Logger.h:66
static void Copy(const SEAnesthesiaMachineConfiguration &src, SEAnesthesiaMachineConfiguration &dst, const SESubstanceManager &subMgr)
Definition: PBEquipmentActions.cpp:95
SEScalarPressure * m_InspiratoryPressure
Definition: SEMechanicalVentilatorPressureControl.h:62
Definition: SEScalarPressure.h:28
Definition: SEScalarTime.h:7
Definition: SEScalarPressure.h:7
eMechanicalVentilator_PressureControlMode m_Mode
Definition: SEMechanicalVentilatorPressureControl.h:59
Definition: SEMechanicalVentilatorPressureControl.h:10
SEScalarPressure * m_PositiveEndExpiredPressure
Definition: SEMechanicalVentilatorPressureControl.h:63
Definition: SEScalarFrequency.h:7
Definition: SEScalarTime.h:27
SEScalarTime * m_InspiratoryPeriod
Definition: SEMechanicalVentilatorPressureControl.h:61
Definition: PBEquipmentActions.h:38
Definition: SEScalarFrequency.h:25
Definition: SEMechanicalVentilatorMode.h:7
SEScalarFrequency * m_RespirationRate
Definition: SEMechanicalVentilatorPressureControl.h:64
SEScalar0To1 * m_FractionInspiredOxygen
Definition: SEMechanicalVentilatorPressureControl.h:60
Definition: SEScalar0To1.h:7
Definition: SEMechanicalVentilatorSettings.h:16

Distributed under the Apache License, Version 2.0.

See accompanying NOTICE file for details.