emodpy_malaria.interventions.udbednet module¶
-
emodpy_malaria.interventions.udbednet.
UDBednet
(camp, start_day: int = 1, discard_config: dict = None, coverage: float = 1, ind_property_restrictions: list = None, blocking_eff: float = 0.9, blocking_constant_duration: int = 0, blocking_decay_rate: float = 0.0013698630136986301, killing_eff: float = 0.6, killing_constant_duration: int = 0, killing_decay_rate: float = 0.0006849315068493151, repelling_eff: float = 0, repelling_constant_duration: int = 0, repelling_decay_rate: float = 0.0006849315068493151, iv_name: str = 'UsageDependentBednet', age_dependence: dict = None, seasonal_dependence: dict = None, insecticide: str = None, node_ids: list = None, triggered_campaign_delay: dict = None, triggers: list = None, duration: int = - 1, check_eligibility_at_trigger: bool = False)¶ Add an insecticide-treated net (ITN) intervention with a seasonal usage pattern to the campaign using the UsageDependentBednet class. The arguments birth_triggered and triggered_condition_list are mutually exclusive. If both are provided, triggered_condition_list is ignored. You must add the following custom events to your config.json:
Bednet_Discarded
Bednet_Got_New_One
Bednet_Using
- Parameters
start – The day on which to start distributing the bednets (Start_Day parameter).
coverage – Fraction of the population receiving bed nets in a given distribution event
blocking_config –
The value passed gets directly assigned to the Blocking_Config parameter. Durations are in days. Default is blocking_config= WaningEffectExponential(Decay_Time_Constant=730, Initial_Effect=0.9)
This could be dictionary such as:
{ "Box_Duration": 3650, "Initial_Effect": 0, "class": "WaningEffectBox" }
killing_config –
The value passed gets directly assigned to the Killing_Config parameter. Durations are in days. Default is killing_config = WaningEffectExponential(Decay_Time_Constant=1460, Initial_Effect=0.6)
This could be dictionary such as:
{ "Box_Duration": 3650, "Initial_Effect": 0, "Decay_Time_Constant": 150, "class": "WaningEffectBoxExponential" }
repelling_config –
The value passed gets directly assigned to the Repelling_Config parameter. Durations are in days. Default is repelling_config = WaningEffectExponential(Decay_Time_Constant=1460, Initial_Effect=0.0)
This could be dictionary such as:
{ "Box_Duration": 3650, "Initial_Effect": 0, "Decay_Time_Constant": 150, "class": "WaningEffectBoxExponential" }
discard_config –
A dictionary of parameters needed to define expiration distribution. No need to definite the distribution with all its parameters Default is bednet being discarded with EXPONENTIAL_DISTRIBUTION with Expiration_Period_Exponential of 10 years
Examples:
for Gaussian: {"Expiration_Period_Distribution": "GAUSSIAN_DISTRIBUTION", "Expiration_Period_Gaussian_Mean": 20, "Expiration_Period_Gaussian_Std_Dev":10} for Exponential {"Expiration_Period_Distribution": "EXPONENTIAL_DISTRIBUTION", "Expiration_Period_Exponential":150}
age_dependence –
A dictionary defining the age dependence of net use. Must contain a list of ages in years and list of usage rate. Default is uniform across all ages. Times are in years of age Examples:
{"Times":[], "Values":[]} or {"youth_cov":0.7, "youth_min_age":3, "youth_max_age":13}
seasonal_dependence –
A dictionary defining the seasonal dependence of net use. Default is constant use during the year. Times are given in days of the year; values greater than 365 are ignored. Dictionaries can be (times, values) for linear spline or (minimum coverage, day of maximum coverage) for sinusoidal dynamics. Times are days of the year Examples:
{"Times":[], "Values":[]} or {"min_cov":0.45, "max_day":300}
node_ids – The list of nodes to apply this intervention to (Node_List parameter). If not provided, set value of NodeSetAll.
birth_triggered – If true, event is specified as a birth-triggered intervention.
duration – If run as a birth-triggered event or a trigger_condition_list, specifies the duration for the distribution to continue. Default is to continue until the end of the simulation.
triggered_campaign_delay – (Optional) After the trigger is received, the number of time steps until the campaign starts. Eligibility of people or nodes for the campaign is evaluated on the start day, not the triggered day. triggered_campaign_delay is a dict. Specify the actual delay distribution params, not the distribution type. E.g., { “Delay_Distribution_Constant”: 14” } Delay is in days
trigger_condition_list – (Optional) A list of the events that will trigger the ITN intervention. If included, start is the day when monitoring for triggers begins. This argument cannot configure birth-triggered ITN (use birth_triggered instead).
ind_property_restrictions – The IndividualProperty key:value pairs that individuals must have to receive the intervention ( Property_Restrictions_Within_Node parameter). In the format
[{ "BitingRisk":"High"}, {"IsCool":"Yes}]
.node_property_restrictions – The NodeProperty key:value pairs that nodes must have to receive the intervention (Node_Property_Restrictions parameter). In the format
[{"Place":"RURAL"}, {"ByALake":"Yes}]
check_eligibility_at_trigger – if triggered event is delayed, you have an option to check individual/node’s eligibility at the initial trigger or when the event is actually distributed after delay.
- Returns
None
NOTE: Previous was of setting discard config is no longer available, you can translate it to the current way by: discard_config the old way {‘halflife1’: 260, ‘halflife2’: 2106, ‘fraction1’: float(table_dict[‘fast_fraction’]) discard_config translated = {“Expiration_Period_Distribution”: “DUAL_EXPONENTIAL_DISTRIBUTION”, “Expiration_Period_Mean_1”: discard_halflife, or halflife1 “Expiration_Period_Mean_2”: 365 * 40, or halflife2 “Expiration_Period_Proportion_1”: 1 or ‘fraction1’}
#fixme This is dtk-tools commenting, needs an update for emodpy Example:
discard_config = {"Expiration_Period_Exponential": 10 * 365} age_dependence = {"Times": [0, 4, 10, 60], "Values": [1, 0.9, 0.8, 0.5]} add_ITN_age_season(config_builder, start=1, coverage=1, killing_config=killing_config, blocking_config=blocking_config, discard_config = discard_config age_dependence=age_dependence, cost=5, birht_triggered=True, duration=-1, node_property_restrictions=[{"Place": "Rural"]):
-
emodpy_malaria.interventions.udbednet.
new_intervention_as_file
(camp, start_day, filename=None)¶