HIVDelayedIntervention

HIVDelayedIntervention is an intermediate intervention class based on DelayedIntervention, but adds several features that are specific to the HIV model. This intervention provides new types of distributions for setting the delay and also enables event broadcasting after the delay period expires.

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
Delay_Distribution enum NA NA NOT_INITIALIZED

Describes the distribution of 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": "WEIBULL_DURATION",
    "Delay_Period_Scale": 10,
    "Delay_Period_Shape": 15
}
Broadcast_Event string NA NA No Trigger The event that should occur at the end of the delay period. See Event list for possible values.
{
    "Broadcast_Event": "LTFU0"
}
Broadcast_On_Expiration_Event string NA NA NoTrigger If the delay intervention expires before arriving at the end of the delay period, this specifies the event that should occur. For example, if loss to follow-up occurs at a high rate for the first 6 months of care, and then later transitions to a lower rate, then the Expiration_Period should be set to 183 days and Broadcast_On_Expiration_Event can link to another delay intervention with a longer average delay time until loss to follow up (LTFU). If LTFU does not occur in the first 6 months, then the expiration will allow the first rate to give way to the post-6-month rate. See the list of available events for possible values. See Event list for possible values.
{
    "Broadcast_On_Expiration_Event": "OnART8"
}
Expiration_Period float 0 3.40E+3 3.40E+38 A fixed time period, in days, after which the Broadcast_On_Expiration_Event occurs instead of the Broadcast_Event. Only applied if the Expiration_Period occurs earlier than the end of the delay period. For example, if loss to follow-up (LTFU) occurs at a high rate for the first 6 months of care, and then later transitions to a lower rate, then the Expiration_Period should be set to 183 days and Broadcast_On_Expiration_Event can link to another delay intervention with a longer average delay time until LTFU. If LTFU does not occur in the first 6 months, then the expiration will allow the first rate to give way to the post-6-month rate.
{
    "Expiration_Period": 183
}
Time_Varying_Constants JSON object NA NA NA When Delay_Distribution is set to PIECEWISE_CONSTANT or PIECEWISE_LINEAR, this parameter maps simulation year to a delay period. This parameter uses InterpolatedValueMap to define Times (by year) and Values.
{
    "Time_Varying_Constants": {
        "Times": [
            1990,
            2020
        ],
        "Values": [
            1,
            0
        ]
    }
}
Coverage float 0 1 1 The proportion of individuals who receive the DelayedIntervention that actually receive the configured interventions.
{
    "Coverage": 1.0
}
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
}
Event_Or_Config enum NA NA Config

Specifies whether the current intervention (or a positive diagnosis, depending on the intervention class) 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). Possible values are:

  • Event
  • Config
{
    "Event_Or_Config": "Config"
}
Times array of floats 0 999999 NA An array of years.
{
    "Time_Value_Map": {
        "Times": [1998, 2000, 2003, 2006, 2009],
        "Values": [
            0,
            0.260000,
            0.080000,
            0.140000,
            0.540000
        ]
    }
}
Values array of floats 0 3.40E+3 NA An array of values to match the defined Times.
{
    "Time_Value_Map": {
        "Times": [1998, 2000, 2003, 2006, 2009],
        "Values": [
            0,
            0.260000,
            0.080000,
            0.140000,
            0.540000
        ]
    }
}
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"
}
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"
}
{
    "Use_Defaults": 1,
    "Campaign_Name": "35_HIV_Delayed_Intervention",
    "Events":
    [
        {
            "class": "CampaignEvent",
            "Event_Name": "LTFU0 broadcasts should proceed the expiration period of 9 days",
            "Start_Day": 1,
            "Nodeset_Config":
            {
                "class": "NodeSetAll"
            },
            "Event_Coordinator_Config":
            {
                "class": "StandardInterventionDistributionEventCoordinator",
                "Demographic_Coverage": 1,
                "Intervention_Config":
                {
                    "class": "HIVDelayedIntervention",
                    "Disqualifying_Properties": [ ],
                    "New_Property_Value": "",
                    "Delay_Distribution": "FIXED_DURATION",
                    "Delay_Period": 8,
                    "Expiration_Period": 9,
                    "Broadcast_Event": "LTFU0"
                }
            }
        },
        {
            "class": "CampaignEvent",
            "Event_Name": "LTFU1 broadcasts should be truncated by the expiration period of 7 days",
            "Start_Day": 1,
            "Nodeset_Config":
            {
                "class": "NodeSetAll"
            },
            "Event_Coordinator_Config":
            {
                "class": "StandardInterventionDistributionEventCoordinator",
                "Demographic_Coverage": 1,
                "Intervention_Config":
                {
                    "class": "HIVDelayedIntervention",
                    "Disqualifying_Properties": [ ],
                    "New_Property_Value": "",
                    "Delay_Distribution": "FIXED_DURATION",
                    "Delay_Period": 8,
                    "Expiration_Period": 7,
                    "Broadcast_Event": "LTFU1"
                }
            }
        }
    ]
}