SECompleteBloodCount.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 
8 {
9  friend class PBPatientAssessment;//friend the serialization class
10 public:
11 
13  virtual ~SECompleteBloodCount();
14 
15  virtual void Clear(); //clear memory
16 
17  bool SerializeToString(std::string& output, SerializationFormat m) const;
18  bool SerializeToFile(const std::string& filename, SerializationFormat m) const;
19 
20  virtual bool HasHematocrit() const;
21  virtual SEScalar0To1& GetHematocrit();
22  virtual double GetHematocrit() const;
23 
24  virtual bool HasHemoglobin() const;
25  virtual SEScalarMassPerVolume& GetHemoglobin();
26  virtual double GetHemoglobin(const MassPerVolumeUnit& unit) const;
27 
28  virtual bool HasPlateletCount() const;
29  virtual SEScalarAmountPerVolume& GetPlateletCount();
30  virtual double GetPlateletCount(const AmountPerVolumeUnit& unit) const;
31 
32  virtual bool HasMeanCorpuscularHemoglobin() const;
33  virtual SEScalarMassPerAmount& GetMeanCorpuscularHemoglobin();
34  virtual double GetMeanCorpuscularHemoglobin(const MassPerAmountUnit& unit) const;
35 
36  virtual bool HasMeanCorpuscularHemoglobinConcentration() const;
37  virtual SEScalarMassPerVolume& GetMeanCorpuscularHemoglobinConcentration();
38  virtual double GetMeanCorpuscularHemoglobinConcentration(const MassPerVolumeUnit& unit) const;
39 
40  virtual bool HasMeanCorpuscularVolume() const;
41  virtual SEScalarVolume& GetMeanCorpuscularVolume();
42  virtual double GetMeanCorpuscularVolume(const VolumeUnit& unit) const;
43 
44  virtual bool HasRedBloodCellCount() const;
45  virtual SEScalarAmountPerVolume& GetRedBloodCellCount();
46  virtual double GetRedBloodCellCount(const AmountPerVolumeUnit& unit) const;
47 
48  virtual bool HasWhiteBloodCellCount() const;
49  virtual SEScalarAmountPerVolume& GetWhiteBloodCellCount();
50  virtual double GetWhiteBloodCellCount(const AmountPerVolumeUnit& unit) const;
51 
52 protected:
53 
62 
63 };
Definition: SEScalarVolume.h:7
SEScalarAmountPerVolume * m_PlateletCount
Definition: SECompleteBloodCount.h:56
SEScalar0To1 * m_Hematocrit
Definition: SECompleteBloodCount.h:54
SEScalarMassPerVolume * m_MeanCorpuscularHemoglobinConcentration
Definition: SECompleteBloodCount.h:58
SEScalarMassPerAmount * m_MeanCorpuscularHemoglobin
Definition: SECompleteBloodCount.h:57
SEScalarVolume * m_MeanCorpuscularVolume
Definition: SECompleteBloodCount.h:59
Definition: SEScalarVolume.h:23
Definition: Logger.h:61
Definition: SEScalarMassPerVolume.h:32
Definition: SEScalarMassPerVolume.h:7
Definition: SEScalarMassPerAmount.h:7
SEScalarMassPerVolume * m_Hemoglobin
Definition: SECompleteBloodCount.h:55
SEScalarAmountPerVolume * m_WhiteBloodCellCount
Definition: SECompleteBloodCount.h:61
virtual void Clear()
Definition: SEPatientAssessment.cpp:17
virtual bool SerializeToFile(const std::string &filename, SerializationFormat m) const =0
Definition: SECompleteBloodCount.h:7
SEScalarAmountPerVolume * m_RedBloodCellCount
Definition: SECompleteBloodCount.h:60
Definition: PBPatientAssessments.h:12
Definition: SEScalarAmountPerVolume.h:7
Data formed at a level of a clinicians report. This is high level data, such as a mean or generalized...
Definition: SEPatientAssessment.h:21
virtual bool SerializeToString(std::string &output, SerializationFormat m) const =0
Definition: SEScalarMassPerAmount.h:29
Definition: SEScalarAmountPerVolume.h:24
Definition: SEScalar0To1.h:7