6 #include <nlohmann/json.hpp>
34 explicit DataManager(
const std::filesystem::path root_directory,
37 std::vector<Country> get_countries()
const override;
39 std::optional<Country> get_country(std::string alpha)
const override;
41 std::vector<PopulationItem> get_population(
Country country)
const;
43 std::vector<PopulationItem>
45 const std::function<
bool(
const unsigned int &)> time_filter)
const override;
47 std::vector<MortalityItem> get_mortality(
Country country)
const;
49 std::vector<MortalityItem>
51 const std::function<
bool(
const unsigned int &)> time_filter)
const override;
53 std::vector<DiseaseInfo> get_diseases()
const override;
55 std::optional<DiseaseInfo> get_disease_info(
core::Identifier code)
const override;
72 std::vector<BirthItem> get_birth_indicators(
const Country country)
const;
74 std::vector<BirthItem> get_birth_indicators(
76 const std::function<
bool(
const unsigned int &)> time_filter)
const override;
78 std::vector<LmsDataRow> get_lms_parameters()
const override;
81 std::filesystem::path root_;
87 std::map<int, std::map<Gender, double>>
89 std::filesystem::path parent_path)
const;
91 std::vector<LifeExpectancyItem> load_life_expectancy(
const Country &country)
const;
93 std::string replace_string_tokens(std::string source, std::vector<std::string> tokens)
const;
95 std::map<std::string, std::size_t>
97 const std::vector<std::string> fields)
const;
99 void notify_warning(
const std::string_view message)
const;
Defines the Health-GPS back-end data store interface for all implementations.
Definition: datastore.h:13
Implements Health-GPS back-end data store interface using a file-based storage.
Definition: datamanager.h:24
Top-level namespace for Health-GPS Core C++ API.
Definition: analysis.h:7
VerboseMode
Verbosity mode enumeration.
Definition: forward_type.h:9
Gender
Enumerates gender types.
Definition: forward_type.h:18
Top-level namespace for Health-GPS Data C++ API.
Definition: api.h:7
std::map< std::string, std::size_t > create_fields_index_mapping(const std::vector< std::string > &column_names, const std::vector< std::string > fields)
Definition: csvparser.cpp:83
nlohmann::json json
JSON parser namespace alias.
Definition: jsonparser.h:16
Cancer disease parameters per country data structure.
Definition: disease.h:88
Country ISO-3166 definition data structure.
Definition: country.h:7
Burden of Diseases (BoD) analysis for a country data structure.
Definition: analysis.h:25
Disease full definition data structure.
Definition: disease.h:53
Disease information structure.
Definition: disease.h:13
Entity unique identifier data type.
Definition: identifier.h:17
Diseases relative risk effect table data structure.
Definition: disease.h:72