BroadcastEventToOtherNodes

The BroadcastEventToOtherNodes intervention class allows events to be sent from one node to another. For example, if an individual in one node has been diagnosed, drugs may be distributed to individuals in surrounding nodes.

Note

Parameters are case-sensitive. For Boolean parameters, set to 1 for true or 0 for false. Minimum, maximum, or default values of “NA” indicate that those values are not applicable for that parameter.

EMOD does not use true defaults; that is, if the dependency relationships indicate that a parameter is required, you must supply a value for it. However, many of the tools used to work with EMOD will use the default values provided below.

JSON does not permit comments, but you can add “dummy” parameters to add contextual information to your files.

The table below describes all possible parameters with which this class can be configured. The JSON example that follows shows one potential configuration.

Parameter

Data type

Minimum

Maximum

Default

Description

Example

Disqualifying_Properties

array of strings

NA

NA

[]

A list of IndividualProperty key:value pairs that cause an intervention to be aborted (persistent interventions will stop being distributed to individuals with these values). See NodeProperties and IndividualProperties parameters for more information. 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.

{
    "Disqualifying_Properties": [
        "InterventionStatus:LostForever"
    ]
}

Dont_Allow_Duplicates

boolean

0

1

0

If an individual’s container has an intervention, set to true (1) to prevent them from receiving another copy of the intervention. Supported by all intervention classes.

{
    "Dont_Allow_Duplicates": 0
}

Event_Trigger

enum

NA

NA

“”

The name of the event to broadcast to selected nodes. See Event list for possible values.

{
    "Event_Trigger": "VaccinateNeighbors"
}

Include_My_Node

boolean

0

1

0

Set to true (1) to broadcast the event to the current node.

{
    "Actual_IndividualIntervention_Config": {
        "class": "BroadcastEventToOtherNodes",
        "Event_Trigger": "VaccinateNeighbors",
        "Include_My_Node": 1,
        "Node_Selection_Type": "DISTANCE_AND_MIGRATION",
        "Max_Distance_To_Other_Nodes_Km": 1
    }
}

Intervention_Name

string

NA

NA

BroadcastEventToOtherNodes

The optional name used to refer to this intervention as a means to differentiate it from others that use the same class.

{
    "Intervention_Config": {
        "class": "BroadcastEventToOtherNodes",
        "Intervention_Name": "Malaria diagnosis triggering reactive case detection"
    }
}

Max_Distance_To_Other_Nodes_Km

float

0

3.40E+3

3.40E+38

The maximum distance, in kilometers, to the destination node for the node to be selected. The location values used are those entered in the demographics file. Used only if Node_Selection_Type is either DISTANCE_ONLY or DISTANCE_AND_MIGRATION.

{
    "Actual_IndividualIntervention_Config": {
        "class": "BroadcastEventToOtherNodes",
        "Event_Trigger": "VaccinateNeighbors",
        "Include_My_Node": 1,
        "Node_Selection_Type": "DISTANCE_AND_MIGRATION",
        "Max_Distance_To_Other_Nodes_Km": 1
    }
}

New_Property_Value

string

NA

NA

NA

An optional IndividualProperty key:value pair that will be assigned when the intervention is distributed. See NodeProperties and IndividualProperties parameters for more information. Generally used to indicate the broad category of health care cascade to which an intervention belongs to prevent individuals from accessing care through multiple pathways. For example, if an individual must already be taking a particular medication to be prescribed a new one.

{
    "New_Property_Value": "InterventionStatus:None"
}

Node_Selection_Type

enum

NA

NA

DISTANCE_ONLY

The method by which to select nodes to receive the event. Possible values are:

DISTANCE_ONLY

Nodes located within the distance specified by Max_Distance_To_Other_Nodes_Km are selected.

MIGRATION_NODES_ONLY

Nodes that are local or regional are selected.

DISTANCE_AND_MIGRATION

Nodes are selected using DISTANCE_ONLY and MIGRATION_NODES_ONLY criteria.

{
    "Actual_IndividualIntervention_Config": {
        "class": "BroadcastEventToOtherNodes",
        "Event_Trigger": "VaccinateNeighbors",
        "Include_My_Node": 1,
        "Node_Selection_Type": "DISTANCE_AND_MIGRATION",
        "Max_Distance_To_Other_Nodes_Km": 1
    }
}
{
    "Use_Defaults": 1,
    "Events": [{
            "Event_Name": "Broadcast to Other Households If Person Infected",
            "class": "CampaignEvent",
            "Start_Day": 0,
            "Nodeset_Config": {
                "class": "NodeSetAll"
            },
            "Event_Coordinator_Config": {
                "class": "StandardInterventionDistributionEventCoordinator",
                "Demographic_Coverage": 1,
                "Intervention_Config": {
                    "class": "NodeLevelHealthTriggeredIV",
                    "Trigger_Condition_List": ["NewClinicalCase"],
                    "Blackout_Event_Trigger": "Blackout",
                    "Blackout_Period": 0.0,
                    "Blackout_On_First_Occurrence": 0,
                    "Actual_IndividualIntervention_Config": {
                        "class": "BroadcastEventToOtherNodes",
                        "Event_Trigger": "VaccinateNeighbors",
                        "Include_My_Node": 1,
                        "Node_Selection_Type": "DISTANCE_AND_MIGRATION",
                        "Max_Distance_To_Other_Nodes_Km": 1
                    }
                }
            }
        },
        {
            "Event_Name": "Get Vaccinated If Neighbor Infected",
            "class": "CampaignEvent",
            "Start_Day": 0,
            "Nodeset_Config": {
                "class": "NodeSetAll"
            },
            "Event_Coordinator_Config": {
                "class": "StandardInterventionDistributionEventCoordinator",
                "Demographic_Coverage": 1,
                "Intervention_Config": {
                    "class": "NodeLevelHealthTriggeredIV",
                    "Trigger_Condition_List": ["VaccinateNeighbors"],
                    "Blackout_Event_Trigger": "Blackout",
                    "Blackout_Period": 0.0,
                    "Blackout_On_First_Occurrence": 0,
                    "Actual_IndividualIntervention_Config": {
                        "class": "AntimalarialDrug",
                        "Cost_To_Consumer": 10,
                        "Dosing_Type": "FullTreatmentParasiteDetect",
                        "Drug_Type": "Chloroquine",
                        "Dont_Allow_Duplicates": 1
                    }
                }
            }
        }
    ]
}