<
The Pulse Team is excited to announce the Pulse Physiology Engine 4.1.0 release. Upgrade now to get the best in dynamic simulation.
×
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 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 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 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  virtual void Clear();
45 
46  bool SerializeToString(std::string& output, eSerializationFormat m) const;
47  bool SerializeToFile(const std::string& filename) const;
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 };
eUrinalysis_ClarityIndicator m_Appearance
Definition: SEUrinalysis.h:113
Definition: SEScalar.h:18
SEUrinalysisMicroscopic * m_Microscopic
Definition: SEUrinalysis.h:125
SEScalar * m_pH
Definition: SEUrinalysis.h:119
Definition: Logger.h:66
Definition: SEScalarMassPerVolume.h:36
Definition: SEScalarMassPerVolume.h:7
eUrinalysis_PresenceIndicator m_Protein
Definition: SEUrinalysis.h:120
eUrinalysis_UrineColor m_Color
Definition: SEUrinalysis.h:112
eUrinalysis_PresenceIndicator m_Blood
Definition: SEUrinalysis.h:118
SEScalar * m_SpecificGravity
Definition: SEUrinalysis.h:117
eUrinalysis_PresenceIndicator m_LeukocyteEsterase
Definition: SEUrinalysis.h:123
eUrinalysis_PresenceIndicator m_Nitrite
Definition: SEUrinalysis.h:122
Definition: SEUrinalysisMicroscopic.h:25
static bool SerializeToString(const SEArterialBloodGasTest &src, std::string &output, eSerializationFormat m)
Definition: PBPatientAssessments.cpp:30
Definition: PBPatientAssessments.h:13
eUrinalysis_PresenceIndicator m_Glucose
Definition: SEUrinalysis.h:114
Data formed at a level of a clinicians report. This is high level data, such as a mean or generalized...
Definition: SEPatientAssessment.h:22
static bool SerializeToFile(const SEArterialBloodGasTest &src, const std::string &filename)
Definition: PBPatientAssessments.cpp:36
Definition: SEUrinalysis.h:36
eUrinalysis_PresenceIndicator m_Ketone
Definition: SEUrinalysis.h:115
SEScalarMassPerVolume * m_Urobilinogen
Definition: SEUrinalysis.h:121
SEScalar * m_Bilirubin
Definition: SEUrinalysis.h:116

Distributed under the Apache License, Version 2.0.

See accompanying NOTICE file for details.