Source code for emodpy_malaria.interventions.outdoorrestkill
from emodpy_malaria.interventions.common import *
[docs]
def add_outdoorrestkill(campaign,
start_day: int = 1,
node_ids: list = None,
insecticide: str = None,
killing_initial_effect: float = 1,
killing_box_duration: int = -1,
killing_decay_time_constant: float = 0
):
"""
Adds a node-targeted OutdoorRestKill intervention to the campaign
Args:
campaign: campaign object to which the intervention will be added, and schema_path container
start_day: the day on which to distribute the intervention
insecticide :The name of the insecticide defined in config.Insecticides for this intervention.
If insecticides are being used, then this must be defined as one of those values. If they are not
being used, then this does not needed to be specified or can be empty string. It cannot have a
value if config.Insecticides does not define anything.
killing_initial_effect: **Initial_Effect** in the *Killing_Config**
killing_box_duration: Length in days before the **Initial_Effect** starts to decay, -1 indicates forever.
killing_decay_time_constant: The rate of decay of the *Initial_Effect**
node_ids: List of nodes to which to distribute the intervention. None or empty list implies "all nodes".
Returns:
configured campaign object
"""
schema_path = campaign.schema_path
intervention = s2c.get_class_with_defaults("OutdoorRestKill", schema_path)
intervention.Insecticide_Name = insecticide if insecticide else ""
intervention.Killing_Config = utils.get_waning_from_params(schema_path,
initial=killing_initial_effect,
box_duration=killing_box_duration,
decay_time_constant=killing_decay_time_constant)
add_campaign_event(campaign,
start_day=start_day,
node_ids=node_ids,
node_intervention=intervention)
return campaign