SEIntubation.h
1/* Distributed under the Apache License, Version 2.0.
2 See accompanying NOTICE file for details.*/
3
4#pragma once
5#include "cdm/patient/actions/SEPatientAction.h"
6
7// Keep enums in sync with appropriate schema/cdm/PatientActionEnums.proto file !!
8enum class eIntubation_Type { Off = 0, Esophageal, LeftMainstem, RightMainstem, Tracheal,
9 Oropharyngeal, Nasopharyngeal };
10extern const std::string& eIntubation_Type_Name(eIntubation_Type m);
11
12class CDM_DECL SEIntubation : public SEPatientAction
13{
14 friend class PBPatientAction;//friend the serialization class
15public:
16
17 SEIntubation(Logger* logger=nullptr);
18 virtual ~SEIntubation();
19
20 static constexpr char const* Name = "Intubation";
21 virtual std::string GetName() const { return Name; }
22
23 virtual void Clear(); //clear memory
24 virtual void Copy(const SEIntubation& src, bool /*preserveState*/=false);
25
26 virtual bool IsValid() const;
27 virtual bool IsActive() const;
28 virtual void Deactivate();
29
30 virtual eIntubation_Type GetType() const;
31 virtual void SetType(eIntubation_Type t);
32
33 virtual bool HasAirwayResistance() const;
34 virtual SEScalarPressureTimePerVolume& GetAirwayResistance();
35 virtual double GetAirwayResistance(const PressureTimePerVolumeUnit& unit) const;
36
37 virtual bool HasSeverity() const;
38 virtual SEScalar0To1& GetSeverity();
39 virtual double GetSeverity() const;
40
41 virtual const SEScalar* GetScalar(const std::string& name);
42
43protected:
44 eIntubation_Type m_Type;
47};
Definition: Logger.h:71
Definition: PBPatientActions.h:48
Definition: SEScalarPressureTimePerVolume.h:8
virtual const SEScalar * GetScalar(const std::string &name)=0
virtual bool IsActive() const
Definition: SEAction.h:39
virtual void Deactivate()
Definition: SEAction.h:41
static SEAction * Copy(const SEAction &, const SESubstanceManager &)
Definition: SEAction.cpp:54
Definition: SEIntubation.h:13
SEScalarPressureTimePerVolume * m_AirwayResistance
Definition: SEIntubation.h:45
virtual std::string GetName() const
Definition: SEIntubation.h:21
eIntubation_Type m_Type
Definition: SEIntubation.h:44
SEScalar0To1 * m_Severity
Definition: SEIntubation.h:46
Definition: SEPatientAction.h:8
virtual bool IsValid() const
Definition: SEPatientAction.cpp:22
virtual void Clear()
Definition: SEPatientAction.cpp:17
Definition: SEScalar0To1.h:8
Definition: SEScalar.h:19
Definition: SEScalarPressureTimePerVolume.h:29

Distributed under the Apache License, Version 2.0.

See accompanying NOTICE file for details.