SEUrinalysis.h
1 /* Distributed under the Apache License, Version 2.0.
2  See accompanying NOTICE file for details.*/
3 
4 #pragma once
5 #include "cdm/patient/assessments/SEPatientAssessment.h"
7 
8 // Keep enums in sync with appropriate schema/cdm/PatienAssessmentEnums.proto file !!
9 enum class eUrinalysis_PresenceIndicator {
10  NullPresence = 0,
11  Positive,
12  Negative
13 };
14 extern CDM_DECL const std::string& eUrinalysis_PresenceIndicator_Name(eUrinalysis_PresenceIndicator m);
15 
16 // Keep enums in sync with appropriate schema/cdm/PatienAssessmentEnums.proto file !!
17 enum class eUrinalysis_ClarityIndicator {
18  NullClarity = 0,
19  Translucent,
20  SlightlyCloudy,
21  Cloudy,
22  Turbid
23 };
24 extern CDM_DECL const std::string& eUrinalysis_ClarityIndicator_Name(eUrinalysis_ClarityIndicator m);
25 
26 // Keep enums in sync with appropriate schema/cdm/PatienAssessmentEnums.proto file !!
27 enum class eUrinalysis_UrineColor {
28  NullColor = 0,
29  PaleYellow,
30  Yellow,
31  DarkYellow
32 };
33 extern CDM_DECL const std::string& eUrinalysis_UrineColor_Name(eUrinalysis_UrineColor m);
34 
35 
36 class CDM_DECL SEUrinalysis : public SEPatientAssessment
37 {
38  friend class PBPatientAssessment;//friend the serialization class
39 public:
40 
41  SEUrinalysis(Logger* logger);
42  virtual ~SEUrinalysis();
43 
44  void Clear() override;
45 
46  bool SerializeToString(std::string& output, eSerializationFormat m) const override;
47  bool SerializeToFile(const std::string& filename) const override;
48 
49  virtual bool HasColor() const;
50  virtual eUrinalysis_UrineColor GetColor() const;
51  virtual void SetColor(eUrinalysis_UrineColor color);
52  virtual void InvalidateColor();
53 
54  virtual bool HasAppearance() const;
55  virtual eUrinalysis_ClarityIndicator GetAppearance() const;
56  virtual void SetAppearance(eUrinalysis_ClarityIndicator c);
57  virtual void InvalidateAppearance();
58 
59  virtual bool HasGlucose() const;
60  virtual eUrinalysis_PresenceIndicator GetGlucose() const;
61  virtual void SetGlucose(eUrinalysis_PresenceIndicator p);
62  virtual void InvalidateGlucose();
63 
64  virtual bool HasKetone() const;
65  virtual eUrinalysis_PresenceIndicator GetKetone() const;
66  virtual void SetKetone(eUrinalysis_PresenceIndicator p);
67  virtual void InvalidateKetone();
68 
69  virtual bool HasBilirubin() const;
70  virtual SEScalar& GetBilirubin();
71  virtual double GetBilirubin() const;
72 
73  virtual bool HasSpecificGravity() const;
74  virtual SEScalar& GetSpecificGravity();
75  virtual double GetSpecificGravity() const;
76 
77  virtual bool HasBlood() const;
78  virtual eUrinalysis_PresenceIndicator GetBlood() const;
79  virtual void SetBlood(eUrinalysis_PresenceIndicator p);
80  virtual void InvalidateBlood();
81 
82  virtual bool HasPH() const;
83  virtual SEScalar& GetPH();
84  virtual double GetPH() const;
85 
86  virtual bool HasProtein() const;
87  virtual eUrinalysis_PresenceIndicator GetProtein() const;
88  virtual void SetProtein(eUrinalysis_PresenceIndicator p);
89  virtual void InvalidateProtein();
90 
91  virtual bool HasUrobilinogen() const;
92  virtual SEScalarMassPerVolume& GetUrobilinogen();
93  virtual double GetUrobilinogen(const MassPerVolumeUnit& unit) const;
94 
95  virtual bool HasNitrite() const;
96  virtual eUrinalysis_PresenceIndicator GetNitrite() const;
97  virtual void SetNitrite(eUrinalysis_PresenceIndicator p);
98  virtual void InvalidateNitrite();
99 
100  virtual bool HasLeukocyteEsterase() const;
101  virtual eUrinalysis_PresenceIndicator GetLeukocyteEsterase() const;
102  virtual void SetLeukocyteEsterase(eUrinalysis_PresenceIndicator p);
103  virtual void InvalidateLeukocyteEsterase();
104 
105  virtual bool HasMicroscopic() const;
106  virtual SEUrinalysisMicroscopic& GetMicroscopic();
107  virtual const SEUrinalysisMicroscopic* GetMicroscopic() const;
108  virtual void RemoveMicroscopic();
109 
110 protected:
111 
112  eUrinalysis_UrineColor m_Color;
113  eUrinalysis_ClarityIndicator m_Appearance;
114  eUrinalysis_PresenceIndicator m_Glucose;
115  eUrinalysis_PresenceIndicator m_Ketone;
118  eUrinalysis_PresenceIndicator m_Blood;
120  eUrinalysis_PresenceIndicator m_Protein;
122  eUrinalysis_PresenceIndicator m_Nitrite;
123  eUrinalysis_PresenceIndicator m_LeukocyteEsterase;
124 
126 };
Definition: Logger.h:71
Definition: SEScalarMassPerVolume.h:8
Definition: PBPatientAssessments.h:13
Data formed at a level of a clinicians report. This is high level data, such as a mean or generalized...
Definition: SEPatientAssessment.h:22
virtual bool SerializeToFile(const std::string &filename) const =0
virtual void Clear()
Definition: SEPatientAssessment.cpp:17
virtual bool SerializeToString(std::string &output, eSerializationFormat m) const =0
Definition: SEScalar.h:19
Definition: SEScalarMassPerVolume.h:37
Definition: SEUrinalysis.h:37
SEScalar * m_SpecificGravity
Definition: SEUrinalysis.h:117
eUrinalysis_UrineColor m_Color
Definition: SEUrinalysis.h:112
eUrinalysis_PresenceIndicator m_Nitrite
Definition: SEUrinalysis.h:122
eUrinalysis_ClarityIndicator m_Appearance
Definition: SEUrinalysis.h:113
SEScalarMassPerVolume * m_Urobilinogen
Definition: SEUrinalysis.h:121
eUrinalysis_PresenceIndicator m_Protein
Definition: SEUrinalysis.h:120
eUrinalysis_PresenceIndicator m_Glucose
Definition: SEUrinalysis.h:114
SEScalar * m_pH
Definition: SEUrinalysis.h:119
eUrinalysis_PresenceIndicator m_Ketone
Definition: SEUrinalysis.h:115
eUrinalysis_PresenceIndicator m_Blood
Definition: SEUrinalysis.h:118
SEScalar * m_Bilirubin
Definition: SEUrinalysis.h:116
eUrinalysis_PresenceIndicator m_LeukocyteEsterase
Definition: SEUrinalysis.h:123
SEUrinalysisMicroscopic * m_Microscopic
Definition: SEUrinalysis.h:125
Definition: SEUrinalysisMicroscopic.h:26

Distributed under the Apache License, Version 2.0.

See accompanying NOTICE file for details.