Health-GPS  1.2.2.0
Global Health Policy Simulation model (Health-GPS)
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. More...
 
virtual std::vector< Countryget_countries () const =0
 Gets the full collection of countries in the store. More...
 
virtual std::optional< Countryget_country (std::string alpha) const =0
 Gets a single country by the alpha code. More...
 
virtual std::vector< PopulationItemget_population (Country country, const std::function< bool(const unsigned int &)> time_filter) const =0
 Gets the population growth trend for a country filtered by time. More...
 
virtual std::vector< MortalityItemget_mortality (Country country, const std::function< bool(const unsigned int &)> time_filter) const =0
 Gets the population mortality trend for a country filtered by time. More...
 
virtual std::vector< DiseaseInfoget_diseases () const =0
 Gets the collection of diseases information in the store. More...
 
virtual std::optional< DiseaseInfoget_disease_info (Identifier code) const =0
 Gets a single disease information by identifier. More...
 
virtual DiseaseEntity get_disease (DiseaseInfo info, Country country) const =0
 Gets a disease full definition by identifier for a country. More...
 
virtual RelativeRiskEntity get_relative_risk_to_disease (DiseaseInfo source, DiseaseInfo target) const =0
 Gets the relative risk effects for disease to disease interactions. More...
 
virtual RelativeRiskEntity get_relative_risk_to_risk_factor (DiseaseInfo source, Gender gender, Identifier risk_factor_key) const =0
 Gets the relative risk effects for risk factor to disease interactions. More...
 
virtual CancerParameterEntity get_disease_parameter (DiseaseInfo info, Country country) const =0
 Gets the parameters required by cancer type diseases for a country. More...
 
virtual DiseaseAnalysisEntity get_disease_analysis (const Country country) const =0
 Gets the Burden of Diseases (BoD) analysis dataset for a country. More...
 
virtual std::vector< BirthItemget_birth_indicators (const Country country, const std::function< bool(const unsigned int &)> time_filter) const =0
 Gets the population birth indicators for a country filtered by time. More...
 
virtual std::vector< LmsDataRowget_lms_parameters () const =0
 Gets the LMS (lambda-mu-sigma) parameters for childhood growth charts. More...
 

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,
const std::function< bool(const 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::data::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::data::DataManager.

◆ get_country()

virtual std::optional<Country> hgps::core::Datastore::get_country ( 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, if found, otherwise empty

Implemented in hgps::data::DataManager.

◆ get_disease()

virtual DiseaseEntity hgps::core::Datastore::get_disease ( DiseaseInfo  info,
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, check empty() = true for missing data.

Implemented in hgps::data::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, check empty() = true for missing data.

Implemented in hgps::data::DataManager.

Here is the caller graph for this function:

◆ get_disease_info()

virtual std::optional<DiseaseInfo> hgps::core::Datastore::get_disease_info ( Identifier  code) const
pure virtual

Gets a single disease information by identifier.

Parameters
codeThe target disease identifier
Returns
The disease information, if found, otherwise empty

Implemented in hgps::data::DataManager.

Here is the caller graph for this function:

◆ get_disease_parameter()

virtual CancerParameterEntity hgps::core::Datastore::get_disease_parameter ( DiseaseInfo  info,
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, check empty() = true for missing data.

Implemented in hgps::data::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::data::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::data::DataManager.

◆ get_mortality()

virtual std::vector<MortalityItem> hgps::core::Datastore::get_mortality ( Country  country,
const std::function< bool(const 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::data::DataManager.

Here is the caller graph for this function:

◆ get_population()

virtual std::vector<PopulationItem> hgps::core::Datastore::get_population ( Country  country,
const std::function< bool(const 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::data::DataManager.

Here is the caller graph for this function:

◆ get_relative_risk_to_disease()

virtual RelativeRiskEntity hgps::core::Datastore::get_relative_risk_to_disease ( DiseaseInfo  source,
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, check empty() = true for missing data.

Implemented in hgps::data::DataManager.

◆ get_relative_risk_to_risk_factor()

virtual RelativeRiskEntity hgps::core::Datastore::get_relative_risk_to_risk_factor ( DiseaseInfo  source,
Gender  gender,
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, check empty() = true for missing data.

Implemented in hgps::data::DataManager.


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