Health-GPS 3.0.0.0
Global Health Policy Simulation model (Health-GPS)
Loading...
Searching...
No Matches
hgps::core::Datastore Class Referenceabstract

Defines the Health-GPS back-end data store interface for all implementations. More...

#include <datastore.h>

Inheritance diagram for hgps::core::Datastore:
[legend]

Public Member Functions

virtual ~Datastore ()=default
 Destroys a Datastore instance.
 
virtual std::vector< Countryget_countries () const =0
 Gets the full collection of countries in the store.
 
virtual Country get_country (const std::string &alpha) const =0
 Gets a single country by the alpha code.
 
virtual std::vector< PopulationItemget_population (const Country &country, std::function< bool(unsigned int)> time_filter) const =0
 Gets the population growth trend for a country filtered by time.
 
virtual std::vector< MortalityItemget_mortality (const Country &country, std::function< bool(unsigned int)> time_filter) const =0
 Gets the population mortality trend for a country filtered by time.
 
virtual std::vector< DiseaseInfoget_diseases () const =0
 Gets the collection of diseases information in the store.
 
virtual DiseaseInfo get_disease_info (const Identifier &code) const =0
 Gets a single disease information by identifier.
 
virtual DiseaseEntity get_disease (const DiseaseInfo &info, const Country &country) const =0
 Gets a disease full definition by identifier for a country.
 
virtual std::optional< RelativeRiskEntityget_relative_risk_to_disease (const DiseaseInfo &source, const DiseaseInfo &target) const =0
 Gets the relative risk effects for disease to disease interactions.
 
virtual std::optional< RelativeRiskEntityget_relative_risk_to_risk_factor (const DiseaseInfo &source, Gender gender, const Identifier &risk_factor_key) const =0
 Gets the relative risk effects for risk factor to disease interactions.
 
virtual CancerParameterEntity get_disease_parameter (const DiseaseInfo &info, const Country &country) const =0
 Gets the parameters required by cancer type diseases for a country.
 
virtual DiseaseAnalysisEntity get_disease_analysis (const Country &country) const =0
 Gets the Burden of Diseases (BoD) analysis dataset for a country.
 
virtual std::vector< BirthItemget_birth_indicators (const Country &country, std::function< bool(unsigned int)> time_filter) const =0
 Gets the population birth indicators for a country filtered by time.
 
virtual std::vector< LmsDataRowget_lms_parameters () const =0
 Gets the LMS (lambda-mu-sigma) parameters for childhood growth charts.
 

Detailed Description

Defines the Health-GPS back-end data store interface for all implementations.

See also
https://imperialchepi.github.io/healthgps/datamodel for the Data Model details.

Constructor & Destructor Documentation

◆ ~Datastore()

virtual hgps::core::Datastore::~Datastore ( )
virtualdefault

Destroys a Datastore instance.

Member Function Documentation

◆ get_birth_indicators()

virtual std::vector< BirthItem > hgps::core::Datastore::get_birth_indicators ( const Country country,
std::function< bool(unsigned int)>  time_filter 
) const
pure virtual

Gets the population birth indicators for a country filtered by time.

Parameters
countryThe target country definition
time_filterThe time filter predicate, e.g. years range
Returns
The resulting list of birth indicator items

Implemented in hgps::input::DataManager.

Here is the caller graph for this function:

◆ get_countries()

virtual std::vector< Country > hgps::core::Datastore::get_countries ( ) const
pure virtual

Gets the full collection of countries in the store.

Returns
The list of countries

Implemented in hgps::input::DataManager.

◆ get_country()

virtual Country hgps::core::Datastore::get_country ( const std::string &  alpha) const
pure virtual

Gets a single country by the alpha code.

Parameters
alphaThe country alpha 2 or 3 format code to search
Returns
The country's definition

Implemented in hgps::input::DataManager.

◆ get_disease()

virtual DiseaseEntity hgps::core::Datastore::get_disease ( const DiseaseInfo info,
const Country country 
) const
pure virtual

Gets a disease full definition by identifier for a country.

Parameters
infoThe target disease information
countryThe target country definition
Returns
The disease definition

Implemented in hgps::input::DataManager.

◆ get_disease_analysis()

virtual DiseaseAnalysisEntity hgps::core::Datastore::get_disease_analysis ( const Country country) const
pure virtual

Gets the Burden of Diseases (BoD) analysis dataset for a country.

Parameters
countryThe target country definition
Returns
The BoD analysis data

Implemented in hgps::input::DataManager.

Here is the caller graph for this function:

◆ get_disease_info()

virtual DiseaseInfo hgps::core::Datastore::get_disease_info ( const Identifier code) const
pure virtual

Gets a single disease information by identifier.

Parameters
codeThe target disease identifier
Returns
The disease information

Implemented in hgps::input::DataManager.

Here is the caller graph for this function:

◆ get_disease_parameter()

virtual CancerParameterEntity hgps::core::Datastore::get_disease_parameter ( const DiseaseInfo info,
const Country country 
) const
pure virtual

Gets the parameters required by cancer type diseases for a country.

Parameters
infoThe disease of type cancer information
countryThe target country definition
Returns
The cancer parameters

Implemented in hgps::input::DataManager.

◆ get_diseases()

virtual std::vector< DiseaseInfo > hgps::core::Datastore::get_diseases ( ) const
pure virtual

Gets the collection of diseases information in the store.

Returns
The list of diseases defined

Implemented in hgps::input::DataManager.

Here is the caller graph for this function:

◆ get_lms_parameters()

virtual std::vector< LmsDataRow > hgps::core::Datastore::get_lms_parameters ( ) const
pure virtual

Gets the LMS (lambda-mu-sigma) parameters for childhood growth charts.

Returns
The parameters for the LMS model

Implemented in hgps::input::DataManager.

◆ get_mortality()

virtual std::vector< MortalityItem > hgps::core::Datastore::get_mortality ( const Country country,
std::function< bool(unsigned int)>  time_filter 
) const
pure virtual

Gets the population mortality trend for a country filtered by time.

Parameters
countryThe target country definition
time_filterThe time filter predicate, e.g., years range
Returns
The resulting list of mortality trend items

Implemented in hgps::input::DataManager.

Here is the caller graph for this function:

◆ get_population()

virtual std::vector< PopulationItem > hgps::core::Datastore::get_population ( const Country country,
std::function< bool(unsigned int)>  time_filter 
) const
pure virtual

Gets the population growth trend for a country filtered by time.

Parameters
countryThe target country definition
time_filterThe time filter predicate, e.g., years range
Returns
The resulting list of population trend items

Implemented in hgps::input::DataManager.

Here is the caller graph for this function:

◆ get_relative_risk_to_disease()

virtual std::optional< RelativeRiskEntity > hgps::core::Datastore::get_relative_risk_to_disease ( const DiseaseInfo source,
const DiseaseInfo target 
) const
pure virtual

Gets the relative risk effects for disease to disease interactions.

Parameters
sourceThe source disease information
targetThe target disease information
Returns
The disease-disease effects or std::nullopt if file doesn't exist or only contains default values

Implemented in hgps::input::DataManager.

◆ get_relative_risk_to_risk_factor()

virtual std::optional< RelativeRiskEntity > hgps::core::Datastore::get_relative_risk_to_risk_factor ( const DiseaseInfo source,
Gender  gender,
const Identifier risk_factor_key 
) const
pure virtual

Gets the relative risk effects for risk factor to disease interactions.

Parameters
sourceThe disease information
genderThe gender enumeration
risk_factor_keyThe risk factor identifier
Returns
The risk factor-disease effects or std::nullopt if data missing

Implemented in hgps::input::DataManager.


The documentation for this class was generated from the following file: