Campaign parameters

The parameters described in this reference section determine the interventions used as part of a campaign to control the spread of a disease and the outbreak of the disease itself. Interventions are configured in the campaign file. They are enabled in the configuration file by setting the parameter, Enable_Interventions, to 1. The configuration file also indicates the name of the campaign file.

Warning

The Outbreak must be the last event in the campaign file or none of the interventions will take place.

EMOD supports a variety of supported campaign interventions. It is worth noting that each intervention contains multiple parameters used to configure that specific event. For example, the distribution of bednets behaves differently in the model than does the use of larvicides. It is therefore important to ensure that interventions are configured correctly and applied to the appropriate level target (individual versus node).

This framework enables rigorous testing of possible control strategies to determine which events or combination of events will best aid in the elimination of disease for specific geographic locations.

Like the configuration file, the campaign file is a JavaScript Object Notation (JSON) formatted file. For information on JSON, see EMOD parameter reference. However, the configuration file is mostly a flat list of JSON key-value pairs while the campaign file is structured as an array of campaign events that contain many nested JSON objects. For more information on how to set up the elements in a campaign file, see Create a campaign file.

Warning

Parameters are case-sensitive. For Boolean parameters, set to 1 for true or 0 for false.

The tables below contain only parameters available when using the malaria simulation type.

Contents

Events array

The campaign file contains an Events array with one or more CampaignEvent elements and a Use_Defaults parameter. If Use_Defaults is set to 1, the simulation will use the default values for required parameters that are not configured in the campaign file. If it is set to 0, you must configure all required parameters.

{
    "Events": [{
        "Event_Name": "Campaign Event 1",
        "class": "CampaignEvent"
    }, {
        "Event_Name": "Campaign Event 2",
        "class": "CampaignEvent"
    }],
    "Use_Defaults": 1
}

Campaign event

To distribute an intervention, you must configure a campaign event, an event coordinator, and the intervention. The campaign event configures when the event occurs (Start_Day) and where it is distributed (Nodeset_Config). The event coordinator is a nested JSON object in Event_Coordinator_Config. For more information on how to structure this file, see Create a campaign file.

{
    "Event_Name": "Campaign Event Example",
    "class": "CampaignEvent",
    "Start_Day": 1,
    "Nodeset_Config": {
    },
    "Event_Coordinator_Config": {
    }
}

Parameter

Data type

Minimum

Maximum

Default

Description

Example

Event_Coordinator_Config

EventCoordinator

0

3.40E+38

1

The configuration of the EventCoordinator to be instantiated.

Nodeset_Config

NodeSet

0

3.40E+38

1

The NodeSet describing the nodes covered by the event.

Start_Day

float

0

3.40E+38

1

Day of the simulation to activate the event’s event coordinator.

Event coordinators

The Event_Coordinator_Config configures who can receive the intervention (for example, Target_Demographic and Demographic_Coverage) and which intervention is distributed. The intervention is a nested JSON object in Intervention_Config.

{
    "Event_Coordinator_Config": {
        "class": "The event coordinator that will be used.",
        "Target_Demographic": "Everyone",
        "Demographic_Coverage": 0.0005,
        "Intervention_Config": {}
    }
}

Parameter

Data type

Minimum

Maximum

Default

Description

Example

Demographic_Coverage

float

0

1

1

Fraction of individuals in the target demographic that will receive this intervention.

Intervention_Config

Intervention

0

3.40E+38

3.40E+38

The nested json of the actual intervention to be distributed by this event coordinator.

Number_Repetitions

integer

-1

1000

-1

Number of times intervention given, used with tsteps_between_reps.

Property_Restrictions

Dynamic String Set

NA

NA

[]

Fraction of individuals in the target demographic that will receive this intervention.

Property_Restrictions_Within_Node

PropertyRestrictions

NA

NA

Everyone

Fraction of individuals in the target demographic that will receive this intervention.

Target_Age_Max

float

0

3.40E+38

3.40E+38

Upper end of age targeted for intervention, in years.

Target_Age_Min

float

0

3.40E+38

0

Lower end of age targeted for intervention, in years.

Target_Demographic

enum

NA

NA

Everyone

The demographic group (from a list of possibles) targeted by this intervention (e.g., Infants).

Target_Gender

enum

NA

NA

All

Specify the gender restriction for the intervention. Defaults to All.

Target_Residents_Only

boolean

0

1

0

If true, only distribute the intervention to those that claim the node as their residence - i.e. started in the node

Timesteps_Between_Repetitions

integer

-1

10000

-1

Repetition interval.

NodeSet_Config

There are three configuration options: NodeSetAll, NodeSetNodeList and NodeSetPolygon.

NodeSetAll

If you are running a simulation that is in a single location (node) or you want the intervention to be distributed in all of the nodes, use NodeSetAll.

{
    "Nodeset_Config": "NodeSetAll"
}

NodeSetNodeList

The intervention is distributed to nodes in the intervention list.

Parameter

Data type

Minimum

Maximum

Default

Description

Example

Node_List

NodeListConfig

NA

NA

SHAPE

Comma-separated list of node IDs.

NodeSetPolygon

The intervention is distributed in nodes within the specified polygon.

Parameter

Data type

Minimum

Maximum

Default

Description

Example

Polygon_Format

enum

NA

NA

SHAPE

Right now just SHAPE.

Vertices

string

NA

NA

SHAPE

Comma-separated list of polygon points.

Interventions

Commonly used vector-control interventions

Name

Intervention Level

Target Life Stage

Target Biting Preference

Target Biting Location

Effect

Notes

AnimalFeedKill

node

feeding cycle

animal

killing

ArtificialDiet

node

feeding cycle

human

all

blocking

Artificial_Diet_Target: AD_WithinVillage, AD_OutsideVillage

HumanHostSeekingTrap

individual

feeding cycle

human

killing

InsectKillingFence

node

feeding cycle

all

all

killing

Photonic fence. Two killing chances per feeding cycle: to and from oviposition site.

InsectKillingFenceHousingModification

individual

killing

IRSHousingModification

individual

feeding cycle

human

indoor

killing, blocking

Ivermectin

individual

feeding cycle

human

all

killing

Larvicides

node

larva

all

all

killing, reduction

Specify targeted habitat.

MosquitoRelease

node

OutdoorRestKill

node

feeding cycle

human

outdoor

killing

OvipositionTrap

node

feeding cycle

all

all

killing

Specify targeted habitat. Requires individual vectors.

ScaleLarvalHabitat

node

larva

all

all

reduction

Specify targeted habitat.

ScreeningHousingModification

individual

feeding cycle

human

indoor

killing, blocking

SimpleBednet

individual

feeding cycle

human

indoor

killing, blocking

SimpleIndividualRepellent

individual

feeding cycle

human

all

blocking

SpaceSpraying (SpaceSpray_Indoor)

node

feeding cycle

human

indoor

killing

Node-based IRS for household.

SpaceSpraying

node

feeding cycle

human

outdoor

killing

SpaceSpray_FemalesOnly, MalesOnly, FemalesAndMales

SpatialRepellent

node

feeding cycle

all

outdoor

blocking

SpatialRepellentHousingModification

individual

feeding cycle

human

indoor

killing, blocking

SugarTrap

node

adults

all

all

killing

Requires individual vectors. Killing parameter specifies effective fraction of sugar feeds that occur on bait stations.

AnimalFeedKill

Parameter

Data type

Minimum

Maximum

Default

Description

Example

Cost_To_Consumer

float

0

999999

10

Unit cost per vector control (unamortized).

Intervention_Name

string

0

43800

365

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

Killing_Config

WaningEffect

0

999999

10

Killing of the targeted stage. A parameter that is decayed.

AntimalarialDrug

When using antimalarial drugs in the model, the configuration file sets the main effects of the drug, while the intervention (configured in the campaign file) determines which drugs are used and to whom they are distributed.

The following example provides the syntax to configure the AntiMalarialDrug intervention:

{
  "Intervention_Config": {
    "class": "AntimalarialDrug",
    "Cost_To_Consumer": 3.75,
    "Drug_Type": "Chloroquine",
    "Dosing_Type": "FullTreatmentParasiteDetect"
  }
}

Parameter

Data type

Minimum

Maximum

Default

Description

Example

Cost_To_Consumer

float

0

999999

10

Unit cost per drug (unamortized).

Dont_Allow_Duplicates

boolean

0

1

0

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

Dosing_Type

enum

NA

NA

SingleDose

Type of anti-malarial dosing to distribute in a drugs intervention. Possible values are: SingleDose, FullTreatmentCourse, Prophylaxis, SingleDoseWhenSymptom, FullTreatmentWhenSymptom, SingleDoseParasiteDetect, FullTreatmentParasiteDetect, SingleDoseNewDetectionTech, FullTreatmentNewDetectionTech.

Drug_Type

Constrained String

0

3.40E+38

3.40E+38

Type of anti-malarial drug to distribute in a drugs intervention. Possible values are: Artemisinin (AR), Chloroquine (CQ), Quinine (QN), Sulfadoxine-Pyramethamine (SP), Primaquine (PQ), Artemether_Lumefantrine (AR_LM), Generic Transmission Blocking (TBD), Generic Pre-erythrocytic (PED), Tafenoquine (TQ).

Intervention_Name

string

0

3.40E+38

3.40E+38

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

ArtificialDiet

Parameter

Data type

Minimum

Maximum

Default

Description

Example

Artificial_Diet_Target

enum

NA

NA

AD_WithinVillage

The targeted deployment of artificial diet. Possible values are: AD_WithinVillage, AD_OutsideVillage.

Attraction_Config

WaningEffect

NA

NA

AD_WithinVillage

Fraction of feeds attracted to the artificial diet. A parameter that is decayed.

Cost_To_Consumer

float

0

999999

10

Unit cost per vector control (unamortized).

Intervention_Name

string

0

1

0

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

ArtificialDietHousingModification

Parameter

Data type

Minimum

Maximum

Default

Description

Example

Blocking_Config

WaningEffect

0

999999

8

The configuration of pre-feed mosquito repellency and waning for housing modification.

Cost_To_Consumer

float

0

999999

8

Unit cost per housing modification (unamortized).

Dont_Allow_Duplicates

boolean

0

1

0

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

Intervention_Name

string

0

1

0

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

Killing_Config

WaningEffect

0

999999

8

The configuration of killing efficacy and waning for housing modification. Killing is conditional on NOT blocking the mosquito before feeding.

BirthTriggeredIv

Parameter

Data type

Minimum

Maximum

Default

Description

Example

Actual_IndividualIntervention_Config

IndividualIntervention

0

1

0

The configuration of the actual individual-based intervention sought. Selects a class for the intervention and configures the parameters specific for that intervention class.

Demographic_Coverage

float

0

1

1

Fraction of individuals in the target demographic that will receive this intervention.

Duration

float

-1

3.40E+38

-1

The number of days to continue this intervention.

Intervention_Name

string

-1

1

0

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

Property_Restrictions

Dynamic String Set

NA

NA

[]

Fraction of individuals in the target demographic that will receive this intervention.

Property_Restrictions_Within_Node

PropertyRestrictions

NA

NA

Everyone

Fraction of individuals in the target demographic that will receive this intervention.

Target_Age_Max

float

0

3.40E+38

3.40E+38

Upper end of age targeted for intervention, in years.

Target_Age_Min

float

0

3.40E+38

0

Lower end of age targeted for intervention, in years.

Target_Demographic

enum

NA

NA

Everyone

The demographic group (from a list of possibles) targeted by this intervention (e.g., Infants).

Target_Gender

enum

NA

NA

All

Specify the gender restriction for the intervention. Defaults to All.

Target_Residents_Only

boolean

0

1

0

If true, only distribute the intervention to those that claim the node as their residence - i.e. started in the node

BroadcastEvent

Parameter

Data type

Minimum

Maximum

Default

Description

Example

Broadcast_Event

Constrained String

0

1

0

The event that should occur at the end of the delay period.

Dont_Allow_Duplicates

boolean

0

1

0

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

Intervention_Name

string

0

1

0

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

DelayedIntervention

Parameter

Data type

Minimum

Maximum

Default

Description

Example

Actual_IndividualIntervention_Configs

IndividualIntervention

0

3.40E+38

6

Array of nested interventions to be distributed at end of delay period to covered fraction.

Coverage

float

0

1

1

Fraction of individuals receiving delayed distribution of configured interventions.

Delay_Distribution

enum

NA

NA

NOT_INITIALIZED

Distribution of duration of delay period. Supported values are: FIXED_DURATION UNIFORM_DURATION GAUSSIAN_DURATION EXPONENTIAL_DURATION.

Delay_Period

float

0

3.40E+38

6

If a FIXED_DURATION is specified as the Delay_Distribution, add this parameter Delay_Period to directly specify the time delay (in number of days). If EXPONENTIAL_DURATION is specified as the Delay_Distribution, Delay_Period, represents the exponential rate that describes the distribution of the time delay (in units of 1/days).

Delay_Period_Max

float

0.6

3.40E+38

0

If a UNIFORM_DURATION is specified as the Delay_Distribution, add this parameter Delay_Period_Max to directly specify the maximum time delay (in number of days).

Delay_Period_Mean

float

0

3.40E+38

6

If a GAUSSIAN_DURATION is specified as the Delay_Distribution, add this parameter Delay_Period_Mean to directly specify the mean time delay (in number of days).

Delay_Period_Min

float

0

3.40E+38

0

If a UNIFORM_DURATION is specified as the Delay_Distribution, add this parameter Delay_Period_Min to directly specify the minimum time delay (in number of days).

Delay_Period_Std_Dev

float

0

3.40E+38

1

If a GAUSSIAN_DURATION is specified as the Delay_Distribution, add this parameter Delay_Period_Std_Dev to specify the standard deviation describing the Gaussian distribution (in number of days).

Dont_Allow_Duplicates

boolean

0

1

0

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

Intervention_Name

string

0

1

0

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

HealthSeekingBehaviorUpdateable

Parameter

Data type

Minimum

Maximum

Default

Description

Example

Actual_IndividualIntervention_Config

IndividualIntervention

0

1

1

The configuration of an actual intervention sought. Selects a class for the intervention and configures the parameters specific for that intervention class.

Actual_IndividualIntervention_Event

Constrained String

1900

2200

2000

The event of an actual intervention sought. Selects a class for the intervention and configures the parameters specific for that intervention class.

Dont_Allow_Duplicates

boolean

0

1

0

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

Event_Or_Config

enum

NA

NA

Config

Specifies whether the current intervention distributes a nested intervention (the Config option) or an event will be broadcast which may trigger other interventions in the campaign file (the Event option). See event list.

Intervention_Name

string

1900

2200

2000

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

Single_Use

boolean

0

1

1

One-time, or persistent?

Tendency

float

0

1

1

The probability of seeking healthcare.

HumanHostSeekingTrap

Parameter

Data type

Minimum

Maximum

Default

Description

Example

Attract_Config

WaningEffect

0

999999

3.75

The configuration of killing efficacy and waning for human host-seeking trap.

Cost_To_Consumer

float

0

999999

3.75

Unit cost per trap (unamortized).

Dont_Allow_Duplicates

boolean

0

1

0

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

Intervention_Name

string

0

999999

10

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

Killing_Config

WaningEffect

0

999999

3.75

The configuration of killing efficacy and waning for human host-seeking trap.

InsectKillingFence

Parameter

Data type

Minimum

Maximum

Default

Description

Example

Cost_To_Consumer

float

0

999999

10

Unit cost per vector control (unamortized).

Intervention_Name

string

0

1

0

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

Killing_Config

WaningEffect

0

999999

10

Killing of the targeted stage. A parameter that is decayed.

InsectKillingFenceHousingModification

Parameter

Data type

Minimum

Maximum

Default

Description

Example

Blocking_Config

WaningEffect

0

999999

8

The configuration of pre-feed mosquito repellency and waning for housing modification.

Cost_To_Consumer

float

0

999999

8

Unit cost per housing modification (unamortized).

Dont_Allow_Duplicates

boolean

0

1

0

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

Intervention_Name

string

NA

NA

Config

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

Killing_Config

WaningEffect

0

999999

8

The configuration of killing efficacy and waning for housing modification. Killing is conditional on NOT blocking the mosquito before feeding.

InterpolatedValueMap

Parameter

Data type

Minimum

Maximum

Default

Description

Example

Times

float

0

99999

NA

An array of years.

Values

float

0

3.40282e+38

NA

An array of values to match the defined Times.

IRSHousingModification

Parameter

Data type

Minimum

Maximum

Default

Description

Example

Blocking_Config

WaningEffect

0

999999

8

The configuration of pre-feed mosquito repellency and waning for housing modification.

Cost_To_Consumer

float

0

999999

8

Unit cost per housing modification (unamortized).

Dont_Allow_Duplicates

boolean

0

1

0

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

Intervention_Name

string

0

1

0

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

Killing_Config

WaningEffect

0

999999

8

The configuration of killing efficacy and waning for housing modification. Killing is conditional on NOT blocking the mosquito before feeding.

InputEIR

Parameter

Data type

Minimum

Maximum

Default

Description

Example

Age_Dependence

enum

NA

NA

OFF

Dependence of InputEIR on age.

Intervention_Name

string

0

3.40E+38

1

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

Monthly_EIR

InputEIRConfig

NA

NA

OFF

An array of 12 elements that contain an entomological inoculation rate (EIR) for each month.

IVCalendar

Parameter

Data type

Minimum

Maximum

Default

Description

Example

Actual_IndividualIntervention_Configs

IndividualIntervention

0

1

0

An array of interventions distributed as specified in the calendar. Selects a class for the intervention and configures the parameters specific for that intervention class.

Calendar

CalendarIV

0

1

0

An array of ages days and probability of receiving an intervention.

Dont_Allow_Duplicates

boolean

0

1

0

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

Dropout

boolean

0

1

0

If an intervention in the series is missed, all subsequent interventions are also missed. If false (0), all calendar dates/doses are applied independently of each other. If true (1), a missed dose (by applying the probability) will result in no further doses, that is, a miss means you have dropped out altogether.

Intervention_Name

string

0

1

0

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

Ivermectin

Parameter

Data type

Minimum

Maximum

Default

Description

Example

Cost_To_Consumer

float

0

999999

8

Unit cost per Ivermectin dosing (unamortized).

Dont_Allow_Duplicates

boolean

0

1

0

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

Intervention_Name

string

0

1

0

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

Killing_Config

WaningEffect

0

999999

8

The configuration of drug-killing efficacy and waning.

Larvicides

Parameter

Data type

Minimum

Maximum

Default

Description

Example

Blocking_Config

WaningEffect

NA

NA

TEMPORARY_RAINFALL

The configuration of larval habitat reduction and waning for targeted stage.

Cost_To_Consumer

float

0

999999

10

Unit cost per vector control (unamortized).

Habitat_Target

enum

NA

NA

TEMPORARY_RAINFALL

The larval habitat type targeted for larvicide. Possible values are: TEMPORARY_RAINFALL WATER_VEGETATION HUMAN_POPULATION CONSTANT BRACKISH_SWAMP ALL_HABITATS.

Intervention_Name

string

0

1

0

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

Killing_Config

WaningEffect

NA

NA

TEMPORARY_RAINFALL

The configuration of larval killing efficacy and waning for targeted stage.

MalariaChallenge

Parameter

Data type

Minimum

Maximum

Default

Description

Example

Challenge_Type

enum

NA

NA

InfectiousBites

The type of malaria challenge. Possible values are: InfectiousBites Sporozoites.

Coverage

float

0

1

1

Fraction of individuals receiving distribution.

Infectious_Bite_Count

integer

0

1000

1

Number of infectious bites.

Intervention_Name

string

NA

NA

Config

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

Sporozoite_Count

integer

0

1000

1

Number of sporozoites.

MosquitoRelease

Parameter

Data type

Minimum

Maximum

Default

Description

Example

Cost_To_Consumer

float

0

999999

0

Cost of each mosquito release.

Intervention_Name

string

NA

NA

WOLBACHIA_FREE

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

Mated_Genetics

ResistanceHegGenetics

1

100000000

10000

The genetic properties of the mate if released mosquitoes have mated, e.g. HEG and pesticide resistance.

Released_Gender

enum

NA

NA

VECTOR_FEMALE

Gender of released mosquitoes. Possible values are: VECTOR_FEMALE VECTOR_MALE.

Released_Genetics

ResistanceHegGenetics

1

100000000

10000

The genetic properties of the released mosquito, e.g. HEG and pesticide resistance.

Released_Number

integer

1

100000000

10000

Number of mosquitos released in the intervention.

Released_Species

Constrained String

1

100000000

10000

Name of released mosquito species.

Released_Sterility

enum

NA

NA

VECTOR_FERTILE

Sterility of released mosquitoes. Possible values are: VECTOR_FERTILE VECTOR_STERILE.

Released_Wolbachia

enum

NA

NA

WOLBACHIA_FREE

Wolbachia type of released mosquitoes. Possible values are: WOLBACHIA_FREE VECTOR_WOLBACHIA_A VECTOR_WOLBACHIA_B VECTOR_WOLBACHIA_AB.

MultiInterventionDistributor

Parameter

Data type

Minimum

Maximum

Default

Description

Example

Dont_Allow_Duplicates

boolean

0

1

0

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

Intervention_List

IndividualIntervention

0

1

0

The array of nested JSON parameters for the interventions to be distributed by this intervention.

Intervention_Name

string

0

1

0

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

NodeLevelHealthTriggeredIV

Parameter

Data type

Minimum

Maximum

Default

Description

Example

Actual_IndividualIntervention_Config

IndividualIntervention

-1

3.40E+38

-1

The configuration of the actual individual-based intervention sought. Selects a class for the intervention and configures the parameters specific for that intervention class.

Actual_NodeIntervention_Config

NodeIntervention

NA

NA

[]

The configuration of the actual node-level intervention sought. Selects a class for the intervention and configures the parameters specific for that intervention class.

Blackout_Event_Trigger

Constrained String

0

1

0

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

Blackout_Period

float

0

3.40E+38

0

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.

Demographic_Coverage

float

0

1

1

Fraction of individuals in the target demographic that will receive this intervention.

Duration

float

-1

3.40E+38

-1

The number of days to continue this intervention.

Intervention_Name

string

0

1

0

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

Property_Restrictions

Dynamic String Set

NA

NA

[]

Fraction of individuals in the target demographic that will receive this intervention.

Property_Restrictions_Within_Node

PropertyRestrictions

0

3.40E+38

3.40E+38

Fraction of individuals in the target demographic that will receive this intervention.

Target_Age_Max

float

0

3.40E+38

3.40E+38

Upper end of age targeted for intervention, in years.

Target_Age_Min

float

0

3.40E+38

0

Lower end of age targeted for intervention, in years.

Target_Demographic

enum

NA

NA

Everyone

The demographic group (from a list of possibles) targeted by this intervention (e.g., Infants).

Target_Gender

enum

NA

NA

All

Specify the gender restriction for the intervention. Defaults to All.

Target_Residents_Only

boolean

0

1

0

If true, only distribute the intervention to those that claim the node as their residence - i.e. started in the node

Trigger_Condition

Constrained String

NA

NA

[]

The condition for triggering a health seeking intervention.

Trigger_Condition_List

Vector String

NA

NA

[]

Included if Trigger_Condition is set to ‘TriggerList’. A list (JSON array) of triggers (strings) drawn from config.json ‘Listed_Events’ or from built-in events.

Trigger_Condition_String

Constrained String

0

1

0

Included if Trigger_Condition is set to ‘TriggerString’. Normally Trigger_Condition must specify an event from the built-in list of pre-defined events or triggers from the IndividualEventTriggerType enum. Trigger_Condition_String can be any string provided it is listed in the config.json’s Listed_Events array.

Outbreak

Parameter

Data type

Minimum

Maximum

Default

Description

Example

Antigen

integer

0

10

0

The antigenic ID of the outbreak infection.

Genome

integer

-1

16777200

0

The genetic ID of the outbreak infection.

Import_Age

float

0

43800

365

Age (in days) of infected import cases

Incubation_Period_Override

boolean

0

1

0

0 = outbreak will bypass incubation, 1 = outbreak infection will start from beginning.

Intervention_Name

string

0

1

0

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

Number_Cases_Per_Node

integer

0

2147480000

1

Number of new cases of Outbreak to import (per node). This will increase population. There is no control over demographics of these individuals.

OutbreakIndividual

Parameter

Data type

Minimum

Maximum

Default

Description

Example

Antigen

integer

0

10

0

The antigenic ID of the outbreak infection.

Dont_Allow_Duplicates

boolean

0

1

0

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

Genome

integer

-1

16777200

0

The genetic ID of the outbreak infection.

Incubation_Period_Override

boolean

0

1

0

0 = outbreak will bypass incubation, 1 = outbreak infection will start from beginning.

Intervention_Name

string

NA

NA

OFF

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

OutdoorRestKill

Parameter

Data type

Minimum

Maximum

Default

Description

Example

Cost_To_Consumer

float

0

999999

10

Unit cost per vector control (unamortized).

Intervention_Name

string

0

1

0

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

Killing_Config

WaningEffect

0

999999

10

Killing of the targeted stage. A parameter that is decayed.

OvipositionTrap

Parameter

Data type

Minimum

Maximum

Default

Description

Example

Cost_To_Consumer

float

0

999999

10

Unit cost per vector control (unamortized).

Habitat_Target

enum

NA

NA

TEMPORARY_RAINFALL

The oviposition habitat type targeted by oviposition traps. Possible values are: TEMPORARY_RAINFALL WATER_VEGETATION HUMAN_POPULATION CONSTANT BRACKISH_SWAMP ALL_HABITATS.

Intervention_Name

string

0

1

0

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

Killing_Config

WaningEffect

NA

NA

TEMPORARY_RAINFALL

Killing of the targeted stage. A parameter that is decayed.

PMTCT

Parameter

Data type

Minimum

Maximum

Default

Description

Example

Dont_Allow_Duplicates

boolean

0

1

0

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

Efficacy

float

0

1

0.5

Represents the efficacy of a PMTCT intervention, defined as the rate ratio of MTCT between women receiving the intervention and women not receiving the intervention. A setting of 1 is equivalent to 100% blocking efficacy, and 0 reverts to the default probability of transmission, configured through the config.json parameter Maternal_Transmission_Probability.

Intervention_Name

string

0

3.40E+38

6

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

PropertyValueChanger

Parameter

Data type

Minimum

Maximum

Default

Description

Example

Daily_Probability

float

0

1

1

The probability per day that an individual will move to the Target_Property_Value.

Dont_Allow_Duplicates

boolean

0

1

0

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

Intervention_Name

string

NA

NA

Config

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

Maximum_Duration

float

-1

3.40E+38

3.40E+38

Maximum duration of ‘delayed-release’ property change, in days.

Revert

float

0

10000

0

Reversion rate, or the number of days until reversion, or a 2 if reversion is allowed.

Target_Property_Key

Constrained String

0

10000

0

The name of the EMOD-defined property of the group.

Target_Property_Value

Constrained String

0

10000

0

The value of the user-defined group where the individuals will be transitioned.

RTSSVaccine

Parameter

Data type

Minimum

Maximum

Default

Description

Example

Antibody_Type

enum

NA

NA

CSP

Antibody type. Possible values are: CSP MSP1 PfEMP1_minor PfEMP1_major.

Antibody_Variant

integer

0

100000

0

Antibody variant index.

Boosted_Antibody_Concentration

float

0

3.40E+38

1

Boosted antibody concentration (where unity equals maximum from natural exposure).

Cost_To_Consumer

float

0

999999

3.75

Unit cost of RTS,S vaccination (unamortized).

Dont_Allow_Duplicates

boolean

0

1

0

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

Intervention_Name

string

0

1

0

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

ScaleLarvalHabitat

Parameter

Data type

Minimum

Maximum

Default

Description

Example

Intervention_Name

string

0

1

0

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

Larval_Habitat_Multiplier

LarvalHabitatMultiplier

0

1

0

The value by which to scale the larval habitat availability specified in Larval_Habitat_Types across all habitat types, for specific habitat types, or for specific mosquito species within each habitat type.

ScreeningHousingModification

Parameter

Data type

Minimum

Maximum

Default

Description

Example

Blocking_Config

WaningEffect

0

999999

8

The configuration of pre-feed mosquito repellency and waning for housing modification.

Cost_To_Consumer

float

0

999999

8

Unit cost per housing modification (unamortized).

Dont_Allow_Duplicates

boolean

0

1

0

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

Intervention_Name

string

-1

3.40E+38

-1

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

Killing_Config

WaningEffect

0

999999

8

The configuration of killing efficacy and waning for housing modification. Killing is conditional on NOT blocking the mosquito before feeding.

SimpleBednet

The following example provides the syntax for configuring a SimpleBednet campaign.

{
    "Events": [
        {
            "Event_Coordinator_Config": {
                "Demographic_Coverage": 0.7,
                "Intervention_Config": {
                    "Bednet_Type": "ITN",
                    "Cost_To_Consumer": 3.75,
                    "Killing_Config": {
                        "Initial_Effect": 0.6,
                        "Decay_Time_Constant": 1460,
                        "class": "WaningEffectExponential"
                    },
                    "Blocking_Config": {
                        "Initial_Effect": 0.9,
                        "Decay_Time_Constant": 730,
                        "class": "WaningEffectExponential"
                    },
                    "class": "SimpleBednet"
                },
                "Target_Demographic": "Everyone",
                "class": "StandardInterventionDistributionEventCoordinator"
            },
            "Nodeset_Config": {
                "class": "NodeSetAll"
            },
            "Start_Day": 1460,
            "class": "CampaignEvent"
        }
    ],
    "Use_Defaults": 1
}

Parameter

Data type

Minimum

Maximum

Default

Description

Example

Bednet_Type

enum

NA

NA

Barrier

Type of bednet. Possible values are: Barrier, ITN, LLIN, Retreatment. Note: This enum does not affect the code at all.

Blocking_Config

WaningEffect

0

999999

3.75

A fraction of feed attempts that have been blocked. The rate of blocking indoor feeds on individuals with an ITN. A parameter that is decayed.

Cost_To_Consumer

float

0

999999

3.75

Unit cost per bednet (unamortized).

Dont_Allow_Duplicates

boolean

0

1

0

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

Intervention_Name

string

0

1

1

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

Killing_Config

WaningEffect

0

999999

3.75

A fraction of feed attempts that kill the vector. The rate at which the mosquito dies conditional on a successfully blocked feed. A parameter that is decayed.

SimpleDiagnostic

Parameter

Data type

Minimum

Maximum

Default

Description

Example

Base_Sensitivity

float

0

1

1

The sensitivity of the diagnostic. This sets the proportion of the time that individuals with the condition being tested receive a positive diagnostic test. When set to 1, the diagnostic always accurately reflects the condition. When set to zero, then individuals who have the condition always receive a false-negative diagnostic test.

Base_Specificity

float

0

1

1

The specificity of the diagnostic. This sets the proportion of the time that individuals without the condition being tested receive a negative diagnostic test. When set to 1, the diagnostic always accurately reflects the lack of having the condition. When set to zero, then individuals who do not have the condition always receive a false-positive diagnostic test.

Cost_To_Consumer

float

0

3.40E+38

1

The unit ‘cost’ assigned to the intervention. Setting Cost_To_Consumer to zero for all other interventions, and to a non-zero amount for one intervention, provides a convenient way to track the number of times the intervention has been applied in a simulation.

Days_To_Diagnosis

float

0

3.40E+38

0

The number of days from test until diagnosis.

Dont_Allow_Duplicates

boolean

0

1

0

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

Event_Or_Config

enum

NA

NA

Config

Specifies whether the current intervention distributes a nested intervention (the Config option) or an event will be broadcast which may trigger other interventions in the campaign file (the Event option). See event list.

Intervention_Name

string

0

1

1

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

Positive_Diagnosis_Config

IndividualIntervention

0

1

0

The intervention distributed to individuals if they test positive. This is only valid if Event_Or_Config is set to ‘Config’.

Positive_Diagnosis_Event

Constrained String

0

3.40E+38

0

The next health care event that occurs for individuals who test negative. This is only valid if Event_Or_Config is set to ‘Event’.

Treatment_Fraction

float

0

1

1

The fraction of positive diagnoses that are treated.

SimpleHealthSeekingBehavior

Parameter

Data type

Minimum

Maximum

Default

Description

Example

Actual_IndividualIntervention_Config

IndividualIntervention

0

1

1

The configuration of an actual intervention sought. Selects a class for the intervention and configures the parameters specific for that intervention class.

Actual_IndividualIntervention_Event

Constrained String

0

999999

10

The event of an actual intervention sought. Selects a class for the intervention and configures the parameters specific for that intervention class.

Dont_Allow_Duplicates

boolean

0

1

0

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

Event_Or_Config

enum

NA

NA

Config

Specifies whether the current intervention distributes a nested intervention (the Config option) or an event will be broadcast which may trigger other interventions in the campaign file (the Event option). See event list.

Intervention_Name

string

0

999999

10

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

Single_Use

boolean

0

1

1

One-time, or persistent?

Tendency

float

0

1

1

The probability of seeking healthcare.

SimpleIndividualRepellent

Parameter

Data type

Minimum

Maximum

Default

Description

Example

Blocking_Config

WaningEffect

0

999999

8

The configuration of efficacy and waning for individual repellent.

Cost_To_Consumer

float

0

999999

8

Unit cost per repellent (unamortized).

Dont_Allow_Duplicates

boolean

0

1

0

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

Intervention_Name

string

NA

NA

Config

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

SimpleVaccine

The following example provides the syntax for configuring a SimpleVaccine campaign.

{
    "Events": [
        {
            "Event_Coordinator_Config": {
                "Demographic_Coverage": 0.8,
                "Intervention_Config": {
                    ".Reduced_Acquire": 0.9,
                    "Vaccine_Take": 1,
                    "Vaccine_Type": "AcquisitionBlocking",
                    "Cost_To_Consumer": 10.0,
                    "class": "SimpleVaccine",
                    "Waning_Config": {
                        "Initial_Effect": 0.9,
                        "Box_Duration": 730,
                        "class": "WaningEffectBox"
                    }
                },
                "Target_Demographic": "Everyone",
                "class": "StandardInterventionDistributionEventCoordinator"
            },
            "Nodeset_Config": {
                "class": "NodeSetAll"
            },
            "Start_Day": 1460,
            "class": "CampaignEvent"
        }
    ],
    "Use_Defaults": 1
}

Parameter

Data type

Minimum

Maximum

Default

Description

Example

Cost_To_Consumer

float

0

999999

10

Unit cost per vaccine (unamortized). The unit ‘cost’ assigned to the intervention. Setting Cost_To_Consumer to zero for all other interventions, and to a non-zero amount for one intervention, provides a convenient way to track the number of times the intervention has been applied in a simulation.

Dont_Allow_Duplicates

boolean

0

1

0

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

Intervention_Name

string

0

1

0

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

Vaccine_Take

float

0

1

1

This specifies the rate at which delivered vaccines will successfully stimulate an immune response and achieve the desired efficacy. If vaccine_take is set to 0.9, then with a 90 percent chance, the vaccine will start with the specified efficacy, and with a 10 percent chance it will have no efficacy at all.

Vaccine_Type

enum

NA

NA

Generic

Type of vaccine to distribute in a vaccine intervention. Possible values are: - Generic - The vaccine can have all of reduced_transmit, reduced_acquire, and reduced_mortality fields and the vaccine will have both effects. - TransmissionBlocking - Specifies the fraction by which the infectivity of the infected and vaccinated Individual is reduced (reduced_transmit). - AcquisitionBlocking - Specifies the fraction by which the force of infection experienced by the vaccinated Individual is reduced (reduced_acqu

Waning_Config

WaningEffect

0

1

1

The configuration of drug-killing efficacy and waning.

SpaceSpraying

Parameter

Data type

Minimum

Maximum

Default

Description

Example

Cost_To_Consumer

float

0

999999

10

Unit cost per vector control (unamortized).

Habitat_Target

enum

NA

NA

TEMPORARY_RAINFALL

The larval habitat type targeted for habitat reduction. Possible values are: TEMPORARY_RAINFALL WATER_VEGETATION HUMAN_POPULATION CONSTANT BRACKISH_SWAMP ALL_HABITATS.

Intervention_Name

string

0

1

0

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

Killing_Config

WaningEffect

NA

NA

NA

The configuration of killing efficacy and waning for space spaying.

Reduction_Config

WaningEffect

NA

NA

NA

The configuration of larval habitat reduction and waning for space spraying.

Spray_Kill_Target

enum

NA

NA

SpaceSpray_FemalesOnly

The gender kill target of space spraying. Possible values are: SpaceSpray_FemalesOnly SpaceSpray_MalesOnly SpaceSpray_FemalesAndMales.

SpatialRepellent

Parameter

Data type

Minimum

Maximum

Default

Description

Example

Cost_To_Consumer

float

0

999999

10

Unit cost per vector control (unamortized).

Intervention_Name

string

0

1

0

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

Repellency_Config

WaningEffect

0

999999

10

The configuration of efficacy and waning for spatial repellent.

SpatialRepellentHousingModification

Parameter

Data type

Minimum

Maximum

Default

Description

Example

Blocking_Config

WaningEffect

0

999999

8

The configuration of pre-feed mosquito repellency and waning for housing modification.

Cost_To_Consumer

float

0

999999

8

Unit cost per housing modification (unamortized).

Dont_Allow_Duplicates

boolean

0

1

0

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

Intervention_Name

string

0

1

0

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

Killing_Config

WaningEffect

0

999999

8

The configuration of killing efficacy and waning for housing modification. Killing is conditional on NOT blocking the mosquito before feeding.

Sugartrap

Parameter

Data type

Minimum

Maximum

Default

Description

Example

Cost_To_Consumer

float

0

999999

10

Unit cost per vector control (unamortized).

Intervention_Name

string

0

100000

0

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

Killing_Config

WaningEffect

0

999999

10

Killing of the targeted stage. A parameter that is decayed.

Waning effect

Waning effect parameters are used with interventions such as vaccines, drugs, and bednets. It has six different classes. Each class specifies a different waning effect and uses a different combination of the waning effect parameters.

The waning effect parameters are a nested JSON object and can be configured using several different parameters such as Killing_Config, Waning_Config, Blocking_Config, and Mortality_Config. The following example uses Killing_Config. See the specific intervention sections for the supported parameters.

{
    "Intervention_Config": {
        "class": "Ivermectin",
        "Cost_To_Consumer": 1,
        "Killing_Config": {
            "class": "WaningEffectBox",
            "Box_Duration": 3,
            "Initial_Effect": 1
        }
    }
}

WaningEffectBox class

Parameter

Data type

Minimum

Maximum

Default

Description

Example

Box_Duration

float

0

100000

100

Box duration of effect in days.

Initial_Effect

float

0

1

1

Initial strength of effect.

WaningEffectBoxExponential class

Parameter

Data type

Minimum

Maximum

Default

Description

Example

Box_Duration

float

0

100000

100

Box duration of effect in days.

Decay_Time_Constant

float

0

100000

100

Exponential decay length in days.

Initial_Effect

float

0

1

1

Initial strength of effect.

WaningEffectConstant class

Parameter

Data type

Minimum

Maximum

Default

Description

Example

Initial_Effect

float

0

1

1

Initial strength of effect.

WaningEffectExponential class

Parameter

Data type

Minimum

Maximum

Default

Description

Example

Decay_Time_Constant

float

0

100000

100

Exponential decay length in days.

Initial_Effect

float

0

1

1

Initial strength of effect.

WaningEffectLinear class

Parameter

Data type

Minimum

Maximum

Default

Description

Example

Expire_At_Durability_Map_End

boolean

0

1

0

Set to 1 to let the intervention expire when the end of the map is reached.

Initial_Effect

float

0

1

1

Initial strength of effect.

WaningEffectPiecewise class

Parameter

Data type

Minimum

Maximum

Default

Description

Example

Expire_At_Durability_Map_End

boolean

0

1

0

Set to 1 to let the intervention expire when the end of the map is reached.

Initial_Effect

float

0

1

1

Initial strength of effect.