MalariaPatientJSONReport#
The malaria patient data report (MalariaPatientJSONReport.json) is a JSON-formatted report that provides medical data for each individual on each day of the simulation. For example, for a specified number of time steps, each “patient” will have information collected on the temperature of their fever, their parasite counts, treatments they received, and other relevant data.
Configuration#
To generate this report, the following parameters must be configured in the custom_reports.json file:
Parameter |
Data type |
Min |
Max |
Default |
Description |
---|---|---|---|---|---|
Filename_Suffix |
string |
NA |
NA |
(empty string) |
Augments the filename of the report. If multiple reports are being generated, this allows you to distinguish among the multiple reports. |
Start_Day |
float |
0 |
3.40282e+38 |
0 |
The day of the simulation to start collecting data. |
End_Day |
float |
0 |
3.40282e+38 |
3.40282e+38 |
The day of the simulation to stop collecting data. |
Node_IDs_Of_Interest |
array of integers |
0 |
2.14748e+09 |
[] |
Data will be collected for the nodes in this list. Empty list implies all nodes. |
Min_Age_Years |
float |
0 |
9.3228e+35 |
0 |
Minimum age in years of people to collect data on. |
Max_Age_Years |
float |
0 |
9.3228e+35 |
9.3228e+35 |
Maximum age in years of people to collect data on. |
Must_Have_IP_Key_Value |
string |
NA |
NA |
(empty string) |
A Key:Value pair that the individual must have in order to be included. Empty string means to not include IPs in the selection criteria. |
Must_Have_Intervention |
string |
NA |
NA |
(empty string) |
The name of the intervention that the person must have in order to be included. Empty string means to not include interventions in the selection criteria. |
{
"Reports": [
{
"class": "MalariaPatientJSONReport",
"Filename_Suffix": "Node1",
"Start_Day": 365,
"End_Day": 465,
"Node_IDs_Of_Interest": [ 1 ],
"Min_Age_Years": 5,
"Max_Age_Years": 10,
"Must_Have_IP_Key_Value": "Risk:LOW",
"Must_Have_Intervention": "UsageDependentBednet"
}
],
"Use_Defaults": 1
}
Output file data#
The report contains the following information:
Parameter |
Data type |
Description |
---|---|---|
ntsteps |
integer |
Number of time steps in the simulation in which the report is active. Each channel for each person has this number of elements People that are born after the start of the simulation or die before the end will have fewer entries. |
patient_array |
array of JSON objects |
For each patient in patient_array, there will be a dictionary of key:value pairs. Some dictionary entries will contain a single, constant value that does not change through time, such as the individual’s birthday. Other dictionary entries will be arrays of daily measures for that individual, such as the count of count of asexual parasites on each day of the simulation. Please see the example below for an illustration. |
Patient data channels#
Each of the following statistics has one value for each timestep or day.
Parameter |
Data type |
Description |
---|---|---|
id |
string |
The unique ID of the individual. |
initial_age |
float |
The initial age of the person, in days, when the report started tracking them. This value will be non-zero for individuals created at initialization, but should be zero for the rest of the population. |
birthday |
float |
The day that the individual was born/created in relation to the start of the report. |
Patient array data channels#
Each of the following statistics is an array of data, where each entry is the value of that field at the time of the event.
Parameter |
Data type |
Description |
---|---|---|
asexual_parasites |
integer |
The results of the BLOOD_SMEAR_PARASITES diagnostic that reports the number of parasites detected. |
asexual_positive_fields |
integer |
The count of parasites using positive slide fields. |
gametocyte_positive_fields |
integer |
The count of gametocytes using positive slide fields. |
gametocytes |
integer |
The results of the BLOOD_SMEAR_GAMETOCYTES diagnostic that reports the number of gametocytes detected. |
hemoglobin |
float |
The amount of hemoglobin the individual has based on their red blood cell count. |
infected_mosquito_fraction |
float |
The fraction of mosquito bites the patient received from infectious mosquitoes. |
temps |
float |
The individual’s body temperature, in Celsius, when they had a fever. It is -1 if they do not have a fever. This is based on their cytokine level. |
treatment |
string |
The list of drug names that the user is currently taking, which includes any drugs in the person’s system during that timestep. The names are separated by ‘space+space.’ |
true_asexual_parasites |
float |
The actual number of parasites that the individual has. |
true_gametocytes |
float |
The actual number of gametocytes that the individual has. |
Example#
The following is an example of MalariaPatientReport.json.
{
"ntsteps": 5,
"patient_array": [{
"asexual_parasites": [
[
0,
30,
30,
730,
570
]
],
"asexual_positive_fields": [
[
0,
21,
19,
154,
147
]
],
"birthday": -3031.024658203,
"gametocyte_positive_fields": [
[
0,
0,
0,
0,
1
]
],
"gametocytes": [
[
0,
0,
0,
0,
10
]
],
"hemoglobin": [
[
13.95295619965,
13.94942092896,
13.94591999054,
13.94245052338,
13.93901348114
]
],
"id": 1,
"infected_mosquito_fraction": [
[
0,
0.02632671967149,
0.1359317451715,
0.3907080292702,
2.00230383873
]
],
"initial_age": 3031.024658203,
"temps": [
[
-1,
38.39496612549,
40.47192382813,
40.53329849243,
43.32601165771
]
],
"treatment": [
[
"",
"",
"",
"",
""
]
],
"true_asexual_parasites": [
[
0,
0.01264353003353,
0.2007576525211,
2.86963891983,
41.02872848511
]
],
"true_gametocytes": [
[
0,
0.3181047737598,
4.729532718658,
67.70833587646,
967.8447875977
]
]
}]
}