MultiPackComboDrug#
The MultiPackComboDrug intervention class is an individual-level intervention that explicitly models which doses of anti-malarial pills are taken when. This intervention is similar to the AdherentDrug class, but allows modeling pill packs that involve multiple drugs with different dosing per drug.
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 format does not permit comments, but you can add “dummy” parameters to add contextual information to your files. Any keys that are not EMOD parameter names will be ignored by the model.
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 |
---|---|---|---|---|---|---|
Cost_To_Consumer |
float |
0 |
99999 |
10 |
The unit cost per drug (unamortized). |
{
"Cost_To_Consumer": 10
}
|
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 nodes 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
}
|
Dose_Interval |
float |
0 |
1000 |
1 |
The number of days to wait between the doses, defined in the Doses parameter. |
{
"Dose_Interval": 10
}
|
Doses |
array of strings |
NA |
NA |
[] |
This is a two dimensional array of the drug names defined in the config. parameter Malaria_Drug_Params. Each inner array defines the drugs to be taken for a single dose. The number of doses is determined by the number of inner arrays. An empty dose is allowed and counts as if the person did not take any doses that day. If multiple pills of the same drug are taken in the same dose, that drug name can be specified multiple times. |
{
"Doses": [
[
"TestDrugA",
"TestDrugB"
],
[
"TestDrugA"
],
[
"TestDrugA",
"TestDrugB"
],
[
"TestDrugB"
]
]
}
|
Intervention_Name |
string |
NA |
NA |
MultiPackDrugCombo |
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": "MultiPackDrugCombo",
"Intervention_Name": "Isoniazid with mediocre adherence"
}
}
|
New_Property_Value |
string |
NA |
NA |
“” |
An optional IndividualProperty key:value pair that will be assigned when the intervention is applied. 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"
}
|
{
"class": "CampaignEvent",
"Start_Day": 30,
"Nodeset_Config": {
"class": "NodeSetNodeList",
"Node_List": [7]
},
"Event_Coordinator_Config": {
"class": "StandardInterventionDistributionEventCoordinator",
"Number_Repetitions": 1,
"Timesteps_Between_Repetitions": 0,
"Target_Demographic": "Everyone",
"Demographic_Coverage": 1,
"Intervention_Config": {
"class": "MultiPackComboDrug",
"Dont_Allow_Duplicates": 0,
"Cost_To_Consumer": 1,
"Dose_Interval": 12,
"Doses": [
["TestDrugA", "TestDrugA", "TestDrugB"],
["TestDrugBA"],
["TestDrugA", "TestDrugB"],
["TestDrugBA"],
["TestDrugAB"],
[],
["TestDrugAB"]
]
}
}
}
The Doses array allows the user to specify what drugs are taken in what dose. The Dose_Interval parameter is used to determine the number of days between these doses. A dose can be specified to have zero drugs. For example, if we wanted to model a 7-day pill pack that involved two drugs where the person gets two doses of DrugA on Day 0 and then one every other day for 7-days and DrugB was to be taken every day for 4-days, we would configure it like the following:
{
"Dose_Interval": 1,
"Doses": [
[ "DrugA", "DrugA", "DrugB" ],
[ "DrugB" ],
[ "DrugA", "DrugB" ],
[ "DrugB" ],
[ "DrugA" ],
[ ],
[ "DrugA" ]
]
}
However, if DrugB was instead to be taken twice–once on Day 0 and once on Day 4, it would be configured like the following:
{
"Dose_Interval": 2,
"Doses": [
[ "DrugA", "DrugA", "DrugB" ],
[ "DrugA" ],
[ "DrugA", "DrugB" ],
[ "DrugA" ]
]
}