AdherentDrug#
The AdherentDrug class is an individual-level intervention that extends AntimalarialDrug class and allows for incorporating different patterns of adherence for taking packs of anti-malarial drugs. Non-adherence means that the drugs will not be taken on the prescribed schedule; this will lengthen the time taken to clear parasites from the person’s system, and can lengthen the duration that a feeding mosquito may become infected.
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 |
---|---|---|---|---|---|---|
Adherence_Config |
json object |
NA |
NA |
NA |
Configuration for the probability of taking a dose of the specified anti-malarial. Use a waning effect class, Waning effect classes, to specify how this probability changes over time. |
{
"Adherence_Config": {
"class": "WaningEffectMapCount",
"Initial_Effect": 1.0,
"Durability_Map": {
"Times": [
1.0,
2.0,
3.0,
4.0
],
"Values": [
0.1,
0.1,
0.1,
0.1
]
}
}
}
|
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 |
AdherentDrug |
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": "AdherentDrug",
"Intervention_Name": "Isoniazid with mediocre adherence"
}
}
|
Max_Dose_Consideration_Duration |
float |
1.0/24.0 (1hr) |
3.40E+038 |
3.40E+038 |
The maximum number of days that an individual will consider taking the doses of the drug. |
{
"Adherence_Config": {
"Durability_Map": {
"Times": [
1,
2,
3
],
"Values": [
1,
0,
1
]
},
"Initial_Effect": 1,
"class": "WaningEffectMapCount"
},
"Cost_To_Consumer": 1,
"Doses": [
[
"Piperaquine"
],
[
"Piperaquine"
],
[
"Piperaquine"
]
],
"Max_Dose_Consideration_Duration": 4,
"Non_Adherence_Distribution": [
1
],
"Non_Adherence_Options": [
"NEXT_DOSAGE_TIME"
],
"Took_Dose_Event": "Took_Piperaquine",
"class": "AdherentDrug"
}
|
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"
}
|
Non_Adherence_Distribution |
array of floats |
0 |
1 |
0 |
The non adherence probability value(s) assigned to the corresponding options in Non_Adherence_Options. The sum of non adherence distribution values must equal a total of 1. |
{
"Non_Adherence_Distribution": [
0.7,
0.3
]
}
|
Non_Adherence_Options |
array of strings |
NA |
NA |
NEXT_UPDATE |
Defines the action the person takes if they do not take a particular dose, are not adherent. Possible values are:
|
{
"AD_Non_Adherence_Options": [
"NEXT_DOSAGE_TIME",
"NEXT_UPDATE"
]
}
|
Took_Dose_Event |
string |
NA |
NA |
“” |
This event is broadcast each time a person takes a dose from the pill pack. |
{
"Took_Dose_Event": "TakingDrug"
}
|
{
"class": "AdherentDrug",
"Dont_Allow_Duplicates": 1,
"Cost_To_Consumer": 1,
"Doses": [
["TestDrugA", "TestDrugB"],
["TestDrugA"],
["TestDrugA", "TestDrugB"],
[],
["TestDrugB"]
],
"Dose_Interval": 5,
"Adherence_Config": {
"class": "WaningEffectCombo",
"Add_Effects": 0,
"Expires_When_All_Expire": 0,
"Effect_List": [{
"class": "WaningEffectMapLinearAge",
"Initial_Effect": 1.0,
"Durability_Map": {
"Times": [0.0, 12.99999, 13.0, 125.0],
"Values": [0.0, 0.0, 1.0, 1.0]
}
},
{
"class": "WaningEffectMapCount",
"Initial_Effect": 1.0,
"Durability_Map": {
"Times": [1.0, 2.0, 3.0, 4.0, 5.0],
"Values": [0.1, 0.2, 0.3, 0.4, 0.5]
}
}
]
},
"Non_Adherence_Options": ["NEXT_UPDATE", "NEXT_DOSAGE_TIME", "LOST_TAKE_NEXT", "STOP"],
"Non_Adherence_Distribution": [0.4, 0.3, 0.2, 0.1],
"Max_Dose_Consideration_Duration": 40,
"Took_Dose_Event": "TakingDrug"
}