MigrateFamily

The MigrateFamily intervention class tells residents of the targeted node to go on a family trip. The duration of time residents wait before migration can be configured; the “timer” for this duration does not start until all residents are “home”.

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

Duration_At_Node_Exponential_Period

float

0

3.40E+3

6

The period (1/rate) to use for an exponential distribution for the amount of time spent at the destination node when Duration_At_Node_Distribution_Type is set to EXPONENTIAL_DURATION.

{
    "Duration_At_Node_Distribution_Type": "EXPONENTIAL_DURATION",
    "Duration_At_Node_Exponential_Period": 4
}

Duration_At_Node_Fixed

float

0

3.40E+3

6

The value to use for a fixed distribution for the amount of time spent at the destination node when Duration_At_Node_Distribution_Type is set to FIXED_DURATION.

{
    "Duration_At_Node_Distribution_Type" : "FIXED_DURATION",
    "Duration_At_Node_Fixed": 10
}

Duration_At_Node_Gausian_Mean

float

0

3.40E+3

6

The mean value to use for a Gaussian distribution for the amount of time spent at the destination node when Duration_At_Node_Distribution_Type is set to GAUSSIAN_DURATION.

{
    "Duration_At_Node_Distribution_Type": "GAUSSIAN_DURATION",
    "Duration_At_Node_Gausian_Mean": 9.0,
    "Duration_At_Node_Gausian_StdDev": 2.0
}

Duration_At_Node_Gausian_StdDev

float

0

3.40E+3

1

The standard deviation to use for a Gaussian distribution for the amount of time spent at the destination node when Duration_At_Node_Distribution_Type is set to GAUSSIAN_DURATION.

{
    "Duration_At_Node_Distribution_Type": "GAUSSIAN_DURATION",
    "Duration_At_Node_Gausian_Mean": 9.0,
    "Duration_At_Node_Gausian_StdDev": 2.0
}

Duration_At_Node_Poisson_Mean

float

0

3.40E+3

6

The mean to use for a Poisson distribution for the amount of time spent at the destination node when Duration_At_Node_Distribution_Type is set to POISSON_DURATION.

{
    "Duration_At_Node_Distribution_Type": "POISSON_DURATION",
    "Duration_At_Node_Poisson_Mean": 4
}

Duration_At_Node_Distribution_Type

enum

NA

NA

NOT_INITIALIZED

The shape of the distribution for the amount of time spent at the destination node for intervention-based migration. 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.

{
    "Duration_At_Node_Distribution_Type": "GAUSSIAN_DURATION"
}

Duration_At_Node_Uniform_Max

float

0

3.40E+3

0

The maximum value to use for a uniform distribution for the amount of time spent at the destination node when Duration_At_Node_Distribution_Type is set to UNIFORM_DURATION.

{
    "Duration_At_Node_Distribution_Type": "UNIFORM_DURATION",
    "Duration_At_Node_Uniform_Max": 75,
    "Duration_At_Node_Uniform_Min": 45
}

Duration_At_Node_Uniform_Min

float

0

3.40E+3

0

The minimum value to use for a uniform distribution for the amount of time spent at the destination node when Duration_At_Node_Distribution_Type is set to UNIFORM_DURATION.

{
    "Duration_At_Node_Distribution_Type": "UNIFORM_DURATION",
    "Duration_At_Node_Uniform_Max": 75,
    "Duration_At_Node_Uniform_Min": 45
}

Duration_Before_Leaving_Exponential_Period

float

0

3.40E+3

6

The period (1/rate) to use for an exponential distribution of the number of days to wait before migrating to the destination node when Duration_Before_Leaving_Distribution_Type is set to EXPONENTIAL_DURATION.

{
    "Duration_Before_Leaving_Distribution_Type": "EXPONENTIAL_DURATION",
    "Duration_Before_Leaving_Exponential_Period": 4
}

Duration_Before_Leaving_Fixed

float

0

3.40E+3

6

The value to use for a fixed distribution of the number of days to wait before migrating to the destination node when Duration_Before_Leaving_Distribution_Type is set to FIXED_DURATION.

{
    "Duration_Before_Leaving_Distribution_Type": "FIXED_DURATION",
    "Duration_Before_Leaving_Fixed": 4
}

Duration_Before_Leaving_Gausian_Mean

float

0

3.40E+3

6

The mean value to use for a Gaussian distribution of the number of days to wait before migrating to the destination node when Duration_Before_Leaving_Distribution_Type is set to GAUSSIAN_DURATION.

{
    "Duration_Before_Leaving_Distribution_Type": "GAUSSIAN_DURATION",
    "Duration_Before_Leaving_Gausian_Mean": 9.0,
    "Duration_Before_Leaving_Gausian_StdDev": 2.0
}

Duration_Before_Leaving_Gausian_StdDev

float

0

3.40E+3

1

The standard deviation to use for a Gaussian distribution of the number of days to wait before migrating to the destination node when Duration_Before_Leaving_Distribution_Type is set to GAUSSIAN_DURATION.

{
    "Duration_Before_Leaving_Distribution_Type": "GAUSSIAN_DURATION",
    "Duration_Before_Leaving_Gausian_Mean": 9.0,
    "Duration_Before_Leaving_Gausian_StdDev": 2.0
}

Duration_Before_Leaving_Poisson_Mean

float

0

3.40E+3

6

The mean to use for a Poisson distribution of the number of days to wait before migrating to the destination node when Duration_Before_Leaving_Distribution_Type is set to POISSON_DURATION.

{
    "Duration_Before_Leaving_Distribution_Type": "POISSON_DURATION",
    "Duration_Before_Leaving_Poisson_Mean": 3.0,
}

Duration_Before_Leaving_Distribution_Type

enum

NA

NA

NOT_INITIALIZED

The shape of the distribution of the number of days to wait before migrating to the destination node for intervention-based migration. 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.

{
    "Duration_Before_Leaving_Distribution_Type": "FIXED_DURATION"
}

Duration_Before_Leaving_Uniform_Max

float

0

3.40E+3

0

The maximum value to use for a uniform distribution of the number of days to wait before migrating to the destination node when Duration_Before_Leaving_Distribution_Type is set to UNIFORM_DURATION.

{
    "Duration_Before_Leaving_Distribution_Type": "UNIFORM_DURATION",
    "Duration_Before_Leaving_Uniform_Max": 14,
    "Duration_Before_Leaving_Uniform_Min": 0,
}

Duration_Before_Leaving_Uniform_Min

float

0

3.40E+3

0

The minimum value to use for a uniform distribution of the number of days to wait before migrating to the destination node when Duration_Before_Leaving_Distribution_Type is set to UNIFORM_DURATION.

{
    "Duration_Before_Leaving_Distribution_Type": "UNIFORM_DURATION",
    "Duration_Before_Leaving_Uniform_Max": 14,
    "Duration_Before_Leaving_Uniform_Min": 0,
}

Is_Moving

boolean

NA

NA

0

Set to true (1) to indicate the individual is permanently moving to a new home node for intervention-based migration.

{
    "Is_Moving": 1
}

NodeID_To_Migrate_To

integer

0

2.15E+0

0

The destination node ID for intervention-based migration.

{
    "NodeID_To_Migrate_To": 26
}

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,
    "Events": [{
        "class": "CampaignEvent",
        "Start_Day": 1,
        "Nodeset_Config": {
            "class": "NodeSetAll"
        },
        "Event_Coordinator_Config": {
            "class": "StandardInterventionDistributionEventCoordinator",
            "Intervention_Config": {
                "class": "NodeLevelHealthTriggeredIV",
                "Trigger_Condition_List": ["NewInfectionEvent"],
                "Demographic_Coverage": 1.0,
                "Actual_NodeIntervention_Config": {
                    "class": "MigrateFamily",
                    "NodeID_To_Migrate_To": 4,
                    "Duration_Before_Leaving_Distribution_Type": "FIXED_DURATION",
                    "Duration_Before_Leaving_Fixed": 0,
                    "Duration_At_Node_Distribution_Type": "FIXED_DURATION",
                    "Duration_At_Node_Fixed": 10,
                    "Is_Moving": 0
                }
            }
        }
    }]
}