Health-GPS 3.0.0.0
Global Health Policy Simulation model (Health-GPS)
Loading...
Searching...
No Matches
model_parser.h
Go to the documentation of this file.
1#pragma once
2
9
10#include "configuration.h"
11#include "jsonparser.h"
12
13#include <filesystem>
14#include <utility>
15
16namespace hgps::input {
17
21std::unique_ptr<hgps::RiskFactorSexAgeTable> load_risk_factor_expected(const Configuration &config);
22
28std::unique_ptr<hgps::DummyModelDefinition>
29load_dummy_risk_model_definition(hgps::RiskFactorModelType type, const nlohmann::json &opt);
30
35std::unique_ptr<hgps::StaticHierarchicalLinearModelDefinition>
36load_hlm_risk_model_definition(const nlohmann::json &opt);
37
42std::unique_ptr<hgps::StaticLinearModelDefinition>
43load_staticlinear_risk_model_definition(const nlohmann::json &opt, const Configuration &config);
44
48std::unique_ptr<hgps::DynamicHierarchicalLinearModelDefinition>
49load_ebhlm_risk_model_definition(const nlohmann::json &opt, const Configuration &config);
50
55std::unique_ptr<hgps::KevinHallModelDefinition>
56load_kevinhall_risk_model_definition(const nlohmann::json &opt, const Configuration &config);
57
63std::unique_ptr<hgps::RiskFactorModelDefinition>
65 const std::filesystem::path &model_path, const Configuration &config);
66
71nlohmann::json load_json(const std::filesystem::path &filepath);
72
77 const Configuration &config);
78
79} // namespace hgps::input
Implements the cached data repository for input datasets and back-end storage.
Definition repository.h:92
Main header file for functionality related to loading config files.
Helper functions used by the JSON library to (de)serialise data structures.
Data structures containing model parameters and configuration options.
Definition configuration.cpp:75
std::unique_ptr< hgps::RiskFactorModelDefinition > load_risk_model_definition(hgps::RiskFactorModelType model_type, const std::filesystem::path &model_path, const Configuration &config)
Loads a risk model definition from a JSON file.
Definition model_parser.cpp:2083
std::unique_ptr< hgps::RiskFactorSexAgeTable > load_risk_factor_expected(const Configuration &config)
Loads risk factor expected values from a file.
Definition model_parser.cpp:645
nlohmann::json load_json(const std::filesystem::path &filepath)
Load and parse a JSON model file.
Definition model_parser.cpp:595
std::unique_ptr< hgps::DummyModelDefinition > load_dummy_risk_model_definition(hgps::RiskFactorModelType type, const nlohmann::json &opt)
Loads either a static or dynamic dummy risk factor model from a JSON file.
Definition model_parser.cpp:659
std::unique_ptr< hgps::KevinHallModelDefinition > load_kevinhall_risk_model_definition(const nlohmann::json &opt, const Configuration &config)
Loads the Kevin Hall energy balance model definition from a JSON file.
Definition model_parser.cpp:1950
void register_risk_factor_model_definitions(hgps::CachedRepository &repository, const Configuration &config)
Registers a risk factor model definition with the repository.
Definition model_parser.cpp:2121
std::unique_ptr< hgps::StaticHierarchicalLinearModelDefinition > load_hlm_risk_model_definition(const nlohmann::json &opt)
Loads the full hierarchical linear regression model definition from a JSON file.
Definition model_parser.cpp:680
std::unique_ptr< hgps::StaticLinearModelDefinition > load_staticlinear_risk_model_definition(const nlohmann::json &opt, const Configuration &config)
Loads the static linear regression model definition from a JSON file.
Definition model_parser.cpp:744
std::unique_ptr< hgps::DynamicHierarchicalLinearModelDefinition > load_ebhlm_risk_model_definition(const nlohmann::json &opt, const Configuration &config)
Loads the old energy balance model definition from a JSON file.
Definition model_parser.cpp:1862
RiskFactorModelType
Health GPS risk factor module types enumeration.
Definition risk_factor_model.h:12