emodpy_malaria.interventions.common module#

emodpy_malaria.interventions.common.add_triggered_campaign_delay_event(campaign, start_day: int = 1, trigger_condition_list: list | None = None, listening_duration: int = -1, delay_period_constant: float = 0, demographic_coverage: float = 1.0, node_ids: list | None = None, repetitions: int = 1, timesteps_between_repetitions: int = 365, ind_property_restrictions: list | None = None, disqualifying_properties: list | None = None, target_age_min: float = 0, target_age_max: float = 125, target_gender: str = 'All', target_residents_only: bool = False, blackout_event_trigger: str | None = None, blackout_period: float = 0, blackout_on_first_occurrence: bool = 0, individual_intervention: any | None = None)[source]#

Create and add campaign event that responds to a trigger after an optional delay with an intervention.

Parameters:
  • campaign – campaign object to which the intervention will be added, and schema_path container

  • start_day – The day the intervention is given out.

  • trigger_condition_list – A list of the events that will trigger intervention distribution.

  • listening_duration – The number of time steps that the distributed event will monitor for triggers. Default is -1, which is indefinitely.

  • delay_period_constant – Optional. Delay, in days, before the intervention is given out after a trigger is received.

  • demographic_coverage – This value is the probability that each individual in the target population will receive the intervention. It does not guarantee that the exact fraction of the target population set by Demographic_Coverage receives the intervention.

  • node_ids – List of nodes to which to distribute the intervention. [] or None, indicates all nodes will get the intervention

  • repetitions – The number of times an intervention is given, used with timesteps_between_repetitions. -1 means the intervention repeats forever. Sets Number_Repetitions

  • timesteps_between_repetitions – The interval, in timesteps, between repetitions. Ignored if repetitions = 1. Sets Timesteps_Between_Repetitions

  • ind_property_restrictions – A list of dictionaries of IndividualProperties, which are needed for the individual to receive the intervention. Sets the Property_Restrictions_Within_Node

  • disqualifying_properties – A list of IndividualProperty key:value pairs that cause an intervention to be aborted. Generally used to control the flow of health care access. For example, to prevent the same individual from accessing health care via two different routes at the same time.

  • target_age_min – The lower end of ages targeted for an intervention, in years. Sets Target_Age_Min

  • target_age_max – The upper end of ages targeted for an intervention, in years. Sets Target_Age_Max

  • target_gender – The gender targeted for an intervention: All, Male, or Female.

  • target_residents_only – When set to True, the intervention is only distributed to individuals that began the simulation in the node (i.e. those that claim the node as their residence)

  • blackout_event_trigger – The event to broadcast if an intervention cannot be distributed due to the Blackout_Period.

  • blackout_period – After the initial intervention distribution, the time, in days, to wait before distributing the intervention again. If it cannot distribute due to the blackout period, it will broadcast the user-defined Blackout_Event_Trigger.

  • blackout_on_first_occurrence – If set to true (1), individuals will enter the blackout period after the first occurrence of an event in the Trigger_Condition_List*.

  • individual_intervention – Individual intervention or a list of individual interventions to be distributed by this event

Returns:

Nothing

emodpy_malaria.interventions.common.add_campaign_event(campaign, start_day: int = 1, demographic_coverage: float = 1.0, target_num_individuals: int | None = None, node_ids: list | None = None, repetitions: int = 1, timesteps_between_repetitions: int = 365, ind_property_restrictions: list | None = None, target_age_min: float = 0, target_age_max: float = 125, target_gender: str = 'All', target_residents_only: bool = False, individual_intervention: any | None = None, node_intervention: any | None = None)[source]#

Adds a campaign event to the campaign with a passed in intervention.

Parameters:
  • campaign – campaign object to which the intervention will be added, and schema_path container

  • start_day – The day the intervention is given out.

  • demographic_coverage – This value is the probability that each individual in the target population will receive the intervention. It does not guarantee that the exact fraction of the target population set by Demographic_Coverage receives the intervention.

  • target_num_individuals – The exact number of people to select out of the targeted group. If this value is set, demographic_coverage parameter is ignored

  • node_ids – List of nodes to which to distribute the intervention. [] or None, indicates all nodes will get the intervention

  • repetitions – The number of times an intervention is given, used with timesteps_between_repetitions. -1 means the intervention repeats forever. Sets Number_Repetitions

  • timesteps_between_repetitions – The interval, in timesteps, between repetitions. Ignored if repetitions = 1. Sets Timesteps_Between_Repetitions

  • ind_property_restrictions – A list of dictionaries of IndividualProperties, which are needed for the individual to receive the intervention. Sets the Property_Restrictions_Within_Node

  • target_age_min – The lower end of ages targeted for an intervention, in years. Sets Target_Age_Min

  • target_age_max – The upper end of ages targeted for an intervention, in years. Sets Target_Age_Max

  • target_gender – The gender targeted for an intervention: All, Male, or Female.

  • target_residents_only – When set to True, the intervention is only distributed to individuals that began the simulation in the node (i.e. those that claim the node as their residence)

  • individual_intervention – Individual intervention or a list of individual interventions to be distributed by this event

  • node_intervention – Node intervention or a list of node interventions to be distributed by this event

Returns:

Nothing