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;
8 class SEAcuteStress;
10 class SEAsthmaAttack;
11 class SEArrhythmia;
12 class SEBrainInjury;
15 class SEChestCompression;
20 class SEConsumeNutrients;
22 class SEDyspnea;
23 class SEExercise;
24 class SEHemorrhage;
25 enum class eHemorrhage_Compartment;
26 class SEHemothorax;
28 class SEIntubation;
37 class SESubstanceBolus;
42 class SETubeThoracostomy;
43 class SEUrinate;
45 class SESubstance;
47 class SESubstanceManager;
48 
49 class CDM_DECL SEPatientActionCollection : public Loggable
50 {
51  friend class PBEngine;//friend the serialization class
52  friend class SEActionManager;
53 protected:
55 public:
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 
297 protected:
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.