SEEquipmentActionCollection.h
1/* Distributed under the Apache License, Version 2.0.
2 See accompanying NOTICE file for details.*/
3
4#pragma once
5class SEAction;
22class SEBagValveMask;
28class SEECMO;
29class SEECMOAction;
31class SEInhaler;
32class SEInhalerAction;
43CDM_BIND_DECL(ActionListData)
44CDM_BIND_DECL(AnyEquipmentActionData)
45
47{
48 friend class PBEngine;//friend the serialization class
49 friend class SEActionManager;
50protected:
52public:
54
55 // STATE ACTION
56 bool HasAnesthesiaMachineConfiguration() const;
57 SEAnesthesiaMachineConfiguration& GetAnesthesiaMachineConfiguration();
58 const SEAnesthesiaMachineConfiguration* GetAnesthesiaMachineConfiguration() const;
59 void RemoveAnesthesiaMachineConfiguration();
60
61 bool HasBagValveMaskConfiguration() const;
62 SEBagValveMaskConfiguration& GetBagValveMaskConfiguration();
63 const SEBagValveMaskConfiguration* GetBagValveMaskConfiguration() const;
64 void RemoveBagValveMaskConfiguration();
65
66 bool HasECMOConfiguration() const;
67 SEECMOConfiguration& GetECMOConfiguration();
68 const SEECMOConfiguration* GetECMOConfiguration() const;
69 void RemoveECMOConfiguration();
70
71 bool HasInhalerConfiguration() const;
72 SEInhalerConfiguration& GetInhalerConfiguration();
73 const SEInhalerConfiguration* GetInhalerConfiguration() const;
74 void RemoveInhalerConfiguration();
75
76 bool HasMechanicalVentilatorConfiguration() const;
77 SEMechanicalVentilatorConfiguration& GetMechanicalVentilatorConfiguration();
78 const SEMechanicalVentilatorConfiguration* GetMechanicalVentilatorConfiguration() const;
79 void RemoveMechanicalVentilatorConfiguration();
80
81 // INCIDENT ACTIONS
82
83 bool HasAnesthesiaMachineOxygenTankPressureLoss() const;
84 SEAnesthesiaMachineOxygenTankPressureLoss& GetAnesthesiaMachineOxygenTankPressureLoss();
85 const SEAnesthesiaMachineOxygenTankPressureLoss* GetAnesthesiaMachineOxygenTankPressureLoss() const;
86 void RemoveAnesthesiaMachineOxygenTankPressureLoss();
87
88 bool HasAnesthesiaMachineOxygenWallPortPressureLoss() const;
89 SEAnesthesiaMachineOxygenWallPortPressureLoss& GetAnesthesiaMachineOxygenWallPortPressureLoss();
90 const SEAnesthesiaMachineOxygenWallPortPressureLoss* GetAnesthesiaMachineOxygenWallPortPressureLoss() const;
91 void RemoveAnesthesiaMachineOxygenWallPortPressureLoss();
92
93 // FAILURE ACTIONS
94
95 bool HasAnesthesiaMachineExpiratoryValveLeak() const;
96 SEAnesthesiaMachineExpiratoryValveLeak& GetAnesthesiaMachineExpiratoryValveLeak();
97 const SEAnesthesiaMachineExpiratoryValveLeak* GetAnesthesiaMachineExpiratoryValveLeak() const;
98 void RemoveAnesthesiaMachineExpiratoryValveLeak();
99
100 bool HasAnesthesiaMachineExpiratoryValveObstruction() const;
101 SEAnesthesiaMachineExpiratoryValveObstruction& GetAnesthesiaMachineExpiratoryValveObstruction();
102 const SEAnesthesiaMachineExpiratoryValveObstruction* GetAnesthesiaMachineExpiratoryValveObstruction() const;
103 void RemoveAnesthesiaMachineExpiratoryValveObstruction();
104
105 bool HasAnesthesiaMachineInspiratoryValveLeak() const;
106 SEAnesthesiaMachineInspiratoryValveLeak& GetAnesthesiaMachineInspiratoryValveLeak();
107 const SEAnesthesiaMachineInspiratoryValveLeak* GetAnesthesiaMachineInspiratoryValveLeak() const;
108 void RemoveAnesthesiaMachineInspiratoryValveLeak();
109
110 bool HasAnesthesiaMachineInspiratoryValveObstruction() const;
111 SEAnesthesiaMachineInspiratoryValveObstruction& GetAnesthesiaMachineInspiratoryValveObstruction();
112 const SEAnesthesiaMachineInspiratoryValveObstruction* GetAnesthesiaMachineInspiratoryValveObstruction() const;
113 void RemoveAnesthesiaMachineInspiratoryValveObstruction();
114
115 bool HasAnesthesiaMachineMaskLeak() const;
116 SEAnesthesiaMachineMaskLeak& GetAnesthesiaMachineMaskLeak();
117 const SEAnesthesiaMachineMaskLeak* GetAnesthesiaMachineMaskLeak() const;
118 void RemoveAnesthesiaMachineMaskLeak();
119
120 bool HasAnesthesiaMachineSodaLimeFailure() const;
121 SEAnesthesiaMachineSodaLimeFailure& GetAnesthesiaMachineSodaLimeFailure();
122 const SEAnesthesiaMachineSodaLimeFailure* GetAnesthesiaMachineSodaLimeFailure() const;
123 void RemoveAnesthesiaMachineSodaLimeFailure();
124
125 bool HasAnesthesiaMachineTubeCuffLeak() const;
126 SEAnesthesiaMachineTubeCuffLeak& GetAnesthesiaMachineTubeCuffLeak();
127 const SEAnesthesiaMachineTubeCuffLeak* GetAnesthesiaMachineTubeCuffLeak() const;
128 void RemoveAnesthesiaMachineTubeCuffLeak();
129
130 bool HasAnesthesiaMachineVaporizerFailure() const;
131 SEAnesthesiaMachineVaporizerFailure& GetAnesthesiaMachineVaporizerFailure();
132 const SEAnesthesiaMachineVaporizerFailure* GetAnesthesiaMachineVaporizerFailure() const;
133 void RemoveAnesthesiaMachineVaporizerFailure();
134
135 bool HasAnesthesiaMachineVentilatorPressureLoss() const;
136 SEAnesthesiaMachineVentilatorPressureLoss& GetAnesthesiaMachineVentilatorPressureLoss();
137 const SEAnesthesiaMachineVentilatorPressureLoss* GetAnesthesiaMachineVentilatorPressureLoss() const;
138 void RemoveAnesthesiaMachineVentilatorPressureLoss();
139
140 bool HasAnesthesiaMachineYPieceDisconnect() const;
141 SEAnesthesiaMachineYPieceDisconnect& GetAnesthesiaMachineYPieceDisconnect();
142 const SEAnesthesiaMachineYPieceDisconnect* GetAnesthesiaMachineYPieceDisconnect() const;
143 void RemoveAnesthesiaMachineYPieceDisconnect();
144
145 // ACTIONS
146 bool HasActiveBagValveMaskAction() const;
147
148 bool HasBagValveMaskAutomated() const;
149 SEBagValveMaskAutomated& GetBagValveMaskAutomated();
150 const SEBagValveMaskAutomated* GetBagValveMaskAutomated() const;
151 void RemoveBagValveMaskAutomated();
152
153 bool HasBagValveMaskInstantaneous() const;
154 SEBagValveMaskInstantaneous& GetBagValveMaskInstantaneous();
155 const SEBagValveMaskInstantaneous* GetBagValveMaskInstantaneous() const;
156 void RemoveBagValveMaskInstantaneous();
157
158 bool HasBagValveMaskSqueeze() const;
159 SEBagValveMaskSqueeze& GetBagValveMaskSqueeze();
160 const SEBagValveMaskSqueeze* GetBagValveMaskSqueeze() const;
161 void RemoveBagValveMaskSqueeze();
162
163 bool HasMechanicalVentilatorHold() const;
164 SEMechanicalVentilatorHold& GetMechanicalVentilatorHold();
165 const SEMechanicalVentilatorHold* GetMechanicalVentilatorHold() const;
166 void RemoveMechanicalVentilatorHold();
167
168 bool HasMechanicalVentilatorLeak() const;
169 SEMechanicalVentilatorLeak& GetMechanicalVentilatorLeak();
170 const SEMechanicalVentilatorLeak* GetMechanicalVentilatorLeak() const;
171 void RemoveMechanicalVentilatorLeak();
172
173 bool HasMechanicalVentilatorContinuousPositiveAirwayPressure() const;
174 SEMechanicalVentilatorContinuousPositiveAirwayPressure& GetMechanicalVentilatorContinuousPositiveAirwayPressure();
175 const SEMechanicalVentilatorContinuousPositiveAirwayPressure* GetMechanicalVentilatorContinuousPositiveAirwayPressure() const;
176 void RemoveMechanicalVentilatorContinuousPositiveAirwayPressure();
177
178 bool HasMechanicalVentilatorPressureControl() const;
179 SEMechanicalVentilatorPressureControl& GetMechanicalVentilatorPressureControl();
180 const SEMechanicalVentilatorPressureControl* GetMechanicalVentilatorPressureControl() const;
181 void RemoveMechanicalVentilatorPressureControl();
182
183 bool HasMechanicalVentilatorVolumeControl() const;
184 SEMechanicalVentilatorVolumeControl& GetMechanicalVentilatorVolumeControl();
185 const SEMechanicalVentilatorVolumeControl* GetMechanicalVentilatorVolumeControl() const;
186 void RemoveMechanicalVentilatorVolumeControl();
187
188 void GetAllActions(std::vector<const SEAction*>& v) const;
189 const SEScalar* GetScalar(const std::string& actionName, const std::string& cmptName, const std::string& substance, const std::string& property);
190
191protected:
192 void Clear();
193 bool ProcessAction(const SEEquipmentAction& action);
194
196
198 //Anesthesia Machine Incidents
201 //Anesthesia Machine Failures
212
217
219
221
228};
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: SEAnesthesiaMachineAction.h:7
Definition: SEAnesthesiaMachineConfiguration.h:9
Definition: SEAnesthesiaMachineExpiratoryValveLeak.h:7
Definition: SEAnesthesiaMachineExpiratoryValveObstruction.h:7
Definition: SEAnesthesiaMachine.h:24
Definition: SEAnesthesiaMachineInspiratoryValveLeak.h:7
Definition: SEAnesthesiaMachineInspiratoryValveObstruction.h:7
Definition: SEAnesthesiaMachineMaskLeak.h:7
Definition: SEAnesthesiaMachineOxygenTankPressureLoss.h:8
Definition: SEAnesthesiaMachineOxygenWallPortPressureLoss.h:8
Definition: SEAnesthesiaMachineSodaLimeFailure.h:7
Definition: SEAnesthesiaMachineTubeCuffLeak.h:7
Definition: SEAnesthesiaMachineVaporizerFailure.h:7
Definition: SEAnesthesiaMachineVentilatorPressureLoss.h:7
Definition: SEAnesthesiaMachineYPieceDisconnect.h:7
Definition: SEBagValveMaskAction.h:7
Definition: SEBagValveMaskAutomated.h:9
Definition: SEBagValveMaskConfiguration.h:9
Definition: SEBagValveMask.h:14
Definition: SEBagValveMaskInstantaneous.h:9
Definition: SEBagValveMaskSqueeze.h:9
Definition: SEECMOAction.h:7
Definition: SEECMOConfiguration.h:9
Definition: SEECMO.h:10
Definition: SEEquipmentActionCollection.h:47
SEAnesthesiaMachineExpiratoryValveLeak * m_AnesthesiaMachineExpiratoryValveLeak
Definition: SEEquipmentActionCollection.h:202
SEAnesthesiaMachineExpiratoryValveObstruction * m_AnesthesiaMachineExpiratoryValveObstruction
Definition: SEEquipmentActionCollection.h:203
SEMechanicalVentilatorLeak * m_MechanicalVentilatorLeak
Definition: SEEquipmentActionCollection.h:224
SEMechanicalVentilatorHold * m_MechanicalVentilatorHold
Definition: SEEquipmentActionCollection.h:223
SEBagValveMaskSqueeze * m_BagValveMaskSqueeze
Definition: SEEquipmentActionCollection.h:216
SEAnesthesiaMachineVentilatorPressureLoss * m_AnesthesiaMachineVentilatorPressureLoss
Definition: SEEquipmentActionCollection.h:210
SEMechanicalVentilatorPressureControl * m_MechanicalVentilatorPressureControl
Definition: SEEquipmentActionCollection.h:226
SEECMOConfiguration * m_ECMOConfiguration
Definition: SEEquipmentActionCollection.h:218
SEMechanicalVentilatorVolumeControl * m_MechanicalVentilatorVolumeControl
Definition: SEEquipmentActionCollection.h:227
SEMechanicalVentilatorConfiguration * m_MechanicalVentilatorConfiguration
Definition: SEEquipmentActionCollection.h:222
SEAnesthesiaMachineYPieceDisconnect * m_AnesthesiaMachineYPieceDisconnect
Definition: SEEquipmentActionCollection.h:211
SEAnesthesiaMachineMaskLeak * m_AnesthesiaMachineMaskLeak
Definition: SEEquipmentActionCollection.h:206
SEAnesthesiaMachineInspiratoryValveLeak * m_AnesthesiaMachineInspiratoryValveLeak
Definition: SEEquipmentActionCollection.h:204
SEAnesthesiaMachineSodaLimeFailure * m_AnesthesiaMachineSodaLimeFailure
Definition: SEEquipmentActionCollection.h:207
SEAnesthesiaMachineOxygenTankPressureLoss * m_AnesthesiaMachineOxygenTankPressureLoss
Definition: SEEquipmentActionCollection.h:199
SESubstanceManager & m_SubMgr
Definition: SEEquipmentActionCollection.h:195
SEAnesthesiaMachineOxygenWallPortPressureLoss * m_AnesthesiaMachineOxygenWallPortPressureLoss
Definition: SEEquipmentActionCollection.h:200
SEMechanicalVentilatorContinuousPositiveAirwayPressure * m_MechanicalVentilatorContinuousPositiveAirwayPressure
Definition: SEEquipmentActionCollection.h:225
SEAnesthesiaMachineVaporizerFailure * m_AnesthesiaMachineVaporizerFailure
Definition: SEEquipmentActionCollection.h:209
SEBagValveMaskConfiguration * m_BagValveMaskConfiguration
Definition: SEEquipmentActionCollection.h:213
SEInhalerConfiguration * m_InhalerConfiguration
Definition: SEEquipmentActionCollection.h:220
SEAnesthesiaMachineInspiratoryValveObstruction * m_AnesthesiaMachineInspiratoryValveObstruction
Definition: SEEquipmentActionCollection.h:205
SEBagValveMaskInstantaneous * m_BagValveMaskInstantaneous
Definition: SEEquipmentActionCollection.h:215
SEBagValveMaskAutomated * m_BagValveMaskAutomated
Definition: SEEquipmentActionCollection.h:214
SEAnesthesiaMachineTubeCuffLeak * m_AnesthesiaMachineTubeCuffLeak
Definition: SEEquipmentActionCollection.h:208
SEAnesthesiaMachineConfiguration * m_AnesthesiaMachineConfiguration
Definition: SEEquipmentActionCollection.h:197
Definition: SEEquipmentAction.h:7
Definition: SEInhalerAction.h:8
Definition: SEInhalerConfiguration.h:9
Definition: SEInhaler.h:12
Definition: SEMechanicalVentilatorAction.h:7
Definition: SEMechanicalVentilatorConfiguration.h:9
Definition: SEMechanicalVentilatorContinuousPositiveAirwayPressure.h:9
Definition: SEMechanicalVentilatorHold.h:9
Definition: SEMechanicalVentilator.h:10
Definition: SEMechanicalVentilatorLeak.h:9
Definition: SEMechanicalVentilatorPressureControl.h:11
Definition: SEMechanicalVentilatorVolumeControl.h:11
Definition: SEScalar.h:19
Definition: SESubstanceManager.h:9

Distributed under the Apache License, Version 2.0.

See accompanying NOTICE file for details.