20 const
std::
string &
name() const noexcept override;
22 std::
size_t size() const noexcept override;
24 bool contains(const core::Identifier &disease_id) const noexcept override;
30 std::shared_ptr<
DiseaseModel> &operator[](const core::Identifier &disease_id);
36 const
std::shared_ptr<
DiseaseModel> &operator[](const core::Identifier &disease_id) const;
43 const
Person &entity) const noexcept override;
47 std::
string name_{
"Disease"};
56 const ModelInput &config);
Generic disease module interface to host multiple disease models.
Definition: interfaces.h:79
Diseases model interface.
Definition: interfaces.h:170
Defines the disease module container to hold disease models.
Definition: disease.h:10
double get_excess_mortality(const core::Identifier &disease_code, const Person &entity) const noexcept override
Gets the mortality rate associated with a disease for an individual.
Definition: disease.cpp:48
void update_population(RuntimeContext &context) override
Updates the virtual population status.
Definition: disease.cpp:42
std::size_t size() const noexcept override
Gets the number of diseases model hosted.
Definition: disease.cpp:16
SimulationModuleType type() const noexcept override
Gets the module type identifier.
Definition: disease.cpp:12
void initialise_population(RuntimeContext &context) override
Initialises the virtual population.
Definition: disease.cpp:31
bool contains(const core::Identifier &disease_id) const noexcept override
Indicates whether the host contains an disease identified by code.
Definition: disease.cpp:18
const std::string & name() const noexcept override
Gets the module name.
Definition: disease.cpp:14
Defines the Simulation runtime context data type.
Definition: runtime_context.h:21
Top-level namespace for Health-GPS C++ API.
Definition: analysis_definition.h:8
std::unique_ptr< DiseaseModule > build_disease_module(Repository &repository, const ModelInput &config)
Builds a new instance of the DiseaseModule using the given data infrastructure.
Definition: disease.cpp:57
SimulationModuleType
Health GPS simulation modules types enumeration.
Definition: interfaces.h:11
Global namespace.
Definition: jsonparser.h:88
Defines a virtual population person data type.
Definition: person.h:40
Entity unique identifier data type.
Definition: identifier.h:17