|
Health-GPS
1.2.2.0
Global Health Policy Simulation model (Health-GPS)
|
Top-level namespace for Health-GPS C++ API. More...
Namespaces | |
| core | |
| Top-level namespace for Health-GPS Core C++ API. | |
| data | |
| Top-level namespace for Health-GPS Data C++ API. | |
| detail | |
| Internal details namespace for private data types and functions. | |
Classes | |
| class | AnalysisDefinition |
| Burden of diseases (BoD) analysis module definition data type. More... | |
| class | AnalysisModule |
| Implements the burden of diseases (BoD) analysis module. More... | |
| class | BaselineScenario |
| Defines the baseline scenario data type. More... | |
| class | Channel |
| Thread-safe communication channel data type. More... | |
| class | DataSeries |
| Defines the Simulation results container for time series data. More... | |
| class | DefaultCancerModel |
| Defines the cancer disease model data type. More... | |
| class | DefaultDiseaseModel |
| Defines the standard diseases (non-cancer) model data type. More... | |
| struct | PopulationRecord |
| Define the population record data type for the demographic dataset. More... | |
| class | PopulationModule |
| Implements the population demographic module data type. More... | |
| class | DiseaseModule |
| Defines the disease module container to hold disease models. More... | |
| struct | DiseaseParameter |
| Defines the cancer disease parameters data type. More... | |
| class | DiseaseDefinition |
| Implements the disease full definition data type. More... | |
| struct | MeasureKey |
| Disease measures key mapping. More... | |
| class | DiseaseMeasure |
| Defines the disease measures collection data type. More... | |
| class | DiseaseTable |
| Defines the disease measure table data type. More... | |
| struct | FactorDynamicEquation |
| Defines a factor linear regression equation. More... | |
| struct | AgeGroupGenderEquation |
| Define the age group dynamic equations data type. More... | |
| class | EnergyBalanceHierarchicalModel |
| Implements the dynamic hierarchical linear model (energy balance) type. More... | |
| class | LiteHierarchicalModelDefinition |
| Defines the lite hierarchical linear model data type. More... | |
| class | EnergyBalanceModel |
| Implements the energy balance model type. More... | |
| class | EnergyBalanceModelDefinition |
| Defines the energy balance model data type. More... | |
| struct | ErrorEventMessage |
| Implements the simulation error event message data type. More... | |
| struct | EventHandlerIdentifier |
| Defines the event handler identifier type. More... | |
| class | EventSubscriber |
| Defines the event subscriber interface type. More... | |
| class | EventAggregator |
| Defines the event aggregator interface type. More... | |
| class | DefaultEventBus |
| Implements the default memory-based simulation event bus type. More... | |
| struct | EventMessage |
| Simulation event messages interface. More... | |
| class | EventSubscriberHandler |
| Implements the event subscriber handler data type. More... | |
| class | EventMessageVisitor |
| Event message types visitor interface (double dispatcher) More... | |
| class | Finally |
| Define a scoped reset state data type. More... | |
| struct | FiscalPolicyDefinition |
| Fiscal policy intervention definition data type. More... | |
| class | FiscalPolicyScenario |
| Implements the fiscal policy intervention scenario. More... | |
| struct | AdjustmentFactor |
| Defined the risk factor adjustment data type. More... | |
| struct | PolicyCoverage |
| Define the policy population coverage data type. More... | |
| struct | TransferCoefficient |
| Define the transfer coefficient data type. More... | |
| struct | FoodLabellingDefinition |
| Food labelling intervention definition data type. More... | |
| class | FoodLabellingScenario |
| Implements the food labelling intervention scenario. More... | |
| class | GenderTable |
| Defines the gender column lookup table data type. More... | |
| class | AgeGenderTable |
| Defines the age and gender lookup table data type. More... | |
| struct | GenderValue |
| Defines a gender associated value data type. More... | |
| class | HealthGPS |
| Defines the simulation engine data type class. More... | |
| struct | Coefficient |
| Regression coefficients data type. More... | |
| struct | LinearModel |
| Defines a linear regression model data type. More... | |
| struct | HierarchicalLevel |
| Defines a hierarchical level data type. More... | |
| class | StaticHierarchicalLinearModel |
| Implements the static hierarchical linear model type. More... | |
| class | HierarchicalLinearModelDefinition |
| Defines the full hierarchical linear model data type. More... | |
| struct | InfoEventMessage |
| Implements the simulation information event message data type. More... | |
| class | SimulationModule |
| Simulation modules interface. More... | |
| class | UpdatableModule |
| Generic disease module interface to host multiple diseases model. More... | |
| class | DiseaseHostModule |
| Generic disease module interface to host multiple disease models. More... | |
| class | RiskFactorHostModule |
| Generic risk factors module interface to host hierarchical models. More... | |
| class | DemographicModule |
| Demographic prospects module interface. More... | |
| class | HierarchicalLinearModel |
| Hierarchical linear model interface. More... | |
| class | RiskFactorModelDefinition |
| Risk factor model definition interface. More... | |
| class | DiseaseModel |
| Diseases model interface. More... | |
| class | InterventionScenario |
| Health-GPS scripted intervention policy scenario interface. More... | |
| class | DynamicInterventionScenario |
| Health-GPS dynamic intervention policy scenario interface. More... | |
| struct | PolicyImpact |
| Defines the policy impact on risk factors data structure. More... | |
| struct | PolicyInterval |
| Defines the policy active interval. More... | |
| struct | PolicyDynamic |
| Defines the policy dynamic parameters. More... | |
| struct | Birth |
| Define the birth data type. More... | |
| class | LifeTable |
| Defines the population life table data type. More... | |
| struct | LmsRecord |
| Defines the LMS (lambda-mu-sigma) parameters record data type. More... | |
| class | LmsDefinition |
| LMS (lambda-mu-sigma) model definition data type. More... | |
| class | LmsModel |
| Implements the LMS (lambda-mu-sigma) model for children growth. More... | |
| class | Map2d |
| Defines the two-dimensional map (lookup table) data type. More... | |
| struct | FactorRange |
| Defines the risk factor allowed range data type. More... | |
| class | MappingEntry |
| Defines risk factor mapping entry data type. More... | |
| class | HierarchicalMapping |
| Defines the hierarchical model mapping data type. More... | |
| struct | MarketingDynamicDefinition |
| Dynamic marketing intervention definition data type. More... | |
| class | MarketingDynamicScenario |
| Implements the dynamic marketing regulation intervention scenario. More... | |
| struct | MarketingPolicyDefinition |
| Marketing intervention definition data type. More... | |
| class | MarketingPolicyScenario |
| Implements the marketing regulation intervention scenario. More... | |
| struct | ResultByGender |
| Defines the measure by gender result data type. More... | |
| struct | DALYsIndicator |
| Defines the DALYs indicator result data type. More... | |
| struct | ModelResult |
| Defines the model results data type. More... | |
| struct | RunInfo |
| Defines the Simulation run information data type. More... | |
| struct | SESDefinition |
| Defines the socio-economic status (SES) model data type. More... | |
| class | ModelInput |
| Defines the Simulation model inputs data type. More... | |
| class | ModelRunner |
| Defines the simulation executive data type class. More... | |
| class | SimulationModuleFactory |
| Defines the SimulationModule factory data type. More... | |
| class | MonotonicVector |
| Defines a monotonic vector container type. More... | |
| class | MTRandom32 |
| Mersenne Twister random number generator algorithm. More... | |
| struct | Disease |
| Defines the disease history data type. More... | |
| struct | Person |
| Defines a virtual population person data type. More... | |
| struct | PhysicalActivityDefinition |
| Physical activity intervention definition data type. More... | |
| class | PhysicalActivityScenario |
| Implements the physical activity regulation intervention scenario. More... | |
| class | Population |
| Defines the virtual population data type. More... | |
| class | Random |
| General purpose Random number generator algorithms. More... | |
| class | RandomBitGenerator |
| Pseudo-random number generator algorithm interface. More... | |
| class | RelativeRiskLookup |
| Defines the relative risk factors lookup data type. More... | |
| struct | RelativeRisk |
| Defines the relative risk factors data type. More... | |
| class | Repository |
| Define the data repository interface for input datasets and back-end storage. More... | |
| class | CachedRepository |
| Implements the cached data repository for input datasets and back-end storage. More... | |
| struct | ResultEventMessage |
| Implements the simulation results event message data type. More... | |
| class | RiskFactorModule |
| Defines the risk factors module container to hold hierarchical linear models. More... | |
| class | RiskfactorAdjustmentModel |
| Defines the baseline risk factors adjustment model. More... | |
| struct | BaselineAdjustment |
| Defines the risk factor baseline adjustment data type. More... | |
| struct | FirstMoment |
| Defines the first statistical moment type. More... | |
| struct | RunnerEventMessage |
| Implements the simulation executive event message data type. More... | |
| class | RuntimeContext |
| Defines the Simulation runtime context data type. More... | |
| class | RuntimeMetric |
| Defines the Simulation run-time metrics container data type. More... | |
| class | Scenario |
| Health-GPS simulation scenario interface. More... | |
| class | SESNoiseModule |
| Implements the socio-economic status (SES) module. More... | |
| class | Settings |
| Defines the simulation experiment settings data type. More... | |
| struct | SimplePolicyDefinition |
| Simple intervention policy definition data type. More... | |
| class | SimplePolicyScenario |
| Defines the simple development intervention scenario. More... | |
| class | Simulation |
| Defines the simulation class interface. More... | |
| struct | SimulationDefinition |
| Simulation experiment definition data type. More... | |
| class | SyncMessage |
| Scenario data synchronisation message data type. More... | |
| class | SyncDataMessage |
| Implements a synchronisation message with payload. More... | |
| struct | TwoStepValue |
| Defines a two step value data type. More... | |
| class | UnivariateVisitor |
| Implements an core::UnivariateSummary visitor for core::DataTable columns. More... | |
| class | WeightModel |
| Weight classification model polymorphic wrapper class. More... | |
Typedefs | |
| using | ResidualMortalityMessage = SyncDataMessage< GenderTable< int, double > > |
| Defines the residual mortality synchronisation message. More... | |
| using | NetImmigrationMessage = SyncDataMessage< IntegerAgeGenderTable > |
| Defines the net immigration synchronisation message. More... | |
| using | BaselineAdjustmentMessage = SyncDataMessage< FactorAdjustmentTable > |
| Defines the baseline risk factors adjustment synchronisation message. More... | |
| using | ParameterLookup = const std::map< int, DoubleGenderValue > |
| Disease definition parameter value lookup by age and gender. More... | |
| using | IntegerAgeGenderTable = AgeGenderTable< int > |
| Age and Gender lookup table for integer values. More... | |
| using | FloatAgeGenderTable = AgeGenderTable< float > |
| Age and Gender lookup table for single precision floating-point values. More... | |
| using | DoubleAgeGenderTable = AgeGenderTable< double > |
| Age and Gender lookup table for double precision floating-point values. More... | |
| using | IntegerGenderValue = GenderValue< int > |
| Gender value for integer value. More... | |
| using | FloatGenderValue = GenderValue< float > |
| Gender value for single precision floating-point value. More... | |
| using | DoubleGenderValue = GenderValue< double > |
| Gender value for double precision floating-point value. More... | |
| template<typename T > | |
| using | case_insensitive_map = std::map< std::string, T, core::case_insensitive::comparator > |
| Defines a map template with case insensitive string keys and type. More... | |
| using | Mortality = GenderValue< float > |
| Mortality by gender. More... | |
| using | LmsDataset = std::map< unsigned int, std::map< core::Gender, LmsRecord > > |
| Defines the LMS (lambda-mu-sigma) model dataset. More... | |
| using | ElapsedTime = std::chrono::duration< double, std::milli > |
| using | RelativeRiskTableMap = std::map< core::Identifier, FloatAgeGenderTable > |
| Defines the relative risk factor table type. More... | |
| using | RelativeRiskLookupMap = std::map< core::Identifier, std::map< core::Gender, RelativeRiskLookup > > |
| Defines the relative risk factor lookup type. More... | |
| using | FactorAdjustmentTable = Map2d< core::Gender, core::Identifier, std::vector< double > > |
| Defines the risk factors adjustment table type. More... | |
| using | SyncChannel = Channel< std::unique_ptr< SyncMessage > > |
| Scenario data synchronisation channel type. More... | |
Enumerations | |
| enum class | EventType : uint8_t { runner , info , result , error } |
| Event Message type enumeration. More... | |
| enum class | FiscalImpactType : uint8_t { pessimist , optimist } |
| Health GPS policy impact types enumeration. More... | |
| enum class | ModelAction { start , update , stop } |
| Enumerates simulation model actions. More... | |
| enum class | SimulationModuleType : uint8_t { RiskFactor , SES , Demographic , Disease , Analysis } |
| Health GPS simulation modules types enumeration. More... | |
| enum class | HierarchicalModelType : uint8_t { Static , Dynamic } |
| Health GPS risk factor module types enumeration. More... | |
| enum class | DiseaseStatus : uint8_t { free , active } |
| Disease status enumeration. More... | |
| enum class | RunnerAction { start , run_begin , cancelled , run_end , finish } |
| Enumerates the simulation executive actions. More... | |
| enum class | ScenarioType : uint8_t { baseline , intervention } |
| Health GPS policy scenario types enumeration. More... | |
| enum class | PolicyImpactType : uint8_t { absolute , relative } |
| Health GPS policy impact types enumeration. More... | |
| enum class | WeightCategory : uint8_t { normal , overweight , obese } |
| Enumerates the Person weight categories. More... | |
Functions | |
| std::unique_ptr< AnalysisModule > | build_analysis_module (Repository &repository, const ModelInput &config) |
| Builds a new instance of the AnalysisModule using the given data infrastructure. More... | |
| std::unique_ptr< PopulationModule > | build_population_module (Repository &repository, const ModelInput &config) |
| Builds a new instance of the PopulationModule using the given data infrastructure. More... | |
| std::unique_ptr< DiseaseModule > | build_disease_module (Repository &repository, const ModelInput &config) |
| Builds a new instance of the DiseaseModule using the given data infrastructure. More... | |
| std::map< core::DiseaseGroup, detail::DiseaseModelBuilder > | get_default_disease_model_registry () |
| Create the default disease model builder registry for disease group. More... | |
| template<typename F > | |
| Finally< F > | make_finally (F &&f) |
| Makes a finally instance. More... | |
| FiscalImpactType | parse_fiscal_impact_type (std::string impact_type) |
| template<core::Numerical TYPE> | |
| GenderTable< int, TYPE > | create_integer_gender_table (const core::IntegerInterval &rows_range) |
| Creates an instance of the gender lookup table for integer rows breakpoints value. More... | |
| template<core::Numerical TYPE> | |
| AgeGenderTable< TYPE > | create_age_gender_table (const core::IntegerInterval &age_range) |
| Creates an instance of the age and gender lookup table. More... | |
| bool | operator> (const MappingEntry &lhs, const MappingEntry &rhs) |
| bool | operator< (const MappingEntry &lhs, const MappingEntry &rhs) |
| template<core::Numerical TYPE> | |
| bool | is_strict_monotonic (const std::vector< TYPE > &values) noexcept |
| Determine whether a vector data is strict monotonic. More... | |
| std::unique_ptr< RiskFactorModule > | build_risk_factor_module (Repository &repository, [[maybe_unused]] const ModelInput &config) |
| std::unique_ptr< RiskFactorModule > | build_risk_factor_module (Repository &repository, const ModelInput &config) |
| std::unique_ptr< SESNoiseModule > | build_ses_noise_module ([[maybe_unused]] Repository &repository, const ModelInput &config) |
| std::unique_ptr< SESNoiseModule > | build_ses_noise_module (Repository &repository, const ModelInput &config) |
| Builds a new instance of the SESNoiseModule using the given data infrastructure. More... | |
| SimulationModuleFactory | get_default_simulation_module_factory (Repository &manager) |
| Create the default simulation modules factory for production usage. More... | |
| std::string | weight_category_to_string (WeightCategory value) |
| Converts a WeightCategory to a string representation. More... | |
Variables | |
| constexpr double | DALY_UNITS = 100'000.0 |
| DALYs result unit conversion constant. More... | |
| constexpr int | FOP_NO_EFFECT = -2 |
| Food labelling: the entity qualify but is not affected by the policy identifier. More... | |
| const core::Identifier | InterceptKey = core::Identifier{"intercept"} |
| The constant in the regression model presentation identifier. More... | |
| constexpr int | MARKETING_NEVER = -1 |
| Dynamic marketing: Never applied the intervention status identifier. More... | |
| constexpr int | MARKETING_FORMER = -2 |
| Dynamic marketing: Previous applied the intervention status identifier. More... | |
| constexpr int | PA_CHILD_EFFECT = -1 |
| Physical activity: children effect identifier. More... | |
| constexpr int | PA_NO_EFFECT = -2 |
| Physical activity: no-effect identifier. More... | |
Top-level namespace for Health-GPS C++ API.
| using hgps::BaselineAdjustmentMessage = typedef SyncDataMessage<FactorAdjustmentTable> |
Defines the baseline risk factors adjustment synchronisation message.
| using hgps::case_insensitive_map = typedef std::map<std::string, T, core::case_insensitive::comparator> |
Defines a map template with case insensitive string keys and type.
| T | The map value data type |
| using hgps::DoubleAgeGenderTable = typedef AgeGenderTable<double> |
Age and Gender lookup table for double precision floating-point values.
| using hgps::DoubleGenderValue = typedef GenderValue<double> |
Gender value for double precision floating-point value.
| using hgps::ElapsedTime = typedef std::chrono::duration<double, std::milli> |
| using hgps::FactorAdjustmentTable = typedef Map2d<core::Gender, core::Identifier, std::vector<double> > |
Defines the risk factors adjustment table type.
| using hgps::FloatAgeGenderTable = typedef AgeGenderTable<float> |
Age and Gender lookup table for single precision floating-point values.
| using hgps::FloatGenderValue = typedef GenderValue<float> |
Gender value for single precision floating-point value.
| using hgps::IntegerAgeGenderTable = typedef AgeGenderTable<int> |
Age and Gender lookup table for integer values.
| using hgps::IntegerGenderValue = typedef GenderValue<int> |
Gender value for integer value.
| using hgps::LmsDataset = typedef std::map<unsigned int, std::map<core::Gender, LmsRecord> > |
Defines the LMS (lambda-mu-sigma) model dataset.
| using hgps::Mortality = typedef GenderValue<float> |
Mortality by gender.
| using hgps::NetImmigrationMessage = typedef SyncDataMessage<IntegerAgeGenderTable> |
Defines the net immigration synchronisation message.
| using hgps::ParameterLookup = typedef const std::map<int, DoubleGenderValue> |
Disease definition parameter value lookup by age and gender.
| using hgps::RelativeRiskLookupMap = typedef std::map<core::Identifier, std::map<core::Gender, RelativeRiskLookup> > |
Defines the relative risk factor lookup type.
| using hgps::RelativeRiskTableMap = typedef std::map<core::Identifier, FloatAgeGenderTable> |
Defines the relative risk factor table type.
| using hgps::ResidualMortalityMessage = typedef SyncDataMessage<GenderTable<int, double> > |
Defines the residual mortality synchronisation message.
| using hgps::SyncChannel = typedef Channel<std::unique_ptr<SyncMessage> > |
Scenario data synchronisation channel type.
|
strong |
Disease status enumeration.
| Enumerator | |
|---|---|
| free | Declared free from condition. |
| active | Current with the condition. |
|
strong |
Event Message type enumeration.
| Enumerator | |
|---|---|
| runner | Simulation executive message. |
| info | General notification and progress message. |
| result | Simulation result message. |
| error | General error reporting message. |
|
strong |
|
strong |
|
strong |
Enumerates simulation model actions.
| Enumerator | |
|---|---|
| start | Simulation has started, time = start. |
| update | Simulation time has updated, time = time + 1. |
| stop | Simulation has stopped, time = end. |
|
strong |
|
strong |
Enumerates the simulation executive actions.
| Enumerator | |
|---|---|
| start | Start simulation experiment. |
| run_begin | Begin a new simulation run. |
| cancelled | Simulation experiment has been cancelled. |
| run_end | End a simulation run. |
| finish | Finish simulation experiment. |
|
strong |
|
strong |
Health GPS simulation modules types enumeration.
| Enumerator | |
|---|---|
| RiskFactor | Risk factor module. |
| SES | Socio-economic status module. |
| Demographic | Demographic module. |
| Disease | Disease module coordinator. |
| Analysis | Statistical analysis module, e.g. BoD module. |
|
strong |
Enumerates the Person weight categories.
| Enumerator | |
|---|---|
| normal | Normal body fat weight. |
| overweight | Above a weight considered normal or desirable. |
| obese | A person who has excess body fat. |
| std::unique_ptr< AnalysisModule > hgps::build_analysis_module | ( | Repository & | repository, |
| const ModelInput & | config | ||
| ) |
Builds a new instance of the AnalysisModule using the given data infrastructure.
| repository | The data repository instance |
| config | The model inputs instance |
| std::logic_error | for invalid disease analysis definition |
| std::unique_ptr< DiseaseModule > hgps::build_disease_module | ( | Repository & | repository, |
| const ModelInput & | config | ||
| ) |
Builds a new instance of the DiseaseModule using the given data infrastructure.
| repository | The data repository instance |
| config | The model inputs instance |
| std::out_of_range | for unknown disease definition identifier |
| std::unique_ptr< PopulationModule > hgps::build_population_module | ( | Repository & | repository, |
| const ModelInput & | config | ||
| ) |
Builds a new instance of the PopulationModule using the given data infrastructure.
| repository | The data repository instance |
| config | The model inputs instance |
| std::unique_ptr<RiskFactorModule> hgps::build_risk_factor_module | ( | Repository & | repository, |
| [[maybe_unused] ] const ModelInput & | config | ||
| ) |
| std::unique_ptr<RiskFactorModule> hgps::build_risk_factor_module | ( | Repository & | repository, |
| const ModelInput & | config | ||
| ) |
| std::unique_ptr<SESNoiseModule> hgps::build_ses_noise_module | ( | [[maybe_unused] ] Repository & | repository, |
| const ModelInput & | config | ||
| ) |
| std::unique_ptr<SESNoiseModule> hgps::build_ses_noise_module | ( | Repository & | repository, |
| const ModelInput & | config | ||
| ) |
Builds a new instance of the SESNoiseModule using the given data infrastructure.
| repository | The data repository instance |
| config | The model inputs instance |
| std::out_of_range | for unknown disease definition identifier |
| AgeGenderTable<TYPE> hgps::create_age_gender_table | ( | const core::IntegerInterval & | age_range | ) |
Creates an instance of the age and gender lookup table.
| TYPE | The values data type |
| age_range | The age breakpoints range |
| std::out_of_range | for age range 'lower' of negative value or less than the 'upper' value |
| GenderTable<int, TYPE> hgps::create_integer_gender_table | ( | const core::IntegerInterval & | rows_range | ) |
Creates an instance of the gender lookup table for integer rows breakpoints value.
| TYPE | The cell value type |
| rows_range | The rows breakpoints range |
| std::out_of_range | for rows range 'lower' of negative value or less than the 'upper' value |
| std::map<core::DiseaseGroup, detail::DiseaseModelBuilder> hgps::get_default_disease_model_registry | ( | ) |
Create the default disease model builder registry for disease group.
| SimulationModuleFactory hgps::get_default_simulation_module_factory | ( | Repository & | manager | ) |
Create the default simulation modules factory for production usage.
| manager | the data repository manger to be used to create the modules. |
|
noexcept |
Determine whether a vector data is strict monotonic.
| TYPE | The vector data type |
| values | The vector value |
| Finally<F> hgps::make_finally | ( | F && | f | ) |
Makes a finally instance.
| F | Functor type |
| f | The functor instance |
|
inline |
|
inline |
| FiscalImpactType hgps::parse_fiscal_impact_type | ( | std::string | impact_type | ) |
| std::string hgps::weight_category_to_string | ( | WeightCategory | value | ) |
Converts a WeightCategory to a string representation.
| value | Enumeration value to convert |
| std::invalid_argument | for unknown weight category value. |
|
inlineconstexpr |
DALYs result unit conversion constant.
|
inlineconstexpr |
Food labelling: the entity qualify but is not affected by the policy identifier.
|
inline |
The constant in the regression model presentation identifier.
|
inlineconstexpr |
Dynamic marketing: Previous applied the intervention status identifier.
|
inlineconstexpr |
Dynamic marketing: Never applied the intervention status identifier.
|
inlineconstexpr |
Physical activity: children effect identifier.
|
inlineconstexpr |
Physical activity: no-effect identifier.