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. 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

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": [{
        "class": "HIVSimpleDiagnostic",
        "New_Property_Value": "InterventionStatus:None",
        "Base_Specificity": 1,
        "Base_Sensitivity": 1,
        "Event_Or_Config": "Event",
        "Positive_Diagnosis_Event": "NoTrigger",
        "Negative_Diagnosis_Event": "HIVNeedsMaleCircumcision"
    }]
}

Coverage

float

0

1

1

The proportion of individuals who receive the DelayedIntervention that actually receive the configured interventions.

{
    "Coverage": 1.0
}

Delay_Distribution

enum

NA

NA

NOT_INITIALIZED

The distribution of the time delay from when the intervention is distributed to when the individual actually receives the intervention. Possible values are:

NOT_INITIALIZED

No distribution set.

FIXED_DURATION

A constant duration.

UNIFORM_DURATION

A uniform random draw for the duration.

GAUSSIAN_DURATION

Duration of the active period is defined by the mean and standard deviation of the Gaussian distribution. Negative values are truncated at zero.

EXPONENTIAL_DURATION

The active period is the mean of the exponential random draw.

POISSON_DURATION

The active period is the mean of the random Poisson draw.

LOG_NORMAL_DURATION

The active period is a log normal distribution defined by a mean and log width.

BIMODAL_DURATION

The distribution is bimodal, the duration is a fraction of the active period for a specified period of time and equal to the active period otherwise.

PIECEWISE_CONSTANT

The distribution is specified with a list of years and a matching list of values. The duration at a given year is that specified for the nearest previous year.

PIECEWISE_LINEAR

The distribution is specified with a list of years and matching list of values. The duration at a given year is a linear interpolation of the specified values.

WEIBULL_DURATION

The duration is a Weibull distribution with a given scale and shape.

DUAL_TIMESCALE_DURATION

The duration is two exponential distributions with given means.

{
    "Delay_Distribution": "UNIFORM_DURATION"
}

Delay_Period

float

0

3.40E+3

6

When Delay_Distribution is set to FIXED_DURATION, this will specify the time delay (in number of days). When Delay_Distribution is set to EXPONENTIAL_DURATION, this represents the exponential rate that describes the distribution of the time delay (in units of 1/days).

{
    "Delay_Distribution": "FIXED_DURATION",
    "Delay_Period": 8
}

Delay_Period_Max

float

0

3.40E+3

6

The maximum time delay (in number of days) when Delay_Distribution is set to UNIFORM_DURATION.

{
    "Delay_Distribution": "UNIFORM_DURATION",
    "Delay_Period_Min": 1,
    "Delay_Period_Max": 30
}

Delay_Period_Mean

float

0

3.40E+3

6

The mean time delay (in number of days), when Delay_Distribution is set to GAUSSIAN_DURATION.

{
    "Delay_Distribution": "GAUSSIAN_DURATION",
    "Delay_Period_Mean": 25,
    "Delay_Period_Std_Dev": 5
}

Delay_Period_Min

float

0

3.40E+3

6

The minimum time delay (in number of days) when Delay_Distribution is set to UNIFORM_DURATION.

{
    "Delay_Distribution": "UNIFORM_DURATION",
    "Delay_Period_Min": 1,
    "Delay_Period_Max": 30
}

Delay_Period_Scale

float

0

3.40E+3

16

The scale parameter (lambda > 0) of the distribution (in days) when Delay_Distribution is set to WEIBULL_DURATION.

{
    "Delay_Distribution": "WEIBULL_DURATION",
    "Delay_Period_Scale": 10,
    "Delay_Period_Shape": 15
}

Delay_Period_Shape

float

0

20

The shape parameter (kappa > 0) of the distribution when Delay_Distribution is set to WEIBULL_DURATION.

{
    "Delay_Distribution": "WEIBULL_DURATION",
    "Delay_Period_Scale": 10,
    "Delay_Period_Shape": 15
}

Delay_Period_Std_Dev

float

0

3.40E+3

6

The standard deviation of the Gaussian distribution (in number of days) when Delay_Distribution is set to GAUSSIAN_DURATION.

{
    "Delay_Distribution": "GAUSSIAN_DURATION",
    "Delay_Period_Mean": 25,
    "Delay_Period_Std_Dev": 5
}

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"
}

Dont_Allow_Duplicates

boolean

NA

NA

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
}

Disqualifying_Properties

string

NA

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"
    ]
}

Intervention_Name

string

NA

NA

NA

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

{
    "Intervention_Name":"Diagnostic_Sample"
}
{
    "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_Distribution": "FIXED_DURATION",
                    "Delay_Period": 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_Distribution": "UNIFORM_DURATION",
                    "Delay_Period_Min": 15,
                    "Delay_Period_Max": 30,
                    "Actual_IndividualIntervention_Configs": [{
                        "Outbreak_Source": "PrevalenceIncrease",
                        "class": "OutbreakIndividual"
                    }]
                }
            }
        }
    ],
    "Use_Defaults": 1
}