SEPatientActionCollection.h
1/* Distributed under the Apache License, Version 2.0.
2 See accompanying NOTICE file for details.*/
3
4#pragma once
5class SEAction;
8class SEAcuteStress;
10class SEAsthmaAttack;
11class SEArrhythmia;
12class SEBrainInjury;
22class SEDyspnea;
23class SEExercise;
24class SEHemorrhage;
25enum class eHemorrhage_Compartment;
26class SEHemothorax;
28class SEIntubation;
43class SEUrinate;
45class SESubstance;
48
49class CDM_DECL SEPatientActionCollection : public Loggable
50{
51 friend class PBEngine;//friend the serialization class
52 friend class SEActionManager;
53protected:
55public:
57
58 bool HasAcuteRespiratoryDistressSyndromeExacerbation() const;
59 SEAcuteRespiratoryDistressSyndromeExacerbation& GetAcuteRespiratoryDistressSyndromeExacerbation();
60 const SEAcuteRespiratoryDistressSyndromeExacerbation* GetAcuteRespiratoryDistressSyndromeExacerbation() const;
61 void RemoveAcuteRespiratoryDistressSyndromeExacerbation();
62
63 bool HasAcuteStress() const;
64 SEAcuteStress& GetAcuteStress();
65 const SEAcuteStress* GetAcuteStress() const;
66 void RemoveAcuteStress();
67
68 bool HasAirwayObstruction() const;
69 SEAirwayObstruction& GetAirwayObstruction();
70 const SEAirwayObstruction* GetAirwayObstruction() const;
71 void RemoveAirwayObstruction();
72
73 bool HasArrhythmia() const;
74 SEArrhythmia& GetArrhythmia();
75 const SEArrhythmia* GetArrhythmia() const;
76 void RemoveArrhythmia();
77
78 bool HasAsthmaAttack() const;
79 SEAsthmaAttack& GetAsthmaAttack();
80 const SEAsthmaAttack* GetAsthmaAttack() const;
81 void RemoveAsthmaAttack();
82
83 bool HasBrainInjury() const;
84 SEBrainInjury& GetBrainInjury();
85 const SEBrainInjury* GetBrainInjury() const;
86 void RemoveBrainInjury();
87
88 bool HasBronchoconstriction() const;
89 SEBronchoconstriction& GetBronchoconstriction();
90 const SEBronchoconstriction* GetBronchoconstriction() const;
91 void RemoveBronchoconstriction();
92
93 bool HasCardiovascularMechanicsModification() const;
94 SECardiovascularMechanicsModification& GetCardiovascularMechanicsModification();
95 const SECardiovascularMechanicsModification* GetCardiovascularMechanicsModification() const;
96 void RemoveCardiovascularMechanicsModification();
97
98 bool HasActiveCPRAction() const;
99
100 bool HasChestCompression() const;
101 SEChestCompression& GetChestCompression();
102 const SEChestCompression* GetChestCompression() const;
103 void RemoveChestCompression();
104
105 bool HasChestCompressionAutomated() const;
106 SEChestCompressionAutomated& GetChestCompressionAutomated();
107 const SEChestCompressionAutomated* GetChestCompressionAutomated() const;
108 void RemoveChestCompressionAutomated();
109
110 bool HasChestCompressionInstantaneous() const;
111 SEChestCompressionInstantaneous& GetChestCompressionInstantaneous();
112 const SEChestCompressionInstantaneous* GetChestCompressionInstantaneous() const;
113 void RemoveChestCompressionInstantaneous();
114
115 bool HasChestOcclusiveDressing() const;
116 bool HasLeftChestOcclusiveDressing() const;
117 SEChestOcclusiveDressing& GetLeftChestOcclusiveDressing();
118 const SEChestOcclusiveDressing* GetLeftChestOcclusiveDressing() const;
119 void RemoveLeftChestOcclusiveDressing();
120 bool HasRightChestOcclusiveDressing() const;
121 SEChestOcclusiveDressing& GetRightChestOcclusiveDressing();
122 const SEChestOcclusiveDressing* GetRightChestOcclusiveDressing() const;
123 void RemoveRightChestOcclusiveDressing();
124
125 bool HasChronicObstructivePulmonaryDiseaseExacerbation() const;
126 SEChronicObstructivePulmonaryDiseaseExacerbation& GetChronicObstructivePulmonaryDiseaseExacerbation();
127 const SEChronicObstructivePulmonaryDiseaseExacerbation* GetChronicObstructivePulmonaryDiseaseExacerbation() const;
128 void RemoveChronicObstructivePulmonaryDiseaseExacerbation();
129
130 bool HasConsciousRespiration() const;
131 SEConsciousRespiration& GetConsciousRespiration();
132 const SEConsciousRespiration* GetConsciousRespiration() const;
133 void RemoveConsciousRespiration();
134
135 bool HasConsumeNutrients() const;
136 SEConsumeNutrients& GetConsumeNutrients();
137 const SEConsumeNutrients* GetConsumeNutrients() const;
138 void RemoveConsumeNutrients();
139
140 bool HasDyspnea() const;
141 SEDyspnea& GetDyspnea();
142 const SEDyspnea* GetDyspnea() const;
143 void RemoveDyspnea();
144
145 bool HasExercise() const;
146 SEExercise& GetExercise();
147 const SEExercise* GetExercise() const;
148 void RemoveExercise();
149
150 bool HasHemorrhage() const;
151 bool HasHemorrhage(eHemorrhage_Compartment cmpt) const;
152 SEHemorrhage& GetHemorrhage(eHemorrhage_Compartment cmpt);
153 const SEHemorrhage* GetHemorrhage(eHemorrhage_Compartment cmpt) const;
154 const std::vector<SEHemorrhage*>& GetHemorrhages();
155 const std::vector<const SEHemorrhage*> GetHemorrhages() const;
156 void RemoveHemorrhage(eHemorrhage_Compartment cmpt);
157
158 bool HasHemothorax() const;
159
160 bool HasLeftHemothorax() const;
161 SEHemothorax& GetLeftHemothorax();
162 const SEHemothorax* GetLeftHemothorax() const;
163 void RemoveLeftHemothorax();
164
165 bool HasRightHemothorax() const;
166 SEHemothorax& GetRightHemothorax();
167 const SEHemothorax* GetRightHemothorax() const;
168 void RemoveRightHemothorax();
169
170 bool HasImpairedAlveolarExchangeExacerbation() const;
171 SEImpairedAlveolarExchangeExacerbation& GetImpairedAlveolarExchangeExacerbation();
172 const SEImpairedAlveolarExchangeExacerbation* GetImpairedAlveolarExchangeExacerbation() const;
173 void RemoveImpairedAlveolarExchangeExacerbation();
174
175 bool HasIntubation() const;
176 SEIntubation& GetIntubation();
177 const SEIntubation* GetIntubation() const;
178 void RemoveIntubation();
179
180 bool HasMechanicalVentilation() const;
181 SEMechanicalVentilation& GetMechanicalVentilation();
182 const SEMechanicalVentilation* GetMechanicalVentilation() const;
183 void RemoveMechanicalVentilation();
184
185 bool HasNeedleDecompression() const;
186 bool HasLeftNeedleDecompression() const;
187 SENeedleDecompression& GetLeftNeedleDecompression();
188 const SENeedleDecompression* GetLeftNeedleDecompression() const;
189 void RemoveLeftNeedleDecompression();
190
191 bool HasRightNeedleDecompression() const;
192 SENeedleDecompression& GetRightNeedleDecompression();
193 const SENeedleDecompression* GetRightNeedleDecompression() const;
194 void RemoveRightNeedleDecompression();
195
196 bool HasPericardialEffusion() const;
197 SEPericardialEffusion& GetPericardialEffusion();
198 const SEPericardialEffusion* GetPericardialEffusion() const;
199 void RemovePericardialEffusion();
200
201 bool HasPneumoniaExacerbation() const;
202 SEPneumoniaExacerbation& GetPneumoniaExacerbation();
203 const SEPneumoniaExacerbation* GetPneumoniaExacerbation() const;
204 void RemovePneumoniaExacerbation();
205
206 bool HasPulmonaryShuntExacerbation() const;
207 SEPulmonaryShuntExacerbation& GetPulmonaryShuntExacerbation();
208 const SEPulmonaryShuntExacerbation* GetPulmonaryShuntExacerbation() const;
209 void RemovePulmonaryShuntExacerbation();
210
211 bool HasRespiratoryFatigue() const;
212 SERespiratoryFatigue& GetRespiratoryFatigue();
213 const SERespiratoryFatigue* GetRespiratoryFatigue() const;
214 void RemoveRespiratoryFatigue();
215
216 bool HasRespiratoryMechanicsConfiguration() const;
217 SERespiratoryMechanicsConfiguration& GetRespiratoryMechanicsConfiguration();
218 const SERespiratoryMechanicsConfiguration* GetRespiratoryMechanicsConfiguration() const;
219 void RemoveRespiratoryMechanicsConfiguration();
220
221 bool HasRespiratoryMechanicsModification() const;
222 SERespiratoryMechanicsModification& GetRespiratoryMechanicsModification();
223 const SERespiratoryMechanicsModification* GetRespiratoryMechanicsModification() const;
224 void RemoveRespiratoryMechanicsModification();
225
226 bool HasSubstanceBolus() const;
227 bool HasSubstanceBolus(const SESubstance& sub) const;
228 SESubstanceBolus& GetSubstanceBolus(const SESubstance& sub);
229 const SESubstanceBolus* GetSubstanceBolus(const SESubstance& sub) const;
230 const std::vector<SESubstanceBolus*>& GetSubstanceBoluses();
231 const std::vector<const SESubstanceBolus*> GetSubstanceBoluses() const;
232 void RemoveSubstanceBolus(const SESubstance& sub);
233
234 bool HasSubstanceInfusion() const;
235 bool HasSubstanceInfusion(const SESubstance& sub) const;
236 SESubstanceInfusion& GetSubstanceInfusion(const SESubstance& sub);
237 const SESubstanceInfusion* GetSubstanceInfusion(const SESubstance& sub) const;
238 const std::vector<SESubstanceInfusion*>& GetSubstanceInfusions();
239 const std::vector<const SESubstanceInfusion*> GetSubstanceInfusions() const;
240 void RemoveSubstanceInfusion(const SESubstance& sub);
241
242 bool HasSubstanceCompoundInfusion() const;
243 bool HasSubstanceCompoundInfusion(const SESubstanceCompound& sub) const;
244 SESubstanceCompoundInfusion& GetSubstanceCompoundInfusion(const SESubstanceCompound& sub);
245 const SESubstanceCompoundInfusion* GetSubstanceCompoundInfusion(const SESubstanceCompound& sub) const;
246 const std::vector<SESubstanceCompoundInfusion*>& GetSubstanceCompoundInfusions();
247 const std::vector<const SESubstanceCompoundInfusion*> GetSubstanceCompoundInfusions() const;
248 void RemoveSubstanceCompoundInfusion(const SESubstanceCompound& sub);
249
250 bool HasSupplementalOxygen() const;
251 SESupplementalOxygen& GetSupplementalOxygen();
252 const SESupplementalOxygen* GetSupplementalOxygen() const;
253 void RemoveSupplementalOxygen();
254
255 bool HasTensionPneumothorax() const;
256
257 bool HasLeftClosedTensionPneumothorax() const;
258 SETensionPneumothorax& GetLeftClosedTensionPneumothorax();
259 const SETensionPneumothorax* GetLeftClosedTensionPneumothorax() const;
260 void RemoveLeftClosedTensionPneumothorax();
261
262 bool HasLeftOpenTensionPneumothorax() const;
263 SETensionPneumothorax& GetLeftOpenTensionPneumothorax();
264 const SETensionPneumothorax* GetLeftOpenTensionPneumothorax() const;
265 void RemoveLeftOpenTensionPneumothorax();
266
267 bool HasRightClosedTensionPneumothorax() const;
268 SETensionPneumothorax& GetRightClosedTensionPneumothorax();
269 const SETensionPneumothorax* GetRightClosedTensionPneumothorax() const;
270 void RemoveRightClosedTensionPneumothorax();
271
272 bool HasRightOpenTensionPneumothorax() const;
273 SETensionPneumothorax& GetRightOpenTensionPneumothorax();
274 const SETensionPneumothorax* GetRightOpenTensionPneumothorax() const;
275 void RemoveRightOpenTensionPneumothorax();
276
277 bool HasTubeThoracostomy() const;
278
279 bool HasLeftTubeThoracostomy() const;
280 SETubeThoracostomy& GetLeftTubeThoracostomy();
281 const SETubeThoracostomy* GetLeftTubeThoracostomy() const;
282 void RemoveLeftTubeThoracostomy();
283
284 bool HasRightTubeThoracostomy() const;
285 SETubeThoracostomy& GetRightTubeThoracostomy();
286 const SETubeThoracostomy* GetRightTubeThoracostomy() const;
287 void RemoveRightTubeThoracostomy();
288
289 bool HasUrinate() const;
290 SEUrinate& GetUrinate();
291 const SEUrinate* GetUrinate() const;
292 void RemoveUrinate();
293
294 void GetAllActions(std::vector<const SEAction*>& v) const;
295 const SEScalar* GetScalar(const std::string& actionName, const std::string& cmptName, const std::string& substance, const std::string& property);
296
297protected:
298 void Clear();
299 bool ProcessAction(const SEPatientAction& action);
300
302
342
343 std::vector<SEHemorrhage*> m_Hemorrhages;
344 std::vector<SESubstanceBolus*> m_SubstanceBoluses;
345 std::vector<SESubstanceInfusion*> m_SubstanceInfusions;
346 std::vector<SESubstanceCompoundInfusion*> m_SubstanceCompoundInfusions;
347};
Definition: Logger.h:23
Definition: PBEngine.h:31
Definition: SEAction.h:14
Definition: SEActionManager.h:12
bool ProcessAction(const SEAction &action)
Definition: SEActionManager.cpp:71
void Clear()
Definition: SEActionManager.cpp:30
const SEScalar * GetScalar(const std::string &actionName, const std::string &cmptName, const std::string &substance, const std::string &property)
Definition: SEActionManager.cpp:108
void GetAllActions(std::vector< const SEAction * > &v) const
Definition: SEActionManager.cpp:101
Definition: SEAcuteRespiratoryDistressSyndromeExacerbation.h:9
Definition: SEAcuteStress.h:8
Definition: SEAirwayObstruction.h:8
Definition: SEArrhythmia.h:9
Definition: SEAsthmaAttack.h:8
Definition: SEBrainInjury.h:12
Definition: SEBronchoconstriction.h:8
Definition: SECardiovascularMechanicsModification.h:9
Definition: SEChestCompressionAutomated.h:8
Definition: SEChestCompression.h:8
Definition: SEChestCompressionInstantaneous.h:8
Definition: SEChestOcclusiveDressing.h:8
Definition: SEChronicObstructivePulmonaryDiseaseExacerbation.h:9
Definition: SEConsciousRespiration.h:13
Definition: SEConsumeNutrients.h:10
Definition: SEDyspnea.h:8
Definition: SEExercise.h:8
Definition: SEHemorrhage.h:35
Definition: SEHemothorax.h:8
Definition: SEImpairedAlveolarExchangeExacerbation.h:7
Definition: SEIntubation.h:13
Definition: SEMechanicalVentilation.h:13
Definition: SENeedleDecompression.h:8
Definition: SEPatientActionCollection.h:50
SERespiratoryFatigue * m_RespiratoryFatigue
Definition: SEPatientActionCollection.h:331
SESubstanceManager & m_SubMgr
Definition: SEPatientActionCollection.h:301
SETubeThoracostomy * m_RightTubeThoracostomy
Definition: SEPatientActionCollection.h:340
SEMechanicalVentilation * m_MechanicalVentilation
Definition: SEPatientActionCollection.h:325
SEPulmonaryShuntExacerbation * m_PulmonaryShuntExacerbation
Definition: SEPatientActionCollection.h:330
SEArrhythmia * m_Arrhythmia
Definition: SEPatientActionCollection.h:306
SEChestCompressionAutomated * m_ChestCompressionAutomated
Definition: SEPatientActionCollection.h:312
std::vector< SESubstanceInfusion * > m_SubstanceInfusions
Definition: SEPatientActionCollection.h:345
SEConsciousRespiration * m_ConsciousRespiration
Definition: SEPatientActionCollection.h:316
SEHemothorax * m_LeftHemothorax
Definition: SEPatientActionCollection.h:321
SENeedleDecompression * m_LeftNeedleDecompression
Definition: SEPatientActionCollection.h:326
SETensionPneumothorax * m_RightOpenTensionPneumothorax
Definition: SEPatientActionCollection.h:338
SEChestOcclusiveDressing * m_LeftChestOcclusiveDressing
Definition: SEPatientActionCollection.h:314
SEImpairedAlveolarExchangeExacerbation * m_ImpairedAlveolarExchangeExacerbation
Definition: SEPatientActionCollection.h:324
SERespiratoryMechanicsModification * m_RespiratoryMechanicsModification
Definition: SEPatientActionCollection.h:333
SENeedleDecompression * m_RightNeedleDecompression
Definition: SEPatientActionCollection.h:327
SECardiovascularMechanicsModification * m_CardiovascularMechanicsModification
Definition: SEPatientActionCollection.h:310
SEPericardialEffusion * m_PericardialEffusion
Definition: SEPatientActionCollection.h:328
SESupplementalOxygen * m_SupplementalOxygen
Definition: SEPatientActionCollection.h:334
SEPneumoniaExacerbation * m_PneumoniaExacerbation
Definition: SEPatientActionCollection.h:329
SEChestCompressionInstantaneous * m_ChestCompressionInstantaneous
Definition: SEPatientActionCollection.h:313
SEAcuteRespiratoryDistressSyndromeExacerbation * m_ARDSExacerbation
Definition: SEPatientActionCollection.h:303
SEHemothorax * m_RightHemothorax
Definition: SEPatientActionCollection.h:322
SEExercise * m_Exercise
Definition: SEPatientActionCollection.h:320
SEDyspnea * m_Dyspnea
Definition: SEPatientActionCollection.h:319
SEAsthmaAttack * m_AsthmaAttack
Definition: SEPatientActionCollection.h:307
SEBrainInjury * m_BrainInjury
Definition: SEPatientActionCollection.h:308
SETensionPneumothorax * m_LeftClosedTensionPneumothorax
Definition: SEPatientActionCollection.h:335
SEChronicObstructivePulmonaryDiseaseExacerbation * m_COPDExacerbation
Definition: SEPatientActionCollection.h:318
SEUrinate * m_Urinate
Definition: SEPatientActionCollection.h:341
SEAirwayObstruction * m_AirwayObstruction
Definition: SEPatientActionCollection.h:305
SEIntubation * m_Intubation
Definition: SEPatientActionCollection.h:323
std::vector< SEHemorrhage * > m_Hemorrhages
Definition: SEPatientActionCollection.h:343
SETubeThoracostomy * m_LeftTubeThoracostomy
Definition: SEPatientActionCollection.h:339
SETensionPneumothorax * m_LeftOpenTensionPneumothorax
Definition: SEPatientActionCollection.h:336
SEChestOcclusiveDressing * m_RightChestOcclusiveDressing
Definition: SEPatientActionCollection.h:315
SETensionPneumothorax * m_RightClosedTensionPneumothorax
Definition: SEPatientActionCollection.h:337
SEAcuteStress * m_AcuteStress
Definition: SEPatientActionCollection.h:304
SEBronchoconstriction * m_Bronchoconstriction
Definition: SEPatientActionCollection.h:309
SERespiratoryMechanicsConfiguration * m_RespiratoryMechanicsConfiguration
Definition: SEPatientActionCollection.h:332
SEChestCompression * m_ChestCompression
Definition: SEPatientActionCollection.h:311
std::vector< SESubstanceCompoundInfusion * > m_SubstanceCompoundInfusions
Definition: SEPatientActionCollection.h:346
SEConsumeNutrients * m_ConsumeNutrients
Definition: SEPatientActionCollection.h:317
std::vector< SESubstanceBolus * > m_SubstanceBoluses
Definition: SEPatientActionCollection.h:344
Definition: SEPatientAction.h:8
Definition: SEPatientAssessmentRequest.h:9
Definition: SEPericardialEffusion.h:8
Definition: SEPneumoniaExacerbation.h:9
Definition: SEPulmonaryShuntExacerbation.h:8
Definition: SERespiratoryFatigue.h:8
Definition: SERespiratoryMechanicsConfiguration.h:9
Definition: SERespiratoryMechanicsModification.h:9
Definition: SEScalar.h:19
Definition: SESubstanceBolus.h:9
Definition: SESubstanceCompound.h:10
Definition: SESubstanceCompoundInfusion.h:9
Definition: SESubstance.h:15
Definition: SESubstanceInfusion.h:9
Definition: SESubstanceManager.h:9
Definition: SESupplementalOxygen.h:13
Definition: SETensionPneumothorax.h:8
Definition: SETubeThoracostomy.h:8
Definition: SEUrinate.h:8

Distributed under the Apache License, Version 2.0.

See accompanying NOTICE file for details.