33 const
std::
string &
name() const noexcept override;
57 const
std::map<core::Identifier,
std::map<core::Gender,
std::map<
std::
string,
double>>>
63 const
std::map<core::Identifier,
64 std::map<core::Gender,
std::map<
std::
string,
std::map<
std::
string,
double>>>>
74 std::map<core::Identifier,
std::map<core::Gender,
std::map<
std::
string,
double>>>
78 std::map<core::Identifier,
79 std::map<core::Gender,
std::map<
std::
string,
std::map<
std::
string,
double>>>>
80 ethnicity_prevalence_;
82 std::
string name_{
"Demographic"};
84 void initialise_birth_rates();
99 double get_total_deaths(
int time_year)
const noexcept;
100 std::map<int, DoubleGenderValue> get_age_gender_distribution(
int time_year)
const noexcept;
102 double get_residual_death_rate(
int age,
core::Gender gender)
const noexcept;
109 static double calculate_excess_mortality_product(
const Person &entity,
119 const ModelInput &config);
Implements the population demographic module data type.
Definition demographic.h:17
const std::string & name() const noexcept override
Gets the module name.
Definition demographic.cpp:242
const std::map< int, PopulationRecord > & get_population_distribution(int time_year) const
Gets the population age distribution at a specific point in time.
Definition demographic.cpp:267
void update_population(RuntimeContext &context, const DiseaseModule &disease_host)
Updates the virtual population status.
Definition demographic.cpp:399
void set_ethnicity_prevalence(const std::map< core::Identifier, std::map< core::Gender, std::map< std::string, std::map< std::string, double > > > > ðnicity_data)
Sets the ethnicity prevalence data for assignment.
Definition demographic.cpp:832
SimulationModuleType type() const noexcept override
Gets the module type identifier.
Definition demographic.cpp:238
DemographicModule()=delete
void set_region_prevalence(const std::map< core::Identifier, std::map< core::Gender, std::map< std::string, double > > > ®ion_data)
Sets the region prevalence data for assignment.
Definition demographic.cpp:826
std::size_t get_total_population_size(int time_year) const noexcept
Gets the total population at a specific point in time.
Definition demographic.cpp:244
void initialise_population(RuntimeContext &context) override
Initialises the virtual population status.
Definition demographic.cpp:310
Defines the disease module container to hold disease models.
Definition disease.h:11
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
General purpose Random number generator algorithms.
Definition random_algorithm.h:8
Defines the Simulation runtime context data type.
Definition runtime_context.h:22
Simulation modules interface.
Definition interfaces.h:31
Gender
Enumerates gender types.
Definition forward_type.h:18
Top-level namespace for Health-GPS Console host application.
Definition command_options.cpp:8
SimulationModuleType
Health GPS simulation modules types enumeration.
Definition interfaces.h:13
std::unique_ptr< DemographicModule > build_population_module(Repository &repository, const ModelInput &config)
Builds a new instance of the DemographicModule using the given data infrastructure.
Definition demographic.cpp:839
Global namespace.
Definition column_iterator.h:123
Defines a virtual population person data type.
Definition person.h:39
Define the population record data type for the demographic dataset.
Definition interfaces.h:71