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

Define the data repository interface for input datasets and back-end storage. More...

#include <repository.h>

Inheritance diagram for hgps::Repository:
[legend]

Public Member Functions

 Repository ()=default
 Initialises a new instance of the Repository class.
 
 Repository (Repository &&)=delete
 
 Repository (const Repository &)=delete
 
Repositoryoperator= (Repository &&)=delete
 
Repositoryoperator= (const Repository &)=delete
 
virtual ~Repository ()=default
 Destroys a Repository instance.
 
virtual core::Datastoremanager () noexcept=0
 Gets a reference to the back-end storage instance.
 
virtual const RiskFactorModelDefinitionget_risk_factor_model_definition (const RiskFactorModelType &model_type) const =0
 Gets a user-provided risk factor model definition.
 
virtual const std::vector< core::DiseaseInfo > & get_diseases ()=0
 Gets the collection of all diseases available in the back-end storage.
 
virtual std::optional< core::DiseaseInfoget_disease_info (core::Identifier code)=0
 Gets a disease information by identifier.
 
virtual DiseaseDefinitionget_disease_definition (const core::DiseaseInfo &info, const ModelInput &config)=0
 Gets a disease complete definition.
 
virtual LmsDefinitionget_lms_definition ()=0
 Gets the LMS (lambda-mu-sigma) definition.
 
virtual void register_region_prevalence (const std::map< core::Identifier, std::map< core::Gender, std::map< std::string, double > > > &region_data)=0
 Register region prevalence data.
 
virtual void register_ethnicity_prevalence (const std::map< core::Identifier, std::map< core::Gender, std::map< std::string, std::map< std::string, double > > > > &ethnicity_data)=0
 Register ethnicity prevalence data.
 
virtual const std::map< core::Identifier, std::map< core::Gender, std::map< std::string, double > > > & get_region_prevalence () const =0
 Gets region prevalence data.
 
virtual const std::map< core::Identifier, std::map< core::Gender, std::map< std::string, std::map< std::string, double > > > > & get_ethnicity_prevalence () const =0
 Gets ethnicity prevalence data.
 

Detailed Description

Define the data repository interface for input datasets and back-end storage.

Constructor & Destructor Documentation

◆ Repository() [1/3]

hgps::Repository::Repository ( )
default

Initialises a new instance of the Repository class.

◆ Repository() [2/3]

hgps::Repository::Repository ( Repository &&  )
delete

◆ Repository() [3/3]

hgps::Repository::Repository ( const Repository )
delete

◆ ~Repository()

virtual hgps::Repository::~Repository ( )
virtualdefault

Destroys a Repository instance.

Member Function Documentation

◆ get_disease_definition()

virtual DiseaseDefinition & hgps::Repository::get_disease_definition ( const core::DiseaseInfo info,
const ModelInput config 
)
pure virtual

Gets a disease complete definition.

Parameters
infoThe disease information
configThe user inputs instance
Returns
The disease definition
Exceptions
std::runtime_errorfor failure to load disease definition.

Implemented in hgps::CachedRepository.

Here is the caller graph for this function:

◆ get_disease_info()

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

Gets a disease information by identifier.

Parameters
codeThe disease identifier
Returns
Disease information, if found; otherwise, empty

Implemented in hgps::CachedRepository.

Here is the caller graph for this function:

◆ get_diseases()

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

Gets the collection of all diseases available in the back-end storage.

Returns
Collection of diseases information

Implemented in hgps::CachedRepository.

◆ get_ethnicity_prevalence()

virtual const std::map< core::Identifier, std::map< core::Gender, std::map< std::string, std::map< std::string, double > > > > & hgps::Repository::get_ethnicity_prevalence ( ) const
pure virtual

Gets ethnicity prevalence data.

Returns
Map of age group, gender, and region-specific ethnicity probabilities

Implemented in hgps::CachedRepository.

Here is the caller graph for this function:

◆ get_lms_definition()

virtual LmsDefinition & hgps::Repository::get_lms_definition ( )
pure virtual

Gets the LMS (lambda-mu-sigma) definition.

Returns
The LMS definition

Implemented in hgps::CachedRepository.

Here is the caller graph for this function:

◆ get_region_prevalence()

virtual const std::map< core::Identifier, std::map< core::Gender, std::map< std::string, double > > > & hgps::Repository::get_region_prevalence ( ) const
pure virtual

Gets region prevalence data.

Returns
Map of age-specific region probabilities by gender

Implemented in hgps::CachedRepository.

Here is the caller graph for this function:

◆ get_risk_factor_model_definition()

virtual const RiskFactorModelDefinition & hgps::Repository::get_risk_factor_model_definition ( const RiskFactorModelType model_type) const
pure virtual

Gets a user-provided risk factor model definition.

Parameters
model_typeStatic or Dynamic
Returns
The risk factor model definition

Implemented in hgps::CachedRepository.

Here is the caller graph for this function:

◆ manager()

virtual core::Datastore & hgps::Repository::manager ( )
pure virtualnoexcept

Gets a reference to the back-end storage instance.

Returns
The back-end data storage

Implemented in hgps::CachedRepository.

Here is the caller graph for this function:

◆ operator=() [1/2]

Repository & hgps::Repository::operator= ( const Repository )
delete

◆ operator=() [2/2]

Repository & hgps::Repository::operator= ( Repository &&  )
delete

◆ register_ethnicity_prevalence()

virtual void hgps::Repository::register_ethnicity_prevalence ( const std::map< core::Identifier, std::map< core::Gender, std::map< std::string, std::map< std::string, double > > > > &  ethnicity_data)
pure virtual

Register ethnicity prevalence data.

Parameters
ethnicity_dataMap of age group, gender, and region-specific ethnicity probabilities

Implemented in hgps::CachedRepository.

◆ register_region_prevalence()

virtual void hgps::Repository::register_region_prevalence ( const std::map< core::Identifier, std::map< core::Gender, std::map< std::string, double > > > &  region_data)
pure virtual

Register region prevalence data.

Parameters
region_dataMap of age-specific region probabilities by gender

Implemented in hgps::CachedRepository.


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