SEUrinalysisMicroscopic.h
1 /* Distributed under the Apache License, Version 2.0.
2  See accompanying NOTICE file for details.*/
3 
4 #pragma once
5 #include "patient/assessments/SEPatientAssessment.h"
6 
7 // Keep enums in sync with appropriate schema/cdm/PatienAssessmentEnums.proto file !!
8 enum class eUrinalysis_MicroscopicObservationType {
9  NullObservationType = 0,
10  LowPowerField,
11  HighPowerField
12 };
13 extern const std::string& eUrinalysis_MicroscopicObservationType_Name(eUrinalysis_MicroscopicObservationType m);
14 
15 // Keep enums in sync with appropriate schema/cdm/PatienAssessmentEnums.proto file !!
16 enum class eUrinalysis_MicroscopicObservationAmount {
17  NullObservationAmount = 0,
18  Few,
19  Moderate,
20  Many
21 };
22 extern const std::string& eUrinalysis_MicroscopicObservationAmount_Name(eUrinalysis_MicroscopicObservationAmount m);
23 
24 
25 class CDM_DECL SEUrinalysisMicroscopic : public Loggable
26 {
27  friend class PBPatientAssessment;//friend the serialization class
28  friend class SEUrinalysis;
29 protected:
31 public:
32  virtual ~SEUrinalysisMicroscopic();
33 
34  virtual void Clear();
35 
36  virtual bool HasObservationType() const;
37  virtual eUrinalysis_MicroscopicObservationType GetObservationType() const;
38  virtual void SetObservationType(eUrinalysis_MicroscopicObservationType p);
39  virtual void InvalidateObservationType();
40 
41  virtual bool HasRedBloodCellsResult() const;
42  virtual SEScalarAmount& GetRedBloodCellsResult();
43  virtual double GetRedBloodCellsResult(const AmountUnit& unit) const;
44 
45  virtual bool HasWhiteBloodCellsResult() const;
46  virtual SEScalarAmount& GetWhiteBloodCellsResult();
47  virtual double GetWhiteBloodCellsResult(const AmountUnit& unit) const;
48 
49  virtual bool HasEpithelialCellsResult() const;
50  virtual eUrinalysis_MicroscopicObservationAmount GetEpithelialCellsResult() const;
51  virtual void SetEpithelialCellsResult(eUrinalysis_MicroscopicObservationAmount p);
52  virtual void InvalidateEpithelialCellsResult();
53 
54  virtual bool HasCastsResult() const;
55  virtual SEScalarAmount& GetCastsResult();
56  virtual double GetCastsResult(const AmountUnit& unit) const;
57 
58  virtual bool HasCrystalsResult() const;
59  virtual eUrinalysis_MicroscopicObservationAmount GetCrystalsResult() const;
60  virtual void SetCrystalsResult(eUrinalysis_MicroscopicObservationAmount p);
61  virtual void InvalidateCrystalsResult();
62 
63  virtual bool HasBacteriaResult() const;
64  virtual eUrinalysis_MicroscopicObservationAmount GetBacteriaResult() const;
65  virtual void SetBacteriaResult(eUrinalysis_MicroscopicObservationAmount p);
66  virtual void InvalidateBacteriaResult();
67 
68  virtual bool HasTrichomonadsResult() const;
69  virtual eUrinalysis_MicroscopicObservationAmount GetTrichomonadsResult() const;
70  virtual void SetTrichomonadsResult(eUrinalysis_MicroscopicObservationAmount p);
71  virtual void InvalidateTrichomonadsResult();
72 
73  virtual bool HasYeastResult() const;
74  virtual eUrinalysis_MicroscopicObservationAmount GetYeastResult() const;
75  virtual void SetYeastResult(eUrinalysis_MicroscopicObservationAmount p);
76  virtual void InvalidateYeastResult();
77 
78 protected:
79 
80  eUrinalysis_MicroscopicObservationType m_ObservationType;
83  eUrinalysis_MicroscopicObservationAmount m_EpithelialCells;
85  eUrinalysis_MicroscopicObservationAmount m_Crystals;
86  eUrinalysis_MicroscopicObservationAmount m_Bacteria;
87  eUrinalysis_MicroscopicObservationAmount m_Trichomonads;
88  eUrinalysis_MicroscopicObservationAmount m_Yeast;
89 };
SEScalarAmount * m_WhiteBloodCells
Definition: SEUrinalysisMicroscopic.h:82
eUrinalysis_MicroscopicObservationAmount m_EpithelialCells
Definition: SEUrinalysisMicroscopic.h:83
Definition: SEScalarAmount.h:20
Definition: Logger.h:61
eUrinalysis_MicroscopicObservationAmount m_Yeast
Definition: SEUrinalysisMicroscopic.h:88
eUrinalysis_MicroscopicObservationAmount m_Bacteria
Definition: SEUrinalysisMicroscopic.h:86
Definition: SEScalarAmount.h:7
eUrinalysis_MicroscopicObservationType m_ObservationType
Definition: SEUrinalysisMicroscopic.h:80
Definition: Logger.h:11
Definition: SEUrinalysisMicroscopic.h:25
eUrinalysis_MicroscopicObservationAmount m_Crystals
Definition: SEUrinalysisMicroscopic.h:85
Definition: PBPatientAssessments.h:12
virtual void Clear()
Definition: SEUrinalysis.cpp:41
eUrinalysis_MicroscopicObservationAmount m_Trichomonads
Definition: SEUrinalysisMicroscopic.h:87
Definition: SEUrinalysis.h:36
SEScalarAmount * m_Casts
Definition: SEUrinalysisMicroscopic.h:84
SEScalarAmount * m_RedBloodCells
Definition: SEUrinalysisMicroscopic.h:81