MigrateIndividuals¶
The MigrateIndividuals intervention class is used to force migration and is separate from the normal migration system. However, it does require that human migration is enabled.
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 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 |
---|---|---|---|---|---|---|
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
}
|
Duration_At_Node_Constant |
float |
0 |
3.40282E+38 |
6 |
The duration at node to use for all individuals when Duration_At_Node_Distribution is set to CONSTANT_DISTRIBUTION. |
{
"Duration_At_Node_Distribution": "CONSTANT_DISTRIBUTION",
"Duration_At_Node_Constant": 8
}
|
Duration_At_Node_Distribution |
enum |
NA |
NA |
NOT_INITIALIZED |
The distribution type to use for assigning the duration of time an individual or family spends at a destination node after intervention-based migration. Each assigned value is a random draw from the distribution. Possible values are:
|
{
"Duration_At_Node_Distribution": "WEIBULL_DISTRIBUTION",
"Duration_At_Node_Kappa": 0.9,
"Duration_At_Node_Lambda": 1.5
}
|
Duration_At_Node_Exponential |
float |
0 |
3.40282E+38 |
6 |
The mean of the duration at node after migration when Duration_At_Node_Distribution is set to EXPONENTIAL_DISTRIBUTION. |
{
"Duration_At_Node_Distribution": "EXPONENTIAL_DISTRIBUTION",
"Duration_At_Node_Exponential": 4.25
}
|
Duration_At_Node_Gaussian_Mean |
float |
0 |
3.40282E+38 |
6 |
The mean of the duration at node after migration when Duration_At_Node_Distribution is set to GAUSSIAN_DISTRIBUTION. |
{
"Duration_At_Node_Distribution": "GAUSSIAN_DISTRIBUTION",
"Duration_At_Node_Gaussian_Mean": 8,
"Duration_At_Node_Gaussian_Std_Dev": 1.5
}
|
Duration_At_Node_Gaussian_Std_Dev |
float |
1.17549E-38 |
3.40282E+38 |
1 |
The standard deviation of the duration at node after migration when Duration_At_Node_Distribution is set to GAUSSIAN_DISTRIBUTION. |
{
"Duration_At_Node_Distribution": "GAUSSIAN_DISTRIBUTION",
"Duration_At_Node_Gaussian_Mean": 8,
"Duration_At_Node_Gaussian_Std_Dev": 1.5
}
|
Duration_At_Node_Kappa |
float |
1.17549E-38 |
3.40282E+38 |
1 |
The shape value for the duration at node after migration when Duration_At_Node_Distribution is set to WEIBULL_DISTRIBUTION. |
{
"Duration_At_Node_Distribution": "WEIBULL_DISTRIBUTION",
"Duration_At_Node_Kappa": 0.9,
"Duration_At_Node_Lambda": 1.5
}
|
Duration_At_Node_Lambda |
float |
1.17549E-38 |
3.40282E+38 |
1 |
The scale value for the duration at node after migration when Duration_At_Node_Distribution is set to WEIBULL_DISTRIBUTION. |
{
"Duration_At_Node_Distribution": "WEIBULL_DISTRIBUTION",
"Duration_At_Node_Kappa": 0.9,
"Duration_At_Node_Lambda": 1.5
}
|
Duration_At_Node_Log_Normal_Mu |
float |
-3.40282e+38 |
3.40282E+38 |
6 |
The mean of the duration at node after migration when Duration_At_Node_Distribution is set to LOG_NORMAL_DISTRIBUTION. |
{
"Duration_At_Node_Distribution": "LOG_NORMAL_DISTRIBUTION",
"Duration_At_Node_Log_Normal_Mu": 9,
"Duration_At_Node_Log_Normal_Sigma": 2
}
|
Duration_At_Node_Log_Normal_Sigma |
float |
-3.40282e+38 |
3.40282E+38 |
1 |
The standard deviation of the natural log of the duration at node after migration when Duration_At_Node_Distribution is set to LOG_NORMAL_DISTRIBUTION. |
{
"Duration_At_Node_Distribution": "LOG_NORMAL_DISTRIBUTION",
"Duration_At_Node_Log_Normal_Mu": 9,
"Duration_At_Node_Log_Normal_Sigma": 2
}
|
Duration_At_Node_Max |
float |
0 |
3.40282E+38 |
1 |
The maximum duration at node after migration when Duration_At_Node_Distribution is set to UNIFORM_DISTRIBUTION. |
{
"Duration_At_Node_Distribution": "UNIFORM_DISTRIBUTION",
"Duration_At_Node_Min": 2,
"Duration_At_Node_Max": 7
}
|
Duration_At_Node_Mean_1 |
float |
1.17549E-38 |
3.40282E+38 |
1 |
The mean of the first exponential distribution when Duration_At_Node_Distribution is set to DUAL_EXPONENTIAL_DISTRIBUTION. |
{
"Duration_At_Node_Distribution": "DUAL_EXPONENTIAL_DISTRIBUTION",
"Duration_At_Node_Mean_1": 4,
"Duration_At_Node_Mean_2": 12,
"Duration_At_Node_Proportion_1": 0.2
}
|
Duration_At_Node_Mean_2 |
float |
1.17549E-38 |
3.40282E+38 |
1 |
The mean of the second exponential distribution when Duration_At_Node_Distribution is set to DUAL_EXPONENTIAL_DISTRIBUTION. |
{
"Duration_At_Node_Distribution": "DUAL_EXPONENTIAL_DISTRIBUTION",
"Duration_At_Node_Mean_1": 4,
"Duration_At_Node_Mean_2": 12,
"Duration_At_Node_Proportion_1": 0.2
}
|
Duration_At_Node_Min |
float |
0 |
3.40282E+38 |
0 |
The minimum duration at node after migration when Duration_At_Node_Distribution is set to UNIFORM_DISTRIBUTION. |
{
"Duration_At_Node_Distribution": "UNIFORM_DISTRIBUTION",
"Duration_At_Node_Min": 2,
"Duration_At_Node_Max": 7
}
|
Duration_At_Node_Peak_2_Value |
float |
0 |
3.40282E+38 |
1 |
The duration at node value to assign to the remaining individuals when Duration_At_Node_Distribution is set to DUAL_CONSTANT_DISTRIBUTION. |
{
"Duration_At_Node_Distribution": "DUAL_CONSTANT_DISTRIBUTION",
"Duration_At_Node_Proportion_0": 0.25,
"Duration_At_Node_Peak_2_Value": 5
}
|
Duration_At_Node_Poisson_Mean |
float |
0 |
3.40282E+38 |
6 |
The mean of the duration at node after migration when Duration_At_Node_Distribution is set to POISSON_DISTRIBUTION. |
{
"Duration_At_Node_Distribution": "POISSON_DISTRIBUTION",
"Duration_At_Node_Poisson_Mean": 5
}
|
Duration_At_Node_Proportion_0 |
float |
0 |
1 |
1 |
The proportion of individuals to assign a value of zero days at node when Duration_At_Node_Distribution is set to DUAL_CONSTANT_DISTRIBUTION. |
{
"Duration_At_Node_Distribution": "DUAL_CONSTANT_DISTRIBUTION",
"Duration_At_Node_Proportion_0": 0.25,
"Duration_At_Node_Peak_2_Value": 5
}
|
Duration_At_Node_Proportion_1 |
float |
0 |
1 |
1 |
The proportion of individuals in the first exponential distribution when Duration_At_Node_Distribution is set to DUAL_EXPONENTIAL_DISTRIBUTION. |
{
"Duration_At_Node_Distribution": "DUAL_EXPONENTIAL_DISTRIBUTION",
"Duration_At_Node_Mean_1": 4,
"Duration_At_Node_Mean_2": 12,
"Duration_At_Node_Proportion_1": 0.2
}
|
Duration_Before_Leaving_Constant |
float |
0 |
3.40282E+38 |
6 |
The duration before leaving to use for every individual when Duration_Before_Leaving_Distribution is set to CONSTANT_DISTRIBUTION. |
{
"Duration_Before_Leaving_Distribution": "CONSTANT_DISTRIBUTION",
"Duration_Before_Leaving_Constant": 8
}
|
Duration_Before_Leaving_Distribution |
enum |
NA |
NA |
NOT_INITIALIZED |
The distribution type to use for assigning the duration of time an individual or family waits before migrating to the destination node after intervention-based migration. Each assigned value is a random draw from the distribution. Possible values are:
|
{
"Duration_Before_Leaving_Distribution": "UNIFORM_DISTRIBUTION",
"Duration_Before_Leaving_Min": 2,
"Duration_Before_Leaving_Max": 7
}
|
Duration_Before_Leaving_Exponential |
float |
0 |
3.40282E+38 |
6 |
The mean of the duration before leaving node when Duration_Before_Leaving_Distribution is set to EXPONENTIAL_DISTRIBUTION. |
{
"Duration_Before_Leaving_Distribution": "EXPONENTIAL_DISTRIBUTION",
"Duration_Before_Leaving_Exponential": 4.25
}
|
Duration_Before_Leaving_Gaussian_Mean |
float |
0 |
3.40282E+38 |
6 |
The mean of the duration before leaving the node when Duration_Before_Leaving_Distribution is set to GAUSSIAN_DISTRIBUTION. |
{
"Duration_Before_Leaving_Distribution": "GAUSSIAN_DISTRIBUTION",
"Duration_Before_Leaving_Gaussian_Mean": 8,
"Duration_Before_Leaving_Gaussian_Std_Dev": 1.5
}
|
Duration_Before_Leaving_Gaussian_Std_Dev |
float |
1.17549E-38 |
3.40282E+38 |
1 |
The standard deviation of the duration before leaving the node when Duration_Before_Leaving_Distribution is set to GAUSSIAN_DISTRIBUTION. |
{
"Duration_Before_Leaving_Distribution": "GAUSSIAN_DISTRIBUTION",
"Duration_Before_Leaving_Gaussian_Mean": 8,
"Duration_Before_Leaving_Gaussian_Std_Dev": 1.5
}
|
Duration_Before_Leaving_Kappa |
float |
1.17549E-38 |
3.40282E+38 |
1 |
The shape value for the duration before leaving the node when Duration_Before_Leaving_Distribution is set to WEIBULL_DISTRIBUTION. |
{
"Duration_Before_Leaving_Distribution": "WEIBULL_DISTRIBUTION",
"Duration_Before_Leaving_Kappa": 0.9,
"Duration_Before_Leaving_Lambda": 1.5
}
|
Duration_Before_Leaving_Lambda |
float |
1.17549E-38 |
3.40282E+38 |
1 |
The scale value for the duration before leaving the node when Duration_Before_Leaving_Distribution is set to WEIBULL_DISTRIBUTION. |
{
"Duration_Before_Leaving_Distribution": "WEIBULL_DISTRIBUTION",
"Duration_Before_Leaving_Kappa": 0.9,
"Duration_Before_Leaving_Lambda": 1.5
}
|
Duration_Before_Leaving_Log_Normal_Mu |
float |
-3.40282e+38 |
3.40282E+38 |
6 |
The mean of the natural log of the duration before leaving the node when Duration_Before_Leaving_Distribution is set to LOG_NORMAL_DISTRIBUTION. |
{
"Duration_Before_Leaving_Distribution": "LOG_NORMAL_DISTRIBUTION",
"Duration_Before_Leaving_Log_Normal_Mu": 9,
"Duration_Before_Leaving_Log_Normal_Sigma": 2
}
|
Duration_Before_Leaving_Log_Normal_Sigma |
float |
-3.40282e+38 |
3.40282E+38 |
1 |
The standard deviation of the natural log of the duration before leaving the node when Duration_Before_Leaving_Distribution is set to LOG_NORMAL_DISTRIBUTION. |
{
"Duration_Before_Leaving_Distribution": "LOG_NORMAL_DISTRIBUTION",
"Duration_Before_Leaving_Log_Normal_Mu": 9,
"Duration_Before_Leaving_Log_Normal_Sigma": 2
}
|
Duration_Before_Leaving_Max |
float |
0 |
3.40282E+38 |
1 |
The maximum duration before leaving the node when Duration_Before_Leaving_Distribution is set to UNIFORM_DISTRIBUTION. |
{
"Duration_Before_Leaving_Distribution": "UNIFORM_DISTRIBUTION",
"Duration_Before_Leaving_Min": 2,
"Duration_Before_Leaving_Max": 7
}
|
Duration_Before_Leaving_Mean_1 |
float |
1.17549E-38 |
3.40282E+38 |
1 |
The mean of the first exponential distribution when Duration_Before_Leaving_Distribution is set to DUAL_EXPONENTIAL_DISTRIBUTION. |
{
"Duration_Before_Leaving_Distribution": "DUAL_EXPONENTIAL_DISTRIBUTION",
"Duration_Before_Leaving_Mean_1": 4,
"Duration_Before_Leaving_Mean_2": 12,
"Duration_Before_Leaving_Proportion_1": 0.2
}
|
Duration_Before_Leaving_Mean_2 |
float |
1.17549E-38 |
3.40282E+38 |
1 |
The mean of the second exponential distribution when Duration_Before_Leaving_Distribution is set to DUAL_EXPONENTIAL_DISTRIBUTION. |
{
"Duration_Before_Leaving_Distribution": "DUAL_EXPONENTIAL_DISTRIBUTION",
"Duration_Before_Leaving_Mean_1": 4,
"Duration_Before_Leaving_Mean_2": 12,
"Duration_Before_Leaving_Proportion_1": 0.2
}
|
Duration_Before_Leaving_Min |
float |
0 |
3.40282E+38 |
0 |
The minimum duration before leaving the node when Duration_Before_Leaving_Distribution is set to UNIFORM_DISTRIBUTION. |
{
"Duration_Before_Leaving_Distribution": "UNIFORM_DISTRIBUTION",
"Duration_Before_Leaving_Min": 2,
"Duration_Before_Leaving_Max": 7
}
|
Duration_Before_Leaving_Peak_2_Value |
float |
0 |
3.40282E+38 |
1 |
The duration before leaving the node to assign to the remaining individuals when Duration_Before_Leaving_Distribution is set to DUAL_CONSTANT_DISTRIBUTION. |
{
"Duration_Before_Leaving_Distribution": "DUAL_CONSTANT_DISTRIBUTION",
"Duration_Before_Leaving_Proportion_0": 0.25,
"Duration_Before_Leaving_Peak_2_Value": 5
}
|
Duration_Before_Leaving_Poisson_Mean |
float |
0 |
3.40282E+38 |
6 |
The mean of the duration before leaving the node when Duration_Before_Leaving is set to POISSON_DISTRIBUTION. |
{
"Duration_Before_Leaving_Distribution": "POISSON_DISTRIBUTION",
"Duration_Before_Leaving_Poisson_Mean": 5
}
|
Duration_Before_Leaving_Proportion_0 |
float |
0 |
1 |
1 |
The proportion of individuals to assign a value of zero days before leaving the node when Duration_Before_Leaving_Distribution is set to DUAL_CONSTANT_DISTRIBUTION. |
{
"Duration_Before_Leaving_Distribution": "DUAL_CONSTANT_DISTRIBUTION",
"Duration_Before_Leaving_Proportion_0": 0.25,
"Duration_Before_Leaving_Peak_2_Value": 5
}
|
Duration_Before_Leaving_Proportion_1 |
float |
0 |
1 |
1 |
The proportion of individuals in the first exponential distribution when Duration_Before_Leaving_Distribution is set to DUAL_EXPONENTIAL_DISTRIBUTION. |
{
"Duration_Before_Leaving_Distribution": "DUAL_EXPONENTIAL_DISTRIBUTION",
"Duration_Before_Leaving_Mean_1": 4,
"Duration_Before_Leaving_Mean_2": 12,
"Duration_Before_Leaving_Proportion_1": 0.2
}
|
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_Config": {
"class": "MigrateIndividuals",
"Intervention_Name": "Seasonal migration for agriculture"
}
}
|
Is_Moving |
boolean |
0 |
1 |
0 |
Set to true (1) to indicate the individual is permanently moving to a new home node for intervention-based migration. |
{
"Is_Moving": 1
}
|
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"
}
|
NodeID_To_Migrate_To |
integer |
0 |
2.15E+0 |
0 |
The destination node ID for intervention-based migration. |
{
"NodeID_To_Migrate_To": 26
}
|
{
"Use_Defaults": 1,
"Events": [
{
"class": "CampaignEvent",
"Start_Day": 5,
"Nodeset_Config": {
"class": "NodeSetNodeList",
"Node_List": [
1
]
},
"Event_Coordinator_Config": {
"class": "StandardInterventionDistributionEventCoordinator",
"Target_Residents_Only": 1,
"Target_Demographic": "Everyone",
"Demographic_Coverage": 1.0,
"Intervention_Config": {
"class": "MigrateIndividuals",
"NodeID_To_Migrate_To": 2,
"Duration_Before_Leaving_Distribution": "CONSTANT_DISTRIBUTION",
"Duration_At_Node_Distribution": "CONSTANT_DISTRIBUTION",
"Is_Moving": 0,
"Duration_Before_Leaving_Constant": 0,
"Duration_At_Node_Constant": 999
}
}
}
]
}