SESubstanceBolus.h
1 /**************************************************************************************
2 Copyright 2015 Applied Research Associates, Inc.
3 Licensed under the Apache License, Version 2.0 (the "License"); you may not use
4 this file except in compliance with the License. You may obtain a copy of the License
5 at:
6 http://www.apache.org/licenses/LICENSE-2.0
7 Unless required by applicable law or agreed to in writing, software distributed under
8 the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR
9 CONDITIONS OF ANY KIND, either express or implied. See the License for the
10 specific language governing permissions and limitations under the License.
11 **************************************************************************************/
12 
13 #pragma once
14 #include <biogears/cdm/patient/actions/SESubstanceAdministration.h>
15 #include <biogears/cdm/properties/SEScalarTime.h>
16 #include <biogears/cdm/properties/SEScalarVolume.h>
17 #include <biogears/schema/cdm/PatientActions.hxx>
18 
19 namespace biogears {
20 class SESubstance;
21 
22 class BIOGEARS_API SESubstanceBolus : public SESubstanceAdministration {
23 public:
24  SESubstanceBolus(const SESubstance& substance);
25  virtual ~SESubstanceBolus();
26 
27  virtual void Clear(); //clear memory
28 
29  virtual bool IsValid() const;
30  virtual bool IsActive() const;
31 
32  virtual bool Load(const CDM::SubstanceBolusData& in);
33  virtual CDM::SubstanceBolusData* Unload() const;
34 
35 protected:
36  virtual void Unload(CDM::SubstanceBolusData& data) const;
37 
38 public:
39  virtual CDM::enumBolusAdministration::value GetAdminRoute() const;
40  virtual void SetAdminRoute(CDM::enumBolusAdministration::value name);
41  virtual bool HasAdminRoute() const;
42  virtual void InvalidateAdminRoute();
43 
44  virtual bool HasAdminTime() const;
45  virtual SEScalarTime& GetAdminTime();
46 
47  virtual bool HasConcentration() const;
48  virtual SEScalarMassPerVolume& GetConcentration();
49 
50  virtual bool HasDose() const;
51  virtual SEScalarVolume& GetDose();
52 
53  virtual SESubstance& GetSubstance() const;
54 
55  virtual void ToString(std::ostream& str) const;
56 
57 protected:
63 };
64 
65 class BIOGEARS_API SESubstanceBolusState {
66 public:
69 
70  virtual bool Load(const CDM::SubstanceBolusStateData& in);
71  virtual CDM::SubstanceBolusStateData* Unload() const;
72 
73 protected:
74  virtual void Unload(CDM::SubstanceBolusStateData& data) const;
75 
76 public:
77  SEScalarTime& GetElapsedTime() { return m_elapsedTime; }
78  SEScalarVolume& GetAdministeredDose() { return m_administeredDose; }
79 
80 protected:
84 };
85 }
const SESubstance & m_Substance
Definition: SESubstanceBolus.h:62
const SESubstance & m_substance
Definition: SESubstanceBolus.h:81
SEScalarTime * m_AdminTime
Definition: SESubstanceBolus.h:59
Class corresponding to the SubstanceBolusData schema type.
Definition: PatientActions.hxx:9817
SEScalarMassPerVolume * m_Concentration
Definition: SESubstanceBolus.h:60
SEScalarVolume * m_Dose
Definition: SESubstanceBolus.h:61
SEScalarTime m_elapsedTime
Definition: SESubstanceBolus.h:82
SEScalarTime & GetElapsedTime()
Definition: SESubstanceBolus.h:77
Definition: SESubstanceBolus.h:22
value
Underlying enum type.
Definition: PatientActions.hxx:9448
Definition: SEScalarTime.h:37
Definition: SESubstanceBolus.h:65
Definition: SEScalarVolume.h:37
Definition: SESubstance.h:49
CDM::enumBolusAdministration::value m_AdminRoute
Definition: SESubstanceBolus.h:58
Definition: SESubstanceAdministration.h:18
Definition: SEScalarMassPerVolume.h:46
SEScalarVolume & GetAdministeredDose()
Definition: SESubstanceBolus.h:78
Class corresponding to the SubstanceBolusStateData schema type.
Definition: PatientActions.hxx:10260
Definition: SEElectricalCircuit.h:18
SEScalarVolume m_administeredDose
Definition: SESubstanceBolus.h:83