SEUrinalysisMicroscopic.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"
6
7// Keep enums in sync with appropriate schema/cdm/PatienAssessmentEnums.proto file !!
8enum class eUrinalysis_MicroscopicObservationType {
9 NullObservationType = 0,
10 LowPowerField,
11 HighPowerField
12};
13extern const std::string& eUrinalysis_MicroscopicObservationType_Name(eUrinalysis_MicroscopicObservationType m);
14
15// Keep enums in sync with appropriate schema/cdm/PatienAssessmentEnums.proto file !!
16enum class eUrinalysis_MicroscopicObservationAmount {
17 NullObservationAmount = 0,
18 Few,
19 Moderate,
20 Many
21};
22extern const std::string& eUrinalysis_MicroscopicObservationAmount_Name(eUrinalysis_MicroscopicObservationAmount m);
23
24
25class CDM_DECL SEUrinalysisMicroscopic : public Loggable
26{
27 friend class PBPatientAssessment;//friend the serialization class
28 friend class SEUrinalysis;
29protected:
31public:
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 HasRedBloodCells() const;
42 virtual SEScalarAmount& GetRedBloodCells();
43 virtual double GetRedBloodCells(const AmountUnit& unit) const;
44
45 virtual bool HasWhiteBloodCells() const;
46 virtual SEScalarAmount& GetWhiteBloodCells();
47 virtual double GetWhiteBloodCells(const AmountUnit& unit) const;
48
49 virtual bool HasEpithelialCells() const;
50 virtual eUrinalysis_MicroscopicObservationAmount GetEpithelialCells() const;
51 virtual void SetEpithelialCells(eUrinalysis_MicroscopicObservationAmount p);
52 virtual void InvalidateEpithelialCells();
53
54 virtual bool HasCasts() const;
55 virtual SEScalarAmount& GetCasts();
56 virtual double GetCasts(const AmountUnit& unit) const;
57
58 virtual bool HasCrystals() const;
59 virtual eUrinalysis_MicroscopicObservationAmount GetCrystals() const;
60 virtual void SetCrystals(eUrinalysis_MicroscopicObservationAmount p);
61 virtual void InvalidateCrystals();
62
63 virtual bool HasBacteria() const;
64 virtual eUrinalysis_MicroscopicObservationAmount GetBacteria() const;
65 virtual void SetBacteria(eUrinalysis_MicroscopicObservationAmount p);
66 virtual void InvalidateBacteria();
67
68 virtual bool HasTrichomonads() const;
69 virtual eUrinalysis_MicroscopicObservationAmount GetTrichomonads() const;
70 virtual void SetTrichomonads(eUrinalysis_MicroscopicObservationAmount p);
71 virtual void InvalidateTrichomonads();
72
73 virtual bool HasYeast() const;
74 virtual eUrinalysis_MicroscopicObservationAmount GetYeast() const;
75 virtual void SetYeast(eUrinalysis_MicroscopicObservationAmount p);
76 virtual void InvalidateYeast();
77
78protected:
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};
Definition: SEScalarAmount.h:8
Definition: Logger.h:23
Definition: Logger.h:71
Definition: PBPatientAssessments.h:13
Definition: SEScalarAmount.h:25
Definition: SEUrinalysis.h:37
virtual void Clear()
Definition: SEUrinalysis.cpp:54
Definition: SEUrinalysisMicroscopic.h:26
SEScalarAmount * m_RedBloodCells
Definition: SEUrinalysisMicroscopic.h:81
eUrinalysis_MicroscopicObservationAmount m_Bacteria
Definition: SEUrinalysisMicroscopic.h:86
eUrinalysis_MicroscopicObservationAmount m_Trichomonads
Definition: SEUrinalysisMicroscopic.h:87
eUrinalysis_MicroscopicObservationType m_ObservationType
Definition: SEUrinalysisMicroscopic.h:80
eUrinalysis_MicroscopicObservationAmount m_Yeast
Definition: SEUrinalysisMicroscopic.h:88
SEScalarAmount * m_Casts
Definition: SEUrinalysisMicroscopic.h:84
eUrinalysis_MicroscopicObservationAmount m_Crystals
Definition: SEUrinalysisMicroscopic.h:85
SEScalarAmount * m_WhiteBloodCells
Definition: SEUrinalysisMicroscopic.h:82
eUrinalysis_MicroscopicObservationAmount m_EpithelialCells
Definition: SEUrinalysisMicroscopic.h:83

Distributed under the Apache License, Version 2.0.

See accompanying NOTICE file for details.