SEPatientConfiguration.h
1/* Distributed under the Apache License, Version 2.0.
2 See accompanying NOTICE file for details.*/
3
4#pragma once
6class SEPatient;
9
10class CDM_DECL SEPatientConfiguration : public Loggable
11{
12 friend class PBEngine;//friend the serialization class
13public:
14 explicit SEPatientConfiguration(Logger* logger=nullptr);
16
19
20 virtual void Clear(); //clear memory
21
22 bool SerializeToString(std::string& output, eSerializationFormat m) const;
23 bool SerializeToFile(const std::string& filename) const;
24 bool SerializeFromString(const std::string& src, eSerializationFormat m, const SESubstanceManager& subMgr);
25 bool SerializeFromFile(const std::string& filename, const SESubstanceManager& subMgr);
26
27 virtual bool IsValid()const;
28
29 virtual std::string GetDataRoot() const;
30 virtual void SetDataRoot(const std::string& rootDir);
31
32 virtual std::string GetPatientFile() const;
33 virtual void SetPatientFile(const std::string& patientFile);
34 virtual bool HasPatientFile() const;
35
36 virtual SEPatient& GetPatient();
37 virtual const SEPatient* GetPatient() const;
38 virtual bool HasPatient() const;
39
40 virtual SEConditionManager& GetConditions();
41 virtual const SEConditionManager* GetConditions() const;
42 virtual bool HasConditions() const;
43
44protected:
45 std::string m_DataRoot;
47 std::string m_PatientFile;
49};
Definition: Logger.h:23
Definition: Logger.h:71
Definition: PBEngine.h:31
static bool SerializeFromString(const std::string &src, LogMessages &dst, eSerializationFormat m, Logger *logger)
Definition: PBEngine.cpp:126
static bool SerializeFromFile(const std::string &filename, SEPatientConfiguration &dst, const SESubstanceManager &subMgr)
Definition: PBEngine.cpp:437
static bool SerializeToString(const LogMessages &src, std::string &output, eSerializationFormat m, Logger *logger)
Definition: PBEngine.cpp:154
static bool SerializeToFile(const SEPatientConfiguration &src, const std::string &filename)
Definition: PBEngine.cpp:423
Definition: SEConditionManager.h:25
Definition: SEEngineConfiguration.h:8
Definition: SEPatientConfiguration.h:11
SEPatient * m_Patient
Definition: SEPatientConfiguration.h:46
SEConditionManager * m_Conditions
Definition: SEPatientConfiguration.h:48
SEPatientConfiguration operator=(const SEPatientConfiguration &)=delete
SEPatientConfiguration(const SEPatientConfiguration &)=delete
std::string m_DataRoot
Definition: SEPatientConfiguration.h:45
std::string m_PatientFile
Definition: SEPatientConfiguration.h:47
Definition: SEPatient.h:13
Definition: SESubstanceManager.h:9

Distributed under the Apache License, Version 2.0.

See accompanying NOTICE file for details.