SEPatientActionCollection.h
1 /* Distributed under the Apache License, Version 2.0.
2  See accompanying NOTICE file for details.*/
3 
4 #pragma once
5 class SEAction;
6 class SEPatientAction;
7 class SEAcuteStress;
9 class SEApnea;
10 class SEBrainInjury;
12 class SECardiacArrest;
13 class SEAsthmaAttack;
14 class SEChestCompression;
19 class SEConsumeNutrients;
20 class SEExercise;
21 class SEHemorrhage;
22 class SEIntubation;
27 class SESubstanceBolus;
30 class SEUrinate;
32 class SESubstance;
34 class SESubstanceManager;
35 
36 class CDM_DECL SEPatientActionCollection : public Loggable
37 {
38  friend class PBEngine;//friend the serialization class
39  friend class SEActionManager;
40 protected:
42 public:
44 
45 
46  bool HasAcuteStress() const;
47  SEAcuteStress* GetAcuteStress();
48  const SEAcuteStress* GetAcuteStress() const;
49  void RemoveAcuteStress();
50 
51  bool HasAirwayObstruction() const;
52  SEAirwayObstruction* GetAirwayObstruction();
53  const SEAirwayObstruction* GetAirwayObstruction() const;
54  void RemoveAirwayObstruction();
55 
56  bool HasApnea() const;
57  SEApnea* GetApnea();
58  const SEApnea* GetApnea() const;
59  void RemoveApnea();
60 
61  bool HasAsthmaAttack() const;
62  SEAsthmaAttack* GetAsthmaAttack();
63  const SEAsthmaAttack* GetAsthmaAttack() const;
64  void RemoveAsthmaAttack();
65 
66  bool HasBrainInjury() const;
67  SEBrainInjury* GetBrainInjury();
68  const SEBrainInjury* GetBrainInjury() const;
69  void RemoveBrainInjury();
70 
71  bool HasBronchoconstriction() const;
72  SEBronchoconstriction* GetBronchoconstriction();
73  const SEBronchoconstriction* GetBronchoconstriction() const;
74  void RemoveBronchoconstriction();
75 
76  bool HasCardiacArrest() const;
77  SECardiacArrest* GetCardiacArrest();
78  const SECardiacArrest* GetCardiacArrest() const;
79  void RemoveCardiacArrest();
80 
81  bool HasChestCompression() const;
82  void RemoveChestCompression();
83  bool HasChestCompressionForce() const;
84  SEChestCompressionForce* GetChestCompressionForce();
85  const SEChestCompressionForce* GetChestCompressionForce() const;
86  bool HasChestCompressionForceScale() const;
87  SEChestCompressionForceScale* GetChestCompressionForceScale();
88  const SEChestCompressionForceScale* GetChestCompressionForceScale() const;
89 
90  bool HasChestOcclusiveDressing() const;
91  bool HasLeftChestOcclusiveDressing() const;
92  SEChestOcclusiveDressing* GetLeftChestOcclusiveDressing();
93  const SEChestOcclusiveDressing* GetLeftChestOcclusiveDressing() const;
94  void RemoveLeftChestOcclusiveDressing();
95  bool HasRightChestOcclusiveDressing() const;
96  SEChestOcclusiveDressing* GetRightChestOcclusiveDressing();
97  const SEChestOcclusiveDressing* GetRightChestOcclusiveDressing() const;
98  void RemoveRightChestOcclusiveDressing();
99 
100  bool HasConsciousRespiration() const;
101  SEConsciousRespiration* GetConsciousRespiration();
102  const SEConsciousRespiration* GetConsciousRespiration() const;
103  void RemoveConsciousRespiration();
104 
105  bool HasConsumeNutrients() const;
106  SEConsumeNutrients* GetConsumeNutrients();
107  const SEConsumeNutrients* GetConsumeNutrients() const;
108  void RemoveConsumeNutrients();
109 
110  bool HasExercise() const;
111  SEExercise* GetExercise();
112  const SEExercise* GetExercise() const;
113  void RemoveExercise();
114 
115  bool HasHemorrhage() const;
116  const std::map<std::string, SEHemorrhage*>& GetHemorrhages() const;
117  void RemoveHemorrhage(const std::string& cmpt);
118 
119  bool HasIntubation() const;
120  SEIntubation* GetIntubation();
121  const SEIntubation* GetIntubation() const;
122  void RemoveIntubation();
123 
124  bool HasMechanicalVentilation() const;
125  SEMechanicalVentilation* GetMechanicalVentilation();
126  const SEMechanicalVentilation* GetMechanicalVentilation() const;
127  void RemoveMechanicalVentilation();
128 
129  bool HasNeedleDecompression() const;
130  bool HasLeftNeedleDecompression() const;
131  SENeedleDecompression* GetLeftNeedleDecompression();
132  const SENeedleDecompression* GetLeftNeedleDecompression() const;
133  void RemoveLeftNeedleDecompression();
134 
135  bool HasRightNeedleDecompression() const;
136  SENeedleDecompression* GetRightNeedleDecompression();
137  const SENeedleDecompression* GetRightNeedleDecompression() const;
138  void RemoveRightNeedleDecompression();
139 
140  bool HasPericardialEffusion() const;
141  SEPericardialEffusion* GetPericardialEffusion();
142  const SEPericardialEffusion* GetPericardialEffusion() const;
143  void RemovePericardialEffusion();
144 
145  bool HasTensionPneumothorax() const;
146 
147  bool HasLeftClosedTensionPneumothorax() const;
148  SETensionPneumothorax* GetLeftClosedTensionPneumothorax();
149  const SETensionPneumothorax* GetLeftClosedTensionPneumothorax() const;
150  void RemoveLeftClosedTensionPneumothorax();
151 
152  bool HasLeftOpenTensionPneumothorax() const;
153  SETensionPneumothorax* GetLeftOpenTensionPneumothorax();
154  const SETensionPneumothorax* GetLeftOpenTensionPneumothorax() const;
155  void RemoveLeftOpenTensionPneumothorax();
156 
157  bool HasRightClosedTensionPneumothorax() const;
158  SETensionPneumothorax* GetRightClosedTensionPneumothorax();
159  const SETensionPneumothorax* GetRightClosedTensionPneumothorax() const;
160  void RemoveRightClosedTensionPneumothorax();
161 
162  bool HasRightOpenTensionPneumothorax() const;
163  SETensionPneumothorax* GetRightOpenTensionPneumothorax();
164  const SETensionPneumothorax* GetRightOpenTensionPneumothorax() const;
165  void RemoveRightOpenTensionPneumothorax();
166 
167  const std::map<const SESubstance*, SESubstanceBolus*>& GetSubstanceBoluses() const;
168  void RemoveSubstanceBolus(const SESubstance& sub);
169 
170  const std::map<const SESubstance*, SESubstanceInfusion*>& GetSubstanceInfusions() const;
171  void RemoveSubstanceInfusion(const SESubstance& sub);
172 
173  const std::map<const SESubstanceCompound*, SESubstanceCompoundInfusion*>& GetSubstanceCompoundInfusions() const;
174  void RemoveSubstanceCompoundInfusion(const SESubstanceCompound& sub);
175 
176  bool HasUrinate() const;
177  SEUrinate* GetUrinate();
178  const SEUrinate* GetUrinate() const;
179  void RemoveUrinate();
180 
181  void GetAllActions(std::vector<const SEAction*>& v) const;
182 
183 protected:
184  void Clear();
185  bool ProcessAction(const SEPatientAction& action);
186 
210 
211  std::map<std::string, SEHemorrhage*> m_Hemorrhages;
212  std::map<const SESubstance*,SESubstanceBolus*> m_SubstanceBolus;
213  std::map<const SESubstance*,SESubstanceInfusion*> m_SubstanceInfusions;
214  std::map<const SESubstanceCompound*,SESubstanceCompoundInfusion*> m_SubstanceCompoundInfusions;
215 
217 };
SEUrinate * m_Urinate
Definition: SEPatientActionCollection.h:209
Definition: SESubstanceManager.h:8
Definition: SESubstanceBolus.h:29
SEAcuteStress * m_AcuteStress
Definition: SEPatientActionCollection.h:187
SETensionPneumothorax * m_RightClosedTensionPneumothorax
Definition: SEPatientActionCollection.h:207
Definition: SEPatientAction.h:7
SEAirwayObstruction * m_AirwayObstruction
Definition: SEPatientActionCollection.h:188
Definition: SEExercise.h:7
Definition: SEChestCompressionForceScale.h:7
Definition: SEUrinate.h:7
Definition: SEBrainInjury.h:11
SESubstanceManager & m_Substances
Definition: SEPatientActionCollection.h:216
Definition: SEPericardialEffusion.h:7
Definition: SEAirwayObstruction.h:7
std::map< const SESubstance *, SESubstanceInfusion * > m_SubstanceInfusions
Definition: SEPatientActionCollection.h:213
Definition: SEPatientActionCollection.h:36
SEChestCompression * m_ChestCompression
Definition: SEPatientActionCollection.h:194
SETensionPneumothorax * m_LeftOpenTensionPneumothorax
Definition: SEPatientActionCollection.h:206
Definition: SEAcuteStress.h:7
std::map< std::string, SEHemorrhage * > m_Hemorrhages
Definition: SEPatientActionCollection.h:211
Definition: SEAction.h:7
std::map< const SESubstance *, SESubstanceBolus * > m_SubstanceBolus
Definition: SEPatientActionCollection.h:212
Definition: SESubstanceCompoundInfusion.h:8
Definition: SEConsciousRespiration.h:12
void GetAllActions(std::vector< const SEAction *> &v) const
Definition: SEActionManager.cpp:108
void Clear()
Definition: SEActionManager.cpp:36
Definition: SEMechanicalVentilation.h:12
SEMechanicalVentilation * m_MechanicalVentilation
Definition: SEPatientActionCollection.h:201
Definition: SEChestOcclusiveDressing.h:7
Definition: SEActionManager.h:12
std::map< const SESubstanceCompound *, SESubstanceCompoundInfusion * > m_SubstanceCompoundInfusions
Definition: SEPatientActionCollection.h:214
Definition: SEIntubation.h:11
SECardiacArrest * m_CardiacArrest
Definition: SEPatientActionCollection.h:193
Definition: Logger.h:11
SETensionPneumothorax * m_RightOpenTensionPneumothorax
Definition: SEPatientActionCollection.h:208
Definition: SEConsumeNutrients.h:9
SENeedleDecompression * m_LeftNeedleDecompression
Definition: SEPatientActionCollection.h:202
SEChestOcclusiveDressing * m_LeftChestOcclusiveDressing
Definition: SEPatientActionCollection.h:195
SEChestOcclusiveDressing * m_RightChestOcclusiveDressing
Definition: SEPatientActionCollection.h:196
bool ProcessAction(const SEAction &action)
Definition: SEActionManager.cpp:74
Definition: PBEngine.h:24
SEAsthmaAttack * m_AsthmaAttack
Definition: SEPatientActionCollection.h:190
SEExercise * m_Exercise
Definition: SEPatientActionCollection.h:199
Definition: SEAsthmaAttack.h:7
Definition: SEBronchoconstriction.h:7
Definition: SEHemorrhage.h:11
SETensionPneumothorax * m_LeftClosedTensionPneumothorax
Definition: SEPatientActionCollection.h:205
SEApnea * m_Apnea
Definition: SEPatientActionCollection.h:189
Definition: SESubstanceCompound.h:9
Definition: SENeedleDecompression.h:7
Definition: SEChestCompressionForce.h:7
Definition: SETensionPneumothorax.h:7
Definition: SECardiacArrest.h:7
SEBrainInjury * m_BrainInjury
Definition: SEPatientActionCollection.h:191
Definition: SESubstanceInfusion.h:8
SEIntubation * m_Intubation
Definition: SEPatientActionCollection.h:200
SEConsciousRespiration * m_ConsciousRespiration
Definition: SEPatientActionCollection.h:197
Definition: SEApnea.h:7
SEConsumeNutrients * m_ConsumeNutrients
Definition: SEPatientActionCollection.h:198
Definition: SESubstance.h:14
SENeedleDecompression * m_RightNeedleDecompression
Definition: SEPatientActionCollection.h:203
Definition: SEPatientAssessmentRequest.h:8
SEBronchoconstriction * m_Bronchoconstriction
Definition: SEPatientActionCollection.h:192
SEPericardialEffusion * m_PericardialEffusion
Definition: SEPatientActionCollection.h:204
Definition: SEChestCompression.h:7