49 const
std::
string &
name() const noexcept override;
65 std::
string name_{
"Demographic"};
67 void initialise_birth_rates();
69 double get_total_deaths(
int time_year)
const noexcept;
70 std::map<int, DoubleGenderValue> get_age_gender_distribution(
int time_year)
const noexcept;
72 double get_residual_death_rate(
int age,
core::Gender gender)
const noexcept;
79 double calculate_excess_mortality_product(
const Person &entity,
89 const ModelInput &config);
Demographic prospects module interface.
Definition: interfaces.h:116
Generic disease module interface to host multiple disease models.
Definition: interfaces.h:79
Defines the gender column lookup table data type.
Definition: gender_table.h:15
Defines the population life table data type.
Definition: life_table.h:29
Implements the population demographic module data type.
Definition: demographic.h:37
void initialise_population(RuntimeContext &context) override
Initialises the virtual population.
Definition: demographic.cpp:112
std::size_t get_total_population_size(int time_year) const noexcept override
Gets the total population at a specific point in time.
Definition: demographic.cpp:49
SimulationModuleType type() const noexcept override
Gets the module type identifier.
Definition: demographic.cpp:43
const std::map< int, PopulationRecord > & get_population_distribution(int time_year) const override
Gets the population age distribution at a specific point in time.
Definition: demographic.cpp:71
const std::string & name() const noexcept override
Gets the module name.
Definition: demographic.cpp:47
PopulationModule()=delete
void update_population(RuntimeContext &context, const DiseaseHostModule &disease_host) override
Updates the virtual population status.
Definition: demographic.cpp:176
Defines the Simulation runtime context data type.
Definition: runtime_context.h:21
Gender
Enumerates gender types.
Definition: forward_type.h:18
Top-level namespace for Health-GPS C++ API.
Definition: analysis_definition.h:8
SimulationModuleType
Health GPS simulation modules types enumeration.
Definition: interfaces.h:11
std::unique_ptr< PopulationModule > build_population_module(Repository &repository, const ModelInput &config)
Builds a new instance of the PopulationModule using the given data infrastructure.
Definition: demographic.cpp:370
Global namespace.
Definition: jsonparser.h:88
Defines a virtual population person data type.
Definition: person.h:40
Define the population record data type for the demographic dataset.
Definition: demographic.h:14
int age
Age reference in years.
Definition: demographic.h:23
float total() const noexcept
Gets the total number at age.
Definition: demographic.h:33
float females
NUmber of females.
Definition: demographic.h:29
PopulationRecord(int pop_age, float num_males, float num_females)
Initialise a new instance of the PopulationRecord structure.
Definition: demographic.h:19
float males
Number of males.
Definition: demographic.h:26