Skip to content

treatment_seeking

add_treatment_seeking(campaign, start_day=1, targets=None, drug=None, node_ids=None, ind_property_restrictions=None, drug_ineligibility_duration=0, duration=-1, broadcast_event_name='Received_Treatment')

Add an event-triggered drug-seeking behavior intervention to the campaign using the NodeLevelHealthTriggeredIV. The intervention will distribute drugs to targeted individuals within the node.

Targets is a list of dictionaries defining the trigger event and coverage for and properties of individuals to target with the intervention with all possible options being:

[{"trigger":"NewClinicalCase","coverage":0.8,"agemin":15,"agemax":70, "rate":0.3}]

"rate" is the inverse of the average delay in time to treatment seeking from an exponential distribution. "trigger" must be defined, but everything else has defaults:
• coverage = 1, affects all
• agemin/agemax = 0/MAX_AGE_YEARS, affects all
• rate = 0, no delay, seek treatment immediately

Parameters:

Name Type Description Default
campaign EMODCampaign

object for building, modifying, and writing campaign configuration files.

required
start_day int

Start day of intervention.

1
targets list

List of dictionaries defining the trigger event and coverage for and properties of individuals to target with the intervention.
"trigger" must be defined, other defaults are as follows:
"coverage":1,"agemin":0,"agemax":1000, "rate":0 (no delay)

Example:

[{"trigger":"NewClinicalCase","coverage":0.8,"agemin":15,"agemax":70, "rate":0.3}]
None
drug list

List of drug(s) to administer from the drugs defined in config. Default is ["Artemether","Lumefantrine"]

None
node_ids list

The list of nodes to apply this intervention to (Node_List parameter). If not provided, set value of NodeSetAll.

None
ind_property_restrictions list

List of IndividualProperty key:value pairs that individuals must have to receive the intervention.

Example:

["IndividualProperty1:PropertyValue1", "IndividualProperty2:PropertyValue2"]
None
drug_ineligibility_duration float

number of days for which an individual will be ineligible for more drugs.

0
duration int

duration from start_day until people will no longer seek drugs when sick. Default is -1, meaning they will always seek drugs when sick.

-1
broadcast_event_name str

Event to broadcast when successful health seeking behavior. Default is "Received_Treatment".

'Received_Treatment'
Source code in emodpy_malaria/interventions/treatment_seeking.py
def add_treatment_seeking(campaign,
                          start_day: int = 1,
                          targets: list = None,
                          drug: list = None,
                          node_ids: list = None,
                          ind_property_restrictions: list = None,
                          drug_ineligibility_duration: float = 0,
                          duration: int = -1,
                          broadcast_event_name: str = 'Received_Treatment'):
    """
    Add an event-triggered drug-seeking behavior intervention to the campaign using
    the **NodeLevelHealthTriggeredIV**. The intervention will distribute drugs
    to targeted individuals within the node.

    **Targets** is a list of dictionaries defining the trigger event and coverage for and
    properties of individuals to target with the intervention with all possible options being:

        [{"trigger":"NewClinicalCase","coverage":0.8,"agemin":15,"agemax":70, "rate":0.3}]

    "rate" is the inverse of the average delay in time to treatment seeking from an exponential distribution. "trigger" must be
    defined, but everything else has defaults:<br>
        • coverage = 1, affects all<br>
        • agemin/agemax = 0/MAX_AGE_YEARS, affects all<br>
        • rate = 0, no delay, seek treatment immediately<br>

    Args:
        campaign (emodpy.campaign.emod_campaign.EMODCampaign): object for building, modifying, and writing campaign configuration files.
        start_day (int): Start day of intervention.
        targets (list): List of dictionaries defining the trigger event and coverage for and
            properties of individuals to target with the intervention.<br>
            "trigger" must be defined, other defaults are as follows:<br>
            "coverage":1,"agemin":0,"agemax":1000, "rate":0 (no delay)

            Example:

                [{"trigger":"NewClinicalCase","coverage":0.8,"agemin":15,"agemax":70, "rate":0.3}]

        drug (list): List of drug(s) to administer from the drugs defined in config.
            Default is ``["Artemether","Lumefantrine"]``
        node_ids (list): The list of nodes to apply this intervention to (**Node_List**
            parameter). If not provided, set value of NodeSetAll.
        ind_property_restrictions (list): List of IndividualProperty key:value pairs that
            individuals must have to receive the intervention.

            Example:

                ["IndividualProperty1:PropertyValue1", "IndividualProperty2:PropertyValue2"]

        drug_ineligibility_duration (float): number of days for which an individual will be ineligible for more drugs.
        duration (int): duration from start_day until people will no longer seek drugs when sick.
            Default is -1, meaning they will always seek drugs when sick.
        broadcast_event_name (str): Event to broadcast when successful health seeking behavior.
            Default is "Received_Treatment".
    """

    camp_events = _get_events(campaign=campaign, start_day=start_day, targets=targets, drug=drug, node_ids=node_ids,
                              ind_property_restrictions=ind_property_restrictions,
                              drug_ineligibility_duration=drug_ineligibility_duration, duration=duration,
                              broadcast_event_name=broadcast_event_name)
    for event in camp_events:
        campaign.add(event)