from emodpy_malaria.reporters.builtin import *
add_malaria_summary_report(task, manifest,
start_day=1,
end_day=sim_years*365,
reporting_interval=30,
age_bins=[0.25, 5, 115],
must_have_ip_key_value='StudyCohort:Placebo',
filename_suffix='_placebo',
pretty_format=True)Using Individual Properties in Reports
Individual properties can also be used in reporting to limit the report to only those individuals in the specified group, to track the number of individuals with an IP or combination of IPs, or to report the IPs of individuals.
Malaria Summary Report
For the MalariaSummaryReport, aggregation can be restricted by IP using the ipfilter argument. For example, the following function will report, on aggregate, every 30 days on new infections and other infection updates in the Placebo group across the three age bins.
Property Report
The PropertyReport outputs select channels (population, infected, new infections, and disease deaths) for all combinations of IPs and IP values. This output can get very large if there are many IPs and/or IP values in play.
To request the PropertyReport:
# add to config parameter setup
config.parameters.Enable_Property_Output = 1Node Demographics Report
The NodeDemographicsReport reports on node-level counts of individuals by age bin, infection status, and IPs if requested through IP_key_to_collect:
from emodpy_malaria.reporters.builtin import *
add_report_node_demographics(task, manifest,
IP_key_to_collect='StudyCohort')Report Event Recorder
To add an IP column to ReportEventRecorder that reports the IP value for each individual experiencing the requested events, use ips_to_record:
from emodpy_malaria.reporters.builtin import *
add_event_recorder(task, event_list=["NewClinicalCase","Received_Treatment"],
start_day=1, end_day=365, node_ids=[1], min_age_years=0,
max_age_years=100,
ips_to_record=['StudyCohort'])