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;
21class SEDyspnea;
22class SEExercise;
23class SEHemorrhage;
24enum class eHemorrhage_Compartment;
26class SEIntubation;
39class SEUrinate;
41class SESubstance;
44
45class CDM_DECL SEPatientActionCollection : public Loggable
46{
47 friend class PBEngine;//friend the serialization class
48 friend class SEActionManager;
49protected:
51public:
53
54 bool HasAcuteRespiratoryDistressSyndromeExacerbation() const;
55 SEAcuteRespiratoryDistressSyndromeExacerbation& GetAcuteRespiratoryDistressSyndromeExacerbation();
56 const SEAcuteRespiratoryDistressSyndromeExacerbation* GetAcuteRespiratoryDistressSyndromeExacerbation() const;
57 void RemoveAcuteRespiratoryDistressSyndromeExacerbation();
58
59 bool HasAcuteStress() const;
60 SEAcuteStress& GetAcuteStress();
61 const SEAcuteStress* GetAcuteStress() const;
62 void RemoveAcuteStress();
63
64 bool HasAirwayObstruction() const;
65 SEAirwayObstruction& GetAirwayObstruction();
66 const SEAirwayObstruction* GetAirwayObstruction() const;
67 void RemoveAirwayObstruction();
68
69 bool HasArrhythmia() const;
70 SEArrhythmia& GetArrhythmia();
71 const SEArrhythmia* GetArrhythmia() const;
72 void RemoveArrhythmia();
73
74 bool HasAsthmaAttack() const;
75 SEAsthmaAttack& GetAsthmaAttack();
76 const SEAsthmaAttack* GetAsthmaAttack() const;
77 void RemoveAsthmaAttack();
78
79 bool HasBrainInjury() const;
80 SEBrainInjury& GetBrainInjury();
81 const SEBrainInjury* GetBrainInjury() const;
82 void RemoveBrainInjury();
83
84 bool HasBronchoconstriction() const;
85 SEBronchoconstriction& GetBronchoconstriction();
86 const SEBronchoconstriction* GetBronchoconstriction() const;
87 void RemoveBronchoconstriction();
88
89 bool HasActiveCPRAction() const;
90
91 bool HasChestCompression() const;
92 SEChestCompression& GetChestCompression();
93 const SEChestCompression* GetChestCompression() const;
94 void RemoveChestCompression();
95
96 bool HasChestCompressionAutomated() const;
97 SEChestCompressionAutomated& GetChestCompressionAutomated();
98 const SEChestCompressionAutomated* GetChestCompressionAutomated() const;
99 void RemoveChestCompressionAutomated();
100
101 bool HasChestCompressionInstantaneous() const;
102 SEChestCompressionInstantaneous& GetChestCompressionInstantaneous();
103 const SEChestCompressionInstantaneous* GetChestCompressionInstantaneous() const;
104 void RemoveChestCompressionInstantaneous();
105
106 bool HasChestOcclusiveDressing() const;
107 bool HasLeftChestOcclusiveDressing() const;
108 SEChestOcclusiveDressing& GetLeftChestOcclusiveDressing();
109 const SEChestOcclusiveDressing* GetLeftChestOcclusiveDressing() const;
110 void RemoveLeftChestOcclusiveDressing();
111 bool HasRightChestOcclusiveDressing() const;
112 SEChestOcclusiveDressing& GetRightChestOcclusiveDressing();
113 const SEChestOcclusiveDressing* GetRightChestOcclusiveDressing() const;
114 void RemoveRightChestOcclusiveDressing();
115
116 bool HasChronicObstructivePulmonaryDiseaseExacerbation() const;
117 SEChronicObstructivePulmonaryDiseaseExacerbation& GetChronicObstructivePulmonaryDiseaseExacerbation();
118 const SEChronicObstructivePulmonaryDiseaseExacerbation* GetChronicObstructivePulmonaryDiseaseExacerbation() const;
119 void RemoveChronicObstructivePulmonaryDiseaseExacerbation();
120
121 bool HasConsciousRespiration() const;
122 SEConsciousRespiration& GetConsciousRespiration();
123 const SEConsciousRespiration* GetConsciousRespiration() const;
124 void RemoveConsciousRespiration();
125
126 bool HasConsumeNutrients() const;
127 SEConsumeNutrients& GetConsumeNutrients();
128 const SEConsumeNutrients* GetConsumeNutrients() const;
129 void RemoveConsumeNutrients();
130
131 bool HasDyspnea() const;
132 SEDyspnea& GetDyspnea();
133 const SEDyspnea* GetDyspnea() const;
134 void RemoveDyspnea();
135
136 bool HasExercise() const;
137 SEExercise& GetExercise();
138 const SEExercise* GetExercise() const;
139 void RemoveExercise();
140
141 bool HasHemorrhage() const;
142 bool HasHemorrhage(eHemorrhage_Compartment cmpt) const;
143 SEHemorrhage& GetHemorrhage(eHemorrhage_Compartment cmpt);
144 const SEHemorrhage* GetHemorrhage(eHemorrhage_Compartment cmpt) const;
145 const std::vector<SEHemorrhage*>& GetHemorrhages();
146 const std::vector<const SEHemorrhage*> GetHemorrhages() const;
147 void RemoveHemorrhage(eHemorrhage_Compartment cmpt);
148
149 bool HasImpairedAlveolarExchangeExacerbation() const;
150 SEImpairedAlveolarExchangeExacerbation& GetImpairedAlveolarExchangeExacerbation();
151 const SEImpairedAlveolarExchangeExacerbation* GetImpairedAlveolarExchangeExacerbation() const;
152 void RemoveImpairedAlveolarExchangeExacerbation();
153
154 bool HasIntubation() const;
155 SEIntubation& GetIntubation();
156 const SEIntubation* GetIntubation() const;
157 void RemoveIntubation();
158
159 bool HasLobarPneumoniaExacerbation() const;
160 SELobarPneumoniaExacerbation& GetLobarPneumoniaExacerbation();
161 const SELobarPneumoniaExacerbation* GetLobarPneumoniaExacerbation() const;
162 void RemoveLobarPneumoniaExacerbation();
163
164 bool HasMechanicalVentilation() const;
165 SEMechanicalVentilation& GetMechanicalVentilation();
166 const SEMechanicalVentilation* GetMechanicalVentilation() const;
167 void RemoveMechanicalVentilation();
168
169 bool HasNeedleDecompression() const;
170 bool HasLeftNeedleDecompression() const;
171 SENeedleDecompression& GetLeftNeedleDecompression();
172 const SENeedleDecompression* GetLeftNeedleDecompression() const;
173 void RemoveLeftNeedleDecompression();
174
175 bool HasRightNeedleDecompression() const;
176 SENeedleDecompression& GetRightNeedleDecompression();
177 const SENeedleDecompression* GetRightNeedleDecompression() const;
178 void RemoveRightNeedleDecompression();
179
180 bool HasPericardialEffusion() const;
181 SEPericardialEffusion& GetPericardialEffusion();
182 const SEPericardialEffusion* GetPericardialEffusion() const;
183 void RemovePericardialEffusion();
184
185 bool HasPulmonaryShuntExacerbation() const;
186 SEPulmonaryShuntExacerbation& GetPulmonaryShuntExacerbation();
187 const SEPulmonaryShuntExacerbation* GetPulmonaryShuntExacerbation() const;
188 void RemovePulmonaryShuntExacerbation();
189
190 bool HasRespiratoryFatigue() const;
191 SERespiratoryFatigue& GetRespiratoryFatigue();
192 const SERespiratoryFatigue* GetRespiratoryFatigue() const;
193 void RemoveRespiratoryFatigue();
194
195 bool HasRespiratoryMechanicsConfiguration() const;
196 SERespiratoryMechanicsConfiguration& GetRespiratoryMechanicsConfiguration();
197 const SERespiratoryMechanicsConfiguration* GetRespiratoryMechanicsConfiguration() const;
198 void RemoveRespiratoryMechanicsConfiguration();
199
200 bool HasSubstanceBolus() const;
201 bool HasSubstanceBolus(const SESubstance& sub) const;
202 SESubstanceBolus& GetSubstanceBolus(const SESubstance& sub);
203 const SESubstanceBolus* GetSubstanceBolus(const SESubstance& sub) const;
204 const std::vector<SESubstanceBolus*>& GetSubstanceBoluses();
205 const std::vector<const SESubstanceBolus*> GetSubstanceBoluses() const;
206 void RemoveSubstanceBolus(const SESubstance& sub);
207
208 bool HasSubstanceInfusion() const;
209 bool HasSubstanceInfusion(const SESubstance& sub) const;
210 SESubstanceInfusion& GetSubstanceInfusion(const SESubstance& sub);
211 const SESubstanceInfusion* GetSubstanceInfusion(const SESubstance& sub) const;
212 const std::vector<SESubstanceInfusion*>& GetSubstanceInfusions();
213 const std::vector<const SESubstanceInfusion*> GetSubstanceInfusions() const;
214 void RemoveSubstanceInfusion(const SESubstance& sub);
215
216 bool HasSubstanceCompoundInfusion() const;
217 bool HasSubstanceCompoundInfusion(const SESubstanceCompound& sub) const;
218 SESubstanceCompoundInfusion& GetSubstanceCompoundInfusion(const SESubstanceCompound& sub);
219 const SESubstanceCompoundInfusion* GetSubstanceCompoundInfusion(const SESubstanceCompound& sub) const;
220 const std::vector<SESubstanceCompoundInfusion*>& GetSubstanceCompoundInfusions();
221 const std::vector<const SESubstanceCompoundInfusion*> GetSubstanceCompoundInfusions() const;
222 void RemoveSubstanceCompoundInfusion(const SESubstanceCompound& sub);
223
224 bool HasSupplementalOxygen() const;
225 SESupplementalOxygen& GetSupplementalOxygen();
226 const SESupplementalOxygen* GetSupplementalOxygen() const;
227 void RemoveSupplementalOxygen();
228
229 bool HasTensionPneumothorax() const;
230
231 bool HasLeftClosedTensionPneumothorax() const;
232 SETensionPneumothorax& GetLeftClosedTensionPneumothorax();
233 const SETensionPneumothorax* GetLeftClosedTensionPneumothorax() const;
234 void RemoveLeftClosedTensionPneumothorax();
235
236 bool HasLeftOpenTensionPneumothorax() const;
237 SETensionPneumothorax& GetLeftOpenTensionPneumothorax();
238 const SETensionPneumothorax* GetLeftOpenTensionPneumothorax() const;
239 void RemoveLeftOpenTensionPneumothorax();
240
241 bool HasRightClosedTensionPneumothorax() const;
242 SETensionPneumothorax& GetRightClosedTensionPneumothorax();
243 const SETensionPneumothorax* GetRightClosedTensionPneumothorax() const;
244 void RemoveRightClosedTensionPneumothorax();
245
246 bool HasRightOpenTensionPneumothorax() const;
247 SETensionPneumothorax& GetRightOpenTensionPneumothorax();
248 const SETensionPneumothorax* GetRightOpenTensionPneumothorax() const;
249 void RemoveRightOpenTensionPneumothorax();
250
251 bool HasUrinate() const;
252 SEUrinate& GetUrinate();
253 const SEUrinate* GetUrinate() const;
254 void RemoveUrinate();
255
256 void GetAllActions(std::vector<const SEAction*>& v) const;
257 const SEScalar* GetScalar(const std::string& actionName, const std::string& cmptName, const std::string& substance, const std::string& property);
258
259protected:
260 void Clear();
261 bool ProcessAction(const SEPatientAction& action);
262
264
298
299 std::vector<SEHemorrhage*> m_Hemorrhages;
300 std::vector<SESubstanceBolus*> m_SubstanceBoluses;
301 std::vector<SESubstanceInfusion*> m_SubstanceInfusions;
302 std::vector<SESubstanceCompoundInfusion*> m_SubstanceCompoundInfusions;
303};
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:8
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: SEChestCompressionAutomated.h:8
Definition: SEChestCompression.h:8
Definition: SEChestCompressionInstantaneous.h:8
Definition: SEChestOcclusiveDressing.h:8
Definition: SEChronicObstructivePulmonaryDiseaseExacerbation.h:8
Definition: SEConsciousRespiration.h:13
Definition: SEConsumeNutrients.h:10
Definition: SEDyspnea.h:8
Definition: SEExercise.h:8
Definition: SEHemorrhage.h:35
Definition: SEImpairedAlveolarExchangeExacerbation.h:7
Definition: SEIntubation.h:13
Definition: SELobarPneumoniaExacerbation.h:8
Definition: SEMechanicalVentilation.h:13
Definition: SENeedleDecompression.h:8
Definition: SEPatientActionCollection.h:46
SERespiratoryFatigue * m_RespiratoryFatigue
Definition: SEPatientActionCollection.h:290
SESubstanceManager & m_SubMgr
Definition: SEPatientActionCollection.h:263
SEMechanicalVentilation * m_MechanicalVentilation
Definition: SEPatientActionCollection.h:285
SEPulmonaryShuntExacerbation * m_PulmonaryShuntExacerbation
Definition: SEPatientActionCollection.h:289
SEArrhythmia * m_Arrhythmia
Definition: SEPatientActionCollection.h:268
SEChestCompressionAutomated * m_ChestCompressionAutomated
Definition: SEPatientActionCollection.h:273
std::vector< SESubstanceInfusion * > m_SubstanceInfusions
Definition: SEPatientActionCollection.h:301
SEConsciousRespiration * m_ConsciousRespiration
Definition: SEPatientActionCollection.h:277
SENeedleDecompression * m_LeftNeedleDecompression
Definition: SEPatientActionCollection.h:286
SETensionPneumothorax * m_RightOpenTensionPneumothorax
Definition: SEPatientActionCollection.h:296
SEChestOcclusiveDressing * m_LeftChestOcclusiveDressing
Definition: SEPatientActionCollection.h:275
SEImpairedAlveolarExchangeExacerbation * m_ImpairedAlveolarExchangeExacerbation
Definition: SEPatientActionCollection.h:283
SENeedleDecompression * m_RightNeedleDecompression
Definition: SEPatientActionCollection.h:287
SEPericardialEffusion * m_PericardialEffusion
Definition: SEPatientActionCollection.h:288
SESupplementalOxygen * m_SupplementalOxygen
Definition: SEPatientActionCollection.h:292
SEChestCompressionInstantaneous * m_ChestCompressionInstantaneous
Definition: SEPatientActionCollection.h:274
SEAcuteRespiratoryDistressSyndromeExacerbation * m_ARDSExacerbation
Definition: SEPatientActionCollection.h:265
SEExercise * m_Exercise
Definition: SEPatientActionCollection.h:281
SEDyspnea * m_Dyspnea
Definition: SEPatientActionCollection.h:280
SEAsthmaAttack * m_AsthmaAttack
Definition: SEPatientActionCollection.h:269
SEBrainInjury * m_BrainInjury
Definition: SEPatientActionCollection.h:270
SETensionPneumothorax * m_LeftClosedTensionPneumothorax
Definition: SEPatientActionCollection.h:293
SEChronicObstructivePulmonaryDiseaseExacerbation * m_COPDExacerbation
Definition: SEPatientActionCollection.h:279
SEUrinate * m_Urinate
Definition: SEPatientActionCollection.h:297
SEAirwayObstruction * m_AirwayObstruction
Definition: SEPatientActionCollection.h:267
SEIntubation * m_Intubation
Definition: SEPatientActionCollection.h:282
SELobarPneumoniaExacerbation * m_LobarPneumoniaExacerbation
Definition: SEPatientActionCollection.h:284
std::vector< SEHemorrhage * > m_Hemorrhages
Definition: SEPatientActionCollection.h:299
SETensionPneumothorax * m_LeftOpenTensionPneumothorax
Definition: SEPatientActionCollection.h:294
SEChestOcclusiveDressing * m_RightChestOcclusiveDressing
Definition: SEPatientActionCollection.h:276
SETensionPneumothorax * m_RightClosedTensionPneumothorax
Definition: SEPatientActionCollection.h:295
SEAcuteStress * m_AcuteStress
Definition: SEPatientActionCollection.h:266
SEBronchoconstriction * m_Bronchoconstriction
Definition: SEPatientActionCollection.h:271
SERespiratoryMechanicsConfiguration * m_RespiratoryMechanicsConfiguration
Definition: SEPatientActionCollection.h:291
SEChestCompression * m_ChestCompression
Definition: SEPatientActionCollection.h:272
std::vector< SESubstanceCompoundInfusion * > m_SubstanceCompoundInfusions
Definition: SEPatientActionCollection.h:302
SEConsumeNutrients * m_ConsumeNutrients
Definition: SEPatientActionCollection.h:278
std::vector< SESubstanceBolus * > m_SubstanceBoluses
Definition: SEPatientActionCollection.h:300
Definition: SEPatientAction.h:8
Definition: SEPatientAssessmentRequest.h:9
Definition: SEPericardialEffusion.h:8
Definition: SEPulmonaryShuntExacerbation.h:8
Definition: SERespiratoryFatigue.h:8
Definition: SERespiratoryMechanicsConfiguration.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: SEUrinate.h:8

Distributed under the Apache License, Version 2.0.

See accompanying NOTICE file for details.