DelayedIntervention

The DelayedIntervention intervention class introduces a delay between when the intervention is distributed to the individual and when they receive the actual intervention. This is due to the frequent occurrences of time delays as individuals seek care and receive treatment. This intervention allows configuration of the distribution type for the delay as well as the fraction of the population that receives the specified intervention.

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 format does not permit comments, but you can add “dummy” parameters to add contextual information to your files. Any keys that are not EMOD parameter names will be ignored by the model.

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
Actual_IndividualIntervention_Configs array of JSON objects NA NA NA An array of nested interventions to be distributed at the end of a delay period, to covered fraction of the population.
{
    "Actual_IndividualIntervention_Configs": [
        {
            "Base_Sensitivity": 1,
            "Base_Specificity": 1,
            "Event_Or_Config": "Event",
            "Negative_Diagnosis_Event": "HIVNeedsMaleCircumcision",
            "New_Property_Value": "InterventionStatus:None",
            "Positive_Diagnosis_Event": "NoTreatment",
            "class": "HIVSimpleDiagnostic"
        }
    ]
}
Coverage float 0 1 1 The proportion of individuals who receive the DelayedIntervention that actually receive the configured interventions. This can be useful to target the intervention to a subset of the people that got the delay. To target the subgroup more specifically, distribute a BroadcastEvent and use a NodeLevelHealthTriggeredIV to distributes the desired intervention.
{
    "Coverage": 1.0
}
Delay_Period_Constant float 0 3.40282E+38 -1 The delay period, in days, to use for all interventions when Delay_Period_Distribution is set to CONSTANT_DISTRIBUTION.
{
    "Delay_Period_Distribution": "CONSTANT_DISTRIBUTION",
    "Delay_Period_Constant": 8
}
Delay_Period_Distribution enum NA NA NOT_INITIALIZED

The distribution type to use for assigning the delay period for distributing interventions. Each assigned value is a random draw from the distribution.

Possible values are:

NOT_INITIALIZED
No distribution set.
CONSTANT_DISTRIBUTION
Use the same value for each individual. Set Delay_Period_Constant.
UNIFORM_DISTRIBUTION
Use a uniform distribution with a given minimum and maximum. Set Delay_Period_Max and Delay_Period_Min.
GAUSSIAN_DISTRIBUTION
The distribution is Gaussian (or normal). Values are resampled to ensure >= 0. Set Delay_Period_Gaussian_Mean and Delay_Period_Gaussian_Std_Dev.
EXPONENTIAL_DISTRIBUTION
The distribution is exponential with a given mean. Set Delay_Period_Exponential.
WEIBULL_DISTRIBUTION
Use a Weibull distribution with a given shape and scale. Set Delay_Period_Kappa and Delay_Period_Lambda.
LOG_NORMAL_DISTRIBUTION
Use a log-normal distribution with a given mean and standard deviation of the natural log. Set Delay_Period_Log_Normal_Mu and Delay_Period_Log_Normal_Sigma.
POISSON_DISTRIBUTION
Use a Poisson distribution with a given mean. Set Delay_Period_Poisson_Mean.
DUAL_CONSTANT_DISTRIBUTION
Use a distribution where some individuals are set to a value of zero and the rest to a given value. Set Delay_Period_Proportion_0 and Peak_2_Value.
DUAL_EXPONENTIAL_DISTRIBUTION
Use two exponential distributions with given means. Set Delay_Period_Mean_1, Delay_Period_Mean_2, and Delay_Period_Proportion_1.
{
    "Delay_Period_Distribution": "GAUSSIAN_DISTRIBUTION",
    "Delay_Period_Gaussian_Mean": 8,
    "Delay_Period_Gaussian_Std_Dev": 1.5
}
Delay_Period_Exponential float 0 3.40282E+38 -1 The mean of the delay period, in days, when Delay_Period_Distribution is set to EXPONENTIAL_DISTRIBUTION.
{
    "Delay_Period_Distribution": "EXPONENTIAL_DISTRIBUTION",
    "Delay_Period_Exponential": 4.25
}
Delay_Period_Gaussian_Mean float 0 3.40282E+38 -1 The mean of the delay period, in days, when Delay_Period_Distribution is set to GAUSSIAN_DISTRIBUTION.
{
    "Delay_Period_Distribution": "GAUSSIAN_DISTRIBUTION",
    "Delay_Period_Gaussian_Mean": 8,
    "Delay_Period_Gaussian_Std_Dev": 1.5
}
Delay_Period_Gaussian_Std_Dev float 1.17549E-38 3.40282E+38 -1 The standard deviation of the delay period, in days, when Delay_Period_Distribution is set to GAUSSIAN_DISTRIBUTION.
{
    "Delay_Period_Distribution": "GAUSSIAN_DISTRIBUTION",
    "Delay_Period_Gaussian_Mean": 8,
    "Delay_Period_Gaussian_Std_Dev": 1.5
}
Delay_Period_Kappa float 1.17549E-38 3.40282E+38 -1 The shape value for the delay period, in days, when Delay_Period_Distribution is set to WEIBULL_DISTRIBUTION.
{
    "Delay_Period_Distribution": "WEIBULL_DISTRIBUTION",
    "Delay_Period_Kappa": 0.9,
    "Delay_Period_Lambda": 1.5
}
Delay_Period_Lambda float 1.17549E-38 3.40282E+38 -1 The scale value for the delay period, in days, when Delay_Period_Distribution is set to WEIBULL_DISTRIBUTION.
{
    "Delay_Period_Distribution": "WEIBULL_DISTRIBUTION",
    "Delay_Period_Kappa": 0.9,
    "Delay_Period_Lambda": 1.5
}
Delay_Period_Log_Normal_Mu float -3.40282e+38 1.70141e+38 3.40282e+38 The mean of the natural log of the delay period, in days, when Delay_Period_Distribution is set to LOG_NORMAL_DISTRIBUTION.
{
    "Delay_Period_Distribution": "LOG_NORMAL_DISTRIBUTION",
    "Delay_Period_Log_Normal_Mu": 9,
    "Delay_Period_Log_Normal_Sigma": 2
}
Delay_Period_Log_Normal_Sigma float -3.40282e+38 1.70141e+38 3.40282E+38 The standard deviation of the natural log of the delay period, in days, when Delay_Period_Distribution is set to LOG_NORMAL_DISTRIBUTION.
{
    "Delay_Period_Distribution": "LOG_NORMAL_DISTRIBUTION",
    "Delay_Period_Log_Normal_Mu": 9,
    "Delay_Period_Log_Normal_Sigma": 2
}
Delay_Period_Max float 0 3.40282E+38 -1 The maximum delay period, in days, when Delay_Period_Distribution is set to UNIFORM_DISTRIBUTION.
{
    "Delay_Period_Distribution": "UNIFORM_DISTRIBUTION",
    "Delay_Period_Min": 2,
    "Delay_Period_Max": 7
}
Delay_Period_Mean_1 float 1.17549E-38 3.40282E+38 -1 The mean of the first exponential distribution, in days, when Delay_Period_Distribution is set to DUAL_EXPONENTIAL_DISTRIBUTION.
{
    "Delay_Period_Distribution": "DUAL_EXPONENTIAL_DISTRIBUTION",
    "Delay_Period_Mean_1": 4,
    "Delay_Period_Mean_2": 12,
    "Delay_Period_Proportion_1": 0.2
}
Delay_Period_Mean_2 float 1.17549E-38 3.40282E+38 -1 The mean of the second exponential distribution, in days, when Delay_Period_Distribution is set to DUAL_EXPONENTIAL_DISTRIBUTION.
{
    "Delay_Period_Distribution": "DUAL_EXPONENTIAL_DISTRIBUTION",
    "Delay_Period_Mean_1": 4,
    "Delay_Period_Mean_2": 12,
    "Delay_Period_Proportion_1": 0.2
}
Delay_Period_Min float 0 3.40282E+38 -1 The minimum delay period, in days, when Delay_Period_Distribution is set to UNIFORM_DISTRIBUTION.
{
    "Delay_Period_Distribution": "UNIFORM_DISTRIBUTION",
    "Delay_Period_Min": 2,
    "Delay_Period_Max": 7
}
Delay_Period_Peak_2_Value float 0 3.40282E+38 -1 The delay period value to assign to the remaining interventions when Delay_Period_Distribution is set to DUAL_CONSTANT_DISTRIBUTION.
{
    "Delay_Period_Distribution": "DUAL_CONSTANT_DISTRIBUTION",
    "Delay_Period_Proportion_0": 0.25,
    "Delay_Period_Peak_2_Value": 5
}
Delay_Period_Poisson_Mean float 0 3.40282E+38 -1 The mean of the delay period when Delay_Period_Distribution is set to POISSON_DISTRIBUTION.
{
    "Delay_Period_Distribution": "POISSON_DISTRIBUTION",
    "Delay_Period_Poisson_Mean": 5
}
Delay_Period_Proportion_0 float 0 1 -1 The proportion of interventions to assign a value of zero delay when Delay_Period_Distribution is set to DUAL_CONSTANT_DISTRIBUTION.
{
    "Delay_Period_Distribution": "DUAL_CONSTANT_DISTRIBUTION",
    "Delay_Period_Proportion_0": 0.25,
    "Delay_Period_Peak_2_Value": 5
}
Delay_Period_Proportion_1 float 0 1 -1 The proportion of interventions in the first exponential distribution when Delay_Period_Distribution is set to DUAL_EXPONENTIAL_DISTRIBUTION.
{
    "Delay_Period_Distribution": "DUAL_EXPONENTIAL_DISTRIBUTION",
    "Delay_Period_Mean_1": 4,
    "Delay_Period_Mean_2": 12,
    "Delay_Period_Proportion_1": 0.2
}
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
}
Intervention_Name string NA NA DelayedIntervention 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": "DelayedIntervention",
        "Intervention_Name": "Treatment one week after diagnostic test"
    }
}
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"
}
{
  "Campaign_Name": "Initial Seeding",
  "Events": [
    {
      "Event_Name": "Outbreak",
      "class": "CampaignEvent",
      "Nodeset_Config": {
        "class": "NodeSetAll"
      },
      "Start_Day": 1,
      "Event_Coordinator_Config": {
        "class": "StandardInterventionDistributionEventCoordinator",
        "Target_Demographic": "Everyone",
        "Demographic_Coverage": 1.0,
        "Intervention_Config": {
          "class": "DelayedIntervention",
          "Delay_Period_Distribution": "CONSTANT_DISTRIBUTION",
          "Delay_Period_Constant": 25,
          "Actual_IndividualIntervention_Configs": [
            {
              "Outbreak_Source": "PrevalenceIncrease",
              "class": "OutbreakIndividual"
            }
          ]
        }
      }
    },
    {
      "Event_Name": "Outbreak",
      "class": "CampaignEvent",
      "Nodeset_Config": {
        "class": "NodeSetAll"
      },
      "Start_Day": 50,
      "Event_Coordinator_Config": {
        "class": "StandardInterventionDistributionEventCoordinator",
        "Target_Demographic": "Everyone",
        "Demographic_Coverage": 1.0,
        "Intervention_Config": {
          "class": "DelayedIntervention",
          "Delay_Period_Distribution": "UNIFORM_DISTRIBUTION",
          "Delay_Period_Min": 15,
          "Delay_Period_Max": 30,
          "Actual_IndividualIntervention_Configs": [
            {
              "Outbreak_Source": "PrevalenceIncrease",
              "class": "OutbreakIndividual"
            }
          ]
        }
      }
    }
  ],
  "Use_Defaults": 1
}