29 const std::vector<PolicyImpact> &sorted_impacts)
56 void clear() noexcept override;
59 const core::Identifier &risk_factor_key,
double value) override;
68 std::set<core::Identifier> factor_impact_;
69 std::unordered_map<
std::
size_t,
int> interventions_book_{};
Thread-safe communication channel data type.
Definition: channel.h:24
Implements the fiscal policy intervention scenario.
Definition: fiscal_scenario.h:43
const PolicyInterval & active_period() const noexcept override
Gets the intervention active period.
Definition: fiscal_scenario.cpp:105
const std::vector< PolicyImpact > & impacts() const noexcept override
Gets the intervention impacts by risk factor and age range.
Definition: fiscal_scenario.cpp:109
SyncChannel & channel() override
Gets the Scenario communication channel.
Definition: fiscal_scenario.cpp:31
void clear() noexcept override
Clear the scenario log book data.
Definition: fiscal_scenario.cpp:33
double apply(Random &generator, Person &entity, int time, const core::Identifier &risk_factor_key, double value) override
Applies this Scenario to the Person instance.
Definition: fiscal_scenario.cpp:35
FiscalPolicyScenario()=delete
Health-GPS scripted intervention policy scenario interface.
Definition: intervention_scenario.h:19
General purpose Random number generator algorithms.
Definition: random_algorithm.h:8
Top-level namespace for Health-GPS C++ API.
Definition: analysis_definition.h:8
FiscalImpactType
Health GPS policy impact types enumeration.
Definition: fiscal_scenario.h:12
@ optimist
Incremental impact overtime - option 2.
@ pessimist
Variable impact overtime - option 1.
FiscalImpactType parse_fiscal_impact_type(std::string impact_type)
Definition: fiscal_scenario.cpp:113
Global namespace.
Definition: jsonparser.h:88
Fiscal policy intervention definition data type.
Definition: fiscal_scenario.h:21
FiscalImpactType impact_type
The fiscal impact type.
Definition: fiscal_scenario.h:33
FiscalPolicyDefinition(const FiscalImpactType type_of_impact, const PolicyInterval &period, const std::vector< PolicyImpact > &sorted_impacts)
Initialise a new instance of the FiscalPolicyDefinition structure.
Definition: fiscal_scenario.h:28
std::vector< PolicyImpact > impacts
Intervention impacts on risk factors.
Definition: fiscal_scenario.h:39
PolicyInterval active_period
Intervention active period.
Definition: fiscal_scenario.h:36
FiscalPolicyDefinition()=delete
Defines a virtual population person data type.
Definition: person.h:40
Defines the policy impact on risk factors data structure.
Definition: intervention_scenario.h:49
Defines the policy active interval.
Definition: intervention_scenario.h:97