SEUrinalysis.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/compartment/fluid/SEFluidCompartment.h>
15 #include <biogears/cdm/compartment/fluid/SEFluidCompartmentLink.h>
16 #include <biogears/cdm/patient/assessments/SEPatientAssessment.h>
17 #include <biogears/cdm/patient/assessments/SEUrinalysisMicroscopic.h>
18 #include <biogears/schema/cdm/PatientAssessments.hxx>
19 
20 namespace biogears {
21 class SEPatient;
22 class SERenalSystem;
23 class SEAnatomy;
24 
25 class BIOGEARS_API SEUrinalysis : public SEPatientAssessment {
26 public:
27  SEUrinalysis();
28  virtual ~SEUrinalysis();
29 
30  static constexpr const char* TypeTag() { return "SEUrinalysis"; };
31  const char* classname() const override { return TypeTag(); }
32 
33  virtual void Reset();
34  virtual void Clear();
35 
36  virtual bool Load(const CDM::UrinalysisData& in);
37  virtual CDM::UrinalysisData* Unload();
38 
39 protected:
40  virtual void Unload(CDM::UrinalysisData& data);
41 
42 public:
43  virtual bool HasColorResult() const;
44  virtual CDM::enumUrineColor::value GetColorResult() const;
45  virtual void SetColorResult(CDM::enumUrineColor::value color);
46  virtual void InvalidateColorResult();
47 
48  virtual bool HasAppearanceResult() const;
49  virtual CDM::enumClarityIndicator::value GetAppearanceResult() const;
50  virtual void SetAppearanceResult(CDM::enumClarityIndicator::value c);
51  virtual void InvalidateAppearanceResult();
52 
53  virtual bool HasGlucoseResult() const;
54  virtual CDM::enumPresenceIndicator::value GetGlucoseResult() const;
55  virtual void SetGlucoseResult(CDM::enumPresenceIndicator::value p);
56  virtual void InvalidateGlucoseResult();
57 
58  virtual bool HasKetoneResult() const;
59  virtual CDM::enumPresenceIndicator::value GetKetoneResult() const;
60  virtual void SetKetoneResult(CDM::enumPresenceIndicator::value p);
61  virtual void InvalidateKetoneResult();
62 
63  virtual bool HasBilirubinResult() const;
64  virtual SEScalar& GetBilirubinResult();
65 
66  virtual bool HasSpecificGravityResult() const;
67  virtual SEScalar& GetSpecificGravityResult();
68 
69  virtual bool HasBloodResult() const;
70  virtual CDM::enumPresenceIndicator::value GetBloodResult() const;
71  virtual void SetBloodResult(CDM::enumPresenceIndicator::value p);
72  virtual void InvalidateBloodResult();
73 
74  virtual bool HasPHResult() const;
75  virtual SEScalar& GetPHResult();
76 
77  virtual bool HasProteinResult() const;
78  virtual CDM::enumPresenceIndicator::value GetProteinResult() const;
79  virtual void SetProteinResult(CDM::enumPresenceIndicator::value p);
80  virtual void InvalidateProteinResult();
81 
82  virtual bool HasUrobilinogenResult() const;
83  virtual SEScalarMassPerVolume& GetUrobilinogenResult();
84 
85  virtual bool HasNitriteResult() const;
86  virtual CDM::enumPresenceIndicator::value GetNitriteResult() const;
87  virtual void SetNitriteResult(CDM::enumPresenceIndicator::value p);
88  virtual void InvalidateNitriteResult();
89 
90  virtual bool HasLeukocyteEsteraseResult() const;
91  virtual CDM::enumPresenceIndicator::value GetLeukocyteEsteraseResult() const;
92  virtual void SetLeukocyteEsteraseResult(CDM::enumPresenceIndicator::value p);
93  virtual void InvalidateLeukocyteEsteraseResult();
94 
95  virtual bool HasMicroscopicResult() const;
96  virtual SEUrinalysisMicroscopic& GetMicroscopicResult();
97  virtual void RemoveMicroscopicResult();
98 
99 protected:
112 
114 };
115 }
Definition: SEScalar.h:33
SEUrinalysisMicroscopic * m_Microscopic
Definition: SEUrinalysis.h:113
const char * classname() const override
Definition: SEUrinalysis.h:31
SEScalarMassPerVolume * m_Urobilinogen
Definition: SEUrinalysis.h:109
CDM::enumPresenceIndicator::value m_Ketone
Definition: SEUrinalysis.h:103
CDM::enumPresenceIndicator::value m_LeukocyteEsterase
Definition: SEUrinalysis.h:111
Data formed at a level of a clinicians report. This is high level data, such as a mean or generalized...
Definition: SEPatientAssessment.h:25
value
Underlying enum type.
Definition: PatientAssessments.hxx:4541
SEScalar * m_SpecificGravity
Definition: SEUrinalysis.h:105
CDM::enumPresenceIndicator::value m_Glucose
Definition: SEUrinalysis.h:102
Class corresponding to the UrinalysisData schema type.
Definition: PatientAssessments.hxx:5305
CDM::enumClarityIndicator::value m_Appearance
Definition: SEUrinalysis.h:101
static constexpr const char * TypeTag()
Definition: SEUrinalysis.h:30
CDM::enumPresenceIndicator::value m_Nitrite
Definition: SEUrinalysis.h:110
value
Underlying enum type.
Definition: PatientAssessments.hxx:4694
CDM::enumPresenceIndicator::value m_Protein
Definition: SEUrinalysis.h:108
SEScalar * m_Bilirubin
Definition: SEUrinalysis.h:104
CDM::enumPresenceIndicator::value m_Blood
Definition: SEUrinalysis.h:106
SEScalar * m_pH
Definition: SEUrinalysis.h:107
value
Underlying enum type.
Definition: PatientAssessments.hxx:4849
Definition: SEScalarMassPerVolume.h:46
Definition: SEUrinalysis.h:25
Definition: SEElectricalCircuit.h:18
CDM::enumUrineColor::value m_Color
Definition: SEUrinalysis.h:100
Definition: SEUrinalysisMicroscopic.h:20