InterventionForCurrentPartners¶
The InterventionForCurrentPartners intervention class provides a mechanism for the partners of individuals in the care system to also seek care. Partners do not need to seek testing at the same time; a delay may occur between the initial test and the partner’s test. If a relationship has been paused, such as when a partner migrates to a different node, the partner will not be contacted.
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 |
---|---|---|---|---|---|---|
Broadcast_Event |
string |
NA |
NA |
“” |
The event that is immediately broadcast to the partner. Required if Event_or_Config is set to Event. See Event list for possible built-in values, or create custom values using Custom_Individual_Events. |
{
"Broadcast_Event": "HIVNewlyDiagnosed"
}
|
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
}
|
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_Or_Config": "Event"
}
|
Intervention_Config |
JSON object |
The intervention definition that is immediately distributed to the partner. Required if Event_Or_Config is set to Config. |
{
"class": "StandardInterventionDistributionEventCoordinator",
"Intervention_Config": {
"class": "NodeLevelHealthTriggeredIV",
"Trigger_Condition_List": [
"Some_Other_Event"
],
"Actual_IndividualIntervention_Config": {
"class": "InterventionForCurrentPartners",
"Disqualifying_Properties": [],
"New_Property_Value": "CascadeState:TestingCurrentPartner",
"Relationship_Types": [
"MARITAL",
"INFORMAL",
"TRANSITORY",
"COMMERCIAL"
],
"Minimum_Duration_Years": 0.5,
"Prioritize_Partners_By": "LONGER_TIME_IN_RELATIONSHIP",
"Maximum_Partners": 2,
"Event_Or_Config": "Event",
"Broadcast_Event": "HIVNewlyDiagnosed"
}
}
}
|
|||
Intervention_Name |
string |
NA |
NA |
InterventionForCurrentPartners |
The optional name used to refer to this intervention as a means to differentiate it from others that use the same class. |
{
"Intervention_Config": {
"Intervention_Name": "Intervention_For_Spouse",
"class": "InterventionForCurrentPartnersr"
}
}
|
Maximum_Partners |
integer |
0 |
1000 |
100 |
The maximum number of partners that will receive the intervention. Required when Prioritize_Partners_By is not set to NO_PRIORITIZATION. |
{
"Prioritize_Partners_By": "NO_PRIORITIZATION",
"Maximum_Partners": 2
}
|
Minimum_Duration_Years |
float |
0 |
200 |
0 |
The minimum amount of time, in years, between relationship formation and the current time for the partner to qualify for the intervention. |
{
"Minimum_Duration_Years": 0.5
}
|
New_Property_Value |
string |
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"
}
|
|
Prioritize_Partners_By |
enum |
NA |
NA |
NO_PRIORITIZATION |
How to prioritize partners for the intervention, as long as they have been in a relationship longer than Minimum_Duration_Years. Possible values are:
|
{
"Prioritize_Partners_By": "LONGER_TIME_IN_RELATIONSHIP"
}
|
Relationship_Types |
array of strings |
NA |
NA |
NA |
An array listing all possible relationship types for which partners can qualify for the intervention. Supported partnerships include TRANSITORY, INFORMAL, MARITAL, and COMMERCIAL. If Prioritize_Partners_By is set to RELATIONSHIP_TYPE, then the order of these types is used. The array may not contain duplicates, and cannot be empty. |
{
"Relationship_Types": [
"MARITAL",
"INFORMAL",
"TRANSITORY",
"COMMERCIAL"
]
}
|
{
"class": "CampaignEvent",
"Start_Day": 50,
"Nodeset_Config": {
"class": "NodeSetAll"
},
"Event_Coordinator_Config": {
"class": "StandardInterventionDistributionEventCoordinator",
"Target_Demographic": "ExplicitGender",
"Target_Gender": "FEMALE",
"Demographic_Coverage": 1.0,
"Intervention_Config": {
"class": "InterventionForCurrentPartners",
"Disqualifying_Properties": [],
"New_Property_Value": "",
"Minimum_Duration_Years": 0.05,
"Prioritize_Partners_By": "LONGER_TIME_IN_RELATIONSHIP",
"Relationship_Types": [],
"Maximum_Partners": 5,
"Event_Or_Config": "Config",
"Intervention_Config": {
"class": "MaleCircumcision",
"Circumcision_Reduced_Acquire": 1.0,
"Distributed_Event_Trigger": "Reduced_Acquire_Lowest",
"Apply_If_Higher_Reduced_Acquire": 1
}
}
}
}