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. For 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:
    coverage = 1, affects all
    agemin/agemax = 0/MAX_AGE_YEARS, affects all
    rate = 0, no delay, seek treatment immediately

    Args:
        campaign (emodpy.campaign.emod_campaign.EMODCampaign): object for building, modifying, and writing campaign configuration files.
        start_day: Start day of intervention.
        targets: 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}]

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

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

        drug_ineligibility_duration: number of days for which an individual will be ineligible for more drugs
        duration: 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: 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)