Schema Documentation
This site displays OpenMalaria schema documentation in an easy-to-read form. Links:
This documentation was automatically generated from OpenMalaria schema (XSD) files. It is automatically kept up to date with schema files in the master branch of the repository. Contents were last updated on 2025-5-21.
Schema 47 documentation
Generated from: scenario_47.xsd
.
Key:
abc required (one)
[ def ] optional (zero or one)
( ghi )* any number (zero or more)
( jkl )+ at least one
( mno ){2,inf} two or more occurrences
Scenario
→ scenario
<scenario
schemaVersion=int
[ analysisNo=int ]
name=string
[ wuID=int ]
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:om="http://openmalaria.org/schema/scenario_47"
xsi:schemaLocation="http://openmalaria.org/schema/scenario_47 scenario_47.xsd"
>
IN ANY ORDER:
| <demography ... />
| <monitoring ... />
| <interventions ... />
| <healthSystem ... />
| <entomology ... />
| [ <parasiteGenetics ... /> ]
| [ <pharmacology ... /> ]
| [ <diagnostics ... /> ]
| <model ... />
</scenario>
- demography
- monitoring
- interventions
- healthSystem
- entomology
- parasiteGenetics
- pharmacology
- diagnostics
- model
Documentation (element)
Description of scenario
Attributes
Version of the xml schema
schemaVersion=int
Version of xml schema. If not equal to the current version an error is thrown. Use SchemaTranslator to update xml files.
Reference number of the analysis
analysisNo=int
Units: Number Min: 1 Max: 100000000
Unique identifier of scenario
Name of intervention
name=string
Name of intervention
Work unit identifier
wuID=int
Units: Number
Work unit ID. Obselete and no longer required.
Human age distribution
→ scenario → demography
<demography
name=string
popSize=int
maximumAgeYrs=double
[ growthRate=double ]
>
IN THIS ORDER:
| <ageGroup ... />
</demography>
Documentation (element)
Description of demography
Attributes
Name of demography data
name=string
Name of demography data
Population size
popSize=int
Units: Count Min: 1 Max: 100000
Population size
Maximum age of simulated humans
maximumAgeYrs=double
Units: Years Min: 0 Max: 100
Maximum age of simulated humans in years
Growth rate of human population
growthRate=double
Units: Number Min: 0 Max: 0
Growth rate of human population. (we should be able to implement this with non-zero values)
Age groups
→ scenario → demography → ageGroup
<ageGroup
lowerbound=double
>
IN THIS ORDER:
| ( <group ... /> )+
</ageGroup>
Documentation (element)
list of age groups included in demography
Documentation (type)
list of age groups included in demography or surveys
Attributes
Lower bound of age group
lowerbound=double
Units: Years Min: 0 Max: 100
Lower bound of age group
group
→ scenario → demography → ageGroup → group
<group
poppercent=double
upperbound=double
/>
Attributes
Percentage in age group
poppercent=double
Units: Percentage Min: 0 Max: 100
Percentage of human population in age group
Upper bound of age group
upperbound=double
Units: Years Min: 0 Max: 100
Upper bound of age group
Measures to be reported
→ scenario → monitoring
<monitoring
name=string
[ startDate=string ]
>
IN THIS ORDER:
| [ <continuous ... /> ]
| <SurveyOptions ... />
| <surveys ... />
| <ageGroup ... />
| [ <cohorts ... /> ]
</monitoring>
Documentation (element)
Description of surveys
Attributes
Name of monitoring settings
name=string
Name of monitoring settings
Start of monitoring
startDate=string
An optional date for the start of monitoring. If given, dates may be used to specify when other events (surveys, intervention deployments) occur; alternately times relative to the start of the intervention period may be used to specify event times. Setting this to 1st January of some year might simplify usage of dates, and putting the start a couple of years before the start of intervention deployment (along with some extra surveys) may be useful to check transmission stabilises to the expected pre-intervention levels. As an example, if this date is set to 2000-01-01, then the following event times are equivalent (assuming 1t=5d): 15t, 75d, 0.2y, 2000-03-16. Must be in the form YYYY-MM-DD, e.g. 2003-01-01.
continuous
→ scenario → monitoring → continuous
<continuous
period=string
[ duringInit=boolean ]
>
IN THIS ORDER:
| ( <option ... /> )*
</continuous>
Attributes
Delay between reports
period=string
Units: User defined (default: steps)
Delay between reports; typically one time step but can be greater. Can be specified in steps (e.g. 1t) or days (e.g. 5d).
During initialization
duringInit=boolean
Units: Days Min: 1 Max: unbounded
Also output during initialization. By default this is disabled (only intervention-period data is output). This should not be used for predictions, but can be useful for model validation. In this mode, 'simulation time' is output as the first column (in addition to 'timestep'), since 'timestep' is dis- continuous across the start of the intervention period.
option
→ scenario → monitoring → continuous → option
<option
name=string
[ value=boolean ] DEFAULT VALUE true
/>
Attributes
Option name
name=string
Name of an option (monitoring measure or model option).
Indicator of whether option is required
value=boolean
Default value: true
Option on/off switch (true/false). Specifying value="true" is the same as not specifying a value; specifying value="false" explicitly turns the option off. If an option is not mentioned at all, it is left at its default value (normally off, but in a few cases, such as some bug-fix options, on).
Name of quantity
→ scenario → monitoring → SurveyOptions
<SurveyOptions
[ onlyNewEpisode=boolean ] DEFAULT VALUE false
>
IN THIS ORDER:
| ( <option ... /> )*
</SurveyOptions>
Documentation (element)
List of all active survey options. See model/mon/OutputMeasures.h for a list of supported outputs. Should also be on the wiki.
Attributes
Report only for new cases
onlyNewEpisode=boolean
Default value: false
If set, some statistics exclude humans who have been treated in the recent past (precisely, when the time of last treatment was before the current step and no more than health-system-memory days/steps ago). This is a rough replacement for the REPORT_ONLY_AT_RISK option, with one difference: the maximum age of treatment for REPORT_ONLY_AT_RISK was fixed at 20 days. Affected measures include (as of version 35): nHost (0), nInfect(1), nExpectd (2), nPatent (3), sumLogPyrogenThres (4), sumlogDens (5), totalInfs (6), totalPatentInf (8), sumPyrogenThresh (10), nSubPopRemovalFirstEvent (62), sumAge (68), nInfectByGenotype (69), nPatentByGenotype (70), logDensByGenotype (71), nHostDrugConcNonZero (72), sumLogDrugConcNonZero (73).
option
→ scenario → monitoring → SurveyOptions → option
<option
name=string
[ value=boolean ] DEFAULT VALUE true
[ outputNumber=int ]
[ byAge=boolean ]
[ byCohort=boolean ]
[ bySpecies=boolean ]
[ byGenotype=boolean ]
[ byDrugType=boolean ]
/>
Attributes
Option name
name=string
Name of an option (monitoring measure or model option).
Indicator of whether option is required
value=boolean
Default value: true
Option on/off switch (true/false). Specifying value="true" is the same as not specifying a value; specifying value="false" explicitly turns the option off. If an option is not mentioned at all, it is left at its default value (normally off, but in a few cases, such as some bug-fix options, on).
Number identifying measure in output
outputNumber=int
Number identifying this monitoring measure in the output file (3rd column). Normally this is determined from the measure, but it can be set manually, e.g. for when the same measure is recorded twice (to accumulate across different categories).
Report by age category
byAge=boolean
If true, the measure is reported for each age category. If false, values are summed across all age categories and only the sum reported. If not specified, separate categories will be reported if the measure supports this.
Report by cohort
byCohort=boolean
If true, the measure is reported for each cohort separately. If false, values are summed across all cohorts and only the sum reported. If not specified, separate categories will be reported if the measure supports this.
Report by mosquito species
bySpecies=boolean
If true, the measure is reported for each mosquito species separately. If false, values are summed across all species and only the sum reported. If not specified, separate categories will be reported if the measure supports this.
Report by parasite genotype
byGenotype=boolean
If true, the measure is reported for each parasite genotype separately. If false, values are summed across all genotypes and only the sum reported. If not specified, separate categories will be reported if the measure supports this.
Report by drug type
byDrugType=boolean
If true, the measure is reported for each drug type separately. If false, values are summed across all drug types and only the sum reported. If not specified, separate categories will be reported if the measure supports this.
Survey times (time steps)
→ scenario → monitoring → surveys
<surveys
[ detectionLimit=double ]
[ diagnostic=string ]
>
IN THIS ORDER:
| ( <surveyTime ... /> )+
</surveys>
Documentation (element)
List of survey times
Attributes
Detection limit for parasitaemia
detectionLimit=double
Units: parasites/microlitre Min: 0
Deprecated: limit above which a human's infection is reported as patent. Alternative: do not specify this; instead specify "diagnostic".
Name of monitoring diagnostic
diagnostic=string
Name of a parameterised diagnostic to use in surveys (see scenario/diagnostics).
Survey time
→ scenario → monitoring → surveys → surveyTime
<surveyTime
[ repeatStep=string ]
[ repeatEnd=string ]
[ reported=boolean ] DEFAULT VALUE true
>
string
</surveyTime>
Documentation (element)
Units: User defined (defaults to steps) Min: 0
Time of a survey. A report will be made for those measures enabled under SurveyOptions. Reported data is either from the moment the survey is done (immediate data) or is collected over the time since the previous survey, or in some cases over a fixed time span (usually one year).
Times can be specified in time steps, starting from 0, or as a date (see monitoring/startDate), or in days (e.g. 15d) or years (e.g. 1y). Relative times mean the time since the start of the intervention period, and must be non-negative (zero is valid, but some measures, e.g. nUncomp, will be zero).
The simulation ends immediately after the last survey is taken.
Attributes
Step of repetition
repeatStep=string
Units: User defined
See repeatEnd's documentation.
End of repetition (exclusive)
repeatEnd=string
Units: User defined
Either both repeatStep and repeatEnd should be present or neither. If present, the survey is repeated every repeatStep timesteps (i.e. if t0 is the initial time and x is repeatStep, surveys are done at times t0, t0+x, t0+2*x, ...), ending before repeatEnd (final repetition is the one before repeatEnd). Note that repeatEnd may be specified as a date but repeatStep must be a duration (days, steps or years).
reported
reported=boolean
Default value: true
For normal surveys, reporting=true. If set false, quantities are measured but not reported. The reason for doing this is to update conditions set on reportable measures. Multiple surveys may be given here for the same date, e.g. if using "repeatStep" for both reporting and non-reporting surveys. These are combined such that a maximum of one survey is carried out per time-step, and the survey is reported if any of the listed surveys for this date is configured as "reporting". Note that adding non-reporting surveys will not affect value output by reported surveys, with the exception that generated psuedo-random numbers may be altered (specifically, when any stochastic diagnostics are used in surveys).
Age groups
→ scenario → monitoring → ageGroup
<ageGroup
lowerbound=double
>
IN THIS ORDER:
| ( <group ... /> )+
</ageGroup>
Documentation (element)
List of age groups included in demography or surveys
Attributes
lower bound of age group
lowerbound=double
Units: Years Min: 0 Max: 100
Lower bound of age group
group
→ scenario → monitoring → ageGroup → group
<group
upperbound=double
/>
Attributes
upper bound of age group
upperbound=double
Units: Years Min: 0 Max: 100
Upper bound of age group
Cohorts
→ scenario → monitoring → cohorts
<cohorts>
IN THIS ORDER:
| ( <subPop ... /> )+
</cohorts>
Documentation (element)
Allows the configuration of multiple cohorts (output segregated according to membership within specific sub-populations).
If this element is omitted, monitoring surveys cover the entire simulated human population.
It does not affect the "continuous" outputs (these never take cohorts into account).
Sub-population
→ scenario → monitoring → cohorts → subPop
<subPop
id=string
number=integer
/>
Documentation (element)
Consider a certain sup-population a cohort, and segregate outputs according to membership. Where multiple sub-populations are listed, segregate output according to all combinations of membership: e.g. if sub-populations A and B are listed, there will be outputs for "member of A and B", "member of A but not B", "B but not A" and "not a member of A or B". Listing n sub-populations implies 2^n sets of outputs (each is further segregated by age groups, survey times and enabled output measures, which could lead to excessive program memory usage and output file size).
To identify outputs, each sub-population has a power of two number as identifier (see "number" attribute). Each of the 2^n output sets is identified by a number: the output set is the output from humans who are members in some set of sub-populations (S1, S2, ...) and not members in some others (T1, T2, ...); the number identifying the set is the sum of the numbers identifying the sets S1, S2, etc.
In the output file, the output set is identified by multiplying this number by 1000 then adding it to the age group column.
Attributes
Sub-population identifier
id=string
Textual identifier for the sub-population (i.e. for an intervention component, since sub-populations are defined as the hosts an intervention component is deployed to).
Sub-population number
number=integer
Units: dimensionless Min: 1 Max: 2097152
Number identifying a sub-population; used to define identifiers of output sets. This number must be a power of 2 (i.e. 1, 2, 4, 8, ...). See documentation of subPop element.
Preventative interventions
<interventions
name=string
>
IN ANY ORDER:
| [ <changeHS ... /> ]
| [ <changeEIR ... /> ]
| [ <importedInfections ... /> ]
| [ <insertR_0Case ... /> ]
| [ <uninfectVectors ... /> ]
| [ <vectorPop ... /> ]
| [ <vectorTrap ... /> ]
| [ <nonHumanHostsModifications ... /> ]
| [ <addNonHumanHosts ... /> ]
| [ <human ... /> ]
</interventions>
- changeHS
- changeEIR
- importedInfections
- insertR_0Case
- uninfectVectors
- vectorPop
- vectorTrap
- nonHumanHostsModifications
- addNonHumanHosts
- human
Documentation (element)
List of interventions. Generally these are either point-time distributions of something to some subset of the population, or continuous-time distribution targetting individuals when they reach a certain age.
Attributes
Name of intervention set
name=string
Name of set of interventions
Change health system
→ scenario → interventions → changeHS
<changeHS
[ name=string ]
>
IN THIS ORDER:
| ( <timedDeployment ... /> )*
</changeHS>
Documentation (element)
Changes to the health system
Attributes
Name of intervention
name=string
Name of intervention
timedDeployment
→ scenario → interventions → changeHS → timedDeployment
<timedDeployment
time=string
>
IN THIS ORDER:
| EXACTLY ONE OF:
| | <EventScheduler ... />
| | <ImmediateOutcomes ... />
| | <DecisionTree5Day ... />
| <CFR ... />
| <pSequelaeInpatient ... />
</timedDeployment>
Documentation (type)
A complete replacement health system. Replaces all previous properties. (Health system can be replaced multiple times if necessary.)
Documentation (base type)
Description of case management system, used to specify the initial model or a replacement (an intervention). Encompasses case management data and some other data required to derive case outcomes.
Contains a sub-element describing the particular health-system in use. Health system data is here defined as data used to decide on a treatment strategy, given a case requiring treatment.
Attributes
Time
time=string
Units: User defined (defauls to steps) Min: 0
Time at which this replacement occurs. See doc on intervention period and on monitoring/startDate for details of how times work. Can be specified in steps, days, years, or as a date (examples: 15t, 75d, 0.2y, 2000-03-16).
EventScheduler
→ scenario → healthSystem → EventScheduler
<EventScheduler>
IN THIS ORDER:
| <uncomplicated ... />
| <complicated ... />
| <ClinicalOutcomes ... />
| [ <NonMalariaFevers ... /> ]
</EventScheduler>
uncomplicated
→ scenario → healthSystem → EventScheduler → uncomplicated
<uncomplicated
[ name=string ]
>
EXACTLY ONE OF:
| <multiple ... />
| <caseType ... />
| <diagnostic ... />
| <uncomplicated ... />
| <severe ... />
| <random ... />
| <age ... />
| <noTreatment ... />
| ( <report ... /> )+
| <treatFailure ... />
| ( <treatPKPD ... /> )+
| ( <treatSimple ... /> )+
| ( <deploy ... /> )*
| <cohort ... />
</uncomplicated>
- multiple
- caseType
- diagnostic
- uncomplicated
- severe
- random
- age
- noTreatment
- report
- treatFailure
- treatPKPD
- treatSimple
- deploy
- cohort
Documentation (type)
Describes how "decisions" are made, both probabilistically and deterministically, and what actions are carried out.
Quantities may also be reported as a side effect of decisions made in the tree, for example the number of diagnostics used.
Attributes
Name
name=string
An optional piece of documentation attached to this node.
multiple
→ scenario → interventions → human → component → decisionTree → multiple
<multiple
[ name=string ]
>
EXACTLY ONE OF:
| ( <caseType ... /> )*
| ( <diagnostic ... /> )*
| ( <uncomplicated ... /> )*
| ( <severe ... /> )*
| ( <random ... /> )*
| ( <age ... /> )*
| ( <treatPKPD ... /> )*
| [ <treatSimple ... /> ]
| ( <deploy ... /> )*
| ( <report ... /> )*
| ( <cohort ... /> )*
</multiple>
Documentation (type)
A special node allowing multiple sub-trees to be evaluated.
This is different from an ordinary decision tree node in that:
a) multiple types of child can occur simultaneously (e.g. multiple types of treatment or treatment plus a 'random' sub-tree)
b) the 'noTreatment' and 'treatFailure' nodes are not allowed
Attributes
Name
name=string
An optional piece of documentation attached to this node.
caseType
→ scenario → interventions → human → component → decisionTree → multiple → caseType
<caseType
[ name=string ]
>
IN ANY ORDER:
| <firstLine ... />
| <secondLine ... />
</caseType>
Documentation (type)
A switch which choses a branch deterministically, based on whether the patient was treated recently (second line) or not (first line).
For uncomplicated cases only.
Attributes
Name
name=string
An optional piece of documentation attached to this node.
firstLine
→ scenario → interventions → human → component → decisionTree → multiple → caseType → firstLine
<firstLine
[ name=string ]
>
EXACTLY ONE OF:
| <multiple ... />
| <caseType ... />
| <diagnostic ... />
| <uncomplicated ... />
| <severe ... />
| <random ... />
| <age ... />
| <noTreatment ... />
| ( <report ... /> )+
| <treatFailure ... />
| ( <treatPKPD ... /> )+
| ( <treatSimple ... /> )+
| ( <deploy ... /> )*
| <cohort ... />
</firstLine>
- multiple
- caseType
- diagnostic
- uncomplicated
- severe
- random
- age
- noTreatment
- report
- treatFailure
- treatPKPD
- treatSimple
- deploy
- cohort
Documentation (type)
Describes how "decisions" are made, both probabilistically and deterministically, and what actions are carried out.
Quantities may also be reported as a side effect of decisions made in the tree, for example the number of diagnostics used.
Attributes
Name
name=string
An optional piece of documentation attached to this node.
caseType
→ scenario → interventions → human → component → decisionTree → caseType
<caseType
[ name=string ]
>
IN ANY ORDER:
| <firstLine ... />
| <secondLine ... />
</caseType>
Documentation (type)
A switch which choses a branch deterministically, based on whether the patient was treated recently (second line) or not (first line).
For uncomplicated cases only.
Attributes
Name
name=string
An optional piece of documentation attached to this node.
secondLine
→ scenario → interventions → human → component → decisionTree → multiple → caseType → secondLine
<secondLine
[ name=string ]
>
EXACTLY ONE OF:
| <multiple ... />
| <caseType ... />
| <diagnostic ... />
| <uncomplicated ... />
| <severe ... />
| <random ... />
| <age ... />
| <noTreatment ... />
| ( <report ... /> )+
| <treatFailure ... />
| ( <treatPKPD ... /> )+
| ( <treatSimple ... /> )+
| ( <deploy ... /> )*
| <cohort ... />
</secondLine>
- multiple
- caseType
- diagnostic
- uncomplicated
- severe
- random
- age
- noTreatment
- report
- treatFailure
- treatPKPD
- treatSimple
- deploy
- cohort
Documentation (type)
Describes how "decisions" are made, both probabilistically and deterministically, and what actions are carried out.
Quantities may also be reported as a side effect of decisions made in the tree, for example the number of diagnostics used.
Attributes
Name
name=string
An optional piece of documentation attached to this node.
diagnostic
→ scenario → interventions → human → component → decisionTree → diagnostic
<diagnostic
diagnostic=string
[ name=string ]
>
IN ANY ORDER:
| <positive ... />
| <negative ... />
</diagnostic>
Documentation (type)
A switch which choses a branch deterministically, based on the outcome of some type of diagnostic.
Attributes
Name of diagnostic
diagnostic=string
Should match the name of some parameterised diagnostic (see scenario/diagnostics).
Name
name=string
An optional piece of documentation attached to this node.
positive
→ scenario → interventions → human → component → decisionTree → multiple → diagnostic → positive
<positive
[ name=string ]
>
EXACTLY ONE OF:
| <multiple ... />
| <caseType ... />
| <diagnostic ... />
| <uncomplicated ... />
| <severe ... />
| <random ... />
| <age ... />
| <noTreatment ... />
| ( <report ... /> )+
| <treatFailure ... />
| ( <treatPKPD ... /> )+
| ( <treatSimple ... /> )+
| ( <deploy ... /> )*
| <cohort ... />
</positive>
- multiple
- caseType
- diagnostic
- uncomplicated
- severe
- random
- age
- noTreatment
- report
- treatFailure
- treatPKPD
- treatSimple
- deploy
- cohort
Documentation (type)
Describes how "decisions" are made, both probabilistically and deterministically, and what actions are carried out.
Quantities may also be reported as a side effect of decisions made in the tree, for example the number of diagnostics used.
Attributes
Name
name=string
An optional piece of documentation attached to this node.
uncomplicated
→ scenario → interventions → human → component → decisionTree → uncomplicated
<uncomplicated
[ name=string ]
[ memory=string ] DEFAULT VALUE 1
>
IN ANY ORDER:
| <positive ... />
| <negative ... />
</uncomplicated>
Documentation (type)
A switch which choses a branch deterministically, based on whether the host has an uncomplicated case. This could be a Malaria fever or a non-Malaria fever. If non-Malaria fevers are enable, it is possible to add a
Attributes
Name
name=string
An optional piece of documentation attached to this node.
Number of days to look back for fevers. This must be less than or equal to the healthsystem memory parameter. In general, this should be less than or equal to the repeatStep in MSAT with contiuous deployment
memory=string
Units: User-defined (defaults to steps)
Default value: 1
Follow-up period during which a recurrence is considered to be a treatment failure Can be specified in steps (e.g. 6t) or days (e.g. 28d).
positive
→ scenario → interventions → human → component → decisionTree → multiple → uncomplicated → positive
<positive
[ name=string ]
>
EXACTLY ONE OF:
| <multiple ... />
| <caseType ... />
| <diagnostic ... />
| <uncomplicated ... />
| <severe ... />
| <random ... />
| <age ... />
| <noTreatment ... />
| ( <report ... /> )+
| <treatFailure ... />
| ( <treatPKPD ... /> )+
| ( <treatSimple ... /> )+
| ( <deploy ... /> )*
| <cohort ... />
</positive>
- multiple
- caseType
- diagnostic
- uncomplicated
- severe
- random
- age
- noTreatment
- report
- treatFailure
- treatPKPD
- treatSimple
- deploy
- cohort
Documentation (type)
Describes how "decisions" are made, both probabilistically and deterministically, and what actions are carried out.
Quantities may also be reported as a side effect of decisions made in the tree, for example the number of diagnostics used.
Attributes
Name
name=string
An optional piece of documentation attached to this node.
severe
→ scenario → interventions → human → component → decisionTree → severe
<severe
[ name=string ]
[ memory=string ]
>
IN ANY ORDER:
| <positive ... />
| <negative ... />
</severe>
Documentation (type)
A switch which choses a branch deterministically, based on whether the host has a severe case or not. Note that this include severe cases due to comorbidities.
Attributes
Name
name=string
An optional piece of documentation attached to this node.
Number of days to look back for fevers. This must be less than or equal to the healthsystem memory parameter. In general, this should be less than or equal to the repeatStep in MSAT with contiuous deployment
memory=string
Units: User-defined (defaults to steps)
Follow-up period during which a recurrence is considered to be a treatment failure Can be specified in steps (e.g. 6t) or days (e.g. 28d).
positive
→ scenario → interventions → human → component → decisionTree → multiple → severe → positive
<positive
[ name=string ]
>
EXACTLY ONE OF:
| <multiple ... />
| <caseType ... />
| <diagnostic ... />
| <uncomplicated ... />
| <severe ... />
| <random ... />
| <age ... />
| <noTreatment ... />
| ( <report ... /> )+
| <treatFailure ... />
| ( <treatPKPD ... /> )+
| ( <treatSimple ... /> )+
| ( <deploy ... /> )*
| <cohort ... />
</positive>
- multiple
- caseType
- diagnostic
- uncomplicated
- severe
- random
- age
- noTreatment
- report
- treatFailure
- treatPKPD
- treatSimple
- deploy
- cohort
Documentation (type)
Describes how "decisions" are made, both probabilistically and deterministically, and what actions are carried out.
Quantities may also be reported as a side effect of decisions made in the tree, for example the number of diagnostics used.
Attributes
Name
name=string
An optional piece of documentation attached to this node.
random
→ scenario → interventions → human → component → decisionTree → random
<random
[ name=string ]
>
IN THIS ORDER:
| ( <outcome ... /> )+
</random>
Documentation (type)
A switch which choses a branch randomly.
Each branch must be listed with a probability; the sum of all these probabilities must equal 1.
Attributes
Name
name=string
An optional piece of documentation attached to this node.
outcome
→ scenario → interventions → human → component → decisionTree → multiple → random → outcome
<outcome
[ name=string ]
p=double
>
EXACTLY ONE OF:
| <multiple ... />
| <caseType ... />
| <diagnostic ... />
| <uncomplicated ... />
| <severe ... />
| <random ... />
| <age ... />
| <noTreatment ... />
| ( <report ... /> )+
| <treatFailure ... />
| ( <treatPKPD ... /> )+
| ( <treatSimple ... /> )+
| ( <deploy ... /> )*
| <cohort ... />
</outcome>
- multiple
- caseType
- diagnostic
- uncomplicated
- severe
- random
- age
- noTreatment
- report
- treatFailure
- treatPKPD
- treatSimple
- deploy
- cohort
Documentation (base type)
Describes how "decisions" are made, both probabilistically and deterministically, and what actions are carried out.
Quantities may also be reported as a side effect of decisions made in the tree, for example the number of diagnostics used.
Attributes
Name
name=string
An optional piece of documentation attached to this node.
Probability
p=double
Units: None Min: 0 Max: 1
Probability of selecting this outcome. The sum of probabilities across all outcomes must be 1.
age
→ scenario → interventions → human → component → decisionTree → age
<age
[ name=string ]
>
IN THIS ORDER:
| ( <age ... /> )+
</age>
Documentation (type)
A switch which choses a branch deterministically, based on the patient's age (in years).
Categories must uniquely cover all ages from birth, with no upper bound. Categories must be listed in order of age, increasing; the first must have lower bound 0. Upper bounds are equal to the lower bound of the next category, (but are exclusive where lower bounds are inclusive); the last category has no upper bound.
Attributes
Name
name=string
An optional piece of documentation attached to this node.
Age range
→ scenario → interventions → human → component → decisionTree → multiple → age → age
<age
[ name=string ]
lb=double
>
EXACTLY ONE OF:
| <multiple ... />
| <caseType ... />
| <diagnostic ... />
| <uncomplicated ... />
| <severe ... />
| <random ... />
| <age ... />
| <noTreatment ... />
| ( <report ... /> )+
| <treatFailure ... />
| ( <treatPKPD ... /> )+
| ( <treatSimple ... /> )+
| ( <deploy ... /> )*
| <cohort ... />
</age>
- multiple
- caseType
- diagnostic
- uncomplicated
- severe
- random
- age
- noTreatment
- report
- treatFailure
- treatPKPD
- treatSimple
- deploy
- cohort
Documentation (element)
Describes a branch, selected for patients of a certain age.
Documentation (base type)
Describes how "decisions" are made, both probabilistically and deterministically, and what actions are carried out.
Quantities may also be reported as a side effect of decisions made in the tree, for example the number of diagnostics used.
Attributes
Name
name=string
An optional piece of documentation attached to this node.
Lower bound (inclusive)
lb=double
Min: 0
noTreatment
→ scenario → interventions → human → component → decisionTree → noTreatment
<noTreatment
[ name=string ]
/>
Documentation (type)
An end node doing nothing. This exists to explicitly state that no treatment happens and to prevent trees from accidentally being left incomplete.
Attributes
Name
name=string
An optional piece of documentation attached to this node.
report
→ scenario → interventions → human → component → decisionTree → report
<report
[ name=string ]
[ outputNumber=int ] DEFAULT VALUE 0
/>
Documentation (type)
This increments measure 80 (nCMDTReport) by one every time this node is visited. This can be useful to report the results of mass test and treat interventions using the decision tree.
Attributes
Name
name=string
An optional piece of documentation attached to this node.
Delay (hours)
outputNumber=int
Default value: 0
Optionally, this can be given to delay the start of treatment by a given number of hours. If not specified, treatment is not delayed. If a delay is given, all medications within the treatment schedule used are delayed by this number of hours.
treatFailure
→ scenario → interventions → human → component → decisionTree → treatFailure
<treatFailure
[ name=string ]
/>
Documentation (type)
An end node which reports treatment but does not change parasitalogical status. This allows correct labelling of second-line cases.
Attributes
Name
name=string
An optional piece of documentation attached to this node.
treatPKPD
→ scenario → interventions → human → component → decisionTree → treatPKPD
<treatPKPD
schedule=string
dosage=string
[ delay_h=double ] DEFAULT VALUE 0
/>
Documentation (type)
A command to administer drugs according to a given schedule and dosage table, optionally with a delay.
Attributes
Name of treatment schedule
schedule=string
The name of a schedule to use for treatment.
Name of dosage table
dosage=string
The name of a dosage table to use for treatment.
Delay (hours)
delay_h=double
Default value: 0
Optionally, this can be given to delay the start of treatment by a given number of hours. If not specified, treatment is not delayed. If a delay is given, all medications within the treatment schedule used are delayed by this number of hours.
treatSimple
→ scenario → interventions → human → component → decisionTree → treatSimple
<treatSimple
durationLiver=string
durationBlood=string
/>
Documentation (type)
Simple treatment model, targetting liver- and/or blood-stage infections. This is all-or-nothing treatment which, when deploymed, completely clears all infections of the targetted stages. This makes it unsuitable for modeling resistance, but suitable for use with simple infection models.
Infections are considered liver-stage when less than five days old and blood-stage after that. Effects are described independently for the two stages.
Attributes
Length of liver-stage effect
durationLiver=string
Units: User defined
Controls action on liver-stage infections. 0 means no action, -1 step is a compatibility option to act like treatment before schema version 32 (which removed infections retrospectively), 1 step or any duration which equals some whole number of steps n>0 means to clear all liver-stage infections found on the next 1 or n steps. Note on -1 compatibility option: the main difference to 1 step (clearing on the next timestep) is that parasite densities will be reduced immediately, and thus from the point of view of surveys and mass screen and treat interventions a peak in density which is immediately treated through case management will not be seen. Can be specified in steps (e.g. 1t, -1t) or days (e.g. 5d).
Length of blood-stage effect
durationBlood=string
Units: User defined
Controls action on blood-stage infections. 0 means no action, -1 step is a compatibility option to act like treatment before schema version 32 (which removed infections retrospectively), 1 step or any duration which equals some whole number of steps n>0 means to clear all blood-stage infections found on the next 1 or n steps. Note on -1 compatibility option: the main difference to 1 step (clearing on the next timestep) is that parasite densities will be reduced immediately, and thus from the point of view of surveys and mass screen and treat interventions a peak in density which is immediately treated through case management will not be seen. Can be specified in steps (e.g. 1t, -1t) or days (e.g. 5d).
deploy
→ scenario → interventions → human → component → decisionTree → deploy
<deploy
component=string
/>
Documentation (type)
Deploy one or more intervention components.
Attributes
Component identifier
component=string
The identifier (short name) of a component.
cohort
→ scenario → interventions → human → component → decisionTree → cohort
<cohort
[ name=string ]
component=string
>
IN ANY ORDER:
| <positive ... />
| <negative ... />
</cohort>
Documentation (type)
A switch which choses a branch deterministically, based on whether the host is part of the cohort (defined by the intervention component) or not.
Attributes
Name
name=string
An optional piece of documentation attached to this node.
Number of days to look back for fevers. This must be less than or equal to the healthsystem memory parameter. In general, this should be less than or equal to the repeatStep in MSAT with contiuous deployment
component=string
Units: User-defined (defaults to steps)
Follow-up period during which a recurrence is considered to be a treatment failure Can be specified in steps (e.g. 6t) or days (e.g. 28d).
positive
→ scenario → interventions → human → component → decisionTree → multiple → cohort → positive
<positive
[ name=string ]
>
EXACTLY ONE OF:
| <multiple ... />
| <caseType ... />
| <diagnostic ... />
| <uncomplicated ... />
| <severe ... />
| <random ... />
| <age ... />
| <noTreatment ... />
| ( <report ... /> )+
| <treatFailure ... />
| ( <treatPKPD ... /> )+
| ( <treatSimple ... /> )+
| ( <deploy ... /> )*
| <cohort ... />
</positive>
- multiple
- caseType
- diagnostic
- uncomplicated
- severe
- random
- age
- noTreatment
- report
- treatFailure
- treatPKPD
- treatSimple
- deploy
- cohort
Documentation (type)
Describes how "decisions" are made, both probabilistically and deterministically, and what actions are carried out.
Quantities may also be reported as a side effect of decisions made in the tree, for example the number of diagnostics used.
Attributes
Name
name=string
An optional piece of documentation attached to this node.
negative
→ scenario → interventions → human → component → decisionTree → multiple → cohort → negative
<negative
[ name=string ]
>
EXACTLY ONE OF:
| <multiple ... />
| <caseType ... />
| <diagnostic ... />
| <uncomplicated ... />
| <severe ... />
| <random ... />
| <age ... />
| <noTreatment ... />
| ( <report ... /> )+
| <treatFailure ... />
| ( <treatPKPD ... /> )+
| ( <treatSimple ... /> )+
| ( <deploy ... /> )*
| <cohort ... />
</negative>
- multiple
- caseType
- diagnostic
- uncomplicated
- severe
- random
- age
- noTreatment
- report
- treatFailure
- treatPKPD
- treatSimple
- deploy
- cohort
Documentation (type)
Describes how "decisions" are made, both probabilistically and deterministically, and what actions are carried out.
Quantities may also be reported as a side effect of decisions made in the tree, for example the number of diagnostics used.
Attributes
Name
name=string
An optional piece of documentation attached to this node.
negative
→ scenario → interventions → human → component → decisionTree → multiple → severe → negative
<negative
[ name=string ]
>
EXACTLY ONE OF:
| <multiple ... />
| <caseType ... />
| <diagnostic ... />
| <uncomplicated ... />
| <severe ... />
| <random ... />
| <age ... />
| <noTreatment ... />
| ( <report ... /> )+
| <treatFailure ... />
| ( <treatPKPD ... /> )+
| ( <treatSimple ... /> )+
| ( <deploy ... /> )*
| <cohort ... />
</negative>
- multiple
- caseType
- diagnostic
- uncomplicated
- severe
- random
- age
- noTreatment
- report
- treatFailure
- treatPKPD
- treatSimple
- deploy
- cohort
Documentation (type)
Describes how "decisions" are made, both probabilistically and deterministically, and what actions are carried out.
Quantities may also be reported as a side effect of decisions made in the tree, for example the number of diagnostics used.
Attributes
Name
name=string
An optional piece of documentation attached to this node.
negative
→ scenario → interventions → human → component → decisionTree → multiple → uncomplicated → negative
<negative
[ name=string ]
>
EXACTLY ONE OF:
| <multiple ... />
| <caseType ... />
| <diagnostic ... />
| <uncomplicated ... />
| <severe ... />
| <random ... />
| <age ... />
| <noTreatment ... />
| ( <report ... /> )+
| <treatFailure ... />
| ( <treatPKPD ... /> )+
| ( <treatSimple ... /> )+
| ( <deploy ... /> )*
| <cohort ... />
</negative>
- multiple
- caseType
- diagnostic
- uncomplicated
- severe
- random
- age
- noTreatment
- report
- treatFailure
- treatPKPD
- treatSimple
- deploy
- cohort
Documentation (type)
Describes how "decisions" are made, both probabilistically and deterministically, and what actions are carried out.
Quantities may also be reported as a side effect of decisions made in the tree, for example the number of diagnostics used.
Attributes
Name
name=string
An optional piece of documentation attached to this node.
negative
→ scenario → interventions → human → component → decisionTree → multiple → diagnostic → negative
<negative
[ name=string ]
>
EXACTLY ONE OF:
| <multiple ... />
| <caseType ... />
| <diagnostic ... />
| <uncomplicated ... />
| <severe ... />
| <random ... />
| <age ... />
| <noTreatment ... />
| ( <report ... /> )+
| <treatFailure ... />
| ( <treatPKPD ... /> )+
| ( <treatSimple ... /> )+
| ( <deploy ... /> )*
| <cohort ... />
</negative>
- multiple
- caseType
- diagnostic
- uncomplicated
- severe
- random
- age
- noTreatment
- report
- treatFailure
- treatPKPD
- treatSimple
- deploy
- cohort
Documentation (type)
Describes how "decisions" are made, both probabilistically and deterministically, and what actions are carried out.
Quantities may also be reported as a side effect of decisions made in the tree, for example the number of diagnostics used.
Attributes
Name
name=string
An optional piece of documentation attached to this node.
diagnostic
→ scenario → interventions → human → component → decisionTree → multiple → diagnostic
<diagnostic
diagnostic=string
[ name=string ]
>
IN ANY ORDER:
| <positive ... />
| <negative ... />
</diagnostic>
Documentation (type)
A switch which choses a branch deterministically, based on the outcome of some type of diagnostic.
Attributes
Name of diagnostic
diagnostic=string
Should match the name of some parameterised diagnostic (see scenario/diagnostics).
Name
name=string
An optional piece of documentation attached to this node.
uncomplicated
→ scenario → interventions → human → component → decisionTree → multiple → uncomplicated
<uncomplicated
[ name=string ]
[ memory=string ] DEFAULT VALUE 1
>
IN ANY ORDER:
| <positive ... />
| <negative ... />
</uncomplicated>
Documentation (type)
A switch which choses a branch deterministically, based on whether the host has an uncomplicated case. This could be a Malaria fever or a non-Malaria fever. If non-Malaria fevers are enable, it is possible to add a
Attributes
Name
name=string
An optional piece of documentation attached to this node.
Number of days to look back for fevers. This must be less than or equal to the healthsystem memory parameter. In general, this should be less than or equal to the repeatStep in MSAT with contiuous deployment
memory=string
Units: User-defined (defaults to steps)
Default value: 1
Follow-up period during which a recurrence is considered to be a treatment failure Can be specified in steps (e.g. 6t) or days (e.g. 28d).
severe
→ scenario → interventions → human → component → decisionTree → multiple → severe
<severe
[ name=string ]
[ memory=string ]
>
IN ANY ORDER:
| <positive ... />
| <negative ... />
</severe>
Documentation (type)
A switch which choses a branch deterministically, based on whether the host has a severe case or not. Note that this include severe cases due to comorbidities.
Attributes
Name
name=string
An optional piece of documentation attached to this node.
Number of days to look back for fevers. This must be less than or equal to the healthsystem memory parameter. In general, this should be less than or equal to the repeatStep in MSAT with contiuous deployment
memory=string
Units: User-defined (defaults to steps)
Follow-up period during which a recurrence is considered to be a treatment failure Can be specified in steps (e.g. 6t) or days (e.g. 28d).
random
→ scenario → interventions → human → component → decisionTree → multiple → random
<random
[ name=string ]
>
IN THIS ORDER:
| ( <outcome ... /> )+
</random>
Documentation (type)
A switch which choses a branch randomly.
Each branch must be listed with a probability; the sum of all these probabilities must equal 1.
Attributes
Name
name=string
An optional piece of documentation attached to this node.
age
→ scenario → interventions → human → component → decisionTree → multiple → age
<age
[ name=string ]
>
IN THIS ORDER:
| ( <age ... /> )+
</age>
Documentation (type)
A switch which choses a branch deterministically, based on the patient's age (in years).
Categories must uniquely cover all ages from birth, with no upper bound. Categories must be listed in order of age, increasing; the first must have lower bound 0. Upper bounds are equal to the lower bound of the next category, (but are exclusive where lower bounds are inclusive); the last category has no upper bound.
Attributes
Name
name=string
An optional piece of documentation attached to this node.
treatPKPD
→ scenario → interventions → human → component → decisionTree → multiple → treatPKPD
<treatPKPD
schedule=string
dosage=string
[ delay_h=double ] DEFAULT VALUE 0
/>
Documentation (type)
A command to administer drugs according to a given schedule and dosage table, optionally with a delay.
Attributes
Name of treatment schedule
schedule=string
The name of a schedule to use for treatment.
Name of dosage table
dosage=string
The name of a dosage table to use for treatment.
Delay (hours)
delay_h=double
Default value: 0
Optionally, this can be given to delay the start of treatment by a given number of hours. If not specified, treatment is not delayed. If a delay is given, all medications within the treatment schedule used are delayed by this number of hours.
treatSimple
→ scenario → interventions → human → component → decisionTree → multiple → treatSimple
<treatSimple
durationLiver=string
durationBlood=string
/>
Documentation (type)
Simple treatment model, targetting liver- and/or blood-stage infections. This is all-or-nothing treatment which, when deploymed, completely clears all infections of the targetted stages. This makes it unsuitable for modeling resistance, but suitable for use with simple infection models.
Infections are considered liver-stage when less than five days old and blood-stage after that. Effects are described independently for the two stages.
Attributes
Length of liver-stage effect
durationLiver=string
Units: User defined
Controls action on liver-stage infections. 0 means no action, -1 step is a compatibility option to act like treatment before schema version 32 (which removed infections retrospectively), 1 step or any duration which equals some whole number of steps n>0 means to clear all liver-stage infections found on the next 1 or n steps. Note on -1 compatibility option: the main difference to 1 step (clearing on the next timestep) is that parasite densities will be reduced immediately, and thus from the point of view of surveys and mass screen and treat interventions a peak in density which is immediately treated through case management will not be seen. Can be specified in steps (e.g. 1t, -1t) or days (e.g. 5d).
Length of blood-stage effect
durationBlood=string
Units: User defined
Controls action on blood-stage infections. 0 means no action, -1 step is a compatibility option to act like treatment before schema version 32 (which removed infections retrospectively), 1 step or any duration which equals some whole number of steps n>0 means to clear all blood-stage infections found on the next 1 or n steps. Note on -1 compatibility option: the main difference to 1 step (clearing on the next timestep) is that parasite densities will be reduced immediately, and thus from the point of view of surveys and mass screen and treat interventions a peak in density which is immediately treated through case management will not be seen. Can be specified in steps (e.g. 1t, -1t) or days (e.g. 5d).
deploy
→ scenario → interventions → human → component → decisionTree → multiple → deploy
<deploy
component=string
/>
Documentation (type)
Deploy one or more intervention components.
Attributes
Component identifier
component=string
The identifier (short name) of a component.
report
→ scenario → interventions → human → component → decisionTree → multiple → report
<report
[ name=string ]
[ outputNumber=int ] DEFAULT VALUE 0
/>
Documentation (type)
This increments measure 80 (nCMDTReport) by one every time this node is visited. This can be useful to report the results of mass test and treat interventions using the decision tree.
Attributes
Name
name=string
An optional piece of documentation attached to this node.
Delay (hours)
outputNumber=int
Default value: 0
Optionally, this can be given to delay the start of treatment by a given number of hours. If not specified, treatment is not delayed. If a delay is given, all medications within the treatment schedule used are delayed by this number of hours.
cohort
→ scenario → interventions → human → component → decisionTree → multiple → cohort
<cohort
[ name=string ]
component=string
>
IN ANY ORDER:
| <positive ... />
| <negative ... />
</cohort>
Documentation (type)
A switch which choses a branch deterministically, based on whether the host is part of the cohort (defined by the intervention component) or not.
Attributes
Name
name=string
An optional piece of documentation attached to this node.
Number of days to look back for fevers. This must be less than or equal to the healthsystem memory parameter. In general, this should be less than or equal to the repeatStep in MSAT with contiuous deployment
component=string
Units: User-defined (defaults to steps)
Follow-up period during which a recurrence is considered to be a treatment failure Can be specified in steps (e.g. 6t) or days (e.g. 28d).
complicated
→ scenario → healthSystem → EventScheduler → complicated
<complicated
[ name=string ]
>
EXACTLY ONE OF:
| <multiple ... />
| <caseType ... />
| <diagnostic ... />
| <uncomplicated ... />
| <severe ... />
| <random ... />
| <age ... />
| <noTreatment ... />
| ( <report ... /> )+
| <treatFailure ... />
| ( <treatPKPD ... /> )+
| ( <treatSimple ... /> )+
| ( <deploy ... /> )*
| <cohort ... />
</complicated>
- multiple
- caseType
- diagnostic
- uncomplicated
- severe
- random
- age
- noTreatment
- report
- treatFailure
- treatPKPD
- treatSimple
- deploy
- cohort
Documentation (type)
Describes how "decisions" are made, both probabilistically and deterministically, and what actions are carried out.
Quantities may also be reported as a side effect of decisions made in the tree, for example the number of diagnostics used.
Attributes
Name
name=string
An optional piece of documentation attached to this node.
ClinicalOutcomes
→ scenario → healthSystem → EventScheduler → ClinicalOutcomes
<ClinicalOutcomes>
IN THIS ORDER:
| <maxUCSeekingMemory ... />
| <uncomplicatedCaseDuration ... />
| <complicatedCaseDuration ... />
| <complicatedRiskDuration ... />
| ( <dailyPrImmUCTS ... /> )+
</ClinicalOutcomes>
- maxUCSeekingMemory
- uncomplicatedCaseDuration
- complicatedCaseDuration
- complicatedRiskDuration
- dailyPrImmUCTS
Documentation (type)
Description of base parameters of the clinical model.
Max UC treatment-seeking memory
→ scenario → healthSystem → EventScheduler → ClinicalOutcomes → maxUCSeekingMemory
<maxUCSeekingMemory>
int
</maxUCSeekingMemory>
Documentation (element)
Units: Days Min: 0 Max: unbounded
Maximum number of timesteps (including first day of case) that an individual with an uncomplicated case of malaria will remember he/she was sick before resetting.
Uncomplicated case duration
→ scenario → healthSystem → EventScheduler → ClinicalOutcomes → uncomplicatedCaseDuration
<uncomplicatedCaseDuration>
int
</uncomplicatedCaseDuration>
Documentation (element)
Units: Days Min: 1 Max: unbounded
Fixed length of an uncomplicated case of malarial or non-malarial sickness (from treatment seeking until return to life-as-usual). Usually 3.
Complicated case duration
→ scenario → healthSystem → EventScheduler → ClinicalOutcomes → complicatedCaseDuration
<complicatedCaseDuration>
int
</complicatedCaseDuration>
Documentation (element)
Units: Days Min: 1 Max: unbounded
Fixed length of a complicated or severe case of malaria (from treatment seeking until return to life-as-usual).
Complicated risk duration
→ scenario → healthSystem → EventScheduler → ClinicalOutcomes → complicatedRiskDuration
<complicatedRiskDuration>
int
</complicatedRiskDuration>
Documentation (element)
Units: Days Min: 1 Max: unbounded
Number of days for which humans are at risk of death during a severe or complicated case of malaria. Cannot be greater than the duration of a complicated case or less than 1 day.
Daily probability of immediate treatment seeking for uncomplicated cases
→ scenario → healthSystem → EventScheduler → ClinicalOutcomes → dailyPrImmUCTS
<dailyPrImmUCTS>
double
</dailyPrImmUCTS>
Documentation (element)
Units: Dimensionless Min: 0.0 Max: 1.0
It is sometimes desirable to model delays to treatment-seeking in uncomplicated cases. While treatment of drugs can be delayed within case management trees to provide a similar effect, this doesn't delay any of the decisions, including diagnostics using the current parasite density.
Instead a list of dailyPrImmUCTS elements can be used, describing successive daily probabilities of treatment (sum must be 1). For example, with a list of two elements with values 0.8 and 0.2, for 80% of UC cases the decision tree is evaluated immediately, and for 20% of cases evaluation is delayed by one day.
For no delay, use one element with a value of 1.
NonMalariaFevers
→ scenario → healthSystem → EventScheduler → NonMalariaFevers
<NonMalariaFevers>
IN THIS ORDER:
| <prTreatment ... />
| <effectNegativeTest ... />
| <effectPositiveTest ... />
| <effectNeed ... />
| <effectInformal ... />
| <CFR ... />
| <TreatmentEfficacy ... />
</NonMalariaFevers>
Documentation (type)
Description of non-malaria fever health-system modelling (treatment, outcomes and costing). Incidence is described by the model->clinical->NonMalariaFevers element. Non-malaria fevers are only modelled if the NON_MALARIA_FEVERS option is used.
As further explanation of the parameters below, we first take: β₀ = logit(P₀) - β₃·P(need), and then calculate the probability of antibiotic administration, P(AB), dependent on treatment seeking location. No seeking: P(AB) = 0 Informal sector: logit(P(AB)) = β₀ + β₄ Health facility: logit(P(AB)) = β₀ + β₁·I(neg) + β₂·I(pos) + β₃·I(need) (where I(X) is 1 when event X is true and 0 otherwise, logit(p)=log(p/(1-p)), event "need" is the event that death may occur without treatment, events "neg" and "pos" are the events that a malaria parasite diagnositic was used and indicated no parasites and parasites respectively).
P(treatment|no diagnostic)
→ scenario → healthSystem → EventScheduler → NonMalariaFevers → prTreatment
<prTreatment>
double
</prTreatment>
Documentation (element)
Units: Dimensionless Min: 0.0 Max: 1.0
Probability of a non-malaria fever being treated with an antibiotic given that no malaria diagnostic was used but independent of need. Symbol: P₀.
Effect of a negative test
→ scenario → healthSystem → EventScheduler → NonMalariaFevers → effectNegativeTest
<effectNegativeTest>
double
</effectNegativeTest>
Documentation (element)
The effect of a negative malaria diagnostic on the odds ratio of receiving antibiotics. Symbol: exp(β₁).
Effect of a positive test
→ scenario → healthSystem → EventScheduler → NonMalariaFevers → effectPositiveTest
<effectPositiveTest>
double
</effectPositiveTest>
Documentation (element)
The effect of a positive malaria diagnostic on the odds ratio of receiving antibiotics. Symbol: exp(β₂).
Effect of need
→ scenario → healthSystem → EventScheduler → NonMalariaFevers → effectNeed
<effectNeed>
double
</effectNeed>
Documentation (element)
The effect of needing antibiotic treatment on the odds ratio of receiving antibiotics. Symbol: exp(β₃).
Effect of informal provider
→ scenario → healthSystem → EventScheduler → NonMalariaFevers → effectInformal
<effectInformal>
double
</effectInformal>
Documentation (element)
The effect of seeking treatment from an informal provider (i.e. a provider untrained in NMF diagnosis) on the odds ratio of receiving antibiotics. Symbol: exp(β₄)
Case fatality rate
→ scenario → healthSystem → EventScheduler → NonMalariaFevers → CFR
<CFR
[ interpolation=("none" or "linear") ]
>
IN THIS ORDER:
| ( <group ... /> )+
</CFR>
Documentation (element)
Units: Dimensionless Min: 0.0 Max: 1.0
Base case fatality rate for non-malaria fevers (probability of death from a fever requiring antibiotic treatment given that no antibiotic treatment is received, per age-group).
Attributes
interpolation
interpolation=("none" or "linear")
Interpolation algorithm. Normally it is desirable for age-based values to be continuous w.r.t. age. By default linear interpolation is used. With all algorithms except "none", the age groups are converted to a set of points centred within each age range. Extra points are added at each end (zero and infinity) to keep value constant at both ends of the function. A zero-length age group may be used as a kind of barrier to adjust the distribution; e.g. with age group boundaries at 15, 20 and 25 years, a (linear) spline would be drawn between ages 17.5 and 22.5, whereas with boundaries at 15, 20 and 20 years, a spline would be drawn between ages 17.5 and 20 years (may be desired if individuals are assumed to reach adult size at 20). Algorithms:
- none: input values are used directly
- linear: straight lines (on an age vs. value graph) are used to interpolate data points.
age group
→ scenario → healthSystem → CFR → group
<group
value=double
lowerbound=double
/>
Documentation (element)
A series of values according to age groups, each specified with a lower-bound and a value. The first lower-bound specified must be zero; a final upper-bound of infinity is added to complete the last age group. At least one age group is required. Normally these are interpolated by a continuous function (see interpolation attribute).
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Lower bound
lowerbound=double
Units: Years Min: 0 Max: 100
Lower bound of age group
Treatment efficacy
→ scenario → healthSystem → EventScheduler → NonMalariaFevers → TreatmentEfficacy
<TreatmentEfficacy>
double
</TreatmentEfficacy>
Documentation (element)
Units: Dimensionless Min: 0.0 Max: 1.0
Probability that treatment would prevent a death (i.e. CFR is multiplied by one minus this when treatment occurs).
ImmediateOutcomes
→ scenario → healthSystem → ImmediateOutcomes
<ImmediateOutcomes
[ name=string ]
[ useDiagnosticUC=boolean ] DEFAULT VALUE false
>
IN ANY ORDER:
| <drugRegimen ... />
| <initialACR ... />
| <compliance ... />
| <nonCompliersEffective ... />
| <treatmentActions ... />
| <pSeekOfficialCareUncomplicated1 ... />
| <pSelfTreatUncomplicated ... />
| <pSeekOfficialCareUncomplicated2 ... />
| <pSeekOfficialCareSevere ... />
| [ <liverStageDrug ... /> ]
</ImmediateOutcomes>
- drugRegimen
- initialACR
- compliance
- nonCompliersEffective
- treatmentActions
- pSeekOfficialCareUncomplicated1
- pSelfTreatUncomplicated
- pSeekOfficialCareUncomplicated2
- pSeekOfficialCareSevere
- liverStageDrug
Documentation (type)
Description of "immediate outcomes" health system: Tediosi et al case management model (Case management as described in AJTMH 75 (suppl 2) pp90-103).
Attributes
Name of case management parameterisation
name=string
Name of health system
useDiagnosticUC
useDiagnosticUC=boolean
Default value: false
Description of drug regimen
→ scenario → healthSystem → ImmediateOutcomes → drugRegimen
<drugRegimen
firstLine=string
secondLine=string
inpatient=string
/>
Documentation (element)
Description of drug regimen.
Attributes
First line drug
firstLine=string
Units: Drug code
Code for first line drug
Second line drug
secondLine=string
Units: Drug code
Code for second line drug
Drug use for treating inpatients
inpatient=string
Units: Drug code
Code for drug used for treating inpatients
Initial cure rate
→ scenario → healthSystem → ImmediateOutcomes → initialACR
<initialACR>
IN THIS ORDER:
| [ <CQ ... /> ]
| [ <SP ... /> ]
| [ <AQ ... /> ]
| [ <SPAQ ... /> ]
| [ <ACT ... /> ]
| [ <QN ... /> ]
| <selfTreatment ... />
</initialACR>
Documentation (element)
Units: Dimensionless Min: 0.0 Max: 1.0
Initial cure rate
Chloroquine
→ scenario → healthSystem → ImmediateOutcomes → initialACR → CQ
<CQ
value=double
/>
Documentation (element)
Chloroquine
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Sulphadoxine-pyrimethamine
→ scenario → healthSystem → ImmediateOutcomes → initialACR → SP
<SP
value=double
/>
Documentation (element)
Sulphadoxine-pyrimethamine
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Amodiaquine
→ scenario → healthSystem → ImmediateOutcomes → initialACR → AQ
<AQ
value=double
/>
Documentation (element)
Amodiaquine
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Sulphadoxine-pyrimethamine/Amodiaquine
→ scenario → healthSystem → ImmediateOutcomes → initialACR → SPAQ
<SPAQ
value=double
/>
Documentation (element)
Sulphadoxine-pyrimethamine/Amodiaquine
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Artemisinine based combination therapy
→ scenario → healthSystem → ImmediateOutcomes → initialACR → ACT
<ACT
value=double
/>
Documentation (element)
Artemisinine combination therapy
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Quinine
→ scenario → healthSystem → ImmediateOutcomes → initialACR → QN
<QN
value=double
/>
Documentation (element)
Quinine
Attributes
Input parameter value
value=double
A double-precision floating-point value.
selfTreatment
→ scenario → healthSystem → ImmediateOutcomes → initialACR → selfTreatment
<selfTreatment
value=double
/>
Documentation (element)
Units: Dimensionless Min: 0 Max: 1name:P(self-treat)
Probability of self-treatment
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Adherence to treatment
→ scenario → healthSystem → ImmediateOutcomes → compliance
<compliance>
IN THIS ORDER:
| [ <CQ ... /> ]
| [ <SP ... /> ]
| [ <AQ ... /> ]
| [ <SPAQ ... /> ]
| [ <ACT ... /> ]
| [ <QN ... /> ]
| <selfTreatment ... />
</compliance>
Documentation (element)
Units: Dimensionless Min: 0.0 Max: 1.0
Adherence to treatment
Effectiveness of treatment in non-adherent patients
→ scenario → healthSystem → ImmediateOutcomes → nonCompliersEffective
<nonCompliersEffective>
IN THIS ORDER:
| [ <CQ ... /> ]
| [ <SP ... /> ]
| [ <AQ ... /> ]
| [ <SPAQ ... /> ]
| [ <ACT ... /> ]
| [ <QN ... /> ]
| <selfTreatment ... />
</nonCompliersEffective>
Documentation (element)
Units: Dimensionless Min: 0.0 Max: 1.0
Effectiveness of treatment for non-compliant patients
treatmentActions
→ scenario → healthSystem → ImmediateOutcomes → treatmentActions
<treatmentActions>
IN ANY ORDER:
| [ <CQ ... /> ]
| [ <SP ... /> ]
| [ <AQ ... /> ]
| [ <SPAQ ... /> ]
| [ <ACT ... /> ]
| [ <QN ... /> ]
</treatmentActions>
CQ
→ scenario → healthSystem → ImmediateOutcomes → treatmentActions → CQ
<CQ
[ name=string ]
>
IN THIS ORDER:
| ( <deploy ... /> )*
</CQ>
Documentation (type)
Describes the effects of the treatment, assuming this compliance/adherence/... option is selected. Effects are described in terms of a list of options, each of which acts independently but with all effects being activated simultaneously.
Documentation (base type)
Lists intervention components which are deployed according to some external trigger (for example, screening with a negative patency outcome or health-system treatment).
Components are referenced from one or more sub-lists. Each of these lists is deployed independently if and only if its age constraints are met by the human host and a random sample with the given probability of a positive outcome is positive.
Attributes
Name
name=string
Describes what this compliance option represents (e.g. "good compliance", "poor compliance with good drugs", ...).
deploy
→ scenario → healthSystem → ImmediateOutcomes → treatmentActions → CQ → deploy
<deploy
[ maxAge=double ]
[ minAge=double ] DEFAULT VALUE 0
[ p=double ] DEFAULT VALUE 1
>
IN THIS ORDER:
| ( <component ... /> )+
</deploy>
Attributes
Maximum age of eligible humans
maxAge=double
Units: Years Min: 0
Maximum age of eligible humans (defaults to no limit). Input is rounded to the nearest time step.
Minimum age of eligible humans
minAge=double
Units: Years Min: 0
Default value: 0
Minimum age of eligible humans (defaults to 0). Input is rounded to the nearest time step.
Probability of delivery to eligible humans
p=double
Units: dimensionless Min: 0 Max: 1
Default value: 1
Probability of this list of components being deployed, given that other constraints are met.
component
→ scenario → healthSystem → ImmediateOutcomes → treatmentActions → CQ → deploy → component
<component
id=string
/>
Documentation (type)
The list of components deployed to eligible humans.
Attributes
Identifier
id=string
The identifier (short name) of a component.
Prophylactic treatment
→ scenario → healthSystem → DecisionTree5Day → treatmentSevere → clearInfections
<clearInfections
timesteps=string
stage=("liver" or "blood" or "both")
/>
Documentation (element)
This clears infections according to several options: it can clear all blood stage infections, all liver stage infections or both, and it can act on multiple timesteps. To have a probability of no action add another treatment option (which does nothing) and set the probabilities of selection appropriately.
This allows immediate (legacy) or delayed action, a prophylactic period, and selection of which stages are targeted. It is a simple model but appropriate enough for use with the five day timestep when assuming no resistance and that drug failure is mainly caused by bad drugs or compliance.
The old treatment action for the five-day timestep model is essentially this, with immediateAction (timesteps=-1) and stage=both, except for the IPT model's SP action, which was more like with timesteps>1 and stage=blood.
Attributes
Length of effect
timesteps=string
Units: User defined (defaults to steps)
The number of timesteps during which this action remains in effect (e.g. 2 means clear infections during the next two timestep updates). Full clearance of the targeted stages occurs during this time. A special value of -1 means act immediately (retrospectively); this the old behaviour. A value of 1 means act on the next timestep only. Both of these can be thought of as a model for short-acting effective drug treatment; the main differences are that the latter means parasite densities will remain high from the point of view of surveys and diagnostics (i.e. mass screen and treat) used before the next timestep and that the latter will also remove infections starting the next timestep. Arguably the latter is a better model, but the differences are perhaps small, excepting where immediate treatment of fevers (i.e. through the health system) can hide high parasite densities from reporting and mass-screen-and-treat diagnostics. For use by interventions, the latter model has nicer behaviour in that the order of deployment of multiple interventions deployed at the same time does not matter, and that the former model retrospectively treats infections which may already have caused fever, thus may have a lower health impact than it should. It is recommended to use the new model (value 1, or greater than 1 if prophylactic effect is desired) unless wanting to emulate the old behaviour. Values of 0 or less than -1 are not allowed. Can be specified in steps (e.g. 1t, -1t) or days (e.g. 5d).
Target stage
stage=("liver" or "blood" or "both")
Controls whether liver-stage or blood-stage infections are cleared, or both. Infections are considered liver-stage for one 5-day timestep, blood-stage but pre-patent for some number of timesteps (latentp - 1), then start the patent blood stage. If stage is set to "liver", infections are only cleared during their first timestep; if stage is set to "blood", infections are cleared during pre-patent and patent blood stages; if stage is set to "both" all infections are cleared. The old behaviour (oddly considering the drugs it is meant to emulate) is to clear both stages, except for the IPT model of SP action, which cleared only patent blood-stage infections.
SP
→ scenario → healthSystem → ImmediateOutcomes → treatmentActions → SP
<SP
[ name=string ]
>
IN THIS ORDER:
| ( <deploy ... /> )*
</SP>
Documentation (type)
Describes the effects of the treatment, assuming this compliance/adherence/... option is selected. Effects are described in terms of a list of options, each of which acts independently but with all effects being activated simultaneously.
Documentation (base type)
Lists intervention components which are deployed according to some external trigger (for example, screening with a negative patency outcome or health-system treatment).
Components are referenced from one or more sub-lists. Each of these lists is deployed independently if and only if its age constraints are met by the human host and a random sample with the given probability of a positive outcome is positive.
Attributes
Name
name=string
Describes what this compliance option represents (e.g. "good compliance", "poor compliance with good drugs", ...).
AQ
→ scenario → healthSystem → ImmediateOutcomes → treatmentActions → AQ
<AQ
[ name=string ]
>
IN THIS ORDER:
| ( <deploy ... /> )*
</AQ>
Documentation (type)
Describes the effects of the treatment, assuming this compliance/adherence/... option is selected. Effects are described in terms of a list of options, each of which acts independently but with all effects being activated simultaneously.
Documentation (base type)
Lists intervention components which are deployed according to some external trigger (for example, screening with a negative patency outcome or health-system treatment).
Components are referenced from one or more sub-lists. Each of these lists is deployed independently if and only if its age constraints are met by the human host and a random sample with the given probability of a positive outcome is positive.
Attributes
Name
name=string
Describes what this compliance option represents (e.g. "good compliance", "poor compliance with good drugs", ...).
SPAQ
→ scenario → healthSystem → ImmediateOutcomes → treatmentActions → SPAQ
<SPAQ
[ name=string ]
>
IN THIS ORDER:
| ( <deploy ... /> )*
</SPAQ>
Documentation (type)
Describes the effects of the treatment, assuming this compliance/adherence/... option is selected. Effects are described in terms of a list of options, each of which acts independently but with all effects being activated simultaneously.
Documentation (base type)
Lists intervention components which are deployed according to some external trigger (for example, screening with a negative patency outcome or health-system treatment).
Components are referenced from one or more sub-lists. Each of these lists is deployed independently if and only if its age constraints are met by the human host and a random sample with the given probability of a positive outcome is positive.
Attributes
Name
name=string
Describes what this compliance option represents (e.g. "good compliance", "poor compliance with good drugs", ...).
ACT
→ scenario → healthSystem → ImmediateOutcomes → treatmentActions → ACT
<ACT
[ name=string ]
>
IN THIS ORDER:
| ( <deploy ... /> )*
</ACT>
Documentation (type)
Describes the effects of the treatment, assuming this compliance/adherence/... option is selected. Effects are described in terms of a list of options, each of which acts independently but with all effects being activated simultaneously.
Documentation (base type)
Lists intervention components which are deployed according to some external trigger (for example, screening with a negative patency outcome or health-system treatment).
Components are referenced from one or more sub-lists. Each of these lists is deployed independently if and only if its age constraints are met by the human host and a random sample with the given probability of a positive outcome is positive.
Attributes
Name
name=string
Describes what this compliance option represents (e.g. "good compliance", "poor compliance with good drugs", ...).
QN
→ scenario → healthSystem → ImmediateOutcomes → treatmentActions → QN
<QN
[ name=string ]
>
IN THIS ORDER:
| ( <deploy ... /> )*
</QN>
Documentation (type)
Describes the effects of the treatment, assuming this compliance/adherence/... option is selected. Effects are described in terms of a list of options, each of which acts independently but with all effects being activated simultaneously.
Documentation (base type)
Lists intervention components which are deployed according to some external trigger (for example, screening with a negative patency outcome or health-system treatment).
Components are referenced from one or more sub-lists. Each of these lists is deployed independently if and only if its age constraints are met by the human host and a random sample with the given probability of a positive outcome is positive.
Attributes
Name
name=string
Describes what this compliance option represents (e.g. "good compliance", "poor compliance with good drugs", ...).
Probability that a patient with uncomplicated disease seeks official care immediately.
→ scenario → healthSystem → ImmediateOutcomes → pSeekOfficialCareUncomplicated1
<pSeekOfficialCareUncomplicated1
value=double
/>
Documentation (element)
Units: Dimensionless Min: 0.0 Max: 1.0
Probability that a patient with newly incident uncomplicated disease seeks official care
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Probability that a patient with uncomplicated disease will self-treat.
→ scenario → healthSystem → ImmediateOutcomes → pSelfTreatUncomplicated
<pSelfTreatUncomplicated
value=double
/>
Documentation (element)
Units: Dimensionless Min: 0.0 Max: 1.0
Probability that a patient with uncomplicated disease without recent history of disease (i.e. first line) will self-treat.
Note that in second line cases there is no probability of self-treatment.
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Probability that a recurring patient seeks official care
→ scenario → healthSystem → ImmediateOutcomes → pSeekOfficialCareUncomplicated2
<pSeekOfficialCareUncomplicated2
value=double
/>
Documentation (element)
Units: Dimensionless Min: 0.0 Max: 1.0
Probability that a patient with recurrence of uncomplicated disease seeks official care
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Probability that a patient with severe disease obtains appropriate care
→ scenario → healthSystem → ImmediateOutcomes → pSeekOfficialCareSevere
<pSeekOfficialCareSevere
value=double
/>
Documentation (element)
Units: Dimensionless Min: 0.0 Max: 1.0
Probability that a patient with severe disease obtains appropriate care
Attributes
Input parameter value
value=double
A double-precision floating-point value.
liverStageDrug
→ scenario → healthSystem → ImmediateOutcomes → liverStageDrug
<liverStageDrug>
IN ANY ORDER:
| <pHumanCannotReceive ... />
| [ <ignoreCannotReceive ... /> ]
| [ <pUseUncomplicated ... /> ]
| <effectivenessOnUse ... />
</liverStageDrug>
Documentation (type)
Parameters for drug treatment which have an effect on the liver-stage of parasites (Primaquine and potentially Tafenoquine); for use with the Vivax model only.
Note: if this section is not listed, the following default values are assumed: pHumanCannotReceive=0, pUseUncomplicated=0, effectivenessOnUse=1.
Probability that human is incompatible with liver-stage drug treatment
→ scenario → healthSystem → ImmediateOutcomes → liverStageDrug → pHumanCannotReceive
<pHumanCannotReceive
value=double
/>
Documentation (element)
Units: Probability Min: 0 Max: 1
Chance that a human is determined to be unable to receive liver-stage drug treatment. Treatment is neither reported or given for such humans.
This is sampled once per human at birth.
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Ignore liver-stage drug treatment incompatibility
→ scenario → healthSystem → ImmediateOutcomes → liverStageDrug → ignoreCannotReceive
<ignoreCannotReceive
value=boolean
/>
Documentation (element)
If true, ignore pHumanCannotReceive and consider all humans eligible for treatment; if false (or not specified), do not treat those demed incompatible with liver-stage drug treatment.
The point of this is that pHumanCannotReceive cannot be altered by changeHS interventions, but this property can be.
Attributes
Input parameter value
value=boolean
A boolean value.
Prob use in UC case
→ scenario → healthSystem → ImmediateOutcomes → liverStageDrug → pUseUncomplicated
<pUseUncomplicated
value=double
/>
Documentation (element)
Units: Probability Min: 0 Max: 1
This feature is deprecated; it is suggested to use the "simple treatment" feature configured to clear liver-stage parasites, leaving this option unset or zero.
Chance of liver-stage drug treatment being used for routine treatment of an uncomplicated case.
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Effectiveness
→ scenario → healthSystem → ImmediateOutcomes → liverStageDrug → effectivenessOnUse
<effectivenessOnUse
value=double
/>
Documentation (element)
Units: Probability Min: 0 Max: 1
Chance that liver-stage drug treatment is effective.
On application, a random variable is sampled against this probability. If false, the treatment does nothing; if true, the treatment clears all liver stage parasites. Where effectiveness is longer than a single time step (prophylactic effect), this sample still only happens once (thus either no effect or all liver stages cleared over multiple steps).
Attributes
Input parameter value
value=double
A double-precision floating-point value.
DecisionTree5Day
→ scenario → healthSystem → DecisionTree5Day
<DecisionTree5Day
[ name=string ]
>
IN ANY ORDER:
| <pSeekOfficialCareUncomplicated1 ... />
| <pSelfTreatUncomplicated ... />
| <pSeekOfficialCareUncomplicated2 ... />
| <pSeekOfficialCareSevere ... />
| [ <liverStageDrug ... /> ]
| <treeUCOfficial ... />
| <treeUCSelfTreat ... />
| <cureRateSevere ... />
| <treatmentSevere ... />
</DecisionTree5Day>
- pSeekOfficialCareUncomplicated1
- pSelfTreatUncomplicated
- pSeekOfficialCareUncomplicated2
- pSeekOfficialCareSevere
- liverStageDrug
- treeUCOfficial
- treeUCSelfTreat
- cureRateSevere
- treatmentSevere
Documentation (type)
Description of the health system using the 5-day timestep with decision tree model: access is configured as in the Tediosi et al case management model (Case management as described in AJTMH 75 (suppl 2) pp90-103) while treatment decisions are configured via decision trees.
Besides greater flexibility, this allows treatment via PK/PD models.
Attributes
Name of case management parameterisation
name=string
Name of health system
Probability that a patient with uncomplicated disease seeks official care immediately.
→ scenario → healthSystem → DecisionTree5Day → pSeekOfficialCareUncomplicated1
<pSeekOfficialCareUncomplicated1
value=double
/>
Documentation (element)
Units: Dimensionless Min: 0.0 Max: 1.0
Probability that a patient with newly incident uncomplicated disease seeks official care
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Probability that a patient with uncomplicated disease will self-treat.
→ scenario → healthSystem → DecisionTree5Day → pSelfTreatUncomplicated
<pSelfTreatUncomplicated
value=double
/>
Documentation (element)
Units: Dimensionless Min: 0.0 Max: 1.0
Probability that a patient with uncomplicated disease without recent history of disease (i.e. first line) will self-treat.
Note that in second line cases there is no probability of self-treatment.
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Probability that a recurring patient seeks official care
→ scenario → healthSystem → DecisionTree5Day → pSeekOfficialCareUncomplicated2
<pSeekOfficialCareUncomplicated2
value=double
/>
Documentation (element)
Units: Dimensionless Min: 0.0 Max: 1.0
Probability that a patient with recurrence of uncomplicated disease seeks official care
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Probability that a patient with severe disease obtains appropriate care
→ scenario → healthSystem → DecisionTree5Day → pSeekOfficialCareSevere
<pSeekOfficialCareSevere
value=double
/>
Documentation (element)
Units: Dimensionless Min: 0.0 Max: 1.0
Probability that a patient with severe disease obtains appropriate care
Attributes
Input parameter value
value=double
A double-precision floating-point value.
liverStageDrug
→ scenario → healthSystem → DecisionTree5Day → liverStageDrug
<liverStageDrug>
IN ANY ORDER:
| <pHumanCannotReceive ... />
| [ <ignoreCannotReceive ... /> ]
| [ <pUseUncomplicated ... /> ]
| <effectivenessOnUse ... />
</liverStageDrug>
Documentation (type)
Parameters for drug treatment which have an effect on the liver-stage of parasites (Primaquine and potentially Tafenoquine); for use with the Vivax model only.
Note: if this section is not listed, the following default values are assumed: pHumanCannotReceive=0, pUseUncomplicated=0, effectivenessOnUse=1.
treeUCOfficial
→ scenario → healthSystem → DecisionTree5Day → treeUCOfficial
<treeUCOfficial
[ name=string ]
>
EXACTLY ONE OF:
| <multiple ... />
| <caseType ... />
| <diagnostic ... />
| <uncomplicated ... />
| <severe ... />
| <random ... />
| <age ... />
| <noTreatment ... />
| ( <report ... /> )+
| <treatFailure ... />
| ( <treatPKPD ... /> )+
| ( <treatSimple ... /> )+
| ( <deploy ... /> )*
| <cohort ... />
</treeUCOfficial>
- multiple
- caseType
- diagnostic
- uncomplicated
- severe
- random
- age
- noTreatment
- report
- treatFailure
- treatPKPD
- treatSimple
- deploy
- cohort
Documentation (type)
Describes how "decisions" are made, both probabilistically and deterministically, and what actions are carried out.
Quantities may also be reported as a side effect of decisions made in the tree, for example the number of diagnostics used.
Attributes
Name
name=string
An optional piece of documentation attached to this node.
treeUCSelfTreat
→ scenario → healthSystem → DecisionTree5Day → treeUCSelfTreat
<treeUCSelfTreat
[ name=string ]
>
EXACTLY ONE OF:
| <multiple ... />
| <caseType ... />
| <diagnostic ... />
| <uncomplicated ... />
| <severe ... />
| <random ... />
| <age ... />
| <noTreatment ... />
| ( <report ... /> )+
| <treatFailure ... />
| ( <treatPKPD ... /> )+
| ( <treatSimple ... /> )+
| ( <deploy ... /> )*
| <cohort ... />
</treeUCSelfTreat>
- multiple
- caseType
- diagnostic
- uncomplicated
- severe
- random
- age
- noTreatment
- report
- treatFailure
- treatPKPD
- treatSimple
- deploy
- cohort
Documentation (type)
Describes how "decisions" are made, both probabilistically and deterministically, and what actions are carried out.
Quantities may also be reported as a side effect of decisions made in the tree, for example the number of diagnostics used.
Attributes
Name
name=string
An optional piece of documentation attached to this node.
Cure rate (severe cases)
→ scenario → healthSystem → DecisionTree5Day → cureRateSevere
<cureRateSevere
value=double
/>
Documentation (element)
Min: 0 Max: 1
The probability of clearing parasites given access to appropriate (hospital) care, for a severe case.
Attributes
Input parameter value
value=double
A double-precision floating-point value.
treatmentSevere
→ scenario → healthSystem → DecisionTree5Day → treatmentSevere
<treatmentSevere
[ name=string ]
>
IN THIS ORDER:
| ( <deploy ... /> )*
</treatmentSevere>
Documentation (type)
Describes the effects of the treatment, assuming this compliance/adherence/... option is selected. Effects are described in terms of a list of options, each of which acts independently but with all effects being activated simultaneously.
Documentation (base type)
Lists intervention components which are deployed according to some external trigger (for example, screening with a negative patency outcome or health-system treatment).
Components are referenced from one or more sub-lists. Each of these lists is deployed independently if and only if its age constraints are met by the human host and a random sample with the given probability of a positive outcome is positive.
Attributes
Name
name=string
Describes what this compliance option represents (e.g. "good compliance", "poor compliance with good drugs", ...).
Case fatality rate for inpatients
→ scenario → healthSystem → CFR
<CFR
[ interpolation=("none" or "linear") ]
>
IN THIS ORDER:
| ( <group ... /> )+
</CFR>
Documentation (element)
Case fatality rate (probability of an inpatient fatality from a bout of severe malaria, per age-group).
Attributes
interpolation
interpolation=("none" or "linear")
Interpolation algorithm. Normally it is desirable for age-based values to be continuous w.r.t. age. By default linear interpolation is used. With all algorithms except "none", the age groups are converted to a set of points centred within each age range. Extra points are added at each end (zero and infinity) to keep value constant at both ends of the function. A zero-length age group may be used as a kind of barrier to adjust the distribution; e.g. with age group boundaries at 15, 20 and 25 years, a (linear) spline would be drawn between ages 17.5 and 22.5, whereas with boundaries at 15, 20 and 20 years, a spline would be drawn between ages 17.5 and 20 years (may be desired if individuals are assumed to reach adult size at 20). Algorithms:
- none: input values are used directly
- linear: straight lines (on an age vs. value graph) are used to interpolate data points.
Probabilities of sequelae in inpatients
→ scenario → healthSystem → pSequelaeInpatient
<pSequelaeInpatient
[ interpolation=("none" or "linear") ]
>
IN THIS ORDER:
| ( <group ... /> )+
</pSequelaeInpatient>
Documentation (element)
Units: Dimensionless
List of age-specific probabilities of sequelae in inpatients, during a severe bout of malaria.
Attributes
interpolation
interpolation=("none" or "linear")
Interpolation algorithm. Normally it is desirable for age-based values to be continuous w.r.t. age. By default linear interpolation is used. With all algorithms except "none", the age groups are converted to a set of points centred within each age range. Extra points are added at each end (zero and infinity) to keep value constant at both ends of the function. A zero-length age group may be used as a kind of barrier to adjust the distribution; e.g. with age group boundaries at 15, 20 and 25 years, a (linear) spline would be drawn between ages 17.5 and 22.5, whereas with boundaries at 15, 20 and 20 years, a spline would be drawn between ages 17.5 and 20 years (may be desired if individuals are assumed to reach adult size at 20). Algorithms:
- none: input values are used directly
- linear: straight lines (on an age vs. value graph) are used to interpolate data points.
Change transmission levels
→ scenario → interventions → changeEIR
<changeEIR
[ name=string ]
>
IN THIS ORDER:
| ( <timedDeployment ... /> )*
</changeEIR>
Documentation (element)
New description of transmission level for models not supporting vector control interventions. Use of this overrides previous transmission levels such that human infectiousness no longer has any feedback effect on transmission. Supplied EIR data must last until end of simulation.
Attributes
Name of intervention
name=string
Name of intervention
timedDeployment
→ scenario → interventions → changeEIR → timedDeployment
<timedDeployment
eipDuration=int
time=string
>
IN THIS ORDER:
| ( <EIRDaily ... /> )+
</timedDeployment>
Documentation (type)
Replacement transmission levels. Disables feedback of human infectiousness to mosquitoes on further mosquito to human transmission. Must last until end of simulation.
Attributes
Duration of sporogony
eipDuration=int
Units: Days
The duration of sporogony in days
Time
time=string
Units: User defined (defauls to steps) Min: 0
Time at which this replacement occurs. See doc on intervention period and on monitoring/startDate for details of how times work. Can be specified in steps, days, years, or as a date (examples: 15t, 75d, 0.2y, 2000-03-16).
EIRDaily
→ scenario → entomology → nonVector → EIRDaily
<EIRDaily
[ origin=string ]
>
double
</EIRDaily>
Documentation (type)
Units: Infectious bites per adult per day
In the non-vector model, EIR is input as a sequence of daily values. There must be at least one years' worth of entries (365), and if there are more, values are wrapped and averaged (i.e. value for first day of year is taken as the mean of values for days 0, 365+0, 2*365+0, etc.).
Attributes
Time origin of EIR sequence
origin=string
Imported infections
→ scenario → interventions → importedInfections
<importedInfections
[ name=string ]
>
IN THIS ORDER:
| <timed ... />
</importedInfections>
Documentation (element)
Models importation of P. falciparum infections directly into humans from an external source. This is infections, not inoculations or EIR being imported.
Attributes
Name of intervention
name=string
Name of intervention
Rate of importation
→ scenario → interventions → importedInfections → timed
<timed
[ period=string ] DEFAULT VALUE 0
>
IN THIS ORDER:
| ( <rate ... /> )+
</timed>
Documentation (element)
Rate of case importation, as a step function. Each value is valid until replaced by the next value.
Attributes
Period of repetition
period=string
Units: User defined (default: steps) Min: 0
Default value: 0
If period is 0 (or effectively infinite), the last specified value remains indefinitely in effect. If period is less than the length of the simulation's intervention phase, then all "rate" deployments are repeated with this periodicity. In this case, the first "rate" deployment must coincide with the start of the intervention phase (monitoring/startDate). Can be specified in steps (e.g. 1t) or days (e.g. 365d).
rate
→ scenario → interventions → importedInfections → timed → rate
<rate
value=double
time=string
/>
Documentation (type)
Units: Imported cases per thousand people per year
A time-rate pair.
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Time of start
time=string
Units: User defined (defauls to steps) Min: 0
Time at which this importation rate becomes active. See doc on intervention period and on monitoring/startDate for details of how times work. Can be specified in steps, days, years, or as a date (examples: 15t, 75d, 0.2y, 2000-03-16).
Insert R_0 case
→ scenario → interventions → insertR_0Case
<insertR_0Case
[ name=string ]
>
IN THIS ORDER:
| ( <timedDeployment ... /> )*
</insertR_0Case>
Documentation (element)
Used to simulate R_0. First, infections should be eliminated, immunity removed, and the population given an effective transmission- blocking vaccine (not done by this intervention). Then this intervention may be used to: pick one human, infect him, administer a fully effective Preerythrocytic vaccine and remove transmission-blocking vaccine effect on this human. Thus only this one human will be a source of infections in an unprotected population, and will not reinfected himself.
Attributes
Name of intervention
name=string
Name of intervention
timedDeployment
→ scenario → interventions → insertR_0Case → timedDeployment
<timedDeployment
time=string
/>
Attributes
Time
time=string
Units: User defined (defauls to steps) Min: 0
Time at which this intervention occurs. See doc on intervention period and on monitoring/startDate for details of how times work. Can be specified in steps, days, years, or as a date (examples: 15t, 75d, 0.2y, 2000-03-16).
Uninfect vectors
→ scenario → interventions → uninfectVectors
<uninfectVectors
[ name=string ]
>
IN THIS ORDER:
| ( <timedDeployment ... /> )*
</uninfectVectors>
Documentation (element)
Units: List of elements
Removes all infections from mosquitoes -- resulting in zero EIR to humans, until such time that mosquitoes are re-infected and become infectious. Only efficacious in dynamic EIR mode (when changeEIR was not used).
Hypothetical, but potentially useful to simulate a setting starting from no infections, but with enough mosquitoes to reach a set equilibrium of exposure.
Attributes
Name of intervention
name=string
Name of intervention
timedDeployment
→ scenario → interventions → uninfectVectors → timedDeployment
<timedDeployment
time=string
/>
Attributes
Time
time=string
Units: User defined (defauls to steps) Min: 0
Time at which this intervention occurs. See doc on intervention period and on monitoring/startDate for details of how times work. Can be specified in steps, days, years, or as a date (examples: 15t, 75d, 0.2y, 2000-03-16).
Vector population intervention
→ scenario → interventions → vectorPop
<vectorPop>
IN THIS ORDER:
| ( <intervention ... /> )+
</vectorPop>
Documentation (element)
Units: List of elements
A list of parameterisations of generic vector host-inspecific interventions.
intervention
→ scenario → interventions → vectorPop → intervention
<intervention
name=string
>
IN THIS ORDER:
| <description ... />
| [ <timed ... /> ]
</intervention>
Documentation (type)
Units: List of elements
An intervention which may have various effects on the vector populations as a whole. (Not host specific.)
Multiple instances of this intervention class are allowed (multiple parameterisations, not just deployments).
Each instance may have multiple deployments. In this case the effects of each instance are independent (effects are combined) but the effects of multiple deployments of a single instance are not independent (only the latest deployment has any effect).
Attributes
Name of intervention
name=string
Name of intervention (e.g. larviciding, sugar bait).
description
→ scenario → interventions → vectorPop → intervention → description
<description>
IN THIS ORDER:
| ( <anopheles ... /> )+
</description>
anopheles
→ scenario → interventions → vectorPop → intervention → description → anopheles
<anopheles
mosquito=string
>
IN ANY ORDER:
| [ <seekingDeathRateIncrease ... /> ]
| [ <probDeathOvipositing ... /> ]
| [ <emergenceReduction ... /> ]
| [ <probAdditionalDeathSugarFeeding ... /> ]
</anopheles>
Documentation (type)
Units: dimensionless Min: 0 Max: 1
Descriptions of the effects of vector interventions with per-species effects.
Attributes
Species/subspecies/variant name
mosquito=string
Name of the species/subspecies/variant.
Proportional increase in deaths while host searching
→ scenario → interventions → vectorPop → intervention → description → anopheles → seekingDeathRateIncrease
<seekingDeathRateIncrease
initial=double
>
IN THIS ORDER:
| <decay ... />
</seekingDeathRateIncrease>
Documentation (element)
Units: dimensionless
Describe an effect on the increase in the death rate while host seeking (mu_vA) due to this intervention.
Enter the rate increase (i.e. if rate increases to 120% of normal, give 0.2). New death rate while seeking is old × (1 + increase) where increase is this factor given. Must have increas ≥ -1.
Attributes
Initial proportion increase
initial=double
Units: dimensionless Min: -1 Max: inf
decay
→ scenario → interventions → vectorPop → intervention → description → anopheles → seekingDeathRateIncrease → decay
<decay
function=("constant" or "step" or "linear" or "exponential" or "weibull" or "hill" or "smooth-compact" or "plus" or "minus" or "divides" or "multiplies")
[ L=string ]
[ k=double ] DEFAULT VALUE 1.0
[ CV=double ] DEFAULT VALUE 0
[ increasing=boolean ] DEFAULT VALUE false
[ initialEfficacy=double ] DEFAULT VALUE 1
[ rho=double ]
[ halflife_short=string ]
[ halflife_long=string ]
>
IN THIS ORDER:
| <decay ... />
</decay>
Documentation (type)
Specification of decay or survival of a parameter.
Attributes
function
function=("constant" or "step" or "linear" or "exponential" or "weibull" or "hill" or "smooth-compact" or "plus" or "minus" or "divides" or "multiplies")
Units: None Min: 0 Max: 1
Determines which decay function to use. Available decay functions, for age t in years: constant: 1 step: 1 for t less than L, otherwise 0 linear: 1 - t/L for t less than L, otherwise 0 exponential: exp( - t/L * log(2) ) weibull: exp( -(t/L)^k * log(2) ) hill: 1 / (1 + (t/L)^k) smooth-compact: exp( k - k / (1 - (t/L)^2) ) for t less than L, otherwise 0
L
L=string
Units: User-defined (defaults to years) Min: 0
(Time) scale parameter of distribution: this is either the age of complete decay (smooth-compact, step and linear functions) or the age at which the parameter has decayed to half its original value (exponential, weibull and hill). Not used when function="constant" (i.e. no decay). This value can be specified in years, days or steps (e.g. 2y, 180d or 100t). When the unit is not specified years are assumed. The value is used without rounding except when sampling an age of decay, when the rounding happens as late as possible.
k
k=double
Units: none Min: 0
Default value: 1.0
Shape parameter of distribution. If not specified, default value of 1 is used. Meaning depends on function; not used in some cases.
Coefficient of Variation
CV=double
Min: 0
Default value: 0
If CV is non-zero, heterogeneity of decay is introduced via a random variable sampled from the log-normal distribution. This distribution is parameterised with mean=1 and CV as given. The effective age of decay is the real age multiplied by this variable (for decay functions with a half-life, this is equivalent to dividing the half-life by the variable).
L
increasing=boolean
Units: User-defined (defaults to years) Min: 0
Default value: false
(Boolean) If True, this tells OpenMalaria to use the complement of the DecayFunction defined as 1-f(x). This is useful to model increasing functions that will "decay" to 1. This only works if f(x) is contained between 0 and 1.
initialEfficacy
initialEfficacy=double
Default value: 1
biphasic: Efficacy between 0 and 1.
rho
rho=double
biphasic: Proportion between 0 and 1, proportion of the response that is short-lived.
halflife_short
halflife_short=string
biphasic: halflife of short lived component (default to years).
halflife_long
halflife_long=string
biphasic: halflife of long lived component (default to years).
decay
→ scenario → interventions → nonHumanHostsModifications → intervention → decay → decay
<decay
function=("constant" or "step" or "linear" or "exponential" or "weibull" or "hill" or "smooth-compact" or "plus" or "minus" or "divides" or "multiplies")
[ L=string ]
[ k=double ] DEFAULT VALUE 1.0
[ CV=double ] DEFAULT VALUE 0
[ increasing=boolean ] DEFAULT VALUE false
[ initialEfficacy=double ] DEFAULT VALUE 1
[ rho=double ]
[ halflife_short=string ]
[ halflife_long=string ]
>
IN THIS ORDER:
| <decay ... />
</decay>
Documentation (type)
Specification of decay or survival of a parameter.
Attributes
function
function=("constant" or "step" or "linear" or "exponential" or "weibull" or "hill" or "smooth-compact" or "plus" or "minus" or "divides" or "multiplies")
Units: None Min: 0 Max: 1
Determines which decay function to use. Available decay functions, for age t in years: constant: 1 step: 1 for t less than L, otherwise 0 linear: 1 - t/L for t less than L, otherwise 0 exponential: exp( - t/L * log(2) ) weibull: exp( -(t/L)^k * log(2) ) hill: 1 / (1 + (t/L)^k) smooth-compact: exp( k - k / (1 - (t/L)^2) ) for t less than L, otherwise 0
L
L=string
Units: User-defined (defaults to years) Min: 0
(Time) scale parameter of distribution: this is either the age of complete decay (smooth-compact, step and linear functions) or the age at which the parameter has decayed to half its original value (exponential, weibull and hill). Not used when function="constant" (i.e. no decay). This value can be specified in years, days or steps (e.g. 2y, 180d or 100t). When the unit is not specified years are assumed. The value is used without rounding except when sampling an age of decay, when the rounding happens as late as possible.
k
k=double
Units: none Min: 0
Default value: 1.0
Shape parameter of distribution. If not specified, default value of 1 is used. Meaning depends on function; not used in some cases.
Coefficient of Variation
CV=double
Min: 0
Default value: 0
If CV is non-zero, heterogeneity of decay is introduced via a random variable sampled from the log-normal distribution. This distribution is parameterised with mean=1 and CV as given. The effective age of decay is the real age multiplied by this variable (for decay functions with a half-life, this is equivalent to dividing the half-life by the variable).
L
increasing=boolean
Units: User-defined (defaults to years) Min: 0
Default value: false
(Boolean) If True, this tells OpenMalaria to use the complement of the DecayFunction defined as 1-f(x). This is useful to model increasing functions that will "decay" to 1. This only works if f(x) is contained between 0 and 1.
initialEfficacy
initialEfficacy=double
Default value: 1
biphasic: Efficacy between 0 and 1.
rho
rho=double
biphasic: Proportion between 0 and 1, proportion of the response that is short-lived.
halflife_short
halflife_short=string
biphasic: halflife of short lived component (default to years).
halflife_long
halflife_long=string
biphasic: halflife of long lived component (default to years).
Proportion ovipositing mosquitoes killed
→ scenario → interventions → vectorPop → intervention → description → anopheles → probDeathOvipositing
<probDeathOvipositing
initial=double
>
IN THIS ORDER:
| <decay ... />
</probDeathOvipositing>
Documentation (element)
Units: dimensionless
Describe an effect of increased mortality while ovipositing due to this intervention. Enter the probability of dying due to this intervention.
Attributes
Initial probability of killing
initial=double
Units: dimensionless Min: 0 Max: 1
decay
→ scenario → interventions → vectorPop → intervention → description → anopheles → probDeathOvipositing → decay
<decay
function=("constant" or "step" or "linear" or "exponential" or "weibull" or "hill" or "smooth-compact" or "plus" or "minus" or "divides" or "multiplies")
[ L=string ]
[ k=double ] DEFAULT VALUE 1.0
[ CV=double ] DEFAULT VALUE 0
[ increasing=boolean ] DEFAULT VALUE false
[ initialEfficacy=double ] DEFAULT VALUE 1
[ rho=double ]
[ halflife_short=string ]
[ halflife_long=string ]
>
IN THIS ORDER:
| <decay ... />
</decay>
Documentation (type)
Specification of decay or survival of a parameter.
Attributes
function
function=("constant" or "step" or "linear" or "exponential" or "weibull" or "hill" or "smooth-compact" or "plus" or "minus" or "divides" or "multiplies")
Units: None Min: 0 Max: 1
Determines which decay function to use. Available decay functions, for age t in years: constant: 1 step: 1 for t less than L, otherwise 0 linear: 1 - t/L for t less than L, otherwise 0 exponential: exp( - t/L * log(2) ) weibull: exp( -(t/L)^k * log(2) ) hill: 1 / (1 + (t/L)^k) smooth-compact: exp( k - k / (1 - (t/L)^2) ) for t less than L, otherwise 0
L
L=string
Units: User-defined (defaults to years) Min: 0
(Time) scale parameter of distribution: this is either the age of complete decay (smooth-compact, step and linear functions) or the age at which the parameter has decayed to half its original value (exponential, weibull and hill). Not used when function="constant" (i.e. no decay). This value can be specified in years, days or steps (e.g. 2y, 180d or 100t). When the unit is not specified years are assumed. The value is used without rounding except when sampling an age of decay, when the rounding happens as late as possible.
k
k=double
Units: none Min: 0
Default value: 1.0
Shape parameter of distribution. If not specified, default value of 1 is used. Meaning depends on function; not used in some cases.
Coefficient of Variation
CV=double
Min: 0
Default value: 0
If CV is non-zero, heterogeneity of decay is introduced via a random variable sampled from the log-normal distribution. This distribution is parameterised with mean=1 and CV as given. The effective age of decay is the real age multiplied by this variable (for decay functions with a half-life, this is equivalent to dividing the half-life by the variable).
L
increasing=boolean
Units: User-defined (defaults to years) Min: 0
Default value: false
(Boolean) If True, this tells OpenMalaria to use the complement of the DecayFunction defined as 1-f(x). This is useful to model increasing functions that will "decay" to 1. This only works if f(x) is contained between 0 and 1.
initialEfficacy
initialEfficacy=double
Default value: 1
biphasic: Efficacy between 0 and 1.
rho
rho=double
biphasic: Proportion between 0 and 1, proportion of the response that is short-lived.
halflife_short
halflife_short=string
biphasic: halflife of short lived component (default to years).
halflife_long
halflife_long=string
biphasic: halflife of long lived component (default to years).
Proportion of emerging pupa killed
→ scenario → interventions → vectorPop → intervention → description → anopheles → emergenceReduction
<emergenceReduction
initial=double
>
IN THIS ORDER:
| <decay ... />
</emergenceReduction>
Documentation (element)
Units: dimensionless
Describe an effect on emergence of pupa into adults: this value is the proportion of emerging pupa which are killed by this intervention.
This can be used as a crude way of modelling larviciding. It ca also be used to increase emergence by giving a negative value. The emergence rate is "old rate" × (1 - factor) where factor is the value given here; thus, for example, using -1 will double emergence.
Attributes
Initial proportion reduction
initial=double
Units: dimensionless Min: -inf Max: 1
decay
→ scenario → interventions → vectorPop → intervention → description → anopheles → emergenceReduction → decay
<decay
function=("constant" or "step" or "linear" or "exponential" or "weibull" or "hill" or "smooth-compact" or "plus" or "minus" or "divides" or "multiplies")
[ L=string ]
[ k=double ] DEFAULT VALUE 1.0
[ CV=double ] DEFAULT VALUE 0
[ increasing=boolean ] DEFAULT VALUE false
[ initialEfficacy=double ] DEFAULT VALUE 1
[ rho=double ]
[ halflife_short=string ]
[ halflife_long=string ]
>
IN THIS ORDER:
| <decay ... />
</decay>
Documentation (type)
Specification of decay or survival of a parameter.
Attributes
function
function=("constant" or "step" or "linear" or "exponential" or "weibull" or "hill" or "smooth-compact" or "plus" or "minus" or "divides" or "multiplies")
Units: None Min: 0 Max: 1
Determines which decay function to use. Available decay functions, for age t in years: constant: 1 step: 1 for t less than L, otherwise 0 linear: 1 - t/L for t less than L, otherwise 0 exponential: exp( - t/L * log(2) ) weibull: exp( -(t/L)^k * log(2) ) hill: 1 / (1 + (t/L)^k) smooth-compact: exp( k - k / (1 - (t/L)^2) ) for t less than L, otherwise 0
L
L=string
Units: User-defined (defaults to years) Min: 0
(Time) scale parameter of distribution: this is either the age of complete decay (smooth-compact, step and linear functions) or the age at which the parameter has decayed to half its original value (exponential, weibull and hill). Not used when function="constant" (i.e. no decay). This value can be specified in years, days or steps (e.g. 2y, 180d or 100t). When the unit is not specified years are assumed. The value is used without rounding except when sampling an age of decay, when the rounding happens as late as possible.
k
k=double
Units: none Min: 0
Default value: 1.0
Shape parameter of distribution. If not specified, default value of 1 is used. Meaning depends on function; not used in some cases.
Coefficient of Variation
CV=double
Min: 0
Default value: 0
If CV is non-zero, heterogeneity of decay is introduced via a random variable sampled from the log-normal distribution. This distribution is parameterised with mean=1 and CV as given. The effective age of decay is the real age multiplied by this variable (for decay functions with a half-life, this is equivalent to dividing the half-life by the variable).
L
increasing=boolean
Units: User-defined (defaults to years) Min: 0
Default value: false
(Boolean) If True, this tells OpenMalaria to use the complement of the DecayFunction defined as 1-f(x). This is useful to model increasing functions that will "decay" to 1. This only works if f(x) is contained between 0 and 1.
initialEfficacy
initialEfficacy=double
Default value: 1
biphasic: Efficacy between 0 and 1.
rho
rho=double
biphasic: Proportion between 0 and 1, proportion of the response that is short-lived.
halflife_short
halflife_short=string
biphasic: halflife of short lived component (default to years).
halflife_long
halflife_long=string
biphasic: halflife of long lived component (default to years).
Probability of death while host searching as a result of feeding on a sugar bait (used to dynamically adjust mu_vA)
→ scenario → interventions → vectorPop → intervention → description → anopheles → probAdditionalDeathSugarFeeding
<probAdditionalDeathSugarFeeding
initial=double
>
IN THIS ORDER:
| <decay ... />
</probAdditionalDeathSugarFeeding>
Documentation (element)
Units: dimensionless
Describe an effect on the increase in the death rate while host seeking (mu_vA) due to this intervention. This works like adding an non-human host with its own availability. The difference is that biting this sugar bait is associated with a probability of dying of 1: all mosquitoes biting the sugar bait will die. OpenMalaria will automatically compute the availability for this host so that the probability of biting this 'host' (and thus dying) is equal to the input parameter.
Enter the probability of dying while host seeking due to this intervention. If multiple interventions overlap, the cumulative probability will be used. Note that it cannot exceed 1, and OpenMalaria will return an error during the simulation if this ever happens.
OpenMalaria will dynamically compute the necessary increase in mu_vA based on the given probability. Note that this is done by solving an equation numerically every timestep, which can cause a small drop in performance.
Attributes
Initial proportion increase
initial=double
Units: dimensionless Min: -1 Max: inf
decay
→ scenario → interventions → vectorPop → intervention → description → anopheles → probAdditionalDeathSugarFeeding → decay
<decay
function=("constant" or "step" or "linear" or "exponential" or "weibull" or "hill" or "smooth-compact" or "plus" or "minus" or "divides" or "multiplies")
[ L=string ]
[ k=double ] DEFAULT VALUE 1.0
[ CV=double ] DEFAULT VALUE 0
[ increasing=boolean ] DEFAULT VALUE false
[ initialEfficacy=double ] DEFAULT VALUE 1
[ rho=double ]
[ halflife_short=string ]
[ halflife_long=string ]
>
IN THIS ORDER:
| <decay ... />
</decay>
Documentation (type)
Specification of decay or survival of a parameter.
Attributes
function
function=("constant" or "step" or "linear" or "exponential" or "weibull" or "hill" or "smooth-compact" or "plus" or "minus" or "divides" or "multiplies")
Units: None Min: 0 Max: 1
Determines which decay function to use. Available decay functions, for age t in years: constant: 1 step: 1 for t less than L, otherwise 0 linear: 1 - t/L for t less than L, otherwise 0 exponential: exp( - t/L * log(2) ) weibull: exp( -(t/L)^k * log(2) ) hill: 1 / (1 + (t/L)^k) smooth-compact: exp( k - k / (1 - (t/L)^2) ) for t less than L, otherwise 0
L
L=string
Units: User-defined (defaults to years) Min: 0
(Time) scale parameter of distribution: this is either the age of complete decay (smooth-compact, step and linear functions) or the age at which the parameter has decayed to half its original value (exponential, weibull and hill). Not used when function="constant" (i.e. no decay). This value can be specified in years, days or steps (e.g. 2y, 180d or 100t). When the unit is not specified years are assumed. The value is used without rounding except when sampling an age of decay, when the rounding happens as late as possible.
k
k=double
Units: none Min: 0
Default value: 1.0
Shape parameter of distribution. If not specified, default value of 1 is used. Meaning depends on function; not used in some cases.
Coefficient of Variation
CV=double
Min: 0
Default value: 0
If CV is non-zero, heterogeneity of decay is introduced via a random variable sampled from the log-normal distribution. This distribution is parameterised with mean=1 and CV as given. The effective age of decay is the real age multiplied by this variable (for decay functions with a half-life, this is equivalent to dividing the half-life by the variable).
L
increasing=boolean
Units: User-defined (defaults to years) Min: 0
Default value: false
(Boolean) If True, this tells OpenMalaria to use the complement of the DecayFunction defined as 1-f(x). This is useful to model increasing functions that will "decay" to 1. This only works if f(x) is contained between 0 and 1.
initialEfficacy
initialEfficacy=double
Default value: 1
biphasic: Efficacy between 0 and 1.
rho
rho=double
biphasic: Proportion between 0 and 1, proportion of the response that is short-lived.
halflife_short
halflife_short=string
biphasic: halflife of short lived component (default to years).
halflife_long
halflife_long=string
biphasic: halflife of long lived component (default to years).
Vector population intervention deployment
→ scenario → interventions → vectorPop → intervention → timed
<timed>
IN THIS ORDER:
| ( <deploy ... /> )+
</timed>
Documentation (element)
List of timed vector population intervention deployment
deploy
→ scenario → interventions → vectorPop → intervention → timed → deploy
<deploy
time=string
/>
Attributes
Time
time=string
Units: User defined (defauls to steps) Min: 0
Time at which this deployment occurs. See doc on intervention period and on monitoring/startDate for details of how times work. Can be specified in steps, days, years, or as a date (examples: 15t, 75d, 0.2y, 2000-03-16).
Baited trap
→ scenario → interventions → vectorTrap
<vectorTrap>
IN THIS ORDER:
| ( <intervention ... /> )+
</vectorTrap>
Documentation (element)
Traps attract and kill mosquitoes. They are modelled as a non-human-host where the probability of mosquitoes surviving feeding is zero (since otherwise the simulator would assume surviving mosquitoes have had a blood meal), and where this "host" is initially not present.
Model: each type of trap has has an initial availability relative to a human and a decay in availability. Each deployment has a fixed maximum lifespan, after which the traps from that deployment are removed (it is up to the user whether this is after availability is effectively zero or sooner, either coinciding with a redeployment or causing a reduction in overall effectiveness of traps).
intervention
→ scenario → interventions → vectorTrap → intervention
<intervention
[ name=string ]
>
IN THIS ORDER:
| ( <description ... /> )+
| [ <timed ... /> ]
</intervention>
Documentation (type)
Parameters and deployment of one type of trap. In case multiple types of trap are needed simultaneously, multiple elements can be used. Note that different types of trap do not interact except that all will attract mosquitoes.
Attributes
Descriptive name for type of trap
name=string
Optional name for this type of trap
Description
→ scenario → interventions → vectorTrap → intervention → description
<description
mosquito=string
>
IN THIS ORDER:
| <relativeAvailability ... />
| <decayOfAvailability ... />
</description>
Documentation (element)
Parameters associated with a vector trap intervention, per mosquito species.
Attributes
Species/subspecies/variant name
mosquito=string
Name of the species/subspecies/variant.
Initial relative availability
→ scenario → interventions → vectorTrap → intervention → description → relativeAvailability
<relativeAvailability
value=double
/>
Documentation (element)
Units: Proportion Min: 0 Max: inf
Describes the availiability of a trap to a host-seeking mosquito relative to an average unprotected adult.
I.e. if this parameter is 2, then each trap will on average attract twice as many mosquitoes as unprotected adults.
This is the initial availability; it may decay towards zero depending on the configured decay function.
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Decay of availability
→ scenario → interventions → vectorTrap → intervention → description → decayOfAvailability
<decayOfAvailability
function=("constant" or "step" or "linear" or "exponential" or "weibull" or "hill" or "smooth-compact" or "plus" or "minus" or "divides" or "multiplies")
[ L=string ]
[ k=double ] DEFAULT VALUE 1.0
[ CV=double ] DEFAULT VALUE 0
[ increasing=boolean ] DEFAULT VALUE false
[ initialEfficacy=double ] DEFAULT VALUE 1
[ rho=double ]
[ halflife_short=string ]
[ halflife_long=string ]
>
IN THIS ORDER:
| <decay ... />
</decayOfAvailability>
Documentation (element)
Describes how availability decays to zero.
If decay heterogeneity/variance is used, there will be a sample once-per-deployment (i.e. all traps of the same deployment will be affected the same way). There is no support for variances between traps (except in this crude way, between deployments).
Documentation (type)
Specification of decay or survival of a parameter.
Attributes
function
function=("constant" or "step" or "linear" or "exponential" or "weibull" or "hill" or "smooth-compact" or "plus" or "minus" or "divides" or "multiplies")
Units: None Min: 0 Max: 1
Determines which decay function to use. Available decay functions, for age t in years: constant: 1 step: 1 for t less than L, otherwise 0 linear: 1 - t/L for t less than L, otherwise 0 exponential: exp( - t/L * log(2) ) weibull: exp( -(t/L)^k * log(2) ) hill: 1 / (1 + (t/L)^k) smooth-compact: exp( k - k / (1 - (t/L)^2) ) for t less than L, otherwise 0
L
L=string
Units: User-defined (defaults to years) Min: 0
(Time) scale parameter of distribution: this is either the age of complete decay (smooth-compact, step and linear functions) or the age at which the parameter has decayed to half its original value (exponential, weibull and hill). Not used when function="constant" (i.e. no decay). This value can be specified in years, days or steps (e.g. 2y, 180d or 100t). When the unit is not specified years are assumed. The value is used without rounding except when sampling an age of decay, when the rounding happens as late as possible.
k
k=double
Units: none Min: 0
Default value: 1.0
Shape parameter of distribution. If not specified, default value of 1 is used. Meaning depends on function; not used in some cases.
Coefficient of Variation
CV=double
Min: 0
Default value: 0
If CV is non-zero, heterogeneity of decay is introduced via a random variable sampled from the log-normal distribution. This distribution is parameterised with mean=1 and CV as given. The effective age of decay is the real age multiplied by this variable (for decay functions with a half-life, this is equivalent to dividing the half-life by the variable).
L
increasing=boolean
Units: User-defined (defaults to years) Min: 0
Default value: false
(Boolean) If True, this tells OpenMalaria to use the complement of the DecayFunction defined as 1-f(x). This is useful to model increasing functions that will "decay" to 1. This only works if f(x) is contained between 0 and 1.
initialEfficacy
initialEfficacy=double
Default value: 1
biphasic: Efficacy between 0 and 1.
rho
rho=double
biphasic: Proportion between 0 and 1, proportion of the response that is short-lived.
halflife_short
halflife_short=string
biphasic: halflife of short lived component (default to years).
halflife_long
halflife_long=string
biphasic: halflife of long lived component (default to years).
Vector trap intervention deployment
→ scenario → interventions → vectorTrap → intervention → timed
<timed>
IN THIS ORDER:
| ( <deploy ... /> )*
</timed>
Documentation (element)
List of timed vector trap intervention deployment
deploy
→ scenario → interventions → vectorTrap → intervention → timed → deploy
<deploy
time=string
ratioToHumans=double
lifespan=string
/>
Attributes
Time
time=string
Units: User defined (defauls to steps) Min: 0
Time at which this deployment occurs. See doc on intervention period and on monitoring/startDate for details of how times work. Can be specified in steps, days, years, or as a date (examples: 15t, 75d, 0.2y, 2000-03-16).
Ratio to humans
ratioToHumans=double
Min: 0 Max: inf
The number of traps deployed, by this deployment, per adult human. E.g. if there are currently 100 traps and 1000 humans, then a ratio of 0.1 will increase the number of traps to 200.
Lifespan
lifespan=string
Units: Steps or Days or Years
Life of the trap until replaced or removed, e.g. "73t" or "1y". After this time period, these traps will be removed from the simulation. New deployments do not automatically remove old traps. Existing traps cannot be refurbished in the model. It may make sense to make the end-of-life coincide with a new deployment.
nonHumanHostsModifications
→ scenario → interventions → nonHumanHostsModifications
<nonHumanHostsModifications>
IN THIS ORDER:
| ( <intervention ... /> )+
</nonHumanHostsModifications>
Documentation (element)
List of interventions that modify parameters of non-human hosts described in the
intervention
→ scenario → interventions → nonHumanHostsModifications → intervention
<intervention
name=string
nonHumanHostsName=string
>
IN THIS ORDER:
| <decay ... />
| <description ... />
| [ <timed ... /> ]
</intervention>
Documentation (type)
This intervention modifies parameters of non-human hosts described in the
The intervention is described by 5 parameters that define the change in each of non-human host parameters:
reduceAvailability: Reduction in the availability rate, αi. For example a value of 0 will result in no change; a value of 0.2 will reduce the availability to 0.8 of its initial value; and a value of 1 will set the availability to 0;
prePrandialKillingEffect: Reduction in the pre-prandial survival probability, PBi. For example a value of 0 will result in no change; a value of 0.2 will reduce PBi to 0.8 of its initial value; and a value of 1 will set PBi to 0;
postPrandialKillingEffect: Reduction in the post-prandial survival probability, PCi. For example a value of 0 will result in no change; a value of 0.2 will reduce PCi to 0.8 of its initial value; and a value of 1 will set PCi to 0;
restingKillingEffect: Reduction in the survival probability of the resting period, PDi. For example a value of 0 will result in no change; a value of 0.2 will reduce PDi to 0.8 of its initial value; and a value of 1 will set PDi to 0;
Attributes
Name of intervention
name=string
Name of intervention (e.g. larviciding, sugar bait).
Name of intervention
nonHumanHostsName=string
Name of intervention (e.g. larviciding, sugar bait).
decay
→ scenario → interventions → nonHumanHostsModifications → intervention → decay
<decay
function=("constant" or "step" or "linear" or "exponential" or "weibull" or "hill" or "smooth-compact" or "plus" or "minus" or "divides" or "multiplies")
[ L=string ]
[ k=double ] DEFAULT VALUE 1.0
[ CV=double ] DEFAULT VALUE 0
[ increasing=boolean ] DEFAULT VALUE false
[ initialEfficacy=double ] DEFAULT VALUE 1
[ rho=double ]
[ halflife_short=string ]
[ halflife_long=string ]
>
IN THIS ORDER:
| <decay ... />
</decay>
Documentation (type)
Specification of decay or survival of a parameter.
Attributes
function
function=("constant" or "step" or "linear" or "exponential" or "weibull" or "hill" or "smooth-compact" or "plus" or "minus" or "divides" or "multiplies")
Units: None Min: 0 Max: 1
Determines which decay function to use. Available decay functions, for age t in years: constant: 1 step: 1 for t less than L, otherwise 0 linear: 1 - t/L for t less than L, otherwise 0 exponential: exp( - t/L * log(2) ) weibull: exp( -(t/L)^k * log(2) ) hill: 1 / (1 + (t/L)^k) smooth-compact: exp( k - k / (1 - (t/L)^2) ) for t less than L, otherwise 0
L
L=string
Units: User-defined (defaults to years) Min: 0
(Time) scale parameter of distribution: this is either the age of complete decay (smooth-compact, step and linear functions) or the age at which the parameter has decayed to half its original value (exponential, weibull and hill). Not used when function="constant" (i.e. no decay). This value can be specified in years, days or steps (e.g. 2y, 180d or 100t). When the unit is not specified years are assumed. The value is used without rounding except when sampling an age of decay, when the rounding happens as late as possible.
k
k=double
Units: none Min: 0
Default value: 1.0
Shape parameter of distribution. If not specified, default value of 1 is used. Meaning depends on function; not used in some cases.
Coefficient of Variation
CV=double
Min: 0
Default value: 0
If CV is non-zero, heterogeneity of decay is introduced via a random variable sampled from the log-normal distribution. This distribution is parameterised with mean=1 and CV as given. The effective age of decay is the real age multiplied by this variable (for decay functions with a half-life, this is equivalent to dividing the half-life by the variable).
L
increasing=boolean
Units: User-defined (defaults to years) Min: 0
Default value: false
(Boolean) If True, this tells OpenMalaria to use the complement of the DecayFunction defined as 1-f(x). This is useful to model increasing functions that will "decay" to 1. This only works if f(x) is contained between 0 and 1.
initialEfficacy
initialEfficacy=double
Default value: 1
biphasic: Efficacy between 0 and 1.
rho
rho=double
biphasic: Proportion between 0 and 1, proportion of the response that is short-lived.
halflife_short
halflife_short=string
biphasic: halflife of short lived component (default to years).
halflife_long
halflife_long=string
biphasic: halflife of long lived component (default to years).
description
→ scenario → interventions → nonHumanHostsModifications → intervention → description
<description>
IN THIS ORDER:
| ( <anopheles ... /> )+
</description>
anopheles
→ scenario → interventions → nonHumanHostsModifications → intervention → description → anopheles
<anopheles
mosquito=string
>
IN ANY ORDER:
| [ <availabilityReduction ... /> ]
| [ <preprandialKillingEffect ... /> ]
| [ <postprandialKillingEffect ... /> ]
| [ <restingKillingEffect ... /> ]
| [ <fecundityReduction ... /> ]
</anopheles>
- availabilityReduction
- preprandialKillingEffect
- postprandialKillingEffect
- restingKillingEffect
- fecundityReduction
Documentation (type)
Descriptions of the effects of non human hosts interventions with per-species effects.
Attributes
Species/subspecies/variant name
mosquito=string
Name of the species/subspecies/variant.
availabilityReduction
→ scenario → interventions → nonHumanHostsModifications → intervention → description → anopheles → availabilityReduction
<availabilityReduction
initial=double
/>
Documentation (element)
Reduction in the availability rate, αi. For example a value of 0 will result in no change; a value of 0.2 will reduce the availability to 0.8 of its initial value; and a value of 1 will set the availability to 0;
Attributes
Initial proportion increase
initial=double
Units: dimensionless Min: -1 Max: inf
preprandialKillingEffect
→ scenario → interventions → nonHumanHostsModifications → intervention → description → anopheles → preprandialKillingEffect
<preprandialKillingEffect
initial=double
/>
Documentation (element)
Reduction in the pre-prandial survival probability, PBi. For example a value of 0 will result in no change; a value of 0.2 will reduce PBi to 0.8 of its initial value; and a value of 1 will set PBi to 0;
Attributes
Initial proportion increase
initial=double
Units: dimensionless Min: -1 Max: inf
postprandialKillingEffect
→ scenario → interventions → nonHumanHostsModifications → intervention → description → anopheles → postprandialKillingEffect
<postprandialKillingEffect
initial=double
/>
Documentation (element)
Reduction in the post-prandial survival probability, PCi. For example a value of 0 will result in no change; a value of 0.2 will reduce PCi to 0.8 of its initial value; and a value of 1 will set PCi to 0;
Attributes
Initial proportion increase
initial=double
Units: dimensionless Min: -1 Max: inf
restingKillingEffect
→ scenario → interventions → nonHumanHostsModifications → intervention → description → anopheles → restingKillingEffect
<restingKillingEffect
initial=double
/>
Documentation (element)
Reduction in the survival probability of the resting period, PDi. For example a value of 0 will result in no change; a value of 0.2 will reduce PDi to 0.8 of its initial value; and a value of 1 will set PDi to 0;
Attributes
Initial proportion increase
initial=double
Units: dimensionless Min: -1 Max: inf
fecundityReduction
→ scenario → interventions → nonHumanHostsModifications → intervention → description → anopheles → fecundityReduction
<fecundityReduction
initial=double
/>
Documentation (element)
Reduction in the number of fertile eggs laid by a mosquito after biting this type of host, relative to an unprotected human. For example a value of 0 will result in no change; a value of 0.2 will reduce the fecundity factor to 0.8 of its initial value; and a value of 1 will set the fecundity factor to 0;
Attributes
Initial proportion increase
initial=double
Units: dimensionless Min: -1 Max: inf
Vector population intervention deployment
→ scenario → interventions → nonHumanHostsModifications → intervention → timed
<timed>
IN THIS ORDER:
| ( <deploy ... /> )+
</timed>
Documentation (element)
List of timed vector population intervention deployment
addNonHumanHosts
→ scenario → interventions → addNonHumanHosts
<addNonHumanHosts>
IN THIS ORDER:
| ( <nonHumanHosts ... /> )+
</addNonHumanHosts>
Documentation (element)
List of intervention that add new non-human hosts that have not been described in the
nonHumanHosts
→ scenario → interventions → addNonHumanHosts → nonHumanHosts
<nonHumanHosts
name=string
>
IN THIS ORDER:
| <description ... />
| [ <timed ... /> ]
</nonHumanHosts>
Documentation (type)
Describes a new non-human hosts that have not been described in the
Attributes
Name of intervention
name=string
Name of intervention (e.g. larviciding, sugar bait).
description
→ scenario → interventions → addNonHumanHosts → nonHumanHosts → description
<description>
IN THIS ORDER:
| ( <anopheles ... /> )+
</description>
anopheles
→ scenario → interventions → addNonHumanHosts → nonHumanHosts → description → anopheles
<anopheles
mosquito=string
>
IN ANY ORDER:
| <mosqRelativeAvailabilityHuman ... />
| <mosqProbBiting ... />
| <mosqProbFindRestSite ... />
| <mosqProbResting ... />
| <hostFecundityFactor ... />
</anopheles>
- mosqRelativeAvailabilityHuman
- mosqProbBiting
- mosqProbFindRestSite
- mosqProbResting
- hostFecundityFactor
Documentation (type)
Descriptions of the effects of new non human hosts with per-species effects.
Attributes
Species/subspecies/variant name
mosquito=string
Name of the species/subspecies/variant.
Relative availability of non-human host (ξ_i)
→ scenario → interventions → addNonHumanHosts → nonHumanHosts → description → anopheles → mosqRelativeAvailabilityHuman
<mosqRelativeAvailabilityHuman
value=double
/>
Documentation (element)
Units: Proportion
Relative availability of the population of non-human hosts of type i to other non-human hosts; the sum of this across all non-human hosts must be 1.
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Probability of mosquito successfully biting host
→ scenario → interventions → addNonHumanHosts → nonHumanHosts → description → anopheles → mosqProbBiting
<mosqProbBiting
value=double
/>
Documentation (element)
Units: Proportion
Probability of mosquito successfully biting host
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Probability that the mosquito escapes host and finds a resting place after biting
→ scenario → interventions → addNonHumanHosts → nonHumanHosts → description → anopheles → mosqProbFindRestSite
<mosqProbFindRestSite
value=double
/>
Documentation (element)
Units: Proportion
Probability that the mosquito escapes host and finds a resting place after biting
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Probability of mosquito successfully resting after finding a resting site
→ scenario → interventions → addNonHumanHosts → nonHumanHosts → description → anopheles → mosqProbResting
<mosqProbResting
value=double
/>
Documentation (element)
Units: Proportion
Probability of mosquito successfully resting after finding a resting site
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Probability of mosquito successfully resting after finding a resting site
→ scenario → interventions → addNonHumanHosts → nonHumanHosts → description → anopheles → hostFecundityFactor
<hostFecundityFactor
value=double
/>
Documentation (element)
Units: Proportion
Multiplicative factor for the number of fertile eggs laid by a mosquito after biting this type of host, relative to an unprotected human.
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Vector trap intervention deployment
→ scenario → interventions → addNonHumanHosts → nonHumanHosts → timed
<timed>
IN THIS ORDER:
| ( <deploy ... /> )*
</timed>
Documentation (element)
List of timed vector trap intervention deployment
deploy
→ scenario → interventions → addNonHumanHosts → nonHumanHosts → timed → deploy
<deploy
time=string
lifespan=string
/>
Attributes
Time
time=string
Units: User defined (defauls to steps) Min: 0
Time at which this deployment occurs. See doc on intervention period and on monitoring/startDate for details of how times work. Can be specified in steps, days, years, or as a date (examples: 15t, 75d, 0.2y, 2000-03-16).
Lifespan
lifespan=string
Units: Steps or Days or Years
Life of the trap until replaced or removed, e.g. "73t" or "1y". After this time period, these traps will be removed from the simulation. New deployments do not automatically remove old traps. Existing traps cannot be refurbished in the model. It may make sense to make the end-of-life coincide with a new deployment.
Human-specific interventions
→ scenario → interventions → human
<human>
IN THIS ORDER:
| ( <component ... /> )+
| ( <deployment ... /> )*
</human>
Documentation (element)
Encapsulates all interventions whose effects are specific to the human host: any interventions where target humans may be selected via population-coverage, age limits and sub-population membership.
Component
→ scenario → interventions → human → component
<component
id=string
[ name=string ]
>
IN THIS ORDER:
| EXACTLY ONE OF:
| | <screen ... />
| | <treatSimple ... />
| | <treatPKPD ... />
| | <decisionTree ... />
| | <PEV ... />
| | <BSV ... />
| | <TBV ... />
| | <ITN ... />
| | <IRS ... />
| | <GVI ... />
| | [ <recruitmentOnly ... /> ]
| | <clearImmunity ... />
| [ <subPopRemoval ... /> ]
</component>
- screen
- treatSimple
- treatPKPD
- decisionTree
- PEV
- BSV
- TBV
- ITN
- IRS
- GVI
- recruitmentOnly
- clearImmunity
- subPopRemoval
Documentation (element)
A parameterisation of an effect achieved by one component of an intervention. (An intervention is described as the effects of a set of components plus deployments of those components. This describes the components individually, not deployments or which components comprise an intervention.)
Each element describes one component: its effects, decay of the(se) effect(s), and related stuff (e.g. description of indirect decay and of usage levels).
Different interventions can deploy the same component to the same perso. In most cases this will just deploy a fresh instance (e.g. a new bed net will replace the old (nobody uses multiple bed nets), or a new drug dose will act on top of previous doses, or in the case of a vaccine, effect depends on the total number of previous inoculations (including from other interventions).
Where multiple components of the same type (but with different ids) are deployed (whether within a single intervention or by multiple interventions), they act independently (e.g. two bed nets deployed to a single host would act to reduce attractiveness or survival of mosquitoes biting that host twice — this may be useful to simulate some novel vector intervention since the two nets may have separate parameters).
Attributes
Component identifier
id=string
A short name or code identifying the intervention component (used to refer to this component when describing an intervention). Also the id of the sub-population defined as those hosts who have received this intervention and who haven't subsequently been removed from the sub-population.
Name of component
name=string
An informal name/description for the component
screen
→ scenario → interventions → human → component → screen
<screen
diagnostic=string
>
IN THIS ORDER:
| ( <positive ... /> )*
| ( <negative ... /> )*
</screen>
Documentation (type)
This can be combined with MDA to achieve mass screen and treat (MSAT) or other types of mass screening intervention.
When deployed to a host, this simulates a test of patent malaria (microscopy, RDT or some such), then triggers deployment of whichever intervention components are configured (deployments for both positive and negative test outcomes can be configured).
The use of the screening itself is reported (if enabled), but not the outcome. Deployment of interventions triggered by the screening may be reported, however.
Attributes
Name of diagnostic
diagnostic=string
Name of a parameterised diagnostic (see scenario/diagnostics).
positive
→ scenario → interventions → human → component → screen → positive
<positive
id=string
/>
Documentation (type)
The list of components deployed to eligible humans.
Attributes
Identifier
id=string
The identifier (short name) of a component.
negative
→ scenario → interventions → human → component → screen → negative
<negative
id=string
/>
Documentation (type)
The list of components deployed to eligible humans.
Attributes
Identifier
id=string
The identifier (short name) of a component.
treatSimple
→ scenario → interventions → human → component → treatSimple
<treatSimple
durationLiver=string
durationBlood=string
/>
Documentation (type)
Simple treatment model, targetting liver- and/or blood-stage infections. This is all-or-nothing treatment which, when deploymed, completely clears all infections of the targetted stages. This makes it unsuitable for modeling resistance, but suitable for use with simple infection models.
Infections are considered liver-stage when less than five days old and blood-stage after that. Effects are described independently for the two stages.
Attributes
Length of liver-stage effect
durationLiver=string
Units: User defined
Controls action on liver-stage infections. 0 means no action, -1 step is a compatibility option to act like treatment before schema version 32 (which removed infections retrospectively), 1 step or any duration which equals some whole number of steps n>0 means to clear all liver-stage infections found on the next 1 or n steps. Note on -1 compatibility option: the main difference to 1 step (clearing on the next timestep) is that parasite densities will be reduced immediately, and thus from the point of view of surveys and mass screen and treat interventions a peak in density which is immediately treated through case management will not be seen. Can be specified in steps (e.g. 1t, -1t) or days (e.g. 5d).
Length of blood-stage effect
durationBlood=string
Units: User defined
Controls action on blood-stage infections. 0 means no action, -1 step is a compatibility option to act like treatment before schema version 32 (which removed infections retrospectively), 1 step or any duration which equals some whole number of steps n>0 means to clear all blood-stage infections found on the next 1 or n steps. Note on -1 compatibility option: the main difference to 1 step (clearing on the next timestep) is that parasite densities will be reduced immediately, and thus from the point of view of surveys and mass screen and treat interventions a peak in density which is immediately treated through case management will not be seen. Can be specified in steps (e.g. 1t, -1t) or days (e.g. 5d).
treatPKPD
→ scenario → interventions → human → component → treatPKPD
<treatPKPD
schedule=string
dosage=string
[ delay_h=double ] DEFAULT VALUE 0
/>
Documentation (type)
A command to administer drugs according to a given schedule and dosage table, optionally with a delay.
Attributes
Name of treatment schedule
schedule=string
The name of a schedule to use for treatment.
Name of dosage table
dosage=string
The name of a dosage table to use for treatment.
Delay (hours)
delay_h=double
Default value: 0
Optionally, this can be given to delay the start of treatment by a given number of hours. If not specified, treatment is not delayed. If a delay is given, all medications within the treatment schedule used are delayed by this number of hours.
decisionTree
→ scenario → interventions → human → component → decisionTree
<decisionTree
[ name=string ]
>
EXACTLY ONE OF:
| <multiple ... />
| <caseType ... />
| <diagnostic ... />
| <uncomplicated ... />
| <severe ... />
| <random ... />
| <age ... />
| <noTreatment ... />
| ( <report ... /> )+
| <treatFailure ... />
| ( <treatPKPD ... /> )+
| ( <treatSimple ... /> )+
| ( <deploy ... /> )*
| <cohort ... />
</decisionTree>
- multiple
- caseType
- diagnostic
- uncomplicated
- severe
- random
- age
- noTreatment
- report
- treatFailure
- treatPKPD
- treatSimple
- deploy
- cohort
Documentation (type)
Describes how "decisions" are made, both probabilistically and deterministically, and what actions are carried out.
Quantities may also be reported as a side effect of decisions made in the tree, for example the number of diagnostics used.
Attributes
Name
name=string
An optional piece of documentation attached to this node.
Vaccines
→ scenario → interventions → human → component → PEV
<PEV>
IN THIS ORDER:
| <decay ... />
| <efficacyB ... />
| ( <initialEfficacy ... /> )*
| ( <phenotype ... /> )*
</PEV>
Documentation (element)
Pre-erythrocytic vaccine (PEV): prevents a proportion of infections from commencing.
Documentation (type)
Description of a vaccine's effect
Decay of effect
→ scenario → interventions → human → component → PEV → decay
<decay
function=("constant" or "step" or "linear" or "exponential" or "weibull" or "hill" or "smooth-compact" or "plus" or "minus" or "divides" or "multiplies")
[ L=string ]
[ k=double ] DEFAULT VALUE 1.0
[ CV=double ] DEFAULT VALUE 0
[ increasing=boolean ] DEFAULT VALUE false
[ initialEfficacy=double ] DEFAULT VALUE 1
[ rho=double ]
[ halflife_short=string ]
[ halflife_long=string ]
>
IN THIS ORDER:
| <decay ... />
</decay>
Documentation (element)
Specification of decay of efficacy. Documentation: see DecayFunction type or https://github.com/SwissTPH/openmalaria/wiki/ModelDecayFunctions
Documentation (type)
Specification of decay or survival of a parameter.
Attributes
function
function=("constant" or "step" or "linear" or "exponential" or "weibull" or "hill" or "smooth-compact" or "plus" or "minus" or "divides" or "multiplies")
Units: None Min: 0 Max: 1
Determines which decay function to use. Available decay functions, for age t in years: constant: 1 step: 1 for t less than L, otherwise 0 linear: 1 - t/L for t less than L, otherwise 0 exponential: exp( - t/L * log(2) ) weibull: exp( -(t/L)^k * log(2) ) hill: 1 / (1 + (t/L)^k) smooth-compact: exp( k - k / (1 - (t/L)^2) ) for t less than L, otherwise 0
L
L=string
Units: User-defined (defaults to years) Min: 0
(Time) scale parameter of distribution: this is either the age of complete decay (smooth-compact, step and linear functions) or the age at which the parameter has decayed to half its original value (exponential, weibull and hill). Not used when function="constant" (i.e. no decay). This value can be specified in years, days or steps (e.g. 2y, 180d or 100t). When the unit is not specified years are assumed. The value is used without rounding except when sampling an age of decay, when the rounding happens as late as possible.
k
k=double
Units: none Min: 0
Default value: 1.0
Shape parameter of distribution. If not specified, default value of 1 is used. Meaning depends on function; not used in some cases.
Coefficient of Variation
CV=double
Min: 0
Default value: 0
If CV is non-zero, heterogeneity of decay is introduced via a random variable sampled from the log-normal distribution. This distribution is parameterised with mean=1 and CV as given. The effective age of decay is the real age multiplied by this variable (for decay functions with a half-life, this is equivalent to dividing the half-life by the variable).
L
increasing=boolean
Units: User-defined (defaults to years) Min: 0
Default value: false
(Boolean) If True, this tells OpenMalaria to use the complement of the DecayFunction defined as 1-f(x). This is useful to model increasing functions that will "decay" to 1. This only works if f(x) is contained between 0 and 1.
initialEfficacy
initialEfficacy=double
Default value: 1
biphasic: Efficacy between 0 and 1.
rho
rho=double
biphasic: Proportion between 0 and 1, proportion of the response that is short-lived.
halflife_short
halflife_short=string
biphasic: halflife of short lived component (default to years).
halflife_long
halflife_long=string
biphasic: halflife of long lived component (default to years).
Variance parameter for vaccine efficacy
→ scenario → interventions → human → component → PEV → efficacyB
<efficacyB
value=double
/>
Documentation (element)
Units: Positive real Min: 0.001 Max: 1.00E+06
Measure of variation in vaccine efficacy: efficacy is sampled from a beta distribution with efficacyB its beta parameter and its alpha parameter fixed such that the mean is that given by initialEfficacy.
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Initial mean efficacy
→ scenario → interventions → human → component → PEV → initialEfficacy
<initialEfficacy
value=double
/>
Documentation (element)
Units: dimensionless Min: 0 Max: 1
Mean efficacy values before decay (see efficacyB and decay parameter descriptions for sampling and decay). The i-th value in this list is used for the efficacy of the vaccine after the i-th dose. Where more doses are given than there are values in this list, the last value is repeated.
Attributes
Input parameter value
value=double
A double-precision floating-point value.
PD parameters for some allele / resistance phenotype
→ scenario → interventions → human → component → PEV → phenotype
<phenotype
[ name=string ]
>
IN THIS ORDER:
| ( <restriction ... /> )*
| ( <initialEfficacy ... /> )+
</phenotype>
Documentation (element)
Pharmaco-Dynamic parameters for some resistance phenotype.
To model resistance to this drug, describe multiple infection phenotypes (with respect to these PD parameters) and list one or more "restrict" elements for each phenotype.
Loci are specified elsewhere. Multiple loci may influence the action of a single drug and each locus may influence multiple drugs.
Attributes
Name of phenotype
name=string
Name of the phenotype; for documentation use only.
restriction
→ scenario → interventions → human → component → PEV → phenotype → restriction
<restriction
onLocus=string
toAllele=string
/>
Documentation (type)
Specifies the mapping from genotype to phenotype. For each drug type, if only one phenotype is present, restrictions need not be specified, but otherwise restrictions must be specified.
The set of loci affecting phenotypes of this drug's action must be fixed for any drug type. Each phenotype must list, for each of these loci, a restriction to one or more alleles under the locus.
Attributes
Locus relevant to the mapping of alleles to this phenotype
onLocus=string
A locus under which only a restricted set of alleles map to this phenotype.
Alleles mapping to this phenotype
toAllele=string
One allele of a locus upon which phenotype choice depends. If multiple alleles under this locus should map to the same phenotype, repeat the whole "restriction onLocus..." element.
Initial mean efficacy
→ scenario → interventions → human → component → PEV → phenotype → initialEfficacy
<initialEfficacy
value=double
/>
Documentation (element)
Units: dimensionless Min: 0 Max: 1
Mean efficacy values before decay (see efficacyB and decay parameter descriptions for sampling and decay). The i-th value in this list is used for the efficacy of the vaccine after the i-th dose. Where more doses are given than there are values in this list, the last value is repeated.
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Vaccines
→ scenario → interventions → human → component → BSV
<BSV>
IN THIS ORDER:
| <decay ... />
| <efficacyB ... />
| ( <initialEfficacy ... /> )*
| ( <phenotype ... /> )*
</BSV>
Documentation (element)
Blood-stage vaccine (BSV): acts as a killing factor on blood-stage parasites. Exact action depends on the within host model.
Documentation (type)
Description of a vaccine's effect
Vaccines
→ scenario → interventions → human → component → TBV
<TBV>
IN THIS ORDER:
| <decay ... />
| <efficacyB ... />
| ( <initialEfficacy ... /> )*
| ( <phenotype ... /> )*
</TBV>
Documentation (element)
Transmission-blocking vaccine (TBV): one minus this scales the probability of transmission to mosquitoes
Documentation (type)
Description of a vaccine's effect
Bed nets
→ scenario → interventions → human → component → ITN
<ITN>
IN THIS ORDER:
| [ <usage ... /> ]
| <holeRate ... />
| <ripRate ... />
| <ripFactor ... />
| <initialInsecticide ... />
| <insecticideDecay ... />
| <attritionOfNets ... />
| ( <anophelesParams ... /> )+
</ITN>
- usage
- holeRate
- ripRate
- ripFactor
- initialInsecticide
- insecticideDecay
- attritionOfNets
- anophelesParams
Documentation (element)
Description of bed-net interventions (ITNs, LLINs).
Proportion of time nets are used by humans
→ scenario → interventions → human → component → ITN → usage
<usage
value=double
/>
Documentation (element)
Units: dimensionless Min: 0 Max: 1
Usage of nets by humans, from 0 to 1.
At the moment this is constant across humans and deterministic: relative attractiveness and survival factors are base*(1-usagepropActing) + intervention_factorusage*propActing.
See also "propActing" (proportion of bits for which net acts).
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Rate at which holes are made
→ scenario → interventions → human → component → ITN → holeRate
<holeRate
[ CV=double ]
[ distr=("const" or "lognormal" or "gamma") ] DEFAULT VALUE const
[ variance=double ]
mean=double
/>
Documentation (element)
Units: Holes per annum Min: 0
The rate at which new holes are made in nets.
nHoles(t) = nHoles(t-1) + X where X~Pois(R/T) where T is the number of time-steps per year. R is sampled from log-normal: R ~ log N( log(mean)-sigma²/2, sigma² ) and is covariant with ripRate and insecticideDecay. (To be exact, a single Gaussian sample is taken, adjusted for each sigma then exponentiated.)
Documentation (type)
A parameter with optional log-normal heterogeneity.
The mean value must be specified. Optionally, a distribution ("distr") and coefficient of variation ("CV") may be specified.
Documentation (base type)
A parameter with optional heterogeneity.
The mean cannot be specified (unless this type is extended). Optionally, a distribution ("distr") and coefficient of variation ("CV") may be specified.
Attributes
Coefficient of variation
CV=double
Units: unitless
The (linear) coefficient of variation. This value must be specified when a (non-constant) distribution is used. Note: since version 46, variance can be used instead. Note that specifying CV="0" has the same effect as distr="const" and disables sampling of this parameter, even if distr is not "const".
Distribution
distr=("const" or "lognormal" or "gamma")
Default value: const
To allow heterogeneity, a distribution must be specified. Valid options are as follows. "const": no variation or sampling. Specifying distr="const" has the same effect as not specifying distr at all. "lognormal": the parameter is sampled from a log-normal distribution. Note that the "mean" and "CV" values are linear (arithmetic) properties of the distribution and not log-space properties.
Coefficient of variation
variance=double
Units: unitless
The variance parameter of the distirbution. This value can be specified when a (non-constant) distribution is used. Note that specifying variance="0" has the same effect as distr="const" and disables sampling of this parameter, even if distr is not "const".
mean
mean=double
The (linear) mean value.
Rate at which holes are enlarged
→ scenario → interventions → human → component → ITN → ripRate
<ripRate
[ CV=double ]
[ distr=("const" or "lognormal" or "gamma") ] DEFAULT VALUE const
[ variance=double ]
mean=double
/>
Documentation (element)
Units: Rips per existing hole per annum Min: 0
Each existing hole has a probability of being ripped bigger according to a Poisson process with this rate as (only) parameter.
New rips occur in a net at rate X~Pois(h×R/T) where h is the number of existing holes and T the number of time-steps per year. R is sampled from log-normal: R ~ log N( log(mean)-sigma²/2, sigma² ) and is covariant with holeRate and insecticideDecay. (To be exact, a single Gaussian sample is taken, adjusted for the each and sigma then exponentiated.)
Documentation (type)
A parameter with optional log-normal heterogeneity.
The mean value must be specified. Optionally, a distribution ("distr") and coefficient of variation ("CV") may be specified.
Documentation (base type)
A parameter with optional heterogeneity.
The mean cannot be specified (unless this type is extended). Optionally, a distribution ("distr") and coefficient of variation ("CV") may be specified.
Attributes
Coefficient of variation
CV=double
Units: unitless
The (linear) coefficient of variation. This value must be specified when a (non-constant) distribution is used. Note: since version 46, variance can be used instead. Note that specifying CV="0" has the same effect as distr="const" and disables sampling of this parameter, even if distr is not "const".
Distribution
distr=("const" or "lognormal" or "gamma")
Default value: const
To allow heterogeneity, a distribution must be specified. Valid options are as follows. "const": no variation or sampling. Specifying distr="const" has the same effect as not specifying distr at all. "lognormal": the parameter is sampled from a log-normal distribution. Note that the "mean" and "CV" values are linear (arithmetic) properties of the distribution and not log-space properties.
Coefficient of variation
variance=double
Units: unitless
The variance parameter of the distirbution. This value can be specified when a (non-constant) distribution is used. Note that specifying variance="0" has the same effect as distr="const" and disables sampling of this parameter, even if distr is not "const".
mean
mean=double
The (linear) mean value.
Rip factor
→ scenario → interventions → human → component → ITN → ripFactor
<ripFactor
value=double
/>
Documentation (element)
Units: none Min: 0
This factor expresses how important rips are in increasing the hole.
The hole index of a net is h + F×x where h and x are the total numbers of holes and rips respectively and F is the rip factor.
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Initial insecticide
→ scenario → interventions → human → component → ITN → initialInsecticide
<initialInsecticide
mean=double
[ SD=double ]
[ distr=("const" or "normal") ] DEFAULT VALUE const
/>
Documentation (element)
Units: mg/m² Min: 0
The insecticide concentration of new nets is Gaussian distributed with mean "mu" and a standard deviation "sigma". The standard deviation should be small relative to the mean to avoid negative initial concentration. Any negative values sampled are set to 0.
Documentation (type)
A parameter with optional heterogeneity.
Optionally, a distribution ("distr") and standard of deviation ("SD") may be specified.
Attributes
mean
mean=double
The mean value.
standard deviation
SD=double
The standard deviation of variates.
Distribution
distr=("const" or "normal")
Default value: const
To allow heterogeneity, a distribution must be specified. Valid options are as follows. "const": no variation or sampling. Specifying distr="const" has the same effect as not specifying distr at all. "normal": the parameter is sampled from a normal distribution.
Decay of insecticide
→ scenario → interventions → human → component → ITN → insecticideDecay
<insecticideDecay
function=("constant" or "step" or "linear" or "exponential" or "weibull" or "hill" or "smooth-compact" or "plus" or "minus" or "divides" or "multiplies")
[ L=string ]
[ k=double ] DEFAULT VALUE 1.0
[ CV=double ] DEFAULT VALUE 0
[ increasing=boolean ] DEFAULT VALUE false
[ initialEfficacy=double ] DEFAULT VALUE 1
[ rho=double ]
[ halflife_short=string ]
[ halflife_long=string ]
>
IN THIS ORDER:
| <decay ... />
</insecticideDecay>
Documentation (element)
Units: none
Decay curve for insecticide content of nets. Documentation: see DecayFunction type or https://github.com/SwissTPH/openmalaria/wiki/ModelDecayFunctions
The distribution of decay rates over nets is covariant with the distribution of ripRate and holeRate over nets. This distribution is generated by taking one sample per net from a Gaussian distribution with mean 0 and standard deviation 1. For each variable, the sample is multiplied by the respective sigma and a constant added such that, once exponentiated, the mean of the variable over nets is 1. The variable is then exponentiated and multiplied by the required mean rate for the respective variable.
Documentation (type)
Specification of decay or survival of a parameter.
Attributes
function
function=("constant" or "step" or "linear" or "exponential" or "weibull" or "hill" or "smooth-compact" or "plus" or "minus" or "divides" or "multiplies")
Units: None Min: 0 Max: 1
Determines which decay function to use. Available decay functions, for age t in years: constant: 1 step: 1 for t less than L, otherwise 0 linear: 1 - t/L for t less than L, otherwise 0 exponential: exp( - t/L * log(2) ) weibull: exp( -(t/L)^k * log(2) ) hill: 1 / (1 + (t/L)^k) smooth-compact: exp( k - k / (1 - (t/L)^2) ) for t less than L, otherwise 0
L
L=string
Units: User-defined (defaults to years) Min: 0
(Time) scale parameter of distribution: this is either the age of complete decay (smooth-compact, step and linear functions) or the age at which the parameter has decayed to half its original value (exponential, weibull and hill). Not used when function="constant" (i.e. no decay). This value can be specified in years, days or steps (e.g. 2y, 180d or 100t). When the unit is not specified years are assumed. The value is used without rounding except when sampling an age of decay, when the rounding happens as late as possible.
k
k=double
Units: none Min: 0
Default value: 1.0
Shape parameter of distribution. If not specified, default value of 1 is used. Meaning depends on function; not used in some cases.
Coefficient of Variation
CV=double
Min: 0
Default value: 0
If CV is non-zero, heterogeneity of decay is introduced via a random variable sampled from the log-normal distribution. This distribution is parameterised with mean=1 and CV as given. The effective age of decay is the real age multiplied by this variable (for decay functions with a half-life, this is equivalent to dividing the half-life by the variable).
L
increasing=boolean
Units: User-defined (defaults to years) Min: 0
Default value: false
(Boolean) If True, this tells OpenMalaria to use the complement of the DecayFunction defined as 1-f(x). This is useful to model increasing functions that will "decay" to 1. This only works if f(x) is contained between 0 and 1.
initialEfficacy
initialEfficacy=double
Default value: 1
biphasic: Efficacy between 0 and 1.
rho
rho=double
biphasic: Proportion between 0 and 1, proportion of the response that is short-lived.
halflife_short
halflife_short=string
biphasic: halflife of short lived component (default to years).
halflife_long
halflife_long=string
biphasic: halflife of long lived component (default to years).
Attrition of nets
→ scenario → interventions → human → component → ITN → attritionOfNets
<attritionOfNets
function=("constant" or "step" or "linear" or "exponential" or "weibull" or "hill" or "smooth-compact" or "plus" or "minus" or "divides" or "multiplies")
[ L=string ]
[ k=double ] DEFAULT VALUE 1.0
[ CV=double ] DEFAULT VALUE 0
[ increasing=boolean ] DEFAULT VALUE false
[ initialEfficacy=double ] DEFAULT VALUE 1
[ rho=double ]
[ halflife_short=string ]
[ halflife_long=string ]
>
IN THIS ORDER:
| <decay ... />
</attritionOfNets>
Documentation (element)
Units: dimensionless
Specifies the rate at which nets are disposed of over time. Documentation: see DecayFunction type or https://github.com/SwissTPH/openmalaria/wiki/ModelDecayFunctions
In the current model, nets are disposed of randomly (no correlation with state of decay) such that the chance of each net surviving until age t is the value of this decay function at time t. Equivalently (where a large number of nets are distributed at the same time), the proportion of nets remaining in use should match this decay function over time.
Humans are removed from the intervention component's sub-population on disposal (attrition) of their nets. Currently this event is not reported.
Documentation (type)
Specification of decay or survival of a parameter.
Attributes
function
function=("constant" or "step" or "linear" or "exponential" or "weibull" or "hill" or "smooth-compact" or "plus" or "minus" or "divides" or "multiplies")
Units: None Min: 0 Max: 1
Determines which decay function to use. Available decay functions, for age t in years: constant: 1 step: 1 for t less than L, otherwise 0 linear: 1 - t/L for t less than L, otherwise 0 exponential: exp( - t/L * log(2) ) weibull: exp( -(t/L)^k * log(2) ) hill: 1 / (1 + (t/L)^k) smooth-compact: exp( k - k / (1 - (t/L)^2) ) for t less than L, otherwise 0
L
L=string
Units: User-defined (defaults to years) Min: 0
(Time) scale parameter of distribution: this is either the age of complete decay (smooth-compact, step and linear functions) or the age at which the parameter has decayed to half its original value (exponential, weibull and hill). Not used when function="constant" (i.e. no decay). This value can be specified in years, days or steps (e.g. 2y, 180d or 100t). When the unit is not specified years are assumed. The value is used without rounding except when sampling an age of decay, when the rounding happens as late as possible.
k
k=double
Units: none Min: 0
Default value: 1.0
Shape parameter of distribution. If not specified, default value of 1 is used. Meaning depends on function; not used in some cases.
Coefficient of Variation
CV=double
Min: 0
Default value: 0
If CV is non-zero, heterogeneity of decay is introduced via a random variable sampled from the log-normal distribution. This distribution is parameterised with mean=1 and CV as given. The effective age of decay is the real age multiplied by this variable (for decay functions with a half-life, this is equivalent to dividing the half-life by the variable).
L
increasing=boolean
Units: User-defined (defaults to years) Min: 0
Default value: false
(Boolean) If True, this tells OpenMalaria to use the complement of the DecayFunction defined as 1-f(x). This is useful to model increasing functions that will "decay" to 1. This only works if f(x) is contained between 0 and 1.
initialEfficacy
initialEfficacy=double
Default value: 1
biphasic: Efficacy between 0 and 1.
rho
rho=double
biphasic: Proportion between 0 and 1, proportion of the response that is short-lived.
halflife_short
halflife_short=string
biphasic: halflife of short lived component (default to years).
halflife_long
halflife_long=string
biphasic: halflife of long lived component (default to years).
anophelesParams
→ scenario → interventions → human → component → ITN → anophelesParams
<anophelesParams
mosquito=string
[ propActive=double ] DEFAULT VALUE 1
>
IN THIS ORDER:
| [ <holeIndexMax ... /> ]
| EXACTLY ONE OF:
| | <deterrency ... />
| | <twoStageDeterrency ... />
| EXACTLY ONE OF:
| | <preprandialKillingEffect ... />
| | <preprandialKillingEffectLogit ... />
| EXACTLY ONE OF:
| | <postprandialKillingEffect ... />
| | <postprandialKillingEffectLogit ... />
| EXACTLY ONE OF:
| | [ <fecundityReduction ... /> ]
| | [ <fecundityReductionLogit ... /> ]
</anophelesParams>
- holeIndexMax
- deterrency
- twoStageDeterrency
- preprandialKillingEffect
- preprandialKillingEffectLogit
- postprandialKillingEffect
- postprandialKillingEffectLogit
- fecundityReduction
- fecundityReductionLogit
Attributes
Mosquito species
mosquito=string
Name of the affected anopheles-mosquito species.
Proportion of bites for which net acts
propActive=double
Units: dimensionless Min: 0 Max: 1
Default value: 1
Deprecated: propActive can still be used but its value must be set to either 0 or 1. Any other value will result in an error at initialization. The proportion of bites, when nets are in use, for which the net has any action whatsoever on the mosquito. At the moment this is constant across humans and deterministic: relative attractiveness and survival factors are base*(1-usagepropActing) + intervention_factorusage*propActing. See also "usage" (proportion of time nets are used by humans).
maximum of holed surface area that has an effect (comparable to no net)
→ scenario → interventions → human → component → ITN → anophelesParams → holeIndexMax
<holeIndexMax
value=double
/>
Documentation (element)
Units: in same unit as holeIndex
Used by logit attacking and killing models only, holeIndexMax is a user defined maximum hole index (typically, the total surface area of a net).
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Relative attractiveness
→ scenario → interventions → human → component → ITN → anophelesParams → deterrency
<deterrency
insecticideFactor=double
insecticideScalingFactor=double
holeFactor=double
interactionFactor=double
holeScalingFactor=double
/>
Documentation (element)
Units: dimensionless Min: 0 Max: 1
Effect of net on attractiveness of humans to mosquitoes relative to an unprotected adult human. Parameterisations should take into account that mosquitoes do not always bite indoors.
Attractiveness of the human is multiplied by exp(log(H)×h + log(P)×p + log(I)×h×p where H, P and I are the hole, insecticide and interaction factors respectively, h=exp(-holeIndex×holeScalingFactor) and p=1−exp(-insecticideContent×insecticideScalingFactor).
Attributes
Insecticide factor
insecticideFactor=double
Units: none Max: 1
Value expected to be at least 0. Negative values are not necessarily invalid, but allow nets to increase transmission.
Insecticide scaling factor
insecticideScalingFactor=double
Units: none Min: 0
Hole factor
holeFactor=double
Units: none Max: 1
Value expected to be at least 0. Negative values are not necessarily invalid, but allow nets to increase transmission.
Interaction factor
interactionFactor=double
Units: none Max: 1
holeFactor + insecticideFactor + interactionFactor must not be greater than 1, and is expected to be at least 0. A negative value is not necessarily invalid, but allows nets to increase transmission.
Hole scaling factor
holeScalingFactor=double
Units: none Min: 0
Relative attractiveness
→ scenario → interventions → human → component → ITN → anophelesParams → twoStageDeterrency
<twoStageDeterrency>
IN THIS ORDER:
| EXACTLY ONE OF:
| | <entering ... />
| | <enteringLogit ... />
| EXACTLY ONE OF:
| | <attacking ... />
| | <attackingLogit ... />
</twoStageDeterrency>
Documentation (element)
Units: dimensionless
Effect of net on attractiveness of humans to mosquitoes relative to an unprotected adult human. Parameterisations should take into account that mosquitoes do not always bite indoors.
This deterrency model multiplies human attractiveness by pEnt×pAtt.
Deterrency: entering
→ scenario → interventions → human → component → ITN → anophelesParams → twoStageDeterrency → entering
<entering
insecticideFactor=double
insecticideScalingFactor=double
/>
Documentation (element)
Units: dimensionless
pEnt represents the relative probability of entering due to ITNs: pEnt = exp(log(P)×p) where P is the insecticide factor and p=1−exp(-insecticideContent×insecticideScalingFactor).
Attributes
Insecticide factor
insecticideFactor=double
Units: none Max: 1
Value expected to be at least 0. Negative values are not necessarily invalid, but allow nets to increase transmission.
Insecticide scaling factor
insecticideScalingFactor=double
Units: none Min: 0
Deterrency: entering (logit model)
→ scenario → interventions → human → component → ITN → anophelesParams → twoStageDeterrency → enteringLogit
<enteringLogit
baseFactor=double
insecticideFactor=double
/>
Documentation (element)
Units: dimensionless
pEnt represents the relative probability of entering due to insecticide in the hut: pEnt = exp(logit.pEnt) / (exp(logit.pEnt) + 1) logit.pEnt = B + P * p where B is the basefactor (without net); P is insecticide factor, and p = log(insecticideContent+1). Without a net, probability of entering a house is pEnt0 = exp(logit.pEnt0) / (exp(logit.pEnt0) + 1) logit.pEnt0 = B Entering of mosquitoes is adjusted via multiplication by pEnt / pEnt0. To keep this in the range [0,1], we (normally) require that pEnt ≤ pEnt0 and thus P ≤ 0 and give a warning if this is not fulfilled.
Attributes
Base factor
baseFactor=double
Units: none
See parent element documentation
Insecticide factor
insecticideFactor=double
Units: none
See parent element documentation
Deterrency: attacking
→ scenario → interventions → human → component → ITN → anophelesParams → twoStageDeterrency → attacking
<attacking
insecticideFactor=double
insecticideScalingFactor=double
holeFactor=double
interactionFactor=double
holeScalingFactor=double
baseFactor=double
/>
Documentation (element)
Units: dimensionless
pAtt represents the relative probability of attacking a human after entering a house due to ITNs (i.e. of feeding/dying vs. flying off): pAtt = B + H×h + P×p + I×h×p where B is the base (without net) probability; H, P and I are the hole, insecticide and interaction factors respectively, h=exp(-holeIndex × holeScalingFactor) and p=1 - exp(-insecticideContent × insecticideScalingFactor).
Attributes
Insecticide factor
insecticideFactor=double
Units: none Max: 1
Value expected to be at least 0. Negative values are not necessarily invalid, but allow nets to increase transmission.
Insecticide scaling factor
insecticideScalingFactor=double
Units: none Min: 0
Hole factor
holeFactor=double
Units: none Max: 1
Value expected to be at least 0. Negative values are not necessarily invalid, but allow nets to increase transmission.
Interaction factor
interactionFactor=double
Units: none Max: 1
holeFactor + insecticideFactor + interactionFactor must not be greater than 1, and is expected to be at least 0. A negative value is not necessarily invalid, but allows nets to increase transmission.
Hole scaling factor
holeScalingFactor=double
Units: none Min: 0
Probability of mosquito death without intervention
baseFactor=double
Units: dimensionless
Deterrency: attacking (logit model)
→ scenario → interventions → human → component → ITN → anophelesParams → twoStageDeterrency → attackingLogit
<attackingLogit
baseFactor=double
insecticideFactor=double
holeFactor=double
interactionFactor=double
/>
Documentation (element)
Units: dimensionless
pAtt represents the relative probability of attacking a human after entering a house due to ITNs (i.e. of feeding/dying vs. flying off): pAtt = exp(logit.pAtt) / (exp(logit.pAtt) + 1) logit.pAtt = B + H×min(h, hMax) + P×p + I×min(h, hMax)×p where B is the base factor (without net); H, P and I are the hole, insecticide and interaction factors respectively, and: h = log(holeIndex + 1) p = log(insecticideContent + 1) Without a net, probability of attacking a human after entering a house is pAtt0 = exp(logit.pAtt0) / (exp(logit.pAtt0) + 1) logit.pAtt0 = B + H×hMax where hMax=log(holeIndexMax + 1) and holeIndexMax is a user defined maximum hole index (typically, the total surface area of a net). Attacking of mosquitoes is adjusted via multiplication by pAtt / pAtt0. This may be larger and smaller than 1 (but will not be negative). By definition (through the logit transformation) pAtt0 > 0.
Attributes
Base factor
baseFactor=double
Units: dimensionless
Logit of the probability (e.g. of death, of entry, of attacking) without intervention.
Insecticide factor
insecticideFactor=double
Units: none
Coefficient of log(insecticide content+1) in a generalized linear model with logit link function.
Hole factor
holeFactor=double
Units: none
Coefficient of log(total holed surface area (in cm2) +1) in a generalized linear model with logit link function.
Interaction factor
interactionFactor=double
Units: none
Coefficient of the interaction term of log(total holed surface area (in cm2) +1) with log(insecticide content+1) in a generalized linear model with logit link function.
Pre-prandial killing effect
→ scenario → interventions → human → component → ITN → anophelesParams → preprandialKillingEffect
<preprandialKillingEffect
insecticideFactor=double
insecticideScalingFactor=double
holeFactor=double
interactionFactor=double
holeScalingFactor=double
baseFactor=double
/>
Documentation (element)
Units: dimensionless Min: 0 Max: 1
Effect of net on survival mosquitoes as they seek to bite a human after choosing that human, relative to the same person not sleeping under a net. Parameterisations should take into account that mosquitoes do not always bite indoors.
Killing proportion is calculated as K = B + H×h + P×p + I×h×p where B is the base (without net) probability of death, H, P and I are the hole, insecticide and interaction factors respectively, h=exp(-holeIndex×holeScalingFactor) and p=1−exp(-insecticideContent×insecticideScalingFactor).
Survival of mosquitoes is adjusted via multiplication by (1−K) / (1−B). To keep this in the range [0,1], we require that B+H ≤ 1, B+P ≤ 1, B+H+P+I ≤ 1, H ≥ 0, P ≥ 0 and H+P+I ≥ 0.
Attributes
Insecticide factor
insecticideFactor=double
Units: none Max: 1
Value expected to be at least 0. Negative values are not necessarily invalid, but allow nets to increase transmission.
Insecticide scaling factor
insecticideScalingFactor=double
Units: none Min: 0
Hole factor
holeFactor=double
Units: none Max: 1
Value expected to be at least 0. Negative values are not necessarily invalid, but allow nets to increase transmission.
Interaction factor
interactionFactor=double
Units: none Max: 1
holeFactor + insecticideFactor + interactionFactor must not be greater than 1, and is expected to be at least 0. A negative value is not necessarily invalid, but allows nets to increase transmission.
Hole scaling factor
holeScalingFactor=double
Units: none Min: 0
Probability of mosquito death without intervention
baseFactor=double
Units: dimensionless
Pre-prandial killing effect (logit)
→ scenario → interventions → human → component → ITN → anophelesParams → preprandialKillingEffectLogit
<preprandialKillingEffectLogit
baseFactor=double
insecticideFactor=double
holeFactor=double
interactionFactor=double
/>
Documentation (element)
Units: dimensionless Min: 0 Max: 1
Effect of net on survival mosquitoes as they seek to bite a human
after choosing that human, relative to the same person not
sleeping under a net.
Killing proportion is calculated as
K=exp(logit.K)/(exp(logit.K)+1)
logit.K = B + H×min(h,hMax) + P×p + I×min(h,hMax)×p
where B is the basefactor (without net),
H, P and I are the hole, insecticide and interaction factors
respectively, h=log(holeIndex+1) and
p=log(insecticideContent+1).
Without a net, the killing proportion
K0=exp(logit.K0)/(exp(logit.K0)+1)
logit.K0 = B + H×hMax
where hMax=log(holeIndexMax+1) and holeIndexMax is a user defined maximum hole index (typically, the total surface area of a net).
Survival of mosquitoes is adjusted via multiplication by (1−K) / (1−K0).
To keep this in the range [0,1], we require that K ≥ K0. We enforce that P ≥ 0 (It would not make sense biologically if P were negative) and P+I*hMax ≥ 0 and H ≤ 0 and holeIndex ≤ holeIndexMax and give a warning if these conditions are not fulfilled.
Attributes
Base factor
baseFactor=double
Units: dimensionless
Logit of the probability (e.g. of death, of entry, of attacking) without intervention.
Insecticide factor
insecticideFactor=double
Units: none
Coefficient of log(insecticide content+1) in a generalized linear model with logit link function.
Hole factor
holeFactor=double
Units: none
Coefficient of log(total holed surface area (in cm2) +1) in a generalized linear model with logit link function.
Interaction factor
interactionFactor=double
Units: none
Coefficient of the interaction term of log(total holed surface area (in cm2) +1) with log(insecticide content+1) in a generalized linear model with logit link function.
Post-prandial killing effect
→ scenario → interventions → human → component → ITN → anophelesParams → postprandialKillingEffect
<postprandialKillingEffect
insecticideFactor=double
insecticideScalingFactor=double
holeFactor=double
interactionFactor=double
holeScalingFactor=double
baseFactor=double
/>
Documentation (element)
Units: dimensionless Min: 0 Max: 1
Effect of net on survival mosquitoes as they seek to escape from a human host and rest after a blood meal, relative to the same person not sleeping under a net. Parameterisations should take into account that mosquitoes do not always bite indoors.
Killing proportion is calculated as K = B + H×h + P×p + I×h×p where B is the base (without net) probability of death, H, P and I are the hole, insecticide and interaction factors respectively, h=exp(-holeIndex×holeScalingFactor) and p=1−exp(-insecticideContent×insecticideScalingFactor).
Survival of mosquitoes is adjusted via multiplication by (1−K) / (1−B). To keep this in the range [0,1], we require that B+H ≤ 1, B+P ≤ 1, B+H+P+I ≤ 1, H ≥ 0, P ≥ 0 and H+P+I ≥ 0.
Attributes
Insecticide factor
insecticideFactor=double
Units: none Max: 1
Value expected to be at least 0. Negative values are not necessarily invalid, but allow nets to increase transmission.
Insecticide scaling factor
insecticideScalingFactor=double
Units: none Min: 0
Hole factor
holeFactor=double
Units: none Max: 1
Value expected to be at least 0. Negative values are not necessarily invalid, but allow nets to increase transmission.
Interaction factor
interactionFactor=double
Units: none Max: 1
holeFactor + insecticideFactor + interactionFactor must not be greater than 1, and is expected to be at least 0. A negative value is not necessarily invalid, but allows nets to increase transmission.
Hole scaling factor
holeScalingFactor=double
Units: none Min: 0
Probability of mosquito death without intervention
baseFactor=double
Units: dimensionless
Post-prandial killing effect (logit)
→ scenario → interventions → human → component → ITN → anophelesParams → postprandialKillingEffectLogit
<postprandialKillingEffectLogit
baseFactor=double
insecticideFactor=double
holeFactor=double
interactionFactor=double
/>
Documentation (element)
Units: dimensionless Min: 0 Max: 1
Effect of net on survival mosquitoes as they seek to escape from a human host and rest after a blood meal, relative to the same person not sleeping under a net. Killing proportion is calculated as K=exp(logit.K)/(exp(logit.K)+1) logit.K = B + H×min(h,hMax) + P×p + I×min(h,hMax)×p where B is the basefactor (without net), H, P and I are the hole, insecticide and interaction factors respectively, h=log(holeIndex+1) and p=log(insecticideContent+1). Without a net, the killing proportion K0=exp(logit.K0)/(exp(logit.K0)+1) logit.K0 = B + H×hMax where hMax=log(holeIndexMax+1) and holeIndexMax is a user defined maximum hole index (typically, the total surface area of a net). Survival of mosquitoes is adjusted via multiplication by (1−K) / (1−K0). To keep this in the range [0,1], we require that K ≥ K0. We enforce that P ≥ 0 (It would not make sense biologically if P were negative) and P+I*hMax ≥ 0 and H ≤ 0 and holeIndex ≤ holeIndexMax and give a warning if these conditions are not fulfilled.
Attributes
Base factor
baseFactor=double
Units: dimensionless
Logit of the probability (e.g. of death, of entry, of attacking) without intervention.
Insecticide factor
insecticideFactor=double
Units: none
Coefficient of log(insecticide content+1) in a generalized linear model with logit link function.
Hole factor
holeFactor=double
Units: none
Coefficient of log(total holed surface area (in cm2) +1) in a generalized linear model with logit link function.
Interaction factor
interactionFactor=double
Units: none
Coefficient of the interaction term of log(total holed surface area (in cm2) +1) with log(insecticide content+1) in a generalized linear model with logit link function.
Fecundity reduction
→ scenario → interventions → human → component → ITN → anophelesParams → fecundityReduction
<fecundityReduction
insecticideFactor=double
insecticideScalingFactor=double
holeFactor=double
interactionFactor=double
holeScalingFactor=double
baseFactor=double
/>
Documentation (element)
Effect of net on fertility of mosquitoes who survive feeding on a protected human, relative to an unprotected human.
Fertility (number of eggs laid) is multiplied by (1-K) / (1-B), similar to killing effects. This is not allowed to be greater than 1.
Attributes
Insecticide factor
insecticideFactor=double
Units: none Max: 1
Value expected to be at least 0. Negative values are not necessarily invalid, but allow nets to increase transmission.
Insecticide scaling factor
insecticideScalingFactor=double
Units: none Min: 0
Hole factor
holeFactor=double
Units: none Max: 1
Value expected to be at least 0. Negative values are not necessarily invalid, but allow nets to increase transmission.
Interaction factor
interactionFactor=double
Units: none Max: 1
holeFactor + insecticideFactor + interactionFactor must not be greater than 1, and is expected to be at least 0. A negative value is not necessarily invalid, but allows nets to increase transmission.
Hole scaling factor
holeScalingFactor=double
Units: none Min: 0
Probability of mosquito death without intervention
baseFactor=double
Units: dimensionless
Fecundity reduction (logit)
→ scenario → interventions → human → component → ITN → anophelesParams → fecundityReductionLogit
<fecundityReductionLogit
baseFactor=double
insecticideFactor=double
holeFactor=double
interactionFactor=double
/>
Documentation (element)
Effect of net on fertility of mosquitoes who survive feeding on a protected human, relative to an unprotected human.
Fertility (number of eggs laid) is multiplied by (1-K) / (1-K0), similar to killing effects. This is not allowed to be greater than 1.
Attributes
Base factor
baseFactor=double
Units: dimensionless
Logit of the probability (e.g. of death, of entry, of attacking) without intervention.
Insecticide factor
insecticideFactor=double
Units: none
Coefficient of log(insecticide content+1) in a generalized linear model with logit link function.
Hole factor
holeFactor=double
Units: none
Coefficient of log(total holed surface area (in cm2) +1) in a generalized linear model with logit link function.
Interaction factor
interactionFactor=double
Units: none
Coefficient of the interaction term of log(total holed surface area (in cm2) +1) with log(insecticide content+1) in a generalized linear model with logit link function.
Indoor residual spraying
→ scenario → interventions → human → component → IRS
<IRS>
IN THIS ORDER:
| [ <usage ... /> ]
| <initialInsecticide ... />
| <insecticideDecay ... />
| ( <anophelesParams ... /> )+
</IRS>
Documentation (element)
Description of indoor residual spraying interventions.
Documentation (type)
Description of effect for the more complex and probably more realistic Briet model: IRS has three effects, whos strength is calculated as a function of surviving insecticide content.
Proportion of Indoor residual spraying (IRS) interventions
→ scenario → interventions → human → component → IRS → usage
<usage
value=double
/>
Documentation (element)
Units: dimensionless Min: 0 Max: 1
Usage of Indoor residual spraying (IRS) interventions, from 0 to 1.
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Initial insecticide
→ scenario → interventions → human → component → IRS → initialInsecticide
<initialInsecticide
mean=double
[ SD=double ]
[ distr=("const" or "normal") ] DEFAULT VALUE const
/>
Documentation (element)
Units: μg/cm² Min: 0
The insecticide concentration of IRS (at time of spraying) is Gaussian distributed with mean "mu" and a standard deviation "sigma". The standard deviation should be small relative to the mean to avoid negative initial concentration. Any negative values sampled are set to 0.
Documentation (type)
A parameter with optional heterogeneity.
Optionally, a distribution ("distr") and standard of deviation ("SD") may be specified.
Attributes
mean
mean=double
The mean value.
standard deviation
SD=double
The standard deviation of variates.
Distribution
distr=("const" or "normal")
Default value: const
To allow heterogeneity, a distribution must be specified. Valid options are as follows. "const": no variation or sampling. Specifying distr="const" has the same effect as not specifying distr at all. "normal": the parameter is sampled from a normal distribution.
Decay of insecticide
→ scenario → interventions → human → component → IRS → insecticideDecay
<insecticideDecay
function=("constant" or "step" or "linear" or "exponential" or "weibull" or "hill" or "smooth-compact" or "plus" or "minus" or "divides" or "multiplies")
[ L=string ]
[ k=double ] DEFAULT VALUE 1.0
[ CV=double ] DEFAULT VALUE 0
[ increasing=boolean ] DEFAULT VALUE false
[ initialEfficacy=double ] DEFAULT VALUE 1
[ rho=double ]
[ halflife_short=string ]
[ halflife_long=string ]
>
IN THIS ORDER:
| <decay ... />
</insecticideDecay>
Documentation (element)
Units: none
Decay curve for insecticide content of IRS. Documentation: see DecayFunction type or https://github.com/SwissTPH/openmalaria/wiki/ModelDecayFunctions
Documentation (type)
Specification of decay or survival of a parameter.
Attributes
function
function=("constant" or "step" or "linear" or "exponential" or "weibull" or "hill" or "smooth-compact" or "plus" or "minus" or "divides" or "multiplies")
Units: None Min: 0 Max: 1
Determines which decay function to use. Available decay functions, for age t in years: constant: 1 step: 1 for t less than L, otherwise 0 linear: 1 - t/L for t less than L, otherwise 0 exponential: exp( - t/L * log(2) ) weibull: exp( -(t/L)^k * log(2) ) hill: 1 / (1 + (t/L)^k) smooth-compact: exp( k - k / (1 - (t/L)^2) ) for t less than L, otherwise 0
L
L=string
Units: User-defined (defaults to years) Min: 0
(Time) scale parameter of distribution: this is either the age of complete decay (smooth-compact, step and linear functions) or the age at which the parameter has decayed to half its original value (exponential, weibull and hill). Not used when function="constant" (i.e. no decay). This value can be specified in years, days or steps (e.g. 2y, 180d or 100t). When the unit is not specified years are assumed. The value is used without rounding except when sampling an age of decay, when the rounding happens as late as possible.
k
k=double
Units: none Min: 0
Default value: 1.0
Shape parameter of distribution. If not specified, default value of 1 is used. Meaning depends on function; not used in some cases.
Coefficient of Variation
CV=double
Min: 0
Default value: 0
If CV is non-zero, heterogeneity of decay is introduced via a random variable sampled from the log-normal distribution. This distribution is parameterised with mean=1 and CV as given. The effective age of decay is the real age multiplied by this variable (for decay functions with a half-life, this is equivalent to dividing the half-life by the variable).
L
increasing=boolean
Units: User-defined (defaults to years) Min: 0
Default value: false
(Boolean) If True, this tells OpenMalaria to use the complement of the DecayFunction defined as 1-f(x). This is useful to model increasing functions that will "decay" to 1. This only works if f(x) is contained between 0 and 1.
initialEfficacy
initialEfficacy=double
Default value: 1
biphasic: Efficacy between 0 and 1.
rho
rho=double
biphasic: Proportion between 0 and 1, proportion of the response that is short-lived.
halflife_short
halflife_short=string
biphasic: halflife of short lived component (default to years).
halflife_long
halflife_long=string
biphasic: halflife of long lived component (default to years).
Per-mosquito species parameters
→ scenario → interventions → human → component → IRS → anophelesParams
<anophelesParams
mosquito=string
[ propActive=double ] DEFAULT VALUE 1
>
IN THIS ORDER:
| <deterrency ... />
| <preprandialKillingEffect ... />
| <postprandialKillingEffect ... />
| [ <fecundityReduction ... /> ]
</anophelesParams>
Attributes
Mosquito species
mosquito=string
Name of the affected anopheles-mosquito species.
Proportion of bites for which IRS acts
propActive=double
Units: dimensionless Min: 0 Max: 1
Default value: 1
The proportion of bites for which the IRS has any action whatsoever on the mosquito. At the moment this is constant across humans and deterministic: relative attractiveness and survival factors are base*(1-propActing) + intervention_factor*propActing.
Relative attractiveness
→ scenario → interventions → human → component → IRS → anophelesParams → deterrency
<deterrency
insecticideFactor=double
insecticideScalingFactor=double
/>
Documentation (element)
Units: dimensionless Min: 0 Max: 1
Effect of IRS on attractiveness of humans to mosquitoes relative to an unprotected adult human. Parameterisations should take into account that mosquitoes do not always bite indoors.
Attractiveness of the human is multiplied by exp(P×log(p)) where P is the insecticide factor, p=1−exp(-insecticideContent×insecticideScalingFactor).
Attributes
Insecticide factor
insecticideFactor=double
Units: none Max: 1
Value expected to be at least 0. Negative values are not necessarily invalid, but allow nets to increase transmission.
Insecticide scaling factor
insecticideScalingFactor=double
Units: none Min: 0
Pre-prandial killing effect
→ scenario → interventions → human → component → IRS → anophelesParams → preprandialKillingEffect
<preprandialKillingEffect
insecticideFactor=double
insecticideScalingFactor=double
baseFactor=double
/>
Documentation (element)
Units: dimensionless Min: 0 Max: 1
Effect of IRS on survival mosquitoes as they seek to bite a human after choosing that human, relative to the same person not protected by IRS. Parameterisations should take into account that mosquitoes do not always bite indoors. This parameter has been added since some data shows IRS to have a preprandial killing effect.
Killing proportion is calculated as K = B + P×p where B is the base (without protection) probability of death, and P is the insecticide factor, p=1−exp(-insecticideContent×insecticideScalingFactor).
Survival of mosquitoes is adjusted via multiplication by (1−K) / (1−B). To keep this in the range [0,1], we require that B+P ≤ 1 and P ≥ 0.
Attributes
Insecticide factor
insecticideFactor=double
Units: none Max: 1
Value expected to be at least 0. Negative values are not necessarily invalid, but allow nets to increase transmission.
Insecticide scaling factor
insecticideScalingFactor=double
Units: none Min: 0
Probability of mosquito death without intervention
baseFactor=double
Units: dimensionless
Post-prandial killing effect
→ scenario → interventions → human → component → IRS → anophelesParams → postprandialKillingEffect
<postprandialKillingEffect
insecticideFactor=double
insecticideScalingFactor=double
baseFactor=double
/>
Documentation (element)
Units: dimensionless Min: 0 Max: 1
Effect of IRS on survival mosquitoes as they seek to escape from a human host and rest after a blood meal, relative to the same person not protected by IRS. Parameterisations should take into account that mosquitoes do not always bite indoors.
Killing proportion is calculated as K = B + P×p where B is the base (without protection) probability of death, and P is the insecticide factor, p=1−exp(-insecticideContent×insecticideScalingFactor).
Survival of mosquitoes is adjusted via multiplication by (1−K) / (1−B). To keep this in the range [0,1], we require that B+P ≤ 1 and P ≥ 0.
Attributes
Insecticide factor
insecticideFactor=double
Units: none Max: 1
Value expected to be at least 0. Negative values are not necessarily invalid, but allow nets to increase transmission.
Insecticide scaling factor
insecticideScalingFactor=double
Units: none Min: 0
Probability of mosquito death without intervention
baseFactor=double
Units: dimensionless
Fecundity reduction
→ scenario → interventions → human → component → IRS → anophelesParams → fecundityReduction
<fecundityReduction
insecticideFactor=double
insecticideScalingFactor=double
baseFactor=double
/>
Documentation (element)
Effect of IRS on fertility mosquitoes after successfully feeding on a human host, relative to an unproteced human. Parameterisations should take into account that mosquitoes do not always bite indoors.
First, we calculate K = B + P×p where B is the base (without protection) probability of death, and P is the insecticide factor, p=1−exp(-insecticideContent×insecticideScalingFactor).
Fecundity is multiplied by (1−K) / (1−B). It is not allowed to be greater than 1. To keep this in the range [0,1], we require that B+P ≤ 1 and P ≥ 0.
Attributes
Insecticide factor
insecticideFactor=double
Units: none Max: 1
Value expected to be at least 0. Negative values are not necessarily invalid, but allow nets to increase transmission.
Insecticide scaling factor
insecticideScalingFactor=double
Units: none Min: 0
Probability of mosquito death without intervention
baseFactor=double
Units: dimensionless
Generic vector intervention
→ scenario → interventions → human → component → GVI
<GVI>
IN THIS ORDER:
| [ <usage ... /> ]
| <decay ... />
| ( <anophelesParams ... /> )+
</GVI>
Documentation (element)
Low-level description of intervention effects on vectors (i.e. mosquitoes). Can be used to describe simple ITN or IRS interventions (though more complex models are available for these interventions) or other interventions such as mosquito repellant or ivermectin.
Note that all actions of this intervention component will decay according to a single decay function. If independant decay is wanted, a separate component can be used for each action.
Proportion of generic vector interventions
→ scenario → interventions → human → component → GVI → usage
<usage
value=double
/>
Documentation (element)
Units: dimensionless Min: 0 Max: 1
Usage of Generic vector interventions, from 0 to 1.
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Decay
→ scenario → interventions → human → component → GVI → decay
<decay
function=("constant" or "step" or "linear" or "exponential" or "weibull" or "hill" or "smooth-compact" or "plus" or "minus" or "divides" or "multiplies")
[ L=string ]
[ k=double ] DEFAULT VALUE 1.0
[ CV=double ] DEFAULT VALUE 0
[ increasing=boolean ] DEFAULT VALUE false
[ initialEfficacy=double ] DEFAULT VALUE 1
[ rho=double ]
[ halflife_short=string ]
[ halflife_long=string ]
>
IN THIS ORDER:
| <decay ... />
</decay>
Documentation (element)
Description of decay of all intervention effects. Documentation: see DecayFunction type or https://github.com/SwissTPH/openmalaria/wiki/ModelDecayFunctions
Documentation (type)
Specification of decay or survival of a parameter.
Attributes
function
function=("constant" or "step" or "linear" or "exponential" or "weibull" or "hill" or "smooth-compact" or "plus" or "minus" or "divides" or "multiplies")
Units: None Min: 0 Max: 1
Determines which decay function to use. Available decay functions, for age t in years: constant: 1 step: 1 for t less than L, otherwise 0 linear: 1 - t/L for t less than L, otherwise 0 exponential: exp( - t/L * log(2) ) weibull: exp( -(t/L)^k * log(2) ) hill: 1 / (1 + (t/L)^k) smooth-compact: exp( k - k / (1 - (t/L)^2) ) for t less than L, otherwise 0
L
L=string
Units: User-defined (defaults to years) Min: 0
(Time) scale parameter of distribution: this is either the age of complete decay (smooth-compact, step and linear functions) or the age at which the parameter has decayed to half its original value (exponential, weibull and hill). Not used when function="constant" (i.e. no decay). This value can be specified in years, days or steps (e.g. 2y, 180d or 100t). When the unit is not specified years are assumed. The value is used without rounding except when sampling an age of decay, when the rounding happens as late as possible.
k
k=double
Units: none Min: 0
Default value: 1.0
Shape parameter of distribution. If not specified, default value of 1 is used. Meaning depends on function; not used in some cases.
Coefficient of Variation
CV=double
Min: 0
Default value: 0
If CV is non-zero, heterogeneity of decay is introduced via a random variable sampled from the log-normal distribution. This distribution is parameterised with mean=1 and CV as given. The effective age of decay is the real age multiplied by this variable (for decay functions with a half-life, this is equivalent to dividing the half-life by the variable).
L
increasing=boolean
Units: User-defined (defaults to years) Min: 0
Default value: false
(Boolean) If True, this tells OpenMalaria to use the complement of the DecayFunction defined as 1-f(x). This is useful to model increasing functions that will "decay" to 1. This only works if f(x) is contained between 0 and 1.
initialEfficacy
initialEfficacy=double
Default value: 1
biphasic: Efficacy between 0 and 1.
rho
rho=double
biphasic: Proportion between 0 and 1, proportion of the response that is short-lived.
halflife_short
halflife_short=string
biphasic: halflife of short lived component (default to years).
halflife_long
halflife_long=string
biphasic: halflife of long lived component (default to years).
Per-mosquito species parameters
→ scenario → interventions → human → component → GVI → anophelesParams
<anophelesParams
mosquito=string
[ propActive=double ] DEFAULT VALUE 1
>
IN THIS ORDER:
| [ <deterrency ... /> ]
| [ <preprandialKillingEffect ... /> ]
| [ <postprandialKillingEffect ... /> ]
| [ <fecundityReduction ... /> ]
</anophelesParams>
Attributes
Mosquito species
mosquito=string
Name of the affected anopheles-mosquito species.
Proportion of bites for which IRS acts
propActive=double
Units: dimensionless Min: 0 Max: 1
Default value: 1
The proportion of bites for which the IRS has any action whatsoever on the mosquito. At the moment this is constant across humans and deterministic: relative attractiveness and survival factors are base*(1-propActing) + intervention_factor*propActing.
Relative attractiveness
→ scenario → interventions → human → component → GVI → anophelesParams → deterrency
<deterrency
value=double
/>
Documentation (element)
Units: dimensionless Min: 0 Max: 1
Effect of intervention on attractiveness of humans to mosquitoes relative to an unprotected adult human. Parameterisations should take into account that mosquitoes do not always bite indoors.
Attractiveness of the human is multiplied this factor times survival of effect.
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Pre-prandial killing effect
→ scenario → interventions → human → component → GVI → anophelesParams → preprandialKillingEffect
<preprandialKillingEffect
value=double
/>
Documentation (element)
Units: dimensionless Min: 0 Max: 1
Effect of intervention on survival of mosquitoes as they seek to bite a human after choosing that human, relative to the same person not protected by the intervention. Parameterisations should take into account that mosquitoes do not always bite indoors. This parameter has been added since some data shows IRS to have a preprandial killing effect.
Killing proportion is this factor multiplied by survival of effect.
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Post-prandial killing effect
→ scenario → interventions → human → component → GVI → anophelesParams → postprandialKillingEffect
<postprandialKillingEffect
value=double
/>
Documentation (element)
Units: dimensionless Min: 0 Max: 1
Effect of intervention on survival of mosquitoes as they seek to escape from a human host and rest after a blood meal, relative to the same person not protected by the intervention. Parameterisations should take into account that mosquitoes do not always bite indoors.
Killing proportion is this factor multiplied by survival of effect.
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Fecundity reduction effect
→ scenario → interventions → human → component → GVI → anophelesParams → fecundityReduction
<fecundityReduction
value=double
/>
Documentation (element)
Min: 0
Effect of intervention on fertility mosquitoes after successfully feeding on a human host, relative to an unproteced human. Parameterisations should take into account that mosquitoes do not always bite indoors.
Fertility is multiplied by 1 - (fecundityReduction * decay).
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Recruitment only
→ scenario → interventions → human → component → recruitmentOnly
<recruitmentOnly/>
Documentation (element)
Recruitment of a host into a sub-population.
All human-targeting intervention deployments recruit simulated humans into a sub-population which can be used for the purposes of cumulative deployment, deployment only to a sub-population and defining a cohort. This pseudo-intervention can be used to define a sub-population without also deploying some intervention.
Clear Immunity
→ scenario → interventions → human → component → clearImmunity
<clearImmunity/>
Documentation (element)
Removes all exposure-related immunitsy gained over time by hosts without removing infections (or affecting the ability to gain immunity through exposure).
Hypothetical, but potentially useful to simulate scenarios with unprotected humans.
subPopRemoval
→ scenario → interventions → human → component → subPopRemoval
<subPopRemoval
[ onFirstBout=boolean ] DEFAULT VALUE false
[ onFirstTreatment=boolean ] DEFAULT VALUE false
[ onFirstInfection=boolean ] DEFAULT VALUE false
[ afterYears=double ]
/>
Documentation (type)
Each human intervention component corresponds to a sub-population: those who have received or are considered to be protected by the intervention component. Humans automatically become members of this sub-population when receiving an intervention component; this element controls how humans are removed from the sub-population.
ITN attrition also removes humans from sub-populations.
Note that sub-populations do not directly correspond to an intervention's effects: lack of effectiveness does not imply removal from the sub-population (except as explicitly configured here) and removal from the sub-population does not halt an intervention's effects.
Sub-populations may be used to define a cohort, to restrict deployment of other interventions and to use cumulative deployment mode. A sub- population may or may not correspond (roughly) to humans protected by some intervention.
Attributes
Time to first episode only
onFirstBout=boolean
Default value: false
If true, remove individuals from the sub-population at the start of the first episode (start of a clinical bout) since they were recruited into the sub-population. This is intended for cohort studies which measure time to the first episode, using active case detection. Reports delayed due to health-system memory are forced out when this occurs. Note that this can increase the number of uncomplicated cases reported across the entire population; for this reason reports are not forced on recruitment or most removal options. This does not prevent re-recruitment in the case that recruitment settings could conceivably recruit the same individual twice.
Time to first treatment only
onFirstTreatment=boolean
Default value: false
If true, remove individuals from the sub-population when they first seektreatment since they were recruited into the sub-population. This is intended for cohort studies which measure the time to first episode, using passive case detection. Reports delayed due to health-system memory are forced out when this occurs. Note that this can increase the number of uncomplicated cases reported across the entire population; for this reason reports are not forced on recruitment or most removal options. This does not prevent re-recruitment in the case that recruitment settings could conceivably recruit the same individual twice.
Time to first infection only
onFirstInfection=boolean
Default value: false
If true, remove individuals from the sub-population at completion of the first survey in which they present with a patent infection since they were recruited into the sub-population. This intended for cohort studies which measure time to the first infection, using active case detection. Reports delayed due to health-system memory are forced out when this occurs. Note that this can increase the number of uncomplicated cases reported across the entire population; for this reason reports are not forced on recruitment or most removal options. This does not prevent re-recruitment in the case that recruitment settings could conceivably recruit the same individual twice.
Remove from sub-population after
afterYears=double
Units: Years Min: 0
If given, membership to the sub-population of humans who have received this intervention component expires after the given number of years. Note that future deployments renew membership (e.g. if this parameter is 4 years and the intervention is redeployed 3 years from now, expiry happens after 7 years). This provides a crude way of modelling a cohort protected by some intervention. A few interventions provide more detailed ways of modelling expiry of protection. In any case, "expiry of protection" is an abstract concept and does not imply that all protection has ceased, even in the simulator. This may also be useful for cumulative deployment. Minimum duration is zero, which implies the human is effectively never a member of the sub-population; a duration of one timestep implies the human is a member of the sub-population while any futher interventions are deployed on the same time as this human becomes a member and on the next update of the human (including transmission and health system events) but not beyond that. If this attribute is not given, the simulated human is a member until death or some other option triggers removal. Input is rounded to the nearest time step.
Deployment
→ scenario → interventions → human → deployment
<deployment
[ name=string ]
>
IN THIS ORDER:
| ( <component ... /> )+
| ( <condition ... /> )*
| ( <continuous ... /> )*
| ( <timed ... /> )*
</deployment>
Documentation (element)
This element describes deployment of an intervention: which components are deployed, how humans are selected for deployment (via timed or age-based deployment) as well as a few additional restrictions (e.g. vaccine dosing restrictions).
All components deployed by this intervention are deployed to the same people (each timed or continuous deployment selects recipients and then gives each recipient all components of the intervention).
Attributes
Intervention name
name=string
Name of intervention
component
→ scenario → interventions → human → deployment → component
<component
id=string
/>
Documentation (type)
The list of components deployed to eligible humans.
Attributes
Identifier
id=string
The identifier (short name) of a component.
Condition
→ scenario → interventions → human → deployment → condition
<condition
measure=string
[ minValue=double ]
[ maxValue=double ]
initialState=boolean
/>
Documentation (element)
If conditions are specified, deployment of this intervention will only go ahead if all specified conditions are true. Condition statements are evaluated only during surveys, so deployment is enabled or disabled depending on the results of the most recent survey. So called unreported surveys can be used to reevaluate conditions without increasing granularity of output.
Conditions are evaluated for the whole population, not for individual age-groups or cohorts.
This affects all types of deployment.
Attributes
Measure
measure=string
The monitoring measure to test. Not all measures are available for use.
Minimum value
minValue=double
Minimum value. If specified, the measured variable must be greater than or equal to this value for the condition to be satisfied.
Maximum value
maxValue=double
Maximum value. If specified, the measured variable must be less than or equal to this value for the condition to be satisfied.
Initial state
initialState=boolean
Whether this condition is considered true or false before updated by a survey.
Age-based (continuous) deployment
→ scenario → interventions → human → deployment → continuous
<continuous>
IN THIS ORDER:
| [ <restrictToSubPop ... /> ]
| ( <deploy ... /> )+
</continuous>
Documentation (element)
List of ages at which deployment takes place (through EPI, post-natal and school-based programmes, etc.).
A sub-population restriction may be added as a property of the list of continuous deployments.
restrictToSubPop
→ scenario → interventions → human → deployment → continuous → restrictToSubPop
<restrictToSubPop
id=string
[ complement=boolean ] DEFAULT VALUE false
/>
Documentation (type)
If this element is specified, deployment is restricted to some sub-population (specified via the "id" attribute); otherwise the target population is the entire simulated population. Either way, other deployment restrictions (age, time, number of vaccine doeses) still apply.
Attributes
Sub-population identifier
id=string
The identifier (short name) of the sub-population (i.e. the "id" of some intervention component). Also see the "complement" attribute.
Complement
complement=boolean
Default value: false
If this is not specified or is false, deployment is restricted to the sub-population of people protected by the intervention component who's id is given. If complement is set to true, deployment is instead restricted to the complement of that sub-population, i.e. to those
deploy
→ scenario → interventions → human → deployment → continuous → deploy
<deploy
coverage=double
[ vaccMinPrevDoses=int ]
[ vaccMaxCumDoses=int ]
[ minAvailability=int ]
[ maxAvailability=int ]
targetAgeYrs=double
[ begin=string ]
[ end=string ]
/>
Attributes
Coverage
coverage=double
Units: dimensionless Min: 0 Max: 1
Proportion of otherwise eligible individuals who will receive this deployment.
Vaccine min previous doses
vaccMinPrevDoses=int
Units: inoculations Min: 0
Applies to vaccines only: vaccine doses are only deployed by this deployment if the previous number of doses (for the component deployed) is at least this number. For example, if this is the second deployment opportunity for this vaccine and this value is 1, then this deployment cannot deploy the vaccine to individuals who did not receive the first deployment.
Vaccine max cumulative doses
vaccMaxCumDoses=int
Units: inoculations Min: 0
Applies to vaccines only: vaccine doses are only deployed by this deployment if the previous number of doses (for the component deployed) is less than this number.
Minimum ento availability
minAvailability=int
Units: percent Min: 0
Minimum ento availability percentile. This option is meant to be used with heterogeneity of availability, which can be specified in the entomology section. Without heterogenity (default), all hosts have the same availability and this option will have no effect. The percentile must be an integer value between 0 and 100. Percentile 99th represents individuals who are more available than 99% of the population. Percentile 0 represents the least available individuals. 100 is equivalent for infinity.
Maximum ento availability
maxAvailability=int
Units: percent Min: 0
Maximum ento availability percentile. This option is meant to be used with heterogeneity of availability, which can be specified in the entomology section. Without heterogenity (default), all hosts have the same availability and this option will have no effect. The percentile must be an integer value between 0 and 100. Percentile 99th represents individuals who are more available than 99% of the population. Percentile 0 represents the least available individuals. 100 is equivalent for infinity.
Target age
targetAgeYrs=double
Units: Years Min: 0 Max: 100
Target age of intervention. Input is rounded to the nearest time step.
First time active
begin=string
Units: User defined (defauls to steps)
First time at which this deployment is active. If not specified, deployment starts at the beginning of the intervention period. See doc on intervention period and on monitoring/startDate for details of how times work. Can be specified in steps, days, years, or as a date (examples: 15t, 75d, 0.2y, 2000-03-16).
End step
end=string
Units: User defined (defauls to steps)
End of the period during which the intervention is active (to be exact, the first step of the intervention period at which the item becomes inactive). If not specified, deployment never ceases after starting during the simulation. See doc on intervention period and on monitoring/startDate for details of how times work. Can be specified in steps, days, years, or as a date (examples: 15t, 75d, 0.2y, 2000-03-16).
Mass (timed) deployment
→ scenario → interventions → human → deployment → timed
<timed>
IN THIS ORDER:
| [ <restrictToSubPop ... /> ]
| [ <cumulativeCoverage ... /> ]
| ( <deploy ... /> )+
</timed>
Documentation (element)
List of timed deployments of the intervention (that is, of deployment campaigns).
Cumulative deployment mode can be specified for all deployments in a timed list. To allow multiple cumulative deployment descriptions, the entire timed list may be repeated.
restrictToSubPop
→ scenario → interventions → human → deployment → timed → restrictToSubPop
<restrictToSubPop
id=string
[ complement=boolean ] DEFAULT VALUE false
/>
Documentation (type)
If this element is specified, deployment is restricted to some sub-population (specified via the "id" attribute); otherwise the target population is the entire simulated population. Either way, other deployment restrictions (age, time, number of vaccine doeses) still apply.
Attributes
Sub-population identifier
id=string
The identifier (short name) of the sub-population (i.e. the "id" of some intervention component). Also see the "complement" attribute.
Complement
complement=boolean
Default value: false
If this is not specified or is false, deployment is restricted to the sub-population of people protected by the intervention component who's id is given. If complement is set to true, deployment is instead restricted to the complement of that sub-population, i.e. to those
Cumulative coverage
→ scenario → interventions → human → deployment → timed → cumulativeCoverage
<cumulativeCoverage
component=string
/>
Documentation (element)
If this element is not specified, standard deployment occurs, where a portion of the population as given by the coverage property of this campaign is selected, and interventions are deployed to all of these people (regardless of previous coverage).
If this attribute is specified, instead, the population is divided into two sets: those who are a member of a certain sub-population and those who are not (see "subPopRemoval" element). If the proportion of people in the first set is less than the desired coverage, then the proportion of people from the second set needed to increase total coverage to the desired coverage is calculated. This proportion is then used as the probablity of selection from the second set into a third set of people who then receive all interventions deployed by this campaign.
Note that selection is stochastic so the final coverage level may not be exactly that desired. Note also that the component used when selecting people need not actually be one of the components deployed by this intervention, although that is the intended use case.
Attributes
Component identifier
component=string
The identifier (short name) of the component used when selecting people.
deploy
→ scenario → interventions → human → deployment → timed → deploy
<deploy
coverage=double
[ vaccMinPrevDoses=int ]
[ vaccMaxCumDoses=int ]
[ minAvailability=int ]
[ maxAvailability=int ]
time=string
[ maxAge=double ]
[ minAge=double ] DEFAULT VALUE 0
[ repeatStep=string ]
[ repeatEnd=string ]
/>
Attributes
Coverage
coverage=double
Units: dimensionless Min: 0 Max: 1
Proportion of otherwise eligible individuals who will receive this deployment.
Vaccine min previous doses
vaccMinPrevDoses=int
Units: inoculations Min: 0
Applies to vaccines only: vaccine doses are only deployed by this deployment if the previous number of doses (for the component deployed) is at least this number. For example, if this is the second deployment opportunity for this vaccine and this value is 1, then this deployment cannot deploy the vaccine to individuals who did not receive the first deployment.
Vaccine max cumulative doses
vaccMaxCumDoses=int
Units: inoculations Min: 0
Applies to vaccines only: vaccine doses are only deployed by this deployment if the previous number of doses (for the component deployed) is less than this number.
Minimum ento availability
minAvailability=int
Units: percent Min: 0
Minimum ento availability percentile. This option is meant to be used with heterogeneity of availability, which can be specified in the entomology section. Without heterogenity (default), all hosts have the same availability and this option will have no effect. The percentile must be an integer value between 0 and 100. Percentile 99th represents individuals who are more available than 99% of the population. Percentile 0 represents the least available individuals. 100 is equivalent for infinity.
Maximum ento availability
maxAvailability=int
Units: percent Min: 0
Maximum ento availability percentile. This option is meant to be used with heterogeneity of availability, which can be specified in the entomology section. Without heterogenity (default), all hosts have the same availability and this option will have no effect. The percentile must be an integer value between 0 and 100. Percentile 99th represents individuals who are more available than 99% of the population. Percentile 0 represents the least available individuals. 100 is equivalent for infinity.
Time
time=string
Units: User defined (defauls to steps) Min: 0
Time at which this deployment occurs. See doc on intervention period and on monitoring/startDate for details of how times work. Can be specified in steps, days, years, or as a date (examples: 15t, 75d, 0.2y, 2000-03-16).
Maximum age of eligible individuals
maxAge=double
Units: Years Min: 0
Maximum age of eligible individuals (defaults to no limit). Input is rounded to the nearest time step.
Minimum age of eligible individuals
minAge=double
Units: Years Min: 0
Default value: 0
Minimum age of eligible individuals (defaults to 0). Input is rounded to the nearest time step.
Step of repetition
repeatStep=string
Units: User defined
See repeatEnd's documentation.
End of repetition (exclusive)
repeatEnd=string
Units: User defined
Either both repeatStep and repeatEnd should be present or neither. If present, the deployment is repeated every repeatStep timesteps (i.e. if t0 is the initial time and x is repeatStep, depolyments are done at times t0, t0+x, t0+2*x, ...), ending before repeatEnd (final repetition is the one before repeatEnd). Note that repeatEnd may be specified as a date but repeatStep must be a duration (days, steps or years).
Health system description
→ scenario → healthSystem
<healthSystem>
IN THIS ORDER:
| EXACTLY ONE OF:
| | <EventScheduler ... />
| | <ImmediateOutcomes ... />
| | <DecisionTree5Day ... />
| <CFR ... />
| <pSequelaeInpatient ... />
</healthSystem>
Documentation (element)
Description of health system.
Documentation (type)
Description of case management system, used to specify the initial model or a replacement (an intervention). Encompasses case management data and some other data required to derive case outcomes.
Contains a sub-element describing the particular health-system in use. Health system data is here defined as data used to decide on a treatment strategy, given a case requiring treatment.
Transmission and vector bionomics
→ scenario → entomology
<entomology
name=string
mode=("forced" or "dynamic")
[ scaledAnnualEIR=double ]
>
IN THIS ORDER:
| EXACTLY ONE OF:
| | <nonVector ... />
| | <vector ... />
</entomology>
Documentation (element)
Description of entomological data
Attributes
Entomology dataset name
name=string
Name of entomology data
Transmission model mode
mode=("forced" or "dynamic")
Transmission simulation mode: may be forced (in which case interventions and changes to human infectiousness cannot affect EIR) or dynamic (in which the above can affect EIR). The full vector model is only used in dynamic mode. This can not be changed by interventions, except for the changeEIR intervention for the non-vector model which replaces the EIR with a new description (used in forced mode).
Override annual EIR
scaledAnnualEIR=double
Units: Infectious bites per adult per year
If set, the annual EIR (for all species of vector) is scaled to this level; can be omitted if not needed.
Transmission setting (vector control not enabled)
→ scenario → entomology → nonVector
<nonVector
eipDuration=int
>
IN THIS ORDER:
| ( <EIRDaily ... /> )+
</nonVector>
Documentation (element)
Description of transmission setting for models without vector control interventions (included for backward compatibility)
Attributes
Duration of sporogony
eipDuration=int
Units: Days
The duration of sporogony in days
Transmission setting (vector control enabled)
→ scenario → entomology → vector
<vector>
IN THIS ORDER:
| ( <anopheles ... /> )+
| ( <nonHumanHosts ... /> )*
</vector>
Documentation (element)
Parameters of the transmission model
anopheles
→ scenario → entomology → vector → anopheles
<anopheles
mosquito=string
propInfected=double
propInfectious=double
>
IN THIS ORDER:
| <seasonality ... />
| <mosq ... />
| [ <lifeCycle ... /> ]
| [ <simpleMPD ... /> ]
| ( <nonHumanHosts ... /> )*
</anopheles>
Documentation (type)
Description of input EIR for one specific vector species in terms of a Fourier approximation to the ln of the EIR during the burn in period
Attributes
Identifier for this anopheles species
mosquito=string
Identifier for this anopheles species
Initial estimate of proportion of mosquitoes infected (ρ_O)
propInfected=double
Units: Proportion Min: 0 Max: 1
Initial guess of the proportion of mosquitoes which are infected, o: O_v(t) = o*N_v(t). Only used as a starting value.
Initial estimate of proportion of mosquitoes infectious (ρ_S)
propInfectious=double
Units: Proportion Min: 0 Max: 1
Initial estimate of the proportion of mosquitoes which are infectious, s: S_v(t) = s*N_v(t). Used as a starting value and then fit.
Seasonality of transmission
→ scenario → entomology → vector → anopheles → seasonality
<seasonality
input=("EIR")
[ annualEIR=double ]
>
IN THIS ORDER:
| EXACTLY ONE OF:
| | <fourierSeries ... />
| | <monthlyValues ... />
| | <dailyValues ... />
</seasonality>
Documentation (element)
Specifies the seasonality of transmission and optionally the level of annual transmission.
Attributes
Seasonality input
input=("EIR")
Specify what seasonality measure is given. At the moment, only EIR is supported, but in the future, all the below should be supported. EIR: seasonality of entomological inoculations is input. Units: entomological inoculations per adult per annum. hostSeeking: seasonality of densities of flying host-seeking mosquitoes is input (in the model this is notated N_v). Units: mosquitoes. emergence: seasonality of emergence pupa into adults. Units: mosquitoes. larvalResources: seasonality of larval resources. Units: X.
Annual EIR
annualEIR=double
Units: Inoculations per adult per annum Min: 0
If this attribute is included, EIR for this species is scaled to this level. Note that if the scaledAnnualEIR attribute of the entomology element is also used, EIR is scaled again, making this attribute the EIR relative to other species. With some seasonality inputs, this attribute is optional, in which case (if scaledAnnualEIR is also not specified) transmission depends on all parameters of the vector. With some seasonality inputs, however, this parameter must be specified.
Fourier approximation to pre-intervention EIR
→ scenario → entomology → vector → anopheles → seasonality → fourierSeries
<fourierSeries
EIRRotateAngle=double
>
IN THIS ORDER:
| ( <coeffic ... /> )*
</fourierSeries>
Documentation (element)
Units: Infectious bites per adult per day
Seasonality is reproduced from the exponential of a fourier series specified by the following coefficients. Note that the a0 term is not needed; the annualEIR attribute of the seasonality element should be used to scale EIR instead.
Attributes
Rotation angle defining the origin of the Fourier approximation to ln (EIR)
EIRRotateAngle=double
Units: Radians
Rotation angle defining the origin of the Fourier approximation to ln (EIR)
Pair of Fourier coefficients
→ scenario → entomology → vector → anopheles → seasonality → fourierSeries → coeffic
<coeffic
a=double
b=double
/>
Documentation (element)
A pair of Fourier series coefficients. The first element specifies a1 and b1, the second a2 and b2, etc. Any number (from 0 up) of pairs may be given.
Attributes
a_n parameter of Fourier approximation to ln(EIR)
a=double
a_n parameter of Fourier approximation to ln(EIR) for some natural number n.
b_n parameter of Fourier approximation to ln(EIR)
b=double
b_n parameter of Fourier approximation to ln(EIR) for some natural number n.
List of monthly values
→ scenario → entomology → vector → anopheles → seasonality → monthlyValues
<monthlyValues
smoothing=("none" or "fourier")
>
IN THIS ORDER:
| ( <value ... /> ){12,12}
</monthlyValues>
Documentation (element)
Description of seasonality from monthly values. Multiple smoothing methods are possible (see smoothing attribute).
List should contain twelve entries: January to December.
Attributes
Smoothing function
smoothing=("none" or "fourier")
How the monthly values are converted into a daily sequence of values:
- none: no smoothing (step function)
- Fourier: a Fourier series (with terms up to a2/b2) is fit to the sequence of monthly values and used to generate a smoothed list of daily values.
Monthly value
→ scenario → entomology → vector → anopheles → seasonality → monthlyValues → value
<value>
double
</value>
Documentation (element)
Units: (see "seasonality input" parameter)
Monthly value
List of daily values
→ scenario → entomology → vector → anopheles → seasonality → dailyValues
<dailyValues>
IN THIS ORDER:
| ( <value ... /> )+
</dailyValues>
Documentation (element)
Description of seasonality from daily values.
List should contain 365 entries: 1st January to 31st December.
Daily value
→ scenario → entomology → vector → anopheles → seasonality → dailyValues → value
<value>
double
</value>
Documentation (element)
Units: (see "seasonality input" parameter)
Daily value
Mosquito feeding cycle parameters
→ scenario → entomology → vector → anopheles → mosq
<mosq
minInfectedThreshold=double
>
IN ANY ORDER:
| <mosqRestDuration ... />
| <extrinsicIncubationPeriod ... />
| <mosqLaidEggsSameDayProportion ... />
| <mosqSeekingDuration ... />
| <mosqSurvivalFeedingCycleProbability ... />
| <availability ... />
| <mosqProbBiting ... />
| <mosqProbFindRestSite ... />
| <mosqProbResting ... />
| <mosqProbOvipositing ... />
| <mosqHumanBloodIndex ... />
</mosq>
- mosqRestDuration
- extrinsicIncubationPeriod
- mosqLaidEggsSameDayProportion
- mosqSeekingDuration
- mosqSurvivalFeedingCycleProbability
- availability
- mosqProbBiting
- mosqProbFindRestSite
- mosqProbResting
- mosqProbOvipositing
- mosqHumanBloodIndex
Documentation (element)
Parameters describing the feeding cycle and human mosquito interaction of a single species of anopheles mosquito.
Attributes
Mininum infected threshold for mosquitos
minInfectedThreshold=double
Min: 0
If less than this many mosquitoes remain infected, transmission is interrupted.
Duration of the resting period of the vector
→ scenario → entomology → vector → anopheles → mosq → mosqRestDuration
<mosqRestDuration
value=int
/>
Documentation (element)
Units: Days
name:Duration of the resting period of the vector (days);
Attributes
Input parameter value
value=int
An integer value.
Extrinsic incubation period
→ scenario → entomology → vector → anopheles → mosq → extrinsicIncubationPeriod
<extrinsicIncubationPeriod
value=int
/>
Documentation (element)
Units: Days
name:Extrinsic incubation period (days)
Attributes
Input parameter value
value=int
An integer value.
Proportion of mosquitoes host seeking on same day as ovipositing
→ scenario → entomology → vector → anopheles → mosq → mosqLaidEggsSameDayProportion
<mosqLaidEggsSameDayProportion
value=double
/>
Documentation (element)
Units: Proportion
Proportion of mosquitoes host seeking on same day as ovipositing
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Duration of the host-seeking period of the vector
→ scenario → entomology → vector → anopheles → mosq → mosqSeekingDuration
<mosqSeekingDuration
value=double
/>
Documentation (element)
Units: Days
Duration of the host-seeking period of the vector (days)
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Probability that the mosquito survives the feeding cycle
→ scenario → entomology → vector → anopheles → mosq → mosqSurvivalFeedingCycleProbability
<mosqSurvivalFeedingCycleProbability
value=double
/>
Documentation (element)
Units: Proportion
Probability that the mosquito survives the feeding cycle
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Human availability rate heterogeneity
→ scenario → entomology → vector → anopheles → mosq → availability
<availability
[ CV=double ]
[ distr=("const" or "lognormal" or "gamma") ] DEFAULT VALUE const
[ variance=double ]
/>
Documentation (element)
Optionally, entomological availability rate may be sampled per-human from a distribution. The distribution and coefficient of variability may be set here. The mean rate is calculated based on other parameters and not set directly.
If no attributes are specified or distr="const" or CV="0" then there will be no heterogeneity.
Documentation (type)
A parameter with optional heterogeneity.
The mean cannot be specified (unless this type is extended). Optionally, a distribution ("distr") and coefficient of variation ("CV") may be specified.
Attributes
Coefficient of variation
CV=double
Units: unitless
The (linear) coefficient of variation. This value must be specified when a (non-constant) distribution is used. Note: since version 46, variance can be used instead. Note that specifying CV="0" has the same effect as distr="const" and disables sampling of this parameter, even if distr is not "const".
Distribution
distr=("const" or "lognormal" or "gamma")
Default value: const
To allow heterogeneity, a distribution must be specified. Valid options are as follows. "const": no variation or sampling. Specifying distr="const" has the same effect as not specifying distr at all. "lognormal": the parameter is sampled from a log-normal distribution. Note that the "mean" and "CV" values are linear (arithmetic) properties of the distribution and not log-space properties.
Coefficient of variation
variance=double
Units: unitless
The variance parameter of the distirbution. This value can be specified when a (non-constant) distribution is used. Note that specifying variance="0" has the same effect as distr="const" and disables sampling of this parameter, even if distr is not "const".
Probability that the mosquito succesfully bites chosen host
→ scenario → entomology → vector → anopheles → mosq → mosqProbBiting
<mosqProbBiting
mean=double
variance=double
/>
Documentation (element)
Probability that the mosquito succesfully bites chosen host
Documentation (type)
Parameters of a normal distribution, provided as mean and variance.
Variates are sampled from Be(α,β) where α and β are determined from the mean and variance as follows: let v be the variance and c=mean/(1-mean). Then we set α=cβ and β=((c+1)²v - c)/((c+1)³v).
Attributes
mean
mean=double
Units: none
The mean of the beta distribution (must be in the open range (0,1)).
variance
variance=double
Units: none
The standard deviation of variates.
Probability that the mosquito escapes host and finds a resting place after biting
→ scenario → entomology → vector → anopheles → mosq → mosqProbFindRestSite
<mosqProbFindRestSite
mean=double
variance=double
/>
Documentation (element)
Probability that the mosquito escapes host and finds a resting place after biting
Documentation (type)
Parameters of a normal distribution, provided as mean and variance.
Variates are sampled from Be(α,β) where α and β are determined from the mean and variance as follows: let v be the variance and c=mean/(1-mean). Then we set α=cβ and β=((c+1)²v - c)/((c+1)³v).
Attributes
mean
mean=double
Units: none
The mean of the beta distribution (must be in the open range (0,1)).
variance
variance=double
Units: none
The standard deviation of variates.
Probability of mosquito successfully resting after finding a resting site
→ scenario → entomology → vector → anopheles → mosq → mosqProbResting
<mosqProbResting
mean=double
variance=double
/>
Documentation (element)
Probability of mosquito successfully resting after finding a resting site
Documentation (type)
Parameters of a normal distribution, provided as mean and variance.
Variates are sampled from Be(α,β) where α and β are determined from the mean and variance as follows: let v be the variance and c=mean/(1-mean). Then we set α=cβ and β=((c+1)²v - c)/((c+1)³v).
Attributes
mean
mean=double
Units: none
The mean of the beta distribution (must be in the open range (0,1)).
variance
variance=double
Units: none
The standard deviation of variates.
Probability of a mosquito successfully laying eggs given that it has rested
→ scenario → entomology → vector → anopheles → mosq → mosqProbOvipositing
<mosqProbOvipositing
value=double
/>
Documentation (element)
Probability of a mosquito successfully laying eggs given that it has rested
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Human blood index
→ scenario → entomology → vector → anopheles → mosq → mosqHumanBloodIndex
<mosqHumanBloodIndex
value=double
/>
Documentation (element)
Units: Proportion
The proportion of resting mosquitoes which fed on human blood during the last feed.
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Mosquito life cycle parameters
→ scenario → entomology → vector → anopheles → lifeCycle
<lifeCycle
[ estimatedLarvalResources=double ] DEFAULT VALUE 1e8
>
IN ANY ORDER:
| <eggStage ... />
| <larvalStage ... />
| <pupalStage ... />
| <femaleEggsLaidByOviposit ... />
</lifeCycle>
Documentation (element)
Parameters describing the life-cycle of this species of mosquito
Attributes
Estimate of larval resources
estimatedLarvalResources=double
Units: X
Default value: 1e8
An estimate of mean annual availability of resources to larvae. Used to get the resource usage fitting algorithm going; if the algorithm fails to fit the resource availability then tweaking this parameter may help. In other cases tweaking this parameter shouldn't be necessary. Default value is 10⁸ (1e8). Units are arbitrary but must be the same as those used by the resourceUsage parameter.
Egg stage
→ scenario → entomology → vector → anopheles → lifeCycle → eggStage
<eggStage
duration=int
survival=double
/>
Documentation (element)
Parameters for the egg stage of development
Documentation (type)
Parameters associated with a mosquito development stage.
Attributes
Duration
duration=int
Units: Days
Duration of the stage (i.e. length of time mosquito is an egg/larva/pupa).
Probability of survival
survival=double
Units: Proportion
Probability that mosquito survives this size (probability of egg hatching, a larva becoming a pupa or a pupa emerging as an adult, at the start of that stage).
larvalStage
→ scenario → entomology → vector → anopheles → lifeCycle → larvalStage
<larvalStage>
</larvalStage>
Documentation (type)
Parameters for the larval stage of development
Documentation (base type)
Parameters associated with a mosquito development stage.
Daily development
→ scenario → entomology → vector → anopheles → lifeCycle → larvalStage → daily
<daily
resourceUsage=double
effectCompetition=double
/>
Documentation (element)
List of parameters which apply during the larval stage of development. List length must equal stage duration, with first item corresponding to first 24 hours after hatching, second item to hours 24-48, and so on.
Attributes
Resource usage
resourceUsage=double
Units: X
Resource usage during larval stage of development. Units are arbitrary.
Effect of competition
effectCompetition=double
Units: none
Effect of competition over resources on development.
Pupal stage
→ scenario → entomology → vector → anopheles → lifeCycle → pupalStage
<pupalStage
duration=int
survival=double
/>
Documentation (element)
Parameters for the pupal stage of development
Documentation (type)
Parameters associated with a mosquito development stage.
Attributes
Duration
duration=int
Units: Days
Duration of the stage (i.e. length of time mosquito is an egg/larva/pupa).
Probability of survival
survival=double
Units: Proportion
Probability that mosquito survives this size (probability of egg hatching, a larva becoming a pupa or a pupa emerging as an adult, at the start of that stage).
Eggs laid by ovipositing mosquito
→ scenario → entomology → vector → anopheles → lifeCycle → femaleEggsLaidByOviposit
<femaleEggsLaidByOviposit
value=double
/>
Documentation (element)
Units: Eggs per feeding cycle
The total number of female eggs laid by a female mosquito at the conclusion to a feeding cycle, after feeding on an unprotected human (non-human hosts and protected humans use a multiplication factor to adjust this number for mosquitoes feeding on them).
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Simple Mosq-Pop-Dynamics parameters
→ scenario → entomology → vector → anopheles → simpleMPD
<simpleMPD>
IN ANY ORDER:
| <developmentDuration ... />
| <developmentSurvival ... />
| <femaleEggsLaidByOviposit ... />
</simpleMPD>
Documentation (element)
Parameters describing the simple mosquito population dynamics model.
This is a simpler version of the life-cycle model, requiring less parameters and with much simpler initialisation.
Duration
→ scenario → entomology → vector → anopheles → simpleMPD → developmentDuration
<developmentDuration
value=int
/>
Documentation (element)
Units: Days Min: 1
Duration from egg laying to emergence in days.
Attributes
Input parameter value
value=int
An integer value.
Probability of survival
→ scenario → entomology → vector → anopheles → simpleMPD → developmentSurvival
<developmentSurvival
value=double
/>
Documentation (element)
Units: Proportion Min: 0 Max: 1
Probability that mosquito survives from the egg being laid to emergence, given no resouce limitations (no density constraints).
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Eggs laid by ovipositing mosquito
→ scenario → entomology → vector → anopheles → simpleMPD → femaleEggsLaidByOviposit
<femaleEggsLaidByOviposit
value=double
/>
Documentation (element)
Units: Eggs per feeding cycle
The total number of female eggs laid by a female mosquito at the conclusion to a feeding cycle.
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Alternative (non-human) host paramters
→ scenario → entomology → vector → anopheles → nonHumanHosts
<nonHumanHosts
name=string
>
IN ANY ORDER:
| <mosqRelativeEntoAvailability ... />
| <mosqProbBiting ... />
| <mosqProbFindRestSite ... />
| <mosqProbResting ... />
| [ <hostFecundityFactor ... /> ]
</nonHumanHosts>
- mosqRelativeEntoAvailability
- mosqProbBiting
- mosqProbFindRestSite
- mosqProbResting
- hostFecundityFactor
Documentation (element)
Min: 0
Non human host parameters, per type of host (must match up with non-species-specific parameters).
Attributes
Identifier for this category of non-human hosts
name=string
Identifier for this category of non-human hosts
Relative availability of non-human host (ξ_i)
→ scenario → entomology → vector → anopheles → nonHumanHosts → mosqRelativeEntoAvailability
<mosqRelativeEntoAvailability
value=double
/>
Documentation (element)
Units: Proportion
Relative availability of the population of non-human hosts of type i to other non-human hosts; the sum of this across all non-human hosts must be 1.
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Probability of mosquito successfully biting host
→ scenario → entomology → vector → anopheles → nonHumanHosts → mosqProbBiting
<mosqProbBiting
value=double
/>
Documentation (element)
Units: Proportion
Probability of mosquito successfully biting host
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Probability that the mosquito escapes host and finds a resting place after biting
→ scenario → entomology → vector → anopheles → nonHumanHosts → mosqProbFindRestSite
<mosqProbFindRestSite
value=double
/>
Documentation (element)
Units: Proportion
Probability that the mosquito escapes host and finds a resting place after biting
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Probability of mosquito successfully resting after finding a resting site
→ scenario → entomology → vector → anopheles → nonHumanHosts → mosqProbResting
<mosqProbResting
value=double
/>
Documentation (element)
Units: Proportion
Probability of mosquito successfully resting after finding a resting site
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Relative fecundity of biting mosquitoes
→ scenario → entomology → vector → anopheles → nonHumanHosts → hostFecundityFactor
<hostFecundityFactor
value=double
/>
Documentation (element)
Units: Proportion
Multiplicative factor for the number of fertile eggs laid by a mosquito after biting this type of host, relative to an unprotected human.
Attributes
Input parameter value
value=double
A double-precision floating-point value.
nonHumanHosts
→ scenario → entomology → vector → nonHumanHosts
<nonHumanHosts
name=string
number=double
/>
Attributes
Species of alternative host
name=string
Name of this species of non human hosts (must match up with those described per anopheles section).
Population size of non-human host species
number=double
Units: Animals
Population size of this non-human host. Note: the availability of the population of this type of non-human host is determined by mosqRelativeEntoAvailability and mosqHumanBloodIndex. NHHs are not modelled individually, thus this parameter is not used. It might be useful in the future if there is ever an intervention to change the number of non-human hosts.
Parasite genetics
<parasiteGenetics
samplingMode=("initial" or "tracking")
>
IN THIS ORDER:
| ( <locus ... /> )+
</parasiteGenetics>
Documentation (element)
A specification of genotypes of infection parasites.
May be omitted; in this case there is no modelling of genetic differences of infections (resistance, fitness).
Attributes
samplingMode
samplingMode=("initial" or "tracking")
This controls how genotypes are determined for new infections during the intervention period. Prior to this (in initialisation phases), genotypes are always sampled using the specified initial frequencies. Mode "initial" continues to sample genotypes using initial frequencies (i.e. independent of the success of parent generations of parasites). Mode "tracking" samples genotypes based on the success parent generations of parasites have in infecting mosquitoes, tracked per genotype. It is possible that in the future a recombination option will be added to this list, however designing a suitable model is not trivial.
Locus
→ scenario → parasiteGenetics → locus
<locus
name=string
>
IN THIS ORDER:
| ( <allele ... /> )+
</locus>
Documentation (element)
Describes a locus, or a point at which an infection may vary. The genotype of an infection is determined by choosing one allele at each locus. Initial frequencies of alleles are specified independently for each locus, but subsequent infections are selected according to success of genotypes.
Alleles at loci can affect fitness and resistance to any number of drugs.
Attributes
Name of locus
name=string
Name of the Locus
Allele
→ scenario → parasiteGenetics → locus → allele
<allele
name=string
initialFrequency=double
fitness=double
[ hrp2_deletion=boolean ] DEFAULT VALUE false
/>
Documentation (element)
Describes an allele, or one possible genetic option of multiple at one point of variance.
Attributes
Name
name=string
Name of the allele; used to refer to it elsewhere.
Initial frequency
initialFrequency=double
Specification of how commonly this allele occurs during warmup relative to other alleles of the same locus. During the simulation's initialisation phases, the frequency at which each allele of each locus occurs is fixed. After the initialisation phase, frequency of alleles is modelled as an emergent property of the success of genotypes.
Fitness factor
fitness=double
Fitness factor of the allele. This is multiplication factor used to speed up or slow down replication of parasites. For example, if a genotype has an allele with a fitness factor of 1 at one locus and another allele with a fitness factor of 0.8 at a second locus, then the parasites with the genotype will replicate 20% slower than the baseline.
HRP2 deletion
hrp2_deletion=boolean
Default value: false
If true, marks this allele as having deleted HRP2. The effect on the simulation is that any diagnostic dependent on HRP2 behaves as if infections with deleted HRP2 have density 0. A diagnostic MUST explicitly set mechanism="HRP2" for this to have any effect.
Drug parameters (PK, PD and usage)
→ scenario → pharmacology
<pharmacology>
IN THIS ORDER:
| <treatments ... />
| <drugs ... />
</pharmacology>
Documentation (element)
Drug model parameters and drug usage parameters
Documentation (type)
A library of drug related data for the PK/PD model.
Treatments library
→ scenario → pharmacology → treatments
<treatments>
IN THIS ORDER:
| ( <schedule ... /> )+
| ( <dosages ... /> )+
</treatments>
Documentation (element)
A library of drug deployment schedules and dosages.
schedule
→ scenario → pharmacology → treatments → schedule
<schedule
name=string
>
IN THIS ORDER:
| ( <medicate ... /> )*
</schedule>
Documentation (type)
A schedule for the administration of drugs in a course of treatment.
Note that dose sizes are multiplied by some multiplier (see dosages) and the times of all doses may be delayed.
Attributes
Name
name=string
Name for referring to this deployment schedule
medicate
→ scenario → pharmacology → treatments → schedule → medicate
<medicate
drug=string
mg=double
hour=double
/>
Attributes
drug
drug=string
Abbreviated name of drug compound
Drug dose (mg with multiplier)
mg=double
Units: mg per something
Quantity of drug compound in mg per something. A separate dosage table must be used when medicating, which may specify multipliers of this number based on patient age or weight.
Time of administration
hour=double
Units: Hours Min: 0
Number of hours past start of timestep this drug dose is administered at (first dose should be at hour 0).
dosages
→ scenario → pharmacology → treatments → dosages
<dosages
name=string
>
IN THIS ORDER:
| EXACTLY ONE OF:
| | ( <age ... /> )+
| | ( <bodymass ... /> )+
| | <multiply ... />
</dosages>
Documentation (type)
A table for selecting a dose size. There are several ways this can work: using the patient's age or body mass in a look-up table to get a multplier, or directly using body mass as the multiplier.
The doses specified in "mg" in the treatment schedule are then multiplied by this multiplier.
Attributes
Name
name=string
Name for referring to this dosage table
Look-up table (age)
→ scenario → pharmacology → treatments → dosages → age
<age
lowerbound=double
dose_mult=double
/>
Documentation (element)
Select dose multiplier from a look-up table using the patient's age.
Documentation (type)
A look-up table which uses patient age (in years) or weight (in kg) to find a multiplier.
Attributes
Lower bound (inclusive)
lowerbound=double
Units: years or kg Min: 0
Dose multiplier
dose_mult=double
Min: 0
The dose size given in the schedule (in "mg") is multiplied by this value for patients falling into this range when this dosage table is used.
Look-up table (weight)
→ scenario → pharmacology → treatments → dosages → bodymass
<bodymass
lowerbound=double
dose_mult=double
/>
Documentation (element)
Select dose multiplier from a look-up table using the patient's body mass.
Documentation (type)
A look-up table which uses patient age (in years) or weight (in kg) to find a multiplier.
Attributes
Lower bound (inclusive)
lowerbound=double
Units: years or kg Min: 0
Dose multiplier
dose_mult=double
Min: 0
The dose size given in the schedule (in "mg") is multiplied by this value for patients falling into this range when this dosage table is used.
Multiply dose
→ scenario → pharmacology → treatments → dosages → multiply
<multiply
by=("kg")
/>
Documentation (element)
Multiply the dose by some quantity, such as patient weight.
Attributes
By what?
by=("kg")
Quantity to multiply the dose by. Only option is "kg" (patient weight in kg).
Drug library
→ scenario → pharmacology → drugs
<drugs>
IN THIS ORDER:
| ( <drug ... /> )+
</drugs>
Documentation (element)
A library of drug PK/PD data.
drug
→ scenario → pharmacology → drugs → drug
<drug
abbrev=string
>
IN THIS ORDER:
| <PD ... />
| <PK ... />
</drug>
Documentation (type)
A drug description with PK/PD parameters.
Attributes
abbrev
abbrev=string
PD
→ scenario → pharmacology → drugs → drug → PD
<PD
[ locus=string ]
>
IN THIS ORDER:
| ( <phenotype ... /> )+
</PD>
Attributes
Locus
locus=string
Optional; if present specifies the locus corresponding to this drug's PD phenotypes: each phenotype must then match one of that locus's alleles. Otherwise the drug should specify only one phenotype. There is currently a one-to-many correspondance between loci and drugs.
PD parameters for some allele / resistance phenotype
→ scenario → pharmacology → drugs → drug → PD → phenotype
<phenotype
[ name=string ]
>
IN THIS ORDER:
| ( <restriction ... /> )*
| <max_killing_rate ... />
| <IC50 ... />
| <slope ... />
</phenotype>
Documentation (element)
Pharmaco-Dynamic parameters for some resistance phenotype.
To model resistance to this drug, describe multiple infection phenotypes (with respect to these PD parameters) and list one or more "restrict" elements for each phenotype.
Loci are specified elsewhere. Multiple loci may influence the action of a single drug and each locus may influence multiple drugs.
Attributes
Name of phenotype
name=string
Name of the phenotype; for documentation use only.
Restrict phenotype applicability to certain alleles
→ scenario → pharmacology → drugs → drug → PD → phenotype → restriction
<restriction
onLocus=string
toAllele=string
/>
Documentation (element)
Specifies the mapping from genotype to phenotype. For each drug type, if only one phenotype is present, restrictions need not be specified, but otherwise restrictions must be specified.
The set of loci affecting phenotypes of this drug's action must be fixed for any drug type. Each phenotype must list, for each of these loci, a restriction to one or more alleles under the locus.
Attributes
Locus relevant to the mapping of alleles to this phenotype
onLocus=string
A locus under which only a restricted set of alleles map to this phenotype.
Alleles mapping to this phenotype
toAllele=string
One allele of a locus upon which phenotype choice depends. If multiple alleles under this locus should map to the same phenotype, repeat the whole "restriction onLocus..." element.
Maximal parasite killing rate
→ scenario → pharmacology → drugs → drug → PD → phenotype → max_killing_rate
<max_killing_rate>
double
</max_killing_rate>
Documentation (element)
Units: 1/days Min: 0
k1 — Maximal parasite killing rate.
IC50
→ scenario → pharmacology → drugs → drug → PD → phenotype → IC50
<IC50
[ CV=double ]
[ distr=("const" or "lognormal" or "gamma") ] DEFAULT VALUE const
[ variance=double ]
mean=double
/>
Documentation (element)
Units: mg/l Min: 0
Half maximal effect concentration.
If CV > 0, the IC50 is sampled from a log-normal distribution.
Documentation (type)
A parameter with optional log-normal heterogeneity.
The mean value must be specified. Optionally, a distribution ("distr") and coefficient of variation ("CV") may be specified.
Documentation (base type)
A parameter with optional heterogeneity.
The mean cannot be specified (unless this type is extended). Optionally, a distribution ("distr") and coefficient of variation ("CV") may be specified.
Attributes
Coefficient of variation
CV=double
Units: unitless
The (linear) coefficient of variation. This value must be specified when a (non-constant) distribution is used. Note: since version 46, variance can be used instead. Note that specifying CV="0" has the same effect as distr="const" and disables sampling of this parameter, even if distr is not "const".
Distribution
distr=("const" or "lognormal" or "gamma")
Default value: const
To allow heterogeneity, a distribution must be specified. Valid options are as follows. "const": no variation or sampling. Specifying distr="const" has the same effect as not specifying distr at all. "lognormal": the parameter is sampled from a log-normal distribution. Note that the "mean" and "CV" values are linear (arithmetic) properties of the distribution and not log-space properties.
Coefficient of variation
variance=double
Units: unitless
The variance parameter of the distirbution. This value can be specified when a (non-constant) distribution is used. Note that specifying variance="0" has the same effect as distr="const" and disables sampling of this parameter, even if distr is not "const".
mean
mean=double
The (linear) mean value.
Slope of effect curve
→ scenario → pharmacology → drugs → drug → PD → phenotype → slope
<slope>
double
</slope>
Documentation (element)
Units: dimensionless
n — Slope of the concentration effect curve
PK
→ scenario → pharmacology → drugs → drug → PK
<PK>
IN THIS ORDER:
| <negligible_concentration ... />
| EXACTLY ONE OF:
| | <half_life ... />
| | IN THIS ORDER:
| | | <k ... />
| | | <m_exponent ... />
| [ <k_a ... /> ]
| [ <conversion ... /> ]
| <vol_dist ... />
| [ <compartment2 ... /> ]
| [ <compartment3 ... /> ]
</PK>
Drug concentration considered negligible
→ scenario → pharmacology → drugs → drug → PK → negligible_concentration
<negligible_concentration>
double
</negligible_concentration>
Documentation (element)
Units: mg/l Min: 0
Concentration below which drug's effects are deemed negligible and can be removed from simulation.
drug half-life
→ scenario → pharmacology → drugs → drug → PK → half_life
<half_life>
double
</half_life>
Documentation (element)
Units: days Min: 0
Used to calculate elimination rate λ, calculated as λ = ln(2) / half_life. The basic form of decay is C(t) = C0 * exp(-λ*t).
Alternatively, elimination rate can be specified via k and m_exponent.
Constant associated with elimination rate (k)
→ scenario → pharmacology → drugs → drug → PK → k
<k
[ CV=double ]
[ distr=("const" or "lognormal" or "gamma") ] DEFAULT VALUE const
[ variance=double ]
mean=double
/>
Documentation (element)
Units: day^-1 Min: 0
Constant used to calculate the elimination rate λ, which is calculated as λ = k / (body_mass ^ m_exponent), where body_mass is the patient's weight in kg and m_exponent is the next parameter. The basic form of decay is C(t) = C0 * exp(-λ*t).
If CV > 0, k is sampled per-human from the log-normal distribution: ln N( ln(mean) - σ^2 / 2, σ^2).
Alternatively, elimination rate can be specified via half_life.
Documentation (type)
A parameter with optional log-normal heterogeneity.
The mean value must be specified. Optionally, a distribution ("distr") and coefficient of variation ("CV") may be specified.
Documentation (base type)
A parameter with optional heterogeneity.
The mean cannot be specified (unless this type is extended). Optionally, a distribution ("distr") and coefficient of variation ("CV") may be specified.
Attributes
Coefficient of variation
CV=double
Units: unitless
The (linear) coefficient of variation. This value must be specified when a (non-constant) distribution is used. Note: since version 46, variance can be used instead. Note that specifying CV="0" has the same effect as distr="const" and disables sampling of this parameter, even if distr is not "const".
Distribution
distr=("const" or "lognormal" or "gamma")
Default value: const
To allow heterogeneity, a distribution must be specified. Valid options are as follows. "const": no variation or sampling. Specifying distr="const" has the same effect as not specifying distr at all. "lognormal": the parameter is sampled from a log-normal distribution. Note that the "mean" and "CV" values are linear (arithmetic) properties of the distribution and not log-space properties.
Coefficient of variation
variance=double
Units: unitless
The variance parameter of the distirbution. This value can be specified when a (non-constant) distribution is used. Note that specifying variance="0" has the same effect as distr="const" and disables sampling of this parameter, even if distr is not "const".
mean
mean=double
The (linear) mean value.
Constant associated with elimination rate (m_exponent)
→ scenario → pharmacology → drugs → drug → PK → m_exponent
<m_exponent>
double
</m_exponent>
Documentation (element)
Units: day^-1 Min: 0
Constant used to calculate the elimination rate λ, which is calculated as λ = k / (body_mass ^ m_exponent), where body_mass is the patient's weight in kg and k is the previous parameter. The basic form of decay is C(t) = C0 * exp(-λ*t).
Alternatively, elimination rate can be specified via half_life.
Note that in the case of a conversion model, this applies to both the elimination and the conversion rates.
Absorption rate constant (k_a)
→ scenario → pharmacology → drugs → drug → PK → k_a
<k_a
[ CV=double ]
[ distr=("const" or "lognormal" or "gamma") ] DEFAULT VALUE const
[ variance=double ]
mean=double
/>
Documentation (element)
Min: 0
Absorption rate parameter. Not allowed for one compartment models, but required for two and three compartment models and one compartment with conversion model (for the parent drug only).
Documentation (type)
A parameter with optional log-normal heterogeneity.
The mean value must be specified. Optionally, a distribution ("distr") and coefficient of variation ("CV") may be specified.
Documentation (base type)
A parameter with optional heterogeneity.
The mean cannot be specified (unless this type is extended). Optionally, a distribution ("distr") and coefficient of variation ("CV") may be specified.
Attributes
Coefficient of variation
CV=double
Units: unitless
The (linear) coefficient of variation. This value must be specified when a (non-constant) distribution is used. Note: since version 46, variance can be used instead. Note that specifying CV="0" has the same effect as distr="const" and disables sampling of this parameter, even if distr is not "const".
Distribution
distr=("const" or "lognormal" or "gamma")
Default value: const
To allow heterogeneity, a distribution must be specified. Valid options are as follows. "const": no variation or sampling. Specifying distr="const" has the same effect as not specifying distr at all. "lognormal": the parameter is sampled from a log-normal distribution. Note that the "mean" and "CV" values are linear (arithmetic) properties of the distribution and not log-space properties.
Coefficient of variation
variance=double
Units: unitless
The variance parameter of the distirbution. This value can be specified when a (non-constant) distribution is used. Note that specifying variance="0" has the same effect as distr="const" and disables sampling of this parameter, even if distr is not "const".
mean
mean=double
The (linear) mean value.
Conversion parameters (parent drug)
→ scenario → pharmacology → drugs → drug → PK → conversion
<conversion>
IN ANY ORDER:
| <metabolite ... />
| <rate ... />
| <molRatio ... />
| <IC50_log_correlation ... />
</conversion>
Documentation (element)
Configures the parent drug in a conversion model.
To use a conversion model, the parent drug should have this section defined as well as half-life or k (direct elimination; this may be zero) and k_a (absorption rate; this may be large).
The metabolite drug should define half-life or k (elimination of metabolite), but not k_a (absorption rate) or this section (conversion). It is not possible for the metabolite to itself undergo conversion with the current models.
Metabolite drug (abbreviation)
→ scenario → pharmacology → drugs → drug → PK → conversion → metabolite
<metabolite>
string
</metabolite>
Documentation (element)
The abbreviation of the metabolite drug (e.g. "DHA" or "DHA_AR").
Rate of conversion
→ scenario → pharmacology → drugs → drug → PK → conversion → rate
<rate
[ CV=double ]
[ distr=("const" or "lognormal" or "gamma") ] DEFAULT VALUE const
[ variance=double ]
mean=double
/>
Documentation (element)
Rate of conversion of parent drug to metabolite.
Documentation (type)
A parameter with optional log-normal heterogeneity.
The mean value must be specified. Optionally, a distribution ("distr") and coefficient of variation ("CV") may be specified.
Documentation (base type)
A parameter with optional heterogeneity.
The mean cannot be specified (unless this type is extended). Optionally, a distribution ("distr") and coefficient of variation ("CV") may be specified.
Attributes
Coefficient of variation
CV=double
Units: unitless
The (linear) coefficient of variation. This value must be specified when a (non-constant) distribution is used. Note: since version 46, variance can be used instead. Note that specifying CV="0" has the same effect as distr="const" and disables sampling of this parameter, even if distr is not "const".
Distribution
distr=("const" or "lognormal" or "gamma")
Default value: const
To allow heterogeneity, a distribution must be specified. Valid options are as follows. "const": no variation or sampling. Specifying distr="const" has the same effect as not specifying distr at all. "lognormal": the parameter is sampled from a log-normal distribution. Note that the "mean" and "CV" values are linear (arithmetic) properties of the distribution and not log-space properties.
Coefficient of variation
variance=double
Units: unitless
The variance parameter of the distirbution. This value can be specified when a (non-constant) distribution is used. Note that specifying variance="0" has the same effect as distr="const" and disables sampling of this parameter, even if distr is not "const".
mean
mean=double
The (linear) mean value.
Molecular weight ratio
→ scenario → pharmacology → drugs → drug → PK → conversion → molRatio
<molRatio>
double
</molRatio>
Documentation (element)
Ratio of molecular weights: molecular weight of the metabolite divided by molecular weight of the parent.
IC50 log correlation
→ scenario → pharmacology → drugs → drug → PK → conversion → IC50_log_correlation
<IC50_log_correlation>
double
</IC50_log_correlation>
Documentation (element)
Min: 0 Max: 1
The IC50 values of parent and metabolite drugs may be sampled from the log-normal distribution (if CV is greater than 0). This parameter controls correlation between these samples, measured in log-space.
If this value is 1, samples are fully correlated: a single z-score is used to calculate both samples. If this is 0, two independent samples are used.
Values between 0 and 1 (partial correlation) are supported; in this case IC50 values are sampled such that cor(log(x), log(y)) matches this value (where x, y are parent and metabolite IC50 values).
Volume of Distribution (Vd)
→ scenario → pharmacology → drugs → drug → PK → vol_dist
<vol_dist
[ CV=double ]
[ distr=("const" or "lognormal" or "gamma") ] DEFAULT VALUE const
[ variance=double ]
mean=double
/>
Documentation (element)
Units: l/kg Min: 0
Volume of Distribution.
If CV > 0 this is sampled from a log-normal distribution.
Documentation (type)
A parameter with optional log-normal heterogeneity.
The mean value must be specified. Optionally, a distribution ("distr") and coefficient of variation ("CV") may be specified.
Documentation (base type)
A parameter with optional heterogeneity.
The mean cannot be specified (unless this type is extended). Optionally, a distribution ("distr") and coefficient of variation ("CV") may be specified.
Attributes
Coefficient of variation
CV=double
Units: unitless
The (linear) coefficient of variation. This value must be specified when a (non-constant) distribution is used. Note: since version 46, variance can be used instead. Note that specifying CV="0" has the same effect as distr="const" and disables sampling of this parameter, even if distr is not "const".
Distribution
distr=("const" or "lognormal" or "gamma")
Default value: const
To allow heterogeneity, a distribution must be specified. Valid options are as follows. "const": no variation or sampling. Specifying distr="const" has the same effect as not specifying distr at all. "lognormal": the parameter is sampled from a log-normal distribution. Note that the "mean" and "CV" values are linear (arithmetic) properties of the distribution and not log-space properties.
Coefficient of variation
variance=double
Units: unitless
The variance parameter of the distirbution. This value can be specified when a (non-constant) distribution is used. Note that specifying variance="0" has the same effect as distr="const" and disables sampling of this parameter, even if distr is not "const".
mean
mean=double
The (linear) mean value.
Second compartment parameters
→ scenario → pharmacology → drugs → drug → PK → compartment2
<compartment2>
IN ANY ORDER:
| <k12 ... />
| <k21 ... />
</compartment2>
Documentation (element)
Optional element specifying conversion parameters to- and from- a second compartment.
Absorption rate to compartment 2 (k12)
→ scenario → pharmacology → drugs → drug → PK → compartment2 → k12
<k12
[ CV=double ]
[ distr=("const" or "lognormal" or "gamma") ] DEFAULT VALUE const
[ variance=double ]
mean=double
/>
Documentation (element)
Units: day^-1 Min: 0
Absorption rate from the central compartment to the first periphery compartment (2).
It is sampled per-patient when CV > 0.
Documentation (type)
A parameter with optional log-normal heterogeneity.
The mean value must be specified. Optionally, a distribution ("distr") and coefficient of variation ("CV") may be specified.
Documentation (base type)
A parameter with optional heterogeneity.
The mean cannot be specified (unless this type is extended). Optionally, a distribution ("distr") and coefficient of variation ("CV") may be specified.
Attributes
Coefficient of variation
CV=double
Units: unitless
The (linear) coefficient of variation. This value must be specified when a (non-constant) distribution is used. Note: since version 46, variance can be used instead. Note that specifying CV="0" has the same effect as distr="const" and disables sampling of this parameter, even if distr is not "const".
Distribution
distr=("const" or "lognormal" or "gamma")
Default value: const
To allow heterogeneity, a distribution must be specified. Valid options are as follows. "const": no variation or sampling. Specifying distr="const" has the same effect as not specifying distr at all. "lognormal": the parameter is sampled from a log-normal distribution. Note that the "mean" and "CV" values are linear (arithmetic) properties of the distribution and not log-space properties.
Coefficient of variation
variance=double
Units: unitless
The variance parameter of the distirbution. This value can be specified when a (non-constant) distribution is used. Note that specifying variance="0" has the same effect as distr="const" and disables sampling of this parameter, even if distr is not "const".
mean
mean=double
The (linear) mean value.
Absorption rate from compartment 2 (k21)
→ scenario → pharmacology → drugs → drug → PK → compartment2 → k21
<k21
[ CV=double ]
[ distr=("const" or "lognormal" or "gamma") ] DEFAULT VALUE const
[ variance=double ]
mean=double
/>
Documentation (element)
Units: day^-1 Min: 0
Absorption rate from the first periphery compartment (2) to the central compartment.
It is sampled per-patient when CV > 0.
Documentation (type)
A parameter with optional log-normal heterogeneity.
The mean value must be specified. Optionally, a distribution ("distr") and coefficient of variation ("CV") may be specified.
Documentation (base type)
A parameter with optional heterogeneity.
The mean cannot be specified (unless this type is extended). Optionally, a distribution ("distr") and coefficient of variation ("CV") may be specified.
Attributes
Coefficient of variation
CV=double
Units: unitless
The (linear) coefficient of variation. This value must be specified when a (non-constant) distribution is used. Note: since version 46, variance can be used instead. Note that specifying CV="0" has the same effect as distr="const" and disables sampling of this parameter, even if distr is not "const".
Distribution
distr=("const" or "lognormal" or "gamma")
Default value: const
To allow heterogeneity, a distribution must be specified. Valid options are as follows. "const": no variation or sampling. Specifying distr="const" has the same effect as not specifying distr at all. "lognormal": the parameter is sampled from a log-normal distribution. Note that the "mean" and "CV" values are linear (arithmetic) properties of the distribution and not log-space properties.
Coefficient of variation
variance=double
Units: unitless
The variance parameter of the distirbution. This value can be specified when a (non-constant) distribution is used. Note that specifying variance="0" has the same effect as distr="const" and disables sampling of this parameter, even if distr is not "const".
mean
mean=double
The (linear) mean value.
Third compartment parameters
→ scenario → pharmacology → drugs → drug → PK → compartment3
<compartment3>
IN ANY ORDER:
| <k13 ... />
| <k31 ... />
</compartment3>
Documentation (element)
Optional element specifying conversion parameters to- and from- a third compartment.
Absorption rate to compartment 3 (k13)
→ scenario → pharmacology → drugs → drug → PK → compartment3 → k13
<k13
[ CV=double ]
[ distr=("const" or "lognormal" or "gamma") ] DEFAULT VALUE const
[ variance=double ]
mean=double
/>
Documentation (element)
Units: day^-1 Min: 0
Absorption rate from the central compartment to the second periphery compartment (3).
It is sampled per-patient when CV > 0.
Documentation (type)
A parameter with optional log-normal heterogeneity.
The mean value must be specified. Optionally, a distribution ("distr") and coefficient of variation ("CV") may be specified.
Documentation (base type)
A parameter with optional heterogeneity.
The mean cannot be specified (unless this type is extended). Optionally, a distribution ("distr") and coefficient of variation ("CV") may be specified.
Attributes
Coefficient of variation
CV=double
Units: unitless
The (linear) coefficient of variation. This value must be specified when a (non-constant) distribution is used. Note: since version 46, variance can be used instead. Note that specifying CV="0" has the same effect as distr="const" and disables sampling of this parameter, even if distr is not "const".
Distribution
distr=("const" or "lognormal" or "gamma")
Default value: const
To allow heterogeneity, a distribution must be specified. Valid options are as follows. "const": no variation or sampling. Specifying distr="const" has the same effect as not specifying distr at all. "lognormal": the parameter is sampled from a log-normal distribution. Note that the "mean" and "CV" values are linear (arithmetic) properties of the distribution and not log-space properties.
Coefficient of variation
variance=double
Units: unitless
The variance parameter of the distirbution. This value can be specified when a (non-constant) distribution is used. Note that specifying variance="0" has the same effect as distr="const" and disables sampling of this parameter, even if distr is not "const".
mean
mean=double
The (linear) mean value.
Absorption rate from compartment 3 (k31)
→ scenario → pharmacology → drugs → drug → PK → compartment3 → k31
<k31
[ CV=double ]
[ distr=("const" or "lognormal" or "gamma") ] DEFAULT VALUE const
[ variance=double ]
mean=double
/>
Documentation (element)
Units: day^-1 Min: 0
Absorption rate from the second periphery compartment (3) to the central compartment.
It is sampled per-patient when CV > 0.
Documentation (type)
A parameter with optional log-normal heterogeneity.
The mean value must be specified. Optionally, a distribution ("distr") and coefficient of variation ("CV") may be specified.
Documentation (base type)
A parameter with optional heterogeneity.
The mean cannot be specified (unless this type is extended). Optionally, a distribution ("distr") and coefficient of variation ("CV") may be specified.
Attributes
Coefficient of variation
CV=double
Units: unitless
The (linear) coefficient of variation. This value must be specified when a (non-constant) distribution is used. Note: since version 46, variance can be used instead. Note that specifying CV="0" has the same effect as distr="const" and disables sampling of this parameter, even if distr is not "const".
Distribution
distr=("const" or "lognormal" or "gamma")
Default value: const
To allow heterogeneity, a distribution must be specified. Valid options are as follows. "const": no variation or sampling. Specifying distr="const" has the same effect as not specifying distr at all. "lognormal": the parameter is sampled from a log-normal distribution. Note that the "mean" and "CV" values are linear (arithmetic) properties of the distribution and not log-space properties.
Coefficient of variation
variance=double
Units: unitless
The variance parameter of the distirbution. This value can be specified when a (non-constant) distribution is used. Note that specifying variance="0" has the same effect as distr="const" and disables sampling of this parameter, even if distr is not "const".
mean
mean=double
The (linear) mean value.
Diagnostic parameters
→ scenario → diagnostics
<diagnostics>
IN THIS ORDER:
| ( <diagnostic ... /> )*
</diagnostics>
Documentation (element)
Diagnostic model parameters
diagnostic
→ scenario → diagnostics → diagnostic
<diagnostic
name=string
[ units=("Other" or "Garki" or "Malariatherapy") ]
[ mechanism=("Other" or "HRP2") ] DEFAULT VALUE Other
>
IN THIS ORDER:
| EXACTLY ONE OF:
| | <deterministic ... />
| | <stochastic ... />
</diagnostic>
Attributes
Name of diagnostic
name=string
Name of this diagnostic (parameterisation). May be used elsewhere in the XML document to refer to this set of diagnostic parameters.
Parasite density units / methodology
units=("Other" or "Garki" or "Malariatherapy")
Parasite densities, as estimated according to standard microscopy methods, the Garki method, and as derived from Malariatherapy data are not equivalent. Internally, a "bias" factor is used to convert values estimated by one methods to values comparable with another (see AJTMHv75 supplement 2 pp20-21). This option allows specification of which methodology the density given in the diagnostic specification is measured with. Values allowed are: Malariatherapy, Garki and Other. If not specified, Other is assumed, unless the GARKI_DENSITY_BIAS model option is used, in which case this option must be specified.
Mechanism
mechanism=("Other" or "HRP2")
Default value: Other
Mechanism by which this diagnostic functions. Possible values are: HRP2, Other. In the case of HRP2, infections with an hrp2_deletion will be invisible to this diagnostic. In the case of Other, the diagnostic is unaffected by infection genome. The diagnostic used for monitoring cannot use HRP2. (This is a restriction made to simplify implementation.)
Deterministic detection
→ scenario → diagnostics → diagnostic → deterministic
<deterministic
minDensity=double
/>
Documentation (element)
Specify that an artificial deterministic test is used: outcome is positive if parasite density is at least the minimum given.
Attributes
Minimum detectible density
minDensity=double
Units: parasites/microlitre Min: 0
The minimum density at which parasites can be detected. If 0, the test outcome is always positive.
Non-deterministic detection
→ scenario → diagnostics → diagnostic → stochastic
<stochastic
dens_50=double
specificity=double
/>
Documentation (element)
An improved model of detection which is non-deterministic, including false positive results as well as false negatives.
The probability of a positive outcome is modelled as 1 + s×(x/(x+d) - 1) where x is the parasite density, d is the density at which the test outcome has a 50% chance of being positive, and s is the probability of a positive outcome given no parasites (the specificity).
Some parameterisations:
Microscopy sensitivity/specificity data in Africa; Source: expert opinion — Allan Schapira dens_50 = 20.0 specificity = .75
RDT sensitivity/specificity for Plasmodium falciparum in Africa Source: Murray et al (Clinical Microbiological Reviews, Jan. 2008) dens_50 = 50.0; specificity = .942;
Attributes
Density 50
dens_50=double
Units: parasites/microlitre Min: 0
The density at which the test outcome has a 50% chance of being positive.
Specificity
specificity=double
Units: Dimensionless Min: 0 Max: 1
The probability of a positive test outcome in the absense of parasites.
Model options and parameters
<model>
IN ANY ORDER:
| <ModelOptions ... />
| <clinical ... />
| <human ... />
| [ <vivax ... /> ]
| <parameters ... />
</model>
Documentation (element)
Encapsulation of all parameters which describe the model according to which fitting is done.
Model Options
→ scenario → model → ModelOptions
<ModelOptions>
IN THIS ORDER:
| ( <option ... /> )*
</ModelOptions>
Documentation (element)
All model options (bug fixes, choices between models, etc.).
The list of recognised options can be found in the code at:
model/util/ModelOptions.h and should also be in the wiki.
clinical
<clinical
healthSystemMemory=string
>
IN ANY ORDER:
| [ <NeonatalMortality ... /> ]
| [ <NonMalariaFevers ... /> ]
</clinical>
Documentation (type)
Description of clinical parameters that are related to the health-system description, but which contain data that cannot be changed as part of an intervention and that are not restricted to treatment.
Attributes
Follow-up period during which recurrence is considered a treatment failure
healthSystemMemory=string
Units: User-defined (defaults to steps)
Follow-up period during which a recurrence is considered to be a treatment failure Can be specified in steps (e.g. 6t) or days (e.g. 28d).
Neonatal mortality parameters
→ scenario → model → clinical → NeonatalMortality
<NeonatalMortality
diagnostic=string
/>
Attributes
Diagnostic used to parameterise model
diagnostic=string
The name of a diagnostic used to parameterise the model. Neonatal mortality is derived from malaria patency of a certain sub-population of humans. This is the diagnostic used to asses patency for this purpose. If this is not specified, the monitoring diagnostic is used.
NonMalariaFevers
→ scenario → model → clinical → NonMalariaFevers
<NonMalariaFevers>
IN THIS ORDER:
| <incidence ... />
| [ <prNeedTreatmentNMF ... /> ]
| [ <prNeedTreatmentMF ... /> ]
</NonMalariaFevers>
Documentation (type)
Description of the incidence of non-malaria fever. Non-malaria fevers are only modelled if the NON_MALARIA_FEVERS option is used.
P(NMF)
→ scenario → model → clinical → NonMalariaFevers → incidence
<incidence
[ interpolation=("none" or "linear") ]
>
IN THIS ORDER:
| ( <group ... /> )+
</incidence>
Documentation (element)
Units: Dimensionless Min: 0.0 Max: 1.0
Probability that a non-malaria fever occurs given that no concurrent malaria fever occurs.
Attributes
interpolation
interpolation=("none" or "linear")
Interpolation algorithm. Normally it is desirable for age-based values to be continuous w.r.t. age. By default linear interpolation is used. With all algorithms except "none", the age groups are converted to a set of points centred within each age range. Extra points are added at each end (zero and infinity) to keep value constant at both ends of the function. A zero-length age group may be used as a kind of barrier to adjust the distribution; e.g. with age group boundaries at 15, 20 and 25 years, a (linear) spline would be drawn between ages 17.5 and 22.5, whereas with boundaries at 15, 20 and 20 years, a spline would be drawn between ages 17.5 and 20 years (may be desired if individuals are assumed to reach adult size at 20). Algorithms:
- none: input values are used directly
- linear: straight lines (on an age vs. value graph) are used to interpolate data points.
P(need treatment | NMF)
→ scenario → model → clinical → NonMalariaFevers → prNeedTreatmentNMF
<prNeedTreatmentNMF
[ interpolation=("none" or "linear") ]
>
IN THIS ORDER:
| ( <group ... /> )+
</prNeedTreatmentNMF>
Documentation (element)
Units: Dimensionless Min: 0 Max: 1
Probability that a non-malarial fever requires treatment with antibiotics (assuming fever is not induced by malaria, although concurrent parasites may be present).
Attributes
interpolation
interpolation=("none" or "linear")
Interpolation algorithm. Normally it is desirable for age-based values to be continuous w.r.t. age. By default linear interpolation is used. With all algorithms except "none", the age groups are converted to a set of points centred within each age range. Extra points are added at each end (zero and infinity) to keep value constant at both ends of the function. A zero-length age group may be used as a kind of barrier to adjust the distribution; e.g. with age group boundaries at 15, 20 and 25 years, a (linear) spline would be drawn between ages 17.5 and 22.5, whereas with boundaries at 15, 20 and 20 years, a spline would be drawn between ages 17.5 and 20 years (may be desired if individuals are assumed to reach adult size at 20). Algorithms:
- none: input values are used directly
- linear: straight lines (on an age vs. value graph) are used to interpolate data points.
P(need treatment | MF)
→ scenario → model → clinical → NonMalariaFevers → prNeedTreatmentMF
<prNeedTreatmentMF
[ interpolation=("none" or "linear") ]
>
IN THIS ORDER:
| ( <group ... /> )+
</prNeedTreatmentMF>
Documentation (element)
Units: Dimensionless Min: 0 Max: 1
Probability that a malaria fever needs treatment with antibiotics (assuming fever is induced by malaria, although concurrent bacteria may be present).
Meaning partially overlaps with separate model for comorbidity given malaria.
Attributes
interpolation
interpolation=("none" or "linear")
Interpolation algorithm. Normally it is desirable for age-based values to be continuous w.r.t. age. By default linear interpolation is used. With all algorithms except "none", the age groups are converted to a set of points centred within each age range. Extra points are added at each end (zero and infinity) to keep value constant at both ends of the function. A zero-length age group may be used as a kind of barrier to adjust the distribution; e.g. with age group boundaries at 15, 20 and 25 years, a (linear) spline would be drawn between ages 17.5 and 22.5, whereas with boundaries at 15, 20 and 20 years, a spline would be drawn between ages 17.5 and 20 years (may be desired if individuals are assumed to reach adult size at 20). Algorithms:
- none: input values are used directly
- linear: straight lines (on an age vs. value graph) are used to interpolate data points.
human
<human>
IN THIS ORDER:
| <availabilityToMosquitoes ... />
| [ <weight ... /> ]
</human>
Documentation (type)
Parameters of host models.
Availability to mosquitoes
→ scenario → model → human → availabilityToMosquitoes
<availabilityToMosquitoes
[ interpolation=("none" or "linear") ]
>
IN THIS ORDER:
| ( <group ... /> )+
</availabilityToMosquitoes>
Documentation (element)
Units: None Min: 0 Max: 1
Availability of humans to mosquitoes relative to an adult, categorized by age group
Attributes
interpolation
interpolation=("none" or "linear")
Interpolation algorithm. Normally it is desirable for age-based values to be continuous w.r.t. age. By default linear interpolation is used. With all algorithms except "none", the age groups are converted to a set of points centred within each age range. Extra points are added at each end (zero and infinity) to keep value constant at both ends of the function. A zero-length age group may be used as a kind of barrier to adjust the distribution; e.g. with age group boundaries at 15, 20 and 25 years, a (linear) spline would be drawn between ages 17.5 and 22.5, whereas with boundaries at 15, 20 and 20 years, a spline would be drawn between ages 17.5 and 20 years (may be desired if individuals are assumed to reach adult size at 20). Algorithms:
- none: input values are used directly
- linear: straight lines (on an age vs. value graph) are used to interpolate data points.
Weight
→ scenario → model → human → weight
<weight
[ interpolation=("none" or "linear") ]
multStdDev=double
>
IN THIS ORDER:
| ( <group ... /> )+
</weight>
Documentation (element)
Units: kg Min: 0
By age group data on human weight (mass).
Attributes
interpolation
interpolation=("none" or "linear")
Interpolation algorithm. Normally it is desirable for age-based values to be continuous w.r.t. age. By default linear interpolation is used. With all algorithms except "none", the age groups are converted to a set of points centred within each age range. Extra points are added at each end (zero and infinity) to keep value constant at both ends of the function. A zero-length age group may be used as a kind of barrier to adjust the distribution; e.g. with age group boundaries at 15, 20 and 25 years, a (linear) spline would be drawn between ages 17.5 and 22.5, whereas with boundaries at 15, 20 and 20 years, a spline would be drawn between ages 17.5 and 20 years (may be desired if individuals are assumed to reach adult size at 20). Algorithms:
- none: input values are used directly
- linear: straight lines (on an age vs. value graph) are used to interpolate data points.
Standard deviation
multStdDev=double
Units: None Min: 0
Each human is assigned a weight multiplier from a normal distribution with mean 1 and this standard deviation at birth. His/her weight is this multiplier times the mean from age distribution. A standard deviation of zero for no heterogeneity is valid; a rough value from Tanzanian data is 0.14.
Vivax model parameters
<vivax>
IN ANY ORDER:
| <probBloodStageInfectiousToMosq ... />
| <hypnozoiteRelease ... />
| <bloodStageProtectionLatency ... />
| <bloodStageLengthDays ... />
| <clinicalEvents ... />
</vivax>
- probBloodStageInfectiousToMosq
- hypnozoiteRelease
- bloodStageProtectionLatency
- bloodStageLengthDays
- clinicalEvents
Documentation (element)
This describes Vivax model parameters, and is required when using the VIVAX_SIMPLE_MODEL model option.
Probability of mosquito infection
→ scenario → model → vivax → probBloodStageInfectiousToMosq
<probBloodStageInfectiousToMosq
value=double
/>
Documentation (element)
Units: None Min: 0 Max: 1
The chance of a feeding mosquito becoming infected, given that the host is patent. (This may be adjusted by transmission-blocking vaccines.)
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Hypnozoite releases
→ scenario → model → vivax → hypnozoiteRelease
<hypnozoiteRelease
[ pSecondRelease=double ] DEFAULT VALUE 0
>
IN ANY ORDER:
| <numberHypnozoites ... />
| <firstReleaseDays ... />
| [ <secondReleaseDays ... /> ]
</hypnozoiteRelease>
Documentation (element)
Describes the number and times of hypnozoite releases.
Documentation (type)
This element defines probabilites when and how many hypnozoites are released from the liverstage into the blood.
The gap between the start of a new brood of hypnozoites and its release are defined as follows:
latentP + latentRelapse + randomReleaseDelay
randomReleaseDelay is based on one or two lognormal distributions, which are defined in firstRelease and optionally secondRelease.
You can define 2 release distributions, which get added together and represent the probability of hypnozoites which get released before winter (first release) or after (second release).
You can omit the secondRelease element if no release to the blood happens after winter.
Attributes
latent relapse days
pSecondRelease=double
Default value: 0
Probability of a second release. If undefined it is zero.
Number of Hypnozoites
→ scenario → model → vivax → hypnozoiteRelease → numberHypnozoites
<numberHypnozoites
max=int
base=double
/>
Documentation (element)
numberHypnozoites calculates the number of hypnozoites in the liver stage based on a base which is between 0 and 1.
This number is random based on the following distribution and normalized:
max ∑ (base ^ n) n = 0
Attributes
max
max=int
base
base=double
firstReleaseDays
→ scenario → model → vivax → hypnozoiteRelease → firstReleaseDays
<firstReleaseDays
[ CV=double ]
[ distr=("const" or "lognormal" or "gamma") ] DEFAULT VALUE const
[ variance=double ]
mean=double
latentRelapse=double
/>
Documentation (type)
Hypnozoites are released after a delay, calculated as: roundToTSFromDays(delay + latentRelapse)
Here, roundToTSFromDays rounds the input (in days) to the nearest timestep, delay is sampled from a log-normal, and latentRelapse is the parameter specified here.
The delay is sampled from a log-normal distribution, parameterised via the (linear) mean and CV (coefficient of variation) given here.
Documentation (base type)
A parameter with optional log-normal heterogeneity.
The mean value must be specified. Optionally, a distribution ("distr") and coefficient of variation ("CV") may be specified.
Documentation (base type)
A parameter with optional heterogeneity.
The mean cannot be specified (unless this type is extended). Optionally, a distribution ("distr") and coefficient of variation ("CV") may be specified.
Attributes
Coefficient of variation
CV=double
Units: unitless
The (linear) coefficient of variation. This value must be specified when a (non-constant) distribution is used. Note: since version 46, variance can be used instead. Note that specifying CV="0" has the same effect as distr="const" and disables sampling of this parameter, even if distr is not "const".
Distribution
distr=("const" or "lognormal" or "gamma")
Default value: const
To allow heterogeneity, a distribution must be specified. Valid options are as follows. "const": no variation or sampling. Specifying distr="const" has the same effect as not specifying distr at all. "lognormal": the parameter is sampled from a log-normal distribution. Note that the "mean" and "CV" values are linear (arithmetic) properties of the distribution and not log-space properties.
Coefficient of variation
variance=double
Units: unitless
The variance parameter of the distirbution. This value can be specified when a (non-constant) distribution is used. Note that specifying variance="0" has the same effect as distr="const" and disables sampling of this parameter, even if distr is not "const".
mean
mean=double
The (linear) mean value.
latent relapse days
latentRelapse=double
Usually between 10 and 15 days.
secondReleaseDays
→ scenario → model → vivax → hypnozoiteRelease → secondReleaseDays
<secondReleaseDays
[ CV=double ]
[ distr=("const" or "lognormal" or "gamma") ] DEFAULT VALUE const
[ variance=double ]
mean=double
latentRelapse=double
/>
Documentation (type)
Hypnozoites are released after a delay, calculated as: roundToTSFromDays(delay + latentRelapse)
Here, roundToTSFromDays rounds the input (in days) to the nearest timestep, delay is sampled from a log-normal, and latentRelapse is the parameter specified here.
The delay is sampled from a log-normal distribution, parameterised via the (linear) mean and CV (coefficient of variation) given here.
Documentation (base type)
A parameter with optional log-normal heterogeneity.
The mean value must be specified. Optionally, a distribution ("distr") and coefficient of variation ("CV") may be specified.
Documentation (base type)
A parameter with optional heterogeneity.
The mean cannot be specified (unless this type is extended). Optionally, a distribution ("distr") and coefficient of variation ("CV") may be specified.
Attributes
Coefficient of variation
CV=double
Units: unitless
The (linear) coefficient of variation. This value must be specified when a (non-constant) distribution is used. Note: since version 46, variance can be used instead. Note that specifying CV="0" has the same effect as distr="const" and disables sampling of this parameter, even if distr is not "const".
Distribution
distr=("const" or "lognormal" or "gamma")
Default value: const
To allow heterogeneity, a distribution must be specified. Valid options are as follows. "const": no variation or sampling. Specifying distr="const" has the same effect as not specifying distr at all. "lognormal": the parameter is sampled from a log-normal distribution. Note that the "mean" and "CV" values are linear (arithmetic) properties of the distribution and not log-space properties.
Coefficient of variation
variance=double
Units: unitless
The variance parameter of the distirbution. This value can be specified when a (non-constant) distribution is used. Note that specifying variance="0" has the same effect as distr="const" and disables sampling of this parameter, even if distr is not "const".
mean
mean=double
The (linear) mean value.
latent relapse days
latentRelapse=double
Usually between 10 and 15 days.
Blood stage protection latency
→ scenario → model → vivax → bloodStageProtectionLatency
<bloodStageProtectionLatency
value=double
/>
Documentation (element)
Min: 0
The length of time after expiry of a blood-stage infection during which relapses from the same brood are supressed by the immune system.
This is rounded to the nearest time-step.
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Blood stage length
→ scenario → model → vivax → bloodStageLengthDays
<bloodStageLengthDays
scale=double
shape=double
distr=("weibull")
/>
Documentation (element)
Units: Days
Parameters used to sample the length of blood-stage infections from a Weibull distribution (scale parameter lambda, shape parameter k).
Documentation (type)
Parameters of a Weibull distribution.
Attributes
Scale
scale=double
The Weibull scale parameter (λ).
shape
shape=double
The Weibull shape parameter (k).
Distribution
distr=("weibull")
To allow heterogeneity, a distribution must be specified. In this case, only "weibull" is allowed.
clinicalEvents
→ scenario → model → vivax → clinicalEvents
<clinicalEvents>
IN THIS ORDER:
| <pPrimaryInfection ... />
| <pRelapseOne ... />
| <pRelapseTwoPlus ... />
| <pEventIsSevere ... />
| <vivaxClinOption ... />
</clinicalEvents>
Documentation (type)
This elements holds all information about probabilites for clinical events from infections and relapses.
pPrimaryInfection
→ scenario → model → vivax → clinicalEvents → pPrimaryInfection
<pPrimaryInfection
a=double
b=double
/>
Attributes
a
a=double
b
b=double
pRelapseOne
→ scenario → model → vivax → clinicalEvents → pRelapseOne
<pRelapseOne
a=double
b=double
/>
Attributes
a
a=double
b
b=double
pRelapseTwoPlus
→ scenario → model → vivax → clinicalEvents → pRelapseTwoPlus
<pRelapseTwoPlus
a=double
b=double
/>
Attributes
a
a=double
b
b=double
pEventIsSevere
→ scenario → model → vivax → clinicalEvents → pEventIsSevere
<pEventIsSevere
value=double
/>
Attributes
Input parameter value
value=double
A double-precision floating-point value.
vivaxClinOption
→ scenario → model → vivax → clinicalEvents → vivaxClinOption
<vivaxClinOption>
string
</vivaxClinOption>
Parameters of the model of epidemiology
→ scenario → model → parameters
<parameters
interval=int
iseed=int
latentp=string
>
IN THIS ORDER:
| ( <parameter ... /> )+
</parameters>
Documentation (element)
Parameters of the epidemiological model
Attributes
Simulation step
interval=int
Units: Days
Simulation step
Random number seed
iseed=int
Units: Number
Seed for RNG
Pre-erythrocytic latent period
latentp=string
Units: User defined (default: steps) Min: 0 Max: 20
Pre-erythrocytic latent period Can be specified in steps (e.g. 3t) or days (e.g. 15d).
parameter
→ scenario → model → parameters → parameter
<parameter
[ name=string ]
number=int
value=double
[ include=boolean ]
/>
Attributes
Name of parameter
name=string
Units: string
Name of parameter
Parameter number
number=int
Units: Number Min: 1 Max: 100
Reference number of input parameter
Parameter value
value=double
Units: Number Min: 0
Parameter value
Sampling indicator
include=boolean
Units: Number Min: 0 Max: 1
True if parameter is to be sampled in optimization runs. Not used in simulator app.
Schema current documentation
Generated from: scenario_current.xsd
.
Key:
abc required (one)
[ def ] optional (zero or one)
( ghi )* any number (zero or more)
( jkl )+ at least one
( mno ){2,inf} two or more occurrences
Scenario
→ scenario
<scenario
schemaVersion=int
[ analysisNo=int ]
name=string
[ wuID=int ]
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:om="http://openmalaria.org/schema/scenario_current"
xsi:schemaLocation="http://openmalaria.org/schema/scenario_current scenario_current.xsd"
>
IN ANY ORDER:
| <demography ... />
| <monitoring ... />
| <interventions ... />
| <healthSystem ... />
| <entomology ... />
| [ <parasiteGenetics ... /> ]
| [ <pharmacology ... /> ]
| [ <diagnostics ... /> ]
| <model ... />
</scenario>
- demography
- monitoring
- interventions
- healthSystem
- entomology
- parasiteGenetics
- pharmacology
- diagnostics
- model
Documentation (element)
Description of scenario
Attributes
Version of the xml schema
schemaVersion=int
Version of xml schema. If not equal to the current version an error is thrown. Use SchemaTranslator to update xml files.
Reference number of the analysis
analysisNo=int
Units: Number Min: 1 Max: 100000000
Unique identifier of scenario
Name of intervention
name=string
Name of intervention
Work unit identifier
wuID=int
Units: Number
Work unit ID. Obselete and no longer required.
Human age distribution
→ scenario → demography
<demography
name=string
popSize=int
maximumAgeYrs=double
[ growthRate=double ]
>
IN THIS ORDER:
| <ageGroup ... />
</demography>
Documentation (element)
Description of demography
Attributes
Name of demography data
name=string
Name of demography data
Population size
popSize=int
Units: Count Min: 1 Max: 100000
Population size
Maximum age of simulated humans
maximumAgeYrs=double
Units: Years Min: 0 Max: 100
Maximum age of simulated humans in years
Growth rate of human population
growthRate=double
Units: Number Min: 0 Max: 0
Growth rate of human population. (we should be able to implement this with non-zero values)
Age groups
→ scenario → demography → ageGroup
<ageGroup
lowerbound=double
>
IN THIS ORDER:
| ( <group ... /> )+
</ageGroup>
Documentation (element)
list of age groups included in demography
Documentation (type)
list of age groups included in demography or surveys
Attributes
Lower bound of age group
lowerbound=double
Units: Years Min: 0 Max: 100
Lower bound of age group
group
→ scenario → demography → ageGroup → group
<group
poppercent=double
upperbound=double
/>
Attributes
Percentage in age group
poppercent=double
Units: Percentage Min: 0 Max: 100
Percentage of human population in age group
Upper bound of age group
upperbound=double
Units: Years Min: 0 Max: 100
Upper bound of age group
Measures to be reported
→ scenario → monitoring
<monitoring
name=string
[ startDate=string ]
>
IN THIS ORDER:
| [ <continuous ... /> ]
| <SurveyOptions ... />
| <surveys ... />
| <ageGroup ... />
| [ <cohorts ... /> ]
</monitoring>
Documentation (element)
Description of surveys
Attributes
Name of monitoring settings
name=string
Name of monitoring settings
Start of monitoring
startDate=string
An optional date for the start of monitoring. If given, dates may be used to specify when other events (surveys, intervention deployments) occur; alternately times relative to the start of the intervention period may be used to specify event times. Setting this to 1st January of some year might simplify usage of dates, and putting the start a couple of years before the start of intervention deployment (along with some extra surveys) may be useful to check transmission stabilises to the expected pre-intervention levels. As an example, if this date is set to 2000-01-01, then the following event times are equivalent (assuming 1t=5d): 15t, 75d, 0.2y, 2000-03-16. Must be in the form YYYY-MM-DD, e.g. 2003-01-01.
continuous
→ scenario → monitoring → continuous
<continuous
period=string
[ duringInit=boolean ]
>
IN THIS ORDER:
| ( <option ... /> )*
</continuous>
Attributes
Delay between reports
period=string
Units: User defined (default: steps)
Delay between reports; typically one time step but can be greater. Can be specified in steps (e.g. 1t) or days (e.g. 5d).
During initialization
duringInit=boolean
Units: Days Min: 1 Max: unbounded
Also output during initialization. By default this is disabled (only intervention-period data is output). This should not be used for predictions, but can be useful for model validation. In this mode, 'simulation time' is output as the first column (in addition to 'timestep'), since 'timestep' is dis- continuous across the start of the intervention period.
option
→ scenario → monitoring → continuous → option
<option
name=string
[ value=boolean ] DEFAULT VALUE true
/>
Attributes
Option name
name=string
Name of an option (monitoring measure or model option).
Indicator of whether option is required
value=boolean
Default value: true
Option on/off switch (true/false). Specifying value="true" is the same as not specifying a value; specifying value="false" explicitly turns the option off. If an option is not mentioned at all, it is left at its default value (normally off, but in a few cases, such as some bug-fix options, on).
Name of quantity
→ scenario → monitoring → SurveyOptions
<SurveyOptions
[ onlyNewEpisode=boolean ] DEFAULT VALUE false
>
IN THIS ORDER:
| ( <option ... /> )*
</SurveyOptions>
Documentation (element)
List of all active survey options. See model/mon/OutputMeasures.h for a list of supported outputs. Should also be on the wiki.
Attributes
Report only for new cases
onlyNewEpisode=boolean
Default value: false
If set, some statistics exclude humans who have been treated in the recent past (precisely, when the time of last treatment was before the current step and no more than health-system-memory days/steps ago). This is a rough replacement for the REPORT_ONLY_AT_RISK option, with one difference: the maximum age of treatment for REPORT_ONLY_AT_RISK was fixed at 20 days. Affected measures include (as of version 35): nHost (0), nInfect(1), nExpectd (2), nPatent (3), sumLogPyrogenThres (4), sumlogDens (5), totalInfs (6), totalPatentInf (8), sumPyrogenThresh (10), nSubPopRemovalFirstEvent (62), sumAge (68), nInfectByGenotype (69), nPatentByGenotype (70), logDensByGenotype (71), nHostDrugConcNonZero (72), sumLogDrugConcNonZero (73).
option
→ scenario → monitoring → SurveyOptions → option
<option
name=string
[ value=boolean ] DEFAULT VALUE true
[ outputNumber=int ]
[ byAge=boolean ]
[ byCohort=boolean ]
[ bySpecies=boolean ]
[ byGenotype=boolean ]
[ byDrugType=boolean ]
/>
Attributes
Option name
name=string
Name of an option (monitoring measure or model option).
Indicator of whether option is required
value=boolean
Default value: true
Option on/off switch (true/false). Specifying value="true" is the same as not specifying a value; specifying value="false" explicitly turns the option off. If an option is not mentioned at all, it is left at its default value (normally off, but in a few cases, such as some bug-fix options, on).
Number identifying measure in output
outputNumber=int
Number identifying this monitoring measure in the output file (3rd column). Normally this is determined from the measure, but it can be set manually, e.g. for when the same measure is recorded twice (to accumulate across different categories).
Report by age category
byAge=boolean
If true, the measure is reported for each age category. If false, values are summed across all age categories and only the sum reported. If not specified, separate categories will be reported if the measure supports this.
Report by cohort
byCohort=boolean
If true, the measure is reported for each cohort separately. If false, values are summed across all cohorts and only the sum reported. If not specified, separate categories will be reported if the measure supports this.
Report by mosquito species
bySpecies=boolean
If true, the measure is reported for each mosquito species separately. If false, values are summed across all species and only the sum reported. If not specified, separate categories will be reported if the measure supports this.
Report by parasite genotype
byGenotype=boolean
If true, the measure is reported for each parasite genotype separately. If false, values are summed across all genotypes and only the sum reported. If not specified, separate categories will be reported if the measure supports this.
Report by drug type
byDrugType=boolean
If true, the measure is reported for each drug type separately. If false, values are summed across all drug types and only the sum reported. If not specified, separate categories will be reported if the measure supports this.
Survey times (time steps)
→ scenario → monitoring → surveys
<surveys
[ detectionLimit=double ]
[ diagnostic=string ]
>
IN THIS ORDER:
| ( <surveyTime ... /> )+
</surveys>
Documentation (element)
List of survey times
Attributes
Detection limit for parasitaemia
detectionLimit=double
Units: parasites/microlitre Min: 0
Deprecated: limit above which a human's infection is reported as patent. Alternative: do not specify this; instead specify "diagnostic".
Name of monitoring diagnostic
diagnostic=string
Name of a parameterised diagnostic to use in surveys (see scenario/diagnostics).
Survey time
→ scenario → monitoring → surveys → surveyTime
<surveyTime
[ repeatStep=string ]
[ repeatEnd=string ]
[ reported=boolean ] DEFAULT VALUE true
>
string
</surveyTime>
Documentation (element)
Units: User defined (defaults to steps) Min: 0
Time of a survey. A report will be made for those measures enabled under SurveyOptions. Reported data is either from the moment the survey is done (immediate data) or is collected over the time since the previous survey, or in some cases over a fixed time span (usually one year).
Times can be specified in time steps, starting from 0, or as a date (see monitoring/startDate), or in days (e.g. 15d) or years (e.g. 1y). Relative times mean the time since the start of the intervention period, and must be non-negative (zero is valid, but some measures, e.g. nUncomp, will be zero).
The simulation ends immediately after the last survey is taken.
Attributes
Step of repetition
repeatStep=string
Units: User defined
See repeatEnd's documentation.
End of repetition (exclusive)
repeatEnd=string
Units: User defined
Either both repeatStep and repeatEnd should be present or neither. If present, the survey is repeated every repeatStep timesteps (i.e. if t0 is the initial time and x is repeatStep, surveys are done at times t0, t0+x, t0+2*x, ...), ending before repeatEnd (final repetition is the one before repeatEnd). Note that repeatEnd may be specified as a date but repeatStep must be a duration (days, steps or years).
reported
reported=boolean
Default value: true
For normal surveys, reporting=true. If set false, quantities are measured but not reported. The reason for doing this is to update conditions set on reportable measures. Multiple surveys may be given here for the same date, e.g. if using "repeatStep" for both reporting and non-reporting surveys. These are combined such that a maximum of one survey is carried out per time-step, and the survey is reported if any of the listed surveys for this date is configured as "reporting". Note that adding non-reporting surveys will not affect value output by reported surveys, with the exception that generated psuedo-random numbers may be altered (specifically, when any stochastic diagnostics are used in surveys).
Age groups
→ scenario → monitoring → ageGroup
<ageGroup
lowerbound=double
>
IN THIS ORDER:
| ( <group ... /> )+
</ageGroup>
Documentation (element)
List of age groups included in demography or surveys
Attributes
lower bound of age group
lowerbound=double
Units: Years Min: 0 Max: 100
Lower bound of age group
group
→ scenario → monitoring → ageGroup → group
<group
upperbound=double
/>
Attributes
upper bound of age group
upperbound=double
Units: Years Min: 0 Max: 100
Upper bound of age group
Cohorts
→ scenario → monitoring → cohorts
<cohorts>
IN THIS ORDER:
| ( <subPop ... /> )+
</cohorts>
Documentation (element)
Allows the configuration of multiple cohorts (output segregated according to membership within specific sub-populations).
If this element is omitted, monitoring surveys cover the entire simulated human population.
It does not affect the "continuous" outputs (these never take cohorts into account).
Sub-population
→ scenario → monitoring → cohorts → subPop
<subPop
id=string
number=integer
/>
Documentation (element)
Consider a certain sup-population a cohort, and segregate outputs according to membership. Where multiple sub-populations are listed, segregate output according to all combinations of membership: e.g. if sub-populations A and B are listed, there will be outputs for "member of A and B", "member of A but not B", "B but not A" and "not a member of A or B". Listing n sub-populations implies 2^n sets of outputs (each is further segregated by age groups, survey times and enabled output measures, which could lead to excessive program memory usage and output file size).
To identify outputs, each sub-population has a power of two number as identifier (see "number" attribute). Each of the 2^n output sets is identified by a number: the output set is the output from humans who are members in some set of sub-populations (S1, S2, ...) and not members in some others (T1, T2, ...); the number identifying the set is the sum of the numbers identifying the sets S1, S2, etc.
In the output file, the output set is identified by multiplying this number by 1000 then adding it to the age group column.
Attributes
Sub-population identifier
id=string
Textual identifier for the sub-population (i.e. for an intervention component, since sub-populations are defined as the hosts an intervention component is deployed to).
Sub-population number
number=integer
Units: dimensionless Min: 1 Max: 2097152
Number identifying a sub-population; used to define identifiers of output sets. This number must be a power of 2 (i.e. 1, 2, 4, 8, ...). See documentation of subPop element.
Preventative interventions
<interventions
name=string
>
IN ANY ORDER:
| [ <changeHS ... /> ]
| [ <changeEIR ... /> ]
| [ <importedInfections ... /> ]
| [ <insertR_0Case ... /> ]
| [ <uninfectVectors ... /> ]
| [ <vectorPop ... /> ]
| [ <vectorTrap ... /> ]
| [ <nonHumanHostsModifications ... /> ]
| [ <addNonHumanHosts ... /> ]
| [ <human ... /> ]
</interventions>
- changeHS
- changeEIR
- importedInfections
- insertR_0Case
- uninfectVectors
- vectorPop
- vectorTrap
- nonHumanHostsModifications
- addNonHumanHosts
- human
Documentation (element)
List of interventions. Generally these are either point-time distributions of something to some subset of the population, or continuous-time distribution targetting individuals when they reach a certain age.
Attributes
Name of intervention set
name=string
Name of set of interventions
Change health system
→ scenario → interventions → changeHS
<changeHS
[ name=string ]
>
IN THIS ORDER:
| ( <timedDeployment ... /> )*
</changeHS>
Documentation (element)
Changes to the health system
Attributes
Name of intervention
name=string
Name of intervention
timedDeployment
→ scenario → interventions → changeHS → timedDeployment
<timedDeployment
time=string
>
IN THIS ORDER:
| EXACTLY ONE OF:
| | <EventScheduler ... />
| | <ImmediateOutcomes ... />
| | <DecisionTree5Day ... />
| <CFR ... />
| <pSequelaeInpatient ... />
</timedDeployment>
Documentation (type)
A complete replacement health system. Replaces all previous properties. (Health system can be replaced multiple times if necessary.)
Documentation (base type)
Description of case management system, used to specify the initial model or a replacement (an intervention). Encompasses case management data and some other data required to derive case outcomes.
Contains a sub-element describing the particular health-system in use. Health system data is here defined as data used to decide on a treatment strategy, given a case requiring treatment.
Attributes
Time
time=string
Units: User defined (defauls to steps) Min: 0
Time at which this replacement occurs. See doc on intervention period and on monitoring/startDate for details of how times work. Can be specified in steps, days, years, or as a date (examples: 15t, 75d, 0.2y, 2000-03-16).
EventScheduler
→ scenario → healthSystem → EventScheduler
<EventScheduler>
IN THIS ORDER:
| <uncomplicated ... />
| <complicated ... />
| <ClinicalOutcomes ... />
| [ <NonMalariaFevers ... /> ]
</EventScheduler>
uncomplicated
→ scenario → healthSystem → EventScheduler → uncomplicated
<uncomplicated
[ name=string ]
>
EXACTLY ONE OF:
| <multiple ... />
| <caseType ... />
| <infectionOrigin ... />
| <diagnostic ... />
| <uncomplicated ... />
| <severe ... />
| <random ... />
| <age ... />
| <noTreatment ... />
| ( <report ... /> )+
| <treatFailure ... />
| ( <treatPKPD ... /> )+
| ( <treatSimple ... /> )+
| ( <deploy ... /> )*
| <cohort ... />
</uncomplicated>
- multiple
- caseType
- infectionOrigin
- diagnostic
- uncomplicated
- severe
- random
- age
- noTreatment
- report
- treatFailure
- treatPKPD
- treatSimple
- deploy
- cohort
Documentation (type)
Describes how "decisions" are made, both probabilistically and deterministically, and what actions are carried out.
Quantities may also be reported as a side effect of decisions made in the tree, for example the number of diagnostics used.
Attributes
Name
name=string
An optional piece of documentation attached to this node.
multiple
→ scenario → interventions → human → component → decisionTree → multiple
<multiple
[ name=string ]
>
EXACTLY ONE OF:
| ( <caseType ... /> )*
| ( <infectionOrigin ... /> )*
| ( <diagnostic ... /> )*
| ( <uncomplicated ... /> )*
| ( <severe ... /> )*
| ( <random ... /> )*
| ( <age ... /> )*
| ( <treatPKPD ... /> )*
| [ <treatSimple ... /> ]
| ( <deploy ... /> )*
| ( <report ... /> )*
| ( <cohort ... /> )*
</multiple>
- caseType
- infectionOrigin
- diagnostic
- uncomplicated
- severe
- random
- age
- treatPKPD
- treatSimple
- deploy
- report
- cohort
Documentation (type)
A special node allowing multiple sub-trees to be evaluated.
This is different from an ordinary decision tree node in that:
a) multiple types of child can occur simultaneously (e.g. multiple types of treatment or treatment plus a 'random' sub-tree)
b) the 'noTreatment' and 'treatFailure' nodes are not allowed
Attributes
Name
name=string
An optional piece of documentation attached to this node.
caseType
→ scenario → interventions → human → component → decisionTree → multiple → caseType
<caseType
[ name=string ]
>
IN ANY ORDER:
| <firstLine ... />
| <secondLine ... />
</caseType>
Documentation (type)
A switch which choses a branch deterministically, based on whether the patient was treated recently (second line) or not (first line).
For uncomplicated cases only.
Attributes
Name
name=string
An optional piece of documentation attached to this node.
firstLine
→ scenario → interventions → human → component → decisionTree → multiple → caseType → firstLine
<firstLine
[ name=string ]
>
EXACTLY ONE OF:
| <multiple ... />
| <caseType ... />
| <infectionOrigin ... />
| <diagnostic ... />
| <uncomplicated ... />
| <severe ... />
| <random ... />
| <age ... />
| <noTreatment ... />
| ( <report ... /> )+
| <treatFailure ... />
| ( <treatPKPD ... /> )+
| ( <treatSimple ... /> )+
| ( <deploy ... /> )*
| <cohort ... />
</firstLine>
- multiple
- caseType
- infectionOrigin
- diagnostic
- uncomplicated
- severe
- random
- age
- noTreatment
- report
- treatFailure
- treatPKPD
- treatSimple
- deploy
- cohort
Documentation (type)
Describes how "decisions" are made, both probabilistically and deterministically, and what actions are carried out.
Quantities may also be reported as a side effect of decisions made in the tree, for example the number of diagnostics used.
Attributes
Name
name=string
An optional piece of documentation attached to this node.
caseType
→ scenario → interventions → human → component → decisionTree → caseType
<caseType
[ name=string ]
>
IN ANY ORDER:
| <firstLine ... />
| <secondLine ... />
</caseType>
Documentation (type)
A switch which choses a branch deterministically, based on whether the patient was treated recently (second line) or not (first line).
For uncomplicated cases only.
Attributes
Name
name=string
An optional piece of documentation attached to this node.
secondLine
→ scenario → interventions → human → component → decisionTree → multiple → caseType → secondLine
<secondLine
[ name=string ]
>
EXACTLY ONE OF:
| <multiple ... />
| <caseType ... />
| <infectionOrigin ... />
| <diagnostic ... />
| <uncomplicated ... />
| <severe ... />
| <random ... />
| <age ... />
| <noTreatment ... />
| ( <report ... /> )+
| <treatFailure ... />
| ( <treatPKPD ... /> )+
| ( <treatSimple ... /> )+
| ( <deploy ... /> )*
| <cohort ... />
</secondLine>
- multiple
- caseType
- infectionOrigin
- diagnostic
- uncomplicated
- severe
- random
- age
- noTreatment
- report
- treatFailure
- treatPKPD
- treatSimple
- deploy
- cohort
Documentation (type)
Describes how "decisions" are made, both probabilistically and deterministically, and what actions are carried out.
Quantities may also be reported as a side effect of decisions made in the tree, for example the number of diagnostics used.
Attributes
Name
name=string
An optional piece of documentation attached to this node.
infectionOrigin
→ scenario → interventions → human → component → decisionTree → infectionOrigin
<infectionOrigin
[ name=string ]
>
IN ANY ORDER:
| <imported ... />
| <introduced ... />
| <indigenous ... />
</infectionOrigin>
Documentation (type)
A switch which choses a branch deterministically, based on whether the patient has an imported, introduced or indigenous infection.
If the patient is not infected, this will execute the indigenous branch by default. You must use a diagnostic test first to find out if the patient is infected.
If there are no imported cases, all infections will appear indigenous.
Attributes
Name
name=string
An optional piece of documentation attached to this node.
imported
→ scenario → interventions → human → component → decisionTree → multiple → infectionOrigin → imported
<imported
[ name=string ]
>
EXACTLY ONE OF:
| <multiple ... />
| <caseType ... />
| <infectionOrigin ... />
| <diagnostic ... />
| <uncomplicated ... />
| <severe ... />
| <random ... />
| <age ... />
| <noTreatment ... />
| ( <report ... /> )+
| <treatFailure ... />
| ( <treatPKPD ... /> )+
| ( <treatSimple ... /> )+
| ( <deploy ... /> )*
| <cohort ... />
</imported>
- multiple
- caseType
- infectionOrigin
- diagnostic
- uncomplicated
- severe
- random
- age
- noTreatment
- report
- treatFailure
- treatPKPD
- treatSimple
- deploy
- cohort
Documentation (type)
Describes how "decisions" are made, both probabilistically and deterministically, and what actions are carried out.
Quantities may also be reported as a side effect of decisions made in the tree, for example the number of diagnostics used.
Attributes
Name
name=string
An optional piece of documentation attached to this node.
diagnostic
→ scenario → interventions → human → component → decisionTree → diagnostic
<diagnostic
diagnostic=string
[ name=string ]
>
IN ANY ORDER:
| <positive ... />
| <negative ... />
</diagnostic>
Documentation (type)
A switch which choses a branch deterministically, based on the outcome of some type of diagnostic.
Attributes
Name of diagnostic
diagnostic=string
Should match the name of some parameterised diagnostic (see scenario/diagnostics).
Name
name=string
An optional piece of documentation attached to this node.
positive
→ scenario → interventions → human → component → decisionTree → multiple → diagnostic → positive
<positive
[ name=string ]
>
EXACTLY ONE OF:
| <multiple ... />
| <caseType ... />
| <infectionOrigin ... />
| <diagnostic ... />
| <uncomplicated ... />
| <severe ... />
| <random ... />
| <age ... />
| <noTreatment ... />
| ( <report ... /> )+
| <treatFailure ... />
| ( <treatPKPD ... /> )+
| ( <treatSimple ... /> )+
| ( <deploy ... /> )*
| <cohort ... />
</positive>
- multiple
- caseType
- infectionOrigin
- diagnostic
- uncomplicated
- severe
- random
- age
- noTreatment
- report
- treatFailure
- treatPKPD
- treatSimple
- deploy
- cohort
Documentation (type)
Describes how "decisions" are made, both probabilistically and deterministically, and what actions are carried out.
Quantities may also be reported as a side effect of decisions made in the tree, for example the number of diagnostics used.
Attributes
Name
name=string
An optional piece of documentation attached to this node.
uncomplicated
→ scenario → interventions → human → component → decisionTree → uncomplicated
<uncomplicated
[ name=string ]
[ memory=string ] DEFAULT VALUE 1
>
IN ANY ORDER:
| <positive ... />
| <negative ... />
</uncomplicated>
Documentation (type)
A switch which choses a branch deterministically, based on whether the host has an uncomplicated case. This could be a Malaria fever or a non-Malaria fever. If non-Malaria fevers are enable, it is possible to add a
Attributes
Name
name=string
An optional piece of documentation attached to this node.
Number of days to look back for fevers. This must be less than or equal to the healthsystem memory parameter. In general, this should be less than or equal to the repeatStep in MSAT with contiuous deployment
memory=string
Units: User-defined (defaults to steps)
Default value: 1
Follow-up period during which a recurrence is considered to be a treatment failure Can be specified in steps (e.g. 6t) or days (e.g. 28d).
positive
→ scenario → interventions → human → component → decisionTree → multiple → uncomplicated → positive
<positive
[ name=string ]
>
EXACTLY ONE OF:
| <multiple ... />
| <caseType ... />
| <infectionOrigin ... />
| <diagnostic ... />
| <uncomplicated ... />
| <severe ... />
| <random ... />
| <age ... />
| <noTreatment ... />
| ( <report ... /> )+
| <treatFailure ... />
| ( <treatPKPD ... /> )+
| ( <treatSimple ... /> )+
| ( <deploy ... /> )*
| <cohort ... />
</positive>
- multiple
- caseType
- infectionOrigin
- diagnostic
- uncomplicated
- severe
- random
- age
- noTreatment
- report
- treatFailure
- treatPKPD
- treatSimple
- deploy
- cohort
Documentation (type)
Describes how "decisions" are made, both probabilistically and deterministically, and what actions are carried out.
Quantities may also be reported as a side effect of decisions made in the tree, for example the number of diagnostics used.
Attributes
Name
name=string
An optional piece of documentation attached to this node.
severe
→ scenario → interventions → human → component → decisionTree → severe
<severe
[ name=string ]
[ memory=string ]
>
IN ANY ORDER:
| <positive ... />
| <negative ... />
</severe>
Documentation (type)
A switch which choses a branch deterministically, based on whether the host has a severe case or not. Note that this include severe cases due to comorbidities.
Attributes
Name
name=string
An optional piece of documentation attached to this node.
Number of days to look back for fevers. This must be less than or equal to the healthsystem memory parameter. In general, this should be less than or equal to the repeatStep in MSAT with contiuous deployment
memory=string
Units: User-defined (defaults to steps)
Follow-up period during which a recurrence is considered to be a treatment failure Can be specified in steps (e.g. 6t) or days (e.g. 28d).
positive
→ scenario → interventions → human → component → decisionTree → multiple → severe → positive
<positive
[ name=string ]
>
EXACTLY ONE OF:
| <multiple ... />
| <caseType ... />
| <infectionOrigin ... />
| <diagnostic ... />
| <uncomplicated ... />
| <severe ... />
| <random ... />
| <age ... />
| <noTreatment ... />
| ( <report ... /> )+
| <treatFailure ... />
| ( <treatPKPD ... /> )+
| ( <treatSimple ... /> )+
| ( <deploy ... /> )*
| <cohort ... />
</positive>
- multiple
- caseType
- infectionOrigin
- diagnostic
- uncomplicated
- severe
- random
- age
- noTreatment
- report
- treatFailure
- treatPKPD
- treatSimple
- deploy
- cohort
Documentation (type)
Describes how "decisions" are made, both probabilistically and deterministically, and what actions are carried out.
Quantities may also be reported as a side effect of decisions made in the tree, for example the number of diagnostics used.
Attributes
Name
name=string
An optional piece of documentation attached to this node.
random
→ scenario → interventions → human → component → decisionTree → random
<random
[ name=string ]
>
IN THIS ORDER:
| ( <outcome ... /> )+
</random>
Documentation (type)
A switch which choses a branch randomly.
Each branch must be listed with a probability; the sum of all these probabilities must equal 1.
Attributes
Name
name=string
An optional piece of documentation attached to this node.
outcome
→ scenario → interventions → human → component → decisionTree → multiple → random → outcome
<outcome
[ name=string ]
p=double
>
EXACTLY ONE OF:
| <multiple ... />
| <caseType ... />
| <infectionOrigin ... />
| <diagnostic ... />
| <uncomplicated ... />
| <severe ... />
| <random ... />
| <age ... />
| <noTreatment ... />
| ( <report ... /> )+
| <treatFailure ... />
| ( <treatPKPD ... /> )+
| ( <treatSimple ... /> )+
| ( <deploy ... /> )*
| <cohort ... />
</outcome>
- multiple
- caseType
- infectionOrigin
- diagnostic
- uncomplicated
- severe
- random
- age
- noTreatment
- report
- treatFailure
- treatPKPD
- treatSimple
- deploy
- cohort
Documentation (base type)
Describes how "decisions" are made, both probabilistically and deterministically, and what actions are carried out.
Quantities may also be reported as a side effect of decisions made in the tree, for example the number of diagnostics used.
Attributes
Name
name=string
An optional piece of documentation attached to this node.
Probability
p=double
Units: None Min: 0 Max: 1
Probability of selecting this outcome. The sum of probabilities across all outcomes must be 1.
age
→ scenario → interventions → human → component → decisionTree → age
<age
[ name=string ]
>
IN THIS ORDER:
| ( <age ... /> )+
</age>
Documentation (type)
A switch which choses a branch deterministically, based on the patient's age (in years).
Categories must uniquely cover all ages from birth, with no upper bound. Categories must be listed in order of age, increasing; the first must have lower bound 0. Upper bounds are equal to the lower bound of the next category, (but are exclusive where lower bounds are inclusive); the last category has no upper bound.
Attributes
Name
name=string
An optional piece of documentation attached to this node.
Age range
→ scenario → interventions → human → component → decisionTree → multiple → age → age
<age
[ name=string ]
lb=double
>
EXACTLY ONE OF:
| <multiple ... />
| <caseType ... />
| <infectionOrigin ... />
| <diagnostic ... />
| <uncomplicated ... />
| <severe ... />
| <random ... />
| <age ... />
| <noTreatment ... />
| ( <report ... /> )+
| <treatFailure ... />
| ( <treatPKPD ... /> )+
| ( <treatSimple ... /> )+
| ( <deploy ... /> )*
| <cohort ... />
</age>
- multiple
- caseType
- infectionOrigin
- diagnostic
- uncomplicated
- severe
- random
- age
- noTreatment
- report
- treatFailure
- treatPKPD
- treatSimple
- deploy
- cohort
Documentation (element)
Describes a branch, selected for patients of a certain age.
Documentation (base type)
Describes how "decisions" are made, both probabilistically and deterministically, and what actions are carried out.
Quantities may also be reported as a side effect of decisions made in the tree, for example the number of diagnostics used.
Attributes
Name
name=string
An optional piece of documentation attached to this node.
Lower bound (inclusive)
lb=double
Min: 0
noTreatment
→ scenario → interventions → human → component → decisionTree → noTreatment
<noTreatment
[ name=string ]
/>
Documentation (type)
An end node doing nothing. This exists to explicitly state that no treatment happens and to prevent trees from accidentally being left incomplete.
Attributes
Name
name=string
An optional piece of documentation attached to this node.
report
→ scenario → interventions → human → component → decisionTree → report
<report
[ name=string ]
[ outputNumber=int ] DEFAULT VALUE 0
/>
Documentation (type)
This increments measure 80 (nCMDTReport) by one every time this node is visited. This can be useful to report the results of mass test and treat interventions using the decision tree.
Attributes
Name
name=string
An optional piece of documentation attached to this node.
Delay (hours)
outputNumber=int
Default value: 0
Optionally, this can be given to delay the start of treatment by a given number of hours. If not specified, treatment is not delayed. If a delay is given, all medications within the treatment schedule used are delayed by this number of hours.
treatFailure
→ scenario → interventions → human → component → decisionTree → treatFailure
<treatFailure
[ name=string ]
/>
Documentation (type)
An end node which reports treatment but does not change parasitalogical status. This allows correct labelling of second-line cases.
Attributes
Name
name=string
An optional piece of documentation attached to this node.
treatPKPD
→ scenario → interventions → human → component → decisionTree → treatPKPD
<treatPKPD
schedule=string
dosage=string
[ delay_h=double ] DEFAULT VALUE 0
/>
Documentation (type)
A command to administer drugs according to a given schedule and dosage table, optionally with a delay.
Attributes
Name of treatment schedule
schedule=string
The name of a schedule to use for treatment.
Name of dosage table
dosage=string
The name of a dosage table to use for treatment.
Delay (hours)
delay_h=double
Default value: 0
Optionally, this can be given to delay the start of treatment by a given number of hours. If not specified, treatment is not delayed. If a delay is given, all medications within the treatment schedule used are delayed by this number of hours.
treatSimple
→ scenario → interventions → human → component → decisionTree → treatSimple
<treatSimple
durationLiver=string
durationBlood=string
/>
Documentation (type)
Simple treatment model, targetting liver- and/or blood-stage infections. This is all-or-nothing treatment which, when deploymed, completely clears all infections of the targetted stages. This makes it unsuitable for modeling resistance, but suitable for use with simple infection models.
Infections are considered liver-stage when less than five days old and blood-stage after that. Effects are described independently for the two stages.
Attributes
Length of liver-stage effect
durationLiver=string
Units: User defined
Controls action on liver-stage infections. 0 means no action, -1 step is a compatibility option to act like treatment before schema version 32 (which removed infections retrospectively), 1 step or any duration which equals some whole number of steps n>0 means to clear all liver-stage infections found on the next 1 or n steps. Note on -1 compatibility option: the main difference to 1 step (clearing on the next timestep) is that parasite densities will be reduced immediately, and thus from the point of view of surveys and mass screen and treat interventions a peak in density which is immediately treated through case management will not be seen. Can be specified in steps (e.g. 1t, -1t) or days (e.g. 5d).
Length of blood-stage effect
durationBlood=string
Units: User defined
Controls action on blood-stage infections. 0 means no action, -1 step is a compatibility option to act like treatment before schema version 32 (which removed infections retrospectively), 1 step or any duration which equals some whole number of steps n>0 means to clear all blood-stage infections found on the next 1 or n steps. Note on -1 compatibility option: the main difference to 1 step (clearing on the next timestep) is that parasite densities will be reduced immediately, and thus from the point of view of surveys and mass screen and treat interventions a peak in density which is immediately treated through case management will not be seen. Can be specified in steps (e.g. 1t, -1t) or days (e.g. 5d).
deploy
→ scenario → interventions → human → component → decisionTree → deploy
<deploy
component=string
/>
Documentation (type)
Deploy one or more intervention components.
Attributes
Component identifier
component=string
The identifier (short name) of a component.
cohort
→ scenario → interventions → human → component → decisionTree → cohort
<cohort
[ name=string ]
component=string
>
IN ANY ORDER:
| <positive ... />
| <negative ... />
</cohort>
Documentation (type)
A switch which choses a branch deterministically, based on whether the host is part of the cohort (defined by the intervention component) or not.
Attributes
Name
name=string
An optional piece of documentation attached to this node.
Number of days to look back for fevers. This must be less than or equal to the healthsystem memory parameter. In general, this should be less than or equal to the repeatStep in MSAT with contiuous deployment
component=string
Units: User-defined (defaults to steps)
Follow-up period during which a recurrence is considered to be a treatment failure Can be specified in steps (e.g. 6t) or days (e.g. 28d).
positive
→ scenario → interventions → human → component → decisionTree → multiple → cohort → positive
<positive
[ name=string ]
>
EXACTLY ONE OF:
| <multiple ... />
| <caseType ... />
| <infectionOrigin ... />
| <diagnostic ... />
| <uncomplicated ... />
| <severe ... />
| <random ... />
| <age ... />
| <noTreatment ... />
| ( <report ... /> )+
| <treatFailure ... />
| ( <treatPKPD ... /> )+
| ( <treatSimple ... /> )+
| ( <deploy ... /> )*
| <cohort ... />
</positive>
- multiple
- caseType
- infectionOrigin
- diagnostic
- uncomplicated
- severe
- random
- age
- noTreatment
- report
- treatFailure
- treatPKPD
- treatSimple
- deploy
- cohort
Documentation (type)
Describes how "decisions" are made, both probabilistically and deterministically, and what actions are carried out.
Quantities may also be reported as a side effect of decisions made in the tree, for example the number of diagnostics used.
Attributes
Name
name=string
An optional piece of documentation attached to this node.
negative
→ scenario → interventions → human → component → decisionTree → multiple → cohort → negative
<negative
[ name=string ]
>
EXACTLY ONE OF:
| <multiple ... />
| <caseType ... />
| <infectionOrigin ... />
| <diagnostic ... />
| <uncomplicated ... />
| <severe ... />
| <random ... />
| <age ... />
| <noTreatment ... />
| ( <report ... /> )+
| <treatFailure ... />
| ( <treatPKPD ... /> )+
| ( <treatSimple ... /> )+
| ( <deploy ... /> )*
| <cohort ... />
</negative>
- multiple
- caseType
- infectionOrigin
- diagnostic
- uncomplicated
- severe
- random
- age
- noTreatment
- report
- treatFailure
- treatPKPD
- treatSimple
- deploy
- cohort
Documentation (type)
Describes how "decisions" are made, both probabilistically and deterministically, and what actions are carried out.
Quantities may also be reported as a side effect of decisions made in the tree, for example the number of diagnostics used.
Attributes
Name
name=string
An optional piece of documentation attached to this node.
negative
→ scenario → interventions → human → component → decisionTree → multiple → severe → negative
<negative
[ name=string ]
>
EXACTLY ONE OF:
| <multiple ... />
| <caseType ... />
| <infectionOrigin ... />
| <diagnostic ... />
| <uncomplicated ... />
| <severe ... />
| <random ... />
| <age ... />
| <noTreatment ... />
| ( <report ... /> )+
| <treatFailure ... />
| ( <treatPKPD ... /> )+
| ( <treatSimple ... /> )+
| ( <deploy ... /> )*
| <cohort ... />
</negative>
- multiple
- caseType
- infectionOrigin
- diagnostic
- uncomplicated
- severe
- random
- age
- noTreatment
- report
- treatFailure
- treatPKPD
- treatSimple
- deploy
- cohort
Documentation (type)
Describes how "decisions" are made, both probabilistically and deterministically, and what actions are carried out.
Quantities may also be reported as a side effect of decisions made in the tree, for example the number of diagnostics used.
Attributes
Name
name=string
An optional piece of documentation attached to this node.
negative
→ scenario → interventions → human → component → decisionTree → multiple → uncomplicated → negative
<negative
[ name=string ]
>
EXACTLY ONE OF:
| <multiple ... />
| <caseType ... />
| <infectionOrigin ... />
| <diagnostic ... />
| <uncomplicated ... />
| <severe ... />
| <random ... />
| <age ... />
| <noTreatment ... />
| ( <report ... /> )+
| <treatFailure ... />
| ( <treatPKPD ... /> )+
| ( <treatSimple ... /> )+
| ( <deploy ... /> )*
| <cohort ... />
</negative>
- multiple
- caseType
- infectionOrigin
- diagnostic
- uncomplicated
- severe
- random
- age
- noTreatment
- report
- treatFailure
- treatPKPD
- treatSimple
- deploy
- cohort
Documentation (type)
Describes how "decisions" are made, both probabilistically and deterministically, and what actions are carried out.
Quantities may also be reported as a side effect of decisions made in the tree, for example the number of diagnostics used.
Attributes
Name
name=string
An optional piece of documentation attached to this node.
negative
→ scenario → interventions → human → component → decisionTree → multiple → diagnostic → negative
<negative
[ name=string ]
>
EXACTLY ONE OF:
| <multiple ... />
| <caseType ... />
| <infectionOrigin ... />
| <diagnostic ... />
| <uncomplicated ... />
| <severe ... />
| <random ... />
| <age ... />
| <noTreatment ... />
| ( <report ... /> )+
| <treatFailure ... />
| ( <treatPKPD ... /> )+
| ( <treatSimple ... /> )+
| ( <deploy ... /> )*
| <cohort ... />
</negative>
- multiple
- caseType
- infectionOrigin
- diagnostic
- uncomplicated
- severe
- random
- age
- noTreatment
- report
- treatFailure
- treatPKPD
- treatSimple
- deploy
- cohort
Documentation (type)
Describes how "decisions" are made, both probabilistically and deterministically, and what actions are carried out.
Quantities may also be reported as a side effect of decisions made in the tree, for example the number of diagnostics used.
Attributes
Name
name=string
An optional piece of documentation attached to this node.
introduced
→ scenario → interventions → human → component → decisionTree → multiple → infectionOrigin → introduced
<introduced
[ name=string ]
>
EXACTLY ONE OF:
| <multiple ... />
| <caseType ... />
| <infectionOrigin ... />
| <diagnostic ... />
| <uncomplicated ... />
| <severe ... />
| <random ... />
| <age ... />
| <noTreatment ... />
| ( <report ... /> )+
| <treatFailure ... />
| ( <treatPKPD ... /> )+
| ( <treatSimple ... /> )+
| ( <deploy ... /> )*
| <cohort ... />
</introduced>
- multiple
- caseType
- infectionOrigin
- diagnostic
- uncomplicated
- severe
- random
- age
- noTreatment
- report
- treatFailure
- treatPKPD
- treatSimple
- deploy
- cohort
Documentation (type)
Describes how "decisions" are made, both probabilistically and deterministically, and what actions are carried out.
Quantities may also be reported as a side effect of decisions made in the tree, for example the number of diagnostics used.
Attributes
Name
name=string
An optional piece of documentation attached to this node.
indigenous
→ scenario → interventions → human → component → decisionTree → multiple → infectionOrigin → indigenous
<indigenous
[ name=string ]
>
EXACTLY ONE OF:
| <multiple ... />
| <caseType ... />
| <infectionOrigin ... />
| <diagnostic ... />
| <uncomplicated ... />
| <severe ... />
| <random ... />
| <age ... />
| <noTreatment ... />
| ( <report ... /> )+
| <treatFailure ... />
| ( <treatPKPD ... /> )+
| ( <treatSimple ... /> )+
| ( <deploy ... /> )*
| <cohort ... />
</indigenous>
- multiple
- caseType
- infectionOrigin
- diagnostic
- uncomplicated
- severe
- random
- age
- noTreatment
- report
- treatFailure
- treatPKPD
- treatSimple
- deploy
- cohort
Documentation (type)
Describes how "decisions" are made, both probabilistically and deterministically, and what actions are carried out.
Quantities may also be reported as a side effect of decisions made in the tree, for example the number of diagnostics used.
Attributes
Name
name=string
An optional piece of documentation attached to this node.
infectionOrigin
→ scenario → interventions → human → component → decisionTree → multiple → infectionOrigin
<infectionOrigin
[ name=string ]
>
IN ANY ORDER:
| <imported ... />
| <introduced ... />
| <indigenous ... />
</infectionOrigin>
Documentation (type)
A switch which choses a branch deterministically, based on whether the patient has an imported, introduced or indigenous infection.
If the patient is not infected, this will execute the indigenous branch by default. You must use a diagnostic test first to find out if the patient is infected.
If there are no imported cases, all infections will appear indigenous.
Attributes
Name
name=string
An optional piece of documentation attached to this node.
diagnostic
→ scenario → interventions → human → component → decisionTree → multiple → diagnostic
<diagnostic
diagnostic=string
[ name=string ]
>
IN ANY ORDER:
| <positive ... />
| <negative ... />
</diagnostic>
Documentation (type)
A switch which choses a branch deterministically, based on the outcome of some type of diagnostic.
Attributes
Name of diagnostic
diagnostic=string
Should match the name of some parameterised diagnostic (see scenario/diagnostics).
Name
name=string
An optional piece of documentation attached to this node.
uncomplicated
→ scenario → interventions → human → component → decisionTree → multiple → uncomplicated
<uncomplicated
[ name=string ]
[ memory=string ] DEFAULT VALUE 1
>
IN ANY ORDER:
| <positive ... />
| <negative ... />
</uncomplicated>
Documentation (type)
A switch which choses a branch deterministically, based on whether the host has an uncomplicated case. This could be a Malaria fever or a non-Malaria fever. If non-Malaria fevers are enable, it is possible to add a
Attributes
Name
name=string
An optional piece of documentation attached to this node.
Number of days to look back for fevers. This must be less than or equal to the healthsystem memory parameter. In general, this should be less than or equal to the repeatStep in MSAT with contiuous deployment
memory=string
Units: User-defined (defaults to steps)
Default value: 1
Follow-up period during which a recurrence is considered to be a treatment failure Can be specified in steps (e.g. 6t) or days (e.g. 28d).
severe
→ scenario → interventions → human → component → decisionTree → multiple → severe
<severe
[ name=string ]
[ memory=string ]
>
IN ANY ORDER:
| <positive ... />
| <negative ... />
</severe>
Documentation (type)
A switch which choses a branch deterministically, based on whether the host has a severe case or not. Note that this include severe cases due to comorbidities.
Attributes
Name
name=string
An optional piece of documentation attached to this node.
Number of days to look back for fevers. This must be less than or equal to the healthsystem memory parameter. In general, this should be less than or equal to the repeatStep in MSAT with contiuous deployment
memory=string
Units: User-defined (defaults to steps)
Follow-up period during which a recurrence is considered to be a treatment failure Can be specified in steps (e.g. 6t) or days (e.g. 28d).
random
→ scenario → interventions → human → component → decisionTree → multiple → random
<random
[ name=string ]
>
IN THIS ORDER:
| ( <outcome ... /> )+
</random>
Documentation (type)
A switch which choses a branch randomly.
Each branch must be listed with a probability; the sum of all these probabilities must equal 1.
Attributes
Name
name=string
An optional piece of documentation attached to this node.
age
→ scenario → interventions → human → component → decisionTree → multiple → age
<age
[ name=string ]
>
IN THIS ORDER:
| ( <age ... /> )+
</age>
Documentation (type)
A switch which choses a branch deterministically, based on the patient's age (in years).
Categories must uniquely cover all ages from birth, with no upper bound. Categories must be listed in order of age, increasing; the first must have lower bound 0. Upper bounds are equal to the lower bound of the next category, (but are exclusive where lower bounds are inclusive); the last category has no upper bound.
Attributes
Name
name=string
An optional piece of documentation attached to this node.
treatPKPD
→ scenario → interventions → human → component → decisionTree → multiple → treatPKPD
<treatPKPD
schedule=string
dosage=string
[ delay_h=double ] DEFAULT VALUE 0
/>
Documentation (type)
A command to administer drugs according to a given schedule and dosage table, optionally with a delay.
Attributes
Name of treatment schedule
schedule=string
The name of a schedule to use for treatment.
Name of dosage table
dosage=string
The name of a dosage table to use for treatment.
Delay (hours)
delay_h=double
Default value: 0
Optionally, this can be given to delay the start of treatment by a given number of hours. If not specified, treatment is not delayed. If a delay is given, all medications within the treatment schedule used are delayed by this number of hours.
treatSimple
→ scenario → interventions → human → component → decisionTree → multiple → treatSimple
<treatSimple
durationLiver=string
durationBlood=string
/>
Documentation (type)
Simple treatment model, targetting liver- and/or blood-stage infections. This is all-or-nothing treatment which, when deploymed, completely clears all infections of the targetted stages. This makes it unsuitable for modeling resistance, but suitable for use with simple infection models.
Infections are considered liver-stage when less than five days old and blood-stage after that. Effects are described independently for the two stages.
Attributes
Length of liver-stage effect
durationLiver=string
Units: User defined
Controls action on liver-stage infections. 0 means no action, -1 step is a compatibility option to act like treatment before schema version 32 (which removed infections retrospectively), 1 step or any duration which equals some whole number of steps n>0 means to clear all liver-stage infections found on the next 1 or n steps. Note on -1 compatibility option: the main difference to 1 step (clearing on the next timestep) is that parasite densities will be reduced immediately, and thus from the point of view of surveys and mass screen and treat interventions a peak in density which is immediately treated through case management will not be seen. Can be specified in steps (e.g. 1t, -1t) or days (e.g. 5d).
Length of blood-stage effect
durationBlood=string
Units: User defined
Controls action on blood-stage infections. 0 means no action, -1 step is a compatibility option to act like treatment before schema version 32 (which removed infections retrospectively), 1 step or any duration which equals some whole number of steps n>0 means to clear all blood-stage infections found on the next 1 or n steps. Note on -1 compatibility option: the main difference to 1 step (clearing on the next timestep) is that parasite densities will be reduced immediately, and thus from the point of view of surveys and mass screen and treat interventions a peak in density which is immediately treated through case management will not be seen. Can be specified in steps (e.g. 1t, -1t) or days (e.g. 5d).
deploy
→ scenario → interventions → human → component → decisionTree → multiple → deploy
<deploy
component=string
/>
Documentation (type)
Deploy one or more intervention components.
Attributes
Component identifier
component=string
The identifier (short name) of a component.
report
→ scenario → interventions → human → component → decisionTree → multiple → report
<report
[ name=string ]
[ outputNumber=int ] DEFAULT VALUE 0
/>
Documentation (type)
This increments measure 80 (nCMDTReport) by one every time this node is visited. This can be useful to report the results of mass test and treat interventions using the decision tree.
Attributes
Name
name=string
An optional piece of documentation attached to this node.
Delay (hours)
outputNumber=int
Default value: 0
Optionally, this can be given to delay the start of treatment by a given number of hours. If not specified, treatment is not delayed. If a delay is given, all medications within the treatment schedule used are delayed by this number of hours.
cohort
→ scenario → interventions → human → component → decisionTree → multiple → cohort
<cohort
[ name=string ]
component=string
>
IN ANY ORDER:
| <positive ... />
| <negative ... />
</cohort>
Documentation (type)
A switch which choses a branch deterministically, based on whether the host is part of the cohort (defined by the intervention component) or not.
Attributes
Name
name=string
An optional piece of documentation attached to this node.
Number of days to look back for fevers. This must be less than or equal to the healthsystem memory parameter. In general, this should be less than or equal to the repeatStep in MSAT with contiuous deployment
component=string
Units: User-defined (defaults to steps)
Follow-up period during which a recurrence is considered to be a treatment failure Can be specified in steps (e.g. 6t) or days (e.g. 28d).
complicated
→ scenario → healthSystem → EventScheduler → complicated
<complicated
[ name=string ]
>
EXACTLY ONE OF:
| <multiple ... />
| <caseType ... />
| <infectionOrigin ... />
| <diagnostic ... />
| <uncomplicated ... />
| <severe ... />
| <random ... />
| <age ... />
| <noTreatment ... />
| ( <report ... /> )+
| <treatFailure ... />
| ( <treatPKPD ... /> )+
| ( <treatSimple ... /> )+
| ( <deploy ... /> )*
| <cohort ... />
</complicated>
- multiple
- caseType
- infectionOrigin
- diagnostic
- uncomplicated
- severe
- random
- age
- noTreatment
- report
- treatFailure
- treatPKPD
- treatSimple
- deploy
- cohort
Documentation (type)
Describes how "decisions" are made, both probabilistically and deterministically, and what actions are carried out.
Quantities may also be reported as a side effect of decisions made in the tree, for example the number of diagnostics used.
Attributes
Name
name=string
An optional piece of documentation attached to this node.
ClinicalOutcomes
→ scenario → healthSystem → EventScheduler → ClinicalOutcomes
<ClinicalOutcomes>
IN THIS ORDER:
| <maxUCSeekingMemory ... />
| <uncomplicatedCaseDuration ... />
| <complicatedCaseDuration ... />
| <complicatedRiskDuration ... />
| ( <dailyPrImmUCTS ... /> )+
</ClinicalOutcomes>
- maxUCSeekingMemory
- uncomplicatedCaseDuration
- complicatedCaseDuration
- complicatedRiskDuration
- dailyPrImmUCTS
Documentation (type)
Description of base parameters of the clinical model.
Max UC treatment-seeking memory
→ scenario → healthSystem → EventScheduler → ClinicalOutcomes → maxUCSeekingMemory
<maxUCSeekingMemory>
int
</maxUCSeekingMemory>
Documentation (element)
Units: Days Min: 0 Max: unbounded
Maximum number of timesteps (including first day of case) that an individual with an uncomplicated case of malaria will remember he/she was sick before resetting.
Uncomplicated case duration
→ scenario → healthSystem → EventScheduler → ClinicalOutcomes → uncomplicatedCaseDuration
<uncomplicatedCaseDuration>
int
</uncomplicatedCaseDuration>
Documentation (element)
Units: Days Min: 1 Max: unbounded
Fixed length of an uncomplicated case of malarial or non-malarial sickness (from treatment seeking until return to life-as-usual). Usually 3.
Complicated case duration
→ scenario → healthSystem → EventScheduler → ClinicalOutcomes → complicatedCaseDuration
<complicatedCaseDuration>
int
</complicatedCaseDuration>
Documentation (element)
Units: Days Min: 1 Max: unbounded
Fixed length of a complicated or severe case of malaria (from treatment seeking until return to life-as-usual).
Complicated risk duration
→ scenario → healthSystem → EventScheduler → ClinicalOutcomes → complicatedRiskDuration
<complicatedRiskDuration>
int
</complicatedRiskDuration>
Documentation (element)
Units: Days Min: 1 Max: unbounded
Number of days for which humans are at risk of death during a severe or complicated case of malaria. Cannot be greater than the duration of a complicated case or less than 1 day.
Daily probability of immediate treatment seeking for uncomplicated cases
→ scenario → healthSystem → EventScheduler → ClinicalOutcomes → dailyPrImmUCTS
<dailyPrImmUCTS>
double
</dailyPrImmUCTS>
Documentation (element)
Units: Dimensionless Min: 0.0 Max: 1.0
It is sometimes desirable to model delays to treatment-seeking in uncomplicated cases. While treatment of drugs can be delayed within case management trees to provide a similar effect, this doesn't delay any of the decisions, including diagnostics using the current parasite density.
Instead a list of dailyPrImmUCTS elements can be used, describing successive daily probabilities of treatment (sum must be 1). For example, with a list of two elements with values 0.8 and 0.2, for 80% of UC cases the decision tree is evaluated immediately, and for 20% of cases evaluation is delayed by one day.
For no delay, use one element with a value of 1.
NonMalariaFevers
→ scenario → healthSystem → EventScheduler → NonMalariaFevers
<NonMalariaFevers>
IN THIS ORDER:
| <prTreatment ... />
| <effectNegativeTest ... />
| <effectPositiveTest ... />
| <effectNeed ... />
| <effectInformal ... />
| <CFR ... />
| <TreatmentEfficacy ... />
</NonMalariaFevers>
Documentation (type)
Description of non-malaria fever health-system modelling (treatment, outcomes and costing). Incidence is described by the model->clinical->NonMalariaFevers element. Non-malaria fevers are only modelled if the NON_MALARIA_FEVERS option is used.
As further explanation of the parameters below, we first take: β₀ = logit(P₀) - β₃·P(need), and then calculate the probability of antibiotic administration, P(AB), dependent on treatment seeking location. No seeking: P(AB) = 0 Informal sector: logit(P(AB)) = β₀ + β₄ Health facility: logit(P(AB)) = β₀ + β₁·I(neg) + β₂·I(pos) + β₃·I(need) (where I(X) is 1 when event X is true and 0 otherwise, logit(p)=log(p/(1-p)), event "need" is the event that death may occur without treatment, events "neg" and "pos" are the events that a malaria parasite diagnositic was used and indicated no parasites and parasites respectively).
P(treatment|no diagnostic)
→ scenario → healthSystem → EventScheduler → NonMalariaFevers → prTreatment
<prTreatment>
double
</prTreatment>
Documentation (element)
Units: Dimensionless Min: 0.0 Max: 1.0
Probability of a non-malaria fever being treated with an antibiotic given that no malaria diagnostic was used but independent of need. Symbol: P₀.
Effect of a negative test
→ scenario → healthSystem → EventScheduler → NonMalariaFevers → effectNegativeTest
<effectNegativeTest>
double
</effectNegativeTest>
Documentation (element)
The effect of a negative malaria diagnostic on the odds ratio of receiving antibiotics. Symbol: exp(β₁).
Effect of a positive test
→ scenario → healthSystem → EventScheduler → NonMalariaFevers → effectPositiveTest
<effectPositiveTest>
double
</effectPositiveTest>
Documentation (element)
The effect of a positive malaria diagnostic on the odds ratio of receiving antibiotics. Symbol: exp(β₂).
Effect of need
→ scenario → healthSystem → EventScheduler → NonMalariaFevers → effectNeed
<effectNeed>
double
</effectNeed>
Documentation (element)
The effect of needing antibiotic treatment on the odds ratio of receiving antibiotics. Symbol: exp(β₃).
Effect of informal provider
→ scenario → healthSystem → EventScheduler → NonMalariaFevers → effectInformal
<effectInformal>
double
</effectInformal>
Documentation (element)
The effect of seeking treatment from an informal provider (i.e. a provider untrained in NMF diagnosis) on the odds ratio of receiving antibiotics. Symbol: exp(β₄)
Case fatality rate
→ scenario → healthSystem → EventScheduler → NonMalariaFevers → CFR
<CFR
[ interpolation=("none" or "linear") ]
>
IN THIS ORDER:
| ( <group ... /> )+
</CFR>
Documentation (element)
Units: Dimensionless Min: 0.0 Max: 1.0
Base case fatality rate for non-malaria fevers (probability of death from a fever requiring antibiotic treatment given that no antibiotic treatment is received, per age-group).
Attributes
interpolation
interpolation=("none" or "linear")
Interpolation algorithm. Normally it is desirable for age-based values to be continuous w.r.t. age. By default linear interpolation is used. With all algorithms except "none", the age groups are converted to a set of points centred within each age range. Extra points are added at each end (zero and infinity) to keep value constant at both ends of the function. A zero-length age group may be used as a kind of barrier to adjust the distribution; e.g. with age group boundaries at 15, 20 and 25 years, a (linear) spline would be drawn between ages 17.5 and 22.5, whereas with boundaries at 15, 20 and 20 years, a spline would be drawn between ages 17.5 and 20 years (may be desired if individuals are assumed to reach adult size at 20). Algorithms:
- none: input values are used directly
- linear: straight lines (on an age vs. value graph) are used to interpolate data points.
age group
→ scenario → healthSystem → CFR → group
<group
value=double
lowerbound=double
/>
Documentation (element)
A series of values according to age groups, each specified with a lower-bound and a value. The first lower-bound specified must be zero; a final upper-bound of infinity is added to complete the last age group. At least one age group is required. Normally these are interpolated by a continuous function (see interpolation attribute).
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Lower bound
lowerbound=double
Units: Years Min: 0 Max: 100
Lower bound of age group
Treatment efficacy
→ scenario → healthSystem → EventScheduler → NonMalariaFevers → TreatmentEfficacy
<TreatmentEfficacy>
double
</TreatmentEfficacy>
Documentation (element)
Units: Dimensionless Min: 0.0 Max: 1.0
Probability that treatment would prevent a death (i.e. CFR is multiplied by one minus this when treatment occurs).
ImmediateOutcomes
→ scenario → healthSystem → ImmediateOutcomes
<ImmediateOutcomes
[ name=string ]
[ useDiagnosticUC=boolean ] DEFAULT VALUE false
>
IN ANY ORDER:
| <drugRegimen ... />
| <initialACR ... />
| <compliance ... />
| <nonCompliersEffective ... />
| <treatmentActions ... />
| <pSeekOfficialCareUncomplicated1 ... />
| <pSelfTreatUncomplicated ... />
| <pSeekOfficialCareUncomplicated2 ... />
| <pSeekOfficialCareSevere ... />
| [ <liverStageDrug ... /> ]
</ImmediateOutcomes>
- drugRegimen
- initialACR
- compliance
- nonCompliersEffective
- treatmentActions
- pSeekOfficialCareUncomplicated1
- pSelfTreatUncomplicated
- pSeekOfficialCareUncomplicated2
- pSeekOfficialCareSevere
- liverStageDrug
Documentation (type)
Description of "immediate outcomes" health system: Tediosi et al case management model (Case management as described in AJTMH 75 (suppl 2) pp90-103).
Attributes
Name of case management parameterisation
name=string
Name of health system
useDiagnosticUC
useDiagnosticUC=boolean
Default value: false
Description of drug regimen
→ scenario → healthSystem → ImmediateOutcomes → drugRegimen
<drugRegimen
firstLine=string
secondLine=string
inpatient=string
/>
Documentation (element)
Description of drug regimen.
Attributes
First line drug
firstLine=string
Units: Drug code
Code for first line drug
Second line drug
secondLine=string
Units: Drug code
Code for second line drug
Drug use for treating inpatients
inpatient=string
Units: Drug code
Code for drug used for treating inpatients
Initial cure rate
→ scenario → healthSystem → ImmediateOutcomes → initialACR
<initialACR>
IN THIS ORDER:
| [ <CQ ... /> ]
| [ <SP ... /> ]
| [ <AQ ... /> ]
| [ <SPAQ ... /> ]
| [ <ACT ... /> ]
| [ <QN ... /> ]
| <selfTreatment ... />
</initialACR>
Documentation (element)
Units: Dimensionless Min: 0.0 Max: 1.0
Initial cure rate
Chloroquine
→ scenario → healthSystem → ImmediateOutcomes → initialACR → CQ
<CQ
value=double
/>
Documentation (element)
Chloroquine
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Sulphadoxine-pyrimethamine
→ scenario → healthSystem → ImmediateOutcomes → initialACR → SP
<SP
value=double
/>
Documentation (element)
Sulphadoxine-pyrimethamine
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Amodiaquine
→ scenario → healthSystem → ImmediateOutcomes → initialACR → AQ
<AQ
value=double
/>
Documentation (element)
Amodiaquine
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Sulphadoxine-pyrimethamine/Amodiaquine
→ scenario → healthSystem → ImmediateOutcomes → initialACR → SPAQ
<SPAQ
value=double
/>
Documentation (element)
Sulphadoxine-pyrimethamine/Amodiaquine
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Artemisinine based combination therapy
→ scenario → healthSystem → ImmediateOutcomes → initialACR → ACT
<ACT
value=double
/>
Documentation (element)
Artemisinine combination therapy
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Quinine
→ scenario → healthSystem → ImmediateOutcomes → initialACR → QN
<QN
value=double
/>
Documentation (element)
Quinine
Attributes
Input parameter value
value=double
A double-precision floating-point value.
selfTreatment
→ scenario → healthSystem → ImmediateOutcomes → initialACR → selfTreatment
<selfTreatment
value=double
/>
Documentation (element)
Units: Dimensionless Min: 0 Max: 1name:P(self-treat)
Probability of self-treatment
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Adherence to treatment
→ scenario → healthSystem → ImmediateOutcomes → compliance
<compliance>
IN THIS ORDER:
| [ <CQ ... /> ]
| [ <SP ... /> ]
| [ <AQ ... /> ]
| [ <SPAQ ... /> ]
| [ <ACT ... /> ]
| [ <QN ... /> ]
| <selfTreatment ... />
</compliance>
Documentation (element)
Units: Dimensionless Min: 0.0 Max: 1.0
Adherence to treatment
Effectiveness of treatment in non-adherent patients
→ scenario → healthSystem → ImmediateOutcomes → nonCompliersEffective
<nonCompliersEffective>
IN THIS ORDER:
| [ <CQ ... /> ]
| [ <SP ... /> ]
| [ <AQ ... /> ]
| [ <SPAQ ... /> ]
| [ <ACT ... /> ]
| [ <QN ... /> ]
| <selfTreatment ... />
</nonCompliersEffective>
Documentation (element)
Units: Dimensionless Min: 0.0 Max: 1.0
Effectiveness of treatment for non-compliant patients
treatmentActions
→ scenario → healthSystem → ImmediateOutcomes → treatmentActions
<treatmentActions>
IN ANY ORDER:
| [ <CQ ... /> ]
| [ <SP ... /> ]
| [ <AQ ... /> ]
| [ <SPAQ ... /> ]
| [ <ACT ... /> ]
| [ <QN ... /> ]
</treatmentActions>
CQ
→ scenario → healthSystem → ImmediateOutcomes → treatmentActions → CQ
<CQ
[ name=string ]
>
IN THIS ORDER:
| ( <deploy ... /> )*
</CQ>
Documentation (type)
Describes the effects of the treatment, assuming this compliance/adherence/... option is selected. Effects are described in terms of a list of options, each of which acts independently but with all effects being activated simultaneously.
Documentation (base type)
Lists intervention components which are deployed according to some external trigger (for example, screening with a negative patency outcome or health-system treatment).
Components are referenced from one or more sub-lists. Each of these lists is deployed independently if and only if its age constraints are met by the human host and a random sample with the given probability of a positive outcome is positive.
Attributes
Name
name=string
Describes what this compliance option represents (e.g. "good compliance", "poor compliance with good drugs", ...).
deploy
→ scenario → healthSystem → ImmediateOutcomes → treatmentActions → CQ → deploy
<deploy
[ maxAge=double ]
[ minAge=double ] DEFAULT VALUE 0
[ p=double ] DEFAULT VALUE 1
>
IN THIS ORDER:
| ( <component ... /> )+
</deploy>
Attributes
Maximum age of eligible humans
maxAge=double
Units: Years Min: 0
Maximum age of eligible humans (defaults to no limit). Input is rounded to the nearest time step.
Minimum age of eligible humans
minAge=double
Units: Years Min: 0
Default value: 0
Minimum age of eligible humans (defaults to 0). Input is rounded to the nearest time step.
Probability of delivery to eligible humans
p=double
Units: dimensionless Min: 0 Max: 1
Default value: 1
Probability of this list of components being deployed, given that other constraints are met.
component
→ scenario → healthSystem → ImmediateOutcomes → treatmentActions → CQ → deploy → component
<component
id=string
/>
Documentation (type)
The list of components deployed to eligible humans.
Attributes
Identifier
id=string
The identifier (short name) of a component.
Prophylactic treatment
→ scenario → healthSystem → DecisionTree5Day → treatmentSevere → clearInfections
<clearInfections
timesteps=string
stage=("liver" or "blood" or "both")
/>
Documentation (element)
This clears infections according to several options: it can clear all blood stage infections, all liver stage infections or both, and it can act on multiple timesteps. To have a probability of no action add another treatment option (which does nothing) and set the probabilities of selection appropriately.
This allows immediate (legacy) or delayed action, a prophylactic period, and selection of which stages are targeted. It is a simple model but appropriate enough for use with the five day timestep when assuming no resistance and that drug failure is mainly caused by bad drugs or compliance.
The old treatment action for the five-day timestep model is essentially this, with immediateAction (timesteps=-1) and stage=both, except for the IPT model's SP action, which was more like with timesteps>1 and stage=blood.
Attributes
Length of effect
timesteps=string
Units: User defined (defaults to steps)
The number of timesteps during which this action remains in effect (e.g. 2 means clear infections during the next two timestep updates). Full clearance of the targeted stages occurs during this time. A special value of -1 means act immediately (retrospectively); this the old behaviour. A value of 1 means act on the next timestep only. Both of these can be thought of as a model for short-acting effective drug treatment; the main differences are that the latter means parasite densities will remain high from the point of view of surveys and diagnostics (i.e. mass screen and treat) used before the next timestep and that the latter will also remove infections starting the next timestep. Arguably the latter is a better model, but the differences are perhaps small, excepting where immediate treatment of fevers (i.e. through the health system) can hide high parasite densities from reporting and mass-screen-and-treat diagnostics. For use by interventions, the latter model has nicer behaviour in that the order of deployment of multiple interventions deployed at the same time does not matter, and that the former model retrospectively treats infections which may already have caused fever, thus may have a lower health impact than it should. It is recommended to use the new model (value 1, or greater than 1 if prophylactic effect is desired) unless wanting to emulate the old behaviour. Values of 0 or less than -1 are not allowed. Can be specified in steps (e.g. 1t, -1t) or days (e.g. 5d).
Target stage
stage=("liver" or "blood" or "both")
Controls whether liver-stage or blood-stage infections are cleared, or both. Infections are considered liver-stage for one 5-day timestep, blood-stage but pre-patent for some number of timesteps (latentp - 1), then start the patent blood stage. If stage is set to "liver", infections are only cleared during their first timestep; if stage is set to "blood", infections are cleared during pre-patent and patent blood stages; if stage is set to "both" all infections are cleared. The old behaviour (oddly considering the drugs it is meant to emulate) is to clear both stages, except for the IPT model of SP action, which cleared only patent blood-stage infections.
SP
→ scenario → healthSystem → ImmediateOutcomes → treatmentActions → SP
<SP
[ name=string ]
>
IN THIS ORDER:
| ( <deploy ... /> )*
</SP>
Documentation (type)
Describes the effects of the treatment, assuming this compliance/adherence/... option is selected. Effects are described in terms of a list of options, each of which acts independently but with all effects being activated simultaneously.
Documentation (base type)
Lists intervention components which are deployed according to some external trigger (for example, screening with a negative patency outcome or health-system treatment).
Components are referenced from one or more sub-lists. Each of these lists is deployed independently if and only if its age constraints are met by the human host and a random sample with the given probability of a positive outcome is positive.
Attributes
Name
name=string
Describes what this compliance option represents (e.g. "good compliance", "poor compliance with good drugs", ...).
AQ
→ scenario → healthSystem → ImmediateOutcomes → treatmentActions → AQ
<AQ
[ name=string ]
>
IN THIS ORDER:
| ( <deploy ... /> )*
</AQ>
Documentation (type)
Describes the effects of the treatment, assuming this compliance/adherence/... option is selected. Effects are described in terms of a list of options, each of which acts independently but with all effects being activated simultaneously.
Documentation (base type)
Lists intervention components which are deployed according to some external trigger (for example, screening with a negative patency outcome or health-system treatment).
Components are referenced from one or more sub-lists. Each of these lists is deployed independently if and only if its age constraints are met by the human host and a random sample with the given probability of a positive outcome is positive.
Attributes
Name
name=string
Describes what this compliance option represents (e.g. "good compliance", "poor compliance with good drugs", ...).
SPAQ
→ scenario → healthSystem → ImmediateOutcomes → treatmentActions → SPAQ
<SPAQ
[ name=string ]
>
IN THIS ORDER:
| ( <deploy ... /> )*
</SPAQ>
Documentation (type)
Describes the effects of the treatment, assuming this compliance/adherence/... option is selected. Effects are described in terms of a list of options, each of which acts independently but with all effects being activated simultaneously.
Documentation (base type)
Lists intervention components which are deployed according to some external trigger (for example, screening with a negative patency outcome or health-system treatment).
Components are referenced from one or more sub-lists. Each of these lists is deployed independently if and only if its age constraints are met by the human host and a random sample with the given probability of a positive outcome is positive.
Attributes
Name
name=string
Describes what this compliance option represents (e.g. "good compliance", "poor compliance with good drugs", ...).
ACT
→ scenario → healthSystem → ImmediateOutcomes → treatmentActions → ACT
<ACT
[ name=string ]
>
IN THIS ORDER:
| ( <deploy ... /> )*
</ACT>
Documentation (type)
Describes the effects of the treatment, assuming this compliance/adherence/... option is selected. Effects are described in terms of a list of options, each of which acts independently but with all effects being activated simultaneously.
Documentation (base type)
Lists intervention components which are deployed according to some external trigger (for example, screening with a negative patency outcome or health-system treatment).
Components are referenced from one or more sub-lists. Each of these lists is deployed independently if and only if its age constraints are met by the human host and a random sample with the given probability of a positive outcome is positive.
Attributes
Name
name=string
Describes what this compliance option represents (e.g. "good compliance", "poor compliance with good drugs", ...).
QN
→ scenario → healthSystem → ImmediateOutcomes → treatmentActions → QN
<QN
[ name=string ]
>
IN THIS ORDER:
| ( <deploy ... /> )*
</QN>
Documentation (type)
Describes the effects of the treatment, assuming this compliance/adherence/... option is selected. Effects are described in terms of a list of options, each of which acts independently but with all effects being activated simultaneously.
Documentation (base type)
Lists intervention components which are deployed according to some external trigger (for example, screening with a negative patency outcome or health-system treatment).
Components are referenced from one or more sub-lists. Each of these lists is deployed independently if and only if its age constraints are met by the human host and a random sample with the given probability of a positive outcome is positive.
Attributes
Name
name=string
Describes what this compliance option represents (e.g. "good compliance", "poor compliance with good drugs", ...).
Probability that a patient with uncomplicated disease seeks official care immediately.
→ scenario → healthSystem → ImmediateOutcomes → pSeekOfficialCareUncomplicated1
<pSeekOfficialCareUncomplicated1
value=double
/>
Documentation (element)
Units: Dimensionless Min: 0.0 Max: 1.0
Probability that a patient with newly incident uncomplicated disease seeks official care
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Probability that a patient with uncomplicated disease will self-treat.
→ scenario → healthSystem → ImmediateOutcomes → pSelfTreatUncomplicated
<pSelfTreatUncomplicated
value=double
/>
Documentation (element)
Units: Dimensionless Min: 0.0 Max: 1.0
Probability that a patient with uncomplicated disease without recent history of disease (i.e. first line) will self-treat.
Note that in second line cases there is no probability of self-treatment.
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Probability that a recurring patient seeks official care
→ scenario → healthSystem → ImmediateOutcomes → pSeekOfficialCareUncomplicated2
<pSeekOfficialCareUncomplicated2
value=double
/>
Documentation (element)
Units: Dimensionless Min: 0.0 Max: 1.0
Probability that a patient with recurrence of uncomplicated disease seeks official care
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Probability that a patient with severe disease obtains appropriate care
→ scenario → healthSystem → ImmediateOutcomes → pSeekOfficialCareSevere
<pSeekOfficialCareSevere
value=double
/>
Documentation (element)
Units: Dimensionless Min: 0.0 Max: 1.0
Probability that a patient with severe disease obtains appropriate care
Attributes
Input parameter value
value=double
A double-precision floating-point value.
liverStageDrug
→ scenario → healthSystem → ImmediateOutcomes → liverStageDrug
<liverStageDrug>
IN ANY ORDER:
| <pHumanCannotReceive ... />
| [ <ignoreCannotReceive ... /> ]
| [ <pUseUncomplicated ... /> ]
| <effectivenessOnUse ... />
</liverStageDrug>
Documentation (type)
Parameters for drug treatment which have an effect on the liver-stage of parasites (Primaquine and potentially Tafenoquine); for use with the Vivax model only.
Note: if this section is not listed, the following default values are assumed: pHumanCannotReceive=0, pUseUncomplicated=0, effectivenessOnUse=1.
Probability that human is incompatible with liver-stage drug treatment
→ scenario → healthSystem → ImmediateOutcomes → liverStageDrug → pHumanCannotReceive
<pHumanCannotReceive
value=double
/>
Documentation (element)
Units: Probability Min: 0 Max: 1
Chance that a human is determined to be unable to receive liver-stage drug treatment. Treatment is neither reported or given for such humans.
This is sampled once per human at birth.
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Ignore liver-stage drug treatment incompatibility
→ scenario → healthSystem → ImmediateOutcomes → liverStageDrug → ignoreCannotReceive
<ignoreCannotReceive
value=boolean
/>
Documentation (element)
If true, ignore pHumanCannotReceive and consider all humans eligible for treatment; if false (or not specified), do not treat those demed incompatible with liver-stage drug treatment.
The point of this is that pHumanCannotReceive cannot be altered by changeHS interventions, but this property can be.
Attributes
Input parameter value
value=boolean
A boolean value.
Prob use in UC case
→ scenario → healthSystem → ImmediateOutcomes → liverStageDrug → pUseUncomplicated
<pUseUncomplicated
value=double
/>
Documentation (element)
Units: Probability Min: 0 Max: 1
This feature is deprecated; it is suggested to use the "simple treatment" feature configured to clear liver-stage parasites, leaving this option unset or zero.
Chance of liver-stage drug treatment being used for routine treatment of an uncomplicated case.
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Effectiveness
→ scenario → healthSystem → ImmediateOutcomes → liverStageDrug → effectivenessOnUse
<effectivenessOnUse
value=double
/>
Documentation (element)
Units: Probability Min: 0 Max: 1
Chance that liver-stage drug treatment is effective.
On application, a random variable is sampled against this probability. If false, the treatment does nothing; if true, the treatment clears all liver stage parasites. Where effectiveness is longer than a single time step (prophylactic effect), this sample still only happens once (thus either no effect or all liver stages cleared over multiple steps).
Attributes
Input parameter value
value=double
A double-precision floating-point value.
DecisionTree5Day
→ scenario → healthSystem → DecisionTree5Day
<DecisionTree5Day
[ name=string ]
>
IN ANY ORDER:
| <pSeekOfficialCareUncomplicated1 ... />
| <pSelfTreatUncomplicated ... />
| <pSeekOfficialCareUncomplicated2 ... />
| <pSeekOfficialCareSevere ... />
| [ <liverStageDrug ... /> ]
| <treeUCOfficial ... />
| <treeUCSelfTreat ... />
| <cureRateSevere ... />
| <treatmentSevere ... />
</DecisionTree5Day>
- pSeekOfficialCareUncomplicated1
- pSelfTreatUncomplicated
- pSeekOfficialCareUncomplicated2
- pSeekOfficialCareSevere
- liverStageDrug
- treeUCOfficial
- treeUCSelfTreat
- cureRateSevere
- treatmentSevere
Documentation (type)
Description of the health system using the 5-day timestep with decision tree model: access is configured as in the Tediosi et al case management model (Case management as described in AJTMH 75 (suppl 2) pp90-103) while treatment decisions are configured via decision trees.
Besides greater flexibility, this allows treatment via PK/PD models.
Attributes
Name of case management parameterisation
name=string
Name of health system
Probability that a patient with uncomplicated disease seeks official care immediately.
→ scenario → healthSystem → DecisionTree5Day → pSeekOfficialCareUncomplicated1
<pSeekOfficialCareUncomplicated1
value=double
/>
Documentation (element)
Units: Dimensionless Min: 0.0 Max: 1.0
Probability that a patient with newly incident uncomplicated disease seeks official care
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Probability that a patient with uncomplicated disease will self-treat.
→ scenario → healthSystem → DecisionTree5Day → pSelfTreatUncomplicated
<pSelfTreatUncomplicated
value=double
/>
Documentation (element)
Units: Dimensionless Min: 0.0 Max: 1.0
Probability that a patient with uncomplicated disease without recent history of disease (i.e. first line) will self-treat.
Note that in second line cases there is no probability of self-treatment.
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Probability that a recurring patient seeks official care
→ scenario → healthSystem → DecisionTree5Day → pSeekOfficialCareUncomplicated2
<pSeekOfficialCareUncomplicated2
value=double
/>
Documentation (element)
Units: Dimensionless Min: 0.0 Max: 1.0
Probability that a patient with recurrence of uncomplicated disease seeks official care
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Probability that a patient with severe disease obtains appropriate care
→ scenario → healthSystem → DecisionTree5Day → pSeekOfficialCareSevere
<pSeekOfficialCareSevere
value=double
/>
Documentation (element)
Units: Dimensionless Min: 0.0 Max: 1.0
Probability that a patient with severe disease obtains appropriate care
Attributes
Input parameter value
value=double
A double-precision floating-point value.
liverStageDrug
→ scenario → healthSystem → DecisionTree5Day → liverStageDrug
<liverStageDrug>
IN ANY ORDER:
| <pHumanCannotReceive ... />
| [ <ignoreCannotReceive ... /> ]
| [ <pUseUncomplicated ... /> ]
| <effectivenessOnUse ... />
</liverStageDrug>
Documentation (type)
Parameters for drug treatment which have an effect on the liver-stage of parasites (Primaquine and potentially Tafenoquine); for use with the Vivax model only.
Note: if this section is not listed, the following default values are assumed: pHumanCannotReceive=0, pUseUncomplicated=0, effectivenessOnUse=1.
treeUCOfficial
→ scenario → healthSystem → DecisionTree5Day → treeUCOfficial
<treeUCOfficial
[ name=string ]
>
EXACTLY ONE OF:
| <multiple ... />
| <caseType ... />
| <infectionOrigin ... />
| <diagnostic ... />
| <uncomplicated ... />
| <severe ... />
| <random ... />
| <age ... />
| <noTreatment ... />
| ( <report ... /> )+
| <treatFailure ... />
| ( <treatPKPD ... /> )+
| ( <treatSimple ... /> )+
| ( <deploy ... /> )*
| <cohort ... />
</treeUCOfficial>
- multiple
- caseType
- infectionOrigin
- diagnostic
- uncomplicated
- severe
- random
- age
- noTreatment
- report
- treatFailure
- treatPKPD
- treatSimple
- deploy
- cohort
Documentation (type)
Describes how "decisions" are made, both probabilistically and deterministically, and what actions are carried out.
Quantities may also be reported as a side effect of decisions made in the tree, for example the number of diagnostics used.
Attributes
Name
name=string
An optional piece of documentation attached to this node.
treeUCSelfTreat
→ scenario → healthSystem → DecisionTree5Day → treeUCSelfTreat
<treeUCSelfTreat
[ name=string ]
>
EXACTLY ONE OF:
| <multiple ... />
| <caseType ... />
| <infectionOrigin ... />
| <diagnostic ... />
| <uncomplicated ... />
| <severe ... />
| <random ... />
| <age ... />
| <noTreatment ... />
| ( <report ... /> )+
| <treatFailure ... />
| ( <treatPKPD ... /> )+
| ( <treatSimple ... /> )+
| ( <deploy ... /> )*
| <cohort ... />
</treeUCSelfTreat>
- multiple
- caseType
- infectionOrigin
- diagnostic
- uncomplicated
- severe
- random
- age
- noTreatment
- report
- treatFailure
- treatPKPD
- treatSimple
- deploy
- cohort
Documentation (type)
Describes how "decisions" are made, both probabilistically and deterministically, and what actions are carried out.
Quantities may also be reported as a side effect of decisions made in the tree, for example the number of diagnostics used.
Attributes
Name
name=string
An optional piece of documentation attached to this node.
Cure rate (severe cases)
→ scenario → healthSystem → DecisionTree5Day → cureRateSevere
<cureRateSevere
value=double
/>
Documentation (element)
Min: 0 Max: 1
The probability of clearing parasites given access to appropriate (hospital) care, for a severe case.
Attributes
Input parameter value
value=double
A double-precision floating-point value.
treatmentSevere
→ scenario → healthSystem → DecisionTree5Day → treatmentSevere
<treatmentSevere
[ name=string ]
>
IN THIS ORDER:
| ( <deploy ... /> )*
</treatmentSevere>
Documentation (type)
Describes the effects of the treatment, assuming this compliance/adherence/... option is selected. Effects are described in terms of a list of options, each of which acts independently but with all effects being activated simultaneously.
Documentation (base type)
Lists intervention components which are deployed according to some external trigger (for example, screening with a negative patency outcome or health-system treatment).
Components are referenced from one or more sub-lists. Each of these lists is deployed independently if and only if its age constraints are met by the human host and a random sample with the given probability of a positive outcome is positive.
Attributes
Name
name=string
Describes what this compliance option represents (e.g. "good compliance", "poor compliance with good drugs", ...).
Case fatality rate for inpatients
→ scenario → healthSystem → CFR
<CFR
[ interpolation=("none" or "linear") ]
>
IN THIS ORDER:
| ( <group ... /> )+
</CFR>
Documentation (element)
Case fatality rate (probability of an inpatient fatality from a bout of severe malaria, per age-group).
Attributes
interpolation
interpolation=("none" or "linear")
Interpolation algorithm. Normally it is desirable for age-based values to be continuous w.r.t. age. By default linear interpolation is used. With all algorithms except "none", the age groups are converted to a set of points centred within each age range. Extra points are added at each end (zero and infinity) to keep value constant at both ends of the function. A zero-length age group may be used as a kind of barrier to adjust the distribution; e.g. with age group boundaries at 15, 20 and 25 years, a (linear) spline would be drawn between ages 17.5 and 22.5, whereas with boundaries at 15, 20 and 20 years, a spline would be drawn between ages 17.5 and 20 years (may be desired if individuals are assumed to reach adult size at 20). Algorithms:
- none: input values are used directly
- linear: straight lines (on an age vs. value graph) are used to interpolate data points.
Probabilities of sequelae in inpatients
→ scenario → healthSystem → pSequelaeInpatient
<pSequelaeInpatient
[ interpolation=("none" or "linear") ]
>
IN THIS ORDER:
| ( <group ... /> )+
</pSequelaeInpatient>
Documentation (element)
Units: Dimensionless
List of age-specific probabilities of sequelae in inpatients, during a severe bout of malaria.
Attributes
interpolation
interpolation=("none" or "linear")
Interpolation algorithm. Normally it is desirable for age-based values to be continuous w.r.t. age. By default linear interpolation is used. With all algorithms except "none", the age groups are converted to a set of points centred within each age range. Extra points are added at each end (zero and infinity) to keep value constant at both ends of the function. A zero-length age group may be used as a kind of barrier to adjust the distribution; e.g. with age group boundaries at 15, 20 and 25 years, a (linear) spline would be drawn between ages 17.5 and 22.5, whereas with boundaries at 15, 20 and 20 years, a spline would be drawn between ages 17.5 and 20 years (may be desired if individuals are assumed to reach adult size at 20). Algorithms:
- none: input values are used directly
- linear: straight lines (on an age vs. value graph) are used to interpolate data points.
Change transmission levels
→ scenario → interventions → changeEIR
<changeEIR
[ name=string ]
>
IN THIS ORDER:
| ( <timedDeployment ... /> )*
</changeEIR>
Documentation (element)
New description of transmission level for models not supporting vector control interventions. Use of this overrides previous transmission levels such that human infectiousness no longer has any feedback effect on transmission. Supplied EIR data must last until end of simulation.
Attributes
Name of intervention
name=string
Name of intervention
timedDeployment
→ scenario → interventions → changeEIR → timedDeployment
<timedDeployment
eipDuration=int
time=string
>
IN THIS ORDER:
| ( <EIRDaily ... /> )+
</timedDeployment>
Documentation (type)
Replacement transmission levels. Disables feedback of human infectiousness to mosquitoes on further mosquito to human transmission. Must last until end of simulation.
Attributes
Duration of sporogony
eipDuration=int
Units: Days
The duration of sporogony in days
Time
time=string
Units: User defined (defauls to steps) Min: 0
Time at which this replacement occurs. See doc on intervention period and on monitoring/startDate for details of how times work. Can be specified in steps, days, years, or as a date (examples: 15t, 75d, 0.2y, 2000-03-16).
EIRDaily
→ scenario → entomology → nonVector → EIRDaily
<EIRDaily
[ origin=string ]
>
double
</EIRDaily>
Documentation (type)
Units: Infectious bites per adult per day
In the non-vector model, EIR is input as a sequence of daily values. There must be at least one years' worth of entries (365), and if there are more, values are wrapped and averaged (i.e. value for first day of year is taken as the mean of values for days 0, 365+0, 2*365+0, etc.).
Attributes
Time origin of EIR sequence
origin=string
Imported infections
→ scenario → interventions → importedInfections
<importedInfections
[ name=string ]
>
IN THIS ORDER:
| <timed ... />
</importedInfections>
Documentation (element)
Models importation of P. falciparum infections directly into humans from an external source. This is infections, not inoculations or EIR being imported.
Attributes
Name of intervention
name=string
Name of intervention
Rate of importation
→ scenario → interventions → importedInfections → timed
<timed
[ period=string ] DEFAULT VALUE 0
>
IN THIS ORDER:
| ( <rate ... /> )+
</timed>
Documentation (element)
Rate of case importation, as a step function. Each value is valid until replaced by the next value.
Attributes
Period of repetition
period=string
Units: User defined (default: steps) Min: 0
Default value: 0
If period is 0 (or effectively infinite), the last specified value remains indefinitely in effect. If period is less than the length of the simulation's intervention phase, then all "rate" deployments are repeated with this periodicity. In this case, the first "rate" deployment must coincide with the start of the intervention phase (monitoring/startDate). Can be specified in steps (e.g. 1t) or days (e.g. 365d).
rate
→ scenario → interventions → importedInfections → timed → rate
<rate
value=double
time=string
/>
Documentation (type)
Units: Imported cases per thousand people per year
A time-rate pair.
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Time of start
time=string
Units: User defined (defauls to steps) Min: 0
Time at which this importation rate becomes active. See doc on intervention period and on monitoring/startDate for details of how times work. Can be specified in steps, days, years, or as a date (examples: 15t, 75d, 0.2y, 2000-03-16).
Insert R_0 case
→ scenario → interventions → insertR_0Case
<insertR_0Case
[ name=string ]
>
IN THIS ORDER:
| ( <timedDeployment ... /> )*
</insertR_0Case>
Documentation (element)
Used to simulate R_0. First, infections should be eliminated, immunity removed, and the population given an effective transmission- blocking vaccine (not done by this intervention). Then this intervention may be used to: pick one human, infect him, administer a fully effective Preerythrocytic vaccine and remove transmission-blocking vaccine effect on this human. Thus only this one human will be a source of infections in an unprotected population, and will not reinfected himself.
Attributes
Name of intervention
name=string
Name of intervention
timedDeployment
→ scenario → interventions → insertR_0Case → timedDeployment
<timedDeployment
time=string
/>
Attributes
Time
time=string
Units: User defined (defauls to steps) Min: 0
Time at which this intervention occurs. See doc on intervention period and on monitoring/startDate for details of how times work. Can be specified in steps, days, years, or as a date (examples: 15t, 75d, 0.2y, 2000-03-16).
Uninfect vectors
→ scenario → interventions → uninfectVectors
<uninfectVectors
[ name=string ]
>
IN THIS ORDER:
| ( <timedDeployment ... /> )*
</uninfectVectors>
Documentation (element)
Units: List of elements
Removes all infections from mosquitoes -- resulting in zero EIR to humans, until such time that mosquitoes are re-infected and become infectious. Only efficacious in dynamic EIR mode (when changeEIR was not used).
Hypothetical, but potentially useful to simulate a setting starting from no infections, but with enough mosquitoes to reach a set equilibrium of exposure.
Attributes
Name of intervention
name=string
Name of intervention
timedDeployment
→ scenario → interventions → uninfectVectors → timedDeployment
<timedDeployment
time=string
/>
Attributes
Time
time=string
Units: User defined (defauls to steps) Min: 0
Time at which this intervention occurs. See doc on intervention period and on monitoring/startDate for details of how times work. Can be specified in steps, days, years, or as a date (examples: 15t, 75d, 0.2y, 2000-03-16).
Vector population intervention
→ scenario → interventions → vectorPop
<vectorPop>
IN THIS ORDER:
| ( <intervention ... /> )+
</vectorPop>
Documentation (element)
Units: List of elements
A list of parameterisations of generic vector host-inspecific interventions.
intervention
→ scenario → interventions → vectorPop → intervention
<intervention
name=string
>
IN THIS ORDER:
| <description ... />
| [ <timed ... /> ]
</intervention>
Documentation (type)
Units: List of elements
An intervention which may have various effects on the vector populations as a whole. (Not host specific.)
Multiple instances of this intervention class are allowed (multiple parameterisations, not just deployments).
Each instance may have multiple deployments. In this case the effects of each instance are independent (effects are combined) but the effects of multiple deployments of a single instance are not independent (only the latest deployment has any effect).
Attributes
Name of intervention
name=string
Name of intervention (e.g. larviciding, sugar bait).
description
→ scenario → interventions → vectorPop → intervention → description
<description>
IN THIS ORDER:
| ( <anopheles ... /> )+
</description>
anopheles
→ scenario → interventions → vectorPop → intervention → description → anopheles
<anopheles
mosquito=string
>
IN ANY ORDER:
| [ <seekingDeathRateIncrease ... /> ]
| [ <probDeathOvipositing ... /> ]
| [ <emergenceReduction ... /> ]
| [ <probAdditionalDeathSugarFeeding ... /> ]
</anopheles>
Documentation (type)
Units: dimensionless Min: 0 Max: 1
Descriptions of the effects of vector interventions with per-species effects.
Attributes
Species/subspecies/variant name
mosquito=string
Name of the species/subspecies/variant.
Proportional increase in deaths while host searching
→ scenario → interventions → vectorPop → intervention → description → anopheles → seekingDeathRateIncrease
<seekingDeathRateIncrease
initial=double
>
IN THIS ORDER:
| <decay ... />
</seekingDeathRateIncrease>
Documentation (element)
Units: dimensionless
Describe an effect on the increase in the death rate while host seeking (mu_vA) due to this intervention.
Enter the rate increase (i.e. if rate increases to 120% of normal, give 0.2). New death rate while seeking is old × (1 + increase) where increase is this factor given. Must have increas ≥ -1.
Attributes
Initial proportion increase
initial=double
Units: dimensionless Min: -1 Max: inf
decay
→ scenario → interventions → vectorPop → intervention → description → anopheles → seekingDeathRateIncrease → decay
<decay
function=("constant" or "step" or "linear" or "exponential" or "weibull" or "hill" or "smooth-compact" or "plus" or "minus" or "divides" or "multiplies")
[ L=string ]
[ k=double ] DEFAULT VALUE 1.0
[ CV=double ] DEFAULT VALUE 0
[ increasing=boolean ] DEFAULT VALUE false
[ initialEfficacy=double ] DEFAULT VALUE 1
[ rho=double ]
[ halflife_short=string ]
[ halflife_long=string ]
>
IN THIS ORDER:
| <decay ... />
</decay>
Documentation (type)
Specification of decay or survival of a parameter.
Attributes
function
function=("constant" or "step" or "linear" or "exponential" or "weibull" or "hill" or "smooth-compact" or "plus" or "minus" or "divides" or "multiplies")
Units: None Min: 0 Max: 1
Determines which decay function to use. Available decay functions, for age t in years: constant: 1 step: 1 for t less than L, otherwise 0 linear: 1 - t/L for t less than L, otherwise 0 exponential: exp( - t/L * log(2) ) weibull: exp( -(t/L)^k * log(2) ) hill: 1 / (1 + (t/L)^k) smooth-compact: exp( k - k / (1 - (t/L)^2) ) for t less than L, otherwise 0
L
L=string
Units: User-defined (defaults to years) Min: 0
(Time) scale parameter of distribution: this is either the age of complete decay (smooth-compact, step and linear functions) or the age at which the parameter has decayed to half its original value (exponential, weibull and hill). Not used when function="constant" (i.e. no decay). This value can be specified in years, days or steps (e.g. 2y, 180d or 100t). When the unit is not specified years are assumed. The value is used without rounding except when sampling an age of decay, when the rounding happens as late as possible.
k
k=double
Units: none Min: 0
Default value: 1.0
Shape parameter of distribution. If not specified, default value of 1 is used. Meaning depends on function; not used in some cases.
Coefficient of Variation
CV=double
Min: 0
Default value: 0
If CV is non-zero, heterogeneity of decay is introduced via a random variable sampled from the log-normal distribution. This distribution is parameterised with mean=1 and CV as given. The effective age of decay is the real age multiplied by this variable (for decay functions with a half-life, this is equivalent to dividing the half-life by the variable).
L
increasing=boolean
Units: User-defined (defaults to years) Min: 0
Default value: false
(Boolean) If True, this tells OpenMalaria to use the complement of the DecayFunction defined as 1-f(x). This is useful to model increasing functions that will "decay" to 1. This only works if f(x) is contained between 0 and 1.
initialEfficacy
initialEfficacy=double
Default value: 1
biphasic: Efficacy between 0 and 1.
rho
rho=double
biphasic: Proportion between 0 and 1, proportion of the response that is short-lived.
halflife_short
halflife_short=string
biphasic: halflife of short lived component (default to years).
halflife_long
halflife_long=string
biphasic: halflife of long lived component (default to years).
decay
→ scenario → interventions → nonHumanHostsModifications → intervention → decay → decay
<decay
function=("constant" or "step" or "linear" or "exponential" or "weibull" or "hill" or "smooth-compact" or "plus" or "minus" or "divides" or "multiplies")
[ L=string ]
[ k=double ] DEFAULT VALUE 1.0
[ CV=double ] DEFAULT VALUE 0
[ increasing=boolean ] DEFAULT VALUE false
[ initialEfficacy=double ] DEFAULT VALUE 1
[ rho=double ]
[ halflife_short=string ]
[ halflife_long=string ]
>
IN THIS ORDER:
| <decay ... />
</decay>
Documentation (type)
Specification of decay or survival of a parameter.
Attributes
function
function=("constant" or "step" or "linear" or "exponential" or "weibull" or "hill" or "smooth-compact" or "plus" or "minus" or "divides" or "multiplies")
Units: None Min: 0 Max: 1
Determines which decay function to use. Available decay functions, for age t in years: constant: 1 step: 1 for t less than L, otherwise 0 linear: 1 - t/L for t less than L, otherwise 0 exponential: exp( - t/L * log(2) ) weibull: exp( -(t/L)^k * log(2) ) hill: 1 / (1 + (t/L)^k) smooth-compact: exp( k - k / (1 - (t/L)^2) ) for t less than L, otherwise 0
L
L=string
Units: User-defined (defaults to years) Min: 0
(Time) scale parameter of distribution: this is either the age of complete decay (smooth-compact, step and linear functions) or the age at which the parameter has decayed to half its original value (exponential, weibull and hill). Not used when function="constant" (i.e. no decay). This value can be specified in years, days or steps (e.g. 2y, 180d or 100t). When the unit is not specified years are assumed. The value is used without rounding except when sampling an age of decay, when the rounding happens as late as possible.
k
k=double
Units: none Min: 0
Default value: 1.0
Shape parameter of distribution. If not specified, default value of 1 is used. Meaning depends on function; not used in some cases.
Coefficient of Variation
CV=double
Min: 0
Default value: 0
If CV is non-zero, heterogeneity of decay is introduced via a random variable sampled from the log-normal distribution. This distribution is parameterised with mean=1 and CV as given. The effective age of decay is the real age multiplied by this variable (for decay functions with a half-life, this is equivalent to dividing the half-life by the variable).
L
increasing=boolean
Units: User-defined (defaults to years) Min: 0
Default value: false
(Boolean) If True, this tells OpenMalaria to use the complement of the DecayFunction defined as 1-f(x). This is useful to model increasing functions that will "decay" to 1. This only works if f(x) is contained between 0 and 1.
initialEfficacy
initialEfficacy=double
Default value: 1
biphasic: Efficacy between 0 and 1.
rho
rho=double
biphasic: Proportion between 0 and 1, proportion of the response that is short-lived.
halflife_short
halflife_short=string
biphasic: halflife of short lived component (default to years).
halflife_long
halflife_long=string
biphasic: halflife of long lived component (default to years).
Proportion ovipositing mosquitoes killed
→ scenario → interventions → vectorPop → intervention → description → anopheles → probDeathOvipositing
<probDeathOvipositing
initial=double
>
IN THIS ORDER:
| <decay ... />
</probDeathOvipositing>
Documentation (element)
Units: dimensionless
Describe an effect of increased mortality while ovipositing due to this intervention. Enter the probability of dying due to this intervention.
Attributes
Initial probability of killing
initial=double
Units: dimensionless Min: 0 Max: 1
decay
→ scenario → interventions → vectorPop → intervention → description → anopheles → probDeathOvipositing → decay
<decay
function=("constant" or "step" or "linear" or "exponential" or "weibull" or "hill" or "smooth-compact" or "plus" or "minus" or "divides" or "multiplies")
[ L=string ]
[ k=double ] DEFAULT VALUE 1.0
[ CV=double ] DEFAULT VALUE 0
[ increasing=boolean ] DEFAULT VALUE false
[ initialEfficacy=double ] DEFAULT VALUE 1
[ rho=double ]
[ halflife_short=string ]
[ halflife_long=string ]
>
IN THIS ORDER:
| <decay ... />
</decay>
Documentation (type)
Specification of decay or survival of a parameter.
Attributes
function
function=("constant" or "step" or "linear" or "exponential" or "weibull" or "hill" or "smooth-compact" or "plus" or "minus" or "divides" or "multiplies")
Units: None Min: 0 Max: 1
Determines which decay function to use. Available decay functions, for age t in years: constant: 1 step: 1 for t less than L, otherwise 0 linear: 1 - t/L for t less than L, otherwise 0 exponential: exp( - t/L * log(2) ) weibull: exp( -(t/L)^k * log(2) ) hill: 1 / (1 + (t/L)^k) smooth-compact: exp( k - k / (1 - (t/L)^2) ) for t less than L, otherwise 0
L
L=string
Units: User-defined (defaults to years) Min: 0
(Time) scale parameter of distribution: this is either the age of complete decay (smooth-compact, step and linear functions) or the age at which the parameter has decayed to half its original value (exponential, weibull and hill). Not used when function="constant" (i.e. no decay). This value can be specified in years, days or steps (e.g. 2y, 180d or 100t). When the unit is not specified years are assumed. The value is used without rounding except when sampling an age of decay, when the rounding happens as late as possible.
k
k=double
Units: none Min: 0
Default value: 1.0
Shape parameter of distribution. If not specified, default value of 1 is used. Meaning depends on function; not used in some cases.
Coefficient of Variation
CV=double
Min: 0
Default value: 0
If CV is non-zero, heterogeneity of decay is introduced via a random variable sampled from the log-normal distribution. This distribution is parameterised with mean=1 and CV as given. The effective age of decay is the real age multiplied by this variable (for decay functions with a half-life, this is equivalent to dividing the half-life by the variable).
L
increasing=boolean
Units: User-defined (defaults to years) Min: 0
Default value: false
(Boolean) If True, this tells OpenMalaria to use the complement of the DecayFunction defined as 1-f(x). This is useful to model increasing functions that will "decay" to 1. This only works if f(x) is contained between 0 and 1.
initialEfficacy
initialEfficacy=double
Default value: 1
biphasic: Efficacy between 0 and 1.
rho
rho=double
biphasic: Proportion between 0 and 1, proportion of the response that is short-lived.
halflife_short
halflife_short=string
biphasic: halflife of short lived component (default to years).
halflife_long
halflife_long=string
biphasic: halflife of long lived component (default to years).
Proportion of emerging pupa killed
→ scenario → interventions → vectorPop → intervention → description → anopheles → emergenceReduction
<emergenceReduction
initial=double
>
IN THIS ORDER:
| <decay ... />
</emergenceReduction>
Documentation (element)
Units: dimensionless
Describe an effect on emergence of pupa into adults: this value is the proportion of emerging pupa which are killed by this intervention.
This can be used as a crude way of modelling larviciding. It ca also be used to increase emergence by giving a negative value. The emergence rate is "old rate" × (1 - factor) where factor is the value given here; thus, for example, using -1 will double emergence.
Attributes
Initial proportion reduction
initial=double
Units: dimensionless Min: -inf Max: 1
decay
→ scenario → interventions → vectorPop → intervention → description → anopheles → emergenceReduction → decay
<decay
function=("constant" or "step" or "linear" or "exponential" or "weibull" or "hill" or "smooth-compact" or "plus" or "minus" or "divides" or "multiplies")
[ L=string ]
[ k=double ] DEFAULT VALUE 1.0
[ CV=double ] DEFAULT VALUE 0
[ increasing=boolean ] DEFAULT VALUE false
[ initialEfficacy=double ] DEFAULT VALUE 1
[ rho=double ]
[ halflife_short=string ]
[ halflife_long=string ]
>
IN THIS ORDER:
| <decay ... />
</decay>
Documentation (type)
Specification of decay or survival of a parameter.
Attributes
function
function=("constant" or "step" or "linear" or "exponential" or "weibull" or "hill" or "smooth-compact" or "plus" or "minus" or "divides" or "multiplies")
Units: None Min: 0 Max: 1
Determines which decay function to use. Available decay functions, for age t in years: constant: 1 step: 1 for t less than L, otherwise 0 linear: 1 - t/L for t less than L, otherwise 0 exponential: exp( - t/L * log(2) ) weibull: exp( -(t/L)^k * log(2) ) hill: 1 / (1 + (t/L)^k) smooth-compact: exp( k - k / (1 - (t/L)^2) ) for t less than L, otherwise 0
L
L=string
Units: User-defined (defaults to years) Min: 0
(Time) scale parameter of distribution: this is either the age of complete decay (smooth-compact, step and linear functions) or the age at which the parameter has decayed to half its original value (exponential, weibull and hill). Not used when function="constant" (i.e. no decay). This value can be specified in years, days or steps (e.g. 2y, 180d or 100t). When the unit is not specified years are assumed. The value is used without rounding except when sampling an age of decay, when the rounding happens as late as possible.
k
k=double
Units: none Min: 0
Default value: 1.0
Shape parameter of distribution. If not specified, default value of 1 is used. Meaning depends on function; not used in some cases.
Coefficient of Variation
CV=double
Min: 0
Default value: 0
If CV is non-zero, heterogeneity of decay is introduced via a random variable sampled from the log-normal distribution. This distribution is parameterised with mean=1 and CV as given. The effective age of decay is the real age multiplied by this variable (for decay functions with a half-life, this is equivalent to dividing the half-life by the variable).
L
increasing=boolean
Units: User-defined (defaults to years) Min: 0
Default value: false
(Boolean) If True, this tells OpenMalaria to use the complement of the DecayFunction defined as 1-f(x). This is useful to model increasing functions that will "decay" to 1. This only works if f(x) is contained between 0 and 1.
initialEfficacy
initialEfficacy=double
Default value: 1
biphasic: Efficacy between 0 and 1.
rho
rho=double
biphasic: Proportion between 0 and 1, proportion of the response that is short-lived.
halflife_short
halflife_short=string
biphasic: halflife of short lived component (default to years).
halflife_long
halflife_long=string
biphasic: halflife of long lived component (default to years).
Probability of death while host searching as a result of feeding on a sugar bait (used to dynamically adjust mu_vA)
→ scenario → interventions → vectorPop → intervention → description → anopheles → probAdditionalDeathSugarFeeding
<probAdditionalDeathSugarFeeding
initial=double
>
IN THIS ORDER:
| <decay ... />
</probAdditionalDeathSugarFeeding>
Documentation (element)
Units: dimensionless
Describe an effect on the increase in the death rate while host seeking (mu_vA) due to this intervention. This works like adding an non-human host with its own availability. The difference is that biting this sugar bait is associated with a probability of dying of 1: all mosquitoes biting the sugar bait will die. OpenMalaria will automatically compute the availability for this host so that the probability of biting this 'host' (and thus dying) is equal to the input parameter.
Enter the probability of dying while host seeking due to this intervention. If multiple interventions overlap, the cumulative probability will be used. Note that it cannot exceed 1, and OpenMalaria will return an error during the simulation if this ever happens.
OpenMalaria will dynamically compute the necessary increase in mu_vA based on the given probability. Note that this is done by solving an equation numerically every timestep, which can cause a small drop in performance.
Attributes
Initial proportion increase
initial=double
Units: dimensionless Min: -1 Max: inf
decay
→ scenario → interventions → vectorPop → intervention → description → anopheles → probAdditionalDeathSugarFeeding → decay
<decay
function=("constant" or "step" or "linear" or "exponential" or "weibull" or "hill" or "smooth-compact" or "plus" or "minus" or "divides" or "multiplies")
[ L=string ]
[ k=double ] DEFAULT VALUE 1.0
[ CV=double ] DEFAULT VALUE 0
[ increasing=boolean ] DEFAULT VALUE false
[ initialEfficacy=double ] DEFAULT VALUE 1
[ rho=double ]
[ halflife_short=string ]
[ halflife_long=string ]
>
IN THIS ORDER:
| <decay ... />
</decay>
Documentation (type)
Specification of decay or survival of a parameter.
Attributes
function
function=("constant" or "step" or "linear" or "exponential" or "weibull" or "hill" or "smooth-compact" or "plus" or "minus" or "divides" or "multiplies")
Units: None Min: 0 Max: 1
Determines which decay function to use. Available decay functions, for age t in years: constant: 1 step: 1 for t less than L, otherwise 0 linear: 1 - t/L for t less than L, otherwise 0 exponential: exp( - t/L * log(2) ) weibull: exp( -(t/L)^k * log(2) ) hill: 1 / (1 + (t/L)^k) smooth-compact: exp( k - k / (1 - (t/L)^2) ) for t less than L, otherwise 0
L
L=string
Units: User-defined (defaults to years) Min: 0
(Time) scale parameter of distribution: this is either the age of complete decay (smooth-compact, step and linear functions) or the age at which the parameter has decayed to half its original value (exponential, weibull and hill). Not used when function="constant" (i.e. no decay). This value can be specified in years, days or steps (e.g. 2y, 180d or 100t). When the unit is not specified years are assumed. The value is used without rounding except when sampling an age of decay, when the rounding happens as late as possible.
k
k=double
Units: none Min: 0
Default value: 1.0
Shape parameter of distribution. If not specified, default value of 1 is used. Meaning depends on function; not used in some cases.
Coefficient of Variation
CV=double
Min: 0
Default value: 0
If CV is non-zero, heterogeneity of decay is introduced via a random variable sampled from the log-normal distribution. This distribution is parameterised with mean=1 and CV as given. The effective age of decay is the real age multiplied by this variable (for decay functions with a half-life, this is equivalent to dividing the half-life by the variable).
L
increasing=boolean
Units: User-defined (defaults to years) Min: 0
Default value: false
(Boolean) If True, this tells OpenMalaria to use the complement of the DecayFunction defined as 1-f(x). This is useful to model increasing functions that will "decay" to 1. This only works if f(x) is contained between 0 and 1.
initialEfficacy
initialEfficacy=double
Default value: 1
biphasic: Efficacy between 0 and 1.
rho
rho=double
biphasic: Proportion between 0 and 1, proportion of the response that is short-lived.
halflife_short
halflife_short=string
biphasic: halflife of short lived component (default to years).
halflife_long
halflife_long=string
biphasic: halflife of long lived component (default to years).
Vector population intervention deployment
→ scenario → interventions → vectorPop → intervention → timed
<timed>
IN THIS ORDER:
| ( <deploy ... /> )+
</timed>
Documentation (element)
List of timed vector population intervention deployment
deploy
→ scenario → interventions → vectorPop → intervention → timed → deploy
<deploy
time=string
/>
Attributes
Time
time=string
Units: User defined (defauls to steps) Min: 0
Time at which this deployment occurs. See doc on intervention period and on monitoring/startDate for details of how times work. Can be specified in steps, days, years, or as a date (examples: 15t, 75d, 0.2y, 2000-03-16).
Baited trap
→ scenario → interventions → vectorTrap
<vectorTrap>
IN THIS ORDER:
| ( <intervention ... /> )+
</vectorTrap>
Documentation (element)
Traps attract and kill mosquitoes. They are modelled as a non-human-host where the probability of mosquitoes surviving feeding is zero (since otherwise the simulator would assume surviving mosquitoes have had a blood meal), and where this "host" is initially not present.
Model: each type of trap has has an initial availability relative to a human and a decay in availability. Each deployment has a fixed maximum lifespan, after which the traps from that deployment are removed (it is up to the user whether this is after availability is effectively zero or sooner, either coinciding with a redeployment or causing a reduction in overall effectiveness of traps).
intervention
→ scenario → interventions → vectorTrap → intervention
<intervention
[ name=string ]
>
IN THIS ORDER:
| ( <description ... /> )+
| [ <timed ... /> ]
</intervention>
Documentation (type)
Parameters and deployment of one type of trap. In case multiple types of trap are needed simultaneously, multiple elements can be used. Note that different types of trap do not interact except that all will attract mosquitoes.
Attributes
Descriptive name for type of trap
name=string
Optional name for this type of trap
Description
→ scenario → interventions → vectorTrap → intervention → description
<description
mosquito=string
>
IN THIS ORDER:
| <relativeAvailability ... />
| <decayOfAvailability ... />
</description>
Documentation (element)
Parameters associated with a vector trap intervention, per mosquito species.
Attributes
Species/subspecies/variant name
mosquito=string
Name of the species/subspecies/variant.
Initial relative availability
→ scenario → interventions → vectorTrap → intervention → description → relativeAvailability
<relativeAvailability
value=double
/>
Documentation (element)
Units: Proportion Min: 0 Max: inf
Describes the availiability of a trap to a host-seeking mosquito relative to an average unprotected adult.
I.e. if this parameter is 2, then each trap will on average attract twice as many mosquitoes as unprotected adults.
This is the initial availability; it may decay towards zero depending on the configured decay function.
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Decay of availability
→ scenario → interventions → vectorTrap → intervention → description → decayOfAvailability
<decayOfAvailability
function=("constant" or "step" or "linear" or "exponential" or "weibull" or "hill" or "smooth-compact" or "plus" or "minus" or "divides" or "multiplies")
[ L=string ]
[ k=double ] DEFAULT VALUE 1.0
[ CV=double ] DEFAULT VALUE 0
[ increasing=boolean ] DEFAULT VALUE false
[ initialEfficacy=double ] DEFAULT VALUE 1
[ rho=double ]
[ halflife_short=string ]
[ halflife_long=string ]
>
IN THIS ORDER:
| <decay ... />
</decayOfAvailability>
Documentation (element)
Describes how availability decays to zero.
If decay heterogeneity/variance is used, there will be a sample once-per-deployment (i.e. all traps of the same deployment will be affected the same way). There is no support for variances between traps (except in this crude way, between deployments).
Documentation (type)
Specification of decay or survival of a parameter.
Attributes
function
function=("constant" or "step" or "linear" or "exponential" or "weibull" or "hill" or "smooth-compact" or "plus" or "minus" or "divides" or "multiplies")
Units: None Min: 0 Max: 1
Determines which decay function to use. Available decay functions, for age t in years: constant: 1 step: 1 for t less than L, otherwise 0 linear: 1 - t/L for t less than L, otherwise 0 exponential: exp( - t/L * log(2) ) weibull: exp( -(t/L)^k * log(2) ) hill: 1 / (1 + (t/L)^k) smooth-compact: exp( k - k / (1 - (t/L)^2) ) for t less than L, otherwise 0
L
L=string
Units: User-defined (defaults to years) Min: 0
(Time) scale parameter of distribution: this is either the age of complete decay (smooth-compact, step and linear functions) or the age at which the parameter has decayed to half its original value (exponential, weibull and hill). Not used when function="constant" (i.e. no decay). This value can be specified in years, days or steps (e.g. 2y, 180d or 100t). When the unit is not specified years are assumed. The value is used without rounding except when sampling an age of decay, when the rounding happens as late as possible.
k
k=double
Units: none Min: 0
Default value: 1.0
Shape parameter of distribution. If not specified, default value of 1 is used. Meaning depends on function; not used in some cases.
Coefficient of Variation
CV=double
Min: 0
Default value: 0
If CV is non-zero, heterogeneity of decay is introduced via a random variable sampled from the log-normal distribution. This distribution is parameterised with mean=1 and CV as given. The effective age of decay is the real age multiplied by this variable (for decay functions with a half-life, this is equivalent to dividing the half-life by the variable).
L
increasing=boolean
Units: User-defined (defaults to years) Min: 0
Default value: false
(Boolean) If True, this tells OpenMalaria to use the complement of the DecayFunction defined as 1-f(x). This is useful to model increasing functions that will "decay" to 1. This only works if f(x) is contained between 0 and 1.
initialEfficacy
initialEfficacy=double
Default value: 1
biphasic: Efficacy between 0 and 1.
rho
rho=double
biphasic: Proportion between 0 and 1, proportion of the response that is short-lived.
halflife_short
halflife_short=string
biphasic: halflife of short lived component (default to years).
halflife_long
halflife_long=string
biphasic: halflife of long lived component (default to years).
Vector trap intervention deployment
→ scenario → interventions → vectorTrap → intervention → timed
<timed>
IN THIS ORDER:
| ( <deploy ... /> )*
</timed>
Documentation (element)
List of timed vector trap intervention deployment
deploy
→ scenario → interventions → vectorTrap → intervention → timed → deploy
<deploy
time=string
ratioToHumans=double
lifespan=string
/>
Attributes
Time
time=string
Units: User defined (defauls to steps) Min: 0
Time at which this deployment occurs. See doc on intervention period and on monitoring/startDate for details of how times work. Can be specified in steps, days, years, or as a date (examples: 15t, 75d, 0.2y, 2000-03-16).
Ratio to humans
ratioToHumans=double
Min: 0 Max: inf
The number of traps deployed, by this deployment, per adult human. E.g. if there are currently 100 traps and 1000 humans, then a ratio of 0.1 will increase the number of traps to 200.
Lifespan
lifespan=string
Units: Steps or Days or Years
Life of the trap until replaced or removed, e.g. "73t" or "1y". After this time period, these traps will be removed from the simulation. New deployments do not automatically remove old traps. Existing traps cannot be refurbished in the model. It may make sense to make the end-of-life coincide with a new deployment.
nonHumanHostsModifications
→ scenario → interventions → nonHumanHostsModifications
<nonHumanHostsModifications>
IN THIS ORDER:
| ( <intervention ... /> )+
</nonHumanHostsModifications>
Documentation (element)
List of interventions that modify parameters of non-human hosts described in the
intervention
→ scenario → interventions → nonHumanHostsModifications → intervention
<intervention
name=string
nonHumanHostsName=string
>
IN THIS ORDER:
| <decay ... />
| <description ... />
| [ <timed ... /> ]
</intervention>
Documentation (type)
This intervention modifies parameters of non-human hosts described in the
The intervention is described by 5 parameters that define the change in each of non-human host parameters:
reduceAvailability: Reduction in the availability rate, αi. For example a value of 0 will result in no change; a value of 0.2 will reduce the availability to 0.8 of its initial value; and a value of 1 will set the availability to 0;
prePrandialKillingEffect: Reduction in the pre-prandial survival probability, PBi. For example a value of 0 will result in no change; a value of 0.2 will reduce PBi to 0.8 of its initial value; and a value of 1 will set PBi to 0;
postPrandialKillingEffect: Reduction in the post-prandial survival probability, PCi. For example a value of 0 will result in no change; a value of 0.2 will reduce PCi to 0.8 of its initial value; and a value of 1 will set PCi to 0;
restingKillingEffect: Reduction in the survival probability of the resting period, PDi. For example a value of 0 will result in no change; a value of 0.2 will reduce PDi to 0.8 of its initial value; and a value of 1 will set PDi to 0;
Attributes
Name of intervention
name=string
Name of intervention (e.g. larviciding, sugar bait).
Name of intervention
nonHumanHostsName=string
Name of intervention (e.g. larviciding, sugar bait).
decay
→ scenario → interventions → nonHumanHostsModifications → intervention → decay
<decay
function=("constant" or "step" or "linear" or "exponential" or "weibull" or "hill" or "smooth-compact" or "plus" or "minus" or "divides" or "multiplies")
[ L=string ]
[ k=double ] DEFAULT VALUE 1.0
[ CV=double ] DEFAULT VALUE 0
[ increasing=boolean ] DEFAULT VALUE false
[ initialEfficacy=double ] DEFAULT VALUE 1
[ rho=double ]
[ halflife_short=string ]
[ halflife_long=string ]
>
IN THIS ORDER:
| <decay ... />
</decay>
Documentation (type)
Specification of decay or survival of a parameter.
Attributes
function
function=("constant" or "step" or "linear" or "exponential" or "weibull" or "hill" or "smooth-compact" or "plus" or "minus" or "divides" or "multiplies")
Units: None Min: 0 Max: 1
Determines which decay function to use. Available decay functions, for age t in years: constant: 1 step: 1 for t less than L, otherwise 0 linear: 1 - t/L for t less than L, otherwise 0 exponential: exp( - t/L * log(2) ) weibull: exp( -(t/L)^k * log(2) ) hill: 1 / (1 + (t/L)^k) smooth-compact: exp( k - k / (1 - (t/L)^2) ) for t less than L, otherwise 0
L
L=string
Units: User-defined (defaults to years) Min: 0
(Time) scale parameter of distribution: this is either the age of complete decay (smooth-compact, step and linear functions) or the age at which the parameter has decayed to half its original value (exponential, weibull and hill). Not used when function="constant" (i.e. no decay). This value can be specified in years, days or steps (e.g. 2y, 180d or 100t). When the unit is not specified years are assumed. The value is used without rounding except when sampling an age of decay, when the rounding happens as late as possible.
k
k=double
Units: none Min: 0
Default value: 1.0
Shape parameter of distribution. If not specified, default value of 1 is used. Meaning depends on function; not used in some cases.
Coefficient of Variation
CV=double
Min: 0
Default value: 0
If CV is non-zero, heterogeneity of decay is introduced via a random variable sampled from the log-normal distribution. This distribution is parameterised with mean=1 and CV as given. The effective age of decay is the real age multiplied by this variable (for decay functions with a half-life, this is equivalent to dividing the half-life by the variable).
L
increasing=boolean
Units: User-defined (defaults to years) Min: 0
Default value: false
(Boolean) If True, this tells OpenMalaria to use the complement of the DecayFunction defined as 1-f(x). This is useful to model increasing functions that will "decay" to 1. This only works if f(x) is contained between 0 and 1.
initialEfficacy
initialEfficacy=double
Default value: 1
biphasic: Efficacy between 0 and 1.
rho
rho=double
biphasic: Proportion between 0 and 1, proportion of the response that is short-lived.
halflife_short
halflife_short=string
biphasic: halflife of short lived component (default to years).
halflife_long
halflife_long=string
biphasic: halflife of long lived component (default to years).
description
→ scenario → interventions → nonHumanHostsModifications → intervention → description
<description>
IN THIS ORDER:
| ( <anopheles ... /> )+
</description>
anopheles
→ scenario → interventions → nonHumanHostsModifications → intervention → description → anopheles
<anopheles
mosquito=string
>
IN ANY ORDER:
| [ <availabilityReduction ... /> ]
| [ <preprandialKillingEffect ... /> ]
| [ <postprandialKillingEffect ... /> ]
| [ <restingKillingEffect ... /> ]
| [ <fecundityReduction ... /> ]
</anopheles>
- availabilityReduction
- preprandialKillingEffect
- postprandialKillingEffect
- restingKillingEffect
- fecundityReduction
Documentation (type)
Descriptions of the effects of non human hosts interventions with per-species effects.
Attributes
Species/subspecies/variant name
mosquito=string
Name of the species/subspecies/variant.
availabilityReduction
→ scenario → interventions → nonHumanHostsModifications → intervention → description → anopheles → availabilityReduction
<availabilityReduction
initial=double
/>
Documentation (element)
Reduction in the availability rate, αi. For example a value of 0 will result in no change; a value of 0.2 will reduce the availability to 0.8 of its initial value; and a value of 1 will set the availability to 0;
Attributes
Initial proportion increase
initial=double
Units: dimensionless Min: -1 Max: inf
preprandialKillingEffect
→ scenario → interventions → nonHumanHostsModifications → intervention → description → anopheles → preprandialKillingEffect
<preprandialKillingEffect
initial=double
/>
Documentation (element)
Reduction in the pre-prandial survival probability, PBi. For example a value of 0 will result in no change; a value of 0.2 will reduce PBi to 0.8 of its initial value; and a value of 1 will set PBi to 0;
Attributes
Initial proportion increase
initial=double
Units: dimensionless Min: -1 Max: inf
postprandialKillingEffect
→ scenario → interventions → nonHumanHostsModifications → intervention → description → anopheles → postprandialKillingEffect
<postprandialKillingEffect
initial=double
/>
Documentation (element)
Reduction in the post-prandial survival probability, PCi. For example a value of 0 will result in no change; a value of 0.2 will reduce PCi to 0.8 of its initial value; and a value of 1 will set PCi to 0;
Attributes
Initial proportion increase
initial=double
Units: dimensionless Min: -1 Max: inf
restingKillingEffect
→ scenario → interventions → nonHumanHostsModifications → intervention → description → anopheles → restingKillingEffect
<restingKillingEffect
initial=double
/>
Documentation (element)
Reduction in the survival probability of the resting period, PDi. For example a value of 0 will result in no change; a value of 0.2 will reduce PDi to 0.8 of its initial value; and a value of 1 will set PDi to 0;
Attributes
Initial proportion increase
initial=double
Units: dimensionless Min: -1 Max: inf
fecundityReduction
→ scenario → interventions → nonHumanHostsModifications → intervention → description → anopheles → fecundityReduction
<fecundityReduction
initial=double
/>
Documentation (element)
Reduction in the number of fertile eggs laid by a mosquito after biting this type of host, relative to an unprotected human. For example a value of 0 will result in no change; a value of 0.2 will reduce the fecundity factor to 0.8 of its initial value; and a value of 1 will set the fecundity factor to 0;
Attributes
Initial proportion increase
initial=double
Units: dimensionless Min: -1 Max: inf
Vector population intervention deployment
→ scenario → interventions → nonHumanHostsModifications → intervention → timed
<timed>
IN THIS ORDER:
| ( <deploy ... /> )+
</timed>
Documentation (element)
List of timed vector population intervention deployment
addNonHumanHosts
→ scenario → interventions → addNonHumanHosts
<addNonHumanHosts>
IN THIS ORDER:
| ( <nonHumanHosts ... /> )+
</addNonHumanHosts>
Documentation (element)
List of intervention that add new non-human hosts that have not been described in the
nonHumanHosts
→ scenario → interventions → addNonHumanHosts → nonHumanHosts
<nonHumanHosts
name=string
>
IN THIS ORDER:
| <description ... />
| [ <timed ... /> ]
</nonHumanHosts>
Documentation (type)
Describes a new non-human hosts that have not been described in the
Attributes
Name of intervention
name=string
Name of intervention (e.g. larviciding, sugar bait).
description
→ scenario → interventions → addNonHumanHosts → nonHumanHosts → description
<description>
IN THIS ORDER:
| ( <anopheles ... /> )+
</description>
anopheles
→ scenario → interventions → addNonHumanHosts → nonHumanHosts → description → anopheles
<anopheles
mosquito=string
>
IN ANY ORDER:
| <mosqRelativeAvailabilityHuman ... />
| <mosqProbBiting ... />
| <mosqProbFindRestSite ... />
| <mosqProbResting ... />
| <hostFecundityFactor ... />
</anopheles>
- mosqRelativeAvailabilityHuman
- mosqProbBiting
- mosqProbFindRestSite
- mosqProbResting
- hostFecundityFactor
Documentation (type)
Descriptions of the effects of new non human hosts with per-species effects.
Attributes
Species/subspecies/variant name
mosquito=string
Name of the species/subspecies/variant.
Relative availability of non-human host (ξ_i)
→ scenario → interventions → addNonHumanHosts → nonHumanHosts → description → anopheles → mosqRelativeAvailabilityHuman
<mosqRelativeAvailabilityHuman
value=double
/>
Documentation (element)
Units: Proportion
Relative availability of the population of non-human hosts of type i to other non-human hosts; the sum of this across all non-human hosts must be 1.
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Probability of mosquito successfully biting host
→ scenario → interventions → addNonHumanHosts → nonHumanHosts → description → anopheles → mosqProbBiting
<mosqProbBiting
value=double
/>
Documentation (element)
Units: Proportion
Probability of mosquito successfully biting host
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Probability that the mosquito escapes host and finds a resting place after biting
→ scenario → interventions → addNonHumanHosts → nonHumanHosts → description → anopheles → mosqProbFindRestSite
<mosqProbFindRestSite
value=double
/>
Documentation (element)
Units: Proportion
Probability that the mosquito escapes host and finds a resting place after biting
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Probability of mosquito successfully resting after finding a resting site
→ scenario → interventions → addNonHumanHosts → nonHumanHosts → description → anopheles → mosqProbResting
<mosqProbResting
value=double
/>
Documentation (element)
Units: Proportion
Probability of mosquito successfully resting after finding a resting site
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Probability of mosquito successfully resting after finding a resting site
→ scenario → interventions → addNonHumanHosts → nonHumanHosts → description → anopheles → hostFecundityFactor
<hostFecundityFactor
value=double
/>
Documentation (element)
Units: Proportion
Multiplicative factor for the number of fertile eggs laid by a mosquito after biting this type of host, relative to an unprotected human.
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Vector trap intervention deployment
→ scenario → interventions → addNonHumanHosts → nonHumanHosts → timed
<timed>
IN THIS ORDER:
| ( <deploy ... /> )*
</timed>
Documentation (element)
List of timed vector trap intervention deployment
deploy
→ scenario → interventions → addNonHumanHosts → nonHumanHosts → timed → deploy
<deploy
time=string
lifespan=string
/>
Attributes
Time
time=string
Units: User defined (defauls to steps) Min: 0
Time at which this deployment occurs. See doc on intervention period and on monitoring/startDate for details of how times work. Can be specified in steps, days, years, or as a date (examples: 15t, 75d, 0.2y, 2000-03-16).
Lifespan
lifespan=string
Units: Steps or Days or Years
Life of the trap until replaced or removed, e.g. "73t" or "1y". After this time period, these traps will be removed from the simulation. New deployments do not automatically remove old traps. Existing traps cannot be refurbished in the model. It may make sense to make the end-of-life coincide with a new deployment.
Human-specific interventions
→ scenario → interventions → human
<human>
IN THIS ORDER:
| ( <component ... /> )+
| ( <deployment ... /> )*
</human>
Documentation (element)
Encapsulates all interventions whose effects are specific to the human host: any interventions where target humans may be selected via population-coverage, age limits and sub-population membership.
Component
→ scenario → interventions → human → component
<component
id=string
[ name=string ]
>
IN THIS ORDER:
| EXACTLY ONE OF:
| | <screen ... />
| | <treatSimple ... />
| | <treatPKPD ... />
| | <decisionTree ... />
| | <PEV ... />
| | <BSV ... />
| | <TBV ... />
| | <ITN ... />
| | <IRS ... />
| | <GVI ... />
| | [ <recruitmentOnly ... /> ]
| | <clearImmunity ... />
| [ <subPopRemoval ... /> ]
</component>
- screen
- treatSimple
- treatPKPD
- decisionTree
- PEV
- BSV
- TBV
- ITN
- IRS
- GVI
- recruitmentOnly
- clearImmunity
- subPopRemoval
Documentation (element)
A parameterisation of an effect achieved by one component of an intervention. (An intervention is described as the effects of a set of components plus deployments of those components. This describes the components individually, not deployments or which components comprise an intervention.)
Each element describes one component: its effects, decay of the(se) effect(s), and related stuff (e.g. description of indirect decay and of usage levels).
Different interventions can deploy the same component to the same perso. In most cases this will just deploy a fresh instance (e.g. a new bed net will replace the old (nobody uses multiple bed nets), or a new drug dose will act on top of previous doses, or in the case of a vaccine, effect depends on the total number of previous inoculations (including from other interventions).
Where multiple components of the same type (but with different ids) are deployed (whether within a single intervention or by multiple interventions), they act independently (e.g. two bed nets deployed to a single host would act to reduce attractiveness or survival of mosquitoes biting that host twice — this may be useful to simulate some novel vector intervention since the two nets may have separate parameters).
Attributes
Component identifier
id=string
A short name or code identifying the intervention component (used to refer to this component when describing an intervention). Also the id of the sub-population defined as those hosts who have received this intervention and who haven't subsequently been removed from the sub-population.
Name of component
name=string
An informal name/description for the component
screen
→ scenario → interventions → human → component → screen
<screen
diagnostic=string
>
IN THIS ORDER:
| ( <positive ... /> )*
| ( <negative ... /> )*
</screen>
Documentation (type)
This can be combined with MDA to achieve mass screen and treat (MSAT) or other types of mass screening intervention.
When deployed to a host, this simulates a test of patent malaria (microscopy, RDT or some such), then triggers deployment of whichever intervention components are configured (deployments for both positive and negative test outcomes can be configured).
The use of the screening itself is reported (if enabled), but not the outcome. Deployment of interventions triggered by the screening may be reported, however.
Attributes
Name of diagnostic
diagnostic=string
Name of a parameterised diagnostic (see scenario/diagnostics).
positive
→ scenario → interventions → human → component → screen → positive
<positive
id=string
/>
Documentation (type)
The list of components deployed to eligible humans.
Attributes
Identifier
id=string
The identifier (short name) of a component.
negative
→ scenario → interventions → human → component → screen → negative
<negative
id=string
/>
Documentation (type)
The list of components deployed to eligible humans.
Attributes
Identifier
id=string
The identifier (short name) of a component.
treatSimple
→ scenario → interventions → human → component → treatSimple
<treatSimple
durationLiver=string
durationBlood=string
/>
Documentation (type)
Simple treatment model, targetting liver- and/or blood-stage infections. This is all-or-nothing treatment which, when deploymed, completely clears all infections of the targetted stages. This makes it unsuitable for modeling resistance, but suitable for use with simple infection models.
Infections are considered liver-stage when less than five days old and blood-stage after that. Effects are described independently for the two stages.
Attributes
Length of liver-stage effect
durationLiver=string
Units: User defined
Controls action on liver-stage infections. 0 means no action, -1 step is a compatibility option to act like treatment before schema version 32 (which removed infections retrospectively), 1 step or any duration which equals some whole number of steps n>0 means to clear all liver-stage infections found on the next 1 or n steps. Note on -1 compatibility option: the main difference to 1 step (clearing on the next timestep) is that parasite densities will be reduced immediately, and thus from the point of view of surveys and mass screen and treat interventions a peak in density which is immediately treated through case management will not be seen. Can be specified in steps (e.g. 1t, -1t) or days (e.g. 5d).
Length of blood-stage effect
durationBlood=string
Units: User defined
Controls action on blood-stage infections. 0 means no action, -1 step is a compatibility option to act like treatment before schema version 32 (which removed infections retrospectively), 1 step or any duration which equals some whole number of steps n>0 means to clear all blood-stage infections found on the next 1 or n steps. Note on -1 compatibility option: the main difference to 1 step (clearing on the next timestep) is that parasite densities will be reduced immediately, and thus from the point of view of surveys and mass screen and treat interventions a peak in density which is immediately treated through case management will not be seen. Can be specified in steps (e.g. 1t, -1t) or days (e.g. 5d).
treatPKPD
→ scenario → interventions → human → component → treatPKPD
<treatPKPD
schedule=string
dosage=string
[ delay_h=double ] DEFAULT VALUE 0
/>
Documentation (type)
A command to administer drugs according to a given schedule and dosage table, optionally with a delay.
Attributes
Name of treatment schedule
schedule=string
The name of a schedule to use for treatment.
Name of dosage table
dosage=string
The name of a dosage table to use for treatment.
Delay (hours)
delay_h=double
Default value: 0
Optionally, this can be given to delay the start of treatment by a given number of hours. If not specified, treatment is not delayed. If a delay is given, all medications within the treatment schedule used are delayed by this number of hours.
decisionTree
→ scenario → interventions → human → component → decisionTree
<decisionTree
[ name=string ]
>
EXACTLY ONE OF:
| <multiple ... />
| <caseType ... />
| <infectionOrigin ... />
| <diagnostic ... />
| <uncomplicated ... />
| <severe ... />
| <random ... />
| <age ... />
| <noTreatment ... />
| ( <report ... /> )+
| <treatFailure ... />
| ( <treatPKPD ... /> )+
| ( <treatSimple ... /> )+
| ( <deploy ... /> )*
| <cohort ... />
</decisionTree>
- multiple
- caseType
- infectionOrigin
- diagnostic
- uncomplicated
- severe
- random
- age
- noTreatment
- report
- treatFailure
- treatPKPD
- treatSimple
- deploy
- cohort
Documentation (type)
Describes how "decisions" are made, both probabilistically and deterministically, and what actions are carried out.
Quantities may also be reported as a side effect of decisions made in the tree, for example the number of diagnostics used.
Attributes
Name
name=string
An optional piece of documentation attached to this node.
Vaccines
→ scenario → interventions → human → component → PEV
<PEV>
IN THIS ORDER:
| <decay ... />
| <efficacyB ... />
| ( <initialEfficacy ... /> )*
| ( <phenotype ... /> )*
</PEV>
Documentation (element)
Pre-erythrocytic vaccine (PEV): prevents a proportion of infections from commencing.
Documentation (type)
Description of a vaccine's effect
Decay of effect
→ scenario → interventions → human → component → PEV → decay
<decay
function=("constant" or "step" or "linear" or "exponential" or "weibull" or "hill" or "smooth-compact" or "plus" or "minus" or "divides" or "multiplies")
[ L=string ]
[ k=double ] DEFAULT VALUE 1.0
[ CV=double ] DEFAULT VALUE 0
[ increasing=boolean ] DEFAULT VALUE false
[ initialEfficacy=double ] DEFAULT VALUE 1
[ rho=double ]
[ halflife_short=string ]
[ halflife_long=string ]
>
IN THIS ORDER:
| <decay ... />
</decay>
Documentation (element)
Specification of decay of efficacy. Documentation: see DecayFunction type or https://github.com/SwissTPH/openmalaria/wiki/ModelDecayFunctions
Documentation (type)
Specification of decay or survival of a parameter.
Attributes
function
function=("constant" or "step" or "linear" or "exponential" or "weibull" or "hill" or "smooth-compact" or "plus" or "minus" or "divides" or "multiplies")
Units: None Min: 0 Max: 1
Determines which decay function to use. Available decay functions, for age t in years: constant: 1 step: 1 for t less than L, otherwise 0 linear: 1 - t/L for t less than L, otherwise 0 exponential: exp( - t/L * log(2) ) weibull: exp( -(t/L)^k * log(2) ) hill: 1 / (1 + (t/L)^k) smooth-compact: exp( k - k / (1 - (t/L)^2) ) for t less than L, otherwise 0
L
L=string
Units: User-defined (defaults to years) Min: 0
(Time) scale parameter of distribution: this is either the age of complete decay (smooth-compact, step and linear functions) or the age at which the parameter has decayed to half its original value (exponential, weibull and hill). Not used when function="constant" (i.e. no decay). This value can be specified in years, days or steps (e.g. 2y, 180d or 100t). When the unit is not specified years are assumed. The value is used without rounding except when sampling an age of decay, when the rounding happens as late as possible.
k
k=double
Units: none Min: 0
Default value: 1.0
Shape parameter of distribution. If not specified, default value of 1 is used. Meaning depends on function; not used in some cases.
Coefficient of Variation
CV=double
Min: 0
Default value: 0
If CV is non-zero, heterogeneity of decay is introduced via a random variable sampled from the log-normal distribution. This distribution is parameterised with mean=1 and CV as given. The effective age of decay is the real age multiplied by this variable (for decay functions with a half-life, this is equivalent to dividing the half-life by the variable).
L
increasing=boolean
Units: User-defined (defaults to years) Min: 0
Default value: false
(Boolean) If True, this tells OpenMalaria to use the complement of the DecayFunction defined as 1-f(x). This is useful to model increasing functions that will "decay" to 1. This only works if f(x) is contained between 0 and 1.
initialEfficacy
initialEfficacy=double
Default value: 1
biphasic: Efficacy between 0 and 1.
rho
rho=double
biphasic: Proportion between 0 and 1, proportion of the response that is short-lived.
halflife_short
halflife_short=string
biphasic: halflife of short lived component (default to years).
halflife_long
halflife_long=string
biphasic: halflife of long lived component (default to years).
Variance parameter for vaccine efficacy
→ scenario → interventions → human → component → PEV → efficacyB
<efficacyB
value=double
/>
Documentation (element)
Units: Positive real Min: 0.001 Max: 1.00E+06
Measure of variation in vaccine efficacy: efficacy is sampled from a beta distribution with efficacyB its beta parameter and its alpha parameter fixed such that the mean is that given by initialEfficacy.
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Initial mean efficacy
→ scenario → interventions → human → component → PEV → initialEfficacy
<initialEfficacy
value=double
/>
Documentation (element)
Units: dimensionless Min: 0 Max: 1
Mean efficacy values before decay (see efficacyB and decay parameter descriptions for sampling and decay). The i-th value in this list is used for the efficacy of the vaccine after the i-th dose. Where more doses are given than there are values in this list, the last value is repeated.
Attributes
Input parameter value
value=double
A double-precision floating-point value.
PD parameters for some allele / resistance phenotype
→ scenario → interventions → human → component → PEV → phenotype
<phenotype
[ name=string ]
>
IN THIS ORDER:
| ( <restriction ... /> )*
| ( <initialEfficacy ... /> )+
</phenotype>
Documentation (element)
Pharmaco-Dynamic parameters for some resistance phenotype.
To model resistance to this drug, describe multiple infection phenotypes (with respect to these PD parameters) and list one or more "restrict" elements for each phenotype.
Loci are specified elsewhere. Multiple loci may influence the action of a single drug and each locus may influence multiple drugs.
Attributes
Name of phenotype
name=string
Name of the phenotype; for documentation use only.
restriction
→ scenario → interventions → human → component → PEV → phenotype → restriction
<restriction
onLocus=string
toAllele=string
/>
Documentation (type)
Specifies the mapping from genotype to phenotype. For each drug type, if only one phenotype is present, restrictions need not be specified, but otherwise restrictions must be specified.
The set of loci affecting phenotypes of this drug's action must be fixed for any drug type. Each phenotype must list, for each of these loci, a restriction to one or more alleles under the locus.
Attributes
Locus relevant to the mapping of alleles to this phenotype
onLocus=string
A locus under which only a restricted set of alleles map to this phenotype.
Alleles mapping to this phenotype
toAllele=string
One allele of a locus upon which phenotype choice depends. If multiple alleles under this locus should map to the same phenotype, repeat the whole "restriction onLocus..." element.
Initial mean efficacy
→ scenario → interventions → human → component → PEV → phenotype → initialEfficacy
<initialEfficacy
value=double
/>
Documentation (element)
Units: dimensionless Min: 0 Max: 1
Mean efficacy values before decay (see efficacyB and decay parameter descriptions for sampling and decay). The i-th value in this list is used for the efficacy of the vaccine after the i-th dose. Where more doses are given than there are values in this list, the last value is repeated.
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Vaccines
→ scenario → interventions → human → component → BSV
<BSV>
IN THIS ORDER:
| <decay ... />
| <efficacyB ... />
| ( <initialEfficacy ... /> )*
| ( <phenotype ... /> )*
</BSV>
Documentation (element)
Blood-stage vaccine (BSV): acts as a killing factor on blood-stage parasites. Exact action depends on the within host model.
Documentation (type)
Description of a vaccine's effect
Vaccines
→ scenario → interventions → human → component → TBV
<TBV>
IN THIS ORDER:
| <decay ... />
| <efficacyB ... />
| ( <initialEfficacy ... /> )*
| ( <phenotype ... /> )*
</TBV>
Documentation (element)
Transmission-blocking vaccine (TBV): one minus this scales the probability of transmission to mosquitoes
Documentation (type)
Description of a vaccine's effect
Bed nets
→ scenario → interventions → human → component → ITN
<ITN>
IN THIS ORDER:
| [ <usage ... /> ]
| <holeRate ... />
| <ripRate ... />
| <ripFactor ... />
| <initialInsecticide ... />
| <insecticideDecay ... />
| <attritionOfNets ... />
| ( <anophelesParams ... /> )+
</ITN>
- usage
- holeRate
- ripRate
- ripFactor
- initialInsecticide
- insecticideDecay
- attritionOfNets
- anophelesParams
Documentation (element)
Description of bed-net interventions (ITNs, LLINs).
Proportion of time nets are used by humans
→ scenario → interventions → human → component → ITN → usage
<usage
value=double
/>
Documentation (element)
Units: dimensionless Min: 0 Max: 1
Usage of nets by humans, from 0 to 1.
At the moment this is constant across humans and deterministic: relative attractiveness and survival factors are base*(1-usagepropActing) + intervention_factorusage*propActing.
See also "propActing" (proportion of bits for which net acts).
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Rate at which holes are made
→ scenario → interventions → human → component → ITN → holeRate
<holeRate
[ CV=double ]
[ distr=("const" or "lognormal" or "gamma") ] DEFAULT VALUE const
[ variance=double ]
mean=double
/>
Documentation (element)
Units: Holes per annum Min: 0
The rate at which new holes are made in nets.
nHoles(t) = nHoles(t-1) + X where X~Pois(R/T) where T is the number of time-steps per year. R is sampled from log-normal: R ~ log N( log(mean)-sigma²/2, sigma² ) and is covariant with ripRate and insecticideDecay. (To be exact, a single Gaussian sample is taken, adjusted for each sigma then exponentiated.)
Documentation (type)
A parameter with optional log-normal heterogeneity.
The mean value must be specified. Optionally, a distribution ("distr") and coefficient of variation ("CV") may be specified.
Documentation (base type)
A parameter with optional heterogeneity.
The mean cannot be specified (unless this type is extended). Optionally, a distribution ("distr") and coefficient of variation ("CV") may be specified.
Attributes
Coefficient of variation
CV=double
Units: unitless
The (linear) coefficient of variation. This value must be specified when a (non-constant) distribution is used. Note: since version 46, variance can be used instead. Note that specifying CV="0" has the same effect as distr="const" and disables sampling of this parameter, even if distr is not "const".
Distribution
distr=("const" or "lognormal" or "gamma")
Default value: const
To allow heterogeneity, a distribution must be specified. Valid options are as follows. "const": no variation or sampling. Specifying distr="const" has the same effect as not specifying distr at all. "lognormal": the parameter is sampled from a log-normal distribution. Note that the "mean" and "CV" values are linear (arithmetic) properties of the distribution and not log-space properties.
Coefficient of variation
variance=double
Units: unitless
The variance parameter of the distirbution. This value can be specified when a (non-constant) distribution is used. Note that specifying variance="0" has the same effect as distr="const" and disables sampling of this parameter, even if distr is not "const".
mean
mean=double
The (linear) mean value.
Rate at which holes are enlarged
→ scenario → interventions → human → component → ITN → ripRate
<ripRate
[ CV=double ]
[ distr=("const" or "lognormal" or "gamma") ] DEFAULT VALUE const
[ variance=double ]
mean=double
/>
Documentation (element)
Units: Rips per existing hole per annum Min: 0
Each existing hole has a probability of being ripped bigger according to a Poisson process with this rate as (only) parameter.
New rips occur in a net at rate X~Pois(h×R/T) where h is the number of existing holes and T the number of time-steps per year. R is sampled from log-normal: R ~ log N( log(mean)-sigma²/2, sigma² ) and is covariant with holeRate and insecticideDecay. (To be exact, a single Gaussian sample is taken, adjusted for the each and sigma then exponentiated.)
Documentation (type)
A parameter with optional log-normal heterogeneity.
The mean value must be specified. Optionally, a distribution ("distr") and coefficient of variation ("CV") may be specified.
Documentation (base type)
A parameter with optional heterogeneity.
The mean cannot be specified (unless this type is extended). Optionally, a distribution ("distr") and coefficient of variation ("CV") may be specified.
Attributes
Coefficient of variation
CV=double
Units: unitless
The (linear) coefficient of variation. This value must be specified when a (non-constant) distribution is used. Note: since version 46, variance can be used instead. Note that specifying CV="0" has the same effect as distr="const" and disables sampling of this parameter, even if distr is not "const".
Distribution
distr=("const" or "lognormal" or "gamma")
Default value: const
To allow heterogeneity, a distribution must be specified. Valid options are as follows. "const": no variation or sampling. Specifying distr="const" has the same effect as not specifying distr at all. "lognormal": the parameter is sampled from a log-normal distribution. Note that the "mean" and "CV" values are linear (arithmetic) properties of the distribution and not log-space properties.
Coefficient of variation
variance=double
Units: unitless
The variance parameter of the distirbution. This value can be specified when a (non-constant) distribution is used. Note that specifying variance="0" has the same effect as distr="const" and disables sampling of this parameter, even if distr is not "const".
mean
mean=double
The (linear) mean value.
Rip factor
→ scenario → interventions → human → component → ITN → ripFactor
<ripFactor
value=double
/>
Documentation (element)
Units: none Min: 0
This factor expresses how important rips are in increasing the hole.
The hole index of a net is h + F×x where h and x are the total numbers of holes and rips respectively and F is the rip factor.
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Initial insecticide
→ scenario → interventions → human → component → ITN → initialInsecticide
<initialInsecticide
mean=double
[ SD=double ]
[ distr=("const" or "normal") ] DEFAULT VALUE const
/>
Documentation (element)
Units: mg/m² Min: 0
The insecticide concentration of new nets is Gaussian distributed with mean "mu" and a standard deviation "sigma". The standard deviation should be small relative to the mean to avoid negative initial concentration. Any negative values sampled are set to 0.
Documentation (type)
A parameter with optional heterogeneity.
Optionally, a distribution ("distr") and standard of deviation ("SD") may be specified.
Attributes
mean
mean=double
The mean value.
standard deviation
SD=double
The standard deviation of variates.
Distribution
distr=("const" or "normal")
Default value: const
To allow heterogeneity, a distribution must be specified. Valid options are as follows. "const": no variation or sampling. Specifying distr="const" has the same effect as not specifying distr at all. "normal": the parameter is sampled from a normal distribution.
Decay of insecticide
→ scenario → interventions → human → component → ITN → insecticideDecay
<insecticideDecay
function=("constant" or "step" or "linear" or "exponential" or "weibull" or "hill" or "smooth-compact" or "plus" or "minus" or "divides" or "multiplies")
[ L=string ]
[ k=double ] DEFAULT VALUE 1.0
[ CV=double ] DEFAULT VALUE 0
[ increasing=boolean ] DEFAULT VALUE false
[ initialEfficacy=double ] DEFAULT VALUE 1
[ rho=double ]
[ halflife_short=string ]
[ halflife_long=string ]
>
IN THIS ORDER:
| <decay ... />
</insecticideDecay>
Documentation (element)
Units: none
Decay curve for insecticide content of nets. Documentation: see DecayFunction type or https://github.com/SwissTPH/openmalaria/wiki/ModelDecayFunctions
The distribution of decay rates over nets is covariant with the distribution of ripRate and holeRate over nets. This distribution is generated by taking one sample per net from a Gaussian distribution with mean 0 and standard deviation 1. For each variable, the sample is multiplied by the respective sigma and a constant added such that, once exponentiated, the mean of the variable over nets is 1. The variable is then exponentiated and multiplied by the required mean rate for the respective variable.
Documentation (type)
Specification of decay or survival of a parameter.
Attributes
function
function=("constant" or "step" or "linear" or "exponential" or "weibull" or "hill" or "smooth-compact" or "plus" or "minus" or "divides" or "multiplies")
Units: None Min: 0 Max: 1
Determines which decay function to use. Available decay functions, for age t in years: constant: 1 step: 1 for t less than L, otherwise 0 linear: 1 - t/L for t less than L, otherwise 0 exponential: exp( - t/L * log(2) ) weibull: exp( -(t/L)^k * log(2) ) hill: 1 / (1 + (t/L)^k) smooth-compact: exp( k - k / (1 - (t/L)^2) ) for t less than L, otherwise 0
L
L=string
Units: User-defined (defaults to years) Min: 0
(Time) scale parameter of distribution: this is either the age of complete decay (smooth-compact, step and linear functions) or the age at which the parameter has decayed to half its original value (exponential, weibull and hill). Not used when function="constant" (i.e. no decay). This value can be specified in years, days or steps (e.g. 2y, 180d or 100t). When the unit is not specified years are assumed. The value is used without rounding except when sampling an age of decay, when the rounding happens as late as possible.
k
k=double
Units: none Min: 0
Default value: 1.0
Shape parameter of distribution. If not specified, default value of 1 is used. Meaning depends on function; not used in some cases.
Coefficient of Variation
CV=double
Min: 0
Default value: 0
If CV is non-zero, heterogeneity of decay is introduced via a random variable sampled from the log-normal distribution. This distribution is parameterised with mean=1 and CV as given. The effective age of decay is the real age multiplied by this variable (for decay functions with a half-life, this is equivalent to dividing the half-life by the variable).
L
increasing=boolean
Units: User-defined (defaults to years) Min: 0
Default value: false
(Boolean) If True, this tells OpenMalaria to use the complement of the DecayFunction defined as 1-f(x). This is useful to model increasing functions that will "decay" to 1. This only works if f(x) is contained between 0 and 1.
initialEfficacy
initialEfficacy=double
Default value: 1
biphasic: Efficacy between 0 and 1.
rho
rho=double
biphasic: Proportion between 0 and 1, proportion of the response that is short-lived.
halflife_short
halflife_short=string
biphasic: halflife of short lived component (default to years).
halflife_long
halflife_long=string
biphasic: halflife of long lived component (default to years).
Attrition of nets
→ scenario → interventions → human → component → ITN → attritionOfNets
<attritionOfNets
function=("constant" or "step" or "linear" or "exponential" or "weibull" or "hill" or "smooth-compact" or "plus" or "minus" or "divides" or "multiplies")
[ L=string ]
[ k=double ] DEFAULT VALUE 1.0
[ CV=double ] DEFAULT VALUE 0
[ increasing=boolean ] DEFAULT VALUE false
[ initialEfficacy=double ] DEFAULT VALUE 1
[ rho=double ]
[ halflife_short=string ]
[ halflife_long=string ]
>
IN THIS ORDER:
| <decay ... />
</attritionOfNets>
Documentation (element)
Units: dimensionless
Specifies the rate at which nets are disposed of over time. Documentation: see DecayFunction type or https://github.com/SwissTPH/openmalaria/wiki/ModelDecayFunctions
In the current model, nets are disposed of randomly (no correlation with state of decay) such that the chance of each net surviving until age t is the value of this decay function at time t. Equivalently (where a large number of nets are distributed at the same time), the proportion of nets remaining in use should match this decay function over time.
Humans are removed from the intervention component's sub-population on disposal (attrition) of their nets. Currently this event is not reported.
Documentation (type)
Specification of decay or survival of a parameter.
Attributes
function
function=("constant" or "step" or "linear" or "exponential" or "weibull" or "hill" or "smooth-compact" or "plus" or "minus" or "divides" or "multiplies")
Units: None Min: 0 Max: 1
Determines which decay function to use. Available decay functions, for age t in years: constant: 1 step: 1 for t less than L, otherwise 0 linear: 1 - t/L for t less than L, otherwise 0 exponential: exp( - t/L * log(2) ) weibull: exp( -(t/L)^k * log(2) ) hill: 1 / (1 + (t/L)^k) smooth-compact: exp( k - k / (1 - (t/L)^2) ) for t less than L, otherwise 0
L
L=string
Units: User-defined (defaults to years) Min: 0
(Time) scale parameter of distribution: this is either the age of complete decay (smooth-compact, step and linear functions) or the age at which the parameter has decayed to half its original value (exponential, weibull and hill). Not used when function="constant" (i.e. no decay). This value can be specified in years, days or steps (e.g. 2y, 180d or 100t). When the unit is not specified years are assumed. The value is used without rounding except when sampling an age of decay, when the rounding happens as late as possible.
k
k=double
Units: none Min: 0
Default value: 1.0
Shape parameter of distribution. If not specified, default value of 1 is used. Meaning depends on function; not used in some cases.
Coefficient of Variation
CV=double
Min: 0
Default value: 0
If CV is non-zero, heterogeneity of decay is introduced via a random variable sampled from the log-normal distribution. This distribution is parameterised with mean=1 and CV as given. The effective age of decay is the real age multiplied by this variable (for decay functions with a half-life, this is equivalent to dividing the half-life by the variable).
L
increasing=boolean
Units: User-defined (defaults to years) Min: 0
Default value: false
(Boolean) If True, this tells OpenMalaria to use the complement of the DecayFunction defined as 1-f(x). This is useful to model increasing functions that will "decay" to 1. This only works if f(x) is contained between 0 and 1.
initialEfficacy
initialEfficacy=double
Default value: 1
biphasic: Efficacy between 0 and 1.
rho
rho=double
biphasic: Proportion between 0 and 1, proportion of the response that is short-lived.
halflife_short
halflife_short=string
biphasic: halflife of short lived component (default to years).
halflife_long
halflife_long=string
biphasic: halflife of long lived component (default to years).
anophelesParams
→ scenario → interventions → human → component → ITN → anophelesParams
<anophelesParams
mosquito=string
[ propActive=double ] DEFAULT VALUE 1
>
IN THIS ORDER:
| [ <holeIndexMax ... /> ]
| EXACTLY ONE OF:
| | <deterrency ... />
| | <twoStageDeterrency ... />
| EXACTLY ONE OF:
| | <preprandialKillingEffect ... />
| | <preprandialKillingEffectLogit ... />
| EXACTLY ONE OF:
| | <postprandialKillingEffect ... />
| | <postprandialKillingEffectLogit ... />
| EXACTLY ONE OF:
| | [ <fecundityReduction ... /> ]
| | [ <fecundityReductionLogit ... /> ]
</anophelesParams>
- holeIndexMax
- deterrency
- twoStageDeterrency
- preprandialKillingEffect
- preprandialKillingEffectLogit
- postprandialKillingEffect
- postprandialKillingEffectLogit
- fecundityReduction
- fecundityReductionLogit
Attributes
Mosquito species
mosquito=string
Name of the affected anopheles-mosquito species.
Proportion of bites for which net acts
propActive=double
Units: dimensionless Min: 0 Max: 1
Default value: 1
Deprecated: propActive can still be used but its value must be set to either 0 or 1. Any other value will result in an error at initialization. The proportion of bites, when nets are in use, for which the net has any action whatsoever on the mosquito. At the moment this is constant across humans and deterministic: relative attractiveness and survival factors are base*(1-usagepropActing) + intervention_factorusage*propActing. See also "usage" (proportion of time nets are used by humans).
maximum of holed surface area that has an effect (comparable to no net)
→ scenario → interventions → human → component → ITN → anophelesParams → holeIndexMax
<holeIndexMax
value=double
/>
Documentation (element)
Units: in same unit as holeIndex
Used by logit attacking and killing models only, holeIndexMax is a user defined maximum hole index (typically, the total surface area of a net).
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Relative attractiveness
→ scenario → interventions → human → component → ITN → anophelesParams → deterrency
<deterrency
insecticideFactor=double
insecticideScalingFactor=double
holeFactor=double
interactionFactor=double
holeScalingFactor=double
/>
Documentation (element)
Units: dimensionless Min: 0 Max: 1
Effect of net on attractiveness of humans to mosquitoes relative to an unprotected adult human. Parameterisations should take into account that mosquitoes do not always bite indoors.
Attractiveness of the human is multiplied by exp(log(H)×h + log(P)×p + log(I)×h×p where H, P and I are the hole, insecticide and interaction factors respectively, h=exp(-holeIndex×holeScalingFactor) and p=1−exp(-insecticideContent×insecticideScalingFactor).
Attributes
Insecticide factor
insecticideFactor=double
Units: none Max: 1
Value expected to be at least 0. Negative values are not necessarily invalid, but allow nets to increase transmission.
Insecticide scaling factor
insecticideScalingFactor=double
Units: none Min: 0
Hole factor
holeFactor=double
Units: none Max: 1
Value expected to be at least 0. Negative values are not necessarily invalid, but allow nets to increase transmission.
Interaction factor
interactionFactor=double
Units: none Max: 1
holeFactor + insecticideFactor + interactionFactor must not be greater than 1, and is expected to be at least 0. A negative value is not necessarily invalid, but allows nets to increase transmission.
Hole scaling factor
holeScalingFactor=double
Units: none Min: 0
Relative attractiveness
→ scenario → interventions → human → component → ITN → anophelesParams → twoStageDeterrency
<twoStageDeterrency>
IN THIS ORDER:
| EXACTLY ONE OF:
| | <entering ... />
| | <enteringLogit ... />
| EXACTLY ONE OF:
| | <attacking ... />
| | <attackingLogit ... />
</twoStageDeterrency>
Documentation (element)
Units: dimensionless
Effect of net on attractiveness of humans to mosquitoes relative to an unprotected adult human. Parameterisations should take into account that mosquitoes do not always bite indoors.
This deterrency model multiplies human attractiveness by pEnt×pAtt.
Deterrency: entering
→ scenario → interventions → human → component → ITN → anophelesParams → twoStageDeterrency → entering
<entering
insecticideFactor=double
insecticideScalingFactor=double
/>
Documentation (element)
Units: dimensionless
pEnt represents the relative probability of entering due to ITNs: pEnt = exp(log(P)×p) where P is the insecticide factor and p=1−exp(-insecticideContent×insecticideScalingFactor).
Attributes
Insecticide factor
insecticideFactor=double
Units: none Max: 1
Value expected to be at least 0. Negative values are not necessarily invalid, but allow nets to increase transmission.
Insecticide scaling factor
insecticideScalingFactor=double
Units: none Min: 0
Deterrency: entering (logit model)
→ scenario → interventions → human → component → ITN → anophelesParams → twoStageDeterrency → enteringLogit
<enteringLogit
baseFactor=double
insecticideFactor=double
/>
Documentation (element)
Units: dimensionless
pEnt represents the relative probability of entering due to insecticide in the hut: pEnt = exp(logit.pEnt) / (exp(logit.pEnt) + 1) logit.pEnt = B + P * p where B is the basefactor (without net); P is insecticide factor, and p = log(insecticideContent+1). Without a net, probability of entering a house is pEnt0 = exp(logit.pEnt0) / (exp(logit.pEnt0) + 1) logit.pEnt0 = B Entering of mosquitoes is adjusted via multiplication by pEnt / pEnt0. To keep this in the range [0,1], we (normally) require that pEnt ≤ pEnt0 and thus P ≤ 0 and give a warning if this is not fulfilled.
Attributes
Base factor
baseFactor=double
Units: none
See parent element documentation
Insecticide factor
insecticideFactor=double
Units: none
See parent element documentation
Deterrency: attacking
→ scenario → interventions → human → component → ITN → anophelesParams → twoStageDeterrency → attacking
<attacking
insecticideFactor=double
insecticideScalingFactor=double
holeFactor=double
interactionFactor=double
holeScalingFactor=double
baseFactor=double
/>
Documentation (element)
Units: dimensionless
pAtt represents the relative probability of attacking a human after entering a house due to ITNs (i.e. of feeding/dying vs. flying off): pAtt = B + H×h + P×p + I×h×p where B is the base (without net) probability; H, P and I are the hole, insecticide and interaction factors respectively, h=exp(-holeIndex × holeScalingFactor) and p=1 - exp(-insecticideContent × insecticideScalingFactor).
Attributes
Insecticide factor
insecticideFactor=double
Units: none Max: 1
Value expected to be at least 0. Negative values are not necessarily invalid, but allow nets to increase transmission.
Insecticide scaling factor
insecticideScalingFactor=double
Units: none Min: 0
Hole factor
holeFactor=double
Units: none Max: 1
Value expected to be at least 0. Negative values are not necessarily invalid, but allow nets to increase transmission.
Interaction factor
interactionFactor=double
Units: none Max: 1
holeFactor + insecticideFactor + interactionFactor must not be greater than 1, and is expected to be at least 0. A negative value is not necessarily invalid, but allows nets to increase transmission.
Hole scaling factor
holeScalingFactor=double
Units: none Min: 0
Probability of mosquito death without intervention
baseFactor=double
Units: dimensionless
Deterrency: attacking (logit model)
→ scenario → interventions → human → component → ITN → anophelesParams → twoStageDeterrency → attackingLogit
<attackingLogit
baseFactor=double
insecticideFactor=double
holeFactor=double
interactionFactor=double
/>
Documentation (element)
Units: dimensionless
pAtt represents the relative probability of attacking a human after entering a house due to ITNs (i.e. of feeding/dying vs. flying off): pAtt = exp(logit.pAtt) / (exp(logit.pAtt) + 1) logit.pAtt = B + H×min(h, hMax) + P×p + I×min(h, hMax)×p where B is the base factor (without net); H, P and I are the hole, insecticide and interaction factors respectively, and: h = log(holeIndex + 1) p = log(insecticideContent + 1) Without a net, probability of attacking a human after entering a house is pAtt0 = exp(logit.pAtt0) / (exp(logit.pAtt0) + 1) logit.pAtt0 = B + H×hMax where hMax=log(holeIndexMax + 1) and holeIndexMax is a user defined maximum hole index (typically, the total surface area of a net). Attacking of mosquitoes is adjusted via multiplication by pAtt / pAtt0. This may be larger and smaller than 1 (but will not be negative). By definition (through the logit transformation) pAtt0 > 0.
Attributes
Base factor
baseFactor=double
Units: dimensionless
Logit of the probability (e.g. of death, of entry, of attacking) without intervention.
Insecticide factor
insecticideFactor=double
Units: none
Coefficient of log(insecticide content+1) in a generalized linear model with logit link function.
Hole factor
holeFactor=double
Units: none
Coefficient of log(total holed surface area (in cm2) +1) in a generalized linear model with logit link function.
Interaction factor
interactionFactor=double
Units: none
Coefficient of the interaction term of log(total holed surface area (in cm2) +1) with log(insecticide content+1) in a generalized linear model with logit link function.
Pre-prandial killing effect
→ scenario → interventions → human → component → ITN → anophelesParams → preprandialKillingEffect
<preprandialKillingEffect
insecticideFactor=double
insecticideScalingFactor=double
holeFactor=double
interactionFactor=double
holeScalingFactor=double
baseFactor=double
/>
Documentation (element)
Units: dimensionless Min: 0 Max: 1
Effect of net on survival mosquitoes as they seek to bite a human after choosing that human, relative to the same person not sleeping under a net. Parameterisations should take into account that mosquitoes do not always bite indoors.
Killing proportion is calculated as K = B + H×h + P×p + I×h×p where B is the base (without net) probability of death, H, P and I are the hole, insecticide and interaction factors respectively, h=exp(-holeIndex×holeScalingFactor) and p=1−exp(-insecticideContent×insecticideScalingFactor).
Survival of mosquitoes is adjusted via multiplication by (1−K) / (1−B). To keep this in the range [0,1], we require that B+H ≤ 1, B+P ≤ 1, B+H+P+I ≤ 1, H ≥ 0, P ≥ 0 and H+P+I ≥ 0.
Attributes
Insecticide factor
insecticideFactor=double
Units: none Max: 1
Value expected to be at least 0. Negative values are not necessarily invalid, but allow nets to increase transmission.
Insecticide scaling factor
insecticideScalingFactor=double
Units: none Min: 0
Hole factor
holeFactor=double
Units: none Max: 1
Value expected to be at least 0. Negative values are not necessarily invalid, but allow nets to increase transmission.
Interaction factor
interactionFactor=double
Units: none Max: 1
holeFactor + insecticideFactor + interactionFactor must not be greater than 1, and is expected to be at least 0. A negative value is not necessarily invalid, but allows nets to increase transmission.
Hole scaling factor
holeScalingFactor=double
Units: none Min: 0
Probability of mosquito death without intervention
baseFactor=double
Units: dimensionless
Pre-prandial killing effect (logit)
→ scenario → interventions → human → component → ITN → anophelesParams → preprandialKillingEffectLogit
<preprandialKillingEffectLogit
baseFactor=double
insecticideFactor=double
holeFactor=double
interactionFactor=double
/>
Documentation (element)
Units: dimensionless Min: 0 Max: 1
Effect of net on survival mosquitoes as they seek to bite a human
after choosing that human, relative to the same person not
sleeping under a net.
Killing proportion is calculated as
K=exp(logit.K)/(exp(logit.K)+1)
logit.K = B + H×min(h,hMax) + P×p + I×min(h,hMax)×p
where B is the basefactor (without net),
H, P and I are the hole, insecticide and interaction factors
respectively, h=log(holeIndex+1) and
p=log(insecticideContent+1).
Without a net, the killing proportion
K0=exp(logit.K0)/(exp(logit.K0)+1)
logit.K0 = B + H×hMax
where hMax=log(holeIndexMax+1) and holeIndexMax is a user defined maximum hole index (typically, the total surface area of a net).
Survival of mosquitoes is adjusted via multiplication by (1−K) / (1−K0).
To keep this in the range [0,1], we require that K ≥ K0. We enforce that P ≥ 0 (It would not make sense biologically if P were negative) and P+I*hMax ≥ 0 and H ≤ 0 and holeIndex ≤ holeIndexMax and give a warning if these conditions are not fulfilled.
Attributes
Base factor
baseFactor=double
Units: dimensionless
Logit of the probability (e.g. of death, of entry, of attacking) without intervention.
Insecticide factor
insecticideFactor=double
Units: none
Coefficient of log(insecticide content+1) in a generalized linear model with logit link function.
Hole factor
holeFactor=double
Units: none
Coefficient of log(total holed surface area (in cm2) +1) in a generalized linear model with logit link function.
Interaction factor
interactionFactor=double
Units: none
Coefficient of the interaction term of log(total holed surface area (in cm2) +1) with log(insecticide content+1) in a generalized linear model with logit link function.
Post-prandial killing effect
→ scenario → interventions → human → component → ITN → anophelesParams → postprandialKillingEffect
<postprandialKillingEffect
insecticideFactor=double
insecticideScalingFactor=double
holeFactor=double
interactionFactor=double
holeScalingFactor=double
baseFactor=double
/>
Documentation (element)
Units: dimensionless Min: 0 Max: 1
Effect of net on survival mosquitoes as they seek to escape from a human host and rest after a blood meal, relative to the same person not sleeping under a net. Parameterisations should take into account that mosquitoes do not always bite indoors.
Killing proportion is calculated as K = B + H×h + P×p + I×h×p where B is the base (without net) probability of death, H, P and I are the hole, insecticide and interaction factors respectively, h=exp(-holeIndex×holeScalingFactor) and p=1−exp(-insecticideContent×insecticideScalingFactor).
Survival of mosquitoes is adjusted via multiplication by (1−K) / (1−B). To keep this in the range [0,1], we require that B+H ≤ 1, B+P ≤ 1, B+H+P+I ≤ 1, H ≥ 0, P ≥ 0 and H+P+I ≥ 0.
Attributes
Insecticide factor
insecticideFactor=double
Units: none Max: 1
Value expected to be at least 0. Negative values are not necessarily invalid, but allow nets to increase transmission.
Insecticide scaling factor
insecticideScalingFactor=double
Units: none Min: 0
Hole factor
holeFactor=double
Units: none Max: 1
Value expected to be at least 0. Negative values are not necessarily invalid, but allow nets to increase transmission.
Interaction factor
interactionFactor=double
Units: none Max: 1
holeFactor + insecticideFactor + interactionFactor must not be greater than 1, and is expected to be at least 0. A negative value is not necessarily invalid, but allows nets to increase transmission.
Hole scaling factor
holeScalingFactor=double
Units: none Min: 0
Probability of mosquito death without intervention
baseFactor=double
Units: dimensionless
Post-prandial killing effect (logit)
→ scenario → interventions → human → component → ITN → anophelesParams → postprandialKillingEffectLogit
<postprandialKillingEffectLogit
baseFactor=double
insecticideFactor=double
holeFactor=double
interactionFactor=double
/>
Documentation (element)
Units: dimensionless Min: 0 Max: 1
Effect of net on survival mosquitoes as they seek to escape from a human host and rest after a blood meal, relative to the same person not sleeping under a net. Killing proportion is calculated as K=exp(logit.K)/(exp(logit.K)+1) logit.K = B + H×min(h,hMax) + P×p + I×min(h,hMax)×p where B is the basefactor (without net), H, P and I are the hole, insecticide and interaction factors respectively, h=log(holeIndex+1) and p=log(insecticideContent+1). Without a net, the killing proportion K0=exp(logit.K0)/(exp(logit.K0)+1) logit.K0 = B + H×hMax where hMax=log(holeIndexMax+1) and holeIndexMax is a user defined maximum hole index (typically, the total surface area of a net). Survival of mosquitoes is adjusted via multiplication by (1−K) / (1−K0). To keep this in the range [0,1], we require that K ≥ K0. We enforce that P ≥ 0 (It would not make sense biologically if P were negative) and P+I*hMax ≥ 0 and H ≤ 0 and holeIndex ≤ holeIndexMax and give a warning if these conditions are not fulfilled.
Attributes
Base factor
baseFactor=double
Units: dimensionless
Logit of the probability (e.g. of death, of entry, of attacking) without intervention.
Insecticide factor
insecticideFactor=double
Units: none
Coefficient of log(insecticide content+1) in a generalized linear model with logit link function.
Hole factor
holeFactor=double
Units: none
Coefficient of log(total holed surface area (in cm2) +1) in a generalized linear model with logit link function.
Interaction factor
interactionFactor=double
Units: none
Coefficient of the interaction term of log(total holed surface area (in cm2) +1) with log(insecticide content+1) in a generalized linear model with logit link function.
Fecundity reduction
→ scenario → interventions → human → component → ITN → anophelesParams → fecundityReduction
<fecundityReduction
insecticideFactor=double
insecticideScalingFactor=double
holeFactor=double
interactionFactor=double
holeScalingFactor=double
baseFactor=double
/>
Documentation (element)
Effect of net on fertility of mosquitoes who survive feeding on a protected human, relative to an unprotected human.
Fertility (number of eggs laid) is multiplied by (1-K) / (1-B), similar to killing effects. This is not allowed to be greater than 1.
Attributes
Insecticide factor
insecticideFactor=double
Units: none Max: 1
Value expected to be at least 0. Negative values are not necessarily invalid, but allow nets to increase transmission.
Insecticide scaling factor
insecticideScalingFactor=double
Units: none Min: 0
Hole factor
holeFactor=double
Units: none Max: 1
Value expected to be at least 0. Negative values are not necessarily invalid, but allow nets to increase transmission.
Interaction factor
interactionFactor=double
Units: none Max: 1
holeFactor + insecticideFactor + interactionFactor must not be greater than 1, and is expected to be at least 0. A negative value is not necessarily invalid, but allows nets to increase transmission.
Hole scaling factor
holeScalingFactor=double
Units: none Min: 0
Probability of mosquito death without intervention
baseFactor=double
Units: dimensionless
Fecundity reduction (logit)
→ scenario → interventions → human → component → ITN → anophelesParams → fecundityReductionLogit
<fecundityReductionLogit
baseFactor=double
insecticideFactor=double
holeFactor=double
interactionFactor=double
/>
Documentation (element)
Effect of net on fertility of mosquitoes who survive feeding on a protected human, relative to an unprotected human.
Fertility (number of eggs laid) is multiplied by (1-K) / (1-K0), similar to killing effects. This is not allowed to be greater than 1.
Attributes
Base factor
baseFactor=double
Units: dimensionless
Logit of the probability (e.g. of death, of entry, of attacking) without intervention.
Insecticide factor
insecticideFactor=double
Units: none
Coefficient of log(insecticide content+1) in a generalized linear model with logit link function.
Hole factor
holeFactor=double
Units: none
Coefficient of log(total holed surface area (in cm2) +1) in a generalized linear model with logit link function.
Interaction factor
interactionFactor=double
Units: none
Coefficient of the interaction term of log(total holed surface area (in cm2) +1) with log(insecticide content+1) in a generalized linear model with logit link function.
Indoor residual spraying
→ scenario → interventions → human → component → IRS
<IRS>
IN THIS ORDER:
| [ <usage ... /> ]
| <initialInsecticide ... />
| <insecticideDecay ... />
| ( <anophelesParams ... /> )+
</IRS>
Documentation (element)
Description of indoor residual spraying interventions.
Documentation (type)
Description of effect for the more complex and probably more realistic Briet model: IRS has three effects, whos strength is calculated as a function of surviving insecticide content.
Proportion of Indoor residual spraying (IRS) interventions
→ scenario → interventions → human → component → IRS → usage
<usage
value=double
/>
Documentation (element)
Units: dimensionless Min: 0 Max: 1
Usage of Indoor residual spraying (IRS) interventions, from 0 to 1.
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Initial insecticide
→ scenario → interventions → human → component → IRS → initialInsecticide
<initialInsecticide
mean=double
[ SD=double ]
[ distr=("const" or "normal") ] DEFAULT VALUE const
/>
Documentation (element)
Units: μg/cm² Min: 0
The insecticide concentration of IRS (at time of spraying) is Gaussian distributed with mean "mu" and a standard deviation "sigma". The standard deviation should be small relative to the mean to avoid negative initial concentration. Any negative values sampled are set to 0.
Documentation (type)
A parameter with optional heterogeneity.
Optionally, a distribution ("distr") and standard of deviation ("SD") may be specified.
Attributes
mean
mean=double
The mean value.
standard deviation
SD=double
The standard deviation of variates.
Distribution
distr=("const" or "normal")
Default value: const
To allow heterogeneity, a distribution must be specified. Valid options are as follows. "const": no variation or sampling. Specifying distr="const" has the same effect as not specifying distr at all. "normal": the parameter is sampled from a normal distribution.
Decay of insecticide
→ scenario → interventions → human → component → IRS → insecticideDecay
<insecticideDecay
function=("constant" or "step" or "linear" or "exponential" or "weibull" or "hill" or "smooth-compact" or "plus" or "minus" or "divides" or "multiplies")
[ L=string ]
[ k=double ] DEFAULT VALUE 1.0
[ CV=double ] DEFAULT VALUE 0
[ increasing=boolean ] DEFAULT VALUE false
[ initialEfficacy=double ] DEFAULT VALUE 1
[ rho=double ]
[ halflife_short=string ]
[ halflife_long=string ]
>
IN THIS ORDER:
| <decay ... />
</insecticideDecay>
Documentation (element)
Units: none
Decay curve for insecticide content of IRS. Documentation: see DecayFunction type or https://github.com/SwissTPH/openmalaria/wiki/ModelDecayFunctions
Documentation (type)
Specification of decay or survival of a parameter.
Attributes
function
function=("constant" or "step" or "linear" or "exponential" or "weibull" or "hill" or "smooth-compact" or "plus" or "minus" or "divides" or "multiplies")
Units: None Min: 0 Max: 1
Determines which decay function to use. Available decay functions, for age t in years: constant: 1 step: 1 for t less than L, otherwise 0 linear: 1 - t/L for t less than L, otherwise 0 exponential: exp( - t/L * log(2) ) weibull: exp( -(t/L)^k * log(2) ) hill: 1 / (1 + (t/L)^k) smooth-compact: exp( k - k / (1 - (t/L)^2) ) for t less than L, otherwise 0
L
L=string
Units: User-defined (defaults to years) Min: 0
(Time) scale parameter of distribution: this is either the age of complete decay (smooth-compact, step and linear functions) or the age at which the parameter has decayed to half its original value (exponential, weibull and hill). Not used when function="constant" (i.e. no decay). This value can be specified in years, days or steps (e.g. 2y, 180d or 100t). When the unit is not specified years are assumed. The value is used without rounding except when sampling an age of decay, when the rounding happens as late as possible.
k
k=double
Units: none Min: 0
Default value: 1.0
Shape parameter of distribution. If not specified, default value of 1 is used. Meaning depends on function; not used in some cases.
Coefficient of Variation
CV=double
Min: 0
Default value: 0
If CV is non-zero, heterogeneity of decay is introduced via a random variable sampled from the log-normal distribution. This distribution is parameterised with mean=1 and CV as given. The effective age of decay is the real age multiplied by this variable (for decay functions with a half-life, this is equivalent to dividing the half-life by the variable).
L
increasing=boolean
Units: User-defined (defaults to years) Min: 0
Default value: false
(Boolean) If True, this tells OpenMalaria to use the complement of the DecayFunction defined as 1-f(x). This is useful to model increasing functions that will "decay" to 1. This only works if f(x) is contained between 0 and 1.
initialEfficacy
initialEfficacy=double
Default value: 1
biphasic: Efficacy between 0 and 1.
rho
rho=double
biphasic: Proportion between 0 and 1, proportion of the response that is short-lived.
halflife_short
halflife_short=string
biphasic: halflife of short lived component (default to years).
halflife_long
halflife_long=string
biphasic: halflife of long lived component (default to years).
Per-mosquito species parameters
→ scenario → interventions → human → component → IRS → anophelesParams
<anophelesParams
mosquito=string
[ propActive=double ] DEFAULT VALUE 1
>
IN THIS ORDER:
| <deterrency ... />
| <preprandialKillingEffect ... />
| <postprandialKillingEffect ... />
| [ <fecundityReduction ... /> ]
</anophelesParams>
Attributes
Mosquito species
mosquito=string
Name of the affected anopheles-mosquito species.
Proportion of bites for which IRS acts
propActive=double
Units: dimensionless Min: 0 Max: 1
Default value: 1
The proportion of bites for which the IRS has any action whatsoever on the mosquito. At the moment this is constant across humans and deterministic: relative attractiveness and survival factors are base*(1-propActing) + intervention_factor*propActing.
Relative attractiveness
→ scenario → interventions → human → component → IRS → anophelesParams → deterrency
<deterrency
insecticideFactor=double
insecticideScalingFactor=double
/>
Documentation (element)
Units: dimensionless Min: 0 Max: 1
Effect of IRS on attractiveness of humans to mosquitoes relative to an unprotected adult human. Parameterisations should take into account that mosquitoes do not always bite indoors.
Attractiveness of the human is multiplied by exp(P×log(p)) where P is the insecticide factor, p=1−exp(-insecticideContent×insecticideScalingFactor).
Attributes
Insecticide factor
insecticideFactor=double
Units: none Max: 1
Value expected to be at least 0. Negative values are not necessarily invalid, but allow nets to increase transmission.
Insecticide scaling factor
insecticideScalingFactor=double
Units: none Min: 0
Pre-prandial killing effect
→ scenario → interventions → human → component → IRS → anophelesParams → preprandialKillingEffect
<preprandialKillingEffect
insecticideFactor=double
insecticideScalingFactor=double
baseFactor=double
/>
Documentation (element)
Units: dimensionless Min: 0 Max: 1
Effect of IRS on survival mosquitoes as they seek to bite a human after choosing that human, relative to the same person not protected by IRS. Parameterisations should take into account that mosquitoes do not always bite indoors. This parameter has been added since some data shows IRS to have a preprandial killing effect.
Killing proportion is calculated as K = B + P×p where B is the base (without protection) probability of death, and P is the insecticide factor, p=1−exp(-insecticideContent×insecticideScalingFactor).
Survival of mosquitoes is adjusted via multiplication by (1−K) / (1−B). To keep this in the range [0,1], we require that B+P ≤ 1 and P ≥ 0.
Attributes
Insecticide factor
insecticideFactor=double
Units: none Max: 1
Value expected to be at least 0. Negative values are not necessarily invalid, but allow nets to increase transmission.
Insecticide scaling factor
insecticideScalingFactor=double
Units: none Min: 0
Probability of mosquito death without intervention
baseFactor=double
Units: dimensionless
Post-prandial killing effect
→ scenario → interventions → human → component → IRS → anophelesParams → postprandialKillingEffect
<postprandialKillingEffect
insecticideFactor=double
insecticideScalingFactor=double
baseFactor=double
/>
Documentation (element)
Units: dimensionless Min: 0 Max: 1
Effect of IRS on survival mosquitoes as they seek to escape from a human host and rest after a blood meal, relative to the same person not protected by IRS. Parameterisations should take into account that mosquitoes do not always bite indoors.
Killing proportion is calculated as K = B + P×p where B is the base (without protection) probability of death, and P is the insecticide factor, p=1−exp(-insecticideContent×insecticideScalingFactor).
Survival of mosquitoes is adjusted via multiplication by (1−K) / (1−B). To keep this in the range [0,1], we require that B+P ≤ 1 and P ≥ 0.
Attributes
Insecticide factor
insecticideFactor=double
Units: none Max: 1
Value expected to be at least 0. Negative values are not necessarily invalid, but allow nets to increase transmission.
Insecticide scaling factor
insecticideScalingFactor=double
Units: none Min: 0
Probability of mosquito death without intervention
baseFactor=double
Units: dimensionless
Fecundity reduction
→ scenario → interventions → human → component → IRS → anophelesParams → fecundityReduction
<fecundityReduction
insecticideFactor=double
insecticideScalingFactor=double
baseFactor=double
/>
Documentation (element)
Effect of IRS on fertility mosquitoes after successfully feeding on a human host, relative to an unproteced human. Parameterisations should take into account that mosquitoes do not always bite indoors.
First, we calculate K = B + P×p where B is the base (without protection) probability of death, and P is the insecticide factor, p=1−exp(-insecticideContent×insecticideScalingFactor).
Fecundity is multiplied by (1−K) / (1−B). It is not allowed to be greater than 1. To keep this in the range [0,1], we require that B+P ≤ 1 and P ≥ 0.
Attributes
Insecticide factor
insecticideFactor=double
Units: none Max: 1
Value expected to be at least 0. Negative values are not necessarily invalid, but allow nets to increase transmission.
Insecticide scaling factor
insecticideScalingFactor=double
Units: none Min: 0
Probability of mosquito death without intervention
baseFactor=double
Units: dimensionless
Generic vector intervention
→ scenario → interventions → human → component → GVI
<GVI>
IN THIS ORDER:
| [ <usage ... /> ]
| <decay ... />
| ( <anophelesParams ... /> )+
</GVI>
Documentation (element)
Low-level description of intervention effects on vectors (i.e. mosquitoes). Can be used to describe simple ITN or IRS interventions (though more complex models are available for these interventions) or other interventions such as mosquito repellant or ivermectin.
Note that all actions of this intervention component will decay according to a single decay function. If independant decay is wanted, a separate component can be used for each action.
Proportion of generic vector interventions
→ scenario → interventions → human → component → GVI → usage
<usage
value=double
/>
Documentation (element)
Units: dimensionless Min: 0 Max: 1
Usage of Generic vector interventions, from 0 to 1.
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Decay
→ scenario → interventions → human → component → GVI → decay
<decay
function=("constant" or "step" or "linear" or "exponential" or "weibull" or "hill" or "smooth-compact" or "plus" or "minus" or "divides" or "multiplies")
[ L=string ]
[ k=double ] DEFAULT VALUE 1.0
[ CV=double ] DEFAULT VALUE 0
[ increasing=boolean ] DEFAULT VALUE false
[ initialEfficacy=double ] DEFAULT VALUE 1
[ rho=double ]
[ halflife_short=string ]
[ halflife_long=string ]
>
IN THIS ORDER:
| <decay ... />
</decay>
Documentation (element)
Description of decay of all intervention effects. Documentation: see DecayFunction type or https://github.com/SwissTPH/openmalaria/wiki/ModelDecayFunctions
Documentation (type)
Specification of decay or survival of a parameter.
Attributes
function
function=("constant" or "step" or "linear" or "exponential" or "weibull" or "hill" or "smooth-compact" or "plus" or "minus" or "divides" or "multiplies")
Units: None Min: 0 Max: 1
Determines which decay function to use. Available decay functions, for age t in years: constant: 1 step: 1 for t less than L, otherwise 0 linear: 1 - t/L for t less than L, otherwise 0 exponential: exp( - t/L * log(2) ) weibull: exp( -(t/L)^k * log(2) ) hill: 1 / (1 + (t/L)^k) smooth-compact: exp( k - k / (1 - (t/L)^2) ) for t less than L, otherwise 0
L
L=string
Units: User-defined (defaults to years) Min: 0
(Time) scale parameter of distribution: this is either the age of complete decay (smooth-compact, step and linear functions) or the age at which the parameter has decayed to half its original value (exponential, weibull and hill). Not used when function="constant" (i.e. no decay). This value can be specified in years, days or steps (e.g. 2y, 180d or 100t). When the unit is not specified years are assumed. The value is used without rounding except when sampling an age of decay, when the rounding happens as late as possible.
k
k=double
Units: none Min: 0
Default value: 1.0
Shape parameter of distribution. If not specified, default value of 1 is used. Meaning depends on function; not used in some cases.
Coefficient of Variation
CV=double
Min: 0
Default value: 0
If CV is non-zero, heterogeneity of decay is introduced via a random variable sampled from the log-normal distribution. This distribution is parameterised with mean=1 and CV as given. The effective age of decay is the real age multiplied by this variable (for decay functions with a half-life, this is equivalent to dividing the half-life by the variable).
L
increasing=boolean
Units: User-defined (defaults to years) Min: 0
Default value: false
(Boolean) If True, this tells OpenMalaria to use the complement of the DecayFunction defined as 1-f(x). This is useful to model increasing functions that will "decay" to 1. This only works if f(x) is contained between 0 and 1.
initialEfficacy
initialEfficacy=double
Default value: 1
biphasic: Efficacy between 0 and 1.
rho
rho=double
biphasic: Proportion between 0 and 1, proportion of the response that is short-lived.
halflife_short
halflife_short=string
biphasic: halflife of short lived component (default to years).
halflife_long
halflife_long=string
biphasic: halflife of long lived component (default to years).
Per-mosquito species parameters
→ scenario → interventions → human → component → GVI → anophelesParams
<anophelesParams
mosquito=string
[ propActive=double ] DEFAULT VALUE 1
>
IN THIS ORDER:
| [ <deterrency ... /> ]
| [ <preprandialKillingEffect ... /> ]
| [ <postprandialKillingEffect ... /> ]
| [ <fecundityReduction ... /> ]
</anophelesParams>
Attributes
Mosquito species
mosquito=string
Name of the affected anopheles-mosquito species.
Proportion of bites for which IRS acts
propActive=double
Units: dimensionless Min: 0 Max: 1
Default value: 1
The proportion of bites for which the IRS has any action whatsoever on the mosquito. At the moment this is constant across humans and deterministic: relative attractiveness and survival factors are base*(1-propActing) + intervention_factor*propActing.
Relative attractiveness
→ scenario → interventions → human → component → GVI → anophelesParams → deterrency
<deterrency
value=double
/>
Documentation (element)
Units: dimensionless Min: 0 Max: 1
Effect of intervention on attractiveness of humans to mosquitoes relative to an unprotected adult human. Parameterisations should take into account that mosquitoes do not always bite indoors.
Attractiveness of the human is multiplied this factor times survival of effect.
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Pre-prandial killing effect
→ scenario → interventions → human → component → GVI → anophelesParams → preprandialKillingEffect
<preprandialKillingEffect
value=double
/>
Documentation (element)
Units: dimensionless Min: 0 Max: 1
Effect of intervention on survival of mosquitoes as they seek to bite a human after choosing that human, relative to the same person not protected by the intervention. Parameterisations should take into account that mosquitoes do not always bite indoors. This parameter has been added since some data shows IRS to have a preprandial killing effect.
Killing proportion is this factor multiplied by survival of effect.
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Post-prandial killing effect
→ scenario → interventions → human → component → GVI → anophelesParams → postprandialKillingEffect
<postprandialKillingEffect
value=double
/>
Documentation (element)
Units: dimensionless Min: 0 Max: 1
Effect of intervention on survival of mosquitoes as they seek to escape from a human host and rest after a blood meal, relative to the same person not protected by the intervention. Parameterisations should take into account that mosquitoes do not always bite indoors.
Killing proportion is this factor multiplied by survival of effect.
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Fecundity reduction effect
→ scenario → interventions → human → component → GVI → anophelesParams → fecundityReduction
<fecundityReduction
value=double
/>
Documentation (element)
Min: 0
Effect of intervention on fertility mosquitoes after successfully feeding on a human host, relative to an unproteced human. Parameterisations should take into account that mosquitoes do not always bite indoors.
Fertility is multiplied by 1 - (fecundityReduction * decay).
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Recruitment only
→ scenario → interventions → human → component → recruitmentOnly
<recruitmentOnly/>
Documentation (element)
Recruitment of a host into a sub-population.
All human-targeting intervention deployments recruit simulated humans into a sub-population which can be used for the purposes of cumulative deployment, deployment only to a sub-population and defining a cohort. This pseudo-intervention can be used to define a sub-population without also deploying some intervention.
Clear Immunity
→ scenario → interventions → human → component → clearImmunity
<clearImmunity/>
Documentation (element)
Removes all exposure-related immunitsy gained over time by hosts without removing infections (or affecting the ability to gain immunity through exposure).
Hypothetical, but potentially useful to simulate scenarios with unprotected humans.
subPopRemoval
→ scenario → interventions → human → component → subPopRemoval
<subPopRemoval
[ onFirstBout=boolean ] DEFAULT VALUE false
[ onFirstTreatment=boolean ] DEFAULT VALUE false
[ onFirstInfection=boolean ] DEFAULT VALUE false
[ afterYears=double ]
/>
Documentation (type)
Each human intervention component corresponds to a sub-population: those who have received or are considered to be protected by the intervention component. Humans automatically become members of this sub-population when receiving an intervention component; this element controls how humans are removed from the sub-population.
ITN attrition also removes humans from sub-populations.
Note that sub-populations do not directly correspond to an intervention's effects: lack of effectiveness does not imply removal from the sub-population (except as explicitly configured here) and removal from the sub-population does not halt an intervention's effects.
Sub-populations may be used to define a cohort, to restrict deployment of other interventions and to use cumulative deployment mode. A sub- population may or may not correspond (roughly) to humans protected by some intervention.
Attributes
Time to first episode only
onFirstBout=boolean
Default value: false
If true, remove individuals from the sub-population at the start of the first episode (start of a clinical bout) since they were recruited into the sub-population. This is intended for cohort studies which measure time to the first episode, using active case detection. Reports delayed due to health-system memory are forced out when this occurs. Note that this can increase the number of uncomplicated cases reported across the entire population; for this reason reports are not forced on recruitment or most removal options. This does not prevent re-recruitment in the case that recruitment settings could conceivably recruit the same individual twice.
Time to first treatment only
onFirstTreatment=boolean
Default value: false
If true, remove individuals from the sub-population when they first seektreatment since they were recruited into the sub-population. This is intended for cohort studies which measure the time to first episode, using passive case detection. Reports delayed due to health-system memory are forced out when this occurs. Note that this can increase the number of uncomplicated cases reported across the entire population; for this reason reports are not forced on recruitment or most removal options. This does not prevent re-recruitment in the case that recruitment settings could conceivably recruit the same individual twice.
Time to first infection only
onFirstInfection=boolean
Default value: false
If true, remove individuals from the sub-population at completion of the first survey in which they present with a patent infection since they were recruited into the sub-population. This intended for cohort studies which measure time to the first infection, using active case detection. Reports delayed due to health-system memory are forced out when this occurs. Note that this can increase the number of uncomplicated cases reported across the entire population; for this reason reports are not forced on recruitment or most removal options. This does not prevent re-recruitment in the case that recruitment settings could conceivably recruit the same individual twice.
Remove from sub-population after
afterYears=double
Units: Years Min: 0
If given, membership to the sub-population of humans who have received this intervention component expires after the given number of years. Note that future deployments renew membership (e.g. if this parameter is 4 years and the intervention is redeployed 3 years from now, expiry happens after 7 years). This provides a crude way of modelling a cohort protected by some intervention. A few interventions provide more detailed ways of modelling expiry of protection. In any case, "expiry of protection" is an abstract concept and does not imply that all protection has ceased, even in the simulator. This may also be useful for cumulative deployment. Minimum duration is zero, which implies the human is effectively never a member of the sub-population; a duration of one timestep implies the human is a member of the sub-population while any futher interventions are deployed on the same time as this human becomes a member and on the next update of the human (including transmission and health system events) but not beyond that. If this attribute is not given, the simulated human is a member until death or some other option triggers removal. Input is rounded to the nearest time step.
Deployment
→ scenario → interventions → human → deployment
<deployment
[ name=string ]
>
IN THIS ORDER:
| ( <component ... /> )+
| ( <condition ... /> )*
| ( <continuous ... /> )*
| ( <timed ... /> )*
</deployment>
Documentation (element)
This element describes deployment of an intervention: which components are deployed, how humans are selected for deployment (via timed or age-based deployment) as well as a few additional restrictions (e.g. vaccine dosing restrictions).
All components deployed by this intervention are deployed to the same people (each timed or continuous deployment selects recipients and then gives each recipient all components of the intervention).
Attributes
Intervention name
name=string
Name of intervention
component
→ scenario → interventions → human → deployment → component
<component
id=string
/>
Documentation (type)
The list of components deployed to eligible humans.
Attributes
Identifier
id=string
The identifier (short name) of a component.
Condition
→ scenario → interventions → human → deployment → condition
<condition
measure=string
[ minValue=double ]
[ maxValue=double ]
initialState=boolean
/>
Documentation (element)
If conditions are specified, deployment of this intervention will only go ahead if all specified conditions are true. Condition statements are evaluated only during surveys, so deployment is enabled or disabled depending on the results of the most recent survey. So called unreported surveys can be used to reevaluate conditions without increasing granularity of output.
Conditions are evaluated for the whole population, not for individual age-groups or cohorts.
This affects all types of deployment.
Attributes
Measure
measure=string
The monitoring measure to test. Not all measures are available for use.
Minimum value
minValue=double
Minimum value. If specified, the measured variable must be greater than or equal to this value for the condition to be satisfied.
Maximum value
maxValue=double
Maximum value. If specified, the measured variable must be less than or equal to this value for the condition to be satisfied.
Initial state
initialState=boolean
Whether this condition is considered true or false before updated by a survey.
Age-based (continuous) deployment
→ scenario → interventions → human → deployment → continuous
<continuous>
IN THIS ORDER:
| [ <restrictToSubPop ... /> ]
| ( <deploy ... /> )+
</continuous>
Documentation (element)
List of ages at which deployment takes place (through EPI, post-natal and school-based programmes, etc.).
A sub-population restriction may be added as a property of the list of continuous deployments.
restrictToSubPop
→ scenario → interventions → human → deployment → continuous → restrictToSubPop
<restrictToSubPop
id=string
[ complement=boolean ] DEFAULT VALUE false
/>
Documentation (type)
If this element is specified, deployment is restricted to some sub-population (specified via the "id" attribute); otherwise the target population is the entire simulated population. Either way, other deployment restrictions (age, time, number of vaccine doeses) still apply.
Attributes
Sub-population identifier
id=string
The identifier (short name) of the sub-population (i.e. the "id" of some intervention component). Also see the "complement" attribute.
Complement
complement=boolean
Default value: false
If this is not specified or is false, deployment is restricted to the sub-population of people protected by the intervention component who's id is given. If complement is set to true, deployment is instead restricted to the complement of that sub-population, i.e. to those
deploy
→ scenario → interventions → human → deployment → continuous → deploy
<deploy
coverage=double
[ vaccMinPrevDoses=int ]
[ vaccMaxCumDoses=int ]
[ minAvailability=int ]
[ maxAvailability=int ]
targetAgeYrs=double
[ begin=string ]
[ end=string ]
/>
Attributes
Coverage
coverage=double
Units: dimensionless Min: 0 Max: 1
Proportion of otherwise eligible individuals who will receive this deployment.
Vaccine min previous doses
vaccMinPrevDoses=int
Units: inoculations Min: 0
Applies to vaccines only: vaccine doses are only deployed by this deployment if the previous number of doses (for the component deployed) is at least this number. For example, if this is the second deployment opportunity for this vaccine and this value is 1, then this deployment cannot deploy the vaccine to individuals who did not receive the first deployment.
Vaccine max cumulative doses
vaccMaxCumDoses=int
Units: inoculations Min: 0
Applies to vaccines only: vaccine doses are only deployed by this deployment if the previous number of doses (for the component deployed) is less than this number.
Minimum ento availability
minAvailability=int
Units: percent Min: 0
Minimum ento availability percentile. This option is meant to be used with heterogeneity of availability, which can be specified in the entomology section. Without heterogenity (default), all hosts have the same availability and this option will have no effect. The percentile must be an integer value between 0 and 100. Percentile 99th represents individuals who are more available than 99% of the population. Percentile 0 represents the least available individuals. 100 is equivalent for infinity.
Maximum ento availability
maxAvailability=int
Units: percent Min: 0
Maximum ento availability percentile. This option is meant to be used with heterogeneity of availability, which can be specified in the entomology section. Without heterogenity (default), all hosts have the same availability and this option will have no effect. The percentile must be an integer value between 0 and 100. Percentile 99th represents individuals who are more available than 99% of the population. Percentile 0 represents the least available individuals. 100 is equivalent for infinity.
Target age
targetAgeYrs=double
Units: Years Min: 0 Max: 100
Target age of intervention. Input is rounded to the nearest time step.
First time active
begin=string
Units: User defined (defauls to steps)
First time at which this deployment is active. If not specified, deployment starts at the beginning of the intervention period. See doc on intervention period and on monitoring/startDate for details of how times work. Can be specified in steps, days, years, or as a date (examples: 15t, 75d, 0.2y, 2000-03-16).
End step
end=string
Units: User defined (defauls to steps)
End of the period during which the intervention is active (to be exact, the first step of the intervention period at which the item becomes inactive). If not specified, deployment never ceases after starting during the simulation. See doc on intervention period and on monitoring/startDate for details of how times work. Can be specified in steps, days, years, or as a date (examples: 15t, 75d, 0.2y, 2000-03-16).
Mass (timed) deployment
→ scenario → interventions → human → deployment → timed
<timed>
IN THIS ORDER:
| [ <restrictToSubPop ... /> ]
| [ <cumulativeCoverage ... /> ]
| ( <deploy ... /> )+
</timed>
Documentation (element)
List of timed deployments of the intervention (that is, of deployment campaigns).
Cumulative deployment mode can be specified for all deployments in a timed list. To allow multiple cumulative deployment descriptions, the entire timed list may be repeated.
restrictToSubPop
→ scenario → interventions → human → deployment → timed → restrictToSubPop
<restrictToSubPop
id=string
[ complement=boolean ] DEFAULT VALUE false
/>
Documentation (type)
If this element is specified, deployment is restricted to some sub-population (specified via the "id" attribute); otherwise the target population is the entire simulated population. Either way, other deployment restrictions (age, time, number of vaccine doeses) still apply.
Attributes
Sub-population identifier
id=string
The identifier (short name) of the sub-population (i.e. the "id" of some intervention component). Also see the "complement" attribute.
Complement
complement=boolean
Default value: false
If this is not specified or is false, deployment is restricted to the sub-population of people protected by the intervention component who's id is given. If complement is set to true, deployment is instead restricted to the complement of that sub-population, i.e. to those
Cumulative coverage
→ scenario → interventions → human → deployment → timed → cumulativeCoverage
<cumulativeCoverage
component=string
/>
Documentation (element)
If this element is not specified, standard deployment occurs, where a portion of the population as given by the coverage property of this campaign is selected, and interventions are deployed to all of these people (regardless of previous coverage).
If this attribute is specified, instead, the population is divided into two sets: those who are a member of a certain sub-population and those who are not (see "subPopRemoval" element). If the proportion of people in the first set is less than the desired coverage, then the proportion of people from the second set needed to increase total coverage to the desired coverage is calculated. This proportion is then used as the probablity of selection from the second set into a third set of people who then receive all interventions deployed by this campaign.
Note that selection is stochastic so the final coverage level may not be exactly that desired. Note also that the component used when selecting people need not actually be one of the components deployed by this intervention, although that is the intended use case.
Attributes
Component identifier
component=string
The identifier (short name) of the component used when selecting people.
deploy
→ scenario → interventions → human → deployment → timed → deploy
<deploy
coverage=double
[ vaccMinPrevDoses=int ]
[ vaccMaxCumDoses=int ]
[ minAvailability=int ]
[ maxAvailability=int ]
time=string
[ maxAge=double ]
[ minAge=double ] DEFAULT VALUE 0
[ repeatStep=string ]
[ repeatEnd=string ]
/>
Attributes
Coverage
coverage=double
Units: dimensionless Min: 0 Max: 1
Proportion of otherwise eligible individuals who will receive this deployment.
Vaccine min previous doses
vaccMinPrevDoses=int
Units: inoculations Min: 0
Applies to vaccines only: vaccine doses are only deployed by this deployment if the previous number of doses (for the component deployed) is at least this number. For example, if this is the second deployment opportunity for this vaccine and this value is 1, then this deployment cannot deploy the vaccine to individuals who did not receive the first deployment.
Vaccine max cumulative doses
vaccMaxCumDoses=int
Units: inoculations Min: 0
Applies to vaccines only: vaccine doses are only deployed by this deployment if the previous number of doses (for the component deployed) is less than this number.
Minimum ento availability
minAvailability=int
Units: percent Min: 0
Minimum ento availability percentile. This option is meant to be used with heterogeneity of availability, which can be specified in the entomology section. Without heterogenity (default), all hosts have the same availability and this option will have no effect. The percentile must be an integer value between 0 and 100. Percentile 99th represents individuals who are more available than 99% of the population. Percentile 0 represents the least available individuals. 100 is equivalent for infinity.
Maximum ento availability
maxAvailability=int
Units: percent Min: 0
Maximum ento availability percentile. This option is meant to be used with heterogeneity of availability, which can be specified in the entomology section. Without heterogenity (default), all hosts have the same availability and this option will have no effect. The percentile must be an integer value between 0 and 100. Percentile 99th represents individuals who are more available than 99% of the population. Percentile 0 represents the least available individuals. 100 is equivalent for infinity.
Time
time=string
Units: User defined (defauls to steps) Min: 0
Time at which this deployment occurs. See doc on intervention period and on monitoring/startDate for details of how times work. Can be specified in steps, days, years, or as a date (examples: 15t, 75d, 0.2y, 2000-03-16).
Maximum age of eligible individuals
maxAge=double
Units: Years Min: 0
Maximum age of eligible individuals (defaults to no limit). Input is rounded to the nearest time step.
Minimum age of eligible individuals
minAge=double
Units: Years Min: 0
Default value: 0
Minimum age of eligible individuals (defaults to 0). Input is rounded to the nearest time step.
Step of repetition
repeatStep=string
Units: User defined
See repeatEnd's documentation.
End of repetition (exclusive)
repeatEnd=string
Units: User defined
Either both repeatStep and repeatEnd should be present or neither. If present, the deployment is repeated every repeatStep timesteps (i.e. if t0 is the initial time and x is repeatStep, depolyments are done at times t0, t0+x, t0+2*x, ...), ending before repeatEnd (final repetition is the one before repeatEnd). Note that repeatEnd may be specified as a date but repeatStep must be a duration (days, steps or years).
Health system description
→ scenario → healthSystem
<healthSystem>
IN THIS ORDER:
| EXACTLY ONE OF:
| | <EventScheduler ... />
| | <ImmediateOutcomes ... />
| | <DecisionTree5Day ... />
| <CFR ... />
| <pSequelaeInpatient ... />
</healthSystem>
Documentation (element)
Description of health system.
Documentation (type)
Description of case management system, used to specify the initial model or a replacement (an intervention). Encompasses case management data and some other data required to derive case outcomes.
Contains a sub-element describing the particular health-system in use. Health system data is here defined as data used to decide on a treatment strategy, given a case requiring treatment.
Transmission and vector bionomics
→ scenario → entomology
<entomology
name=string
mode=("forced" or "dynamic")
[ scaledAnnualEIR=double ]
>
IN THIS ORDER:
| EXACTLY ONE OF:
| | <nonVector ... />
| | <vector ... />
</entomology>
Documentation (element)
Description of entomological data
Attributes
Entomology dataset name
name=string
Name of entomology data
Transmission model mode
mode=("forced" or "dynamic")
Transmission simulation mode: may be forced (in which case interventions and changes to human infectiousness cannot affect EIR) or dynamic (in which the above can affect EIR). The full vector model is only used in dynamic mode. This can not be changed by interventions, except for the changeEIR intervention for the non-vector model which replaces the EIR with a new description (used in forced mode).
Override annual EIR
scaledAnnualEIR=double
Units: Infectious bites per adult per year
If set, the annual EIR (for all species of vector) is scaled to this level; can be omitted if not needed.
Transmission setting (vector control not enabled)
→ scenario → entomology → nonVector
<nonVector
eipDuration=int
>
IN THIS ORDER:
| ( <EIRDaily ... /> )+
</nonVector>
Documentation (element)
Description of transmission setting for models without vector control interventions (included for backward compatibility)
Attributes
Duration of sporogony
eipDuration=int
Units: Days
The duration of sporogony in days
Transmission setting (vector control enabled)
→ scenario → entomology → vector
<vector>
IN THIS ORDER:
| ( <anopheles ... /> )+
| ( <nonHumanHosts ... /> )*
</vector>
Documentation (element)
Parameters of the transmission model
anopheles
→ scenario → entomology → vector → anopheles
<anopheles
mosquito=string
propInfected=double
propInfectious=double
>
IN THIS ORDER:
| <seasonality ... />
| <mosq ... />
| [ <lifeCycle ... /> ]
| [ <simpleMPD ... /> ]
| ( <nonHumanHosts ... /> )*
</anopheles>
Documentation (type)
Description of input EIR for one specific vector species in terms of a Fourier approximation to the ln of the EIR during the burn in period
Attributes
Identifier for this anopheles species
mosquito=string
Identifier for this anopheles species
Initial estimate of proportion of mosquitoes infected (ρ_O)
propInfected=double
Units: Proportion Min: 0 Max: 1
Initial guess of the proportion of mosquitoes which are infected, o: O_v(t) = o*N_v(t). Only used as a starting value.
Initial estimate of proportion of mosquitoes infectious (ρ_S)
propInfectious=double
Units: Proportion Min: 0 Max: 1
Initial estimate of the proportion of mosquitoes which are infectious, s: S_v(t) = s*N_v(t). Used as a starting value and then fit.
Seasonality of transmission
→ scenario → entomology → vector → anopheles → seasonality
<seasonality
input=("EIR")
[ annualEIR=double ]
>
IN THIS ORDER:
| EXACTLY ONE OF:
| | <fourierSeries ... />
| | <monthlyValues ... />
| | <dailyValues ... />
</seasonality>
Documentation (element)
Specifies the seasonality of transmission and optionally the level of annual transmission.
Attributes
Seasonality input
input=("EIR")
Specify what seasonality measure is given. At the moment, only EIR is supported, but in the future, all the below should be supported. EIR: seasonality of entomological inoculations is input. Units: entomological inoculations per adult per annum. hostSeeking: seasonality of densities of flying host-seeking mosquitoes is input (in the model this is notated N_v). Units: mosquitoes. emergence: seasonality of emergence pupa into adults. Units: mosquitoes. larvalResources: seasonality of larval resources. Units: X.
Annual EIR
annualEIR=double
Units: Inoculations per adult per annum Min: 0
If this attribute is included, EIR for this species is scaled to this level. Note that if the scaledAnnualEIR attribute of the entomology element is also used, EIR is scaled again, making this attribute the EIR relative to other species. With some seasonality inputs, this attribute is optional, in which case (if scaledAnnualEIR is also not specified) transmission depends on all parameters of the vector. With some seasonality inputs, however, this parameter must be specified.
Fourier approximation to pre-intervention EIR
→ scenario → entomology → vector → anopheles → seasonality → fourierSeries
<fourierSeries
EIRRotateAngle=double
>
IN THIS ORDER:
| ( <coeffic ... /> )*
</fourierSeries>
Documentation (element)
Units: Infectious bites per adult per day
Seasonality is reproduced from the exponential of a fourier series specified by the following coefficients. Note that the a0 term is not needed; the annualEIR attribute of the seasonality element should be used to scale EIR instead.
Attributes
Rotation angle defining the origin of the Fourier approximation to ln (EIR)
EIRRotateAngle=double
Units: Radians
Rotation angle defining the origin of the Fourier approximation to ln (EIR)
Pair of Fourier coefficients
→ scenario → entomology → vector → anopheles → seasonality → fourierSeries → coeffic
<coeffic
a=double
b=double
/>
Documentation (element)
A pair of Fourier series coefficients. The first element specifies a1 and b1, the second a2 and b2, etc. Any number (from 0 up) of pairs may be given.
Attributes
a_n parameter of Fourier approximation to ln(EIR)
a=double
a_n parameter of Fourier approximation to ln(EIR) for some natural number n.
b_n parameter of Fourier approximation to ln(EIR)
b=double
b_n parameter of Fourier approximation to ln(EIR) for some natural number n.
List of monthly values
→ scenario → entomology → vector → anopheles → seasonality → monthlyValues
<monthlyValues
smoothing=("none" or "fourier")
>
IN THIS ORDER:
| ( <value ... /> ){12,12}
</monthlyValues>
Documentation (element)
Description of seasonality from monthly values. Multiple smoothing methods are possible (see smoothing attribute).
List should contain twelve entries: January to December.
Attributes
Smoothing function
smoothing=("none" or "fourier")
How the monthly values are converted into a daily sequence of values:
- none: no smoothing (step function)
- Fourier: a Fourier series (with terms up to a2/b2) is fit to the sequence of monthly values and used to generate a smoothed list of daily values.
Monthly value
→ scenario → entomology → vector → anopheles → seasonality → monthlyValues → value
<value>
double
</value>
Documentation (element)
Units: (see "seasonality input" parameter)
Monthly value
List of daily values
→ scenario → entomology → vector → anopheles → seasonality → dailyValues
<dailyValues>
IN THIS ORDER:
| ( <value ... /> )+
</dailyValues>
Documentation (element)
Description of seasonality from daily values.
List should contain 365 entries: 1st January to 31st December.
Daily value
→ scenario → entomology → vector → anopheles → seasonality → dailyValues → value
<value>
double
</value>
Documentation (element)
Units: (see "seasonality input" parameter)
Daily value
Mosquito feeding cycle parameters
→ scenario → entomology → vector → anopheles → mosq
<mosq
minInfectedThreshold=double
>
IN ANY ORDER:
| <mosqRestDuration ... />
| <extrinsicIncubationPeriod ... />
| <mosqLaidEggsSameDayProportion ... />
| <mosqSeekingDuration ... />
| <mosqSurvivalFeedingCycleProbability ... />
| <availability ... />
| <mosqProbBiting ... />
| <mosqProbFindRestSite ... />
| <mosqProbResting ... />
| <mosqProbOvipositing ... />
| <mosqHumanBloodIndex ... />
</mosq>
- mosqRestDuration
- extrinsicIncubationPeriod
- mosqLaidEggsSameDayProportion
- mosqSeekingDuration
- mosqSurvivalFeedingCycleProbability
- availability
- mosqProbBiting
- mosqProbFindRestSite
- mosqProbResting
- mosqProbOvipositing
- mosqHumanBloodIndex
Documentation (element)
Parameters describing the feeding cycle and human mosquito interaction of a single species of anopheles mosquito.
Attributes
Mininum infected threshold for mosquitos
minInfectedThreshold=double
Min: 0
If less than this many mosquitoes remain infected, transmission is interrupted.
Duration of the resting period of the vector
→ scenario → entomology → vector → anopheles → mosq → mosqRestDuration
<mosqRestDuration
value=int
/>
Documentation (element)
Units: Days
name:Duration of the resting period of the vector (days);
Attributes
Input parameter value
value=int
An integer value.
Extrinsic incubation period
→ scenario → entomology → vector → anopheles → mosq → extrinsicIncubationPeriod
<extrinsicIncubationPeriod
value=int
/>
Documentation (element)
Units: Days
name:Extrinsic incubation period (days)
Attributes
Input parameter value
value=int
An integer value.
Proportion of mosquitoes host seeking on same day as ovipositing
→ scenario → entomology → vector → anopheles → mosq → mosqLaidEggsSameDayProportion
<mosqLaidEggsSameDayProportion
value=double
/>
Documentation (element)
Units: Proportion
Proportion of mosquitoes host seeking on same day as ovipositing
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Duration of the host-seeking period of the vector
→ scenario → entomology → vector → anopheles → mosq → mosqSeekingDuration
<mosqSeekingDuration
value=double
/>
Documentation (element)
Units: Days
Duration of the host-seeking period of the vector (days)
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Probability that the mosquito survives the feeding cycle
→ scenario → entomology → vector → anopheles → mosq → mosqSurvivalFeedingCycleProbability
<mosqSurvivalFeedingCycleProbability
value=double
/>
Documentation (element)
Units: Proportion
Probability that the mosquito survives the feeding cycle
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Human availability rate heterogeneity
→ scenario → entomology → vector → anopheles → mosq → availability
<availability
[ CV=double ]
[ distr=("const" or "lognormal" or "gamma") ] DEFAULT VALUE const
[ variance=double ]
/>
Documentation (element)
Optionally, entomological availability rate may be sampled per-human from a distribution. The distribution and coefficient of variability may be set here. The mean rate is calculated based on other parameters and not set directly.
If no attributes are specified or distr="const" or CV="0" then there will be no heterogeneity.
Documentation (type)
A parameter with optional heterogeneity.
The mean cannot be specified (unless this type is extended). Optionally, a distribution ("distr") and coefficient of variation ("CV") may be specified.
Attributes
Coefficient of variation
CV=double
Units: unitless
The (linear) coefficient of variation. This value must be specified when a (non-constant) distribution is used. Note: since version 46, variance can be used instead. Note that specifying CV="0" has the same effect as distr="const" and disables sampling of this parameter, even if distr is not "const".
Distribution
distr=("const" or "lognormal" or "gamma")
Default value: const
To allow heterogeneity, a distribution must be specified. Valid options are as follows. "const": no variation or sampling. Specifying distr="const" has the same effect as not specifying distr at all. "lognormal": the parameter is sampled from a log-normal distribution. Note that the "mean" and "CV" values are linear (arithmetic) properties of the distribution and not log-space properties.
Coefficient of variation
variance=double
Units: unitless
The variance parameter of the distirbution. This value can be specified when a (non-constant) distribution is used. Note that specifying variance="0" has the same effect as distr="const" and disables sampling of this parameter, even if distr is not "const".
Probability that the mosquito succesfully bites chosen host
→ scenario → entomology → vector → anopheles → mosq → mosqProbBiting
<mosqProbBiting
mean=double
variance=double
/>
Documentation (element)
Probability that the mosquito succesfully bites chosen host
Documentation (type)
Parameters of a normal distribution, provided as mean and variance.
Variates are sampled from Be(α,β) where α and β are determined from the mean and variance as follows: let v be the variance and c=mean/(1-mean). Then we set α=cβ and β=((c+1)²v - c)/((c+1)³v).
Attributes
mean
mean=double
Units: none
The mean of the beta distribution (must be in the open range (0,1)).
variance
variance=double
Units: none
The standard deviation of variates.
Probability that the mosquito escapes host and finds a resting place after biting
→ scenario → entomology → vector → anopheles → mosq → mosqProbFindRestSite
<mosqProbFindRestSite
mean=double
variance=double
/>
Documentation (element)
Probability that the mosquito escapes host and finds a resting place after biting
Documentation (type)
Parameters of a normal distribution, provided as mean and variance.
Variates are sampled from Be(α,β) where α and β are determined from the mean and variance as follows: let v be the variance and c=mean/(1-mean). Then we set α=cβ and β=((c+1)²v - c)/((c+1)³v).
Attributes
mean
mean=double
Units: none
The mean of the beta distribution (must be in the open range (0,1)).
variance
variance=double
Units: none
The standard deviation of variates.
Probability of mosquito successfully resting after finding a resting site
→ scenario → entomology → vector → anopheles → mosq → mosqProbResting
<mosqProbResting
mean=double
variance=double
/>
Documentation (element)
Probability of mosquito successfully resting after finding a resting site
Documentation (type)
Parameters of a normal distribution, provided as mean and variance.
Variates are sampled from Be(α,β) where α and β are determined from the mean and variance as follows: let v be the variance and c=mean/(1-mean). Then we set α=cβ and β=((c+1)²v - c)/((c+1)³v).
Attributes
mean
mean=double
Units: none
The mean of the beta distribution (must be in the open range (0,1)).
variance
variance=double
Units: none
The standard deviation of variates.
Probability of a mosquito successfully laying eggs given that it has rested
→ scenario → entomology → vector → anopheles → mosq → mosqProbOvipositing
<mosqProbOvipositing
value=double
/>
Documentation (element)
Probability of a mosquito successfully laying eggs given that it has rested
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Human blood index
→ scenario → entomology → vector → anopheles → mosq → mosqHumanBloodIndex
<mosqHumanBloodIndex
value=double
/>
Documentation (element)
Units: Proportion
The proportion of resting mosquitoes which fed on human blood during the last feed.
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Mosquito life cycle parameters
→ scenario → entomology → vector → anopheles → lifeCycle
<lifeCycle
[ estimatedLarvalResources=double ] DEFAULT VALUE 1e8
>
IN ANY ORDER:
| <eggStage ... />
| <larvalStage ... />
| <pupalStage ... />
| <femaleEggsLaidByOviposit ... />
</lifeCycle>
Documentation (element)
Parameters describing the life-cycle of this species of mosquito
Attributes
Estimate of larval resources
estimatedLarvalResources=double
Units: X
Default value: 1e8
An estimate of mean annual availability of resources to larvae. Used to get the resource usage fitting algorithm going; if the algorithm fails to fit the resource availability then tweaking this parameter may help. In other cases tweaking this parameter shouldn't be necessary. Default value is 10⁸ (1e8). Units are arbitrary but must be the same as those used by the resourceUsage parameter.
Egg stage
→ scenario → entomology → vector → anopheles → lifeCycle → eggStage
<eggStage
duration=int
survival=double
/>
Documentation (element)
Parameters for the egg stage of development
Documentation (type)
Parameters associated with a mosquito development stage.
Attributes
Duration
duration=int
Units: Days
Duration of the stage (i.e. length of time mosquito is an egg/larva/pupa).
Probability of survival
survival=double
Units: Proportion
Probability that mosquito survives this size (probability of egg hatching, a larva becoming a pupa or a pupa emerging as an adult, at the start of that stage).
larvalStage
→ scenario → entomology → vector → anopheles → lifeCycle → larvalStage
<larvalStage>
</larvalStage>
Documentation (type)
Parameters for the larval stage of development
Documentation (base type)
Parameters associated with a mosquito development stage.
Daily development
→ scenario → entomology → vector → anopheles → lifeCycle → larvalStage → daily
<daily
resourceUsage=double
effectCompetition=double
/>
Documentation (element)
List of parameters which apply during the larval stage of development. List length must equal stage duration, with first item corresponding to first 24 hours after hatching, second item to hours 24-48, and so on.
Attributes
Resource usage
resourceUsage=double
Units: X
Resource usage during larval stage of development. Units are arbitrary.
Effect of competition
effectCompetition=double
Units: none
Effect of competition over resources on development.
Pupal stage
→ scenario → entomology → vector → anopheles → lifeCycle → pupalStage
<pupalStage
duration=int
survival=double
/>
Documentation (element)
Parameters for the pupal stage of development
Documentation (type)
Parameters associated with a mosquito development stage.
Attributes
Duration
duration=int
Units: Days
Duration of the stage (i.e. length of time mosquito is an egg/larva/pupa).
Probability of survival
survival=double
Units: Proportion
Probability that mosquito survives this size (probability of egg hatching, a larva becoming a pupa or a pupa emerging as an adult, at the start of that stage).
Eggs laid by ovipositing mosquito
→ scenario → entomology → vector → anopheles → lifeCycle → femaleEggsLaidByOviposit
<femaleEggsLaidByOviposit
value=double
/>
Documentation (element)
Units: Eggs per feeding cycle
The total number of female eggs laid by a female mosquito at the conclusion to a feeding cycle, after feeding on an unprotected human (non-human hosts and protected humans use a multiplication factor to adjust this number for mosquitoes feeding on them).
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Simple Mosq-Pop-Dynamics parameters
→ scenario → entomology → vector → anopheles → simpleMPD
<simpleMPD>
IN ANY ORDER:
| <developmentDuration ... />
| <developmentSurvival ... />
| <femaleEggsLaidByOviposit ... />
</simpleMPD>
Documentation (element)
Parameters describing the simple mosquito population dynamics model.
This is a simpler version of the life-cycle model, requiring less parameters and with much simpler initialisation.
Duration
→ scenario → entomology → vector → anopheles → simpleMPD → developmentDuration
<developmentDuration
value=int
/>
Documentation (element)
Units: Days Min: 1
Duration from egg laying to emergence in days.
Attributes
Input parameter value
value=int
An integer value.
Probability of survival
→ scenario → entomology → vector → anopheles → simpleMPD → developmentSurvival
<developmentSurvival
value=double
/>
Documentation (element)
Units: Proportion Min: 0 Max: 1
Probability that mosquito survives from the egg being laid to emergence, given no resouce limitations (no density constraints).
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Eggs laid by ovipositing mosquito
→ scenario → entomology → vector → anopheles → simpleMPD → femaleEggsLaidByOviposit
<femaleEggsLaidByOviposit
value=double
/>
Documentation (element)
Units: Eggs per feeding cycle
The total number of female eggs laid by a female mosquito at the conclusion to a feeding cycle.
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Alternative (non-human) host paramters
→ scenario → entomology → vector → anopheles → nonHumanHosts
<nonHumanHosts
name=string
>
IN ANY ORDER:
| <mosqRelativeEntoAvailability ... />
| <mosqProbBiting ... />
| <mosqProbFindRestSite ... />
| <mosqProbResting ... />
| [ <hostFecundityFactor ... /> ]
</nonHumanHosts>
- mosqRelativeEntoAvailability
- mosqProbBiting
- mosqProbFindRestSite
- mosqProbResting
- hostFecundityFactor
Documentation (element)
Min: 0
Non human host parameters, per type of host (must match up with non-species-specific parameters).
Attributes
Identifier for this category of non-human hosts
name=string
Identifier for this category of non-human hosts
Relative availability of non-human host (ξ_i)
→ scenario → entomology → vector → anopheles → nonHumanHosts → mosqRelativeEntoAvailability
<mosqRelativeEntoAvailability
value=double
/>
Documentation (element)
Units: Proportion
Relative availability of the population of non-human hosts of type i to other non-human hosts; the sum of this across all non-human hosts must be 1.
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Probability of mosquito successfully biting host
→ scenario → entomology → vector → anopheles → nonHumanHosts → mosqProbBiting
<mosqProbBiting
value=double
/>
Documentation (element)
Units: Proportion
Probability of mosquito successfully biting host
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Probability that the mosquito escapes host and finds a resting place after biting
→ scenario → entomology → vector → anopheles → nonHumanHosts → mosqProbFindRestSite
<mosqProbFindRestSite
value=double
/>
Documentation (element)
Units: Proportion
Probability that the mosquito escapes host and finds a resting place after biting
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Probability of mosquito successfully resting after finding a resting site
→ scenario → entomology → vector → anopheles → nonHumanHosts → mosqProbResting
<mosqProbResting
value=double
/>
Documentation (element)
Units: Proportion
Probability of mosquito successfully resting after finding a resting site
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Relative fecundity of biting mosquitoes
→ scenario → entomology → vector → anopheles → nonHumanHosts → hostFecundityFactor
<hostFecundityFactor
value=double
/>
Documentation (element)
Units: Proportion
Multiplicative factor for the number of fertile eggs laid by a mosquito after biting this type of host, relative to an unprotected human.
Attributes
Input parameter value
value=double
A double-precision floating-point value.
nonHumanHosts
→ scenario → entomology → vector → nonHumanHosts
<nonHumanHosts
name=string
number=double
/>
Attributes
Species of alternative host
name=string
Name of this species of non human hosts (must match up with those described per anopheles section).
Population size of non-human host species
number=double
Units: Animals
Population size of this non-human host. Note: the availability of the population of this type of non-human host is determined by mosqRelativeEntoAvailability and mosqHumanBloodIndex. NHHs are not modelled individually, thus this parameter is not used. It might be useful in the future if there is ever an intervention to change the number of non-human hosts.
Parasite genetics
<parasiteGenetics
samplingMode=("initial" or "tracking")
>
IN THIS ORDER:
| ( <locus ... /> )+
</parasiteGenetics>
Documentation (element)
A specification of genotypes of infection parasites.
May be omitted; in this case there is no modelling of genetic differences of infections (resistance, fitness).
Attributes
samplingMode
samplingMode=("initial" or "tracking")
This controls how genotypes are determined for new infections during the intervention period. Prior to this (in initialisation phases), genotypes are always sampled using the specified initial frequencies. Mode "initial" continues to sample genotypes using initial frequencies (i.e. independent of the success of parent generations of parasites). Mode "tracking" samples genotypes based on the success parent generations of parasites have in infecting mosquitoes, tracked per genotype. It is possible that in the future a recombination option will be added to this list, however designing a suitable model is not trivial.
Locus
→ scenario → parasiteGenetics → locus
<locus
name=string
>
IN THIS ORDER:
| ( <allele ... /> )+
</locus>
Documentation (element)
Describes a locus, or a point at which an infection may vary. The genotype of an infection is determined by choosing one allele at each locus. Initial frequencies of alleles are specified independently for each locus, but subsequent infections are selected according to success of genotypes.
Alleles at loci can affect fitness and resistance to any number of drugs.
Attributes
Name of locus
name=string
Name of the Locus
Allele
→ scenario → parasiteGenetics → locus → allele
<allele
name=string
initialFrequency=double
fitness=double
[ hrp2_deletion=boolean ] DEFAULT VALUE false
/>
Documentation (element)
Describes an allele, or one possible genetic option of multiple at one point of variance.
Attributes
Name
name=string
Name of the allele; used to refer to it elsewhere.
Initial frequency
initialFrequency=double
Specification of how commonly this allele occurs during warmup relative to other alleles of the same locus. During the simulation's initialisation phases, the frequency at which each allele of each locus occurs is fixed. After the initialisation phase, frequency of alleles is modelled as an emergent property of the success of genotypes.
Fitness factor
fitness=double
Fitness factor of the allele. This is multiplication factor used to speed up or slow down replication of parasites. For example, if a genotype has an allele with a fitness factor of 1 at one locus and another allele with a fitness factor of 0.8 at a second locus, then the parasites with the genotype will replicate 20% slower than the baseline.
HRP2 deletion
hrp2_deletion=boolean
Default value: false
If true, marks this allele as having deleted HRP2. The effect on the simulation is that any diagnostic dependent on HRP2 behaves as if infections with deleted HRP2 have density 0. A diagnostic MUST explicitly set mechanism="HRP2" for this to have any effect.
Drug parameters (PK, PD and usage)
→ scenario → pharmacology
<pharmacology>
IN THIS ORDER:
| <treatments ... />
| <drugs ... />
</pharmacology>
Documentation (element)
Drug model parameters and drug usage parameters
Documentation (type)
A library of drug related data for the PK/PD model.
Treatments library
→ scenario → pharmacology → treatments
<treatments>
IN THIS ORDER:
| ( <schedule ... /> )+
| ( <dosages ... /> )+
</treatments>
Documentation (element)
A library of drug deployment schedules and dosages.
schedule
→ scenario → pharmacology → treatments → schedule
<schedule
name=string
>
IN THIS ORDER:
| ( <medicate ... /> )*
</schedule>
Documentation (type)
A schedule for the administration of drugs in a course of treatment.
Note that dose sizes are multiplied by some multiplier (see dosages) and the times of all doses may be delayed.
Attributes
Name
name=string
Name for referring to this deployment schedule
medicate
→ scenario → pharmacology → treatments → schedule → medicate
<medicate
drug=string
mg=double
hour=double
/>
Attributes
drug
drug=string
Abbreviated name of drug compound
Drug dose (mg with multiplier)
mg=double
Units: mg per something
Quantity of drug compound in mg per something. A separate dosage table must be used when medicating, which may specify multipliers of this number based on patient age or weight.
Time of administration
hour=double
Units: Hours Min: 0
Number of hours past start of timestep this drug dose is administered at (first dose should be at hour 0).
dosages
→ scenario → pharmacology → treatments → dosages
<dosages
name=string
>
IN THIS ORDER:
| EXACTLY ONE OF:
| | ( <age ... /> )+
| | ( <bodymass ... /> )+
| | <multiply ... />
</dosages>
Documentation (type)
A table for selecting a dose size. There are several ways this can work: using the patient's age or body mass in a look-up table to get a multplier, or directly using body mass as the multiplier.
The doses specified in "mg" in the treatment schedule are then multiplied by this multiplier.
Attributes
Name
name=string
Name for referring to this dosage table
Look-up table (age)
→ scenario → pharmacology → treatments → dosages → age
<age
lowerbound=double
dose_mult=double
/>
Documentation (element)
Select dose multiplier from a look-up table using the patient's age.
Documentation (type)
A look-up table which uses patient age (in years) or weight (in kg) to find a multiplier.
Attributes
Lower bound (inclusive)
lowerbound=double
Units: years or kg Min: 0
Dose multiplier
dose_mult=double
Min: 0
The dose size given in the schedule (in "mg") is multiplied by this value for patients falling into this range when this dosage table is used.
Look-up table (weight)
→ scenario → pharmacology → treatments → dosages → bodymass
<bodymass
lowerbound=double
dose_mult=double
/>
Documentation (element)
Select dose multiplier from a look-up table using the patient's body mass.
Documentation (type)
A look-up table which uses patient age (in years) or weight (in kg) to find a multiplier.
Attributes
Lower bound (inclusive)
lowerbound=double
Units: years or kg Min: 0
Dose multiplier
dose_mult=double
Min: 0
The dose size given in the schedule (in "mg") is multiplied by this value for patients falling into this range when this dosage table is used.
Multiply dose
→ scenario → pharmacology → treatments → dosages → multiply
<multiply
by=("kg")
/>
Documentation (element)
Multiply the dose by some quantity, such as patient weight.
Attributes
By what?
by=("kg")
Quantity to multiply the dose by. Only option is "kg" (patient weight in kg).
Drug library
→ scenario → pharmacology → drugs
<drugs>
IN THIS ORDER:
| ( <drug ... /> )+
</drugs>
Documentation (element)
A library of drug PK/PD data.
drug
→ scenario → pharmacology → drugs → drug
<drug
abbrev=string
>
IN THIS ORDER:
| <PD ... />
| <PK ... />
</drug>
Documentation (type)
A drug description with PK/PD parameters.
Attributes
abbrev
abbrev=string
PD
→ scenario → pharmacology → drugs → drug → PD
<PD
[ locus=string ]
>
IN THIS ORDER:
| ( <phenotype ... /> )+
</PD>
Attributes
Locus
locus=string
Optional; if present specifies the locus corresponding to this drug's PD phenotypes: each phenotype must then match one of that locus's alleles. Otherwise the drug should specify only one phenotype. There is currently a one-to-many correspondance between loci and drugs.
PD parameters for some allele / resistance phenotype
→ scenario → pharmacology → drugs → drug → PD → phenotype
<phenotype
[ name=string ]
>
IN THIS ORDER:
| ( <restriction ... /> )*
| <max_killing_rate ... />
| <IC50 ... />
| <slope ... />
</phenotype>
Documentation (element)
Pharmaco-Dynamic parameters for some resistance phenotype.
To model resistance to this drug, describe multiple infection phenotypes (with respect to these PD parameters) and list one or more "restrict" elements for each phenotype.
Loci are specified elsewhere. Multiple loci may influence the action of a single drug and each locus may influence multiple drugs.
Attributes
Name of phenotype
name=string
Name of the phenotype; for documentation use only.
Restrict phenotype applicability to certain alleles
→ scenario → pharmacology → drugs → drug → PD → phenotype → restriction
<restriction
onLocus=string
toAllele=string
/>
Documentation (element)
Specifies the mapping from genotype to phenotype. For each drug type, if only one phenotype is present, restrictions need not be specified, but otherwise restrictions must be specified.
The set of loci affecting phenotypes of this drug's action must be fixed for any drug type. Each phenotype must list, for each of these loci, a restriction to one or more alleles under the locus.
Attributes
Locus relevant to the mapping of alleles to this phenotype
onLocus=string
A locus under which only a restricted set of alleles map to this phenotype.
Alleles mapping to this phenotype
toAllele=string
One allele of a locus upon which phenotype choice depends. If multiple alleles under this locus should map to the same phenotype, repeat the whole "restriction onLocus..." element.
Maximal parasite killing rate
→ scenario → pharmacology → drugs → drug → PD → phenotype → max_killing_rate
<max_killing_rate>
double
</max_killing_rate>
Documentation (element)
Units: 1/days Min: 0
k1 — Maximal parasite killing rate.
IC50
→ scenario → pharmacology → drugs → drug → PD → phenotype → IC50
<IC50
[ CV=double ]
[ distr=("const" or "lognormal" or "gamma") ] DEFAULT VALUE const
[ variance=double ]
mean=double
/>
Documentation (element)
Units: mg/l Min: 0
Half maximal effect concentration.
If CV > 0, the IC50 is sampled from a log-normal distribution.
Documentation (type)
A parameter with optional log-normal heterogeneity.
The mean value must be specified. Optionally, a distribution ("distr") and coefficient of variation ("CV") may be specified.
Documentation (base type)
A parameter with optional heterogeneity.
The mean cannot be specified (unless this type is extended). Optionally, a distribution ("distr") and coefficient of variation ("CV") may be specified.
Attributes
Coefficient of variation
CV=double
Units: unitless
The (linear) coefficient of variation. This value must be specified when a (non-constant) distribution is used. Note: since version 46, variance can be used instead. Note that specifying CV="0" has the same effect as distr="const" and disables sampling of this parameter, even if distr is not "const".
Distribution
distr=("const" or "lognormal" or "gamma")
Default value: const
To allow heterogeneity, a distribution must be specified. Valid options are as follows. "const": no variation or sampling. Specifying distr="const" has the same effect as not specifying distr at all. "lognormal": the parameter is sampled from a log-normal distribution. Note that the "mean" and "CV" values are linear (arithmetic) properties of the distribution and not log-space properties.
Coefficient of variation
variance=double
Units: unitless
The variance parameter of the distirbution. This value can be specified when a (non-constant) distribution is used. Note that specifying variance="0" has the same effect as distr="const" and disables sampling of this parameter, even if distr is not "const".
mean
mean=double
The (linear) mean value.
Slope of effect curve
→ scenario → pharmacology → drugs → drug → PD → phenotype → slope
<slope>
double
</slope>
Documentation (element)
Units: dimensionless
n — Slope of the concentration effect curve
PK
→ scenario → pharmacology → drugs → drug → PK
<PK>
IN THIS ORDER:
| <negligible_concentration ... />
| EXACTLY ONE OF:
| | <half_life ... />
| | IN THIS ORDER:
| | | <k ... />
| | | <m_exponent ... />
| [ <k_a ... /> ]
| [ <conversion ... /> ]
| <vol_dist ... />
| [ <compartment2 ... /> ]
| [ <compartment3 ... /> ]
</PK>
Drug concentration considered negligible
→ scenario → pharmacology → drugs → drug → PK → negligible_concentration
<negligible_concentration>
double
</negligible_concentration>
Documentation (element)
Units: mg/l Min: 0
Concentration below which drug's effects are deemed negligible and can be removed from simulation.
drug half-life
→ scenario → pharmacology → drugs → drug → PK → half_life
<half_life>
double
</half_life>
Documentation (element)
Units: days Min: 0
Used to calculate elimination rate λ, calculated as λ = ln(2) / half_life. The basic form of decay is C(t) = C0 * exp(-λ*t).
Alternatively, elimination rate can be specified via k and m_exponent.
Constant associated with elimination rate (k)
→ scenario → pharmacology → drugs → drug → PK → k
<k
[ CV=double ]
[ distr=("const" or "lognormal" or "gamma") ] DEFAULT VALUE const
[ variance=double ]
mean=double
/>
Documentation (element)
Units: day^-1 Min: 0
Constant used to calculate the elimination rate λ, which is calculated as λ = k / (body_mass ^ m_exponent), where body_mass is the patient's weight in kg and m_exponent is the next parameter. The basic form of decay is C(t) = C0 * exp(-λ*t).
If CV > 0, k is sampled per-human from the log-normal distribution: ln N( ln(mean) - σ^2 / 2, σ^2).
Alternatively, elimination rate can be specified via half_life.
Documentation (type)
A parameter with optional log-normal heterogeneity.
The mean value must be specified. Optionally, a distribution ("distr") and coefficient of variation ("CV") may be specified.
Documentation (base type)
A parameter with optional heterogeneity.
The mean cannot be specified (unless this type is extended). Optionally, a distribution ("distr") and coefficient of variation ("CV") may be specified.
Attributes
Coefficient of variation
CV=double
Units: unitless
The (linear) coefficient of variation. This value must be specified when a (non-constant) distribution is used. Note: since version 46, variance can be used instead. Note that specifying CV="0" has the same effect as distr="const" and disables sampling of this parameter, even if distr is not "const".
Distribution
distr=("const" or "lognormal" or "gamma")
Default value: const
To allow heterogeneity, a distribution must be specified. Valid options are as follows. "const": no variation or sampling. Specifying distr="const" has the same effect as not specifying distr at all. "lognormal": the parameter is sampled from a log-normal distribution. Note that the "mean" and "CV" values are linear (arithmetic) properties of the distribution and not log-space properties.
Coefficient of variation
variance=double
Units: unitless
The variance parameter of the distirbution. This value can be specified when a (non-constant) distribution is used. Note that specifying variance="0" has the same effect as distr="const" and disables sampling of this parameter, even if distr is not "const".
mean
mean=double
The (linear) mean value.
Constant associated with elimination rate (m_exponent)
→ scenario → pharmacology → drugs → drug → PK → m_exponent
<m_exponent>
double
</m_exponent>
Documentation (element)
Units: day^-1 Min: 0
Constant used to calculate the elimination rate λ, which is calculated as λ = k / (body_mass ^ m_exponent), where body_mass is the patient's weight in kg and k is the previous parameter. The basic form of decay is C(t) = C0 * exp(-λ*t).
Alternatively, elimination rate can be specified via half_life.
Note that in the case of a conversion model, this applies to both the elimination and the conversion rates.
Absorption rate constant (k_a)
→ scenario → pharmacology → drugs → drug → PK → k_a
<k_a
[ CV=double ]
[ distr=("const" or "lognormal" or "gamma") ] DEFAULT VALUE const
[ variance=double ]
mean=double
/>
Documentation (element)
Min: 0
Absorption rate parameter. Not allowed for one compartment models, but required for two and three compartment models and one compartment with conversion model (for the parent drug only).
Documentation (type)
A parameter with optional log-normal heterogeneity.
The mean value must be specified. Optionally, a distribution ("distr") and coefficient of variation ("CV") may be specified.
Documentation (base type)
A parameter with optional heterogeneity.
The mean cannot be specified (unless this type is extended). Optionally, a distribution ("distr") and coefficient of variation ("CV") may be specified.
Attributes
Coefficient of variation
CV=double
Units: unitless
The (linear) coefficient of variation. This value must be specified when a (non-constant) distribution is used. Note: since version 46, variance can be used instead. Note that specifying CV="0" has the same effect as distr="const" and disables sampling of this parameter, even if distr is not "const".
Distribution
distr=("const" or "lognormal" or "gamma")
Default value: const
To allow heterogeneity, a distribution must be specified. Valid options are as follows. "const": no variation or sampling. Specifying distr="const" has the same effect as not specifying distr at all. "lognormal": the parameter is sampled from a log-normal distribution. Note that the "mean" and "CV" values are linear (arithmetic) properties of the distribution and not log-space properties.
Coefficient of variation
variance=double
Units: unitless
The variance parameter of the distirbution. This value can be specified when a (non-constant) distribution is used. Note that specifying variance="0" has the same effect as distr="const" and disables sampling of this parameter, even if distr is not "const".
mean
mean=double
The (linear) mean value.
Conversion parameters (parent drug)
→ scenario → pharmacology → drugs → drug → PK → conversion
<conversion>
IN ANY ORDER:
| <metabolite ... />
| <rate ... />
| <molRatio ... />
| <IC50_log_correlation ... />
</conversion>
Documentation (element)
Configures the parent drug in a conversion model.
To use a conversion model, the parent drug should have this section defined as well as half-life or k (direct elimination; this may be zero) and k_a (absorption rate; this may be large).
The metabolite drug should define half-life or k (elimination of metabolite), but not k_a (absorption rate) or this section (conversion). It is not possible for the metabolite to itself undergo conversion with the current models.
Metabolite drug (abbreviation)
→ scenario → pharmacology → drugs → drug → PK → conversion → metabolite
<metabolite>
string
</metabolite>
Documentation (element)
The abbreviation of the metabolite drug (e.g. "DHA" or "DHA_AR").
Rate of conversion
→ scenario → pharmacology → drugs → drug → PK → conversion → rate
<rate
[ CV=double ]
[ distr=("const" or "lognormal" or "gamma") ] DEFAULT VALUE const
[ variance=double ]
mean=double
/>
Documentation (element)
Rate of conversion of parent drug to metabolite.
Documentation (type)
A parameter with optional log-normal heterogeneity.
The mean value must be specified. Optionally, a distribution ("distr") and coefficient of variation ("CV") may be specified.
Documentation (base type)
A parameter with optional heterogeneity.
The mean cannot be specified (unless this type is extended). Optionally, a distribution ("distr") and coefficient of variation ("CV") may be specified.
Attributes
Coefficient of variation
CV=double
Units: unitless
The (linear) coefficient of variation. This value must be specified when a (non-constant) distribution is used. Note: since version 46, variance can be used instead. Note that specifying CV="0" has the same effect as distr="const" and disables sampling of this parameter, even if distr is not "const".
Distribution
distr=("const" or "lognormal" or "gamma")
Default value: const
To allow heterogeneity, a distribution must be specified. Valid options are as follows. "const": no variation or sampling. Specifying distr="const" has the same effect as not specifying distr at all. "lognormal": the parameter is sampled from a log-normal distribution. Note that the "mean" and "CV" values are linear (arithmetic) properties of the distribution and not log-space properties.
Coefficient of variation
variance=double
Units: unitless
The variance parameter of the distirbution. This value can be specified when a (non-constant) distribution is used. Note that specifying variance="0" has the same effect as distr="const" and disables sampling of this parameter, even if distr is not "const".
mean
mean=double
The (linear) mean value.
Molecular weight ratio
→ scenario → pharmacology → drugs → drug → PK → conversion → molRatio
<molRatio>
double
</molRatio>
Documentation (element)
Ratio of molecular weights: molecular weight of the metabolite divided by molecular weight of the parent.
IC50 log correlation
→ scenario → pharmacology → drugs → drug → PK → conversion → IC50_log_correlation
<IC50_log_correlation>
double
</IC50_log_correlation>
Documentation (element)
Min: 0 Max: 1
The IC50 values of parent and metabolite drugs may be sampled from the log-normal distribution (if CV is greater than 0). This parameter controls correlation between these samples, measured in log-space.
If this value is 1, samples are fully correlated: a single z-score is used to calculate both samples. If this is 0, two independent samples are used.
Values between 0 and 1 (partial correlation) are supported; in this case IC50 values are sampled such that cor(log(x), log(y)) matches this value (where x, y are parent and metabolite IC50 values).
Volume of Distribution (Vd)
→ scenario → pharmacology → drugs → drug → PK → vol_dist
<vol_dist
[ CV=double ]
[ distr=("const" or "lognormal" or "gamma") ] DEFAULT VALUE const
[ variance=double ]
mean=double
/>
Documentation (element)
Units: l/kg Min: 0
Volume of Distribution.
If CV > 0 this is sampled from a log-normal distribution.
Documentation (type)
A parameter with optional log-normal heterogeneity.
The mean value must be specified. Optionally, a distribution ("distr") and coefficient of variation ("CV") may be specified.
Documentation (base type)
A parameter with optional heterogeneity.
The mean cannot be specified (unless this type is extended). Optionally, a distribution ("distr") and coefficient of variation ("CV") may be specified.
Attributes
Coefficient of variation
CV=double
Units: unitless
The (linear) coefficient of variation. This value must be specified when a (non-constant) distribution is used. Note: since version 46, variance can be used instead. Note that specifying CV="0" has the same effect as distr="const" and disables sampling of this parameter, even if distr is not "const".
Distribution
distr=("const" or "lognormal" or "gamma")
Default value: const
To allow heterogeneity, a distribution must be specified. Valid options are as follows. "const": no variation or sampling. Specifying distr="const" has the same effect as not specifying distr at all. "lognormal": the parameter is sampled from a log-normal distribution. Note that the "mean" and "CV" values are linear (arithmetic) properties of the distribution and not log-space properties.
Coefficient of variation
variance=double
Units: unitless
The variance parameter of the distirbution. This value can be specified when a (non-constant) distribution is used. Note that specifying variance="0" has the same effect as distr="const" and disables sampling of this parameter, even if distr is not "const".
mean
mean=double
The (linear) mean value.
Second compartment parameters
→ scenario → pharmacology → drugs → drug → PK → compartment2
<compartment2>
IN ANY ORDER:
| <k12 ... />
| <k21 ... />
</compartment2>
Documentation (element)
Optional element specifying conversion parameters to- and from- a second compartment.
Absorption rate to compartment 2 (k12)
→ scenario → pharmacology → drugs → drug → PK → compartment2 → k12
<k12
[ CV=double ]
[ distr=("const" or "lognormal" or "gamma") ] DEFAULT VALUE const
[ variance=double ]
mean=double
/>
Documentation (element)
Units: day^-1 Min: 0
Absorption rate from the central compartment to the first periphery compartment (2).
It is sampled per-patient when CV > 0.
Documentation (type)
A parameter with optional log-normal heterogeneity.
The mean value must be specified. Optionally, a distribution ("distr") and coefficient of variation ("CV") may be specified.
Documentation (base type)
A parameter with optional heterogeneity.
The mean cannot be specified (unless this type is extended). Optionally, a distribution ("distr") and coefficient of variation ("CV") may be specified.
Attributes
Coefficient of variation
CV=double
Units: unitless
The (linear) coefficient of variation. This value must be specified when a (non-constant) distribution is used. Note: since version 46, variance can be used instead. Note that specifying CV="0" has the same effect as distr="const" and disables sampling of this parameter, even if distr is not "const".
Distribution
distr=("const" or "lognormal" or "gamma")
Default value: const
To allow heterogeneity, a distribution must be specified. Valid options are as follows. "const": no variation or sampling. Specifying distr="const" has the same effect as not specifying distr at all. "lognormal": the parameter is sampled from a log-normal distribution. Note that the "mean" and "CV" values are linear (arithmetic) properties of the distribution and not log-space properties.
Coefficient of variation
variance=double
Units: unitless
The variance parameter of the distirbution. This value can be specified when a (non-constant) distribution is used. Note that specifying variance="0" has the same effect as distr="const" and disables sampling of this parameter, even if distr is not "const".
mean
mean=double
The (linear) mean value.
Absorption rate from compartment 2 (k21)
→ scenario → pharmacology → drugs → drug → PK → compartment2 → k21
<k21
[ CV=double ]
[ distr=("const" or "lognormal" or "gamma") ] DEFAULT VALUE const
[ variance=double ]
mean=double
/>
Documentation (element)
Units: day^-1 Min: 0
Absorption rate from the first periphery compartment (2) to the central compartment.
It is sampled per-patient when CV > 0.
Documentation (type)
A parameter with optional log-normal heterogeneity.
The mean value must be specified. Optionally, a distribution ("distr") and coefficient of variation ("CV") may be specified.
Documentation (base type)
A parameter with optional heterogeneity.
The mean cannot be specified (unless this type is extended). Optionally, a distribution ("distr") and coefficient of variation ("CV") may be specified.
Attributes
Coefficient of variation
CV=double
Units: unitless
The (linear) coefficient of variation. This value must be specified when a (non-constant) distribution is used. Note: since version 46, variance can be used instead. Note that specifying CV="0" has the same effect as distr="const" and disables sampling of this parameter, even if distr is not "const".
Distribution
distr=("const" or "lognormal" or "gamma")
Default value: const
To allow heterogeneity, a distribution must be specified. Valid options are as follows. "const": no variation or sampling. Specifying distr="const" has the same effect as not specifying distr at all. "lognormal": the parameter is sampled from a log-normal distribution. Note that the "mean" and "CV" values are linear (arithmetic) properties of the distribution and not log-space properties.
Coefficient of variation
variance=double
Units: unitless
The variance parameter of the distirbution. This value can be specified when a (non-constant) distribution is used. Note that specifying variance="0" has the same effect as distr="const" and disables sampling of this parameter, even if distr is not "const".
mean
mean=double
The (linear) mean value.
Third compartment parameters
→ scenario → pharmacology → drugs → drug → PK → compartment3
<compartment3>
IN ANY ORDER:
| <k13 ... />
| <k31 ... />
</compartment3>
Documentation (element)
Optional element specifying conversion parameters to- and from- a third compartment.
Absorption rate to compartment 3 (k13)
→ scenario → pharmacology → drugs → drug → PK → compartment3 → k13
<k13
[ CV=double ]
[ distr=("const" or "lognormal" or "gamma") ] DEFAULT VALUE const
[ variance=double ]
mean=double
/>
Documentation (element)
Units: day^-1 Min: 0
Absorption rate from the central compartment to the second periphery compartment (3).
It is sampled per-patient when CV > 0.
Documentation (type)
A parameter with optional log-normal heterogeneity.
The mean value must be specified. Optionally, a distribution ("distr") and coefficient of variation ("CV") may be specified.
Documentation (base type)
A parameter with optional heterogeneity.
The mean cannot be specified (unless this type is extended). Optionally, a distribution ("distr") and coefficient of variation ("CV") may be specified.
Attributes
Coefficient of variation
CV=double
Units: unitless
The (linear) coefficient of variation. This value must be specified when a (non-constant) distribution is used. Note: since version 46, variance can be used instead. Note that specifying CV="0" has the same effect as distr="const" and disables sampling of this parameter, even if distr is not "const".
Distribution
distr=("const" or "lognormal" or "gamma")
Default value: const
To allow heterogeneity, a distribution must be specified. Valid options are as follows. "const": no variation or sampling. Specifying distr="const" has the same effect as not specifying distr at all. "lognormal": the parameter is sampled from a log-normal distribution. Note that the "mean" and "CV" values are linear (arithmetic) properties of the distribution and not log-space properties.
Coefficient of variation
variance=double
Units: unitless
The variance parameter of the distirbution. This value can be specified when a (non-constant) distribution is used. Note that specifying variance="0" has the same effect as distr="const" and disables sampling of this parameter, even if distr is not "const".
mean
mean=double
The (linear) mean value.
Absorption rate from compartment 3 (k31)
→ scenario → pharmacology → drugs → drug → PK → compartment3 → k31
<k31
[ CV=double ]
[ distr=("const" or "lognormal" or "gamma") ] DEFAULT VALUE const
[ variance=double ]
mean=double
/>
Documentation (element)
Units: day^-1 Min: 0
Absorption rate from the second periphery compartment (3) to the central compartment.
It is sampled per-patient when CV > 0.
Documentation (type)
A parameter with optional log-normal heterogeneity.
The mean value must be specified. Optionally, a distribution ("distr") and coefficient of variation ("CV") may be specified.
Documentation (base type)
A parameter with optional heterogeneity.
The mean cannot be specified (unless this type is extended). Optionally, a distribution ("distr") and coefficient of variation ("CV") may be specified.
Attributes
Coefficient of variation
CV=double
Units: unitless
The (linear) coefficient of variation. This value must be specified when a (non-constant) distribution is used. Note: since version 46, variance can be used instead. Note that specifying CV="0" has the same effect as distr="const" and disables sampling of this parameter, even if distr is not "const".
Distribution
distr=("const" or "lognormal" or "gamma")
Default value: const
To allow heterogeneity, a distribution must be specified. Valid options are as follows. "const": no variation or sampling. Specifying distr="const" has the same effect as not specifying distr at all. "lognormal": the parameter is sampled from a log-normal distribution. Note that the "mean" and "CV" values are linear (arithmetic) properties of the distribution and not log-space properties.
Coefficient of variation
variance=double
Units: unitless
The variance parameter of the distirbution. This value can be specified when a (non-constant) distribution is used. Note that specifying variance="0" has the same effect as distr="const" and disables sampling of this parameter, even if distr is not "const".
mean
mean=double
The (linear) mean value.
Diagnostic parameters
→ scenario → diagnostics
<diagnostics>
IN THIS ORDER:
| ( <diagnostic ... /> )*
</diagnostics>
Documentation (element)
Diagnostic model parameters
diagnostic
→ scenario → diagnostics → diagnostic
<diagnostic
name=string
[ units=("Other" or "Garki" or "Malariatherapy") ]
[ mechanism=("Other" or "HRP2") ] DEFAULT VALUE Other
>
IN THIS ORDER:
| EXACTLY ONE OF:
| | <deterministic ... />
| | <stochastic ... />
</diagnostic>
Attributes
Name of diagnostic
name=string
Name of this diagnostic (parameterisation). May be used elsewhere in the XML document to refer to this set of diagnostic parameters.
Parasite density units / methodology
units=("Other" or "Garki" or "Malariatherapy")
Parasite densities, as estimated according to standard microscopy methods, the Garki method, and as derived from Malariatherapy data are not equivalent. Internally, a "bias" factor is used to convert values estimated by one methods to values comparable with another (see AJTMHv75 supplement 2 pp20-21). This option allows specification of which methodology the density given in the diagnostic specification is measured with. Values allowed are: Malariatherapy, Garki and Other. If not specified, Other is assumed, unless the GARKI_DENSITY_BIAS model option is used, in which case this option must be specified.
Mechanism
mechanism=("Other" or "HRP2")
Default value: Other
Mechanism by which this diagnostic functions. Possible values are: HRP2, Other. In the case of HRP2, infections with an hrp2_deletion will be invisible to this diagnostic. In the case of Other, the diagnostic is unaffected by infection genome. The diagnostic used for monitoring cannot use HRP2. (This is a restriction made to simplify implementation.)
Deterministic detection
→ scenario → diagnostics → diagnostic → deterministic
<deterministic
minDensity=double
/>
Documentation (element)
Specify that an artificial deterministic test is used: outcome is positive if parasite density is at least the minimum given.
Attributes
Minimum detectible density
minDensity=double
Units: parasites/microlitre Min: 0
The minimum density at which parasites can be detected. If 0, the test outcome is always positive.
Non-deterministic detection
→ scenario → diagnostics → diagnostic → stochastic
<stochastic
dens_50=double
specificity=double
/>
Documentation (element)
An improved model of detection which is non-deterministic, including false positive results as well as false negatives.
The probability of a positive outcome is modelled as 1 + s×(x/(x+d) - 1) where x is the parasite density, d is the density at which the test outcome has a 50% chance of being positive, and s is the probability of a positive outcome given no parasites (the specificity).
Some parameterisations:
Microscopy sensitivity/specificity data in Africa; Source: expert opinion — Allan Schapira dens_50 = 20.0 specificity = .75
RDT sensitivity/specificity for Plasmodium falciparum in Africa Source: Murray et al (Clinical Microbiological Reviews, Jan. 2008) dens_50 = 50.0; specificity = .942;
Attributes
Density 50
dens_50=double
Units: parasites/microlitre Min: 0
The density at which the test outcome has a 50% chance of being positive.
Specificity
specificity=double
Units: Dimensionless Min: 0 Max: 1
The probability of a positive test outcome in the absense of parasites.
Model options and parameters
<model>
IN ANY ORDER:
| <ModelOptions ... />
| <clinical ... />
| <human ... />
| [ <vivax ... /> ]
| <parameters ... />
</model>
Documentation (element)
Encapsulation of all parameters which describe the model according to which fitting is done.
Model Options
→ scenario → model → ModelOptions
<ModelOptions>
IN THIS ORDER:
| ( <option ... /> )*
</ModelOptions>
Documentation (element)
All model options (bug fixes, choices between models, etc.).
The list of recognised options can be found in the code at:
model/util/ModelOptions.h and should also be in the wiki.
clinical
<clinical
healthSystemMemory=string
>
IN ANY ORDER:
| [ <NeonatalMortality ... /> ]
| [ <NonMalariaFevers ... /> ]
</clinical>
Documentation (type)
Description of clinical parameters that are related to the health-system description, but which contain data that cannot be changed as part of an intervention and that are not restricted to treatment.
Attributes
Follow-up period during which recurrence is considered a treatment failure
healthSystemMemory=string
Units: User-defined (defaults to steps)
Follow-up period during which a recurrence is considered to be a treatment failure Can be specified in steps (e.g. 6t) or days (e.g. 28d).
Neonatal mortality parameters
→ scenario → model → clinical → NeonatalMortality
<NeonatalMortality
diagnostic=string
/>
Attributes
Diagnostic used to parameterise model
diagnostic=string
The name of a diagnostic used to parameterise the model. Neonatal mortality is derived from malaria patency of a certain sub-population of humans. This is the diagnostic used to asses patency for this purpose. If this is not specified, the monitoring diagnostic is used.
NonMalariaFevers
→ scenario → model → clinical → NonMalariaFevers
<NonMalariaFevers>
IN THIS ORDER:
| <incidence ... />
| [ <prNeedTreatmentNMF ... /> ]
| [ <prNeedTreatmentMF ... /> ]
</NonMalariaFevers>
Documentation (type)
Description of the incidence of non-malaria fever. Non-malaria fevers are only modelled if the NON_MALARIA_FEVERS option is used.
P(NMF)
→ scenario → model → clinical → NonMalariaFevers → incidence
<incidence
[ interpolation=("none" or "linear") ]
>
IN THIS ORDER:
| ( <group ... /> )+
</incidence>
Documentation (element)
Units: Dimensionless Min: 0.0 Max: 1.0
Probability that a non-malaria fever occurs given that no concurrent malaria fever occurs.
Attributes
interpolation
interpolation=("none" or "linear")
Interpolation algorithm. Normally it is desirable for age-based values to be continuous w.r.t. age. By default linear interpolation is used. With all algorithms except "none", the age groups are converted to a set of points centred within each age range. Extra points are added at each end (zero and infinity) to keep value constant at both ends of the function. A zero-length age group may be used as a kind of barrier to adjust the distribution; e.g. with age group boundaries at 15, 20 and 25 years, a (linear) spline would be drawn between ages 17.5 and 22.5, whereas with boundaries at 15, 20 and 20 years, a spline would be drawn between ages 17.5 and 20 years (may be desired if individuals are assumed to reach adult size at 20). Algorithms:
- none: input values are used directly
- linear: straight lines (on an age vs. value graph) are used to interpolate data points.
P(need treatment | NMF)
→ scenario → model → clinical → NonMalariaFevers → prNeedTreatmentNMF
<prNeedTreatmentNMF
[ interpolation=("none" or "linear") ]
>
IN THIS ORDER:
| ( <group ... /> )+
</prNeedTreatmentNMF>
Documentation (element)
Units: Dimensionless Min: 0 Max: 1
Probability that a non-malarial fever requires treatment with antibiotics (assuming fever is not induced by malaria, although concurrent parasites may be present).
Attributes
interpolation
interpolation=("none" or "linear")
Interpolation algorithm. Normally it is desirable for age-based values to be continuous w.r.t. age. By default linear interpolation is used. With all algorithms except "none", the age groups are converted to a set of points centred within each age range. Extra points are added at each end (zero and infinity) to keep value constant at both ends of the function. A zero-length age group may be used as a kind of barrier to adjust the distribution; e.g. with age group boundaries at 15, 20 and 25 years, a (linear) spline would be drawn between ages 17.5 and 22.5, whereas with boundaries at 15, 20 and 20 years, a spline would be drawn between ages 17.5 and 20 years (may be desired if individuals are assumed to reach adult size at 20). Algorithms:
- none: input values are used directly
- linear: straight lines (on an age vs. value graph) are used to interpolate data points.
P(need treatment | MF)
→ scenario → model → clinical → NonMalariaFevers → prNeedTreatmentMF
<prNeedTreatmentMF
[ interpolation=("none" or "linear") ]
>
IN THIS ORDER:
| ( <group ... /> )+
</prNeedTreatmentMF>
Documentation (element)
Units: Dimensionless Min: 0 Max: 1
Probability that a malaria fever needs treatment with antibiotics (assuming fever is induced by malaria, although concurrent bacteria may be present).
Meaning partially overlaps with separate model for comorbidity given malaria.
Attributes
interpolation
interpolation=("none" or "linear")
Interpolation algorithm. Normally it is desirable for age-based values to be continuous w.r.t. age. By default linear interpolation is used. With all algorithms except "none", the age groups are converted to a set of points centred within each age range. Extra points are added at each end (zero and infinity) to keep value constant at both ends of the function. A zero-length age group may be used as a kind of barrier to adjust the distribution; e.g. with age group boundaries at 15, 20 and 25 years, a (linear) spline would be drawn between ages 17.5 and 22.5, whereas with boundaries at 15, 20 and 20 years, a spline would be drawn between ages 17.5 and 20 years (may be desired if individuals are assumed to reach adult size at 20). Algorithms:
- none: input values are used directly
- linear: straight lines (on an age vs. value graph) are used to interpolate data points.
human
<human>
IN THIS ORDER:
| <availabilityToMosquitoes ... />
| [ <weight ... /> ]
</human>
Documentation (type)
Parameters of host models.
Availability to mosquitoes
→ scenario → model → human → availabilityToMosquitoes
<availabilityToMosquitoes
[ interpolation=("none" or "linear") ]
>
IN THIS ORDER:
| ( <group ... /> )+
</availabilityToMosquitoes>
Documentation (element)
Units: None Min: 0 Max: 1
Availability of humans to mosquitoes relative to an adult, categorized by age group
Attributes
interpolation
interpolation=("none" or "linear")
Interpolation algorithm. Normally it is desirable for age-based values to be continuous w.r.t. age. By default linear interpolation is used. With all algorithms except "none", the age groups are converted to a set of points centred within each age range. Extra points are added at each end (zero and infinity) to keep value constant at both ends of the function. A zero-length age group may be used as a kind of barrier to adjust the distribution; e.g. with age group boundaries at 15, 20 and 25 years, a (linear) spline would be drawn between ages 17.5 and 22.5, whereas with boundaries at 15, 20 and 20 years, a spline would be drawn between ages 17.5 and 20 years (may be desired if individuals are assumed to reach adult size at 20). Algorithms:
- none: input values are used directly
- linear: straight lines (on an age vs. value graph) are used to interpolate data points.
Weight
→ scenario → model → human → weight
<weight
[ interpolation=("none" or "linear") ]
multStdDev=double
>
IN THIS ORDER:
| ( <group ... /> )+
</weight>
Documentation (element)
Units: kg Min: 0
By age group data on human weight (mass).
Attributes
interpolation
interpolation=("none" or "linear")
Interpolation algorithm. Normally it is desirable for age-based values to be continuous w.r.t. age. By default linear interpolation is used. With all algorithms except "none", the age groups are converted to a set of points centred within each age range. Extra points are added at each end (zero and infinity) to keep value constant at both ends of the function. A zero-length age group may be used as a kind of barrier to adjust the distribution; e.g. with age group boundaries at 15, 20 and 25 years, a (linear) spline would be drawn between ages 17.5 and 22.5, whereas with boundaries at 15, 20 and 20 years, a spline would be drawn between ages 17.5 and 20 years (may be desired if individuals are assumed to reach adult size at 20). Algorithms:
- none: input values are used directly
- linear: straight lines (on an age vs. value graph) are used to interpolate data points.
Standard deviation
multStdDev=double
Units: None Min: 0
Each human is assigned a weight multiplier from a normal distribution with mean 1 and this standard deviation at birth. His/her weight is this multiplier times the mean from age distribution. A standard deviation of zero for no heterogeneity is valid; a rough value from Tanzanian data is 0.14.
Vivax model parameters
<vivax>
IN ANY ORDER:
| <probBloodStageInfectiousToMosq ... />
| <hypnozoiteRelease ... />
| <bloodStageProtectionLatency ... />
| <bloodStageLengthDays ... />
| <clinicalEvents ... />
</vivax>
- probBloodStageInfectiousToMosq
- hypnozoiteRelease
- bloodStageProtectionLatency
- bloodStageLengthDays
- clinicalEvents
Documentation (element)
This describes Vivax model parameters, and is required when using the VIVAX_SIMPLE_MODEL model option.
Probability of mosquito infection
→ scenario → model → vivax → probBloodStageInfectiousToMosq
<probBloodStageInfectiousToMosq
value=double
/>
Documentation (element)
Units: None Min: 0 Max: 1
The chance of a feeding mosquito becoming infected, given that the host is patent. (This may be adjusted by transmission-blocking vaccines.)
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Hypnozoite releases
→ scenario → model → vivax → hypnozoiteRelease
<hypnozoiteRelease
[ pSecondRelease=double ] DEFAULT VALUE 0
>
IN ANY ORDER:
| <numberHypnozoites ... />
| <firstReleaseDays ... />
| [ <secondReleaseDays ... /> ]
</hypnozoiteRelease>
Documentation (element)
Describes the number and times of hypnozoite releases.
Documentation (type)
This element defines probabilites when and how many hypnozoites are released from the liverstage into the blood.
The gap between the start of a new brood of hypnozoites and its release are defined as follows:
latentP + latentRelapse + randomReleaseDelay
randomReleaseDelay is based on one or two lognormal distributions, which are defined in firstRelease and optionally secondRelease.
You can define 2 release distributions, which get added together and represent the probability of hypnozoites which get released before winter (first release) or after (second release).
You can omit the secondRelease element if no release to the blood happens after winter.
Attributes
latent relapse days
pSecondRelease=double
Default value: 0
Probability of a second release. If undefined it is zero.
Number of Hypnozoites
→ scenario → model → vivax → hypnozoiteRelease → numberHypnozoites
<numberHypnozoites
max=int
base=double
/>
Documentation (element)
numberHypnozoites calculates the number of hypnozoites in the liver stage based on a base which is between 0 and 1.
This number is random based on the following distribution and normalized:
max ∑ (base ^ n) n = 0
Attributes
max
max=int
base
base=double
firstReleaseDays
→ scenario → model → vivax → hypnozoiteRelease → firstReleaseDays
<firstReleaseDays
[ CV=double ]
[ distr=("const" or "lognormal" or "gamma") ] DEFAULT VALUE const
[ variance=double ]
mean=double
latentRelapse=double
/>
Documentation (type)
Hypnozoites are released after a delay, calculated as: roundToTSFromDays(delay + latentRelapse)
Here, roundToTSFromDays rounds the input (in days) to the nearest timestep, delay is sampled from a log-normal, and latentRelapse is the parameter specified here.
The delay is sampled from a log-normal distribution, parameterised via the (linear) mean and CV (coefficient of variation) given here.
Documentation (base type)
A parameter with optional log-normal heterogeneity.
The mean value must be specified. Optionally, a distribution ("distr") and coefficient of variation ("CV") may be specified.
Documentation (base type)
A parameter with optional heterogeneity.
The mean cannot be specified (unless this type is extended). Optionally, a distribution ("distr") and coefficient of variation ("CV") may be specified.
Attributes
Coefficient of variation
CV=double
Units: unitless
The (linear) coefficient of variation. This value must be specified when a (non-constant) distribution is used. Note: since version 46, variance can be used instead. Note that specifying CV="0" has the same effect as distr="const" and disables sampling of this parameter, even if distr is not "const".
Distribution
distr=("const" or "lognormal" or "gamma")
Default value: const
To allow heterogeneity, a distribution must be specified. Valid options are as follows. "const": no variation or sampling. Specifying distr="const" has the same effect as not specifying distr at all. "lognormal": the parameter is sampled from a log-normal distribution. Note that the "mean" and "CV" values are linear (arithmetic) properties of the distribution and not log-space properties.
Coefficient of variation
variance=double
Units: unitless
The variance parameter of the distirbution. This value can be specified when a (non-constant) distribution is used. Note that specifying variance="0" has the same effect as distr="const" and disables sampling of this parameter, even if distr is not "const".
mean
mean=double
The (linear) mean value.
latent relapse days
latentRelapse=double
Usually between 10 and 15 days.
secondReleaseDays
→ scenario → model → vivax → hypnozoiteRelease → secondReleaseDays
<secondReleaseDays
[ CV=double ]
[ distr=("const" or "lognormal" or "gamma") ] DEFAULT VALUE const
[ variance=double ]
mean=double
latentRelapse=double
/>
Documentation (type)
Hypnozoites are released after a delay, calculated as: roundToTSFromDays(delay + latentRelapse)
Here, roundToTSFromDays rounds the input (in days) to the nearest timestep, delay is sampled from a log-normal, and latentRelapse is the parameter specified here.
The delay is sampled from a log-normal distribution, parameterised via the (linear) mean and CV (coefficient of variation) given here.
Documentation (base type)
A parameter with optional log-normal heterogeneity.
The mean value must be specified. Optionally, a distribution ("distr") and coefficient of variation ("CV") may be specified.
Documentation (base type)
A parameter with optional heterogeneity.
The mean cannot be specified (unless this type is extended). Optionally, a distribution ("distr") and coefficient of variation ("CV") may be specified.
Attributes
Coefficient of variation
CV=double
Units: unitless
The (linear) coefficient of variation. This value must be specified when a (non-constant) distribution is used. Note: since version 46, variance can be used instead. Note that specifying CV="0" has the same effect as distr="const" and disables sampling of this parameter, even if distr is not "const".
Distribution
distr=("const" or "lognormal" or "gamma")
Default value: const
To allow heterogeneity, a distribution must be specified. Valid options are as follows. "const": no variation or sampling. Specifying distr="const" has the same effect as not specifying distr at all. "lognormal": the parameter is sampled from a log-normal distribution. Note that the "mean" and "CV" values are linear (arithmetic) properties of the distribution and not log-space properties.
Coefficient of variation
variance=double
Units: unitless
The variance parameter of the distirbution. This value can be specified when a (non-constant) distribution is used. Note that specifying variance="0" has the same effect as distr="const" and disables sampling of this parameter, even if distr is not "const".
mean
mean=double
The (linear) mean value.
latent relapse days
latentRelapse=double
Usually between 10 and 15 days.
Blood stage protection latency
→ scenario → model → vivax → bloodStageProtectionLatency
<bloodStageProtectionLatency
value=double
/>
Documentation (element)
Min: 0
The length of time after expiry of a blood-stage infection during which relapses from the same brood are supressed by the immune system.
This is rounded to the nearest time-step.
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Blood stage length
→ scenario → model → vivax → bloodStageLengthDays
<bloodStageLengthDays
scale=double
shape=double
distr=("weibull")
/>
Documentation (element)
Units: Days
Parameters used to sample the length of blood-stage infections from a Weibull distribution (scale parameter lambda, shape parameter k).
Documentation (type)
Parameters of a Weibull distribution.
Attributes
Scale
scale=double
The Weibull scale parameter (λ).
shape
shape=double
The Weibull shape parameter (k).
Distribution
distr=("weibull")
To allow heterogeneity, a distribution must be specified. In this case, only "weibull" is allowed.
clinicalEvents
→ scenario → model → vivax → clinicalEvents
<clinicalEvents>
IN THIS ORDER:
| <pPrimaryInfection ... />
| <pRelapseOne ... />
| <pRelapseTwoPlus ... />
| <pEventIsSevere ... />
| <vivaxClinOption ... />
</clinicalEvents>
Documentation (type)
This elements holds all information about probabilites for clinical events from infections and relapses.
pPrimaryInfection
→ scenario → model → vivax → clinicalEvents → pPrimaryInfection
<pPrimaryInfection
a=double
b=double
/>
Attributes
a
a=double
b
b=double
pRelapseOne
→ scenario → model → vivax → clinicalEvents → pRelapseOne
<pRelapseOne
a=double
b=double
/>
Attributes
a
a=double
b
b=double
pRelapseTwoPlus
→ scenario → model → vivax → clinicalEvents → pRelapseTwoPlus
<pRelapseTwoPlus
a=double
b=double
/>
Attributes
a
a=double
b
b=double
pEventIsSevere
→ scenario → model → vivax → clinicalEvents → pEventIsSevere
<pEventIsSevere
value=double
/>
Attributes
Input parameter value
value=double
A double-precision floating-point value.
vivaxClinOption
→ scenario → model → vivax → clinicalEvents → vivaxClinOption
<vivaxClinOption>
string
</vivaxClinOption>
Parameters of the model of epidemiology
→ scenario → model → parameters
<parameters
interval=int
iseed=int
latentp=string
>
IN THIS ORDER:
| ( <parameter ... /> )+
</parameters>
Documentation (element)
Parameters of the epidemiological model
Attributes
Simulation step
interval=int
Units: Days
Simulation step
Random number seed
iseed=int
Units: Number
Seed for RNG
Pre-erythrocytic latent period
latentp=string
Units: User defined (default: steps) Min: 0 Max: 20
Pre-erythrocytic latent period Can be specified in steps (e.g. 3t) or days (e.g. 15d).
parameter
→ scenario → model → parameters → parameter
<parameter
[ name=string ]
number=int
value=double
/>
Attributes
Name of parameter
name=string
Units: string
Name of parameter
Parameter number
number=int
Units: Number Min: 1 Max: 100
Reference number of input parameter
Parameter value
value=double
Units: Number Min: 0
Parameter value
Schema 47 documentation
Generated from: scenario_47.xsd
.
Key:
abc required (one)
[ def ] optional (zero or one)
( ghi )* any number (zero or more)
( jkl )+ at least one
( mno ){2,inf} two or more occurrences
Scenario
→ scenario
<scenario
schemaVersion=int
[ analysisNo=int ]
name=string
[ wuID=int ]
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:om="http://openmalaria.org/schema/scenario_47"
xsi:schemaLocation="http://openmalaria.org/schema/scenario_47 scenario_47.xsd"
>
IN ANY ORDER:
| <demography ... />
| <monitoring ... />
| <interventions ... />
| <healthSystem ... />
| <entomology ... />
| [ <parasiteGenetics ... /> ]
| [ <pharmacology ... /> ]
| [ <diagnostics ... /> ]
| <model ... />
</scenario>
- demography
- monitoring
- interventions
- healthSystem
- entomology
- parasiteGenetics
- pharmacology
- diagnostics
- model
Documentation (element)
Description of scenario
Attributes
Version of the xml schema
schemaVersion=int
Version of xml schema. If not equal to the current version an error is thrown. Use SchemaTranslator to update xml files.
Reference number of the analysis
analysisNo=int
Units: Number Min: 1 Max: 100000000
Unique identifier of scenario
Name of intervention
name=string
Name of intervention
Work unit identifier
wuID=int
Units: Number
Work unit ID. Obselete and no longer required.
Human age distribution
→ scenario → demography
<demography
name=string
popSize=int
maximumAgeYrs=double
[ growthRate=double ]
>
IN THIS ORDER:
| <ageGroup ... />
</demography>
Documentation (element)
Description of demography
Attributes
Name of demography data
name=string
Name of demography data
Population size
popSize=int
Units: Count Min: 1 Max: 100000
Population size
Maximum age of simulated humans
maximumAgeYrs=double
Units: Years Min: 0 Max: 100
Maximum age of simulated humans in years
Growth rate of human population
growthRate=double
Units: Number Min: 0 Max: 0
Growth rate of human population. (we should be able to implement this with non-zero values)
Age groups
→ scenario → demography → ageGroup
<ageGroup
lowerbound=double
>
IN THIS ORDER:
| ( <group ... /> )+
</ageGroup>
Documentation (element)
list of age groups included in demography
Documentation (type)
list of age groups included in demography or surveys
Attributes
Lower bound of age group
lowerbound=double
Units: Years Min: 0 Max: 100
Lower bound of age group
group
→ scenario → demography → ageGroup → group
<group
poppercent=double
upperbound=double
/>
Attributes
Percentage in age group
poppercent=double
Units: Percentage Min: 0 Max: 100
Percentage of human population in age group
Upper bound of age group
upperbound=double
Units: Years Min: 0 Max: 100
Upper bound of age group
Measures to be reported
→ scenario → monitoring
<monitoring
name=string
[ startDate=string ]
>
IN THIS ORDER:
| [ <continuous ... /> ]
| <SurveyOptions ... />
| <surveys ... />
| <ageGroup ... />
| [ <cohorts ... /> ]
</monitoring>
Documentation (element)
Description of surveys
Attributes
Name of monitoring settings
name=string
Name of monitoring settings
Start of monitoring
startDate=string
An optional date for the start of monitoring. If given, dates may be used to specify when other events (surveys, intervention deployments) occur; alternately times relative to the start of the intervention period may be used to specify event times. Setting this to 1st January of some year might simplify usage of dates, and putting the start a couple of years before the start of intervention deployment (along with some extra surveys) may be useful to check transmission stabilises to the expected pre-intervention levels. As an example, if this date is set to 2000-01-01, then the following event times are equivalent (assuming 1t=5d): 15t, 75d, 0.2y, 2000-03-16. Must be in the form YYYY-MM-DD, e.g. 2003-01-01.
continuous
→ scenario → monitoring → continuous
<continuous
period=string
[ duringInit=boolean ]
>
IN THIS ORDER:
| ( <option ... /> )*
</continuous>
Attributes
Delay between reports
period=string
Units: User defined (default: steps)
Delay between reports; typically one time step but can be greater. Can be specified in steps (e.g. 1t) or days (e.g. 5d).
During initialization
duringInit=boolean
Units: Days Min: 1 Max: unbounded
Also output during initialization. By default this is disabled (only intervention-period data is output). This should not be used for predictions, but can be useful for model validation. In this mode, 'simulation time' is output as the first column (in addition to 'timestep'), since 'timestep' is dis- continuous across the start of the intervention period.
option
→ scenario → monitoring → continuous → option
<option
name=string
[ value=boolean ] DEFAULT VALUE true
/>
Attributes
Option name
name=string
Name of an option (monitoring measure or model option).
Indicator of whether option is required
value=boolean
Default value: true
Option on/off switch (true/false). Specifying value="true" is the same as not specifying a value; specifying value="false" explicitly turns the option off. If an option is not mentioned at all, it is left at its default value (normally off, but in a few cases, such as some bug-fix options, on).
Name of quantity
→ scenario → monitoring → SurveyOptions
<SurveyOptions
[ onlyNewEpisode=boolean ] DEFAULT VALUE false
>
IN THIS ORDER:
| ( <option ... /> )*
</SurveyOptions>
Documentation (element)
List of all active survey options. See model/mon/OutputMeasures.h for a list of supported outputs. Should also be on the wiki.
Attributes
Report only for new cases
onlyNewEpisode=boolean
Default value: false
If set, some statistics exclude humans who have been treated in the recent past (precisely, when the time of last treatment was before the current step and no more than health-system-memory days/steps ago). This is a rough replacement for the REPORT_ONLY_AT_RISK option, with one difference: the maximum age of treatment for REPORT_ONLY_AT_RISK was fixed at 20 days. Affected measures include (as of version 35): nHost (0), nInfect(1), nExpectd (2), nPatent (3), sumLogPyrogenThres (4), sumlogDens (5), totalInfs (6), totalPatentInf (8), sumPyrogenThresh (10), nSubPopRemovalFirstEvent (62), sumAge (68), nInfectByGenotype (69), nPatentByGenotype (70), logDensByGenotype (71), nHostDrugConcNonZero (72), sumLogDrugConcNonZero (73).
option
→ scenario → monitoring → SurveyOptions → option
<option
name=string
[ value=boolean ] DEFAULT VALUE true
[ outputNumber=int ]
[ byAge=boolean ]
[ byCohort=boolean ]
[ bySpecies=boolean ]
[ byGenotype=boolean ]
[ byDrugType=boolean ]
/>
Attributes
Option name
name=string
Name of an option (monitoring measure or model option).
Indicator of whether option is required
value=boolean
Default value: true
Option on/off switch (true/false). Specifying value="true" is the same as not specifying a value; specifying value="false" explicitly turns the option off. If an option is not mentioned at all, it is left at its default value (normally off, but in a few cases, such as some bug-fix options, on).
Number identifying measure in output
outputNumber=int
Number identifying this monitoring measure in the output file (3rd column). Normally this is determined from the measure, but it can be set manually, e.g. for when the same measure is recorded twice (to accumulate across different categories).
Report by age category
byAge=boolean
If true, the measure is reported for each age category. If false, values are summed across all age categories and only the sum reported. If not specified, separate categories will be reported if the measure supports this.
Report by cohort
byCohort=boolean
If true, the measure is reported for each cohort separately. If false, values are summed across all cohorts and only the sum reported. If not specified, separate categories will be reported if the measure supports this.
Report by mosquito species
bySpecies=boolean
If true, the measure is reported for each mosquito species separately. If false, values are summed across all species and only the sum reported. If not specified, separate categories will be reported if the measure supports this.
Report by parasite genotype
byGenotype=boolean
If true, the measure is reported for each parasite genotype separately. If false, values are summed across all genotypes and only the sum reported. If not specified, separate categories will be reported if the measure supports this.
Report by drug type
byDrugType=boolean
If true, the measure is reported for each drug type separately. If false, values are summed across all drug types and only the sum reported. If not specified, separate categories will be reported if the measure supports this.
Survey times (time steps)
→ scenario → monitoring → surveys
<surveys
[ detectionLimit=double ]
[ diagnostic=string ]
>
IN THIS ORDER:
| ( <surveyTime ... /> )+
</surveys>
Documentation (element)
List of survey times
Attributes
Detection limit for parasitaemia
detectionLimit=double
Units: parasites/microlitre Min: 0
Deprecated: limit above which a human's infection is reported as patent. Alternative: do not specify this; instead specify "diagnostic".
Name of monitoring diagnostic
diagnostic=string
Name of a parameterised diagnostic to use in surveys (see scenario/diagnostics).
Survey time
→ scenario → monitoring → surveys → surveyTime
<surveyTime
[ repeatStep=string ]
[ repeatEnd=string ]
[ reported=boolean ] DEFAULT VALUE true
>
string
</surveyTime>
Documentation (element)
Units: User defined (defaults to steps) Min: 0
Time of a survey. A report will be made for those measures enabled under SurveyOptions. Reported data is either from the moment the survey is done (immediate data) or is collected over the time since the previous survey, or in some cases over a fixed time span (usually one year).
Times can be specified in time steps, starting from 0, or as a date (see monitoring/startDate), or in days (e.g. 15d) or years (e.g. 1y). Relative times mean the time since the start of the intervention period, and must be non-negative (zero is valid, but some measures, e.g. nUncomp, will be zero).
The simulation ends immediately after the last survey is taken.
Attributes
Step of repetition
repeatStep=string
Units: User defined
See repeatEnd's documentation.
End of repetition (exclusive)
repeatEnd=string
Units: User defined
Either both repeatStep and repeatEnd should be present or neither. If present, the survey is repeated every repeatStep timesteps (i.e. if t0 is the initial time and x is repeatStep, surveys are done at times t0, t0+x, t0+2*x, ...), ending before repeatEnd (final repetition is the one before repeatEnd). Note that repeatEnd may be specified as a date but repeatStep must be a duration (days, steps or years).
reported
reported=boolean
Default value: true
For normal surveys, reporting=true. If set false, quantities are measured but not reported. The reason for doing this is to update conditions set on reportable measures. Multiple surveys may be given here for the same date, e.g. if using "repeatStep" for both reporting and non-reporting surveys. These are combined such that a maximum of one survey is carried out per time-step, and the survey is reported if any of the listed surveys for this date is configured as "reporting". Note that adding non-reporting surveys will not affect value output by reported surveys, with the exception that generated psuedo-random numbers may be altered (specifically, when any stochastic diagnostics are used in surveys).
Age groups
→ scenario → monitoring → ageGroup
<ageGroup
lowerbound=double
>
IN THIS ORDER:
| ( <group ... /> )+
</ageGroup>
Documentation (element)
List of age groups included in demography or surveys
Attributes
lower bound of age group
lowerbound=double
Units: Years Min: 0 Max: 100
Lower bound of age group
group
→ scenario → monitoring → ageGroup → group
<group
upperbound=double
/>
Attributes
upper bound of age group
upperbound=double
Units: Years Min: 0 Max: 100
Upper bound of age group
Cohorts
→ scenario → monitoring → cohorts
<cohorts>
IN THIS ORDER:
| ( <subPop ... /> )+
</cohorts>
Documentation (element)
Allows the configuration of multiple cohorts (output segregated according to membership within specific sub-populations).
If this element is omitted, monitoring surveys cover the entire simulated human population.
It does not affect the "continuous" outputs (these never take cohorts into account).
Sub-population
→ scenario → monitoring → cohorts → subPop
<subPop
id=string
number=integer
/>
Documentation (element)
Consider a certain sup-population a cohort, and segregate outputs according to membership. Where multiple sub-populations are listed, segregate output according to all combinations of membership: e.g. if sub-populations A and B are listed, there will be outputs for "member of A and B", "member of A but not B", "B but not A" and "not a member of A or B". Listing n sub-populations implies 2^n sets of outputs (each is further segregated by age groups, survey times and enabled output measures, which could lead to excessive program memory usage and output file size).
To identify outputs, each sub-population has a power of two number as identifier (see "number" attribute). Each of the 2^n output sets is identified by a number: the output set is the output from humans who are members in some set of sub-populations (S1, S2, ...) and not members in some others (T1, T2, ...); the number identifying the set is the sum of the numbers identifying the sets S1, S2, etc.
In the output file, the output set is identified by multiplying this number by 1000 then adding it to the age group column.
Attributes
Sub-population identifier
id=string
Textual identifier for the sub-population (i.e. for an intervention component, since sub-populations are defined as the hosts an intervention component is deployed to).
Sub-population number
number=integer
Units: dimensionless Min: 1 Max: 2097152
Number identifying a sub-population; used to define identifiers of output sets. This number must be a power of 2 (i.e. 1, 2, 4, 8, ...). See documentation of subPop element.
Preventative interventions
<interventions
name=string
>
IN ANY ORDER:
| [ <changeHS ... /> ]
| [ <changeEIR ... /> ]
| [ <importedInfections ... /> ]
| [ <insertR_0Case ... /> ]
| [ <uninfectVectors ... /> ]
| [ <vectorPop ... /> ]
| [ <vectorTrap ... /> ]
| [ <nonHumanHostsModifications ... /> ]
| [ <addNonHumanHosts ... /> ]
| [ <human ... /> ]
</interventions>
- changeHS
- changeEIR
- importedInfections
- insertR_0Case
- uninfectVectors
- vectorPop
- vectorTrap
- nonHumanHostsModifications
- addNonHumanHosts
- human
Documentation (element)
List of interventions. Generally these are either point-time distributions of something to some subset of the population, or continuous-time distribution targetting individuals when they reach a certain age.
Attributes
Name of intervention set
name=string
Name of set of interventions
Change health system
→ scenario → interventions → changeHS
<changeHS
[ name=string ]
>
IN THIS ORDER:
| ( <timedDeployment ... /> )*
</changeHS>
Documentation (element)
Changes to the health system
Attributes
Name of intervention
name=string
Name of intervention
timedDeployment
→ scenario → interventions → changeHS → timedDeployment
<timedDeployment
time=string
>
IN THIS ORDER:
| EXACTLY ONE OF:
| | <EventScheduler ... />
| | <ImmediateOutcomes ... />
| | <DecisionTree5Day ... />
| <CFR ... />
| <pSequelaeInpatient ... />
</timedDeployment>
Documentation (type)
A complete replacement health system. Replaces all previous properties. (Health system can be replaced multiple times if necessary.)
Documentation (base type)
Description of case management system, used to specify the initial model or a replacement (an intervention). Encompasses case management data and some other data required to derive case outcomes.
Contains a sub-element describing the particular health-system in use. Health system data is here defined as data used to decide on a treatment strategy, given a case requiring treatment.
Attributes
Time
time=string
Units: User defined (defauls to steps) Min: 0
Time at which this replacement occurs. See doc on intervention period and on monitoring/startDate for details of how times work. Can be specified in steps, days, years, or as a date (examples: 15t, 75d, 0.2y, 2000-03-16).
EventScheduler
→ scenario → healthSystem → EventScheduler
<EventScheduler>
IN THIS ORDER:
| <uncomplicated ... />
| <complicated ... />
| <ClinicalOutcomes ... />
| [ <NonMalariaFevers ... /> ]
</EventScheduler>
uncomplicated
→ scenario → healthSystem → EventScheduler → uncomplicated
<uncomplicated
[ name=string ]
>
EXACTLY ONE OF:
| <multiple ... />
| <caseType ... />
| <diagnostic ... />
| <uncomplicated ... />
| <severe ... />
| <random ... />
| <age ... />
| <noTreatment ... />
| ( <report ... /> )+
| <treatFailure ... />
| ( <treatPKPD ... /> )+
| ( <treatSimple ... /> )+
| ( <deploy ... /> )*
| <cohort ... />
</uncomplicated>
- multiple
- caseType
- diagnostic
- uncomplicated
- severe
- random
- age
- noTreatment
- report
- treatFailure
- treatPKPD
- treatSimple
- deploy
- cohort
Documentation (type)
Describes how "decisions" are made, both probabilistically and deterministically, and what actions are carried out.
Quantities may also be reported as a side effect of decisions made in the tree, for example the number of diagnostics used.
Attributes
Name
name=string
An optional piece of documentation attached to this node.
multiple
→ scenario → interventions → human → component → decisionTree → multiple
<multiple
[ name=string ]
>
EXACTLY ONE OF:
| ( <caseType ... /> )*
| ( <diagnostic ... /> )*
| ( <uncomplicated ... /> )*
| ( <severe ... /> )*
| ( <random ... /> )*
| ( <age ... /> )*
| ( <treatPKPD ... /> )*
| [ <treatSimple ... /> ]
| ( <deploy ... /> )*
| ( <report ... /> )*
| ( <cohort ... /> )*
</multiple>
Documentation (type)
A special node allowing multiple sub-trees to be evaluated.
This is different from an ordinary decision tree node in that:
a) multiple types of child can occur simultaneously (e.g. multiple types of treatment or treatment plus a 'random' sub-tree)
b) the 'noTreatment' and 'treatFailure' nodes are not allowed
Attributes
Name
name=string
An optional piece of documentation attached to this node.
caseType
→ scenario → interventions → human → component → decisionTree → multiple → caseType
<caseType
[ name=string ]
>
IN ANY ORDER:
| <firstLine ... />
| <secondLine ... />
</caseType>
Documentation (type)
A switch which choses a branch deterministically, based on whether the patient was treated recently (second line) or not (first line).
For uncomplicated cases only.
Attributes
Name
name=string
An optional piece of documentation attached to this node.
firstLine
→ scenario → interventions → human → component → decisionTree → multiple → caseType → firstLine
<firstLine
[ name=string ]
>
EXACTLY ONE OF:
| <multiple ... />
| <caseType ... />
| <diagnostic ... />
| <uncomplicated ... />
| <severe ... />
| <random ... />
| <age ... />
| <noTreatment ... />
| ( <report ... /> )+
| <treatFailure ... />
| ( <treatPKPD ... /> )+
| ( <treatSimple ... /> )+
| ( <deploy ... /> )*
| <cohort ... />
</firstLine>
- multiple
- caseType
- diagnostic
- uncomplicated
- severe
- random
- age
- noTreatment
- report
- treatFailure
- treatPKPD
- treatSimple
- deploy
- cohort
Documentation (type)
Describes how "decisions" are made, both probabilistically and deterministically, and what actions are carried out.
Quantities may also be reported as a side effect of decisions made in the tree, for example the number of diagnostics used.
Attributes
Name
name=string
An optional piece of documentation attached to this node.
caseType
→ scenario → interventions → human → component → decisionTree → caseType
<caseType
[ name=string ]
>
IN ANY ORDER:
| <firstLine ... />
| <secondLine ... />
</caseType>
Documentation (type)
A switch which choses a branch deterministically, based on whether the patient was treated recently (second line) or not (first line).
For uncomplicated cases only.
Attributes
Name
name=string
An optional piece of documentation attached to this node.
secondLine
→ scenario → interventions → human → component → decisionTree → multiple → caseType → secondLine
<secondLine
[ name=string ]
>
EXACTLY ONE OF:
| <multiple ... />
| <caseType ... />
| <diagnostic ... />
| <uncomplicated ... />
| <severe ... />
| <random ... />
| <age ... />
| <noTreatment ... />
| ( <report ... /> )+
| <treatFailure ... />
| ( <treatPKPD ... /> )+
| ( <treatSimple ... /> )+
| ( <deploy ... /> )*
| <cohort ... />
</secondLine>
- multiple
- caseType
- diagnostic
- uncomplicated
- severe
- random
- age
- noTreatment
- report
- treatFailure
- treatPKPD
- treatSimple
- deploy
- cohort
Documentation (type)
Describes how "decisions" are made, both probabilistically and deterministically, and what actions are carried out.
Quantities may also be reported as a side effect of decisions made in the tree, for example the number of diagnostics used.
Attributes
Name
name=string
An optional piece of documentation attached to this node.
diagnostic
→ scenario → interventions → human → component → decisionTree → diagnostic
<diagnostic
diagnostic=string
[ name=string ]
>
IN ANY ORDER:
| <positive ... />
| <negative ... />
</diagnostic>
Documentation (type)
A switch which choses a branch deterministically, based on the outcome of some type of diagnostic.
Attributes
Name of diagnostic
diagnostic=string
Should match the name of some parameterised diagnostic (see scenario/diagnostics).
Name
name=string
An optional piece of documentation attached to this node.
positive
→ scenario → interventions → human → component → decisionTree → multiple → diagnostic → positive
<positive
[ name=string ]
>
EXACTLY ONE OF:
| <multiple ... />
| <caseType ... />
| <diagnostic ... />
| <uncomplicated ... />
| <severe ... />
| <random ... />
| <age ... />
| <noTreatment ... />
| ( <report ... /> )+
| <treatFailure ... />
| ( <treatPKPD ... /> )+
| ( <treatSimple ... /> )+
| ( <deploy ... /> )*
| <cohort ... />
</positive>
- multiple
- caseType
- diagnostic
- uncomplicated
- severe
- random
- age
- noTreatment
- report
- treatFailure
- treatPKPD
- treatSimple
- deploy
- cohort
Documentation (type)
Describes how "decisions" are made, both probabilistically and deterministically, and what actions are carried out.
Quantities may also be reported as a side effect of decisions made in the tree, for example the number of diagnostics used.
Attributes
Name
name=string
An optional piece of documentation attached to this node.
uncomplicated
→ scenario → interventions → human → component → decisionTree → uncomplicated
<uncomplicated
[ name=string ]
[ memory=string ] DEFAULT VALUE 1
>
IN ANY ORDER:
| <positive ... />
| <negative ... />
</uncomplicated>
Documentation (type)
A switch which choses a branch deterministically, based on whether the host has an uncomplicated case. This could be a Malaria fever or a non-Malaria fever. If non-Malaria fevers are enable, it is possible to add a
Attributes
Name
name=string
An optional piece of documentation attached to this node.
Number of days to look back for fevers. This must be less than or equal to the healthsystem memory parameter. In general, this should be less than or equal to the repeatStep in MSAT with contiuous deployment
memory=string
Units: User-defined (defaults to steps)
Default value: 1
Follow-up period during which a recurrence is considered to be a treatment failure Can be specified in steps (e.g. 6t) or days (e.g. 28d).
positive
→ scenario → interventions → human → component → decisionTree → multiple → uncomplicated → positive
<positive
[ name=string ]
>
EXACTLY ONE OF:
| <multiple ... />
| <caseType ... />
| <diagnostic ... />
| <uncomplicated ... />
| <severe ... />
| <random ... />
| <age ... />
| <noTreatment ... />
| ( <report ... /> )+
| <treatFailure ... />
| ( <treatPKPD ... /> )+
| ( <treatSimple ... /> )+
| ( <deploy ... /> )*
| <cohort ... />
</positive>
- multiple
- caseType
- diagnostic
- uncomplicated
- severe
- random
- age
- noTreatment
- report
- treatFailure
- treatPKPD
- treatSimple
- deploy
- cohort
Documentation (type)
Describes how "decisions" are made, both probabilistically and deterministically, and what actions are carried out.
Quantities may also be reported as a side effect of decisions made in the tree, for example the number of diagnostics used.
Attributes
Name
name=string
An optional piece of documentation attached to this node.
severe
→ scenario → interventions → human → component → decisionTree → severe
<severe
[ name=string ]
[ memory=string ]
>
IN ANY ORDER:
| <positive ... />
| <negative ... />
</severe>
Documentation (type)
A switch which choses a branch deterministically, based on whether the host has a severe case or not. Note that this include severe cases due to comorbidities.
Attributes
Name
name=string
An optional piece of documentation attached to this node.
Number of days to look back for fevers. This must be less than or equal to the healthsystem memory parameter. In general, this should be less than or equal to the repeatStep in MSAT with contiuous deployment
memory=string
Units: User-defined (defaults to steps)
Follow-up period during which a recurrence is considered to be a treatment failure Can be specified in steps (e.g. 6t) or days (e.g. 28d).
positive
→ scenario → interventions → human → component → decisionTree → multiple → severe → positive
<positive
[ name=string ]
>
EXACTLY ONE OF:
| <multiple ... />
| <caseType ... />
| <diagnostic ... />
| <uncomplicated ... />
| <severe ... />
| <random ... />
| <age ... />
| <noTreatment ... />
| ( <report ... /> )+
| <treatFailure ... />
| ( <treatPKPD ... /> )+
| ( <treatSimple ... /> )+
| ( <deploy ... /> )*
| <cohort ... />
</positive>
- multiple
- caseType
- diagnostic
- uncomplicated
- severe
- random
- age
- noTreatment
- report
- treatFailure
- treatPKPD
- treatSimple
- deploy
- cohort
Documentation (type)
Describes how "decisions" are made, both probabilistically and deterministically, and what actions are carried out.
Quantities may also be reported as a side effect of decisions made in the tree, for example the number of diagnostics used.
Attributes
Name
name=string
An optional piece of documentation attached to this node.
random
→ scenario → interventions → human → component → decisionTree → random
<random
[ name=string ]
>
IN THIS ORDER:
| ( <outcome ... /> )+
</random>
Documentation (type)
A switch which choses a branch randomly.
Each branch must be listed with a probability; the sum of all these probabilities must equal 1.
Attributes
Name
name=string
An optional piece of documentation attached to this node.
outcome
→ scenario → interventions → human → component → decisionTree → multiple → random → outcome
<outcome
[ name=string ]
p=double
>
EXACTLY ONE OF:
| <multiple ... />
| <caseType ... />
| <diagnostic ... />
| <uncomplicated ... />
| <severe ... />
| <random ... />
| <age ... />
| <noTreatment ... />
| ( <report ... /> )+
| <treatFailure ... />
| ( <treatPKPD ... /> )+
| ( <treatSimple ... /> )+
| ( <deploy ... /> )*
| <cohort ... />
</outcome>
- multiple
- caseType
- diagnostic
- uncomplicated
- severe
- random
- age
- noTreatment
- report
- treatFailure
- treatPKPD
- treatSimple
- deploy
- cohort
Documentation (base type)
Describes how "decisions" are made, both probabilistically and deterministically, and what actions are carried out.
Quantities may also be reported as a side effect of decisions made in the tree, for example the number of diagnostics used.
Attributes
Name
name=string
An optional piece of documentation attached to this node.
Probability
p=double
Units: None Min: 0 Max: 1
Probability of selecting this outcome. The sum of probabilities across all outcomes must be 1.
age
→ scenario → interventions → human → component → decisionTree → age
<age
[ name=string ]
>
IN THIS ORDER:
| ( <age ... /> )+
</age>
Documentation (type)
A switch which choses a branch deterministically, based on the patient's age (in years).
Categories must uniquely cover all ages from birth, with no upper bound. Categories must be listed in order of age, increasing; the first must have lower bound 0. Upper bounds are equal to the lower bound of the next category, (but are exclusive where lower bounds are inclusive); the last category has no upper bound.
Attributes
Name
name=string
An optional piece of documentation attached to this node.
Age range
→ scenario → interventions → human → component → decisionTree → multiple → age → age
<age
[ name=string ]
lb=double
>
EXACTLY ONE OF:
| <multiple ... />
| <caseType ... />
| <diagnostic ... />
| <uncomplicated ... />
| <severe ... />
| <random ... />
| <age ... />
| <noTreatment ... />
| ( <report ... /> )+
| <treatFailure ... />
| ( <treatPKPD ... /> )+
| ( <treatSimple ... /> )+
| ( <deploy ... /> )*
| <cohort ... />
</age>
- multiple
- caseType
- diagnostic
- uncomplicated
- severe
- random
- age
- noTreatment
- report
- treatFailure
- treatPKPD
- treatSimple
- deploy
- cohort
Documentation (element)
Describes a branch, selected for patients of a certain age.
Documentation (base type)
Describes how "decisions" are made, both probabilistically and deterministically, and what actions are carried out.
Quantities may also be reported as a side effect of decisions made in the tree, for example the number of diagnostics used.
Attributes
Name
name=string
An optional piece of documentation attached to this node.
Lower bound (inclusive)
lb=double
Min: 0
noTreatment
→ scenario → interventions → human → component → decisionTree → noTreatment
<noTreatment
[ name=string ]
/>
Documentation (type)
An end node doing nothing. This exists to explicitly state that no treatment happens and to prevent trees from accidentally being left incomplete.
Attributes
Name
name=string
An optional piece of documentation attached to this node.
report
→ scenario → interventions → human → component → decisionTree → report
<report
[ name=string ]
[ outputNumber=int ] DEFAULT VALUE 0
/>
Documentation (type)
This increments measure 80 (nCMDTReport) by one every time this node is visited. This can be useful to report the results of mass test and treat interventions using the decision tree.
Attributes
Name
name=string
An optional piece of documentation attached to this node.
Delay (hours)
outputNumber=int
Default value: 0
Optionally, this can be given to delay the start of treatment by a given number of hours. If not specified, treatment is not delayed. If a delay is given, all medications within the treatment schedule used are delayed by this number of hours.
treatFailure
→ scenario → interventions → human → component → decisionTree → treatFailure
<treatFailure
[ name=string ]
/>
Documentation (type)
An end node which reports treatment but does not change parasitalogical status. This allows correct labelling of second-line cases.
Attributes
Name
name=string
An optional piece of documentation attached to this node.
treatPKPD
→ scenario → interventions → human → component → decisionTree → treatPKPD
<treatPKPD
schedule=string
dosage=string
[ delay_h=double ] DEFAULT VALUE 0
/>
Documentation (type)
A command to administer drugs according to a given schedule and dosage table, optionally with a delay.
Attributes
Name of treatment schedule
schedule=string
The name of a schedule to use for treatment.
Name of dosage table
dosage=string
The name of a dosage table to use for treatment.
Delay (hours)
delay_h=double
Default value: 0
Optionally, this can be given to delay the start of treatment by a given number of hours. If not specified, treatment is not delayed. If a delay is given, all medications within the treatment schedule used are delayed by this number of hours.
treatSimple
→ scenario → interventions → human → component → decisionTree → treatSimple
<treatSimple
durationLiver=string
durationBlood=string
/>
Documentation (type)
Simple treatment model, targetting liver- and/or blood-stage infections. This is all-or-nothing treatment which, when deploymed, completely clears all infections of the targetted stages. This makes it unsuitable for modeling resistance, but suitable for use with simple infection models.
Infections are considered liver-stage when less than five days old and blood-stage after that. Effects are described independently for the two stages.
Attributes
Length of liver-stage effect
durationLiver=string
Units: User defined
Controls action on liver-stage infections. 0 means no action, -1 step is a compatibility option to act like treatment before schema version 32 (which removed infections retrospectively), 1 step or any duration which equals some whole number of steps n>0 means to clear all liver-stage infections found on the next 1 or n steps. Note on -1 compatibility option: the main difference to 1 step (clearing on the next timestep) is that parasite densities will be reduced immediately, and thus from the point of view of surveys and mass screen and treat interventions a peak in density which is immediately treated through case management will not be seen. Can be specified in steps (e.g. 1t, -1t) or days (e.g. 5d).
Length of blood-stage effect
durationBlood=string
Units: User defined
Controls action on blood-stage infections. 0 means no action, -1 step is a compatibility option to act like treatment before schema version 32 (which removed infections retrospectively), 1 step or any duration which equals some whole number of steps n>0 means to clear all blood-stage infections found on the next 1 or n steps. Note on -1 compatibility option: the main difference to 1 step (clearing on the next timestep) is that parasite densities will be reduced immediately, and thus from the point of view of surveys and mass screen and treat interventions a peak in density which is immediately treated through case management will not be seen. Can be specified in steps (e.g. 1t, -1t) or days (e.g. 5d).
deploy
→ scenario → interventions → human → component → decisionTree → deploy
<deploy
component=string
/>
Documentation (type)
Deploy one or more intervention components.
Attributes
Component identifier
component=string
The identifier (short name) of a component.
cohort
→ scenario → interventions → human → component → decisionTree → cohort
<cohort
[ name=string ]
component=string
>
IN ANY ORDER:
| <positive ... />
| <negative ... />
</cohort>
Documentation (type)
A switch which choses a branch deterministically, based on whether the host is part of the cohort (defined by the intervention component) or not.
Attributes
Name
name=string
An optional piece of documentation attached to this node.
Number of days to look back for fevers. This must be less than or equal to the healthsystem memory parameter. In general, this should be less than or equal to the repeatStep in MSAT with contiuous deployment
component=string
Units: User-defined (defaults to steps)
Follow-up period during which a recurrence is considered to be a treatment failure Can be specified in steps (e.g. 6t) or days (e.g. 28d).
positive
→ scenario → interventions → human → component → decisionTree → multiple → cohort → positive
<positive
[ name=string ]
>
EXACTLY ONE OF:
| <multiple ... />
| <caseType ... />
| <diagnostic ... />
| <uncomplicated ... />
| <severe ... />
| <random ... />
| <age ... />
| <noTreatment ... />
| ( <report ... /> )+
| <treatFailure ... />
| ( <treatPKPD ... /> )+
| ( <treatSimple ... /> )+
| ( <deploy ... /> )*
| <cohort ... />
</positive>
- multiple
- caseType
- diagnostic
- uncomplicated
- severe
- random
- age
- noTreatment
- report
- treatFailure
- treatPKPD
- treatSimple
- deploy
- cohort
Documentation (type)
Describes how "decisions" are made, both probabilistically and deterministically, and what actions are carried out.
Quantities may also be reported as a side effect of decisions made in the tree, for example the number of diagnostics used.
Attributes
Name
name=string
An optional piece of documentation attached to this node.
negative
→ scenario → interventions → human → component → decisionTree → multiple → cohort → negative
<negative
[ name=string ]
>
EXACTLY ONE OF:
| <multiple ... />
| <caseType ... />
| <diagnostic ... />
| <uncomplicated ... />
| <severe ... />
| <random ... />
| <age ... />
| <noTreatment ... />
| ( <report ... /> )+
| <treatFailure ... />
| ( <treatPKPD ... /> )+
| ( <treatSimple ... /> )+
| ( <deploy ... /> )*
| <cohort ... />
</negative>
- multiple
- caseType
- diagnostic
- uncomplicated
- severe
- random
- age
- noTreatment
- report
- treatFailure
- treatPKPD
- treatSimple
- deploy
- cohort
Documentation (type)
Describes how "decisions" are made, both probabilistically and deterministically, and what actions are carried out.
Quantities may also be reported as a side effect of decisions made in the tree, for example the number of diagnostics used.
Attributes
Name
name=string
An optional piece of documentation attached to this node.
negative
→ scenario → interventions → human → component → decisionTree → multiple → severe → negative
<negative
[ name=string ]
>
EXACTLY ONE OF:
| <multiple ... />
| <caseType ... />
| <diagnostic ... />
| <uncomplicated ... />
| <severe ... />
| <random ... />
| <age ... />
| <noTreatment ... />
| ( <report ... /> )+
| <treatFailure ... />
| ( <treatPKPD ... /> )+
| ( <treatSimple ... /> )+
| ( <deploy ... /> )*
| <cohort ... />
</negative>
- multiple
- caseType
- diagnostic
- uncomplicated
- severe
- random
- age
- noTreatment
- report
- treatFailure
- treatPKPD
- treatSimple
- deploy
- cohort
Documentation (type)
Describes how "decisions" are made, both probabilistically and deterministically, and what actions are carried out.
Quantities may also be reported as a side effect of decisions made in the tree, for example the number of diagnostics used.
Attributes
Name
name=string
An optional piece of documentation attached to this node.
negative
→ scenario → interventions → human → component → decisionTree → multiple → uncomplicated → negative
<negative
[ name=string ]
>
EXACTLY ONE OF:
| <multiple ... />
| <caseType ... />
| <diagnostic ... />
| <uncomplicated ... />
| <severe ... />
| <random ... />
| <age ... />
| <noTreatment ... />
| ( <report ... /> )+
| <treatFailure ... />
| ( <treatPKPD ... /> )+
| ( <treatSimple ... /> )+
| ( <deploy ... /> )*
| <cohort ... />
</negative>
- multiple
- caseType
- diagnostic
- uncomplicated
- severe
- random
- age
- noTreatment
- report
- treatFailure
- treatPKPD
- treatSimple
- deploy
- cohort
Documentation (type)
Describes how "decisions" are made, both probabilistically and deterministically, and what actions are carried out.
Quantities may also be reported as a side effect of decisions made in the tree, for example the number of diagnostics used.
Attributes
Name
name=string
An optional piece of documentation attached to this node.
negative
→ scenario → interventions → human → component → decisionTree → multiple → diagnostic → negative
<negative
[ name=string ]
>
EXACTLY ONE OF:
| <multiple ... />
| <caseType ... />
| <diagnostic ... />
| <uncomplicated ... />
| <severe ... />
| <random ... />
| <age ... />
| <noTreatment ... />
| ( <report ... /> )+
| <treatFailure ... />
| ( <treatPKPD ... /> )+
| ( <treatSimple ... /> )+
| ( <deploy ... /> )*
| <cohort ... />
</negative>
- multiple
- caseType
- diagnostic
- uncomplicated
- severe
- random
- age
- noTreatment
- report
- treatFailure
- treatPKPD
- treatSimple
- deploy
- cohort
Documentation (type)
Describes how "decisions" are made, both probabilistically and deterministically, and what actions are carried out.
Quantities may also be reported as a side effect of decisions made in the tree, for example the number of diagnostics used.
Attributes
Name
name=string
An optional piece of documentation attached to this node.
diagnostic
→ scenario → interventions → human → component → decisionTree → multiple → diagnostic
<diagnostic
diagnostic=string
[ name=string ]
>
IN ANY ORDER:
| <positive ... />
| <negative ... />
</diagnostic>
Documentation (type)
A switch which choses a branch deterministically, based on the outcome of some type of diagnostic.
Attributes
Name of diagnostic
diagnostic=string
Should match the name of some parameterised diagnostic (see scenario/diagnostics).
Name
name=string
An optional piece of documentation attached to this node.
uncomplicated
→ scenario → interventions → human → component → decisionTree → multiple → uncomplicated
<uncomplicated
[ name=string ]
[ memory=string ] DEFAULT VALUE 1
>
IN ANY ORDER:
| <positive ... />
| <negative ... />
</uncomplicated>
Documentation (type)
A switch which choses a branch deterministically, based on whether the host has an uncomplicated case. This could be a Malaria fever or a non-Malaria fever. If non-Malaria fevers are enable, it is possible to add a
Attributes
Name
name=string
An optional piece of documentation attached to this node.
Number of days to look back for fevers. This must be less than or equal to the healthsystem memory parameter. In general, this should be less than or equal to the repeatStep in MSAT with contiuous deployment
memory=string
Units: User-defined (defaults to steps)
Default value: 1
Follow-up period during which a recurrence is considered to be a treatment failure Can be specified in steps (e.g. 6t) or days (e.g. 28d).
severe
→ scenario → interventions → human → component → decisionTree → multiple → severe
<severe
[ name=string ]
[ memory=string ]
>
IN ANY ORDER:
| <positive ... />
| <negative ... />
</severe>
Documentation (type)
A switch which choses a branch deterministically, based on whether the host has a severe case or not. Note that this include severe cases due to comorbidities.
Attributes
Name
name=string
An optional piece of documentation attached to this node.
Number of days to look back for fevers. This must be less than or equal to the healthsystem memory parameter. In general, this should be less than or equal to the repeatStep in MSAT with contiuous deployment
memory=string
Units: User-defined (defaults to steps)
Follow-up period during which a recurrence is considered to be a treatment failure Can be specified in steps (e.g. 6t) or days (e.g. 28d).
random
→ scenario → interventions → human → component → decisionTree → multiple → random
<random
[ name=string ]
>
IN THIS ORDER:
| ( <outcome ... /> )+
</random>
Documentation (type)
A switch which choses a branch randomly.
Each branch must be listed with a probability; the sum of all these probabilities must equal 1.
Attributes
Name
name=string
An optional piece of documentation attached to this node.
age
→ scenario → interventions → human → component → decisionTree → multiple → age
<age
[ name=string ]
>
IN THIS ORDER:
| ( <age ... /> )+
</age>
Documentation (type)
A switch which choses a branch deterministically, based on the patient's age (in years).
Categories must uniquely cover all ages from birth, with no upper bound. Categories must be listed in order of age, increasing; the first must have lower bound 0. Upper bounds are equal to the lower bound of the next category, (but are exclusive where lower bounds are inclusive); the last category has no upper bound.
Attributes
Name
name=string
An optional piece of documentation attached to this node.
treatPKPD
→ scenario → interventions → human → component → decisionTree → multiple → treatPKPD
<treatPKPD
schedule=string
dosage=string
[ delay_h=double ] DEFAULT VALUE 0
/>
Documentation (type)
A command to administer drugs according to a given schedule and dosage table, optionally with a delay.
Attributes
Name of treatment schedule
schedule=string
The name of a schedule to use for treatment.
Name of dosage table
dosage=string
The name of a dosage table to use for treatment.
Delay (hours)
delay_h=double
Default value: 0
Optionally, this can be given to delay the start of treatment by a given number of hours. If not specified, treatment is not delayed. If a delay is given, all medications within the treatment schedule used are delayed by this number of hours.
treatSimple
→ scenario → interventions → human → component → decisionTree → multiple → treatSimple
<treatSimple
durationLiver=string
durationBlood=string
/>
Documentation (type)
Simple treatment model, targetting liver- and/or blood-stage infections. This is all-or-nothing treatment which, when deploymed, completely clears all infections of the targetted stages. This makes it unsuitable for modeling resistance, but suitable for use with simple infection models.
Infections are considered liver-stage when less than five days old and blood-stage after that. Effects are described independently for the two stages.
Attributes
Length of liver-stage effect
durationLiver=string
Units: User defined
Controls action on liver-stage infections. 0 means no action, -1 step is a compatibility option to act like treatment before schema version 32 (which removed infections retrospectively), 1 step or any duration which equals some whole number of steps n>0 means to clear all liver-stage infections found on the next 1 or n steps. Note on -1 compatibility option: the main difference to 1 step (clearing on the next timestep) is that parasite densities will be reduced immediately, and thus from the point of view of surveys and mass screen and treat interventions a peak in density which is immediately treated through case management will not be seen. Can be specified in steps (e.g. 1t, -1t) or days (e.g. 5d).
Length of blood-stage effect
durationBlood=string
Units: User defined
Controls action on blood-stage infections. 0 means no action, -1 step is a compatibility option to act like treatment before schema version 32 (which removed infections retrospectively), 1 step or any duration which equals some whole number of steps n>0 means to clear all blood-stage infections found on the next 1 or n steps. Note on -1 compatibility option: the main difference to 1 step (clearing on the next timestep) is that parasite densities will be reduced immediately, and thus from the point of view of surveys and mass screen and treat interventions a peak in density which is immediately treated through case management will not be seen. Can be specified in steps (e.g. 1t, -1t) or days (e.g. 5d).
deploy
→ scenario → interventions → human → component → decisionTree → multiple → deploy
<deploy
component=string
/>
Documentation (type)
Deploy one or more intervention components.
Attributes
Component identifier
component=string
The identifier (short name) of a component.
report
→ scenario → interventions → human → component → decisionTree → multiple → report
<report
[ name=string ]
[ outputNumber=int ] DEFAULT VALUE 0
/>
Documentation (type)
This increments measure 80 (nCMDTReport) by one every time this node is visited. This can be useful to report the results of mass test and treat interventions using the decision tree.
Attributes
Name
name=string
An optional piece of documentation attached to this node.
Delay (hours)
outputNumber=int
Default value: 0
Optionally, this can be given to delay the start of treatment by a given number of hours. If not specified, treatment is not delayed. If a delay is given, all medications within the treatment schedule used are delayed by this number of hours.
cohort
→ scenario → interventions → human → component → decisionTree → multiple → cohort
<cohort
[ name=string ]
component=string
>
IN ANY ORDER:
| <positive ... />
| <negative ... />
</cohort>
Documentation (type)
A switch which choses a branch deterministically, based on whether the host is part of the cohort (defined by the intervention component) or not.
Attributes
Name
name=string
An optional piece of documentation attached to this node.
Number of days to look back for fevers. This must be less than or equal to the healthsystem memory parameter. In general, this should be less than or equal to the repeatStep in MSAT with contiuous deployment
component=string
Units: User-defined (defaults to steps)
Follow-up period during which a recurrence is considered to be a treatment failure Can be specified in steps (e.g. 6t) or days (e.g. 28d).
complicated
→ scenario → healthSystem → EventScheduler → complicated
<complicated
[ name=string ]
>
EXACTLY ONE OF:
| <multiple ... />
| <caseType ... />
| <diagnostic ... />
| <uncomplicated ... />
| <severe ... />
| <random ... />
| <age ... />
| <noTreatment ... />
| ( <report ... /> )+
| <treatFailure ... />
| ( <treatPKPD ... /> )+
| ( <treatSimple ... /> )+
| ( <deploy ... /> )*
| <cohort ... />
</complicated>
- multiple
- caseType
- diagnostic
- uncomplicated
- severe
- random
- age
- noTreatment
- report
- treatFailure
- treatPKPD
- treatSimple
- deploy
- cohort
Documentation (type)
Describes how "decisions" are made, both probabilistically and deterministically, and what actions are carried out.
Quantities may also be reported as a side effect of decisions made in the tree, for example the number of diagnostics used.
Attributes
Name
name=string
An optional piece of documentation attached to this node.
ClinicalOutcomes
→ scenario → healthSystem → EventScheduler → ClinicalOutcomes
<ClinicalOutcomes>
IN THIS ORDER:
| <maxUCSeekingMemory ... />
| <uncomplicatedCaseDuration ... />
| <complicatedCaseDuration ... />
| <complicatedRiskDuration ... />
| ( <dailyPrImmUCTS ... /> )+
</ClinicalOutcomes>
- maxUCSeekingMemory
- uncomplicatedCaseDuration
- complicatedCaseDuration
- complicatedRiskDuration
- dailyPrImmUCTS
Documentation (type)
Description of base parameters of the clinical model.
Max UC treatment-seeking memory
→ scenario → healthSystem → EventScheduler → ClinicalOutcomes → maxUCSeekingMemory
<maxUCSeekingMemory>
int
</maxUCSeekingMemory>
Documentation (element)
Units: Days Min: 0 Max: unbounded
Maximum number of timesteps (including first day of case) that an individual with an uncomplicated case of malaria will remember he/she was sick before resetting.
Uncomplicated case duration
→ scenario → healthSystem → EventScheduler → ClinicalOutcomes → uncomplicatedCaseDuration
<uncomplicatedCaseDuration>
int
</uncomplicatedCaseDuration>
Documentation (element)
Units: Days Min: 1 Max: unbounded
Fixed length of an uncomplicated case of malarial or non-malarial sickness (from treatment seeking until return to life-as-usual). Usually 3.
Complicated case duration
→ scenario → healthSystem → EventScheduler → ClinicalOutcomes → complicatedCaseDuration
<complicatedCaseDuration>
int
</complicatedCaseDuration>
Documentation (element)
Units: Days Min: 1 Max: unbounded
Fixed length of a complicated or severe case of malaria (from treatment seeking until return to life-as-usual).
Complicated risk duration
→ scenario → healthSystem → EventScheduler → ClinicalOutcomes → complicatedRiskDuration
<complicatedRiskDuration>
int
</complicatedRiskDuration>
Documentation (element)
Units: Days Min: 1 Max: unbounded
Number of days for which humans are at risk of death during a severe or complicated case of malaria. Cannot be greater than the duration of a complicated case or less than 1 day.
Daily probability of immediate treatment seeking for uncomplicated cases
→ scenario → healthSystem → EventScheduler → ClinicalOutcomes → dailyPrImmUCTS
<dailyPrImmUCTS>
double
</dailyPrImmUCTS>
Documentation (element)
Units: Dimensionless Min: 0.0 Max: 1.0
It is sometimes desirable to model delays to treatment-seeking in uncomplicated cases. While treatment of drugs can be delayed within case management trees to provide a similar effect, this doesn't delay any of the decisions, including diagnostics using the current parasite density.
Instead a list of dailyPrImmUCTS elements can be used, describing successive daily probabilities of treatment (sum must be 1). For example, with a list of two elements with values 0.8 and 0.2, for 80% of UC cases the decision tree is evaluated immediately, and for 20% of cases evaluation is delayed by one day.
For no delay, use one element with a value of 1.
NonMalariaFevers
→ scenario → healthSystem → EventScheduler → NonMalariaFevers
<NonMalariaFevers>
IN THIS ORDER:
| <prTreatment ... />
| <effectNegativeTest ... />
| <effectPositiveTest ... />
| <effectNeed ... />
| <effectInformal ... />
| <CFR ... />
| <TreatmentEfficacy ... />
</NonMalariaFevers>
Documentation (type)
Description of non-malaria fever health-system modelling (treatment, outcomes and costing). Incidence is described by the model->clinical->NonMalariaFevers element. Non-malaria fevers are only modelled if the NON_MALARIA_FEVERS option is used.
As further explanation of the parameters below, we first take: β₀ = logit(P₀) - β₃·P(need), and then calculate the probability of antibiotic administration, P(AB), dependent on treatment seeking location. No seeking: P(AB) = 0 Informal sector: logit(P(AB)) = β₀ + β₄ Health facility: logit(P(AB)) = β₀ + β₁·I(neg) + β₂·I(pos) + β₃·I(need) (where I(X) is 1 when event X is true and 0 otherwise, logit(p)=log(p/(1-p)), event "need" is the event that death may occur without treatment, events "neg" and "pos" are the events that a malaria parasite diagnositic was used and indicated no parasites and parasites respectively).
P(treatment|no diagnostic)
→ scenario → healthSystem → EventScheduler → NonMalariaFevers → prTreatment
<prTreatment>
double
</prTreatment>
Documentation (element)
Units: Dimensionless Min: 0.0 Max: 1.0
Probability of a non-malaria fever being treated with an antibiotic given that no malaria diagnostic was used but independent of need. Symbol: P₀.
Effect of a negative test
→ scenario → healthSystem → EventScheduler → NonMalariaFevers → effectNegativeTest
<effectNegativeTest>
double
</effectNegativeTest>
Documentation (element)
The effect of a negative malaria diagnostic on the odds ratio of receiving antibiotics. Symbol: exp(β₁).
Effect of a positive test
→ scenario → healthSystem → EventScheduler → NonMalariaFevers → effectPositiveTest
<effectPositiveTest>
double
</effectPositiveTest>
Documentation (element)
The effect of a positive malaria diagnostic on the odds ratio of receiving antibiotics. Symbol: exp(β₂).
Effect of need
→ scenario → healthSystem → EventScheduler → NonMalariaFevers → effectNeed
<effectNeed>
double
</effectNeed>
Documentation (element)
The effect of needing antibiotic treatment on the odds ratio of receiving antibiotics. Symbol: exp(β₃).
Effect of informal provider
→ scenario → healthSystem → EventScheduler → NonMalariaFevers → effectInformal
<effectInformal>
double
</effectInformal>
Documentation (element)
The effect of seeking treatment from an informal provider (i.e. a provider untrained in NMF diagnosis) on the odds ratio of receiving antibiotics. Symbol: exp(β₄)
Case fatality rate
→ scenario → healthSystem → EventScheduler → NonMalariaFevers → CFR
<CFR
[ interpolation=("none" or "linear") ]
>
IN THIS ORDER:
| ( <group ... /> )+
</CFR>
Documentation (element)
Units: Dimensionless Min: 0.0 Max: 1.0
Base case fatality rate for non-malaria fevers (probability of death from a fever requiring antibiotic treatment given that no antibiotic treatment is received, per age-group).
Attributes
interpolation
interpolation=("none" or "linear")
Interpolation algorithm. Normally it is desirable for age-based values to be continuous w.r.t. age. By default linear interpolation is used. With all algorithms except "none", the age groups are converted to a set of points centred within each age range. Extra points are added at each end (zero and infinity) to keep value constant at both ends of the function. A zero-length age group may be used as a kind of barrier to adjust the distribution; e.g. with age group boundaries at 15, 20 and 25 years, a (linear) spline would be drawn between ages 17.5 and 22.5, whereas with boundaries at 15, 20 and 20 years, a spline would be drawn between ages 17.5 and 20 years (may be desired if individuals are assumed to reach adult size at 20). Algorithms:
- none: input values are used directly
- linear: straight lines (on an age vs. value graph) are used to interpolate data points.
age group
→ scenario → healthSystem → CFR → group
<group
value=double
lowerbound=double
/>
Documentation (element)
A series of values according to age groups, each specified with a lower-bound and a value. The first lower-bound specified must be zero; a final upper-bound of infinity is added to complete the last age group. At least one age group is required. Normally these are interpolated by a continuous function (see interpolation attribute).
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Lower bound
lowerbound=double
Units: Years Min: 0 Max: 100
Lower bound of age group
Treatment efficacy
→ scenario → healthSystem → EventScheduler → NonMalariaFevers → TreatmentEfficacy
<TreatmentEfficacy>
double
</TreatmentEfficacy>
Documentation (element)
Units: Dimensionless Min: 0.0 Max: 1.0
Probability that treatment would prevent a death (i.e. CFR is multiplied by one minus this when treatment occurs).
ImmediateOutcomes
→ scenario → healthSystem → ImmediateOutcomes
<ImmediateOutcomes
[ name=string ]
[ useDiagnosticUC=boolean ] DEFAULT VALUE false
>
IN ANY ORDER:
| <drugRegimen ... />
| <initialACR ... />
| <compliance ... />
| <nonCompliersEffective ... />
| <treatmentActions ... />
| <pSeekOfficialCareUncomplicated1 ... />
| <pSelfTreatUncomplicated ... />
| <pSeekOfficialCareUncomplicated2 ... />
| <pSeekOfficialCareSevere ... />
| [ <liverStageDrug ... /> ]
</ImmediateOutcomes>
- drugRegimen
- initialACR
- compliance
- nonCompliersEffective
- treatmentActions
- pSeekOfficialCareUncomplicated1
- pSelfTreatUncomplicated
- pSeekOfficialCareUncomplicated2
- pSeekOfficialCareSevere
- liverStageDrug
Documentation (type)
Description of "immediate outcomes" health system: Tediosi et al case management model (Case management as described in AJTMH 75 (suppl 2) pp90-103).
Attributes
Name of case management parameterisation
name=string
Name of health system
useDiagnosticUC
useDiagnosticUC=boolean
Default value: false
Description of drug regimen
→ scenario → healthSystem → ImmediateOutcomes → drugRegimen
<drugRegimen
firstLine=string
secondLine=string
inpatient=string
/>
Documentation (element)
Description of drug regimen.
Attributes
First line drug
firstLine=string
Units: Drug code
Code for first line drug
Second line drug
secondLine=string
Units: Drug code
Code for second line drug
Drug use for treating inpatients
inpatient=string
Units: Drug code
Code for drug used for treating inpatients
Initial cure rate
→ scenario → healthSystem → ImmediateOutcomes → initialACR
<initialACR>
IN THIS ORDER:
| [ <CQ ... /> ]
| [ <SP ... /> ]
| [ <AQ ... /> ]
| [ <SPAQ ... /> ]
| [ <ACT ... /> ]
| [ <QN ... /> ]
| <selfTreatment ... />
</initialACR>
Documentation (element)
Units: Dimensionless Min: 0.0 Max: 1.0
Initial cure rate
Chloroquine
→ scenario → healthSystem → ImmediateOutcomes → initialACR → CQ
<CQ
value=double
/>
Documentation (element)
Chloroquine
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Sulphadoxine-pyrimethamine
→ scenario → healthSystem → ImmediateOutcomes → initialACR → SP
<SP
value=double
/>
Documentation (element)
Sulphadoxine-pyrimethamine
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Amodiaquine
→ scenario → healthSystem → ImmediateOutcomes → initialACR → AQ
<AQ
value=double
/>
Documentation (element)
Amodiaquine
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Sulphadoxine-pyrimethamine/Amodiaquine
→ scenario → healthSystem → ImmediateOutcomes → initialACR → SPAQ
<SPAQ
value=double
/>
Documentation (element)
Sulphadoxine-pyrimethamine/Amodiaquine
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Artemisinine based combination therapy
→ scenario → healthSystem → ImmediateOutcomes → initialACR → ACT
<ACT
value=double
/>
Documentation (element)
Artemisinine combination therapy
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Quinine
→ scenario → healthSystem → ImmediateOutcomes → initialACR → QN
<QN
value=double
/>
Documentation (element)
Quinine
Attributes
Input parameter value
value=double
A double-precision floating-point value.
selfTreatment
→ scenario → healthSystem → ImmediateOutcomes → initialACR → selfTreatment
<selfTreatment
value=double
/>
Documentation (element)
Units: Dimensionless Min: 0 Max: 1name:P(self-treat)
Probability of self-treatment
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Adherence to treatment
→ scenario → healthSystem → ImmediateOutcomes → compliance
<compliance>
IN THIS ORDER:
| [ <CQ ... /> ]
| [ <SP ... /> ]
| [ <AQ ... /> ]
| [ <SPAQ ... /> ]
| [ <ACT ... /> ]
| [ <QN ... /> ]
| <selfTreatment ... />
</compliance>
Documentation (element)
Units: Dimensionless Min: 0.0 Max: 1.0
Adherence to treatment
Effectiveness of treatment in non-adherent patients
→ scenario → healthSystem → ImmediateOutcomes → nonCompliersEffective
<nonCompliersEffective>
IN THIS ORDER:
| [ <CQ ... /> ]
| [ <SP ... /> ]
| [ <AQ ... /> ]
| [ <SPAQ ... /> ]
| [ <ACT ... /> ]
| [ <QN ... /> ]
| <selfTreatment ... />
</nonCompliersEffective>
Documentation (element)
Units: Dimensionless Min: 0.0 Max: 1.0
Effectiveness of treatment for non-compliant patients
treatmentActions
→ scenario → healthSystem → ImmediateOutcomes → treatmentActions
<treatmentActions>
IN ANY ORDER:
| [ <CQ ... /> ]
| [ <SP ... /> ]
| [ <AQ ... /> ]
| [ <SPAQ ... /> ]
| [ <ACT ... /> ]
| [ <QN ... /> ]
</treatmentActions>
CQ
→ scenario → healthSystem → ImmediateOutcomes → treatmentActions → CQ
<CQ
[ name=string ]
>
IN THIS ORDER:
| ( <deploy ... /> )*
</CQ>
Documentation (type)
Describes the effects of the treatment, assuming this compliance/adherence/... option is selected. Effects are described in terms of a list of options, each of which acts independently but with all effects being activated simultaneously.
Documentation (base type)
Lists intervention components which are deployed according to some external trigger (for example, screening with a negative patency outcome or health-system treatment).
Components are referenced from one or more sub-lists. Each of these lists is deployed independently if and only if its age constraints are met by the human host and a random sample with the given probability of a positive outcome is positive.
Attributes
Name
name=string
Describes what this compliance option represents (e.g. "good compliance", "poor compliance with good drugs", ...).
deploy
→ scenario → healthSystem → ImmediateOutcomes → treatmentActions → CQ → deploy
<deploy
[ maxAge=double ]
[ minAge=double ] DEFAULT VALUE 0
[ p=double ] DEFAULT VALUE 1
>
IN THIS ORDER:
| ( <component ... /> )+
</deploy>
Attributes
Maximum age of eligible humans
maxAge=double
Units: Years Min: 0
Maximum age of eligible humans (defaults to no limit). Input is rounded to the nearest time step.
Minimum age of eligible humans
minAge=double
Units: Years Min: 0
Default value: 0
Minimum age of eligible humans (defaults to 0). Input is rounded to the nearest time step.
Probability of delivery to eligible humans
p=double
Units: dimensionless Min: 0 Max: 1
Default value: 1
Probability of this list of components being deployed, given that other constraints are met.
component
→ scenario → healthSystem → ImmediateOutcomes → treatmentActions → CQ → deploy → component
<component
id=string
/>
Documentation (type)
The list of components deployed to eligible humans.
Attributes
Identifier
id=string
The identifier (short name) of a component.
Prophylactic treatment
→ scenario → healthSystem → DecisionTree5Day → treatmentSevere → clearInfections
<clearInfections
timesteps=string
stage=("liver" or "blood" or "both")
/>
Documentation (element)
This clears infections according to several options: it can clear all blood stage infections, all liver stage infections or both, and it can act on multiple timesteps. To have a probability of no action add another treatment option (which does nothing) and set the probabilities of selection appropriately.
This allows immediate (legacy) or delayed action, a prophylactic period, and selection of which stages are targeted. It is a simple model but appropriate enough for use with the five day timestep when assuming no resistance and that drug failure is mainly caused by bad drugs or compliance.
The old treatment action for the five-day timestep model is essentially this, with immediateAction (timesteps=-1) and stage=both, except for the IPT model's SP action, which was more like with timesteps>1 and stage=blood.
Attributes
Length of effect
timesteps=string
Units: User defined (defaults to steps)
The number of timesteps during which this action remains in effect (e.g. 2 means clear infections during the next two timestep updates). Full clearance of the targeted stages occurs during this time. A special value of -1 means act immediately (retrospectively); this the old behaviour. A value of 1 means act on the next timestep only. Both of these can be thought of as a model for short-acting effective drug treatment; the main differences are that the latter means parasite densities will remain high from the point of view of surveys and diagnostics (i.e. mass screen and treat) used before the next timestep and that the latter will also remove infections starting the next timestep. Arguably the latter is a better model, but the differences are perhaps small, excepting where immediate treatment of fevers (i.e. through the health system) can hide high parasite densities from reporting and mass-screen-and-treat diagnostics. For use by interventions, the latter model has nicer behaviour in that the order of deployment of multiple interventions deployed at the same time does not matter, and that the former model retrospectively treats infections which may already have caused fever, thus may have a lower health impact than it should. It is recommended to use the new model (value 1, or greater than 1 if prophylactic effect is desired) unless wanting to emulate the old behaviour. Values of 0 or less than -1 are not allowed. Can be specified in steps (e.g. 1t, -1t) or days (e.g. 5d).
Target stage
stage=("liver" or "blood" or "both")
Controls whether liver-stage or blood-stage infections are cleared, or both. Infections are considered liver-stage for one 5-day timestep, blood-stage but pre-patent for some number of timesteps (latentp - 1), then start the patent blood stage. If stage is set to "liver", infections are only cleared during their first timestep; if stage is set to "blood", infections are cleared during pre-patent and patent blood stages; if stage is set to "both" all infections are cleared. The old behaviour (oddly considering the drugs it is meant to emulate) is to clear both stages, except for the IPT model of SP action, which cleared only patent blood-stage infections.
SP
→ scenario → healthSystem → ImmediateOutcomes → treatmentActions → SP
<SP
[ name=string ]
>
IN THIS ORDER:
| ( <deploy ... /> )*
</SP>
Documentation (type)
Describes the effects of the treatment, assuming this compliance/adherence/... option is selected. Effects are described in terms of a list of options, each of which acts independently but with all effects being activated simultaneously.
Documentation (base type)
Lists intervention components which are deployed according to some external trigger (for example, screening with a negative patency outcome or health-system treatment).
Components are referenced from one or more sub-lists. Each of these lists is deployed independently if and only if its age constraints are met by the human host and a random sample with the given probability of a positive outcome is positive.
Attributes
Name
name=string
Describes what this compliance option represents (e.g. "good compliance", "poor compliance with good drugs", ...).
AQ
→ scenario → healthSystem → ImmediateOutcomes → treatmentActions → AQ
<AQ
[ name=string ]
>
IN THIS ORDER:
| ( <deploy ... /> )*
</AQ>
Documentation (type)
Describes the effects of the treatment, assuming this compliance/adherence/... option is selected. Effects are described in terms of a list of options, each of which acts independently but with all effects being activated simultaneously.
Documentation (base type)
Lists intervention components which are deployed according to some external trigger (for example, screening with a negative patency outcome or health-system treatment).
Components are referenced from one or more sub-lists. Each of these lists is deployed independently if and only if its age constraints are met by the human host and a random sample with the given probability of a positive outcome is positive.
Attributes
Name
name=string
Describes what this compliance option represents (e.g. "good compliance", "poor compliance with good drugs", ...).
SPAQ
→ scenario → healthSystem → ImmediateOutcomes → treatmentActions → SPAQ
<SPAQ
[ name=string ]
>
IN THIS ORDER:
| ( <deploy ... /> )*
</SPAQ>
Documentation (type)
Describes the effects of the treatment, assuming this compliance/adherence/... option is selected. Effects are described in terms of a list of options, each of which acts independently but with all effects being activated simultaneously.
Documentation (base type)
Lists intervention components which are deployed according to some external trigger (for example, screening with a negative patency outcome or health-system treatment).
Components are referenced from one or more sub-lists. Each of these lists is deployed independently if and only if its age constraints are met by the human host and a random sample with the given probability of a positive outcome is positive.
Attributes
Name
name=string
Describes what this compliance option represents (e.g. "good compliance", "poor compliance with good drugs", ...).
ACT
→ scenario → healthSystem → ImmediateOutcomes → treatmentActions → ACT
<ACT
[ name=string ]
>
IN THIS ORDER:
| ( <deploy ... /> )*
</ACT>
Documentation (type)
Describes the effects of the treatment, assuming this compliance/adherence/... option is selected. Effects are described in terms of a list of options, each of which acts independently but with all effects being activated simultaneously.
Documentation (base type)
Lists intervention components which are deployed according to some external trigger (for example, screening with a negative patency outcome or health-system treatment).
Components are referenced from one or more sub-lists. Each of these lists is deployed independently if and only if its age constraints are met by the human host and a random sample with the given probability of a positive outcome is positive.
Attributes
Name
name=string
Describes what this compliance option represents (e.g. "good compliance", "poor compliance with good drugs", ...).
QN
→ scenario → healthSystem → ImmediateOutcomes → treatmentActions → QN
<QN
[ name=string ]
>
IN THIS ORDER:
| ( <deploy ... /> )*
</QN>
Documentation (type)
Describes the effects of the treatment, assuming this compliance/adherence/... option is selected. Effects are described in terms of a list of options, each of which acts independently but with all effects being activated simultaneously.
Documentation (base type)
Lists intervention components which are deployed according to some external trigger (for example, screening with a negative patency outcome or health-system treatment).
Components are referenced from one or more sub-lists. Each of these lists is deployed independently if and only if its age constraints are met by the human host and a random sample with the given probability of a positive outcome is positive.
Attributes
Name
name=string
Describes what this compliance option represents (e.g. "good compliance", "poor compliance with good drugs", ...).
Probability that a patient with uncomplicated disease seeks official care immediately.
→ scenario → healthSystem → ImmediateOutcomes → pSeekOfficialCareUncomplicated1
<pSeekOfficialCareUncomplicated1
value=double
/>
Documentation (element)
Units: Dimensionless Min: 0.0 Max: 1.0
Probability that a patient with newly incident uncomplicated disease seeks official care
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Probability that a patient with uncomplicated disease will self-treat.
→ scenario → healthSystem → ImmediateOutcomes → pSelfTreatUncomplicated
<pSelfTreatUncomplicated
value=double
/>
Documentation (element)
Units: Dimensionless Min: 0.0 Max: 1.0
Probability that a patient with uncomplicated disease without recent history of disease (i.e. first line) will self-treat.
Note that in second line cases there is no probability of self-treatment.
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Probability that a recurring patient seeks official care
→ scenario → healthSystem → ImmediateOutcomes → pSeekOfficialCareUncomplicated2
<pSeekOfficialCareUncomplicated2
value=double
/>
Documentation (element)
Units: Dimensionless Min: 0.0 Max: 1.0
Probability that a patient with recurrence of uncomplicated disease seeks official care
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Probability that a patient with severe disease obtains appropriate care
→ scenario → healthSystem → ImmediateOutcomes → pSeekOfficialCareSevere
<pSeekOfficialCareSevere
value=double
/>
Documentation (element)
Units: Dimensionless Min: 0.0 Max: 1.0
Probability that a patient with severe disease obtains appropriate care
Attributes
Input parameter value
value=double
A double-precision floating-point value.
liverStageDrug
→ scenario → healthSystem → ImmediateOutcomes → liverStageDrug
<liverStageDrug>
IN ANY ORDER:
| <pHumanCannotReceive ... />
| [ <ignoreCannotReceive ... /> ]
| [ <pUseUncomplicated ... /> ]
| <effectivenessOnUse ... />
</liverStageDrug>
Documentation (type)
Parameters for drug treatment which have an effect on the liver-stage of parasites (Primaquine and potentially Tafenoquine); for use with the Vivax model only.
Note: if this section is not listed, the following default values are assumed: pHumanCannotReceive=0, pUseUncomplicated=0, effectivenessOnUse=1.
Probability that human is incompatible with liver-stage drug treatment
→ scenario → healthSystem → ImmediateOutcomes → liverStageDrug → pHumanCannotReceive
<pHumanCannotReceive
value=double
/>
Documentation (element)
Units: Probability Min: 0 Max: 1
Chance that a human is determined to be unable to receive liver-stage drug treatment. Treatment is neither reported or given for such humans.
This is sampled once per human at birth.
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Ignore liver-stage drug treatment incompatibility
→ scenario → healthSystem → ImmediateOutcomes → liverStageDrug → ignoreCannotReceive
<ignoreCannotReceive
value=boolean
/>
Documentation (element)
If true, ignore pHumanCannotReceive and consider all humans eligible for treatment; if false (or not specified), do not treat those demed incompatible with liver-stage drug treatment.
The point of this is that pHumanCannotReceive cannot be altered by changeHS interventions, but this property can be.
Attributes
Input parameter value
value=boolean
A boolean value.
Prob use in UC case
→ scenario → healthSystem → ImmediateOutcomes → liverStageDrug → pUseUncomplicated
<pUseUncomplicated
value=double
/>
Documentation (element)
Units: Probability Min: 0 Max: 1
This feature is deprecated; it is suggested to use the "simple treatment" feature configured to clear liver-stage parasites, leaving this option unset or zero.
Chance of liver-stage drug treatment being used for routine treatment of an uncomplicated case.
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Effectiveness
→ scenario → healthSystem → ImmediateOutcomes → liverStageDrug → effectivenessOnUse
<effectivenessOnUse
value=double
/>
Documentation (element)
Units: Probability Min: 0 Max: 1
Chance that liver-stage drug treatment is effective.
On application, a random variable is sampled against this probability. If false, the treatment does nothing; if true, the treatment clears all liver stage parasites. Where effectiveness is longer than a single time step (prophylactic effect), this sample still only happens once (thus either no effect or all liver stages cleared over multiple steps).
Attributes
Input parameter value
value=double
A double-precision floating-point value.
DecisionTree5Day
→ scenario → healthSystem → DecisionTree5Day
<DecisionTree5Day
[ name=string ]
>
IN ANY ORDER:
| <pSeekOfficialCareUncomplicated1 ... />
| <pSelfTreatUncomplicated ... />
| <pSeekOfficialCareUncomplicated2 ... />
| <pSeekOfficialCareSevere ... />
| [ <liverStageDrug ... /> ]
| <treeUCOfficial ... />
| <treeUCSelfTreat ... />
| <cureRateSevere ... />
| <treatmentSevere ... />
</DecisionTree5Day>
- pSeekOfficialCareUncomplicated1
- pSelfTreatUncomplicated
- pSeekOfficialCareUncomplicated2
- pSeekOfficialCareSevere
- liverStageDrug
- treeUCOfficial
- treeUCSelfTreat
- cureRateSevere
- treatmentSevere
Documentation (type)
Description of the health system using the 5-day timestep with decision tree model: access is configured as in the Tediosi et al case management model (Case management as described in AJTMH 75 (suppl 2) pp90-103) while treatment decisions are configured via decision trees.
Besides greater flexibility, this allows treatment via PK/PD models.
Attributes
Name of case management parameterisation
name=string
Name of health system
Probability that a patient with uncomplicated disease seeks official care immediately.
→ scenario → healthSystem → DecisionTree5Day → pSeekOfficialCareUncomplicated1
<pSeekOfficialCareUncomplicated1
value=double
/>
Documentation (element)
Units: Dimensionless Min: 0.0 Max: 1.0
Probability that a patient with newly incident uncomplicated disease seeks official care
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Probability that a patient with uncomplicated disease will self-treat.
→ scenario → healthSystem → DecisionTree5Day → pSelfTreatUncomplicated
<pSelfTreatUncomplicated
value=double
/>
Documentation (element)
Units: Dimensionless Min: 0.0 Max: 1.0
Probability that a patient with uncomplicated disease without recent history of disease (i.e. first line) will self-treat.
Note that in second line cases there is no probability of self-treatment.
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Probability that a recurring patient seeks official care
→ scenario → healthSystem → DecisionTree5Day → pSeekOfficialCareUncomplicated2
<pSeekOfficialCareUncomplicated2
value=double
/>
Documentation (element)
Units: Dimensionless Min: 0.0 Max: 1.0
Probability that a patient with recurrence of uncomplicated disease seeks official care
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Probability that a patient with severe disease obtains appropriate care
→ scenario → healthSystem → DecisionTree5Day → pSeekOfficialCareSevere
<pSeekOfficialCareSevere
value=double
/>
Documentation (element)
Units: Dimensionless Min: 0.0 Max: 1.0
Probability that a patient with severe disease obtains appropriate care
Attributes
Input parameter value
value=double
A double-precision floating-point value.
liverStageDrug
→ scenario → healthSystem → DecisionTree5Day → liverStageDrug
<liverStageDrug>
IN ANY ORDER:
| <pHumanCannotReceive ... />
| [ <ignoreCannotReceive ... /> ]
| [ <pUseUncomplicated ... /> ]
| <effectivenessOnUse ... />
</liverStageDrug>
Documentation (type)
Parameters for drug treatment which have an effect on the liver-stage of parasites (Primaquine and potentially Tafenoquine); for use with the Vivax model only.
Note: if this section is not listed, the following default values are assumed: pHumanCannotReceive=0, pUseUncomplicated=0, effectivenessOnUse=1.
treeUCOfficial
→ scenario → healthSystem → DecisionTree5Day → treeUCOfficial
<treeUCOfficial
[ name=string ]
>
EXACTLY ONE OF:
| <multiple ... />
| <caseType ... />
| <diagnostic ... />
| <uncomplicated ... />
| <severe ... />
| <random ... />
| <age ... />
| <noTreatment ... />
| ( <report ... /> )+
| <treatFailure ... />
| ( <treatPKPD ... /> )+
| ( <treatSimple ... /> )+
| ( <deploy ... /> )*
| <cohort ... />
</treeUCOfficial>
- multiple
- caseType
- diagnostic
- uncomplicated
- severe
- random
- age
- noTreatment
- report
- treatFailure
- treatPKPD
- treatSimple
- deploy
- cohort
Documentation (type)
Describes how "decisions" are made, both probabilistically and deterministically, and what actions are carried out.
Quantities may also be reported as a side effect of decisions made in the tree, for example the number of diagnostics used.
Attributes
Name
name=string
An optional piece of documentation attached to this node.
treeUCSelfTreat
→ scenario → healthSystem → DecisionTree5Day → treeUCSelfTreat
<treeUCSelfTreat
[ name=string ]
>
EXACTLY ONE OF:
| <multiple ... />
| <caseType ... />
| <diagnostic ... />
| <uncomplicated ... />
| <severe ... />
| <random ... />
| <age ... />
| <noTreatment ... />
| ( <report ... /> )+
| <treatFailure ... />
| ( <treatPKPD ... /> )+
| ( <treatSimple ... /> )+
| ( <deploy ... /> )*
| <cohort ... />
</treeUCSelfTreat>
- multiple
- caseType
- diagnostic
- uncomplicated
- severe
- random
- age
- noTreatment
- report
- treatFailure
- treatPKPD
- treatSimple
- deploy
- cohort
Documentation (type)
Describes how "decisions" are made, both probabilistically and deterministically, and what actions are carried out.
Quantities may also be reported as a side effect of decisions made in the tree, for example the number of diagnostics used.
Attributes
Name
name=string
An optional piece of documentation attached to this node.
Cure rate (severe cases)
→ scenario → healthSystem → DecisionTree5Day → cureRateSevere
<cureRateSevere
value=double
/>
Documentation (element)
Min: 0 Max: 1
The probability of clearing parasites given access to appropriate (hospital) care, for a severe case.
Attributes
Input parameter value
value=double
A double-precision floating-point value.
treatmentSevere
→ scenario → healthSystem → DecisionTree5Day → treatmentSevere
<treatmentSevere
[ name=string ]
>
IN THIS ORDER:
| ( <deploy ... /> )*
</treatmentSevere>
Documentation (type)
Describes the effects of the treatment, assuming this compliance/adherence/... option is selected. Effects are described in terms of a list of options, each of which acts independently but with all effects being activated simultaneously.
Documentation (base type)
Lists intervention components which are deployed according to some external trigger (for example, screening with a negative patency outcome or health-system treatment).
Components are referenced from one or more sub-lists. Each of these lists is deployed independently if and only if its age constraints are met by the human host and a random sample with the given probability of a positive outcome is positive.
Attributes
Name
name=string
Describes what this compliance option represents (e.g. "good compliance", "poor compliance with good drugs", ...).
Case fatality rate for inpatients
→ scenario → healthSystem → CFR
<CFR
[ interpolation=("none" or "linear") ]
>
IN THIS ORDER:
| ( <group ... /> )+
</CFR>
Documentation (element)
Case fatality rate (probability of an inpatient fatality from a bout of severe malaria, per age-group).
Attributes
interpolation
interpolation=("none" or "linear")
Interpolation algorithm. Normally it is desirable for age-based values to be continuous w.r.t. age. By default linear interpolation is used. With all algorithms except "none", the age groups are converted to a set of points centred within each age range. Extra points are added at each end (zero and infinity) to keep value constant at both ends of the function. A zero-length age group may be used as a kind of barrier to adjust the distribution; e.g. with age group boundaries at 15, 20 and 25 years, a (linear) spline would be drawn between ages 17.5 and 22.5, whereas with boundaries at 15, 20 and 20 years, a spline would be drawn between ages 17.5 and 20 years (may be desired if individuals are assumed to reach adult size at 20). Algorithms:
- none: input values are used directly
- linear: straight lines (on an age vs. value graph) are used to interpolate data points.
Probabilities of sequelae in inpatients
→ scenario → healthSystem → pSequelaeInpatient
<pSequelaeInpatient
[ interpolation=("none" or "linear") ]
>
IN THIS ORDER:
| ( <group ... /> )+
</pSequelaeInpatient>
Documentation (element)
Units: Dimensionless
List of age-specific probabilities of sequelae in inpatients, during a severe bout of malaria.
Attributes
interpolation
interpolation=("none" or "linear")
Interpolation algorithm. Normally it is desirable for age-based values to be continuous w.r.t. age. By default linear interpolation is used. With all algorithms except "none", the age groups are converted to a set of points centred within each age range. Extra points are added at each end (zero and infinity) to keep value constant at both ends of the function. A zero-length age group may be used as a kind of barrier to adjust the distribution; e.g. with age group boundaries at 15, 20 and 25 years, a (linear) spline would be drawn between ages 17.5 and 22.5, whereas with boundaries at 15, 20 and 20 years, a spline would be drawn between ages 17.5 and 20 years (may be desired if individuals are assumed to reach adult size at 20). Algorithms:
- none: input values are used directly
- linear: straight lines (on an age vs. value graph) are used to interpolate data points.
Change transmission levels
→ scenario → interventions → changeEIR
<changeEIR
[ name=string ]
>
IN THIS ORDER:
| ( <timedDeployment ... /> )*
</changeEIR>
Documentation (element)
New description of transmission level for models not supporting vector control interventions. Use of this overrides previous transmission levels such that human infectiousness no longer has any feedback effect on transmission. Supplied EIR data must last until end of simulation.
Attributes
Name of intervention
name=string
Name of intervention
timedDeployment
→ scenario → interventions → changeEIR → timedDeployment
<timedDeployment
eipDuration=int
time=string
>
IN THIS ORDER:
| ( <EIRDaily ... /> )+
</timedDeployment>
Documentation (type)
Replacement transmission levels. Disables feedback of human infectiousness to mosquitoes on further mosquito to human transmission. Must last until end of simulation.
Attributes
Duration of sporogony
eipDuration=int
Units: Days
The duration of sporogony in days
Time
time=string
Units: User defined (defauls to steps) Min: 0
Time at which this replacement occurs. See doc on intervention period and on monitoring/startDate for details of how times work. Can be specified in steps, days, years, or as a date (examples: 15t, 75d, 0.2y, 2000-03-16).
EIRDaily
→ scenario → entomology → nonVector → EIRDaily
<EIRDaily
[ origin=string ]
>
double
</EIRDaily>
Documentation (type)
Units: Infectious bites per adult per day
In the non-vector model, EIR is input as a sequence of daily values. There must be at least one years' worth of entries (365), and if there are more, values are wrapped and averaged (i.e. value for first day of year is taken as the mean of values for days 0, 365+0, 2*365+0, etc.).
Attributes
Time origin of EIR sequence
origin=string
Imported infections
→ scenario → interventions → importedInfections
<importedInfections
[ name=string ]
>
IN THIS ORDER:
| <timed ... />
</importedInfections>
Documentation (element)
Models importation of P. falciparum infections directly into humans from an external source. This is infections, not inoculations or EIR being imported.
Attributes
Name of intervention
name=string
Name of intervention
Rate of importation
→ scenario → interventions → importedInfections → timed
<timed
[ period=string ] DEFAULT VALUE 0
>
IN THIS ORDER:
| ( <rate ... /> )+
</timed>
Documentation (element)
Rate of case importation, as a step function. Each value is valid until replaced by the next value.
Attributes
Period of repetition
period=string
Units: User defined (default: steps) Min: 0
Default value: 0
If period is 0 (or effectively infinite), the last specified value remains indefinitely in effect. If period is less than the length of the simulation's intervention phase, then all "rate" deployments are repeated with this periodicity. In this case, the first "rate" deployment must coincide with the start of the intervention phase (monitoring/startDate). Can be specified in steps (e.g. 1t) or days (e.g. 365d).
rate
→ scenario → interventions → importedInfections → timed → rate
<rate
value=double
time=string
/>
Documentation (type)
Units: Imported cases per thousand people per year
A time-rate pair.
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Time of start
time=string
Units: User defined (defauls to steps) Min: 0
Time at which this importation rate becomes active. See doc on intervention period and on monitoring/startDate for details of how times work. Can be specified in steps, days, years, or as a date (examples: 15t, 75d, 0.2y, 2000-03-16).
Insert R_0 case
→ scenario → interventions → insertR_0Case
<insertR_0Case
[ name=string ]
>
IN THIS ORDER:
| ( <timedDeployment ... /> )*
</insertR_0Case>
Documentation (element)
Used to simulate R_0. First, infections should be eliminated, immunity removed, and the population given an effective transmission- blocking vaccine (not done by this intervention). Then this intervention may be used to: pick one human, infect him, administer a fully effective Preerythrocytic vaccine and remove transmission-blocking vaccine effect on this human. Thus only this one human will be a source of infections in an unprotected population, and will not reinfected himself.
Attributes
Name of intervention
name=string
Name of intervention
timedDeployment
→ scenario → interventions → insertR_0Case → timedDeployment
<timedDeployment
time=string
/>
Attributes
Time
time=string
Units: User defined (defauls to steps) Min: 0
Time at which this intervention occurs. See doc on intervention period and on monitoring/startDate for details of how times work. Can be specified in steps, days, years, or as a date (examples: 15t, 75d, 0.2y, 2000-03-16).
Uninfect vectors
→ scenario → interventions → uninfectVectors
<uninfectVectors
[ name=string ]
>
IN THIS ORDER:
| ( <timedDeployment ... /> )*
</uninfectVectors>
Documentation (element)
Units: List of elements
Removes all infections from mosquitoes -- resulting in zero EIR to humans, until such time that mosquitoes are re-infected and become infectious. Only efficacious in dynamic EIR mode (when changeEIR was not used).
Hypothetical, but potentially useful to simulate a setting starting from no infections, but with enough mosquitoes to reach a set equilibrium of exposure.
Attributes
Name of intervention
name=string
Name of intervention
timedDeployment
→ scenario → interventions → uninfectVectors → timedDeployment
<timedDeployment
time=string
/>
Attributes
Time
time=string
Units: User defined (defauls to steps) Min: 0
Time at which this intervention occurs. See doc on intervention period and on monitoring/startDate for details of how times work. Can be specified in steps, days, years, or as a date (examples: 15t, 75d, 0.2y, 2000-03-16).
Vector population intervention
→ scenario → interventions → vectorPop
<vectorPop>
IN THIS ORDER:
| ( <intervention ... /> )+
</vectorPop>
Documentation (element)
Units: List of elements
A list of parameterisations of generic vector host-inspecific interventions.
intervention
→ scenario → interventions → vectorPop → intervention
<intervention
name=string
>
IN THIS ORDER:
| <description ... />
| [ <timed ... /> ]
</intervention>
Documentation (type)
Units: List of elements
An intervention which may have various effects on the vector populations as a whole. (Not host specific.)
Multiple instances of this intervention class are allowed (multiple parameterisations, not just deployments).
Each instance may have multiple deployments. In this case the effects of each instance are independent (effects are combined) but the effects of multiple deployments of a single instance are not independent (only the latest deployment has any effect).
Attributes
Name of intervention
name=string
Name of intervention (e.g. larviciding, sugar bait).
description
→ scenario → interventions → vectorPop → intervention → description
<description>
IN THIS ORDER:
| ( <anopheles ... /> )+
</description>
anopheles
→ scenario → interventions → vectorPop → intervention → description → anopheles
<anopheles
mosquito=string
>
IN ANY ORDER:
| [ <seekingDeathRateIncrease ... /> ]
| [ <probDeathOvipositing ... /> ]
| [ <emergenceReduction ... /> ]
| [ <probAdditionalDeathSugarFeeding ... /> ]
</anopheles>
Documentation (type)
Units: dimensionless Min: 0 Max: 1
Descriptions of the effects of vector interventions with per-species effects.
Attributes
Species/subspecies/variant name
mosquito=string
Name of the species/subspecies/variant.
Proportional increase in deaths while host searching
→ scenario → interventions → vectorPop → intervention → description → anopheles → seekingDeathRateIncrease
<seekingDeathRateIncrease
initial=double
>
IN THIS ORDER:
| <decay ... />
</seekingDeathRateIncrease>
Documentation (element)
Units: dimensionless
Describe an effect on the increase in the death rate while host seeking (mu_vA) due to this intervention.
Enter the rate increase (i.e. if rate increases to 120% of normal, give 0.2). New death rate while seeking is old × (1 + increase) where increase is this factor given. Must have increas ≥ -1.
Attributes
Initial proportion increase
initial=double
Units: dimensionless Min: -1 Max: inf
decay
→ scenario → interventions → vectorPop → intervention → description → anopheles → seekingDeathRateIncrease → decay
<decay
function=("constant" or "step" or "linear" or "exponential" or "weibull" or "hill" or "smooth-compact" or "plus" or "minus" or "divides" or "multiplies")
[ L=string ]
[ k=double ] DEFAULT VALUE 1.0
[ CV=double ] DEFAULT VALUE 0
[ increasing=boolean ] DEFAULT VALUE false
[ initialEfficacy=double ] DEFAULT VALUE 1
[ rho=double ]
[ halflife_short=string ]
[ halflife_long=string ]
>
IN THIS ORDER:
| <decay ... />
</decay>
Documentation (type)
Specification of decay or survival of a parameter.
Attributes
function
function=("constant" or "step" or "linear" or "exponential" or "weibull" or "hill" or "smooth-compact" or "plus" or "minus" or "divides" or "multiplies")
Units: None Min: 0 Max: 1
Determines which decay function to use. Available decay functions, for age t in years: constant: 1 step: 1 for t less than L, otherwise 0 linear: 1 - t/L for t less than L, otherwise 0 exponential: exp( - t/L * log(2) ) weibull: exp( -(t/L)^k * log(2) ) hill: 1 / (1 + (t/L)^k) smooth-compact: exp( k - k / (1 - (t/L)^2) ) for t less than L, otherwise 0
L
L=string
Units: User-defined (defaults to years) Min: 0
(Time) scale parameter of distribution: this is either the age of complete decay (smooth-compact, step and linear functions) or the age at which the parameter has decayed to half its original value (exponential, weibull and hill). Not used when function="constant" (i.e. no decay). This value can be specified in years, days or steps (e.g. 2y, 180d or 100t). When the unit is not specified years are assumed. The value is used without rounding except when sampling an age of decay, when the rounding happens as late as possible.
k
k=double
Units: none Min: 0
Default value: 1.0
Shape parameter of distribution. If not specified, default value of 1 is used. Meaning depends on function; not used in some cases.
Coefficient of Variation
CV=double
Min: 0
Default value: 0
If CV is non-zero, heterogeneity of decay is introduced via a random variable sampled from the log-normal distribution. This distribution is parameterised with mean=1 and CV as given. The effective age of decay is the real age multiplied by this variable (for decay functions with a half-life, this is equivalent to dividing the half-life by the variable).
L
increasing=boolean
Units: User-defined (defaults to years) Min: 0
Default value: false
(Boolean) If True, this tells OpenMalaria to use the complement of the DecayFunction defined as 1-f(x). This is useful to model increasing functions that will "decay" to 1. This only works if f(x) is contained between 0 and 1.
initialEfficacy
initialEfficacy=double
Default value: 1
biphasic: Efficacy between 0 and 1.
rho
rho=double
biphasic: Proportion between 0 and 1, proportion of the response that is short-lived.
halflife_short
halflife_short=string
biphasic: halflife of short lived component (default to years).
halflife_long
halflife_long=string
biphasic: halflife of long lived component (default to years).
decay
→ scenario → interventions → nonHumanHostsModifications → intervention → decay → decay
<decay
function=("constant" or "step" or "linear" or "exponential" or "weibull" or "hill" or "smooth-compact" or "plus" or "minus" or "divides" or "multiplies")
[ L=string ]
[ k=double ] DEFAULT VALUE 1.0
[ CV=double ] DEFAULT VALUE 0
[ increasing=boolean ] DEFAULT VALUE false
[ initialEfficacy=double ] DEFAULT VALUE 1
[ rho=double ]
[ halflife_short=string ]
[ halflife_long=string ]
>
IN THIS ORDER:
| <decay ... />
</decay>
Documentation (type)
Specification of decay or survival of a parameter.
Attributes
function
function=("constant" or "step" or "linear" or "exponential" or "weibull" or "hill" or "smooth-compact" or "plus" or "minus" or "divides" or "multiplies")
Units: None Min: 0 Max: 1
Determines which decay function to use. Available decay functions, for age t in years: constant: 1 step: 1 for t less than L, otherwise 0 linear: 1 - t/L for t less than L, otherwise 0 exponential: exp( - t/L * log(2) ) weibull: exp( -(t/L)^k * log(2) ) hill: 1 / (1 + (t/L)^k) smooth-compact: exp( k - k / (1 - (t/L)^2) ) for t less than L, otherwise 0
L
L=string
Units: User-defined (defaults to years) Min: 0
(Time) scale parameter of distribution: this is either the age of complete decay (smooth-compact, step and linear functions) or the age at which the parameter has decayed to half its original value (exponential, weibull and hill). Not used when function="constant" (i.e. no decay). This value can be specified in years, days or steps (e.g. 2y, 180d or 100t). When the unit is not specified years are assumed. The value is used without rounding except when sampling an age of decay, when the rounding happens as late as possible.
k
k=double
Units: none Min: 0
Default value: 1.0
Shape parameter of distribution. If not specified, default value of 1 is used. Meaning depends on function; not used in some cases.
Coefficient of Variation
CV=double
Min: 0
Default value: 0
If CV is non-zero, heterogeneity of decay is introduced via a random variable sampled from the log-normal distribution. This distribution is parameterised with mean=1 and CV as given. The effective age of decay is the real age multiplied by this variable (for decay functions with a half-life, this is equivalent to dividing the half-life by the variable).
L
increasing=boolean
Units: User-defined (defaults to years) Min: 0
Default value: false
(Boolean) If True, this tells OpenMalaria to use the complement of the DecayFunction defined as 1-f(x). This is useful to model increasing functions that will "decay" to 1. This only works if f(x) is contained between 0 and 1.
initialEfficacy
initialEfficacy=double
Default value: 1
biphasic: Efficacy between 0 and 1.
rho
rho=double
biphasic: Proportion between 0 and 1, proportion of the response that is short-lived.
halflife_short
halflife_short=string
biphasic: halflife of short lived component (default to years).
halflife_long
halflife_long=string
biphasic: halflife of long lived component (default to years).
Proportion ovipositing mosquitoes killed
→ scenario → interventions → vectorPop → intervention → description → anopheles → probDeathOvipositing
<probDeathOvipositing
initial=double
>
IN THIS ORDER:
| <decay ... />
</probDeathOvipositing>
Documentation (element)
Units: dimensionless
Describe an effect of increased mortality while ovipositing due to this intervention. Enter the probability of dying due to this intervention.
Attributes
Initial probability of killing
initial=double
Units: dimensionless Min: 0 Max: 1
decay
→ scenario → interventions → vectorPop → intervention → description → anopheles → probDeathOvipositing → decay
<decay
function=("constant" or "step" or "linear" or "exponential" or "weibull" or "hill" or "smooth-compact" or "plus" or "minus" or "divides" or "multiplies")
[ L=string ]
[ k=double ] DEFAULT VALUE 1.0
[ CV=double ] DEFAULT VALUE 0
[ increasing=boolean ] DEFAULT VALUE false
[ initialEfficacy=double ] DEFAULT VALUE 1
[ rho=double ]
[ halflife_short=string ]
[ halflife_long=string ]
>
IN THIS ORDER:
| <decay ... />
</decay>
Documentation (type)
Specification of decay or survival of a parameter.
Attributes
function
function=("constant" or "step" or "linear" or "exponential" or "weibull" or "hill" or "smooth-compact" or "plus" or "minus" or "divides" or "multiplies")
Units: None Min: 0 Max: 1
Determines which decay function to use. Available decay functions, for age t in years: constant: 1 step: 1 for t less than L, otherwise 0 linear: 1 - t/L for t less than L, otherwise 0 exponential: exp( - t/L * log(2) ) weibull: exp( -(t/L)^k * log(2) ) hill: 1 / (1 + (t/L)^k) smooth-compact: exp( k - k / (1 - (t/L)^2) ) for t less than L, otherwise 0
L
L=string
Units: User-defined (defaults to years) Min: 0
(Time) scale parameter of distribution: this is either the age of complete decay (smooth-compact, step and linear functions) or the age at which the parameter has decayed to half its original value (exponential, weibull and hill). Not used when function="constant" (i.e. no decay). This value can be specified in years, days or steps (e.g. 2y, 180d or 100t). When the unit is not specified years are assumed. The value is used without rounding except when sampling an age of decay, when the rounding happens as late as possible.
k
k=double
Units: none Min: 0
Default value: 1.0
Shape parameter of distribution. If not specified, default value of 1 is used. Meaning depends on function; not used in some cases.
Coefficient of Variation
CV=double
Min: 0
Default value: 0
If CV is non-zero, heterogeneity of decay is introduced via a random variable sampled from the log-normal distribution. This distribution is parameterised with mean=1 and CV as given. The effective age of decay is the real age multiplied by this variable (for decay functions with a half-life, this is equivalent to dividing the half-life by the variable).
L
increasing=boolean
Units: User-defined (defaults to years) Min: 0
Default value: false
(Boolean) If True, this tells OpenMalaria to use the complement of the DecayFunction defined as 1-f(x). This is useful to model increasing functions that will "decay" to 1. This only works if f(x) is contained between 0 and 1.
initialEfficacy
initialEfficacy=double
Default value: 1
biphasic: Efficacy between 0 and 1.
rho
rho=double
biphasic: Proportion between 0 and 1, proportion of the response that is short-lived.
halflife_short
halflife_short=string
biphasic: halflife of short lived component (default to years).
halflife_long
halflife_long=string
biphasic: halflife of long lived component (default to years).
Proportion of emerging pupa killed
→ scenario → interventions → vectorPop → intervention → description → anopheles → emergenceReduction
<emergenceReduction
initial=double
>
IN THIS ORDER:
| <decay ... />
</emergenceReduction>
Documentation (element)
Units: dimensionless
Describe an effect on emergence of pupa into adults: this value is the proportion of emerging pupa which are killed by this intervention.
This can be used as a crude way of modelling larviciding. It ca also be used to increase emergence by giving a negative value. The emergence rate is "old rate" × (1 - factor) where factor is the value given here; thus, for example, using -1 will double emergence.
Attributes
Initial proportion reduction
initial=double
Units: dimensionless Min: -inf Max: 1
decay
→ scenario → interventions → vectorPop → intervention → description → anopheles → emergenceReduction → decay
<decay
function=("constant" or "step" or "linear" or "exponential" or "weibull" or "hill" or "smooth-compact" or "plus" or "minus" or "divides" or "multiplies")
[ L=string ]
[ k=double ] DEFAULT VALUE 1.0
[ CV=double ] DEFAULT VALUE 0
[ increasing=boolean ] DEFAULT VALUE false
[ initialEfficacy=double ] DEFAULT VALUE 1
[ rho=double ]
[ halflife_short=string ]
[ halflife_long=string ]
>
IN THIS ORDER:
| <decay ... />
</decay>
Documentation (type)
Specification of decay or survival of a parameter.
Attributes
function
function=("constant" or "step" or "linear" or "exponential" or "weibull" or "hill" or "smooth-compact" or "plus" or "minus" or "divides" or "multiplies")
Units: None Min: 0 Max: 1
Determines which decay function to use. Available decay functions, for age t in years: constant: 1 step: 1 for t less than L, otherwise 0 linear: 1 - t/L for t less than L, otherwise 0 exponential: exp( - t/L * log(2) ) weibull: exp( -(t/L)^k * log(2) ) hill: 1 / (1 + (t/L)^k) smooth-compact: exp( k - k / (1 - (t/L)^2) ) for t less than L, otherwise 0
L
L=string
Units: User-defined (defaults to years) Min: 0
(Time) scale parameter of distribution: this is either the age of complete decay (smooth-compact, step and linear functions) or the age at which the parameter has decayed to half its original value (exponential, weibull and hill). Not used when function="constant" (i.e. no decay). This value can be specified in years, days or steps (e.g. 2y, 180d or 100t). When the unit is not specified years are assumed. The value is used without rounding except when sampling an age of decay, when the rounding happens as late as possible.
k
k=double
Units: none Min: 0
Default value: 1.0
Shape parameter of distribution. If not specified, default value of 1 is used. Meaning depends on function; not used in some cases.
Coefficient of Variation
CV=double
Min: 0
Default value: 0
If CV is non-zero, heterogeneity of decay is introduced via a random variable sampled from the log-normal distribution. This distribution is parameterised with mean=1 and CV as given. The effective age of decay is the real age multiplied by this variable (for decay functions with a half-life, this is equivalent to dividing the half-life by the variable).
L
increasing=boolean
Units: User-defined (defaults to years) Min: 0
Default value: false
(Boolean) If True, this tells OpenMalaria to use the complement of the DecayFunction defined as 1-f(x). This is useful to model increasing functions that will "decay" to 1. This only works if f(x) is contained between 0 and 1.
initialEfficacy
initialEfficacy=double
Default value: 1
biphasic: Efficacy between 0 and 1.
rho
rho=double
biphasic: Proportion between 0 and 1, proportion of the response that is short-lived.
halflife_short
halflife_short=string
biphasic: halflife of short lived component (default to years).
halflife_long
halflife_long=string
biphasic: halflife of long lived component (default to years).
Probability of death while host searching as a result of feeding on a sugar bait (used to dynamically adjust mu_vA)
→ scenario → interventions → vectorPop → intervention → description → anopheles → probAdditionalDeathSugarFeeding
<probAdditionalDeathSugarFeeding
initial=double
>
IN THIS ORDER:
| <decay ... />
</probAdditionalDeathSugarFeeding>
Documentation (element)
Units: dimensionless
Describe an effect on the increase in the death rate while host seeking (mu_vA) due to this intervention. This works like adding an non-human host with its own availability. The difference is that biting this sugar bait is associated with a probability of dying of 1: all mosquitoes biting the sugar bait will die. OpenMalaria will automatically compute the availability for this host so that the probability of biting this 'host' (and thus dying) is equal to the input parameter.
Enter the probability of dying while host seeking due to this intervention. If multiple interventions overlap, the cumulative probability will be used. Note that it cannot exceed 1, and OpenMalaria will return an error during the simulation if this ever happens.
OpenMalaria will dynamically compute the necessary increase in mu_vA based on the given probability. Note that this is done by solving an equation numerically every timestep, which can cause a small drop in performance.
Attributes
Initial proportion increase
initial=double
Units: dimensionless Min: -1 Max: inf
decay
→ scenario → interventions → vectorPop → intervention → description → anopheles → probAdditionalDeathSugarFeeding → decay
<decay
function=("constant" or "step" or "linear" or "exponential" or "weibull" or "hill" or "smooth-compact" or "plus" or "minus" or "divides" or "multiplies")
[ L=string ]
[ k=double ] DEFAULT VALUE 1.0
[ CV=double ] DEFAULT VALUE 0
[ increasing=boolean ] DEFAULT VALUE false
[ initialEfficacy=double ] DEFAULT VALUE 1
[ rho=double ]
[ halflife_short=string ]
[ halflife_long=string ]
>
IN THIS ORDER:
| <decay ... />
</decay>
Documentation (type)
Specification of decay or survival of a parameter.
Attributes
function
function=("constant" or "step" or "linear" or "exponential" or "weibull" or "hill" or "smooth-compact" or "plus" or "minus" or "divides" or "multiplies")
Units: None Min: 0 Max: 1
Determines which decay function to use. Available decay functions, for age t in years: constant: 1 step: 1 for t less than L, otherwise 0 linear: 1 - t/L for t less than L, otherwise 0 exponential: exp( - t/L * log(2) ) weibull: exp( -(t/L)^k * log(2) ) hill: 1 / (1 + (t/L)^k) smooth-compact: exp( k - k / (1 - (t/L)^2) ) for t less than L, otherwise 0
L
L=string
Units: User-defined (defaults to years) Min: 0
(Time) scale parameter of distribution: this is either the age of complete decay (smooth-compact, step and linear functions) or the age at which the parameter has decayed to half its original value (exponential, weibull and hill). Not used when function="constant" (i.e. no decay). This value can be specified in years, days or steps (e.g. 2y, 180d or 100t). When the unit is not specified years are assumed. The value is used without rounding except when sampling an age of decay, when the rounding happens as late as possible.
k
k=double
Units: none Min: 0
Default value: 1.0
Shape parameter of distribution. If not specified, default value of 1 is used. Meaning depends on function; not used in some cases.
Coefficient of Variation
CV=double
Min: 0
Default value: 0
If CV is non-zero, heterogeneity of decay is introduced via a random variable sampled from the log-normal distribution. This distribution is parameterised with mean=1 and CV as given. The effective age of decay is the real age multiplied by this variable (for decay functions with a half-life, this is equivalent to dividing the half-life by the variable).
L
increasing=boolean
Units: User-defined (defaults to years) Min: 0
Default value: false
(Boolean) If True, this tells OpenMalaria to use the complement of the DecayFunction defined as 1-f(x). This is useful to model increasing functions that will "decay" to 1. This only works if f(x) is contained between 0 and 1.
initialEfficacy
initialEfficacy=double
Default value: 1
biphasic: Efficacy between 0 and 1.
rho
rho=double
biphasic: Proportion between 0 and 1, proportion of the response that is short-lived.
halflife_short
halflife_short=string
biphasic: halflife of short lived component (default to years).
halflife_long
halflife_long=string
biphasic: halflife of long lived component (default to years).
Vector population intervention deployment
→ scenario → interventions → vectorPop → intervention → timed
<timed>
IN THIS ORDER:
| ( <deploy ... /> )+
</timed>
Documentation (element)
List of timed vector population intervention deployment
deploy
→ scenario → interventions → vectorPop → intervention → timed → deploy
<deploy
time=string
/>
Attributes
Time
time=string
Units: User defined (defauls to steps) Min: 0
Time at which this deployment occurs. See doc on intervention period and on monitoring/startDate for details of how times work. Can be specified in steps, days, years, or as a date (examples: 15t, 75d, 0.2y, 2000-03-16).
Baited trap
→ scenario → interventions → vectorTrap
<vectorTrap>
IN THIS ORDER:
| ( <intervention ... /> )+
</vectorTrap>
Documentation (element)
Traps attract and kill mosquitoes. They are modelled as a non-human-host where the probability of mosquitoes surviving feeding is zero (since otherwise the simulator would assume surviving mosquitoes have had a blood meal), and where this "host" is initially not present.
Model: each type of trap has has an initial availability relative to a human and a decay in availability. Each deployment has a fixed maximum lifespan, after which the traps from that deployment are removed (it is up to the user whether this is after availability is effectively zero or sooner, either coinciding with a redeployment or causing a reduction in overall effectiveness of traps).
intervention
→ scenario → interventions → vectorTrap → intervention
<intervention
[ name=string ]
>
IN THIS ORDER:
| ( <description ... /> )+
| [ <timed ... /> ]
</intervention>
Documentation (type)
Parameters and deployment of one type of trap. In case multiple types of trap are needed simultaneously, multiple elements can be used. Note that different types of trap do not interact except that all will attract mosquitoes.
Attributes
Descriptive name for type of trap
name=string
Optional name for this type of trap
Description
→ scenario → interventions → vectorTrap → intervention → description
<description
mosquito=string
>
IN THIS ORDER:
| <relativeAvailability ... />
| <decayOfAvailability ... />
</description>
Documentation (element)
Parameters associated with a vector trap intervention, per mosquito species.
Attributes
Species/subspecies/variant name
mosquito=string
Name of the species/subspecies/variant.
Initial relative availability
→ scenario → interventions → vectorTrap → intervention → description → relativeAvailability
<relativeAvailability
value=double
/>
Documentation (element)
Units: Proportion Min: 0 Max: inf
Describes the availiability of a trap to a host-seeking mosquito relative to an average unprotected adult.
I.e. if this parameter is 2, then each trap will on average attract twice as many mosquitoes as unprotected adults.
This is the initial availability; it may decay towards zero depending on the configured decay function.
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Decay of availability
→ scenario → interventions → vectorTrap → intervention → description → decayOfAvailability
<decayOfAvailability
function=("constant" or "step" or "linear" or "exponential" or "weibull" or "hill" or "smooth-compact" or "plus" or "minus" or "divides" or "multiplies")
[ L=string ]
[ k=double ] DEFAULT VALUE 1.0
[ CV=double ] DEFAULT VALUE 0
[ increasing=boolean ] DEFAULT VALUE false
[ initialEfficacy=double ] DEFAULT VALUE 1
[ rho=double ]
[ halflife_short=string ]
[ halflife_long=string ]
>
IN THIS ORDER:
| <decay ... />
</decayOfAvailability>
Documentation (element)
Describes how availability decays to zero.
If decay heterogeneity/variance is used, there will be a sample once-per-deployment (i.e. all traps of the same deployment will be affected the same way). There is no support for variances between traps (except in this crude way, between deployments).
Documentation (type)
Specification of decay or survival of a parameter.
Attributes
function
function=("constant" or "step" or "linear" or "exponential" or "weibull" or "hill" or "smooth-compact" or "plus" or "minus" or "divides" or "multiplies")
Units: None Min: 0 Max: 1
Determines which decay function to use. Available decay functions, for age t in years: constant: 1 step: 1 for t less than L, otherwise 0 linear: 1 - t/L for t less than L, otherwise 0 exponential: exp( - t/L * log(2) ) weibull: exp( -(t/L)^k * log(2) ) hill: 1 / (1 + (t/L)^k) smooth-compact: exp( k - k / (1 - (t/L)^2) ) for t less than L, otherwise 0
L
L=string
Units: User-defined (defaults to years) Min: 0
(Time) scale parameter of distribution: this is either the age of complete decay (smooth-compact, step and linear functions) or the age at which the parameter has decayed to half its original value (exponential, weibull and hill). Not used when function="constant" (i.e. no decay). This value can be specified in years, days or steps (e.g. 2y, 180d or 100t). When the unit is not specified years are assumed. The value is used without rounding except when sampling an age of decay, when the rounding happens as late as possible.
k
k=double
Units: none Min: 0
Default value: 1.0
Shape parameter of distribution. If not specified, default value of 1 is used. Meaning depends on function; not used in some cases.
Coefficient of Variation
CV=double
Min: 0
Default value: 0
If CV is non-zero, heterogeneity of decay is introduced via a random variable sampled from the log-normal distribution. This distribution is parameterised with mean=1 and CV as given. The effective age of decay is the real age multiplied by this variable (for decay functions with a half-life, this is equivalent to dividing the half-life by the variable).
L
increasing=boolean
Units: User-defined (defaults to years) Min: 0
Default value: false
(Boolean) If True, this tells OpenMalaria to use the complement of the DecayFunction defined as 1-f(x). This is useful to model increasing functions that will "decay" to 1. This only works if f(x) is contained between 0 and 1.
initialEfficacy
initialEfficacy=double
Default value: 1
biphasic: Efficacy between 0 and 1.
rho
rho=double
biphasic: Proportion between 0 and 1, proportion of the response that is short-lived.
halflife_short
halflife_short=string
biphasic: halflife of short lived component (default to years).
halflife_long
halflife_long=string
biphasic: halflife of long lived component (default to years).
Vector trap intervention deployment
→ scenario → interventions → vectorTrap → intervention → timed
<timed>
IN THIS ORDER:
| ( <deploy ... /> )*
</timed>
Documentation (element)
List of timed vector trap intervention deployment
deploy
→ scenario → interventions → vectorTrap → intervention → timed → deploy
<deploy
time=string
ratioToHumans=double
lifespan=string
/>
Attributes
Time
time=string
Units: User defined (defauls to steps) Min: 0
Time at which this deployment occurs. See doc on intervention period and on monitoring/startDate for details of how times work. Can be specified in steps, days, years, or as a date (examples: 15t, 75d, 0.2y, 2000-03-16).
Ratio to humans
ratioToHumans=double
Min: 0 Max: inf
The number of traps deployed, by this deployment, per adult human. E.g. if there are currently 100 traps and 1000 humans, then a ratio of 0.1 will increase the number of traps to 200.
Lifespan
lifespan=string
Units: Steps or Days or Years
Life of the trap until replaced or removed, e.g. "73t" or "1y". After this time period, these traps will be removed from the simulation. New deployments do not automatically remove old traps. Existing traps cannot be refurbished in the model. It may make sense to make the end-of-life coincide with a new deployment.
nonHumanHostsModifications
→ scenario → interventions → nonHumanHostsModifications
<nonHumanHostsModifications>
IN THIS ORDER:
| ( <intervention ... /> )+
</nonHumanHostsModifications>
Documentation (element)
List of interventions that modify parameters of non-human hosts described in the
intervention
→ scenario → interventions → nonHumanHostsModifications → intervention
<intervention
name=string
nonHumanHostsName=string
>
IN THIS ORDER:
| <decay ... />
| <description ... />
| [ <timed ... /> ]
</intervention>
Documentation (type)
This intervention modifies parameters of non-human hosts described in the
The intervention is described by 5 parameters that define the change in each of non-human host parameters:
reduceAvailability: Reduction in the availability rate, αi. For example a value of 0 will result in no change; a value of 0.2 will reduce the availability to 0.8 of its initial value; and a value of 1 will set the availability to 0;
prePrandialKillingEffect: Reduction in the pre-prandial survival probability, PBi. For example a value of 0 will result in no change; a value of 0.2 will reduce PBi to 0.8 of its initial value; and a value of 1 will set PBi to 0;
postPrandialKillingEffect: Reduction in the post-prandial survival probability, PCi. For example a value of 0 will result in no change; a value of 0.2 will reduce PCi to 0.8 of its initial value; and a value of 1 will set PCi to 0;
restingKillingEffect: Reduction in the survival probability of the resting period, PDi. For example a value of 0 will result in no change; a value of 0.2 will reduce PDi to 0.8 of its initial value; and a value of 1 will set PDi to 0;
Attributes
Name of intervention
name=string
Name of intervention (e.g. larviciding, sugar bait).
Name of intervention
nonHumanHostsName=string
Name of intervention (e.g. larviciding, sugar bait).
decay
→ scenario → interventions → nonHumanHostsModifications → intervention → decay
<decay
function=("constant" or "step" or "linear" or "exponential" or "weibull" or "hill" or "smooth-compact" or "plus" or "minus" or "divides" or "multiplies")
[ L=string ]
[ k=double ] DEFAULT VALUE 1.0
[ CV=double ] DEFAULT VALUE 0
[ increasing=boolean ] DEFAULT VALUE false
[ initialEfficacy=double ] DEFAULT VALUE 1
[ rho=double ]
[ halflife_short=string ]
[ halflife_long=string ]
>
IN THIS ORDER:
| <decay ... />
</decay>
Documentation (type)
Specification of decay or survival of a parameter.
Attributes
function
function=("constant" or "step" or "linear" or "exponential" or "weibull" or "hill" or "smooth-compact" or "plus" or "minus" or "divides" or "multiplies")
Units: None Min: 0 Max: 1
Determines which decay function to use. Available decay functions, for age t in years: constant: 1 step: 1 for t less than L, otherwise 0 linear: 1 - t/L for t less than L, otherwise 0 exponential: exp( - t/L * log(2) ) weibull: exp( -(t/L)^k * log(2) ) hill: 1 / (1 + (t/L)^k) smooth-compact: exp( k - k / (1 - (t/L)^2) ) for t less than L, otherwise 0
L
L=string
Units: User-defined (defaults to years) Min: 0
(Time) scale parameter of distribution: this is either the age of complete decay (smooth-compact, step and linear functions) or the age at which the parameter has decayed to half its original value (exponential, weibull and hill). Not used when function="constant" (i.e. no decay). This value can be specified in years, days or steps (e.g. 2y, 180d or 100t). When the unit is not specified years are assumed. The value is used without rounding except when sampling an age of decay, when the rounding happens as late as possible.
k
k=double
Units: none Min: 0
Default value: 1.0
Shape parameter of distribution. If not specified, default value of 1 is used. Meaning depends on function; not used in some cases.
Coefficient of Variation
CV=double
Min: 0
Default value: 0
If CV is non-zero, heterogeneity of decay is introduced via a random variable sampled from the log-normal distribution. This distribution is parameterised with mean=1 and CV as given. The effective age of decay is the real age multiplied by this variable (for decay functions with a half-life, this is equivalent to dividing the half-life by the variable).
L
increasing=boolean
Units: User-defined (defaults to years) Min: 0
Default value: false
(Boolean) If True, this tells OpenMalaria to use the complement of the DecayFunction defined as 1-f(x). This is useful to model increasing functions that will "decay" to 1. This only works if f(x) is contained between 0 and 1.
initialEfficacy
initialEfficacy=double
Default value: 1
biphasic: Efficacy between 0 and 1.
rho
rho=double
biphasic: Proportion between 0 and 1, proportion of the response that is short-lived.
halflife_short
halflife_short=string
biphasic: halflife of short lived component (default to years).
halflife_long
halflife_long=string
biphasic: halflife of long lived component (default to years).
description
→ scenario → interventions → nonHumanHostsModifications → intervention → description
<description>
IN THIS ORDER:
| ( <anopheles ... /> )+
</description>
anopheles
→ scenario → interventions → nonHumanHostsModifications → intervention → description → anopheles
<anopheles
mosquito=string
>
IN ANY ORDER:
| [ <availabilityReduction ... /> ]
| [ <preprandialKillingEffect ... /> ]
| [ <postprandialKillingEffect ... /> ]
| [ <restingKillingEffect ... /> ]
| [ <fecundityReduction ... /> ]
</anopheles>
- availabilityReduction
- preprandialKillingEffect
- postprandialKillingEffect
- restingKillingEffect
- fecundityReduction
Documentation (type)
Descriptions of the effects of non human hosts interventions with per-species effects.
Attributes
Species/subspecies/variant name
mosquito=string
Name of the species/subspecies/variant.
availabilityReduction
→ scenario → interventions → nonHumanHostsModifications → intervention → description → anopheles → availabilityReduction
<availabilityReduction
initial=double
/>
Documentation (element)
Reduction in the availability rate, αi. For example a value of 0 will result in no change; a value of 0.2 will reduce the availability to 0.8 of its initial value; and a value of 1 will set the availability to 0;
Attributes
Initial proportion increase
initial=double
Units: dimensionless Min: -1 Max: inf
preprandialKillingEffect
→ scenario → interventions → nonHumanHostsModifications → intervention → description → anopheles → preprandialKillingEffect
<preprandialKillingEffect
initial=double
/>
Documentation (element)
Reduction in the pre-prandial survival probability, PBi. For example a value of 0 will result in no change; a value of 0.2 will reduce PBi to 0.8 of its initial value; and a value of 1 will set PBi to 0;
Attributes
Initial proportion increase
initial=double
Units: dimensionless Min: -1 Max: inf
postprandialKillingEffect
→ scenario → interventions → nonHumanHostsModifications → intervention → description → anopheles → postprandialKillingEffect
<postprandialKillingEffect
initial=double
/>
Documentation (element)
Reduction in the post-prandial survival probability, PCi. For example a value of 0 will result in no change; a value of 0.2 will reduce PCi to 0.8 of its initial value; and a value of 1 will set PCi to 0;
Attributes
Initial proportion increase
initial=double
Units: dimensionless Min: -1 Max: inf
restingKillingEffect
→ scenario → interventions → nonHumanHostsModifications → intervention → description → anopheles → restingKillingEffect
<restingKillingEffect
initial=double
/>
Documentation (element)
Reduction in the survival probability of the resting period, PDi. For example a value of 0 will result in no change; a value of 0.2 will reduce PDi to 0.8 of its initial value; and a value of 1 will set PDi to 0;
Attributes
Initial proportion increase
initial=double
Units: dimensionless Min: -1 Max: inf
fecundityReduction
→ scenario → interventions → nonHumanHostsModifications → intervention → description → anopheles → fecundityReduction
<fecundityReduction
initial=double
/>
Documentation (element)
Reduction in the number of fertile eggs laid by a mosquito after biting this type of host, relative to an unprotected human. For example a value of 0 will result in no change; a value of 0.2 will reduce the fecundity factor to 0.8 of its initial value; and a value of 1 will set the fecundity factor to 0;
Attributes
Initial proportion increase
initial=double
Units: dimensionless Min: -1 Max: inf
Vector population intervention deployment
→ scenario → interventions → nonHumanHostsModifications → intervention → timed
<timed>
IN THIS ORDER:
| ( <deploy ... /> )+
</timed>
Documentation (element)
List of timed vector population intervention deployment
addNonHumanHosts
→ scenario → interventions → addNonHumanHosts
<addNonHumanHosts>
IN THIS ORDER:
| ( <nonHumanHosts ... /> )+
</addNonHumanHosts>
Documentation (element)
List of intervention that add new non-human hosts that have not been described in the
nonHumanHosts
→ scenario → interventions → addNonHumanHosts → nonHumanHosts
<nonHumanHosts
name=string
>
IN THIS ORDER:
| <description ... />
| [ <timed ... /> ]
</nonHumanHosts>
Documentation (type)
Describes a new non-human hosts that have not been described in the
Attributes
Name of intervention
name=string
Name of intervention (e.g. larviciding, sugar bait).
description
→ scenario → interventions → addNonHumanHosts → nonHumanHosts → description
<description>
IN THIS ORDER:
| ( <anopheles ... /> )+
</description>
anopheles
→ scenario → interventions → addNonHumanHosts → nonHumanHosts → description → anopheles
<anopheles
mosquito=string
>
IN ANY ORDER:
| <mosqRelativeAvailabilityHuman ... />
| <mosqProbBiting ... />
| <mosqProbFindRestSite ... />
| <mosqProbResting ... />
| <hostFecundityFactor ... />
</anopheles>
- mosqRelativeAvailabilityHuman
- mosqProbBiting
- mosqProbFindRestSite
- mosqProbResting
- hostFecundityFactor
Documentation (type)
Descriptions of the effects of new non human hosts with per-species effects.
Attributes
Species/subspecies/variant name
mosquito=string
Name of the species/subspecies/variant.
Relative availability of non-human host (ξ_i)
→ scenario → interventions → addNonHumanHosts → nonHumanHosts → description → anopheles → mosqRelativeAvailabilityHuman
<mosqRelativeAvailabilityHuman
value=double
/>
Documentation (element)
Units: Proportion
Relative availability of the population of non-human hosts of type i to other non-human hosts; the sum of this across all non-human hosts must be 1.
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Probability of mosquito successfully biting host
→ scenario → interventions → addNonHumanHosts → nonHumanHosts → description → anopheles → mosqProbBiting
<mosqProbBiting
value=double
/>
Documentation (element)
Units: Proportion
Probability of mosquito successfully biting host
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Probability that the mosquito escapes host and finds a resting place after biting
→ scenario → interventions → addNonHumanHosts → nonHumanHosts → description → anopheles → mosqProbFindRestSite
<mosqProbFindRestSite
value=double
/>
Documentation (element)
Units: Proportion
Probability that the mosquito escapes host and finds a resting place after biting
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Probability of mosquito successfully resting after finding a resting site
→ scenario → interventions → addNonHumanHosts → nonHumanHosts → description → anopheles → mosqProbResting
<mosqProbResting
value=double
/>
Documentation (element)
Units: Proportion
Probability of mosquito successfully resting after finding a resting site
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Probability of mosquito successfully resting after finding a resting site
→ scenario → interventions → addNonHumanHosts → nonHumanHosts → description → anopheles → hostFecundityFactor
<hostFecundityFactor
value=double
/>
Documentation (element)
Units: Proportion
Multiplicative factor for the number of fertile eggs laid by a mosquito after biting this type of host, relative to an unprotected human.
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Vector trap intervention deployment
→ scenario → interventions → addNonHumanHosts → nonHumanHosts → timed
<timed>
IN THIS ORDER:
| ( <deploy ... /> )*
</timed>
Documentation (element)
List of timed vector trap intervention deployment
deploy
→ scenario → interventions → addNonHumanHosts → nonHumanHosts → timed → deploy
<deploy
time=string
lifespan=string
/>
Attributes
Time
time=string
Units: User defined (defauls to steps) Min: 0
Time at which this deployment occurs. See doc on intervention period and on monitoring/startDate for details of how times work. Can be specified in steps, days, years, or as a date (examples: 15t, 75d, 0.2y, 2000-03-16).
Lifespan
lifespan=string
Units: Steps or Days or Years
Life of the trap until replaced or removed, e.g. "73t" or "1y". After this time period, these traps will be removed from the simulation. New deployments do not automatically remove old traps. Existing traps cannot be refurbished in the model. It may make sense to make the end-of-life coincide with a new deployment.
Human-specific interventions
→ scenario → interventions → human
<human>
IN THIS ORDER:
| ( <component ... /> )+
| ( <deployment ... /> )*
</human>
Documentation (element)
Encapsulates all interventions whose effects are specific to the human host: any interventions where target humans may be selected via population-coverage, age limits and sub-population membership.
Component
→ scenario → interventions → human → component
<component
id=string
[ name=string ]
>
IN THIS ORDER:
| EXACTLY ONE OF:
| | <screen ... />
| | <treatSimple ... />
| | <treatPKPD ... />
| | <decisionTree ... />
| | <PEV ... />
| | <BSV ... />
| | <TBV ... />
| | <ITN ... />
| | <IRS ... />
| | <GVI ... />
| | [ <recruitmentOnly ... /> ]
| | <clearImmunity ... />
| [ <subPopRemoval ... /> ]
</component>
- screen
- treatSimple
- treatPKPD
- decisionTree
- PEV
- BSV
- TBV
- ITN
- IRS
- GVI
- recruitmentOnly
- clearImmunity
- subPopRemoval
Documentation (element)
A parameterisation of an effect achieved by one component of an intervention. (An intervention is described as the effects of a set of components plus deployments of those components. This describes the components individually, not deployments or which components comprise an intervention.)
Each element describes one component: its effects, decay of the(se) effect(s), and related stuff (e.g. description of indirect decay and of usage levels).
Different interventions can deploy the same component to the same perso. In most cases this will just deploy a fresh instance (e.g. a new bed net will replace the old (nobody uses multiple bed nets), or a new drug dose will act on top of previous doses, or in the case of a vaccine, effect depends on the total number of previous inoculations (including from other interventions).
Where multiple components of the same type (but with different ids) are deployed (whether within a single intervention or by multiple interventions), they act independently (e.g. two bed nets deployed to a single host would act to reduce attractiveness or survival of mosquitoes biting that host twice — this may be useful to simulate some novel vector intervention since the two nets may have separate parameters).
Attributes
Component identifier
id=string
A short name or code identifying the intervention component (used to refer to this component when describing an intervention). Also the id of the sub-population defined as those hosts who have received this intervention and who haven't subsequently been removed from the sub-population.
Name of component
name=string
An informal name/description for the component
screen
→ scenario → interventions → human → component → screen
<screen
diagnostic=string
>
IN THIS ORDER:
| ( <positive ... /> )*
| ( <negative ... /> )*
</screen>
Documentation (type)
This can be combined with MDA to achieve mass screen and treat (MSAT) or other types of mass screening intervention.
When deployed to a host, this simulates a test of patent malaria (microscopy, RDT or some such), then triggers deployment of whichever intervention components are configured (deployments for both positive and negative test outcomes can be configured).
The use of the screening itself is reported (if enabled), but not the outcome. Deployment of interventions triggered by the screening may be reported, however.
Attributes
Name of diagnostic
diagnostic=string
Name of a parameterised diagnostic (see scenario/diagnostics).
positive
→ scenario → interventions → human → component → screen → positive
<positive
id=string
/>
Documentation (type)
The list of components deployed to eligible humans.
Attributes
Identifier
id=string
The identifier (short name) of a component.
negative
→ scenario → interventions → human → component → screen → negative
<negative
id=string
/>
Documentation (type)
The list of components deployed to eligible humans.
Attributes
Identifier
id=string
The identifier (short name) of a component.
treatSimple
→ scenario → interventions → human → component → treatSimple
<treatSimple
durationLiver=string
durationBlood=string
/>
Documentation (type)
Simple treatment model, targetting liver- and/or blood-stage infections. This is all-or-nothing treatment which, when deploymed, completely clears all infections of the targetted stages. This makes it unsuitable for modeling resistance, but suitable for use with simple infection models.
Infections are considered liver-stage when less than five days old and blood-stage after that. Effects are described independently for the two stages.
Attributes
Length of liver-stage effect
durationLiver=string
Units: User defined
Controls action on liver-stage infections. 0 means no action, -1 step is a compatibility option to act like treatment before schema version 32 (which removed infections retrospectively), 1 step or any duration which equals some whole number of steps n>0 means to clear all liver-stage infections found on the next 1 or n steps. Note on -1 compatibility option: the main difference to 1 step (clearing on the next timestep) is that parasite densities will be reduced immediately, and thus from the point of view of surveys and mass screen and treat interventions a peak in density which is immediately treated through case management will not be seen. Can be specified in steps (e.g. 1t, -1t) or days (e.g. 5d).
Length of blood-stage effect
durationBlood=string
Units: User defined
Controls action on blood-stage infections. 0 means no action, -1 step is a compatibility option to act like treatment before schema version 32 (which removed infections retrospectively), 1 step or any duration which equals some whole number of steps n>0 means to clear all blood-stage infections found on the next 1 or n steps. Note on -1 compatibility option: the main difference to 1 step (clearing on the next timestep) is that parasite densities will be reduced immediately, and thus from the point of view of surveys and mass screen and treat interventions a peak in density which is immediately treated through case management will not be seen. Can be specified in steps (e.g. 1t, -1t) or days (e.g. 5d).
treatPKPD
→ scenario → interventions → human → component → treatPKPD
<treatPKPD
schedule=string
dosage=string
[ delay_h=double ] DEFAULT VALUE 0
/>
Documentation (type)
A command to administer drugs according to a given schedule and dosage table, optionally with a delay.
Attributes
Name of treatment schedule
schedule=string
The name of a schedule to use for treatment.
Name of dosage table
dosage=string
The name of a dosage table to use for treatment.
Delay (hours)
delay_h=double
Default value: 0
Optionally, this can be given to delay the start of treatment by a given number of hours. If not specified, treatment is not delayed. If a delay is given, all medications within the treatment schedule used are delayed by this number of hours.
decisionTree
→ scenario → interventions → human → component → decisionTree
<decisionTree
[ name=string ]
>
EXACTLY ONE OF:
| <multiple ... />
| <caseType ... />
| <diagnostic ... />
| <uncomplicated ... />
| <severe ... />
| <random ... />
| <age ... />
| <noTreatment ... />
| ( <report ... /> )+
| <treatFailure ... />
| ( <treatPKPD ... /> )+
| ( <treatSimple ... /> )+
| ( <deploy ... /> )*
| <cohort ... />
</decisionTree>
- multiple
- caseType
- diagnostic
- uncomplicated
- severe
- random
- age
- noTreatment
- report
- treatFailure
- treatPKPD
- treatSimple
- deploy
- cohort
Documentation (type)
Describes how "decisions" are made, both probabilistically and deterministically, and what actions are carried out.
Quantities may also be reported as a side effect of decisions made in the tree, for example the number of diagnostics used.
Attributes
Name
name=string
An optional piece of documentation attached to this node.
Vaccines
→ scenario → interventions → human → component → PEV
<PEV>
IN THIS ORDER:
| <decay ... />
| <efficacyB ... />
| ( <initialEfficacy ... /> )*
| ( <phenotype ... /> )*
</PEV>
Documentation (element)
Pre-erythrocytic vaccine (PEV): prevents a proportion of infections from commencing.
Documentation (type)
Description of a vaccine's effect
Decay of effect
→ scenario → interventions → human → component → PEV → decay
<decay
function=("constant" or "step" or "linear" or "exponential" or "weibull" or "hill" or "smooth-compact" or "plus" or "minus" or "divides" or "multiplies")
[ L=string ]
[ k=double ] DEFAULT VALUE 1.0
[ CV=double ] DEFAULT VALUE 0
[ increasing=boolean ] DEFAULT VALUE false
[ initialEfficacy=double ] DEFAULT VALUE 1
[ rho=double ]
[ halflife_short=string ]
[ halflife_long=string ]
>
IN THIS ORDER:
| <decay ... />
</decay>
Documentation (element)
Specification of decay of efficacy. Documentation: see DecayFunction type or https://github.com/SwissTPH/openmalaria/wiki/ModelDecayFunctions
Documentation (type)
Specification of decay or survival of a parameter.
Attributes
function
function=("constant" or "step" or "linear" or "exponential" or "weibull" or "hill" or "smooth-compact" or "plus" or "minus" or "divides" or "multiplies")
Units: None Min: 0 Max: 1
Determines which decay function to use. Available decay functions, for age t in years: constant: 1 step: 1 for t less than L, otherwise 0 linear: 1 - t/L for t less than L, otherwise 0 exponential: exp( - t/L * log(2) ) weibull: exp( -(t/L)^k * log(2) ) hill: 1 / (1 + (t/L)^k) smooth-compact: exp( k - k / (1 - (t/L)^2) ) for t less than L, otherwise 0
L
L=string
Units: User-defined (defaults to years) Min: 0
(Time) scale parameter of distribution: this is either the age of complete decay (smooth-compact, step and linear functions) or the age at which the parameter has decayed to half its original value (exponential, weibull and hill). Not used when function="constant" (i.e. no decay). This value can be specified in years, days or steps (e.g. 2y, 180d or 100t). When the unit is not specified years are assumed. The value is used without rounding except when sampling an age of decay, when the rounding happens as late as possible.
k
k=double
Units: none Min: 0
Default value: 1.0
Shape parameter of distribution. If not specified, default value of 1 is used. Meaning depends on function; not used in some cases.
Coefficient of Variation
CV=double
Min: 0
Default value: 0
If CV is non-zero, heterogeneity of decay is introduced via a random variable sampled from the log-normal distribution. This distribution is parameterised with mean=1 and CV as given. The effective age of decay is the real age multiplied by this variable (for decay functions with a half-life, this is equivalent to dividing the half-life by the variable).
L
increasing=boolean
Units: User-defined (defaults to years) Min: 0
Default value: false
(Boolean) If True, this tells OpenMalaria to use the complement of the DecayFunction defined as 1-f(x). This is useful to model increasing functions that will "decay" to 1. This only works if f(x) is contained between 0 and 1.
initialEfficacy
initialEfficacy=double
Default value: 1
biphasic: Efficacy between 0 and 1.
rho
rho=double
biphasic: Proportion between 0 and 1, proportion of the response that is short-lived.
halflife_short
halflife_short=string
biphasic: halflife of short lived component (default to years).
halflife_long
halflife_long=string
biphasic: halflife of long lived component (default to years).
Variance parameter for vaccine efficacy
→ scenario → interventions → human → component → PEV → efficacyB
<efficacyB
value=double
/>
Documentation (element)
Units: Positive real Min: 0.001 Max: 1.00E+06
Measure of variation in vaccine efficacy: efficacy is sampled from a beta distribution with efficacyB its beta parameter and its alpha parameter fixed such that the mean is that given by initialEfficacy.
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Initial mean efficacy
→ scenario → interventions → human → component → PEV → initialEfficacy
<initialEfficacy
value=double
/>
Documentation (element)
Units: dimensionless Min: 0 Max: 1
Mean efficacy values before decay (see efficacyB and decay parameter descriptions for sampling and decay). The i-th value in this list is used for the efficacy of the vaccine after the i-th dose. Where more doses are given than there are values in this list, the last value is repeated.
Attributes
Input parameter value
value=double
A double-precision floating-point value.
PD parameters for some allele / resistance phenotype
→ scenario → interventions → human → component → PEV → phenotype
<phenotype
[ name=string ]
>
IN THIS ORDER:
| ( <restriction ... /> )*
| ( <initialEfficacy ... /> )+
</phenotype>
Documentation (element)
Pharmaco-Dynamic parameters for some resistance phenotype.
To model resistance to this drug, describe multiple infection phenotypes (with respect to these PD parameters) and list one or more "restrict" elements for each phenotype.
Loci are specified elsewhere. Multiple loci may influence the action of a single drug and each locus may influence multiple drugs.
Attributes
Name of phenotype
name=string
Name of the phenotype; for documentation use only.
restriction
→ scenario → interventions → human → component → PEV → phenotype → restriction
<restriction
onLocus=string
toAllele=string
/>
Documentation (type)
Specifies the mapping from genotype to phenotype. For each drug type, if only one phenotype is present, restrictions need not be specified, but otherwise restrictions must be specified.
The set of loci affecting phenotypes of this drug's action must be fixed for any drug type. Each phenotype must list, for each of these loci, a restriction to one or more alleles under the locus.
Attributes
Locus relevant to the mapping of alleles to this phenotype
onLocus=string
A locus under which only a restricted set of alleles map to this phenotype.
Alleles mapping to this phenotype
toAllele=string
One allele of a locus upon which phenotype choice depends. If multiple alleles under this locus should map to the same phenotype, repeat the whole "restriction onLocus..." element.
Initial mean efficacy
→ scenario → interventions → human → component → PEV → phenotype → initialEfficacy
<initialEfficacy
value=double
/>
Documentation (element)
Units: dimensionless Min: 0 Max: 1
Mean efficacy values before decay (see efficacyB and decay parameter descriptions for sampling and decay). The i-th value in this list is used for the efficacy of the vaccine after the i-th dose. Where more doses are given than there are values in this list, the last value is repeated.
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Vaccines
→ scenario → interventions → human → component → BSV
<BSV>
IN THIS ORDER:
| <decay ... />
| <efficacyB ... />
| ( <initialEfficacy ... /> )*
| ( <phenotype ... /> )*
</BSV>
Documentation (element)
Blood-stage vaccine (BSV): acts as a killing factor on blood-stage parasites. Exact action depends on the within host model.
Documentation (type)
Description of a vaccine's effect
Vaccines
→ scenario → interventions → human → component → TBV
<TBV>
IN THIS ORDER:
| <decay ... />
| <efficacyB ... />
| ( <initialEfficacy ... /> )*
| ( <phenotype ... /> )*
</TBV>
Documentation (element)
Transmission-blocking vaccine (TBV): one minus this scales the probability of transmission to mosquitoes
Documentation (type)
Description of a vaccine's effect
Bed nets
→ scenario → interventions → human → component → ITN
<ITN>
IN THIS ORDER:
| [ <usage ... /> ]
| <holeRate ... />
| <ripRate ... />
| <ripFactor ... />
| <initialInsecticide ... />
| <insecticideDecay ... />
| <attritionOfNets ... />
| ( <anophelesParams ... /> )+
</ITN>
- usage
- holeRate
- ripRate
- ripFactor
- initialInsecticide
- insecticideDecay
- attritionOfNets
- anophelesParams
Documentation (element)
Description of bed-net interventions (ITNs, LLINs).
Proportion of time nets are used by humans
→ scenario → interventions → human → component → ITN → usage
<usage
value=double
/>
Documentation (element)
Units: dimensionless Min: 0 Max: 1
Usage of nets by humans, from 0 to 1.
At the moment this is constant across humans and deterministic: relative attractiveness and survival factors are base*(1-usagepropActing) + intervention_factorusage*propActing.
See also "propActing" (proportion of bits for which net acts).
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Rate at which holes are made
→ scenario → interventions → human → component → ITN → holeRate
<holeRate
[ CV=double ]
[ distr=("const" or "lognormal" or "gamma") ] DEFAULT VALUE const
[ variance=double ]
mean=double
/>
Documentation (element)
Units: Holes per annum Min: 0
The rate at which new holes are made in nets.
nHoles(t) = nHoles(t-1) + X where X~Pois(R/T) where T is the number of time-steps per year. R is sampled from log-normal: R ~ log N( log(mean)-sigma²/2, sigma² ) and is covariant with ripRate and insecticideDecay. (To be exact, a single Gaussian sample is taken, adjusted for each sigma then exponentiated.)
Documentation (type)
A parameter with optional log-normal heterogeneity.
The mean value must be specified. Optionally, a distribution ("distr") and coefficient of variation ("CV") may be specified.
Documentation (base type)
A parameter with optional heterogeneity.
The mean cannot be specified (unless this type is extended). Optionally, a distribution ("distr") and coefficient of variation ("CV") may be specified.
Attributes
Coefficient of variation
CV=double
Units: unitless
The (linear) coefficient of variation. This value must be specified when a (non-constant) distribution is used. Note: since version 46, variance can be used instead. Note that specifying CV="0" has the same effect as distr="const" and disables sampling of this parameter, even if distr is not "const".
Distribution
distr=("const" or "lognormal" or "gamma")
Default value: const
To allow heterogeneity, a distribution must be specified. Valid options are as follows. "const": no variation or sampling. Specifying distr="const" has the same effect as not specifying distr at all. "lognormal": the parameter is sampled from a log-normal distribution. Note that the "mean" and "CV" values are linear (arithmetic) properties of the distribution and not log-space properties.
Coefficient of variation
variance=double
Units: unitless
The variance parameter of the distirbution. This value can be specified when a (non-constant) distribution is used. Note that specifying variance="0" has the same effect as distr="const" and disables sampling of this parameter, even if distr is not "const".
mean
mean=double
The (linear) mean value.
Rate at which holes are enlarged
→ scenario → interventions → human → component → ITN → ripRate
<ripRate
[ CV=double ]
[ distr=("const" or "lognormal" or "gamma") ] DEFAULT VALUE const
[ variance=double ]
mean=double
/>
Documentation (element)
Units: Rips per existing hole per annum Min: 0
Each existing hole has a probability of being ripped bigger according to a Poisson process with this rate as (only) parameter.
New rips occur in a net at rate X~Pois(h×R/T) where h is the number of existing holes and T the number of time-steps per year. R is sampled from log-normal: R ~ log N( log(mean)-sigma²/2, sigma² ) and is covariant with holeRate and insecticideDecay. (To be exact, a single Gaussian sample is taken, adjusted for the each and sigma then exponentiated.)
Documentation (type)
A parameter with optional log-normal heterogeneity.
The mean value must be specified. Optionally, a distribution ("distr") and coefficient of variation ("CV") may be specified.
Documentation (base type)
A parameter with optional heterogeneity.
The mean cannot be specified (unless this type is extended). Optionally, a distribution ("distr") and coefficient of variation ("CV") may be specified.
Attributes
Coefficient of variation
CV=double
Units: unitless
The (linear) coefficient of variation. This value must be specified when a (non-constant) distribution is used. Note: since version 46, variance can be used instead. Note that specifying CV="0" has the same effect as distr="const" and disables sampling of this parameter, even if distr is not "const".
Distribution
distr=("const" or "lognormal" or "gamma")
Default value: const
To allow heterogeneity, a distribution must be specified. Valid options are as follows. "const": no variation or sampling. Specifying distr="const" has the same effect as not specifying distr at all. "lognormal": the parameter is sampled from a log-normal distribution. Note that the "mean" and "CV" values are linear (arithmetic) properties of the distribution and not log-space properties.
Coefficient of variation
variance=double
Units: unitless
The variance parameter of the distirbution. This value can be specified when a (non-constant) distribution is used. Note that specifying variance="0" has the same effect as distr="const" and disables sampling of this parameter, even if distr is not "const".
mean
mean=double
The (linear) mean value.
Rip factor
→ scenario → interventions → human → component → ITN → ripFactor
<ripFactor
value=double
/>
Documentation (element)
Units: none Min: 0
This factor expresses how important rips are in increasing the hole.
The hole index of a net is h + F×x where h and x are the total numbers of holes and rips respectively and F is the rip factor.
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Initial insecticide
→ scenario → interventions → human → component → ITN → initialInsecticide
<initialInsecticide
mean=double
[ SD=double ]
[ distr=("const" or "normal") ] DEFAULT VALUE const
/>
Documentation (element)
Units: mg/m² Min: 0
The insecticide concentration of new nets is Gaussian distributed with mean "mu" and a standard deviation "sigma". The standard deviation should be small relative to the mean to avoid negative initial concentration. Any negative values sampled are set to 0.
Documentation (type)
A parameter with optional heterogeneity.
Optionally, a distribution ("distr") and standard of deviation ("SD") may be specified.
Attributes
mean
mean=double
The mean value.
standard deviation
SD=double
The standard deviation of variates.
Distribution
distr=("const" or "normal")
Default value: const
To allow heterogeneity, a distribution must be specified. Valid options are as follows. "const": no variation or sampling. Specifying distr="const" has the same effect as not specifying distr at all. "normal": the parameter is sampled from a normal distribution.
Decay of insecticide
→ scenario → interventions → human → component → ITN → insecticideDecay
<insecticideDecay
function=("constant" or "step" or "linear" or "exponential" or "weibull" or "hill" or "smooth-compact" or "plus" or "minus" or "divides" or "multiplies")
[ L=string ]
[ k=double ] DEFAULT VALUE 1.0
[ CV=double ] DEFAULT VALUE 0
[ increasing=boolean ] DEFAULT VALUE false
[ initialEfficacy=double ] DEFAULT VALUE 1
[ rho=double ]
[ halflife_short=string ]
[ halflife_long=string ]
>
IN THIS ORDER:
| <decay ... />
</insecticideDecay>
Documentation (element)
Units: none
Decay curve for insecticide content of nets. Documentation: see DecayFunction type or https://github.com/SwissTPH/openmalaria/wiki/ModelDecayFunctions
The distribution of decay rates over nets is covariant with the distribution of ripRate and holeRate over nets. This distribution is generated by taking one sample per net from a Gaussian distribution with mean 0 and standard deviation 1. For each variable, the sample is multiplied by the respective sigma and a constant added such that, once exponentiated, the mean of the variable over nets is 1. The variable is then exponentiated and multiplied by the required mean rate for the respective variable.
Documentation (type)
Specification of decay or survival of a parameter.
Attributes
function
function=("constant" or "step" or "linear" or "exponential" or "weibull" or "hill" or "smooth-compact" or "plus" or "minus" or "divides" or "multiplies")
Units: None Min: 0 Max: 1
Determines which decay function to use. Available decay functions, for age t in years: constant: 1 step: 1 for t less than L, otherwise 0 linear: 1 - t/L for t less than L, otherwise 0 exponential: exp( - t/L * log(2) ) weibull: exp( -(t/L)^k * log(2) ) hill: 1 / (1 + (t/L)^k) smooth-compact: exp( k - k / (1 - (t/L)^2) ) for t less than L, otherwise 0
L
L=string
Units: User-defined (defaults to years) Min: 0
(Time) scale parameter of distribution: this is either the age of complete decay (smooth-compact, step and linear functions) or the age at which the parameter has decayed to half its original value (exponential, weibull and hill). Not used when function="constant" (i.e. no decay). This value can be specified in years, days or steps (e.g. 2y, 180d or 100t). When the unit is not specified years are assumed. The value is used without rounding except when sampling an age of decay, when the rounding happens as late as possible.
k
k=double
Units: none Min: 0
Default value: 1.0
Shape parameter of distribution. If not specified, default value of 1 is used. Meaning depends on function; not used in some cases.
Coefficient of Variation
CV=double
Min: 0
Default value: 0
If CV is non-zero, heterogeneity of decay is introduced via a random variable sampled from the log-normal distribution. This distribution is parameterised with mean=1 and CV as given. The effective age of decay is the real age multiplied by this variable (for decay functions with a half-life, this is equivalent to dividing the half-life by the variable).
L
increasing=boolean
Units: User-defined (defaults to years) Min: 0
Default value: false
(Boolean) If True, this tells OpenMalaria to use the complement of the DecayFunction defined as 1-f(x). This is useful to model increasing functions that will "decay" to 1. This only works if f(x) is contained between 0 and 1.
initialEfficacy
initialEfficacy=double
Default value: 1
biphasic: Efficacy between 0 and 1.
rho
rho=double
biphasic: Proportion between 0 and 1, proportion of the response that is short-lived.
halflife_short
halflife_short=string
biphasic: halflife of short lived component (default to years).
halflife_long
halflife_long=string
biphasic: halflife of long lived component (default to years).
Attrition of nets
→ scenario → interventions → human → component → ITN → attritionOfNets
<attritionOfNets
function=("constant" or "step" or "linear" or "exponential" or "weibull" or "hill" or "smooth-compact" or "plus" or "minus" or "divides" or "multiplies")
[ L=string ]
[ k=double ] DEFAULT VALUE 1.0
[ CV=double ] DEFAULT VALUE 0
[ increasing=boolean ] DEFAULT VALUE false
[ initialEfficacy=double ] DEFAULT VALUE 1
[ rho=double ]
[ halflife_short=string ]
[ halflife_long=string ]
>
IN THIS ORDER:
| <decay ... />
</attritionOfNets>
Documentation (element)
Units: dimensionless
Specifies the rate at which nets are disposed of over time. Documentation: see DecayFunction type or https://github.com/SwissTPH/openmalaria/wiki/ModelDecayFunctions
In the current model, nets are disposed of randomly (no correlation with state of decay) such that the chance of each net surviving until age t is the value of this decay function at time t. Equivalently (where a large number of nets are distributed at the same time), the proportion of nets remaining in use should match this decay function over time.
Humans are removed from the intervention component's sub-population on disposal (attrition) of their nets. Currently this event is not reported.
Documentation (type)
Specification of decay or survival of a parameter.
Attributes
function
function=("constant" or "step" or "linear" or "exponential" or "weibull" or "hill" or "smooth-compact" or "plus" or "minus" or "divides" or "multiplies")
Units: None Min: 0 Max: 1
Determines which decay function to use. Available decay functions, for age t in years: constant: 1 step: 1 for t less than L, otherwise 0 linear: 1 - t/L for t less than L, otherwise 0 exponential: exp( - t/L * log(2) ) weibull: exp( -(t/L)^k * log(2) ) hill: 1 / (1 + (t/L)^k) smooth-compact: exp( k - k / (1 - (t/L)^2) ) for t less than L, otherwise 0
L
L=string
Units: User-defined (defaults to years) Min: 0
(Time) scale parameter of distribution: this is either the age of complete decay (smooth-compact, step and linear functions) or the age at which the parameter has decayed to half its original value (exponential, weibull and hill). Not used when function="constant" (i.e. no decay). This value can be specified in years, days or steps (e.g. 2y, 180d or 100t). When the unit is not specified years are assumed. The value is used without rounding except when sampling an age of decay, when the rounding happens as late as possible.
k
k=double
Units: none Min: 0
Default value: 1.0
Shape parameter of distribution. If not specified, default value of 1 is used. Meaning depends on function; not used in some cases.
Coefficient of Variation
CV=double
Min: 0
Default value: 0
If CV is non-zero, heterogeneity of decay is introduced via a random variable sampled from the log-normal distribution. This distribution is parameterised with mean=1 and CV as given. The effective age of decay is the real age multiplied by this variable (for decay functions with a half-life, this is equivalent to dividing the half-life by the variable).
L
increasing=boolean
Units: User-defined (defaults to years) Min: 0
Default value: false
(Boolean) If True, this tells OpenMalaria to use the complement of the DecayFunction defined as 1-f(x). This is useful to model increasing functions that will "decay" to 1. This only works if f(x) is contained between 0 and 1.
initialEfficacy
initialEfficacy=double
Default value: 1
biphasic: Efficacy between 0 and 1.
rho
rho=double
biphasic: Proportion between 0 and 1, proportion of the response that is short-lived.
halflife_short
halflife_short=string
biphasic: halflife of short lived component (default to years).
halflife_long
halflife_long=string
biphasic: halflife of long lived component (default to years).
anophelesParams
→ scenario → interventions → human → component → ITN → anophelesParams
<anophelesParams
mosquito=string
[ propActive=double ] DEFAULT VALUE 1
>
IN THIS ORDER:
| [ <holeIndexMax ... /> ]
| EXACTLY ONE OF:
| | <deterrency ... />
| | <twoStageDeterrency ... />
| EXACTLY ONE OF:
| | <preprandialKillingEffect ... />
| | <preprandialKillingEffectLogit ... />
| EXACTLY ONE OF:
| | <postprandialKillingEffect ... />
| | <postprandialKillingEffectLogit ... />
| EXACTLY ONE OF:
| | [ <fecundityReduction ... /> ]
| | [ <fecundityReductionLogit ... /> ]
</anophelesParams>
- holeIndexMax
- deterrency
- twoStageDeterrency
- preprandialKillingEffect
- preprandialKillingEffectLogit
- postprandialKillingEffect
- postprandialKillingEffectLogit
- fecundityReduction
- fecundityReductionLogit
Attributes
Mosquito species
mosquito=string
Name of the affected anopheles-mosquito species.
Proportion of bites for which net acts
propActive=double
Units: dimensionless Min: 0 Max: 1
Default value: 1
Deprecated: propActive can still be used but its value must be set to either 0 or 1. Any other value will result in an error at initialization. The proportion of bites, when nets are in use, for which the net has any action whatsoever on the mosquito. At the moment this is constant across humans and deterministic: relative attractiveness and survival factors are base*(1-usagepropActing) + intervention_factorusage*propActing. See also "usage" (proportion of time nets are used by humans).
maximum of holed surface area that has an effect (comparable to no net)
→ scenario → interventions → human → component → ITN → anophelesParams → holeIndexMax
<holeIndexMax
value=double
/>
Documentation (element)
Units: in same unit as holeIndex
Used by logit attacking and killing models only, holeIndexMax is a user defined maximum hole index (typically, the total surface area of a net).
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Relative attractiveness
→ scenario → interventions → human → component → ITN → anophelesParams → deterrency
<deterrency
insecticideFactor=double
insecticideScalingFactor=double
holeFactor=double
interactionFactor=double
holeScalingFactor=double
/>
Documentation (element)
Units: dimensionless Min: 0 Max: 1
Effect of net on attractiveness of humans to mosquitoes relative to an unprotected adult human. Parameterisations should take into account that mosquitoes do not always bite indoors.
Attractiveness of the human is multiplied by exp(log(H)×h + log(P)×p + log(I)×h×p where H, P and I are the hole, insecticide and interaction factors respectively, h=exp(-holeIndex×holeScalingFactor) and p=1−exp(-insecticideContent×insecticideScalingFactor).
Attributes
Insecticide factor
insecticideFactor=double
Units: none Max: 1
Value expected to be at least 0. Negative values are not necessarily invalid, but allow nets to increase transmission.
Insecticide scaling factor
insecticideScalingFactor=double
Units: none Min: 0
Hole factor
holeFactor=double
Units: none Max: 1
Value expected to be at least 0. Negative values are not necessarily invalid, but allow nets to increase transmission.
Interaction factor
interactionFactor=double
Units: none Max: 1
holeFactor + insecticideFactor + interactionFactor must not be greater than 1, and is expected to be at least 0. A negative value is not necessarily invalid, but allows nets to increase transmission.
Hole scaling factor
holeScalingFactor=double
Units: none Min: 0
Relative attractiveness
→ scenario → interventions → human → component → ITN → anophelesParams → twoStageDeterrency
<twoStageDeterrency>
IN THIS ORDER:
| EXACTLY ONE OF:
| | <entering ... />
| | <enteringLogit ... />
| EXACTLY ONE OF:
| | <attacking ... />
| | <attackingLogit ... />
</twoStageDeterrency>
Documentation (element)
Units: dimensionless
Effect of net on attractiveness of humans to mosquitoes relative to an unprotected adult human. Parameterisations should take into account that mosquitoes do not always bite indoors.
This deterrency model multiplies human attractiveness by pEnt×pAtt.
Deterrency: entering
→ scenario → interventions → human → component → ITN → anophelesParams → twoStageDeterrency → entering
<entering
insecticideFactor=double
insecticideScalingFactor=double
/>
Documentation (element)
Units: dimensionless
pEnt represents the relative probability of entering due to ITNs: pEnt = exp(log(P)×p) where P is the insecticide factor and p=1−exp(-insecticideContent×insecticideScalingFactor).
Attributes
Insecticide factor
insecticideFactor=double
Units: none Max: 1
Value expected to be at least 0. Negative values are not necessarily invalid, but allow nets to increase transmission.
Insecticide scaling factor
insecticideScalingFactor=double
Units: none Min: 0
Deterrency: entering (logit model)
→ scenario → interventions → human → component → ITN → anophelesParams → twoStageDeterrency → enteringLogit
<enteringLogit
baseFactor=double
insecticideFactor=double
/>
Documentation (element)
Units: dimensionless
pEnt represents the relative probability of entering due to insecticide in the hut: pEnt = exp(logit.pEnt) / (exp(logit.pEnt) + 1) logit.pEnt = B + P * p where B is the basefactor (without net); P is insecticide factor, and p = log(insecticideContent+1). Without a net, probability of entering a house is pEnt0 = exp(logit.pEnt0) / (exp(logit.pEnt0) + 1) logit.pEnt0 = B Entering of mosquitoes is adjusted via multiplication by pEnt / pEnt0. To keep this in the range [0,1], we (normally) require that pEnt ≤ pEnt0 and thus P ≤ 0 and give a warning if this is not fulfilled.
Attributes
Base factor
baseFactor=double
Units: none
See parent element documentation
Insecticide factor
insecticideFactor=double
Units: none
See parent element documentation
Deterrency: attacking
→ scenario → interventions → human → component → ITN → anophelesParams → twoStageDeterrency → attacking
<attacking
insecticideFactor=double
insecticideScalingFactor=double
holeFactor=double
interactionFactor=double
holeScalingFactor=double
baseFactor=double
/>
Documentation (element)
Units: dimensionless
pAtt represents the relative probability of attacking a human after entering a house due to ITNs (i.e. of feeding/dying vs. flying off): pAtt = B + H×h + P×p + I×h×p where B is the base (without net) probability; H, P and I are the hole, insecticide and interaction factors respectively, h=exp(-holeIndex × holeScalingFactor) and p=1 - exp(-insecticideContent × insecticideScalingFactor).
Attributes
Insecticide factor
insecticideFactor=double
Units: none Max: 1
Value expected to be at least 0. Negative values are not necessarily invalid, but allow nets to increase transmission.
Insecticide scaling factor
insecticideScalingFactor=double
Units: none Min: 0
Hole factor
holeFactor=double
Units: none Max: 1
Value expected to be at least 0. Negative values are not necessarily invalid, but allow nets to increase transmission.
Interaction factor
interactionFactor=double
Units: none Max: 1
holeFactor + insecticideFactor + interactionFactor must not be greater than 1, and is expected to be at least 0. A negative value is not necessarily invalid, but allows nets to increase transmission.
Hole scaling factor
holeScalingFactor=double
Units: none Min: 0
Probability of mosquito death without intervention
baseFactor=double
Units: dimensionless
Deterrency: attacking (logit model)
→ scenario → interventions → human → component → ITN → anophelesParams → twoStageDeterrency → attackingLogit
<attackingLogit
baseFactor=double
insecticideFactor=double
holeFactor=double
interactionFactor=double
/>
Documentation (element)
Units: dimensionless
pAtt represents the relative probability of attacking a human after entering a house due to ITNs (i.e. of feeding/dying vs. flying off): pAtt = exp(logit.pAtt) / (exp(logit.pAtt) + 1) logit.pAtt = B + H×min(h, hMax) + P×p + I×min(h, hMax)×p where B is the base factor (without net); H, P and I are the hole, insecticide and interaction factors respectively, and: h = log(holeIndex + 1) p = log(insecticideContent + 1) Without a net, probability of attacking a human after entering a house is pAtt0 = exp(logit.pAtt0) / (exp(logit.pAtt0) + 1) logit.pAtt0 = B + H×hMax where hMax=log(holeIndexMax + 1) and holeIndexMax is a user defined maximum hole index (typically, the total surface area of a net). Attacking of mosquitoes is adjusted via multiplication by pAtt / pAtt0. This may be larger and smaller than 1 (but will not be negative). By definition (through the logit transformation) pAtt0 > 0.
Attributes
Base factor
baseFactor=double
Units: dimensionless
Logit of the probability (e.g. of death, of entry, of attacking) without intervention.
Insecticide factor
insecticideFactor=double
Units: none
Coefficient of log(insecticide content+1) in a generalized linear model with logit link function.
Hole factor
holeFactor=double
Units: none
Coefficient of log(total holed surface area (in cm2) +1) in a generalized linear model with logit link function.
Interaction factor
interactionFactor=double
Units: none
Coefficient of the interaction term of log(total holed surface area (in cm2) +1) with log(insecticide content+1) in a generalized linear model with logit link function.
Pre-prandial killing effect
→ scenario → interventions → human → component → ITN → anophelesParams → preprandialKillingEffect
<preprandialKillingEffect
insecticideFactor=double
insecticideScalingFactor=double
holeFactor=double
interactionFactor=double
holeScalingFactor=double
baseFactor=double
/>
Documentation (element)
Units: dimensionless Min: 0 Max: 1
Effect of net on survival mosquitoes as they seek to bite a human after choosing that human, relative to the same person not sleeping under a net. Parameterisations should take into account that mosquitoes do not always bite indoors.
Killing proportion is calculated as K = B + H×h + P×p + I×h×p where B is the base (without net) probability of death, H, P and I are the hole, insecticide and interaction factors respectively, h=exp(-holeIndex×holeScalingFactor) and p=1−exp(-insecticideContent×insecticideScalingFactor).
Survival of mosquitoes is adjusted via multiplication by (1−K) / (1−B). To keep this in the range [0,1], we require that B+H ≤ 1, B+P ≤ 1, B+H+P+I ≤ 1, H ≥ 0, P ≥ 0 and H+P+I ≥ 0.
Attributes
Insecticide factor
insecticideFactor=double
Units: none Max: 1
Value expected to be at least 0. Negative values are not necessarily invalid, but allow nets to increase transmission.
Insecticide scaling factor
insecticideScalingFactor=double
Units: none Min: 0
Hole factor
holeFactor=double
Units: none Max: 1
Value expected to be at least 0. Negative values are not necessarily invalid, but allow nets to increase transmission.
Interaction factor
interactionFactor=double
Units: none Max: 1
holeFactor + insecticideFactor + interactionFactor must not be greater than 1, and is expected to be at least 0. A negative value is not necessarily invalid, but allows nets to increase transmission.
Hole scaling factor
holeScalingFactor=double
Units: none Min: 0
Probability of mosquito death without intervention
baseFactor=double
Units: dimensionless
Pre-prandial killing effect (logit)
→ scenario → interventions → human → component → ITN → anophelesParams → preprandialKillingEffectLogit
<preprandialKillingEffectLogit
baseFactor=double
insecticideFactor=double
holeFactor=double
interactionFactor=double
/>
Documentation (element)
Units: dimensionless Min: 0 Max: 1
Effect of net on survival mosquitoes as they seek to bite a human
after choosing that human, relative to the same person not
sleeping under a net.
Killing proportion is calculated as
K=exp(logit.K)/(exp(logit.K)+1)
logit.K = B + H×min(h,hMax) + P×p + I×min(h,hMax)×p
where B is the basefactor (without net),
H, P and I are the hole, insecticide and interaction factors
respectively, h=log(holeIndex+1) and
p=log(insecticideContent+1).
Without a net, the killing proportion
K0=exp(logit.K0)/(exp(logit.K0)+1)
logit.K0 = B + H×hMax
where hMax=log(holeIndexMax+1) and holeIndexMax is a user defined maximum hole index (typically, the total surface area of a net).
Survival of mosquitoes is adjusted via multiplication by (1−K) / (1−K0).
To keep this in the range [0,1], we require that K ≥ K0. We enforce that P ≥ 0 (It would not make sense biologically if P were negative) and P+I*hMax ≥ 0 and H ≤ 0 and holeIndex ≤ holeIndexMax and give a warning if these conditions are not fulfilled.
Attributes
Base factor
baseFactor=double
Units: dimensionless
Logit of the probability (e.g. of death, of entry, of attacking) without intervention.
Insecticide factor
insecticideFactor=double
Units: none
Coefficient of log(insecticide content+1) in a generalized linear model with logit link function.
Hole factor
holeFactor=double
Units: none
Coefficient of log(total holed surface area (in cm2) +1) in a generalized linear model with logit link function.
Interaction factor
interactionFactor=double
Units: none
Coefficient of the interaction term of log(total holed surface area (in cm2) +1) with log(insecticide content+1) in a generalized linear model with logit link function.
Post-prandial killing effect
→ scenario → interventions → human → component → ITN → anophelesParams → postprandialKillingEffect
<postprandialKillingEffect
insecticideFactor=double
insecticideScalingFactor=double
holeFactor=double
interactionFactor=double
holeScalingFactor=double
baseFactor=double
/>
Documentation (element)
Units: dimensionless Min: 0 Max: 1
Effect of net on survival mosquitoes as they seek to escape from a human host and rest after a blood meal, relative to the same person not sleeping under a net. Parameterisations should take into account that mosquitoes do not always bite indoors.
Killing proportion is calculated as K = B + H×h + P×p + I×h×p where B is the base (without net) probability of death, H, P and I are the hole, insecticide and interaction factors respectively, h=exp(-holeIndex×holeScalingFactor) and p=1−exp(-insecticideContent×insecticideScalingFactor).
Survival of mosquitoes is adjusted via multiplication by (1−K) / (1−B). To keep this in the range [0,1], we require that B+H ≤ 1, B+P ≤ 1, B+H+P+I ≤ 1, H ≥ 0, P ≥ 0 and H+P+I ≥ 0.
Attributes
Insecticide factor
insecticideFactor=double
Units: none Max: 1
Value expected to be at least 0. Negative values are not necessarily invalid, but allow nets to increase transmission.
Insecticide scaling factor
insecticideScalingFactor=double
Units: none Min: 0
Hole factor
holeFactor=double
Units: none Max: 1
Value expected to be at least 0. Negative values are not necessarily invalid, but allow nets to increase transmission.
Interaction factor
interactionFactor=double
Units: none Max: 1
holeFactor + insecticideFactor + interactionFactor must not be greater than 1, and is expected to be at least 0. A negative value is not necessarily invalid, but allows nets to increase transmission.
Hole scaling factor
holeScalingFactor=double
Units: none Min: 0
Probability of mosquito death without intervention
baseFactor=double
Units: dimensionless
Post-prandial killing effect (logit)
→ scenario → interventions → human → component → ITN → anophelesParams → postprandialKillingEffectLogit
<postprandialKillingEffectLogit
baseFactor=double
insecticideFactor=double
holeFactor=double
interactionFactor=double
/>
Documentation (element)
Units: dimensionless Min: 0 Max: 1
Effect of net on survival mosquitoes as they seek to escape from a human host and rest after a blood meal, relative to the same person not sleeping under a net. Killing proportion is calculated as K=exp(logit.K)/(exp(logit.K)+1) logit.K = B + H×min(h,hMax) + P×p + I×min(h,hMax)×p where B is the basefactor (without net), H, P and I are the hole, insecticide and interaction factors respectively, h=log(holeIndex+1) and p=log(insecticideContent+1). Without a net, the killing proportion K0=exp(logit.K0)/(exp(logit.K0)+1) logit.K0 = B + H×hMax where hMax=log(holeIndexMax+1) and holeIndexMax is a user defined maximum hole index (typically, the total surface area of a net). Survival of mosquitoes is adjusted via multiplication by (1−K) / (1−K0). To keep this in the range [0,1], we require that K ≥ K0. We enforce that P ≥ 0 (It would not make sense biologically if P were negative) and P+I*hMax ≥ 0 and H ≤ 0 and holeIndex ≤ holeIndexMax and give a warning if these conditions are not fulfilled.
Attributes
Base factor
baseFactor=double
Units: dimensionless
Logit of the probability (e.g. of death, of entry, of attacking) without intervention.
Insecticide factor
insecticideFactor=double
Units: none
Coefficient of log(insecticide content+1) in a generalized linear model with logit link function.
Hole factor
holeFactor=double
Units: none
Coefficient of log(total holed surface area (in cm2) +1) in a generalized linear model with logit link function.
Interaction factor
interactionFactor=double
Units: none
Coefficient of the interaction term of log(total holed surface area (in cm2) +1) with log(insecticide content+1) in a generalized linear model with logit link function.
Fecundity reduction
→ scenario → interventions → human → component → ITN → anophelesParams → fecundityReduction
<fecundityReduction
insecticideFactor=double
insecticideScalingFactor=double
holeFactor=double
interactionFactor=double
holeScalingFactor=double
baseFactor=double
/>
Documentation (element)
Effect of net on fertility of mosquitoes who survive feeding on a protected human, relative to an unprotected human.
Fertility (number of eggs laid) is multiplied by (1-K) / (1-B), similar to killing effects. This is not allowed to be greater than 1.
Attributes
Insecticide factor
insecticideFactor=double
Units: none Max: 1
Value expected to be at least 0. Negative values are not necessarily invalid, but allow nets to increase transmission.
Insecticide scaling factor
insecticideScalingFactor=double
Units: none Min: 0
Hole factor
holeFactor=double
Units: none Max: 1
Value expected to be at least 0. Negative values are not necessarily invalid, but allow nets to increase transmission.
Interaction factor
interactionFactor=double
Units: none Max: 1
holeFactor + insecticideFactor + interactionFactor must not be greater than 1, and is expected to be at least 0. A negative value is not necessarily invalid, but allows nets to increase transmission.
Hole scaling factor
holeScalingFactor=double
Units: none Min: 0
Probability of mosquito death without intervention
baseFactor=double
Units: dimensionless
Fecundity reduction (logit)
→ scenario → interventions → human → component → ITN → anophelesParams → fecundityReductionLogit
<fecundityReductionLogit
baseFactor=double
insecticideFactor=double
holeFactor=double
interactionFactor=double
/>
Documentation (element)
Effect of net on fertility of mosquitoes who survive feeding on a protected human, relative to an unprotected human.
Fertility (number of eggs laid) is multiplied by (1-K) / (1-K0), similar to killing effects. This is not allowed to be greater than 1.
Attributes
Base factor
baseFactor=double
Units: dimensionless
Logit of the probability (e.g. of death, of entry, of attacking) without intervention.
Insecticide factor
insecticideFactor=double
Units: none
Coefficient of log(insecticide content+1) in a generalized linear model with logit link function.
Hole factor
holeFactor=double
Units: none
Coefficient of log(total holed surface area (in cm2) +1) in a generalized linear model with logit link function.
Interaction factor
interactionFactor=double
Units: none
Coefficient of the interaction term of log(total holed surface area (in cm2) +1) with log(insecticide content+1) in a generalized linear model with logit link function.
Indoor residual spraying
→ scenario → interventions → human → component → IRS
<IRS>
IN THIS ORDER:
| [ <usage ... /> ]
| <initialInsecticide ... />
| <insecticideDecay ... />
| ( <anophelesParams ... /> )+
</IRS>
Documentation (element)
Description of indoor residual spraying interventions.
Documentation (type)
Description of effect for the more complex and probably more realistic Briet model: IRS has three effects, whos strength is calculated as a function of surviving insecticide content.
Proportion of Indoor residual spraying (IRS) interventions
→ scenario → interventions → human → component → IRS → usage
<usage
value=double
/>
Documentation (element)
Units: dimensionless Min: 0 Max: 1
Usage of Indoor residual spraying (IRS) interventions, from 0 to 1.
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Initial insecticide
→ scenario → interventions → human → component → IRS → initialInsecticide
<initialInsecticide
mean=double
[ SD=double ]
[ distr=("const" or "normal") ] DEFAULT VALUE const
/>
Documentation (element)
Units: μg/cm² Min: 0
The insecticide concentration of IRS (at time of spraying) is Gaussian distributed with mean "mu" and a standard deviation "sigma". The standard deviation should be small relative to the mean to avoid negative initial concentration. Any negative values sampled are set to 0.
Documentation (type)
A parameter with optional heterogeneity.
Optionally, a distribution ("distr") and standard of deviation ("SD") may be specified.
Attributes
mean
mean=double
The mean value.
standard deviation
SD=double
The standard deviation of variates.
Distribution
distr=("const" or "normal")
Default value: const
To allow heterogeneity, a distribution must be specified. Valid options are as follows. "const": no variation or sampling. Specifying distr="const" has the same effect as not specifying distr at all. "normal": the parameter is sampled from a normal distribution.
Decay of insecticide
→ scenario → interventions → human → component → IRS → insecticideDecay
<insecticideDecay
function=("constant" or "step" or "linear" or "exponential" or "weibull" or "hill" or "smooth-compact" or "plus" or "minus" or "divides" or "multiplies")
[ L=string ]
[ k=double ] DEFAULT VALUE 1.0
[ CV=double ] DEFAULT VALUE 0
[ increasing=boolean ] DEFAULT VALUE false
[ initialEfficacy=double ] DEFAULT VALUE 1
[ rho=double ]
[ halflife_short=string ]
[ halflife_long=string ]
>
IN THIS ORDER:
| <decay ... />
</insecticideDecay>
Documentation (element)
Units: none
Decay curve for insecticide content of IRS. Documentation: see DecayFunction type or https://github.com/SwissTPH/openmalaria/wiki/ModelDecayFunctions
Documentation (type)
Specification of decay or survival of a parameter.
Attributes
function
function=("constant" or "step" or "linear" or "exponential" or "weibull" or "hill" or "smooth-compact" or "plus" or "minus" or "divides" or "multiplies")
Units: None Min: 0 Max: 1
Determines which decay function to use. Available decay functions, for age t in years: constant: 1 step: 1 for t less than L, otherwise 0 linear: 1 - t/L for t less than L, otherwise 0 exponential: exp( - t/L * log(2) ) weibull: exp( -(t/L)^k * log(2) ) hill: 1 / (1 + (t/L)^k) smooth-compact: exp( k - k / (1 - (t/L)^2) ) for t less than L, otherwise 0
L
L=string
Units: User-defined (defaults to years) Min: 0
(Time) scale parameter of distribution: this is either the age of complete decay (smooth-compact, step and linear functions) or the age at which the parameter has decayed to half its original value (exponential, weibull and hill). Not used when function="constant" (i.e. no decay). This value can be specified in years, days or steps (e.g. 2y, 180d or 100t). When the unit is not specified years are assumed. The value is used without rounding except when sampling an age of decay, when the rounding happens as late as possible.
k
k=double
Units: none Min: 0
Default value: 1.0
Shape parameter of distribution. If not specified, default value of 1 is used. Meaning depends on function; not used in some cases.
Coefficient of Variation
CV=double
Min: 0
Default value: 0
If CV is non-zero, heterogeneity of decay is introduced via a random variable sampled from the log-normal distribution. This distribution is parameterised with mean=1 and CV as given. The effective age of decay is the real age multiplied by this variable (for decay functions with a half-life, this is equivalent to dividing the half-life by the variable).
L
increasing=boolean
Units: User-defined (defaults to years) Min: 0
Default value: false
(Boolean) If True, this tells OpenMalaria to use the complement of the DecayFunction defined as 1-f(x). This is useful to model increasing functions that will "decay" to 1. This only works if f(x) is contained between 0 and 1.
initialEfficacy
initialEfficacy=double
Default value: 1
biphasic: Efficacy between 0 and 1.
rho
rho=double
biphasic: Proportion between 0 and 1, proportion of the response that is short-lived.
halflife_short
halflife_short=string
biphasic: halflife of short lived component (default to years).
halflife_long
halflife_long=string
biphasic: halflife of long lived component (default to years).
Per-mosquito species parameters
→ scenario → interventions → human → component → IRS → anophelesParams
<anophelesParams
mosquito=string
[ propActive=double ] DEFAULT VALUE 1
>
IN THIS ORDER:
| <deterrency ... />
| <preprandialKillingEffect ... />
| <postprandialKillingEffect ... />
| [ <fecundityReduction ... /> ]
</anophelesParams>
Attributes
Mosquito species
mosquito=string
Name of the affected anopheles-mosquito species.
Proportion of bites for which IRS acts
propActive=double
Units: dimensionless Min: 0 Max: 1
Default value: 1
The proportion of bites for which the IRS has any action whatsoever on the mosquito. At the moment this is constant across humans and deterministic: relative attractiveness and survival factors are base*(1-propActing) + intervention_factor*propActing.
Relative attractiveness
→ scenario → interventions → human → component → IRS → anophelesParams → deterrency
<deterrency
insecticideFactor=double
insecticideScalingFactor=double
/>
Documentation (element)
Units: dimensionless Min: 0 Max: 1
Effect of IRS on attractiveness of humans to mosquitoes relative to an unprotected adult human. Parameterisations should take into account that mosquitoes do not always bite indoors.
Attractiveness of the human is multiplied by exp(P×log(p)) where P is the insecticide factor, p=1−exp(-insecticideContent×insecticideScalingFactor).
Attributes
Insecticide factor
insecticideFactor=double
Units: none Max: 1
Value expected to be at least 0. Negative values are not necessarily invalid, but allow nets to increase transmission.
Insecticide scaling factor
insecticideScalingFactor=double
Units: none Min: 0
Pre-prandial killing effect
→ scenario → interventions → human → component → IRS → anophelesParams → preprandialKillingEffect
<preprandialKillingEffect
insecticideFactor=double
insecticideScalingFactor=double
baseFactor=double
/>
Documentation (element)
Units: dimensionless Min: 0 Max: 1
Effect of IRS on survival mosquitoes as they seek to bite a human after choosing that human, relative to the same person not protected by IRS. Parameterisations should take into account that mosquitoes do not always bite indoors. This parameter has been added since some data shows IRS to have a preprandial killing effect.
Killing proportion is calculated as K = B + P×p where B is the base (without protection) probability of death, and P is the insecticide factor, p=1−exp(-insecticideContent×insecticideScalingFactor).
Survival of mosquitoes is adjusted via multiplication by (1−K) / (1−B). To keep this in the range [0,1], we require that B+P ≤ 1 and P ≥ 0.
Attributes
Insecticide factor
insecticideFactor=double
Units: none Max: 1
Value expected to be at least 0. Negative values are not necessarily invalid, but allow nets to increase transmission.
Insecticide scaling factor
insecticideScalingFactor=double
Units: none Min: 0
Probability of mosquito death without intervention
baseFactor=double
Units: dimensionless
Post-prandial killing effect
→ scenario → interventions → human → component → IRS → anophelesParams → postprandialKillingEffect
<postprandialKillingEffect
insecticideFactor=double
insecticideScalingFactor=double
baseFactor=double
/>
Documentation (element)
Units: dimensionless Min: 0 Max: 1
Effect of IRS on survival mosquitoes as they seek to escape from a human host and rest after a blood meal, relative to the same person not protected by IRS. Parameterisations should take into account that mosquitoes do not always bite indoors.
Killing proportion is calculated as K = B + P×p where B is the base (without protection) probability of death, and P is the insecticide factor, p=1−exp(-insecticideContent×insecticideScalingFactor).
Survival of mosquitoes is adjusted via multiplication by (1−K) / (1−B). To keep this in the range [0,1], we require that B+P ≤ 1 and P ≥ 0.
Attributes
Insecticide factor
insecticideFactor=double
Units: none Max: 1
Value expected to be at least 0. Negative values are not necessarily invalid, but allow nets to increase transmission.
Insecticide scaling factor
insecticideScalingFactor=double
Units: none Min: 0
Probability of mosquito death without intervention
baseFactor=double
Units: dimensionless
Fecundity reduction
→ scenario → interventions → human → component → IRS → anophelesParams → fecundityReduction
<fecundityReduction
insecticideFactor=double
insecticideScalingFactor=double
baseFactor=double
/>
Documentation (element)
Effect of IRS on fertility mosquitoes after successfully feeding on a human host, relative to an unproteced human. Parameterisations should take into account that mosquitoes do not always bite indoors.
First, we calculate K = B + P×p where B is the base (without protection) probability of death, and P is the insecticide factor, p=1−exp(-insecticideContent×insecticideScalingFactor).
Fecundity is multiplied by (1−K) / (1−B). It is not allowed to be greater than 1. To keep this in the range [0,1], we require that B+P ≤ 1 and P ≥ 0.
Attributes
Insecticide factor
insecticideFactor=double
Units: none Max: 1
Value expected to be at least 0. Negative values are not necessarily invalid, but allow nets to increase transmission.
Insecticide scaling factor
insecticideScalingFactor=double
Units: none Min: 0
Probability of mosquito death without intervention
baseFactor=double
Units: dimensionless
Generic vector intervention
→ scenario → interventions → human → component → GVI
<GVI>
IN THIS ORDER:
| [ <usage ... /> ]
| <decay ... />
| ( <anophelesParams ... /> )+
</GVI>
Documentation (element)
Low-level description of intervention effects on vectors (i.e. mosquitoes). Can be used to describe simple ITN or IRS interventions (though more complex models are available for these interventions) or other interventions such as mosquito repellant or ivermectin.
Note that all actions of this intervention component will decay according to a single decay function. If independant decay is wanted, a separate component can be used for each action.
Proportion of generic vector interventions
→ scenario → interventions → human → component → GVI → usage
<usage
value=double
/>
Documentation (element)
Units: dimensionless Min: 0 Max: 1
Usage of Generic vector interventions, from 0 to 1.
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Decay
→ scenario → interventions → human → component → GVI → decay
<decay
function=("constant" or "step" or "linear" or "exponential" or "weibull" or "hill" or "smooth-compact" or "plus" or "minus" or "divides" or "multiplies")
[ L=string ]
[ k=double ] DEFAULT VALUE 1.0
[ CV=double ] DEFAULT VALUE 0
[ increasing=boolean ] DEFAULT VALUE false
[ initialEfficacy=double ] DEFAULT VALUE 1
[ rho=double ]
[ halflife_short=string ]
[ halflife_long=string ]
>
IN THIS ORDER:
| <decay ... />
</decay>
Documentation (element)
Description of decay of all intervention effects. Documentation: see DecayFunction type or https://github.com/SwissTPH/openmalaria/wiki/ModelDecayFunctions
Documentation (type)
Specification of decay or survival of a parameter.
Attributes
function
function=("constant" or "step" or "linear" or "exponential" or "weibull" or "hill" or "smooth-compact" or "plus" or "minus" or "divides" or "multiplies")
Units: None Min: 0 Max: 1
Determines which decay function to use. Available decay functions, for age t in years: constant: 1 step: 1 for t less than L, otherwise 0 linear: 1 - t/L for t less than L, otherwise 0 exponential: exp( - t/L * log(2) ) weibull: exp( -(t/L)^k * log(2) ) hill: 1 / (1 + (t/L)^k) smooth-compact: exp( k - k / (1 - (t/L)^2) ) for t less than L, otherwise 0
L
L=string
Units: User-defined (defaults to years) Min: 0
(Time) scale parameter of distribution: this is either the age of complete decay (smooth-compact, step and linear functions) or the age at which the parameter has decayed to half its original value (exponential, weibull and hill). Not used when function="constant" (i.e. no decay). This value can be specified in years, days or steps (e.g. 2y, 180d or 100t). When the unit is not specified years are assumed. The value is used without rounding except when sampling an age of decay, when the rounding happens as late as possible.
k
k=double
Units: none Min: 0
Default value: 1.0
Shape parameter of distribution. If not specified, default value of 1 is used. Meaning depends on function; not used in some cases.
Coefficient of Variation
CV=double
Min: 0
Default value: 0
If CV is non-zero, heterogeneity of decay is introduced via a random variable sampled from the log-normal distribution. This distribution is parameterised with mean=1 and CV as given. The effective age of decay is the real age multiplied by this variable (for decay functions with a half-life, this is equivalent to dividing the half-life by the variable).
L
increasing=boolean
Units: User-defined (defaults to years) Min: 0
Default value: false
(Boolean) If True, this tells OpenMalaria to use the complement of the DecayFunction defined as 1-f(x). This is useful to model increasing functions that will "decay" to 1. This only works if f(x) is contained between 0 and 1.
initialEfficacy
initialEfficacy=double
Default value: 1
biphasic: Efficacy between 0 and 1.
rho
rho=double
biphasic: Proportion between 0 and 1, proportion of the response that is short-lived.
halflife_short
halflife_short=string
biphasic: halflife of short lived component (default to years).
halflife_long
halflife_long=string
biphasic: halflife of long lived component (default to years).
Per-mosquito species parameters
→ scenario → interventions → human → component → GVI → anophelesParams
<anophelesParams
mosquito=string
[ propActive=double ] DEFAULT VALUE 1
>
IN THIS ORDER:
| [ <deterrency ... /> ]
| [ <preprandialKillingEffect ... /> ]
| [ <postprandialKillingEffect ... /> ]
| [ <fecundityReduction ... /> ]
</anophelesParams>
Attributes
Mosquito species
mosquito=string
Name of the affected anopheles-mosquito species.
Proportion of bites for which IRS acts
propActive=double
Units: dimensionless Min: 0 Max: 1
Default value: 1
The proportion of bites for which the IRS has any action whatsoever on the mosquito. At the moment this is constant across humans and deterministic: relative attractiveness and survival factors are base*(1-propActing) + intervention_factor*propActing.
Relative attractiveness
→ scenario → interventions → human → component → GVI → anophelesParams → deterrency
<deterrency
value=double
/>
Documentation (element)
Units: dimensionless Min: 0 Max: 1
Effect of intervention on attractiveness of humans to mosquitoes relative to an unprotected adult human. Parameterisations should take into account that mosquitoes do not always bite indoors.
Attractiveness of the human is multiplied this factor times survival of effect.
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Pre-prandial killing effect
→ scenario → interventions → human → component → GVI → anophelesParams → preprandialKillingEffect
<preprandialKillingEffect
value=double
/>
Documentation (element)
Units: dimensionless Min: 0 Max: 1
Effect of intervention on survival of mosquitoes as they seek to bite a human after choosing that human, relative to the same person not protected by the intervention. Parameterisations should take into account that mosquitoes do not always bite indoors. This parameter has been added since some data shows IRS to have a preprandial killing effect.
Killing proportion is this factor multiplied by survival of effect.
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Post-prandial killing effect
→ scenario → interventions → human → component → GVI → anophelesParams → postprandialKillingEffect
<postprandialKillingEffect
value=double
/>
Documentation (element)
Units: dimensionless Min: 0 Max: 1
Effect of intervention on survival of mosquitoes as they seek to escape from a human host and rest after a blood meal, relative to the same person not protected by the intervention. Parameterisations should take into account that mosquitoes do not always bite indoors.
Killing proportion is this factor multiplied by survival of effect.
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Fecundity reduction effect
→ scenario → interventions → human → component → GVI → anophelesParams → fecundityReduction
<fecundityReduction
value=double
/>
Documentation (element)
Min: 0
Effect of intervention on fertility mosquitoes after successfully feeding on a human host, relative to an unproteced human. Parameterisations should take into account that mosquitoes do not always bite indoors.
Fertility is multiplied by 1 - (fecundityReduction * decay).
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Recruitment only
→ scenario → interventions → human → component → recruitmentOnly
<recruitmentOnly/>
Documentation (element)
Recruitment of a host into a sub-population.
All human-targeting intervention deployments recruit simulated humans into a sub-population which can be used for the purposes of cumulative deployment, deployment only to a sub-population and defining a cohort. This pseudo-intervention can be used to define a sub-population without also deploying some intervention.
Clear Immunity
→ scenario → interventions → human → component → clearImmunity
<clearImmunity/>
Documentation (element)
Removes all exposure-related immunitsy gained over time by hosts without removing infections (or affecting the ability to gain immunity through exposure).
Hypothetical, but potentially useful to simulate scenarios with unprotected humans.
subPopRemoval
→ scenario → interventions → human → component → subPopRemoval
<subPopRemoval
[ onFirstBout=boolean ] DEFAULT VALUE false
[ onFirstTreatment=boolean ] DEFAULT VALUE false
[ onFirstInfection=boolean ] DEFAULT VALUE false
[ afterYears=double ]
/>
Documentation (type)
Each human intervention component corresponds to a sub-population: those who have received or are considered to be protected by the intervention component. Humans automatically become members of this sub-population when receiving an intervention component; this element controls how humans are removed from the sub-population.
ITN attrition also removes humans from sub-populations.
Note that sub-populations do not directly correspond to an intervention's effects: lack of effectiveness does not imply removal from the sub-population (except as explicitly configured here) and removal from the sub-population does not halt an intervention's effects.
Sub-populations may be used to define a cohort, to restrict deployment of other interventions and to use cumulative deployment mode. A sub- population may or may not correspond (roughly) to humans protected by some intervention.
Attributes
Time to first episode only
onFirstBout=boolean
Default value: false
If true, remove individuals from the sub-population at the start of the first episode (start of a clinical bout) since they were recruited into the sub-population. This is intended for cohort studies which measure time to the first episode, using active case detection. Reports delayed due to health-system memory are forced out when this occurs. Note that this can increase the number of uncomplicated cases reported across the entire population; for this reason reports are not forced on recruitment or most removal options. This does not prevent re-recruitment in the case that recruitment settings could conceivably recruit the same individual twice.
Time to first treatment only
onFirstTreatment=boolean
Default value: false
If true, remove individuals from the sub-population when they first seektreatment since they were recruited into the sub-population. This is intended for cohort studies which measure the time to first episode, using passive case detection. Reports delayed due to health-system memory are forced out when this occurs. Note that this can increase the number of uncomplicated cases reported across the entire population; for this reason reports are not forced on recruitment or most removal options. This does not prevent re-recruitment in the case that recruitment settings could conceivably recruit the same individual twice.
Time to first infection only
onFirstInfection=boolean
Default value: false
If true, remove individuals from the sub-population at completion of the first survey in which they present with a patent infection since they were recruited into the sub-population. This intended for cohort studies which measure time to the first infection, using active case detection. Reports delayed due to health-system memory are forced out when this occurs. Note that this can increase the number of uncomplicated cases reported across the entire population; for this reason reports are not forced on recruitment or most removal options. This does not prevent re-recruitment in the case that recruitment settings could conceivably recruit the same individual twice.
Remove from sub-population after
afterYears=double
Units: Years Min: 0
If given, membership to the sub-population of humans who have received this intervention component expires after the given number of years. Note that future deployments renew membership (e.g. if this parameter is 4 years and the intervention is redeployed 3 years from now, expiry happens after 7 years). This provides a crude way of modelling a cohort protected by some intervention. A few interventions provide more detailed ways of modelling expiry of protection. In any case, "expiry of protection" is an abstract concept and does not imply that all protection has ceased, even in the simulator. This may also be useful for cumulative deployment. Minimum duration is zero, which implies the human is effectively never a member of the sub-population; a duration of one timestep implies the human is a member of the sub-population while any futher interventions are deployed on the same time as this human becomes a member and on the next update of the human (including transmission and health system events) but not beyond that. If this attribute is not given, the simulated human is a member until death or some other option triggers removal. Input is rounded to the nearest time step.
Deployment
→ scenario → interventions → human → deployment
<deployment
[ name=string ]
>
IN THIS ORDER:
| ( <component ... /> )+
| ( <condition ... /> )*
| ( <continuous ... /> )*
| ( <timed ... /> )*
</deployment>
Documentation (element)
This element describes deployment of an intervention: which components are deployed, how humans are selected for deployment (via timed or age-based deployment) as well as a few additional restrictions (e.g. vaccine dosing restrictions).
All components deployed by this intervention are deployed to the same people (each timed or continuous deployment selects recipients and then gives each recipient all components of the intervention).
Attributes
Intervention name
name=string
Name of intervention
component
→ scenario → interventions → human → deployment → component
<component
id=string
/>
Documentation (type)
The list of components deployed to eligible humans.
Attributes
Identifier
id=string
The identifier (short name) of a component.
Condition
→ scenario → interventions → human → deployment → condition
<condition
measure=string
[ minValue=double ]
[ maxValue=double ]
initialState=boolean
/>
Documentation (element)
If conditions are specified, deployment of this intervention will only go ahead if all specified conditions are true. Condition statements are evaluated only during surveys, so deployment is enabled or disabled depending on the results of the most recent survey. So called unreported surveys can be used to reevaluate conditions without increasing granularity of output.
Conditions are evaluated for the whole population, not for individual age-groups or cohorts.
This affects all types of deployment.
Attributes
Measure
measure=string
The monitoring measure to test. Not all measures are available for use.
Minimum value
minValue=double
Minimum value. If specified, the measured variable must be greater than or equal to this value for the condition to be satisfied.
Maximum value
maxValue=double
Maximum value. If specified, the measured variable must be less than or equal to this value for the condition to be satisfied.
Initial state
initialState=boolean
Whether this condition is considered true or false before updated by a survey.
Age-based (continuous) deployment
→ scenario → interventions → human → deployment → continuous
<continuous>
IN THIS ORDER:
| [ <restrictToSubPop ... /> ]
| ( <deploy ... /> )+
</continuous>
Documentation (element)
List of ages at which deployment takes place (through EPI, post-natal and school-based programmes, etc.).
A sub-population restriction may be added as a property of the list of continuous deployments.
restrictToSubPop
→ scenario → interventions → human → deployment → continuous → restrictToSubPop
<restrictToSubPop
id=string
[ complement=boolean ] DEFAULT VALUE false
/>
Documentation (type)
If this element is specified, deployment is restricted to some sub-population (specified via the "id" attribute); otherwise the target population is the entire simulated population. Either way, other deployment restrictions (age, time, number of vaccine doeses) still apply.
Attributes
Sub-population identifier
id=string
The identifier (short name) of the sub-population (i.e. the "id" of some intervention component). Also see the "complement" attribute.
Complement
complement=boolean
Default value: false
If this is not specified or is false, deployment is restricted to the sub-population of people protected by the intervention component who's id is given. If complement is set to true, deployment is instead restricted to the complement of that sub-population, i.e. to those
deploy
→ scenario → interventions → human → deployment → continuous → deploy
<deploy
coverage=double
[ vaccMinPrevDoses=int ]
[ vaccMaxCumDoses=int ]
[ minAvailability=int ]
[ maxAvailability=int ]
targetAgeYrs=double
[ begin=string ]
[ end=string ]
/>
Attributes
Coverage
coverage=double
Units: dimensionless Min: 0 Max: 1
Proportion of otherwise eligible individuals who will receive this deployment.
Vaccine min previous doses
vaccMinPrevDoses=int
Units: inoculations Min: 0
Applies to vaccines only: vaccine doses are only deployed by this deployment if the previous number of doses (for the component deployed) is at least this number. For example, if this is the second deployment opportunity for this vaccine and this value is 1, then this deployment cannot deploy the vaccine to individuals who did not receive the first deployment.
Vaccine max cumulative doses
vaccMaxCumDoses=int
Units: inoculations Min: 0
Applies to vaccines only: vaccine doses are only deployed by this deployment if the previous number of doses (for the component deployed) is less than this number.
Minimum ento availability
minAvailability=int
Units: percent Min: 0
Minimum ento availability percentile. This option is meant to be used with heterogeneity of availability, which can be specified in the entomology section. Without heterogenity (default), all hosts have the same availability and this option will have no effect. The percentile must be an integer value between 0 and 100. Percentile 99th represents individuals who are more available than 99% of the population. Percentile 0 represents the least available individuals. 100 is equivalent for infinity.
Maximum ento availability
maxAvailability=int
Units: percent Min: 0
Maximum ento availability percentile. This option is meant to be used with heterogeneity of availability, which can be specified in the entomology section. Without heterogenity (default), all hosts have the same availability and this option will have no effect. The percentile must be an integer value between 0 and 100. Percentile 99th represents individuals who are more available than 99% of the population. Percentile 0 represents the least available individuals. 100 is equivalent for infinity.
Target age
targetAgeYrs=double
Units: Years Min: 0 Max: 100
Target age of intervention. Input is rounded to the nearest time step.
First time active
begin=string
Units: User defined (defauls to steps)
First time at which this deployment is active. If not specified, deployment starts at the beginning of the intervention period. See doc on intervention period and on monitoring/startDate for details of how times work. Can be specified in steps, days, years, or as a date (examples: 15t, 75d, 0.2y, 2000-03-16).
End step
end=string
Units: User defined (defauls to steps)
End of the period during which the intervention is active (to be exact, the first step of the intervention period at which the item becomes inactive). If not specified, deployment never ceases after starting during the simulation. See doc on intervention period and on monitoring/startDate for details of how times work. Can be specified in steps, days, years, or as a date (examples: 15t, 75d, 0.2y, 2000-03-16).
Mass (timed) deployment
→ scenario → interventions → human → deployment → timed
<timed>
IN THIS ORDER:
| [ <restrictToSubPop ... /> ]
| [ <cumulativeCoverage ... /> ]
| ( <deploy ... /> )+
</timed>
Documentation (element)
List of timed deployments of the intervention (that is, of deployment campaigns).
Cumulative deployment mode can be specified for all deployments in a timed list. To allow multiple cumulative deployment descriptions, the entire timed list may be repeated.
restrictToSubPop
→ scenario → interventions → human → deployment → timed → restrictToSubPop
<restrictToSubPop
id=string
[ complement=boolean ] DEFAULT VALUE false
/>
Documentation (type)
If this element is specified, deployment is restricted to some sub-population (specified via the "id" attribute); otherwise the target population is the entire simulated population. Either way, other deployment restrictions (age, time, number of vaccine doeses) still apply.
Attributes
Sub-population identifier
id=string
The identifier (short name) of the sub-population (i.e. the "id" of some intervention component). Also see the "complement" attribute.
Complement
complement=boolean
Default value: false
If this is not specified or is false, deployment is restricted to the sub-population of people protected by the intervention component who's id is given. If complement is set to true, deployment is instead restricted to the complement of that sub-population, i.e. to those
Cumulative coverage
→ scenario → interventions → human → deployment → timed → cumulativeCoverage
<cumulativeCoverage
component=string
/>
Documentation (element)
If this element is not specified, standard deployment occurs, where a portion of the population as given by the coverage property of this campaign is selected, and interventions are deployed to all of these people (regardless of previous coverage).
If this attribute is specified, instead, the population is divided into two sets: those who are a member of a certain sub-population and those who are not (see "subPopRemoval" element). If the proportion of people in the first set is less than the desired coverage, then the proportion of people from the second set needed to increase total coverage to the desired coverage is calculated. This proportion is then used as the probablity of selection from the second set into a third set of people who then receive all interventions deployed by this campaign.
Note that selection is stochastic so the final coverage level may not be exactly that desired. Note also that the component used when selecting people need not actually be one of the components deployed by this intervention, although that is the intended use case.
Attributes
Component identifier
component=string
The identifier (short name) of the component used when selecting people.
deploy
→ scenario → interventions → human → deployment → timed → deploy
<deploy
coverage=double
[ vaccMinPrevDoses=int ]
[ vaccMaxCumDoses=int ]
[ minAvailability=int ]
[ maxAvailability=int ]
time=string
[ maxAge=double ]
[ minAge=double ] DEFAULT VALUE 0
[ repeatStep=string ]
[ repeatEnd=string ]
/>
Attributes
Coverage
coverage=double
Units: dimensionless Min: 0 Max: 1
Proportion of otherwise eligible individuals who will receive this deployment.
Vaccine min previous doses
vaccMinPrevDoses=int
Units: inoculations Min: 0
Applies to vaccines only: vaccine doses are only deployed by this deployment if the previous number of doses (for the component deployed) is at least this number. For example, if this is the second deployment opportunity for this vaccine and this value is 1, then this deployment cannot deploy the vaccine to individuals who did not receive the first deployment.
Vaccine max cumulative doses
vaccMaxCumDoses=int
Units: inoculations Min: 0
Applies to vaccines only: vaccine doses are only deployed by this deployment if the previous number of doses (for the component deployed) is less than this number.
Minimum ento availability
minAvailability=int
Units: percent Min: 0
Minimum ento availability percentile. This option is meant to be used with heterogeneity of availability, which can be specified in the entomology section. Without heterogenity (default), all hosts have the same availability and this option will have no effect. The percentile must be an integer value between 0 and 100. Percentile 99th represents individuals who are more available than 99% of the population. Percentile 0 represents the least available individuals. 100 is equivalent for infinity.
Maximum ento availability
maxAvailability=int
Units: percent Min: 0
Maximum ento availability percentile. This option is meant to be used with heterogeneity of availability, which can be specified in the entomology section. Without heterogenity (default), all hosts have the same availability and this option will have no effect. The percentile must be an integer value between 0 and 100. Percentile 99th represents individuals who are more available than 99% of the population. Percentile 0 represents the least available individuals. 100 is equivalent for infinity.
Time
time=string
Units: User defined (defauls to steps) Min: 0
Time at which this deployment occurs. See doc on intervention period and on monitoring/startDate for details of how times work. Can be specified in steps, days, years, or as a date (examples: 15t, 75d, 0.2y, 2000-03-16).
Maximum age of eligible individuals
maxAge=double
Units: Years Min: 0
Maximum age of eligible individuals (defaults to no limit). Input is rounded to the nearest time step.
Minimum age of eligible individuals
minAge=double
Units: Years Min: 0
Default value: 0
Minimum age of eligible individuals (defaults to 0). Input is rounded to the nearest time step.
Step of repetition
repeatStep=string
Units: User defined
See repeatEnd's documentation.
End of repetition (exclusive)
repeatEnd=string
Units: User defined
Either both repeatStep and repeatEnd should be present or neither. If present, the deployment is repeated every repeatStep timesteps (i.e. if t0 is the initial time and x is repeatStep, depolyments are done at times t0, t0+x, t0+2*x, ...), ending before repeatEnd (final repetition is the one before repeatEnd). Note that repeatEnd may be specified as a date but repeatStep must be a duration (days, steps or years).
Health system description
→ scenario → healthSystem
<healthSystem>
IN THIS ORDER:
| EXACTLY ONE OF:
| | <EventScheduler ... />
| | <ImmediateOutcomes ... />
| | <DecisionTree5Day ... />
| <CFR ... />
| <pSequelaeInpatient ... />
</healthSystem>
Documentation (element)
Description of health system.
Documentation (type)
Description of case management system, used to specify the initial model or a replacement (an intervention). Encompasses case management data and some other data required to derive case outcomes.
Contains a sub-element describing the particular health-system in use. Health system data is here defined as data used to decide on a treatment strategy, given a case requiring treatment.
Transmission and vector bionomics
→ scenario → entomology
<entomology
name=string
mode=("forced" or "dynamic")
[ scaledAnnualEIR=double ]
>
IN THIS ORDER:
| EXACTLY ONE OF:
| | <nonVector ... />
| | <vector ... />
</entomology>
Documentation (element)
Description of entomological data
Attributes
Entomology dataset name
name=string
Name of entomology data
Transmission model mode
mode=("forced" or "dynamic")
Transmission simulation mode: may be forced (in which case interventions and changes to human infectiousness cannot affect EIR) or dynamic (in which the above can affect EIR). The full vector model is only used in dynamic mode. This can not be changed by interventions, except for the changeEIR intervention for the non-vector model which replaces the EIR with a new description (used in forced mode).
Override annual EIR
scaledAnnualEIR=double
Units: Infectious bites per adult per year
If set, the annual EIR (for all species of vector) is scaled to this level; can be omitted if not needed.
Transmission setting (vector control not enabled)
→ scenario → entomology → nonVector
<nonVector
eipDuration=int
>
IN THIS ORDER:
| ( <EIRDaily ... /> )+
</nonVector>
Documentation (element)
Description of transmission setting for models without vector control interventions (included for backward compatibility)
Attributes
Duration of sporogony
eipDuration=int
Units: Days
The duration of sporogony in days
Transmission setting (vector control enabled)
→ scenario → entomology → vector
<vector>
IN THIS ORDER:
| ( <anopheles ... /> )+
| ( <nonHumanHosts ... /> )*
</vector>
Documentation (element)
Parameters of the transmission model
anopheles
→ scenario → entomology → vector → anopheles
<anopheles
mosquito=string
propInfected=double
propInfectious=double
>
IN THIS ORDER:
| <seasonality ... />
| <mosq ... />
| [ <lifeCycle ... /> ]
| [ <simpleMPD ... /> ]
| ( <nonHumanHosts ... /> )*
</anopheles>
Documentation (type)
Description of input EIR for one specific vector species in terms of a Fourier approximation to the ln of the EIR during the burn in period
Attributes
Identifier for this anopheles species
mosquito=string
Identifier for this anopheles species
Initial estimate of proportion of mosquitoes infected (ρ_O)
propInfected=double
Units: Proportion Min: 0 Max: 1
Initial guess of the proportion of mosquitoes which are infected, o: O_v(t) = o*N_v(t). Only used as a starting value.
Initial estimate of proportion of mosquitoes infectious (ρ_S)
propInfectious=double
Units: Proportion Min: 0 Max: 1
Initial estimate of the proportion of mosquitoes which are infectious, s: S_v(t) = s*N_v(t). Used as a starting value and then fit.
Seasonality of transmission
→ scenario → entomology → vector → anopheles → seasonality
<seasonality
input=("EIR")
[ annualEIR=double ]
>
IN THIS ORDER:
| EXACTLY ONE OF:
| | <fourierSeries ... />
| | <monthlyValues ... />
| | <dailyValues ... />
</seasonality>
Documentation (element)
Specifies the seasonality of transmission and optionally the level of annual transmission.
Attributes
Seasonality input
input=("EIR")
Specify what seasonality measure is given. At the moment, only EIR is supported, but in the future, all the below should be supported. EIR: seasonality of entomological inoculations is input. Units: entomological inoculations per adult per annum. hostSeeking: seasonality of densities of flying host-seeking mosquitoes is input (in the model this is notated N_v). Units: mosquitoes. emergence: seasonality of emergence pupa into adults. Units: mosquitoes. larvalResources: seasonality of larval resources. Units: X.
Annual EIR
annualEIR=double
Units: Inoculations per adult per annum Min: 0
If this attribute is included, EIR for this species is scaled to this level. Note that if the scaledAnnualEIR attribute of the entomology element is also used, EIR is scaled again, making this attribute the EIR relative to other species. With some seasonality inputs, this attribute is optional, in which case (if scaledAnnualEIR is also not specified) transmission depends on all parameters of the vector. With some seasonality inputs, however, this parameter must be specified.
Fourier approximation to pre-intervention EIR
→ scenario → entomology → vector → anopheles → seasonality → fourierSeries
<fourierSeries
EIRRotateAngle=double
>
IN THIS ORDER:
| ( <coeffic ... /> )*
</fourierSeries>
Documentation (element)
Units: Infectious bites per adult per day
Seasonality is reproduced from the exponential of a fourier series specified by the following coefficients. Note that the a0 term is not needed; the annualEIR attribute of the seasonality element should be used to scale EIR instead.
Attributes
Rotation angle defining the origin of the Fourier approximation to ln (EIR)
EIRRotateAngle=double
Units: Radians
Rotation angle defining the origin of the Fourier approximation to ln (EIR)
Pair of Fourier coefficients
→ scenario → entomology → vector → anopheles → seasonality → fourierSeries → coeffic
<coeffic
a=double
b=double
/>
Documentation (element)
A pair of Fourier series coefficients. The first element specifies a1 and b1, the second a2 and b2, etc. Any number (from 0 up) of pairs may be given.
Attributes
a_n parameter of Fourier approximation to ln(EIR)
a=double
a_n parameter of Fourier approximation to ln(EIR) for some natural number n.
b_n parameter of Fourier approximation to ln(EIR)
b=double
b_n parameter of Fourier approximation to ln(EIR) for some natural number n.
List of monthly values
→ scenario → entomology → vector → anopheles → seasonality → monthlyValues
<monthlyValues
smoothing=("none" or "fourier")
>
IN THIS ORDER:
| ( <value ... /> ){12,12}
</monthlyValues>
Documentation (element)
Description of seasonality from monthly values. Multiple smoothing methods are possible (see smoothing attribute).
List should contain twelve entries: January to December.
Attributes
Smoothing function
smoothing=("none" or "fourier")
How the monthly values are converted into a daily sequence of values:
- none: no smoothing (step function)
- Fourier: a Fourier series (with terms up to a2/b2) is fit to the sequence of monthly values and used to generate a smoothed list of daily values.
Monthly value
→ scenario → entomology → vector → anopheles → seasonality → monthlyValues → value
<value>
double
</value>
Documentation (element)
Units: (see "seasonality input" parameter)
Monthly value
List of daily values
→ scenario → entomology → vector → anopheles → seasonality → dailyValues
<dailyValues>
IN THIS ORDER:
| ( <value ... /> )+
</dailyValues>
Documentation (element)
Description of seasonality from daily values.
List should contain 365 entries: 1st January to 31st December.
Daily value
→ scenario → entomology → vector → anopheles → seasonality → dailyValues → value
<value>
double
</value>
Documentation (element)
Units: (see "seasonality input" parameter)
Daily value
Mosquito feeding cycle parameters
→ scenario → entomology → vector → anopheles → mosq
<mosq
minInfectedThreshold=double
>
IN ANY ORDER:
| <mosqRestDuration ... />
| <extrinsicIncubationPeriod ... />
| <mosqLaidEggsSameDayProportion ... />
| <mosqSeekingDuration ... />
| <mosqSurvivalFeedingCycleProbability ... />
| <availability ... />
| <mosqProbBiting ... />
| <mosqProbFindRestSite ... />
| <mosqProbResting ... />
| <mosqProbOvipositing ... />
| <mosqHumanBloodIndex ... />
</mosq>
- mosqRestDuration
- extrinsicIncubationPeriod
- mosqLaidEggsSameDayProportion
- mosqSeekingDuration
- mosqSurvivalFeedingCycleProbability
- availability
- mosqProbBiting
- mosqProbFindRestSite
- mosqProbResting
- mosqProbOvipositing
- mosqHumanBloodIndex
Documentation (element)
Parameters describing the feeding cycle and human mosquito interaction of a single species of anopheles mosquito.
Attributes
Mininum infected threshold for mosquitos
minInfectedThreshold=double
Min: 0
If less than this many mosquitoes remain infected, transmission is interrupted.
Duration of the resting period of the vector
→ scenario → entomology → vector → anopheles → mosq → mosqRestDuration
<mosqRestDuration
value=int
/>
Documentation (element)
Units: Days
name:Duration of the resting period of the vector (days);
Attributes
Input parameter value
value=int
An integer value.
Extrinsic incubation period
→ scenario → entomology → vector → anopheles → mosq → extrinsicIncubationPeriod
<extrinsicIncubationPeriod
value=int
/>
Documentation (element)
Units: Days
name:Extrinsic incubation period (days)
Attributes
Input parameter value
value=int
An integer value.
Proportion of mosquitoes host seeking on same day as ovipositing
→ scenario → entomology → vector → anopheles → mosq → mosqLaidEggsSameDayProportion
<mosqLaidEggsSameDayProportion
value=double
/>
Documentation (element)
Units: Proportion
Proportion of mosquitoes host seeking on same day as ovipositing
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Duration of the host-seeking period of the vector
→ scenario → entomology → vector → anopheles → mosq → mosqSeekingDuration
<mosqSeekingDuration
value=double
/>
Documentation (element)
Units: Days
Duration of the host-seeking period of the vector (days)
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Probability that the mosquito survives the feeding cycle
→ scenario → entomology → vector → anopheles → mosq → mosqSurvivalFeedingCycleProbability
<mosqSurvivalFeedingCycleProbability
value=double
/>
Documentation (element)
Units: Proportion
Probability that the mosquito survives the feeding cycle
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Human availability rate heterogeneity
→ scenario → entomology → vector → anopheles → mosq → availability
<availability
[ CV=double ]
[ distr=("const" or "lognormal" or "gamma") ] DEFAULT VALUE const
[ variance=double ]
/>
Documentation (element)
Optionally, entomological availability rate may be sampled per-human from a distribution. The distribution and coefficient of variability may be set here. The mean rate is calculated based on other parameters and not set directly.
If no attributes are specified or distr="const" or CV="0" then there will be no heterogeneity.
Documentation (type)
A parameter with optional heterogeneity.
The mean cannot be specified (unless this type is extended). Optionally, a distribution ("distr") and coefficient of variation ("CV") may be specified.
Attributes
Coefficient of variation
CV=double
Units: unitless
The (linear) coefficient of variation. This value must be specified when a (non-constant) distribution is used. Note: since version 46, variance can be used instead. Note that specifying CV="0" has the same effect as distr="const" and disables sampling of this parameter, even if distr is not "const".
Distribution
distr=("const" or "lognormal" or "gamma")
Default value: const
To allow heterogeneity, a distribution must be specified. Valid options are as follows. "const": no variation or sampling. Specifying distr="const" has the same effect as not specifying distr at all. "lognormal": the parameter is sampled from a log-normal distribution. Note that the "mean" and "CV" values are linear (arithmetic) properties of the distribution and not log-space properties.
Coefficient of variation
variance=double
Units: unitless
The variance parameter of the distirbution. This value can be specified when a (non-constant) distribution is used. Note that specifying variance="0" has the same effect as distr="const" and disables sampling of this parameter, even if distr is not "const".
Probability that the mosquito succesfully bites chosen host
→ scenario → entomology → vector → anopheles → mosq → mosqProbBiting
<mosqProbBiting
mean=double
variance=double
/>
Documentation (element)
Probability that the mosquito succesfully bites chosen host
Documentation (type)
Parameters of a normal distribution, provided as mean and variance.
Variates are sampled from Be(α,β) where α and β are determined from the mean and variance as follows: let v be the variance and c=mean/(1-mean). Then we set α=cβ and β=((c+1)²v - c)/((c+1)³v).
Attributes
mean
mean=double
Units: none
The mean of the beta distribution (must be in the open range (0,1)).
variance
variance=double
Units: none
The standard deviation of variates.
Probability that the mosquito escapes host and finds a resting place after biting
→ scenario → entomology → vector → anopheles → mosq → mosqProbFindRestSite
<mosqProbFindRestSite
mean=double
variance=double
/>
Documentation (element)
Probability that the mosquito escapes host and finds a resting place after biting
Documentation (type)
Parameters of a normal distribution, provided as mean and variance.
Variates are sampled from Be(α,β) where α and β are determined from the mean and variance as follows: let v be the variance and c=mean/(1-mean). Then we set α=cβ and β=((c+1)²v - c)/((c+1)³v).
Attributes
mean
mean=double
Units: none
The mean of the beta distribution (must be in the open range (0,1)).
variance
variance=double
Units: none
The standard deviation of variates.
Probability of mosquito successfully resting after finding a resting site
→ scenario → entomology → vector → anopheles → mosq → mosqProbResting
<mosqProbResting
mean=double
variance=double
/>
Documentation (element)
Probability of mosquito successfully resting after finding a resting site
Documentation (type)
Parameters of a normal distribution, provided as mean and variance.
Variates are sampled from Be(α,β) where α and β are determined from the mean and variance as follows: let v be the variance and c=mean/(1-mean). Then we set α=cβ and β=((c+1)²v - c)/((c+1)³v).
Attributes
mean
mean=double
Units: none
The mean of the beta distribution (must be in the open range (0,1)).
variance
variance=double
Units: none
The standard deviation of variates.
Probability of a mosquito successfully laying eggs given that it has rested
→ scenario → entomology → vector → anopheles → mosq → mosqProbOvipositing
<mosqProbOvipositing
value=double
/>
Documentation (element)
Probability of a mosquito successfully laying eggs given that it has rested
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Human blood index
→ scenario → entomology → vector → anopheles → mosq → mosqHumanBloodIndex
<mosqHumanBloodIndex
value=double
/>
Documentation (element)
Units: Proportion
The proportion of resting mosquitoes which fed on human blood during the last feed.
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Mosquito life cycle parameters
→ scenario → entomology → vector → anopheles → lifeCycle
<lifeCycle
[ estimatedLarvalResources=double ] DEFAULT VALUE 1e8
>
IN ANY ORDER:
| <eggStage ... />
| <larvalStage ... />
| <pupalStage ... />
| <femaleEggsLaidByOviposit ... />
</lifeCycle>
Documentation (element)
Parameters describing the life-cycle of this species of mosquito
Attributes
Estimate of larval resources
estimatedLarvalResources=double
Units: X
Default value: 1e8
An estimate of mean annual availability of resources to larvae. Used to get the resource usage fitting algorithm going; if the algorithm fails to fit the resource availability then tweaking this parameter may help. In other cases tweaking this parameter shouldn't be necessary. Default value is 10⁸ (1e8). Units are arbitrary but must be the same as those used by the resourceUsage parameter.
Egg stage
→ scenario → entomology → vector → anopheles → lifeCycle → eggStage
<eggStage
duration=int
survival=double
/>
Documentation (element)
Parameters for the egg stage of development
Documentation (type)
Parameters associated with a mosquito development stage.
Attributes
Duration
duration=int
Units: Days
Duration of the stage (i.e. length of time mosquito is an egg/larva/pupa).
Probability of survival
survival=double
Units: Proportion
Probability that mosquito survives this size (probability of egg hatching, a larva becoming a pupa or a pupa emerging as an adult, at the start of that stage).
larvalStage
→ scenario → entomology → vector → anopheles → lifeCycle → larvalStage
<larvalStage>
</larvalStage>
Documentation (type)
Parameters for the larval stage of development
Documentation (base type)
Parameters associated with a mosquito development stage.
Daily development
→ scenario → entomology → vector → anopheles → lifeCycle → larvalStage → daily
<daily
resourceUsage=double
effectCompetition=double
/>
Documentation (element)
List of parameters which apply during the larval stage of development. List length must equal stage duration, with first item corresponding to first 24 hours after hatching, second item to hours 24-48, and so on.
Attributes
Resource usage
resourceUsage=double
Units: X
Resource usage during larval stage of development. Units are arbitrary.
Effect of competition
effectCompetition=double
Units: none
Effect of competition over resources on development.
Pupal stage
→ scenario → entomology → vector → anopheles → lifeCycle → pupalStage
<pupalStage
duration=int
survival=double
/>
Documentation (element)
Parameters for the pupal stage of development
Documentation (type)
Parameters associated with a mosquito development stage.
Attributes
Duration
duration=int
Units: Days
Duration of the stage (i.e. length of time mosquito is an egg/larva/pupa).
Probability of survival
survival=double
Units: Proportion
Probability that mosquito survives this size (probability of egg hatching, a larva becoming a pupa or a pupa emerging as an adult, at the start of that stage).
Eggs laid by ovipositing mosquito
→ scenario → entomology → vector → anopheles → lifeCycle → femaleEggsLaidByOviposit
<femaleEggsLaidByOviposit
value=double
/>
Documentation (element)
Units: Eggs per feeding cycle
The total number of female eggs laid by a female mosquito at the conclusion to a feeding cycle, after feeding on an unprotected human (non-human hosts and protected humans use a multiplication factor to adjust this number for mosquitoes feeding on them).
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Simple Mosq-Pop-Dynamics parameters
→ scenario → entomology → vector → anopheles → simpleMPD
<simpleMPD>
IN ANY ORDER:
| <developmentDuration ... />
| <developmentSurvival ... />
| <femaleEggsLaidByOviposit ... />
</simpleMPD>
Documentation (element)
Parameters describing the simple mosquito population dynamics model.
This is a simpler version of the life-cycle model, requiring less parameters and with much simpler initialisation.
Duration
→ scenario → entomology → vector → anopheles → simpleMPD → developmentDuration
<developmentDuration
value=int
/>
Documentation (element)
Units: Days Min: 1
Duration from egg laying to emergence in days.
Attributes
Input parameter value
value=int
An integer value.
Probability of survival
→ scenario → entomology → vector → anopheles → simpleMPD → developmentSurvival
<developmentSurvival
value=double
/>
Documentation (element)
Units: Proportion Min: 0 Max: 1
Probability that mosquito survives from the egg being laid to emergence, given no resouce limitations (no density constraints).
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Eggs laid by ovipositing mosquito
→ scenario → entomology → vector → anopheles → simpleMPD → femaleEggsLaidByOviposit
<femaleEggsLaidByOviposit
value=double
/>
Documentation (element)
Units: Eggs per feeding cycle
The total number of female eggs laid by a female mosquito at the conclusion to a feeding cycle.
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Alternative (non-human) host paramters
→ scenario → entomology → vector → anopheles → nonHumanHosts
<nonHumanHosts
name=string
>
IN ANY ORDER:
| <mosqRelativeEntoAvailability ... />
| <mosqProbBiting ... />
| <mosqProbFindRestSite ... />
| <mosqProbResting ... />
| [ <hostFecundityFactor ... /> ]
</nonHumanHosts>
- mosqRelativeEntoAvailability
- mosqProbBiting
- mosqProbFindRestSite
- mosqProbResting
- hostFecundityFactor
Documentation (element)
Min: 0
Non human host parameters, per type of host (must match up with non-species-specific parameters).
Attributes
Identifier for this category of non-human hosts
name=string
Identifier for this category of non-human hosts
Relative availability of non-human host (ξ_i)
→ scenario → entomology → vector → anopheles → nonHumanHosts → mosqRelativeEntoAvailability
<mosqRelativeEntoAvailability
value=double
/>
Documentation (element)
Units: Proportion
Relative availability of the population of non-human hosts of type i to other non-human hosts; the sum of this across all non-human hosts must be 1.
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Probability of mosquito successfully biting host
→ scenario → entomology → vector → anopheles → nonHumanHosts → mosqProbBiting
<mosqProbBiting
value=double
/>
Documentation (element)
Units: Proportion
Probability of mosquito successfully biting host
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Probability that the mosquito escapes host and finds a resting place after biting
→ scenario → entomology → vector → anopheles → nonHumanHosts → mosqProbFindRestSite
<mosqProbFindRestSite
value=double
/>
Documentation (element)
Units: Proportion
Probability that the mosquito escapes host and finds a resting place after biting
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Probability of mosquito successfully resting after finding a resting site
→ scenario → entomology → vector → anopheles → nonHumanHosts → mosqProbResting
<mosqProbResting
value=double
/>
Documentation (element)
Units: Proportion
Probability of mosquito successfully resting after finding a resting site
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Relative fecundity of biting mosquitoes
→ scenario → entomology → vector → anopheles → nonHumanHosts → hostFecundityFactor
<hostFecundityFactor
value=double
/>
Documentation (element)
Units: Proportion
Multiplicative factor for the number of fertile eggs laid by a mosquito after biting this type of host, relative to an unprotected human.
Attributes
Input parameter value
value=double
A double-precision floating-point value.
nonHumanHosts
→ scenario → entomology → vector → nonHumanHosts
<nonHumanHosts
name=string
number=double
/>
Attributes
Species of alternative host
name=string
Name of this species of non human hosts (must match up with those described per anopheles section).
Population size of non-human host species
number=double
Units: Animals
Population size of this non-human host. Note: the availability of the population of this type of non-human host is determined by mosqRelativeEntoAvailability and mosqHumanBloodIndex. NHHs are not modelled individually, thus this parameter is not used. It might be useful in the future if there is ever an intervention to change the number of non-human hosts.
Parasite genetics
<parasiteGenetics
samplingMode=("initial" or "tracking")
>
IN THIS ORDER:
| ( <locus ... /> )+
</parasiteGenetics>
Documentation (element)
A specification of genotypes of infection parasites.
May be omitted; in this case there is no modelling of genetic differences of infections (resistance, fitness).
Attributes
samplingMode
samplingMode=("initial" or "tracking")
This controls how genotypes are determined for new infections during the intervention period. Prior to this (in initialisation phases), genotypes are always sampled using the specified initial frequencies. Mode "initial" continues to sample genotypes using initial frequencies (i.e. independent of the success of parent generations of parasites). Mode "tracking" samples genotypes based on the success parent generations of parasites have in infecting mosquitoes, tracked per genotype. It is possible that in the future a recombination option will be added to this list, however designing a suitable model is not trivial.
Locus
→ scenario → parasiteGenetics → locus
<locus
name=string
>
IN THIS ORDER:
| ( <allele ... /> )+
</locus>
Documentation (element)
Describes a locus, or a point at which an infection may vary. The genotype of an infection is determined by choosing one allele at each locus. Initial frequencies of alleles are specified independently for each locus, but subsequent infections are selected according to success of genotypes.
Alleles at loci can affect fitness and resistance to any number of drugs.
Attributes
Name of locus
name=string
Name of the Locus
Allele
→ scenario → parasiteGenetics → locus → allele
<allele
name=string
initialFrequency=double
fitness=double
[ hrp2_deletion=boolean ] DEFAULT VALUE false
/>
Documentation (element)
Describes an allele, or one possible genetic option of multiple at one point of variance.
Attributes
Name
name=string
Name of the allele; used to refer to it elsewhere.
Initial frequency
initialFrequency=double
Specification of how commonly this allele occurs during warmup relative to other alleles of the same locus. During the simulation's initialisation phases, the frequency at which each allele of each locus occurs is fixed. After the initialisation phase, frequency of alleles is modelled as an emergent property of the success of genotypes.
Fitness factor
fitness=double
Fitness factor of the allele. This is multiplication factor used to speed up or slow down replication of parasites. For example, if a genotype has an allele with a fitness factor of 1 at one locus and another allele with a fitness factor of 0.8 at a second locus, then the parasites with the genotype will replicate 20% slower than the baseline.
HRP2 deletion
hrp2_deletion=boolean
Default value: false
If true, marks this allele as having deleted HRP2. The effect on the simulation is that any diagnostic dependent on HRP2 behaves as if infections with deleted HRP2 have density 0. A diagnostic MUST explicitly set mechanism="HRP2" for this to have any effect.
Drug parameters (PK, PD and usage)
→ scenario → pharmacology
<pharmacology>
IN THIS ORDER:
| <treatments ... />
| <drugs ... />
</pharmacology>
Documentation (element)
Drug model parameters and drug usage parameters
Documentation (type)
A library of drug related data for the PK/PD model.
Treatments library
→ scenario → pharmacology → treatments
<treatments>
IN THIS ORDER:
| ( <schedule ... /> )+
| ( <dosages ... /> )+
</treatments>
Documentation (element)
A library of drug deployment schedules and dosages.
schedule
→ scenario → pharmacology → treatments → schedule
<schedule
name=string
>
IN THIS ORDER:
| ( <medicate ... /> )*
</schedule>
Documentation (type)
A schedule for the administration of drugs in a course of treatment.
Note that dose sizes are multiplied by some multiplier (see dosages) and the times of all doses may be delayed.
Attributes
Name
name=string
Name for referring to this deployment schedule
medicate
→ scenario → pharmacology → treatments → schedule → medicate
<medicate
drug=string
mg=double
hour=double
/>
Attributes
drug
drug=string
Abbreviated name of drug compound
Drug dose (mg with multiplier)
mg=double
Units: mg per something
Quantity of drug compound in mg per something. A separate dosage table must be used when medicating, which may specify multipliers of this number based on patient age or weight.
Time of administration
hour=double
Units: Hours Min: 0
Number of hours past start of timestep this drug dose is administered at (first dose should be at hour 0).
dosages
→ scenario → pharmacology → treatments → dosages
<dosages
name=string
>
IN THIS ORDER:
| EXACTLY ONE OF:
| | ( <age ... /> )+
| | ( <bodymass ... /> )+
| | <multiply ... />
</dosages>
Documentation (type)
A table for selecting a dose size. There are several ways this can work: using the patient's age or body mass in a look-up table to get a multplier, or directly using body mass as the multiplier.
The doses specified in "mg" in the treatment schedule are then multiplied by this multiplier.
Attributes
Name
name=string
Name for referring to this dosage table
Look-up table (age)
→ scenario → pharmacology → treatments → dosages → age
<age
lowerbound=double
dose_mult=double
/>
Documentation (element)
Select dose multiplier from a look-up table using the patient's age.
Documentation (type)
A look-up table which uses patient age (in years) or weight (in kg) to find a multiplier.
Attributes
Lower bound (inclusive)
lowerbound=double
Units: years or kg Min: 0
Dose multiplier
dose_mult=double
Min: 0
The dose size given in the schedule (in "mg") is multiplied by this value for patients falling into this range when this dosage table is used.
Look-up table (weight)
→ scenario → pharmacology → treatments → dosages → bodymass
<bodymass
lowerbound=double
dose_mult=double
/>
Documentation (element)
Select dose multiplier from a look-up table using the patient's body mass.
Documentation (type)
A look-up table which uses patient age (in years) or weight (in kg) to find a multiplier.
Attributes
Lower bound (inclusive)
lowerbound=double
Units: years or kg Min: 0
Dose multiplier
dose_mult=double
Min: 0
The dose size given in the schedule (in "mg") is multiplied by this value for patients falling into this range when this dosage table is used.
Multiply dose
→ scenario → pharmacology → treatments → dosages → multiply
<multiply
by=("kg")
/>
Documentation (element)
Multiply the dose by some quantity, such as patient weight.
Attributes
By what?
by=("kg")
Quantity to multiply the dose by. Only option is "kg" (patient weight in kg).
Drug library
→ scenario → pharmacology → drugs
<drugs>
IN THIS ORDER:
| ( <drug ... /> )+
</drugs>
Documentation (element)
A library of drug PK/PD data.
drug
→ scenario → pharmacology → drugs → drug
<drug
abbrev=string
>
IN THIS ORDER:
| <PD ... />
| <PK ... />
</drug>
Documentation (type)
A drug description with PK/PD parameters.
Attributes
abbrev
abbrev=string
PD
→ scenario → pharmacology → drugs → drug → PD
<PD
[ locus=string ]
>
IN THIS ORDER:
| ( <phenotype ... /> )+
</PD>
Attributes
Locus
locus=string
Optional; if present specifies the locus corresponding to this drug's PD phenotypes: each phenotype must then match one of that locus's alleles. Otherwise the drug should specify only one phenotype. There is currently a one-to-many correspondance between loci and drugs.
PD parameters for some allele / resistance phenotype
→ scenario → pharmacology → drugs → drug → PD → phenotype
<phenotype
[ name=string ]
>
IN THIS ORDER:
| ( <restriction ... /> )*
| <max_killing_rate ... />
| <IC50 ... />
| <slope ... />
</phenotype>
Documentation (element)
Pharmaco-Dynamic parameters for some resistance phenotype.
To model resistance to this drug, describe multiple infection phenotypes (with respect to these PD parameters) and list one or more "restrict" elements for each phenotype.
Loci are specified elsewhere. Multiple loci may influence the action of a single drug and each locus may influence multiple drugs.
Attributes
Name of phenotype
name=string
Name of the phenotype; for documentation use only.
Restrict phenotype applicability to certain alleles
→ scenario → pharmacology → drugs → drug → PD → phenotype → restriction
<restriction
onLocus=string
toAllele=string
/>
Documentation (element)
Specifies the mapping from genotype to phenotype. For each drug type, if only one phenotype is present, restrictions need not be specified, but otherwise restrictions must be specified.
The set of loci affecting phenotypes of this drug's action must be fixed for any drug type. Each phenotype must list, for each of these loci, a restriction to one or more alleles under the locus.
Attributes
Locus relevant to the mapping of alleles to this phenotype
onLocus=string
A locus under which only a restricted set of alleles map to this phenotype.
Alleles mapping to this phenotype
toAllele=string
One allele of a locus upon which phenotype choice depends. If multiple alleles under this locus should map to the same phenotype, repeat the whole "restriction onLocus..." element.
Maximal parasite killing rate
→ scenario → pharmacology → drugs → drug → PD → phenotype → max_killing_rate
<max_killing_rate>
double
</max_killing_rate>
Documentation (element)
Units: 1/days Min: 0
k1 — Maximal parasite killing rate.
IC50
→ scenario → pharmacology → drugs → drug → PD → phenotype → IC50
<IC50
[ CV=double ]
[ distr=("const" or "lognormal" or "gamma") ] DEFAULT VALUE const
[ variance=double ]
mean=double
/>
Documentation (element)
Units: mg/l Min: 0
Half maximal effect concentration.
If CV > 0, the IC50 is sampled from a log-normal distribution.
Documentation (type)
A parameter with optional log-normal heterogeneity.
The mean value must be specified. Optionally, a distribution ("distr") and coefficient of variation ("CV") may be specified.
Documentation (base type)
A parameter with optional heterogeneity.
The mean cannot be specified (unless this type is extended). Optionally, a distribution ("distr") and coefficient of variation ("CV") may be specified.
Attributes
Coefficient of variation
CV=double
Units: unitless
The (linear) coefficient of variation. This value must be specified when a (non-constant) distribution is used. Note: since version 46, variance can be used instead. Note that specifying CV="0" has the same effect as distr="const" and disables sampling of this parameter, even if distr is not "const".
Distribution
distr=("const" or "lognormal" or "gamma")
Default value: const
To allow heterogeneity, a distribution must be specified. Valid options are as follows. "const": no variation or sampling. Specifying distr="const" has the same effect as not specifying distr at all. "lognormal": the parameter is sampled from a log-normal distribution. Note that the "mean" and "CV" values are linear (arithmetic) properties of the distribution and not log-space properties.
Coefficient of variation
variance=double
Units: unitless
The variance parameter of the distirbution. This value can be specified when a (non-constant) distribution is used. Note that specifying variance="0" has the same effect as distr="const" and disables sampling of this parameter, even if distr is not "const".
mean
mean=double
The (linear) mean value.
Slope of effect curve
→ scenario → pharmacology → drugs → drug → PD → phenotype → slope
<slope>
double
</slope>
Documentation (element)
Units: dimensionless
n — Slope of the concentration effect curve
PK
→ scenario → pharmacology → drugs → drug → PK
<PK>
IN THIS ORDER:
| <negligible_concentration ... />
| EXACTLY ONE OF:
| | <half_life ... />
| | IN THIS ORDER:
| | | <k ... />
| | | <m_exponent ... />
| [ <k_a ... /> ]
| [ <conversion ... /> ]
| <vol_dist ... />
| [ <compartment2 ... /> ]
| [ <compartment3 ... /> ]
</PK>
Drug concentration considered negligible
→ scenario → pharmacology → drugs → drug → PK → negligible_concentration
<negligible_concentration>
double
</negligible_concentration>
Documentation (element)
Units: mg/l Min: 0
Concentration below which drug's effects are deemed negligible and can be removed from simulation.
drug half-life
→ scenario → pharmacology → drugs → drug → PK → half_life
<half_life>
double
</half_life>
Documentation (element)
Units: days Min: 0
Used to calculate elimination rate λ, calculated as λ = ln(2) / half_life. The basic form of decay is C(t) = C0 * exp(-λ*t).
Alternatively, elimination rate can be specified via k and m_exponent.
Constant associated with elimination rate (k)
→ scenario → pharmacology → drugs → drug → PK → k
<k
[ CV=double ]
[ distr=("const" or "lognormal" or "gamma") ] DEFAULT VALUE const
[ variance=double ]
mean=double
/>
Documentation (element)
Units: day^-1 Min: 0
Constant used to calculate the elimination rate λ, which is calculated as λ = k / (body_mass ^ m_exponent), where body_mass is the patient's weight in kg and m_exponent is the next parameter. The basic form of decay is C(t) = C0 * exp(-λ*t).
If CV > 0, k is sampled per-human from the log-normal distribution: ln N( ln(mean) - σ^2 / 2, σ^2).
Alternatively, elimination rate can be specified via half_life.
Documentation (type)
A parameter with optional log-normal heterogeneity.
The mean value must be specified. Optionally, a distribution ("distr") and coefficient of variation ("CV") may be specified.
Documentation (base type)
A parameter with optional heterogeneity.
The mean cannot be specified (unless this type is extended). Optionally, a distribution ("distr") and coefficient of variation ("CV") may be specified.
Attributes
Coefficient of variation
CV=double
Units: unitless
The (linear) coefficient of variation. This value must be specified when a (non-constant) distribution is used. Note: since version 46, variance can be used instead. Note that specifying CV="0" has the same effect as distr="const" and disables sampling of this parameter, even if distr is not "const".
Distribution
distr=("const" or "lognormal" or "gamma")
Default value: const
To allow heterogeneity, a distribution must be specified. Valid options are as follows. "const": no variation or sampling. Specifying distr="const" has the same effect as not specifying distr at all. "lognormal": the parameter is sampled from a log-normal distribution. Note that the "mean" and "CV" values are linear (arithmetic) properties of the distribution and not log-space properties.
Coefficient of variation
variance=double
Units: unitless
The variance parameter of the distirbution. This value can be specified when a (non-constant) distribution is used. Note that specifying variance="0" has the same effect as distr="const" and disables sampling of this parameter, even if distr is not "const".
mean
mean=double
The (linear) mean value.
Constant associated with elimination rate (m_exponent)
→ scenario → pharmacology → drugs → drug → PK → m_exponent
<m_exponent>
double
</m_exponent>
Documentation (element)
Units: day^-1 Min: 0
Constant used to calculate the elimination rate λ, which is calculated as λ = k / (body_mass ^ m_exponent), where body_mass is the patient's weight in kg and k is the previous parameter. The basic form of decay is C(t) = C0 * exp(-λ*t).
Alternatively, elimination rate can be specified via half_life.
Note that in the case of a conversion model, this applies to both the elimination and the conversion rates.
Absorption rate constant (k_a)
→ scenario → pharmacology → drugs → drug → PK → k_a
<k_a
[ CV=double ]
[ distr=("const" or "lognormal" or "gamma") ] DEFAULT VALUE const
[ variance=double ]
mean=double
/>
Documentation (element)
Min: 0
Absorption rate parameter. Not allowed for one compartment models, but required for two and three compartment models and one compartment with conversion model (for the parent drug only).
Documentation (type)
A parameter with optional log-normal heterogeneity.
The mean value must be specified. Optionally, a distribution ("distr") and coefficient of variation ("CV") may be specified.
Documentation (base type)
A parameter with optional heterogeneity.
The mean cannot be specified (unless this type is extended). Optionally, a distribution ("distr") and coefficient of variation ("CV") may be specified.
Attributes
Coefficient of variation
CV=double
Units: unitless
The (linear) coefficient of variation. This value must be specified when a (non-constant) distribution is used. Note: since version 46, variance can be used instead. Note that specifying CV="0" has the same effect as distr="const" and disables sampling of this parameter, even if distr is not "const".
Distribution
distr=("const" or "lognormal" or "gamma")
Default value: const
To allow heterogeneity, a distribution must be specified. Valid options are as follows. "const": no variation or sampling. Specifying distr="const" has the same effect as not specifying distr at all. "lognormal": the parameter is sampled from a log-normal distribution. Note that the "mean" and "CV" values are linear (arithmetic) properties of the distribution and not log-space properties.
Coefficient of variation
variance=double
Units: unitless
The variance parameter of the distirbution. This value can be specified when a (non-constant) distribution is used. Note that specifying variance="0" has the same effect as distr="const" and disables sampling of this parameter, even if distr is not "const".
mean
mean=double
The (linear) mean value.
Conversion parameters (parent drug)
→ scenario → pharmacology → drugs → drug → PK → conversion
<conversion>
IN ANY ORDER:
| <metabolite ... />
| <rate ... />
| <molRatio ... />
| <IC50_log_correlation ... />
</conversion>
Documentation (element)
Configures the parent drug in a conversion model.
To use a conversion model, the parent drug should have this section defined as well as half-life or k (direct elimination; this may be zero) and k_a (absorption rate; this may be large).
The metabolite drug should define half-life or k (elimination of metabolite), but not k_a (absorption rate) or this section (conversion). It is not possible for the metabolite to itself undergo conversion with the current models.
Metabolite drug (abbreviation)
→ scenario → pharmacology → drugs → drug → PK → conversion → metabolite
<metabolite>
string
</metabolite>
Documentation (element)
The abbreviation of the metabolite drug (e.g. "DHA" or "DHA_AR").
Rate of conversion
→ scenario → pharmacology → drugs → drug → PK → conversion → rate
<rate
[ CV=double ]
[ distr=("const" or "lognormal" or "gamma") ] DEFAULT VALUE const
[ variance=double ]
mean=double
/>
Documentation (element)
Rate of conversion of parent drug to metabolite.
Documentation (type)
A parameter with optional log-normal heterogeneity.
The mean value must be specified. Optionally, a distribution ("distr") and coefficient of variation ("CV") may be specified.
Documentation (base type)
A parameter with optional heterogeneity.
The mean cannot be specified (unless this type is extended). Optionally, a distribution ("distr") and coefficient of variation ("CV") may be specified.
Attributes
Coefficient of variation
CV=double
Units: unitless
The (linear) coefficient of variation. This value must be specified when a (non-constant) distribution is used. Note: since version 46, variance can be used instead. Note that specifying CV="0" has the same effect as distr="const" and disables sampling of this parameter, even if distr is not "const".
Distribution
distr=("const" or "lognormal" or "gamma")
Default value: const
To allow heterogeneity, a distribution must be specified. Valid options are as follows. "const": no variation or sampling. Specifying distr="const" has the same effect as not specifying distr at all. "lognormal": the parameter is sampled from a log-normal distribution. Note that the "mean" and "CV" values are linear (arithmetic) properties of the distribution and not log-space properties.
Coefficient of variation
variance=double
Units: unitless
The variance parameter of the distirbution. This value can be specified when a (non-constant) distribution is used. Note that specifying variance="0" has the same effect as distr="const" and disables sampling of this parameter, even if distr is not "const".
mean
mean=double
The (linear) mean value.
Molecular weight ratio
→ scenario → pharmacology → drugs → drug → PK → conversion → molRatio
<molRatio>
double
</molRatio>
Documentation (element)
Ratio of molecular weights: molecular weight of the metabolite divided by molecular weight of the parent.
IC50 log correlation
→ scenario → pharmacology → drugs → drug → PK → conversion → IC50_log_correlation
<IC50_log_correlation>
double
</IC50_log_correlation>
Documentation (element)
Min: 0 Max: 1
The IC50 values of parent and metabolite drugs may be sampled from the log-normal distribution (if CV is greater than 0). This parameter controls correlation between these samples, measured in log-space.
If this value is 1, samples are fully correlated: a single z-score is used to calculate both samples. If this is 0, two independent samples are used.
Values between 0 and 1 (partial correlation) are supported; in this case IC50 values are sampled such that cor(log(x), log(y)) matches this value (where x, y are parent and metabolite IC50 values).
Volume of Distribution (Vd)
→ scenario → pharmacology → drugs → drug → PK → vol_dist
<vol_dist
[ CV=double ]
[ distr=("const" or "lognormal" or "gamma") ] DEFAULT VALUE const
[ variance=double ]
mean=double
/>
Documentation (element)
Units: l/kg Min: 0
Volume of Distribution.
If CV > 0 this is sampled from a log-normal distribution.
Documentation (type)
A parameter with optional log-normal heterogeneity.
The mean value must be specified. Optionally, a distribution ("distr") and coefficient of variation ("CV") may be specified.
Documentation (base type)
A parameter with optional heterogeneity.
The mean cannot be specified (unless this type is extended). Optionally, a distribution ("distr") and coefficient of variation ("CV") may be specified.
Attributes
Coefficient of variation
CV=double
Units: unitless
The (linear) coefficient of variation. This value must be specified when a (non-constant) distribution is used. Note: since version 46, variance can be used instead. Note that specifying CV="0" has the same effect as distr="const" and disables sampling of this parameter, even if distr is not "const".
Distribution
distr=("const" or "lognormal" or "gamma")
Default value: const
To allow heterogeneity, a distribution must be specified. Valid options are as follows. "const": no variation or sampling. Specifying distr="const" has the same effect as not specifying distr at all. "lognormal": the parameter is sampled from a log-normal distribution. Note that the "mean" and "CV" values are linear (arithmetic) properties of the distribution and not log-space properties.
Coefficient of variation
variance=double
Units: unitless
The variance parameter of the distirbution. This value can be specified when a (non-constant) distribution is used. Note that specifying variance="0" has the same effect as distr="const" and disables sampling of this parameter, even if distr is not "const".
mean
mean=double
The (linear) mean value.
Second compartment parameters
→ scenario → pharmacology → drugs → drug → PK → compartment2
<compartment2>
IN ANY ORDER:
| <k12 ... />
| <k21 ... />
</compartment2>
Documentation (element)
Optional element specifying conversion parameters to- and from- a second compartment.
Absorption rate to compartment 2 (k12)
→ scenario → pharmacology → drugs → drug → PK → compartment2 → k12
<k12
[ CV=double ]
[ distr=("const" or "lognormal" or "gamma") ] DEFAULT VALUE const
[ variance=double ]
mean=double
/>
Documentation (element)
Units: day^-1 Min: 0
Absorption rate from the central compartment to the first periphery compartment (2).
It is sampled per-patient when CV > 0.
Documentation (type)
A parameter with optional log-normal heterogeneity.
The mean value must be specified. Optionally, a distribution ("distr") and coefficient of variation ("CV") may be specified.
Documentation (base type)
A parameter with optional heterogeneity.
The mean cannot be specified (unless this type is extended). Optionally, a distribution ("distr") and coefficient of variation ("CV") may be specified.
Attributes
Coefficient of variation
CV=double
Units: unitless
The (linear) coefficient of variation. This value must be specified when a (non-constant) distribution is used. Note: since version 46, variance can be used instead. Note that specifying CV="0" has the same effect as distr="const" and disables sampling of this parameter, even if distr is not "const".
Distribution
distr=("const" or "lognormal" or "gamma")
Default value: const
To allow heterogeneity, a distribution must be specified. Valid options are as follows. "const": no variation or sampling. Specifying distr="const" has the same effect as not specifying distr at all. "lognormal": the parameter is sampled from a log-normal distribution. Note that the "mean" and "CV" values are linear (arithmetic) properties of the distribution and not log-space properties.
Coefficient of variation
variance=double
Units: unitless
The variance parameter of the distirbution. This value can be specified when a (non-constant) distribution is used. Note that specifying variance="0" has the same effect as distr="const" and disables sampling of this parameter, even if distr is not "const".
mean
mean=double
The (linear) mean value.
Absorption rate from compartment 2 (k21)
→ scenario → pharmacology → drugs → drug → PK → compartment2 → k21
<k21
[ CV=double ]
[ distr=("const" or "lognormal" or "gamma") ] DEFAULT VALUE const
[ variance=double ]
mean=double
/>
Documentation (element)
Units: day^-1 Min: 0
Absorption rate from the first periphery compartment (2) to the central compartment.
It is sampled per-patient when CV > 0.
Documentation (type)
A parameter with optional log-normal heterogeneity.
The mean value must be specified. Optionally, a distribution ("distr") and coefficient of variation ("CV") may be specified.
Documentation (base type)
A parameter with optional heterogeneity.
The mean cannot be specified (unless this type is extended). Optionally, a distribution ("distr") and coefficient of variation ("CV") may be specified.
Attributes
Coefficient of variation
CV=double
Units: unitless
The (linear) coefficient of variation. This value must be specified when a (non-constant) distribution is used. Note: since version 46, variance can be used instead. Note that specifying CV="0" has the same effect as distr="const" and disables sampling of this parameter, even if distr is not "const".
Distribution
distr=("const" or "lognormal" or "gamma")
Default value: const
To allow heterogeneity, a distribution must be specified. Valid options are as follows. "const": no variation or sampling. Specifying distr="const" has the same effect as not specifying distr at all. "lognormal": the parameter is sampled from a log-normal distribution. Note that the "mean" and "CV" values are linear (arithmetic) properties of the distribution and not log-space properties.
Coefficient of variation
variance=double
Units: unitless
The variance parameter of the distirbution. This value can be specified when a (non-constant) distribution is used. Note that specifying variance="0" has the same effect as distr="const" and disables sampling of this parameter, even if distr is not "const".
mean
mean=double
The (linear) mean value.
Third compartment parameters
→ scenario → pharmacology → drugs → drug → PK → compartment3
<compartment3>
IN ANY ORDER:
| <k13 ... />
| <k31 ... />
</compartment3>
Documentation (element)
Optional element specifying conversion parameters to- and from- a third compartment.
Absorption rate to compartment 3 (k13)
→ scenario → pharmacology → drugs → drug → PK → compartment3 → k13
<k13
[ CV=double ]
[ distr=("const" or "lognormal" or "gamma") ] DEFAULT VALUE const
[ variance=double ]
mean=double
/>
Documentation (element)
Units: day^-1 Min: 0
Absorption rate from the central compartment to the second periphery compartment (3).
It is sampled per-patient when CV > 0.
Documentation (type)
A parameter with optional log-normal heterogeneity.
The mean value must be specified. Optionally, a distribution ("distr") and coefficient of variation ("CV") may be specified.
Documentation (base type)
A parameter with optional heterogeneity.
The mean cannot be specified (unless this type is extended). Optionally, a distribution ("distr") and coefficient of variation ("CV") may be specified.
Attributes
Coefficient of variation
CV=double
Units: unitless
The (linear) coefficient of variation. This value must be specified when a (non-constant) distribution is used. Note: since version 46, variance can be used instead. Note that specifying CV="0" has the same effect as distr="const" and disables sampling of this parameter, even if distr is not "const".
Distribution
distr=("const" or "lognormal" or "gamma")
Default value: const
To allow heterogeneity, a distribution must be specified. Valid options are as follows. "const": no variation or sampling. Specifying distr="const" has the same effect as not specifying distr at all. "lognormal": the parameter is sampled from a log-normal distribution. Note that the "mean" and "CV" values are linear (arithmetic) properties of the distribution and not log-space properties.
Coefficient of variation
variance=double
Units: unitless
The variance parameter of the distirbution. This value can be specified when a (non-constant) distribution is used. Note that specifying variance="0" has the same effect as distr="const" and disables sampling of this parameter, even if distr is not "const".
mean
mean=double
The (linear) mean value.
Absorption rate from compartment 3 (k31)
→ scenario → pharmacology → drugs → drug → PK → compartment3 → k31
<k31
[ CV=double ]
[ distr=("const" or "lognormal" or "gamma") ] DEFAULT VALUE const
[ variance=double ]
mean=double
/>
Documentation (element)
Units: day^-1 Min: 0
Absorption rate from the second periphery compartment (3) to the central compartment.
It is sampled per-patient when CV > 0.
Documentation (type)
A parameter with optional log-normal heterogeneity.
The mean value must be specified. Optionally, a distribution ("distr") and coefficient of variation ("CV") may be specified.
Documentation (base type)
A parameter with optional heterogeneity.
The mean cannot be specified (unless this type is extended). Optionally, a distribution ("distr") and coefficient of variation ("CV") may be specified.
Attributes
Coefficient of variation
CV=double
Units: unitless
The (linear) coefficient of variation. This value must be specified when a (non-constant) distribution is used. Note: since version 46, variance can be used instead. Note that specifying CV="0" has the same effect as distr="const" and disables sampling of this parameter, even if distr is not "const".
Distribution
distr=("const" or "lognormal" or "gamma")
Default value: const
To allow heterogeneity, a distribution must be specified. Valid options are as follows. "const": no variation or sampling. Specifying distr="const" has the same effect as not specifying distr at all. "lognormal": the parameter is sampled from a log-normal distribution. Note that the "mean" and "CV" values are linear (arithmetic) properties of the distribution and not log-space properties.
Coefficient of variation
variance=double
Units: unitless
The variance parameter of the distirbution. This value can be specified when a (non-constant) distribution is used. Note that specifying variance="0" has the same effect as distr="const" and disables sampling of this parameter, even if distr is not "const".
mean
mean=double
The (linear) mean value.
Diagnostic parameters
→ scenario → diagnostics
<diagnostics>
IN THIS ORDER:
| ( <diagnostic ... /> )*
</diagnostics>
Documentation (element)
Diagnostic model parameters
diagnostic
→ scenario → diagnostics → diagnostic
<diagnostic
name=string
[ units=("Other" or "Garki" or "Malariatherapy") ]
[ mechanism=("Other" or "HRP2") ] DEFAULT VALUE Other
>
IN THIS ORDER:
| EXACTLY ONE OF:
| | <deterministic ... />
| | <stochastic ... />
</diagnostic>
Attributes
Name of diagnostic
name=string
Name of this diagnostic (parameterisation). May be used elsewhere in the XML document to refer to this set of diagnostic parameters.
Parasite density units / methodology
units=("Other" or "Garki" or "Malariatherapy")
Parasite densities, as estimated according to standard microscopy methods, the Garki method, and as derived from Malariatherapy data are not equivalent. Internally, a "bias" factor is used to convert values estimated by one methods to values comparable with another (see AJTMHv75 supplement 2 pp20-21). This option allows specification of which methodology the density given in the diagnostic specification is measured with. Values allowed are: Malariatherapy, Garki and Other. If not specified, Other is assumed, unless the GARKI_DENSITY_BIAS model option is used, in which case this option must be specified.
Mechanism
mechanism=("Other" or "HRP2")
Default value: Other
Mechanism by which this diagnostic functions. Possible values are: HRP2, Other. In the case of HRP2, infections with an hrp2_deletion will be invisible to this diagnostic. In the case of Other, the diagnostic is unaffected by infection genome. The diagnostic used for monitoring cannot use HRP2. (This is a restriction made to simplify implementation.)
Deterministic detection
→ scenario → diagnostics → diagnostic → deterministic
<deterministic
minDensity=double
/>
Documentation (element)
Specify that an artificial deterministic test is used: outcome is positive if parasite density is at least the minimum given.
Attributes
Minimum detectible density
minDensity=double
Units: parasites/microlitre Min: 0
The minimum density at which parasites can be detected. If 0, the test outcome is always positive.
Non-deterministic detection
→ scenario → diagnostics → diagnostic → stochastic
<stochastic
dens_50=double
specificity=double
/>
Documentation (element)
An improved model of detection which is non-deterministic, including false positive results as well as false negatives.
The probability of a positive outcome is modelled as 1 + s×(x/(x+d) - 1) where x is the parasite density, d is the density at which the test outcome has a 50% chance of being positive, and s is the probability of a positive outcome given no parasites (the specificity).
Some parameterisations:
Microscopy sensitivity/specificity data in Africa; Source: expert opinion — Allan Schapira dens_50 = 20.0 specificity = .75
RDT sensitivity/specificity for Plasmodium falciparum in Africa Source: Murray et al (Clinical Microbiological Reviews, Jan. 2008) dens_50 = 50.0; specificity = .942;
Attributes
Density 50
dens_50=double
Units: parasites/microlitre Min: 0
The density at which the test outcome has a 50% chance of being positive.
Specificity
specificity=double
Units: Dimensionless Min: 0 Max: 1
The probability of a positive test outcome in the absense of parasites.
Model options and parameters
<model>
IN ANY ORDER:
| <ModelOptions ... />
| <clinical ... />
| <human ... />
| [ <vivax ... /> ]
| <parameters ... />
</model>
Documentation (element)
Encapsulation of all parameters which describe the model according to which fitting is done.
Model Options
→ scenario → model → ModelOptions
<ModelOptions>
IN THIS ORDER:
| ( <option ... /> )*
</ModelOptions>
Documentation (element)
All model options (bug fixes, choices between models, etc.).
The list of recognised options can be found in the code at:
model/util/ModelOptions.h and should also be in the wiki.
clinical
<clinical
healthSystemMemory=string
>
IN ANY ORDER:
| [ <NeonatalMortality ... /> ]
| [ <NonMalariaFevers ... /> ]
</clinical>
Documentation (type)
Description of clinical parameters that are related to the health-system description, but which contain data that cannot be changed as part of an intervention and that are not restricted to treatment.
Attributes
Follow-up period during which recurrence is considered a treatment failure
healthSystemMemory=string
Units: User-defined (defaults to steps)
Follow-up period during which a recurrence is considered to be a treatment failure Can be specified in steps (e.g. 6t) or days (e.g. 28d).
Neonatal mortality parameters
→ scenario → model → clinical → NeonatalMortality
<NeonatalMortality
diagnostic=string
/>
Attributes
Diagnostic used to parameterise model
diagnostic=string
The name of a diagnostic used to parameterise the model. Neonatal mortality is derived from malaria patency of a certain sub-population of humans. This is the diagnostic used to asses patency for this purpose. If this is not specified, the monitoring diagnostic is used.
NonMalariaFevers
→ scenario → model → clinical → NonMalariaFevers
<NonMalariaFevers>
IN THIS ORDER:
| <incidence ... />
| [ <prNeedTreatmentNMF ... /> ]
| [ <prNeedTreatmentMF ... /> ]
</NonMalariaFevers>
Documentation (type)
Description of the incidence of non-malaria fever. Non-malaria fevers are only modelled if the NON_MALARIA_FEVERS option is used.
P(NMF)
→ scenario → model → clinical → NonMalariaFevers → incidence
<incidence
[ interpolation=("none" or "linear") ]
>
IN THIS ORDER:
| ( <group ... /> )+
</incidence>
Documentation (element)
Units: Dimensionless Min: 0.0 Max: 1.0
Probability that a non-malaria fever occurs given that no concurrent malaria fever occurs.
Attributes
interpolation
interpolation=("none" or "linear")
Interpolation algorithm. Normally it is desirable for age-based values to be continuous w.r.t. age. By default linear interpolation is used. With all algorithms except "none", the age groups are converted to a set of points centred within each age range. Extra points are added at each end (zero and infinity) to keep value constant at both ends of the function. A zero-length age group may be used as a kind of barrier to adjust the distribution; e.g. with age group boundaries at 15, 20 and 25 years, a (linear) spline would be drawn between ages 17.5 and 22.5, whereas with boundaries at 15, 20 and 20 years, a spline would be drawn between ages 17.5 and 20 years (may be desired if individuals are assumed to reach adult size at 20). Algorithms:
- none: input values are used directly
- linear: straight lines (on an age vs. value graph) are used to interpolate data points.
P(need treatment | NMF)
→ scenario → model → clinical → NonMalariaFevers → prNeedTreatmentNMF
<prNeedTreatmentNMF
[ interpolation=("none" or "linear") ]
>
IN THIS ORDER:
| ( <group ... /> )+
</prNeedTreatmentNMF>
Documentation (element)
Units: Dimensionless Min: 0 Max: 1
Probability that a non-malarial fever requires treatment with antibiotics (assuming fever is not induced by malaria, although concurrent parasites may be present).
Attributes
interpolation
interpolation=("none" or "linear")
Interpolation algorithm. Normally it is desirable for age-based values to be continuous w.r.t. age. By default linear interpolation is used. With all algorithms except "none", the age groups are converted to a set of points centred within each age range. Extra points are added at each end (zero and infinity) to keep value constant at both ends of the function. A zero-length age group may be used as a kind of barrier to adjust the distribution; e.g. with age group boundaries at 15, 20 and 25 years, a (linear) spline would be drawn between ages 17.5 and 22.5, whereas with boundaries at 15, 20 and 20 years, a spline would be drawn between ages 17.5 and 20 years (may be desired if individuals are assumed to reach adult size at 20). Algorithms:
- none: input values are used directly
- linear: straight lines (on an age vs. value graph) are used to interpolate data points.
P(need treatment | MF)
→ scenario → model → clinical → NonMalariaFevers → prNeedTreatmentMF
<prNeedTreatmentMF
[ interpolation=("none" or "linear") ]
>
IN THIS ORDER:
| ( <group ... /> )+
</prNeedTreatmentMF>
Documentation (element)
Units: Dimensionless Min: 0 Max: 1
Probability that a malaria fever needs treatment with antibiotics (assuming fever is induced by malaria, although concurrent bacteria may be present).
Meaning partially overlaps with separate model for comorbidity given malaria.
Attributes
interpolation
interpolation=("none" or "linear")
Interpolation algorithm. Normally it is desirable for age-based values to be continuous w.r.t. age. By default linear interpolation is used. With all algorithms except "none", the age groups are converted to a set of points centred within each age range. Extra points are added at each end (zero and infinity) to keep value constant at both ends of the function. A zero-length age group may be used as a kind of barrier to adjust the distribution; e.g. with age group boundaries at 15, 20 and 25 years, a (linear) spline would be drawn between ages 17.5 and 22.5, whereas with boundaries at 15, 20 and 20 years, a spline would be drawn between ages 17.5 and 20 years (may be desired if individuals are assumed to reach adult size at 20). Algorithms:
- none: input values are used directly
- linear: straight lines (on an age vs. value graph) are used to interpolate data points.
human
<human>
IN THIS ORDER:
| <availabilityToMosquitoes ... />
| [ <weight ... /> ]
</human>
Documentation (type)
Parameters of host models.
Availability to mosquitoes
→ scenario → model → human → availabilityToMosquitoes
<availabilityToMosquitoes
[ interpolation=("none" or "linear") ]
>
IN THIS ORDER:
| ( <group ... /> )+
</availabilityToMosquitoes>
Documentation (element)
Units: None Min: 0 Max: 1
Availability of humans to mosquitoes relative to an adult, categorized by age group
Attributes
interpolation
interpolation=("none" or "linear")
Interpolation algorithm. Normally it is desirable for age-based values to be continuous w.r.t. age. By default linear interpolation is used. With all algorithms except "none", the age groups are converted to a set of points centred within each age range. Extra points are added at each end (zero and infinity) to keep value constant at both ends of the function. A zero-length age group may be used as a kind of barrier to adjust the distribution; e.g. with age group boundaries at 15, 20 and 25 years, a (linear) spline would be drawn between ages 17.5 and 22.5, whereas with boundaries at 15, 20 and 20 years, a spline would be drawn between ages 17.5 and 20 years (may be desired if individuals are assumed to reach adult size at 20). Algorithms:
- none: input values are used directly
- linear: straight lines (on an age vs. value graph) are used to interpolate data points.
Weight
→ scenario → model → human → weight
<weight
[ interpolation=("none" or "linear") ]
multStdDev=double
>
IN THIS ORDER:
| ( <group ... /> )+
</weight>
Documentation (element)
Units: kg Min: 0
By age group data on human weight (mass).
Attributes
interpolation
interpolation=("none" or "linear")
Interpolation algorithm. Normally it is desirable for age-based values to be continuous w.r.t. age. By default linear interpolation is used. With all algorithms except "none", the age groups are converted to a set of points centred within each age range. Extra points are added at each end (zero and infinity) to keep value constant at both ends of the function. A zero-length age group may be used as a kind of barrier to adjust the distribution; e.g. with age group boundaries at 15, 20 and 25 years, a (linear) spline would be drawn between ages 17.5 and 22.5, whereas with boundaries at 15, 20 and 20 years, a spline would be drawn between ages 17.5 and 20 years (may be desired if individuals are assumed to reach adult size at 20). Algorithms:
- none: input values are used directly
- linear: straight lines (on an age vs. value graph) are used to interpolate data points.
Standard deviation
multStdDev=double
Units: None Min: 0
Each human is assigned a weight multiplier from a normal distribution with mean 1 and this standard deviation at birth. His/her weight is this multiplier times the mean from age distribution. A standard deviation of zero for no heterogeneity is valid; a rough value from Tanzanian data is 0.14.
Vivax model parameters
<vivax>
IN ANY ORDER:
| <probBloodStageInfectiousToMosq ... />
| <hypnozoiteRelease ... />
| <bloodStageProtectionLatency ... />
| <bloodStageLengthDays ... />
| <clinicalEvents ... />
</vivax>
- probBloodStageInfectiousToMosq
- hypnozoiteRelease
- bloodStageProtectionLatency
- bloodStageLengthDays
- clinicalEvents
Documentation (element)
This describes Vivax model parameters, and is required when using the VIVAX_SIMPLE_MODEL model option.
Probability of mosquito infection
→ scenario → model → vivax → probBloodStageInfectiousToMosq
<probBloodStageInfectiousToMosq
value=double
/>
Documentation (element)
Units: None Min: 0 Max: 1
The chance of a feeding mosquito becoming infected, given that the host is patent. (This may be adjusted by transmission-blocking vaccines.)
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Hypnozoite releases
→ scenario → model → vivax → hypnozoiteRelease
<hypnozoiteRelease
[ pSecondRelease=double ] DEFAULT VALUE 0
>
IN ANY ORDER:
| <numberHypnozoites ... />
| <firstReleaseDays ... />
| [ <secondReleaseDays ... /> ]
</hypnozoiteRelease>
Documentation (element)
Describes the number and times of hypnozoite releases.
Documentation (type)
This element defines probabilites when and how many hypnozoites are released from the liverstage into the blood.
The gap between the start of a new brood of hypnozoites and its release are defined as follows:
latentP + latentRelapse + randomReleaseDelay
randomReleaseDelay is based on one or two lognormal distributions, which are defined in firstRelease and optionally secondRelease.
You can define 2 release distributions, which get added together and represent the probability of hypnozoites which get released before winter (first release) or after (second release).
You can omit the secondRelease element if no release to the blood happens after winter.
Attributes
latent relapse days
pSecondRelease=double
Default value: 0
Probability of a second release. If undefined it is zero.
Number of Hypnozoites
→ scenario → model → vivax → hypnozoiteRelease → numberHypnozoites
<numberHypnozoites
max=int
base=double
/>
Documentation (element)
numberHypnozoites calculates the number of hypnozoites in the liver stage based on a base which is between 0 and 1.
This number is random based on the following distribution and normalized:
max ∑ (base ^ n) n = 0
Attributes
max
max=int
base
base=double
firstReleaseDays
→ scenario → model → vivax → hypnozoiteRelease → firstReleaseDays
<firstReleaseDays
[ CV=double ]
[ distr=("const" or "lognormal" or "gamma") ] DEFAULT VALUE const
[ variance=double ]
mean=double
latentRelapse=double
/>
Documentation (type)
Hypnozoites are released after a delay, calculated as: roundToTSFromDays(delay + latentRelapse)
Here, roundToTSFromDays rounds the input (in days) to the nearest timestep, delay is sampled from a log-normal, and latentRelapse is the parameter specified here.
The delay is sampled from a log-normal distribution, parameterised via the (linear) mean and CV (coefficient of variation) given here.
Documentation (base type)
A parameter with optional log-normal heterogeneity.
The mean value must be specified. Optionally, a distribution ("distr") and coefficient of variation ("CV") may be specified.
Documentation (base type)
A parameter with optional heterogeneity.
The mean cannot be specified (unless this type is extended). Optionally, a distribution ("distr") and coefficient of variation ("CV") may be specified.
Attributes
Coefficient of variation
CV=double
Units: unitless
The (linear) coefficient of variation. This value must be specified when a (non-constant) distribution is used. Note: since version 46, variance can be used instead. Note that specifying CV="0" has the same effect as distr="const" and disables sampling of this parameter, even if distr is not "const".
Distribution
distr=("const" or "lognormal" or "gamma")
Default value: const
To allow heterogeneity, a distribution must be specified. Valid options are as follows. "const": no variation or sampling. Specifying distr="const" has the same effect as not specifying distr at all. "lognormal": the parameter is sampled from a log-normal distribution. Note that the "mean" and "CV" values are linear (arithmetic) properties of the distribution and not log-space properties.
Coefficient of variation
variance=double
Units: unitless
The variance parameter of the distirbution. This value can be specified when a (non-constant) distribution is used. Note that specifying variance="0" has the same effect as distr="const" and disables sampling of this parameter, even if distr is not "const".
mean
mean=double
The (linear) mean value.
latent relapse days
latentRelapse=double
Usually between 10 and 15 days.
secondReleaseDays
→ scenario → model → vivax → hypnozoiteRelease → secondReleaseDays
<secondReleaseDays
[ CV=double ]
[ distr=("const" or "lognormal" or "gamma") ] DEFAULT VALUE const
[ variance=double ]
mean=double
latentRelapse=double
/>
Documentation (type)
Hypnozoites are released after a delay, calculated as: roundToTSFromDays(delay + latentRelapse)
Here, roundToTSFromDays rounds the input (in days) to the nearest timestep, delay is sampled from a log-normal, and latentRelapse is the parameter specified here.
The delay is sampled from a log-normal distribution, parameterised via the (linear) mean and CV (coefficient of variation) given here.
Documentation (base type)
A parameter with optional log-normal heterogeneity.
The mean value must be specified. Optionally, a distribution ("distr") and coefficient of variation ("CV") may be specified.
Documentation (base type)
A parameter with optional heterogeneity.
The mean cannot be specified (unless this type is extended). Optionally, a distribution ("distr") and coefficient of variation ("CV") may be specified.
Attributes
Coefficient of variation
CV=double
Units: unitless
The (linear) coefficient of variation. This value must be specified when a (non-constant) distribution is used. Note: since version 46, variance can be used instead. Note that specifying CV="0" has the same effect as distr="const" and disables sampling of this parameter, even if distr is not "const".
Distribution
distr=("const" or "lognormal" or "gamma")
Default value: const
To allow heterogeneity, a distribution must be specified. Valid options are as follows. "const": no variation or sampling. Specifying distr="const" has the same effect as not specifying distr at all. "lognormal": the parameter is sampled from a log-normal distribution. Note that the "mean" and "CV" values are linear (arithmetic) properties of the distribution and not log-space properties.
Coefficient of variation
variance=double
Units: unitless
The variance parameter of the distirbution. This value can be specified when a (non-constant) distribution is used. Note that specifying variance="0" has the same effect as distr="const" and disables sampling of this parameter, even if distr is not "const".
mean
mean=double
The (linear) mean value.
latent relapse days
latentRelapse=double
Usually between 10 and 15 days.
Blood stage protection latency
→ scenario → model → vivax → bloodStageProtectionLatency
<bloodStageProtectionLatency
value=double
/>
Documentation (element)
Min: 0
The length of time after expiry of a blood-stage infection during which relapses from the same brood are supressed by the immune system.
This is rounded to the nearest time-step.
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Blood stage length
→ scenario → model → vivax → bloodStageLengthDays
<bloodStageLengthDays
scale=double
shape=double
distr=("weibull")
/>
Documentation (element)
Units: Days
Parameters used to sample the length of blood-stage infections from a Weibull distribution (scale parameter lambda, shape parameter k).
Documentation (type)
Parameters of a Weibull distribution.
Attributes
Scale
scale=double
The Weibull scale parameter (λ).
shape
shape=double
The Weibull shape parameter (k).
Distribution
distr=("weibull")
To allow heterogeneity, a distribution must be specified. In this case, only "weibull" is allowed.
clinicalEvents
→ scenario → model → vivax → clinicalEvents
<clinicalEvents>
IN THIS ORDER:
| <pPrimaryInfection ... />
| <pRelapseOne ... />
| <pRelapseTwoPlus ... />
| <pEventIsSevere ... />
| <vivaxClinOption ... />
</clinicalEvents>
Documentation (type)
This elements holds all information about probabilites for clinical events from infections and relapses.
pPrimaryInfection
→ scenario → model → vivax → clinicalEvents → pPrimaryInfection
<pPrimaryInfection
a=double
b=double
/>
Attributes
a
a=double
b
b=double
pRelapseOne
→ scenario → model → vivax → clinicalEvents → pRelapseOne
<pRelapseOne
a=double
b=double
/>
Attributes
a
a=double
b
b=double
pRelapseTwoPlus
→ scenario → model → vivax → clinicalEvents → pRelapseTwoPlus
<pRelapseTwoPlus
a=double
b=double
/>
Attributes
a
a=double
b
b=double
pEventIsSevere
→ scenario → model → vivax → clinicalEvents → pEventIsSevere
<pEventIsSevere
value=double
/>
Attributes
Input parameter value
value=double
A double-precision floating-point value.
vivaxClinOption
→ scenario → model → vivax → clinicalEvents → vivaxClinOption
<vivaxClinOption>
string
</vivaxClinOption>
Parameters of the model of epidemiology
→ scenario → model → parameters
<parameters
interval=int
iseed=int
latentp=string
>
IN THIS ORDER:
| ( <parameter ... /> )+
</parameters>
Documentation (element)
Parameters of the epidemiological model
Attributes
Simulation step
interval=int
Units: Days
Simulation step
Random number seed
iseed=int
Units: Number
Seed for RNG
Pre-erythrocytic latent period
latentp=string
Units: User defined (default: steps) Min: 0 Max: 20
Pre-erythrocytic latent period Can be specified in steps (e.g. 3t) or days (e.g. 15d).
parameter
→ scenario → model → parameters → parameter
<parameter
[ name=string ]
number=int
value=double
[ include=boolean ]
/>
Attributes
Name of parameter
name=string
Units: string
Name of parameter
Parameter number
number=int
Units: Number Min: 1 Max: 100
Reference number of input parameter
Parameter value
value=double
Units: Number Min: 0
Parameter value
Sampling indicator
include=boolean
Units: Number Min: 0 Max: 1
True if parameter is to be sampled in optimization runs. Not used in simulator app.
Schema 46 documentation
Generated from: scenario_46.xsd
.
Key:
abc required (one)
[ def ] optional (zero or one)
( ghi )* any number (zero or more)
( jkl )+ at least one
( mno ){2,inf} two or more occurrences
Scenario
→ scenario
<scenario
schemaVersion=int
[ analysisNo=int ]
name=string
[ wuID=int ]
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:om="http://openmalaria.org/schema/scenario_46"
xsi:schemaLocation="http://openmalaria.org/schema/scenario_46 scenario_46.xsd"
>
IN ANY ORDER:
| <demography ... />
| <monitoring ... />
| <interventions ... />
| <healthSystem ... />
| <entomology ... />
| [ <parasiteGenetics ... /> ]
| [ <pharmacology ... /> ]
| [ <diagnostics ... /> ]
| <model ... />
</scenario>
- demography
- monitoring
- interventions
- healthSystem
- entomology
- parasiteGenetics
- pharmacology
- diagnostics
- model
Documentation (element)
Description of scenario
Attributes
Version of the xml schema
schemaVersion=int
Version of xml schema. If not equal to the current version an error is thrown. Use SchemaTranslator to update xml files.
Reference number of the analysis
analysisNo=int
Units: Number Min: 1 Max: 100000000
Unique identifier of scenario
Name of intervention
name=string
Name of intervention
Work unit identifier
wuID=int
Units: Number
Work unit ID. Obselete and no longer required.
Human age distribution
→ scenario → demography
<demography
name=string
popSize=int
maximumAgeYrs=double
[ growthRate=double ]
>
IN THIS ORDER:
| <ageGroup ... />
</demography>
Documentation (element)
Description of demography
Attributes
Name of demography data
name=string
Name of demography data
Population size
popSize=int
Units: Count Min: 1 Max: 100000
Population size
Maximum age of simulated humans
maximumAgeYrs=double
Units: Years Min: 0 Max: 100
Maximum age of simulated humans in years
Growth rate of human population
growthRate=double
Units: Number Min: 0 Max: 0
Growth rate of human population. (we should be able to implement this with non-zero values)
Age groups
→ scenario → demography → ageGroup
<ageGroup
lowerbound=double
>
IN THIS ORDER:
| ( <group ... /> )+
</ageGroup>
Documentation (element)
list of age groups included in demography
Documentation (type)
list of age groups included in demography or surveys
Attributes
Lower bound of age group
lowerbound=double
Units: Years Min: 0 Max: 100
Lower bound of age group
group
→ scenario → demography → ageGroup → group
<group
poppercent=double
upperbound=double
/>
Attributes
Percentage in age group
poppercent=double
Units: Percentage Min: 0 Max: 100
Percentage of human population in age group
Upper bound of age group
upperbound=double
Units: Years Min: 0 Max: 100
Upper bound of age group
Measures to be reported
→ scenario → monitoring
<monitoring
name=string
[ startDate=string ]
>
IN THIS ORDER:
| [ <continuous ... /> ]
| <SurveyOptions ... />
| <surveys ... />
| <ageGroup ... />
| [ <cohorts ... /> ]
</monitoring>
Documentation (element)
Description of surveys
Attributes
Name of monitoring settings
name=string
Name of monitoring settings
Start of monitoring
startDate=string
An optional date for the start of monitoring. If given, dates may be used to specify when other events (surveys, intervention deployments) occur; alternately times relative to the start of the intervention period may be used to specify event times. Setting this to 1st January of some year might simplify usage of dates, and putting the start a couple of years before the start of intervention deployment (along with some extra surveys) may be useful to check transmission stabilises to the expected pre-intervention levels. As an example, if this date is set to 2000-01-01, then the following event times are equivalent (assuming 1t=5d): 15t, 75d, 0.2y, 2000-03-16. Must be in the form YYYY-MM-DD, e.g. 2003-01-01.
continuous
→ scenario → monitoring → continuous
<continuous
period=string
[ duringInit=boolean ]
>
IN THIS ORDER:
| ( <option ... /> )*
</continuous>
Attributes
Delay between reports
period=string
Units: User defined (default: steps)
Delay between reports; typically one time step but can be greater. Can be specified in steps (e.g. 1t) or days (e.g. 5d).
During initialization
duringInit=boolean
Units: Days Min: 1 Max: unbounded
Also output during initialization. By default this is disabled (only intervention-period data is output). This should not be used for predictions, but can be useful for model validation. In this mode, 'simulation time' is output as the first column (in addition to 'timestep'), since 'timestep' is dis- continuous across the start of the intervention period.
option
→ scenario → monitoring → continuous → option
<option
name=string
[ value=boolean ] DEFAULT VALUE true
/>
Attributes
Option name
name=string
Name of an option (monitoring measure or model option).
Indicator of whether option is required
value=boolean
Default value: true
Option on/off switch (true/false). Specifying value="true" is the same as not specifying a value; specifying value="false" explicitly turns the option off. If an option is not mentioned at all, it is left at its default value (normally off, but in a few cases, such as some bug-fix options, on).
Name of quantity
→ scenario → monitoring → SurveyOptions
<SurveyOptions
[ onlyNewEpisode=boolean ] DEFAULT VALUE false
>
IN THIS ORDER:
| ( <option ... /> )*
</SurveyOptions>
Documentation (element)
List of all active survey options. See model/mon/OutputMeasures.h for a list of supported outputs. Should also be on the wiki.
Attributes
Report only for new cases
onlyNewEpisode=boolean
Default value: false
If set, some statistics exclude humans who have been treated in the recent past (precisely, when the time of last treatment was before the current step and no more than health-system-memory days/steps ago). This is a rough replacement for the REPORT_ONLY_AT_RISK option, with one difference: the maximum age of treatment for REPORT_ONLY_AT_RISK was fixed at 20 days. Affected measures include (as of version 35): nHost (0), nInfect(1), nExpectd (2), nPatent (3), sumLogPyrogenThres (4), sumlogDens (5), totalInfs (6), totalPatentInf (8), sumPyrogenThresh (10), nSubPopRemovalFirstEvent (62), sumAge (68), nInfectByGenotype (69), nPatentByGenotype (70), logDensByGenotype (71), nHostDrugConcNonZero (72), sumLogDrugConcNonZero (73).
option
→ scenario → monitoring → SurveyOptions → option
<option
name=string
[ value=boolean ] DEFAULT VALUE true
[ outputNumber=int ]
[ byAge=boolean ]
[ byCohort=boolean ]
[ bySpecies=boolean ]
[ byGenotype=boolean ]
[ byDrugType=boolean ]
/>
Attributes
Option name
name=string
Name of an option (monitoring measure or model option).
Indicator of whether option is required
value=boolean
Default value: true
Option on/off switch (true/false). Specifying value="true" is the same as not specifying a value; specifying value="false" explicitly turns the option off. If an option is not mentioned at all, it is left at its default value (normally off, but in a few cases, such as some bug-fix options, on).
Number identifying measure in output
outputNumber=int
Number identifying this monitoring measure in the output file (3rd column). Normally this is determined from the measure, but it can be set manually, e.g. for when the same measure is recorded twice (to accumulate across different categories).
Report by age category
byAge=boolean
If true, the measure is reported for each age category. If false, values are summed across all age categories and only the sum reported. If not specified, separate categories will be reported if the measure supports this.
Report by cohort
byCohort=boolean
If true, the measure is reported for each cohort separately. If false, values are summed across all cohorts and only the sum reported. If not specified, separate categories will be reported if the measure supports this.
Report by mosquito species
bySpecies=boolean
If true, the measure is reported for each mosquito species separately. If false, values are summed across all species and only the sum reported. If not specified, separate categories will be reported if the measure supports this.
Report by parasite genotype
byGenotype=boolean
If true, the measure is reported for each parasite genotype separately. If false, values are summed across all genotypes and only the sum reported. If not specified, separate categories will be reported if the measure supports this.
Report by drug type
byDrugType=boolean
If true, the measure is reported for each drug type separately. If false, values are summed across all drug types and only the sum reported. If not specified, separate categories will be reported if the measure supports this.
Survey times (time steps)
→ scenario → monitoring → surveys
<surveys
[ detectionLimit=double ]
[ diagnostic=string ]
>
IN THIS ORDER:
| ( <surveyTime ... /> )+
</surveys>
Documentation (element)
List of survey times
Attributes
Detection limit for parasitaemia
detectionLimit=double
Units: parasites/microlitre Min: 0
Deprecated: limit above which a human's infection is reported as patent. Alternative: do not specify this; instead specify "diagnostic".
Name of monitoring diagnostic
diagnostic=string
Name of a parameterised diagnostic to use in surveys (see scenario/diagnostics).
Survey time
→ scenario → monitoring → surveys → surveyTime
<surveyTime
[ repeatStep=string ]
[ repeatEnd=string ]
[ reported=boolean ] DEFAULT VALUE true
>
string
</surveyTime>
Documentation (element)
Units: User defined (defaults to steps) Min: 0
Time of a survey. A report will be made for those measures enabled under SurveyOptions. Reported data is either from the moment the survey is done (immediate data) or is collected over the time since the previous survey, or in some cases over a fixed time span (usually one year).
Times can be specified in time steps, starting from 0, or as a date (see monitoring/startDate), or in days (e.g. 15d) or years (e.g. 1y). Relative times mean the time since the start of the intervention period, and must be non-negative (zero is valid, but some measures, e.g. nUncomp, will be zero).
The simulation ends immediately after the last survey is taken.
Attributes
Step of repetition
repeatStep=string
Units: User defined
See repeatEnd's documentation.
End of repetition (exclusive)
repeatEnd=string
Units: User defined
Either both repeatStep and repeatEnd should be present or neither. If present, the survey is repeated every repeatStep timesteps (i.e. if t0 is the initial time and x is repeatStep, surveys are done at times t0, t0+x, t0+2*x, ...), ending before repeatEnd (final repetition is the one before repeatEnd). Note that repeatEnd may be specified as a date but repeatStep must be a duration (days, steps or years).
reported
reported=boolean
Default value: true
For normal surveys, reporting=true. If set false, quantities are measured but not reported. The reason for doing this is to update conditions set on reportable measures. Multiple surveys may be given here for the same date, e.g. if using "repeatStep" for both reporting and non-reporting surveys. These are combined such that a maximum of one survey is carried out per time-step, and the survey is reported if any of the listed surveys for this date is configured as "reporting". Note that adding non-reporting surveys will not affect value output by reported surveys, with the exception that generated psuedo-random numbers may be altered (specifically, when any stochastic diagnostics are used in surveys).
Age groups
→ scenario → monitoring → ageGroup
<ageGroup
lowerbound=double
>
IN THIS ORDER:
| ( <group ... /> )+
</ageGroup>
Documentation (element)
List of age groups included in demography or surveys
Attributes
lower bound of age group
lowerbound=double
Units: Years Min: 0 Max: 100
Lower bound of age group
group
→ scenario → monitoring → ageGroup → group
<group
upperbound=double
/>
Attributes
upper bound of age group
upperbound=double
Units: Years Min: 0 Max: 100
Upper bound of age group
Cohorts
→ scenario → monitoring → cohorts
<cohorts>
IN THIS ORDER:
| ( <subPop ... /> )+
</cohorts>
Documentation (element)
Allows the configuration of multiple cohorts (output segregated according to membership within specific sub-populations).
If this element is omitted, monitoring surveys cover the entire simulated human population.
It does not affect the "continuous" outputs (these never take cohorts into account).
Sub-population
→ scenario → monitoring → cohorts → subPop
<subPop
id=string
number=integer
/>
Documentation (element)
Consider a certain sup-population a cohort, and segregate outputs according to membership. Where multiple sub-populations are listed, segregate output according to all combinations of membership: e.g. if sub-populations A and B are listed, there will be outputs for "member of A and B", "member of A but not B", "B but not A" and "not a member of A or B". Listing n sub-populations implies 2^n sets of outputs (each is further segregated by age groups, survey times and enabled output measures, which could lead to excessive program memory usage and output file size).
To identify outputs, each sub-population has a power of two number as identifier (see "number" attribute). Each of the 2^n output sets is identified by a number: the output set is the output from humans who are members in some set of sub-populations (S1, S2, ...) and not members in some others (T1, T2, ...); the number identifying the set is the sum of the numbers identifying the sets S1, S2, etc.
In the output file, the output set is identified by multiplying this number by 1000 then adding it to the age group column.
Attributes
Sub-population identifier
id=string
Textual identifier for the sub-population (i.e. for an intervention component, since sub-populations are defined as the hosts an intervention component is deployed to).
Sub-population number
number=integer
Units: dimensionless Min: 1 Max: 2097152
Number identifying a sub-population; used to define identifiers of output sets. This number must be a power of 2 (i.e. 1, 2, 4, 8, ...). See documentation of subPop element.
Preventative interventions
<interventions
name=string
>
IN ANY ORDER:
| [ <changeHS ... /> ]
| [ <changeEIR ... /> ]
| [ <importedInfections ... /> ]
| [ <insertR_0Case ... /> ]
| [ <uninfectVectors ... /> ]
| [ <vectorPop ... /> ]
| [ <vectorTrap ... /> ]
| [ <nonHumanHostsModifications ... /> ]
| [ <addNonHumanHosts ... /> ]
| [ <human ... /> ]
</interventions>
- changeHS
- changeEIR
- importedInfections
- insertR_0Case
- uninfectVectors
- vectorPop
- vectorTrap
- nonHumanHostsModifications
- addNonHumanHosts
- human
Documentation (element)
List of interventions. Generally these are either point-time distributions of something to some subset of the population, or continuous-time distribution targetting individuals when they reach a certain age.
Attributes
Name of intervention set
name=string
Name of set of interventions
Change health system
→ scenario → interventions → changeHS
<changeHS
[ name=string ]
>
IN THIS ORDER:
| ( <timedDeployment ... /> )*
</changeHS>
Documentation (element)
Changes to the health system
Attributes
Name of intervention
name=string
Name of intervention
timedDeployment
→ scenario → interventions → changeHS → timedDeployment
<timedDeployment
time=string
>
IN THIS ORDER:
| EXACTLY ONE OF:
| | <EventScheduler ... />
| | <ImmediateOutcomes ... />
| | <DecisionTree5Day ... />
| <CFR ... />
| <pSequelaeInpatient ... />
</timedDeployment>
Documentation (type)
A complete replacement health system. Replaces all previous properties. (Health system can be replaced multiple times if necessary.)
Documentation (base type)
Description of case management system, used to specify the initial model or a replacement (an intervention). Encompasses case management data and some other data required to derive case outcomes.
Contains a sub-element describing the particular health-system in use. Health system data is here defined as data used to decide on a treatment strategy, given a case requiring treatment.
Attributes
Time
time=string
Units: User defined (defauls to steps) Min: 0
Time at which this replacement occurs. See doc on intervention period and on monitoring/startDate for details of how times work. Can be specified in steps, days, years, or as a date (examples: 15t, 75d, 0.2y, 2000-03-16).
EventScheduler
→ scenario → healthSystem → EventScheduler
<EventScheduler>
IN THIS ORDER:
| <uncomplicated ... />
| <complicated ... />
| <ClinicalOutcomes ... />
| [ <NonMalariaFevers ... /> ]
</EventScheduler>
uncomplicated
→ scenario → healthSystem → EventScheduler → uncomplicated
<uncomplicated
[ name=string ]
>
EXACTLY ONE OF:
| <multiple ... />
| <caseType ... />
| <diagnostic ... />
| <fever ... />
| <random ... />
| <age ... />
| <noTreatment ... />
| ( <report ... /> )+
| <treatFailure ... />
| ( <treatPKPD ... /> )+
| ( <treatSimple ... /> )+
| ( <deploy ... /> )+
</uncomplicated>
- multiple
- caseType
- diagnostic
- fever
- random
- age
- noTreatment
- report
- treatFailure
- treatPKPD
- treatSimple
- deploy
Documentation (type)
Describes how "decisions" are made, both probabilistically and deterministically, and what actions are carried out.
Quantities may also be reported as a side effect of decisions made in the tree, for example the number of diagnostics used.
Attributes
Name
name=string
An optional piece of documentation attached to this node.
multiple
→ scenario → interventions → human → component → decisionTree → multiple
<multiple
[ name=string ]
>
EXACTLY ONE OF:
| ( <caseType ... /> )*
| ( <diagnostic ... /> )*
| ( <fever ... /> )*
| ( <random ... /> )*
| ( <age ... /> )*
| ( <treatPKPD ... /> )*
| [ <treatSimple ... /> ]
| ( <deploy ... /> )*
| ( <report ... /> )*
</multiple>
Documentation (type)
A special node allowing multiple sub-trees to be evaluated.
This is different from an ordinary decision tree node in that:
a) multiple types of child can occur simultaneously (e.g. multiple types of treatment or treatment plus a 'random' sub-tree)
b) the 'noTreatment' and 'treatFailure' nodes are not allowed
Attributes
Name
name=string
An optional piece of documentation attached to this node.
caseType
→ scenario → interventions → human → component → decisionTree → multiple → caseType
<caseType
[ name=string ]
>
IN ANY ORDER:
| <firstLine ... />
| <secondLine ... />
</caseType>
Documentation (type)
A switch which choses a branch deterministically, based on whether the patient was treated recently (second line) or not (first line).
For uncomplicated cases only.
Attributes
Name
name=string
An optional piece of documentation attached to this node.
firstLine
→ scenario → interventions → human → component → decisionTree → multiple → caseType → firstLine
<firstLine
[ name=string ]
>
EXACTLY ONE OF:
| <multiple ... />
| <caseType ... />
| <diagnostic ... />
| <fever ... />
| <random ... />
| <age ... />
| <noTreatment ... />
| ( <report ... /> )+
| <treatFailure ... />
| ( <treatPKPD ... /> )+
| ( <treatSimple ... /> )+
| ( <deploy ... /> )+
</firstLine>
- multiple
- caseType
- diagnostic
- fever
- random
- age
- noTreatment
- report
- treatFailure
- treatPKPD
- treatSimple
- deploy
Documentation (type)
Describes how "decisions" are made, both probabilistically and deterministically, and what actions are carried out.
Quantities may also be reported as a side effect of decisions made in the tree, for example the number of diagnostics used.
Attributes
Name
name=string
An optional piece of documentation attached to this node.
caseType
→ scenario → interventions → human → component → decisionTree → caseType
<caseType
[ name=string ]
>
IN ANY ORDER:
| <firstLine ... />
| <secondLine ... />
</caseType>
Documentation (type)
A switch which choses a branch deterministically, based on whether the patient was treated recently (second line) or not (first line).
For uncomplicated cases only.
Attributes
Name
name=string
An optional piece of documentation attached to this node.
secondLine
→ scenario → interventions → human → component → decisionTree → multiple → caseType → secondLine
<secondLine
[ name=string ]
>
EXACTLY ONE OF:
| <multiple ... />
| <caseType ... />
| <diagnostic ... />
| <fever ... />
| <random ... />
| <age ... />
| <noTreatment ... />
| ( <report ... /> )+
| <treatFailure ... />
| ( <treatPKPD ... /> )+
| ( <treatSimple ... /> )+
| ( <deploy ... /> )+
</secondLine>
- multiple
- caseType
- diagnostic
- fever
- random
- age
- noTreatment
- report
- treatFailure
- treatPKPD
- treatSimple
- deploy
Documentation (type)
Describes how "decisions" are made, both probabilistically and deterministically, and what actions are carried out.
Quantities may also be reported as a side effect of decisions made in the tree, for example the number of diagnostics used.
Attributes
Name
name=string
An optional piece of documentation attached to this node.
diagnostic
→ scenario → interventions → human → component → decisionTree → diagnostic
<diagnostic
diagnostic=string
[ name=string ]
>
IN ANY ORDER:
| <positive ... />
| <negative ... />
</diagnostic>
Documentation (type)
A switch which choses a branch deterministically, based on the outcome of some type of diagnostic.
Attributes
Name of diagnostic
diagnostic=string
Should match the name of some parameterised diagnostic (see scenario/diagnostics).
Name
name=string
An optional piece of documentation attached to this node.
positive
→ scenario → interventions → human → component → decisionTree → multiple → diagnostic → positive
<positive
[ name=string ]
>
EXACTLY ONE OF:
| <multiple ... />
| <caseType ... />
| <diagnostic ... />
| <fever ... />
| <random ... />
| <age ... />
| <noTreatment ... />
| ( <report ... /> )+
| <treatFailure ... />
| ( <treatPKPD ... /> )+
| ( <treatSimple ... /> )+
| ( <deploy ... /> )+
</positive>
- multiple
- caseType
- diagnostic
- fever
- random
- age
- noTreatment
- report
- treatFailure
- treatPKPD
- treatSimple
- deploy
Documentation (type)
Describes how "decisions" are made, both probabilistically and deterministically, and what actions are carried out.
Quantities may also be reported as a side effect of decisions made in the tree, for example the number of diagnostics used.
Attributes
Name
name=string
An optional piece of documentation attached to this node.
fever
→ scenario → interventions → human → component → decisionTree → fever
<fever
[ name=string ]
lookBack=string
>
IN ANY ORDER:
| <positive ... />
| <negative ... />
</fever>
Documentation (type)
A switch which choses a branch deterministically, based on the outcome of some type of diagnostic.
Attributes
Name
name=string
An optional piece of documentation attached to this node.
Number of days to look back for fevers. This must be less than or equal to the healthsystem memory parameter. In general, this should be less than or equal to the repeatStep in MSAT with contiuous deployment
lookBack=string
Units: User-defined (defaults to steps)
Follow-up period during which a recurrence is considered to be a treatment failure Can be specified in steps (e.g. 6t) or days (e.g. 28d).
positive
→ scenario → interventions → human → component → decisionTree → multiple → fever → positive
<positive
[ name=string ]
>
EXACTLY ONE OF:
| <multiple ... />
| <caseType ... />
| <diagnostic ... />
| <fever ... />
| <random ... />
| <age ... />
| <noTreatment ... />
| ( <report ... /> )+
| <treatFailure ... />
| ( <treatPKPD ... /> )+
| ( <treatSimple ... /> )+
| ( <deploy ... /> )+
</positive>
- multiple
- caseType
- diagnostic
- fever
- random
- age
- noTreatment
- report
- treatFailure
- treatPKPD
- treatSimple
- deploy
Documentation (type)
Describes how "decisions" are made, both probabilistically and deterministically, and what actions are carried out.
Quantities may also be reported as a side effect of decisions made in the tree, for example the number of diagnostics used.
Attributes
Name
name=string
An optional piece of documentation attached to this node.
random
→ scenario → interventions → human → component → decisionTree → random
<random
[ name=string ]
>
IN THIS ORDER:
| ( <outcome ... /> )+
</random>
Documentation (type)
A switch which choses a branch randomly.
Each branch must be listed with a probability; the sum of all these probabilities must equal 1.
Attributes
Name
name=string
An optional piece of documentation attached to this node.
outcome
→ scenario → interventions → human → component → decisionTree → multiple → random → outcome
<outcome
[ name=string ]
p=double
>
EXACTLY ONE OF:
| <multiple ... />
| <caseType ... />
| <diagnostic ... />
| <fever ... />
| <random ... />
| <age ... />
| <noTreatment ... />
| ( <report ... /> )+
| <treatFailure ... />
| ( <treatPKPD ... /> )+
| ( <treatSimple ... /> )+
| ( <deploy ... /> )+
</outcome>
- multiple
- caseType
- diagnostic
- fever
- random
- age
- noTreatment
- report
- treatFailure
- treatPKPD
- treatSimple
- deploy
Documentation (base type)
Describes how "decisions" are made, both probabilistically and deterministically, and what actions are carried out.
Quantities may also be reported as a side effect of decisions made in the tree, for example the number of diagnostics used.
Attributes
Name
name=string
An optional piece of documentation attached to this node.
Probability
p=double
Units: None Min: 0 Max: 1
Probability of selecting this outcome. The sum of probabilities across all outcomes must be 1.
age
→ scenario → interventions → human → component → decisionTree → age
<age
[ name=string ]
>
IN THIS ORDER:
| ( <age ... /> )+
</age>
Documentation (type)
A switch which choses a branch deterministically, based on the patient's age (in years).
Categories must uniquely cover all ages from birth, with no upper bound. Categories must be listed in order of age, increasing; the first must have lower bound 0. Upper bounds are equal to the lower bound of the next category, (but are exclusive where lower bounds are inclusive); the last category has no upper bound.
Attributes
Name
name=string
An optional piece of documentation attached to this node.
Age range
→ scenario → interventions → human → component → decisionTree → multiple → age → age
<age
[ name=string ]
lb=double
>
EXACTLY ONE OF:
| <multiple ... />
| <caseType ... />
| <diagnostic ... />
| <fever ... />
| <random ... />
| <age ... />
| <noTreatment ... />
| ( <report ... /> )+
| <treatFailure ... />
| ( <treatPKPD ... /> )+
| ( <treatSimple ... /> )+
| ( <deploy ... /> )+
</age>
- multiple
- caseType
- diagnostic
- fever
- random
- age
- noTreatment
- report
- treatFailure
- treatPKPD
- treatSimple
- deploy
Documentation (element)
Describes a branch, selected for patients of a certain age.
Documentation (base type)
Describes how "decisions" are made, both probabilistically and deterministically, and what actions are carried out.
Quantities may also be reported as a side effect of decisions made in the tree, for example the number of diagnostics used.
Attributes
Name
name=string
An optional piece of documentation attached to this node.
Lower bound (inclusive)
lb=double
Min: 0
noTreatment
→ scenario → interventions → human → component → decisionTree → noTreatment
<noTreatment
[ name=string ]
/>
Documentation (type)
An end node doing nothing. This exists to explicitly state that no treatment happens and to prevent trees from accidentally being left incomplete.
Attributes
Name
name=string
An optional piece of documentation attached to this node.
report
→ scenario → interventions → human → component → decisionTree → report
<report
[ name=string ]
[ outputNumber=int ] DEFAULT VALUE 0
/>
Documentation (type)
This increments measure 80 (nCMDTReport) by one every time this node is visited. This can be useful to report the results of mass test and treat interventions using the decision tree.
Attributes
Name
name=string
An optional piece of documentation attached to this node.
Delay (hours)
outputNumber=int
Default value: 0
Optionally, this can be given to delay the start of treatment by a given number of hours. If not specified, treatment is not delayed. If a delay is given, all medications within the treatment schedule used are delayed by this number of hours.
treatFailure
→ scenario → interventions → human → component → decisionTree → treatFailure
<treatFailure
[ name=string ]
/>
Documentation (type)
An end node which reports treatment but does not change parasitalogical status. This allows correct labelling of second-line cases.
Attributes
Name
name=string
An optional piece of documentation attached to this node.
treatPKPD
→ scenario → interventions → human → component → decisionTree → treatPKPD
<treatPKPD
schedule=string
dosage=string
[ delay_h=double ] DEFAULT VALUE 0
/>
Documentation (type)
A command to administer drugs according to a given schedule and dosage table, optionally with a delay.
Attributes
Name of treatment schedule
schedule=string
The name of a schedule to use for treatment.
Name of dosage table
dosage=string
The name of a dosage table to use for treatment.
Delay (hours)
delay_h=double
Default value: 0
Optionally, this can be given to delay the start of treatment by a given number of hours. If not specified, treatment is not delayed. If a delay is given, all medications within the treatment schedule used are delayed by this number of hours.
treatSimple
→ scenario → interventions → human → component → decisionTree → treatSimple
<treatSimple
durationLiver=string
durationBlood=string
/>
Documentation (type)
Simple treatment model, targetting liver- and/or blood-stage infections. This is all-or-nothing treatment which, when deploymed, completely clears all infections of the targetted stages. This makes it unsuitable for modeling resistance, but suitable for use with simple infection models.
Infections are considered liver-stage when less than five days old and blood-stage after that. Effects are described independently for the two stages.
Attributes
Length of liver-stage effect
durationLiver=string
Units: User defined
Controls action on liver-stage infections. 0 means no action, -1 step is a compatibility option to act like treatment before schema version 32 (which removed infections retrospectively), 1 step or any duration which equals some whole number of steps n>0 means to clear all liver-stage infections found on the next 1 or n steps. Note on -1 compatibility option: the main difference to 1 step (clearing on the next timestep) is that parasite densities will be reduced immediately, and thus from the point of view of surveys and mass screen and treat interventions a peak in density which is immediately treated through case management will not be seen. Can be specified in steps (e.g. 1t, -1t) or days (e.g. 5d).
Length of blood-stage effect
durationBlood=string
Units: User defined
Controls action on blood-stage infections. 0 means no action, -1 step is a compatibility option to act like treatment before schema version 32 (which removed infections retrospectively), 1 step or any duration which equals some whole number of steps n>0 means to clear all blood-stage infections found on the next 1 or n steps. Note on -1 compatibility option: the main difference to 1 step (clearing on the next timestep) is that parasite densities will be reduced immediately, and thus from the point of view of surveys and mass screen and treat interventions a peak in density which is immediately treated through case management will not be seen. Can be specified in steps (e.g. 1t, -1t) or days (e.g. 5d).
deploy
→ scenario → interventions → human → component → decisionTree → deploy
<deploy
component=string
/>
Documentation (type)
Deploy one or more intervention components.
Attributes
Component identifier
component=string
The identifier (short name) of a component.
negative
→ scenario → interventions → human → component → decisionTree → multiple → fever → negative
<negative
[ name=string ]
>
EXACTLY ONE OF:
| <multiple ... />
| <caseType ... />
| <diagnostic ... />
| <fever ... />
| <random ... />
| <age ... />
| <noTreatment ... />
| ( <report ... /> )+
| <treatFailure ... />
| ( <treatPKPD ... /> )+
| ( <treatSimple ... /> )+
| ( <deploy ... /> )+
</negative>
- multiple
- caseType
- diagnostic
- fever
- random
- age
- noTreatment
- report
- treatFailure
- treatPKPD
- treatSimple
- deploy
Documentation (type)
Describes how "decisions" are made, both probabilistically and deterministically, and what actions are carried out.
Quantities may also be reported as a side effect of decisions made in the tree, for example the number of diagnostics used.
Attributes
Name
name=string
An optional piece of documentation attached to this node.
negative
→ scenario → interventions → human → component → decisionTree → multiple → diagnostic → negative
<negative
[ name=string ]
>
EXACTLY ONE OF:
| <multiple ... />
| <caseType ... />
| <diagnostic ... />
| <fever ... />
| <random ... />
| <age ... />
| <noTreatment ... />
| ( <report ... /> )+
| <treatFailure ... />
| ( <treatPKPD ... /> )+
| ( <treatSimple ... /> )+
| ( <deploy ... /> )+
</negative>
- multiple
- caseType
- diagnostic
- fever
- random
- age
- noTreatment
- report
- treatFailure
- treatPKPD
- treatSimple
- deploy
Documentation (type)
Describes how "decisions" are made, both probabilistically and deterministically, and what actions are carried out.
Quantities may also be reported as a side effect of decisions made in the tree, for example the number of diagnostics used.
Attributes
Name
name=string
An optional piece of documentation attached to this node.
diagnostic
→ scenario → interventions → human → component → decisionTree → multiple → diagnostic
<diagnostic
diagnostic=string
[ name=string ]
>
IN ANY ORDER:
| <positive ... />
| <negative ... />
</diagnostic>
Documentation (type)
A switch which choses a branch deterministically, based on the outcome of some type of diagnostic.
Attributes
Name of diagnostic
diagnostic=string
Should match the name of some parameterised diagnostic (see scenario/diagnostics).
Name
name=string
An optional piece of documentation attached to this node.
fever
→ scenario → interventions → human → component → decisionTree → multiple → fever
<fever
[ name=string ]
lookBack=string
>
IN ANY ORDER:
| <positive ... />
| <negative ... />
</fever>
Documentation (type)
A switch which choses a branch deterministically, based on the outcome of some type of diagnostic.
Attributes
Name
name=string
An optional piece of documentation attached to this node.
Number of days to look back for fevers. This must be less than or equal to the healthsystem memory parameter. In general, this should be less than or equal to the repeatStep in MSAT with contiuous deployment
lookBack=string
Units: User-defined (defaults to steps)
Follow-up period during which a recurrence is considered to be a treatment failure Can be specified in steps (e.g. 6t) or days (e.g. 28d).
random
→ scenario → interventions → human → component → decisionTree → multiple → random
<random
[ name=string ]
>
IN THIS ORDER:
| ( <outcome ... /> )+
</random>
Documentation (type)
A switch which choses a branch randomly.
Each branch must be listed with a probability; the sum of all these probabilities must equal 1.
Attributes
Name
name=string
An optional piece of documentation attached to this node.
age
→ scenario → interventions → human → component → decisionTree → multiple → age
<age
[ name=string ]
>
IN THIS ORDER:
| ( <age ... /> )+
</age>
Documentation (type)
A switch which choses a branch deterministically, based on the patient's age (in years).
Categories must uniquely cover all ages from birth, with no upper bound. Categories must be listed in order of age, increasing; the first must have lower bound 0. Upper bounds are equal to the lower bound of the next category, (but are exclusive where lower bounds are inclusive); the last category has no upper bound.
Attributes
Name
name=string
An optional piece of documentation attached to this node.
treatPKPD
→ scenario → interventions → human → component → decisionTree → multiple → treatPKPD
<treatPKPD
schedule=string
dosage=string
[ delay_h=double ] DEFAULT VALUE 0
/>
Documentation (type)
A command to administer drugs according to a given schedule and dosage table, optionally with a delay.
Attributes
Name of treatment schedule
schedule=string
The name of a schedule to use for treatment.
Name of dosage table
dosage=string
The name of a dosage table to use for treatment.
Delay (hours)
delay_h=double
Default value: 0
Optionally, this can be given to delay the start of treatment by a given number of hours. If not specified, treatment is not delayed. If a delay is given, all medications within the treatment schedule used are delayed by this number of hours.
treatSimple
→ scenario → interventions → human → component → decisionTree → multiple → treatSimple
<treatSimple
durationLiver=string
durationBlood=string
/>
Documentation (type)
Simple treatment model, targetting liver- and/or blood-stage infections. This is all-or-nothing treatment which, when deploymed, completely clears all infections of the targetted stages. This makes it unsuitable for modeling resistance, but suitable for use with simple infection models.
Infections are considered liver-stage when less than five days old and blood-stage after that. Effects are described independently for the two stages.
Attributes
Length of liver-stage effect
durationLiver=string
Units: User defined
Controls action on liver-stage infections. 0 means no action, -1 step is a compatibility option to act like treatment before schema version 32 (which removed infections retrospectively), 1 step or any duration which equals some whole number of steps n>0 means to clear all liver-stage infections found on the next 1 or n steps. Note on -1 compatibility option: the main difference to 1 step (clearing on the next timestep) is that parasite densities will be reduced immediately, and thus from the point of view of surveys and mass screen and treat interventions a peak in density which is immediately treated through case management will not be seen. Can be specified in steps (e.g. 1t, -1t) or days (e.g. 5d).
Length of blood-stage effect
durationBlood=string
Units: User defined
Controls action on blood-stage infections. 0 means no action, -1 step is a compatibility option to act like treatment before schema version 32 (which removed infections retrospectively), 1 step or any duration which equals some whole number of steps n>0 means to clear all blood-stage infections found on the next 1 or n steps. Note on -1 compatibility option: the main difference to 1 step (clearing on the next timestep) is that parasite densities will be reduced immediately, and thus from the point of view of surveys and mass screen and treat interventions a peak in density which is immediately treated through case management will not be seen. Can be specified in steps (e.g. 1t, -1t) or days (e.g. 5d).
deploy
→ scenario → interventions → human → component → decisionTree → multiple → deploy
<deploy
component=string
/>
Documentation (type)
Deploy one or more intervention components.
Attributes
Component identifier
component=string
The identifier (short name) of a component.
report
→ scenario → interventions → human → component → decisionTree → multiple → report
<report
[ name=string ]
[ outputNumber=int ] DEFAULT VALUE 0
/>
Documentation (type)
This increments measure 80 (nCMDTReport) by one every time this node is visited. This can be useful to report the results of mass test and treat interventions using the decision tree.
Attributes
Name
name=string
An optional piece of documentation attached to this node.
Delay (hours)
outputNumber=int
Default value: 0
Optionally, this can be given to delay the start of treatment by a given number of hours. If not specified, treatment is not delayed. If a delay is given, all medications within the treatment schedule used are delayed by this number of hours.
complicated
→ scenario → healthSystem → EventScheduler → complicated
<complicated
[ name=string ]
>
EXACTLY ONE OF:
| <multiple ... />
| <caseType ... />
| <diagnostic ... />
| <fever ... />
| <random ... />
| <age ... />
| <noTreatment ... />
| ( <report ... /> )+
| <treatFailure ... />
| ( <treatPKPD ... /> )+
| ( <treatSimple ... /> )+
| ( <deploy ... /> )+
</complicated>
- multiple
- caseType
- diagnostic
- fever
- random
- age
- noTreatment
- report
- treatFailure
- treatPKPD
- treatSimple
- deploy
Documentation (type)
Describes how "decisions" are made, both probabilistically and deterministically, and what actions are carried out.
Quantities may also be reported as a side effect of decisions made in the tree, for example the number of diagnostics used.
Attributes
Name
name=string
An optional piece of documentation attached to this node.
ClinicalOutcomes
→ scenario → healthSystem → EventScheduler → ClinicalOutcomes
<ClinicalOutcomes>
IN THIS ORDER:
| <maxUCSeekingMemory ... />
| <uncomplicatedCaseDuration ... />
| <complicatedCaseDuration ... />
| <complicatedRiskDuration ... />
| ( <dailyPrImmUCTS ... /> )+
</ClinicalOutcomes>
- maxUCSeekingMemory
- uncomplicatedCaseDuration
- complicatedCaseDuration
- complicatedRiskDuration
- dailyPrImmUCTS
Documentation (type)
Description of base parameters of the clinical model.
Max UC treatment-seeking memory
→ scenario → healthSystem → EventScheduler → ClinicalOutcomes → maxUCSeekingMemory
<maxUCSeekingMemory>
int
</maxUCSeekingMemory>
Documentation (element)
Units: Days Min: 0 Max: unbounded
Maximum number of timesteps (including first day of case) that an individual with an uncomplicated case of malaria will remember he/she was sick before resetting.
Uncomplicated case duration
→ scenario → healthSystem → EventScheduler → ClinicalOutcomes → uncomplicatedCaseDuration
<uncomplicatedCaseDuration>
int
</uncomplicatedCaseDuration>
Documentation (element)
Units: Days Min: 1 Max: unbounded
Fixed length of an uncomplicated case of malarial or non-malarial sickness (from treatment seeking until return to life-as-usual). Usually 3.
Complicated case duration
→ scenario → healthSystem → EventScheduler → ClinicalOutcomes → complicatedCaseDuration
<complicatedCaseDuration>
int
</complicatedCaseDuration>
Documentation (element)
Units: Days Min: 1 Max: unbounded
Fixed length of a complicated or severe case of malaria (from treatment seeking until return to life-as-usual).
Complicated risk duration
→ scenario → healthSystem → EventScheduler → ClinicalOutcomes → complicatedRiskDuration
<complicatedRiskDuration>
int
</complicatedRiskDuration>
Documentation (element)
Units: Days Min: 1 Max: unbounded
Number of days for which humans are at risk of death during a severe or complicated case of malaria. Cannot be greater than the duration of a complicated case or less than 1 day.
Daily probability of immediate treatment seeking for uncomplicated cases
→ scenario → healthSystem → EventScheduler → ClinicalOutcomes → dailyPrImmUCTS
<dailyPrImmUCTS>
double
</dailyPrImmUCTS>
Documentation (element)
Units: Dimensionless Min: 0.0 Max: 1.0
It is sometimes desirable to model delays to treatment-seeking in uncomplicated cases. While treatment of drugs can be delayed within case management trees to provide a similar effect, this doesn't delay any of the decisions, including diagnostics using the current parasite density.
Instead a list of dailyPrImmUCTS elements can be used, describing successive daily probabilities of treatment (sum must be 1). For example, with a list of two elements with values 0.8 and 0.2, for 80% of UC cases the decision tree is evaluated immediately, and for 20% of cases evaluation is delayed by one day.
For no delay, use one element with a value of 1.
NonMalariaFevers
→ scenario → healthSystem → EventScheduler → NonMalariaFevers
<NonMalariaFevers>
IN THIS ORDER:
| <prTreatment ... />
| <effectNegativeTest ... />
| <effectPositiveTest ... />
| <effectNeed ... />
| <effectInformal ... />
| <CFR ... />
| <TreatmentEfficacy ... />
</NonMalariaFevers>
Documentation (type)
Description of non-malaria fever health-system modelling (treatment, outcomes and costing). Incidence is described by the model->clinical->NonMalariaFevers element. Non-malaria fevers are only modelled if the NON_MALARIA_FEVERS option is used.
As further explanation of the parameters below, we first take: β₀ = logit(P₀) - β₃·P(need), and then calculate the probability of antibiotic administration, P(AB), dependent on treatment seeking location. No seeking: P(AB) = 0 Informal sector: logit(P(AB)) = β₀ + β₄ Health facility: logit(P(AB)) = β₀ + β₁·I(neg) + β₂·I(pos) + β₃·I(need) (where I(X) is 1 when event X is true and 0 otherwise, logit(p)=log(p/(1-p)), event "need" is the event that death may occur without treatment, events "neg" and "pos" are the events that a malaria parasite diagnositic was used and indicated no parasites and parasites respectively).
P(treatment|no diagnostic)
→ scenario → healthSystem → EventScheduler → NonMalariaFevers → prTreatment
<prTreatment>
double
</prTreatment>
Documentation (element)
Units: Dimensionless Min: 0.0 Max: 1.0
Probability of a non-malaria fever being treated with an antibiotic given that no malaria diagnostic was used but independent of need. Symbol: P₀.
Effect of a negative test
→ scenario → healthSystem → EventScheduler → NonMalariaFevers → effectNegativeTest
<effectNegativeTest>
double
</effectNegativeTest>
Documentation (element)
The effect of a negative malaria diagnostic on the odds ratio of receiving antibiotics. Symbol: exp(β₁).
Effect of a positive test
→ scenario → healthSystem → EventScheduler → NonMalariaFevers → effectPositiveTest
<effectPositiveTest>
double
</effectPositiveTest>
Documentation (element)
The effect of a positive malaria diagnostic on the odds ratio of receiving antibiotics. Symbol: exp(β₂).
Effect of need
→ scenario → healthSystem → EventScheduler → NonMalariaFevers → effectNeed
<effectNeed>
double
</effectNeed>
Documentation (element)
The effect of needing antibiotic treatment on the odds ratio of receiving antibiotics. Symbol: exp(β₃).
Effect of informal provider
→ scenario → healthSystem → EventScheduler → NonMalariaFevers → effectInformal
<effectInformal>
double
</effectInformal>
Documentation (element)
The effect of seeking treatment from an informal provider (i.e. a provider untrained in NMF diagnosis) on the odds ratio of receiving antibiotics. Symbol: exp(β₄)
Case fatality rate
→ scenario → healthSystem → EventScheduler → NonMalariaFevers → CFR
<CFR
[ interpolation=("none" or "linear") ]
>
IN THIS ORDER:
| ( <group ... /> )+
</CFR>
Documentation (element)
Units: Dimensionless Min: 0.0 Max: 1.0
Base case fatality rate for non-malaria fevers (probability of death from a fever requiring antibiotic treatment given that no antibiotic treatment is received, per age-group).
Attributes
interpolation
interpolation=("none" or "linear")
Interpolation algorithm. Normally it is desirable for age-based values to be continuous w.r.t. age. By default linear interpolation is used. With all algorithms except "none", the age groups are converted to a set of points centred within each age range. Extra points are added at each end (zero and infinity) to keep value constant at both ends of the function. A zero-length age group may be used as a kind of barrier to adjust the distribution; e.g. with age group boundaries at 15, 20 and 25 years, a (linear) spline would be drawn between ages 17.5 and 22.5, whereas with boundaries at 15, 20 and 20 years, a spline would be drawn between ages 17.5 and 20 years (may be desired if individuals are assumed to reach adult size at 20). Algorithms:
- none: input values are used directly
- linear: straight lines (on an age vs. value graph) are used to interpolate data points.
age group
→ scenario → healthSystem → CFR → group
<group
value=double
lowerbound=double
/>
Documentation (element)
A series of values according to age groups, each specified with a lower-bound and a value. The first lower-bound specified must be zero; a final upper-bound of infinity is added to complete the last age group. At least one age group is required. Normally these are interpolated by a continuous function (see interpolation attribute).
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Lower bound
lowerbound=double
Units: Years Min: 0 Max: 100
Lower bound of age group
Treatment efficacy
→ scenario → healthSystem → EventScheduler → NonMalariaFevers → TreatmentEfficacy
<TreatmentEfficacy>
double
</TreatmentEfficacy>
Documentation (element)
Units: Dimensionless Min: 0.0 Max: 1.0
Probability that treatment would prevent a death (i.e. CFR is multiplied by one minus this when treatment occurs).
ImmediateOutcomes
→ scenario → healthSystem → ImmediateOutcomes
<ImmediateOutcomes
[ name=string ]
[ useDiagnosticUC=boolean ] DEFAULT VALUE false
>
IN ANY ORDER:
| <drugRegimen ... />
| <initialACR ... />
| <compliance ... />
| <nonCompliersEffective ... />
| <treatmentActions ... />
| <pSeekOfficialCareUncomplicated1 ... />
| <pSelfTreatUncomplicated ... />
| <pSeekOfficialCareUncomplicated2 ... />
| <pSeekOfficialCareSevere ... />
| [ <liverStageDrug ... /> ]
</ImmediateOutcomes>
- drugRegimen
- initialACR
- compliance
- nonCompliersEffective
- treatmentActions
- pSeekOfficialCareUncomplicated1
- pSelfTreatUncomplicated
- pSeekOfficialCareUncomplicated2
- pSeekOfficialCareSevere
- liverStageDrug
Documentation (type)
Description of "immediate outcomes" health system: Tediosi et al case management model (Case management as described in AJTMH 75 (suppl 2) pp90-103).
Attributes
Name of case management parameterisation
name=string
Name of health system
useDiagnosticUC
useDiagnosticUC=boolean
Default value: false
Description of drug regimen
→ scenario → healthSystem → ImmediateOutcomes → drugRegimen
<drugRegimen
firstLine=string
secondLine=string
inpatient=string
/>
Documentation (element)
Description of drug regimen.
Attributes
First line drug
firstLine=string
Units: Drug code
Code for first line drug
Second line drug
secondLine=string
Units: Drug code
Code for second line drug
Drug use for treating inpatients
inpatient=string
Units: Drug code
Code for drug used for treating inpatients
Initial cure rate
→ scenario → healthSystem → ImmediateOutcomes → initialACR
<initialACR>
IN THIS ORDER:
| [ <CQ ... /> ]
| [ <SP ... /> ]
| [ <AQ ... /> ]
| [ <SPAQ ... /> ]
| [ <ACT ... /> ]
| [ <QN ... /> ]
| <selfTreatment ... />
</initialACR>
Documentation (element)
Units: Dimensionless Min: 0.0 Max: 1.0
Initial cure rate
Chloroquine
→ scenario → healthSystem → ImmediateOutcomes → initialACR → CQ
<CQ
value=double
/>
Documentation (element)
Chloroquine
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Sulphadoxine-pyrimethamine
→ scenario → healthSystem → ImmediateOutcomes → initialACR → SP
<SP
value=double
/>
Documentation (element)
Sulphadoxine-pyrimethamine
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Amodiaquine
→ scenario → healthSystem → ImmediateOutcomes → initialACR → AQ
<AQ
value=double
/>
Documentation (element)
Amodiaquine
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Sulphadoxine-pyrimethamine/Amodiaquine
→ scenario → healthSystem → ImmediateOutcomes → initialACR → SPAQ
<SPAQ
value=double
/>
Documentation (element)
Sulphadoxine-pyrimethamine/Amodiaquine
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Artemisinine based combination therapy
→ scenario → healthSystem → ImmediateOutcomes → initialACR → ACT
<ACT
value=double
/>
Documentation (element)
Artemisinine combination therapy
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Quinine
→ scenario → healthSystem → ImmediateOutcomes → initialACR → QN
<QN
value=double
/>
Documentation (element)
Quinine
Attributes
Input parameter value
value=double
A double-precision floating-point value.
selfTreatment
→ scenario → healthSystem → ImmediateOutcomes → initialACR → selfTreatment
<selfTreatment
value=double
/>
Documentation (element)
Units: Dimensionless Min: 0 Max: 1name:P(self-treat)
Probability of self-treatment
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Adherence to treatment
→ scenario → healthSystem → ImmediateOutcomes → compliance
<compliance>
IN THIS ORDER:
| [ <CQ ... /> ]
| [ <SP ... /> ]
| [ <AQ ... /> ]
| [ <SPAQ ... /> ]
| [ <ACT ... /> ]
| [ <QN ... /> ]
| <selfTreatment ... />
</compliance>
Documentation (element)
Units: Dimensionless Min: 0.0 Max: 1.0
Adherence to treatment
Effectiveness of treatment in non-adherent patients
→ scenario → healthSystem → ImmediateOutcomes → nonCompliersEffective
<nonCompliersEffective>
IN THIS ORDER:
| [ <CQ ... /> ]
| [ <SP ... /> ]
| [ <AQ ... /> ]
| [ <SPAQ ... /> ]
| [ <ACT ... /> ]
| [ <QN ... /> ]
| <selfTreatment ... />
</nonCompliersEffective>
Documentation (element)
Units: Dimensionless Min: 0.0 Max: 1.0
Effectiveness of treatment for non-compliant patients
treatmentActions
→ scenario → healthSystem → ImmediateOutcomes → treatmentActions
<treatmentActions>
IN ANY ORDER:
| [ <CQ ... /> ]
| [ <SP ... /> ]
| [ <AQ ... /> ]
| [ <SPAQ ... /> ]
| [ <ACT ... /> ]
| [ <QN ... /> ]
</treatmentActions>
CQ
→ scenario → healthSystem → ImmediateOutcomes → treatmentActions → CQ
<CQ
[ name=string ]
>
IN THIS ORDER:
| ( <deploy ... /> )*
</CQ>
Documentation (type)
Describes the effects of the treatment, assuming this compliance/adherence/... option is selected. Effects are described in terms of a list of options, each of which acts independently but with all effects being activated simultaneously.
Documentation (base type)
Lists intervention components which are deployed according to some external trigger (for example, screening with a negative patency outcome or health-system treatment).
Components are referenced from one or more sub-lists. Each of these lists is deployed independently if and only if its age constraints are met by the human host and a random sample with the given probability of a positive outcome is positive.
Attributes
Name
name=string
Describes what this compliance option represents (e.g. "good compliance", "poor compliance with good drugs", ...).
deploy
→ scenario → healthSystem → ImmediateOutcomes → treatmentActions → CQ → deploy
<deploy
[ maxAge=double ]
[ minAge=double ] DEFAULT VALUE 0
[ p=double ] DEFAULT VALUE 1
>
IN THIS ORDER:
| ( <component ... /> )+
</deploy>
Attributes
Maximum age of eligible humans
maxAge=double
Units: Years Min: 0
Maximum age of eligible humans (defaults to no limit). Input is rounded to the nearest time step.
Minimum age of eligible humans
minAge=double
Units: Years Min: 0
Default value: 0
Minimum age of eligible humans (defaults to 0). Input is rounded to the nearest time step.
Probability of delivery to eligible humans
p=double
Units: dimensionless Min: 0 Max: 1
Default value: 1
Probability of this list of components being deployed, given that other constraints are met.
component
→ scenario → healthSystem → ImmediateOutcomes → treatmentActions → CQ → deploy → component
<component
id=string
/>
Documentation (type)
The list of components deployed to eligible humans.
Attributes
Identifier
id=string
The identifier (short name) of a component.
Prophylactic treatment
→ scenario → healthSystem → DecisionTree5Day → treatmentSevere → clearInfections
<clearInfections
timesteps=string
stage=("liver" or "blood" or "both")
/>
Documentation (element)
This clears infections according to several options: it can clear all blood stage infections, all liver stage infections or both, and it can act on multiple timesteps. To have a probability of no action add another treatment option (which does nothing) and set the probabilities of selection appropriately.
This allows immediate (legacy) or delayed action, a prophylactic period, and selection of which stages are targeted. It is a simple model but appropriate enough for use with the five day timestep when assuming no resistance and that drug failure is mainly caused by bad drugs or compliance.
The old treatment action for the five-day timestep model is essentially this, with immediateAction (timesteps=-1) and stage=both, except for the IPT model's SP action, which was more like with timesteps>1 and stage=blood.
Attributes
Length of effect
timesteps=string
Units: User defined (defaults to steps)
The number of timesteps during which this action remains in effect (e.g. 2 means clear infections during the next two timestep updates). Full clearance of the targeted stages occurs during this time. A special value of -1 means act immediately (retrospectively); this the old behaviour. A value of 1 means act on the next timestep only. Both of these can be thought of as a model for short-acting effective drug treatment; the main differences are that the latter means parasite densities will remain high from the point of view of surveys and diagnostics (i.e. mass screen and treat) used before the next timestep and that the latter will also remove infections starting the next timestep. Arguably the latter is a better model, but the differences are perhaps small, excepting where immediate treatment of fevers (i.e. through the health system) can hide high parasite densities from reporting and mass-screen-and-treat diagnostics. For use by interventions, the latter model has nicer behaviour in that the order of deployment of multiple interventions deployed at the same time does not matter, and that the former model retrospectively treats infections which may already have caused fever, thus may have a lower health impact than it should. It is recommended to use the new model (value 1, or greater than 1 if prophylactic effect is desired) unless wanting to emulate the old behaviour. Values of 0 or less than -1 are not allowed. Can be specified in steps (e.g. 1t, -1t) or days (e.g. 5d).
Target stage
stage=("liver" or "blood" or "both")
Controls whether liver-stage or blood-stage infections are cleared, or both. Infections are considered liver-stage for one 5-day timestep, blood-stage but pre-patent for some number of timesteps (latentp - 1), then start the patent blood stage. If stage is set to "liver", infections are only cleared during their first timestep; if stage is set to "blood", infections are cleared during pre-patent and patent blood stages; if stage is set to "both" all infections are cleared. The old behaviour (oddly considering the drugs it is meant to emulate) is to clear both stages, except for the IPT model of SP action, which cleared only patent blood-stage infections.
SP
→ scenario → healthSystem → ImmediateOutcomes → treatmentActions → SP
<SP
[ name=string ]
>
IN THIS ORDER:
| ( <deploy ... /> )*
</SP>
Documentation (type)
Describes the effects of the treatment, assuming this compliance/adherence/... option is selected. Effects are described in terms of a list of options, each of which acts independently but with all effects being activated simultaneously.
Documentation (base type)
Lists intervention components which are deployed according to some external trigger (for example, screening with a negative patency outcome or health-system treatment).
Components are referenced from one or more sub-lists. Each of these lists is deployed independently if and only if its age constraints are met by the human host and a random sample with the given probability of a positive outcome is positive.
Attributes
Name
name=string
Describes what this compliance option represents (e.g. "good compliance", "poor compliance with good drugs", ...).
AQ
→ scenario → healthSystem → ImmediateOutcomes → treatmentActions → AQ
<AQ
[ name=string ]
>
IN THIS ORDER:
| ( <deploy ... /> )*
</AQ>
Documentation (type)
Describes the effects of the treatment, assuming this compliance/adherence/... option is selected. Effects are described in terms of a list of options, each of which acts independently but with all effects being activated simultaneously.
Documentation (base type)
Lists intervention components which are deployed according to some external trigger (for example, screening with a negative patency outcome or health-system treatment).
Components are referenced from one or more sub-lists. Each of these lists is deployed independently if and only if its age constraints are met by the human host and a random sample with the given probability of a positive outcome is positive.
Attributes
Name
name=string
Describes what this compliance option represents (e.g. "good compliance", "poor compliance with good drugs", ...).
SPAQ
→ scenario → healthSystem → ImmediateOutcomes → treatmentActions → SPAQ
<SPAQ
[ name=string ]
>
IN THIS ORDER:
| ( <deploy ... /> )*
</SPAQ>
Documentation (type)
Describes the effects of the treatment, assuming this compliance/adherence/... option is selected. Effects are described in terms of a list of options, each of which acts independently but with all effects being activated simultaneously.
Documentation (base type)
Lists intervention components which are deployed according to some external trigger (for example, screening with a negative patency outcome or health-system treatment).
Components are referenced from one or more sub-lists. Each of these lists is deployed independently if and only if its age constraints are met by the human host and a random sample with the given probability of a positive outcome is positive.
Attributes
Name
name=string
Describes what this compliance option represents (e.g. "good compliance", "poor compliance with good drugs", ...).
ACT
→ scenario → healthSystem → ImmediateOutcomes → treatmentActions → ACT
<ACT
[ name=string ]
>
IN THIS ORDER:
| ( <deploy ... /> )*
</ACT>
Documentation (type)
Describes the effects of the treatment, assuming this compliance/adherence/... option is selected. Effects are described in terms of a list of options, each of which acts independently but with all effects being activated simultaneously.
Documentation (base type)
Lists intervention components which are deployed according to some external trigger (for example, screening with a negative patency outcome or health-system treatment).
Components are referenced from one or more sub-lists. Each of these lists is deployed independently if and only if its age constraints are met by the human host and a random sample with the given probability of a positive outcome is positive.
Attributes
Name
name=string
Describes what this compliance option represents (e.g. "good compliance", "poor compliance with good drugs", ...).
QN
→ scenario → healthSystem → ImmediateOutcomes → treatmentActions → QN
<QN
[ name=string ]
>
IN THIS ORDER:
| ( <deploy ... /> )*
</QN>
Documentation (type)
Describes the effects of the treatment, assuming this compliance/adherence/... option is selected. Effects are described in terms of a list of options, each of which acts independently but with all effects being activated simultaneously.
Documentation (base type)
Lists intervention components which are deployed according to some external trigger (for example, screening with a negative patency outcome or health-system treatment).
Components are referenced from one or more sub-lists. Each of these lists is deployed independently if and only if its age constraints are met by the human host and a random sample with the given probability of a positive outcome is positive.
Attributes
Name
name=string
Describes what this compliance option represents (e.g. "good compliance", "poor compliance with good drugs", ...).
Probability that a patient with uncomplicated disease seeks official care immediately.
→ scenario → healthSystem → ImmediateOutcomes → pSeekOfficialCareUncomplicated1
<pSeekOfficialCareUncomplicated1
value=double
/>
Documentation (element)
Units: Dimensionless Min: 0.0 Max: 1.0
Probability that a patient with newly incident uncomplicated disease seeks official care
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Probability that a patient with uncomplicated disease will self-treat.
→ scenario → healthSystem → ImmediateOutcomes → pSelfTreatUncomplicated
<pSelfTreatUncomplicated
value=double
/>
Documentation (element)
Units: Dimensionless Min: 0.0 Max: 1.0
Probability that a patient with uncomplicated disease without recent history of disease (i.e. first line) will self-treat.
Note that in second line cases there is no probability of self-treatment.
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Probability that a recurring patient seeks official care
→ scenario → healthSystem → ImmediateOutcomes → pSeekOfficialCareUncomplicated2
<pSeekOfficialCareUncomplicated2
value=double
/>
Documentation (element)
Units: Dimensionless Min: 0.0 Max: 1.0
Probability that a patient with recurrence of uncomplicated disease seeks official care
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Probability that a patient with severe disease obtains appropriate care
→ scenario → healthSystem → ImmediateOutcomes → pSeekOfficialCareSevere
<pSeekOfficialCareSevere
value=double
/>
Documentation (element)
Units: Dimensionless Min: 0.0 Max: 1.0
Probability that a patient with severe disease obtains appropriate care
Attributes
Input parameter value
value=double
A double-precision floating-point value.
liverStageDrug
→ scenario → healthSystem → ImmediateOutcomes → liverStageDrug
<liverStageDrug>
IN ANY ORDER:
| <pHumanCannotReceive ... />
| [ <ignoreCannotReceive ... /> ]
| [ <pUseUncomplicated ... /> ]
| <effectivenessOnUse ... />
</liverStageDrug>
Documentation (type)
Parameters for drug treatment which have an effect on the liver-stage of parasites (Primaquine and potentially Tafenoquine); for use with the Vivax model only.
Note: if this section is not listed, the following default values are assumed: pHumanCannotReceive=0, pUseUncomplicated=0, effectivenessOnUse=1.
Probability that human is incompatible with liver-stage drug treatment
→ scenario → healthSystem → ImmediateOutcomes → liverStageDrug → pHumanCannotReceive
<pHumanCannotReceive
value=double
/>
Documentation (element)
Units: Probability Min: 0 Max: 1
Chance that a human is determined to be unable to receive liver-stage drug treatment. Treatment is neither reported or given for such humans.
This is sampled once per human at birth.
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Ignore liver-stage drug treatment incompatibility
→ scenario → healthSystem → ImmediateOutcomes → liverStageDrug → ignoreCannotReceive
<ignoreCannotReceive
value=boolean
/>
Documentation (element)
If true, ignore pHumanCannotReceive and consider all humans eligible for treatment; if false (or not specified), do not treat those demed incompatible with liver-stage drug treatment.
The point of this is that pHumanCannotReceive cannot be altered by changeHS interventions, but this property can be.
Attributes
Input parameter value
value=boolean
A boolean value.
Prob use in UC case
→ scenario → healthSystem → ImmediateOutcomes → liverStageDrug → pUseUncomplicated
<pUseUncomplicated
value=double
/>
Documentation (element)
Units: Probability Min: 0 Max: 1
This feature is deprecated; it is suggested to use the "simple treatment" feature configured to clear liver-stage parasites, leaving this option unset or zero.
Chance of liver-stage drug treatment being used for routine treatment of an uncomplicated case.
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Effectiveness
→ scenario → healthSystem → ImmediateOutcomes → liverStageDrug → effectivenessOnUse
<effectivenessOnUse
value=double
/>
Documentation (element)
Units: Probability Min: 0 Max: 1
Chance that liver-stage drug treatment is effective.
On application, a random variable is sampled against this probability. If false, the treatment does nothing; if true, the treatment clears all liver stage parasites. Where effectiveness is longer than a single time step (prophylactic effect), this sample still only happens once (thus either no effect or all liver stages cleared over multiple steps).
Attributes
Input parameter value
value=double
A double-precision floating-point value.
DecisionTree5Day
→ scenario → healthSystem → DecisionTree5Day
<DecisionTree5Day
[ name=string ]
>
IN ANY ORDER:
| <pSeekOfficialCareUncomplicated1 ... />
| <pSelfTreatUncomplicated ... />
| <pSeekOfficialCareUncomplicated2 ... />
| <pSeekOfficialCareSevere ... />
| [ <liverStageDrug ... /> ]
| <treeUCOfficial ... />
| <treeUCSelfTreat ... />
| <cureRateSevere ... />
| <treatmentSevere ... />
</DecisionTree5Day>
- pSeekOfficialCareUncomplicated1
- pSelfTreatUncomplicated
- pSeekOfficialCareUncomplicated2
- pSeekOfficialCareSevere
- liverStageDrug
- treeUCOfficial
- treeUCSelfTreat
- cureRateSevere
- treatmentSevere
Documentation (type)
Description of the health system using the 5-day timestep with decision tree model: access is configured as in the Tediosi et al case management model (Case management as described in AJTMH 75 (suppl 2) pp90-103) while treatment decisions are configured via decision trees.
Besides greater flexibility, this allows treatment via PK/PD models.
Attributes
Name of case management parameterisation
name=string
Name of health system
Probability that a patient with uncomplicated disease seeks official care immediately.
→ scenario → healthSystem → DecisionTree5Day → pSeekOfficialCareUncomplicated1
<pSeekOfficialCareUncomplicated1
value=double
/>
Documentation (element)
Units: Dimensionless Min: 0.0 Max: 1.0
Probability that a patient with newly incident uncomplicated disease seeks official care
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Probability that a patient with uncomplicated disease will self-treat.
→ scenario → healthSystem → DecisionTree5Day → pSelfTreatUncomplicated
<pSelfTreatUncomplicated
value=double
/>
Documentation (element)
Units: Dimensionless Min: 0.0 Max: 1.0
Probability that a patient with uncomplicated disease without recent history of disease (i.e. first line) will self-treat.
Note that in second line cases there is no probability of self-treatment.
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Probability that a recurring patient seeks official care
→ scenario → healthSystem → DecisionTree5Day → pSeekOfficialCareUncomplicated2
<pSeekOfficialCareUncomplicated2
value=double
/>
Documentation (element)
Units: Dimensionless Min: 0.0 Max: 1.0
Probability that a patient with recurrence of uncomplicated disease seeks official care
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Probability that a patient with severe disease obtains appropriate care
→ scenario → healthSystem → DecisionTree5Day → pSeekOfficialCareSevere
<pSeekOfficialCareSevere
value=double
/>
Documentation (element)
Units: Dimensionless Min: 0.0 Max: 1.0
Probability that a patient with severe disease obtains appropriate care
Attributes
Input parameter value
value=double
A double-precision floating-point value.
liverStageDrug
→ scenario → healthSystem → DecisionTree5Day → liverStageDrug
<liverStageDrug>
IN ANY ORDER:
| <pHumanCannotReceive ... />
| [ <ignoreCannotReceive ... /> ]
| [ <pUseUncomplicated ... /> ]
| <effectivenessOnUse ... />
</liverStageDrug>
Documentation (type)
Parameters for drug treatment which have an effect on the liver-stage of parasites (Primaquine and potentially Tafenoquine); for use with the Vivax model only.
Note: if this section is not listed, the following default values are assumed: pHumanCannotReceive=0, pUseUncomplicated=0, effectivenessOnUse=1.
treeUCOfficial
→ scenario → healthSystem → DecisionTree5Day → treeUCOfficial
<treeUCOfficial
[ name=string ]
>
EXACTLY ONE OF:
| <multiple ... />
| <caseType ... />
| <diagnostic ... />
| <fever ... />
| <random ... />
| <age ... />
| <noTreatment ... />
| ( <report ... /> )+
| <treatFailure ... />
| ( <treatPKPD ... /> )+
| ( <treatSimple ... /> )+
| ( <deploy ... /> )+
</treeUCOfficial>
- multiple
- caseType
- diagnostic
- fever
- random
- age
- noTreatment
- report
- treatFailure
- treatPKPD
- treatSimple
- deploy
Documentation (type)
Describes how "decisions" are made, both probabilistically and deterministically, and what actions are carried out.
Quantities may also be reported as a side effect of decisions made in the tree, for example the number of diagnostics used.
Attributes
Name
name=string
An optional piece of documentation attached to this node.
treeUCSelfTreat
→ scenario → healthSystem → DecisionTree5Day → treeUCSelfTreat
<treeUCSelfTreat
[ name=string ]
>
EXACTLY ONE OF:
| <multiple ... />
| <caseType ... />
| <diagnostic ... />
| <fever ... />
| <random ... />
| <age ... />
| <noTreatment ... />
| ( <report ... /> )+
| <treatFailure ... />
| ( <treatPKPD ... /> )+
| ( <treatSimple ... /> )+
| ( <deploy ... /> )+
</treeUCSelfTreat>
- multiple
- caseType
- diagnostic
- fever
- random
- age
- noTreatment
- report
- treatFailure
- treatPKPD
- treatSimple
- deploy
Documentation (type)
Describes how "decisions" are made, both probabilistically and deterministically, and what actions are carried out.
Quantities may also be reported as a side effect of decisions made in the tree, for example the number of diagnostics used.
Attributes
Name
name=string
An optional piece of documentation attached to this node.
Cure rate (severe cases)
→ scenario → healthSystem → DecisionTree5Day → cureRateSevere
<cureRateSevere
value=double
/>
Documentation (element)
Min: 0 Max: 1
The probability of clearing parasites given access to appropriate (hospital) care, for a severe case.
Attributes
Input parameter value
value=double
A double-precision floating-point value.
treatmentSevere
→ scenario → healthSystem → DecisionTree5Day → treatmentSevere
<treatmentSevere
[ name=string ]
>
IN THIS ORDER:
| ( <deploy ... /> )*
</treatmentSevere>
Documentation (type)
Describes the effects of the treatment, assuming this compliance/adherence/... option is selected. Effects are described in terms of a list of options, each of which acts independently but with all effects being activated simultaneously.
Documentation (base type)
Lists intervention components which are deployed according to some external trigger (for example, screening with a negative patency outcome or health-system treatment).
Components are referenced from one or more sub-lists. Each of these lists is deployed independently if and only if its age constraints are met by the human host and a random sample with the given probability of a positive outcome is positive.
Attributes
Name
name=string
Describes what this compliance option represents (e.g. "good compliance", "poor compliance with good drugs", ...).
Case fatality rate for inpatients
→ scenario → healthSystem → CFR
<CFR
[ interpolation=("none" or "linear") ]
>
IN THIS ORDER:
| ( <group ... /> )+
</CFR>
Documentation (element)
Case fatality rate (probability of an inpatient fatality from a bout of severe malaria, per age-group).
Attributes
interpolation
interpolation=("none" or "linear")
Interpolation algorithm. Normally it is desirable for age-based values to be continuous w.r.t. age. By default linear interpolation is used. With all algorithms except "none", the age groups are converted to a set of points centred within each age range. Extra points are added at each end (zero and infinity) to keep value constant at both ends of the function. A zero-length age group may be used as a kind of barrier to adjust the distribution; e.g. with age group boundaries at 15, 20 and 25 years, a (linear) spline would be drawn between ages 17.5 and 22.5, whereas with boundaries at 15, 20 and 20 years, a spline would be drawn between ages 17.5 and 20 years (may be desired if individuals are assumed to reach adult size at 20). Algorithms:
- none: input values are used directly
- linear: straight lines (on an age vs. value graph) are used to interpolate data points.
Probabilities of sequelae in inpatients
→ scenario → healthSystem → pSequelaeInpatient
<pSequelaeInpatient
[ interpolation=("none" or "linear") ]
>
IN THIS ORDER:
| ( <group ... /> )+
</pSequelaeInpatient>
Documentation (element)
Units: Dimensionless
List of age-specific probabilities of sequelae in inpatients, during a severe bout of malaria.
Attributes
interpolation
interpolation=("none" or "linear")
Interpolation algorithm. Normally it is desirable for age-based values to be continuous w.r.t. age. By default linear interpolation is used. With all algorithms except "none", the age groups are converted to a set of points centred within each age range. Extra points are added at each end (zero and infinity) to keep value constant at both ends of the function. A zero-length age group may be used as a kind of barrier to adjust the distribution; e.g. with age group boundaries at 15, 20 and 25 years, a (linear) spline would be drawn between ages 17.5 and 22.5, whereas with boundaries at 15, 20 and 20 years, a spline would be drawn between ages 17.5 and 20 years (may be desired if individuals are assumed to reach adult size at 20). Algorithms:
- none: input values are used directly
- linear: straight lines (on an age vs. value graph) are used to interpolate data points.
Change transmission levels
→ scenario → interventions → changeEIR
<changeEIR
[ name=string ]
>
IN THIS ORDER:
| ( <timedDeployment ... /> )*
</changeEIR>
Documentation (element)
New description of transmission level for models not supporting vector control interventions. Use of this overrides previous transmission levels such that human infectiousness no longer has any feedback effect on transmission. Supplied EIR data must last until end of simulation.
Attributes
Name of intervention
name=string
Name of intervention
timedDeployment
→ scenario → interventions → changeEIR → timedDeployment
<timedDeployment
eipDuration=int
time=string
>
IN THIS ORDER:
| ( <EIRDaily ... /> )+
</timedDeployment>
Documentation (type)
Replacement transmission levels. Disables feedback of human infectiousness to mosquitoes on further mosquito to human transmission. Must last until end of simulation.
Attributes
Duration of sporogony
eipDuration=int
Units: Days
The duration of sporogony in days
Time
time=string
Units: User defined (defauls to steps) Min: 0
Time at which this replacement occurs. See doc on intervention period and on monitoring/startDate for details of how times work. Can be specified in steps, days, years, or as a date (examples: 15t, 75d, 0.2y, 2000-03-16).
EIRDaily
→ scenario → entomology → nonVector → EIRDaily
<EIRDaily
[ origin=string ]
>
double
</EIRDaily>
Documentation (type)
Units: Infectious bites per adult per day
In the non-vector model, EIR is input as a sequence of daily values. There must be at least one years' worth of entries (365), and if there are more, values are wrapped and averaged (i.e. value for first day of year is taken as the mean of values for days 0, 365+0, 2*365+0, etc.).
Attributes
Time origin of EIR sequence
origin=string
Imported infections
→ scenario → interventions → importedInfections
<importedInfections
[ name=string ]
>
IN THIS ORDER:
| <timed ... />
</importedInfections>
Documentation (element)
Models importation of P. falciparum infections directly into humans from an external source. This is infections, not inoculations or EIR being imported.
Attributes
Name of intervention
name=string
Name of intervention
Rate of importation
→ scenario → interventions → importedInfections → timed
<timed
[ period=string ] DEFAULT VALUE 0
>
IN THIS ORDER:
| ( <rate ... /> )+
</timed>
Documentation (element)
Rate of case importation, as a step function. Each value is valid until replaced by the next value.
Attributes
Period of repetition
period=string
Units: User defined (default: steps) Min: 0
Default value: 0
If period is 0 (or effectively infinite), the last specified value remains indefinitely in effect. If period is less than the length of the simulation's intervention phase, then all "rate" deployments are repeated with this periodicity. In this case, the first "rate" deployment must coincide with the start of the intervention phase (monitoring/startDate). Can be specified in steps (e.g. 1t) or days (e.g. 365d).
rate
→ scenario → interventions → importedInfections → timed → rate
<rate
value=double
time=string
/>
Documentation (type)
Units: Imported cases per thousand people per year
A time-rate pair.
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Time of start
time=string
Units: User defined (defauls to steps) Min: 0
Time at which this importation rate becomes active. See doc on intervention period and on monitoring/startDate for details of how times work. Can be specified in steps, days, years, or as a date (examples: 15t, 75d, 0.2y, 2000-03-16).
Insert R_0 case
→ scenario → interventions → insertR_0Case
<insertR_0Case
[ name=string ]
>
IN THIS ORDER:
| ( <timedDeployment ... /> )*
</insertR_0Case>
Documentation (element)
Used to simulate R_0. First, infections should be eliminated, immunity removed, and the population given an effective transmission- blocking vaccine (not done by this intervention). Then this intervention may be used to: pick one human, infect him, administer a fully effective Preerythrocytic vaccine and remove transmission-blocking vaccine effect on this human. Thus only this one human will be a source of infections in an unprotected population, and will not reinfected himself.
Attributes
Name of intervention
name=string
Name of intervention
timedDeployment
→ scenario → interventions → insertR_0Case → timedDeployment
<timedDeployment
time=string
/>
Attributes
Time
time=string
Units: User defined (defauls to steps) Min: 0
Time at which this intervention occurs. See doc on intervention period and on monitoring/startDate for details of how times work. Can be specified in steps, days, years, or as a date (examples: 15t, 75d, 0.2y, 2000-03-16).
Uninfect vectors
→ scenario → interventions → uninfectVectors
<uninfectVectors
[ name=string ]
>
IN THIS ORDER:
| ( <timedDeployment ... /> )*
</uninfectVectors>
Documentation (element)
Units: List of elements
Removes all infections from mosquitoes -- resulting in zero EIR to humans, until such time that mosquitoes are re-infected and become infectious. Only efficacious in dynamic EIR mode (when changeEIR was not used).
Hypothetical, but potentially useful to simulate a setting starting from no infections, but with enough mosquitoes to reach a set equilibrium of exposure.
Attributes
Name of intervention
name=string
Name of intervention
timedDeployment
→ scenario → interventions → uninfectVectors → timedDeployment
<timedDeployment
time=string
/>
Attributes
Time
time=string
Units: User defined (defauls to steps) Min: 0
Time at which this intervention occurs. See doc on intervention period and on monitoring/startDate for details of how times work. Can be specified in steps, days, years, or as a date (examples: 15t, 75d, 0.2y, 2000-03-16).
Vector population intervention
→ scenario → interventions → vectorPop
<vectorPop>
IN THIS ORDER:
| ( <intervention ... /> )+
</vectorPop>
Documentation (element)
Units: List of elements
A list of parameterisations of generic vector host-inspecific interventions.
intervention
→ scenario → interventions → vectorPop → intervention
<intervention
name=string
>
IN THIS ORDER:
| <description ... />
| [ <timed ... /> ]
</intervention>
Documentation (type)
Units: List of elements
An intervention which may have various effects on the vector populations as a whole. (Not host specific.)
Multiple instances of this intervention class are allowed (multiple parameterisations, not just deployments).
Each instance may have multiple deployments. In this case the effects of each instance are independent (effects are combined) but the effects of multiple deployments of a single instance are not independent (only the latest deployment has any effect).
Attributes
Name of intervention
name=string
Name of intervention (e.g. larviciding, sugar bait).
description
→ scenario → interventions → vectorPop → intervention → description
<description>
IN THIS ORDER:
| ( <anopheles ... /> )+
</description>
anopheles
→ scenario → interventions → vectorPop → intervention → description → anopheles
<anopheles
mosquito=string
>
IN ANY ORDER:
| [ <seekingDeathRateIncrease ... /> ]
| [ <probDeathOvipositing ... /> ]
| [ <emergenceReduction ... /> ]
| [ <probAdditionalDeathSugarFeeding ... /> ]
</anopheles>
Documentation (type)
Units: dimensionless Min: 0 Max: 1
Descriptions of the effects of vector interventions with per-species effects.
Attributes
Species/subspecies/variant name
mosquito=string
Name of the species/subspecies/variant.
Proportional increase in deaths while host searching
→ scenario → interventions → vectorPop → intervention → description → anopheles → seekingDeathRateIncrease
<seekingDeathRateIncrease
initial=double
>
IN THIS ORDER:
| <decay ... />
</seekingDeathRateIncrease>
Documentation (element)
Units: dimensionless
Describe an effect on the increase in the death rate while host seeking (mu_vA) due to this intervention.
Enter the rate increase (i.e. if rate increases to 120% of normal, give 0.2). New death rate while seeking is old × (1 + increase) where increase is this factor given. Must have increas ≥ -1.
Attributes
Initial proportion increase
initial=double
Units: dimensionless Min: -1 Max: inf
decay
→ scenario → interventions → vectorPop → intervention → description → anopheles → seekingDeathRateIncrease → decay
<decay
function=("constant" or "step" or "linear" or "exponential" or "weibull" or "hill" or "smooth-compact" or "plus" or "minus" or "divides" or "multiplies")
[ L=string ]
[ k=double ] DEFAULT VALUE 1.0
[ CV=double ] DEFAULT VALUE 0
[ increasing=boolean ] DEFAULT VALUE false
[ initialEfficacy=double ] DEFAULT VALUE 1
[ rho=double ]
[ halflife_short=string ]
[ halflife_long=string ]
>
IN THIS ORDER:
| <decay ... />
</decay>
Documentation (type)
Specification of decay or survival of a parameter.
Attributes
function
function=("constant" or "step" or "linear" or "exponential" or "weibull" or "hill" or "smooth-compact" or "plus" or "minus" or "divides" or "multiplies")
Units: None Min: 0 Max: 1
Determines which decay function to use. Available decay functions, for age t in years: constant: 1 step: 1 for t less than L, otherwise 0 linear: 1 - t/L for t less than L, otherwise 0 exponential: exp( - t/L * log(2) ) weibull: exp( -(t/L)^k * log(2) ) hill: 1 / (1 + (t/L)^k) smooth-compact: exp( k - k / (1 - (t/L)^2) ) for t less than L, otherwise 0
L
L=string
Units: User-defined (defaults to years) Min: 0
(Time) scale parameter of distribution: this is either the age of complete decay (smooth-compact, step and linear functions) or the age at which the parameter has decayed to half its original value (exponential, weibull and hill). Not used when function="constant" (i.e. no decay). This value can be specified in years, days or steps (e.g. 2y, 180d or 100t). When the unit is not specified years are assumed. The value is used without rounding except when sampling an age of decay, when the rounding happens as late as possible.
k
k=double
Units: none Min: 0
Default value: 1.0
Shape parameter of distribution. If not specified, default value of 1 is used. Meaning depends on function; not used in some cases.
Coefficient of Variation
CV=double
Min: 0
Default value: 0
If CV is non-zero, heterogeneity of decay is introduced via a random variable sampled from the log-normal distribution. This distribution is parameterised with mean=1 and CV as given. The effective age of decay is the real age multiplied by this variable (for decay functions with a half-life, this is equivalent to dividing the half-life by the variable).
L
increasing=boolean
Units: User-defined (defaults to years) Min: 0
Default value: false
(Boolean) If True, this tells OpenMalaria to use the complement of the DecayFunction defined as 1-f(x). This is useful to model increasing functions that will "decay" to 1. This only works if f(x) is contained between 0 and 1.
initialEfficacy
initialEfficacy=double
Default value: 1
biphasic: Efficacy between 0 and 1.
rho
rho=double
biphasic: Proportion between 0 and 1, proportion of the response that is short-lived.
halflife_short
halflife_short=string
biphasic: halflife of short lived component (default to years).
halflife_long
halflife_long=string
biphasic: halflife of long lived component (default to years).
decay
→ scenario → interventions → nonHumanHostsModifications → intervention → decay → decay
<decay
function=("constant" or "step" or "linear" or "exponential" or "weibull" or "hill" or "smooth-compact" or "plus" or "minus" or "divides" or "multiplies")
[ L=string ]
[ k=double ] DEFAULT VALUE 1.0
[ CV=double ] DEFAULT VALUE 0
[ increasing=boolean ] DEFAULT VALUE false
[ initialEfficacy=double ] DEFAULT VALUE 1
[ rho=double ]
[ halflife_short=string ]
[ halflife_long=string ]
>
IN THIS ORDER:
| <decay ... />
</decay>
Documentation (type)
Specification of decay or survival of a parameter.
Attributes
function
function=("constant" or "step" or "linear" or "exponential" or "weibull" or "hill" or "smooth-compact" or "plus" or "minus" or "divides" or "multiplies")
Units: None Min: 0 Max: 1
Determines which decay function to use. Available decay functions, for age t in years: constant: 1 step: 1 for t less than L, otherwise 0 linear: 1 - t/L for t less than L, otherwise 0 exponential: exp( - t/L * log(2) ) weibull: exp( -(t/L)^k * log(2) ) hill: 1 / (1 + (t/L)^k) smooth-compact: exp( k - k / (1 - (t/L)^2) ) for t less than L, otherwise 0
L
L=string
Units: User-defined (defaults to years) Min: 0
(Time) scale parameter of distribution: this is either the age of complete decay (smooth-compact, step and linear functions) or the age at which the parameter has decayed to half its original value (exponential, weibull and hill). Not used when function="constant" (i.e. no decay). This value can be specified in years, days or steps (e.g. 2y, 180d or 100t). When the unit is not specified years are assumed. The value is used without rounding except when sampling an age of decay, when the rounding happens as late as possible.
k
k=double
Units: none Min: 0
Default value: 1.0
Shape parameter of distribution. If not specified, default value of 1 is used. Meaning depends on function; not used in some cases.
Coefficient of Variation
CV=double
Min: 0
Default value: 0
If CV is non-zero, heterogeneity of decay is introduced via a random variable sampled from the log-normal distribution. This distribution is parameterised with mean=1 and CV as given. The effective age of decay is the real age multiplied by this variable (for decay functions with a half-life, this is equivalent to dividing the half-life by the variable).
L
increasing=boolean
Units: User-defined (defaults to years) Min: 0
Default value: false
(Boolean) If True, this tells OpenMalaria to use the complement of the DecayFunction defined as 1-f(x). This is useful to model increasing functions that will "decay" to 1. This only works if f(x) is contained between 0 and 1.
initialEfficacy
initialEfficacy=double
Default value: 1
biphasic: Efficacy between 0 and 1.
rho
rho=double
biphasic: Proportion between 0 and 1, proportion of the response that is short-lived.
halflife_short
halflife_short=string
biphasic: halflife of short lived component (default to years).
halflife_long
halflife_long=string
biphasic: halflife of long lived component (default to years).
Proportion ovipositing mosquitoes killed
→ scenario → interventions → vectorPop → intervention → description → anopheles → probDeathOvipositing
<probDeathOvipositing
initial=double
>
IN THIS ORDER:
| <decay ... />
</probDeathOvipositing>
Documentation (element)
Units: dimensionless
Describe an effect of increased mortality while ovipositing due to this intervention. Enter the probability of dying due to this intervention.
Attributes
Initial probability of killing
initial=double
Units: dimensionless Min: 0 Max: 1
decay
→ scenario → interventions → vectorPop → intervention → description → anopheles → probDeathOvipositing → decay
<decay
function=("constant" or "step" or "linear" or "exponential" or "weibull" or "hill" or "smooth-compact" or "plus" or "minus" or "divides" or "multiplies")
[ L=string ]
[ k=double ] DEFAULT VALUE 1.0
[ CV=double ] DEFAULT VALUE 0
[ increasing=boolean ] DEFAULT VALUE false
[ initialEfficacy=double ] DEFAULT VALUE 1
[ rho=double ]
[ halflife_short=string ]
[ halflife_long=string ]
>
IN THIS ORDER:
| <decay ... />
</decay>
Documentation (type)
Specification of decay or survival of a parameter.
Attributes
function
function=("constant" or "step" or "linear" or "exponential" or "weibull" or "hill" or "smooth-compact" or "plus" or "minus" or "divides" or "multiplies")
Units: None Min: 0 Max: 1
Determines which decay function to use. Available decay functions, for age t in years: constant: 1 step: 1 for t less than L, otherwise 0 linear: 1 - t/L for t less than L, otherwise 0 exponential: exp( - t/L * log(2) ) weibull: exp( -(t/L)^k * log(2) ) hill: 1 / (1 + (t/L)^k) smooth-compact: exp( k - k / (1 - (t/L)^2) ) for t less than L, otherwise 0
L
L=string
Units: User-defined (defaults to years) Min: 0
(Time) scale parameter of distribution: this is either the age of complete decay (smooth-compact, step and linear functions) or the age at which the parameter has decayed to half its original value (exponential, weibull and hill). Not used when function="constant" (i.e. no decay). This value can be specified in years, days or steps (e.g. 2y, 180d or 100t). When the unit is not specified years are assumed. The value is used without rounding except when sampling an age of decay, when the rounding happens as late as possible.
k
k=double
Units: none Min: 0
Default value: 1.0
Shape parameter of distribution. If not specified, default value of 1 is used. Meaning depends on function; not used in some cases.
Coefficient of Variation
CV=double
Min: 0
Default value: 0
If CV is non-zero, heterogeneity of decay is introduced via a random variable sampled from the log-normal distribution. This distribution is parameterised with mean=1 and CV as given. The effective age of decay is the real age multiplied by this variable (for decay functions with a half-life, this is equivalent to dividing the half-life by the variable).
L
increasing=boolean
Units: User-defined (defaults to years) Min: 0
Default value: false
(Boolean) If True, this tells OpenMalaria to use the complement of the DecayFunction defined as 1-f(x). This is useful to model increasing functions that will "decay" to 1. This only works if f(x) is contained between 0 and 1.
initialEfficacy
initialEfficacy=double
Default value: 1
biphasic: Efficacy between 0 and 1.
rho
rho=double
biphasic: Proportion between 0 and 1, proportion of the response that is short-lived.
halflife_short
halflife_short=string
biphasic: halflife of short lived component (default to years).
halflife_long
halflife_long=string
biphasic: halflife of long lived component (default to years).
Proportion of emerging pupa killed
→ scenario → interventions → vectorPop → intervention → description → anopheles → emergenceReduction
<emergenceReduction
initial=double
>
IN THIS ORDER:
| <decay ... />
</emergenceReduction>
Documentation (element)
Units: dimensionless
Describe an effect on emergence of pupa into adults: this value is the proportion of emerging pupa which are killed by this intervention.
This can be used as a crude way of modelling larviciding. It ca also be used to increase emergence by giving a negative value. The emergence rate is "old rate" × (1 - factor) where factor is the value given here; thus, for example, using -1 will double emergence.
Attributes
Initial proportion reduction
initial=double
Units: dimensionless Min: -inf Max: 1
decay
→ scenario → interventions → vectorPop → intervention → description → anopheles → emergenceReduction → decay
<decay
function=("constant" or "step" or "linear" or "exponential" or "weibull" or "hill" or "smooth-compact" or "plus" or "minus" or "divides" or "multiplies")
[ L=string ]
[ k=double ] DEFAULT VALUE 1.0
[ CV=double ] DEFAULT VALUE 0
[ increasing=boolean ] DEFAULT VALUE false
[ initialEfficacy=double ] DEFAULT VALUE 1
[ rho=double ]
[ halflife_short=string ]
[ halflife_long=string ]
>
IN THIS ORDER:
| <decay ... />
</decay>
Documentation (type)
Specification of decay or survival of a parameter.
Attributes
function
function=("constant" or "step" or "linear" or "exponential" or "weibull" or "hill" or "smooth-compact" or "plus" or "minus" or "divides" or "multiplies")
Units: None Min: 0 Max: 1
Determines which decay function to use. Available decay functions, for age t in years: constant: 1 step: 1 for t less than L, otherwise 0 linear: 1 - t/L for t less than L, otherwise 0 exponential: exp( - t/L * log(2) ) weibull: exp( -(t/L)^k * log(2) ) hill: 1 / (1 + (t/L)^k) smooth-compact: exp( k - k / (1 - (t/L)^2) ) for t less than L, otherwise 0
L
L=string
Units: User-defined (defaults to years) Min: 0
(Time) scale parameter of distribution: this is either the age of complete decay (smooth-compact, step and linear functions) or the age at which the parameter has decayed to half its original value (exponential, weibull and hill). Not used when function="constant" (i.e. no decay). This value can be specified in years, days or steps (e.g. 2y, 180d or 100t). When the unit is not specified years are assumed. The value is used without rounding except when sampling an age of decay, when the rounding happens as late as possible.
k
k=double
Units: none Min: 0
Default value: 1.0
Shape parameter of distribution. If not specified, default value of 1 is used. Meaning depends on function; not used in some cases.
Coefficient of Variation
CV=double
Min: 0
Default value: 0
If CV is non-zero, heterogeneity of decay is introduced via a random variable sampled from the log-normal distribution. This distribution is parameterised with mean=1 and CV as given. The effective age of decay is the real age multiplied by this variable (for decay functions with a half-life, this is equivalent to dividing the half-life by the variable).
L
increasing=boolean
Units: User-defined (defaults to years) Min: 0
Default value: false
(Boolean) If True, this tells OpenMalaria to use the complement of the DecayFunction defined as 1-f(x). This is useful to model increasing functions that will "decay" to 1. This only works if f(x) is contained between 0 and 1.
initialEfficacy
initialEfficacy=double
Default value: 1
biphasic: Efficacy between 0 and 1.
rho
rho=double
biphasic: Proportion between 0 and 1, proportion of the response that is short-lived.
halflife_short
halflife_short=string
biphasic: halflife of short lived component (default to years).
halflife_long
halflife_long=string
biphasic: halflife of long lived component (default to years).
Probability of death while host searching as a result of feeding on a sugar bait (used to dynamically adjust mu_vA)
→ scenario → interventions → vectorPop → intervention → description → anopheles → probAdditionalDeathSugarFeeding
<probAdditionalDeathSugarFeeding
initial=double
>
IN THIS ORDER:
| <decay ... />
</probAdditionalDeathSugarFeeding>
Documentation (element)
Units: dimensionless
Describe an effect on the increase in the death rate while host seeking (mu_vA) due to this intervention. This works like adding an non-human host with its own availability. The difference is that biting this sugar bait is associated with a probability of dying of 1: all mosquitoes biting the sugar bait will die. OpenMalaria will automatically compute the availability for this host so that the probability of biting this 'host' (and thus dying) is equal to the input parameter.
Enter the probability of dying while host seeking due to this intervention. If multiple interventions overlap, the cumulative probability will be used. Note that it cannot exceed 1, and OpenMalaria will return an error during the simulation if this ever happens.
OpenMalaria will dynamically compute the necessary increase in mu_vA based on the given probability. Note that this is done by solving an equation numerically every timestep, which can cause a small drop in performance.
Attributes
Initial proportion increase
initial=double
Units: dimensionless Min: -1 Max: inf
decay
→ scenario → interventions → vectorPop → intervention → description → anopheles → probAdditionalDeathSugarFeeding → decay
<decay
function=("constant" or "step" or "linear" or "exponential" or "weibull" or "hill" or "smooth-compact" or "plus" or "minus" or "divides" or "multiplies")
[ L=string ]
[ k=double ] DEFAULT VALUE 1.0
[ CV=double ] DEFAULT VALUE 0
[ increasing=boolean ] DEFAULT VALUE false
[ initialEfficacy=double ] DEFAULT VALUE 1
[ rho=double ]
[ halflife_short=string ]
[ halflife_long=string ]
>
IN THIS ORDER:
| <decay ... />
</decay>
Documentation (type)
Specification of decay or survival of a parameter.
Attributes
function
function=("constant" or "step" or "linear" or "exponential" or "weibull" or "hill" or "smooth-compact" or "plus" or "minus" or "divides" or "multiplies")
Units: None Min: 0 Max: 1
Determines which decay function to use. Available decay functions, for age t in years: constant: 1 step: 1 for t less than L, otherwise 0 linear: 1 - t/L for t less than L, otherwise 0 exponential: exp( - t/L * log(2) ) weibull: exp( -(t/L)^k * log(2) ) hill: 1 / (1 + (t/L)^k) smooth-compact: exp( k - k / (1 - (t/L)^2) ) for t less than L, otherwise 0
L
L=string
Units: User-defined (defaults to years) Min: 0
(Time) scale parameter of distribution: this is either the age of complete decay (smooth-compact, step and linear functions) or the age at which the parameter has decayed to half its original value (exponential, weibull and hill). Not used when function="constant" (i.e. no decay). This value can be specified in years, days or steps (e.g. 2y, 180d or 100t). When the unit is not specified years are assumed. The value is used without rounding except when sampling an age of decay, when the rounding happens as late as possible.
k
k=double
Units: none Min: 0
Default value: 1.0
Shape parameter of distribution. If not specified, default value of 1 is used. Meaning depends on function; not used in some cases.
Coefficient of Variation
CV=double
Min: 0
Default value: 0
If CV is non-zero, heterogeneity of decay is introduced via a random variable sampled from the log-normal distribution. This distribution is parameterised with mean=1 and CV as given. The effective age of decay is the real age multiplied by this variable (for decay functions with a half-life, this is equivalent to dividing the half-life by the variable).
L
increasing=boolean
Units: User-defined (defaults to years) Min: 0
Default value: false
(Boolean) If True, this tells OpenMalaria to use the complement of the DecayFunction defined as 1-f(x). This is useful to model increasing functions that will "decay" to 1. This only works if f(x) is contained between 0 and 1.
initialEfficacy
initialEfficacy=double
Default value: 1
biphasic: Efficacy between 0 and 1.
rho
rho=double
biphasic: Proportion between 0 and 1, proportion of the response that is short-lived.
halflife_short
halflife_short=string
biphasic: halflife of short lived component (default to years).
halflife_long
halflife_long=string
biphasic: halflife of long lived component (default to years).
Vector population intervention deployment
→ scenario → interventions → vectorPop → intervention → timed
<timed>
IN THIS ORDER:
| ( <deploy ... /> )+
</timed>
Documentation (element)
List of timed vector population intervention deployment
deploy
→ scenario → interventions → vectorPop → intervention → timed → deploy
<deploy
time=string
/>
Attributes
Time
time=string
Units: User defined (defauls to steps) Min: 0
Time at which this deployment occurs. See doc on intervention period and on monitoring/startDate for details of how times work. Can be specified in steps, days, years, or as a date (examples: 15t, 75d, 0.2y, 2000-03-16).
Baited trap
→ scenario → interventions → vectorTrap
<vectorTrap>
IN THIS ORDER:
| ( <intervention ... /> )+
</vectorTrap>
Documentation (element)
Traps attract and kill mosquitoes. They are modelled as a non-human-host where the probability of mosquitoes surviving feeding is zero (since otherwise the simulator would assume surviving mosquitoes have had a blood meal), and where this "host" is initially not present.
Model: each type of trap has has an initial availability relative to a human and a decay in availability. Each deployment has a fixed maximum lifespan, after which the traps from that deployment are removed (it is up to the user whether this is after availability is effectively zero or sooner, either coinciding with a redeployment or causing a reduction in overall effectiveness of traps).
intervention
→ scenario → interventions → vectorTrap → intervention
<intervention
[ name=string ]
>
IN THIS ORDER:
| ( <description ... /> )+
| [ <timed ... /> ]
</intervention>
Documentation (type)
Parameters and deployment of one type of trap. In case multiple types of trap are needed simultaneously, multiple elements can be used. Note that different types of trap do not interact except that all will attract mosquitoes.
Attributes
Descriptive name for type of trap
name=string
Optional name for this type of trap
Description
→ scenario → interventions → vectorTrap → intervention → description
<description
mosquito=string
>
IN THIS ORDER:
| <relativeAvailability ... />
| <decayOfAvailability ... />
</description>
Documentation (element)
Parameters associated with a vector trap intervention, per mosquito species.
Attributes
Species/subspecies/variant name
mosquito=string
Name of the species/subspecies/variant.
Initial relative availability
→ scenario → interventions → vectorTrap → intervention → description → relativeAvailability
<relativeAvailability
value=double
/>
Documentation (element)
Units: Proportion Min: 0 Max: inf
Describes the availiability of a trap to a host-seeking mosquito relative to an average unprotected adult.
I.e. if this parameter is 2, then each trap will on average attract twice as many mosquitoes as unprotected adults.
This is the initial availability; it may decay towards zero depending on the configured decay function.
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Decay of availability
→ scenario → interventions → vectorTrap → intervention → description → decayOfAvailability
<decayOfAvailability
function=("constant" or "step" or "linear" or "exponential" or "weibull" or "hill" or "smooth-compact" or "plus" or "minus" or "divides" or "multiplies")
[ L=string ]
[ k=double ] DEFAULT VALUE 1.0
[ CV=double ] DEFAULT VALUE 0
[ increasing=boolean ] DEFAULT VALUE false
[ initialEfficacy=double ] DEFAULT VALUE 1
[ rho=double ]
[ halflife_short=string ]
[ halflife_long=string ]
>
IN THIS ORDER:
| <decay ... />
</decayOfAvailability>
Documentation (element)
Describes how availability decays to zero.
If decay heterogeneity/variance is used, there will be a sample once-per-deployment (i.e. all traps of the same deployment will be affected the same way). There is no support for variances between traps (except in this crude way, between deployments).
Documentation (type)
Specification of decay or survival of a parameter.
Attributes
function
function=("constant" or "step" or "linear" or "exponential" or "weibull" or "hill" or "smooth-compact" or "plus" or "minus" or "divides" or "multiplies")
Units: None Min: 0 Max: 1
Determines which decay function to use. Available decay functions, for age t in years: constant: 1 step: 1 for t less than L, otherwise 0 linear: 1 - t/L for t less than L, otherwise 0 exponential: exp( - t/L * log(2) ) weibull: exp( -(t/L)^k * log(2) ) hill: 1 / (1 + (t/L)^k) smooth-compact: exp( k - k / (1 - (t/L)^2) ) for t less than L, otherwise 0
L
L=string
Units: User-defined (defaults to years) Min: 0
(Time) scale parameter of distribution: this is either the age of complete decay (smooth-compact, step and linear functions) or the age at which the parameter has decayed to half its original value (exponential, weibull and hill). Not used when function="constant" (i.e. no decay). This value can be specified in years, days or steps (e.g. 2y, 180d or 100t). When the unit is not specified years are assumed. The value is used without rounding except when sampling an age of decay, when the rounding happens as late as possible.
k
k=double
Units: none Min: 0
Default value: 1.0
Shape parameter of distribution. If not specified, default value of 1 is used. Meaning depends on function; not used in some cases.
Coefficient of Variation
CV=double
Min: 0
Default value: 0
If CV is non-zero, heterogeneity of decay is introduced via a random variable sampled from the log-normal distribution. This distribution is parameterised with mean=1 and CV as given. The effective age of decay is the real age multiplied by this variable (for decay functions with a half-life, this is equivalent to dividing the half-life by the variable).
L
increasing=boolean
Units: User-defined (defaults to years) Min: 0
Default value: false
(Boolean) If True, this tells OpenMalaria to use the complement of the DecayFunction defined as 1-f(x). This is useful to model increasing functions that will "decay" to 1. This only works if f(x) is contained between 0 and 1.
initialEfficacy
initialEfficacy=double
Default value: 1
biphasic: Efficacy between 0 and 1.
rho
rho=double
biphasic: Proportion between 0 and 1, proportion of the response that is short-lived.
halflife_short
halflife_short=string
biphasic: halflife of short lived component (default to years).
halflife_long
halflife_long=string
biphasic: halflife of long lived component (default to years).
Vector trap intervention deployment
→ scenario → interventions → vectorTrap → intervention → timed
<timed>
IN THIS ORDER:
| ( <deploy ... /> )*
</timed>
Documentation (element)
List of timed vector trap intervention deployment
deploy
→ scenario → interventions → vectorTrap → intervention → timed → deploy
<deploy
time=string
ratioToHumans=double
lifespan=string
/>
Attributes
Time
time=string
Units: User defined (defauls to steps) Min: 0
Time at which this deployment occurs. See doc on intervention period and on monitoring/startDate for details of how times work. Can be specified in steps, days, years, or as a date (examples: 15t, 75d, 0.2y, 2000-03-16).
Ratio to humans
ratioToHumans=double
Min: 0 Max: inf
The number of traps deployed, by this deployment, per adult human. E.g. if there are currently 100 traps and 1000 humans, then a ratio of 0.1 will increase the number of traps to 200.
Lifespan
lifespan=string
Units: Steps or Days or Years
Life of the trap until replaced or removed, e.g. "73t" or "1y". After this time period, these traps will be removed from the simulation. New deployments do not automatically remove old traps. Existing traps cannot be refurbished in the model. It may make sense to make the end-of-life coincide with a new deployment.
nonHumanHostsModifications
→ scenario → interventions → nonHumanHostsModifications
<nonHumanHostsModifications>
IN THIS ORDER:
| ( <intervention ... /> )+
</nonHumanHostsModifications>
Documentation (element)
List of interventions that modify parameters of non-human hosts described in the
intervention
→ scenario → interventions → nonHumanHostsModifications → intervention
<intervention
name=string
nonHumanHostsName=string
>
IN THIS ORDER:
| <decay ... />
| <description ... />
| [ <timed ... /> ]
</intervention>
Documentation (type)
This intervention modifies parameters of non-human hosts described in the
The intervention is described by 5 parameters that define the change in each of non-human host parameters:
reduceAvailability: Reduction in the availability rate, αi. For example a value of 0 will result in no change; a value of 0.2 will reduce the availability to 0.8 of its initial value; and a value of 1 will set the availability to 0;
prePrandialKillingEffect: Reduction in the pre-prandial survival probability, PBi. For example a value of 0 will result in no change; a value of 0.2 will reduce PBi to 0.8 of its initial value; and a value of 1 will set PBi to 0;
postPrandialKillingEffect: Reduction in the post-prandial survival probability, PCi. For example a value of 0 will result in no change; a value of 0.2 will reduce PCi to 0.8 of its initial value; and a value of 1 will set PCi to 0;
restingKillingEffect: Reduction in the survival probability of the resting period, PDi. For example a value of 0 will result in no change; a value of 0.2 will reduce PDi to 0.8 of its initial value; and a value of 1 will set PDi to 0;
Attributes
Name of intervention
name=string
Name of intervention (e.g. larviciding, sugar bait).
Name of intervention
nonHumanHostsName=string
Name of intervention (e.g. larviciding, sugar bait).
decay
→ scenario → interventions → nonHumanHostsModifications → intervention → decay
<decay
function=("constant" or "step" or "linear" or "exponential" or "weibull" or "hill" or "smooth-compact" or "plus" or "minus" or "divides" or "multiplies")
[ L=string ]
[ k=double ] DEFAULT VALUE 1.0
[ CV=double ] DEFAULT VALUE 0
[ increasing=boolean ] DEFAULT VALUE false
[ initialEfficacy=double ] DEFAULT VALUE 1
[ rho=double ]
[ halflife_short=string ]
[ halflife_long=string ]
>
IN THIS ORDER:
| <decay ... />
</decay>
Documentation (type)
Specification of decay or survival of a parameter.
Attributes
function
function=("constant" or "step" or "linear" or "exponential" or "weibull" or "hill" or "smooth-compact" or "plus" or "minus" or "divides" or "multiplies")
Units: None Min: 0 Max: 1
Determines which decay function to use. Available decay functions, for age t in years: constant: 1 step: 1 for t less than L, otherwise 0 linear: 1 - t/L for t less than L, otherwise 0 exponential: exp( - t/L * log(2) ) weibull: exp( -(t/L)^k * log(2) ) hill: 1 / (1 + (t/L)^k) smooth-compact: exp( k - k / (1 - (t/L)^2) ) for t less than L, otherwise 0
L
L=string
Units: User-defined (defaults to years) Min: 0
(Time) scale parameter of distribution: this is either the age of complete decay (smooth-compact, step and linear functions) or the age at which the parameter has decayed to half its original value (exponential, weibull and hill). Not used when function="constant" (i.e. no decay). This value can be specified in years, days or steps (e.g. 2y, 180d or 100t). When the unit is not specified years are assumed. The value is used without rounding except when sampling an age of decay, when the rounding happens as late as possible.
k
k=double
Units: none Min: 0
Default value: 1.0
Shape parameter of distribution. If not specified, default value of 1 is used. Meaning depends on function; not used in some cases.
Coefficient of Variation
CV=double
Min: 0
Default value: 0
If CV is non-zero, heterogeneity of decay is introduced via a random variable sampled from the log-normal distribution. This distribution is parameterised with mean=1 and CV as given. The effective age of decay is the real age multiplied by this variable (for decay functions with a half-life, this is equivalent to dividing the half-life by the variable).
L
increasing=boolean
Units: User-defined (defaults to years) Min: 0
Default value: false
(Boolean) If True, this tells OpenMalaria to use the complement of the DecayFunction defined as 1-f(x). This is useful to model increasing functions that will "decay" to 1. This only works if f(x) is contained between 0 and 1.
initialEfficacy
initialEfficacy=double
Default value: 1
biphasic: Efficacy between 0 and 1.
rho
rho=double
biphasic: Proportion between 0 and 1, proportion of the response that is short-lived.
halflife_short
halflife_short=string
biphasic: halflife of short lived component (default to years).
halflife_long
halflife_long=string
biphasic: halflife of long lived component (default to years).
description
→ scenario → interventions → nonHumanHostsModifications → intervention → description
<description>
IN THIS ORDER:
| ( <anopheles ... /> )+
</description>
anopheles
→ scenario → interventions → nonHumanHostsModifications → intervention → description → anopheles
<anopheles
mosquito=string
>
IN ANY ORDER:
| [ <availabilityReduction ... /> ]
| [ <preprandialKillingEffect ... /> ]
| [ <postprandialKillingEffect ... /> ]
| [ <restingKillingEffect ... /> ]
| [ <fecundityReduction ... /> ]
</anopheles>
- availabilityReduction
- preprandialKillingEffect
- postprandialKillingEffect
- restingKillingEffect
- fecundityReduction
Documentation (type)
Descriptions of the effects of non human hosts interventions with per-species effects.
Attributes
Species/subspecies/variant name
mosquito=string
Name of the species/subspecies/variant.
availabilityReduction
→ scenario → interventions → nonHumanHostsModifications → intervention → description → anopheles → availabilityReduction
<availabilityReduction
initial=double
/>
Documentation (element)
Reduction in the availability rate, αi. For example a value of 0 will result in no change; a value of 0.2 will reduce the availability to 0.8 of its initial value; and a value of 1 will set the availability to 0;
Attributes
Initial proportion increase
initial=double
Units: dimensionless Min: -1 Max: inf
preprandialKillingEffect
→ scenario → interventions → nonHumanHostsModifications → intervention → description → anopheles → preprandialKillingEffect
<preprandialKillingEffect
initial=double
/>
Documentation (element)
Reduction in the pre-prandial survival probability, PBi. For example a value of 0 will result in no change; a value of 0.2 will reduce PBi to 0.8 of its initial value; and a value of 1 will set PBi to 0;
Attributes
Initial proportion increase
initial=double
Units: dimensionless Min: -1 Max: inf
postprandialKillingEffect
→ scenario → interventions → nonHumanHostsModifications → intervention → description → anopheles → postprandialKillingEffect
<postprandialKillingEffect
initial=double
/>
Documentation (element)
Reduction in the post-prandial survival probability, PCi. For example a value of 0 will result in no change; a value of 0.2 will reduce PCi to 0.8 of its initial value; and a value of 1 will set PCi to 0;
Attributes
Initial proportion increase
initial=double
Units: dimensionless Min: -1 Max: inf
restingKillingEffect
→ scenario → interventions → nonHumanHostsModifications → intervention → description → anopheles → restingKillingEffect
<restingKillingEffect
initial=double
/>
Documentation (element)
Reduction in the survival probability of the resting period, PDi. For example a value of 0 will result in no change; a value of 0.2 will reduce PDi to 0.8 of its initial value; and a value of 1 will set PDi to 0;
Attributes
Initial proportion increase
initial=double
Units: dimensionless Min: -1 Max: inf
fecundityReduction
→ scenario → interventions → nonHumanHostsModifications → intervention → description → anopheles → fecundityReduction
<fecundityReduction
initial=double
/>
Documentation (element)
Reduction in the number of fertile eggs laid by a mosquito after biting this type of host, relative to an unprotected human. For example a value of 0 will result in no change; a value of 0.2 will reduce the fecundity factor to 0.8 of its initial value; and a value of 1 will set the fecundity factor to 0;
Attributes
Initial proportion increase
initial=double
Units: dimensionless Min: -1 Max: inf
Vector population intervention deployment
→ scenario → interventions → nonHumanHostsModifications → intervention → timed
<timed>
IN THIS ORDER:
| ( <deploy ... /> )+
</timed>
Documentation (element)
List of timed vector population intervention deployment
addNonHumanHosts
→ scenario → interventions → addNonHumanHosts
<addNonHumanHosts>
IN THIS ORDER:
| ( <nonHumanHosts ... /> )+
</addNonHumanHosts>
Documentation (element)
List of intervention that add new non-human hosts that have not been described in the
nonHumanHosts
→ scenario → interventions → addNonHumanHosts → nonHumanHosts
<nonHumanHosts
name=string
>
IN THIS ORDER:
| <description ... />
| [ <timed ... /> ]
</nonHumanHosts>
Documentation (type)
Describes a new non-human hosts that have not been described in the
Attributes
Name of intervention
name=string
Name of intervention (e.g. larviciding, sugar bait).
description
→ scenario → interventions → addNonHumanHosts → nonHumanHosts → description
<description>
IN THIS ORDER:
| ( <anopheles ... /> )+
</description>
anopheles
→ scenario → interventions → addNonHumanHosts → nonHumanHosts → description → anopheles
<anopheles
mosquito=string
>
IN ANY ORDER:
| <mosqRelativeAvailabilityHuman ... />
| <mosqProbBiting ... />
| <mosqProbFindRestSite ... />
| <mosqProbResting ... />
| <hostFecundityFactor ... />
</anopheles>
- mosqRelativeAvailabilityHuman
- mosqProbBiting
- mosqProbFindRestSite
- mosqProbResting
- hostFecundityFactor
Documentation (type)
Descriptions of the effects of new non human hosts with per-species effects.
Attributes
Species/subspecies/variant name
mosquito=string
Name of the species/subspecies/variant.
Relative availability of non-human host (ξ_i)
→ scenario → interventions → addNonHumanHosts → nonHumanHosts → description → anopheles → mosqRelativeAvailabilityHuman
<mosqRelativeAvailabilityHuman
value=double
/>
Documentation (element)
Units: Proportion
Relative availability of the population of non-human hosts of type i to other non-human hosts; the sum of this across all non-human hosts must be 1.
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Probability of mosquito successfully biting host
→ scenario → interventions → addNonHumanHosts → nonHumanHosts → description → anopheles → mosqProbBiting
<mosqProbBiting
value=double
/>
Documentation (element)
Units: Proportion
Probability of mosquito successfully biting host
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Probability that the mosquito escapes host and finds a resting place after biting
→ scenario → interventions → addNonHumanHosts → nonHumanHosts → description → anopheles → mosqProbFindRestSite
<mosqProbFindRestSite
value=double
/>
Documentation (element)
Units: Proportion
Probability that the mosquito escapes host and finds a resting place after biting
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Probability of mosquito successfully resting after finding a resting site
→ scenario → interventions → addNonHumanHosts → nonHumanHosts → description → anopheles → mosqProbResting
<mosqProbResting
value=double
/>
Documentation (element)
Units: Proportion
Probability of mosquito successfully resting after finding a resting site
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Probability of mosquito successfully resting after finding a resting site
→ scenario → interventions → addNonHumanHosts → nonHumanHosts → description → anopheles → hostFecundityFactor
<hostFecundityFactor
value=double
/>
Documentation (element)
Units: Proportion
Multiplicative factor for the number of fertile eggs laid by a mosquito after biting this type of host, relative to an unprotected human.
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Vector trap intervention deployment
→ scenario → interventions → addNonHumanHosts → nonHumanHosts → timed
<timed>
IN THIS ORDER:
| ( <deploy ... /> )*
</timed>
Documentation (element)
List of timed vector trap intervention deployment
deploy
→ scenario → interventions → addNonHumanHosts → nonHumanHosts → timed → deploy
<deploy
time=string
lifespan=string
/>
Attributes
Time
time=string
Units: User defined (defauls to steps) Min: 0
Time at which this deployment occurs. See doc on intervention period and on monitoring/startDate for details of how times work. Can be specified in steps, days, years, or as a date (examples: 15t, 75d, 0.2y, 2000-03-16).
Lifespan
lifespan=string
Units: Steps or Days or Years
Life of the trap until replaced or removed, e.g. "73t" or "1y". After this time period, these traps will be removed from the simulation. New deployments do not automatically remove old traps. Existing traps cannot be refurbished in the model. It may make sense to make the end-of-life coincide with a new deployment.
Human-specific interventions
→ scenario → interventions → human
<human>
IN THIS ORDER:
| ( <component ... /> )+
| ( <deployment ... /> )*
</human>
Documentation (element)
Encapsulates all interventions whose effects are specific to the human host: any interventions where target humans may be selected via population-coverage, age limits and sub-population membership.
Component
→ scenario → interventions → human → component
<component
id=string
[ name=string ]
>
IN THIS ORDER:
| EXACTLY ONE OF:
| | <screen ... />
| | <treatSimple ... />
| | <treatPKPD ... />
| | <decisionTree ... />
| | <PEV ... />
| | <BSV ... />
| | <TBV ... />
| | <ITN ... />
| | <IRS ... />
| | <GVI ... />
| | [ <recruitmentOnly ... /> ]
| | <clearImmunity ... />
| [ <subPopRemoval ... /> ]
</component>
- screen
- treatSimple
- treatPKPD
- decisionTree
- PEV
- BSV
- TBV
- ITN
- IRS
- GVI
- recruitmentOnly
- clearImmunity
- subPopRemoval
Documentation (element)
A parameterisation of an effect achieved by one component of an intervention. (An intervention is described as the effects of a set of components plus deployments of those components. This describes the components individually, not deployments or which components comprise an intervention.)
Each element describes one component: its effects, decay of the(se) effect(s), and related stuff (e.g. description of indirect decay and of usage levels).
Different interventions can deploy the same component to the same perso. In most cases this will just deploy a fresh instance (e.g. a new bed net will replace the old (nobody uses multiple bed nets), or a new drug dose will act on top of previous doses, or in the case of a vaccine, effect depends on the total number of previous inoculations (including from other interventions).
Where multiple components of the same type (but with different ids) are deployed (whether within a single intervention or by multiple interventions), they act independently (e.g. two bed nets deployed to a single host would act to reduce attractiveness or survival of mosquitoes biting that host twice — this may be useful to simulate some novel vector intervention since the two nets may have separate parameters).
Attributes
Component identifier
id=string
A short name or code identifying the intervention component (used to refer to this component when describing an intervention). Also the id of the sub-population defined as those hosts who have received this intervention and who haven't subsequently been removed from the sub-population.
Name of component
name=string
An informal name/description for the component
screen
→ scenario → interventions → human → component → screen
<screen
diagnostic=string
>
IN THIS ORDER:
| ( <positive ... /> )*
| ( <negative ... /> )*
</screen>
Documentation (type)
This can be combined with MDA to achieve mass screen and treat (MSAT) or other types of mass screening intervention.
When deployed to a host, this simulates a test of patent malaria (microscopy, RDT or some such), then triggers deployment of whichever intervention components are configured (deployments for both positive and negative test outcomes can be configured).
The use of the screening itself is reported (if enabled), but not the outcome. Deployment of interventions triggered by the screening may be reported, however.
Attributes
Name of diagnostic
diagnostic=string
Name of a parameterised diagnostic (see scenario/diagnostics).
positive
→ scenario → interventions → human → component → screen → positive
<positive
id=string
/>
Documentation (type)
The list of components deployed to eligible humans.
Attributes
Identifier
id=string
The identifier (short name) of a component.
negative
→ scenario → interventions → human → component → screen → negative
<negative
id=string
/>
Documentation (type)
The list of components deployed to eligible humans.
Attributes
Identifier
id=string
The identifier (short name) of a component.
treatSimple
→ scenario → interventions → human → component → treatSimple
<treatSimple
durationLiver=string
durationBlood=string
/>
Documentation (type)
Simple treatment model, targetting liver- and/or blood-stage infections. This is all-or-nothing treatment which, when deploymed, completely clears all infections of the targetted stages. This makes it unsuitable for modeling resistance, but suitable for use with simple infection models.
Infections are considered liver-stage when less than five days old and blood-stage after that. Effects are described independently for the two stages.
Attributes
Length of liver-stage effect
durationLiver=string
Units: User defined
Controls action on liver-stage infections. 0 means no action, -1 step is a compatibility option to act like treatment before schema version 32 (which removed infections retrospectively), 1 step or any duration which equals some whole number of steps n>0 means to clear all liver-stage infections found on the next 1 or n steps. Note on -1 compatibility option: the main difference to 1 step (clearing on the next timestep) is that parasite densities will be reduced immediately, and thus from the point of view of surveys and mass screen and treat interventions a peak in density which is immediately treated through case management will not be seen. Can be specified in steps (e.g. 1t, -1t) or days (e.g. 5d).
Length of blood-stage effect
durationBlood=string
Units: User defined
Controls action on blood-stage infections. 0 means no action, -1 step is a compatibility option to act like treatment before schema version 32 (which removed infections retrospectively), 1 step or any duration which equals some whole number of steps n>0 means to clear all blood-stage infections found on the next 1 or n steps. Note on -1 compatibility option: the main difference to 1 step (clearing on the next timestep) is that parasite densities will be reduced immediately, and thus from the point of view of surveys and mass screen and treat interventions a peak in density which is immediately treated through case management will not be seen. Can be specified in steps (e.g. 1t, -1t) or days (e.g. 5d).
treatPKPD
→ scenario → interventions → human → component → treatPKPD
<treatPKPD
schedule=string
dosage=string
[ delay_h=double ] DEFAULT VALUE 0
/>
Documentation (type)
A command to administer drugs according to a given schedule and dosage table, optionally with a delay.
Attributes
Name of treatment schedule
schedule=string
The name of a schedule to use for treatment.
Name of dosage table
dosage=string
The name of a dosage table to use for treatment.
Delay (hours)
delay_h=double
Default value: 0
Optionally, this can be given to delay the start of treatment by a given number of hours. If not specified, treatment is not delayed. If a delay is given, all medications within the treatment schedule used are delayed by this number of hours.
decisionTree
→ scenario → interventions → human → component → decisionTree
<decisionTree
[ name=string ]
>
EXACTLY ONE OF:
| <multiple ... />
| <caseType ... />
| <diagnostic ... />
| <fever ... />
| <random ... />
| <age ... />
| <noTreatment ... />
| ( <report ... /> )+
| <treatFailure ... />
| ( <treatPKPD ... /> )+
| ( <treatSimple ... /> )+
| ( <deploy ... /> )+
</decisionTree>
- multiple
- caseType
- diagnostic
- fever
- random
- age
- noTreatment
- report
- treatFailure
- treatPKPD
- treatSimple
- deploy
Documentation (type)
Describes how "decisions" are made, both probabilistically and deterministically, and what actions are carried out.
Quantities may also be reported as a side effect of decisions made in the tree, for example the number of diagnostics used.
Attributes
Name
name=string
An optional piece of documentation attached to this node.
Vaccines
→ scenario → interventions → human → component → PEV
<PEV>
IN THIS ORDER:
| <decay ... />
| <efficacyB ... />
| ( <initialEfficacy ... /> )*
| ( <phenotype ... /> )*
</PEV>
Documentation (element)
Pre-erythrocytic vaccine (PEV): prevents a proportion of infections from commencing.
Documentation (type)
Description of a vaccine's effect
Decay of effect
→ scenario → interventions → human → component → PEV → decay
<decay
function=("constant" or "step" or "linear" or "exponential" or "weibull" or "hill" or "smooth-compact" or "plus" or "minus" or "divides" or "multiplies")
[ L=string ]
[ k=double ] DEFAULT VALUE 1.0
[ CV=double ] DEFAULT VALUE 0
[ increasing=boolean ] DEFAULT VALUE false
[ initialEfficacy=double ] DEFAULT VALUE 1
[ rho=double ]
[ halflife_short=string ]
[ halflife_long=string ]
>
IN THIS ORDER:
| <decay ... />
</decay>
Documentation (element)
Specification of decay of efficacy. Documentation: see DecayFunction type or https://github.com/SwissTPH/openmalaria/wiki/ModelDecayFunctions
Documentation (type)
Specification of decay or survival of a parameter.
Attributes
function
function=("constant" or "step" or "linear" or "exponential" or "weibull" or "hill" or "smooth-compact" or "plus" or "minus" or "divides" or "multiplies")
Units: None Min: 0 Max: 1
Determines which decay function to use. Available decay functions, for age t in years: constant: 1 step: 1 for t less than L, otherwise 0 linear: 1 - t/L for t less than L, otherwise 0 exponential: exp( - t/L * log(2) ) weibull: exp( -(t/L)^k * log(2) ) hill: 1 / (1 + (t/L)^k) smooth-compact: exp( k - k / (1 - (t/L)^2) ) for t less than L, otherwise 0
L
L=string
Units: User-defined (defaults to years) Min: 0
(Time) scale parameter of distribution: this is either the age of complete decay (smooth-compact, step and linear functions) or the age at which the parameter has decayed to half its original value (exponential, weibull and hill). Not used when function="constant" (i.e. no decay). This value can be specified in years, days or steps (e.g. 2y, 180d or 100t). When the unit is not specified years are assumed. The value is used without rounding except when sampling an age of decay, when the rounding happens as late as possible.
k
k=double
Units: none Min: 0
Default value: 1.0
Shape parameter of distribution. If not specified, default value of 1 is used. Meaning depends on function; not used in some cases.
Coefficient of Variation
CV=double
Min: 0
Default value: 0
If CV is non-zero, heterogeneity of decay is introduced via a random variable sampled from the log-normal distribution. This distribution is parameterised with mean=1 and CV as given. The effective age of decay is the real age multiplied by this variable (for decay functions with a half-life, this is equivalent to dividing the half-life by the variable).
L
increasing=boolean
Units: User-defined (defaults to years) Min: 0
Default value: false
(Boolean) If True, this tells OpenMalaria to use the complement of the DecayFunction defined as 1-f(x). This is useful to model increasing functions that will "decay" to 1. This only works if f(x) is contained between 0 and 1.
initialEfficacy
initialEfficacy=double
Default value: 1
biphasic: Efficacy between 0 and 1.
rho
rho=double
biphasic: Proportion between 0 and 1, proportion of the response that is short-lived.
halflife_short
halflife_short=string
biphasic: halflife of short lived component (default to years).
halflife_long
halflife_long=string
biphasic: halflife of long lived component (default to years).
Variance parameter for vaccine efficacy
→ scenario → interventions → human → component → PEV → efficacyB
<efficacyB
value=double
/>
Documentation (element)
Units: Positive real Min: 0.001 Max: 1.00E+06
Measure of variation in vaccine efficacy: efficacy is sampled from a beta distribution with efficacyB its beta parameter and its alpha parameter fixed such that the mean is that given by initialEfficacy.
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Initial mean efficacy
→ scenario → interventions → human → component → PEV → initialEfficacy
<initialEfficacy
value=double
/>
Documentation (element)
Units: dimensionless Min: 0 Max: 1
Mean efficacy values before decay (see efficacyB and decay parameter descriptions for sampling and decay). The i-th value in this list is used for the efficacy of the vaccine after the i-th dose. Where more doses are given than there are values in this list, the last value is repeated.
Attributes
Input parameter value
value=double
A double-precision floating-point value.
PD parameters for some allele / resistance phenotype
→ scenario → interventions → human → component → PEV → phenotype
<phenotype
[ name=string ]
>
IN THIS ORDER:
| ( <restriction ... /> )*
| ( <initialEfficacy ... /> )+
</phenotype>
Documentation (element)
Pharmaco-Dynamic parameters for some resistance phenotype.
To model resistance to this drug, describe multiple infection phenotypes (with respect to these PD parameters) and list one or more "restrict" elements for each phenotype.
Loci are specified elsewhere. Multiple loci may influence the action of a single drug and each locus may influence multiple drugs.
Attributes
Name of phenotype
name=string
Name of the phenotype; for documentation use only.
restriction
→ scenario → interventions → human → component → PEV → phenotype → restriction
<restriction
onLocus=string
toAllele=string
/>
Documentation (type)
Specifies the mapping from genotype to phenotype. For each drug type, if only one phenotype is present, restrictions need not be specified, but otherwise restrictions must be specified.
The set of loci affecting phenotypes of this drug's action must be fixed for any drug type. Each phenotype must list, for each of these loci, a restriction to one or more alleles under the locus.
Attributes
Locus relevant to the mapping of alleles to this phenotype
onLocus=string
A locus under which only a restricted set of alleles map to this phenotype.
Alleles mapping to this phenotype
toAllele=string
One allele of a locus upon which phenotype choice depends. If multiple alleles under this locus should map to the same phenotype, repeat the whole "restriction onLocus..." element.
Initial mean efficacy
→ scenario → interventions → human → component → PEV → phenotype → initialEfficacy
<initialEfficacy
value=double
/>
Documentation (element)
Units: dimensionless Min: 0 Max: 1
Mean efficacy values before decay (see efficacyB and decay parameter descriptions for sampling and decay). The i-th value in this list is used for the efficacy of the vaccine after the i-th dose. Where more doses are given than there are values in this list, the last value is repeated.
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Vaccines
→ scenario → interventions → human → component → BSV
<BSV>
IN THIS ORDER:
| <decay ... />
| <efficacyB ... />
| ( <initialEfficacy ... /> )*
| ( <phenotype ... /> )*
</BSV>
Documentation (element)
Blood-stage vaccine (BSV): acts as a killing factor on blood-stage parasites. Exact action depends on the within host model.
Documentation (type)
Description of a vaccine's effect
Vaccines
→ scenario → interventions → human → component → TBV
<TBV>
IN THIS ORDER:
| <decay ... />
| <efficacyB ... />
| ( <initialEfficacy ... /> )*
| ( <phenotype ... /> )*
</TBV>
Documentation (element)
Transmission-blocking vaccine (TBV): one minus this scales the probability of transmission to mosquitoes
Documentation (type)
Description of a vaccine's effect
Bed nets
→ scenario → interventions → human → component → ITN
<ITN>
IN THIS ORDER:
| [ <usage ... /> ]
| <holeRate ... />
| <ripRate ... />
| <ripFactor ... />
| <initialInsecticide ... />
| <insecticideDecay ... />
| <attritionOfNets ... />
| ( <anophelesParams ... /> )+
</ITN>
- usage
- holeRate
- ripRate
- ripFactor
- initialInsecticide
- insecticideDecay
- attritionOfNets
- anophelesParams
Documentation (element)
Description of bed-net interventions (ITNs, LLINs).
Proportion of time nets are used by humans
→ scenario → interventions → human → component → ITN → usage
<usage
value=double
/>
Documentation (element)
Units: dimensionless Min: 0 Max: 1
Usage of nets by humans, from 0 to 1.
At the moment this is constant across humans and deterministic: relative attractiveness and survival factors are base*(1-usagepropActing) + intervention_factorusage*propActing.
See also "propActing" (proportion of bits for which net acts).
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Rate at which holes are made
→ scenario → interventions → human → component → ITN → holeRate
<holeRate
[ CV=double ]
[ distr=("const" or "lognormal" or "gamma") ] DEFAULT VALUE const
[ variance=double ]
mean=double
/>
Documentation (element)
Units: Holes per annum Min: 0
The rate at which new holes are made in nets.
nHoles(t) = nHoles(t-1) + X where X~Pois(R/T) where T is the number of time-steps per year. R is sampled from log-normal: R ~ log N( log(mean)-sigma²/2, sigma² ) and is covariant with ripRate and insecticideDecay. (To be exact, a single Gaussian sample is taken, adjusted for each sigma then exponentiated.)
Documentation (type)
A parameter with optional log-normal heterogeneity.
The mean value must be specified. Optionally, a distribution ("distr") and coefficient of variation ("CV") may be specified.
Documentation (base type)
A parameter with optional heterogeneity.
The mean cannot be specified (unless this type is extended). Optionally, a distribution ("distr") and coefficient of variation ("CV") may be specified.
Attributes
Coefficient of variation
CV=double
Units: unitless
The (linear) coefficient of variation. This value must be specified when a (non-constant) distribution is used. Note: since version 46, variance can be used instead. Note that specifying CV="0" has the same effect as distr="const" and disables sampling of this parameter, even if distr is not "const".
Distribution
distr=("const" or "lognormal" or "gamma")
Default value: const
To allow heterogeneity, a distribution must be specified. Valid options are as follows. "const": no variation or sampling. Specifying distr="const" has the same effect as not specifying distr at all. "lognormal": the parameter is sampled from a log-normal distribution. Note that the "mean" and "CV" values are linear (arithmetic) properties of the distribution and not log-space properties.
Coefficient of variation
variance=double
Units: unitless
The variance parameter of the distirbution. This value can be specified when a (non-constant) distribution is used. Note that specifying variance="0" has the same effect as distr="const" and disables sampling of this parameter, even if distr is not "const".
mean
mean=double
The (linear) mean value.
Rate at which holes are enlarged
→ scenario → interventions → human → component → ITN → ripRate
<ripRate
[ CV=double ]
[ distr=("const" or "lognormal" or "gamma") ] DEFAULT VALUE const
[ variance=double ]
mean=double
/>
Documentation (element)
Units: Rips per existing hole per annum Min: 0
Each existing hole has a probability of being ripped bigger according to a Poisson process with this rate as (only) parameter.
New rips occur in a net at rate X~Pois(h×R/T) where h is the number of existing holes and T the number of time-steps per year. R is sampled from log-normal: R ~ log N( log(mean)-sigma²/2, sigma² ) and is covariant with holeRate and insecticideDecay. (To be exact, a single Gaussian sample is taken, adjusted for the each and sigma then exponentiated.)
Documentation (type)
A parameter with optional log-normal heterogeneity.
The mean value must be specified. Optionally, a distribution ("distr") and coefficient of variation ("CV") may be specified.
Documentation (base type)
A parameter with optional heterogeneity.
The mean cannot be specified (unless this type is extended). Optionally, a distribution ("distr") and coefficient of variation ("CV") may be specified.
Attributes
Coefficient of variation
CV=double
Units: unitless
The (linear) coefficient of variation. This value must be specified when a (non-constant) distribution is used. Note: since version 46, variance can be used instead. Note that specifying CV="0" has the same effect as distr="const" and disables sampling of this parameter, even if distr is not "const".
Distribution
distr=("const" or "lognormal" or "gamma")
Default value: const
To allow heterogeneity, a distribution must be specified. Valid options are as follows. "const": no variation or sampling. Specifying distr="const" has the same effect as not specifying distr at all. "lognormal": the parameter is sampled from a log-normal distribution. Note that the "mean" and "CV" values are linear (arithmetic) properties of the distribution and not log-space properties.
Coefficient of variation
variance=double
Units: unitless
The variance parameter of the distirbution. This value can be specified when a (non-constant) distribution is used. Note that specifying variance="0" has the same effect as distr="const" and disables sampling of this parameter, even if distr is not "const".
mean
mean=double
The (linear) mean value.
Rip factor
→ scenario → interventions → human → component → ITN → ripFactor
<ripFactor
value=double
/>
Documentation (element)
Units: none Min: 0
This factor expresses how important rips are in increasing the hole.
The hole index of a net is h + F×x where h and x are the total numbers of holes and rips respectively and F is the rip factor.
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Initial insecticide
→ scenario → interventions → human → component → ITN → initialInsecticide
<initialInsecticide
mean=double
[ SD=double ]
[ distr=("const" or "normal") ] DEFAULT VALUE const
/>
Documentation (element)
Units: mg/m² Min: 0
The insecticide concentration of new nets is Gaussian distributed with mean "mu" and a standard deviation "sigma". The standard deviation should be small relative to the mean to avoid negative initial concentration. Any negative values sampled are set to 0.
Documentation (type)
A parameter with optional heterogeneity.
Optionally, a distribution ("distr") and standard of deviation ("SD") may be specified.
Attributes
mean
mean=double
The mean value.
standard deviation
SD=double
The standard deviation of variates.
Distribution
distr=("const" or "normal")
Default value: const
To allow heterogeneity, a distribution must be specified. Valid options are as follows. "const": no variation or sampling. Specifying distr="const" has the same effect as not specifying distr at all. "normal": the parameter is sampled from a normal distribution.
Decay of insecticide
→ scenario → interventions → human → component → ITN → insecticideDecay
<insecticideDecay
function=("constant" or "step" or "linear" or "exponential" or "weibull" or "hill" or "smooth-compact" or "plus" or "minus" or "divides" or "multiplies")
[ L=string ]
[ k=double ] DEFAULT VALUE 1.0
[ CV=double ] DEFAULT VALUE 0
[ increasing=boolean ] DEFAULT VALUE false
[ initialEfficacy=double ] DEFAULT VALUE 1
[ rho=double ]
[ halflife_short=string ]
[ halflife_long=string ]
>
IN THIS ORDER:
| <decay ... />
</insecticideDecay>
Documentation (element)
Units: none
Decay curve for insecticide content of nets. Documentation: see DecayFunction type or https://github.com/SwissTPH/openmalaria/wiki/ModelDecayFunctions
The distribution of decay rates over nets is covariant with the distribution of ripRate and holeRate over nets. This distribution is generated by taking one sample per net from a Gaussian distribution with mean 0 and standard deviation 1. For each variable, the sample is multiplied by the respective sigma and a constant added such that, once exponentiated, the mean of the variable over nets is 1. The variable is then exponentiated and multiplied by the required mean rate for the respective variable.
Documentation (type)
Specification of decay or survival of a parameter.
Attributes
function
function=("constant" or "step" or "linear" or "exponential" or "weibull" or "hill" or "smooth-compact" or "plus" or "minus" or "divides" or "multiplies")
Units: None Min: 0 Max: 1
Determines which decay function to use. Available decay functions, for age t in years: constant: 1 step: 1 for t less than L, otherwise 0 linear: 1 - t/L for t less than L, otherwise 0 exponential: exp( - t/L * log(2) ) weibull: exp( -(t/L)^k * log(2) ) hill: 1 / (1 + (t/L)^k) smooth-compact: exp( k - k / (1 - (t/L)^2) ) for t less than L, otherwise 0
L
L=string
Units: User-defined (defaults to years) Min: 0
(Time) scale parameter of distribution: this is either the age of complete decay (smooth-compact, step and linear functions) or the age at which the parameter has decayed to half its original value (exponential, weibull and hill). Not used when function="constant" (i.e. no decay). This value can be specified in years, days or steps (e.g. 2y, 180d or 100t). When the unit is not specified years are assumed. The value is used without rounding except when sampling an age of decay, when the rounding happens as late as possible.
k
k=double
Units: none Min: 0
Default value: 1.0
Shape parameter of distribution. If not specified, default value of 1 is used. Meaning depends on function; not used in some cases.
Coefficient of Variation
CV=double
Min: 0
Default value: 0
If CV is non-zero, heterogeneity of decay is introduced via a random variable sampled from the log-normal distribution. This distribution is parameterised with mean=1 and CV as given. The effective age of decay is the real age multiplied by this variable (for decay functions with a half-life, this is equivalent to dividing the half-life by the variable).
L
increasing=boolean
Units: User-defined (defaults to years) Min: 0
Default value: false
(Boolean) If True, this tells OpenMalaria to use the complement of the DecayFunction defined as 1-f(x). This is useful to model increasing functions that will "decay" to 1. This only works if f(x) is contained between 0 and 1.
initialEfficacy
initialEfficacy=double
Default value: 1
biphasic: Efficacy between 0 and 1.
rho
rho=double
biphasic: Proportion between 0 and 1, proportion of the response that is short-lived.
halflife_short
halflife_short=string
biphasic: halflife of short lived component (default to years).
halflife_long
halflife_long=string
biphasic: halflife of long lived component (default to years).
Attrition of nets
→ scenario → interventions → human → component → ITN → attritionOfNets
<attritionOfNets
function=("constant" or "step" or "linear" or "exponential" or "weibull" or "hill" or "smooth-compact" or "plus" or "minus" or "divides" or "multiplies")
[ L=string ]
[ k=double ] DEFAULT VALUE 1.0
[ CV=double ] DEFAULT VALUE 0
[ increasing=boolean ] DEFAULT VALUE false
[ initialEfficacy=double ] DEFAULT VALUE 1
[ rho=double ]
[ halflife_short=string ]
[ halflife_long=string ]
>
IN THIS ORDER:
| <decay ... />
</attritionOfNets>
Documentation (element)
Units: dimensionless
Specifies the rate at which nets are disposed of over time. Documentation: see DecayFunction type or https://github.com/SwissTPH/openmalaria/wiki/ModelDecayFunctions
In the current model, nets are disposed of randomly (no correlation with state of decay) such that the chance of each net surviving until age t is the value of this decay function at time t. Equivalently (where a large number of nets are distributed at the same time), the proportion of nets remaining in use should match this decay function over time.
Humans are removed from the intervention component's sub-population on disposal (attrition) of their nets. Currently this event is not reported.
Documentation (type)
Specification of decay or survival of a parameter.
Attributes
function
function=("constant" or "step" or "linear" or "exponential" or "weibull" or "hill" or "smooth-compact" or "plus" or "minus" or "divides" or "multiplies")
Units: None Min: 0 Max: 1
Determines which decay function to use. Available decay functions, for age t in years: constant: 1 step: 1 for t less than L, otherwise 0 linear: 1 - t/L for t less than L, otherwise 0 exponential: exp( - t/L * log(2) ) weibull: exp( -(t/L)^k * log(2) ) hill: 1 / (1 + (t/L)^k) smooth-compact: exp( k - k / (1 - (t/L)^2) ) for t less than L, otherwise 0
L
L=string
Units: User-defined (defaults to years) Min: 0
(Time) scale parameter of distribution: this is either the age of complete decay (smooth-compact, step and linear functions) or the age at which the parameter has decayed to half its original value (exponential, weibull and hill). Not used when function="constant" (i.e. no decay). This value can be specified in years, days or steps (e.g. 2y, 180d or 100t). When the unit is not specified years are assumed. The value is used without rounding except when sampling an age of decay, when the rounding happens as late as possible.
k
k=double
Units: none Min: 0
Default value: 1.0
Shape parameter of distribution. If not specified, default value of 1 is used. Meaning depends on function; not used in some cases.
Coefficient of Variation
CV=double
Min: 0
Default value: 0
If CV is non-zero, heterogeneity of decay is introduced via a random variable sampled from the log-normal distribution. This distribution is parameterised with mean=1 and CV as given. The effective age of decay is the real age multiplied by this variable (for decay functions with a half-life, this is equivalent to dividing the half-life by the variable).
L
increasing=boolean
Units: User-defined (defaults to years) Min: 0
Default value: false
(Boolean) If True, this tells OpenMalaria to use the complement of the DecayFunction defined as 1-f(x). This is useful to model increasing functions that will "decay" to 1. This only works if f(x) is contained between 0 and 1.
initialEfficacy
initialEfficacy=double
Default value: 1
biphasic: Efficacy between 0 and 1.
rho
rho=double
biphasic: Proportion between 0 and 1, proportion of the response that is short-lived.
halflife_short
halflife_short=string
biphasic: halflife of short lived component (default to years).
halflife_long
halflife_long=string
biphasic: halflife of long lived component (default to years).
anophelesParams
→ scenario → interventions → human → component → ITN → anophelesParams
<anophelesParams
mosquito=string
[ propActive=double ] DEFAULT VALUE 1
>
IN THIS ORDER:
| [ <holeIndexMax ... /> ]
| EXACTLY ONE OF:
| | <deterrency ... />
| | <twoStageDeterrency ... />
| EXACTLY ONE OF:
| | <preprandialKillingEffect ... />
| | <preprandialKillingEffectLogit ... />
| EXACTLY ONE OF:
| | <postprandialKillingEffect ... />
| | <postprandialKillingEffectLogit ... />
| EXACTLY ONE OF:
| | [ <fecundityReduction ... /> ]
| | [ <fecundityReductionLogit ... /> ]
</anophelesParams>
- holeIndexMax
- deterrency
- twoStageDeterrency
- preprandialKillingEffect
- preprandialKillingEffectLogit
- postprandialKillingEffect
- postprandialKillingEffectLogit
- fecundityReduction
- fecundityReductionLogit
Attributes
Mosquito species
mosquito=string
Name of the affected anopheles-mosquito species.
Proportion of bites for which net acts
propActive=double
Units: dimensionless Min: 0 Max: 1
Default value: 1
Deprecated: propActive can still be used but its value must be set to either 0 or 1. Any other value will result in an error at initialization. The proportion of bites, when nets are in use, for which the net has any action whatsoever on the mosquito. At the moment this is constant across humans and deterministic: relative attractiveness and survival factors are base*(1-usagepropActing) + intervention_factorusage*propActing. See also "usage" (proportion of time nets are used by humans).
maximum of holed surface area that has an effect (comparable to no net)
→ scenario → interventions → human → component → ITN → anophelesParams → holeIndexMax
<holeIndexMax
value=double
/>
Documentation (element)
Units: in same unit as holeIndex
Used by logit attacking and killing models only, holeIndexMax is a user defined maximum hole index (typically, the total surface area of a net).
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Relative attractiveness
→ scenario → interventions → human → component → ITN → anophelesParams → deterrency
<deterrency
insecticideFactor=double
insecticideScalingFactor=double
holeFactor=double
interactionFactor=double
holeScalingFactor=double
/>
Documentation (element)
Units: dimensionless Min: 0 Max: 1
Effect of net on attractiveness of humans to mosquitoes relative to an unprotected adult human. Parameterisations should take into account that mosquitoes do not always bite indoors.
Attractiveness of the human is multiplied by exp(log(H)×h + log(P)×p + log(I)×h×p where H, P and I are the hole, insecticide and interaction factors respectively, h=exp(-holeIndex×holeScalingFactor) and p=1−exp(-insecticideContent×insecticideScalingFactor).
Attributes
Insecticide factor
insecticideFactor=double
Units: none Max: 1
Value expected to be at least 0. Negative values are not necessarily invalid, but allow nets to increase transmission.
Insecticide scaling factor
insecticideScalingFactor=double
Units: none Min: 0
Hole factor
holeFactor=double
Units: none Max: 1
Value expected to be at least 0. Negative values are not necessarily invalid, but allow nets to increase transmission.
Interaction factor
interactionFactor=double
Units: none Max: 1
holeFactor + insecticideFactor + interactionFactor must not be greater than 1, and is expected to be at least 0. A negative value is not necessarily invalid, but allows nets to increase transmission.
Hole scaling factor
holeScalingFactor=double
Units: none Min: 0
Relative attractiveness
→ scenario → interventions → human → component → ITN → anophelesParams → twoStageDeterrency
<twoStageDeterrency>
IN THIS ORDER:
| EXACTLY ONE OF:
| | <entering ... />
| | <enteringLogit ... />
| EXACTLY ONE OF:
| | <attacking ... />
| | <attackingLogit ... />
</twoStageDeterrency>
Documentation (element)
Units: dimensionless
Effect of net on attractiveness of humans to mosquitoes relative to an unprotected adult human. Parameterisations should take into account that mosquitoes do not always bite indoors.
This deterrency model multiplies human attractiveness by pEnt×pAtt.
Deterrency: entering
→ scenario → interventions → human → component → ITN → anophelesParams → twoStageDeterrency → entering
<entering
insecticideFactor=double
insecticideScalingFactor=double
/>
Documentation (element)
Units: dimensionless
pEnt represents the relative probability of entering due to ITNs: pEnt = exp(log(P)×p) where P is the insecticide factor and p=1−exp(-insecticideContent×insecticideScalingFactor).
Attributes
Insecticide factor
insecticideFactor=double
Units: none Max: 1
Value expected to be at least 0. Negative values are not necessarily invalid, but allow nets to increase transmission.
Insecticide scaling factor
insecticideScalingFactor=double
Units: none Min: 0
Deterrency: entering (logit model)
→ scenario → interventions → human → component → ITN → anophelesParams → twoStageDeterrency → enteringLogit
<enteringLogit
baseFactor=double
insecticideFactor=double
/>
Documentation (element)
Units: dimensionless
pEnt represents the relative probability of entering due to insecticide in the hut: pEnt = exp(logit.pEnt) / (exp(logit.pEnt) + 1) logit.pEnt = B + P * p where B is the basefactor (without net); P is insecticide factor, and p = log(insecticideContent+1). Without a net, probability of entering a house is pEnt0 = exp(logit.pEnt0) / (exp(logit.pEnt0) + 1) logit.pEnt0 = B Entering of mosquitoes is adjusted via multiplication by pEnt / pEnt0. To keep this in the range [0,1], we (normally) require that pEnt ≤ pEnt0 and thus P ≤ 0 and give a warning if this is not fulfilled.
Attributes
Base factor
baseFactor=double
Units: none
See parent element documentation
Insecticide factor
insecticideFactor=double
Units: none
See parent element documentation
Deterrency: attacking
→ scenario → interventions → human → component → ITN → anophelesParams → twoStageDeterrency → attacking
<attacking
insecticideFactor=double
insecticideScalingFactor=double
holeFactor=double
interactionFactor=double
holeScalingFactor=double
baseFactor=double
/>
Documentation (element)
Units: dimensionless
pAtt represents the relative probability of attacking a human after entering a house due to ITNs (i.e. of feeding/dying vs. flying off): pAtt = B + H×h + P×p + I×h×p where B is the base (without net) probability; H, P and I are the hole, insecticide and interaction factors respectively, h=exp(-holeIndex × holeScalingFactor) and p=1 - exp(-insecticideContent × insecticideScalingFactor).
Attributes
Insecticide factor
insecticideFactor=double
Units: none Max: 1
Value expected to be at least 0. Negative values are not necessarily invalid, but allow nets to increase transmission.
Insecticide scaling factor
insecticideScalingFactor=double
Units: none Min: 0
Hole factor
holeFactor=double
Units: none Max: 1
Value expected to be at least 0. Negative values are not necessarily invalid, but allow nets to increase transmission.
Interaction factor
interactionFactor=double
Units: none Max: 1
holeFactor + insecticideFactor + interactionFactor must not be greater than 1, and is expected to be at least 0. A negative value is not necessarily invalid, but allows nets to increase transmission.
Hole scaling factor
holeScalingFactor=double
Units: none Min: 0
Probability of mosquito death without intervention
baseFactor=double
Units: dimensionless
Deterrency: attacking (logit model)
→ scenario → interventions → human → component → ITN → anophelesParams → twoStageDeterrency → attackingLogit
<attackingLogit
baseFactor=double
insecticideFactor=double
holeFactor=double
interactionFactor=double
/>
Documentation (element)
Units: dimensionless
pAtt represents the relative probability of attacking a human after entering a house due to ITNs (i.e. of feeding/dying vs. flying off): pAtt = exp(logit.pAtt) / (exp(logit.pAtt) + 1) logit.pAtt = B + H×min(h, hMax) + P×p + I×min(h, hMax)×p where B is the base factor (without net); H, P and I are the hole, insecticide and interaction factors respectively, and: h = log(holeIndex + 1) p = log(insecticideContent + 1) Without a net, probability of attacking a human after entering a house is pAtt0 = exp(logit.pAtt0) / (exp(logit.pAtt0) + 1) logit.pAtt0 = B + H×hMax where hMax=log(holeIndexMax + 1) and holeIndexMax is a user defined maximum hole index (typically, the total surface area of a net). Attacking of mosquitoes is adjusted via multiplication by pAtt / pAtt0. This may be larger and smaller than 1 (but will not be negative). By definition (through the logit transformation) pAtt0 > 0.
Attributes
Base factor
baseFactor=double
Units: dimensionless
Logit of the probability (e.g. of death, of entry, of attacking) without intervention.
Insecticide factor
insecticideFactor=double
Units: none
Coefficient of log(insecticide content+1) in a generalized linear model with logit link function.
Hole factor
holeFactor=double
Units: none
Coefficient of log(total holed surface area (in cm2) +1) in a generalized linear model with logit link function.
Interaction factor
interactionFactor=double
Units: none
Coefficient of the interaction term of log(total holed surface area (in cm2) +1) with log(insecticide content+1) in a generalized linear model with logit link function.
Pre-prandial killing effect
→ scenario → interventions → human → component → ITN → anophelesParams → preprandialKillingEffect
<preprandialKillingEffect
insecticideFactor=double
insecticideScalingFactor=double
holeFactor=double
interactionFactor=double
holeScalingFactor=double
baseFactor=double
/>
Documentation (element)
Units: dimensionless Min: 0 Max: 1
Effect of net on survival mosquitoes as they seek to bite a human after choosing that human, relative to the same person not sleeping under a net. Parameterisations should take into account that mosquitoes do not always bite indoors.
Killing proportion is calculated as K = B + H×h + P×p + I×h×p where B is the base (without net) probability of death, H, P and I are the hole, insecticide and interaction factors respectively, h=exp(-holeIndex×holeScalingFactor) and p=1−exp(-insecticideContent×insecticideScalingFactor).
Survival of mosquitoes is adjusted via multiplication by (1−K) / (1−B). To keep this in the range [0,1], we require that B+H ≤ 1, B+P ≤ 1, B+H+P+I ≤ 1, H ≥ 0, P ≥ 0 and H+P+I ≥ 0.
Attributes
Insecticide factor
insecticideFactor=double
Units: none Max: 1
Value expected to be at least 0. Negative values are not necessarily invalid, but allow nets to increase transmission.
Insecticide scaling factor
insecticideScalingFactor=double
Units: none Min: 0
Hole factor
holeFactor=double
Units: none Max: 1
Value expected to be at least 0. Negative values are not necessarily invalid, but allow nets to increase transmission.
Interaction factor
interactionFactor=double
Units: none Max: 1
holeFactor + insecticideFactor + interactionFactor must not be greater than 1, and is expected to be at least 0. A negative value is not necessarily invalid, but allows nets to increase transmission.
Hole scaling factor
holeScalingFactor=double
Units: none Min: 0
Probability of mosquito death without intervention
baseFactor=double
Units: dimensionless
Pre-prandial killing effect (logit)
→ scenario → interventions → human → component → ITN → anophelesParams → preprandialKillingEffectLogit
<preprandialKillingEffectLogit
baseFactor=double
insecticideFactor=double
holeFactor=double
interactionFactor=double
/>
Documentation (element)
Units: dimensionless Min: 0 Max: 1
Effect of net on survival mosquitoes as they seek to bite a human
after choosing that human, relative to the same person not
sleeping under a net.
Killing proportion is calculated as
K=exp(logit.K)/(exp(logit.K)+1)
logit.K = B + H×min(h,hMax) + P×p + I×min(h,hMax)×p
where B is the basefactor (without net),
H, P and I are the hole, insecticide and interaction factors
respectively, h=log(holeIndex+1) and
p=log(insecticideContent+1).
Without a net, the killing proportion
K0=exp(logit.K0)/(exp(logit.K0)+1)
logit.K0 = B + H×hMax
where hMax=log(holeIndexMax+1) and holeIndexMax is a user defined maximum hole index (typically, the total surface area of a net).
Survival of mosquitoes is adjusted via multiplication by (1−K) / (1−K0).
To keep this in the range [0,1], we require that K ≥ K0. We enforce that P ≥ 0 (It would not make sense biologically if P were negative) and P+I*hMax ≥ 0 and H ≤ 0 and holeIndex ≤ holeIndexMax and give a warning if these conditions are not fulfilled.
Attributes
Base factor
baseFactor=double
Units: dimensionless
Logit of the probability (e.g. of death, of entry, of attacking) without intervention.
Insecticide factor
insecticideFactor=double
Units: none
Coefficient of log(insecticide content+1) in a generalized linear model with logit link function.
Hole factor
holeFactor=double
Units: none
Coefficient of log(total holed surface area (in cm2) +1) in a generalized linear model with logit link function.
Interaction factor
interactionFactor=double
Units: none
Coefficient of the interaction term of log(total holed surface area (in cm2) +1) with log(insecticide content+1) in a generalized linear model with logit link function.
Post-prandial killing effect
→ scenario → interventions → human → component → ITN → anophelesParams → postprandialKillingEffect
<postprandialKillingEffect
insecticideFactor=double
insecticideScalingFactor=double
holeFactor=double
interactionFactor=double
holeScalingFactor=double
baseFactor=double
/>
Documentation (element)
Units: dimensionless Min: 0 Max: 1
Effect of net on survival mosquitoes as they seek to escape from a human host and rest after a blood meal, relative to the same person not sleeping under a net. Parameterisations should take into account that mosquitoes do not always bite indoors.
Killing proportion is calculated as K = B + H×h + P×p + I×h×p where B is the base (without net) probability of death, H, P and I are the hole, insecticide and interaction factors respectively, h=exp(-holeIndex×holeScalingFactor) and p=1−exp(-insecticideContent×insecticideScalingFactor).
Survival of mosquitoes is adjusted via multiplication by (1−K) / (1−B). To keep this in the range [0,1], we require that B+H ≤ 1, B+P ≤ 1, B+H+P+I ≤ 1, H ≥ 0, P ≥ 0 and H+P+I ≥ 0.
Attributes
Insecticide factor
insecticideFactor=double
Units: none Max: 1
Value expected to be at least 0. Negative values are not necessarily invalid, but allow nets to increase transmission.
Insecticide scaling factor
insecticideScalingFactor=double
Units: none Min: 0
Hole factor
holeFactor=double
Units: none Max: 1
Value expected to be at least 0. Negative values are not necessarily invalid, but allow nets to increase transmission.
Interaction factor
interactionFactor=double
Units: none Max: 1
holeFactor + insecticideFactor + interactionFactor must not be greater than 1, and is expected to be at least 0. A negative value is not necessarily invalid, but allows nets to increase transmission.
Hole scaling factor
holeScalingFactor=double
Units: none Min: 0
Probability of mosquito death without intervention
baseFactor=double
Units: dimensionless
Post-prandial killing effect (logit)
→ scenario → interventions → human → component → ITN → anophelesParams → postprandialKillingEffectLogit
<postprandialKillingEffectLogit
baseFactor=double
insecticideFactor=double
holeFactor=double
interactionFactor=double
/>
Documentation (element)
Units: dimensionless Min: 0 Max: 1
Effect of net on survival mosquitoes as they seek to escape from a human host and rest after a blood meal, relative to the same person not sleeping under a net. Killing proportion is calculated as K=exp(logit.K)/(exp(logit.K)+1) logit.K = B + H×min(h,hMax) + P×p + I×min(h,hMax)×p where B is the basefactor (without net), H, P and I are the hole, insecticide and interaction factors respectively, h=log(holeIndex+1) and p=log(insecticideContent+1). Without a net, the killing proportion K0=exp(logit.K0)/(exp(logit.K0)+1) logit.K0 = B + H×hMax where hMax=log(holeIndexMax+1) and holeIndexMax is a user defined maximum hole index (typically, the total surface area of a net). Survival of mosquitoes is adjusted via multiplication by (1−K) / (1−K0). To keep this in the range [0,1], we require that K ≥ K0. We enforce that P ≥ 0 (It would not make sense biologically if P were negative) and P+I*hMax ≥ 0 and H ≤ 0 and holeIndex ≤ holeIndexMax and give a warning if these conditions are not fulfilled.
Attributes
Base factor
baseFactor=double
Units: dimensionless
Logit of the probability (e.g. of death, of entry, of attacking) without intervention.
Insecticide factor
insecticideFactor=double
Units: none
Coefficient of log(insecticide content+1) in a generalized linear model with logit link function.
Hole factor
holeFactor=double
Units: none
Coefficient of log(total holed surface area (in cm2) +1) in a generalized linear model with logit link function.
Interaction factor
interactionFactor=double
Units: none
Coefficient of the interaction term of log(total holed surface area (in cm2) +1) with log(insecticide content+1) in a generalized linear model with logit link function.
Fecundity reduction
→ scenario → interventions → human → component → ITN → anophelesParams → fecundityReduction
<fecundityReduction
insecticideFactor=double
insecticideScalingFactor=double
holeFactor=double
interactionFactor=double
holeScalingFactor=double
baseFactor=double
/>
Documentation (element)
Effect of net on fertility of mosquitoes who survive feeding on a protected human, relative to an unprotected human.
Fertility (number of eggs laid) is multiplied by (1-K) / (1-B), similar to killing effects. This is not allowed to be greater than 1.
Attributes
Insecticide factor
insecticideFactor=double
Units: none Max: 1
Value expected to be at least 0. Negative values are not necessarily invalid, but allow nets to increase transmission.
Insecticide scaling factor
insecticideScalingFactor=double
Units: none Min: 0
Hole factor
holeFactor=double
Units: none Max: 1
Value expected to be at least 0. Negative values are not necessarily invalid, but allow nets to increase transmission.
Interaction factor
interactionFactor=double
Units: none Max: 1
holeFactor + insecticideFactor + interactionFactor must not be greater than 1, and is expected to be at least 0. A negative value is not necessarily invalid, but allows nets to increase transmission.
Hole scaling factor
holeScalingFactor=double
Units: none Min: 0
Probability of mosquito death without intervention
baseFactor=double
Units: dimensionless
Fecundity reduction (logit)
→ scenario → interventions → human → component → ITN → anophelesParams → fecundityReductionLogit
<fecundityReductionLogit
baseFactor=double
insecticideFactor=double
holeFactor=double
interactionFactor=double
/>
Documentation (element)
Effect of net on fertility of mosquitoes who survive feeding on a protected human, relative to an unprotected human.
Fertility (number of eggs laid) is multiplied by (1-K) / (1-K0), similar to killing effects. This is not allowed to be greater than 1.
Attributes
Base factor
baseFactor=double
Units: dimensionless
Logit of the probability (e.g. of death, of entry, of attacking) without intervention.
Insecticide factor
insecticideFactor=double
Units: none
Coefficient of log(insecticide content+1) in a generalized linear model with logit link function.
Hole factor
holeFactor=double
Units: none
Coefficient of log(total holed surface area (in cm2) +1) in a generalized linear model with logit link function.
Interaction factor
interactionFactor=double
Units: none
Coefficient of the interaction term of log(total holed surface area (in cm2) +1) with log(insecticide content+1) in a generalized linear model with logit link function.
Indoor residual spraying
→ scenario → interventions → human → component → IRS
<IRS>
IN THIS ORDER:
| [ <usage ... /> ]
| <initialInsecticide ... />
| <insecticideDecay ... />
| ( <anophelesParams ... /> )+
</IRS>
Documentation (element)
Description of indoor residual spraying interventions.
Documentation (type)
Description of effect for the more complex and probably more realistic Briet model: IRS has three effects, whos strength is calculated as a function of surviving insecticide content.
Proportion of Indoor residual spraying (IRS) interventions
→ scenario → interventions → human → component → IRS → usage
<usage
value=double
/>
Documentation (element)
Units: dimensionless Min: 0 Max: 1
Usage of Indoor residual spraying (IRS) interventions, from 0 to 1.
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Initial insecticide
→ scenario → interventions → human → component → IRS → initialInsecticide
<initialInsecticide
mean=double
[ SD=double ]
[ distr=("const" or "normal") ] DEFAULT VALUE const
/>
Documentation (element)
Units: μg/cm² Min: 0
The insecticide concentration of IRS (at time of spraying) is Gaussian distributed with mean "mu" and a standard deviation "sigma". The standard deviation should be small relative to the mean to avoid negative initial concentration. Any negative values sampled are set to 0.
Documentation (type)
A parameter with optional heterogeneity.
Optionally, a distribution ("distr") and standard of deviation ("SD") may be specified.
Attributes
mean
mean=double
The mean value.
standard deviation
SD=double
The standard deviation of variates.
Distribution
distr=("const" or "normal")
Default value: const
To allow heterogeneity, a distribution must be specified. Valid options are as follows. "const": no variation or sampling. Specifying distr="const" has the same effect as not specifying distr at all. "normal": the parameter is sampled from a normal distribution.
Decay of insecticide
→ scenario → interventions → human → component → IRS → insecticideDecay
<insecticideDecay
function=("constant" or "step" or "linear" or "exponential" or "weibull" or "hill" or "smooth-compact" or "plus" or "minus" or "divides" or "multiplies")
[ L=string ]
[ k=double ] DEFAULT VALUE 1.0
[ CV=double ] DEFAULT VALUE 0
[ increasing=boolean ] DEFAULT VALUE false
[ initialEfficacy=double ] DEFAULT VALUE 1
[ rho=double ]
[ halflife_short=string ]
[ halflife_long=string ]
>
IN THIS ORDER:
| <decay ... />
</insecticideDecay>
Documentation (element)
Units: none
Decay curve for insecticide content of IRS. Documentation: see DecayFunction type or https://github.com/SwissTPH/openmalaria/wiki/ModelDecayFunctions
Documentation (type)
Specification of decay or survival of a parameter.
Attributes
function
function=("constant" or "step" or "linear" or "exponential" or "weibull" or "hill" or "smooth-compact" or "plus" or "minus" or "divides" or "multiplies")
Units: None Min: 0 Max: 1
Determines which decay function to use. Available decay functions, for age t in years: constant: 1 step: 1 for t less than L, otherwise 0 linear: 1 - t/L for t less than L, otherwise 0 exponential: exp( - t/L * log(2) ) weibull: exp( -(t/L)^k * log(2) ) hill: 1 / (1 + (t/L)^k) smooth-compact: exp( k - k / (1 - (t/L)^2) ) for t less than L, otherwise 0
L
L=string
Units: User-defined (defaults to years) Min: 0
(Time) scale parameter of distribution: this is either the age of complete decay (smooth-compact, step and linear functions) or the age at which the parameter has decayed to half its original value (exponential, weibull and hill). Not used when function="constant" (i.e. no decay). This value can be specified in years, days or steps (e.g. 2y, 180d or 100t). When the unit is not specified years are assumed. The value is used without rounding except when sampling an age of decay, when the rounding happens as late as possible.
k
k=double
Units: none Min: 0
Default value: 1.0
Shape parameter of distribution. If not specified, default value of 1 is used. Meaning depends on function; not used in some cases.
Coefficient of Variation
CV=double
Min: 0
Default value: 0
If CV is non-zero, heterogeneity of decay is introduced via a random variable sampled from the log-normal distribution. This distribution is parameterised with mean=1 and CV as given. The effective age of decay is the real age multiplied by this variable (for decay functions with a half-life, this is equivalent to dividing the half-life by the variable).
L
increasing=boolean
Units: User-defined (defaults to years) Min: 0
Default value: false
(Boolean) If True, this tells OpenMalaria to use the complement of the DecayFunction defined as 1-f(x). This is useful to model increasing functions that will "decay" to 1. This only works if f(x) is contained between 0 and 1.
initialEfficacy
initialEfficacy=double
Default value: 1
biphasic: Efficacy between 0 and 1.
rho
rho=double
biphasic: Proportion between 0 and 1, proportion of the response that is short-lived.
halflife_short
halflife_short=string
biphasic: halflife of short lived component (default to years).
halflife_long
halflife_long=string
biphasic: halflife of long lived component (default to years).
Per-mosquito species parameters
→ scenario → interventions → human → component → IRS → anophelesParams
<anophelesParams
mosquito=string
[ propActive=double ] DEFAULT VALUE 1
>
IN THIS ORDER:
| <deterrency ... />
| <preprandialKillingEffect ... />
| <postprandialKillingEffect ... />
| [ <fecundityReduction ... /> ]
</anophelesParams>
Attributes
Mosquito species
mosquito=string
Name of the affected anopheles-mosquito species.
Proportion of bites for which IRS acts
propActive=double
Units: dimensionless Min: 0 Max: 1
Default value: 1
The proportion of bites for which the IRS has any action whatsoever on the mosquito. At the moment this is constant across humans and deterministic: relative attractiveness and survival factors are base*(1-propActing) + intervention_factor*propActing.
Relative attractiveness
→ scenario → interventions → human → component → IRS → anophelesParams → deterrency
<deterrency
insecticideFactor=double
insecticideScalingFactor=double
/>
Documentation (element)
Units: dimensionless Min: 0 Max: 1
Effect of IRS on attractiveness of humans to mosquitoes relative to an unprotected adult human. Parameterisations should take into account that mosquitoes do not always bite indoors.
Attractiveness of the human is multiplied by exp(P×log(p)) where P is the insecticide factor, p=1−exp(-insecticideContent×insecticideScalingFactor).
Attributes
Insecticide factor
insecticideFactor=double
Units: none Max: 1
Value expected to be at least 0. Negative values are not necessarily invalid, but allow nets to increase transmission.
Insecticide scaling factor
insecticideScalingFactor=double
Units: none Min: 0
Pre-prandial killing effect
→ scenario → interventions → human → component → IRS → anophelesParams → preprandialKillingEffect
<preprandialKillingEffect
insecticideFactor=double
insecticideScalingFactor=double
baseFactor=double
/>
Documentation (element)
Units: dimensionless Min: 0 Max: 1
Effect of IRS on survival mosquitoes as they seek to bite a human after choosing that human, relative to the same person not protected by IRS. Parameterisations should take into account that mosquitoes do not always bite indoors. This parameter has been added since some data shows IRS to have a preprandial killing effect.
Killing proportion is calculated as K = B + P×p where B is the base (without protection) probability of death, and P is the insecticide factor, p=1−exp(-insecticideContent×insecticideScalingFactor).
Survival of mosquitoes is adjusted via multiplication by (1−K) / (1−B). To keep this in the range [0,1], we require that B+P ≤ 1 and P ≥ 0.
Attributes
Insecticide factor
insecticideFactor=double
Units: none Max: 1
Value expected to be at least 0. Negative values are not necessarily invalid, but allow nets to increase transmission.
Insecticide scaling factor
insecticideScalingFactor=double
Units: none Min: 0
Probability of mosquito death without intervention
baseFactor=double
Units: dimensionless
Post-prandial killing effect
→ scenario → interventions → human → component → IRS → anophelesParams → postprandialKillingEffect
<postprandialKillingEffect
insecticideFactor=double
insecticideScalingFactor=double
baseFactor=double
/>
Documentation (element)
Units: dimensionless Min: 0 Max: 1
Effect of IRS on survival mosquitoes as they seek to escape from a human host and rest after a blood meal, relative to the same person not protected by IRS. Parameterisations should take into account that mosquitoes do not always bite indoors.
Killing proportion is calculated as K = B + P×p where B is the base (without protection) probability of death, and P is the insecticide factor, p=1−exp(-insecticideContent×insecticideScalingFactor).
Survival of mosquitoes is adjusted via multiplication by (1−K) / (1−B). To keep this in the range [0,1], we require that B+P ≤ 1 and P ≥ 0.
Attributes
Insecticide factor
insecticideFactor=double
Units: none Max: 1
Value expected to be at least 0. Negative values are not necessarily invalid, but allow nets to increase transmission.
Insecticide scaling factor
insecticideScalingFactor=double
Units: none Min: 0
Probability of mosquito death without intervention
baseFactor=double
Units: dimensionless
Fecundity reduction
→ scenario → interventions → human → component → IRS → anophelesParams → fecundityReduction
<fecundityReduction
insecticideFactor=double
insecticideScalingFactor=double
baseFactor=double
/>
Documentation (element)
Effect of IRS on fertility mosquitoes after successfully feeding on a human host, relative to an unproteced human. Parameterisations should take into account that mosquitoes do not always bite indoors.
First, we calculate K = B + P×p where B is the base (without protection) probability of death, and P is the insecticide factor, p=1−exp(-insecticideContent×insecticideScalingFactor).
Fecundity is multiplied by (1−K) / (1−B). It is not allowed to be greater than 1. To keep this in the range [0,1], we require that B+P ≤ 1 and P ≥ 0.
Attributes
Insecticide factor
insecticideFactor=double
Units: none Max: 1
Value expected to be at least 0. Negative values are not necessarily invalid, but allow nets to increase transmission.
Insecticide scaling factor
insecticideScalingFactor=double
Units: none Min: 0
Probability of mosquito death without intervention
baseFactor=double
Units: dimensionless
Generic vector intervention
→ scenario → interventions → human → component → GVI
<GVI>
IN THIS ORDER:
| [ <usage ... /> ]
| <decay ... />
| ( <anophelesParams ... /> )+
</GVI>
Documentation (element)
Low-level description of intervention effects on vectors (i.e. mosquitoes). Can be used to describe simple ITN or IRS interventions (though more complex models are available for these interventions) or other interventions such as mosquito repellant or ivermectin.
Note that all actions of this intervention component will decay according to a single decay function. If independant decay is wanted, a separate component can be used for each action.
Proportion of generic vector interventions
→ scenario → interventions → human → component → GVI → usage
<usage
value=double
/>
Documentation (element)
Units: dimensionless Min: 0 Max: 1
Usage of Generic vector interventions, from 0 to 1.
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Decay
→ scenario → interventions → human → component → GVI → decay
<decay
function=("constant" or "step" or "linear" or "exponential" or "weibull" or "hill" or "smooth-compact" or "plus" or "minus" or "divides" or "multiplies")
[ L=string ]
[ k=double ] DEFAULT VALUE 1.0
[ CV=double ] DEFAULT VALUE 0
[ increasing=boolean ] DEFAULT VALUE false
[ initialEfficacy=double ] DEFAULT VALUE 1
[ rho=double ]
[ halflife_short=string ]
[ halflife_long=string ]
>
IN THIS ORDER:
| <decay ... />
</decay>
Documentation (element)
Description of decay of all intervention effects. Documentation: see DecayFunction type or https://github.com/SwissTPH/openmalaria/wiki/ModelDecayFunctions
Documentation (type)
Specification of decay or survival of a parameter.
Attributes
function
function=("constant" or "step" or "linear" or "exponential" or "weibull" or "hill" or "smooth-compact" or "plus" or "minus" or "divides" or "multiplies")
Units: None Min: 0 Max: 1
Determines which decay function to use. Available decay functions, for age t in years: constant: 1 step: 1 for t less than L, otherwise 0 linear: 1 - t/L for t less than L, otherwise 0 exponential: exp( - t/L * log(2) ) weibull: exp( -(t/L)^k * log(2) ) hill: 1 / (1 + (t/L)^k) smooth-compact: exp( k - k / (1 - (t/L)^2) ) for t less than L, otherwise 0
L
L=string
Units: User-defined (defaults to years) Min: 0
(Time) scale parameter of distribution: this is either the age of complete decay (smooth-compact, step and linear functions) or the age at which the parameter has decayed to half its original value (exponential, weibull and hill). Not used when function="constant" (i.e. no decay). This value can be specified in years, days or steps (e.g. 2y, 180d or 100t). When the unit is not specified years are assumed. The value is used without rounding except when sampling an age of decay, when the rounding happens as late as possible.
k
k=double
Units: none Min: 0
Default value: 1.0
Shape parameter of distribution. If not specified, default value of 1 is used. Meaning depends on function; not used in some cases.
Coefficient of Variation
CV=double
Min: 0
Default value: 0
If CV is non-zero, heterogeneity of decay is introduced via a random variable sampled from the log-normal distribution. This distribution is parameterised with mean=1 and CV as given. The effective age of decay is the real age multiplied by this variable (for decay functions with a half-life, this is equivalent to dividing the half-life by the variable).
L
increasing=boolean
Units: User-defined (defaults to years) Min: 0
Default value: false
(Boolean) If True, this tells OpenMalaria to use the complement of the DecayFunction defined as 1-f(x). This is useful to model increasing functions that will "decay" to 1. This only works if f(x) is contained between 0 and 1.
initialEfficacy
initialEfficacy=double
Default value: 1
biphasic: Efficacy between 0 and 1.
rho
rho=double
biphasic: Proportion between 0 and 1, proportion of the response that is short-lived.
halflife_short
halflife_short=string
biphasic: halflife of short lived component (default to years).
halflife_long
halflife_long=string
biphasic: halflife of long lived component (default to years).
Per-mosquito species parameters
→ scenario → interventions → human → component → GVI → anophelesParams
<anophelesParams
mosquito=string
[ propActive=double ] DEFAULT VALUE 1
>
IN THIS ORDER:
| [ <deterrency ... /> ]
| [ <preprandialKillingEffect ... /> ]
| [ <postprandialKillingEffect ... /> ]
| [ <fecundityReduction ... /> ]
</anophelesParams>
Attributes
Mosquito species
mosquito=string
Name of the affected anopheles-mosquito species.
Proportion of bites for which IRS acts
propActive=double
Units: dimensionless Min: 0 Max: 1
Default value: 1
The proportion of bites for which the IRS has any action whatsoever on the mosquito. At the moment this is constant across humans and deterministic: relative attractiveness and survival factors are base*(1-propActing) + intervention_factor*propActing.
Relative attractiveness
→ scenario → interventions → human → component → GVI → anophelesParams → deterrency
<deterrency
value=double
/>
Documentation (element)
Units: dimensionless Min: 0 Max: 1
Effect of intervention on attractiveness of humans to mosquitoes relative to an unprotected adult human. Parameterisations should take into account that mosquitoes do not always bite indoors.
Attractiveness of the human is multiplied this factor times survival of effect.
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Pre-prandial killing effect
→ scenario → interventions → human → component → GVI → anophelesParams → preprandialKillingEffect
<preprandialKillingEffect
value=double
/>
Documentation (element)
Units: dimensionless Min: 0 Max: 1
Effect of intervention on survival of mosquitoes as they seek to bite a human after choosing that human, relative to the same person not protected by the intervention. Parameterisations should take into account that mosquitoes do not always bite indoors. This parameter has been added since some data shows IRS to have a preprandial killing effect.
Killing proportion is this factor multiplied by survival of effect.
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Post-prandial killing effect
→ scenario → interventions → human → component → GVI → anophelesParams → postprandialKillingEffect
<postprandialKillingEffect
value=double
/>
Documentation (element)
Units: dimensionless Min: 0 Max: 1
Effect of intervention on survival of mosquitoes as they seek to escape from a human host and rest after a blood meal, relative to the same person not protected by the intervention. Parameterisations should take into account that mosquitoes do not always bite indoors.
Killing proportion is this factor multiplied by survival of effect.
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Fecundity reduction effect
→ scenario → interventions → human → component → GVI → anophelesParams → fecundityReduction
<fecundityReduction
value=double
/>
Documentation (element)
Min: 0
Effect of intervention on fertility mosquitoes after successfully feeding on a human host, relative to an unproteced human. Parameterisations should take into account that mosquitoes do not always bite indoors.
Fertility is multiplied by 1 - (fecundityReduction * decay).
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Recruitment only
→ scenario → interventions → human → component → recruitmentOnly
<recruitmentOnly/>
Documentation (element)
Recruitment of a host into a sub-population.
All human-targeting intervention deployments recruit simulated humans into a sub-population which can be used for the purposes of cumulative deployment, deployment only to a sub-population and defining a cohort. This pseudo-intervention can be used to define a sub-population without also deploying some intervention.
Clear Immunity
→ scenario → interventions → human → component → clearImmunity
<clearImmunity/>
Documentation (element)
Removes all exposure-related immunitsy gained over time by hosts without removing infections (or affecting the ability to gain immunity through exposure).
Hypothetical, but potentially useful to simulate scenarios with unprotected humans.
subPopRemoval
→ scenario → interventions → human → component → subPopRemoval
<subPopRemoval
[ onFirstBout=boolean ] DEFAULT VALUE false
[ onFirstTreatment=boolean ] DEFAULT VALUE false
[ onFirstInfection=boolean ] DEFAULT VALUE false
[ afterYears=double ]
/>
Documentation (type)
Each human intervention component corresponds to a sub-population: those who have received or are considered to be protected by the intervention component. Humans automatically become members of this sub-population when receiving an intervention component; this element controls how humans are removed from the sub-population.
ITN attrition also removes humans from sub-populations.
Note that sub-populations do not directly correspond to an intervention's effects: lack of effectiveness does not imply removal from the sub-population (except as explicitly configured here) and removal from the sub-population does not halt an intervention's effects.
Sub-populations may be used to define a cohort, to restrict deployment of other interventions and to use cumulative deployment mode. A sub- population may or may not correspond (roughly) to humans protected by some intervention.
Attributes
Time to first episode only
onFirstBout=boolean
Default value: false
If true, remove individuals from the sub-population at the start of the first episode (start of a clinical bout) since they were recruited into the sub-population. This is intended for cohort studies which measure time to the first episode, using active case detection. Reports delayed due to health-system memory are forced out when this occurs. Note that this can increase the number of uncomplicated cases reported across the entire population; for this reason reports are not forced on recruitment or most removal options. This does not prevent re-recruitment in the case that recruitment settings could conceivably recruit the same individual twice.
Time to first treatment only
onFirstTreatment=boolean
Default value: false
If true, remove individuals from the sub-population when they first seektreatment since they were recruited into the sub-population. This is intended for cohort studies which measure the time to first episode, using passive case detection. Reports delayed due to health-system memory are forced out when this occurs. Note that this can increase the number of uncomplicated cases reported across the entire population; for this reason reports are not forced on recruitment or most removal options. This does not prevent re-recruitment in the case that recruitment settings could conceivably recruit the same individual twice.
Time to first infection only
onFirstInfection=boolean
Default value: false
If true, remove individuals from the sub-population at completion of the first survey in which they present with a patent infection since they were recruited into the sub-population. This intended for cohort studies which measure time to the first infection, using active case detection. Reports delayed due to health-system memory are forced out when this occurs. Note that this can increase the number of uncomplicated cases reported across the entire population; for this reason reports are not forced on recruitment or most removal options. This does not prevent re-recruitment in the case that recruitment settings could conceivably recruit the same individual twice.
Remove from sub-population after
afterYears=double
Units: Years Min: 0
If given, membership to the sub-population of humans who have received this intervention component expires after the given number of years. Note that future deployments renew membership (e.g. if this parameter is 4 years and the intervention is redeployed 3 years from now, expiry happens after 7 years). This provides a crude way of modelling a cohort protected by some intervention. A few interventions provide more detailed ways of modelling expiry of protection. In any case, "expiry of protection" is an abstract concept and does not imply that all protection has ceased, even in the simulator. This may also be useful for cumulative deployment. Minimum duration is zero, which implies the human is effectively never a member of the sub-population; a duration of one timestep implies the human is a member of the sub-population while any futher interventions are deployed on the same time as this human becomes a member and on the next update of the human (including transmission and health system events) but not beyond that. If this attribute is not given, the simulated human is a member until death or some other option triggers removal. Input is rounded to the nearest time step.
Deployment
→ scenario → interventions → human → deployment
<deployment
[ name=string ]
>
IN THIS ORDER:
| ( <component ... /> )+
| ( <condition ... /> )*
| ( <continuous ... /> )*
| ( <timed ... /> )*
</deployment>
Documentation (element)
This element describes deployment of an intervention: which components are deployed, how humans are selected for deployment (via timed or age-based deployment) as well as a few additional restrictions (e.g. vaccine dosing restrictions).
All components deployed by this intervention are deployed to the same people (each timed or continuous deployment selects recipients and then gives each recipient all components of the intervention).
Attributes
Intervention name
name=string
Name of intervention
component
→ scenario → interventions → human → deployment → component
<component
id=string
/>
Documentation (type)
The list of components deployed to eligible humans.
Attributes
Identifier
id=string
The identifier (short name) of a component.
Condition
→ scenario → interventions → human → deployment → condition
<condition
measure=string
[ minValue=double ]
[ maxValue=double ]
initialState=boolean
/>
Documentation (element)
If conditions are specified, deployment of this intervention will only go ahead if all specified conditions are true. Condition statements are evaluated only during surveys, so deployment is enabled or disabled depending on the results of the most recent survey. So called unreported surveys can be used to reevaluate conditions without increasing granularity of output.
Conditions are evaluated for the whole population, not for individual age-groups or cohorts.
This affects all types of deployment.
Attributes
Measure
measure=string
The monitoring measure to test. Not all measures are available for use.
Minimum value
minValue=double
Minimum value. If specified, the measured variable must be greater than or equal to this value for the condition to be satisfied.
Maximum value
maxValue=double
Maximum value. If specified, the measured variable must be less than or equal to this value for the condition to be satisfied.
Initial state
initialState=boolean
Whether this condition is considered true or false before updated by a survey.
Age-based (continuous) deployment
→ scenario → interventions → human → deployment → continuous
<continuous>
IN THIS ORDER:
| [ <restrictToSubPop ... /> ]
| ( <deploy ... /> )+
</continuous>
Documentation (element)
List of ages at which deployment takes place (through EPI, post-natal and school-based programmes, etc.).
A sub-population restriction may be added as a property of the list of continuous deployments.
restrictToSubPop
→ scenario → interventions → human → deployment → continuous → restrictToSubPop
<restrictToSubPop
id=string
[ complement=boolean ] DEFAULT VALUE false
/>
Documentation (type)
If this element is specified, deployment is restricted to some sub-population (specified via the "id" attribute); otherwise the target population is the entire simulated population. Either way, other deployment restrictions (age, time, number of vaccine doeses) still apply.
Attributes
Sub-population identifier
id=string
The identifier (short name) of the sub-population (i.e. the "id" of some intervention component). Also see the "complement" attribute.
Complement
complement=boolean
Default value: false
If this is not specified or is false, deployment is restricted to the sub-population of people protected by the intervention component who's id is given. If complement is set to true, deployment is instead restricted to the complement of that sub-population, i.e. to those
deploy
→ scenario → interventions → human → deployment → continuous → deploy
<deploy
coverage=double
[ vaccMinPrevDoses=int ]
[ vaccMaxCumDoses=int ]
[ minAvailability=int ]
[ maxAvailability=int ]
targetAgeYrs=double
[ begin=string ]
[ end=string ]
/>
Attributes
Coverage
coverage=double
Units: dimensionless Min: 0 Max: 1
Proportion of otherwise eligible individuals who will receive this deployment.
Vaccine min previous doses
vaccMinPrevDoses=int
Units: inoculations Min: 0
Applies to vaccines only: vaccine doses are only deployed by this deployment if the previous number of doses (for the component deployed) is at least this number. For example, if this is the second deployment opportunity for this vaccine and this value is 1, then this deployment cannot deploy the vaccine to individuals who did not receive the first deployment.
Vaccine max cumulative doses
vaccMaxCumDoses=int
Units: inoculations Min: 0
Applies to vaccines only: vaccine doses are only deployed by this deployment if the previous number of doses (for the component deployed) is less than this number.
Minimum ento availability
minAvailability=int
Units: percent Min: 0
Minimum ento availability percentile. This option is meant to be used with heterogeneity of availability, which can be specified in the entomology section. Without heterogenity (default), all hosts have the same availability and this option will have no effect. The percentile must be an integer value between 0 and 100. Percentile 99th represents individuals who are more available than 99% of the population. Percentile 0 represents the least available individuals. 100 is equivalent for infinity.
Maximum ento availability
maxAvailability=int
Units: percent Min: 0
Maximum ento availability percentile. This option is meant to be used with heterogeneity of availability, which can be specified in the entomology section. Without heterogenity (default), all hosts have the same availability and this option will have no effect. The percentile must be an integer value between 0 and 100. Percentile 99th represents individuals who are more available than 99% of the population. Percentile 0 represents the least available individuals. 100 is equivalent for infinity.
Target age
targetAgeYrs=double
Units: Years Min: 0 Max: 100
Target age of intervention. Input is rounded to the nearest time step.
First time active
begin=string
Units: User defined (defauls to steps)
First time at which this deployment is active. If not specified, deployment starts at the beginning of the intervention period. See doc on intervention period and on monitoring/startDate for details of how times work. Can be specified in steps, days, years, or as a date (examples: 15t, 75d, 0.2y, 2000-03-16).
End step
end=string
Units: User defined (defauls to steps)
End of the period during which the intervention is active (to be exact, the first step of the intervention period at which the item becomes inactive). If not specified, deployment never ceases after starting during the simulation. See doc on intervention period and on monitoring/startDate for details of how times work. Can be specified in steps, days, years, or as a date (examples: 15t, 75d, 0.2y, 2000-03-16).
Mass (timed) deployment
→ scenario → interventions → human → deployment → timed
<timed>
IN THIS ORDER:
| [ <restrictToSubPop ... /> ]
| [ <cumulativeCoverage ... /> ]
| ( <deploy ... /> )+
</timed>
Documentation (element)
List of timed deployments of the intervention (that is, of deployment campaigns).
Cumulative deployment mode can be specified for all deployments in a timed list. To allow multiple cumulative deployment descriptions, the entire timed list may be repeated.
restrictToSubPop
→ scenario → interventions → human → deployment → timed → restrictToSubPop
<restrictToSubPop
id=string
[ complement=boolean ] DEFAULT VALUE false
/>
Documentation (type)
If this element is specified, deployment is restricted to some sub-population (specified via the "id" attribute); otherwise the target population is the entire simulated population. Either way, other deployment restrictions (age, time, number of vaccine doeses) still apply.
Attributes
Sub-population identifier
id=string
The identifier (short name) of the sub-population (i.e. the "id" of some intervention component). Also see the "complement" attribute.
Complement
complement=boolean
Default value: false
If this is not specified or is false, deployment is restricted to the sub-population of people protected by the intervention component who's id is given. If complement is set to true, deployment is instead restricted to the complement of that sub-population, i.e. to those
Cumulative coverage
→ scenario → interventions → human → deployment → timed → cumulativeCoverage
<cumulativeCoverage
component=string
/>
Documentation (element)
If this element is not specified, standard deployment occurs, where a portion of the population as given by the coverage property of this campaign is selected, and interventions are deployed to all of these people (regardless of previous coverage).
If this attribute is specified, instead, the population is divided into two sets: those who are a member of a certain sub-population and those who are not (see "subPopRemoval" element). If the proportion of people in the first set is less than the desired coverage, then the proportion of people from the second set needed to increase total coverage to the desired coverage is calculated. This proportion is then used as the probablity of selection from the second set into a third set of people who then receive all interventions deployed by this campaign.
Note that selection is stochastic so the final coverage level may not be exactly that desired. Note also that the component used when selecting people need not actually be one of the components deployed by this intervention, although that is the intended use case.
Attributes
Component identifier
component=string
The identifier (short name) of the component used when selecting people.
deploy
→ scenario → interventions → human → deployment → timed → deploy
<deploy
coverage=double
[ vaccMinPrevDoses=int ]
[ vaccMaxCumDoses=int ]
[ minAvailability=int ]
[ maxAvailability=int ]
time=string
[ maxAge=double ]
[ minAge=double ] DEFAULT VALUE 0
[ repeatStep=string ]
[ repeatEnd=string ]
/>
Attributes
Coverage
coverage=double
Units: dimensionless Min: 0 Max: 1
Proportion of otherwise eligible individuals who will receive this deployment.
Vaccine min previous doses
vaccMinPrevDoses=int
Units: inoculations Min: 0
Applies to vaccines only: vaccine doses are only deployed by this deployment if the previous number of doses (for the component deployed) is at least this number. For example, if this is the second deployment opportunity for this vaccine and this value is 1, then this deployment cannot deploy the vaccine to individuals who did not receive the first deployment.
Vaccine max cumulative doses
vaccMaxCumDoses=int
Units: inoculations Min: 0
Applies to vaccines only: vaccine doses are only deployed by this deployment if the previous number of doses (for the component deployed) is less than this number.
Minimum ento availability
minAvailability=int
Units: percent Min: 0
Minimum ento availability percentile. This option is meant to be used with heterogeneity of availability, which can be specified in the entomology section. Without heterogenity (default), all hosts have the same availability and this option will have no effect. The percentile must be an integer value between 0 and 100. Percentile 99th represents individuals who are more available than 99% of the population. Percentile 0 represents the least available individuals. 100 is equivalent for infinity.
Maximum ento availability
maxAvailability=int
Units: percent Min: 0
Maximum ento availability percentile. This option is meant to be used with heterogeneity of availability, which can be specified in the entomology section. Without heterogenity (default), all hosts have the same availability and this option will have no effect. The percentile must be an integer value between 0 and 100. Percentile 99th represents individuals who are more available than 99% of the population. Percentile 0 represents the least available individuals. 100 is equivalent for infinity.
Time
time=string
Units: User defined (defauls to steps) Min: 0
Time at which this deployment occurs. See doc on intervention period and on monitoring/startDate for details of how times work. Can be specified in steps, days, years, or as a date (examples: 15t, 75d, 0.2y, 2000-03-16).
Maximum age of eligible individuals
maxAge=double
Units: Years Min: 0
Maximum age of eligible individuals (defaults to no limit). Input is rounded to the nearest time step.
Minimum age of eligible individuals
minAge=double
Units: Years Min: 0
Default value: 0
Minimum age of eligible individuals (defaults to 0). Input is rounded to the nearest time step.
Step of repetition
repeatStep=string
Units: User defined
See repeatEnd's documentation.
End of repetition (exclusive)
repeatEnd=string
Units: User defined
Either both repeatStep and repeatEnd should be present or neither. If present, the deployment is repeated every repeatStep timesteps (i.e. if t0 is the initial time and x is repeatStep, depolyments are done at times t0, t0+x, t0+2*x, ...), ending before repeatEnd (final repetition is the one before repeatEnd). Note that repeatEnd may be specified as a date but repeatStep must be a duration (days, steps or years).
Health system description
→ scenario → healthSystem
<healthSystem>
IN THIS ORDER:
| EXACTLY ONE OF:
| | <EventScheduler ... />
| | <ImmediateOutcomes ... />
| | <DecisionTree5Day ... />
| <CFR ... />
| <pSequelaeInpatient ... />
</healthSystem>
Documentation (element)
Description of health system.
Documentation (type)
Description of case management system, used to specify the initial model or a replacement (an intervention). Encompasses case management data and some other data required to derive case outcomes.
Contains a sub-element describing the particular health-system in use. Health system data is here defined as data used to decide on a treatment strategy, given a case requiring treatment.
Transmission and vector bionomics
→ scenario → entomology
<entomology
name=string
mode=("forced" or "dynamic")
[ scaledAnnualEIR=double ]
>
IN THIS ORDER:
| EXACTLY ONE OF:
| | <nonVector ... />
| | <vector ... />
</entomology>
Documentation (element)
Description of entomological data
Attributes
Entomology dataset name
name=string
Name of entomology data
Transmission model mode
mode=("forced" or "dynamic")
Transmission simulation mode: may be forced (in which case interventions and changes to human infectiousness cannot affect EIR) or dynamic (in which the above can affect EIR). The full vector model is only used in dynamic mode. This can not be changed by interventions, except for the changeEIR intervention for the non-vector model which replaces the EIR with a new description (used in forced mode).
Override annual EIR
scaledAnnualEIR=double
Units: Infectious bites per adult per year
If set, the annual EIR (for all species of vector) is scaled to this level; can be omitted if not needed.
Transmission setting (vector control not enabled)
→ scenario → entomology → nonVector
<nonVector
eipDuration=int
>
IN THIS ORDER:
| ( <EIRDaily ... /> )+
</nonVector>
Documentation (element)
Description of transmission setting for models without vector control interventions (included for backward compatibility)
Attributes
Duration of sporogony
eipDuration=int
Units: Days
The duration of sporogony in days
Transmission setting (vector control enabled)
→ scenario → entomology → vector
<vector>
IN THIS ORDER:
| ( <anopheles ... /> )+
| ( <nonHumanHosts ... /> )*
</vector>
Documentation (element)
Parameters of the transmission model
anopheles
→ scenario → entomology → vector → anopheles
<anopheles
mosquito=string
propInfected=double
propInfectious=double
>
IN THIS ORDER:
| <seasonality ... />
| <mosq ... />
| [ <lifeCycle ... /> ]
| [ <simpleMPD ... /> ]
| ( <nonHumanHosts ... /> )*
</anopheles>
Documentation (type)
Description of input EIR for one specific vector species in terms of a Fourier approximation to the ln of the EIR during the burn in period
Attributes
Identifier for this anopheles species
mosquito=string
Identifier for this anopheles species
Initial estimate of proportion of mosquitoes infected (ρ_O)
propInfected=double
Units: Proportion Min: 0 Max: 1
Initial guess of the proportion of mosquitoes which are infected, o: O_v(t) = o*N_v(t). Only used as a starting value.
Initial estimate of proportion of mosquitoes infectious (ρ_S)
propInfectious=double
Units: Proportion Min: 0 Max: 1
Initial estimate of the proportion of mosquitoes which are infectious, s: S_v(t) = s*N_v(t). Used as a starting value and then fit.
Seasonality of transmission
→ scenario → entomology → vector → anopheles → seasonality
<seasonality
input=("EIR")
[ annualEIR=double ]
>
IN THIS ORDER:
| EXACTLY ONE OF:
| | <fourierSeries ... />
| | <monthlyValues ... />
| | <dailyValues ... />
</seasonality>
Documentation (element)
Specifies the seasonality of transmission and optionally the level of annual transmission.
Attributes
Seasonality input
input=("EIR")
Specify what seasonality measure is given. At the moment, only EIR is supported, but in the future, all the below should be supported. EIR: seasonality of entomological inoculations is input. Units: entomological inoculations per adult per annum. hostSeeking: seasonality of densities of flying host-seeking mosquitoes is input (in the model this is notated N_v). Units: mosquitoes. emergence: seasonality of emergence pupa into adults. Units: mosquitoes. larvalResources: seasonality of larval resources. Units: X.
Annual EIR
annualEIR=double
Units: Inoculations per adult per annum Min: 0
If this attribute is included, EIR for this species is scaled to this level. Note that if the scaledAnnualEIR attribute of the entomology element is also used, EIR is scaled again, making this attribute the EIR relative to other species. With some seasonality inputs, this attribute is optional, in which case (if scaledAnnualEIR is also not specified) transmission depends on all parameters of the vector. With some seasonality inputs, however, this parameter must be specified.
Fourier approximation to pre-intervention EIR
→ scenario → entomology → vector → anopheles → seasonality → fourierSeries
<fourierSeries
EIRRotateAngle=double
>
IN THIS ORDER:
| ( <coeffic ... /> )*
</fourierSeries>
Documentation (element)
Units: Infectious bites per adult per day
Seasonality is reproduced from the exponential of a fourier series specified by the following coefficients. Note that the a0 term is not needed; the annualEIR attribute of the seasonality element should be used to scale EIR instead.
Attributes
Rotation angle defining the origin of the Fourier approximation to ln (EIR)
EIRRotateAngle=double
Units: Radians
Rotation angle defining the origin of the Fourier approximation to ln (EIR)
Pair of Fourier coefficients
→ scenario → entomology → vector → anopheles → seasonality → fourierSeries → coeffic
<coeffic
a=double
b=double
/>
Documentation (element)
A pair of Fourier series coefficients. The first element specifies a1 and b1, the second a2 and b2, etc. Any number (from 0 up) of pairs may be given.
Attributes
a_n parameter of Fourier approximation to ln(EIR)
a=double
a_n parameter of Fourier approximation to ln(EIR) for some natural number n.
b_n parameter of Fourier approximation to ln(EIR)
b=double
b_n parameter of Fourier approximation to ln(EIR) for some natural number n.
List of monthly values
→ scenario → entomology → vector → anopheles → seasonality → monthlyValues
<monthlyValues
smoothing=("none" or "fourier")
>
IN THIS ORDER:
| ( <value ... /> ){12,12}
</monthlyValues>
Documentation (element)
Description of seasonality from monthly values. Multiple smoothing methods are possible (see smoothing attribute).
List should contain twelve entries: January to December.
Attributes
Smoothing function
smoothing=("none" or "fourier")
How the monthly values are converted into a daily sequence of values:
- none: no smoothing (step function)
- Fourier: a Fourier series (with terms up to a2/b2) is fit to the sequence of monthly values and used to generate a smoothed list of daily values.
Monthly value
→ scenario → entomology → vector → anopheles → seasonality → monthlyValues → value
<value>
double
</value>
Documentation (element)
Units: (see "seasonality input" parameter)
Monthly value
List of daily values
→ scenario → entomology → vector → anopheles → seasonality → dailyValues
<dailyValues>
IN THIS ORDER:
| ( <value ... /> )+
</dailyValues>
Documentation (element)
Description of seasonality from daily values.
List should contain 365 entries: 1st January to 31st December.
Daily value
→ scenario → entomology → vector → anopheles → seasonality → dailyValues → value
<value>
double
</value>
Documentation (element)
Units: (see "seasonality input" parameter)
Daily value
Mosquito feeding cycle parameters
→ scenario → entomology → vector → anopheles → mosq
<mosq
minInfectedThreshold=double
>
IN ANY ORDER:
| <mosqRestDuration ... />
| <extrinsicIncubationPeriod ... />
| <mosqLaidEggsSameDayProportion ... />
| <mosqSeekingDuration ... />
| <mosqSurvivalFeedingCycleProbability ... />
| <availability ... />
| <mosqProbBiting ... />
| <mosqProbFindRestSite ... />
| <mosqProbResting ... />
| <mosqProbOvipositing ... />
| <mosqHumanBloodIndex ... />
</mosq>
- mosqRestDuration
- extrinsicIncubationPeriod
- mosqLaidEggsSameDayProportion
- mosqSeekingDuration
- mosqSurvivalFeedingCycleProbability
- availability
- mosqProbBiting
- mosqProbFindRestSite
- mosqProbResting
- mosqProbOvipositing
- mosqHumanBloodIndex
Documentation (element)
Parameters describing the feeding cycle and human mosquito interaction of a single species of anopheles mosquito.
Attributes
Mininum infected threshold for mosquitos
minInfectedThreshold=double
Min: 0
If less than this many mosquitoes remain infected, transmission is interrupted.
Duration of the resting period of the vector
→ scenario → entomology → vector → anopheles → mosq → mosqRestDuration
<mosqRestDuration
value=int
/>
Documentation (element)
Units: Days
name:Duration of the resting period of the vector (days);
Attributes
Input parameter value
value=int
An integer value.
Extrinsic incubation period
→ scenario → entomology → vector → anopheles → mosq → extrinsicIncubationPeriod
<extrinsicIncubationPeriod
value=int
/>
Documentation (element)
Units: Days
name:Extrinsic incubation period (days)
Attributes
Input parameter value
value=int
An integer value.
Proportion of mosquitoes host seeking on same day as ovipositing
→ scenario → entomology → vector → anopheles → mosq → mosqLaidEggsSameDayProportion
<mosqLaidEggsSameDayProportion
value=double
/>
Documentation (element)
Units: Proportion
Proportion of mosquitoes host seeking on same day as ovipositing
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Duration of the host-seeking period of the vector
→ scenario → entomology → vector → anopheles → mosq → mosqSeekingDuration
<mosqSeekingDuration
value=double
/>
Documentation (element)
Units: Days
Duration of the host-seeking period of the vector (days)
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Probability that the mosquito survives the feeding cycle
→ scenario → entomology → vector → anopheles → mosq → mosqSurvivalFeedingCycleProbability
<mosqSurvivalFeedingCycleProbability
value=double
/>
Documentation (element)
Units: Proportion
Probability that the mosquito survives the feeding cycle
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Human availability rate heterogeneity
→ scenario → entomology → vector → anopheles → mosq → availability
<availability
[ CV=double ]
[ distr=("const" or "lognormal" or "gamma") ] DEFAULT VALUE const
[ variance=double ]
/>
Documentation (element)
Optionally, entomological availability rate may be sampled per-human from a distribution. The distribution and coefficient of variability may be set here. The mean rate is calculated based on other parameters and not set directly.
If no attributes are specified or distr="const" or CV="0" then there will be no heterogeneity.
Documentation (type)
A parameter with optional heterogeneity.
The mean cannot be specified (unless this type is extended). Optionally, a distribution ("distr") and coefficient of variation ("CV") may be specified.
Attributes
Coefficient of variation
CV=double
Units: unitless
The (linear) coefficient of variation. This value must be specified when a (non-constant) distribution is used. Note: since version 46, variance can be used instead. Note that specifying CV="0" has the same effect as distr="const" and disables sampling of this parameter, even if distr is not "const".
Distribution
distr=("const" or "lognormal" or "gamma")
Default value: const
To allow heterogeneity, a distribution must be specified. Valid options are as follows. "const": no variation or sampling. Specifying distr="const" has the same effect as not specifying distr at all. "lognormal": the parameter is sampled from a log-normal distribution. Note that the "mean" and "CV" values are linear (arithmetic) properties of the distribution and not log-space properties.
Coefficient of variation
variance=double
Units: unitless
The variance parameter of the distirbution. This value can be specified when a (non-constant) distribution is used. Note that specifying variance="0" has the same effect as distr="const" and disables sampling of this parameter, even if distr is not "const".
Probability that the mosquito succesfully bites chosen host
→ scenario → entomology → vector → anopheles → mosq → mosqProbBiting
<mosqProbBiting
mean=double
variance=double
/>
Documentation (element)
Probability that the mosquito succesfully bites chosen host
Documentation (type)
Parameters of a normal distribution, provided as mean and variance.
Variates are sampled from Be(α,β) where α and β are determined from the mean and variance as follows: let v be the variance and c=mean/(1-mean). Then we set α=cβ and β=((c+1)²v - c)/((c+1)³v).
Attributes
mean
mean=double
Units: none
The mean of the beta distribution (must be in the open range (0,1)).
variance
variance=double
Units: none
The standard deviation of variates.
Probability that the mosquito escapes host and finds a resting place after biting
→ scenario → entomology → vector → anopheles → mosq → mosqProbFindRestSite
<mosqProbFindRestSite
mean=double
variance=double
/>
Documentation (element)
Probability that the mosquito escapes host and finds a resting place after biting
Documentation (type)
Parameters of a normal distribution, provided as mean and variance.
Variates are sampled from Be(α,β) where α and β are determined from the mean and variance as follows: let v be the variance and c=mean/(1-mean). Then we set α=cβ and β=((c+1)²v - c)/((c+1)³v).
Attributes
mean
mean=double
Units: none
The mean of the beta distribution (must be in the open range (0,1)).
variance
variance=double
Units: none
The standard deviation of variates.
Probability of mosquito successfully resting after finding a resting site
→ scenario → entomology → vector → anopheles → mosq → mosqProbResting
<mosqProbResting
mean=double
variance=double
/>
Documentation (element)
Probability of mosquito successfully resting after finding a resting site
Documentation (type)
Parameters of a normal distribution, provided as mean and variance.
Variates are sampled from Be(α,β) where α and β are determined from the mean and variance as follows: let v be the variance and c=mean/(1-mean). Then we set α=cβ and β=((c+1)²v - c)/((c+1)³v).
Attributes
mean
mean=double
Units: none
The mean of the beta distribution (must be in the open range (0,1)).
variance
variance=double
Units: none
The standard deviation of variates.
Probability of a mosquito successfully laying eggs given that it has rested
→ scenario → entomology → vector → anopheles → mosq → mosqProbOvipositing
<mosqProbOvipositing
value=double
/>
Documentation (element)
Probability of a mosquito successfully laying eggs given that it has rested
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Human blood index
→ scenario → entomology → vector → anopheles → mosq → mosqHumanBloodIndex
<mosqHumanBloodIndex
value=double
/>
Documentation (element)
Units: Proportion
The proportion of resting mosquitoes which fed on human blood during the last feed.
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Mosquito life cycle parameters
→ scenario → entomology → vector → anopheles → lifeCycle
<lifeCycle
[ estimatedLarvalResources=double ] DEFAULT VALUE 1e8
>
IN ANY ORDER:
| <eggStage ... />
| <larvalStage ... />
| <pupalStage ... />
| <femaleEggsLaidByOviposit ... />
</lifeCycle>
Documentation (element)
Parameters describing the life-cycle of this species of mosquito
Attributes
Estimate of larval resources
estimatedLarvalResources=double
Units: X
Default value: 1e8
An estimate of mean annual availability of resources to larvae. Used to get the resource usage fitting algorithm going; if the algorithm fails to fit the resource availability then tweaking this parameter may help. In other cases tweaking this parameter shouldn't be necessary. Default value is 10⁸ (1e8). Units are arbitrary but must be the same as those used by the resourceUsage parameter.
Egg stage
→ scenario → entomology → vector → anopheles → lifeCycle → eggStage
<eggStage
duration=int
survival=double
/>
Documentation (element)
Parameters for the egg stage of development
Documentation (type)
Parameters associated with a mosquito development stage.
Attributes
Duration
duration=int
Units: Days
Duration of the stage (i.e. length of time mosquito is an egg/larva/pupa).
Probability of survival
survival=double
Units: Proportion
Probability that mosquito survives this size (probability of egg hatching, a larva becoming a pupa or a pupa emerging as an adult, at the start of that stage).
larvalStage
→ scenario → entomology → vector → anopheles → lifeCycle → larvalStage
<larvalStage>
</larvalStage>
Documentation (type)
Parameters for the larval stage of development
Documentation (base type)
Parameters associated with a mosquito development stage.
Daily development
→ scenario → entomology → vector → anopheles → lifeCycle → larvalStage → daily
<daily
resourceUsage=double
effectCompetition=double
/>
Documentation (element)
List of parameters which apply during the larval stage of development. List length must equal stage duration, with first item corresponding to first 24 hours after hatching, second item to hours 24-48, and so on.
Attributes
Resource usage
resourceUsage=double
Units: X
Resource usage during larval stage of development. Units are arbitrary.
Effect of competition
effectCompetition=double
Units: none
Effect of competition over resources on development.
Pupal stage
→ scenario → entomology → vector → anopheles → lifeCycle → pupalStage
<pupalStage
duration=int
survival=double
/>
Documentation (element)
Parameters for the pupal stage of development
Documentation (type)
Parameters associated with a mosquito development stage.
Attributes
Duration
duration=int
Units: Days
Duration of the stage (i.e. length of time mosquito is an egg/larva/pupa).
Probability of survival
survival=double
Units: Proportion
Probability that mosquito survives this size (probability of egg hatching, a larva becoming a pupa or a pupa emerging as an adult, at the start of that stage).
Eggs laid by ovipositing mosquito
→ scenario → entomology → vector → anopheles → lifeCycle → femaleEggsLaidByOviposit
<femaleEggsLaidByOviposit
value=double
/>
Documentation (element)
Units: Eggs per feeding cycle
The total number of female eggs laid by a female mosquito at the conclusion to a feeding cycle, after feeding on an unprotected human (non-human hosts and protected humans use a multiplication factor to adjust this number for mosquitoes feeding on them).
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Simple Mosq-Pop-Dynamics parameters
→ scenario → entomology → vector → anopheles → simpleMPD
<simpleMPD>
IN ANY ORDER:
| <developmentDuration ... />
| <developmentSurvival ... />
| <femaleEggsLaidByOviposit ... />
</simpleMPD>
Documentation (element)
Parameters describing the simple mosquito population dynamics model.
This is a simpler version of the life-cycle model, requiring less parameters and with much simpler initialisation.
Duration
→ scenario → entomology → vector → anopheles → simpleMPD → developmentDuration
<developmentDuration
value=int
/>
Documentation (element)
Units: Days Min: 1
Duration from egg laying to emergence in days.
Attributes
Input parameter value
value=int
An integer value.
Probability of survival
→ scenario → entomology → vector → anopheles → simpleMPD → developmentSurvival
<developmentSurvival
value=double
/>
Documentation (element)
Units: Proportion Min: 0 Max: 1
Probability that mosquito survives from the egg being laid to emergence, given no resouce limitations (no density constraints).
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Eggs laid by ovipositing mosquito
→ scenario → entomology → vector → anopheles → simpleMPD → femaleEggsLaidByOviposit
<femaleEggsLaidByOviposit
value=double
/>
Documentation (element)
Units: Eggs per feeding cycle
The total number of female eggs laid by a female mosquito at the conclusion to a feeding cycle.
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Alternative (non-human) host paramters
→ scenario → entomology → vector → anopheles → nonHumanHosts
<nonHumanHosts
name=string
>
IN ANY ORDER:
| <mosqRelativeEntoAvailability ... />
| <mosqProbBiting ... />
| <mosqProbFindRestSite ... />
| <mosqProbResting ... />
| [ <hostFecundityFactor ... /> ]
</nonHumanHosts>
- mosqRelativeEntoAvailability
- mosqProbBiting
- mosqProbFindRestSite
- mosqProbResting
- hostFecundityFactor
Documentation (element)
Min: 0
Non human host parameters, per type of host (must match up with non-species-specific parameters).
Attributes
Identifier for this category of non-human hosts
name=string
Identifier for this category of non-human hosts
Relative availability of non-human host (ξ_i)
→ scenario → entomology → vector → anopheles → nonHumanHosts → mosqRelativeEntoAvailability
<mosqRelativeEntoAvailability
value=double
/>
Documentation (element)
Units: Proportion
Relative availability of the population of non-human hosts of type i to other non-human hosts; the sum of this across all non-human hosts must be 1.
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Probability of mosquito successfully biting host
→ scenario → entomology → vector → anopheles → nonHumanHosts → mosqProbBiting
<mosqProbBiting
value=double
/>
Documentation (element)
Units: Proportion
Probability of mosquito successfully biting host
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Probability that the mosquito escapes host and finds a resting place after biting
→ scenario → entomology → vector → anopheles → nonHumanHosts → mosqProbFindRestSite
<mosqProbFindRestSite
value=double
/>
Documentation (element)
Units: Proportion
Probability that the mosquito escapes host and finds a resting place after biting
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Probability of mosquito successfully resting after finding a resting site
→ scenario → entomology → vector → anopheles → nonHumanHosts → mosqProbResting
<mosqProbResting
value=double
/>
Documentation (element)
Units: Proportion
Probability of mosquito successfully resting after finding a resting site
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Relative fecundity of biting mosquitoes
→ scenario → entomology → vector → anopheles → nonHumanHosts → hostFecundityFactor
<hostFecundityFactor
value=double
/>
Documentation (element)
Units: Proportion
Multiplicative factor for the number of fertile eggs laid by a mosquito after biting this type of host, relative to an unprotected human.
Attributes
Input parameter value
value=double
A double-precision floating-point value.
nonHumanHosts
→ scenario → entomology → vector → nonHumanHosts
<nonHumanHosts
name=string
number=double
/>
Attributes
Species of alternative host
name=string
Name of this species of non human hosts (must match up with those described per anopheles section).
Population size of non-human host species
number=double
Units: Animals
Population size of this non-human host. Note: the availability of the population of this type of non-human host is determined by mosqRelativeEntoAvailability and mosqHumanBloodIndex. NHHs are not modelled individually, thus this parameter is not used. It might be useful in the future if there is ever an intervention to change the number of non-human hosts.
Parasite genetics
<parasiteGenetics
samplingMode=("initial" or "tracking")
>
IN THIS ORDER:
| ( <locus ... /> )+
</parasiteGenetics>
Documentation (element)
A specification of genotypes of infection parasites.
May be omitted; in this case there is no modelling of genetic differences of infections (resistance, fitness).
Attributes
samplingMode
samplingMode=("initial" or "tracking")
This controls how genotypes are determined for new infections during the intervention period. Prior to this (in initialisation phases), genotypes are always sampled using the specified initial frequencies. Mode "initial" continues to sample genotypes using initial frequencies (i.e. independent of the success of parent generations of parasites). Mode "tracking" samples genotypes based on the success parent generations of parasites have in infecting mosquitoes, tracked per genotype. It is possible that in the future a recombination option will be added to this list, however designing a suitable model is not trivial.
Locus
→ scenario → parasiteGenetics → locus
<locus
name=string
>
IN THIS ORDER:
| ( <allele ... /> )+
</locus>
Documentation (element)
Describes a locus, or a point at which an infection may vary. The genotype of an infection is determined by choosing one allele at each locus. Initial frequencies of alleles are specified independently for each locus, but subsequent infections are selected according to success of genotypes.
Alleles at loci can affect fitness and resistance to any number of drugs.
Attributes
Name of locus
name=string
Name of the Locus
Allele
→ scenario → parasiteGenetics → locus → allele
<allele
name=string
initialFrequency=double
fitness=double
[ hrp2_deletion=boolean ] DEFAULT VALUE false
/>
Documentation (element)
Describes an allele, or one possible genetic option of multiple at one point of variance.
Attributes
Name
name=string
Name of the allele; used to refer to it elsewhere.
Initial frequency
initialFrequency=double
Specification of how commonly this allele occurs during warmup relative to other alleles of the same locus. During the simulation's initialisation phases, the frequency at which each allele of each locus occurs is fixed. After the initialisation phase, frequency of alleles is modelled as an emergent property of the success of genotypes.
Fitness factor
fitness=double
Fitness factor of the allele. This is multiplication factor used to speed up or slow down replication of parasites. For example, if a genotype has an allele with a fitness factor of 1 at one locus and another allele with a fitness factor of 0.8 at a second locus, then the parasites with the genotype will replicate 20% slower than the baseline.
HRP2 deletion
hrp2_deletion=boolean
Default value: false
If true, marks this allele as having deleted HRP2. The effect on the simulation is that any diagnostic dependent on HRP2 behaves as if infections with deleted HRP2 have density 0. A diagnostic MUST explicitly set mechanism="HRP2" for this to have any effect.
Drug parameters (PK, PD and usage)
→ scenario → pharmacology
<pharmacology>
IN THIS ORDER:
| <treatments ... />
| <drugs ... />
</pharmacology>
Documentation (element)
Drug model parameters and drug usage parameters
Documentation (type)
A library of drug related data for the PK/PD model.
Treatments library
→ scenario → pharmacology → treatments
<treatments>
IN THIS ORDER:
| ( <schedule ... /> )+
| ( <dosages ... /> )+
</treatments>
Documentation (element)
A library of drug deployment schedules and dosages.
schedule
→ scenario → pharmacology → treatments → schedule
<schedule
name=string
>
IN THIS ORDER:
| ( <medicate ... /> )*
</schedule>
Documentation (type)
A schedule for the administration of drugs in a course of treatment.
Note that dose sizes are multiplied by some multiplier (see dosages) and the times of all doses may be delayed.
Attributes
Name
name=string
Name for referring to this deployment schedule
medicate
→ scenario → pharmacology → treatments → schedule → medicate
<medicate
drug=string
mg=double
hour=double
/>
Attributes
drug
drug=string
Abbreviated name of drug compound
Drug dose (mg with multiplier)
mg=double
Units: mg per something
Quantity of drug compound in mg per something. A separate dosage table must be used when medicating, which may specify multipliers of this number based on patient age or weight.
Time of administration
hour=double
Units: Hours Min: 0
Number of hours past start of timestep this drug dose is administered at (first dose should be at hour 0).
dosages
→ scenario → pharmacology → treatments → dosages
<dosages
name=string
>
IN THIS ORDER:
| EXACTLY ONE OF:
| | ( <age ... /> )+
| | ( <bodymass ... /> )+
| | <multiply ... />
</dosages>
Documentation (type)
A table for selecting a dose size. There are several ways this can work: using the patient's age or body mass in a look-up table to get a multplier, or directly using body mass as the multiplier.
The doses specified in "mg" in the treatment schedule are then multiplied by this multiplier.
Attributes
Name
name=string
Name for referring to this dosage table
Look-up table (age)
→ scenario → pharmacology → treatments → dosages → age
<age
lowerbound=double
dose_mult=double
/>
Documentation (element)
Select dose multiplier from a look-up table using the patient's age.
Documentation (type)
A look-up table which uses patient age (in years) or weight (in kg) to find a multiplier.
Attributes
Lower bound (inclusive)
lowerbound=double
Units: years or kg Min: 0
Dose multiplier
dose_mult=double
Min: 0
The dose size given in the schedule (in "mg") is multiplied by this value for patients falling into this range when this dosage table is used.
Look-up table (weight)
→ scenario → pharmacology → treatments → dosages → bodymass
<bodymass
lowerbound=double
dose_mult=double
/>
Documentation (element)
Select dose multiplier from a look-up table using the patient's body mass.
Documentation (type)
A look-up table which uses patient age (in years) or weight (in kg) to find a multiplier.
Attributes
Lower bound (inclusive)
lowerbound=double
Units: years or kg Min: 0
Dose multiplier
dose_mult=double
Min: 0
The dose size given in the schedule (in "mg") is multiplied by this value for patients falling into this range when this dosage table is used.
Multiply dose
→ scenario → pharmacology → treatments → dosages → multiply
<multiply
by=("kg")
/>
Documentation (element)
Multiply the dose by some quantity, such as patient weight.
Attributes
By what?
by=("kg")
Quantity to multiply the dose by. Only option is "kg" (patient weight in kg).
Drug library
→ scenario → pharmacology → drugs
<drugs>
IN THIS ORDER:
| ( <drug ... /> )+
</drugs>
Documentation (element)
A library of drug PK/PD data.
drug
→ scenario → pharmacology → drugs → drug
<drug
abbrev=string
>
IN THIS ORDER:
| <PD ... />
| <PK ... />
</drug>
Documentation (type)
A drug description with PK/PD parameters.
Attributes
abbrev
abbrev=string
PD
→ scenario → pharmacology → drugs → drug → PD
<PD
[ locus=string ]
>
IN THIS ORDER:
| ( <phenotype ... /> )+
</PD>
Attributes
Locus
locus=string
Optional; if present specifies the locus corresponding to this drug's PD phenotypes: each phenotype must then match one of that locus's alleles. Otherwise the drug should specify only one phenotype. There is currently a one-to-many correspondance between loci and drugs.
PD parameters for some allele / resistance phenotype
→ scenario → pharmacology → drugs → drug → PD → phenotype
<phenotype
[ name=string ]
>
IN THIS ORDER:
| ( <restriction ... /> )*
| <max_killing_rate ... />
| <IC50 ... />
| <slope ... />
</phenotype>
Documentation (element)
Pharmaco-Dynamic parameters for some resistance phenotype.
To model resistance to this drug, describe multiple infection phenotypes (with respect to these PD parameters) and list one or more "restrict" elements for each phenotype.
Loci are specified elsewhere. Multiple loci may influence the action of a single drug and each locus may influence multiple drugs.
Attributes
Name of phenotype
name=string
Name of the phenotype; for documentation use only.
Restrict phenotype applicability to certain alleles
→ scenario → pharmacology → drugs → drug → PD → phenotype → restriction
<restriction
onLocus=string
toAllele=string
/>
Documentation (element)
Specifies the mapping from genotype to phenotype. For each drug type, if only one phenotype is present, restrictions need not be specified, but otherwise restrictions must be specified.
The set of loci affecting phenotypes of this drug's action must be fixed for any drug type. Each phenotype must list, for each of these loci, a restriction to one or more alleles under the locus.
Attributes
Locus relevant to the mapping of alleles to this phenotype
onLocus=string
A locus under which only a restricted set of alleles map to this phenotype.
Alleles mapping to this phenotype
toAllele=string
One allele of a locus upon which phenotype choice depends. If multiple alleles under this locus should map to the same phenotype, repeat the whole "restriction onLocus..." element.
Maximal parasite killing rate
→ scenario → pharmacology → drugs → drug → PD → phenotype → max_killing_rate
<max_killing_rate>
double
</max_killing_rate>
Documentation (element)
Units: 1/days Min: 0
k1 — Maximal parasite killing rate.
IC50
→ scenario → pharmacology → drugs → drug → PD → phenotype → IC50
<IC50
[ CV=double ]
[ distr=("const" or "lognormal" or "gamma") ] DEFAULT VALUE const
[ variance=double ]
mean=double
/>
Documentation (element)
Units: mg/l Min: 0
Half maximal effect concentration.
If CV > 0, the IC50 is sampled from a log-normal distribution.
Documentation (type)
A parameter with optional log-normal heterogeneity.
The mean value must be specified. Optionally, a distribution ("distr") and coefficient of variation ("CV") may be specified.
Documentation (base type)
A parameter with optional heterogeneity.
The mean cannot be specified (unless this type is extended). Optionally, a distribution ("distr") and coefficient of variation ("CV") may be specified.
Attributes
Coefficient of variation
CV=double
Units: unitless
The (linear) coefficient of variation. This value must be specified when a (non-constant) distribution is used. Note: since version 46, variance can be used instead. Note that specifying CV="0" has the same effect as distr="const" and disables sampling of this parameter, even if distr is not "const".
Distribution
distr=("const" or "lognormal" or "gamma")
Default value: const
To allow heterogeneity, a distribution must be specified. Valid options are as follows. "const": no variation or sampling. Specifying distr="const" has the same effect as not specifying distr at all. "lognormal": the parameter is sampled from a log-normal distribution. Note that the "mean" and "CV" values are linear (arithmetic) properties of the distribution and not log-space properties.
Coefficient of variation
variance=double
Units: unitless
The variance parameter of the distirbution. This value can be specified when a (non-constant) distribution is used. Note that specifying variance="0" has the same effect as distr="const" and disables sampling of this parameter, even if distr is not "const".
mean
mean=double
The (linear) mean value.
Slope of effect curve
→ scenario → pharmacology → drugs → drug → PD → phenotype → slope
<slope>
double
</slope>
Documentation (element)
Units: dimensionless
n — Slope of the concentration effect curve
PK
→ scenario → pharmacology → drugs → drug → PK
<PK>
IN THIS ORDER:
| <negligible_concentration ... />
| EXACTLY ONE OF:
| | <half_life ... />
| | IN THIS ORDER:
| | | <k ... />
| | | <m_exponent ... />
| [ <k_a ... /> ]
| [ <conversion ... /> ]
| <vol_dist ... />
| [ <compartment2 ... /> ]
| [ <compartment3 ... /> ]
</PK>
Drug concentration considered negligible
→ scenario → pharmacology → drugs → drug → PK → negligible_concentration
<negligible_concentration>
double
</negligible_concentration>
Documentation (element)
Units: mg/l Min: 0
Concentration below which drug's effects are deemed negligible and can be removed from simulation.
drug half-life
→ scenario → pharmacology → drugs → drug → PK → half_life
<half_life>
double
</half_life>
Documentation (element)
Units: days Min: 0
Used to calculate elimination rate λ, calculated as λ = ln(2) / half_life. The basic form of decay is C(t) = C0 * exp(-λ*t).
Alternatively, elimination rate can be specified via k and m_exponent.
Constant associated with elimination rate (k)
→ scenario → pharmacology → drugs → drug → PK → k
<k
[ CV=double ]
[ distr=("const" or "lognormal" or "gamma") ] DEFAULT VALUE const
[ variance=double ]
mean=double
/>
Documentation (element)
Units: day^-1 Min: 0
Constant used to calculate the elimination rate λ, which is calculated as λ = k / (body_mass ^ m_exponent), where body_mass is the patient's weight in kg and m_exponent is the next parameter. The basic form of decay is C(t) = C0 * exp(-λ*t).
If CV > 0, k is sampled per-human from the log-normal distribution: ln N( ln(mean) - σ^2 / 2, σ^2).
Alternatively, elimination rate can be specified via half_life.
Documentation (type)
A parameter with optional log-normal heterogeneity.
The mean value must be specified. Optionally, a distribution ("distr") and coefficient of variation ("CV") may be specified.
Documentation (base type)
A parameter with optional heterogeneity.
The mean cannot be specified (unless this type is extended). Optionally, a distribution ("distr") and coefficient of variation ("CV") may be specified.
Attributes
Coefficient of variation
CV=double
Units: unitless
The (linear) coefficient of variation. This value must be specified when a (non-constant) distribution is used. Note: since version 46, variance can be used instead. Note that specifying CV="0" has the same effect as distr="const" and disables sampling of this parameter, even if distr is not "const".
Distribution
distr=("const" or "lognormal" or "gamma")
Default value: const
To allow heterogeneity, a distribution must be specified. Valid options are as follows. "const": no variation or sampling. Specifying distr="const" has the same effect as not specifying distr at all. "lognormal": the parameter is sampled from a log-normal distribution. Note that the "mean" and "CV" values are linear (arithmetic) properties of the distribution and not log-space properties.
Coefficient of variation
variance=double
Units: unitless
The variance parameter of the distirbution. This value can be specified when a (non-constant) distribution is used. Note that specifying variance="0" has the same effect as distr="const" and disables sampling of this parameter, even if distr is not "const".
mean
mean=double
The (linear) mean value.
Constant associated with elimination rate (m_exponent)
→ scenario → pharmacology → drugs → drug → PK → m_exponent
<m_exponent>
double
</m_exponent>
Documentation (element)
Units: day^-1 Min: 0
Constant used to calculate the elimination rate λ, which is calculated as λ = k / (body_mass ^ m_exponent), where body_mass is the patient's weight in kg and k is the previous parameter. The basic form of decay is C(t) = C0 * exp(-λ*t).
Alternatively, elimination rate can be specified via half_life.
Note that in the case of a conversion model, this applies to both the elimination and the conversion rates.
Absorption rate constant (k_a)
→ scenario → pharmacology → drugs → drug → PK → k_a
<k_a
[ CV=double ]
[ distr=("const" or "lognormal" or "gamma") ] DEFAULT VALUE const
[ variance=double ]
mean=double
/>
Documentation (element)
Min: 0
Absorption rate parameter. Not allowed for one compartment models, but required for two and three compartment models and one compartment with conversion model (for the parent drug only).
Documentation (type)
A parameter with optional log-normal heterogeneity.
The mean value must be specified. Optionally, a distribution ("distr") and coefficient of variation ("CV") may be specified.
Documentation (base type)
A parameter with optional heterogeneity.
The mean cannot be specified (unless this type is extended). Optionally, a distribution ("distr") and coefficient of variation ("CV") may be specified.
Attributes
Coefficient of variation
CV=double
Units: unitless
The (linear) coefficient of variation. This value must be specified when a (non-constant) distribution is used. Note: since version 46, variance can be used instead. Note that specifying CV="0" has the same effect as distr="const" and disables sampling of this parameter, even if distr is not "const".
Distribution
distr=("const" or "lognormal" or "gamma")
Default value: const
To allow heterogeneity, a distribution must be specified. Valid options are as follows. "const": no variation or sampling. Specifying distr="const" has the same effect as not specifying distr at all. "lognormal": the parameter is sampled from a log-normal distribution. Note that the "mean" and "CV" values are linear (arithmetic) properties of the distribution and not log-space properties.
Coefficient of variation
variance=double
Units: unitless
The variance parameter of the distirbution. This value can be specified when a (non-constant) distribution is used. Note that specifying variance="0" has the same effect as distr="const" and disables sampling of this parameter, even if distr is not "const".
mean
mean=double
The (linear) mean value.
Conversion parameters (parent drug)
→ scenario → pharmacology → drugs → drug → PK → conversion
<conversion>
IN ANY ORDER:
| <metabolite ... />
| <rate ... />
| <molRatio ... />
| <IC50_log_correlation ... />
</conversion>
Documentation (element)
Configures the parent drug in a conversion model.
To use a conversion model, the parent drug should have this section defined as well as half-life or k (direct elimination; this may be zero) and k_a (absorption rate; this may be large).
The metabolite drug should define half-life or k (elimination of metabolite), but not k_a (absorption rate) or this section (conversion). It is not possible for the metabolite to itself undergo conversion with the current models.
Metabolite drug (abbreviation)
→ scenario → pharmacology → drugs → drug → PK → conversion → metabolite
<metabolite>
string
</metabolite>
Documentation (element)
The abbreviation of the metabolite drug (e.g. "DHA" or "DHA_AR").
Rate of conversion
→ scenario → pharmacology → drugs → drug → PK → conversion → rate
<rate
[ CV=double ]
[ distr=("const" or "lognormal" or "gamma") ] DEFAULT VALUE const
[ variance=double ]
mean=double
/>
Documentation (element)
Rate of conversion of parent drug to metabolite.
Documentation (type)
A parameter with optional log-normal heterogeneity.
The mean value must be specified. Optionally, a distribution ("distr") and coefficient of variation ("CV") may be specified.
Documentation (base type)
A parameter with optional heterogeneity.
The mean cannot be specified (unless this type is extended). Optionally, a distribution ("distr") and coefficient of variation ("CV") may be specified.
Attributes
Coefficient of variation
CV=double
Units: unitless
The (linear) coefficient of variation. This value must be specified when a (non-constant) distribution is used. Note: since version 46, variance can be used instead. Note that specifying CV="0" has the same effect as distr="const" and disables sampling of this parameter, even if distr is not "const".
Distribution
distr=("const" or "lognormal" or "gamma")
Default value: const
To allow heterogeneity, a distribution must be specified. Valid options are as follows. "const": no variation or sampling. Specifying distr="const" has the same effect as not specifying distr at all. "lognormal": the parameter is sampled from a log-normal distribution. Note that the "mean" and "CV" values are linear (arithmetic) properties of the distribution and not log-space properties.
Coefficient of variation
variance=double
Units: unitless
The variance parameter of the distirbution. This value can be specified when a (non-constant) distribution is used. Note that specifying variance="0" has the same effect as distr="const" and disables sampling of this parameter, even if distr is not "const".
mean
mean=double
The (linear) mean value.
Molecular weight ratio
→ scenario → pharmacology → drugs → drug → PK → conversion → molRatio
<molRatio>
double
</molRatio>
Documentation (element)
Ratio of molecular weights: molecular weight of the metabolite divided by molecular weight of the parent.
IC50 log correlation
→ scenario → pharmacology → drugs → drug → PK → conversion → IC50_log_correlation
<IC50_log_correlation>
double
</IC50_log_correlation>
Documentation (element)
Min: 0 Max: 1
The IC50 values of parent and metabolite drugs may be sampled from the log-normal distribution (if CV is greater than 0). This parameter controls correlation between these samples, measured in log-space.
If this value is 1, samples are fully correlated: a single z-score is used to calculate both samples. If this is 0, two independent samples are used.
Values between 0 and 1 (partial correlation) are supported; in this case IC50 values are sampled such that cor(log(x), log(y)) matches this value (where x, y are parent and metabolite IC50 values).
Volume of Distribution (Vd)
→ scenario → pharmacology → drugs → drug → PK → vol_dist
<vol_dist
[ CV=double ]
[ distr=("const" or "lognormal" or "gamma") ] DEFAULT VALUE const
[ variance=double ]
mean=double
/>
Documentation (element)
Units: l/kg Min: 0
Volume of Distribution.
If CV > 0 this is sampled from a log-normal distribution.
Documentation (type)
A parameter with optional log-normal heterogeneity.
The mean value must be specified. Optionally, a distribution ("distr") and coefficient of variation ("CV") may be specified.
Documentation (base type)
A parameter with optional heterogeneity.
The mean cannot be specified (unless this type is extended). Optionally, a distribution ("distr") and coefficient of variation ("CV") may be specified.
Attributes
Coefficient of variation
CV=double
Units: unitless
The (linear) coefficient of variation. This value must be specified when a (non-constant) distribution is used. Note: since version 46, variance can be used instead. Note that specifying CV="0" has the same effect as distr="const" and disables sampling of this parameter, even if distr is not "const".
Distribution
distr=("const" or "lognormal" or "gamma")
Default value: const
To allow heterogeneity, a distribution must be specified. Valid options are as follows. "const": no variation or sampling. Specifying distr="const" has the same effect as not specifying distr at all. "lognormal": the parameter is sampled from a log-normal distribution. Note that the "mean" and "CV" values are linear (arithmetic) properties of the distribution and not log-space properties.
Coefficient of variation
variance=double
Units: unitless
The variance parameter of the distirbution. This value can be specified when a (non-constant) distribution is used. Note that specifying variance="0" has the same effect as distr="const" and disables sampling of this parameter, even if distr is not "const".
mean
mean=double
The (linear) mean value.
Second compartment parameters
→ scenario → pharmacology → drugs → drug → PK → compartment2
<compartment2>
IN ANY ORDER:
| <k12 ... />
| <k21 ... />
</compartment2>
Documentation (element)
Optional element specifying conversion parameters to- and from- a second compartment.
Absorption rate to compartment 2 (k12)
→ scenario → pharmacology → drugs → drug → PK → compartment2 → k12
<k12
[ CV=double ]
[ distr=("const" or "lognormal" or "gamma") ] DEFAULT VALUE const
[ variance=double ]
mean=double
/>
Documentation (element)
Units: day^-1 Min: 0
Absorption rate from the central compartment to the first periphery compartment (2).
It is sampled per-patient when CV > 0.
Documentation (type)
A parameter with optional log-normal heterogeneity.
The mean value must be specified. Optionally, a distribution ("distr") and coefficient of variation ("CV") may be specified.
Documentation (base type)
A parameter with optional heterogeneity.
The mean cannot be specified (unless this type is extended). Optionally, a distribution ("distr") and coefficient of variation ("CV") may be specified.
Attributes
Coefficient of variation
CV=double
Units: unitless
The (linear) coefficient of variation. This value must be specified when a (non-constant) distribution is used. Note: since version 46, variance can be used instead. Note that specifying CV="0" has the same effect as distr="const" and disables sampling of this parameter, even if distr is not "const".
Distribution
distr=("const" or "lognormal" or "gamma")
Default value: const
To allow heterogeneity, a distribution must be specified. Valid options are as follows. "const": no variation or sampling. Specifying distr="const" has the same effect as not specifying distr at all. "lognormal": the parameter is sampled from a log-normal distribution. Note that the "mean" and "CV" values are linear (arithmetic) properties of the distribution and not log-space properties.
Coefficient of variation
variance=double
Units: unitless
The variance parameter of the distirbution. This value can be specified when a (non-constant) distribution is used. Note that specifying variance="0" has the same effect as distr="const" and disables sampling of this parameter, even if distr is not "const".
mean
mean=double
The (linear) mean value.
Absorption rate from compartment 2 (k21)
→ scenario → pharmacology → drugs → drug → PK → compartment2 → k21
<k21
[ CV=double ]
[ distr=("const" or "lognormal" or "gamma") ] DEFAULT VALUE const
[ variance=double ]
mean=double
/>
Documentation (element)
Units: day^-1 Min: 0
Absorption rate from the first periphery compartment (2) to the central compartment.
It is sampled per-patient when CV > 0.
Documentation (type)
A parameter with optional log-normal heterogeneity.
The mean value must be specified. Optionally, a distribution ("distr") and coefficient of variation ("CV") may be specified.
Documentation (base type)
A parameter with optional heterogeneity.
The mean cannot be specified (unless this type is extended). Optionally, a distribution ("distr") and coefficient of variation ("CV") may be specified.
Attributes
Coefficient of variation
CV=double
Units: unitless
The (linear) coefficient of variation. This value must be specified when a (non-constant) distribution is used. Note: since version 46, variance can be used instead. Note that specifying CV="0" has the same effect as distr="const" and disables sampling of this parameter, even if distr is not "const".
Distribution
distr=("const" or "lognormal" or "gamma")
Default value: const
To allow heterogeneity, a distribution must be specified. Valid options are as follows. "const": no variation or sampling. Specifying distr="const" has the same effect as not specifying distr at all. "lognormal": the parameter is sampled from a log-normal distribution. Note that the "mean" and "CV" values are linear (arithmetic) properties of the distribution and not log-space properties.
Coefficient of variation
variance=double
Units: unitless
The variance parameter of the distirbution. This value can be specified when a (non-constant) distribution is used. Note that specifying variance="0" has the same effect as distr="const" and disables sampling of this parameter, even if distr is not "const".
mean
mean=double
The (linear) mean value.
Third compartment parameters
→ scenario → pharmacology → drugs → drug → PK → compartment3
<compartment3>
IN ANY ORDER:
| <k13 ... />
| <k31 ... />
</compartment3>
Documentation (element)
Optional element specifying conversion parameters to- and from- a third compartment.
Absorption rate to compartment 3 (k13)
→ scenario → pharmacology → drugs → drug → PK → compartment3 → k13
<k13
[ CV=double ]
[ distr=("const" or "lognormal" or "gamma") ] DEFAULT VALUE const
[ variance=double ]
mean=double
/>
Documentation (element)
Units: day^-1 Min: 0
Absorption rate from the central compartment to the second periphery compartment (3).
It is sampled per-patient when CV > 0.
Documentation (type)
A parameter with optional log-normal heterogeneity.
The mean value must be specified. Optionally, a distribution ("distr") and coefficient of variation ("CV") may be specified.
Documentation (base type)
A parameter with optional heterogeneity.
The mean cannot be specified (unless this type is extended). Optionally, a distribution ("distr") and coefficient of variation ("CV") may be specified.
Attributes
Coefficient of variation
CV=double
Units: unitless
The (linear) coefficient of variation. This value must be specified when a (non-constant) distribution is used. Note: since version 46, variance can be used instead. Note that specifying CV="0" has the same effect as distr="const" and disables sampling of this parameter, even if distr is not "const".
Distribution
distr=("const" or "lognormal" or "gamma")
Default value: const
To allow heterogeneity, a distribution must be specified. Valid options are as follows. "const": no variation or sampling. Specifying distr="const" has the same effect as not specifying distr at all. "lognormal": the parameter is sampled from a log-normal distribution. Note that the "mean" and "CV" values are linear (arithmetic) properties of the distribution and not log-space properties.
Coefficient of variation
variance=double
Units: unitless
The variance parameter of the distirbution. This value can be specified when a (non-constant) distribution is used. Note that specifying variance="0" has the same effect as distr="const" and disables sampling of this parameter, even if distr is not "const".
mean
mean=double
The (linear) mean value.
Absorption rate from compartment 3 (k31)
→ scenario → pharmacology → drugs → drug → PK → compartment3 → k31
<k31
[ CV=double ]
[ distr=("const" or "lognormal" or "gamma") ] DEFAULT VALUE const
[ variance=double ]
mean=double
/>
Documentation (element)
Units: day^-1 Min: 0
Absorption rate from the second periphery compartment (3) to the central compartment.
It is sampled per-patient when CV > 0.
Documentation (type)
A parameter with optional log-normal heterogeneity.
The mean value must be specified. Optionally, a distribution ("distr") and coefficient of variation ("CV") may be specified.
Documentation (base type)
A parameter with optional heterogeneity.
The mean cannot be specified (unless this type is extended). Optionally, a distribution ("distr") and coefficient of variation ("CV") may be specified.
Attributes
Coefficient of variation
CV=double
Units: unitless
The (linear) coefficient of variation. This value must be specified when a (non-constant) distribution is used. Note: since version 46, variance can be used instead. Note that specifying CV="0" has the same effect as distr="const" and disables sampling of this parameter, even if distr is not "const".
Distribution
distr=("const" or "lognormal" or "gamma")
Default value: const
To allow heterogeneity, a distribution must be specified. Valid options are as follows. "const": no variation or sampling. Specifying distr="const" has the same effect as not specifying distr at all. "lognormal": the parameter is sampled from a log-normal distribution. Note that the "mean" and "CV" values are linear (arithmetic) properties of the distribution and not log-space properties.
Coefficient of variation
variance=double
Units: unitless
The variance parameter of the distirbution. This value can be specified when a (non-constant) distribution is used. Note that specifying variance="0" has the same effect as distr="const" and disables sampling of this parameter, even if distr is not "const".
mean
mean=double
The (linear) mean value.
Diagnostic parameters
→ scenario → diagnostics
<diagnostics>
IN THIS ORDER:
| ( <diagnostic ... /> )*
</diagnostics>
Documentation (element)
Diagnostic model parameters
diagnostic
→ scenario → diagnostics → diagnostic
<diagnostic
name=string
[ units=("Other" or "Garki" or "Malariatherapy") ]
[ mechanism=("Other" or "HRP2") ] DEFAULT VALUE Other
>
IN THIS ORDER:
| EXACTLY ONE OF:
| | <deterministic ... />
| | <stochastic ... />
</diagnostic>
Attributes
Name of diagnostic
name=string
Name of this diagnostic (parameterisation). May be used elsewhere in the XML document to refer to this set of diagnostic parameters.
Parasite density units / methodology
units=("Other" or "Garki" or "Malariatherapy")
Parasite densities, as estimated according to standard microscopy methods, the Garki method, and as derived from Malariatherapy data are not equivalent. Internally, a "bias" factor is used to convert values estimated by one methods to values comparable with another (see AJTMHv75 supplement 2 pp20-21). This option allows specification of which methodology the density given in the diagnostic specification is measured with. Values allowed are: Malariatherapy, Garki and Other. If not specified, Other is assumed, unless the GARKI_DENSITY_BIAS model option is used, in which case this option must be specified.
Mechanism
mechanism=("Other" or "HRP2")
Default value: Other
Mechanism by which this diagnostic functions. Possible values are: HRP2, Other. In the case of HRP2, infections with an hrp2_deletion will be invisible to this diagnostic. In the case of Other, the diagnostic is unaffected by infection genome. The diagnostic used for monitoring cannot use HRP2. (This is a restriction made to simplify implementation.)
Deterministic detection
→ scenario → diagnostics → diagnostic → deterministic
<deterministic
minDensity=double
/>
Documentation (element)
Specify that an artificial deterministic test is used: outcome is positive if parasite density is at least the minimum given.
Attributes
Minimum detectible density
minDensity=double
Units: parasites/microlitre Min: 0
The minimum density at which parasites can be detected. If 0, the test outcome is always positive.
Non-deterministic detection
→ scenario → diagnostics → diagnostic → stochastic
<stochastic
dens_50=double
specificity=double
/>
Documentation (element)
An improved model of detection which is non-deterministic, including false positive results as well as false negatives.
The probability of a positive outcome is modelled as 1 + s×(x/(x+d) - 1) where x is the parasite density, d is the density at which the test outcome has a 50% chance of being positive, and s is the probability of a positive outcome given no parasites (the specificity).
Some parameterisations:
Microscopy sensitivity/specificity data in Africa; Source: expert opinion — Allan Schapira dens_50 = 20.0 specificity = .75
RDT sensitivity/specificity for Plasmodium falciparum in Africa Source: Murray et al (Clinical Microbiological Reviews, Jan. 2008) dens_50 = 50.0; specificity = .942;
Attributes
Density 50
dens_50=double
Units: parasites/microlitre Min: 0
The density at which the test outcome has a 50% chance of being positive.
Specificity
specificity=double
Units: Dimensionless Min: 0 Max: 1
The probability of a positive test outcome in the absense of parasites.
Model options and parameters
<model>
IN ANY ORDER:
| <ModelOptions ... />
| <clinical ... />
| <human ... />
| [ <vivax ... /> ]
| <parameters ... />
</model>
Documentation (element)
Encapsulation of all parameters which describe the model according to which fitting is done.
Model Options
→ scenario → model → ModelOptions
<ModelOptions>
IN THIS ORDER:
| ( <option ... /> )*
</ModelOptions>
Documentation (element)
All model options (bug fixes, choices between models, etc.).
The list of recognised options can be found in the code at:
model/util/ModelOptions.h and should also be in the wiki.
clinical
<clinical
healthSystemMemory=string
>
IN ANY ORDER:
| [ <NeonatalMortality ... /> ]
| [ <NonMalariaFevers ... /> ]
</clinical>
Documentation (type)
Description of clinical parameters that are related to the health-system description, but which contain data that cannot be changed as part of an intervention and that are not restricted to treatment.
Attributes
Follow-up period during which recurrence is considered a treatment failure
healthSystemMemory=string
Units: User-defined (defaults to steps)
Follow-up period during which a recurrence is considered to be a treatment failure Can be specified in steps (e.g. 6t) or days (e.g. 28d).
Neonatal mortality parameters
→ scenario → model → clinical → NeonatalMortality
<NeonatalMortality
diagnostic=string
/>
Attributes
Diagnostic used to parameterise model
diagnostic=string
The name of a diagnostic used to parameterise the model. Neonatal mortality is derived from malaria patency of a certain sub-population of humans. This is the diagnostic used to asses patency for this purpose. If this is not specified, the monitoring diagnostic is used.
NonMalariaFevers
→ scenario → model → clinical → NonMalariaFevers
<NonMalariaFevers>
IN THIS ORDER:
| <incidence ... />
| [ <prNeedTreatmentNMF ... /> ]
| [ <prNeedTreatmentMF ... /> ]
</NonMalariaFevers>
Documentation (type)
Description of the incidence of non-malaria fever. Non-malaria fevers are only modelled if the NON_MALARIA_FEVERS option is used.
P(NMF)
→ scenario → model → clinical → NonMalariaFevers → incidence
<incidence
[ interpolation=("none" or "linear") ]
>
IN THIS ORDER:
| ( <group ... /> )+
</incidence>
Documentation (element)
Units: Dimensionless Min: 0.0 Max: 1.0
Probability that a non-malaria fever occurs given that no concurrent malaria fever occurs.
Attributes
interpolation
interpolation=("none" or "linear")
Interpolation algorithm. Normally it is desirable for age-based values to be continuous w.r.t. age. By default linear interpolation is used. With all algorithms except "none", the age groups are converted to a set of points centred within each age range. Extra points are added at each end (zero and infinity) to keep value constant at both ends of the function. A zero-length age group may be used as a kind of barrier to adjust the distribution; e.g. with age group boundaries at 15, 20 and 25 years, a (linear) spline would be drawn between ages 17.5 and 22.5, whereas with boundaries at 15, 20 and 20 years, a spline would be drawn between ages 17.5 and 20 years (may be desired if individuals are assumed to reach adult size at 20). Algorithms:
- none: input values are used directly
- linear: straight lines (on an age vs. value graph) are used to interpolate data points.
P(need treatment | NMF)
→ scenario → model → clinical → NonMalariaFevers → prNeedTreatmentNMF
<prNeedTreatmentNMF
[ interpolation=("none" or "linear") ]
>
IN THIS ORDER:
| ( <group ... /> )+
</prNeedTreatmentNMF>
Documentation (element)
Units: Dimensionless Min: 0 Max: 1
Probability that a non-malarial fever requires treatment with antibiotics (assuming fever is not induced by malaria, although concurrent parasites may be present).
Attributes
interpolation
interpolation=("none" or "linear")
Interpolation algorithm. Normally it is desirable for age-based values to be continuous w.r.t. age. By default linear interpolation is used. With all algorithms except "none", the age groups are converted to a set of points centred within each age range. Extra points are added at each end (zero and infinity) to keep value constant at both ends of the function. A zero-length age group may be used as a kind of barrier to adjust the distribution; e.g. with age group boundaries at 15, 20 and 25 years, a (linear) spline would be drawn between ages 17.5 and 22.5, whereas with boundaries at 15, 20 and 20 years, a spline would be drawn between ages 17.5 and 20 years (may be desired if individuals are assumed to reach adult size at 20). Algorithms:
- none: input values are used directly
- linear: straight lines (on an age vs. value graph) are used to interpolate data points.
P(need treatment | MF)
→ scenario → model → clinical → NonMalariaFevers → prNeedTreatmentMF
<prNeedTreatmentMF
[ interpolation=("none" or "linear") ]
>
IN THIS ORDER:
| ( <group ... /> )+
</prNeedTreatmentMF>
Documentation (element)
Units: Dimensionless Min: 0 Max: 1
Probability that a malaria fever needs treatment with antibiotics (assuming fever is induced by malaria, although concurrent bacteria may be present).
Meaning partially overlaps with separate model for comorbidity given malaria.
Attributes
interpolation
interpolation=("none" or "linear")
Interpolation algorithm. Normally it is desirable for age-based values to be continuous w.r.t. age. By default linear interpolation is used. With all algorithms except "none", the age groups are converted to a set of points centred within each age range. Extra points are added at each end (zero and infinity) to keep value constant at both ends of the function. A zero-length age group may be used as a kind of barrier to adjust the distribution; e.g. with age group boundaries at 15, 20 and 25 years, a (linear) spline would be drawn between ages 17.5 and 22.5, whereas with boundaries at 15, 20 and 20 years, a spline would be drawn between ages 17.5 and 20 years (may be desired if individuals are assumed to reach adult size at 20). Algorithms:
- none: input values are used directly
- linear: straight lines (on an age vs. value graph) are used to interpolate data points.
human
<human>
IN THIS ORDER:
| <availabilityToMosquitoes ... />
| [ <weight ... /> ]
</human>
Documentation (type)
Parameters of host models.
Availability to mosquitoes
→ scenario → model → human → availabilityToMosquitoes
<availabilityToMosquitoes
[ interpolation=("none" or "linear") ]
>
IN THIS ORDER:
| ( <group ... /> )+
</availabilityToMosquitoes>
Documentation (element)
Units: None Min: 0 Max: 1
Availability of humans to mosquitoes relative to an adult, categorized by age group
Attributes
interpolation
interpolation=("none" or "linear")
Interpolation algorithm. Normally it is desirable for age-based values to be continuous w.r.t. age. By default linear interpolation is used. With all algorithms except "none", the age groups are converted to a set of points centred within each age range. Extra points are added at each end (zero and infinity) to keep value constant at both ends of the function. A zero-length age group may be used as a kind of barrier to adjust the distribution; e.g. with age group boundaries at 15, 20 and 25 years, a (linear) spline would be drawn between ages 17.5 and 22.5, whereas with boundaries at 15, 20 and 20 years, a spline would be drawn between ages 17.5 and 20 years (may be desired if individuals are assumed to reach adult size at 20). Algorithms:
- none: input values are used directly
- linear: straight lines (on an age vs. value graph) are used to interpolate data points.
Weight
→ scenario → model → human → weight
<weight
[ interpolation=("none" or "linear") ]
multStdDev=double
>
IN THIS ORDER:
| ( <group ... /> )+
</weight>
Documentation (element)
Units: kg Min: 0
By age group data on human weight (mass).
Attributes
interpolation
interpolation=("none" or "linear")
Interpolation algorithm. Normally it is desirable for age-based values to be continuous w.r.t. age. By default linear interpolation is used. With all algorithms except "none", the age groups are converted to a set of points centred within each age range. Extra points are added at each end (zero and infinity) to keep value constant at both ends of the function. A zero-length age group may be used as a kind of barrier to adjust the distribution; e.g. with age group boundaries at 15, 20 and 25 years, a (linear) spline would be drawn between ages 17.5 and 22.5, whereas with boundaries at 15, 20 and 20 years, a spline would be drawn between ages 17.5 and 20 years (may be desired if individuals are assumed to reach adult size at 20). Algorithms:
- none: input values are used directly
- linear: straight lines (on an age vs. value graph) are used to interpolate data points.
Standard deviation
multStdDev=double
Units: None Min: 0
Each human is assigned a weight multiplier from a normal distribution with mean 1 and this standard deviation at birth. His/her weight is this multiplier times the mean from age distribution. A standard deviation of zero for no heterogeneity is valid; a rough value from Tanzanian data is 0.14.
Vivax model parameters
<vivax>
IN ANY ORDER:
| <probBloodStageInfectiousToMosq ... />
| <hypnozoiteRelease ... />
| <bloodStageProtectionLatency ... />
| <bloodStageLengthDays ... />
| <clinicalEvents ... />
</vivax>
- probBloodStageInfectiousToMosq
- hypnozoiteRelease
- bloodStageProtectionLatency
- bloodStageLengthDays
- clinicalEvents
Documentation (element)
This describes Vivax model parameters, and is required when using the VIVAX_SIMPLE_MODEL model option.
Probability of mosquito infection
→ scenario → model → vivax → probBloodStageInfectiousToMosq
<probBloodStageInfectiousToMosq
value=double
/>
Documentation (element)
Units: None Min: 0 Max: 1
The chance of a feeding mosquito becoming infected, given that the host is patent. (This may be adjusted by transmission-blocking vaccines.)
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Hypnozoite releases
→ scenario → model → vivax → hypnozoiteRelease
<hypnozoiteRelease
[ pSecondRelease=double ] DEFAULT VALUE 0
>
IN ANY ORDER:
| <numberHypnozoites ... />
| <firstReleaseDays ... />
| [ <secondReleaseDays ... /> ]
</hypnozoiteRelease>
Documentation (element)
Describes the number and times of hypnozoite releases.
Documentation (type)
This element defines probabilites when and how many hypnozoites are released from the liverstage into the blood.
The gap between the start of a new brood of hypnozoites and its release are defined as follows:
latentP + latentRelapse + randomReleaseDelay
randomReleaseDelay is based on one or two lognormal distributions, which are defined in firstRelease and optionally secondRelease.
You can define 2 release distributions, which get added together and represent the probability of hypnozoites which get released before winter (first release) or after (second release).
You can omit the secondRelease element if no release to the blood happens after winter.
Attributes
latent relapse days
pSecondRelease=double
Default value: 0
Probability of a second release. If undefined it is zero.
Number of Hypnozoites
→ scenario → model → vivax → hypnozoiteRelease → numberHypnozoites
<numberHypnozoites
max=int
base=double
/>
Documentation (element)
numberHypnozoites calculates the number of hypnozoites in the liver stage based on a base which is between 0 and 1.
This number is random based on the following distribution and normalized:
max ∑ (base ^ n) n = 0
Attributes
max
max=int
base
base=double
firstReleaseDays
→ scenario → model → vivax → hypnozoiteRelease → firstReleaseDays
<firstReleaseDays
[ CV=double ]
[ distr=("const" or "lognormal" or "gamma") ] DEFAULT VALUE const
[ variance=double ]
mean=double
latentRelapse=double
/>
Documentation (type)
Hypnozoites are released after a delay, calculated as: roundToTSFromDays(delay + latentRelapse)
Here, roundToTSFromDays rounds the input (in days) to the nearest timestep, delay is sampled from a log-normal, and latentRelapse is the parameter specified here.
The delay is sampled from a log-normal distribution, parameterised via the (linear) mean and CV (coefficient of variation) given here.
Documentation (base type)
A parameter with optional log-normal heterogeneity.
The mean value must be specified. Optionally, a distribution ("distr") and coefficient of variation ("CV") may be specified.
Documentation (base type)
A parameter with optional heterogeneity.
The mean cannot be specified (unless this type is extended). Optionally, a distribution ("distr") and coefficient of variation ("CV") may be specified.
Attributes
Coefficient of variation
CV=double
Units: unitless
The (linear) coefficient of variation. This value must be specified when a (non-constant) distribution is used. Note: since version 46, variance can be used instead. Note that specifying CV="0" has the same effect as distr="const" and disables sampling of this parameter, even if distr is not "const".
Distribution
distr=("const" or "lognormal" or "gamma")
Default value: const
To allow heterogeneity, a distribution must be specified. Valid options are as follows. "const": no variation or sampling. Specifying distr="const" has the same effect as not specifying distr at all. "lognormal": the parameter is sampled from a log-normal distribution. Note that the "mean" and "CV" values are linear (arithmetic) properties of the distribution and not log-space properties.
Coefficient of variation
variance=double
Units: unitless
The variance parameter of the distirbution. This value can be specified when a (non-constant) distribution is used. Note that specifying variance="0" has the same effect as distr="const" and disables sampling of this parameter, even if distr is not "const".
mean
mean=double
The (linear) mean value.
latent relapse days
latentRelapse=double
Usually between 10 and 15 days.
secondReleaseDays
→ scenario → model → vivax → hypnozoiteRelease → secondReleaseDays
<secondReleaseDays
[ CV=double ]
[ distr=("const" or "lognormal" or "gamma") ] DEFAULT VALUE const
[ variance=double ]
mean=double
latentRelapse=double
/>
Documentation (type)
Hypnozoites are released after a delay, calculated as: roundToTSFromDays(delay + latentRelapse)
Here, roundToTSFromDays rounds the input (in days) to the nearest timestep, delay is sampled from a log-normal, and latentRelapse is the parameter specified here.
The delay is sampled from a log-normal distribution, parameterised via the (linear) mean and CV (coefficient of variation) given here.
Documentation (base type)
A parameter with optional log-normal heterogeneity.
The mean value must be specified. Optionally, a distribution ("distr") and coefficient of variation ("CV") may be specified.
Documentation (base type)
A parameter with optional heterogeneity.
The mean cannot be specified (unless this type is extended). Optionally, a distribution ("distr") and coefficient of variation ("CV") may be specified.
Attributes
Coefficient of variation
CV=double
Units: unitless
The (linear) coefficient of variation. This value must be specified when a (non-constant) distribution is used. Note: since version 46, variance can be used instead. Note that specifying CV="0" has the same effect as distr="const" and disables sampling of this parameter, even if distr is not "const".
Distribution
distr=("const" or "lognormal" or "gamma")
Default value: const
To allow heterogeneity, a distribution must be specified. Valid options are as follows. "const": no variation or sampling. Specifying distr="const" has the same effect as not specifying distr at all. "lognormal": the parameter is sampled from a log-normal distribution. Note that the "mean" and "CV" values are linear (arithmetic) properties of the distribution and not log-space properties.
Coefficient of variation
variance=double
Units: unitless
The variance parameter of the distirbution. This value can be specified when a (non-constant) distribution is used. Note that specifying variance="0" has the same effect as distr="const" and disables sampling of this parameter, even if distr is not "const".
mean
mean=double
The (linear) mean value.
latent relapse days
latentRelapse=double
Usually between 10 and 15 days.
Blood stage protection latency
→ scenario → model → vivax → bloodStageProtectionLatency
<bloodStageProtectionLatency
value=double
/>
Documentation (element)
Min: 0
The length of time after expiry of a blood-stage infection during which relapses from the same brood are supressed by the immune system.
This is rounded to the nearest time-step.
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Blood stage length
→ scenario → model → vivax → bloodStageLengthDays
<bloodStageLengthDays
scale=double
shape=double
distr=("weibull")
/>
Documentation (element)
Units: Days
Parameters used to sample the length of blood-stage infections from a Weibull distribution (scale parameter lambda, shape parameter k).
Documentation (type)
Parameters of a Weibull distribution.
Attributes
Scale
scale=double
The Weibull scale parameter (λ).
shape
shape=double
The Weibull shape parameter (k).
Distribution
distr=("weibull")
To allow heterogeneity, a distribution must be specified. In this case, only "weibull" is allowed.
clinicalEvents
→ scenario → model → vivax → clinicalEvents
<clinicalEvents>
IN THIS ORDER:
| <pPrimaryInfection ... />
| <pRelapseOne ... />
| <pRelapseTwoPlus ... />
| <pEventIsSevere ... />
</clinicalEvents>
Documentation (type)
This elements holds all information about probabilites for clinical events from infections and relapses.
pPrimaryInfection
→ scenario → model → vivax → clinicalEvents → pPrimaryInfection
<pPrimaryInfection
a=double
b=double
/>
Attributes
a
a=double
b
b=double
pRelapseOne
→ scenario → model → vivax → clinicalEvents → pRelapseOne
<pRelapseOne
a=double
b=double
/>
Attributes
a
a=double
b
b=double
pRelapseTwoPlus
→ scenario → model → vivax → clinicalEvents → pRelapseTwoPlus
<pRelapseTwoPlus
a=double
b=double
/>
Attributes
a
a=double
b
b=double
pEventIsSevere
→ scenario → model → vivax → clinicalEvents → pEventIsSevere
<pEventIsSevere
value=double
/>
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Parameters of the model of epidemiology
→ scenario → model → parameters
<parameters
interval=int
iseed=int
latentp=string
>
IN THIS ORDER:
| ( <parameter ... /> )+
</parameters>
Documentation (element)
Parameters of the epidemiological model
Attributes
Simulation step
interval=int
Units: Days
Simulation step
Random number seed
iseed=int
Units: Number
Seed for RNG
Pre-erythrocytic latent period
latentp=string
Units: User defined (default: steps) Min: 0 Max: 20
Pre-erythrocytic latent period Can be specified in steps (e.g. 3t) or days (e.g. 15d).
parameter
→ scenario → model → parameters → parameter
<parameter
[ name=string ]
number=int
value=double
[ include=boolean ]
/>
Attributes
Name of parameter
name=string
Units: string
Name of parameter
Parameter number
number=int
Units: Number Min: 1 Max: 100
Reference number of input parameter
Parameter value
value=double
Units: Number Min: 0
Parameter value
Sampling indicator
include=boolean
Units: Number Min: 0 Max: 1
True if parameter is to be sampled in optimization runs. Not used in simulator app.
Schema 45 documentation
Generated from: scenario_45.xsd
.
Key:
abc required (one)
[ def ] optional (zero or one)
( ghi )* any number (zero or more)
( jkl )+ at least one
( mno ){2,inf} two or more occurrences
Scenario
→ scenario
<scenario
schemaVersion=int
[ analysisNo=int ]
name=string
[ wuID=int ]
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:om="http://openmalaria.org/schema/scenario_45"
xsi:schemaLocation="http://openmalaria.org/schema/scenario_45 scenario_45.xsd"
>
IN ANY ORDER:
| <demography ... />
| <monitoring ... />
| <interventions ... />
| <healthSystem ... />
| <entomology ... />
| [ <parasiteGenetics ... /> ]
| [ <pharmacology ... /> ]
| [ <diagnostics ... /> ]
| <model ... />
</scenario>
- demography
- monitoring
- interventions
- healthSystem
- entomology
- parasiteGenetics
- pharmacology
- diagnostics
- model
Documentation (element)
Description of scenario
Attributes
Version of the xml schema
schemaVersion=int
Version of xml schema. If not equal to the current version an error is thrown. Use SchemaTranslator to update xml files.
Reference number of the analysis
analysisNo=int
Units: Number Min: 1 Max: 100000000
Unique identifier of scenario
Name of intervention
name=string
Name of intervention
Work unit identifier
wuID=int
Units: Number
Work unit ID. Obselete and no longer required.
Human age distribution
→ scenario → demography
<demography
name=string
popSize=int
maximumAgeYrs=double
[ growthRate=double ]
>
IN THIS ORDER:
| <ageGroup ... />
</demography>
Documentation (element)
Description of demography
Attributes
Name of demography data
name=string
Name of demography data
Population size
popSize=int
Units: Count Min: 1 Max: 100000
Population size
Maximum age of simulated humans
maximumAgeYrs=double
Units: Years Min: 0 Max: 100
Maximum age of simulated humans in years
Growth rate of human population
growthRate=double
Units: Number Min: 0 Max: 0
Growth rate of human population. (we should be able to implement this with non-zero values)
Age groups
→ scenario → demography → ageGroup
<ageGroup
lowerbound=double
>
IN THIS ORDER:
| ( <group ... /> )+
</ageGroup>
Documentation (element)
list of age groups included in demography
Documentation (type)
list of age groups included in demography or surveys
Attributes
Lower bound of age group
lowerbound=double
Units: Years Min: 0 Max: 100
Lower bound of age group
group
→ scenario → demography → ageGroup → group
<group
poppercent=double
upperbound=double
/>
Attributes
Percentage in age group
poppercent=double
Units: Percentage Min: 0 Max: 100
Percentage of human population in age group
Upper bound of age group
upperbound=double
Units: Years Min: 0 Max: 100
Upper bound of age group
Measures to be reported
→ scenario → monitoring
<monitoring
name=string
[ startDate=string ]
>
IN THIS ORDER:
| [ <continuous ... /> ]
| <SurveyOptions ... />
| <surveys ... />
| <ageGroup ... />
| [ <cohorts ... /> ]
</monitoring>
Documentation (element)
Description of surveys
Attributes
Name of monitoring settings
name=string
Name of monitoring settings
Start of monitoring
startDate=string
An optional date for the start of monitoring. If given, dates may be used to specify when other events (surveys, intervention deployments) occur; alternately times relative to the start of the intervention period may be used to specify event times. Setting this to 1st January of some year might simplify usage of dates, and putting the start a couple of years before the start of intervention deployment (along with some extra surveys) may be useful to check transmission stabilises to the expected pre-intervention levels. As an example, if this date is set to 2000-01-01, then the following event times are equivalent (assuming 1t=5d): 15t, 75d, 0.2y, 2000-03-16. Must be in the form YYYY-MM-DD, e.g. 2003-01-01.
continuous
→ scenario → monitoring → continuous
<continuous
period=string
[ duringInit=boolean ]
>
IN THIS ORDER:
| ( <option ... /> )*
</continuous>
Attributes
Delay between reports
period=string
Units: User defined (default: steps)
Delay between reports; typically one time step but can be greater. Can be specified in steps (e.g. 1t) or days (e.g. 5d).
During initialization
duringInit=boolean
Units: Days Min: 1 Max: unbounded
Also output during initialization. By default this is disabled (only intervention-period data is output). This should not be used for predictions, but can be useful for model validation. In this mode, 'simulation time' is output as the first column (in addition to 'timestep'), since 'timestep' is dis- continuous across the start of the intervention period.
option
→ scenario → monitoring → continuous → option
<option
name=string
[ value=boolean ] DEFAULT VALUE true
/>
Attributes
Option name
name=string
Name of an option (monitoring measure or model option).
Indicator of whether option is required
value=boolean
Default value: true
Option on/off switch (true/false). Specifying value="true" is the same as not specifying a value; specifying value="false" explicitly turns the option off. If an option is not mentioned at all, it is left at its default value (normally off, but in a few cases, such as some bug-fix options, on).
Name of quantity
→ scenario → monitoring → SurveyOptions
<SurveyOptions
[ onlyNewEpisode=boolean ] DEFAULT VALUE false
>
IN THIS ORDER:
| ( <option ... /> )*
</SurveyOptions>
Documentation (element)
List of all active survey options. See model/mon/OutputMeasures.h for a list of supported outputs. Should also be on the wiki.
Attributes
Report only for new cases
onlyNewEpisode=boolean
Default value: false
If set, some statistics exclude humans who have been treated in the recent past (precisely, when the time of last treatment was before the current step and no more than health-system-memory days/steps ago). This is a rough replacement for the REPORT_ONLY_AT_RISK option, with one difference: the maximum age of treatment for REPORT_ONLY_AT_RISK was fixed at 20 days. Affected measures include (as of version 35): nHost (0), nInfect(1), nExpectd (2), nPatent (3), sumLogPyrogenThres (4), sumlogDens (5), totalInfs (6), totalPatentInf (8), sumPyrogenThresh (10), nSubPopRemovalFirstEvent (62), sumAge (68), nInfectByGenotype (69), nPatentByGenotype (70), logDensByGenotype (71), nHostDrugConcNonZero (72), sumLogDrugConcNonZero (73).
option
→ scenario → monitoring → SurveyOptions → option
<option
name=string
[ value=boolean ] DEFAULT VALUE true
[ outputNumber=int ]
[ byAge=boolean ]
[ byCohort=boolean ]
[ bySpecies=boolean ]
[ byGenotype=boolean ]
[ byDrugType=boolean ]
/>
Attributes
Option name
name=string
Name of an option (monitoring measure or model option).
Indicator of whether option is required
value=boolean
Default value: true
Option on/off switch (true/false). Specifying value="true" is the same as not specifying a value; specifying value="false" explicitly turns the option off. If an option is not mentioned at all, it is left at its default value (normally off, but in a few cases, such as some bug-fix options, on).
Number identifying measure in output
outputNumber=int
Number identifying this monitoring measure in the output file (3rd column). Normally this is determined from the measure, but it can be set manually, e.g. for when the same measure is recorded twice (to accumulate across different categories).
Report by age category
byAge=boolean
If true, the measure is reported for each age category. If false, values are summed across all age categories and only the sum reported. If not specified, separate categories will be reported if the measure supports this.
Report by cohort
byCohort=boolean
If true, the measure is reported for each cohort separately. If false, values are summed across all cohorts and only the sum reported. If not specified, separate categories will be reported if the measure supports this.
Report by mosquito species
bySpecies=boolean
If true, the measure is reported for each mosquito species separately. If false, values are summed across all species and only the sum reported. If not specified, separate categories will be reported if the measure supports this.
Report by parasite genotype
byGenotype=boolean
If true, the measure is reported for each parasite genotype separately. If false, values are summed across all genotypes and only the sum reported. If not specified, separate categories will be reported if the measure supports this.
Report by drug type
byDrugType=boolean
If true, the measure is reported for each drug type separately. If false, values are summed across all drug types and only the sum reported. If not specified, separate categories will be reported if the measure supports this.
Survey times (time steps)
→ scenario → monitoring → surveys
<surveys
[ detectionLimit=double ]
[ diagnostic=string ]
>
IN THIS ORDER:
| ( <surveyTime ... /> )+
</surveys>
Documentation (element)
List of survey times
Attributes
Detection limit for parasitaemia
detectionLimit=double
Units: parasites/microlitre Min: 0
Deprecated: limit above which a human's infection is reported as patent. Alternative: do not specify this; instead specify "diagnostic".
Name of monitoring diagnostic
diagnostic=string
Name of a parameterised diagnostic to use in surveys (see scenario/diagnostics).
Survey time
→ scenario → monitoring → surveys → surveyTime
<surveyTime
[ repeatStep=string ]
[ repeatEnd=string ]
[ reported=boolean ] DEFAULT VALUE true
>
string
</surveyTime>
Documentation (element)
Units: User defined (defaults to steps) Min: 0
Time of a survey. A report will be made for those measures enabled under SurveyOptions. Reported data is either from the moment the survey is done (immediate data) or is collected over the time since the previous survey, or in some cases over a fixed time span (usually one year).
Times can be specified in time steps, starting from 0, or as a date (see monitoring/startDate), or in days (e.g. 15d) or years (e.g. 1y). Relative times mean the time since the start of the intervention period, and must be non-negative (zero is valid, but some measures, e.g. nUncomp, will be zero).
The simulation ends immediately after the last survey is taken.
Attributes
Step of repetition
repeatStep=string
Units: User defined
See repeatEnd's documentation.
End of repetition (exclusive)
repeatEnd=string
Units: User defined
Either both repeatStep and repeatEnd should be present or neither. If present, the survey is repeated every repeatStep timesteps (i.e. if t0 is the initial time and x is repeatStep, surveys are done at times t0, t0+x, t0+2*x, ...), ending before repeatEnd (final repetition is the one before repeatEnd). Note that repeatEnd may be specified as a date but repeatStep must be a duration (days, steps or years).
reported
reported=boolean
Default value: true
For normal surveys, reporting=true. If set false, quantities are measured but not reported. The reason for doing this is to update conditions set on reportable measures. Multiple surveys may be given here for the same date, e.g. if using "repeatStep" for both reporting and non-reporting surveys. These are combined such that a maximum of one survey is carried out per time-step, and the survey is reported if any of the listed surveys for this date is configured as "reporting". Note that adding non-reporting surveys will not affect value output by reported surveys, with the exception that generated psuedo-random numbers may be altered (specifically, when any stochastic diagnostics are used in surveys).
Age groups
→ scenario → monitoring → ageGroup
<ageGroup
lowerbound=double
>
IN THIS ORDER:
| ( <group ... /> )+
</ageGroup>
Documentation (element)
List of age groups included in demography or surveys
Attributes
lower bound of age group
lowerbound=double
Units: Years Min: 0 Max: 100
Lower bound of age group
group
→ scenario → monitoring → ageGroup → group
<group
upperbound=double
/>
Attributes
upper bound of age group
upperbound=double
Units: Years Min: 0 Max: 100
Upper bound of age group
Cohorts
→ scenario → monitoring → cohorts
<cohorts>
IN THIS ORDER:
| ( <subPop ... /> )+
</cohorts>
Documentation (element)
Allows the configuration of multiple cohorts (output segregated according to membership within specific sub-populations).
If this element is omitted, monitoring surveys cover the entire simulated human population.
It does not affect the "continuous" outputs (these never take cohorts into account).
Sub-population
→ scenario → monitoring → cohorts → subPop
<subPop
id=string
number=integer
/>
Documentation (element)
Consider a certain sup-population a cohort, and segregate outputs according to membership. Where multiple sub-populations are listed, segregate output according to all combinations of membership: e.g. if sub-populations A and B are listed, there will be outputs for "member of A and B", "member of A but not B", "B but not A" and "not a member of A or B". Listing n sub-populations implies 2^n sets of outputs (each is further segregated by age groups, survey times and enabled output measures, which could lead to excessive program memory usage and output file size).
To identify outputs, each sub-population has a power of two number as identifier (see "number" attribute). Each of the 2^n output sets is identified by a number: the output set is the output from humans who are members in some set of sub-populations (S1, S2, ...) and not members in some others (T1, T2, ...); the number identifying the set is the sum of the numbers identifying the sets S1, S2, etc.
In the output file, the output set is identified by multiplying this number by 1000 then adding it to the age group column.
Attributes
Sub-population identifier
id=string
Textual identifier for the sub-population (i.e. for an intervention component, since sub-populations are defined as the hosts an intervention component is deployed to).
Sub-population number
number=integer
Units: dimensionless Min: 1 Max: 2097152
Number identifying a sub-population; used to define identifiers of output sets. This number must be a power of 2 (i.e. 1, 2, 4, 8, ...). See documentation of subPop element.
Preventative interventions
<interventions
name=string
>
IN ANY ORDER:
| [ <changeHS ... /> ]
| [ <changeEIR ... /> ]
| [ <importedInfections ... /> ]
| [ <insertR_0Case ... /> ]
| [ <uninfectVectors ... /> ]
| [ <vectorPop ... /> ]
| [ <vectorTrap ... /> ]
| [ <nonHumanHostsModifications ... /> ]
| [ <addNonHumanHosts ... /> ]
| [ <human ... /> ]
</interventions>
- changeHS
- changeEIR
- importedInfections
- insertR_0Case
- uninfectVectors
- vectorPop
- vectorTrap
- nonHumanHostsModifications
- addNonHumanHosts
- human
Documentation (element)
List of interventions. Generally these are either point-time distributions of something to some subset of the population, or continuous-time distribution targetting individuals when they reach a certain age.
Attributes
Name of intervention set
name=string
Name of set of interventions
Change health system
→ scenario → interventions → changeHS
<changeHS
[ name=string ]
>
IN THIS ORDER:
| ( <timedDeployment ... /> )*
</changeHS>
Documentation (element)
Changes to the health system
Attributes
Name of intervention
name=string
Name of intervention
timedDeployment
→ scenario → interventions → changeHS → timedDeployment
<timedDeployment
time=string
>
IN THIS ORDER:
| EXACTLY ONE OF:
| | <EventScheduler ... />
| | <ImmediateOutcomes ... />
| | <DecisionTree5Day ... />
| <CFR ... />
| <pSequelaeInpatient ... />
</timedDeployment>
Documentation (type)
A complete replacement health system. Replaces all previous properties. (Health system can be replaced multiple times if necessary.)
Documentation (base type)
Description of case management system, used to specify the initial model or a replacement (an intervention). Encompasses case management data and some other data required to derive case outcomes.
Contains a sub-element describing the particular health-system in use. Health system data is here defined as data used to decide on a treatment strategy, given a case requiring treatment.
Attributes
Time
time=string
Units: User defined (defauls to steps) Min: 0
Time at which this replacement occurs. See doc on intervention period and on monitoring/startDate for details of how times work. Can be specified in steps, days, years, or as a date (examples: 15t, 75d, 0.2y, 2000-03-16).
EventScheduler
→ scenario → healthSystem → EventScheduler
<EventScheduler>
IN THIS ORDER:
| <uncomplicated ... />
| <complicated ... />
| <ClinicalOutcomes ... />
| [ <NonMalariaFevers ... /> ]
</EventScheduler>
uncomplicated
→ scenario → healthSystem → EventScheduler → uncomplicated
<uncomplicated
[ name=string ]
>
EXACTLY ONE OF:
| <multiple ... />
| <caseType ... />
| <diagnostic ... />
| <fever ... />
| <random ... />
| <age ... />
| <noTreatment ... />
| ( <report ... /> )+
| <treatFailure ... />
| ( <treatPKPD ... /> )+
| ( <treatSimple ... /> )+
| ( <deploy ... /> )+
</uncomplicated>
- multiple
- caseType
- diagnostic
- fever
- random
- age
- noTreatment
- report
- treatFailure
- treatPKPD
- treatSimple
- deploy
Documentation (type)
Describes how "decisions" are made, both probabilistically and deterministically, and what actions are carried out.
Quantities may also be reported as a side effect of decisions made in the tree, for example the number of diagnostics used.
Attributes
Name
name=string
An optional piece of documentation attached to this node.
multiple
→ scenario → interventions → human → component → decisionTree → multiple
<multiple
[ name=string ]
>
EXACTLY ONE OF:
| ( <caseType ... /> )*
| ( <diagnostic ... /> )*
| ( <fever ... /> )*
| ( <random ... /> )*
| ( <age ... /> )*
| ( <treatPKPD ... /> )*
| [ <treatSimple ... /> ]
| ( <deploy ... /> )*
| ( <report ... /> )*
</multiple>
Documentation (type)
A special node allowing multiple sub-trees to be evaluated.
This is different from an ordinary decision tree node in that:
a) multiple types of child can occur simultaneously (e.g. multiple types of treatment or treatment plus a 'random' sub-tree)
b) the 'noTreatment' and 'treatFailure' nodes are not allowed
Attributes
Name
name=string
An optional piece of documentation attached to this node.
caseType
→ scenario → interventions → human → component → decisionTree → multiple → caseType
<caseType
[ name=string ]
>
IN ANY ORDER:
| <firstLine ... />
| <secondLine ... />
</caseType>
Documentation (type)
A switch which choses a branch deterministically, based on whether the patient was treated recently (second line) or not (first line).
For uncomplicated cases only.
Attributes
Name
name=string
An optional piece of documentation attached to this node.
firstLine
→ scenario → interventions → human → component → decisionTree → multiple → caseType → firstLine
<firstLine
[ name=string ]
>
EXACTLY ONE OF:
| <multiple ... />
| <caseType ... />
| <diagnostic ... />
| <fever ... />
| <random ... />
| <age ... />
| <noTreatment ... />
| ( <report ... /> )+
| <treatFailure ... />
| ( <treatPKPD ... /> )+
| ( <treatSimple ... /> )+
| ( <deploy ... /> )+
</firstLine>
- multiple
- caseType
- diagnostic
- fever
- random
- age
- noTreatment
- report
- treatFailure
- treatPKPD
- treatSimple
- deploy
Documentation (type)
Describes how "decisions" are made, both probabilistically and deterministically, and what actions are carried out.
Quantities may also be reported as a side effect of decisions made in the tree, for example the number of diagnostics used.
Attributes
Name
name=string
An optional piece of documentation attached to this node.
caseType
→ scenario → interventions → human → component → decisionTree → caseType
<caseType
[ name=string ]
>
IN ANY ORDER:
| <firstLine ... />
| <secondLine ... />
</caseType>
Documentation (type)
A switch which choses a branch deterministically, based on whether the patient was treated recently (second line) or not (first line).
For uncomplicated cases only.
Attributes
Name
name=string
An optional piece of documentation attached to this node.
secondLine
→ scenario → interventions → human → component → decisionTree → multiple → caseType → secondLine
<secondLine
[ name=string ]
>
EXACTLY ONE OF:
| <multiple ... />
| <caseType ... />
| <diagnostic ... />
| <fever ... />
| <random ... />
| <age ... />
| <noTreatment ... />
| ( <report ... /> )+
| <treatFailure ... />
| ( <treatPKPD ... /> )+
| ( <treatSimple ... /> )+
| ( <deploy ... /> )+
</secondLine>
- multiple
- caseType
- diagnostic
- fever
- random
- age
- noTreatment
- report
- treatFailure
- treatPKPD
- treatSimple
- deploy
Documentation (type)
Describes how "decisions" are made, both probabilistically and deterministically, and what actions are carried out.
Quantities may also be reported as a side effect of decisions made in the tree, for example the number of diagnostics used.
Attributes
Name
name=string
An optional piece of documentation attached to this node.
diagnostic
→ scenario → interventions → human → component → decisionTree → diagnostic
<diagnostic
diagnostic=string
[ name=string ]
>
IN ANY ORDER:
| <positive ... />
| <negative ... />
</diagnostic>
Documentation (type)
A switch which choses a branch deterministically, based on the outcome of some type of diagnostic.
Attributes
Name of diagnostic
diagnostic=string
Should match the name of some parameterised diagnostic (see scenario/diagnostics).
Name
name=string
An optional piece of documentation attached to this node.
positive
→ scenario → interventions → human → component → decisionTree → multiple → diagnostic → positive
<positive
[ name=string ]
>
EXACTLY ONE OF:
| <multiple ... />
| <caseType ... />
| <diagnostic ... />
| <fever ... />
| <random ... />
| <age ... />
| <noTreatment ... />
| ( <report ... /> )+
| <treatFailure ... />
| ( <treatPKPD ... /> )+
| ( <treatSimple ... /> )+
| ( <deploy ... /> )+
</positive>
- multiple
- caseType
- diagnostic
- fever
- random
- age
- noTreatment
- report
- treatFailure
- treatPKPD
- treatSimple
- deploy
Documentation (type)
Describes how "decisions" are made, both probabilistically and deterministically, and what actions are carried out.
Quantities may also be reported as a side effect of decisions made in the tree, for example the number of diagnostics used.
Attributes
Name
name=string
An optional piece of documentation attached to this node.
fever
→ scenario → interventions → human → component → decisionTree → fever
<fever
[ name=string ]
lookBack=string
>
IN ANY ORDER:
| <positive ... />
| <negative ... />
</fever>
Documentation (type)
A switch which choses a branch deterministically, based on the outcome of some type of diagnostic.
Attributes
Name
name=string
An optional piece of documentation attached to this node.
Number of days to look back for fevers. This must be less than or equal to the healthsystem memory parameter. In general, this should be less than or equal to the repeatStep in MSAT with contiuous deployment
lookBack=string
Units: User-defined (defaults to steps)
Follow-up period during which a recurrence is considered to be a treatment failure Can be specified in steps (e.g. 6t) or days (e.g. 28d).
positive
→ scenario → interventions → human → component → decisionTree → multiple → fever → positive
<positive
[ name=string ]
>
EXACTLY ONE OF:
| <multiple ... />
| <caseType ... />
| <diagnostic ... />
| <fever ... />
| <random ... />
| <age ... />
| <noTreatment ... />
| ( <report ... /> )+
| <treatFailure ... />
| ( <treatPKPD ... /> )+
| ( <treatSimple ... /> )+
| ( <deploy ... /> )+
</positive>
- multiple
- caseType
- diagnostic
- fever
- random
- age
- noTreatment
- report
- treatFailure
- treatPKPD
- treatSimple
- deploy
Documentation (type)
Describes how "decisions" are made, both probabilistically and deterministically, and what actions are carried out.
Quantities may also be reported as a side effect of decisions made in the tree, for example the number of diagnostics used.
Attributes
Name
name=string
An optional piece of documentation attached to this node.
random
→ scenario → interventions → human → component → decisionTree → random
<random
[ name=string ]
>
IN THIS ORDER:
| ( <outcome ... /> )+
</random>
Documentation (type)
A switch which choses a branch randomly.
Each branch must be listed with a probability; the sum of all these probabilities must equal 1.
Attributes
Name
name=string
An optional piece of documentation attached to this node.
outcome
→ scenario → interventions → human → component → decisionTree → multiple → random → outcome
<outcome
[ name=string ]
p=double
>
EXACTLY ONE OF:
| <multiple ... />
| <caseType ... />
| <diagnostic ... />
| <fever ... />
| <random ... />
| <age ... />
| <noTreatment ... />
| ( <report ... /> )+
| <treatFailure ... />
| ( <treatPKPD ... /> )+
| ( <treatSimple ... /> )+
| ( <deploy ... /> )+
</outcome>
- multiple
- caseType
- diagnostic
- fever
- random
- age
- noTreatment
- report
- treatFailure
- treatPKPD
- treatSimple
- deploy
Documentation (base type)
Describes how "decisions" are made, both probabilistically and deterministically, and what actions are carried out.
Quantities may also be reported as a side effect of decisions made in the tree, for example the number of diagnostics used.
Attributes
Name
name=string
An optional piece of documentation attached to this node.
Probability
p=double
Units: None Min: 0 Max: 1
Probability of selecting this outcome. The sum of probabilities across all outcomes must be 1.
age
→ scenario → interventions → human → component → decisionTree → age
<age
[ name=string ]
>
IN THIS ORDER:
| ( <age ... /> )+
</age>
Documentation (type)
A switch which choses a branch deterministically, based on the patient's age (in years).
Categories must uniquely cover all ages from birth, with no upper bound. Categories must be listed in order of age, increasing; the first must have lower bound 0. Upper bounds are equal to the lower bound of the next category, (but are exclusive where lower bounds are inclusive); the last category has no upper bound.
Attributes
Name
name=string
An optional piece of documentation attached to this node.
Age range
→ scenario → interventions → human → component → decisionTree → multiple → age → age
<age
[ name=string ]
lb=double
>
EXACTLY ONE OF:
| <multiple ... />
| <caseType ... />
| <diagnostic ... />
| <fever ... />
| <random ... />
| <age ... />
| <noTreatment ... />
| ( <report ... /> )+
| <treatFailure ... />
| ( <treatPKPD ... /> )+
| ( <treatSimple ... /> )+
| ( <deploy ... /> )+
</age>
- multiple
- caseType
- diagnostic
- fever
- random
- age
- noTreatment
- report
- treatFailure
- treatPKPD
- treatSimple
- deploy
Documentation (element)
Describes a branch, selected for patients of a certain age.
Documentation (base type)
Describes how "decisions" are made, both probabilistically and deterministically, and what actions are carried out.
Quantities may also be reported as a side effect of decisions made in the tree, for example the number of diagnostics used.
Attributes
Name
name=string
An optional piece of documentation attached to this node.
Lower bound (inclusive)
lb=double
Min: 0
noTreatment
→ scenario → interventions → human → component → decisionTree → noTreatment
<noTreatment
[ name=string ]
/>
Documentation (type)
An end node doing nothing. This exists to explicitly state that no treatment happens and to prevent trees from accidentally being left incomplete.
Attributes
Name
name=string
An optional piece of documentation attached to this node.
report
→ scenario → interventions → human → component → decisionTree → report
<report
[ name=string ]
[ outputNumber=int ] DEFAULT VALUE 0
/>
Documentation (type)
This increments measure 80 (nCMDTReport) by one every time this node is visited. This can be useful to report the results of mass test and treat interventions using the decision tree.
Attributes
Name
name=string
An optional piece of documentation attached to this node.
Delay (hours)
outputNumber=int
Default value: 0
Optionally, this can be given to delay the start of treatment by a given number of hours. If not specified, treatment is not delayed. If a delay is given, all medications within the treatment schedule used are delayed by this number of hours.
treatFailure
→ scenario → interventions → human → component → decisionTree → treatFailure
<treatFailure
[ name=string ]
/>
Documentation (type)
An end node which reports treatment but does not change parasitalogical status. This allows correct labelling of second-line cases.
Attributes
Name
name=string
An optional piece of documentation attached to this node.
treatPKPD
→ scenario → interventions → human → component → decisionTree → treatPKPD
<treatPKPD
schedule=string
dosage=string
[ delay_h=double ] DEFAULT VALUE 0
/>
Documentation (type)
A command to administer drugs according to a given schedule and dosage table, optionally with a delay.
Attributes
Name of treatment schedule
schedule=string
The name of a schedule to use for treatment.
Name of dosage table
dosage=string
The name of a dosage table to use for treatment.
Delay (hours)
delay_h=double
Default value: 0
Optionally, this can be given to delay the start of treatment by a given number of hours. If not specified, treatment is not delayed. If a delay is given, all medications within the treatment schedule used are delayed by this number of hours.
treatSimple
→ scenario → interventions → human → component → decisionTree → treatSimple
<treatSimple
durationLiver=string
durationBlood=string
/>
Documentation (type)
Simple treatment model, targetting liver- and/or blood-stage infections. This is all-or-nothing treatment which, when deploymed, completely clears all infections of the targetted stages. This makes it unsuitable for modeling resistance, but suitable for use with simple infection models.
Infections are considered liver-stage when less than five days old and blood-stage after that. Effects are described independently for the two stages.
Attributes
Length of liver-stage effect
durationLiver=string
Units: User defined
Controls action on liver-stage infections. 0 means no action, -1 step is a compatibility option to act like treatment before schema version 32 (which removed infections retrospectively), 1 step or any duration which equals some whole number of steps n>0 means to clear all liver-stage infections found on the next 1 or n steps. Note on -1 compatibility option: the main difference to 1 step (clearing on the next timestep) is that parasite densities will be reduced immediately, and thus from the point of view of surveys and mass screen and treat interventions a peak in density which is immediately treated through case management will not be seen. Can be specified in steps (e.g. 1t, -1t) or days (e.g. 5d).
Length of blood-stage effect
durationBlood=string
Units: User defined
Controls action on blood-stage infections. 0 means no action, -1 step is a compatibility option to act like treatment before schema version 32 (which removed infections retrospectively), 1 step or any duration which equals some whole number of steps n>0 means to clear all blood-stage infections found on the next 1 or n steps. Note on -1 compatibility option: the main difference to 1 step (clearing on the next timestep) is that parasite densities will be reduced immediately, and thus from the point of view of surveys and mass screen and treat interventions a peak in density which is immediately treated through case management will not be seen. Can be specified in steps (e.g. 1t, -1t) or days (e.g. 5d).
deploy
→ scenario → interventions → human → component → decisionTree → deploy
<deploy
component=string
/>
Documentation (type)
Deploy one or more intervention components.
Attributes
Component identifier
component=string
The identifier (short name) of a component.
negative
→ scenario → interventions → human → component → decisionTree → multiple → fever → negative
<negative
[ name=string ]
>
EXACTLY ONE OF:
| <multiple ... />
| <caseType ... />
| <diagnostic ... />
| <fever ... />
| <random ... />
| <age ... />
| <noTreatment ... />
| ( <report ... /> )+
| <treatFailure ... />
| ( <treatPKPD ... /> )+
| ( <treatSimple ... /> )+
| ( <deploy ... /> )+
</negative>
- multiple
- caseType
- diagnostic
- fever
- random
- age
- noTreatment
- report
- treatFailure
- treatPKPD
- treatSimple
- deploy
Documentation (type)
Describes how "decisions" are made, both probabilistically and deterministically, and what actions are carried out.
Quantities may also be reported as a side effect of decisions made in the tree, for example the number of diagnostics used.
Attributes
Name
name=string
An optional piece of documentation attached to this node.
negative
→ scenario → interventions → human → component → decisionTree → multiple → diagnostic → negative
<negative
[ name=string ]
>
EXACTLY ONE OF:
| <multiple ... />
| <caseType ... />
| <diagnostic ... />
| <fever ... />
| <random ... />
| <age ... />
| <noTreatment ... />
| ( <report ... /> )+
| <treatFailure ... />
| ( <treatPKPD ... /> )+
| ( <treatSimple ... /> )+
| ( <deploy ... /> )+
</negative>
- multiple
- caseType
- diagnostic
- fever
- random
- age
- noTreatment
- report
- treatFailure
- treatPKPD
- treatSimple
- deploy
Documentation (type)
Describes how "decisions" are made, both probabilistically and deterministically, and what actions are carried out.
Quantities may also be reported as a side effect of decisions made in the tree, for example the number of diagnostics used.
Attributes
Name
name=string
An optional piece of documentation attached to this node.
diagnostic
→ scenario → interventions → human → component → decisionTree → multiple → diagnostic
<diagnostic
diagnostic=string
[ name=string ]
>
IN ANY ORDER:
| <positive ... />
| <negative ... />
</diagnostic>
Documentation (type)
A switch which choses a branch deterministically, based on the outcome of some type of diagnostic.
Attributes
Name of diagnostic
diagnostic=string
Should match the name of some parameterised diagnostic (see scenario/diagnostics).
Name
name=string
An optional piece of documentation attached to this node.
fever
→ scenario → interventions → human → component → decisionTree → multiple → fever
<fever
[ name=string ]
lookBack=string
>
IN ANY ORDER:
| <positive ... />
| <negative ... />
</fever>
Documentation (type)
A switch which choses a branch deterministically, based on the outcome of some type of diagnostic.
Attributes
Name
name=string
An optional piece of documentation attached to this node.
Number of days to look back for fevers. This must be less than or equal to the healthsystem memory parameter. In general, this should be less than or equal to the repeatStep in MSAT with contiuous deployment
lookBack=string
Units: User-defined (defaults to steps)
Follow-up period during which a recurrence is considered to be a treatment failure Can be specified in steps (e.g. 6t) or days (e.g. 28d).
random
→ scenario → interventions → human → component → decisionTree → multiple → random
<random
[ name=string ]
>
IN THIS ORDER:
| ( <outcome ... /> )+
</random>
Documentation (type)
A switch which choses a branch randomly.
Each branch must be listed with a probability; the sum of all these probabilities must equal 1.
Attributes
Name
name=string
An optional piece of documentation attached to this node.
age
→ scenario → interventions → human → component → decisionTree → multiple → age
<age
[ name=string ]
>
IN THIS ORDER:
| ( <age ... /> )+
</age>
Documentation (type)
A switch which choses a branch deterministically, based on the patient's age (in years).
Categories must uniquely cover all ages from birth, with no upper bound. Categories must be listed in order of age, increasing; the first must have lower bound 0. Upper bounds are equal to the lower bound of the next category, (but are exclusive where lower bounds are inclusive); the last category has no upper bound.
Attributes
Name
name=string
An optional piece of documentation attached to this node.
treatPKPD
→ scenario → interventions → human → component → decisionTree → multiple → treatPKPD
<treatPKPD
schedule=string
dosage=string
[ delay_h=double ] DEFAULT VALUE 0
/>
Documentation (type)
A command to administer drugs according to a given schedule and dosage table, optionally with a delay.
Attributes
Name of treatment schedule
schedule=string
The name of a schedule to use for treatment.
Name of dosage table
dosage=string
The name of a dosage table to use for treatment.
Delay (hours)
delay_h=double
Default value: 0
Optionally, this can be given to delay the start of treatment by a given number of hours. If not specified, treatment is not delayed. If a delay is given, all medications within the treatment schedule used are delayed by this number of hours.
treatSimple
→ scenario → interventions → human → component → decisionTree → multiple → treatSimple
<treatSimple
durationLiver=string
durationBlood=string
/>
Documentation (type)
Simple treatment model, targetting liver- and/or blood-stage infections. This is all-or-nothing treatment which, when deploymed, completely clears all infections of the targetted stages. This makes it unsuitable for modeling resistance, but suitable for use with simple infection models.
Infections are considered liver-stage when less than five days old and blood-stage after that. Effects are described independently for the two stages.
Attributes
Length of liver-stage effect
durationLiver=string
Units: User defined
Controls action on liver-stage infections. 0 means no action, -1 step is a compatibility option to act like treatment before schema version 32 (which removed infections retrospectively), 1 step or any duration which equals some whole number of steps n>0 means to clear all liver-stage infections found on the next 1 or n steps. Note on -1 compatibility option: the main difference to 1 step (clearing on the next timestep) is that parasite densities will be reduced immediately, and thus from the point of view of surveys and mass screen and treat interventions a peak in density which is immediately treated through case management will not be seen. Can be specified in steps (e.g. 1t, -1t) or days (e.g. 5d).
Length of blood-stage effect
durationBlood=string
Units: User defined
Controls action on blood-stage infections. 0 means no action, -1 step is a compatibility option to act like treatment before schema version 32 (which removed infections retrospectively), 1 step or any duration which equals some whole number of steps n>0 means to clear all blood-stage infections found on the next 1 or n steps. Note on -1 compatibility option: the main difference to 1 step (clearing on the next timestep) is that parasite densities will be reduced immediately, and thus from the point of view of surveys and mass screen and treat interventions a peak in density which is immediately treated through case management will not be seen. Can be specified in steps (e.g. 1t, -1t) or days (e.g. 5d).
deploy
→ scenario → interventions → human → component → decisionTree → multiple → deploy
<deploy
component=string
/>
Documentation (type)
Deploy one or more intervention components.
Attributes
Component identifier
component=string
The identifier (short name) of a component.
report
→ scenario → interventions → human → component → decisionTree → multiple → report
<report
[ name=string ]
[ outputNumber=int ] DEFAULT VALUE 0
/>
Documentation (type)
This increments measure 80 (nCMDTReport) by one every time this node is visited. This can be useful to report the results of mass test and treat interventions using the decision tree.
Attributes
Name
name=string
An optional piece of documentation attached to this node.
Delay (hours)
outputNumber=int
Default value: 0
Optionally, this can be given to delay the start of treatment by a given number of hours. If not specified, treatment is not delayed. If a delay is given, all medications within the treatment schedule used are delayed by this number of hours.
complicated
→ scenario → healthSystem → EventScheduler → complicated
<complicated
[ name=string ]
>
EXACTLY ONE OF:
| <multiple ... />
| <caseType ... />
| <diagnostic ... />
| <fever ... />
| <random ... />
| <age ... />
| <noTreatment ... />
| ( <report ... /> )+
| <treatFailure ... />
| ( <treatPKPD ... /> )+
| ( <treatSimple ... /> )+
| ( <deploy ... /> )+
</complicated>
- multiple
- caseType
- diagnostic
- fever
- random
- age
- noTreatment
- report
- treatFailure
- treatPKPD
- treatSimple
- deploy
Documentation (type)
Describes how "decisions" are made, both probabilistically and deterministically, and what actions are carried out.
Quantities may also be reported as a side effect of decisions made in the tree, for example the number of diagnostics used.
Attributes
Name
name=string
An optional piece of documentation attached to this node.
ClinicalOutcomes
→ scenario → healthSystem → EventScheduler → ClinicalOutcomes
<ClinicalOutcomes>
IN THIS ORDER:
| <maxUCSeekingMemory ... />
| <uncomplicatedCaseDuration ... />
| <complicatedCaseDuration ... />
| <complicatedRiskDuration ... />
| ( <dailyPrImmUCTS ... /> )+
</ClinicalOutcomes>
- maxUCSeekingMemory
- uncomplicatedCaseDuration
- complicatedCaseDuration
- complicatedRiskDuration
- dailyPrImmUCTS
Documentation (type)
Description of base parameters of the clinical model.
Max UC treatment-seeking memory
→ scenario → healthSystem → EventScheduler → ClinicalOutcomes → maxUCSeekingMemory
<maxUCSeekingMemory>
int
</maxUCSeekingMemory>
Documentation (element)
Units: Days Min: 0 Max: unbounded
Maximum number of timesteps (including first day of case) that an individual with an uncomplicated case of malaria will remember he/she was sick before resetting.
Uncomplicated case duration
→ scenario → healthSystem → EventScheduler → ClinicalOutcomes → uncomplicatedCaseDuration
<uncomplicatedCaseDuration>
int
</uncomplicatedCaseDuration>
Documentation (element)
Units: Days Min: 1 Max: unbounded
Fixed length of an uncomplicated case of malarial or non-malarial sickness (from treatment seeking until return to life-as-usual). Usually 3.
Complicated case duration
→ scenario → healthSystem → EventScheduler → ClinicalOutcomes → complicatedCaseDuration
<complicatedCaseDuration>
int
</complicatedCaseDuration>
Documentation (element)
Units: Days Min: 1 Max: unbounded
Fixed length of a complicated or severe case of malaria (from treatment seeking until return to life-as-usual).
Complicated risk duration
→ scenario → healthSystem → EventScheduler → ClinicalOutcomes → complicatedRiskDuration
<complicatedRiskDuration>
int
</complicatedRiskDuration>
Documentation (element)
Units: Days Min: 1 Max: unbounded
Number of days for which humans are at risk of death during a severe or complicated case of malaria. Cannot be greater than the duration of a complicated case or less than 1 day.
Daily probability of immediate treatment seeking for uncomplicated cases
→ scenario → healthSystem → EventScheduler → ClinicalOutcomes → dailyPrImmUCTS
<dailyPrImmUCTS>
double
</dailyPrImmUCTS>
Documentation (element)
Units: Dimensionless Min: 0.0 Max: 1.0
It is sometimes desirable to model delays to treatment-seeking in uncomplicated cases. While treatment of drugs can be delayed within case management trees to provide a similar effect, this doesn't delay any of the decisions, including diagnostics using the current parasite density.
Instead a list of dailyPrImmUCTS elements can be used, describing successive daily probabilities of treatment (sum must be 1). For example, with a list of two elements with values 0.8 and 0.2, for 80% of UC cases the decision tree is evaluated immediately, and for 20% of cases evaluation is delayed by one day.
For no delay, use one element with a value of 1.
NonMalariaFevers
→ scenario → healthSystem → EventScheduler → NonMalariaFevers
<NonMalariaFevers>
IN THIS ORDER:
| <prTreatment ... />
| <effectNegativeTest ... />
| <effectPositiveTest ... />
| <effectNeed ... />
| <effectInformal ... />
| <CFR ... />
| <TreatmentEfficacy ... />
</NonMalariaFevers>
Documentation (type)
Description of non-malaria fever health-system modelling (treatment, outcomes and costing). Incidence is described by the model->clinical->NonMalariaFevers element. Non-malaria fevers are only modelled if the NON_MALARIA_FEVERS option is used.
As further explanation of the parameters below, we first take: β₀ = logit(P₀) - β₃·P(need), and then calculate the probability of antibiotic administration, P(AB), dependent on treatment seeking location. No seeking: P(AB) = 0 Informal sector: logit(P(AB)) = β₀ + β₄ Health facility: logit(P(AB)) = β₀ + β₁·I(neg) + β₂·I(pos) + β₃·I(need) (where I(X) is 1 when event X is true and 0 otherwise, logit(p)=log(p/(1-p)), event "need" is the event that death may occur without treatment, events "neg" and "pos" are the events that a malaria parasite diagnositic was used and indicated no parasites and parasites respectively).
P(treatment|no diagnostic)
→ scenario → healthSystem → EventScheduler → NonMalariaFevers → prTreatment
<prTreatment>
double
</prTreatment>
Documentation (element)
Units: Dimensionless Min: 0.0 Max: 1.0
Probability of a non-malaria fever being treated with an antibiotic given that no malaria diagnostic was used but independent of need. Symbol: P₀.
Effect of a negative test
→ scenario → healthSystem → EventScheduler → NonMalariaFevers → effectNegativeTest
<effectNegativeTest>
double
</effectNegativeTest>
Documentation (element)
The effect of a negative malaria diagnostic on the odds ratio of receiving antibiotics. Symbol: exp(β₁).
Effect of a positive test
→ scenario → healthSystem → EventScheduler → NonMalariaFevers → effectPositiveTest
<effectPositiveTest>
double
</effectPositiveTest>
Documentation (element)
The effect of a positive malaria diagnostic on the odds ratio of receiving antibiotics. Symbol: exp(β₂).
Effect of need
→ scenario → healthSystem → EventScheduler → NonMalariaFevers → effectNeed
<effectNeed>
double
</effectNeed>
Documentation (element)
The effect of needing antibiotic treatment on the odds ratio of receiving antibiotics. Symbol: exp(β₃).
Effect of informal provider
→ scenario → healthSystem → EventScheduler → NonMalariaFevers → effectInformal
<effectInformal>
double
</effectInformal>
Documentation (element)
The effect of seeking treatment from an informal provider (i.e. a provider untrained in NMF diagnosis) on the odds ratio of receiving antibiotics. Symbol: exp(β₄)
Case fatality rate
→ scenario → healthSystem → EventScheduler → NonMalariaFevers → CFR
<CFR
[ interpolation=("none" or "linear") ]
>
IN THIS ORDER:
| ( <group ... /> )+
</CFR>
Documentation (element)
Units: Dimensionless Min: 0.0 Max: 1.0
Base case fatality rate for non-malaria fevers (probability of death from a fever requiring antibiotic treatment given that no antibiotic treatment is received, per age-group).
Attributes
interpolation
interpolation=("none" or "linear")
Interpolation algorithm. Normally it is desirable for age-based values to be continuous w.r.t. age. By default linear interpolation is used. With all algorithms except "none", the age groups are converted to a set of points centred within each age range. Extra points are added at each end (zero and infinity) to keep value constant at both ends of the function. A zero-length age group may be used as a kind of barrier to adjust the distribution; e.g. with age group boundaries at 15, 20 and 25 years, a (linear) spline would be drawn between ages 17.5 and 22.5, whereas with boundaries at 15, 20 and 20 years, a spline would be drawn between ages 17.5 and 20 years (may be desired if individuals are assumed to reach adult size at 20). Algorithms:
- none: input values are used directly
- linear: straight lines (on an age vs. value graph) are used to interpolate data points.
age group
→ scenario → healthSystem → CFR → group
<group
value=double
lowerbound=double
/>
Documentation (element)
A series of values according to age groups, each specified with a lower-bound and a value. The first lower-bound specified must be zero; a final upper-bound of infinity is added to complete the last age group. At least one age group is required. Normally these are interpolated by a continuous function (see interpolation attribute).
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Lower bound
lowerbound=double
Units: Years Min: 0 Max: 100
Lower bound of age group
Treatment efficacy
→ scenario → healthSystem → EventScheduler → NonMalariaFevers → TreatmentEfficacy
<TreatmentEfficacy>
double
</TreatmentEfficacy>
Documentation (element)
Units: Dimensionless Min: 0.0 Max: 1.0
Probability that treatment would prevent a death (i.e. CFR is multiplied by one minus this when treatment occurs).
ImmediateOutcomes
→ scenario → healthSystem → ImmediateOutcomes
<ImmediateOutcomes
[ name=string ]
[ useDiagnosticUC=boolean ] DEFAULT VALUE false
>
IN ANY ORDER:
| <drugRegimen ... />
| <initialACR ... />
| <compliance ... />
| <nonCompliersEffective ... />
| <treatmentActions ... />
| <pSeekOfficialCareUncomplicated1 ... />
| <pSelfTreatUncomplicated ... />
| <pSeekOfficialCareUncomplicated2 ... />
| <pSeekOfficialCareSevere ... />
| [ <liverStageDrug ... /> ]
</ImmediateOutcomes>
- drugRegimen
- initialACR
- compliance
- nonCompliersEffective
- treatmentActions
- pSeekOfficialCareUncomplicated1
- pSelfTreatUncomplicated
- pSeekOfficialCareUncomplicated2
- pSeekOfficialCareSevere
- liverStageDrug
Documentation (type)
Description of "immediate outcomes" health system: Tediosi et al case management model (Case management as described in AJTMH 75 (suppl 2) pp90-103).
Attributes
Name of case management parameterisation
name=string
Name of health system
useDiagnosticUC
useDiagnosticUC=boolean
Default value: false
Description of drug regimen
→ scenario → healthSystem → ImmediateOutcomes → drugRegimen
<drugRegimen
firstLine=string
secondLine=string
inpatient=string
/>
Documentation (element)
Description of drug regimen.
Attributes
First line drug
firstLine=string
Units: Drug code
Code for first line drug
Second line drug
secondLine=string
Units: Drug code
Code for second line drug
Drug use for treating inpatients
inpatient=string
Units: Drug code
Code for drug used for treating inpatients
Initial cure rate
→ scenario → healthSystem → ImmediateOutcomes → initialACR
<initialACR>
IN THIS ORDER:
| [ <CQ ... /> ]
| [ <SP ... /> ]
| [ <AQ ... /> ]
| [ <SPAQ ... /> ]
| [ <ACT ... /> ]
| [ <QN ... /> ]
| <selfTreatment ... />
</initialACR>
Documentation (element)
Units: Dimensionless Min: 0.0 Max: 1.0
Initial cure rate
Chloroquine
→ scenario → healthSystem → ImmediateOutcomes → initialACR → CQ
<CQ
value=double
/>
Documentation (element)
Chloroquine
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Sulphadoxine-pyrimethamine
→ scenario → healthSystem → ImmediateOutcomes → initialACR → SP
<SP
value=double
/>
Documentation (element)
Sulphadoxine-pyrimethamine
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Amodiaquine
→ scenario → healthSystem → ImmediateOutcomes → initialACR → AQ
<AQ
value=double
/>
Documentation (element)
Amodiaquine
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Sulphadoxine-pyrimethamine/Amodiaquine
→ scenario → healthSystem → ImmediateOutcomes → initialACR → SPAQ
<SPAQ
value=double
/>
Documentation (element)
Sulphadoxine-pyrimethamine/Amodiaquine
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Artemisinine based combination therapy
→ scenario → healthSystem → ImmediateOutcomes → initialACR → ACT
<ACT
value=double
/>
Documentation (element)
Artemisinine combination therapy
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Quinine
→ scenario → healthSystem → ImmediateOutcomes → initialACR → QN
<QN
value=double
/>
Documentation (element)
Quinine
Attributes
Input parameter value
value=double
A double-precision floating-point value.
selfTreatment
→ scenario → healthSystem → ImmediateOutcomes → initialACR → selfTreatment
<selfTreatment
value=double
/>
Documentation (element)
Units: Dimensionless Min: 0 Max: 1name:P(self-treat)
Probability of self-treatment
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Adherence to treatment
→ scenario → healthSystem → ImmediateOutcomes → compliance
<compliance>
IN THIS ORDER:
| [ <CQ ... /> ]
| [ <SP ... /> ]
| [ <AQ ... /> ]
| [ <SPAQ ... /> ]
| [ <ACT ... /> ]
| [ <QN ... /> ]
| <selfTreatment ... />
</compliance>
Documentation (element)
Units: Dimensionless Min: 0.0 Max: 1.0
Adherence to treatment
Effectiveness of treatment in non-adherent patients
→ scenario → healthSystem → ImmediateOutcomes → nonCompliersEffective
<nonCompliersEffective>
IN THIS ORDER:
| [ <CQ ... /> ]
| [ <SP ... /> ]
| [ <AQ ... /> ]
| [ <SPAQ ... /> ]
| [ <ACT ... /> ]
| [ <QN ... /> ]
| <selfTreatment ... />
</nonCompliersEffective>
Documentation (element)
Units: Dimensionless Min: 0.0 Max: 1.0
Effectiveness of treatment for non-compliant patients
treatmentActions
→ scenario → healthSystem → ImmediateOutcomes → treatmentActions
<treatmentActions>
IN ANY ORDER:
| [ <CQ ... /> ]
| [ <SP ... /> ]
| [ <AQ ... /> ]
| [ <SPAQ ... /> ]
| [ <ACT ... /> ]
| [ <QN ... /> ]
</treatmentActions>
CQ
→ scenario → healthSystem → ImmediateOutcomes → treatmentActions → CQ
<CQ
[ name=string ]
>
IN THIS ORDER:
| ( <deploy ... /> )*
</CQ>
Documentation (type)
Describes the effects of the treatment, assuming this compliance/adherence/... option is selected. Effects are described in terms of a list of options, each of which acts independently but with all effects being activated simultaneously.
Documentation (base type)
Lists intervention components which are deployed according to some external trigger (for example, screening with a negative patency outcome or health-system treatment).
Components are referenced from one or more sub-lists. Each of these lists is deployed independently if and only if its age constraints are met by the human host and a random sample with the given probability of a positive outcome is positive.
Attributes
Name
name=string
Describes what this compliance option represents (e.g. "good compliance", "poor compliance with good drugs", ...).
deploy
→ scenario → healthSystem → ImmediateOutcomes → treatmentActions → CQ → deploy
<deploy
[ maxAge=double ]
[ minAge=double ] DEFAULT VALUE 0
[ p=double ] DEFAULT VALUE 1
>
IN THIS ORDER:
| ( <component ... /> )+
</deploy>
Attributes
Maximum age of eligible humans
maxAge=double
Units: Years Min: 0
Maximum age of eligible humans (defaults to no limit). Input is rounded to the nearest time step.
Minimum age of eligible humans
minAge=double
Units: Years Min: 0
Default value: 0
Minimum age of eligible humans (defaults to 0). Input is rounded to the nearest time step.
Probability of delivery to eligible humans
p=double
Units: dimensionless Min: 0 Max: 1
Default value: 1
Probability of this list of components being deployed, given that other constraints are met.
component
→ scenario → healthSystem → ImmediateOutcomes → treatmentActions → CQ → deploy → component
<component
id=string
/>
Documentation (type)
The list of components deployed to eligible humans.
Attributes
Identifier
id=string
The identifier (short name) of a component.
Prophylactic treatment
→ scenario → healthSystem → DecisionTree5Day → treatmentSevere → clearInfections
<clearInfections
timesteps=string
stage=("liver" or "blood" or "both")
/>
Documentation (element)
This clears infections according to several options: it can clear all blood stage infections, all liver stage infections or both, and it can act on multiple timesteps. To have a probability of no action add another treatment option (which does nothing) and set the probabilities of selection appropriately.
This allows immediate (legacy) or delayed action, a prophylactic period, and selection of which stages are targeted. It is a simple model but appropriate enough for use with the five day timestep when assuming no resistance and that drug failure is mainly caused by bad drugs or compliance.
The old treatment action for the five-day timestep model is essentially this, with immediateAction (timesteps=-1) and stage=both, except for the IPT model's SP action, which was more like with timesteps>1 and stage=blood.
Attributes
Length of effect
timesteps=string
Units: User defined (defaults to steps)
The number of timesteps during which this action remains in effect (e.g. 2 means clear infections during the next two timestep updates). Full clearance of the targeted stages occurs during this time. A special value of -1 means act immediately (retrospectively); this the old behaviour. A value of 1 means act on the next timestep only. Both of these can be thought of as a model for short-acting effective drug treatment; the main differences are that the latter means parasite densities will remain high from the point of view of surveys and diagnostics (i.e. mass screen and treat) used before the next timestep and that the latter will also remove infections starting the next timestep. Arguably the latter is a better model, but the differences are perhaps small, excepting where immediate treatment of fevers (i.e. through the health system) can hide high parasite densities from reporting and mass-screen-and-treat diagnostics. For use by interventions, the latter model has nicer behaviour in that the order of deployment of multiple interventions deployed at the same time does not matter, and that the former model retrospectively treats infections which may already have caused fever, thus may have a lower health impact than it should. It is recommended to use the new model (value 1, or greater than 1 if prophylactic effect is desired) unless wanting to emulate the old behaviour. Values of 0 or less than -1 are not allowed. Can be specified in steps (e.g. 1t, -1t) or days (e.g. 5d).
Target stage
stage=("liver" or "blood" or "both")
Controls whether liver-stage or blood-stage infections are cleared, or both. Infections are considered liver-stage for one 5-day timestep, blood-stage but pre-patent for some number of timesteps (latentp - 1), then start the patent blood stage. If stage is set to "liver", infections are only cleared during their first timestep; if stage is set to "blood", infections are cleared during pre-patent and patent blood stages; if stage is set to "both" all infections are cleared. The old behaviour (oddly considering the drugs it is meant to emulate) is to clear both stages, except for the IPT model of SP action, which cleared only patent blood-stage infections.
SP
→ scenario → healthSystem → ImmediateOutcomes → treatmentActions → SP
<SP
[ name=string ]
>
IN THIS ORDER:
| ( <deploy ... /> )*
</SP>
Documentation (type)
Describes the effects of the treatment, assuming this compliance/adherence/... option is selected. Effects are described in terms of a list of options, each of which acts independently but with all effects being activated simultaneously.
Documentation (base type)
Lists intervention components which are deployed according to some external trigger (for example, screening with a negative patency outcome or health-system treatment).
Components are referenced from one or more sub-lists. Each of these lists is deployed independently if and only if its age constraints are met by the human host and a random sample with the given probability of a positive outcome is positive.
Attributes
Name
name=string
Describes what this compliance option represents (e.g. "good compliance", "poor compliance with good drugs", ...).
AQ
→ scenario → healthSystem → ImmediateOutcomes → treatmentActions → AQ
<AQ
[ name=string ]
>
IN THIS ORDER:
| ( <deploy ... /> )*
</AQ>
Documentation (type)
Describes the effects of the treatment, assuming this compliance/adherence/... option is selected. Effects are described in terms of a list of options, each of which acts independently but with all effects being activated simultaneously.
Documentation (base type)
Lists intervention components which are deployed according to some external trigger (for example, screening with a negative patency outcome or health-system treatment).
Components are referenced from one or more sub-lists. Each of these lists is deployed independently if and only if its age constraints are met by the human host and a random sample with the given probability of a positive outcome is positive.
Attributes
Name
name=string
Describes what this compliance option represents (e.g. "good compliance", "poor compliance with good drugs", ...).
SPAQ
→ scenario → healthSystem → ImmediateOutcomes → treatmentActions → SPAQ
<SPAQ
[ name=string ]
>
IN THIS ORDER:
| ( <deploy ... /> )*
</SPAQ>
Documentation (type)
Describes the effects of the treatment, assuming this compliance/adherence/... option is selected. Effects are described in terms of a list of options, each of which acts independently but with all effects being activated simultaneously.
Documentation (base type)
Lists intervention components which are deployed according to some external trigger (for example, screening with a negative patency outcome or health-system treatment).
Components are referenced from one or more sub-lists. Each of these lists is deployed independently if and only if its age constraints are met by the human host and a random sample with the given probability of a positive outcome is positive.
Attributes
Name
name=string
Describes what this compliance option represents (e.g. "good compliance", "poor compliance with good drugs", ...).
ACT
→ scenario → healthSystem → ImmediateOutcomes → treatmentActions → ACT
<ACT
[ name=string ]
>
IN THIS ORDER:
| ( <deploy ... /> )*
</ACT>
Documentation (type)
Describes the effects of the treatment, assuming this compliance/adherence/... option is selected. Effects are described in terms of a list of options, each of which acts independently but with all effects being activated simultaneously.
Documentation (base type)
Lists intervention components which are deployed according to some external trigger (for example, screening with a negative patency outcome or health-system treatment).
Components are referenced from one or more sub-lists. Each of these lists is deployed independently if and only if its age constraints are met by the human host and a random sample with the given probability of a positive outcome is positive.
Attributes
Name
name=string
Describes what this compliance option represents (e.g. "good compliance", "poor compliance with good drugs", ...).
QN
→ scenario → healthSystem → ImmediateOutcomes → treatmentActions → QN
<QN
[ name=string ]
>
IN THIS ORDER:
| ( <deploy ... /> )*
</QN>
Documentation (type)
Describes the effects of the treatment, assuming this compliance/adherence/... option is selected. Effects are described in terms of a list of options, each of which acts independently but with all effects being activated simultaneously.
Documentation (base type)
Lists intervention components which are deployed according to some external trigger (for example, screening with a negative patency outcome or health-system treatment).
Components are referenced from one or more sub-lists. Each of these lists is deployed independently if and only if its age constraints are met by the human host and a random sample with the given probability of a positive outcome is positive.
Attributes
Name
name=string
Describes what this compliance option represents (e.g. "good compliance", "poor compliance with good drugs", ...).
Probability that a patient with uncomplicated disease seeks official care immediately.
→ scenario → healthSystem → ImmediateOutcomes → pSeekOfficialCareUncomplicated1
<pSeekOfficialCareUncomplicated1
value=double
/>
Documentation (element)
Units: Dimensionless Min: 0.0 Max: 1.0
Probability that a patient with newly incident uncomplicated disease seeks official care
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Probability that a patient with uncomplicated disease will self-treat.
→ scenario → healthSystem → ImmediateOutcomes → pSelfTreatUncomplicated
<pSelfTreatUncomplicated
value=double
/>
Documentation (element)
Units: Dimensionless Min: 0.0 Max: 1.0
Probability that a patient with uncomplicated disease without recent history of disease (i.e. first line) will self-treat.
Note that in second line cases there is no probability of self-treatment.
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Probability that a recurring patient seeks official care
→ scenario → healthSystem → ImmediateOutcomes → pSeekOfficialCareUncomplicated2
<pSeekOfficialCareUncomplicated2
value=double
/>
Documentation (element)
Units: Dimensionless Min: 0.0 Max: 1.0
Probability that a patient with recurrence of uncomplicated disease seeks official care
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Probability that a patient with severe disease obtains appropriate care
→ scenario → healthSystem → ImmediateOutcomes → pSeekOfficialCareSevere
<pSeekOfficialCareSevere
value=double
/>
Documentation (element)
Units: Dimensionless Min: 0.0 Max: 1.0
Probability that a patient with severe disease obtains appropriate care
Attributes
Input parameter value
value=double
A double-precision floating-point value.
liverStageDrug
→ scenario → healthSystem → ImmediateOutcomes → liverStageDrug
<liverStageDrug>
IN ANY ORDER:
| <pHumanCannotReceive ... />
| [ <ignoreCannotReceive ... /> ]
| [ <pUseUncomplicated ... /> ]
| <effectivenessOnUse ... />
</liverStageDrug>
Documentation (type)
Parameters for drug treatment which have an effect on the liver-stage of parasites (Primaquine and potentially Tafenoquine); for use with the Vivax model only.
Note: if this section is not listed, the following default values are assumed: pHumanCannotReceive=0, pUseUncomplicated=0, effectivenessOnUse=1.
Probability that human is incompatible with liver-stage drug treatment
→ scenario → healthSystem → ImmediateOutcomes → liverStageDrug → pHumanCannotReceive
<pHumanCannotReceive
value=double
/>
Documentation (element)
Units: Probability Min: 0 Max: 1
Chance that a human is determined to be unable to receive liver-stage drug treatment. Treatment is neither reported or given for such humans.
This is sampled once per human at birth.
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Ignore liver-stage drug treatment incompatibility
→ scenario → healthSystem → ImmediateOutcomes → liverStageDrug → ignoreCannotReceive
<ignoreCannotReceive
value=boolean
/>
Documentation (element)
If true, ignore pHumanCannotReceive and consider all humans eligible for treatment; if false (or not specified), do not treat those demed incompatible with liver-stage drug treatment.
The point of this is that pHumanCannotReceive cannot be altered by changeHS interventions, but this property can be.
Attributes
Input parameter value
value=boolean
A boolean value.
Prob use in UC case
→ scenario → healthSystem → ImmediateOutcomes → liverStageDrug → pUseUncomplicated
<pUseUncomplicated
value=double
/>
Documentation (element)
Units: Probability Min: 0 Max: 1
This feature is deprecated; it is suggested to use the "simple treatment" feature configured to clear liver-stage parasites, leaving this option unset or zero.
Chance of liver-stage drug treatment being used for routine treatment of an uncomplicated case.
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Effectiveness
→ scenario → healthSystem → ImmediateOutcomes → liverStageDrug → effectivenessOnUse
<effectivenessOnUse
value=double
/>
Documentation (element)
Units: Probability Min: 0 Max: 1
Chance that liver-stage drug treatment is effective.
On application, a random variable is sampled against this probability. If false, the treatment does nothing; if true, the treatment clears all liver stage parasites. Where effectiveness is longer than a single time step (prophylactic effect), this sample still only happens once (thus either no effect or all liver stages cleared over multiple steps).
Attributes
Input parameter value
value=double
A double-precision floating-point value.
DecisionTree5Day
→ scenario → healthSystem → DecisionTree5Day
<DecisionTree5Day
[ name=string ]
>
IN ANY ORDER:
| <pSeekOfficialCareUncomplicated1 ... />
| <pSelfTreatUncomplicated ... />
| <pSeekOfficialCareUncomplicated2 ... />
| <pSeekOfficialCareSevere ... />
| [ <liverStageDrug ... /> ]
| <treeUCOfficial ... />
| <treeUCSelfTreat ... />
| <cureRateSevere ... />
| <treatmentSevere ... />
</DecisionTree5Day>
- pSeekOfficialCareUncomplicated1
- pSelfTreatUncomplicated
- pSeekOfficialCareUncomplicated2
- pSeekOfficialCareSevere
- liverStageDrug
- treeUCOfficial
- treeUCSelfTreat
- cureRateSevere
- treatmentSevere
Documentation (type)
Description of the health system using the 5-day timestep with decision tree model: access is configured as in the Tediosi et al case management model (Case management as described in AJTMH 75 (suppl 2) pp90-103) while treatment decisions are configured via decision trees.
Besides greater flexibility, this allows treatment via PK/PD models.
Attributes
Name of case management parameterisation
name=string
Name of health system
Probability that a patient with uncomplicated disease seeks official care immediately.
→ scenario → healthSystem → DecisionTree5Day → pSeekOfficialCareUncomplicated1
<pSeekOfficialCareUncomplicated1
value=double
/>
Documentation (element)
Units: Dimensionless Min: 0.0 Max: 1.0
Probability that a patient with newly incident uncomplicated disease seeks official care
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Probability that a patient with uncomplicated disease will self-treat.
→ scenario → healthSystem → DecisionTree5Day → pSelfTreatUncomplicated
<pSelfTreatUncomplicated
value=double
/>
Documentation (element)
Units: Dimensionless Min: 0.0 Max: 1.0
Probability that a patient with uncomplicated disease without recent history of disease (i.e. first line) will self-treat.
Note that in second line cases there is no probability of self-treatment.
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Probability that a recurring patient seeks official care
→ scenario → healthSystem → DecisionTree5Day → pSeekOfficialCareUncomplicated2
<pSeekOfficialCareUncomplicated2
value=double
/>
Documentation (element)
Units: Dimensionless Min: 0.0 Max: 1.0
Probability that a patient with recurrence of uncomplicated disease seeks official care
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Probability that a patient with severe disease obtains appropriate care
→ scenario → healthSystem → DecisionTree5Day → pSeekOfficialCareSevere
<pSeekOfficialCareSevere
value=double
/>
Documentation (element)
Units: Dimensionless Min: 0.0 Max: 1.0
Probability that a patient with severe disease obtains appropriate care
Attributes
Input parameter value
value=double
A double-precision floating-point value.
liverStageDrug
→ scenario → healthSystem → DecisionTree5Day → liverStageDrug
<liverStageDrug>
IN ANY ORDER:
| <pHumanCannotReceive ... />
| [ <ignoreCannotReceive ... /> ]
| [ <pUseUncomplicated ... /> ]
| <effectivenessOnUse ... />
</liverStageDrug>
Documentation (type)
Parameters for drug treatment which have an effect on the liver-stage of parasites (Primaquine and potentially Tafenoquine); for use with the Vivax model only.
Note: if this section is not listed, the following default values are assumed: pHumanCannotReceive=0, pUseUncomplicated=0, effectivenessOnUse=1.
treeUCOfficial
→ scenario → healthSystem → DecisionTree5Day → treeUCOfficial
<treeUCOfficial
[ name=string ]
>
EXACTLY ONE OF:
| <multiple ... />
| <caseType ... />
| <diagnostic ... />
| <fever ... />
| <random ... />
| <age ... />
| <noTreatment ... />
| ( <report ... /> )+
| <treatFailure ... />
| ( <treatPKPD ... /> )+
| ( <treatSimple ... /> )+
| ( <deploy ... /> )+
</treeUCOfficial>
- multiple
- caseType
- diagnostic
- fever
- random
- age
- noTreatment
- report
- treatFailure
- treatPKPD
- treatSimple
- deploy
Documentation (type)
Describes how "decisions" are made, both probabilistically and deterministically, and what actions are carried out.
Quantities may also be reported as a side effect of decisions made in the tree, for example the number of diagnostics used.
Attributes
Name
name=string
An optional piece of documentation attached to this node.
treeUCSelfTreat
→ scenario → healthSystem → DecisionTree5Day → treeUCSelfTreat
<treeUCSelfTreat
[ name=string ]
>
EXACTLY ONE OF:
| <multiple ... />
| <caseType ... />
| <diagnostic ... />
| <fever ... />
| <random ... />
| <age ... />
| <noTreatment ... />
| ( <report ... /> )+
| <treatFailure ... />
| ( <treatPKPD ... /> )+
| ( <treatSimple ... /> )+
| ( <deploy ... /> )+
</treeUCSelfTreat>
- multiple
- caseType
- diagnostic
- fever
- random
- age
- noTreatment
- report
- treatFailure
- treatPKPD
- treatSimple
- deploy
Documentation (type)
Describes how "decisions" are made, both probabilistically and deterministically, and what actions are carried out.
Quantities may also be reported as a side effect of decisions made in the tree, for example the number of diagnostics used.
Attributes
Name
name=string
An optional piece of documentation attached to this node.
Cure rate (severe cases)
→ scenario → healthSystem → DecisionTree5Day → cureRateSevere
<cureRateSevere
value=double
/>
Documentation (element)
Min: 0 Max: 1
The probability of clearing parasites given access to appropriate (hospital) care, for a severe case.
Attributes
Input parameter value
value=double
A double-precision floating-point value.
treatmentSevere
→ scenario → healthSystem → DecisionTree5Day → treatmentSevere
<treatmentSevere
[ name=string ]
>
IN THIS ORDER:
| ( <deploy ... /> )*
</treatmentSevere>
Documentation (type)
Describes the effects of the treatment, assuming this compliance/adherence/... option is selected. Effects are described in terms of a list of options, each of which acts independently but with all effects being activated simultaneously.
Documentation (base type)
Lists intervention components which are deployed according to some external trigger (for example, screening with a negative patency outcome or health-system treatment).
Components are referenced from one or more sub-lists. Each of these lists is deployed independently if and only if its age constraints are met by the human host and a random sample with the given probability of a positive outcome is positive.
Attributes
Name
name=string
Describes what this compliance option represents (e.g. "good compliance", "poor compliance with good drugs", ...).
Case fatality rate for inpatients
→ scenario → healthSystem → CFR
<CFR
[ interpolation=("none" or "linear") ]
>
IN THIS ORDER:
| ( <group ... /> )+
</CFR>
Documentation (element)
Case fatality rate (probability of an inpatient fatality from a bout of severe malaria, per age-group).
Attributes
interpolation
interpolation=("none" or "linear")
Interpolation algorithm. Normally it is desirable for age-based values to be continuous w.r.t. age. By default linear interpolation is used. With all algorithms except "none", the age groups are converted to a set of points centred within each age range. Extra points are added at each end (zero and infinity) to keep value constant at both ends of the function. A zero-length age group may be used as a kind of barrier to adjust the distribution; e.g. with age group boundaries at 15, 20 and 25 years, a (linear) spline would be drawn between ages 17.5 and 22.5, whereas with boundaries at 15, 20 and 20 years, a spline would be drawn between ages 17.5 and 20 years (may be desired if individuals are assumed to reach adult size at 20). Algorithms:
- none: input values are used directly
- linear: straight lines (on an age vs. value graph) are used to interpolate data points.
Probabilities of sequelae in inpatients
→ scenario → healthSystem → pSequelaeInpatient
<pSequelaeInpatient
[ interpolation=("none" or "linear") ]
>
IN THIS ORDER:
| ( <group ... /> )+
</pSequelaeInpatient>
Documentation (element)
Units: Dimensionless
List of age-specific probabilities of sequelae in inpatients, during a severe bout of malaria.
Attributes
interpolation
interpolation=("none" or "linear")
Interpolation algorithm. Normally it is desirable for age-based values to be continuous w.r.t. age. By default linear interpolation is used. With all algorithms except "none", the age groups are converted to a set of points centred within each age range. Extra points are added at each end (zero and infinity) to keep value constant at both ends of the function. A zero-length age group may be used as a kind of barrier to adjust the distribution; e.g. with age group boundaries at 15, 20 and 25 years, a (linear) spline would be drawn between ages 17.5 and 22.5, whereas with boundaries at 15, 20 and 20 years, a spline would be drawn between ages 17.5 and 20 years (may be desired if individuals are assumed to reach adult size at 20). Algorithms:
- none: input values are used directly
- linear: straight lines (on an age vs. value graph) are used to interpolate data points.
Change transmission levels
→ scenario → interventions → changeEIR
<changeEIR
[ name=string ]
>
IN THIS ORDER:
| ( <timedDeployment ... /> )*
</changeEIR>
Documentation (element)
New description of transmission level for models not supporting vector control interventions. Use of this overrides previous transmission levels such that human infectiousness no longer has any feedback effect on transmission. Supplied EIR data must last until end of simulation.
Attributes
Name of intervention
name=string
Name of intervention
timedDeployment
→ scenario → interventions → changeEIR → timedDeployment
<timedDeployment
eipDuration=int
time=string
>
IN THIS ORDER:
| ( <EIRDaily ... /> )+
</timedDeployment>
Documentation (type)
Replacement transmission levels. Disables feedback of human infectiousness to mosquitoes on further mosquito to human transmission. Must last until end of simulation.
Attributes
Duration of sporogony
eipDuration=int
Units: Days
The duration of sporogony in days
Time
time=string
Units: User defined (defauls to steps) Min: 0
Time at which this replacement occurs. See doc on intervention period and on monitoring/startDate for details of how times work. Can be specified in steps, days, years, or as a date (examples: 15t, 75d, 0.2y, 2000-03-16).
EIRDaily
→ scenario → entomology → nonVector → EIRDaily
<EIRDaily
[ origin=string ]
>
double
</EIRDaily>
Documentation (type)
Units: Infectious bites per adult per day
In the non-vector model, EIR is input as a sequence of daily values. There must be at least one years' worth of entries (365), and if there are more, values are wrapped and averaged (i.e. value for first day of year is taken as the mean of values for days 0, 365+0, 2*365+0, etc.).
Attributes
Time origin of EIR sequence
origin=string
Imported infections
→ scenario → interventions → importedInfections
<importedInfections
[ name=string ]
>
IN THIS ORDER:
| <timed ... />
</importedInfections>
Documentation (element)
Models importation of P. falciparum infections directly into humans from an external source. This is infections, not inoculations or EIR being imported.
Attributes
Name of intervention
name=string
Name of intervention
Rate of importation
→ scenario → interventions → importedInfections → timed
<timed
[ period=string ] DEFAULT VALUE 0
>
IN THIS ORDER:
| ( <rate ... /> )+
</timed>
Documentation (element)
Rate of case importation, as a step function. Each value is valid until replaced by the next value.
Attributes
Period of repetition
period=string
Units: User defined (default: steps) Min: 0
Default value: 0
If period is 0 (or effectively infinite), the last specified value remains indefinitely in effect. If period is less than the length of the simulation's intervention phase, then all "rate" deployments are repeated with this periodicity. In this case, the first "rate" deployment must coincide with the start of the intervention phase (monitoring/startDate). Can be specified in steps (e.g. 1t) or days (e.g. 365d).
rate
→ scenario → interventions → importedInfections → timed → rate
<rate
value=double
time=string
/>
Documentation (type)
Units: Imported cases per thousand people per year
A time-rate pair.
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Time of start
time=string
Units: User defined (defauls to steps) Min: 0
Time at which this importation rate becomes active. See doc on intervention period and on monitoring/startDate for details of how times work. Can be specified in steps, days, years, or as a date (examples: 15t, 75d, 0.2y, 2000-03-16).
Insert R_0 case
→ scenario → interventions → insertR_0Case
<insertR_0Case
[ name=string ]
>
IN THIS ORDER:
| ( <timedDeployment ... /> )*
</insertR_0Case>
Documentation (element)
Used to simulate R_0. First, infections should be eliminated, immunity removed, and the population given an effective transmission- blocking vaccine (not done by this intervention). Then this intervention may be used to: pick one human, infect him, administer a fully effective Preerythrocytic vaccine and remove transmission-blocking vaccine effect on this human. Thus only this one human will be a source of infections in an unprotected population, and will not reinfected himself.
Attributes
Name of intervention
name=string
Name of intervention
timedDeployment
→ scenario → interventions → insertR_0Case → timedDeployment
<timedDeployment
time=string
/>
Attributes
Time
time=string
Units: User defined (defauls to steps) Min: 0
Time at which this intervention occurs. See doc on intervention period and on monitoring/startDate for details of how times work. Can be specified in steps, days, years, or as a date (examples: 15t, 75d, 0.2y, 2000-03-16).
Uninfect vectors
→ scenario → interventions → uninfectVectors
<uninfectVectors
[ name=string ]
>
IN THIS ORDER:
| ( <timedDeployment ... /> )*
</uninfectVectors>
Documentation (element)
Units: List of elements
Removes all infections from mosquitoes -- resulting in zero EIR to humans, until such time that mosquitoes are re-infected and become infectious. Only efficacious in dynamic EIR mode (when changeEIR was not used).
Hypothetical, but potentially useful to simulate a setting starting from no infections, but with enough mosquitoes to reach a set equilibrium of exposure.
Attributes
Name of intervention
name=string
Name of intervention
timedDeployment
→ scenario → interventions → uninfectVectors → timedDeployment
<timedDeployment
time=string
/>
Attributes
Time
time=string
Units: User defined (defauls to steps) Min: 0
Time at which this intervention occurs. See doc on intervention period and on monitoring/startDate for details of how times work. Can be specified in steps, days, years, or as a date (examples: 15t, 75d, 0.2y, 2000-03-16).
Vector population intervention
→ scenario → interventions → vectorPop
<vectorPop>
IN THIS ORDER:
| ( <intervention ... /> )+
</vectorPop>
Documentation (element)
Units: List of elements
A list of parameterisations of generic vector host-inspecific interventions.
intervention
→ scenario → interventions → vectorPop → intervention
<intervention
name=string
>
IN THIS ORDER:
| <description ... />
| [ <timed ... /> ]
</intervention>
Documentation (type)
Units: List of elements
An intervention which may have various effects on the vector populations as a whole. (Not host specific.)
Multiple instances of this intervention class are allowed (multiple parameterisations, not just deployments).
Each instance may have multiple deployments. In this case the effects of each instance are independent (effects are combined) but the effects of multiple deployments of a single instance are not independent (only the latest deployment has any effect).
Attributes
Name of intervention
name=string
Name of intervention (e.g. larviciding, sugar bait).
description
→ scenario → interventions → vectorPop → intervention → description
<description>
IN THIS ORDER:
| ( <anopheles ... /> )+
</description>
anopheles
→ scenario → interventions → vectorPop → intervention → description → anopheles
<anopheles
mosquito=string
>
IN ANY ORDER:
| [ <seekingDeathRateIncrease ... /> ]
| [ <probDeathOvipositing ... /> ]
| [ <emergenceReduction ... /> ]
| [ <probAdditionalDeathSugarFeeding ... /> ]
</anopheles>
Documentation (type)
Units: dimensionless Min: 0 Max: 1
Descriptions of the effects of vector interventions with per-species effects.
Attributes
Species/subspecies/variant name
mosquito=string
Name of the species/subspecies/variant.
Proportional increase in deaths while host searching
→ scenario → interventions → vectorPop → intervention → description → anopheles → seekingDeathRateIncrease
<seekingDeathRateIncrease
initial=double
>
IN THIS ORDER:
| <decay ... />
</seekingDeathRateIncrease>
Documentation (element)
Units: dimensionless
Describe an effect on the increase in the death rate while host seeking (mu_vA) due to this intervention.
Enter the rate increase (i.e. if rate increases to 120% of normal, give 0.2). New death rate while seeking is old × (1 + increase) where increase is this factor given. Must have increas ≥ -1.
Attributes
Initial proportion increase
initial=double
Units: dimensionless Min: -1 Max: inf
decay
→ scenario → interventions → vectorPop → intervention → description → anopheles → seekingDeathRateIncrease → decay
<decay
function=("constant" or "step" or "linear" or "exponential" or "weibull" or "hill" or "smooth-compact")
[ L=string ]
[ k=double ] DEFAULT VALUE 1.0
[ CV=double ] DEFAULT VALUE 0
[ complement=boolean ] DEFAULT VALUE false
/>
Documentation (type)
Specification of decay or survival of a parameter.
Attributes
function
function=("constant" or "step" or "linear" or "exponential" or "weibull" or "hill" or "smooth-compact")
Units: None Min: 0 Max: 1
Determines which decay function to use. Available decay functions, for age t in years: constant: 1 step: 1 for t less than L, otherwise 0 linear: 1 - t/L for t less than L, otherwise 0 exponential: exp( - t/L * log(2) ) weibull: exp( -(t/L)^k * log(2) ) hill: 1 / (1 + (t/L)^k) smooth-compact: exp( k - k / (1 - (t/L)^2) ) for t less than L, otherwise 0
L
L=string
Units: User-defined (defaults to years) Min: 0
(Time) scale parameter of distribution: this is either the age of complete decay (smooth-compact, step and linear functions) or the age at which the parameter has decayed to half its original value (exponential, weibull and hill). Not used when function="constant" (i.e. no decay). This value can be specified in years, days or steps (e.g. 2y, 180d or 100t). When the unit is not specified years are assumed. The value is used without rounding except when sampling an age of decay, when the rounding happens as late as possible.
k
k=double
Units: none Min: 0
Default value: 1.0
Shape parameter of distribution. If not specified, default value of 1 is used. Meaning depends on function; not used in some cases.
Coefficient of Variation
CV=double
Min: 0
Default value: 0
If CV is non-zero, heterogeneity of decay is introduced via a random variable sampled from the log-normal distribution. This distribution is parameterised with mean=1 and CV as given. The effective age of decay is the real age multiplied by this variable (for decay functions with a half-life, this is equivalent to dividing the half-life by the variable).
L
complement=boolean
Units: User-defined (defaults to years) Min: 0
Default value: false
(Boolean) If True, this tells OpenMalaria to use the complement of the DecayFunction defined as 1-f(x). This is useful to model increasing functions that will "decay" to 1. This only works if f(x) is contained between 0 and 1.
Proportion ovipositing mosquitoes killed
→ scenario → interventions → vectorPop → intervention → description → anopheles → probDeathOvipositing
<probDeathOvipositing
initial=double
>
IN THIS ORDER:
| <decay ... />
</probDeathOvipositing>
Documentation (element)
Units: dimensionless
Describe an effect of increased mortality while ovipositing due to this intervention. Enter the probability of dying due to this intervention.
Attributes
Initial probability of killing
initial=double
Units: dimensionless Min: 0 Max: 1
decay
→ scenario → interventions → vectorPop → intervention → description → anopheles → probDeathOvipositing → decay
<decay
function=("constant" or "step" or "linear" or "exponential" or "weibull" or "hill" or "smooth-compact")
[ L=string ]
[ k=double ] DEFAULT VALUE 1.0
[ CV=double ] DEFAULT VALUE 0
[ complement=boolean ] DEFAULT VALUE false
/>
Documentation (type)
Specification of decay or survival of a parameter.
Attributes
function
function=("constant" or "step" or "linear" or "exponential" or "weibull" or "hill" or "smooth-compact")
Units: None Min: 0 Max: 1
Determines which decay function to use. Available decay functions, for age t in years: constant: 1 step: 1 for t less than L, otherwise 0 linear: 1 - t/L for t less than L, otherwise 0 exponential: exp( - t/L * log(2) ) weibull: exp( -(t/L)^k * log(2) ) hill: 1 / (1 + (t/L)^k) smooth-compact: exp( k - k / (1 - (t/L)^2) ) for t less than L, otherwise 0
L
L=string
Units: User-defined (defaults to years) Min: 0
(Time) scale parameter of distribution: this is either the age of complete decay (smooth-compact, step and linear functions) or the age at which the parameter has decayed to half its original value (exponential, weibull and hill). Not used when function="constant" (i.e. no decay). This value can be specified in years, days or steps (e.g. 2y, 180d or 100t). When the unit is not specified years are assumed. The value is used without rounding except when sampling an age of decay, when the rounding happens as late as possible.
k
k=double
Units: none Min: 0
Default value: 1.0
Shape parameter of distribution. If not specified, default value of 1 is used. Meaning depends on function; not used in some cases.
Coefficient of Variation
CV=double
Min: 0
Default value: 0
If CV is non-zero, heterogeneity of decay is introduced via a random variable sampled from the log-normal distribution. This distribution is parameterised with mean=1 and CV as given. The effective age of decay is the real age multiplied by this variable (for decay functions with a half-life, this is equivalent to dividing the half-life by the variable).
L
complement=boolean
Units: User-defined (defaults to years) Min: 0
Default value: false
(Boolean) If True, this tells OpenMalaria to use the complement of the DecayFunction defined as 1-f(x). This is useful to model increasing functions that will "decay" to 1. This only works if f(x) is contained between 0 and 1.
Proportion of emerging pupa killed
→ scenario → interventions → vectorPop → intervention → description → anopheles → emergenceReduction
<emergenceReduction
initial=double
>
IN THIS ORDER:
| <decay ... />
</emergenceReduction>
Documentation (element)
Units: dimensionless
Describe an effect on emergence of pupa into adults: this value is the proportion of emerging pupa which are killed by this intervention.
This can be used as a crude way of modelling larviciding. It ca also be used to increase emergence by giving a negative value. The emergence rate is "old rate" × (1 - factor) where factor is the value given here; thus, for example, using -1 will double emergence.
Attributes
Initial proportion reduction
initial=double
Units: dimensionless Min: -inf Max: 1
decay
→ scenario → interventions → vectorPop → intervention → description → anopheles → emergenceReduction → decay
<decay
function=("constant" or "step" or "linear" or "exponential" or "weibull" or "hill" or "smooth-compact")
[ L=string ]
[ k=double ] DEFAULT VALUE 1.0
[ CV=double ] DEFAULT VALUE 0
[ complement=boolean ] DEFAULT VALUE false
/>
Documentation (type)
Specification of decay or survival of a parameter.
Attributes
function
function=("constant" or "step" or "linear" or "exponential" or "weibull" or "hill" or "smooth-compact")
Units: None Min: 0 Max: 1
Determines which decay function to use. Available decay functions, for age t in years: constant: 1 step: 1 for t less than L, otherwise 0 linear: 1 - t/L for t less than L, otherwise 0 exponential: exp( - t/L * log(2) ) weibull: exp( -(t/L)^k * log(2) ) hill: 1 / (1 + (t/L)^k) smooth-compact: exp( k - k / (1 - (t/L)^2) ) for t less than L, otherwise 0
L
L=string
Units: User-defined (defaults to years) Min: 0
(Time) scale parameter of distribution: this is either the age of complete decay (smooth-compact, step and linear functions) or the age at which the parameter has decayed to half its original value (exponential, weibull and hill). Not used when function="constant" (i.e. no decay). This value can be specified in years, days or steps (e.g. 2y, 180d or 100t). When the unit is not specified years are assumed. The value is used without rounding except when sampling an age of decay, when the rounding happens as late as possible.
k
k=double
Units: none Min: 0
Default value: 1.0
Shape parameter of distribution. If not specified, default value of 1 is used. Meaning depends on function; not used in some cases.
Coefficient of Variation
CV=double
Min: 0
Default value: 0
If CV is non-zero, heterogeneity of decay is introduced via a random variable sampled from the log-normal distribution. This distribution is parameterised with mean=1 and CV as given. The effective age of decay is the real age multiplied by this variable (for decay functions with a half-life, this is equivalent to dividing the half-life by the variable).
L
complement=boolean
Units: User-defined (defaults to years) Min: 0
Default value: false
(Boolean) If True, this tells OpenMalaria to use the complement of the DecayFunction defined as 1-f(x). This is useful to model increasing functions that will "decay" to 1. This only works if f(x) is contained between 0 and 1.
Probability of death while host searching as a result of feeding on a sugar bait (used to dynamically adjust mu_vA)
→ scenario → interventions → vectorPop → intervention → description → anopheles → probAdditionalDeathSugarFeeding
<probAdditionalDeathSugarFeeding
initial=double
>
IN THIS ORDER:
| <decay ... />
</probAdditionalDeathSugarFeeding>
Documentation (element)
Units: dimensionless
Describe an effect on the increase in the death rate while host seeking (mu_vA) due to this intervention. This works like adding an non-human host with its own availability. The difference is that biting this sugar bait is associated with a probability of dying of 1: all mosquitoes biting the sugar bait will die. OpenMalaria will automatically compute the availability for this host so that the probability of biting this 'host' (and thus dying) is equal to the input parameter.
Enter the probability of dying while host seeking due to this intervention. If multiple interventions overlap, the cumulative probability will be used. Note that it cannot exceed 1, and OpenMalaria will return an error during the simulation if this ever happens.
OpenMalaria will dynamically compute the necessary increase in mu_vA based on the given probability. Note that this is done by solving an equation numerically every timestep, which can cause a small drop in performance.
Attributes
Initial proportion increase
initial=double
Units: dimensionless Min: -1 Max: inf
decay
→ scenario → interventions → vectorPop → intervention → description → anopheles → probAdditionalDeathSugarFeeding → decay
<decay
function=("constant" or "step" or "linear" or "exponential" or "weibull" or "hill" or "smooth-compact")
[ L=string ]
[ k=double ] DEFAULT VALUE 1.0
[ CV=double ] DEFAULT VALUE 0
[ complement=boolean ] DEFAULT VALUE false
/>
Documentation (type)
Specification of decay or survival of a parameter.
Attributes
function
function=("constant" or "step" or "linear" or "exponential" or "weibull" or "hill" or "smooth-compact")
Units: None Min: 0 Max: 1
Determines which decay function to use. Available decay functions, for age t in years: constant: 1 step: 1 for t less than L, otherwise 0 linear: 1 - t/L for t less than L, otherwise 0 exponential: exp( - t/L * log(2) ) weibull: exp( -(t/L)^k * log(2) ) hill: 1 / (1 + (t/L)^k) smooth-compact: exp( k - k / (1 - (t/L)^2) ) for t less than L, otherwise 0
L
L=string
Units: User-defined (defaults to years) Min: 0
(Time) scale parameter of distribution: this is either the age of complete decay (smooth-compact, step and linear functions) or the age at which the parameter has decayed to half its original value (exponential, weibull and hill). Not used when function="constant" (i.e. no decay). This value can be specified in years, days or steps (e.g. 2y, 180d or 100t). When the unit is not specified years are assumed. The value is used without rounding except when sampling an age of decay, when the rounding happens as late as possible.
k
k=double
Units: none Min: 0
Default value: 1.0
Shape parameter of distribution. If not specified, default value of 1 is used. Meaning depends on function; not used in some cases.
Coefficient of Variation
CV=double
Min: 0
Default value: 0
If CV is non-zero, heterogeneity of decay is introduced via a random variable sampled from the log-normal distribution. This distribution is parameterised with mean=1 and CV as given. The effective age of decay is the real age multiplied by this variable (for decay functions with a half-life, this is equivalent to dividing the half-life by the variable).
L
complement=boolean
Units: User-defined (defaults to years) Min: 0
Default value: false
(Boolean) If True, this tells OpenMalaria to use the complement of the DecayFunction defined as 1-f(x). This is useful to model increasing functions that will "decay" to 1. This only works if f(x) is contained between 0 and 1.
Vector population intervention deployment
→ scenario → interventions → vectorPop → intervention → timed
<timed>
IN THIS ORDER:
| ( <deploy ... /> )+
</timed>
Documentation (element)
List of timed vector population intervention deployment
deploy
→ scenario → interventions → vectorPop → intervention → timed → deploy
<deploy
time=string
/>
Attributes
Time
time=string
Units: User defined (defauls to steps) Min: 0
Time at which this deployment occurs. See doc on intervention period and on monitoring/startDate for details of how times work. Can be specified in steps, days, years, or as a date (examples: 15t, 75d, 0.2y, 2000-03-16).
Baited trap
→ scenario → interventions → vectorTrap
<vectorTrap>
IN THIS ORDER:
| ( <intervention ... /> )+
</vectorTrap>
Documentation (element)
Traps attract and kill mosquitoes. They are modelled as a non-human-host where the probability of mosquitoes surviving feeding is zero (since otherwise the simulator would assume surviving mosquitoes have had a blood meal), and where this "host" is initially not present.
Model: each type of trap has has an initial availability relative to a human and a decay in availability. Each deployment has a fixed maximum lifespan, after which the traps from that deployment are removed (it is up to the user whether this is after availability is effectively zero or sooner, either coinciding with a redeployment or causing a reduction in overall effectiveness of traps).
intervention
→ scenario → interventions → vectorTrap → intervention
<intervention
[ name=string ]
>
IN THIS ORDER:
| ( <description ... /> )+
| [ <timed ... /> ]
</intervention>
Documentation (type)
Parameters and deployment of one type of trap. In case multiple types of trap are needed simultaneously, multiple elements can be used. Note that different types of trap do not interact except that all will attract mosquitoes.
Attributes
Descriptive name for type of trap
name=string
Optional name for this type of trap
Description
→ scenario → interventions → vectorTrap → intervention → description
<description
mosquito=string
>
IN THIS ORDER:
| <relativeAvailability ... />
| <decayOfAvailability ... />
</description>
Documentation (element)
Parameters associated with a vector trap intervention, per mosquito species.
Attributes
Species/subspecies/variant name
mosquito=string
Name of the species/subspecies/variant.
Initial relative availability
→ scenario → interventions → vectorTrap → intervention → description → relativeAvailability
<relativeAvailability
value=double
/>
Documentation (element)
Units: Proportion Min: 0 Max: inf
Describes the availiability of a trap to a host-seeking mosquito relative to an average unprotected adult.
I.e. if this parameter is 2, then each trap will on average attract twice as many mosquitoes as unprotected adults.
This is the initial availability; it may decay towards zero depending on the configured decay function.
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Decay of availability
→ scenario → interventions → vectorTrap → intervention → description → decayOfAvailability
<decayOfAvailability
function=("constant" or "step" or "linear" or "exponential" or "weibull" or "hill" or "smooth-compact")
[ L=string ]
[ k=double ] DEFAULT VALUE 1.0
[ CV=double ] DEFAULT VALUE 0
[ complement=boolean ] DEFAULT VALUE false
/>
Documentation (element)
Describes how availability decays to zero.
If decay heterogeneity/variance is used, there will be a sample once-per-deployment (i.e. all traps of the same deployment will be affected the same way). There is no support for variances between traps (except in this crude way, between deployments).
Documentation (type)
Specification of decay or survival of a parameter.
Attributes
function
function=("constant" or "step" or "linear" or "exponential" or "weibull" or "hill" or "smooth-compact")
Units: None Min: 0 Max: 1
Determines which decay function to use. Available decay functions, for age t in years: constant: 1 step: 1 for t less than L, otherwise 0 linear: 1 - t/L for t less than L, otherwise 0 exponential: exp( - t/L * log(2) ) weibull: exp( -(t/L)^k * log(2) ) hill: 1 / (1 + (t/L)^k) smooth-compact: exp( k - k / (1 - (t/L)^2) ) for t less than L, otherwise 0
L
L=string
Units: User-defined (defaults to years) Min: 0
(Time) scale parameter of distribution: this is either the age of complete decay (smooth-compact, step and linear functions) or the age at which the parameter has decayed to half its original value (exponential, weibull and hill). Not used when function="constant" (i.e. no decay). This value can be specified in years, days or steps (e.g. 2y, 180d or 100t). When the unit is not specified years are assumed. The value is used without rounding except when sampling an age of decay, when the rounding happens as late as possible.
k
k=double
Units: none Min: 0
Default value: 1.0
Shape parameter of distribution. If not specified, default value of 1 is used. Meaning depends on function; not used in some cases.
Coefficient of Variation
CV=double
Min: 0
Default value: 0
If CV is non-zero, heterogeneity of decay is introduced via a random variable sampled from the log-normal distribution. This distribution is parameterised with mean=1 and CV as given. The effective age of decay is the real age multiplied by this variable (for decay functions with a half-life, this is equivalent to dividing the half-life by the variable).
L
complement=boolean
Units: User-defined (defaults to years) Min: 0
Default value: false
(Boolean) If True, this tells OpenMalaria to use the complement of the DecayFunction defined as 1-f(x). This is useful to model increasing functions that will "decay" to 1. This only works if f(x) is contained between 0 and 1.
Vector trap intervention deployment
→ scenario → interventions → vectorTrap → intervention → timed
<timed>
IN THIS ORDER:
| ( <deploy ... /> )*
</timed>
Documentation (element)
List of timed vector trap intervention deployment
deploy
→ scenario → interventions → vectorTrap → intervention → timed → deploy
<deploy
time=string
ratioToHumans=double
lifespan=string
/>
Attributes
Time
time=string
Units: User defined (defauls to steps) Min: 0
Time at which this deployment occurs. See doc on intervention period and on monitoring/startDate for details of how times work. Can be specified in steps, days, years, or as a date (examples: 15t, 75d, 0.2y, 2000-03-16).
Ratio to humans
ratioToHumans=double
Min: 0 Max: inf
The number of traps deployed, by this deployment, per adult human. E.g. if there are currently 100 traps and 1000 humans, then a ratio of 0.1 will increase the number of traps to 200.
Lifespan
lifespan=string
Units: Steps or Days or Years
Life of the trap until replaced or removed, e.g. "73t" or "1y". After this time period, these traps will be removed from the simulation. New deployments do not automatically remove old traps. Existing traps cannot be refurbished in the model. It may make sense to make the end-of-life coincide with a new deployment.
nonHumanHostsModifications
→ scenario → interventions → nonHumanHostsModifications
<nonHumanHostsModifications>
IN THIS ORDER:
| ( <intervention ... /> )+
</nonHumanHostsModifications>
Documentation (element)
List of interventions that modify parameters of non-human hosts described in the
intervention
→ scenario → interventions → nonHumanHostsModifications → intervention
<intervention
name=string
nonHumanHostsName=string
>
IN THIS ORDER:
| <decay ... />
| <description ... />
| [ <timed ... /> ]
</intervention>
Documentation (type)
This intervention modifies parameters of non-human hosts described in the
The intervention is described by 5 parameters that define the change in each of non-human host parameters:
reduceAvailability: Reduction in the availability rate, αi. For example a value of 0 will result in no change; a value of 0.2 will reduce the availability to 0.8 of its initial value; and a value of 1 will set the availability to 0;
prePrandialKillingEffect: Reduction in the pre-prandial survival probability, PBi. For example a value of 0 will result in no change; a value of 0.2 will reduce PBi to 0.8 of its initial value; and a value of 1 will set PBi to 0;
postPrandialKillingEffect: Reduction in the post-prandial survival probability, PCi. For example a value of 0 will result in no change; a value of 0.2 will reduce PCi to 0.8 of its initial value; and a value of 1 will set PCi to 0;
restingKillingEffect: Reduction in the survival probability of the resting period, PDi. For example a value of 0 will result in no change; a value of 0.2 will reduce PDi to 0.8 of its initial value; and a value of 1 will set PDi to 0;
Attributes
Name of intervention
name=string
Name of intervention (e.g. larviciding, sugar bait).
Name of intervention
nonHumanHostsName=string
Name of intervention (e.g. larviciding, sugar bait).
decay
→ scenario → interventions → nonHumanHostsModifications → intervention → decay
<decay
function=("constant" or "step" or "linear" or "exponential" or "weibull" or "hill" or "smooth-compact")
[ L=string ]
[ k=double ] DEFAULT VALUE 1.0
[ CV=double ] DEFAULT VALUE 0
[ complement=boolean ] DEFAULT VALUE false
/>
Documentation (type)
Specification of decay or survival of a parameter.
Attributes
function
function=("constant" or "step" or "linear" or "exponential" or "weibull" or "hill" or "smooth-compact")
Units: None Min: 0 Max: 1
Determines which decay function to use. Available decay functions, for age t in years: constant: 1 step: 1 for t less than L, otherwise 0 linear: 1 - t/L for t less than L, otherwise 0 exponential: exp( - t/L * log(2) ) weibull: exp( -(t/L)^k * log(2) ) hill: 1 / (1 + (t/L)^k) smooth-compact: exp( k - k / (1 - (t/L)^2) ) for t less than L, otherwise 0
L
L=string
Units: User-defined (defaults to years) Min: 0
(Time) scale parameter of distribution: this is either the age of complete decay (smooth-compact, step and linear functions) or the age at which the parameter has decayed to half its original value (exponential, weibull and hill). Not used when function="constant" (i.e. no decay). This value can be specified in years, days or steps (e.g. 2y, 180d or 100t). When the unit is not specified years are assumed. The value is used without rounding except when sampling an age of decay, when the rounding happens as late as possible.
k
k=double
Units: none Min: 0
Default value: 1.0
Shape parameter of distribution. If not specified, default value of 1 is used. Meaning depends on function; not used in some cases.
Coefficient of Variation
CV=double
Min: 0
Default value: 0
If CV is non-zero, heterogeneity of decay is introduced via a random variable sampled from the log-normal distribution. This distribution is parameterised with mean=1 and CV as given. The effective age of decay is the real age multiplied by this variable (for decay functions with a half-life, this is equivalent to dividing the half-life by the variable).
L
complement=boolean
Units: User-defined (defaults to years) Min: 0
Default value: false
(Boolean) If True, this tells OpenMalaria to use the complement of the DecayFunction defined as 1-f(x). This is useful to model increasing functions that will "decay" to 1. This only works if f(x) is contained between 0 and 1.
description
→ scenario → interventions → nonHumanHostsModifications → intervention → description
<description>
IN THIS ORDER:
| ( <anopheles ... /> )+
</description>
anopheles
→ scenario → interventions → nonHumanHostsModifications → intervention → description → anopheles
<anopheles
mosquito=string
>
IN ANY ORDER:
| [ <availabilityReduction ... /> ]
| [ <preprandialKillingEffect ... /> ]
| [ <postprandialKillingEffect ... /> ]
| [ <restingKillingEffect ... /> ]
| [ <fecundityReduction ... /> ]
</anopheles>
- availabilityReduction
- preprandialKillingEffect
- postprandialKillingEffect
- restingKillingEffect
- fecundityReduction
Documentation (type)
Descriptions of the effects of non human hosts interventions with per-species effects.
Attributes
Species/subspecies/variant name
mosquito=string
Name of the species/subspecies/variant.
availabilityReduction
→ scenario → interventions → nonHumanHostsModifications → intervention → description → anopheles → availabilityReduction
<availabilityReduction
initial=double
/>
Documentation (element)
Reduction in the availability rate, αi. For example a value of 0 will result in no change; a value of 0.2 will reduce the availability to 0.8 of its initial value; and a value of 1 will set the availability to 0;
Attributes
Initial proportion increase
initial=double
Units: dimensionless Min: -1 Max: inf
preprandialKillingEffect
→ scenario → interventions → nonHumanHostsModifications → intervention → description → anopheles → preprandialKillingEffect
<preprandialKillingEffect
initial=double
/>
Documentation (element)
Reduction in the pre-prandial survival probability, PBi. For example a value of 0 will result in no change; a value of 0.2 will reduce PBi to 0.8 of its initial value; and a value of 1 will set PBi to 0;
Attributes
Initial proportion increase
initial=double
Units: dimensionless Min: -1 Max: inf
postprandialKillingEffect
→ scenario → interventions → nonHumanHostsModifications → intervention → description → anopheles → postprandialKillingEffect
<postprandialKillingEffect
initial=double
/>
Documentation (element)
Reduction in the post-prandial survival probability, PCi. For example a value of 0 will result in no change; a value of 0.2 will reduce PCi to 0.8 of its initial value; and a value of 1 will set PCi to 0;
Attributes
Initial proportion increase
initial=double
Units: dimensionless Min: -1 Max: inf
restingKillingEffect
→ scenario → interventions → nonHumanHostsModifications → intervention → description → anopheles → restingKillingEffect
<restingKillingEffect
initial=double
/>
Documentation (element)
Reduction in the survival probability of the resting period, PDi. For example a value of 0 will result in no change; a value of 0.2 will reduce PDi to 0.8 of its initial value; and a value of 1 will set PDi to 0;
Attributes
Initial proportion increase
initial=double
Units: dimensionless Min: -1 Max: inf
fecundityReduction
→ scenario → interventions → nonHumanHostsModifications → intervention → description → anopheles → fecundityReduction
<fecundityReduction
initial=double
/>
Documentation (element)
Reduction in the number of fertile eggs laid by a mosquito after biting this type of host, relative to an unprotected human. For example a value of 0 will result in no change; a value of 0.2 will reduce the fecundity factor to 0.8 of its initial value; and a value of 1 will set the fecundity factor to 0;
Attributes
Initial proportion increase
initial=double
Units: dimensionless Min: -1 Max: inf
Vector population intervention deployment
→ scenario → interventions → nonHumanHostsModifications → intervention → timed
<timed>
IN THIS ORDER:
| ( <deploy ... /> )+
</timed>
Documentation (element)
List of timed vector population intervention deployment
addNonHumanHosts
→ scenario → interventions → addNonHumanHosts
<addNonHumanHosts>
IN THIS ORDER:
| ( <nonHumanHosts ... /> )+
</addNonHumanHosts>
Documentation (element)
List of intervention that add new non-human hosts that have not been described in the
nonHumanHosts
→ scenario → interventions → addNonHumanHosts → nonHumanHosts
<nonHumanHosts
name=string
>
IN THIS ORDER:
| <description ... />
| [ <timed ... /> ]
</nonHumanHosts>
Documentation (type)
Describes a new non-human hosts that have not been described in the
Attributes
Name of intervention
name=string
Name of intervention (e.g. larviciding, sugar bait).
description
→ scenario → interventions → addNonHumanHosts → nonHumanHosts → description
<description>
IN THIS ORDER:
| ( <anopheles ... /> )+
</description>
anopheles
→ scenario → interventions → addNonHumanHosts → nonHumanHosts → description → anopheles
<anopheles
mosquito=string
>
IN ANY ORDER:
| <mosqRelativeAvailabilityHuman ... />
| <mosqProbBiting ... />
| <mosqProbFindRestSite ... />
| <mosqProbResting ... />
| <hostFecundityFactor ... />
</anopheles>
- mosqRelativeAvailabilityHuman
- mosqProbBiting
- mosqProbFindRestSite
- mosqProbResting
- hostFecundityFactor
Documentation (type)
Descriptions of the effects of new non human hosts with per-species effects.
Attributes
Species/subspecies/variant name
mosquito=string
Name of the species/subspecies/variant.
Relative availability of non-human host (ξ_i)
→ scenario → interventions → addNonHumanHosts → nonHumanHosts → description → anopheles → mosqRelativeAvailabilityHuman
<mosqRelativeAvailabilityHuman
value=double
/>
Documentation (element)
Units: Proportion
Relative availability of the population of non-human hosts of type i to other non-human hosts; the sum of this across all non-human hosts must be 1.
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Probability of mosquito successfully biting host
→ scenario → interventions → addNonHumanHosts → nonHumanHosts → description → anopheles → mosqProbBiting
<mosqProbBiting
value=double
/>
Documentation (element)
Units: Proportion
Probability of mosquito successfully biting host
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Probability that the mosquito escapes host and finds a resting place after biting
→ scenario → interventions → addNonHumanHosts → nonHumanHosts → description → anopheles → mosqProbFindRestSite
<mosqProbFindRestSite
value=double
/>
Documentation (element)
Units: Proportion
Probability that the mosquito escapes host and finds a resting place after biting
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Probability of mosquito successfully resting after finding a resting site
→ scenario → interventions → addNonHumanHosts → nonHumanHosts → description → anopheles → mosqProbResting
<mosqProbResting
value=double
/>
Documentation (element)
Units: Proportion
Probability of mosquito successfully resting after finding a resting site
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Probability of mosquito successfully resting after finding a resting site
→ scenario → interventions → addNonHumanHosts → nonHumanHosts → description → anopheles → hostFecundityFactor
<hostFecundityFactor
value=double
/>
Documentation (element)
Units: Proportion
Multiplicative factor for the number of fertile eggs laid by a mosquito after biting this type of host, relative to an unprotected human.
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Vector trap intervention deployment
→ scenario → interventions → addNonHumanHosts → nonHumanHosts → timed
<timed>
IN THIS ORDER:
| ( <deploy ... /> )*
</timed>
Documentation (element)
List of timed vector trap intervention deployment
deploy
→ scenario → interventions → addNonHumanHosts → nonHumanHosts → timed → deploy
<deploy
time=string
lifespan=string
/>
Attributes
Time
time=string
Units: User defined (defauls to steps) Min: 0
Time at which this deployment occurs. See doc on intervention period and on monitoring/startDate for details of how times work. Can be specified in steps, days, years, or as a date (examples: 15t, 75d, 0.2y, 2000-03-16).
Lifespan
lifespan=string
Units: Steps or Days or Years
Life of the trap until replaced or removed, e.g. "73t" or "1y". After this time period, these traps will be removed from the simulation. New deployments do not automatically remove old traps. Existing traps cannot be refurbished in the model. It may make sense to make the end-of-life coincide with a new deployment.
Human-specific interventions
→ scenario → interventions → human
<human>
IN THIS ORDER:
| ( <component ... /> )+
| ( <deployment ... /> )*
</human>
Documentation (element)
Encapsulates all interventions whose effects are specific to the human host: any interventions where target humans may be selected via population-coverage, age limits and sub-population membership.
Component
→ scenario → interventions → human → component
<component
id=string
[ name=string ]
>
IN THIS ORDER:
| EXACTLY ONE OF:
| | <screen ... />
| | <treatSimple ... />
| | <treatPKPD ... />
| | <decisionTree ... />
| | <PEV ... />
| | <BSV ... />
| | <TBV ... />
| | <ITN ... />
| | <IRS ... />
| | <GVI ... />
| | [ <recruitmentOnly ... /> ]
| | <clearImmunity ... />
| [ <subPopRemoval ... /> ]
</component>
- screen
- treatSimple
- treatPKPD
- decisionTree
- PEV
- BSV
- TBV
- ITN
- IRS
- GVI
- recruitmentOnly
- clearImmunity
- subPopRemoval
Documentation (element)
A parameterisation of an effect achieved by one component of an intervention. (An intervention is described as the effects of a set of components plus deployments of those components. This describes the components individually, not deployments or which components comprise an intervention.)
Each element describes one component: its effects, decay of the(se) effect(s), and related stuff (e.g. description of indirect decay and of usage levels).
Different interventions can deploy the same component to the same perso. In most cases this will just deploy a fresh instance (e.g. a new bed net will replace the old (nobody uses multiple bed nets), or a new drug dose will act on top of previous doses, or in the case of a vaccine, effect depends on the total number of previous inoculations (including from other interventions).
Where multiple components of the same type (but with different ids) are deployed (whether within a single intervention or by multiple interventions), they act independently (e.g. two bed nets deployed to a single host would act to reduce attractiveness or survival of mosquitoes biting that host twice — this may be useful to simulate some novel vector intervention since the two nets may have separate parameters).
Attributes
Component identifier
id=string
A short name or code identifying the intervention component (used to refer to this component when describing an intervention). Also the id of the sub-population defined as those hosts who have received this intervention and who haven't subsequently been removed from the sub-population.
Name of component
name=string
An informal name/description for the component
screen
→ scenario → interventions → human → component → screen
<screen
diagnostic=string
>
IN THIS ORDER:
| ( <positive ... /> )*
| ( <negative ... /> )*
</screen>
Documentation (type)
This can be combined with MDA to achieve mass screen and treat (MSAT) or other types of mass screening intervention.
When deployed to a host, this simulates a test of patent malaria (microscopy, RDT or some such), then triggers deployment of whichever intervention components are configured (deployments for both positive and negative test outcomes can be configured).
The use of the screening itself is reported (if enabled), but not the outcome. Deployment of interventions triggered by the screening may be reported, however.
Attributes
Name of diagnostic
diagnostic=string
Name of a parameterised diagnostic (see scenario/diagnostics).
positive
→ scenario → interventions → human → component → screen → positive
<positive
id=string
/>
Documentation (type)
The list of components deployed to eligible humans.
Attributes
Identifier
id=string
The identifier (short name) of a component.
negative
→ scenario → interventions → human → component → screen → negative
<negative
id=string
/>
Documentation (type)
The list of components deployed to eligible humans.
Attributes
Identifier
id=string
The identifier (short name) of a component.
treatSimple
→ scenario → interventions → human → component → treatSimple
<treatSimple
durationLiver=string
durationBlood=string
/>
Documentation (type)
Simple treatment model, targetting liver- and/or blood-stage infections. This is all-or-nothing treatment which, when deploymed, completely clears all infections of the targetted stages. This makes it unsuitable for modeling resistance, but suitable for use with simple infection models.
Infections are considered liver-stage when less than five days old and blood-stage after that. Effects are described independently for the two stages.
Attributes
Length of liver-stage effect
durationLiver=string
Units: User defined
Controls action on liver-stage infections. 0 means no action, -1 step is a compatibility option to act like treatment before schema version 32 (which removed infections retrospectively), 1 step or any duration which equals some whole number of steps n>0 means to clear all liver-stage infections found on the next 1 or n steps. Note on -1 compatibility option: the main difference to 1 step (clearing on the next timestep) is that parasite densities will be reduced immediately, and thus from the point of view of surveys and mass screen and treat interventions a peak in density which is immediately treated through case management will not be seen. Can be specified in steps (e.g. 1t, -1t) or days (e.g. 5d).
Length of blood-stage effect
durationBlood=string
Units: User defined
Controls action on blood-stage infections. 0 means no action, -1 step is a compatibility option to act like treatment before schema version 32 (which removed infections retrospectively), 1 step or any duration which equals some whole number of steps n>0 means to clear all blood-stage infections found on the next 1 or n steps. Note on -1 compatibility option: the main difference to 1 step (clearing on the next timestep) is that parasite densities will be reduced immediately, and thus from the point of view of surveys and mass screen and treat interventions a peak in density which is immediately treated through case management will not be seen. Can be specified in steps (e.g. 1t, -1t) or days (e.g. 5d).
treatPKPD
→ scenario → interventions → human → component → treatPKPD
<treatPKPD
schedule=string
dosage=string
[ delay_h=double ] DEFAULT VALUE 0
/>
Documentation (type)
A command to administer drugs according to a given schedule and dosage table, optionally with a delay.
Attributes
Name of treatment schedule
schedule=string
The name of a schedule to use for treatment.
Name of dosage table
dosage=string
The name of a dosage table to use for treatment.
Delay (hours)
delay_h=double
Default value: 0
Optionally, this can be given to delay the start of treatment by a given number of hours. If not specified, treatment is not delayed. If a delay is given, all medications within the treatment schedule used are delayed by this number of hours.
decisionTree
→ scenario → interventions → human → component → decisionTree
<decisionTree
[ name=string ]
>
EXACTLY ONE OF:
| <multiple ... />
| <caseType ... />
| <diagnostic ... />
| <fever ... />
| <random ... />
| <age ... />
| <noTreatment ... />
| ( <report ... /> )+
| <treatFailure ... />
| ( <treatPKPD ... /> )+
| ( <treatSimple ... /> )+
| ( <deploy ... /> )+
</decisionTree>
- multiple
- caseType
- diagnostic
- fever
- random
- age
- noTreatment
- report
- treatFailure
- treatPKPD
- treatSimple
- deploy
Documentation (type)
Describes how "decisions" are made, both probabilistically and deterministically, and what actions are carried out.
Quantities may also be reported as a side effect of decisions made in the tree, for example the number of diagnostics used.
Attributes
Name
name=string
An optional piece of documentation attached to this node.
Vaccines
→ scenario → interventions → human → component → PEV
<PEV>
IN THIS ORDER:
| <decay ... />
| <efficacyB ... />
| ( <initialEfficacy ... /> )*
| ( <phenotype ... /> )*
</PEV>
Documentation (element)
Pre-erythrocytic vaccine (PEV): prevents a proportion of infections from commencing.
Documentation (type)
Description of a vaccine's effect
Decay of effect
→ scenario → interventions → human → component → PEV → decay
<decay
function=("constant" or "step" or "linear" or "exponential" or "weibull" or "hill" or "smooth-compact")
[ L=string ]
[ k=double ] DEFAULT VALUE 1.0
[ CV=double ] DEFAULT VALUE 0
[ complement=boolean ] DEFAULT VALUE false
/>
Documentation (element)
Specification of decay of efficacy. Documentation: see DecayFunction type or https://github.com/SwissTPH/openmalaria/wiki/ModelDecayFunctions
Documentation (type)
Specification of decay or survival of a parameter.
Attributes
function
function=("constant" or "step" or "linear" or "exponential" or "weibull" or "hill" or "smooth-compact")
Units: None Min: 0 Max: 1
Determines which decay function to use. Available decay functions, for age t in years: constant: 1 step: 1 for t less than L, otherwise 0 linear: 1 - t/L for t less than L, otherwise 0 exponential: exp( - t/L * log(2) ) weibull: exp( -(t/L)^k * log(2) ) hill: 1 / (1 + (t/L)^k) smooth-compact: exp( k - k / (1 - (t/L)^2) ) for t less than L, otherwise 0
L
L=string
Units: User-defined (defaults to years) Min: 0
(Time) scale parameter of distribution: this is either the age of complete decay (smooth-compact, step and linear functions) or the age at which the parameter has decayed to half its original value (exponential, weibull and hill). Not used when function="constant" (i.e. no decay). This value can be specified in years, days or steps (e.g. 2y, 180d or 100t). When the unit is not specified years are assumed. The value is used without rounding except when sampling an age of decay, when the rounding happens as late as possible.
k
k=double
Units: none Min: 0
Default value: 1.0
Shape parameter of distribution. If not specified, default value of 1 is used. Meaning depends on function; not used in some cases.
Coefficient of Variation
CV=double
Min: 0
Default value: 0
If CV is non-zero, heterogeneity of decay is introduced via a random variable sampled from the log-normal distribution. This distribution is parameterised with mean=1 and CV as given. The effective age of decay is the real age multiplied by this variable (for decay functions with a half-life, this is equivalent to dividing the half-life by the variable).
L
complement=boolean
Units: User-defined (defaults to years) Min: 0
Default value: false
(Boolean) If True, this tells OpenMalaria to use the complement of the DecayFunction defined as 1-f(x). This is useful to model increasing functions that will "decay" to 1. This only works if f(x) is contained between 0 and 1.
Variance parameter for vaccine efficacy
→ scenario → interventions → human → component → PEV → efficacyB
<efficacyB
value=double
/>
Documentation (element)
Units: Positive real Min: 0.001 Max: 1.00E+06
Measure of variation in vaccine efficacy: efficacy is sampled from a beta distribution with efficacyB its beta parameter and its alpha parameter fixed such that the mean is that given by initialEfficacy.
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Initial mean efficacy
→ scenario → interventions → human → component → PEV → initialEfficacy
<initialEfficacy
value=double
/>
Documentation (element)
Units: dimensionless Min: 0 Max: 1
Mean efficacy values before decay (see efficacyB and decay parameter descriptions for sampling and decay). The i-th value in this list is used for the efficacy of the vaccine after the i-th dose. Where more doses are given than there are values in this list, the last value is repeated.
Attributes
Input parameter value
value=double
A double-precision floating-point value.
PD parameters for some allele / resistance phenotype
→ scenario → interventions → human → component → PEV → phenotype
<phenotype
[ name=string ]
>
IN THIS ORDER:
| ( <restriction ... /> )*
| ( <initialEfficacy ... /> )+
</phenotype>
Documentation (element)
Pharmaco-Dynamic parameters for some resistance phenotype.
To model resistance to this drug, describe multiple infection phenotypes (with respect to these PD parameters) and list one or more "restrict" elements for each phenotype.
Loci are specified elsewhere. Multiple loci may influence the action of a single drug and each locus may influence multiple drugs.
Attributes
Name of phenotype
name=string
Name of the phenotype; for documentation use only.
restriction
→ scenario → interventions → human → component → PEV → phenotype → restriction
<restriction
onLocus=string
toAllele=string
/>
Documentation (type)
Specifies the mapping from genotype to phenotype. For each drug type, if only one phenotype is present, restrictions need not be specified, but otherwise restrictions must be specified.
The set of loci affecting phenotypes of this drug's action must be fixed for any drug type. Each phenotype must list, for each of these loci, a restriction to one or more alleles under the locus.
Attributes
Locus relevant to the mapping of alleles to this phenotype
onLocus=string
A locus under which only a restricted set of alleles map to this phenotype.
Alleles mapping to this phenotype
toAllele=string
One allele of a locus upon which phenotype choice depends. If multiple alleles under this locus should map to the same phenotype, repeat the whole "restriction onLocus..." element.
Initial mean efficacy
→ scenario → interventions → human → component → PEV → phenotype → initialEfficacy
<initialEfficacy
value=double
/>
Documentation (element)
Units: dimensionless Min: 0 Max: 1
Mean efficacy values before decay (see efficacyB and decay parameter descriptions for sampling and decay). The i-th value in this list is used for the efficacy of the vaccine after the i-th dose. Where more doses are given than there are values in this list, the last value is repeated.
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Vaccines
→ scenario → interventions → human → component → BSV
<BSV>
IN THIS ORDER:
| <decay ... />
| <efficacyB ... />
| ( <initialEfficacy ... /> )*
| ( <phenotype ... /> )*
</BSV>
Documentation (element)
Blood-stage vaccine (BSV): acts as a killing factor on blood-stage parasites. Exact action depends on the within host model.
Documentation (type)
Description of a vaccine's effect
Vaccines
→ scenario → interventions → human → component → TBV
<TBV>
IN THIS ORDER:
| <decay ... />
| <efficacyB ... />
| ( <initialEfficacy ... /> )*
| ( <phenotype ... /> )*
</TBV>
Documentation (element)
Transmission-blocking vaccine (TBV): one minus this scales the probability of transmission to mosquitoes
Documentation (type)
Description of a vaccine's effect
Bed nets
→ scenario → interventions → human → component → ITN
<ITN>
IN THIS ORDER:
| [ <usage ... /> ]
| <holeRate ... />
| <ripRate ... />
| <ripFactor ... />
| <initialInsecticide ... />
| <insecticideDecay ... />
| <attritionOfNets ... />
| ( <anophelesParams ... /> )+
</ITN>
- usage
- holeRate
- ripRate
- ripFactor
- initialInsecticide
- insecticideDecay
- attritionOfNets
- anophelesParams
Documentation (element)
Description of bed-net interventions (ITNs, LLINs).
Proportion of time nets are used by humans
→ scenario → interventions → human → component → ITN → usage
<usage
value=double
/>
Documentation (element)
Units: dimensionless Min: 0 Max: 1
Usage of nets by humans, from 0 to 1.
At the moment this is constant across humans and deterministic: relative attractiveness and survival factors are base*(1-usagepropActing) + intervention_factorusage*propActing.
See also "propActing" (proportion of bits for which net acts).
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Rate at which holes are made
→ scenario → interventions → human → component → ITN → holeRate
<holeRate
[ CV=double ]
[ distr=("const" or "lognormal") ] DEFAULT VALUE const
mean=double
/>
Documentation (element)
Units: Holes per annum Min: 0
The rate at which new holes are made in nets.
nHoles(t) = nHoles(t-1) + X where X~Pois(R/T) where T is the number of time-steps per year. R is sampled from log-normal: R ~ log N( log(mean)-sigma²/2, sigma² ) and is covariant with ripRate and insecticideDecay. (To be exact, a single Gaussian sample is taken, adjusted for each sigma then exponentiated.)
Documentation (type)
A parameter with optional log-normal heterogeneity.
The mean value must be specified. Optionally, a distribution ("distr") and coefficient of variation ("CV") may be specified.
Documentation (base type)
A parameter with optional heterogeneity.
The mean cannot be specified (unless this type is extended). Optionally, a distribution ("distr") and coefficient of variation ("CV") may be specified.
Attributes
Coefficient of variation
CV=double
Units: unitless
The (linear) coefficient of variation. This value must be specified when a (non-constant) distribution is used. Note that specifying CV="0" has the same effect as distr="const" and disables sampling of this parameter, even if distr is not "const".
Distribution
distr=("const" or "lognormal")
Default value: const
To allow heterogeneity, a distribution must be specified. Valid options are as follows. "const": no variation or sampling. Specifying distr="const" has the same effect as not specifying distr at all. "lognormal": the parameter is sampled from a log-normal distribution. Note that the "mean" and "CV" values are linear (arithmetic) properties of the distribution and not log-space properties.
mean
mean=double
The (linear) mean value.
Rate at which holes are enlarged
→ scenario → interventions → human → component → ITN → ripRate
<ripRate
[ CV=double ]
[ distr=("const" or "lognormal") ] DEFAULT VALUE const
mean=double
/>
Documentation (element)
Units: Rips per existing hole per annum Min: 0
Each existing hole has a probability of being ripped bigger according to a Poisson process with this rate as (only) parameter.
New rips occur in a net at rate X~Pois(h×R/T) where h is the number of existing holes and T the number of time-steps per year. R is sampled from log-normal: R ~ log N( log(mean)-sigma²/2, sigma² ) and is covariant with holeRate and insecticideDecay. (To be exact, a single Gaussian sample is taken, adjusted for the each and sigma then exponentiated.)
Documentation (type)
A parameter with optional log-normal heterogeneity.
The mean value must be specified. Optionally, a distribution ("distr") and coefficient of variation ("CV") may be specified.
Documentation (base type)
A parameter with optional heterogeneity.
The mean cannot be specified (unless this type is extended). Optionally, a distribution ("distr") and coefficient of variation ("CV") may be specified.
Attributes
Coefficient of variation
CV=double
Units: unitless
The (linear) coefficient of variation. This value must be specified when a (non-constant) distribution is used. Note that specifying CV="0" has the same effect as distr="const" and disables sampling of this parameter, even if distr is not "const".
Distribution
distr=("const" or "lognormal")
Default value: const
To allow heterogeneity, a distribution must be specified. Valid options are as follows. "const": no variation or sampling. Specifying distr="const" has the same effect as not specifying distr at all. "lognormal": the parameter is sampled from a log-normal distribution. Note that the "mean" and "CV" values are linear (arithmetic) properties of the distribution and not log-space properties.
mean
mean=double
The (linear) mean value.
Rip factor
→ scenario → interventions → human → component → ITN → ripFactor
<ripFactor
value=double
/>
Documentation (element)
Units: none Min: 0
This factor expresses how important rips are in increasing the hole.
The hole index of a net is h + F×x where h and x are the total numbers of holes and rips respectively and F is the rip factor.
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Initial insecticide
→ scenario → interventions → human → component → ITN → initialInsecticide
<initialInsecticide
mean=double
[ SD=double ]
[ distr=("const" or "normal") ] DEFAULT VALUE const
/>
Documentation (element)
Units: mg/m² Min: 0
The insecticide concentration of new nets is Gaussian distributed with mean "mu" and a standard deviation "sigma". The standard deviation should be small relative to the mean to avoid negative initial concentration. Any negative values sampled are set to 0.
Documentation (type)
A parameter with optional heterogeneity.
Optionally, a distribution ("distr") and standard of deviation ("SD") may be specified.
Attributes
mean
mean=double
The mean value.
standard deviation
SD=double
The standard deviation of variates.
Distribution
distr=("const" or "normal")
Default value: const
To allow heterogeneity, a distribution must be specified. Valid options are as follows. "const": no variation or sampling. Specifying distr="const" has the same effect as not specifying distr at all. "normal": the parameter is sampled from a normal distribution.
Decay of insecticide
→ scenario → interventions → human → component → ITN → insecticideDecay
<insecticideDecay
function=("constant" or "step" or "linear" or "exponential" or "weibull" or "hill" or "smooth-compact")
[ L=string ]
[ k=double ] DEFAULT VALUE 1.0
[ CV=double ] DEFAULT VALUE 0
[ complement=boolean ] DEFAULT VALUE false
/>
Documentation (element)
Units: none
Decay curve for insecticide content of nets. Documentation: see DecayFunction type or https://github.com/SwissTPH/openmalaria/wiki/ModelDecayFunctions
The distribution of decay rates over nets is covariant with the distribution of ripRate and holeRate over nets. This distribution is generated by taking one sample per net from a Gaussian distribution with mean 0 and standard deviation 1. For each variable, the sample is multiplied by the respective sigma and a constant added such that, once exponentiated, the mean of the variable over nets is 1. The variable is then exponentiated and multiplied by the required mean rate for the respective variable.
Documentation (type)
Specification of decay or survival of a parameter.
Attributes
function
function=("constant" or "step" or "linear" or "exponential" or "weibull" or "hill" or "smooth-compact")
Units: None Min: 0 Max: 1
Determines which decay function to use. Available decay functions, for age t in years: constant: 1 step: 1 for t less than L, otherwise 0 linear: 1 - t/L for t less than L, otherwise 0 exponential: exp( - t/L * log(2) ) weibull: exp( -(t/L)^k * log(2) ) hill: 1 / (1 + (t/L)^k) smooth-compact: exp( k - k / (1 - (t/L)^2) ) for t less than L, otherwise 0
L
L=string
Units: User-defined (defaults to years) Min: 0
(Time) scale parameter of distribution: this is either the age of complete decay (smooth-compact, step and linear functions) or the age at which the parameter has decayed to half its original value (exponential, weibull and hill). Not used when function="constant" (i.e. no decay). This value can be specified in years, days or steps (e.g. 2y, 180d or 100t). When the unit is not specified years are assumed. The value is used without rounding except when sampling an age of decay, when the rounding happens as late as possible.
k
k=double
Units: none Min: 0
Default value: 1.0
Shape parameter of distribution. If not specified, default value of 1 is used. Meaning depends on function; not used in some cases.
Coefficient of Variation
CV=double
Min: 0
Default value: 0
If CV is non-zero, heterogeneity of decay is introduced via a random variable sampled from the log-normal distribution. This distribution is parameterised with mean=1 and CV as given. The effective age of decay is the real age multiplied by this variable (for decay functions with a half-life, this is equivalent to dividing the half-life by the variable).
L
complement=boolean
Units: User-defined (defaults to years) Min: 0
Default value: false
(Boolean) If True, this tells OpenMalaria to use the complement of the DecayFunction defined as 1-f(x). This is useful to model increasing functions that will "decay" to 1. This only works if f(x) is contained between 0 and 1.
Attrition of nets
→ scenario → interventions → human → component → ITN → attritionOfNets
<attritionOfNets
function=("constant" or "step" or "linear" or "exponential" or "weibull" or "hill" or "smooth-compact")
[ L=string ]
[ k=double ] DEFAULT VALUE 1.0
[ CV=double ] DEFAULT VALUE 0
[ complement=boolean ] DEFAULT VALUE false
/>
Documentation (element)
Units: dimensionless
Specifies the rate at which nets are disposed of over time. Documentation: see DecayFunction type or https://github.com/SwissTPH/openmalaria/wiki/ModelDecayFunctions
In the current model, nets are disposed of randomly (no correlation with state of decay) such that the chance of each net surviving until age t is the value of this decay function at time t. Equivalently (where a large number of nets are distributed at the same time), the proportion of nets remaining in use should match this decay function over time.
Humans are removed from the intervention component's sub-population on disposal (attrition) of their nets. Currently this event is not reported.
Documentation (type)
Specification of decay or survival of a parameter.
Attributes
function
function=("constant" or "step" or "linear" or "exponential" or "weibull" or "hill" or "smooth-compact")
Units: None Min: 0 Max: 1
Determines which decay function to use. Available decay functions, for age t in years: constant: 1 step: 1 for t less than L, otherwise 0 linear: 1 - t/L for t less than L, otherwise 0 exponential: exp( - t/L * log(2) ) weibull: exp( -(t/L)^k * log(2) ) hill: 1 / (1 + (t/L)^k) smooth-compact: exp( k - k / (1 - (t/L)^2) ) for t less than L, otherwise 0
L
L=string
Units: User-defined (defaults to years) Min: 0
(Time) scale parameter of distribution: this is either the age of complete decay (smooth-compact, step and linear functions) or the age at which the parameter has decayed to half its original value (exponential, weibull and hill). Not used when function="constant" (i.e. no decay). This value can be specified in years, days or steps (e.g. 2y, 180d or 100t). When the unit is not specified years are assumed. The value is used without rounding except when sampling an age of decay, when the rounding happens as late as possible.
k
k=double
Units: none Min: 0
Default value: 1.0
Shape parameter of distribution. If not specified, default value of 1 is used. Meaning depends on function; not used in some cases.
Coefficient of Variation
CV=double
Min: 0
Default value: 0
If CV is non-zero, heterogeneity of decay is introduced via a random variable sampled from the log-normal distribution. This distribution is parameterised with mean=1 and CV as given. The effective age of decay is the real age multiplied by this variable (for decay functions with a half-life, this is equivalent to dividing the half-life by the variable).
L
complement=boolean
Units: User-defined (defaults to years) Min: 0
Default value: false
(Boolean) If True, this tells OpenMalaria to use the complement of the DecayFunction defined as 1-f(x). This is useful to model increasing functions that will "decay" to 1. This only works if f(x) is contained between 0 and 1.
anophelesParams
→ scenario → interventions → human → component → ITN → anophelesParams
<anophelesParams
mosquito=string
[ propActive=double ] DEFAULT VALUE 1
>
IN THIS ORDER:
| [ <holeIndexMax ... /> ]
| EXACTLY ONE OF:
| | <deterrency ... />
| | <twoStageDeterrency ... />
| EXACTLY ONE OF:
| | <preprandialKillingEffect ... />
| | <preprandialKillingEffectLogit ... />
| EXACTLY ONE OF:
| | <postprandialKillingEffect ... />
| | <postprandialKillingEffectLogit ... />
| EXACTLY ONE OF:
| | [ <fecundityReduction ... /> ]
| | [ <fecundityReductionLogit ... /> ]
</anophelesParams>
- holeIndexMax
- deterrency
- twoStageDeterrency
- preprandialKillingEffect
- preprandialKillingEffectLogit
- postprandialKillingEffect
- postprandialKillingEffectLogit
- fecundityReduction
- fecundityReductionLogit
Attributes
Mosquito species
mosquito=string
Name of the affected anopheles-mosquito species.
Proportion of bites for which net acts
propActive=double
Units: dimensionless Min: 0 Max: 1
Default value: 1
Deprecated: propActive can still be used but its value must be set to either 0 or 1. Any other value will result in an error at initialization. The proportion of bites, when nets are in use, for which the net has any action whatsoever on the mosquito. At the moment this is constant across humans and deterministic: relative attractiveness and survival factors are base*(1-usagepropActing) + intervention_factorusage*propActing. See also "usage" (proportion of time nets are used by humans).
maximum of holed surface area that has an effect (comparable to no net)
→ scenario → interventions → human → component → ITN → anophelesParams → holeIndexMax
<holeIndexMax
value=double
/>
Documentation (element)
Units: in same unit as holeIndex
Used by logit attacking and killing models only, holeIndexMax is a user defined maximum hole index (typically, the total surface area of a net).
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Relative attractiveness
→ scenario → interventions → human → component → ITN → anophelesParams → deterrency
<deterrency
insecticideFactor=double
insecticideScalingFactor=double
holeFactor=double
interactionFactor=double
holeScalingFactor=double
/>
Documentation (element)
Units: dimensionless Min: 0 Max: 1
Effect of net on attractiveness of humans to mosquitoes relative to an unprotected adult human. Parameterisations should take into account that mosquitoes do not always bite indoors.
Attractiveness of the human is multiplied by exp(log(H)×h + log(P)×p + log(I)×h×p where H, P and I are the hole, insecticide and interaction factors respectively, h=exp(-holeIndex×holeScalingFactor) and p=1−exp(-insecticideContent×insecticideScalingFactor).
Attributes
Insecticide factor
insecticideFactor=double
Units: none Max: 1
Value expected to be at least 0. Negative values are not necessarily invalid, but allow nets to increase transmission.
Insecticide scaling factor
insecticideScalingFactor=double
Units: none Min: 0
Hole factor
holeFactor=double
Units: none Max: 1
Value expected to be at least 0. Negative values are not necessarily invalid, but allow nets to increase transmission.
Interaction factor
interactionFactor=double
Units: none Max: 1
holeFactor + insecticideFactor + interactionFactor must not be greater than 1, and is expected to be at least 0. A negative value is not necessarily invalid, but allows nets to increase transmission.
Hole scaling factor
holeScalingFactor=double
Units: none Min: 0
Relative attractiveness
→ scenario → interventions → human → component → ITN → anophelesParams → twoStageDeterrency
<twoStageDeterrency>
IN THIS ORDER:
| EXACTLY ONE OF:
| | <entering ... />
| | <enteringLogit ... />
| EXACTLY ONE OF:
| | <attacking ... />
| | <attackingLogit ... />
</twoStageDeterrency>
Documentation (element)
Units: dimensionless
Effect of net on attractiveness of humans to mosquitoes relative to an unprotected adult human. Parameterisations should take into account that mosquitoes do not always bite indoors.
This deterrency model multiplies human attractiveness by pEnt×pAtt.
Deterrency: entering
→ scenario → interventions → human → component → ITN → anophelesParams → twoStageDeterrency → entering
<entering
insecticideFactor=double
insecticideScalingFactor=double
/>
Documentation (element)
Units: dimensionless
pEnt represents the relative probability of entering due to ITNs: pEnt = exp(log(P)×p) where P is the insecticide factor and p=1−exp(-insecticideContent×insecticideScalingFactor).
Attributes
Insecticide factor
insecticideFactor=double
Units: none Max: 1
Value expected to be at least 0. Negative values are not necessarily invalid, but allow nets to increase transmission.
Insecticide scaling factor
insecticideScalingFactor=double
Units: none Min: 0
Deterrency: entering (logit model)
→ scenario → interventions → human → component → ITN → anophelesParams → twoStageDeterrency → enteringLogit
<enteringLogit
baseFactor=double
insecticideFactor=double
/>
Documentation (element)
Units: dimensionless
pEnt represents the relative probability of entering due to insecticide in the hut: pEnt = exp(logit.pEnt) / (exp(logit.pEnt) + 1) logit.pEnt = B + P * p where B is the basefactor (without net); P is insecticide factor, and p = log(insecticideContent+1). Without a net, probability of entering a house is pEnt0 = exp(logit.pEnt0) / (exp(logit.pEnt0) + 1) logit.pEnt0 = B Entering of mosquitoes is adjusted via multiplication by pEnt / pEnt0. To keep this in the range [0,1], we (normally) require that pEnt ≤ pEnt0 and thus P ≤ 0 and give a warning if this is not fulfilled.
Attributes
Base factor
baseFactor=double
Units: none
See parent element documentation
Insecticide factor
insecticideFactor=double
Units: none
See parent element documentation
Deterrency: attacking
→ scenario → interventions → human → component → ITN → anophelesParams → twoStageDeterrency → attacking
<attacking
insecticideFactor=double
insecticideScalingFactor=double
holeFactor=double
interactionFactor=double
holeScalingFactor=double
baseFactor=double
/>
Documentation (element)
Units: dimensionless
pAtt represents the relative probability of attacking a human after entering a house due to ITNs (i.e. of feeding/dying vs. flying off): pAtt = B + H×h + P×p + I×h×p where B is the base (without net) probability; H, P and I are the hole, insecticide and interaction factors respectively, h=exp(-holeIndex × holeScalingFactor) and p=1 - exp(-insecticideContent × insecticideScalingFactor).
Attributes
Insecticide factor
insecticideFactor=double
Units: none Max: 1
Value expected to be at least 0. Negative values are not necessarily invalid, but allow nets to increase transmission.
Insecticide scaling factor
insecticideScalingFactor=double
Units: none Min: 0
Hole factor
holeFactor=double
Units: none Max: 1
Value expected to be at least 0. Negative values are not necessarily invalid, but allow nets to increase transmission.
Interaction factor
interactionFactor=double
Units: none Max: 1
holeFactor + insecticideFactor + interactionFactor must not be greater than 1, and is expected to be at least 0. A negative value is not necessarily invalid, but allows nets to increase transmission.
Hole scaling factor
holeScalingFactor=double
Units: none Min: 0
Probability of mosquito death without intervention
baseFactor=double
Units: dimensionless
Deterrency: attacking (logit model)
→ scenario → interventions → human → component → ITN → anophelesParams → twoStageDeterrency → attackingLogit
<attackingLogit
baseFactor=double
insecticideFactor=double
holeFactor=double
interactionFactor=double
/>
Documentation (element)
Units: dimensionless
pAtt represents the relative probability of attacking a human after entering a house due to ITNs (i.e. of feeding/dying vs. flying off): pAtt = exp(logit.pAtt) / (exp(logit.pAtt) + 1) logit.pAtt = B + H×min(h, hMax) + P×p + I×min(h, hMax)×p where B is the base factor (without net); H, P and I are the hole, insecticide and interaction factors respectively, and: h = log(holeIndex + 1) p = log(insecticideContent + 1) Without a net, probability of attacking a human after entering a house is pAtt0 = exp(logit.pAtt0) / (exp(logit.pAtt0) + 1) logit.pAtt0 = B + H×hMax where hMax=log(holeIndexMax + 1) and holeIndexMax is a user defined maximum hole index (typically, the total surface area of a net). Attacking of mosquitoes is adjusted via multiplication by pAtt / pAtt0. This may be larger and smaller than 1 (but will not be negative). By definition (through the logit transformation) pAtt0 > 0.
Attributes
Base factor
baseFactor=double
Units: dimensionless
Logit of the probability (e.g. of death, of entry, of attacking) without intervention.
Insecticide factor
insecticideFactor=double
Units: none
Coefficient of log(insecticide content+1) in a generalized linear model with logit link function.
Hole factor
holeFactor=double
Units: none
Coefficient of log(total holed surface area (in cm2) +1) in a generalized linear model with logit link function.
Interaction factor
interactionFactor=double
Units: none
Coefficient of the interaction term of log(total holed surface area (in cm2) +1) with log(insecticide content+1) in a generalized linear model with logit link function.
Pre-prandial killing effect
→ scenario → interventions → human → component → ITN → anophelesParams → preprandialKillingEffect
<preprandialKillingEffect
insecticideFactor=double
insecticideScalingFactor=double
holeFactor=double
interactionFactor=double
holeScalingFactor=double
baseFactor=double
/>
Documentation (element)
Units: dimensionless Min: 0 Max: 1
Effect of net on survival mosquitoes as they seek to bite a human after choosing that human, relative to the same person not sleeping under a net. Parameterisations should take into account that mosquitoes do not always bite indoors.
Killing proportion is calculated as K = B + H×h + P×p + I×h×p where B is the base (without net) probability of death, H, P and I are the hole, insecticide and interaction factors respectively, h=exp(-holeIndex×holeScalingFactor) and p=1−exp(-insecticideContent×insecticideScalingFactor).
Survival of mosquitoes is adjusted via multiplication by (1−K) / (1−B). To keep this in the range [0,1], we require that B+H ≤ 1, B+P ≤ 1, B+H+P+I ≤ 1, H ≥ 0, P ≥ 0 and H+P+I ≥ 0.
Attributes
Insecticide factor
insecticideFactor=double
Units: none Max: 1
Value expected to be at least 0. Negative values are not necessarily invalid, but allow nets to increase transmission.
Insecticide scaling factor
insecticideScalingFactor=double
Units: none Min: 0
Hole factor
holeFactor=double
Units: none Max: 1
Value expected to be at least 0. Negative values are not necessarily invalid, but allow nets to increase transmission.
Interaction factor
interactionFactor=double
Units: none Max: 1
holeFactor + insecticideFactor + interactionFactor must not be greater than 1, and is expected to be at least 0. A negative value is not necessarily invalid, but allows nets to increase transmission.
Hole scaling factor
holeScalingFactor=double
Units: none Min: 0
Probability of mosquito death without intervention
baseFactor=double
Units: dimensionless
Pre-prandial killing effect (logit)
→ scenario → interventions → human → component → ITN → anophelesParams → preprandialKillingEffectLogit
<preprandialKillingEffectLogit
baseFactor=double
insecticideFactor=double
holeFactor=double
interactionFactor=double
/>
Documentation (element)
Units: dimensionless Min: 0 Max: 1
Effect of net on survival mosquitoes as they seek to bite a human
after choosing that human, relative to the same person not
sleeping under a net.
Killing proportion is calculated as
K=exp(logit.K)/(exp(logit.K)+1)
logit.K = B + H×min(h,hMax) + P×p + I×min(h,hMax)×p
where B is the basefactor (without net),
H, P and I are the hole, insecticide and interaction factors
respectively, h=log(holeIndex+1) and
p=log(insecticideContent+1).
Without a net, the killing proportion
K0=exp(logit.K0)/(exp(logit.K0)+1)
logit.K0 = B + H×hMax
where hMax=log(holeIndexMax+1) and holeIndexMax is a user defined maximum hole index (typically, the total surface area of a net).
Survival of mosquitoes is adjusted via multiplication by (1−K) / (1−K0).
To keep this in the range [0,1], we require that K ≥ K0. We enforce that P ≥ 0 (It would not make sense biologically if P were negative) and P+I*hMax ≥ 0 and H ≤ 0 and holeIndex ≤ holeIndexMax and give a warning if these conditions are not fulfilled.
Attributes
Base factor
baseFactor=double
Units: dimensionless
Logit of the probability (e.g. of death, of entry, of attacking) without intervention.
Insecticide factor
insecticideFactor=double
Units: none
Coefficient of log(insecticide content+1) in a generalized linear model with logit link function.
Hole factor
holeFactor=double
Units: none
Coefficient of log(total holed surface area (in cm2) +1) in a generalized linear model with logit link function.
Interaction factor
interactionFactor=double
Units: none
Coefficient of the interaction term of log(total holed surface area (in cm2) +1) with log(insecticide content+1) in a generalized linear model with logit link function.
Post-prandial killing effect
→ scenario → interventions → human → component → ITN → anophelesParams → postprandialKillingEffect
<postprandialKillingEffect
insecticideFactor=double
insecticideScalingFactor=double
holeFactor=double
interactionFactor=double
holeScalingFactor=double
baseFactor=double
/>
Documentation (element)
Units: dimensionless Min: 0 Max: 1
Effect of net on survival mosquitoes as they seek to escape from a human host and rest after a blood meal, relative to the same person not sleeping under a net. Parameterisations should take into account that mosquitoes do not always bite indoors.
Killing proportion is calculated as K = B + H×h + P×p + I×h×p where B is the base (without net) probability of death, H, P and I are the hole, insecticide and interaction factors respectively, h=exp(-holeIndex×holeScalingFactor) and p=1−exp(-insecticideContent×insecticideScalingFactor).
Survival of mosquitoes is adjusted via multiplication by (1−K) / (1−B). To keep this in the range [0,1], we require that B+H ≤ 1, B+P ≤ 1, B+H+P+I ≤ 1, H ≥ 0, P ≥ 0 and H+P+I ≥ 0.
Attributes
Insecticide factor
insecticideFactor=double
Units: none Max: 1
Value expected to be at least 0. Negative values are not necessarily invalid, but allow nets to increase transmission.
Insecticide scaling factor
insecticideScalingFactor=double
Units: none Min: 0
Hole factor
holeFactor=double
Units: none Max: 1
Value expected to be at least 0. Negative values are not necessarily invalid, but allow nets to increase transmission.
Interaction factor
interactionFactor=double
Units: none Max: 1
holeFactor + insecticideFactor + interactionFactor must not be greater than 1, and is expected to be at least 0. A negative value is not necessarily invalid, but allows nets to increase transmission.
Hole scaling factor
holeScalingFactor=double
Units: none Min: 0
Probability of mosquito death without intervention
baseFactor=double
Units: dimensionless
Post-prandial killing effect (logit)
→ scenario → interventions → human → component → ITN → anophelesParams → postprandialKillingEffectLogit
<postprandialKillingEffectLogit
baseFactor=double
insecticideFactor=double
holeFactor=double
interactionFactor=double
/>
Documentation (element)
Units: dimensionless Min: 0 Max: 1
Effect of net on survival mosquitoes as they seek to escape from a human host and rest after a blood meal, relative to the same person not sleeping under a net. Killing proportion is calculated as K=exp(logit.K)/(exp(logit.K)+1) logit.K = B + H×min(h,hMax) + P×p + I×min(h,hMax)×p where B is the basefactor (without net), H, P and I are the hole, insecticide and interaction factors respectively, h=log(holeIndex+1) and p=log(insecticideContent+1). Without a net, the killing proportion K0=exp(logit.K0)/(exp(logit.K0)+1) logit.K0 = B + H×hMax where hMax=log(holeIndexMax+1) and holeIndexMax is a user defined maximum hole index (typically, the total surface area of a net). Survival of mosquitoes is adjusted via multiplication by (1−K) / (1−K0). To keep this in the range [0,1], we require that K ≥ K0. We enforce that P ≥ 0 (It would not make sense biologically if P were negative) and P+I*hMax ≥ 0 and H ≤ 0 and holeIndex ≤ holeIndexMax and give a warning if these conditions are not fulfilled.
Attributes
Base factor
baseFactor=double
Units: dimensionless
Logit of the probability (e.g. of death, of entry, of attacking) without intervention.
Insecticide factor
insecticideFactor=double
Units: none
Coefficient of log(insecticide content+1) in a generalized linear model with logit link function.
Hole factor
holeFactor=double
Units: none
Coefficient of log(total holed surface area (in cm2) +1) in a generalized linear model with logit link function.
Interaction factor
interactionFactor=double
Units: none
Coefficient of the interaction term of log(total holed surface area (in cm2) +1) with log(insecticide content+1) in a generalized linear model with logit link function.
Fecundity reduction
→ scenario → interventions → human → component → ITN → anophelesParams → fecundityReduction
<fecundityReduction
insecticideFactor=double
insecticideScalingFactor=double
holeFactor=double
interactionFactor=double
holeScalingFactor=double
baseFactor=double
/>
Documentation (element)
Effect of net on fertility of mosquitoes who survive feeding on a protected human, relative to an unprotected human.
Fertility (number of eggs laid) is multiplied by (1-K) / (1-B), similar to killing effects. This is not allowed to be greater than 1.
Attributes
Insecticide factor
insecticideFactor=double
Units: none Max: 1
Value expected to be at least 0. Negative values are not necessarily invalid, but allow nets to increase transmission.
Insecticide scaling factor
insecticideScalingFactor=double
Units: none Min: 0
Hole factor
holeFactor=double
Units: none Max: 1
Value expected to be at least 0. Negative values are not necessarily invalid, but allow nets to increase transmission.
Interaction factor
interactionFactor=double
Units: none Max: 1
holeFactor + insecticideFactor + interactionFactor must not be greater than 1, and is expected to be at least 0. A negative value is not necessarily invalid, but allows nets to increase transmission.
Hole scaling factor
holeScalingFactor=double
Units: none Min: 0
Probability of mosquito death without intervention
baseFactor=double
Units: dimensionless
Fecundity reduction (logit)
→ scenario → interventions → human → component → ITN → anophelesParams → fecundityReductionLogit
<fecundityReductionLogit
baseFactor=double
insecticideFactor=double
holeFactor=double
interactionFactor=double
/>
Documentation (element)
Effect of net on fertility of mosquitoes who survive feeding on a protected human, relative to an unprotected human.
Fertility (number of eggs laid) is multiplied by (1-K) / (1-K0), similar to killing effects. This is not allowed to be greater than 1.
Attributes
Base factor
baseFactor=double
Units: dimensionless
Logit of the probability (e.g. of death, of entry, of attacking) without intervention.
Insecticide factor
insecticideFactor=double
Units: none
Coefficient of log(insecticide content+1) in a generalized linear model with logit link function.
Hole factor
holeFactor=double
Units: none
Coefficient of log(total holed surface area (in cm2) +1) in a generalized linear model with logit link function.
Interaction factor
interactionFactor=double
Units: none
Coefficient of the interaction term of log(total holed surface area (in cm2) +1) with log(insecticide content+1) in a generalized linear model with logit link function.
Indoor residual spraying
→ scenario → interventions → human → component → IRS
<IRS>
IN THIS ORDER:
| [ <usage ... /> ]
| <initialInsecticide ... />
| <insecticideDecay ... />
| ( <anophelesParams ... /> )+
</IRS>
Documentation (element)
Description of indoor residual spraying interventions.
Documentation (type)
Description of effect for the more complex and probably more realistic Briet model: IRS has three effects, whos strength is calculated as a function of surviving insecticide content.
Proportion of Indoor residual spraying (IRS) interventions
→ scenario → interventions → human → component → IRS → usage
<usage
value=double
/>
Documentation (element)
Units: dimensionless Min: 0 Max: 1
Usage of Indoor residual spraying (IRS) interventions, from 0 to 1.
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Initial insecticide
→ scenario → interventions → human → component → IRS → initialInsecticide
<initialInsecticide
mean=double
[ SD=double ]
[ distr=("const" or "normal") ] DEFAULT VALUE const
/>
Documentation (element)
Units: μg/cm² Min: 0
The insecticide concentration of IRS (at time of spraying) is Gaussian distributed with mean "mu" and a standard deviation "sigma". The standard deviation should be small relative to the mean to avoid negative initial concentration. Any negative values sampled are set to 0.
Documentation (type)
A parameter with optional heterogeneity.
Optionally, a distribution ("distr") and standard of deviation ("SD") may be specified.
Attributes
mean
mean=double
The mean value.
standard deviation
SD=double
The standard deviation of variates.
Distribution
distr=("const" or "normal")
Default value: const
To allow heterogeneity, a distribution must be specified. Valid options are as follows. "const": no variation or sampling. Specifying distr="const" has the same effect as not specifying distr at all. "normal": the parameter is sampled from a normal distribution.
Decay of insecticide
→ scenario → interventions → human → component → IRS → insecticideDecay
<insecticideDecay
function=("constant" or "step" or "linear" or "exponential" or "weibull" or "hill" or "smooth-compact")
[ L=string ]
[ k=double ] DEFAULT VALUE 1.0
[ CV=double ] DEFAULT VALUE 0
[ complement=boolean ] DEFAULT VALUE false
/>
Documentation (element)
Units: none
Decay curve for insecticide content of IRS. Documentation: see DecayFunction type or https://github.com/SwissTPH/openmalaria/wiki/ModelDecayFunctions
Documentation (type)
Specification of decay or survival of a parameter.
Attributes
function
function=("constant" or "step" or "linear" or "exponential" or "weibull" or "hill" or "smooth-compact")
Units: None Min: 0 Max: 1
Determines which decay function to use. Available decay functions, for age t in years: constant: 1 step: 1 for t less than L, otherwise 0 linear: 1 - t/L for t less than L, otherwise 0 exponential: exp( - t/L * log(2) ) weibull: exp( -(t/L)^k * log(2) ) hill: 1 / (1 + (t/L)^k) smooth-compact: exp( k - k / (1 - (t/L)^2) ) for t less than L, otherwise 0
L
L=string
Units: User-defined (defaults to years) Min: 0
(Time) scale parameter of distribution: this is either the age of complete decay (smooth-compact, step and linear functions) or the age at which the parameter has decayed to half its original value (exponential, weibull and hill). Not used when function="constant" (i.e. no decay). This value can be specified in years, days or steps (e.g. 2y, 180d or 100t). When the unit is not specified years are assumed. The value is used without rounding except when sampling an age of decay, when the rounding happens as late as possible.
k
k=double
Units: none Min: 0
Default value: 1.0
Shape parameter of distribution. If not specified, default value of 1 is used. Meaning depends on function; not used in some cases.
Coefficient of Variation
CV=double
Min: 0
Default value: 0
If CV is non-zero, heterogeneity of decay is introduced via a random variable sampled from the log-normal distribution. This distribution is parameterised with mean=1 and CV as given. The effective age of decay is the real age multiplied by this variable (for decay functions with a half-life, this is equivalent to dividing the half-life by the variable).
L
complement=boolean
Units: User-defined (defaults to years) Min: 0
Default value: false
(Boolean) If True, this tells OpenMalaria to use the complement of the DecayFunction defined as 1-f(x). This is useful to model increasing functions that will "decay" to 1. This only works if f(x) is contained between 0 and 1.
Per-mosquito species parameters
→ scenario → interventions → human → component → IRS → anophelesParams
<anophelesParams
mosquito=string
[ propActive=double ] DEFAULT VALUE 1
>
IN THIS ORDER:
| <deterrency ... />
| <preprandialKillingEffect ... />
| <postprandialKillingEffect ... />
| [ <fecundityReduction ... /> ]
</anophelesParams>
Attributes
Mosquito species
mosquito=string
Name of the affected anopheles-mosquito species.
Proportion of bites for which IRS acts
propActive=double
Units: dimensionless Min: 0 Max: 1
Default value: 1
The proportion of bites for which the IRS has any action whatsoever on the mosquito. At the moment this is constant across humans and deterministic: relative attractiveness and survival factors are base*(1-propActing) + intervention_factor*propActing.
Relative attractiveness
→ scenario → interventions → human → component → IRS → anophelesParams → deterrency
<deterrency
insecticideFactor=double
insecticideScalingFactor=double
/>
Documentation (element)
Units: dimensionless Min: 0 Max: 1
Effect of IRS on attractiveness of humans to mosquitoes relative to an unprotected adult human. Parameterisations should take into account that mosquitoes do not always bite indoors.
Attractiveness of the human is multiplied by exp(P×log(p)) where P is the insecticide factor, p=1−exp(-insecticideContent×insecticideScalingFactor).
Attributes
Insecticide factor
insecticideFactor=double
Units: none Max: 1
Value expected to be at least 0. Negative values are not necessarily invalid, but allow nets to increase transmission.
Insecticide scaling factor
insecticideScalingFactor=double
Units: none Min: 0
Pre-prandial killing effect
→ scenario → interventions → human → component → IRS → anophelesParams → preprandialKillingEffect
<preprandialKillingEffect
insecticideFactor=double
insecticideScalingFactor=double
baseFactor=double
/>
Documentation (element)
Units: dimensionless Min: 0 Max: 1
Effect of IRS on survival mosquitoes as they seek to bite a human after choosing that human, relative to the same person not protected by IRS. Parameterisations should take into account that mosquitoes do not always bite indoors. This parameter has been added since some data shows IRS to have a preprandial killing effect.
Killing proportion is calculated as K = B + P×p where B is the base (without protection) probability of death, and P is the insecticide factor, p=1−exp(-insecticideContent×insecticideScalingFactor).
Survival of mosquitoes is adjusted via multiplication by (1−K) / (1−B). To keep this in the range [0,1], we require that B+P ≤ 1 and P ≥ 0.
Attributes
Insecticide factor
insecticideFactor=double
Units: none Max: 1
Value expected to be at least 0. Negative values are not necessarily invalid, but allow nets to increase transmission.
Insecticide scaling factor
insecticideScalingFactor=double
Units: none Min: 0
Probability of mosquito death without intervention
baseFactor=double
Units: dimensionless
Post-prandial killing effect
→ scenario → interventions → human → component → IRS → anophelesParams → postprandialKillingEffect
<postprandialKillingEffect
insecticideFactor=double
insecticideScalingFactor=double
baseFactor=double
/>
Documentation (element)
Units: dimensionless Min: 0 Max: 1
Effect of IRS on survival mosquitoes as they seek to escape from a human host and rest after a blood meal, relative to the same person not protected by IRS. Parameterisations should take into account that mosquitoes do not always bite indoors.
Killing proportion is calculated as K = B + P×p where B is the base (without protection) probability of death, and P is the insecticide factor, p=1−exp(-insecticideContent×insecticideScalingFactor).
Survival of mosquitoes is adjusted via multiplication by (1−K) / (1−B). To keep this in the range [0,1], we require that B+P ≤ 1 and P ≥ 0.
Attributes
Insecticide factor
insecticideFactor=double
Units: none Max: 1
Value expected to be at least 0. Negative values are not necessarily invalid, but allow nets to increase transmission.
Insecticide scaling factor
insecticideScalingFactor=double
Units: none Min: 0
Probability of mosquito death without intervention
baseFactor=double
Units: dimensionless
Fecundity reduction
→ scenario → interventions → human → component → IRS → anophelesParams → fecundityReduction
<fecundityReduction
insecticideFactor=double
insecticideScalingFactor=double
baseFactor=double
/>
Documentation (element)
Effect of IRS on fertility mosquitoes after successfully feeding on a human host, relative to an unproteced human. Parameterisations should take into account that mosquitoes do not always bite indoors.
First, we calculate K = B + P×p where B is the base (without protection) probability of death, and P is the insecticide factor, p=1−exp(-insecticideContent×insecticideScalingFactor).
Fecundity is multiplied by (1−K) / (1−B). It is not allowed to be greater than 1. To keep this in the range [0,1], we require that B+P ≤ 1 and P ≥ 0.
Attributes
Insecticide factor
insecticideFactor=double
Units: none Max: 1
Value expected to be at least 0. Negative values are not necessarily invalid, but allow nets to increase transmission.
Insecticide scaling factor
insecticideScalingFactor=double
Units: none Min: 0
Probability of mosquito death without intervention
baseFactor=double
Units: dimensionless
Generic vector intervention
→ scenario → interventions → human → component → GVI
<GVI>
IN THIS ORDER:
| [ <usage ... /> ]
| <decay ... />
| ( <anophelesParams ... /> )+
</GVI>
Documentation (element)
Low-level description of intervention effects on vectors (i.e. mosquitoes). Can be used to describe simple ITN or IRS interventions (though more complex models are available for these interventions) or other interventions such as mosquito repellant or ivermectin.
Note that all actions of this intervention component will decay according to a single decay function. If independant decay is wanted, a separate component can be used for each action.
Proportion of generic vector interventions
→ scenario → interventions → human → component → GVI → usage
<usage
value=double
/>
Documentation (element)
Units: dimensionless Min: 0 Max: 1
Usage of Generic vector interventions, from 0 to 1.
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Decay
→ scenario → interventions → human → component → GVI → decay
<decay
function=("constant" or "step" or "linear" or "exponential" or "weibull" or "hill" or "smooth-compact")
[ L=string ]
[ k=double ] DEFAULT VALUE 1.0
[ CV=double ] DEFAULT VALUE 0
[ complement=boolean ] DEFAULT VALUE false
/>
Documentation (element)
Description of decay of all intervention effects. Documentation: see DecayFunction type or https://github.com/SwissTPH/openmalaria/wiki/ModelDecayFunctions
Documentation (type)
Specification of decay or survival of a parameter.
Attributes
function
function=("constant" or "step" or "linear" or "exponential" or "weibull" or "hill" or "smooth-compact")
Units: None Min: 0 Max: 1
Determines which decay function to use. Available decay functions, for age t in years: constant: 1 step: 1 for t less than L, otherwise 0 linear: 1 - t/L for t less than L, otherwise 0 exponential: exp( - t/L * log(2) ) weibull: exp( -(t/L)^k * log(2) ) hill: 1 / (1 + (t/L)^k) smooth-compact: exp( k - k / (1 - (t/L)^2) ) for t less than L, otherwise 0
L
L=string
Units: User-defined (defaults to years) Min: 0
(Time) scale parameter of distribution: this is either the age of complete decay (smooth-compact, step and linear functions) or the age at which the parameter has decayed to half its original value (exponential, weibull and hill). Not used when function="constant" (i.e. no decay). This value can be specified in years, days or steps (e.g. 2y, 180d or 100t). When the unit is not specified years are assumed. The value is used without rounding except when sampling an age of decay, when the rounding happens as late as possible.
k
k=double
Units: none Min: 0
Default value: 1.0
Shape parameter of distribution. If not specified, default value of 1 is used. Meaning depends on function; not used in some cases.
Coefficient of Variation
CV=double
Min: 0
Default value: 0
If CV is non-zero, heterogeneity of decay is introduced via a random variable sampled from the log-normal distribution. This distribution is parameterised with mean=1 and CV as given. The effective age of decay is the real age multiplied by this variable (for decay functions with a half-life, this is equivalent to dividing the half-life by the variable).
L
complement=boolean
Units: User-defined (defaults to years) Min: 0
Default value: false
(Boolean) If True, this tells OpenMalaria to use the complement of the DecayFunction defined as 1-f(x). This is useful to model increasing functions that will "decay" to 1. This only works if f(x) is contained between 0 and 1.
Per-mosquito species parameters
→ scenario → interventions → human → component → GVI → anophelesParams
<anophelesParams
mosquito=string
[ propActive=double ] DEFAULT VALUE 1
>
IN THIS ORDER:
| [ <deterrency ... /> ]
| [ <preprandialKillingEffect ... /> ]
| [ <postprandialKillingEffect ... /> ]
| [ <fecundityReduction ... /> ]
</anophelesParams>
Attributes
Mosquito species
mosquito=string
Name of the affected anopheles-mosquito species.
Proportion of bites for which IRS acts
propActive=double
Units: dimensionless Min: 0 Max: 1
Default value: 1
The proportion of bites for which the IRS has any action whatsoever on the mosquito. At the moment this is constant across humans and deterministic: relative attractiveness and survival factors are base*(1-propActing) + intervention_factor*propActing.
Relative attractiveness
→ scenario → interventions → human → component → GVI → anophelesParams → deterrency
<deterrency
value=double
/>
Documentation (element)
Units: dimensionless Min: 0 Max: 1
Effect of intervention on attractiveness of humans to mosquitoes relative to an unprotected adult human. Parameterisations should take into account that mosquitoes do not always bite indoors.
Attractiveness of the human is multiplied this factor times survival of effect.
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Pre-prandial killing effect
→ scenario → interventions → human → component → GVI → anophelesParams → preprandialKillingEffect
<preprandialKillingEffect
value=double
/>
Documentation (element)
Units: dimensionless Min: 0 Max: 1
Effect of intervention on survival of mosquitoes as they seek to bite a human after choosing that human, relative to the same person not protected by the intervention. Parameterisations should take into account that mosquitoes do not always bite indoors. This parameter has been added since some data shows IRS to have a preprandial killing effect.
Killing proportion is this factor multiplied by survival of effect.
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Post-prandial killing effect
→ scenario → interventions → human → component → GVI → anophelesParams → postprandialKillingEffect
<postprandialKillingEffect
value=double
/>
Documentation (element)
Units: dimensionless Min: 0 Max: 1
Effect of intervention on survival of mosquitoes as they seek to escape from a human host and rest after a blood meal, relative to the same person not protected by the intervention. Parameterisations should take into account that mosquitoes do not always bite indoors.
Killing proportion is this factor multiplied by survival of effect.
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Fecundity reduction effect
→ scenario → interventions → human → component → GVI → anophelesParams → fecundityReduction
<fecundityReduction
value=double
/>
Documentation (element)
Min: 0
Effect of intervention on fertility mosquitoes after successfully feeding on a human host, relative to an unproteced human. Parameterisations should take into account that mosquitoes do not always bite indoors.
Fertility is multiplied by 1 - (fecundityReduction * decay).
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Recruitment only
→ scenario → interventions → human → component → recruitmentOnly
<recruitmentOnly/>
Documentation (element)
Recruitment of a host into a sub-population.
All human-targeting intervention deployments recruit simulated humans into a sub-population which can be used for the purposes of cumulative deployment, deployment only to a sub-population and defining a cohort. This pseudo-intervention can be used to define a sub-population without also deploying some intervention.
Clear Immunity
→ scenario → interventions → human → component → clearImmunity
<clearImmunity/>
Documentation (element)
Removes all exposure-related immunitsy gained over time by hosts without removing infections (or affecting the ability to gain immunity through exposure).
Hypothetical, but potentially useful to simulate scenarios with unprotected humans.
subPopRemoval
→ scenario → interventions → human → component → subPopRemoval
<subPopRemoval
[ onFirstBout=boolean ] DEFAULT VALUE false
[ onFirstTreatment=boolean ] DEFAULT VALUE false
[ onFirstInfection=boolean ] DEFAULT VALUE false
[ afterYears=double ]
/>
Documentation (type)
Each human intervention component corresponds to a sub-population: those who have received or are considered to be protected by the intervention component. Humans automatically become members of this sub-population when receiving an intervention component; this element controls how humans are removed from the sub-population.
ITN attrition also removes humans from sub-populations.
Note that sub-populations do not directly correspond to an intervention's effects: lack of effectiveness does not imply removal from the sub-population (except as explicitly configured here) and removal from the sub-population does not halt an intervention's effects.
Sub-populations may be used to define a cohort, to restrict deployment of other interventions and to use cumulative deployment mode. A sub- population may or may not correspond (roughly) to humans protected by some intervention.
Attributes
Time to first episode only
onFirstBout=boolean
Default value: false
If true, remove individuals from the sub-population at the start of the first episode (start of a clinical bout) since they were recruited into the sub-population. This is intended for cohort studies which measure time to the first episode, using active case detection. Reports delayed due to health-system memory are forced out when this occurs. Note that this can increase the number of uncomplicated cases reported across the entire population; for this reason reports are not forced on recruitment or most removal options. This does not prevent re-recruitment in the case that recruitment settings could conceivably recruit the same individual twice.
Time to first treatment only
onFirstTreatment=boolean
Default value: false
If true, remove individuals from the sub-population when they first seektreatment since they were recruited into the sub-population. This is intended for cohort studies which measure the time to first episode, using passive case detection. Reports delayed due to health-system memory are forced out when this occurs. Note that this can increase the number of uncomplicated cases reported across the entire population; for this reason reports are not forced on recruitment or most removal options. This does not prevent re-recruitment in the case that recruitment settings could conceivably recruit the same individual twice.
Time to first infection only
onFirstInfection=boolean
Default value: false
If true, remove individuals from the sub-population at completion of the first survey in which they present with a patent infection since they were recruited into the sub-population. This intended for cohort studies which measure time to the first infection, using active case detection. Reports delayed due to health-system memory are forced out when this occurs. Note that this can increase the number of uncomplicated cases reported across the entire population; for this reason reports are not forced on recruitment or most removal options. This does not prevent re-recruitment in the case that recruitment settings could conceivably recruit the same individual twice.
Remove from sub-population after
afterYears=double
Units: Years Min: 0
If given, membership to the sub-population of humans who have received this intervention component expires after the given number of years. Note that future deployments renew membership (e.g. if this parameter is 4 years and the intervention is redeployed 3 years from now, expiry happens after 7 years). This provides a crude way of modelling a cohort protected by some intervention. A few interventions provide more detailed ways of modelling expiry of protection. In any case, "expiry of protection" is an abstract concept and does not imply that all protection has ceased, even in the simulator. This may also be useful for cumulative deployment. Minimum duration is zero, which implies the human is effectively never a member of the sub-population; a duration of one timestep implies the human is a member of the sub-population while any futher interventions are deployed on the same time as this human becomes a member and on the next update of the human (including transmission and health system events) but not beyond that. If this attribute is not given, the simulated human is a member until death or some other option triggers removal. Input is rounded to the nearest time step.
Deployment
→ scenario → interventions → human → deployment
<deployment
[ name=string ]
>
IN THIS ORDER:
| ( <component ... /> )+
| ( <condition ... /> )*
| ( <continuous ... /> )*
| ( <timed ... /> )*
</deployment>
Documentation (element)
This element describes deployment of an intervention: which components are deployed, how humans are selected for deployment (via timed or age-based deployment) as well as a few additional restrictions (e.g. vaccine dosing restrictions).
All components deployed by this intervention are deployed to the same people (each timed or continuous deployment selects recipients and then gives each recipient all components of the intervention).
Attributes
Intervention name
name=string
Name of intervention
component
→ scenario → interventions → human → deployment → component
<component
id=string
/>
Documentation (type)
The list of components deployed to eligible humans.
Attributes
Identifier
id=string
The identifier (short name) of a component.
Condition
→ scenario → interventions → human → deployment → condition
<condition
measure=string
[ minValue=double ]
[ maxValue=double ]
initialState=boolean
/>
Documentation (element)
If conditions are specified, deployment of this intervention will only go ahead if all specified conditions are true. Condition statements are evaluated only during surveys, so deployment is enabled or disabled depending on the results of the most recent survey. So called unreported surveys can be used to reevaluate conditions without increasing granularity of output.
Conditions are evaluated for the whole population, not for individual age-groups or cohorts.
This affects all types of deployment.
Attributes
Measure
measure=string
The monitoring measure to test. Not all measures are available for use.
Minimum value
minValue=double
Minimum value. If specified, the measured variable must be greater than or equal to this value for the condition to be satisfied.
Maximum value
maxValue=double
Maximum value. If specified, the measured variable must be less than or equal to this value for the condition to be satisfied.
Initial state
initialState=boolean
Whether this condition is considered true or false before updated by a survey.
Age-based (continuous) deployment
→ scenario → interventions → human → deployment → continuous
<continuous>
IN THIS ORDER:
| [ <restrictToSubPop ... /> ]
| ( <deploy ... /> )+
</continuous>
Documentation (element)
List of ages at which deployment takes place (through EPI, post-natal and school-based programmes, etc.).
A sub-population restriction may be added as a property of the list of continuous deployments.
restrictToSubPop
→ scenario → interventions → human → deployment → continuous → restrictToSubPop
<restrictToSubPop
id=string
[ complement=boolean ] DEFAULT VALUE false
/>
Documentation (type)
If this element is specified, deployment is restricted to some sub-population (specified via the "id" attribute); otherwise the target population is the entire simulated population. Either way, other deployment restrictions (age, time, number of vaccine doeses) still apply.
Attributes
Sub-population identifier
id=string
The identifier (short name) of the sub-population (i.e. the "id" of some intervention component). Also see the "complement" attribute.
Complement
complement=boolean
Default value: false
If this is not specified or is false, deployment is restricted to the sub-population of people protected by the intervention component who's id is given. If complement is set to true, deployment is instead restricted to the complement of that sub-population, i.e. to those
deploy
→ scenario → interventions → human → deployment → continuous → deploy
<deploy
coverage=double
[ vaccMinPrevDoses=int ]
[ vaccMaxCumDoses=int ]
targetAgeYrs=double
[ begin=string ]
[ end=string ]
/>
Attributes
Coverage
coverage=double
Units: dimensionless Min: 0 Max: 1
Proportion of otherwise eligible individuals who will receive this deployment.
Vaccine min previous doses
vaccMinPrevDoses=int
Units: inoculations Min: 0
Applies to vaccines only: vaccine doses are only deployed by this deployment if the previous number of doses (for the component deployed) is at least this number. For example, if this is the second deployment opportunity for this vaccine and this value is 1, then this deployment cannot deploy the vaccine to individuals who did not receive the first deployment.
Vaccine max cumulative doses
vaccMaxCumDoses=int
Units: inoculations Min: 0
Applies to vaccines only: vaccine doses are only deployed by this deployment if the previous number of doses (for the component deployed) is less than this number.
Target age
targetAgeYrs=double
Units: Years Min: 0 Max: 100
Target age of intervention. Input is rounded to the nearest time step.
First time active
begin=string
Units: User defined (defauls to steps)
First time at which this deployment is active. If not specified, deployment starts at the beginning of the intervention period. See doc on intervention period and on monitoring/startDate for details of how times work. Can be specified in steps, days, years, or as a date (examples: 15t, 75d, 0.2y, 2000-03-16).
End step
end=string
Units: User defined (defauls to steps)
End of the period during which the intervention is active (to be exact, the first step of the intervention period at which the item becomes inactive). If not specified, deployment never ceases after starting during the simulation. See doc on intervention period and on monitoring/startDate for details of how times work. Can be specified in steps, days, years, or as a date (examples: 15t, 75d, 0.2y, 2000-03-16).
Mass (timed) deployment
→ scenario → interventions → human → deployment → timed
<timed>
IN THIS ORDER:
| [ <restrictToSubPop ... /> ]
| [ <cumulativeCoverage ... /> ]
| ( <deploy ... /> )+
</timed>
Documentation (element)
List of timed deployments of the intervention (that is, of deployment campaigns).
Cumulative deployment mode can be specified for all deployments in a timed list. To allow multiple cumulative deployment descriptions, the entire timed list may be repeated.
restrictToSubPop
→ scenario → interventions → human → deployment → timed → restrictToSubPop
<restrictToSubPop
id=string
[ complement=boolean ] DEFAULT VALUE false
/>
Documentation (type)
If this element is specified, deployment is restricted to some sub-population (specified via the "id" attribute); otherwise the target population is the entire simulated population. Either way, other deployment restrictions (age, time, number of vaccine doeses) still apply.
Attributes
Sub-population identifier
id=string
The identifier (short name) of the sub-population (i.e. the "id" of some intervention component). Also see the "complement" attribute.
Complement
complement=boolean
Default value: false
If this is not specified or is false, deployment is restricted to the sub-population of people protected by the intervention component who's id is given. If complement is set to true, deployment is instead restricted to the complement of that sub-population, i.e. to those
Cumulative coverage
→ scenario → interventions → human → deployment → timed → cumulativeCoverage
<cumulativeCoverage
component=string
/>
Documentation (element)
If this element is not specified, standard deployment occurs, where a portion of the population as given by the coverage property of this campaign is selected, and interventions are deployed to all of these people (regardless of previous coverage).
If this attribute is specified, instead, the population is divided into two sets: those who are a member of a certain sub-population and those who are not (see "subPopRemoval" element). If the proportion of people in the first set is less than the desired coverage, then the proportion of people from the second set needed to increase total coverage to the desired coverage is calculated. This proportion is then used as the probablity of selection from the second set into a third set of people who then receive all interventions deployed by this campaign.
Note that selection is stochastic so the final coverage level may not be exactly that desired. Note also that the component used when selecting people need not actually be one of the components deployed by this intervention, although that is the intended use case.
Attributes
Component identifier
component=string
The identifier (short name) of the component used when selecting people.
deploy
→ scenario → interventions → human → deployment → timed → deploy
<deploy
coverage=double
[ vaccMinPrevDoses=int ]
[ vaccMaxCumDoses=int ]
time=string
[ maxAge=double ]
[ minAge=double ] DEFAULT VALUE 0
[ repeatStep=string ]
[ repeatEnd=string ]
/>
Attributes
Coverage
coverage=double
Units: dimensionless Min: 0 Max: 1
Proportion of otherwise eligible individuals who will receive this deployment.
Vaccine min previous doses
vaccMinPrevDoses=int
Units: inoculations Min: 0
Applies to vaccines only: vaccine doses are only deployed by this deployment if the previous number of doses (for the component deployed) is at least this number. For example, if this is the second deployment opportunity for this vaccine and this value is 1, then this deployment cannot deploy the vaccine to individuals who did not receive the first deployment.
Vaccine max cumulative doses
vaccMaxCumDoses=int
Units: inoculations Min: 0
Applies to vaccines only: vaccine doses are only deployed by this deployment if the previous number of doses (for the component deployed) is less than this number.
Time
time=string
Units: User defined (defauls to steps) Min: 0
Time at which this deployment occurs. See doc on intervention period and on monitoring/startDate for details of how times work. Can be specified in steps, days, years, or as a date (examples: 15t, 75d, 0.2y, 2000-03-16).
Maximum age of eligible individuals
maxAge=double
Units: Years Min: 0
Maximum age of eligible individuals (defaults to no limit). Input is rounded to the nearest time step.
Minimum age of eligible individuals
minAge=double
Units: Years Min: 0
Default value: 0
Minimum age of eligible individuals (defaults to 0). Input is rounded to the nearest time step.
Step of repetition
repeatStep=string
Units: User defined
See repeatEnd's documentation.
End of repetition (exclusive)
repeatEnd=string
Units: User defined
Either both repeatStep and repeatEnd should be present or neither. If present, the deployment is repeated every repeatStep timesteps (i.e. if t0 is the initial time and x is repeatStep, depolyments are done at times t0, t0+x, t0+2*x, ...), ending before repeatEnd (final repetition is the one before repeatEnd). Note that repeatEnd may be specified as a date but repeatStep must be a duration (days, steps or years).
Health system description
→ scenario → healthSystem
<healthSystem>
IN THIS ORDER:
| EXACTLY ONE OF:
| | <EventScheduler ... />
| | <ImmediateOutcomes ... />
| | <DecisionTree5Day ... />
| <CFR ... />
| <pSequelaeInpatient ... />
</healthSystem>
Documentation (element)
Description of health system.
Documentation (type)
Description of case management system, used to specify the initial model or a replacement (an intervention). Encompasses case management data and some other data required to derive case outcomes.
Contains a sub-element describing the particular health-system in use. Health system data is here defined as data used to decide on a treatment strategy, given a case requiring treatment.
Transmission and vector bionomics
→ scenario → entomology
<entomology
name=string
mode=("forced" or "dynamic")
[ scaledAnnualEIR=double ]
>
IN THIS ORDER:
| EXACTLY ONE OF:
| | <nonVector ... />
| | <vector ... />
</entomology>
Documentation (element)
Description of entomological data
Attributes
Entomology dataset name
name=string
Name of entomology data
Transmission model mode
mode=("forced" or "dynamic")
Transmission simulation mode: may be forced (in which case interventions and changes to human infectiousness cannot affect EIR) or dynamic (in which the above can affect EIR). The full vector model is only used in dynamic mode. This can not be changed by interventions, except for the changeEIR intervention for the non-vector model which replaces the EIR with a new description (used in forced mode).
Override annual EIR
scaledAnnualEIR=double
Units: Infectious bites per adult per year
If set, the annual EIR (for all species of vector) is scaled to this level; can be omitted if not needed.
Transmission setting (vector control not enabled)
→ scenario → entomology → nonVector
<nonVector
eipDuration=int
>
IN THIS ORDER:
| ( <EIRDaily ... /> )+
</nonVector>
Documentation (element)
Description of transmission setting for models without vector control interventions (included for backward compatibility)
Attributes
Duration of sporogony
eipDuration=int
Units: Days
The duration of sporogony in days
Transmission setting (vector control enabled)
→ scenario → entomology → vector
<vector>
IN THIS ORDER:
| ( <anopheles ... /> )+
| ( <nonHumanHosts ... /> )*
</vector>
Documentation (element)
Parameters of the transmission model
anopheles
→ scenario → entomology → vector → anopheles
<anopheles
mosquito=string
propInfected=double
propInfectious=double
>
IN THIS ORDER:
| <seasonality ... />
| <mosq ... />
| [ <lifeCycle ... /> ]
| [ <simpleMPD ... /> ]
| ( <nonHumanHosts ... /> )*
</anopheles>
Documentation (type)
Description of input EIR for one specific vector species in terms of a Fourier approximation to the ln of the EIR during the burn in period
Attributes
Identifier for this anopheles species
mosquito=string
Identifier for this anopheles species
Initial estimate of proportion of mosquitoes infected (ρ_O)
propInfected=double
Units: Proportion Min: 0 Max: 1
Initial guess of the proportion of mosquitoes which are infected, o: O_v(t) = o*N_v(t). Only used as a starting value.
Initial estimate of proportion of mosquitoes infectious (ρ_S)
propInfectious=double
Units: Proportion Min: 0 Max: 1
Initial estimate of the proportion of mosquitoes which are infectious, s: S_v(t) = s*N_v(t). Used as a starting value and then fit.
Seasonality of transmission
→ scenario → entomology → vector → anopheles → seasonality
<seasonality
input=("EIR")
[ annualEIR=double ]
>
IN THIS ORDER:
| EXACTLY ONE OF:
| | <fourierSeries ... />
| | <monthlyValues ... />
| | <dailyValues ... />
</seasonality>
Documentation (element)
Specifies the seasonality of transmission and optionally the level of annual transmission.
Attributes
Seasonality input
input=("EIR")
Specify what seasonality measure is given. At the moment, only EIR is supported, but in the future, all the below should be supported. EIR: seasonality of entomological inoculations is input. Units: entomological inoculations per adult per annum. hostSeeking: seasonality of densities of flying host-seeking mosquitoes is input (in the model this is notated N_v). Units: mosquitoes. emergence: seasonality of emergence pupa into adults. Units: mosquitoes. larvalResources: seasonality of larval resources. Units: X.
Annual EIR
annualEIR=double
Units: Inoculations per adult per annum Min: 0
If this attribute is included, EIR for this species is scaled to this level. Note that if the scaledAnnualEIR attribute of the entomology element is also used, EIR is scaled again, making this attribute the EIR relative to other species. With some seasonality inputs, this attribute is optional, in which case (if scaledAnnualEIR is also not specified) transmission depends on all parameters of the vector. With some seasonality inputs, however, this parameter must be specified.
Fourier approximation to pre-intervention EIR
→ scenario → entomology → vector → anopheles → seasonality → fourierSeries
<fourierSeries
EIRRotateAngle=double
>
IN THIS ORDER:
| ( <coeffic ... /> )*
</fourierSeries>
Documentation (element)
Units: Infectious bites per adult per day
Seasonality is reproduced from the exponential of a fourier series specified by the following coefficients. Note that the a0 term is not needed; the annualEIR attribute of the seasonality element should be used to scale EIR instead.
Attributes
Rotation angle defining the origin of the Fourier approximation to ln (EIR)
EIRRotateAngle=double
Units: Radians
Rotation angle defining the origin of the Fourier approximation to ln (EIR)
Pair of Fourier coefficients
→ scenario → entomology → vector → anopheles → seasonality → fourierSeries → coeffic
<coeffic
a=double
b=double
/>
Documentation (element)
A pair of Fourier series coefficients. The first element specifies a1 and b1, the second a2 and b2, etc. Any number (from 0 up) of pairs may be given.
Attributes
a_n parameter of Fourier approximation to ln(EIR)
a=double
a_n parameter of Fourier approximation to ln(EIR) for some natural number n.
b_n parameter of Fourier approximation to ln(EIR)
b=double
b_n parameter of Fourier approximation to ln(EIR) for some natural number n.
List of monthly values
→ scenario → entomology → vector → anopheles → seasonality → monthlyValues
<monthlyValues
smoothing=("none" or "fourier")
>
IN THIS ORDER:
| ( <value ... /> ){12,12}
</monthlyValues>
Documentation (element)
Description of seasonality from monthly values. Multiple smoothing methods are possible (see smoothing attribute).
List should contain twelve entries: January to December.
Attributes
Smoothing function
smoothing=("none" or "fourier")
How the monthly values are converted into a daily sequence of values:
- none: no smoothing (step function)
- Fourier: a Fourier series (with terms up to a2/b2) is fit to the sequence of monthly values and used to generate a smoothed list of daily values.
Monthly value
→ scenario → entomology → vector → anopheles → seasonality → monthlyValues → value
<value>
double
</value>
Documentation (element)
Units: (see "seasonality input" parameter)
Monthly value
List of daily values
→ scenario → entomology → vector → anopheles → seasonality → dailyValues
<dailyValues>
IN THIS ORDER:
| ( <value ... /> )+
</dailyValues>
Documentation (element)
Description of seasonality from daily values.
List should contain 365 entries: 1st January to 31st December.
Daily value
→ scenario → entomology → vector → anopheles → seasonality → dailyValues → value
<value>
double
</value>
Documentation (element)
Units: (see "seasonality input" parameter)
Daily value
Mosquito feeding cycle parameters
→ scenario → entomology → vector → anopheles → mosq
<mosq
minInfectedThreshold=double
>
IN ANY ORDER:
| <mosqRestDuration ... />
| <extrinsicIncubationPeriod ... />
| <mosqLaidEggsSameDayProportion ... />
| <mosqSeekingDuration ... />
| <mosqSurvivalFeedingCycleProbability ... />
| <availability ... />
| <mosqProbBiting ... />
| <mosqProbFindRestSite ... />
| <mosqProbResting ... />
| <mosqProbOvipositing ... />
| <mosqHumanBloodIndex ... />
</mosq>
- mosqRestDuration
- extrinsicIncubationPeriod
- mosqLaidEggsSameDayProportion
- mosqSeekingDuration
- mosqSurvivalFeedingCycleProbability
- availability
- mosqProbBiting
- mosqProbFindRestSite
- mosqProbResting
- mosqProbOvipositing
- mosqHumanBloodIndex
Documentation (element)
Parameters describing the feeding cycle and human mosquito interaction of a single species of anopheles mosquito.
Attributes
Mininum infected threshold for mosquitos
minInfectedThreshold=double
Min: 0
If less than this many mosquitoes remain infected, transmission is interrupted.
Duration of the resting period of the vector
→ scenario → entomology → vector → anopheles → mosq → mosqRestDuration
<mosqRestDuration
value=int
/>
Documentation (element)
Units: Days
name:Duration of the resting period of the vector (days);
Attributes
Input parameter value
value=int
An integer value.
Extrinsic incubation period
→ scenario → entomology → vector → anopheles → mosq → extrinsicIncubationPeriod
<extrinsicIncubationPeriod
value=int
/>
Documentation (element)
Units: Days
name:Extrinsic incubation period (days)
Attributes
Input parameter value
value=int
An integer value.
Proportion of mosquitoes host seeking on same day as ovipositing
→ scenario → entomology → vector → anopheles → mosq → mosqLaidEggsSameDayProportion
<mosqLaidEggsSameDayProportion
value=double
/>
Documentation (element)
Units: Proportion
Proportion of mosquitoes host seeking on same day as ovipositing
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Duration of the host-seeking period of the vector
→ scenario → entomology → vector → anopheles → mosq → mosqSeekingDuration
<mosqSeekingDuration
value=double
/>
Documentation (element)
Units: Days
Duration of the host-seeking period of the vector (days)
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Probability that the mosquito survives the feeding cycle
→ scenario → entomology → vector → anopheles → mosq → mosqSurvivalFeedingCycleProbability
<mosqSurvivalFeedingCycleProbability
value=double
/>
Documentation (element)
Units: Proportion
Probability that the mosquito survives the feeding cycle
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Human availability rate heterogeneity
→ scenario → entomology → vector → anopheles → mosq → availability
<availability
[ CV=double ]
[ distr=("const" or "lognormal") ] DEFAULT VALUE const
/>
Documentation (element)
Optionally, entomological availability rate may be sampled per-human from a distribution. The distribution and coefficient of variability may be set here. The mean rate is calculated based on other parameters and not set directly.
If no attributes are specified or distr="const" or CV="0" then there will be no heterogeneity.
Documentation (type)
A parameter with optional heterogeneity.
The mean cannot be specified (unless this type is extended). Optionally, a distribution ("distr") and coefficient of variation ("CV") may be specified.
Attributes
Coefficient of variation
CV=double
Units: unitless
The (linear) coefficient of variation. This value must be specified when a (non-constant) distribution is used. Note that specifying CV="0" has the same effect as distr="const" and disables sampling of this parameter, even if distr is not "const".
Distribution
distr=("const" or "lognormal")
Default value: const
To allow heterogeneity, a distribution must be specified. Valid options are as follows. "const": no variation or sampling. Specifying distr="const" has the same effect as not specifying distr at all. "lognormal": the parameter is sampled from a log-normal distribution. Note that the "mean" and "CV" values are linear (arithmetic) properties of the distribution and not log-space properties.
Probability that the mosquito succesfully bites chosen host
→ scenario → entomology → vector → anopheles → mosq → mosqProbBiting
<mosqProbBiting
mean=double
variance=double
/>
Documentation (element)
Probability that the mosquito succesfully bites chosen host
Documentation (type)
Parameters of a normal distribution, provided as mean and variance.
Variates are sampled from Be(α,β) where α and β are determined from the mean and variance as follows: let v be the variance and c=mean/(1-mean). Then we set α=cβ and β=((c+1)²v - c)/((c+1)³v).
Attributes
mean
mean=double
Units: none
The mean of the beta distribution (must be in the open range (0,1)).
variance
variance=double
Units: none
The standard deviation of variates.
Probability that the mosquito escapes host and finds a resting place after biting
→ scenario → entomology → vector → anopheles → mosq → mosqProbFindRestSite
<mosqProbFindRestSite
mean=double
variance=double
/>
Documentation (element)
Probability that the mosquito escapes host and finds a resting place after biting
Documentation (type)
Parameters of a normal distribution, provided as mean and variance.
Variates are sampled from Be(α,β) where α and β are determined from the mean and variance as follows: let v be the variance and c=mean/(1-mean). Then we set α=cβ and β=((c+1)²v - c)/((c+1)³v).
Attributes
mean
mean=double
Units: none
The mean of the beta distribution (must be in the open range (0,1)).
variance
variance=double
Units: none
The standard deviation of variates.
Probability of mosquito successfully resting after finding a resting site
→ scenario → entomology → vector → anopheles → mosq → mosqProbResting
<mosqProbResting
mean=double
variance=double
/>
Documentation (element)
Probability of mosquito successfully resting after finding a resting site
Documentation (type)
Parameters of a normal distribution, provided as mean and variance.
Variates are sampled from Be(α,β) where α and β are determined from the mean and variance as follows: let v be the variance and c=mean/(1-mean). Then we set α=cβ and β=((c+1)²v - c)/((c+1)³v).
Attributes
mean
mean=double
Units: none
The mean of the beta distribution (must be in the open range (0,1)).
variance
variance=double
Units: none
The standard deviation of variates.
Probability of a mosquito successfully laying eggs given that it has rested
→ scenario → entomology → vector → anopheles → mosq → mosqProbOvipositing
<mosqProbOvipositing
value=double
/>
Documentation (element)
Probability of a mosquito successfully laying eggs given that it has rested
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Human blood index
→ scenario → entomology → vector → anopheles → mosq → mosqHumanBloodIndex
<mosqHumanBloodIndex
value=double
/>
Documentation (element)
Units: Proportion
The proportion of resting mosquitoes which fed on human blood during the last feed.
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Mosquito life cycle parameters
→ scenario → entomology → vector → anopheles → lifeCycle
<lifeCycle
[ estimatedLarvalResources=double ] DEFAULT VALUE 1e8
>
IN ANY ORDER:
| <eggStage ... />
| <larvalStage ... />
| <pupalStage ... />
| <femaleEggsLaidByOviposit ... />
</lifeCycle>
Documentation (element)
Parameters describing the life-cycle of this species of mosquito
Attributes
Estimate of larval resources
estimatedLarvalResources=double
Units: X
Default value: 1e8
An estimate of mean annual availability of resources to larvae. Used to get the resource usage fitting algorithm going; if the algorithm fails to fit the resource availability then tweaking this parameter may help. In other cases tweaking this parameter shouldn't be necessary. Default value is 10⁸ (1e8). Units are arbitrary but must be the same as those used by the resourceUsage parameter.
Egg stage
→ scenario → entomology → vector → anopheles → lifeCycle → eggStage
<eggStage
duration=int
survival=double
/>
Documentation (element)
Parameters for the egg stage of development
Documentation (type)
Parameters associated with a mosquito development stage.
Attributes
Duration
duration=int
Units: Days
Duration of the stage (i.e. length of time mosquito is an egg/larva/pupa).
Probability of survival
survival=double
Units: Proportion
Probability that mosquito survives this size (probability of egg hatching, a larva becoming a pupa or a pupa emerging as an adult, at the start of that stage).
larvalStage
→ scenario → entomology → vector → anopheles → lifeCycle → larvalStage
<larvalStage>
</larvalStage>
Documentation (type)
Parameters for the larval stage of development
Documentation (base type)
Parameters associated with a mosquito development stage.
Daily development
→ scenario → entomology → vector → anopheles → lifeCycle → larvalStage → daily
<daily
resourceUsage=double
effectCompetition=double
/>
Documentation (element)
List of parameters which apply during the larval stage of development. List length must equal stage duration, with first item corresponding to first 24 hours after hatching, second item to hours 24-48, and so on.
Attributes
Resource usage
resourceUsage=double
Units: X
Resource usage during larval stage of development. Units are arbitrary.
Effect of competition
effectCompetition=double
Units: none
Effect of competition over resources on development.
Pupal stage
→ scenario → entomology → vector → anopheles → lifeCycle → pupalStage
<pupalStage
duration=int
survival=double
/>
Documentation (element)
Parameters for the pupal stage of development
Documentation (type)
Parameters associated with a mosquito development stage.
Attributes
Duration
duration=int
Units: Days
Duration of the stage (i.e. length of time mosquito is an egg/larva/pupa).
Probability of survival
survival=double
Units: Proportion
Probability that mosquito survives this size (probability of egg hatching, a larva becoming a pupa or a pupa emerging as an adult, at the start of that stage).
Eggs laid by ovipositing mosquito
→ scenario → entomology → vector → anopheles → lifeCycle → femaleEggsLaidByOviposit
<femaleEggsLaidByOviposit
value=double
/>
Documentation (element)
Units: Eggs per feeding cycle
The total number of female eggs laid by a female mosquito at the conclusion to a feeding cycle, after feeding on an unprotected human (non-human hosts and protected humans use a multiplication factor to adjust this number for mosquitoes feeding on them).
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Simple Mosq-Pop-Dynamics parameters
→ scenario → entomology → vector → anopheles → simpleMPD
<simpleMPD>
IN ANY ORDER:
| <developmentDuration ... />
| <developmentSurvival ... />
| <femaleEggsLaidByOviposit ... />
</simpleMPD>
Documentation (element)
Parameters describing the simple mosquito population dynamics model.
This is a simpler version of the life-cycle model, requiring less parameters and with much simpler initialisation.
Duration
→ scenario → entomology → vector → anopheles → simpleMPD → developmentDuration
<developmentDuration
value=int
/>
Documentation (element)
Units: Days Min: 1
Duration from egg laying to emergence in days.
Attributes
Input parameter value
value=int
An integer value.
Probability of survival
→ scenario → entomology → vector → anopheles → simpleMPD → developmentSurvival
<developmentSurvival
value=double
/>
Documentation (element)
Units: Proportion Min: 0 Max: 1
Probability that mosquito survives from the egg being laid to emergence, given no resouce limitations (no density constraints).
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Eggs laid by ovipositing mosquito
→ scenario → entomology → vector → anopheles → simpleMPD → femaleEggsLaidByOviposit
<femaleEggsLaidByOviposit
value=double
/>
Documentation (element)
Units: Eggs per feeding cycle
The total number of female eggs laid by a female mosquito at the conclusion to a feeding cycle.
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Alternative (non-human) host paramters
→ scenario → entomology → vector → anopheles → nonHumanHosts
<nonHumanHosts
name=string
>
IN ANY ORDER:
| <mosqRelativeEntoAvailability ... />
| <mosqProbBiting ... />
| <mosqProbFindRestSite ... />
| <mosqProbResting ... />
| [ <hostFecundityFactor ... /> ]
</nonHumanHosts>
- mosqRelativeEntoAvailability
- mosqProbBiting
- mosqProbFindRestSite
- mosqProbResting
- hostFecundityFactor
Documentation (element)
Min: 0
Non human host parameters, per type of host (must match up with non-species-specific parameters).
Attributes
Identifier for this category of non-human hosts
name=string
Identifier for this category of non-human hosts
Relative availability of non-human host (ξ_i)
→ scenario → entomology → vector → anopheles → nonHumanHosts → mosqRelativeEntoAvailability
<mosqRelativeEntoAvailability
value=double
/>
Documentation (element)
Units: Proportion
Relative availability of the population of non-human hosts of type i to other non-human hosts; the sum of this across all non-human hosts must be 1.
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Probability of mosquito successfully biting host
→ scenario → entomology → vector → anopheles → nonHumanHosts → mosqProbBiting
<mosqProbBiting
value=double
/>
Documentation (element)
Units: Proportion
Probability of mosquito successfully biting host
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Probability that the mosquito escapes host and finds a resting place after biting
→ scenario → entomology → vector → anopheles → nonHumanHosts → mosqProbFindRestSite
<mosqProbFindRestSite
value=double
/>
Documentation (element)
Units: Proportion
Probability that the mosquito escapes host and finds a resting place after biting
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Probability of mosquito successfully resting after finding a resting site
→ scenario → entomology → vector → anopheles → nonHumanHosts → mosqProbResting
<mosqProbResting
value=double
/>
Documentation (element)
Units: Proportion
Probability of mosquito successfully resting after finding a resting site
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Relative fecundity of biting mosquitoes
→ scenario → entomology → vector → anopheles → nonHumanHosts → hostFecundityFactor
<hostFecundityFactor
value=double
/>
Documentation (element)
Units: Proportion
Multiplicative factor for the number of fertile eggs laid by a mosquito after biting this type of host, relative to an unprotected human.
Attributes
Input parameter value
value=double
A double-precision floating-point value.
nonHumanHosts
→ scenario → entomology → vector → nonHumanHosts
<nonHumanHosts
name=string
number=double
/>
Attributes
Species of alternative host
name=string
Name of this species of non human hosts (must match up with those described per anopheles section).
Population size of non-human host species
number=double
Units: Animals
Population size of this non-human host. Note: the availability of the population of this type of non-human host is determined by mosqRelativeEntoAvailability and mosqHumanBloodIndex. NHHs are not modelled individually, thus this parameter is not used. It might be useful in the future if there is ever an intervention to change the number of non-human hosts.
Parasite genetics
<parasiteGenetics
samplingMode=("initial" or "tracking")
>
IN THIS ORDER:
| ( <locus ... /> )+
</parasiteGenetics>
Documentation (element)
A specification of genotypes of infection parasites.
May be omitted; in this case there is no modelling of genetic differences of infections (resistance, fitness).
Attributes
samplingMode
samplingMode=("initial" or "tracking")
This controls how genotypes are determined for new infections during the intervention period. Prior to this (in initialisation phases), genotypes are always sampled using the specified initial frequencies. Mode "initial" continues to sample genotypes using initial frequencies (i.e. independent of the success of parent generations of parasites). Mode "tracking" samples genotypes based on the success parent generations of parasites have in infecting mosquitoes, tracked per genotype. It is possible that in the future a recombination option will be added to this list, however designing a suitable model is not trivial.
Locus
→ scenario → parasiteGenetics → locus
<locus
name=string
>
IN THIS ORDER:
| ( <allele ... /> )+
</locus>
Documentation (element)
Describes a locus, or a point at which an infection may vary. The genotype of an infection is determined by choosing one allele at each locus. Initial frequencies of alleles are specified independently for each locus, but subsequent infections are selected according to success of genotypes.
Alleles at loci can affect fitness and resistance to any number of drugs.
Attributes
Name of locus
name=string
Name of the Locus
Allele
→ scenario → parasiteGenetics → locus → allele
<allele
name=string
initialFrequency=double
fitness=double
[ hrp2_deletion=boolean ] DEFAULT VALUE false
/>
Documentation (element)
Describes an allele, or one possible genetic option of multiple at one point of variance.
Attributes
Name
name=string
Name of the allele; used to refer to it elsewhere.
Initial frequency
initialFrequency=double
Specification of how commonly this allele occurs during warmup relative to other alleles of the same locus. During the simulation's initialisation phases, the frequency at which each allele of each locus occurs is fixed. After the initialisation phase, frequency of alleles is modelled as an emergent property of the success of genotypes.
Fitness factor
fitness=double
Fitness factor of the allele. This is multiplication factor used to speed up or slow down replication of parasites. For example, if a genotype has an allele with a fitness factor of 1 at one locus and another allele with a fitness factor of 0.8 at a second locus, then the parasites with the genotype will replicate 20% slower than the baseline.
HRP2 deletion
hrp2_deletion=boolean
Default value: false
If true, marks this allele as having deleted HRP2. The effect on the simulation is that any diagnostic dependent on HRP2 behaves as if infections with deleted HRP2 have density 0. A diagnostic MUST explicitly set mechanism="HRP2" for this to have any effect.
Drug parameters (PK, PD and usage)
→ scenario → pharmacology
<pharmacology>
IN THIS ORDER:
| <treatments ... />
| <drugs ... />
</pharmacology>
Documentation (element)
Drug model parameters and drug usage parameters
Documentation (type)
A library of drug related data for the PK/PD model.
Treatments library
→ scenario → pharmacology → treatments
<treatments>
IN THIS ORDER:
| ( <schedule ... /> )+
| ( <dosages ... /> )+
</treatments>
Documentation (element)
A library of drug deployment schedules and dosages.
schedule
→ scenario → pharmacology → treatments → schedule
<schedule
name=string
>
IN THIS ORDER:
| ( <medicate ... /> )*
</schedule>
Documentation (type)
A schedule for the administration of drugs in a course of treatment.
Note that dose sizes are multiplied by some multiplier (see dosages) and the times of all doses may be delayed.
Attributes
Name
name=string
Name for referring to this deployment schedule
medicate
→ scenario → pharmacology → treatments → schedule → medicate
<medicate
drug=string
mg=double
hour=double
/>
Attributes
drug
drug=string
Abbreviated name of drug compound
Drug dose (mg with multiplier)
mg=double
Units: mg per something
Quantity of drug compound in mg per something. A separate dosage table must be used when medicating, which may specify multipliers of this number based on patient age or weight.
Time of administration
hour=double
Units: Hours Min: 0
Number of hours past start of timestep this drug dose is administered at (first dose should be at hour 0).
dosages
→ scenario → pharmacology → treatments → dosages
<dosages
name=string
>
IN THIS ORDER:
| EXACTLY ONE OF:
| | ( <age ... /> )+
| | ( <bodymass ... /> )+
| | <multiply ... />
</dosages>
Documentation (type)
A table for selecting a dose size. There are several ways this can work: using the patient's age or body mass in a look-up table to get a multplier, or directly using body mass as the multiplier.
The doses specified in "mg" in the treatment schedule are then multiplied by this multiplier.
Attributes
Name
name=string
Name for referring to this dosage table
Look-up table (age)
→ scenario → pharmacology → treatments → dosages → age
<age
lowerbound=double
dose_mult=double
/>
Documentation (element)
Select dose multiplier from a look-up table using the patient's age.
Documentation (type)
A look-up table which uses patient age (in years) or weight (in kg) to find a multiplier.
Attributes
Lower bound (inclusive)
lowerbound=double
Units: years or kg Min: 0
Dose multiplier
dose_mult=double
Min: 0
The dose size given in the schedule (in "mg") is multiplied by this value for patients falling into this range when this dosage table is used.
Look-up table (weight)
→ scenario → pharmacology → treatments → dosages → bodymass
<bodymass
lowerbound=double
dose_mult=double
/>
Documentation (element)
Select dose multiplier from a look-up table using the patient's body mass.
Documentation (type)
A look-up table which uses patient age (in years) or weight (in kg) to find a multiplier.
Attributes
Lower bound (inclusive)
lowerbound=double
Units: years or kg Min: 0
Dose multiplier
dose_mult=double
Min: 0
The dose size given in the schedule (in "mg") is multiplied by this value for patients falling into this range when this dosage table is used.
Multiply dose
→ scenario → pharmacology → treatments → dosages → multiply
<multiply
by=("kg")
/>
Documentation (element)
Multiply the dose by some quantity, such as patient weight.
Attributes
By what?
by=("kg")
Quantity to multiply the dose by. Only option is "kg" (patient weight in kg).
Drug library
→ scenario → pharmacology → drugs
<drugs>
IN THIS ORDER:
| ( <drug ... /> )+
</drugs>
Documentation (element)
A library of drug PK/PD data.
drug
→ scenario → pharmacology → drugs → drug
<drug
abbrev=string
>
IN THIS ORDER:
| <PD ... />
| <PK ... />
</drug>
Documentation (type)
A drug description with PK/PD parameters.
Attributes
abbrev
abbrev=string
PD
→ scenario → pharmacology → drugs → drug → PD
<PD
[ locus=string ]
>
IN THIS ORDER:
| ( <phenotype ... /> )+
</PD>
Attributes
Locus
locus=string
Optional; if present specifies the locus corresponding to this drug's PD phenotypes: each phenotype must then match one of that locus's alleles. Otherwise the drug should specify only one phenotype. There is currently a one-to-many correspondance between loci and drugs.
PD parameters for some allele / resistance phenotype
→ scenario → pharmacology → drugs → drug → PD → phenotype
<phenotype
[ name=string ]
>
IN THIS ORDER:
| ( <restriction ... /> )*
| <max_killing_rate ... />
| <IC50 ... />
| <slope ... />
</phenotype>
Documentation (element)
Pharmaco-Dynamic parameters for some resistance phenotype.
To model resistance to this drug, describe multiple infection phenotypes (with respect to these PD parameters) and list one or more "restrict" elements for each phenotype.
Loci are specified elsewhere. Multiple loci may influence the action of a single drug and each locus may influence multiple drugs.
Attributes
Name of phenotype
name=string
Name of the phenotype; for documentation use only.
Restrict phenotype applicability to certain alleles
→ scenario → pharmacology → drugs → drug → PD → phenotype → restriction
<restriction
onLocus=string
toAllele=string
/>
Documentation (element)
Specifies the mapping from genotype to phenotype. For each drug type, if only one phenotype is present, restrictions need not be specified, but otherwise restrictions must be specified.
The set of loci affecting phenotypes of this drug's action must be fixed for any drug type. Each phenotype must list, for each of these loci, a restriction to one or more alleles under the locus.
Attributes
Locus relevant to the mapping of alleles to this phenotype
onLocus=string
A locus under which only a restricted set of alleles map to this phenotype.
Alleles mapping to this phenotype
toAllele=string
One allele of a locus upon which phenotype choice depends. If multiple alleles under this locus should map to the same phenotype, repeat the whole "restriction onLocus..." element.
Maximal parasite killing rate
→ scenario → pharmacology → drugs → drug → PD → phenotype → max_killing_rate
<max_killing_rate>
double
</max_killing_rate>
Documentation (element)
Units: 1/days Min: 0
k1 — Maximal parasite killing rate.
IC50
→ scenario → pharmacology → drugs → drug → PD → phenotype → IC50
<IC50
[ CV=double ]
[ distr=("const" or "lognormal") ] DEFAULT VALUE const
mean=double
/>
Documentation (element)
Units: mg/l Min: 0
Half maximal effect concentration.
If CV > 0, the IC50 is sampled from a log-normal distribution.
Documentation (type)
A parameter with optional log-normal heterogeneity.
The mean value must be specified. Optionally, a distribution ("distr") and coefficient of variation ("CV") may be specified.
Documentation (base type)
A parameter with optional heterogeneity.
The mean cannot be specified (unless this type is extended). Optionally, a distribution ("distr") and coefficient of variation ("CV") may be specified.
Attributes
Coefficient of variation
CV=double
Units: unitless
The (linear) coefficient of variation. This value must be specified when a (non-constant) distribution is used. Note that specifying CV="0" has the same effect as distr="const" and disables sampling of this parameter, even if distr is not "const".
Distribution
distr=("const" or "lognormal")
Default value: const
To allow heterogeneity, a distribution must be specified. Valid options are as follows. "const": no variation or sampling. Specifying distr="const" has the same effect as not specifying distr at all. "lognormal": the parameter is sampled from a log-normal distribution. Note that the "mean" and "CV" values are linear (arithmetic) properties of the distribution and not log-space properties.
mean
mean=double
The (linear) mean value.
Slope of effect curve
→ scenario → pharmacology → drugs → drug → PD → phenotype → slope
<slope>
double
</slope>
Documentation (element)
Units: dimensionless
n — Slope of the concentration effect curve
PK
→ scenario → pharmacology → drugs → drug → PK
<PK>
IN THIS ORDER:
| <negligible_concentration ... />
| EXACTLY ONE OF:
| | <half_life ... />
| | IN THIS ORDER:
| | | <k ... />
| | | <m_exponent ... />
| [ <k_a ... /> ]
| [ <conversion ... /> ]
| <vol_dist ... />
| [ <compartment2 ... /> ]
| [ <compartment3 ... /> ]
</PK>
Drug concentration considered negligible
→ scenario → pharmacology → drugs → drug → PK → negligible_concentration
<negligible_concentration>
double
</negligible_concentration>
Documentation (element)
Units: mg/l Min: 0
Concentration below which drug's effects are deemed negligible and can be removed from simulation.
drug half-life
→ scenario → pharmacology → drugs → drug → PK → half_life
<half_life>
double
</half_life>
Documentation (element)
Units: days Min: 0
Used to calculate elimination rate λ, calculated as λ = ln(2) / half_life. The basic form of decay is C(t) = C0 * exp(-λ*t).
Alternatively, elimination rate can be specified via k and m_exponent.
Constant associated with elimination rate (k)
→ scenario → pharmacology → drugs → drug → PK → k
<k
[ CV=double ]
[ distr=("const" or "lognormal") ] DEFAULT VALUE const
mean=double
/>
Documentation (element)
Units: day^-1 Min: 0
Constant used to calculate the elimination rate λ, which is calculated as λ = k / (body_mass ^ m_exponent), where body_mass is the patient's weight in kg and m_exponent is the next parameter. The basic form of decay is C(t) = C0 * exp(-λ*t).
If CV > 0, k is sampled per-human from the log-normal distribution: ln N( ln(mean) - σ^2 / 2, σ^2).
Alternatively, elimination rate can be specified via half_life.
Documentation (type)
A parameter with optional log-normal heterogeneity.
The mean value must be specified. Optionally, a distribution ("distr") and coefficient of variation ("CV") may be specified.
Documentation (base type)
A parameter with optional heterogeneity.
The mean cannot be specified (unless this type is extended). Optionally, a distribution ("distr") and coefficient of variation ("CV") may be specified.
Attributes
Coefficient of variation
CV=double
Units: unitless
The (linear) coefficient of variation. This value must be specified when a (non-constant) distribution is used. Note that specifying CV="0" has the same effect as distr="const" and disables sampling of this parameter, even if distr is not "const".
Distribution
distr=("const" or "lognormal")
Default value: const
To allow heterogeneity, a distribution must be specified. Valid options are as follows. "const": no variation or sampling. Specifying distr="const" has the same effect as not specifying distr at all. "lognormal": the parameter is sampled from a log-normal distribution. Note that the "mean" and "CV" values are linear (arithmetic) properties of the distribution and not log-space properties.
mean
mean=double
The (linear) mean value.
Constant associated with elimination rate (m_exponent)
→ scenario → pharmacology → drugs → drug → PK → m_exponent
<m_exponent>
double
</m_exponent>
Documentation (element)
Units: day^-1 Min: 0
Constant used to calculate the elimination rate λ, which is calculated as λ = k / (body_mass ^ m_exponent), where body_mass is the patient's weight in kg and k is the previous parameter. The basic form of decay is C(t) = C0 * exp(-λ*t).
Alternatively, elimination rate can be specified via half_life.
Note that in the case of a conversion model, this applies to both the elimination and the conversion rates.
Absorption rate constant (k_a)
→ scenario → pharmacology → drugs → drug → PK → k_a
<k_a
[ CV=double ]
[ distr=("const" or "lognormal") ] DEFAULT VALUE const
mean=double
/>
Documentation (element)
Min: 0
Absorption rate parameter. Not allowed for one compartment models, but required for two and three compartment models and one compartment with conversion model (for the parent drug only).
Documentation (type)
A parameter with optional log-normal heterogeneity.
The mean value must be specified. Optionally, a distribution ("distr") and coefficient of variation ("CV") may be specified.
Documentation (base type)
A parameter with optional heterogeneity.
The mean cannot be specified (unless this type is extended). Optionally, a distribution ("distr") and coefficient of variation ("CV") may be specified.
Attributes
Coefficient of variation
CV=double
Units: unitless
The (linear) coefficient of variation. This value must be specified when a (non-constant) distribution is used. Note that specifying CV="0" has the same effect as distr="const" and disables sampling of this parameter, even if distr is not "const".
Distribution
distr=("const" or "lognormal")
Default value: const
To allow heterogeneity, a distribution must be specified. Valid options are as follows. "const": no variation or sampling. Specifying distr="const" has the same effect as not specifying distr at all. "lognormal": the parameter is sampled from a log-normal distribution. Note that the "mean" and "CV" values are linear (arithmetic) properties of the distribution and not log-space properties.
mean
mean=double
The (linear) mean value.
Conversion parameters (parent drug)
→ scenario → pharmacology → drugs → drug → PK → conversion
<conversion>
IN ANY ORDER:
| <metabolite ... />
| <rate ... />
| <molRatio ... />
| <IC50_log_correlation ... />
</conversion>
Documentation (element)
Configures the parent drug in a conversion model.
To use a conversion model, the parent drug should have this section defined as well as half-life or k (direct elimination; this may be zero) and k_a (absorption rate; this may be large).
The metabolite drug should define half-life or k (elimination of metabolite), but not k_a (absorption rate) or this section (conversion). It is not possible for the metabolite to itself undergo conversion with the current models.
Metabolite drug (abbreviation)
→ scenario → pharmacology → drugs → drug → PK → conversion → metabolite
<metabolite>
string
</metabolite>
Documentation (element)
The abbreviation of the metabolite drug (e.g. "DHA" or "DHA_AR").
Rate of conversion
→ scenario → pharmacology → drugs → drug → PK → conversion → rate
<rate
[ CV=double ]
[ distr=("const" or "lognormal") ] DEFAULT VALUE const
mean=double
/>
Documentation (element)
Rate of conversion of parent drug to metabolite.
Documentation (type)
A parameter with optional log-normal heterogeneity.
The mean value must be specified. Optionally, a distribution ("distr") and coefficient of variation ("CV") may be specified.
Documentation (base type)
A parameter with optional heterogeneity.
The mean cannot be specified (unless this type is extended). Optionally, a distribution ("distr") and coefficient of variation ("CV") may be specified.
Attributes
Coefficient of variation
CV=double
Units: unitless
The (linear) coefficient of variation. This value must be specified when a (non-constant) distribution is used. Note that specifying CV="0" has the same effect as distr="const" and disables sampling of this parameter, even if distr is not "const".
Distribution
distr=("const" or "lognormal")
Default value: const
To allow heterogeneity, a distribution must be specified. Valid options are as follows. "const": no variation or sampling. Specifying distr="const" has the same effect as not specifying distr at all. "lognormal": the parameter is sampled from a log-normal distribution. Note that the "mean" and "CV" values are linear (arithmetic) properties of the distribution and not log-space properties.
mean
mean=double
The (linear) mean value.
Molecular weight ratio
→ scenario → pharmacology → drugs → drug → PK → conversion → molRatio
<molRatio>
double
</molRatio>
Documentation (element)
Ratio of molecular weights: molecular weight of the metabolite divided by molecular weight of the parent.
IC50 log correlation
→ scenario → pharmacology → drugs → drug → PK → conversion → IC50_log_correlation
<IC50_log_correlation>
double
</IC50_log_correlation>
Documentation (element)
Min: 0 Max: 1
The IC50 values of parent and metabolite drugs may be sampled from the log-normal distribution (if CV is greater than 0). This parameter controls correlation between these samples, measured in log-space.
If this value is 1, samples are fully correlated: a single z-score is used to calculate both samples. If this is 0, two independent samples are used.
Values between 0 and 1 (partial correlation) are supported; in this case IC50 values are sampled such that cor(log(x), log(y)) matches this value (where x, y are parent and metabolite IC50 values).
Volume of Distribution (Vd)
→ scenario → pharmacology → drugs → drug → PK → vol_dist
<vol_dist
[ CV=double ]
[ distr=("const" or "lognormal") ] DEFAULT VALUE const
mean=double
/>
Documentation (element)
Units: l/kg Min: 0
Volume of Distribution.
If CV > 0 this is sampled from a log-normal distribution.
Documentation (type)
A parameter with optional log-normal heterogeneity.
The mean value must be specified. Optionally, a distribution ("distr") and coefficient of variation ("CV") may be specified.
Documentation (base type)
A parameter with optional heterogeneity.
The mean cannot be specified (unless this type is extended). Optionally, a distribution ("distr") and coefficient of variation ("CV") may be specified.
Attributes
Coefficient of variation
CV=double
Units: unitless
The (linear) coefficient of variation. This value must be specified when a (non-constant) distribution is used. Note that specifying CV="0" has the same effect as distr="const" and disables sampling of this parameter, even if distr is not "const".
Distribution
distr=("const" or "lognormal")
Default value: const
To allow heterogeneity, a distribution must be specified. Valid options are as follows. "const": no variation or sampling. Specifying distr="const" has the same effect as not specifying distr at all. "lognormal": the parameter is sampled from a log-normal distribution. Note that the "mean" and "CV" values are linear (arithmetic) properties of the distribution and not log-space properties.
mean
mean=double
The (linear) mean value.
Second compartment parameters
→ scenario → pharmacology → drugs → drug → PK → compartment2
<compartment2>
IN ANY ORDER:
| <k12 ... />
| <k21 ... />
</compartment2>
Documentation (element)
Optional element specifying conversion parameters to- and from- a second compartment.
Absorption rate to compartment 2 (k12)
→ scenario → pharmacology → drugs → drug → PK → compartment2 → k12
<k12
[ CV=double ]
[ distr=("const" or "lognormal") ] DEFAULT VALUE const
mean=double
/>
Documentation (element)
Units: day^-1 Min: 0
Absorption rate from the central compartment to the first periphery compartment (2).
It is sampled per-patient when CV > 0.
Documentation (type)
A parameter with optional log-normal heterogeneity.
The mean value must be specified. Optionally, a distribution ("distr") and coefficient of variation ("CV") may be specified.
Documentation (base type)
A parameter with optional heterogeneity.
The mean cannot be specified (unless this type is extended). Optionally, a distribution ("distr") and coefficient of variation ("CV") may be specified.
Attributes
Coefficient of variation
CV=double
Units: unitless
The (linear) coefficient of variation. This value must be specified when a (non-constant) distribution is used. Note that specifying CV="0" has the same effect as distr="const" and disables sampling of this parameter, even if distr is not "const".
Distribution
distr=("const" or "lognormal")
Default value: const
To allow heterogeneity, a distribution must be specified. Valid options are as follows. "const": no variation or sampling. Specifying distr="const" has the same effect as not specifying distr at all. "lognormal": the parameter is sampled from a log-normal distribution. Note that the "mean" and "CV" values are linear (arithmetic) properties of the distribution and not log-space properties.
mean
mean=double
The (linear) mean value.
Absorption rate from compartment 2 (k21)
→ scenario → pharmacology → drugs → drug → PK → compartment2 → k21
<k21
[ CV=double ]
[ distr=("const" or "lognormal") ] DEFAULT VALUE const
mean=double
/>
Documentation (element)
Units: day^-1 Min: 0
Absorption rate from the first periphery compartment (2) to the central compartment.
It is sampled per-patient when CV > 0.
Documentation (type)
A parameter with optional log-normal heterogeneity.
The mean value must be specified. Optionally, a distribution ("distr") and coefficient of variation ("CV") may be specified.
Documentation (base type)
A parameter with optional heterogeneity.
The mean cannot be specified (unless this type is extended). Optionally, a distribution ("distr") and coefficient of variation ("CV") may be specified.
Attributes
Coefficient of variation
CV=double
Units: unitless
The (linear) coefficient of variation. This value must be specified when a (non-constant) distribution is used. Note that specifying CV="0" has the same effect as distr="const" and disables sampling of this parameter, even if distr is not "const".
Distribution
distr=("const" or "lognormal")
Default value: const
To allow heterogeneity, a distribution must be specified. Valid options are as follows. "const": no variation or sampling. Specifying distr="const" has the same effect as not specifying distr at all. "lognormal": the parameter is sampled from a log-normal distribution. Note that the "mean" and "CV" values are linear (arithmetic) properties of the distribution and not log-space properties.
mean
mean=double
The (linear) mean value.
Third compartment parameters
→ scenario → pharmacology → drugs → drug → PK → compartment3
<compartment3>
IN ANY ORDER:
| <k13 ... />
| <k31 ... />
</compartment3>
Documentation (element)
Optional element specifying conversion parameters to- and from- a third compartment.
Absorption rate to compartment 3 (k13)
→ scenario → pharmacology → drugs → drug → PK → compartment3 → k13
<k13
[ CV=double ]
[ distr=("const" or "lognormal") ] DEFAULT VALUE const
mean=double
/>
Documentation (element)
Units: day^-1 Min: 0
Absorption rate from the central compartment to the second periphery compartment (3).
It is sampled per-patient when CV > 0.
Documentation (type)
A parameter with optional log-normal heterogeneity.
The mean value must be specified. Optionally, a distribution ("distr") and coefficient of variation ("CV") may be specified.
Documentation (base type)
A parameter with optional heterogeneity.
The mean cannot be specified (unless this type is extended). Optionally, a distribution ("distr") and coefficient of variation ("CV") may be specified.
Attributes
Coefficient of variation
CV=double
Units: unitless
The (linear) coefficient of variation. This value must be specified when a (non-constant) distribution is used. Note that specifying CV="0" has the same effect as distr="const" and disables sampling of this parameter, even if distr is not "const".
Distribution
distr=("const" or "lognormal")
Default value: const
To allow heterogeneity, a distribution must be specified. Valid options are as follows. "const": no variation or sampling. Specifying distr="const" has the same effect as not specifying distr at all. "lognormal": the parameter is sampled from a log-normal distribution. Note that the "mean" and "CV" values are linear (arithmetic) properties of the distribution and not log-space properties.
mean
mean=double
The (linear) mean value.
Absorption rate from compartment 3 (k31)
→ scenario → pharmacology → drugs → drug → PK → compartment3 → k31
<k31
[ CV=double ]
[ distr=("const" or "lognormal") ] DEFAULT VALUE const
mean=double
/>
Documentation (element)
Units: day^-1 Min: 0
Absorption rate from the second periphery compartment (3) to the central compartment.
It is sampled per-patient when CV > 0.
Documentation (type)
A parameter with optional log-normal heterogeneity.
The mean value must be specified. Optionally, a distribution ("distr") and coefficient of variation ("CV") may be specified.
Documentation (base type)
A parameter with optional heterogeneity.
The mean cannot be specified (unless this type is extended). Optionally, a distribution ("distr") and coefficient of variation ("CV") may be specified.
Attributes
Coefficient of variation
CV=double
Units: unitless
The (linear) coefficient of variation. This value must be specified when a (non-constant) distribution is used. Note that specifying CV="0" has the same effect as distr="const" and disables sampling of this parameter, even if distr is not "const".
Distribution
distr=("const" or "lognormal")
Default value: const
To allow heterogeneity, a distribution must be specified. Valid options are as follows. "const": no variation or sampling. Specifying distr="const" has the same effect as not specifying distr at all. "lognormal": the parameter is sampled from a log-normal distribution. Note that the "mean" and "CV" values are linear (arithmetic) properties of the distribution and not log-space properties.
mean
mean=double
The (linear) mean value.
Diagnostic parameters
→ scenario → diagnostics
<diagnostics>
IN THIS ORDER:
| ( <diagnostic ... /> )*
</diagnostics>
Documentation (element)
Diagnostic model parameters
diagnostic
→ scenario → diagnostics → diagnostic
<diagnostic
name=string
[ units=("Other" or "Garki" or "Malariatherapy") ]
[ mechanism=("Other" or "HRP2") ] DEFAULT VALUE Other
>
IN THIS ORDER:
| EXACTLY ONE OF:
| | <deterministic ... />
| | <stochastic ... />
</diagnostic>
Attributes
Name of diagnostic
name=string
Name of this diagnostic (parameterisation). May be used elsewhere in the XML document to refer to this set of diagnostic parameters.
Parasite density units / methodology
units=("Other" or "Garki" or "Malariatherapy")
Parasite densities, as estimated according to standard microscopy methods, the Garki method, and as derived from Malariatherapy data are not equivalent. Internally, a "bias" factor is used to convert values estimated by one methods to values comparable with another (see AJTMHv75 supplement 2 pp20-21). This option allows specification of which methodology the density given in the diagnostic specification is measured with. Values allowed are: Malariatherapy, Garki and Other. If not specified, Other is assumed, unless the GARKI_DENSITY_BIAS model option is used, in which case this option must be specified.
Mechanism
mechanism=("Other" or "HRP2")
Default value: Other
Mechanism by which this diagnostic functions. Possible values are: HRP2, Other. In the case of HRP2, infections with an hrp2_deletion will be invisible to this diagnostic. In the case of Other, the diagnostic is unaffected by infection genome. The diagnostic used for monitoring cannot use HRP2. (This is a restriction made to simplify implementation.)
Deterministic detection
→ scenario → diagnostics → diagnostic → deterministic
<deterministic
minDensity=double
/>
Documentation (element)
Specify that an artificial deterministic test is used: outcome is positive if parasite density is at least the minimum given.
Attributes
Minimum detectible density
minDensity=double
Units: parasites/microlitre Min: 0
The minimum density at which parasites can be detected. If 0, the test outcome is always positive.
Non-deterministic detection
→ scenario → diagnostics → diagnostic → stochastic
<stochastic
dens_50=double
specificity=double
/>
Documentation (element)
An improved model of detection which is non-deterministic, including false positive results as well as false negatives.
The probability of a positive outcome is modelled as 1 + s×(x/(x+d) - 1) where x is the parasite density, d is the density at which the test outcome has a 50% chance of being positive, and s is the probability of a positive outcome given no parasites (the specificity).
Some parameterisations:
Microscopy sensitivity/specificity data in Africa; Source: expert opinion — Allan Schapira dens_50 = 20.0 specificity = .75
RDT sensitivity/specificity for Plasmodium falciparum in Africa Source: Murray et al (Clinical Microbiological Reviews, Jan. 2008) dens_50 = 50.0; specificity = .942;
Attributes
Density 50
dens_50=double
Units: parasites/microlitre Min: 0
The density at which the test outcome has a 50% chance of being positive.
Specificity
specificity=double
Units: Dimensionless Min: 0 Max: 1
The probability of a positive test outcome in the absense of parasites.
Model options and parameters
<model>
IN ANY ORDER:
| <ModelOptions ... />
| <clinical ... />
| <human ... />
| [ <vivax ... /> ]
| <parameters ... />
</model>
Documentation (element)
Encapsulation of all parameters which describe the model according to which fitting is done.
Model Options
→ scenario → model → ModelOptions
<ModelOptions>
IN THIS ORDER:
| ( <option ... /> )*
</ModelOptions>
Documentation (element)
All model options (bug fixes, choices between models, etc.).
The list of recognised options can be found in the code at:
model/util/ModelOptions.h and should also be in the wiki.
clinical
<clinical
healthSystemMemory=string
>
IN ANY ORDER:
| [ <NeonatalMortality ... /> ]
| [ <NonMalariaFevers ... /> ]
</clinical>
Documentation (type)
Description of clinical parameters that are related to the health-system description, but which contain data that cannot be changed as part of an intervention and that are not restricted to treatment.
Attributes
Follow-up period during which recurrence is considered a treatment failure
healthSystemMemory=string
Units: User-defined (defaults to steps)
Follow-up period during which a recurrence is considered to be a treatment failure Can be specified in steps (e.g. 6t) or days (e.g. 28d).
Neonatal mortality parameters
→ scenario → model → clinical → NeonatalMortality
<NeonatalMortality
diagnostic=string
/>
Attributes
Diagnostic used to parameterise model
diagnostic=string
The name of a diagnostic used to parameterise the model. Neonatal mortality is derived from malaria patency of a certain sub-population of humans. This is the diagnostic used to asses patency for this purpose. If this is not specified, the monitoring diagnostic is used.
NonMalariaFevers
→ scenario → model → clinical → NonMalariaFevers
<NonMalariaFevers>
IN THIS ORDER:
| <incidence ... />
| [ <prNeedTreatmentNMF ... /> ]
| [ <prNeedTreatmentMF ... /> ]
</NonMalariaFevers>
Documentation (type)
Description of the incidence of non-malaria fever. Non-malaria fevers are only modelled if the NON_MALARIA_FEVERS option is used.
P(NMF)
→ scenario → model → clinical → NonMalariaFevers → incidence
<incidence
[ interpolation=("none" or "linear") ]
>
IN THIS ORDER:
| ( <group ... /> )+
</incidence>
Documentation (element)
Units: Dimensionless Min: 0.0 Max: 1.0
Probability that a non-malaria fever occurs given that no concurrent malaria fever occurs.
Attributes
interpolation
interpolation=("none" or "linear")
Interpolation algorithm. Normally it is desirable for age-based values to be continuous w.r.t. age. By default linear interpolation is used. With all algorithms except "none", the age groups are converted to a set of points centred within each age range. Extra points are added at each end (zero and infinity) to keep value constant at both ends of the function. A zero-length age group may be used as a kind of barrier to adjust the distribution; e.g. with age group boundaries at 15, 20 and 25 years, a (linear) spline would be drawn between ages 17.5 and 22.5, whereas with boundaries at 15, 20 and 20 years, a spline would be drawn between ages 17.5 and 20 years (may be desired if individuals are assumed to reach adult size at 20). Algorithms:
- none: input values are used directly
- linear: straight lines (on an age vs. value graph) are used to interpolate data points.
P(need treatment | NMF)
→ scenario → model → clinical → NonMalariaFevers → prNeedTreatmentNMF
<prNeedTreatmentNMF
[ interpolation=("none" or "linear") ]
>
IN THIS ORDER:
| ( <group ... /> )+
</prNeedTreatmentNMF>
Documentation (element)
Units: Dimensionless Min: 0 Max: 1
Probability that a non-malarial fever requires treatment with antibiotics (assuming fever is not induced by malaria, although concurrent parasites may be present).
Attributes
interpolation
interpolation=("none" or "linear")
Interpolation algorithm. Normally it is desirable for age-based values to be continuous w.r.t. age. By default linear interpolation is used. With all algorithms except "none", the age groups are converted to a set of points centred within each age range. Extra points are added at each end (zero and infinity) to keep value constant at both ends of the function. A zero-length age group may be used as a kind of barrier to adjust the distribution; e.g. with age group boundaries at 15, 20 and 25 years, a (linear) spline would be drawn between ages 17.5 and 22.5, whereas with boundaries at 15, 20 and 20 years, a spline would be drawn between ages 17.5 and 20 years (may be desired if individuals are assumed to reach adult size at 20). Algorithms:
- none: input values are used directly
- linear: straight lines (on an age vs. value graph) are used to interpolate data points.
P(need treatment | MF)
→ scenario → model → clinical → NonMalariaFevers → prNeedTreatmentMF
<prNeedTreatmentMF
[ interpolation=("none" or "linear") ]
>
IN THIS ORDER:
| ( <group ... /> )+
</prNeedTreatmentMF>
Documentation (element)
Units: Dimensionless Min: 0 Max: 1
Probability that a malaria fever needs treatment with antibiotics (assuming fever is induced by malaria, although concurrent bacteria may be present).
Meaning partially overlaps with separate model for comorbidity given malaria.
Attributes
interpolation
interpolation=("none" or "linear")
Interpolation algorithm. Normally it is desirable for age-based values to be continuous w.r.t. age. By default linear interpolation is used. With all algorithms except "none", the age groups are converted to a set of points centred within each age range. Extra points are added at each end (zero and infinity) to keep value constant at both ends of the function. A zero-length age group may be used as a kind of barrier to adjust the distribution; e.g. with age group boundaries at 15, 20 and 25 years, a (linear) spline would be drawn between ages 17.5 and 22.5, whereas with boundaries at 15, 20 and 20 years, a spline would be drawn between ages 17.5 and 20 years (may be desired if individuals are assumed to reach adult size at 20). Algorithms:
- none: input values are used directly
- linear: straight lines (on an age vs. value graph) are used to interpolate data points.
human
<human>
IN THIS ORDER:
| <availabilityToMosquitoes ... />
| [ <weight ... /> ]
</human>
Documentation (type)
Parameters of host models.
Availability to mosquitoes
→ scenario → model → human → availabilityToMosquitoes
<availabilityToMosquitoes
[ interpolation=("none" or "linear") ]
>
IN THIS ORDER:
| ( <group ... /> )+
</availabilityToMosquitoes>
Documentation (element)
Units: None Min: 0 Max: 1
Availability of humans to mosquitoes relative to an adult, categorized by age group
Attributes
interpolation
interpolation=("none" or "linear")
Interpolation algorithm. Normally it is desirable for age-based values to be continuous w.r.t. age. By default linear interpolation is used. With all algorithms except "none", the age groups are converted to a set of points centred within each age range. Extra points are added at each end (zero and infinity) to keep value constant at both ends of the function. A zero-length age group may be used as a kind of barrier to adjust the distribution; e.g. with age group boundaries at 15, 20 and 25 years, a (linear) spline would be drawn between ages 17.5 and 22.5, whereas with boundaries at 15, 20 and 20 years, a spline would be drawn between ages 17.5 and 20 years (may be desired if individuals are assumed to reach adult size at 20). Algorithms:
- none: input values are used directly
- linear: straight lines (on an age vs. value graph) are used to interpolate data points.
Weight
→ scenario → model → human → weight
<weight
[ interpolation=("none" or "linear") ]
multStdDev=double
>
IN THIS ORDER:
| ( <group ... /> )+
</weight>
Documentation (element)
Units: kg Min: 0
By age group data on human weight (mass).
Attributes
interpolation
interpolation=("none" or "linear")
Interpolation algorithm. Normally it is desirable for age-based values to be continuous w.r.t. age. By default linear interpolation is used. With all algorithms except "none", the age groups are converted to a set of points centred within each age range. Extra points are added at each end (zero and infinity) to keep value constant at both ends of the function. A zero-length age group may be used as a kind of barrier to adjust the distribution; e.g. with age group boundaries at 15, 20 and 25 years, a (linear) spline would be drawn between ages 17.5 and 22.5, whereas with boundaries at 15, 20 and 20 years, a spline would be drawn between ages 17.5 and 20 years (may be desired if individuals are assumed to reach adult size at 20). Algorithms:
- none: input values are used directly
- linear: straight lines (on an age vs. value graph) are used to interpolate data points.
Standard deviation
multStdDev=double
Units: None Min: 0
Each human is assigned a weight multiplier from a normal distribution with mean 1 and this standard deviation at birth. His/her weight is this multiplier times the mean from age distribution. A standard deviation of zero for no heterogeneity is valid; a rough value from Tanzanian data is 0.14.
Vivax model parameters
<vivax>
IN ANY ORDER:
| <probBloodStageInfectiousToMosq ... />
| <hypnozoiteRelease ... />
| <bloodStageProtectionLatency ... />
| <bloodStageLengthDays ... />
| <clinicalEvents ... />
</vivax>
- probBloodStageInfectiousToMosq
- hypnozoiteRelease
- bloodStageProtectionLatency
- bloodStageLengthDays
- clinicalEvents
Documentation (element)
This describes Vivax model parameters, and is required when using the VIVAX_SIMPLE_MODEL model option.
Probability of mosquito infection
→ scenario → model → vivax → probBloodStageInfectiousToMosq
<probBloodStageInfectiousToMosq
value=double
/>
Documentation (element)
Units: None Min: 0 Max: 1
The chance of a feeding mosquito becoming infected, given that the host is patent. (This may be adjusted by transmission-blocking vaccines.)
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Hypnozoite releases
→ scenario → model → vivax → hypnozoiteRelease
<hypnozoiteRelease
[ pSecondRelease=double ] DEFAULT VALUE 0
>
IN ANY ORDER:
| <numberHypnozoites ... />
| <firstReleaseDays ... />
| [ <secondReleaseDays ... /> ]
</hypnozoiteRelease>
Documentation (element)
Describes the number and times of hypnozoite releases.
Documentation (type)
This element defines probabilites when and how many hypnozoites are released from the liverstage into the blood.
The gap between the start of a new brood of hypnozoites and its release are defined as follows:
latentP + latentRelapse + randomReleaseDelay
randomReleaseDelay is based on one or two lognormal distributions, which are defined in firstRelease and optionally secondRelease.
You can define 2 release distributions, which get added together and represent the probability of hypnozoites which get released before winter (first release) or after (second release).
You can omit the secondRelease element if no release to the blood happens after winter.
Attributes
latent relapse days
pSecondRelease=double
Default value: 0
Probability of a second release. If undefined it is zero.
Number of Hypnozoites
→ scenario → model → vivax → hypnozoiteRelease → numberHypnozoites
<numberHypnozoites
max=int
base=double
/>
Documentation (element)
numberHypnozoites calculates the number of hypnozoites in the liver stage based on a base which is between 0 and 1.
This number is random based on the following distribution and normalized:
max ∑ (base ^ n) n = 0
Attributes
max
max=int
base
base=double
firstReleaseDays
→ scenario → model → vivax → hypnozoiteRelease → firstReleaseDays
<firstReleaseDays
[ CV=double ]
[ distr=("const" or "lognormal") ] DEFAULT VALUE const
mean=double
latentRelapse=double
/>
Documentation (type)
Hypnozoites are released after a delay, calculated as: roundToTSFromDays(delay + latentRelapse)
Here, roundToTSFromDays rounds the input (in days) to the nearest timestep, delay is sampled from a log-normal, and latentRelapse is the parameter specified here.
The delay is sampled from a log-normal distribution, parameterised via the (linear) mean and CV (coefficient of variation) given here.
Documentation (base type)
A parameter with optional log-normal heterogeneity.
The mean value must be specified. Optionally, a distribution ("distr") and coefficient of variation ("CV") may be specified.
Documentation (base type)
A parameter with optional heterogeneity.
The mean cannot be specified (unless this type is extended). Optionally, a distribution ("distr") and coefficient of variation ("CV") may be specified.
Attributes
Coefficient of variation
CV=double
Units: unitless
The (linear) coefficient of variation. This value must be specified when a (non-constant) distribution is used. Note that specifying CV="0" has the same effect as distr="const" and disables sampling of this parameter, even if distr is not "const".
Distribution
distr=("const" or "lognormal")
Default value: const
To allow heterogeneity, a distribution must be specified. Valid options are as follows. "const": no variation or sampling. Specifying distr="const" has the same effect as not specifying distr at all. "lognormal": the parameter is sampled from a log-normal distribution. Note that the "mean" and "CV" values are linear (arithmetic) properties of the distribution and not log-space properties.
mean
mean=double
The (linear) mean value.
latent relapse days
latentRelapse=double
Usually between 10 and 15 days.
secondReleaseDays
→ scenario → model → vivax → hypnozoiteRelease → secondReleaseDays
<secondReleaseDays
[ CV=double ]
[ distr=("const" or "lognormal") ] DEFAULT VALUE const
mean=double
latentRelapse=double
/>
Documentation (type)
Hypnozoites are released after a delay, calculated as: roundToTSFromDays(delay + latentRelapse)
Here, roundToTSFromDays rounds the input (in days) to the nearest timestep, delay is sampled from a log-normal, and latentRelapse is the parameter specified here.
The delay is sampled from a log-normal distribution, parameterised via the (linear) mean and CV (coefficient of variation) given here.
Documentation (base type)
A parameter with optional log-normal heterogeneity.
The mean value must be specified. Optionally, a distribution ("distr") and coefficient of variation ("CV") may be specified.
Documentation (base type)
A parameter with optional heterogeneity.
The mean cannot be specified (unless this type is extended). Optionally, a distribution ("distr") and coefficient of variation ("CV") may be specified.
Attributes
Coefficient of variation
CV=double
Units: unitless
The (linear) coefficient of variation. This value must be specified when a (non-constant) distribution is used. Note that specifying CV="0" has the same effect as distr="const" and disables sampling of this parameter, even if distr is not "const".
Distribution
distr=("const" or "lognormal")
Default value: const
To allow heterogeneity, a distribution must be specified. Valid options are as follows. "const": no variation or sampling. Specifying distr="const" has the same effect as not specifying distr at all. "lognormal": the parameter is sampled from a log-normal distribution. Note that the "mean" and "CV" values are linear (arithmetic) properties of the distribution and not log-space properties.
mean
mean=double
The (linear) mean value.
latent relapse days
latentRelapse=double
Usually between 10 and 15 days.
Blood stage protection latency
→ scenario → model → vivax → bloodStageProtectionLatency
<bloodStageProtectionLatency
value=double
/>
Documentation (element)
Min: 0
The length of time after expiry of a blood-stage infection during which relapses from the same brood are supressed by the immune system.
This is rounded to the nearest time-step.
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Blood stage length
→ scenario → model → vivax → bloodStageLengthDays
<bloodStageLengthDays
scale=double
shape=double
distr=("weibull")
/>
Documentation (element)
Units: Days
Parameters used to sample the length of blood-stage infections from a Weibull distribution (scale parameter lambda, shape parameter k).
Documentation (type)
Parameters of a Weibull distribution.
Attributes
Scale
scale=double
The Weibull scale parameter (λ).
shape
shape=double
The Weibull shape parameter (k).
Distribution
distr=("weibull")
To allow heterogeneity, a distribution must be specified. In this case, only "weibull" is allowed.
clinicalEvents
→ scenario → model → vivax → clinicalEvents
<clinicalEvents>
IN THIS ORDER:
| <pPrimaryInfection ... />
| <pRelapseOne ... />
| <pRelapseTwoPlus ... />
| <pEventIsSevere ... />
</clinicalEvents>
Documentation (type)
This elements holds all information about probabilites for clinical events from infections and relapses.
pPrimaryInfection
→ scenario → model → vivax → clinicalEvents → pPrimaryInfection
<pPrimaryInfection
a=double
b=double
/>
Attributes
a
a=double
b
b=double
pRelapseOne
→ scenario → model → vivax → clinicalEvents → pRelapseOne
<pRelapseOne
a=double
b=double
/>
Attributes
a
a=double
b
b=double
pRelapseTwoPlus
→ scenario → model → vivax → clinicalEvents → pRelapseTwoPlus
<pRelapseTwoPlus
a=double
b=double
/>
Attributes
a
a=double
b
b=double
pEventIsSevere
→ scenario → model → vivax → clinicalEvents → pEventIsSevere
<pEventIsSevere
value=double
/>
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Parameters of the model of epidemiology
→ scenario → model → parameters
<parameters
interval=int
iseed=int
latentp=string
>
IN THIS ORDER:
| ( <parameter ... /> )+
</parameters>
Documentation (element)
Parameters of the epidemiological model
Attributes
Simulation step
interval=int
Units: Days
Simulation step
Random number seed
iseed=int
Units: Number
Seed for RNG
Pre-erythrocytic latent period
latentp=string
Units: User defined (default: steps) Min: 0 Max: 20
Pre-erythrocytic latent period Can be specified in steps (e.g. 3t) or days (e.g. 15d).
parameter
→ scenario → model → parameters → parameter
<parameter
[ name=string ]
number=int
value=double
[ include=boolean ]
/>
Attributes
Name of parameter
name=string
Units: string
Name of parameter
Parameter number
number=int
Units: Number Min: 1 Max: 100
Reference number of input parameter
Parameter value
value=double
Units: Number Min: 0
Parameter value
Sampling indicator
include=boolean
Units: Number Min: 0 Max: 1
True if parameter is to be sampled in optimization runs. Not used in simulator app.
Schema 44 documentation
Generated from: scenario_44.xsd
.
Key:
abc required (one)
[ def ] optional (zero or one)
( ghi )* any number (zero or more)
( jkl )+ at least one
( mno ){2,inf} two or more occurrences
Scenario
→ scenario
<scenario
schemaVersion=int
[ analysisNo=int ]
name=string
[ wuID=int ]
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:om="http://openmalaria.org/schema/scenario_44"
xsi:schemaLocation="http://openmalaria.org/schema/scenario_44 scenario_44.xsd"
>
IN ANY ORDER:
| <demography ... />
| <monitoring ... />
| <interventions ... />
| <healthSystem ... />
| <entomology ... />
| [ <parasiteGenetics ... /> ]
| [ <pharmacology ... /> ]
| [ <diagnostics ... /> ]
| <model ... />
</scenario>
- demography
- monitoring
- interventions
- healthSystem
- entomology
- parasiteGenetics
- pharmacology
- diagnostics
- model
Documentation (element)
Description of scenario
Attributes
Version of the xml schema
schemaVersion=int
Version of xml schema. If not equal to the current version an error is thrown. Use SchemaTranslator to update xml files.
Reference number of the analysis
analysisNo=int
Units: Number Min: 1 Max: 100000000
Unique identifier of scenario
Name of intervention
name=string
Name of intervention
Work unit identifier
wuID=int
Units: Number
Work unit ID. Obselete and no longer required.
Human age distribution
→ scenario → demography
<demography
name=string
popSize=int
maximumAgeYrs=double
[ growthRate=double ]
>
IN THIS ORDER:
| <ageGroup ... />
</demography>
Documentation (element)
Description of demography
Attributes
Name of demography data
name=string
Name of demography data
Population size
popSize=int
Units: Count Min: 1 Max: 100000
Population size
Maximum age of simulated humans
maximumAgeYrs=double
Units: Years Min: 0 Max: 100
Maximum age of simulated humans in years
Growth rate of human population
growthRate=double
Units: Number Min: 0 Max: 0
Growth rate of human population. (we should be able to implement this with non-zero values)
Age groups
→ scenario → demography → ageGroup
<ageGroup
lowerbound=double
>
IN THIS ORDER:
| ( <group ... /> )+
</ageGroup>
Documentation (element)
list of age groups included in demography
Documentation (type)
list of age groups included in demography or surveys
Attributes
Lower bound of age group
lowerbound=double
Units: Years Min: 0 Max: 100
Lower bound of age group
group
→ scenario → demography → ageGroup → group
<group
poppercent=double
upperbound=double
/>
Attributes
Percentage in age group
poppercent=double
Units: Percentage Min: 0 Max: 100
Percentage of human population in age group
Upper bound of age group
upperbound=double
Units: Years Min: 0 Max: 100
Upper bound of age group
Measures to be reported
→ scenario → monitoring
<monitoring
name=string
[ startDate=string ]
>
IN THIS ORDER:
| [ <continuous ... /> ]
| <SurveyOptions ... />
| <surveys ... />
| <ageGroup ... />
| [ <cohorts ... /> ]
</monitoring>
Documentation (element)
Description of surveys
Attributes
Name of monitoring settings
name=string
Name of monitoring settings
Start of monitoring
startDate=string
An optional date for the start of monitoring. If given, dates may be used to specify when other events (surveys, intervention deployments) occur; alternately times relative to the start of the intervention period may be used to specify event times. Setting this to 1st January of some year might simplify usage of dates, and putting the start a couple of years before the start of intervention deployment (along with some extra surveys) may be useful to check transmission stabilises to the expected pre-intervention levels. As an example, if this date is set to 2000-01-01, then the following event times are equivalent (assuming 1t=5d): 15t, 75d, 0.2y, 2000-03-16. Must be in the form YYYY-MM-DD, e.g. 2003-01-01.
continuous
→ scenario → monitoring → continuous
<continuous
period=string
[ duringInit=boolean ]
>
IN THIS ORDER:
| ( <option ... /> )*
</continuous>
Attributes
Delay between reports
period=string
Units: User defined (default: steps)
Delay between reports; typically one time step but can be greater. Can be specified in steps (e.g. 1t) or days (e.g. 5d).
During initialization
duringInit=boolean
Units: Days Min: 1 Max: unbounded
Also output during initialization. By default this is disabled (only intervention-period data is output). This should not be used for predictions, but can be useful for model validation. In this mode, 'simulation time' is output as the first column (in addition to 'timestep'), since 'timestep' is dis- continuous across the start of the intervention period.
option
→ scenario → monitoring → continuous → option
<option
name=string
[ value=boolean ] DEFAULT VALUE true
/>
Attributes
Option name
name=string
Name of an option (monitoring measure or model option).
Indicator of whether option is required
value=boolean
Default value: true
Option on/off switch (true/false). Specifying value="true" is the same as not specifying a value; specifying value="false" explicitly turns the option off. If an option is not mentioned at all, it is left at its default value (normally off, but in a few cases, such as some bug-fix options, on).
Name of quantity
→ scenario → monitoring → SurveyOptions
<SurveyOptions
[ onlyNewEpisode=boolean ] DEFAULT VALUE false
>
IN THIS ORDER:
| ( <option ... /> )*
</SurveyOptions>
Documentation (element)
List of all active survey options. See model/mon/OutputMeasures.h for a list of supported outputs. Should also be on the wiki.
Attributes
Report only for new cases
onlyNewEpisode=boolean
Default value: false
If set, some statistics exclude humans who have been treated in the recent past (precisely, when the time of last treatment was before the current step and no more than health-system-memory days/steps ago). This is a rough replacement for the REPORT_ONLY_AT_RISK option, with one difference: the maximum age of treatment for REPORT_ONLY_AT_RISK was fixed at 20 days. Affected measures include (as of version 35): nHost (0), nInfect(1), nExpectd (2), nPatent (3), sumLogPyrogenThres (4), sumlogDens (5), totalInfs (6), totalPatentInf (8), sumPyrogenThresh (10), nSubPopRemovalFirstEvent (62), sumAge (68), nInfectByGenotype (69), nPatentByGenotype (70), logDensByGenotype (71), nHostDrugConcNonZero (72), sumLogDrugConcNonZero (73).
option
→ scenario → monitoring → SurveyOptions → option
<option
name=string
[ value=boolean ] DEFAULT VALUE true
[ outputNumber=int ]
[ byAge=boolean ]
[ byCohort=boolean ]
[ bySpecies=boolean ]
[ byGenotype=boolean ]
[ byDrugType=boolean ]
/>
Attributes
Option name
name=string
Name of an option (monitoring measure or model option).
Indicator of whether option is required
value=boolean
Default value: true
Option on/off switch (true/false). Specifying value="true" is the same as not specifying a value; specifying value="false" explicitly turns the option off. If an option is not mentioned at all, it is left at its default value (normally off, but in a few cases, such as some bug-fix options, on).
Number identifying measure in output
outputNumber=int
Number identifying this monitoring measure in the output file (3rd column). Normally this is determined from the measure, but it can be set manually, e.g. for when the same measure is recorded twice (to accumulate across different categories).
Report by age category
byAge=boolean
If true, the measure is reported for each age category. If false, values are summed across all age categories and only the sum reported. If not specified, separate categories will be reported if the measure supports this.
Report by cohort
byCohort=boolean
If true, the measure is reported for each cohort separately. If false, values are summed across all cohorts and only the sum reported. If not specified, separate categories will be reported if the measure supports this.
Report by mosquito species
bySpecies=boolean
If true, the measure is reported for each mosquito species separately. If false, values are summed across all species and only the sum reported. If not specified, separate categories will be reported if the measure supports this.
Report by parasite genotype
byGenotype=boolean
If true, the measure is reported for each parasite genotype separately. If false, values are summed across all genotypes and only the sum reported. If not specified, separate categories will be reported if the measure supports this.
Report by drug type
byDrugType=boolean
If true, the measure is reported for each drug type separately. If false, values are summed across all drug types and only the sum reported. If not specified, separate categories will be reported if the measure supports this.
Survey times (time steps)
→ scenario → monitoring → surveys
<surveys
[ detectionLimit=double ]
[ diagnostic=string ]
>
IN THIS ORDER:
| ( <surveyTime ... /> )+
</surveys>
Documentation (element)
List of survey times
Attributes
Detection limit for parasitaemia
detectionLimit=double
Units: parasites/microlitre Min: 0
Deprecated: limit above which a human's infection is reported as patent. Alternative: do not specify this; instead specify "diagnostic".
Name of monitoring diagnostic
diagnostic=string
Name of a parameterised diagnostic to use in surveys (see scenario/diagnostics).
Survey time
→ scenario → monitoring → surveys → surveyTime
<surveyTime
[ repeatStep=string ]
[ repeatEnd=string ]
[ reported=boolean ] DEFAULT VALUE true
>
string
</surveyTime>
Documentation (element)
Units: User defined (defaults to steps) Min: 0
Time of a survey. A report will be made for those measures enabled under SurveyOptions. Reported data is either from the moment the survey is done (immediate data) or is collected over the time since the previous survey, or in some cases over a fixed time span (usually one year).
Times can be specified in time steps, starting from 0, or as a date (see monitoring/startDate), or in days (e.g. 15d) or years (e.g. 1y). Relative times mean the time since the start of the intervention period, and must be non-negative (zero is valid, but some measures, e.g. nUncomp, will be zero).
The simulation ends immediately after the last survey is taken.
Attributes
Step of repetition
repeatStep=string
Units: User defined
See repeatEnd's documentation.
End of repetition (exclusive)
repeatEnd=string
Units: User defined
Either both repeatStep and repeatEnd should be present or neither. If present, the survey is repeated every repeatStep timesteps (i.e. if t0 is the initial time and x is repeatStep, surveys are done at times t0, t0+x, t0+2*x, ...), ending before repeatEnd (final repetition is the one before repeatEnd). Note that repeatEnd may be specified as a date but repeatStep must be a duration (days, steps or years).
reported
reported=boolean
Default value: true
For normal surveys, reporting=true. If set false, quantities are measured but not reported. The reason for doing this is to update conditions set on reportable measures. Multiple surveys may be given here for the same date, e.g. if using "repeatStep" for both reporting and non-reporting surveys. These are combined such that a maximum of one survey is carried out per time-step, and the survey is reported if any of the listed surveys for this date is configured as "reporting". Note that adding non-reporting surveys will not affect value output by reported surveys, with the exception that generated psuedo-random numbers may be altered (specifically, when any stochastic diagnostics are used in surveys).
Age groups
→ scenario → monitoring → ageGroup
<ageGroup
lowerbound=double
>
IN THIS ORDER:
| ( <group ... /> )+
</ageGroup>
Documentation (element)
List of age groups included in demography or surveys
Attributes
lower bound of age group
lowerbound=double
Units: Years Min: 0 Max: 100
Lower bound of age group
group
→ scenario → monitoring → ageGroup → group
<group
upperbound=double
/>
Attributes
upper bound of age group
upperbound=double
Units: Years Min: 0 Max: 100
Upper bound of age group
Cohorts
→ scenario → monitoring → cohorts
<cohorts>
IN THIS ORDER:
| ( <subPop ... /> )+
</cohorts>
Documentation (element)
Allows the configuration of multiple cohorts (output segregated according to membership within specific sub-populations).
If this element is omitted, monitoring surveys cover the entire simulated human population.
It does not affect the "continuous" outputs (these never take cohorts into account).
Sub-population
→ scenario → monitoring → cohorts → subPop
<subPop
id=string
number=integer
/>
Documentation (element)
Consider a certain sup-population a cohort, and segregate outputs according to membership. Where multiple sub-populations are listed, segregate output according to all combinations of membership: e.g. if sub-populations A and B are listed, there will be outputs for "member of A and B", "member of A but not B", "B but not A" and "not a member of A or B". Listing n sub-populations implies 2^n sets of outputs (each is further segregated by age groups, survey times and enabled output measures, which could lead to excessive program memory usage and output file size).
To identify outputs, each sub-population has a power of two number as identifier (see "number" attribute). Each of the 2^n output sets is identified by a number: the output set is the output from humans who are members in some set of sub-populations (S1, S2, ...) and not members in some others (T1, T2, ...); the number identifying the set is the sum of the numbers identifying the sets S1, S2, etc.
In the output file, the output set is identified by multiplying this number by 1000 then adding it to the age group column.
Attributes
Sub-population identifier
id=string
Textual identifier for the sub-population (i.e. for an intervention component, since sub-populations are defined as the hosts an intervention component is deployed to).
Sub-population number
number=integer
Units: dimensionless Min: 1 Max: 2097152
Number identifying a sub-population; used to define identifiers of output sets. This number must be a power of 2 (i.e. 1, 2, 4, 8, ...). See documentation of subPop element.
Preventative interventions
<interventions
name=string
>
IN ANY ORDER:
| [ <changeHS ... /> ]
| [ <changeEIR ... /> ]
| [ <importedInfections ... /> ]
| [ <insertR_0Case ... /> ]
| [ <uninfectVectors ... /> ]
| [ <vectorPop ... /> ]
| [ <vectorTrap ... /> ]
| [ <nonHumanHostsModifications ... /> ]
| [ <addNonHumanHosts ... /> ]
| [ <human ... /> ]
</interventions>
- changeHS
- changeEIR
- importedInfections
- insertR_0Case
- uninfectVectors
- vectorPop
- vectorTrap
- nonHumanHostsModifications
- addNonHumanHosts
- human
Documentation (element)
List of interventions. Generally these are either point-time distributions of something to some subset of the population, or continuous-time distribution targetting individuals when they reach a certain age.
Attributes
Name of intervention set
name=string
Name of set of interventions
Change health system
→ scenario → interventions → changeHS
<changeHS
[ name=string ]
>
IN THIS ORDER:
| ( <timedDeployment ... /> )*
</changeHS>
Documentation (element)
Changes to the health system
Attributes
Name of intervention
name=string
Name of intervention
timedDeployment
→ scenario → interventions → changeHS → timedDeployment
<timedDeployment
time=string
>
IN THIS ORDER:
| EXACTLY ONE OF:
| | <EventScheduler ... />
| | <ImmediateOutcomes ... />
| | <DecisionTree5Day ... />
| <CFR ... />
| <pSequelaeInpatient ... />
</timedDeployment>
Documentation (type)
A complete replacement health system. Replaces all previous properties. (Health system can be replaced multiple times if necessary.)
Documentation (base type)
Description of case management system, used to specify the initial model or a replacement (an intervention). Encompasses case management data and some other data required to derive case outcomes.
Contains a sub-element describing the particular health-system in use. Health system data is here defined as data used to decide on a treatment strategy, given a case requiring treatment.
Attributes
Time
time=string
Units: User defined (defauls to steps) Min: 0
Time at which this replacement occurs. See doc on intervention period and on monitoring/startDate for details of how times work. Can be specified in steps, days, years, or as a date (examples: 15t, 75d, 0.2y, 2000-03-16).
EventScheduler
→ scenario → healthSystem → EventScheduler
<EventScheduler>
IN THIS ORDER:
| <uncomplicated ... />
| <complicated ... />
| <ClinicalOutcomes ... />
| [ <NonMalariaFevers ... /> ]
</EventScheduler>
uncomplicated
→ scenario → healthSystem → EventScheduler → uncomplicated
<uncomplicated
[ name=string ]
>
EXACTLY ONE OF:
| <multiple ... />
| <caseType ... />
| <diagnostic ... />
| <random ... />
| <age ... />
| <noTreatment ... />
| <treatFailure ... />
| ( <treatPKPD ... /> )+
| <treatSimple ... />
| ( <deploy ... /> )+
</uncomplicated>
Documentation (type)
Describes how "decisions" are made, both probabilistically and deterministically, and what actions are carried out.
Quantities may also be reported as a side effect of decisions made in the tree, for example the number of diagnostics used.
Attributes
Name
name=string
An optional piece of documentation attached to this node.
multiple
→ scenario → interventions → human → component → decisionTree → multiple
<multiple
[ name=string ]
>
IN THIS ORDER:
| ( <caseType ... /> )*
| ( <diagnostic ... /> )*
| ( <random ... /> )*
| ( <age ... /> )*
| ( <treatPKPD ... /> )*
| [ <treatSimple ... /> ]
| ( <deploy ... /> )*
</multiple>
Documentation (type)
A special node allowing multiple sub-trees to be evaluated.
This is different from an ordinary decision tree node in that:
a) multiple types of child can occur simultaneously (e.g. multiple types of treatment or treatment plus a 'random' sub-tree)
b) the 'noTreatment' and 'treatFailure' nodes are not allowed
Attributes
Name
name=string
An optional piece of documentation attached to this node.
caseType
→ scenario → interventions → human → component → decisionTree → multiple → caseType
<caseType
[ name=string ]
>
IN ANY ORDER:
| <firstLine ... />
| <secondLine ... />
</caseType>
Documentation (type)
A switch which choses a branch deterministically, based on whether the patient was treated recently (second line) or not (first line).
For uncomplicated cases only.
Attributes
Name
name=string
An optional piece of documentation attached to this node.
firstLine
→ scenario → interventions → human → component → decisionTree → multiple → caseType → firstLine
<firstLine
[ name=string ]
>
EXACTLY ONE OF:
| <multiple ... />
| <caseType ... />
| <diagnostic ... />
| <random ... />
| <age ... />
| <noTreatment ... />
| <treatFailure ... />
| ( <treatPKPD ... /> )+
| <treatSimple ... />
| ( <deploy ... /> )+
</firstLine>
Documentation (type)
Describes how "decisions" are made, both probabilistically and deterministically, and what actions are carried out.
Quantities may also be reported as a side effect of decisions made in the tree, for example the number of diagnostics used.
Attributes
Name
name=string
An optional piece of documentation attached to this node.
caseType
→ scenario → interventions → human → component → decisionTree → caseType
<caseType
[ name=string ]
>
IN ANY ORDER:
| <firstLine ... />
| <secondLine ... />
</caseType>
Documentation (type)
A switch which choses a branch deterministically, based on whether the patient was treated recently (second line) or not (first line).
For uncomplicated cases only.
Attributes
Name
name=string
An optional piece of documentation attached to this node.
secondLine
→ scenario → interventions → human → component → decisionTree → multiple → caseType → secondLine
<secondLine
[ name=string ]
>
EXACTLY ONE OF:
| <multiple ... />
| <caseType ... />
| <diagnostic ... />
| <random ... />
| <age ... />
| <noTreatment ... />
| <treatFailure ... />
| ( <treatPKPD ... /> )+
| <treatSimple ... />
| ( <deploy ... /> )+
</secondLine>
Documentation (type)
Describes how "decisions" are made, both probabilistically and deterministically, and what actions are carried out.
Quantities may also be reported as a side effect of decisions made in the tree, for example the number of diagnostics used.
Attributes
Name
name=string
An optional piece of documentation attached to this node.
diagnostic
→ scenario → interventions → human → component → decisionTree → diagnostic
<diagnostic
diagnostic=string
[ name=string ]
>
IN ANY ORDER:
| <positive ... />
| <negative ... />
</diagnostic>
Documentation (type)
A switch which choses a branch deterministically, based on the outcome of some type of diagnostic.
Attributes
Name of diagnostic
diagnostic=string
Should match the name of some parameterised diagnostic (see scenario/diagnostics).
Name
name=string
An optional piece of documentation attached to this node.
positive
→ scenario → interventions → human → component → decisionTree → multiple → diagnostic → positive
<positive
[ name=string ]
>
EXACTLY ONE OF:
| <multiple ... />
| <caseType ... />
| <diagnostic ... />
| <random ... />
| <age ... />
| <noTreatment ... />
| <treatFailure ... />
| ( <treatPKPD ... /> )+
| <treatSimple ... />
| ( <deploy ... /> )+
</positive>
Documentation (type)
Describes how "decisions" are made, both probabilistically and deterministically, and what actions are carried out.
Quantities may also be reported as a side effect of decisions made in the tree, for example the number of diagnostics used.
Attributes
Name
name=string
An optional piece of documentation attached to this node.
random
→ scenario → interventions → human → component → decisionTree → random
<random
[ name=string ]
>
IN THIS ORDER:
| ( <outcome ... /> )+
</random>
Documentation (type)
A switch which choses a branch randomly.
Each branch must be listed with a probability; the sum of all these probabilities must equal 1.
Attributes
Name
name=string
An optional piece of documentation attached to this node.
outcome
→ scenario → interventions → human → component → decisionTree → multiple → random → outcome
<outcome
[ name=string ]
p=double
>
EXACTLY ONE OF:
| <multiple ... />
| <caseType ... />
| <diagnostic ... />
| <random ... />
| <age ... />
| <noTreatment ... />
| <treatFailure ... />
| ( <treatPKPD ... /> )+
| <treatSimple ... />
| ( <deploy ... /> )+
</outcome>
Documentation (base type)
Describes how "decisions" are made, both probabilistically and deterministically, and what actions are carried out.
Quantities may also be reported as a side effect of decisions made in the tree, for example the number of diagnostics used.
Attributes
Name
name=string
An optional piece of documentation attached to this node.
Probability
p=double
Units: None Min: 0 Max: 1
Probability of selecting this outcome. The sum of probabilities across all outcomes must be 1.
age
→ scenario → interventions → human → component → decisionTree → age
<age
[ name=string ]
>
IN THIS ORDER:
| ( <age ... /> )+
</age>
Documentation (type)
A switch which choses a branch deterministically, based on the patient's age (in years).
Categories must uniquely cover all ages from birth, with no upper bound. Categories must be listed in order of age, increasing; the first must have lower bound 0. Upper bounds are equal to the lower bound of the next category, (but are exclusive where lower bounds are inclusive); the last category has no upper bound.
Attributes
Name
name=string
An optional piece of documentation attached to this node.
Age range
→ scenario → interventions → human → component → decisionTree → multiple → age → age
<age
[ name=string ]
lb=double
>
EXACTLY ONE OF:
| <multiple ... />
| <caseType ... />
| <diagnostic ... />
| <random ... />
| <age ... />
| <noTreatment ... />
| <treatFailure ... />
| ( <treatPKPD ... /> )+
| <treatSimple ... />
| ( <deploy ... /> )+
</age>
Documentation (element)
Describes a branch, selected for patients of a certain age.
Documentation (base type)
Describes how "decisions" are made, both probabilistically and deterministically, and what actions are carried out.
Quantities may also be reported as a side effect of decisions made in the tree, for example the number of diagnostics used.
Attributes
Name
name=string
An optional piece of documentation attached to this node.
Lower bound (inclusive)
lb=double
Min: 0
noTreatment
→ scenario → interventions → human → component → decisionTree → noTreatment
<noTreatment
[ name=string ]
/>
Documentation (type)
An end node doing nothing. This exists to explicitly state that no treatment happens and to prevent trees from accidentally being left incomplete.
Attributes
Name
name=string
An optional piece of documentation attached to this node.
treatFailure
→ scenario → interventions → human → component → decisionTree → treatFailure
<treatFailure
[ name=string ]
/>
Documentation (type)
An end node which reports treatment but does not change parasitalogical status. This allows correct labelling of second-line cases.
Attributes
Name
name=string
An optional piece of documentation attached to this node.
treatPKPD
→ scenario → interventions → human → component → decisionTree → treatPKPD
<treatPKPD
schedule=string
dosage=string
[ delay_h=double ] DEFAULT VALUE 0
/>
Documentation (type)
A command to administer drugs according to a given schedule and dosage table, optionally with a delay.
Attributes
Name of treatment schedule
schedule=string
The name of a schedule to use for treatment.
Name of dosage table
dosage=string
The name of a dosage table to use for treatment.
Delay (hours)
delay_h=double
Default value: 0
Optionally, this can be given to delay the start of treatment by a given number of hours. If not specified, treatment is not delayed. If a delay is given, all medications within the treatment schedule used are delayed by this number of hours.
treatSimple
→ scenario → interventions → human → component → decisionTree → treatSimple
<treatSimple
durationLiver=string
durationBlood=string
/>
Documentation (type)
Simple treatment model, targetting liver- and/or blood-stage infections. This is all-or-nothing treatment which, when deploymed, completely clears all infections of the targetted stages. This makes it unsuitable for modeling resistance, but suitable for use with simple infection models.
Infections are considered liver-stage when less than five days old and blood-stage after that. Effects are described independently for the two stages.
Attributes
Length of liver-stage effect
durationLiver=string
Units: User defined
Controls action on liver-stage infections. 0 means no action, -1 step is a compatibility option to act like treatment before schema version 32 (which removed infections retrospectively), 1 step or any duration which equals some whole number of steps n>0 means to clear all liver-stage infections found on the next 1 or n steps. Note on -1 compatibility option: the main difference to 1 step (clearing on the next timestep) is that parasite densities will be reduced immediately, and thus from the point of view of surveys and mass screen and treat interventions a peak in density which is immediately treated through case management will not be seen. Can be specified in steps (e.g. 1t, -1t) or days (e.g. 5d).
Length of blood-stage effect
durationBlood=string
Units: User defined
Controls action on blood-stage infections. 0 means no action, -1 step is a compatibility option to act like treatment before schema version 32 (which removed infections retrospectively), 1 step or any duration which equals some whole number of steps n>0 means to clear all blood-stage infections found on the next 1 or n steps. Note on -1 compatibility option: the main difference to 1 step (clearing on the next timestep) is that parasite densities will be reduced immediately, and thus from the point of view of surveys and mass screen and treat interventions a peak in density which is immediately treated through case management will not be seen. Can be specified in steps (e.g. 1t, -1t) or days (e.g. 5d).
deploy
→ scenario → interventions → human → component → decisionTree → deploy
<deploy
component=string
/>
Documentation (type)
Deploy one or more intervention components.
Attributes
Component identifier
component=string
The identifier (short name) of a component.
negative
→ scenario → interventions → human → component → decisionTree → multiple → diagnostic → negative
<negative
[ name=string ]
>
EXACTLY ONE OF:
| <multiple ... />
| <caseType ... />
| <diagnostic ... />
| <random ... />
| <age ... />
| <noTreatment ... />
| <treatFailure ... />
| ( <treatPKPD ... /> )+
| <treatSimple ... />
| ( <deploy ... /> )+
</negative>
Documentation (type)
Describes how "decisions" are made, both probabilistically and deterministically, and what actions are carried out.
Quantities may also be reported as a side effect of decisions made in the tree, for example the number of diagnostics used.
Attributes
Name
name=string
An optional piece of documentation attached to this node.
diagnostic
→ scenario → interventions → human → component → decisionTree → multiple → diagnostic
<diagnostic
diagnostic=string
[ name=string ]
>
IN ANY ORDER:
| <positive ... />
| <negative ... />
</diagnostic>
Documentation (type)
A switch which choses a branch deterministically, based on the outcome of some type of diagnostic.
Attributes
Name of diagnostic
diagnostic=string
Should match the name of some parameterised diagnostic (see scenario/diagnostics).
Name
name=string
An optional piece of documentation attached to this node.
random
→ scenario → interventions → human → component → decisionTree → multiple → random
<random
[ name=string ]
>
IN THIS ORDER:
| ( <outcome ... /> )+
</random>
Documentation (type)
A switch which choses a branch randomly.
Each branch must be listed with a probability; the sum of all these probabilities must equal 1.
Attributes
Name
name=string
An optional piece of documentation attached to this node.
age
→ scenario → interventions → human → component → decisionTree → multiple → age
<age
[ name=string ]
>
IN THIS ORDER:
| ( <age ... /> )+
</age>
Documentation (type)
A switch which choses a branch deterministically, based on the patient's age (in years).
Categories must uniquely cover all ages from birth, with no upper bound. Categories must be listed in order of age, increasing; the first must have lower bound 0. Upper bounds are equal to the lower bound of the next category, (but are exclusive where lower bounds are inclusive); the last category has no upper bound.
Attributes
Name
name=string
An optional piece of documentation attached to this node.
treatPKPD
→ scenario → interventions → human → component → decisionTree → multiple → treatPKPD
<treatPKPD
schedule=string
dosage=string
[ delay_h=double ] DEFAULT VALUE 0
/>
Documentation (type)
A command to administer drugs according to a given schedule and dosage table, optionally with a delay.
Attributes
Name of treatment schedule
schedule=string
The name of a schedule to use for treatment.
Name of dosage table
dosage=string
The name of a dosage table to use for treatment.
Delay (hours)
delay_h=double
Default value: 0
Optionally, this can be given to delay the start of treatment by a given number of hours. If not specified, treatment is not delayed. If a delay is given, all medications within the treatment schedule used are delayed by this number of hours.
treatSimple
→ scenario → interventions → human → component → decisionTree → multiple → treatSimple
<treatSimple
durationLiver=string
durationBlood=string
/>
Documentation (type)
Simple treatment model, targetting liver- and/or blood-stage infections. This is all-or-nothing treatment which, when deploymed, completely clears all infections of the targetted stages. This makes it unsuitable for modeling resistance, but suitable for use with simple infection models.
Infections are considered liver-stage when less than five days old and blood-stage after that. Effects are described independently for the two stages.
Attributes
Length of liver-stage effect
durationLiver=string
Units: User defined
Controls action on liver-stage infections. 0 means no action, -1 step is a compatibility option to act like treatment before schema version 32 (which removed infections retrospectively), 1 step or any duration which equals some whole number of steps n>0 means to clear all liver-stage infections found on the next 1 or n steps. Note on -1 compatibility option: the main difference to 1 step (clearing on the next timestep) is that parasite densities will be reduced immediately, and thus from the point of view of surveys and mass screen and treat interventions a peak in density which is immediately treated through case management will not be seen. Can be specified in steps (e.g. 1t, -1t) or days (e.g. 5d).
Length of blood-stage effect
durationBlood=string
Units: User defined
Controls action on blood-stage infections. 0 means no action, -1 step is a compatibility option to act like treatment before schema version 32 (which removed infections retrospectively), 1 step or any duration which equals some whole number of steps n>0 means to clear all blood-stage infections found on the next 1 or n steps. Note on -1 compatibility option: the main difference to 1 step (clearing on the next timestep) is that parasite densities will be reduced immediately, and thus from the point of view of surveys and mass screen and treat interventions a peak in density which is immediately treated through case management will not be seen. Can be specified in steps (e.g. 1t, -1t) or days (e.g. 5d).
deploy
→ scenario → interventions → human → component → decisionTree → multiple → deploy
<deploy
component=string
/>
Documentation (type)
Deploy one or more intervention components.
Attributes
Component identifier
component=string
The identifier (short name) of a component.
complicated
→ scenario → healthSystem → EventScheduler → complicated
<complicated
[ name=string ]
>
EXACTLY ONE OF:
| <multiple ... />
| <caseType ... />
| <diagnostic ... />
| <random ... />
| <age ... />
| <noTreatment ... />
| <treatFailure ... />
| ( <treatPKPD ... /> )+
| <treatSimple ... />
| ( <deploy ... /> )+
</complicated>
Documentation (type)
Describes how "decisions" are made, both probabilistically and deterministically, and what actions are carried out.
Quantities may also be reported as a side effect of decisions made in the tree, for example the number of diagnostics used.
Attributes
Name
name=string
An optional piece of documentation attached to this node.
ClinicalOutcomes
→ scenario → healthSystem → EventScheduler → ClinicalOutcomes
<ClinicalOutcomes>
IN THIS ORDER:
| <maxUCSeekingMemory ... />
| <uncomplicatedCaseDuration ... />
| <complicatedCaseDuration ... />
| <complicatedRiskDuration ... />
| ( <dailyPrImmUCTS ... /> )+
</ClinicalOutcomes>
- maxUCSeekingMemory
- uncomplicatedCaseDuration
- complicatedCaseDuration
- complicatedRiskDuration
- dailyPrImmUCTS
Documentation (type)
Description of base parameters of the clinical model.
Max UC treatment-seeking memory
→ scenario → healthSystem → EventScheduler → ClinicalOutcomes → maxUCSeekingMemory
<maxUCSeekingMemory>
int
</maxUCSeekingMemory>
Documentation (element)
Units: Days Min: 0 Max: unbounded
Maximum number of timesteps (including first day of case) that an individual with an uncomplicated case of malaria will remember he/she was sick before resetting.
Uncomplicated case duration
→ scenario → healthSystem → EventScheduler → ClinicalOutcomes → uncomplicatedCaseDuration
<uncomplicatedCaseDuration>
int
</uncomplicatedCaseDuration>
Documentation (element)
Units: Days Min: 1 Max: unbounded
Fixed length of an uncomplicated case of malarial or non-malarial sickness (from treatment seeking until return to life-as-usual). Usually 3.
Complicated case duration
→ scenario → healthSystem → EventScheduler → ClinicalOutcomes → complicatedCaseDuration
<complicatedCaseDuration>
int
</complicatedCaseDuration>
Documentation (element)
Units: Days Min: 1 Max: unbounded
Fixed length of a complicated or severe case of malaria (from treatment seeking until return to life-as-usual).
Complicated risk duration
→ scenario → healthSystem → EventScheduler → ClinicalOutcomes → complicatedRiskDuration
<complicatedRiskDuration>
int
</complicatedRiskDuration>
Documentation (element)
Units: Days Min: 1 Max: unbounded
Number of days for which humans are at risk of death during a severe or complicated case of malaria. Cannot be greater than the duration of a complicated case or less than 1 day.
Daily probability of immediate treatment seeking for uncomplicated cases
→ scenario → healthSystem → EventScheduler → ClinicalOutcomes → dailyPrImmUCTS
<dailyPrImmUCTS>
double
</dailyPrImmUCTS>
Documentation (element)
Units: Dimensionless Min: 0.0 Max: 1.0
It is sometimes desirable to model delays to treatment-seeking in uncomplicated cases. While treatment of drugs can be delayed within case management trees to provide a similar effect, this doesn't delay any of the decisions, including diagnostics using the current parasite density.
Instead a list of dailyPrImmUCTS elements can be used, describing successive daily probabilities of treatment (sum must be 1). For example, with a list of two elements with values 0.8 and 0.2, for 80% of UC cases the decision tree is evaluated immediately, and for 20% of cases evaluation is delayed by one day.
For no delay, use one element with a value of 1.
NonMalariaFevers
→ scenario → healthSystem → EventScheduler → NonMalariaFevers
<NonMalariaFevers>
IN THIS ORDER:
| <prTreatment ... />
| <effectNegativeTest ... />
| <effectPositiveTest ... />
| <effectNeed ... />
| <effectInformal ... />
| <CFR ... />
| <TreatmentEfficacy ... />
</NonMalariaFevers>
Documentation (type)
Description of non-malaria fever health-system modelling (treatment, outcomes and costing). Incidence is described by the model->clinical->NonMalariaFevers element. Non-malaria fevers are only modelled if the NON_MALARIA_FEVERS option is used.
As further explanation of the parameters below, we first take: β₀ = logit(P₀) - β₃·P(need), and then calculate the probability of antibiotic administration, P(AB), dependent on treatment seeking location. No seeking: P(AB) = 0 Informal sector: logit(P(AB)) = β₀ + β₄ Health facility: logit(P(AB)) = β₀ + β₁·I(neg) + β₂·I(pos) + β₃·I(need) (where I(X) is 1 when event X is true and 0 otherwise, logit(p)=log(p/(1-p)), event "need" is the event that death may occur without treatment, events "neg" and "pos" are the events that a malaria parasite diagnositic was used and indicated no parasites and parasites respectively).
P(treatment|no diagnostic)
→ scenario → healthSystem → EventScheduler → NonMalariaFevers → prTreatment
<prTreatment>
double
</prTreatment>
Documentation (element)
Units: Dimensionless Min: 0.0 Max: 1.0
Probability of a non-malaria fever being treated with an antibiotic given that no malaria diagnostic was used but independent of need. Symbol: P₀.
Effect of a negative test
→ scenario → healthSystem → EventScheduler → NonMalariaFevers → effectNegativeTest
<effectNegativeTest>
double
</effectNegativeTest>
Documentation (element)
The effect of a negative malaria diagnostic on the odds ratio of receiving antibiotics. Symbol: exp(β₁).
Effect of a positive test
→ scenario → healthSystem → EventScheduler → NonMalariaFevers → effectPositiveTest
<effectPositiveTest>
double
</effectPositiveTest>
Documentation (element)
The effect of a positive malaria diagnostic on the odds ratio of receiving antibiotics. Symbol: exp(β₂).
Effect of need
→ scenario → healthSystem → EventScheduler → NonMalariaFevers → effectNeed
<effectNeed>
double
</effectNeed>
Documentation (element)
The effect of needing antibiotic treatment on the odds ratio of receiving antibiotics. Symbol: exp(β₃).
Effect of informal provider
→ scenario → healthSystem → EventScheduler → NonMalariaFevers → effectInformal
<effectInformal>
double
</effectInformal>
Documentation (element)
The effect of seeking treatment from an informal provider (i.e. a provider untrained in NMF diagnosis) on the odds ratio of receiving antibiotics. Symbol: exp(β₄)
Case fatality rate
→ scenario → healthSystem → EventScheduler → NonMalariaFevers → CFR
<CFR
[ interpolation=("none" or "linear") ]
>
IN THIS ORDER:
| ( <group ... /> )+
</CFR>
Documentation (element)
Units: Dimensionless Min: 0.0 Max: 1.0
Base case fatality rate for non-malaria fevers (probability of death from a fever requiring antibiotic treatment given that no antibiotic treatment is received, per age-group).
Attributes
interpolation
interpolation=("none" or "linear")
Interpolation algorithm. Normally it is desirable for age-based values to be continuous w.r.t. age. By default linear interpolation is used. With all algorithms except "none", the age groups are converted to a set of points centred within each age range. Extra points are added at each end (zero and infinity) to keep value constant at both ends of the function. A zero-length age group may be used as a kind of barrier to adjust the distribution; e.g. with age group boundaries at 15, 20 and 25 years, a (linear) spline would be drawn between ages 17.5 and 22.5, whereas with boundaries at 15, 20 and 20 years, a spline would be drawn between ages 17.5 and 20 years (may be desired if individuals are assumed to reach adult size at 20). Algorithms:
- none: input values are used directly
- linear: straight lines (on an age vs. value graph) are used to interpolate data points.
age group
→ scenario → healthSystem → CFR → group
<group
value=double
lowerbound=double
/>
Documentation (element)
A series of values according to age groups, each specified with a lower-bound and a value. The first lower-bound specified must be zero; a final upper-bound of infinity is added to complete the last age group. At least one age group is required. Normally these are interpolated by a continuous function (see interpolation attribute).
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Lower bound
lowerbound=double
Units: Years Min: 0 Max: 100
Lower bound of age group
Treatment efficacy
→ scenario → healthSystem → EventScheduler → NonMalariaFevers → TreatmentEfficacy
<TreatmentEfficacy>
double
</TreatmentEfficacy>
Documentation (element)
Units: Dimensionless Min: 0.0 Max: 1.0
Probability that treatment would prevent a death (i.e. CFR is multiplied by one minus this when treatment occurs).
ImmediateOutcomes
→ scenario → healthSystem → ImmediateOutcomes
<ImmediateOutcomes
[ name=string ]
[ useDiagnosticUC=boolean ] DEFAULT VALUE false
>
IN ANY ORDER:
| <drugRegimen ... />
| <initialACR ... />
| <compliance ... />
| <nonCompliersEffective ... />
| <treatmentActions ... />
| <pSeekOfficialCareUncomplicated1 ... />
| <pSelfTreatUncomplicated ... />
| <pSeekOfficialCareUncomplicated2 ... />
| <pSeekOfficialCareSevere ... />
| [ <liverStageDrug ... /> ]
</ImmediateOutcomes>
- drugRegimen
- initialACR
- compliance
- nonCompliersEffective
- treatmentActions
- pSeekOfficialCareUncomplicated1
- pSelfTreatUncomplicated
- pSeekOfficialCareUncomplicated2
- pSeekOfficialCareSevere
- liverStageDrug
Documentation (type)
Description of "immediate outcomes" health system: Tediosi et al case management model (Case management as described in AJTMH 75 (suppl 2) pp90-103).
Attributes
Name of case management parameterisation
name=string
Name of health system
useDiagnosticUC
useDiagnosticUC=boolean
Default value: false
Description of drug regimen
→ scenario → healthSystem → ImmediateOutcomes → drugRegimen
<drugRegimen
firstLine=string
secondLine=string
inpatient=string
/>
Documentation (element)
Description of drug regimen.
Attributes
First line drug
firstLine=string
Units: Drug code
Code for first line drug
Second line drug
secondLine=string
Units: Drug code
Code for second line drug
Drug use for treating inpatients
inpatient=string
Units: Drug code
Code for drug used for treating inpatients
Initial cure rate
→ scenario → healthSystem → ImmediateOutcomes → initialACR
<initialACR>
IN THIS ORDER:
| [ <CQ ... /> ]
| [ <SP ... /> ]
| [ <AQ ... /> ]
| [ <SPAQ ... /> ]
| [ <ACT ... /> ]
| [ <QN ... /> ]
| <selfTreatment ... />
</initialACR>
Documentation (element)
Units: Dimensionless Min: 0.0 Max: 1.0
Initial cure rate
Chloroquine
→ scenario → healthSystem → ImmediateOutcomes → initialACR → CQ
<CQ
value=double
/>
Documentation (element)
Chloroquine
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Sulphadoxine-pyrimethamine
→ scenario → healthSystem → ImmediateOutcomes → initialACR → SP
<SP
value=double
/>
Documentation (element)
Sulphadoxine-pyrimethamine
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Amodiaquine
→ scenario → healthSystem → ImmediateOutcomes → initialACR → AQ
<AQ
value=double
/>
Documentation (element)
Amodiaquine
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Sulphadoxine-pyrimethamine/Amodiaquine
→ scenario → healthSystem → ImmediateOutcomes → initialACR → SPAQ
<SPAQ
value=double
/>
Documentation (element)
Sulphadoxine-pyrimethamine/Amodiaquine
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Artemisinine based combination therapy
→ scenario → healthSystem → ImmediateOutcomes → initialACR → ACT
<ACT
value=double
/>
Documentation (element)
Artemisinine combination therapy
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Quinine
→ scenario → healthSystem → ImmediateOutcomes → initialACR → QN
<QN
value=double
/>
Documentation (element)
Quinine
Attributes
Input parameter value
value=double
A double-precision floating-point value.
selfTreatment
→ scenario → healthSystem → ImmediateOutcomes → initialACR → selfTreatment
<selfTreatment
value=double
/>
Documentation (element)
Units: Dimensionless Min: 0 Max: 1name:P(self-treat)
Probability of self-treatment
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Adherence to treatment
→ scenario → healthSystem → ImmediateOutcomes → compliance
<compliance>
IN THIS ORDER:
| [ <CQ ... /> ]
| [ <SP ... /> ]
| [ <AQ ... /> ]
| [ <SPAQ ... /> ]
| [ <ACT ... /> ]
| [ <QN ... /> ]
| <selfTreatment ... />
</compliance>
Documentation (element)
Units: Dimensionless Min: 0.0 Max: 1.0
Adherence to treatment
Effectiveness of treatment in non-adherent patients
→ scenario → healthSystem → ImmediateOutcomes → nonCompliersEffective
<nonCompliersEffective>
IN THIS ORDER:
| [ <CQ ... /> ]
| [ <SP ... /> ]
| [ <AQ ... /> ]
| [ <SPAQ ... /> ]
| [ <ACT ... /> ]
| [ <QN ... /> ]
| <selfTreatment ... />
</nonCompliersEffective>
Documentation (element)
Units: Dimensionless Min: 0.0 Max: 1.0
Effectiveness of treatment for non-compliant patients
treatmentActions
→ scenario → healthSystem → ImmediateOutcomes → treatmentActions
<treatmentActions>
IN ANY ORDER:
| [ <CQ ... /> ]
| [ <SP ... /> ]
| [ <AQ ... /> ]
| [ <SPAQ ... /> ]
| [ <ACT ... /> ]
| [ <QN ... /> ]
</treatmentActions>
CQ
→ scenario → healthSystem → ImmediateOutcomes → treatmentActions → CQ
<CQ
[ name=string ]
>
IN THIS ORDER:
| ( <deploy ... /> )*
</CQ>
Documentation (type)
Describes the effects of the treatment, assuming this compliance/adherence/... option is selected. Effects are described in terms of a list of options, each of which acts independently but with all effects being activated simultaneously.
Documentation (base type)
Lists intervention components which are deployed according to some external trigger (for example, screening with a negative patency outcome or health-system treatment).
Components are referenced from one or more sub-lists. Each of these lists is deployed independently if and only if its age constraints are met by the human host and a random sample with the given probability of a positive outcome is positive.
Attributes
Name
name=string
Describes what this compliance option represents (e.g. "good compliance", "poor compliance with good drugs", ...).
deploy
→ scenario → healthSystem → ImmediateOutcomes → treatmentActions → CQ → deploy
<deploy
[ maxAge=double ]
[ minAge=double ] DEFAULT VALUE 0
[ p=double ] DEFAULT VALUE 1
>
IN THIS ORDER:
| ( <component ... /> )+
</deploy>
Attributes
Maximum age of eligible humans
maxAge=double
Units: Years Min: 0
Maximum age of eligible humans (defaults to no limit). Input is rounded to the nearest time step.
Minimum age of eligible humans
minAge=double
Units: Years Min: 0
Default value: 0
Minimum age of eligible humans (defaults to 0). Input is rounded to the nearest time step.
Probability of delivery to eligible humans
p=double
Units: dimensionless Min: 0 Max: 1
Default value: 1
Probability of this list of components being deployed, given that other constraints are met.
component
→ scenario → healthSystem → ImmediateOutcomes → treatmentActions → CQ → deploy → component
<component
id=string
/>
Documentation (type)
The list of components deployed to eligible humans.
Attributes
Identifier
id=string
The identifier (short name) of a component.
Prophylactic treatment
→ scenario → healthSystem → DecisionTree5Day → treatmentSevere → clearInfections
<clearInfections
timesteps=string
stage=("liver" or "blood" or "both")
/>
Documentation (element)
This clears infections according to several options: it can clear all blood stage infections, all liver stage infections or both, and it can act on multiple timesteps. To have a probability of no action add another treatment option (which does nothing) and set the probabilities of selection appropriately.
This allows immediate (legacy) or delayed action, a prophylactic period, and selection of which stages are targeted. It is a simple model but appropriate enough for use with the five day timestep when assuming no resistance and that drug failure is mainly caused by bad drugs or compliance.
The old treatment action for the five-day timestep model is essentially this, with immediateAction (timesteps=-1) and stage=both, except for the IPT model's SP action, which was more like with timesteps>1 and stage=blood.
Attributes
Length of effect
timesteps=string
Units: User defined (defaults to steps)
The number of timesteps during which this action remains in effect (e.g. 2 means clear infections during the next two timestep updates). Full clearance of the targeted stages occurs during this time. A special value of -1 means act immediately (retrospectively); this the old behaviour. A value of 1 means act on the next timestep only. Both of these can be thought of as a model for short-acting effective drug treatment; the main differences are that the latter means parasite densities will remain high from the point of view of surveys and diagnostics (i.e. mass screen and treat) used before the next timestep and that the latter will also remove infections starting the next timestep. Arguably the latter is a better model, but the differences are perhaps small, excepting where immediate treatment of fevers (i.e. through the health system) can hide high parasite densities from reporting and mass-screen-and-treat diagnostics. For use by interventions, the latter model has nicer behaviour in that the order of deployment of multiple interventions deployed at the same time does not matter, and that the former model retrospectively treats infections which may already have caused fever, thus may have a lower health impact than it should. It is recommended to use the new model (value 1, or greater than 1 if prophylactic effect is desired) unless wanting to emulate the old behaviour. Values of 0 or less than -1 are not allowed. Can be specified in steps (e.g. 1t, -1t) or days (e.g. 5d).
Target stage
stage=("liver" or "blood" or "both")
Controls whether liver-stage or blood-stage infections are cleared, or both. Infections are considered liver-stage for one 5-day timestep, blood-stage but pre-patent for some number of timesteps (latentp - 1), then start the patent blood stage. If stage is set to "liver", infections are only cleared during their first timestep; if stage is set to "blood", infections are cleared during pre-patent and patent blood stages; if stage is set to "both" all infections are cleared. The old behaviour (oddly considering the drugs it is meant to emulate) is to clear both stages, except for the IPT model of SP action, which cleared only patent blood-stage infections.
SP
→ scenario → healthSystem → ImmediateOutcomes → treatmentActions → SP
<SP
[ name=string ]
>
IN THIS ORDER:
| ( <deploy ... /> )*
</SP>
Documentation (type)
Describes the effects of the treatment, assuming this compliance/adherence/... option is selected. Effects are described in terms of a list of options, each of which acts independently but with all effects being activated simultaneously.
Documentation (base type)
Lists intervention components which are deployed according to some external trigger (for example, screening with a negative patency outcome or health-system treatment).
Components are referenced from one or more sub-lists. Each of these lists is deployed independently if and only if its age constraints are met by the human host and a random sample with the given probability of a positive outcome is positive.
Attributes
Name
name=string
Describes what this compliance option represents (e.g. "good compliance", "poor compliance with good drugs", ...).
AQ
→ scenario → healthSystem → ImmediateOutcomes → treatmentActions → AQ
<AQ
[ name=string ]
>
IN THIS ORDER:
| ( <deploy ... /> )*
</AQ>
Documentation (type)
Describes the effects of the treatment, assuming this compliance/adherence/... option is selected. Effects are described in terms of a list of options, each of which acts independently but with all effects being activated simultaneously.
Documentation (base type)
Lists intervention components which are deployed according to some external trigger (for example, screening with a negative patency outcome or health-system treatment).
Components are referenced from one or more sub-lists. Each of these lists is deployed independently if and only if its age constraints are met by the human host and a random sample with the given probability of a positive outcome is positive.
Attributes
Name
name=string
Describes what this compliance option represents (e.g. "good compliance", "poor compliance with good drugs", ...).
SPAQ
→ scenario → healthSystem → ImmediateOutcomes → treatmentActions → SPAQ
<SPAQ
[ name=string ]
>
IN THIS ORDER:
| ( <deploy ... /> )*
</SPAQ>
Documentation (type)
Describes the effects of the treatment, assuming this compliance/adherence/... option is selected. Effects are described in terms of a list of options, each of which acts independently but with all effects being activated simultaneously.
Documentation (base type)
Lists intervention components which are deployed according to some external trigger (for example, screening with a negative patency outcome or health-system treatment).
Components are referenced from one or more sub-lists. Each of these lists is deployed independently if and only if its age constraints are met by the human host and a random sample with the given probability of a positive outcome is positive.
Attributes
Name
name=string
Describes what this compliance option represents (e.g. "good compliance", "poor compliance with good drugs", ...).
ACT
→ scenario → healthSystem → ImmediateOutcomes → treatmentActions → ACT
<ACT
[ name=string ]
>
IN THIS ORDER:
| ( <deploy ... /> )*
</ACT>
Documentation (type)
Describes the effects of the treatment, assuming this compliance/adherence/... option is selected. Effects are described in terms of a list of options, each of which acts independently but with all effects being activated simultaneously.
Documentation (base type)
Lists intervention components which are deployed according to some external trigger (for example, screening with a negative patency outcome or health-system treatment).
Components are referenced from one or more sub-lists. Each of these lists is deployed independently if and only if its age constraints are met by the human host and a random sample with the given probability of a positive outcome is positive.
Attributes
Name
name=string
Describes what this compliance option represents (e.g. "good compliance", "poor compliance with good drugs", ...).
QN
→ scenario → healthSystem → ImmediateOutcomes → treatmentActions → QN
<QN
[ name=string ]
>
IN THIS ORDER:
| ( <deploy ... /> )*
</QN>
Documentation (type)
Describes the effects of the treatment, assuming this compliance/adherence/... option is selected. Effects are described in terms of a list of options, each of which acts independently but with all effects being activated simultaneously.
Documentation (base type)
Lists intervention components which are deployed according to some external trigger (for example, screening with a negative patency outcome or health-system treatment).
Components are referenced from one or more sub-lists. Each of these lists is deployed independently if and only if its age constraints are met by the human host and a random sample with the given probability of a positive outcome is positive.
Attributes
Name
name=string
Describes what this compliance option represents (e.g. "good compliance", "poor compliance with good drugs", ...).
Probability that a patient with uncomplicated disease seeks official care immediately.
→ scenario → healthSystem → ImmediateOutcomes → pSeekOfficialCareUncomplicated1
<pSeekOfficialCareUncomplicated1
value=double
/>
Documentation (element)
Units: Dimensionless Min: 0.0 Max: 1.0
Probability that a patient with newly incident uncomplicated disease seeks official care
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Probability that a patient with uncomplicated disease will self-treat.
→ scenario → healthSystem → ImmediateOutcomes → pSelfTreatUncomplicated
<pSelfTreatUncomplicated
value=double
/>
Documentation (element)
Units: Dimensionless Min: 0.0 Max: 1.0
Probability that a patient with uncomplicated disease without recent history of disease (i.e. first line) will self-treat.
Note that in second line cases there is no probability of self-treatment.
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Probability that a recurring patient seeks official care
→ scenario → healthSystem → ImmediateOutcomes → pSeekOfficialCareUncomplicated2
<pSeekOfficialCareUncomplicated2
value=double
/>
Documentation (element)
Units: Dimensionless Min: 0.0 Max: 1.0
Probability that a patient with recurrence of uncomplicated disease seeks official care
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Probability that a patient with severe disease obtains appropriate care
→ scenario → healthSystem → ImmediateOutcomes → pSeekOfficialCareSevere
<pSeekOfficialCareSevere
value=double
/>
Documentation (element)
Units: Dimensionless Min: 0.0 Max: 1.0
Probability that a patient with severe disease obtains appropriate care
Attributes
Input parameter value
value=double
A double-precision floating-point value.
liverStageDrug
→ scenario → healthSystem → ImmediateOutcomes → liverStageDrug
<liverStageDrug>
IN ANY ORDER:
| <pHumanCannotReceive ... />
| [ <ignoreCannotReceive ... /> ]
| [ <pUseUncomplicated ... /> ]
| <effectivenessOnUse ... />
</liverStageDrug>
Documentation (type)
Parameters for drug treatment which have an effect on the liver-stage of parasites (Primaquine and potentially Tafenoquine); for use with the Vivax model only.
Note: if this section is not listed, the following default values are assumed: pHumanCannotReceive=0, pUseUncomplicated=0, effectivenessOnUse=1.
Probability that human is incompatible with liver-stage drug treatment
→ scenario → healthSystem → ImmediateOutcomes → liverStageDrug → pHumanCannotReceive
<pHumanCannotReceive
value=double
/>
Documentation (element)
Units: Probability Min: 0 Max: 1
Chance that a human is determined to be unable to receive liver-stage drug treatment. Treatment is neither reported or given for such humans.
This is sampled once per human at birth.
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Ignore liver-stage drug treatment incompatibility
→ scenario → healthSystem → ImmediateOutcomes → liverStageDrug → ignoreCannotReceive
<ignoreCannotReceive
value=boolean
/>
Documentation (element)
If true, ignore pHumanCannotReceive and consider all humans eligible for treatment; if false (or not specified), do not treat those demed incompatible with liver-stage drug treatment.
The point of this is that pHumanCannotReceive cannot be altered by changeHS interventions, but this property can be.
Attributes
Input parameter value
value=boolean
A boolean value.
Prob use in UC case
→ scenario → healthSystem → ImmediateOutcomes → liverStageDrug → pUseUncomplicated
<pUseUncomplicated
value=double
/>
Documentation (element)
Units: Probability Min: 0 Max: 1
This feature is deprecated; it is suggested to use the "simple treatment" feature configured to clear liver-stage parasites, leaving this option unset or zero.
Chance of liver-stage drug treatment being used for routine treatment of an uncomplicated case.
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Effectiveness
→ scenario → healthSystem → ImmediateOutcomes → liverStageDrug → effectivenessOnUse
<effectivenessOnUse
value=double
/>
Documentation (element)
Units: Probability Min: 0 Max: 1
Chance that liver-stage drug treatment is effective.
On application, a random variable is sampled against this probability. If false, the treatment does nothing; if true, the treatment clears all liver stage parasites. Where effectiveness is longer than a single time step (prophylactic effect), this sample still only happens once (thus either no effect or all liver stages cleared over multiple steps).
Attributes
Input parameter value
value=double
A double-precision floating-point value.
DecisionTree5Day
→ scenario → healthSystem → DecisionTree5Day
<DecisionTree5Day
[ name=string ]
>
IN ANY ORDER:
| <pSeekOfficialCareUncomplicated1 ... />
| <pSelfTreatUncomplicated ... />
| <pSeekOfficialCareUncomplicated2 ... />
| <pSeekOfficialCareSevere ... />
| [ <liverStageDrug ... /> ]
| <treeUCOfficial ... />
| <treeUCSelfTreat ... />
| <cureRateSevere ... />
| <treatmentSevere ... />
</DecisionTree5Day>
- pSeekOfficialCareUncomplicated1
- pSelfTreatUncomplicated
- pSeekOfficialCareUncomplicated2
- pSeekOfficialCareSevere
- liverStageDrug
- treeUCOfficial
- treeUCSelfTreat
- cureRateSevere
- treatmentSevere
Documentation (type)
Description of the health system using the 5-day timestep with decision tree model: access is configured as in the Tediosi et al case management model (Case management as described in AJTMH 75 (suppl 2) pp90-103) while treatment decisions are configured via decision trees.
Besides greater flexibility, this allows treatment via PK/PD models.
Attributes
Name of case management parameterisation
name=string
Name of health system
Probability that a patient with uncomplicated disease seeks official care immediately.
→ scenario → healthSystem → DecisionTree5Day → pSeekOfficialCareUncomplicated1
<pSeekOfficialCareUncomplicated1
value=double
/>
Documentation (element)
Units: Dimensionless Min: 0.0 Max: 1.0
Probability that a patient with newly incident uncomplicated disease seeks official care
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Probability that a patient with uncomplicated disease will self-treat.
→ scenario → healthSystem → DecisionTree5Day → pSelfTreatUncomplicated
<pSelfTreatUncomplicated
value=double
/>
Documentation (element)
Units: Dimensionless Min: 0.0 Max: 1.0
Probability that a patient with uncomplicated disease without recent history of disease (i.e. first line) will self-treat.
Note that in second line cases there is no probability of self-treatment.
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Probability that a recurring patient seeks official care
→ scenario → healthSystem → DecisionTree5Day → pSeekOfficialCareUncomplicated2
<pSeekOfficialCareUncomplicated2
value=double
/>
Documentation (element)
Units: Dimensionless Min: 0.0 Max: 1.0
Probability that a patient with recurrence of uncomplicated disease seeks official care
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Probability that a patient with severe disease obtains appropriate care
→ scenario → healthSystem → DecisionTree5Day → pSeekOfficialCareSevere
<pSeekOfficialCareSevere
value=double
/>
Documentation (element)
Units: Dimensionless Min: 0.0 Max: 1.0
Probability that a patient with severe disease obtains appropriate care
Attributes
Input parameter value
value=double
A double-precision floating-point value.
liverStageDrug
→ scenario → healthSystem → DecisionTree5Day → liverStageDrug
<liverStageDrug>
IN ANY ORDER:
| <pHumanCannotReceive ... />
| [ <ignoreCannotReceive ... /> ]
| [ <pUseUncomplicated ... /> ]
| <effectivenessOnUse ... />
</liverStageDrug>
Documentation (type)
Parameters for drug treatment which have an effect on the liver-stage of parasites (Primaquine and potentially Tafenoquine); for use with the Vivax model only.
Note: if this section is not listed, the following default values are assumed: pHumanCannotReceive=0, pUseUncomplicated=0, effectivenessOnUse=1.
treeUCOfficial
→ scenario → healthSystem → DecisionTree5Day → treeUCOfficial
<treeUCOfficial
[ name=string ]
>
EXACTLY ONE OF:
| <multiple ... />
| <caseType ... />
| <diagnostic ... />
| <random ... />
| <age ... />
| <noTreatment ... />
| <treatFailure ... />
| ( <treatPKPD ... /> )+
| <treatSimple ... />
| ( <deploy ... /> )+
</treeUCOfficial>
Documentation (type)
Describes how "decisions" are made, both probabilistically and deterministically, and what actions are carried out.
Quantities may also be reported as a side effect of decisions made in the tree, for example the number of diagnostics used.
Attributes
Name
name=string
An optional piece of documentation attached to this node.
treeUCSelfTreat
→ scenario → healthSystem → DecisionTree5Day → treeUCSelfTreat
<treeUCSelfTreat
[ name=string ]
>
EXACTLY ONE OF:
| <multiple ... />
| <caseType ... />
| <diagnostic ... />
| <random ... />
| <age ... />
| <noTreatment ... />
| <treatFailure ... />
| ( <treatPKPD ... /> )+
| <treatSimple ... />
| ( <deploy ... /> )+
</treeUCSelfTreat>
Documentation (type)
Describes how "decisions" are made, both probabilistically and deterministically, and what actions are carried out.
Quantities may also be reported as a side effect of decisions made in the tree, for example the number of diagnostics used.
Attributes
Name
name=string
An optional piece of documentation attached to this node.
Cure rate (severe cases)
→ scenario → healthSystem → DecisionTree5Day → cureRateSevere
<cureRateSevere
value=double
/>
Documentation (element)
Min: 0 Max: 1
The probability of clearing parasites given access to appropriate (hospital) care, for a severe case.
Attributes
Input parameter value
value=double
A double-precision floating-point value.
treatmentSevere
→ scenario → healthSystem → DecisionTree5Day → treatmentSevere
<treatmentSevere
[ name=string ]
>
IN THIS ORDER:
| ( <deploy ... /> )*
</treatmentSevere>
Documentation (type)
Describes the effects of the treatment, assuming this compliance/adherence/... option is selected. Effects are described in terms of a list of options, each of which acts independently but with all effects being activated simultaneously.
Documentation (base type)
Lists intervention components which are deployed according to some external trigger (for example, screening with a negative patency outcome or health-system treatment).
Components are referenced from one or more sub-lists. Each of these lists is deployed independently if and only if its age constraints are met by the human host and a random sample with the given probability of a positive outcome is positive.
Attributes
Name
name=string
Describes what this compliance option represents (e.g. "good compliance", "poor compliance with good drugs", ...).
Case fatality rate for inpatients
→ scenario → healthSystem → CFR
<CFR
[ interpolation=("none" or "linear") ]
>
IN THIS ORDER:
| ( <group ... /> )+
</CFR>
Documentation (element)
Case fatality rate (probability of an inpatient fatality from a bout of severe malaria, per age-group).
Attributes
interpolation
interpolation=("none" or "linear")
Interpolation algorithm. Normally it is desirable for age-based values to be continuous w.r.t. age. By default linear interpolation is used. With all algorithms except "none", the age groups are converted to a set of points centred within each age range. Extra points are added at each end (zero and infinity) to keep value constant at both ends of the function. A zero-length age group may be used as a kind of barrier to adjust the distribution; e.g. with age group boundaries at 15, 20 and 25 years, a (linear) spline would be drawn between ages 17.5 and 22.5, whereas with boundaries at 15, 20 and 20 years, a spline would be drawn between ages 17.5 and 20 years (may be desired if individuals are assumed to reach adult size at 20). Algorithms:
- none: input values are used directly
- linear: straight lines (on an age vs. value graph) are used to interpolate data points.
Probabilities of sequelae in inpatients
→ scenario → healthSystem → pSequelaeInpatient
<pSequelaeInpatient
[ interpolation=("none" or "linear") ]
>
IN THIS ORDER:
| ( <group ... /> )+
</pSequelaeInpatient>
Documentation (element)
Units: Dimensionless
List of age-specific probabilities of sequelae in inpatients, during a severe bout of malaria.
Attributes
interpolation
interpolation=("none" or "linear")
Interpolation algorithm. Normally it is desirable for age-based values to be continuous w.r.t. age. By default linear interpolation is used. With all algorithms except "none", the age groups are converted to a set of points centred within each age range. Extra points are added at each end (zero and infinity) to keep value constant at both ends of the function. A zero-length age group may be used as a kind of barrier to adjust the distribution; e.g. with age group boundaries at 15, 20 and 25 years, a (linear) spline would be drawn between ages 17.5 and 22.5, whereas with boundaries at 15, 20 and 20 years, a spline would be drawn between ages 17.5 and 20 years (may be desired if individuals are assumed to reach adult size at 20). Algorithms:
- none: input values are used directly
- linear: straight lines (on an age vs. value graph) are used to interpolate data points.
Change transmission levels
→ scenario → interventions → changeEIR
<changeEIR
[ name=string ]
>
IN THIS ORDER:
| ( <timedDeployment ... /> )*
</changeEIR>
Documentation (element)
New description of transmission level for models not supporting vector control interventions. Use of this overrides previous transmission levels such that human infectiousness no longer has any feedback effect on transmission. Supplied EIR data must last until end of simulation.
Attributes
Name of intervention
name=string
Name of intervention
timedDeployment
→ scenario → interventions → changeEIR → timedDeployment
<timedDeployment
eipDuration=int
time=string
>
IN THIS ORDER:
| ( <EIRDaily ... /> )+
</timedDeployment>
Documentation (type)
Replacement transmission levels. Disables feedback of human infectiousness to mosquitoes on further mosquito to human transmission. Must last until end of simulation.
Attributes
Duration of sporogony
eipDuration=int
Units: Days
The duration of sporogony in days
Time
time=string
Units: User defined (defauls to steps) Min: 0
Time at which this replacement occurs. See doc on intervention period and on monitoring/startDate for details of how times work. Can be specified in steps, days, years, or as a date (examples: 15t, 75d, 0.2y, 2000-03-16).
EIRDaily
→ scenario → entomology → nonVector → EIRDaily
<EIRDaily
[ origin=string ]
>
double
</EIRDaily>
Documentation (type)
Units: Infectious bites per adult per day
In the non-vector model, EIR is input as a sequence of daily values. There must be at least one years' worth of entries (365), and if there are more, values are wrapped and averaged (i.e. value for first day of year is taken as the mean of values for days 0, 365+0, 2*365+0, etc.).
Attributes
Time origin of EIR sequence
origin=string
Imported infections
→ scenario → interventions → importedInfections
<importedInfections
[ name=string ]
>
IN THIS ORDER:
| <timed ... />
</importedInfections>
Documentation (element)
Models importation of P. falciparum infections directly into humans from an external source. This is infections, not inoculations or EIR being imported.
Attributes
Name of intervention
name=string
Name of intervention
Rate of importation
→ scenario → interventions → importedInfections → timed
<timed
[ period=string ] DEFAULT VALUE 0
>
IN THIS ORDER:
| ( <rate ... /> )+
</timed>
Documentation (element)
Rate of case importation, as a step function. Each value is valid until replaced by the next value.
Attributes
Period of repetition
period=string
Units: User defined (default: steps) Min: 0
Default value: 0
If period is 0 (or effectively infinite), the last specified value remains indefinitely in effect. If period is less than the length of the simulation's intervention phase, then all "rate" deployments are repeated with this periodicity. In this case, the first "rate" deployment must coincide with the start of the intervention phase (monitoring/startDate). Can be specified in steps (e.g. 1t) or days (e.g. 365d).
rate
→ scenario → interventions → importedInfections → timed → rate
<rate
value=double
time=string
/>
Documentation (type)
Units: Imported cases per thousand people per year
A time-rate pair.
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Time of start
time=string
Units: User defined (defauls to steps) Min: 0
Time at which this importation rate becomes active. See doc on intervention period and on monitoring/startDate for details of how times work. Can be specified in steps, days, years, or as a date (examples: 15t, 75d, 0.2y, 2000-03-16).
Insert R_0 case
→ scenario → interventions → insertR_0Case
<insertR_0Case
[ name=string ]
>
IN THIS ORDER:
| ( <timedDeployment ... /> )*
</insertR_0Case>
Documentation (element)
Used to simulate R_0. First, infections should be eliminated, immunity removed, and the population given an effective transmission- blocking vaccine (not done by this intervention). Then this intervention may be used to: pick one human, infect him, administer a fully effective Preerythrocytic vaccine and remove transmission-blocking vaccine effect on this human. Thus only this one human will be a source of infections in an unprotected population, and will not reinfected himself.
Attributes
Name of intervention
name=string
Name of intervention
timedDeployment
→ scenario → interventions → insertR_0Case → timedDeployment
<timedDeployment
time=string
/>
Attributes
Time
time=string
Units: User defined (defauls to steps) Min: 0
Time at which this intervention occurs. See doc on intervention period and on monitoring/startDate for details of how times work. Can be specified in steps, days, years, or as a date (examples: 15t, 75d, 0.2y, 2000-03-16).
Uninfect vectors
→ scenario → interventions → uninfectVectors
<uninfectVectors
[ name=string ]
>
IN THIS ORDER:
| ( <timedDeployment ... /> )*
</uninfectVectors>
Documentation (element)
Units: List of elements
Removes all infections from mosquitoes -- resulting in zero EIR to humans, until such time that mosquitoes are re-infected and become infectious. Only efficacious in dynamic EIR mode (when changeEIR was not used).
Hypothetical, but potentially useful to simulate a setting starting from no infections, but with enough mosquitoes to reach a set equilibrium of exposure.
Attributes
Name of intervention
name=string
Name of intervention
timedDeployment
→ scenario → interventions → uninfectVectors → timedDeployment
<timedDeployment
time=string
/>
Attributes
Time
time=string
Units: User defined (defauls to steps) Min: 0
Time at which this intervention occurs. See doc on intervention period and on monitoring/startDate for details of how times work. Can be specified in steps, days, years, or as a date (examples: 15t, 75d, 0.2y, 2000-03-16).
Vector population intervention
→ scenario → interventions → vectorPop
<vectorPop>
IN THIS ORDER:
| ( <intervention ... /> )+
</vectorPop>
Documentation (element)
Units: List of elements
A list of parameterisations of generic vector host-inspecific interventions.
intervention
→ scenario → interventions → vectorPop → intervention
<intervention
name=string
>
IN THIS ORDER:
| <description ... />
| [ <timed ... /> ]
</intervention>
Documentation (type)
Units: List of elements
An intervention which may have various effects on the vector populations as a whole. (Not host specific.)
Multiple instances of this intervention class are allowed (multiple parameterisations, not just deployments).
Each instance may have multiple deployments. In this case the effects of each instance are independent (effects are combined) but the effects of multiple deployments of a single instance are not independent (only the latest deployment has any effect).
Attributes
Name of intervention
name=string
Name of intervention (e.g. larviciding, sugar bait).
description
→ scenario → interventions → vectorPop → intervention → description
<description>
IN THIS ORDER:
| ( <anopheles ... /> )+
</description>
anopheles
→ scenario → interventions → vectorPop → intervention → description → anopheles
<anopheles
mosquito=string
>
IN ANY ORDER:
| [ <seekingDeathRateIncrease ... /> ]
| [ <probDeathOvipositing ... /> ]
| [ <emergenceReduction ... /> ]
</anopheles>
Documentation (type)
Units: dimensionless Min: 0 Max: 1
Descriptions of the effects of vector interventions with per-species effects.
Attributes
Species/subspecies/variant name
mosquito=string
Name of the species/subspecies/variant.
Proportional increase in deaths while host searching
→ scenario → interventions → vectorPop → intervention → description → anopheles → seekingDeathRateIncrease
<seekingDeathRateIncrease
initial=double
>
IN THIS ORDER:
| <decay ... />
</seekingDeathRateIncrease>
Documentation (element)
Units: dimensionless
Describe an effect on the increase in the death rate while host seeking (mu_vA) due to this intervention.
Enter the rate increase (i.e. if rate increases to 120% of normal, give 0.2). New death rate while seeking is old × (1 + increase) where increase is this factor given. Must have increas ≥ -1.
Attributes
Initial proportion increase
initial=double
Units: dimensionless Min: -1 Max: inf
decay
→ scenario → interventions → vectorPop → intervention → description → anopheles → seekingDeathRateIncrease → decay
<decay
function=("constant" or "step" or "linear" or "exponential" or "weibull" or "hill" or "smooth-compact")
[ L=string ]
[ k=double ] DEFAULT VALUE 1.0
[ CV=double ] DEFAULT VALUE 0
/>
Documentation (type)
Specification of decay or survival of a parameter.
Attributes
function
function=("constant" or "step" or "linear" or "exponential" or "weibull" or "hill" or "smooth-compact")
Units: None Min: 0 Max: 1
Determines which decay function to use. Available decay functions, for age t in years: constant: 1 step: 1 for t less than L, otherwise 0 linear: 1 - t/L for t less than L, otherwise 0 exponential: exp( - t/L * log(2) ) weibull: exp( -(t/L)^k * log(2) ) hill: 1 / (1 + (t/L)^k) smooth-compact: exp( k - k / (1 - (t/L)^2) ) for t less than L, otherwise 0
L
L=string
Units: User-defined (defaults to years) Min: 0
(Time) scale parameter of distribution: this is either the age of complete decay (smooth-compact, step and linear functions) or the age at which the parameter has decayed to half its original value (exponential, weibull and hill). Not used when function="constant" (i.e. no decay). This value can be specified in years, days or steps (e.g. 2y, 180d or 100t). When the unit is not specified years are assumed. The value is used without rounding except when sampling an age of decay, when the rounding happens as late as possible.
k
k=double
Units: none Min: 0
Default value: 1.0
Shape parameter of distribution. If not specified, default value of 1 is used. Meaning depends on function; not used in some cases.
Coefficient of Variation
CV=double
Min: 0
Default value: 0
If CV is non-zero, heterogeneity of decay is introduced via a random variable sampled from the log-normal distribution. This distribution is parameterised with mean=1 and CV as given. The effective age of decay is the real age multiplied by this variable (for decay functions with a half-life, this is equivalent to dividing the half-life by the variable).
Proportion ovipositing mosquitoes killed
→ scenario → interventions → vectorPop → intervention → description → anopheles → probDeathOvipositing
<probDeathOvipositing
initial=double
>
IN THIS ORDER:
| <decay ... />
</probDeathOvipositing>
Documentation (element)
Units: dimensionless
Describe an effect of increased mortality while ovipositing due to this intervention. Enter the probability of dying due to this intervention.
Attributes
Initial probability of killing
initial=double
Units: dimensionless Min: 0 Max: 1
decay
→ scenario → interventions → vectorPop → intervention → description → anopheles → probDeathOvipositing → decay
<decay
function=("constant" or "step" or "linear" or "exponential" or "weibull" or "hill" or "smooth-compact")
[ L=string ]
[ k=double ] DEFAULT VALUE 1.0
[ CV=double ] DEFAULT VALUE 0
/>
Documentation (type)
Specification of decay or survival of a parameter.
Attributes
function
function=("constant" or "step" or "linear" or "exponential" or "weibull" or "hill" or "smooth-compact")
Units: None Min: 0 Max: 1
Determines which decay function to use. Available decay functions, for age t in years: constant: 1 step: 1 for t less than L, otherwise 0 linear: 1 - t/L for t less than L, otherwise 0 exponential: exp( - t/L * log(2) ) weibull: exp( -(t/L)^k * log(2) ) hill: 1 / (1 + (t/L)^k) smooth-compact: exp( k - k / (1 - (t/L)^2) ) for t less than L, otherwise 0
L
L=string
Units: User-defined (defaults to years) Min: 0
(Time) scale parameter of distribution: this is either the age of complete decay (smooth-compact, step and linear functions) or the age at which the parameter has decayed to half its original value (exponential, weibull and hill). Not used when function="constant" (i.e. no decay). This value can be specified in years, days or steps (e.g. 2y, 180d or 100t). When the unit is not specified years are assumed. The value is used without rounding except when sampling an age of decay, when the rounding happens as late as possible.
k
k=double
Units: none Min: 0
Default value: 1.0
Shape parameter of distribution. If not specified, default value of 1 is used. Meaning depends on function; not used in some cases.
Coefficient of Variation
CV=double
Min: 0
Default value: 0
If CV is non-zero, heterogeneity of decay is introduced via a random variable sampled from the log-normal distribution. This distribution is parameterised with mean=1 and CV as given. The effective age of decay is the real age multiplied by this variable (for decay functions with a half-life, this is equivalent to dividing the half-life by the variable).
Proportion of emerging pupa killed
→ scenario → interventions → vectorPop → intervention → description → anopheles → emergenceReduction
<emergenceReduction
initial=double
>
IN THIS ORDER:
| <decay ... />
</emergenceReduction>
Documentation (element)
Units: dimensionless
Describe an effect on emergence of pupa into adults: this value is the proportion of emerging pupa which are killed by this intervention.
This can be used as a crude way of modelling larviciding. It ca also be used to increase emergence by giving a negative value. The emergence rate is "old rate" × (1 - factor) where factor is the value given here; thus, for example, using -1 will double emergence.
Attributes
Initial proportion reduction
initial=double
Units: dimensionless Min: -inf Max: 1
decay
→ scenario → interventions → vectorPop → intervention → description → anopheles → emergenceReduction → decay
<decay
function=("constant" or "step" or "linear" or "exponential" or "weibull" or "hill" or "smooth-compact")
[ L=string ]
[ k=double ] DEFAULT VALUE 1.0
[ CV=double ] DEFAULT VALUE 0
/>
Documentation (type)
Specification of decay or survival of a parameter.
Attributes
function
function=("constant" or "step" or "linear" or "exponential" or "weibull" or "hill" or "smooth-compact")
Units: None Min: 0 Max: 1
Determines which decay function to use. Available decay functions, for age t in years: constant: 1 step: 1 for t less than L, otherwise 0 linear: 1 - t/L for t less than L, otherwise 0 exponential: exp( - t/L * log(2) ) weibull: exp( -(t/L)^k * log(2) ) hill: 1 / (1 + (t/L)^k) smooth-compact: exp( k - k / (1 - (t/L)^2) ) for t less than L, otherwise 0
L
L=string
Units: User-defined (defaults to years) Min: 0
(Time) scale parameter of distribution: this is either the age of complete decay (smooth-compact, step and linear functions) or the age at which the parameter has decayed to half its original value (exponential, weibull and hill). Not used when function="constant" (i.e. no decay). This value can be specified in years, days or steps (e.g. 2y, 180d or 100t). When the unit is not specified years are assumed. The value is used without rounding except when sampling an age of decay, when the rounding happens as late as possible.
k
k=double
Units: none Min: 0
Default value: 1.0
Shape parameter of distribution. If not specified, default value of 1 is used. Meaning depends on function; not used in some cases.
Coefficient of Variation
CV=double
Min: 0
Default value: 0
If CV is non-zero, heterogeneity of decay is introduced via a random variable sampled from the log-normal distribution. This distribution is parameterised with mean=1 and CV as given. The effective age of decay is the real age multiplied by this variable (for decay functions with a half-life, this is equivalent to dividing the half-life by the variable).
Vector population intervention deployment
→ scenario → interventions → vectorPop → intervention → timed
<timed>
IN THIS ORDER:
| ( <deploy ... /> )+
</timed>
Documentation (element)
List of timed vector population intervention deployment
deploy
→ scenario → interventions → vectorPop → intervention → timed → deploy
<deploy
time=string
/>
Attributes
Time
time=string
Units: User defined (defauls to steps) Min: 0
Time at which this deployment occurs. See doc on intervention period and on monitoring/startDate for details of how times work. Can be specified in steps, days, years, or as a date (examples: 15t, 75d, 0.2y, 2000-03-16).
Baited trap
→ scenario → interventions → vectorTrap
<vectorTrap>
IN THIS ORDER:
| ( <intervention ... /> )+
</vectorTrap>
Documentation (element)
Traps attract and kill mosquitoes. They are modelled as a non-human-host where the probability of mosquitoes surviving feeding is zero (since otherwise the simulator would assume surviving mosquitoes have had a blood meal), and where this "host" is initially not present.
Model: each type of trap has has an initial availability relative to a human and a decay in availability. Each deployment has a fixed maximum lifespan, after which the traps from that deployment are removed (it is up to the user whether this is after availability is effectively zero or sooner, either coinciding with a redeployment or causing a reduction in overall effectiveness of traps).
intervention
→ scenario → interventions → vectorTrap → intervention
<intervention
[ name=string ]
>
IN THIS ORDER:
| ( <description ... /> )+
| [ <timed ... /> ]
</intervention>
Documentation (type)
Parameters and deployment of one type of trap. In case multiple types of trap are needed simultaneously, multiple elements can be used. Note that different types of trap do not interact except that all will attract mosquitoes.
Attributes
Descriptive name for type of trap
name=string
Optional name for this type of trap
Description
→ scenario → interventions → vectorTrap → intervention → description
<description
mosquito=string
>
IN THIS ORDER:
| <relativeAvailability ... />
| <decayOfAvailability ... />
</description>
Documentation (element)
Parameters associated with a vector trap intervention, per mosquito species.
Attributes
Species/subspecies/variant name
mosquito=string
Name of the species/subspecies/variant.
Initial relative availability
→ scenario → interventions → vectorTrap → intervention → description → relativeAvailability
<relativeAvailability
value=double
/>
Documentation (element)
Units: Proportion Min: 0 Max: inf
Describes the availiability of a trap to a host-seeking mosquito relative to an average unprotected adult.
I.e. if this parameter is 2, then each trap will on average attract twice as many mosquitoes as unprotected adults.
This is the initial availability; it may decay towards zero depending on the configured decay function.
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Decay of availability
→ scenario → interventions → vectorTrap → intervention → description → decayOfAvailability
<decayOfAvailability
function=("constant" or "step" or "linear" or "exponential" or "weibull" or "hill" or "smooth-compact")
[ L=string ]
[ k=double ] DEFAULT VALUE 1.0
[ CV=double ] DEFAULT VALUE 0
/>
Documentation (element)
Describes how availability decays to zero.
If decay heterogeneity/variance is used, there will be a sample once-per-deployment (i.e. all traps of the same deployment will be affected the same way). There is no support for variances between traps (except in this crude way, between deployments).
Documentation (type)
Specification of decay or survival of a parameter.
Attributes
function
function=("constant" or "step" or "linear" or "exponential" or "weibull" or "hill" or "smooth-compact")
Units: None Min: 0 Max: 1
Determines which decay function to use. Available decay functions, for age t in years: constant: 1 step: 1 for t less than L, otherwise 0 linear: 1 - t/L for t less than L, otherwise 0 exponential: exp( - t/L * log(2) ) weibull: exp( -(t/L)^k * log(2) ) hill: 1 / (1 + (t/L)^k) smooth-compact: exp( k - k / (1 - (t/L)^2) ) for t less than L, otherwise 0
L
L=string
Units: User-defined (defaults to years) Min: 0
(Time) scale parameter of distribution: this is either the age of complete decay (smooth-compact, step and linear functions) or the age at which the parameter has decayed to half its original value (exponential, weibull and hill). Not used when function="constant" (i.e. no decay). This value can be specified in years, days or steps (e.g. 2y, 180d or 100t). When the unit is not specified years are assumed. The value is used without rounding except when sampling an age of decay, when the rounding happens as late as possible.
k
k=double
Units: none Min: 0
Default value: 1.0
Shape parameter of distribution. If not specified, default value of 1 is used. Meaning depends on function; not used in some cases.
Coefficient of Variation
CV=double
Min: 0
Default value: 0
If CV is non-zero, heterogeneity of decay is introduced via a random variable sampled from the log-normal distribution. This distribution is parameterised with mean=1 and CV as given. The effective age of decay is the real age multiplied by this variable (for decay functions with a half-life, this is equivalent to dividing the half-life by the variable).
Vector trap intervention deployment
→ scenario → interventions → vectorTrap → intervention → timed
<timed>
IN THIS ORDER:
| ( <deploy ... /> )*
</timed>
Documentation (element)
List of timed vector trap intervention deployment
deploy
→ scenario → interventions → vectorTrap → intervention → timed → deploy
<deploy
time=string
ratioToHumans=double
lifespan=string
/>
Attributes
Time
time=string
Units: User defined (defauls to steps) Min: 0
Time at which this deployment occurs. See doc on intervention period and on monitoring/startDate for details of how times work. Can be specified in steps, days, years, or as a date (examples: 15t, 75d, 0.2y, 2000-03-16).
Ratio to humans
ratioToHumans=double
Min: 0 Max: inf
The number of traps deployed, by this deployment, per adult human. E.g. if there are currently 100 traps and 1000 humans, then a ratio of 0.1 will increase the number of traps to 200.
Lifespan
lifespan=string
Units: Steps or Days or Years
Life of the trap until replaced or removed, e.g. "73t" or "1y". After this time period, these traps will be removed from the simulation. New deployments do not automatically remove old traps. Existing traps cannot be refurbished in the model. It may make sense to make the end-of-life coincide with a new deployment.
nonHumanHostsModifications
→ scenario → interventions → nonHumanHostsModifications
<nonHumanHostsModifications>
IN THIS ORDER:
| ( <intervention ... /> )+
</nonHumanHostsModifications>
Documentation (element)
List of interventions that modify parameters of non-human hosts described in the
intervention
→ scenario → interventions → nonHumanHostsModifications → intervention
<intervention
name=string
nonHumanHostsName=string
>
IN THIS ORDER:
| <decay ... />
| <description ... />
| [ <timed ... /> ]
</intervention>
Documentation (type)
This intervention modifies parameters of non-human hosts described in the
The intervention is described by 5 parameters that define the change in each of non-human host parameters:
reduceAvailability: Reduction in the availability rate, αi. For example a value of 0 will result in no change; a value of 0.2 will reduce the availability to 0.8 of its initial value; and a value of 1 will set the availability to 0;
prePrandialKillingEffect: Reduction in the pre-prandial survival probability, PBi. For example a value of 0 will result in no change; a value of 0.2 will reduce PBi to 0.8 of its initial value; and a value of 1 will set PBi to 0;
postPrandialKillingEffect: Reduction in the post-prandial survival probability, PCi. For example a value of 0 will result in no change; a value of 0.2 will reduce PCi to 0.8 of its initial value; and a value of 1 will set PCi to 0;
restingKillingEffect: Reduction in the survival probability of the resting period, PDi. For example a value of 0 will result in no change; a value of 0.2 will reduce PDi to 0.8 of its initial value; and a value of 1 will set PDi to 0;
Attributes
Name of intervention
name=string
Name of intervention (e.g. larviciding, sugar bait).
Name of intervention
nonHumanHostsName=string
Name of intervention (e.g. larviciding, sugar bait).
decay
→ scenario → interventions → nonHumanHostsModifications → intervention → decay
<decay
function=("constant" or "step" or "linear" or "exponential" or "weibull" or "hill" or "smooth-compact")
[ L=string ]
[ k=double ] DEFAULT VALUE 1.0
[ CV=double ] DEFAULT VALUE 0
/>
Documentation (type)
Specification of decay or survival of a parameter.
Attributes
function
function=("constant" or "step" or "linear" or "exponential" or "weibull" or "hill" or "smooth-compact")
Units: None Min: 0 Max: 1
Determines which decay function to use. Available decay functions, for age t in years: constant: 1 step: 1 for t less than L, otherwise 0 linear: 1 - t/L for t less than L, otherwise 0 exponential: exp( - t/L * log(2) ) weibull: exp( -(t/L)^k * log(2) ) hill: 1 / (1 + (t/L)^k) smooth-compact: exp( k - k / (1 - (t/L)^2) ) for t less than L, otherwise 0
L
L=string
Units: User-defined (defaults to years) Min: 0
(Time) scale parameter of distribution: this is either the age of complete decay (smooth-compact, step and linear functions) or the age at which the parameter has decayed to half its original value (exponential, weibull and hill). Not used when function="constant" (i.e. no decay). This value can be specified in years, days or steps (e.g. 2y, 180d or 100t). When the unit is not specified years are assumed. The value is used without rounding except when sampling an age of decay, when the rounding happens as late as possible.
k
k=double
Units: none Min: 0
Default value: 1.0
Shape parameter of distribution. If not specified, default value of 1 is used. Meaning depends on function; not used in some cases.
Coefficient of Variation
CV=double
Min: 0
Default value: 0
If CV is non-zero, heterogeneity of decay is introduced via a random variable sampled from the log-normal distribution. This distribution is parameterised with mean=1 and CV as given. The effective age of decay is the real age multiplied by this variable (for decay functions with a half-life, this is equivalent to dividing the half-life by the variable).
description
→ scenario → interventions → nonHumanHostsModifications → intervention → description
<description>
IN THIS ORDER:
| ( <anopheles ... /> )+
</description>
anopheles
→ scenario → interventions → nonHumanHostsModifications → intervention → description → anopheles
<anopheles
mosquito=string
>
IN ANY ORDER:
| [ <availabilityReduction ... /> ]
| [ <preprandialKillingEffect ... /> ]
| [ <postprandialKillingEffect ... /> ]
| [ <restingKillingEffect ... /> ]
| [ <fecundityReduction ... /> ]
</anopheles>
- availabilityReduction
- preprandialKillingEffect
- postprandialKillingEffect
- restingKillingEffect
- fecundityReduction
Documentation (type)
Descriptions of the effects of non human hosts interventions with per-species effects.
Attributes
Species/subspecies/variant name
mosquito=string
Name of the species/subspecies/variant.
availabilityReduction
→ scenario → interventions → nonHumanHostsModifications → intervention → description → anopheles → availabilityReduction
<availabilityReduction
initial=double
/>
Documentation (element)
Reduction in the availability rate, αi. For example a value of 0 will result in no change; a value of 0.2 will reduce the availability to 0.8 of its initial value; and a value of 1 will set the availability to 0;
Attributes
Initial proportion increase
initial=double
Units: dimensionless Min: -1 Max: inf
preprandialKillingEffect
→ scenario → interventions → nonHumanHostsModifications → intervention → description → anopheles → preprandialKillingEffect
<preprandialKillingEffect
initial=double
/>
Documentation (element)
Reduction in the pre-prandial survival probability, PBi. For example a value of 0 will result in no change; a value of 0.2 will reduce PBi to 0.8 of its initial value; and a value of 1 will set PBi to 0;
Attributes
Initial proportion increase
initial=double
Units: dimensionless Min: -1 Max: inf
postprandialKillingEffect
→ scenario → interventions → nonHumanHostsModifications → intervention → description → anopheles → postprandialKillingEffect
<postprandialKillingEffect
initial=double
/>
Documentation (element)
Reduction in the post-prandial survival probability, PCi. For example a value of 0 will result in no change; a value of 0.2 will reduce PCi to 0.8 of its initial value; and a value of 1 will set PCi to 0;
Attributes
Initial proportion increase
initial=double
Units: dimensionless Min: -1 Max: inf
restingKillingEffect
→ scenario → interventions → nonHumanHostsModifications → intervention → description → anopheles → restingKillingEffect
<restingKillingEffect
initial=double
/>
Documentation (element)
Reduction in the survival probability of the resting period, PDi. For example a value of 0 will result in no change; a value of 0.2 will reduce PDi to 0.8 of its initial value; and a value of 1 will set PDi to 0;
Attributes
Initial proportion increase
initial=double
Units: dimensionless Min: -1 Max: inf
fecundityReduction
→ scenario → interventions → nonHumanHostsModifications → intervention → description → anopheles → fecundityReduction
<fecundityReduction
initial=double
/>
Documentation (element)
Reduction in the number of fertile eggs laid by a mosquito after biting this type of host, relative to an unprotected human. For example a value of 0 will result in no change; a value of 0.2 will reduce the fecundity factor to 0.8 of its initial value; and a value of 1 will set the fecundity factor to 0;
Attributes
Initial proportion increase
initial=double
Units: dimensionless Min: -1 Max: inf
Vector population intervention deployment
→ scenario → interventions → nonHumanHostsModifications → intervention → timed
<timed>
IN THIS ORDER:
| ( <deploy ... /> )+
</timed>
Documentation (element)
List of timed vector population intervention deployment
addNonHumanHosts
→ scenario → interventions → addNonHumanHosts
<addNonHumanHosts>
IN THIS ORDER:
| ( <nonHumanHosts ... /> )+
</addNonHumanHosts>
Documentation (element)
List of intervention that add new non-human hosts that have not been described in the
nonHumanHosts
→ scenario → interventions → addNonHumanHosts → nonHumanHosts
<nonHumanHosts
name=string
>
IN THIS ORDER:
| <description ... />
| [ <timed ... /> ]
</nonHumanHosts>
Documentation (type)
Describes a new non-human hosts that have not been described in the
Attributes
Name of intervention
name=string
Name of intervention (e.g. larviciding, sugar bait).
description
→ scenario → interventions → addNonHumanHosts → nonHumanHosts → description
<description>
IN THIS ORDER:
| ( <anopheles ... /> )+
</description>
anopheles
→ scenario → interventions → addNonHumanHosts → nonHumanHosts → description → anopheles
<anopheles
mosquito=string
>
IN ANY ORDER:
| <mosqRelativeAvailabilityHuman ... />
| <mosqProbBiting ... />
| <mosqProbFindRestSite ... />
| <mosqProbResting ... />
| <hostFecundityFactor ... />
</anopheles>
- mosqRelativeAvailabilityHuman
- mosqProbBiting
- mosqProbFindRestSite
- mosqProbResting
- hostFecundityFactor
Documentation (type)
Descriptions of the effects of new non human hosts with per-species effects.
Attributes
Species/subspecies/variant name
mosquito=string
Name of the species/subspecies/variant.
Relative availability of non-human host (ξ_i)
→ scenario → interventions → addNonHumanHosts → nonHumanHosts → description → anopheles → mosqRelativeAvailabilityHuman
<mosqRelativeAvailabilityHuman
value=double
/>
Documentation (element)
Units: Proportion
Relative availability of the population of non-human hosts of type i to other non-human hosts; the sum of this across all non-human hosts must be 1.
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Probability of mosquito successfully biting host
→ scenario → interventions → addNonHumanHosts → nonHumanHosts → description → anopheles → mosqProbBiting
<mosqProbBiting
value=double
/>
Documentation (element)
Units: Proportion
Probability of mosquito successfully biting host
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Probability that the mosquito escapes host and finds a resting place after biting
→ scenario → interventions → addNonHumanHosts → nonHumanHosts → description → anopheles → mosqProbFindRestSite
<mosqProbFindRestSite
value=double
/>
Documentation (element)
Units: Proportion
Probability that the mosquito escapes host and finds a resting place after biting
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Probability of mosquito successfully resting after finding a resting site
→ scenario → interventions → addNonHumanHosts → nonHumanHosts → description → anopheles → mosqProbResting
<mosqProbResting
value=double
/>
Documentation (element)
Units: Proportion
Probability of mosquito successfully resting after finding a resting site
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Probability of mosquito successfully resting after finding a resting site
→ scenario → interventions → addNonHumanHosts → nonHumanHosts → description → anopheles → hostFecundityFactor
<hostFecundityFactor
value=double
/>
Documentation (element)
Units: Proportion
Multiplicative factor for the number of fertile eggs laid by a mosquito after biting this type of host, relative to an unprotected human.
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Vector trap intervention deployment
→ scenario → interventions → addNonHumanHosts → nonHumanHosts → timed
<timed>
IN THIS ORDER:
| ( <deploy ... /> )*
</timed>
Documentation (element)
List of timed vector trap intervention deployment
deploy
→ scenario → interventions → addNonHumanHosts → nonHumanHosts → timed → deploy
<deploy
time=string
lifespan=string
/>
Attributes
Time
time=string
Units: User defined (defauls to steps) Min: 0
Time at which this deployment occurs. See doc on intervention period and on monitoring/startDate for details of how times work. Can be specified in steps, days, years, or as a date (examples: 15t, 75d, 0.2y, 2000-03-16).
Lifespan
lifespan=string
Units: Steps or Days or Years
Life of the trap until replaced or removed, e.g. "73t" or "1y". After this time period, these traps will be removed from the simulation. New deployments do not automatically remove old traps. Existing traps cannot be refurbished in the model. It may make sense to make the end-of-life coincide with a new deployment.
Human-specific interventions
→ scenario → interventions → human
<human>
IN THIS ORDER:
| ( <component ... /> )+
| ( <deployment ... /> )*
</human>
Documentation (element)
Encapsulates all interventions whose effects are specific to the human host: any interventions where target humans may be selected via population-coverage, age limits and sub-population membership.
Component
→ scenario → interventions → human → component
<component
id=string
[ name=string ]
>
IN THIS ORDER:
| EXACTLY ONE OF:
| | <screen ... />
| | <treatSimple ... />
| | <treatPKPD ... />
| | <decisionTree ... />
| | <PEV ... />
| | <BSV ... />
| | <TBV ... />
| | <ITN ... />
| | <IRS ... />
| | <GVI ... />
| | [ <recruitmentOnly ... /> ]
| | <clearImmunity ... />
| [ <subPopRemoval ... /> ]
</component>
- screen
- treatSimple
- treatPKPD
- decisionTree
- PEV
- BSV
- TBV
- ITN
- IRS
- GVI
- recruitmentOnly
- clearImmunity
- subPopRemoval
Documentation (element)
A parameterisation of an effect achieved by one component of an intervention. (An intervention is described as the effects of a set of components plus deployments of those components. This describes the components individually, not deployments or which components comprise an intervention.)
Each element describes one component: its effects, decay of the(se) effect(s), and related stuff (e.g. description of indirect decay and of usage levels).
Different interventions can deploy the same component to the same perso. In most cases this will just deploy a fresh instance (e.g. a new bed net will replace the old (nobody uses multiple bed nets), or a new drug dose will act on top of previous doses, or in the case of a vaccine, effect depends on the total number of previous inoculations (including from other interventions).
Where multiple components of the same type (but with different ids) are deployed (whether within a single intervention or by multiple interventions), they act independently (e.g. two bed nets deployed to a single host would act to reduce attractiveness or survival of mosquitoes biting that host twice — this may be useful to simulate some novel vector intervention since the two nets may have separate parameters).
Attributes
Component identifier
id=string
A short name or code identifying the intervention component (used to refer to this component when describing an intervention). Also the id of the sub-population defined as those hosts who have received this intervention and who haven't subsequently been removed from the sub-population.
Name of component
name=string
An informal name/description for the component
screen
→ scenario → interventions → human → component → screen
<screen
diagnostic=string
>
IN THIS ORDER:
| ( <positive ... /> )*
| ( <negative ... /> )*
</screen>
Documentation (type)
This can be combined with MDA to achieve mass screen and treat (MSAT) or other types of mass screening intervention.
When deployed to a host, this simulates a test of patent malaria (microscopy, RDT or some such), then triggers deployment of whichever intervention components are configured (deployments for both positive and negative test outcomes can be configured).
The use of the screening itself is reported (if enabled), but not the outcome. Deployment of interventions triggered by the screening may be reported, however.
Attributes
Name of diagnostic
diagnostic=string
Name of a parameterised diagnostic (see scenario/diagnostics).
positive
→ scenario → interventions → human → component → screen → positive
<positive
id=string
/>
Documentation (type)
The list of components deployed to eligible humans.
Attributes
Identifier
id=string
The identifier (short name) of a component.
negative
→ scenario → interventions → human → component → screen → negative
<negative
id=string
/>
Documentation (type)
The list of components deployed to eligible humans.
Attributes
Identifier
id=string
The identifier (short name) of a component.
treatSimple
→ scenario → interventions → human → component → treatSimple
<treatSimple
durationLiver=string
durationBlood=string
/>
Documentation (type)
Simple treatment model, targetting liver- and/or blood-stage infections. This is all-or-nothing treatment which, when deploymed, completely clears all infections of the targetted stages. This makes it unsuitable for modeling resistance, but suitable for use with simple infection models.
Infections are considered liver-stage when less than five days old and blood-stage after that. Effects are described independently for the two stages.
Attributes
Length of liver-stage effect
durationLiver=string
Units: User defined
Controls action on liver-stage infections. 0 means no action, -1 step is a compatibility option to act like treatment before schema version 32 (which removed infections retrospectively), 1 step or any duration which equals some whole number of steps n>0 means to clear all liver-stage infections found on the next 1 or n steps. Note on -1 compatibility option: the main difference to 1 step (clearing on the next timestep) is that parasite densities will be reduced immediately, and thus from the point of view of surveys and mass screen and treat interventions a peak in density which is immediately treated through case management will not be seen. Can be specified in steps (e.g. 1t, -1t) or days (e.g. 5d).
Length of blood-stage effect
durationBlood=string
Units: User defined
Controls action on blood-stage infections. 0 means no action, -1 step is a compatibility option to act like treatment before schema version 32 (which removed infections retrospectively), 1 step or any duration which equals some whole number of steps n>0 means to clear all blood-stage infections found on the next 1 or n steps. Note on -1 compatibility option: the main difference to 1 step (clearing on the next timestep) is that parasite densities will be reduced immediately, and thus from the point of view of surveys and mass screen and treat interventions a peak in density which is immediately treated through case management will not be seen. Can be specified in steps (e.g. 1t, -1t) or days (e.g. 5d).
treatPKPD
→ scenario → interventions → human → component → treatPKPD
<treatPKPD
schedule=string
dosage=string
[ delay_h=double ] DEFAULT VALUE 0
/>
Documentation (type)
A command to administer drugs according to a given schedule and dosage table, optionally with a delay.
Attributes
Name of treatment schedule
schedule=string
The name of a schedule to use for treatment.
Name of dosage table
dosage=string
The name of a dosage table to use for treatment.
Delay (hours)
delay_h=double
Default value: 0
Optionally, this can be given to delay the start of treatment by a given number of hours. If not specified, treatment is not delayed. If a delay is given, all medications within the treatment schedule used are delayed by this number of hours.
decisionTree
→ scenario → interventions → human → component → decisionTree
<decisionTree
[ name=string ]
>
EXACTLY ONE OF:
| <multiple ... />
| <caseType ... />
| <diagnostic ... />
| <random ... />
| <age ... />
| <noTreatment ... />
| <treatFailure ... />
| ( <treatPKPD ... /> )+
| <treatSimple ... />
| ( <deploy ... /> )+
</decisionTree>
Documentation (type)
Describes how "decisions" are made, both probabilistically and deterministically, and what actions are carried out.
Quantities may also be reported as a side effect of decisions made in the tree, for example the number of diagnostics used.
Attributes
Name
name=string
An optional piece of documentation attached to this node.
Vaccines
→ scenario → interventions → human → component → PEV
<PEV>
IN THIS ORDER:
| <decay ... />
| <efficacyB ... />
| ( <initialEfficacy ... /> )*
| ( <phenotype ... /> )*
</PEV>
Documentation (element)
Pre-erythrocytic vaccine (PEV): prevents a proportion of infections from commencing.
Documentation (type)
Description of a vaccine's effect
Decay of effect
→ scenario → interventions → human → component → PEV → decay
<decay
function=("constant" or "step" or "linear" or "exponential" or "weibull" or "hill" or "smooth-compact")
[ L=string ]
[ k=double ] DEFAULT VALUE 1.0
[ CV=double ] DEFAULT VALUE 0
/>
Documentation (element)
Specification of decay of efficacy. Documentation: see DecayFunction type or https://github.com/SwissTPH/openmalaria/wiki/ModelDecayFunctions
Documentation (type)
Specification of decay or survival of a parameter.
Attributes
function
function=("constant" or "step" or "linear" or "exponential" or "weibull" or "hill" or "smooth-compact")
Units: None Min: 0 Max: 1
Determines which decay function to use. Available decay functions, for age t in years: constant: 1 step: 1 for t less than L, otherwise 0 linear: 1 - t/L for t less than L, otherwise 0 exponential: exp( - t/L * log(2) ) weibull: exp( -(t/L)^k * log(2) ) hill: 1 / (1 + (t/L)^k) smooth-compact: exp( k - k / (1 - (t/L)^2) ) for t less than L, otherwise 0
L
L=string
Units: User-defined (defaults to years) Min: 0
(Time) scale parameter of distribution: this is either the age of complete decay (smooth-compact, step and linear functions) or the age at which the parameter has decayed to half its original value (exponential, weibull and hill). Not used when function="constant" (i.e. no decay). This value can be specified in years, days or steps (e.g. 2y, 180d or 100t). When the unit is not specified years are assumed. The value is used without rounding except when sampling an age of decay, when the rounding happens as late as possible.
k
k=double
Units: none Min: 0
Default value: 1.0
Shape parameter of distribution. If not specified, default value of 1 is used. Meaning depends on function; not used in some cases.
Coefficient of Variation
CV=double
Min: 0
Default value: 0
If CV is non-zero, heterogeneity of decay is introduced via a random variable sampled from the log-normal distribution. This distribution is parameterised with mean=1 and CV as given. The effective age of decay is the real age multiplied by this variable (for decay functions with a half-life, this is equivalent to dividing the half-life by the variable).
Variance parameter for vaccine efficacy
→ scenario → interventions → human → component → PEV → efficacyB
<efficacyB
value=double
/>
Documentation (element)
Units: Positive real Min: 0.001 Max: 1.00E+06
Measure of variation in vaccine efficacy: efficacy is sampled from a beta distribution with efficacyB its beta parameter and its alpha parameter fixed such that the mean is that given by initialEfficacy.
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Initial mean efficacy
→ scenario → interventions → human → component → PEV → initialEfficacy
<initialEfficacy
value=double
/>
Documentation (element)
Units: dimensionless Min: 0 Max: 1
Mean efficacy values before decay (see efficacyB and decay parameter descriptions for sampling and decay). The i-th value in this list is used for the efficacy of the vaccine after the i-th dose. Where more doses are given than there are values in this list, the last value is repeated.
Attributes
Input parameter value
value=double
A double-precision floating-point value.
PD parameters for some allele / resistance phenotype
→ scenario → interventions → human → component → PEV → phenotype
<phenotype
[ name=string ]
>
IN THIS ORDER:
| ( <restriction ... /> )*
| ( <initialEfficacy ... /> )+
</phenotype>
Documentation (element)
Pharmaco-Dynamic parameters for some resistance phenotype.
To model resistance to this drug, describe multiple infection phenotypes (with respect to these PD parameters) and list one or more "restrict" elements for each phenotype.
Loci are specified elsewhere. Multiple loci may influence the action of a single drug and each locus may influence multiple drugs.
Attributes
Name of phenotype
name=string
Name of the phenotype; for documentation use only.
restriction
→ scenario → interventions → human → component → PEV → phenotype → restriction
<restriction
onLocus=string
toAllele=string
/>
Documentation (type)
Specifies the mapping from genotype to phenotype. For each drug type, if only one phenotype is present, restrictions need not be specified, but otherwise restrictions must be specified.
The set of loci affecting phenotypes of this drug's action must be fixed for any drug type. Each phenotype must list, for each of these loci, a restriction to one or more alleles under the locus.
Attributes
Locus relevant to the mapping of alleles to this phenotype
onLocus=string
A locus under which only a restricted set of alleles map to this phenotype.
Alleles mapping to this phenotype
toAllele=string
One allele of a locus upon which phenotype choice depends. If multiple alleles under this locus should map to the same phenotype, repeat the whole "restriction onLocus..." element.
Initial mean efficacy
→ scenario → interventions → human → component → PEV → phenotype → initialEfficacy
<initialEfficacy
value=double
/>
Documentation (element)
Units: dimensionless Min: 0 Max: 1
Mean efficacy values before decay (see efficacyB and decay parameter descriptions for sampling and decay). The i-th value in this list is used for the efficacy of the vaccine after the i-th dose. Where more doses are given than there are values in this list, the last value is repeated.
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Vaccines
→ scenario → interventions → human → component → BSV
<BSV>
IN THIS ORDER:
| <decay ... />
| <efficacyB ... />
| ( <initialEfficacy ... /> )*
| ( <phenotype ... /> )*
</BSV>
Documentation (element)
Blood-stage vaccine (BSV): acts as a killing factor on blood-stage parasites. Exact action depends on the within host model.
Documentation (type)
Description of a vaccine's effect
Vaccines
→ scenario → interventions → human → component → TBV
<TBV>
IN THIS ORDER:
| <decay ... />
| <efficacyB ... />
| ( <initialEfficacy ... /> )*
| ( <phenotype ... /> )*
</TBV>
Documentation (element)
Transmission-blocking vaccine (TBV): one minus this scales the probability of transmission to mosquitoes
Documentation (type)
Description of a vaccine's effect
Bed nets
→ scenario → interventions → human → component → ITN
<ITN>
IN THIS ORDER:
| [ <usage ... /> ]
| <holeRate ... />
| <ripRate ... />
| <ripFactor ... />
| <initialInsecticide ... />
| <insecticideDecay ... />
| <attritionOfNets ... />
| ( <anophelesParams ... /> )+
</ITN>
- usage
- holeRate
- ripRate
- ripFactor
- initialInsecticide
- insecticideDecay
- attritionOfNets
- anophelesParams
Documentation (element)
Description of bed-net interventions (ITNs, LLINs).
Proportion of time nets are used by humans
→ scenario → interventions → human → component → ITN → usage
<usage
value=double
/>
Documentation (element)
Units: dimensionless Min: 0 Max: 1
Usage of nets by humans, from 0 to 1.
At the moment this is constant across humans and deterministic: relative attractiveness and survival factors are base*(1-usagepropActing) + intervention_factorusage*propActing.
See also "propActing" (proportion of bits for which net acts).
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Rate at which holes are made
→ scenario → interventions → human → component → ITN → holeRate
<holeRate
[ CV=double ]
[ distr=("const" or "lognormal") ] DEFAULT VALUE const
mean=double
/>
Documentation (element)
Units: Holes per annum Min: 0
The rate at which new holes are made in nets.
nHoles(t) = nHoles(t-1) + X where X~Pois(R/T) where T is the number of time-steps per year. R is sampled from log-normal: R ~ log N( log(mean)-sigma²/2, sigma² ) and is covariant with ripRate and insecticideDecay. (To be exact, a single Gaussian sample is taken, adjusted for each sigma then exponentiated.)
Documentation (type)
A parameter with optional log-normal heterogeneity.
The mean value must be specified. Optionally, a distribution ("distr") and coefficient of variation ("CV") may be specified.
Documentation (base type)
A parameter with optional heterogeneity.
The mean cannot be specified (unless this type is extended). Optionally, a distribution ("distr") and coefficient of variation ("CV") may be specified.
Attributes
Coefficient of variation
CV=double
Units: unitless
The (linear) coefficient of variation. This value must be specified when a (non-constant) distribution is used. Note that specifying CV="0" has the same effect as distr="const" and disables sampling of this parameter, even if distr is not "const".
Distribution
distr=("const" or "lognormal")
Default value: const
To allow heterogeneity, a distribution must be specified. Valid options are as follows. "const": no variation or sampling. Specifying distr="const" has the same effect as not specifying distr at all. "lognormal": the parameter is sampled from a log-normal distribution. Note that the "mean" and "CV" values are linear (arithmetic) properties of the distribution and not log-space properties.
mean
mean=double
The (linear) mean value.
Rate at which holes are enlarged
→ scenario → interventions → human → component → ITN → ripRate
<ripRate
[ CV=double ]
[ distr=("const" or "lognormal") ] DEFAULT VALUE const
mean=double
/>
Documentation (element)
Units: Rips per existing hole per annum Min: 0
Each existing hole has a probability of being ripped bigger according to a Poisson process with this rate as (only) parameter.
New rips occur in a net at rate X~Pois(h×R/T) where h is the number of existing holes and T the number of time-steps per year. R is sampled from log-normal: R ~ log N( log(mean)-sigma²/2, sigma² ) and is covariant with holeRate and insecticideDecay. (To be exact, a single Gaussian sample is taken, adjusted for the each and sigma then exponentiated.)
Documentation (type)
A parameter with optional log-normal heterogeneity.
The mean value must be specified. Optionally, a distribution ("distr") and coefficient of variation ("CV") may be specified.
Documentation (base type)
A parameter with optional heterogeneity.
The mean cannot be specified (unless this type is extended). Optionally, a distribution ("distr") and coefficient of variation ("CV") may be specified.
Attributes
Coefficient of variation
CV=double
Units: unitless
The (linear) coefficient of variation. This value must be specified when a (non-constant) distribution is used. Note that specifying CV="0" has the same effect as distr="const" and disables sampling of this parameter, even if distr is not "const".
Distribution
distr=("const" or "lognormal")
Default value: const
To allow heterogeneity, a distribution must be specified. Valid options are as follows. "const": no variation or sampling. Specifying distr="const" has the same effect as not specifying distr at all. "lognormal": the parameter is sampled from a log-normal distribution. Note that the "mean" and "CV" values are linear (arithmetic) properties of the distribution and not log-space properties.
mean
mean=double
The (linear) mean value.
Rip factor
→ scenario → interventions → human → component → ITN → ripFactor
<ripFactor
value=double
/>
Documentation (element)
Units: none Min: 0
This factor expresses how important rips are in increasing the hole.
The hole index of a net is h + F×x where h and x are the total numbers of holes and rips respectively and F is the rip factor.
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Initial insecticide
→ scenario → interventions → human → component → ITN → initialInsecticide
<initialInsecticide
mean=double
[ SD=double ]
[ distr=("const" or "normal") ] DEFAULT VALUE const
/>
Documentation (element)
Units: mg/m² Min: 0
The insecticide concentration of new nets is Gaussian distributed with mean "mu" and a standard deviation "sigma". The standard deviation should be small relative to the mean to avoid negative initial concentration. Any negative values sampled are set to 0.
Documentation (type)
A parameter with optional heterogeneity.
Optionally, a distribution ("distr") and standard of deviation ("SD") may be specified.
Attributes
mean
mean=double
The mean value.
standard deviation
SD=double
The standard deviation of variates.
Distribution
distr=("const" or "normal")
Default value: const
To allow heterogeneity, a distribution must be specified. Valid options are as follows. "const": no variation or sampling. Specifying distr="const" has the same effect as not specifying distr at all. "normal": the parameter is sampled from a normal distribution.
Decay of insecticide
→ scenario → interventions → human → component → ITN → insecticideDecay
<insecticideDecay
function=("constant" or "step" or "linear" or "exponential" or "weibull" or "hill" or "smooth-compact")
[ L=string ]
[ k=double ] DEFAULT VALUE 1.0
[ CV=double ] DEFAULT VALUE 0
/>
Documentation (element)
Units: none
Decay curve for insecticide content of nets. Documentation: see DecayFunction type or https://github.com/SwissTPH/openmalaria/wiki/ModelDecayFunctions
The distribution of decay rates over nets is covariant with the distribution of ripRate and holeRate over nets. This distribution is generated by taking one sample per net from a Gaussian distribution with mean 0 and standard deviation 1. For each variable, the sample is multiplied by the respective sigma and a constant added such that, once exponentiated, the mean of the variable over nets is 1. The variable is then exponentiated and multiplied by the required mean rate for the respective variable.
Documentation (type)
Specification of decay or survival of a parameter.
Attributes
function
function=("constant" or "step" or "linear" or "exponential" or "weibull" or "hill" or "smooth-compact")
Units: None Min: 0 Max: 1
Determines which decay function to use. Available decay functions, for age t in years: constant: 1 step: 1 for t less than L, otherwise 0 linear: 1 - t/L for t less than L, otherwise 0 exponential: exp( - t/L * log(2) ) weibull: exp( -(t/L)^k * log(2) ) hill: 1 / (1 + (t/L)^k) smooth-compact: exp( k - k / (1 - (t/L)^2) ) for t less than L, otherwise 0
L
L=string
Units: User-defined (defaults to years) Min: 0
(Time) scale parameter of distribution: this is either the age of complete decay (smooth-compact, step and linear functions) or the age at which the parameter has decayed to half its original value (exponential, weibull and hill). Not used when function="constant" (i.e. no decay). This value can be specified in years, days or steps (e.g. 2y, 180d or 100t). When the unit is not specified years are assumed. The value is used without rounding except when sampling an age of decay, when the rounding happens as late as possible.
k
k=double
Units: none Min: 0
Default value: 1.0
Shape parameter of distribution. If not specified, default value of 1 is used. Meaning depends on function; not used in some cases.
Coefficient of Variation
CV=double
Min: 0
Default value: 0
If CV is non-zero, heterogeneity of decay is introduced via a random variable sampled from the log-normal distribution. This distribution is parameterised with mean=1 and CV as given. The effective age of decay is the real age multiplied by this variable (for decay functions with a half-life, this is equivalent to dividing the half-life by the variable).
Attrition of nets
→ scenario → interventions → human → component → ITN → attritionOfNets
<attritionOfNets
function=("constant" or "step" or "linear" or "exponential" or "weibull" or "hill" or "smooth-compact")
[ L=string ]
[ k=double ] DEFAULT VALUE 1.0
[ CV=double ] DEFAULT VALUE 0
/>
Documentation (element)
Units: dimensionless
Specifies the rate at which nets are disposed of over time. Documentation: see DecayFunction type or https://github.com/SwissTPH/openmalaria/wiki/ModelDecayFunctions
In the current model, nets are disposed of randomly (no correlation with state of decay) such that the chance of each net surviving until age t is the value of this decay function at time t. Equivalently (where a large number of nets are distributed at the same time), the proportion of nets remaining in use should match this decay function over time.
Humans are removed from the intervention component's sub-population on disposal (attrition) of their nets. Currently this event is not reported.
Documentation (type)
Specification of decay or survival of a parameter.
Attributes
function
function=("constant" or "step" or "linear" or "exponential" or "weibull" or "hill" or "smooth-compact")
Units: None Min: 0 Max: 1
Determines which decay function to use. Available decay functions, for age t in years: constant: 1 step: 1 for t less than L, otherwise 0 linear: 1 - t/L for t less than L, otherwise 0 exponential: exp( - t/L * log(2) ) weibull: exp( -(t/L)^k * log(2) ) hill: 1 / (1 + (t/L)^k) smooth-compact: exp( k - k / (1 - (t/L)^2) ) for t less than L, otherwise 0
L
L=string
Units: User-defined (defaults to years) Min: 0
(Time) scale parameter of distribution: this is either the age of complete decay (smooth-compact, step and linear functions) or the age at which the parameter has decayed to half its original value (exponential, weibull and hill). Not used when function="constant" (i.e. no decay). This value can be specified in years, days or steps (e.g. 2y, 180d or 100t). When the unit is not specified years are assumed. The value is used without rounding except when sampling an age of decay, when the rounding happens as late as possible.
k
k=double
Units: none Min: 0
Default value: 1.0
Shape parameter of distribution. If not specified, default value of 1 is used. Meaning depends on function; not used in some cases.
Coefficient of Variation
CV=double
Min: 0
Default value: 0
If CV is non-zero, heterogeneity of decay is introduced via a random variable sampled from the log-normal distribution. This distribution is parameterised with mean=1 and CV as given. The effective age of decay is the real age multiplied by this variable (for decay functions with a half-life, this is equivalent to dividing the half-life by the variable).
anophelesParams
→ scenario → interventions → human → component → ITN → anophelesParams
<anophelesParams
mosquito=string
[ propActive=double ] DEFAULT VALUE 1
>
IN THIS ORDER:
| [ <holeIndexMax ... /> ]
| EXACTLY ONE OF:
| | <deterrency ... />
| | <twoStageDeterrency ... />
| EXACTLY ONE OF:
| | <preprandialKillingEffect ... />
| | <preprandialKillingEffectLogit ... />
| EXACTLY ONE OF:
| | <postprandialKillingEffect ... />
| | <postprandialKillingEffectLogit ... />
| EXACTLY ONE OF:
| | [ <fecundityReduction ... /> ]
| | [ <fecundityReductionLogit ... /> ]
</anophelesParams>
- holeIndexMax
- deterrency
- twoStageDeterrency
- preprandialKillingEffect
- preprandialKillingEffectLogit
- postprandialKillingEffect
- postprandialKillingEffectLogit
- fecundityReduction
- fecundityReductionLogit
Attributes
Mosquito species
mosquito=string
Name of the affected anopheles-mosquito species.
Proportion of bites for which net acts
propActive=double
Units: dimensionless Min: 0 Max: 1
Default value: 1
Deprecated: propActive can still be used but its value must be set to either 0 or 1. Any other value will result in an error at initialization. The proportion of bites, when nets are in use, for which the net has any action whatsoever on the mosquito. At the moment this is constant across humans and deterministic: relative attractiveness and survival factors are base*(1-usagepropActing) + intervention_factorusage*propActing. See also "usage" (proportion of time nets are used by humans).
maximum of holed surface area that has an effect (comparable to no net)
→ scenario → interventions → human → component → ITN → anophelesParams → holeIndexMax
<holeIndexMax
value=double
/>
Documentation (element)
Units: in same unit as holeIndex
Used by logit attacking and killing models only, holeIndexMax is a user defined maximum hole index (typically, the total surface area of a net).
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Relative attractiveness
→ scenario → interventions → human → component → ITN → anophelesParams → deterrency
<deterrency
insecticideFactor=double
insecticideScalingFactor=double
holeFactor=double
interactionFactor=double
holeScalingFactor=double
/>
Documentation (element)
Units: dimensionless Min: 0 Max: 1
Effect of net on attractiveness of humans to mosquitoes relative to an unprotected adult human. Parameterisations should take into account that mosquitoes do not always bite indoors.
Attractiveness of the human is multiplied by exp(log(H)×h + log(P)×p + log(I)×h×p where H, P and I are the hole, insecticide and interaction factors respectively, h=exp(-holeIndex×holeScalingFactor) and p=1−exp(-insecticideContent×insecticideScalingFactor).
Attributes
Insecticide factor
insecticideFactor=double
Units: none Max: 1
Value expected to be at least 0. Negative values are not necessarily invalid, but allow nets to increase transmission.
Insecticide scaling factor
insecticideScalingFactor=double
Units: none Min: 0
Hole factor
holeFactor=double
Units: none Max: 1
Value expected to be at least 0. Negative values are not necessarily invalid, but allow nets to increase transmission.
Interaction factor
interactionFactor=double
Units: none Max: 1
holeFactor + insecticideFactor + interactionFactor must not be greater than 1, and is expected to be at least 0. A negative value is not necessarily invalid, but allows nets to increase transmission.
Hole scaling factor
holeScalingFactor=double
Units: none Min: 0
Relative attractiveness
→ scenario → interventions → human → component → ITN → anophelesParams → twoStageDeterrency
<twoStageDeterrency>
IN THIS ORDER:
| EXACTLY ONE OF:
| | <entering ... />
| | <enteringLogit ... />
| EXACTLY ONE OF:
| | <attacking ... />
| | <attackingLogit ... />
</twoStageDeterrency>
Documentation (element)
Units: dimensionless
Effect of net on attractiveness of humans to mosquitoes relative to an unprotected adult human. Parameterisations should take into account that mosquitoes do not always bite indoors.
This deterrency model multiplies human attractiveness by pEnt×pAtt.
Deterrency: entering
→ scenario → interventions → human → component → ITN → anophelesParams → twoStageDeterrency → entering
<entering
insecticideFactor=double
insecticideScalingFactor=double
/>
Documentation (element)
Units: dimensionless
pEnt represents the relative probability of entering due to ITNs: pEnt = exp(log(P)×p) where P is the insecticide factor and p=1−exp(-insecticideContent×insecticideScalingFactor).
Attributes
Insecticide factor
insecticideFactor=double
Units: none Max: 1
Value expected to be at least 0. Negative values are not necessarily invalid, but allow nets to increase transmission.
Insecticide scaling factor
insecticideScalingFactor=double
Units: none Min: 0
Deterrency: entering (logit model)
→ scenario → interventions → human → component → ITN → anophelesParams → twoStageDeterrency → enteringLogit
<enteringLogit
baseFactor=double
insecticideFactor=double
/>
Documentation (element)
Units: dimensionless
pEnt represents the relative probability of entering due to insecticide in the hut: pEnt = exp(logit.pEnt) / (exp(logit.pEnt) + 1) logit.pEnt = B + P * p where B is the basefactor (without net); P is insecticide factor, and p = log(insecticideContent+1). Without a net, probability of entering a house is pEnt0 = exp(logit.pEnt0) / (exp(logit.pEnt0) + 1) logit.pEnt0 = B Entering of mosquitoes is adjusted via multiplication by pEnt / pEnt0. To keep this in the range [0,1], we (normally) require that pEnt ≤ pEnt0 and thus P ≤ 0 and give a warning if this is not fulfilled.
Attributes
Base factor
baseFactor=double
Units: none
See parent element documentation
Insecticide factor
insecticideFactor=double
Units: none
See parent element documentation
Deterrency: attacking
→ scenario → interventions → human → component → ITN → anophelesParams → twoStageDeterrency → attacking
<attacking
insecticideFactor=double
insecticideScalingFactor=double
holeFactor=double
interactionFactor=double
holeScalingFactor=double
baseFactor=double
/>
Documentation (element)
Units: dimensionless
pAtt represents the relative probability of attacking a human after entering a house due to ITNs (i.e. of feeding/dying vs. flying off): pAtt = B + H×h + P×p + I×h×p where B is the base (without net) probability; H, P and I are the hole, insecticide and interaction factors respectively, h=exp(-holeIndex × holeScalingFactor) and p=1 - exp(-insecticideContent × insecticideScalingFactor).
Attributes
Insecticide factor
insecticideFactor=double
Units: none Max: 1
Value expected to be at least 0. Negative values are not necessarily invalid, but allow nets to increase transmission.
Insecticide scaling factor
insecticideScalingFactor=double
Units: none Min: 0
Hole factor
holeFactor=double
Units: none Max: 1
Value expected to be at least 0. Negative values are not necessarily invalid, but allow nets to increase transmission.
Interaction factor
interactionFactor=double
Units: none Max: 1
holeFactor + insecticideFactor + interactionFactor must not be greater than 1, and is expected to be at least 0. A negative value is not necessarily invalid, but allows nets to increase transmission.
Hole scaling factor
holeScalingFactor=double
Units: none Min: 0
Probability of mosquito death without intervention
baseFactor=double
Units: dimensionless
Deterrency: attacking (logit model)
→ scenario → interventions → human → component → ITN → anophelesParams → twoStageDeterrency → attackingLogit
<attackingLogit
baseFactor=double
insecticideFactor=double
holeFactor=double
interactionFactor=double
/>
Documentation (element)
Units: dimensionless
pAtt represents the relative probability of attacking a human after entering a house due to ITNs (i.e. of feeding/dying vs. flying off): pAtt = exp(logit.pAtt) / (exp(logit.pAtt) + 1) logit.pAtt = B + H×min(h, hMax) + P×p + I×min(h, hMax)×p where B is the base factor (without net); H, P and I are the hole, insecticide and interaction factors respectively, and: h = log(holeIndex + 1) p = log(insecticideContent + 1) Without a net, probability of attacking a human after entering a house is pAtt0 = exp(logit.pAtt0) / (exp(logit.pAtt0) + 1) logit.pAtt0 = B + H×hMax where hMax=log(holeIndexMax + 1) and holeIndexMax is a user defined maximum hole index (typically, the total surface area of a net). Attacking of mosquitoes is adjusted via multiplication by pAtt / pAtt0. This may be larger and smaller than 1 (but will not be negative). By definition (through the logit transformation) pAtt0 > 0.
Attributes
Base factor
baseFactor=double
Units: dimensionless
Logit of the probability (e.g. of death, of entry, of attacking) without intervention.
Insecticide factor
insecticideFactor=double
Units: none
Coefficient of log(insecticide content+1) in a generalized linear model with logit link function.
Hole factor
holeFactor=double
Units: none
Coefficient of log(total holed surface area (in cm2) +1) in a generalized linear model with logit link function.
Interaction factor
interactionFactor=double
Units: none
Coefficient of the interaction term of log(total holed surface area (in cm2) +1) with log(insecticide content+1) in a generalized linear model with logit link function.
Pre-prandial killing effect
→ scenario → interventions → human → component → ITN → anophelesParams → preprandialKillingEffect
<preprandialKillingEffect
insecticideFactor=double
insecticideScalingFactor=double
holeFactor=double
interactionFactor=double
holeScalingFactor=double
baseFactor=double
/>
Documentation (element)
Units: dimensionless Min: 0 Max: 1
Effect of net on survival mosquitoes as they seek to bite a human after choosing that human, relative to the same person not sleeping under a net. Parameterisations should take into account that mosquitoes do not always bite indoors.
Killing proportion is calculated as K = B + H×h + P×p + I×h×p where B is the base (without net) probability of death, H, P and I are the hole, insecticide and interaction factors respectively, h=exp(-holeIndex×holeScalingFactor) and p=1−exp(-insecticideContent×insecticideScalingFactor).
Survival of mosquitoes is adjusted via multiplication by (1−K) / (1−B). To keep this in the range [0,1], we require that B+H ≤ 1, B+P ≤ 1, B+H+P+I ≤ 1, H ≥ 0, P ≥ 0 and H+P+I ≥ 0.
Attributes
Insecticide factor
insecticideFactor=double
Units: none Max: 1
Value expected to be at least 0. Negative values are not necessarily invalid, but allow nets to increase transmission.
Insecticide scaling factor
insecticideScalingFactor=double
Units: none Min: 0
Hole factor
holeFactor=double
Units: none Max: 1
Value expected to be at least 0. Negative values are not necessarily invalid, but allow nets to increase transmission.
Interaction factor
interactionFactor=double
Units: none Max: 1
holeFactor + insecticideFactor + interactionFactor must not be greater than 1, and is expected to be at least 0. A negative value is not necessarily invalid, but allows nets to increase transmission.
Hole scaling factor
holeScalingFactor=double
Units: none Min: 0
Probability of mosquito death without intervention
baseFactor=double
Units: dimensionless
Pre-prandial killing effect (logit)
→ scenario → interventions → human → component → ITN → anophelesParams → preprandialKillingEffectLogit
<preprandialKillingEffectLogit
baseFactor=double
insecticideFactor=double
holeFactor=double
interactionFactor=double
/>
Documentation (element)
Units: dimensionless Min: 0 Max: 1
Effect of net on survival mosquitoes as they seek to bite a human
after choosing that human, relative to the same person not
sleeping under a net.
Killing proportion is calculated as
K=exp(logit.K)/(exp(logit.K)+1)
logit.K = B + H×min(h,hMax) + P×p + I×min(h,hMax)×p
where B is the basefactor (without net),
H, P and I are the hole, insecticide and interaction factors
respectively, h=log(holeIndex+1) and
p=log(insecticideContent+1).
Without a net, the killing proportion
K0=exp(logit.K0)/(exp(logit.K0)+1)
logit.K0 = B + H×hMax
where hMax=log(holeIndexMax+1) and holeIndexMax is a user defined maximum hole index (typically, the total surface area of a net).
Survival of mosquitoes is adjusted via multiplication by (1−K) / (1−K0).
To keep this in the range [0,1], we require that K ≥ K0. We enforce that P ≥ 0 (It would not make sense biologically if P were negative) and P+I*hMax ≥ 0 and H ≤ 0 and holeIndex ≤ holeIndexMax and give a warning if these conditions are not fulfilled.
Attributes
Base factor
baseFactor=double
Units: dimensionless
Logit of the probability (e.g. of death, of entry, of attacking) without intervention.
Insecticide factor
insecticideFactor=double
Units: none
Coefficient of log(insecticide content+1) in a generalized linear model with logit link function.
Hole factor
holeFactor=double
Units: none
Coefficient of log(total holed surface area (in cm2) +1) in a generalized linear model with logit link function.
Interaction factor
interactionFactor=double
Units: none
Coefficient of the interaction term of log(total holed surface area (in cm2) +1) with log(insecticide content+1) in a generalized linear model with logit link function.
Post-prandial killing effect
→ scenario → interventions → human → component → ITN → anophelesParams → postprandialKillingEffect
<postprandialKillingEffect
insecticideFactor=double
insecticideScalingFactor=double
holeFactor=double
interactionFactor=double
holeScalingFactor=double
baseFactor=double
/>
Documentation (element)
Units: dimensionless Min: 0 Max: 1
Effect of net on survival mosquitoes as they seek to escape from a human host and rest after a blood meal, relative to the same person not sleeping under a net. Parameterisations should take into account that mosquitoes do not always bite indoors.
Killing proportion is calculated as K = B + H×h + P×p + I×h×p where B is the base (without net) probability of death, H, P and I are the hole, insecticide and interaction factors respectively, h=exp(-holeIndex×holeScalingFactor) and p=1−exp(-insecticideContent×insecticideScalingFactor).
Survival of mosquitoes is adjusted via multiplication by (1−K) / (1−B). To keep this in the range [0,1], we require that B+H ≤ 1, B+P ≤ 1, B+H+P+I ≤ 1, H ≥ 0, P ≥ 0 and H+P+I ≥ 0.
Attributes
Insecticide factor
insecticideFactor=double
Units: none Max: 1
Value expected to be at least 0. Negative values are not necessarily invalid, but allow nets to increase transmission.
Insecticide scaling factor
insecticideScalingFactor=double
Units: none Min: 0
Hole factor
holeFactor=double
Units: none Max: 1
Value expected to be at least 0. Negative values are not necessarily invalid, but allow nets to increase transmission.
Interaction factor
interactionFactor=double
Units: none Max: 1
holeFactor + insecticideFactor + interactionFactor must not be greater than 1, and is expected to be at least 0. A negative value is not necessarily invalid, but allows nets to increase transmission.
Hole scaling factor
holeScalingFactor=double
Units: none Min: 0
Probability of mosquito death without intervention
baseFactor=double
Units: dimensionless
Post-prandial killing effect (logit)
→ scenario → interventions → human → component → ITN → anophelesParams → postprandialKillingEffectLogit
<postprandialKillingEffectLogit
baseFactor=double
insecticideFactor=double
holeFactor=double
interactionFactor=double
/>
Documentation (element)
Units: dimensionless Min: 0 Max: 1
Effect of net on survival mosquitoes as they seek to escape from a human host and rest after a blood meal, relative to the same person not sleeping under a net. Killing proportion is calculated as K=exp(logit.K)/(exp(logit.K)+1) logit.K = B + H×min(h,hMax) + P×p + I×min(h,hMax)×p where B is the basefactor (without net), H, P and I are the hole, insecticide and interaction factors respectively, h=log(holeIndex+1) and p=log(insecticideContent+1). Without a net, the killing proportion K0=exp(logit.K0)/(exp(logit.K0)+1) logit.K0 = B + H×hMax where hMax=log(holeIndexMax+1) and holeIndexMax is a user defined maximum hole index (typically, the total surface area of a net). Survival of mosquitoes is adjusted via multiplication by (1−K) / (1−K0). To keep this in the range [0,1], we require that K ≥ K0. We enforce that P ≥ 0 (It would not make sense biologically if P were negative) and P+I*hMax ≥ 0 and H ≤ 0 and holeIndex ≤ holeIndexMax and give a warning if these conditions are not fulfilled.
Attributes
Base factor
baseFactor=double
Units: dimensionless
Logit of the probability (e.g. of death, of entry, of attacking) without intervention.
Insecticide factor
insecticideFactor=double
Units: none
Coefficient of log(insecticide content+1) in a generalized linear model with logit link function.
Hole factor
holeFactor=double
Units: none
Coefficient of log(total holed surface area (in cm2) +1) in a generalized linear model with logit link function.
Interaction factor
interactionFactor=double
Units: none
Coefficient of the interaction term of log(total holed surface area (in cm2) +1) with log(insecticide content+1) in a generalized linear model with logit link function.
Fecundity reduction
→ scenario → interventions → human → component → ITN → anophelesParams → fecundityReduction
<fecundityReduction
insecticideFactor=double
insecticideScalingFactor=double
holeFactor=double
interactionFactor=double
holeScalingFactor=double
baseFactor=double
/>
Documentation (element)
Effect of net on fertility of mosquitoes who survive feeding on a protected human, relative to an unprotected human.
Fertility (number of eggs laid) is multiplied by (1-K) / (1-B), similar to killing effects. This is not allowed to be greater than 1.
Attributes
Insecticide factor
insecticideFactor=double
Units: none Max: 1
Value expected to be at least 0. Negative values are not necessarily invalid, but allow nets to increase transmission.
Insecticide scaling factor
insecticideScalingFactor=double
Units: none Min: 0
Hole factor
holeFactor=double
Units: none Max: 1
Value expected to be at least 0. Negative values are not necessarily invalid, but allow nets to increase transmission.
Interaction factor
interactionFactor=double
Units: none Max: 1
holeFactor + insecticideFactor + interactionFactor must not be greater than 1, and is expected to be at least 0. A negative value is not necessarily invalid, but allows nets to increase transmission.
Hole scaling factor
holeScalingFactor=double
Units: none Min: 0
Probability of mosquito death without intervention
baseFactor=double
Units: dimensionless
Fecundity reduction (logit)
→ scenario → interventions → human → component → ITN → anophelesParams → fecundityReductionLogit
<fecundityReductionLogit
baseFactor=double
insecticideFactor=double
holeFactor=double
interactionFactor=double
/>
Documentation (element)
Effect of net on fertility of mosquitoes who survive feeding on a protected human, relative to an unprotected human.
Fertility (number of eggs laid) is multiplied by (1-K) / (1-K0), similar to killing effects. This is not allowed to be greater than 1.
Attributes
Base factor
baseFactor=double
Units: dimensionless
Logit of the probability (e.g. of death, of entry, of attacking) without intervention.
Insecticide factor
insecticideFactor=double
Units: none
Coefficient of log(insecticide content+1) in a generalized linear model with logit link function.
Hole factor
holeFactor=double
Units: none
Coefficient of log(total holed surface area (in cm2) +1) in a generalized linear model with logit link function.
Interaction factor
interactionFactor=double
Units: none
Coefficient of the interaction term of log(total holed surface area (in cm2) +1) with log(insecticide content+1) in a generalized linear model with logit link function.
Indoor residual spraying
→ scenario → interventions → human → component → IRS
<IRS>
IN THIS ORDER:
| [ <usage ... /> ]
| <initialInsecticide ... />
| <insecticideDecay ... />
| ( <anophelesParams ... /> )+
</IRS>
Documentation (element)
Description of indoor residual spraying interventions.
Documentation (type)
Description of effect for the more complex and probably more realistic Briet model: IRS has three effects, whos strength is calculated as a function of surviving insecticide content.
Proportion of Indoor residual spraying (IRS) interventions
→ scenario → interventions → human → component → IRS → usage
<usage
value=double
/>
Documentation (element)
Units: dimensionless Min: 0 Max: 1
Usage of Indoor residual spraying (IRS) interventions, from 0 to 1.
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Initial insecticide
→ scenario → interventions → human → component → IRS → initialInsecticide
<initialInsecticide
mean=double
[ SD=double ]
[ distr=("const" or "normal") ] DEFAULT VALUE const
/>
Documentation (element)
Units: μg/cm² Min: 0
The insecticide concentration of IRS (at time of spraying) is Gaussian distributed with mean "mu" and a standard deviation "sigma". The standard deviation should be small relative to the mean to avoid negative initial concentration. Any negative values sampled are set to 0.
Documentation (type)
A parameter with optional heterogeneity.
Optionally, a distribution ("distr") and standard of deviation ("SD") may be specified.
Attributes
mean
mean=double
The mean value.
standard deviation
SD=double
The standard deviation of variates.
Distribution
distr=("const" or "normal")
Default value: const
To allow heterogeneity, a distribution must be specified. Valid options are as follows. "const": no variation or sampling. Specifying distr="const" has the same effect as not specifying distr at all. "normal": the parameter is sampled from a normal distribution.
Decay of insecticide
→ scenario → interventions → human → component → IRS → insecticideDecay
<insecticideDecay
function=("constant" or "step" or "linear" or "exponential" or "weibull" or "hill" or "smooth-compact")
[ L=string ]
[ k=double ] DEFAULT VALUE 1.0
[ CV=double ] DEFAULT VALUE 0
/>
Documentation (element)
Units: none
Decay curve for insecticide content of IRS. Documentation: see DecayFunction type or https://github.com/SwissTPH/openmalaria/wiki/ModelDecayFunctions
Documentation (type)
Specification of decay or survival of a parameter.
Attributes
function
function=("constant" or "step" or "linear" or "exponential" or "weibull" or "hill" or "smooth-compact")
Units: None Min: 0 Max: 1
Determines which decay function to use. Available decay functions, for age t in years: constant: 1 step: 1 for t less than L, otherwise 0 linear: 1 - t/L for t less than L, otherwise 0 exponential: exp( - t/L * log(2) ) weibull: exp( -(t/L)^k * log(2) ) hill: 1 / (1 + (t/L)^k) smooth-compact: exp( k - k / (1 - (t/L)^2) ) for t less than L, otherwise 0
L
L=string
Units: User-defined (defaults to years) Min: 0
(Time) scale parameter of distribution: this is either the age of complete decay (smooth-compact, step and linear functions) or the age at which the parameter has decayed to half its original value (exponential, weibull and hill). Not used when function="constant" (i.e. no decay). This value can be specified in years, days or steps (e.g. 2y, 180d or 100t). When the unit is not specified years are assumed. The value is used without rounding except when sampling an age of decay, when the rounding happens as late as possible.
k
k=double
Units: none Min: 0
Default value: 1.0
Shape parameter of distribution. If not specified, default value of 1 is used. Meaning depends on function; not used in some cases.
Coefficient of Variation
CV=double
Min: 0
Default value: 0
If CV is non-zero, heterogeneity of decay is introduced via a random variable sampled from the log-normal distribution. This distribution is parameterised with mean=1 and CV as given. The effective age of decay is the real age multiplied by this variable (for decay functions with a half-life, this is equivalent to dividing the half-life by the variable).
Per-mosquito species parameters
→ scenario → interventions → human → component → IRS → anophelesParams
<anophelesParams
mosquito=string
[ propActive=double ] DEFAULT VALUE 1
>
IN THIS ORDER:
| <deterrency ... />
| <preprandialKillingEffect ... />
| <postprandialKillingEffect ... />
| [ <fecundityReduction ... /> ]
</anophelesParams>
Attributes
Mosquito species
mosquito=string
Name of the affected anopheles-mosquito species.
Proportion of bites for which IRS acts
propActive=double
Units: dimensionless Min: 0 Max: 1
Default value: 1
The proportion of bites for which the IRS has any action whatsoever on the mosquito. At the moment this is constant across humans and deterministic: relative attractiveness and survival factors are base*(1-propActing) + intervention_factor*propActing.
Relative attractiveness
→ scenario → interventions → human → component → IRS → anophelesParams → deterrency
<deterrency
insecticideFactor=double
insecticideScalingFactor=double
/>
Documentation (element)
Units: dimensionless Min: 0 Max: 1
Effect of IRS on attractiveness of humans to mosquitoes relative to an unprotected adult human. Parameterisations should take into account that mosquitoes do not always bite indoors.
Attractiveness of the human is multiplied by exp(P×log(p)) where P is the insecticide factor, p=1−exp(-insecticideContent×insecticideScalingFactor).
Attributes
Insecticide factor
insecticideFactor=double
Units: none Max: 1
Value expected to be at least 0. Negative values are not necessarily invalid, but allow nets to increase transmission.
Insecticide scaling factor
insecticideScalingFactor=double
Units: none Min: 0
Pre-prandial killing effect
→ scenario → interventions → human → component → IRS → anophelesParams → preprandialKillingEffect
<preprandialKillingEffect
insecticideFactor=double
insecticideScalingFactor=double
baseFactor=double
/>
Documentation (element)
Units: dimensionless Min: 0 Max: 1
Effect of IRS on survival mosquitoes as they seek to bite a human after choosing that human, relative to the same person not protected by IRS. Parameterisations should take into account that mosquitoes do not always bite indoors. This parameter has been added since some data shows IRS to have a preprandial killing effect.
Killing proportion is calculated as K = B + P×p where B is the base (without protection) probability of death, and P is the insecticide factor, p=1−exp(-insecticideContent×insecticideScalingFactor).
Survival of mosquitoes is adjusted via multiplication by (1−K) / (1−B). To keep this in the range [0,1], we require that B+P ≤ 1 and P ≥ 0.
Attributes
Insecticide factor
insecticideFactor=double
Units: none Max: 1
Value expected to be at least 0. Negative values are not necessarily invalid, but allow nets to increase transmission.
Insecticide scaling factor
insecticideScalingFactor=double
Units: none Min: 0
Probability of mosquito death without intervention
baseFactor=double
Units: dimensionless
Post-prandial killing effect
→ scenario → interventions → human → component → IRS → anophelesParams → postprandialKillingEffect
<postprandialKillingEffect
insecticideFactor=double
insecticideScalingFactor=double
baseFactor=double
/>
Documentation (element)
Units: dimensionless Min: 0 Max: 1
Effect of IRS on survival mosquitoes as they seek to escape from a human host and rest after a blood meal, relative to the same person not protected by IRS. Parameterisations should take into account that mosquitoes do not always bite indoors.
Killing proportion is calculated as K = B + P×p where B is the base (without protection) probability of death, and P is the insecticide factor, p=1−exp(-insecticideContent×insecticideScalingFactor).
Survival of mosquitoes is adjusted via multiplication by (1−K) / (1−B). To keep this in the range [0,1], we require that B+P ≤ 1 and P ≥ 0.
Attributes
Insecticide factor
insecticideFactor=double
Units: none Max: 1
Value expected to be at least 0. Negative values are not necessarily invalid, but allow nets to increase transmission.
Insecticide scaling factor
insecticideScalingFactor=double
Units: none Min: 0
Probability of mosquito death without intervention
baseFactor=double
Units: dimensionless
Fecundity reduction
→ scenario → interventions → human → component → IRS → anophelesParams → fecundityReduction
<fecundityReduction
insecticideFactor=double
insecticideScalingFactor=double
baseFactor=double
/>
Documentation (element)
Effect of IRS on fertility mosquitoes after successfully feeding on a human host, relative to an unproteced human. Parameterisations should take into account that mosquitoes do not always bite indoors.
First, we calculate K = B + P×p where B is the base (without protection) probability of death, and P is the insecticide factor, p=1−exp(-insecticideContent×insecticideScalingFactor).
Fecundity is multiplied by (1−K) / (1−B). It is not allowed to be greater than 1. To keep this in the range [0,1], we require that B+P ≤ 1 and P ≥ 0.
Attributes
Insecticide factor
insecticideFactor=double
Units: none Max: 1
Value expected to be at least 0. Negative values are not necessarily invalid, but allow nets to increase transmission.
Insecticide scaling factor
insecticideScalingFactor=double
Units: none Min: 0
Probability of mosquito death without intervention
baseFactor=double
Units: dimensionless
Generic vector intervention
→ scenario → interventions → human → component → GVI
<GVI>
IN THIS ORDER:
| [ <usage ... /> ]
| <decay ... />
| ( <anophelesParams ... /> )+
</GVI>
Documentation (element)
Low-level description of intervention effects on vectors (i.e. mosquitoes). Can be used to describe simple ITN or IRS interventions (though more complex models are available for these interventions) or other interventions such as mosquito repellant or ivermectin.
Note that all actions of this intervention component will decay according to a single decay function. If independant decay is wanted, a separate component can be used for each action.
Proportion of generic vector interventions
→ scenario → interventions → human → component → GVI → usage
<usage
value=double
/>
Documentation (element)
Units: dimensionless Min: 0 Max: 1
Usage of Generic vector interventions, from 0 to 1.
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Decay
→ scenario → interventions → human → component → GVI → decay
<decay
function=("constant" or "step" or "linear" or "exponential" or "weibull" or "hill" or "smooth-compact")
[ L=string ]
[ k=double ] DEFAULT VALUE 1.0
[ CV=double ] DEFAULT VALUE 0
/>
Documentation (element)
Description of decay of all intervention effects. Documentation: see DecayFunction type or https://github.com/SwissTPH/openmalaria/wiki/ModelDecayFunctions
Documentation (type)
Specification of decay or survival of a parameter.
Attributes
function
function=("constant" or "step" or "linear" or "exponential" or "weibull" or "hill" or "smooth-compact")
Units: None Min: 0 Max: 1
Determines which decay function to use. Available decay functions, for age t in years: constant: 1 step: 1 for t less than L, otherwise 0 linear: 1 - t/L for t less than L, otherwise 0 exponential: exp( - t/L * log(2) ) weibull: exp( -(t/L)^k * log(2) ) hill: 1 / (1 + (t/L)^k) smooth-compact: exp( k - k / (1 - (t/L)^2) ) for t less than L, otherwise 0
L
L=string
Units: User-defined (defaults to years) Min: 0
(Time) scale parameter of distribution: this is either the age of complete decay (smooth-compact, step and linear functions) or the age at which the parameter has decayed to half its original value (exponential, weibull and hill). Not used when function="constant" (i.e. no decay). This value can be specified in years, days or steps (e.g. 2y, 180d or 100t). When the unit is not specified years are assumed. The value is used without rounding except when sampling an age of decay, when the rounding happens as late as possible.
k
k=double
Units: none Min: 0
Default value: 1.0
Shape parameter of distribution. If not specified, default value of 1 is used. Meaning depends on function; not used in some cases.
Coefficient of Variation
CV=double
Min: 0
Default value: 0
If CV is non-zero, heterogeneity of decay is introduced via a random variable sampled from the log-normal distribution. This distribution is parameterised with mean=1 and CV as given. The effective age of decay is the real age multiplied by this variable (for decay functions with a half-life, this is equivalent to dividing the half-life by the variable).
Per-mosquito species parameters
→ scenario → interventions → human → component → GVI → anophelesParams
<anophelesParams
mosquito=string
[ propActive=double ] DEFAULT VALUE 1
>
IN THIS ORDER:
| [ <deterrency ... /> ]
| [ <preprandialKillingEffect ... /> ]
| [ <postprandialKillingEffect ... /> ]
| [ <fecundityReduction ... /> ]
</anophelesParams>
Attributes
Mosquito species
mosquito=string
Name of the affected anopheles-mosquito species.
Proportion of bites for which IRS acts
propActive=double
Units: dimensionless Min: 0 Max: 1
Default value: 1
The proportion of bites for which the IRS has any action whatsoever on the mosquito. At the moment this is constant across humans and deterministic: relative attractiveness and survival factors are base*(1-propActing) + intervention_factor*propActing.
Relative attractiveness
→ scenario → interventions → human → component → GVI → anophelesParams → deterrency
<deterrency
value=double
/>
Documentation (element)
Units: dimensionless Min: 0 Max: 1
Effect of intervention on attractiveness of humans to mosquitoes relative to an unprotected adult human. Parameterisations should take into account that mosquitoes do not always bite indoors.
Attractiveness of the human is multiplied this factor times survival of effect.
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Pre-prandial killing effect
→ scenario → interventions → human → component → GVI → anophelesParams → preprandialKillingEffect
<preprandialKillingEffect
value=double
/>
Documentation (element)
Units: dimensionless Min: 0 Max: 1
Effect of intervention on survival of mosquitoes as they seek to bite a human after choosing that human, relative to the same person not protected by the intervention. Parameterisations should take into account that mosquitoes do not always bite indoors. This parameter has been added since some data shows IRS to have a preprandial killing effect.
Killing proportion is this factor multiplied by survival of effect.
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Post-prandial killing effect
→ scenario → interventions → human → component → GVI → anophelesParams → postprandialKillingEffect
<postprandialKillingEffect
value=double
/>
Documentation (element)
Units: dimensionless Min: 0 Max: 1
Effect of intervention on survival of mosquitoes as they seek to escape from a human host and rest after a blood meal, relative to the same person not protected by the intervention. Parameterisations should take into account that mosquitoes do not always bite indoors.
Killing proportion is this factor multiplied by survival of effect.
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Fecundity reduction effect
→ scenario → interventions → human → component → GVI → anophelesParams → fecundityReduction
<fecundityReduction
value=double
/>
Documentation (element)
Min: 0
Effect of intervention on fertility mosquitoes after successfully feeding on a human host, relative to an unproteced human. Parameterisations should take into account that mosquitoes do not always bite indoors.
Fertility is multiplied by 1 - (fecundityReduction * decay).
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Recruitment only
→ scenario → interventions → human → component → recruitmentOnly
<recruitmentOnly/>
Documentation (element)
Recruitment of a host into a sub-population.
All human-targeting intervention deployments recruit simulated humans into a sub-population which can be used for the purposes of cumulative deployment, deployment only to a sub-population and defining a cohort. This pseudo-intervention can be used to define a sub-population without also deploying some intervention.
Clear Immunity
→ scenario → interventions → human → component → clearImmunity
<clearImmunity/>
Documentation (element)
Removes all exposure-related immunitsy gained over time by hosts without removing infections (or affecting the ability to gain immunity through exposure).
Hypothetical, but potentially useful to simulate scenarios with unprotected humans.
subPopRemoval
→ scenario → interventions → human → component → subPopRemoval
<subPopRemoval
[ onFirstBout=boolean ] DEFAULT VALUE false
[ onFirstTreatment=boolean ] DEFAULT VALUE false
[ onFirstInfection=boolean ] DEFAULT VALUE false
[ afterYears=double ]
/>
Documentation (type)
Each human intervention component corresponds to a sub-population: those who have received or are considered to be protected by the intervention component. Humans automatically become members of this sub-population when receiving an intervention component; this element controls how humans are removed from the sub-population.
ITN attrition also removes humans from sub-populations.
Note that sub-populations do not directly correspond to an intervention's effects: lack of effectiveness does not imply removal from the sub-population (except as explicitly configured here) and removal from the sub-population does not halt an intervention's effects.
Sub-populations may be used to define a cohort, to restrict deployment of other interventions and to use cumulative deployment mode. A sub- population may or may not correspond (roughly) to humans protected by some intervention.
Attributes
Time to first episode only
onFirstBout=boolean
Default value: false
If true, remove individuals from the sub-population at the start of the first episode (start of a clinical bout) since they were recruited into the sub-population. This is intended for cohort studies which measure time to the first episode, using active case detection. Reports delayed due to health-system memory are forced out when this occurs. Note that this can increase the number of uncomplicated cases reported across the entire population; for this reason reports are not forced on recruitment or most removal options. This does not prevent re-recruitment in the case that recruitment settings could conceivably recruit the same individual twice.
Time to first treatment only
onFirstTreatment=boolean
Default value: false
If true, remove individuals from the sub-population when they first seektreatment since they were recruited into the sub-population. This is intended for cohort studies which measure the time to first episode, using passive case detection. Reports delayed due to health-system memory are forced out when this occurs. Note that this can increase the number of uncomplicated cases reported across the entire population; for this reason reports are not forced on recruitment or most removal options. This does not prevent re-recruitment in the case that recruitment settings could conceivably recruit the same individual twice.
Time to first infection only
onFirstInfection=boolean
Default value: false
If true, remove individuals from the sub-population at completion of the first survey in which they present with a patent infection since they were recruited into the sub-population. This intended for cohort studies which measure time to the first infection, using active case detection. Reports delayed due to health-system memory are forced out when this occurs. Note that this can increase the number of uncomplicated cases reported across the entire population; for this reason reports are not forced on recruitment or most removal options. This does not prevent re-recruitment in the case that recruitment settings could conceivably recruit the same individual twice.
Remove from sub-population after
afterYears=double
Units: Years Min: 0
If given, membership to the sub-population of humans who have received this intervention component expires after the given number of years. Note that future deployments renew membership (e.g. if this parameter is 4 years and the intervention is redeployed 3 years from now, expiry happens after 7 years). This provides a crude way of modelling a cohort protected by some intervention. A few interventions provide more detailed ways of modelling expiry of protection. In any case, "expiry of protection" is an abstract concept and does not imply that all protection has ceased, even in the simulator. This may also be useful for cumulative deployment. Minimum duration is zero, which implies the human is effectively never a member of the sub-population; a duration of one timestep implies the human is a member of the sub-population while any futher interventions are deployed on the same time as this human becomes a member and on the next update of the human (including transmission and health system events) but not beyond that. If this attribute is not given, the simulated human is a member until death or some other option triggers removal. Input is rounded to the nearest time step.
Deployment
→ scenario → interventions → human → deployment
<deployment
[ name=string ]
>
IN THIS ORDER:
| ( <component ... /> )+
| ( <condition ... /> )*
| ( <continuous ... /> )*
| ( <timed ... /> )*
</deployment>
Documentation (element)
This element describes deployment of an intervention: which components are deployed, how humans are selected for deployment (via timed or age-based deployment) as well as a few additional restrictions (e.g. vaccine dosing restrictions).
All components deployed by this intervention are deployed to the same people (each timed or continuous deployment selects recipients and then gives each recipient all components of the intervention).
Attributes
Intervention name
name=string
Name of intervention
component
→ scenario → interventions → human → deployment → component
<component
id=string
/>
Documentation (type)
The list of components deployed to eligible humans.
Attributes
Identifier
id=string
The identifier (short name) of a component.
Condition
→ scenario → interventions → human → deployment → condition
<condition
measure=string
[ minValue=double ]
[ maxValue=double ]
initialState=boolean
/>
Documentation (element)
If conditions are specified, deployment of this intervention will only go ahead if all specified conditions are true. Condition statements are evaluated only during surveys, so deployment is enabled or disabled depending on the results of the most recent survey. So called unreported surveys can be used to reevaluate conditions without increasing granularity of output.
Conditions are evaluated for the whole population, not for individual age-groups or cohorts.
This affects all types of deployment.
Attributes
Measure
measure=string
The monitoring measure to test. Not all measures are available for use.
Minimum value
minValue=double
Minimum value. If specified, the measured variable must be greater than or equal to this value for the condition to be satisfied.
Maximum value
maxValue=double
Maximum value. If specified, the measured variable must be less than or equal to this value for the condition to be satisfied.
Initial state
initialState=boolean
Whether this condition is considered true or false before updated by a survey.
Age-based (continuous) deployment
→ scenario → interventions → human → deployment → continuous
<continuous>
IN THIS ORDER:
| [ <restrictToSubPop ... /> ]
| ( <deploy ... /> )+
</continuous>
Documentation (element)
List of ages at which deployment takes place (through EPI, post-natal and school-based programmes, etc.).
A sub-population restriction may be added as a property of the list of continuous deployments.
restrictToSubPop
→ scenario → interventions → human → deployment → continuous → restrictToSubPop
<restrictToSubPop
id=string
[ complement=boolean ] DEFAULT VALUE false
/>
Documentation (type)
If this element is specified, deployment is restricted to some sub-population (specified via the "id" attribute); otherwise the target population is the entire simulated population. Either way, other deployment restrictions (age, time, number of vaccine doeses) still apply.
Attributes
Sub-population identifier
id=string
The identifier (short name) of the sub-population (i.e. the "id" of some intervention component). Also see the "complement" attribute.
Complement
complement=boolean
Default value: false
If this is not specified or is false, deployment is restricted to the sub-population of people protected by the intervention component who's id is given. If complement is set to true, deployment is instead restricted to the complement of that sub-population, i.e. to those
deploy
→ scenario → interventions → human → deployment → continuous → deploy
<deploy
coverage=double
[ vaccMinPrevDoses=int ]
[ vaccMaxCumDoses=int ]
targetAgeYrs=double
[ begin=string ]
[ end=string ]
/>
Attributes
Coverage
coverage=double
Units: dimensionless Min: 0 Max: 1
Proportion of otherwise eligible individuals who will receive this deployment.
Vaccine min previous doses
vaccMinPrevDoses=int
Units: inoculations Min: 0
Applies to vaccines only: vaccine doses are only deployed by this deployment if the previous number of doses (for the component deployed) is at least this number. For example, if this is the second deployment opportunity for this vaccine and this value is 1, then this deployment cannot deploy the vaccine to individuals who did not receive the first deployment.
Vaccine max cumulative doses
vaccMaxCumDoses=int
Units: inoculations Min: 0
Applies to vaccines only: vaccine doses are only deployed by this deployment if the previous number of doses (for the component deployed) is less than this number.
Target age
targetAgeYrs=double
Units: Years Min: 0 Max: 100
Target age of intervention. Input is rounded to the nearest time step.
First time active
begin=string
Units: User defined (defauls to steps)
First time at which this deployment is active. If not specified, deployment starts at the beginning of the intervention period. See doc on intervention period and on monitoring/startDate for details of how times work. Can be specified in steps, days, years, or as a date (examples: 15t, 75d, 0.2y, 2000-03-16).
End step
end=string
Units: User defined (defauls to steps)
End of the period during which the intervention is active (to be exact, the first step of the intervention period at which the item becomes inactive). If not specified, deployment never ceases after starting during the simulation. See doc on intervention period and on monitoring/startDate for details of how times work. Can be specified in steps, days, years, or as a date (examples: 15t, 75d, 0.2y, 2000-03-16).
Mass (timed) deployment
→ scenario → interventions → human → deployment → timed
<timed>
IN THIS ORDER:
| [ <restrictToSubPop ... /> ]
| [ <cumulativeCoverage ... /> ]
| ( <deploy ... /> )+
</timed>
Documentation (element)
List of timed deployments of the intervention (that is, of deployment campaigns).
Cumulative deployment mode can be specified for all deployments in a timed list. To allow multiple cumulative deployment descriptions, the entire timed list may be repeated.
restrictToSubPop
→ scenario → interventions → human → deployment → timed → restrictToSubPop
<restrictToSubPop
id=string
[ complement=boolean ] DEFAULT VALUE false
/>
Documentation (type)
If this element is specified, deployment is restricted to some sub-population (specified via the "id" attribute); otherwise the target population is the entire simulated population. Either way, other deployment restrictions (age, time, number of vaccine doeses) still apply.
Attributes
Sub-population identifier
id=string
The identifier (short name) of the sub-population (i.e. the "id" of some intervention component). Also see the "complement" attribute.
Complement
complement=boolean
Default value: false
If this is not specified or is false, deployment is restricted to the sub-population of people protected by the intervention component who's id is given. If complement is set to true, deployment is instead restricted to the complement of that sub-population, i.e. to those
Cumulative coverage
→ scenario → interventions → human → deployment → timed → cumulativeCoverage
<cumulativeCoverage
component=string
/>
Documentation (element)
If this element is not specified, standard deployment occurs, where a portion of the population as given by the coverage property of this campaign is selected, and interventions are deployed to all of these people (regardless of previous coverage).
If this attribute is specified, instead, the population is divided into two sets: those who are a member of a certain sub-population and those who are not (see "subPopRemoval" element). If the proportion of people in the first set is less than the desired coverage, then the proportion of people from the second set needed to increase total coverage to the desired coverage is calculated. This proportion is then used as the probablity of selection from the second set into a third set of people who then receive all interventions deployed by this campaign.
Note that selection is stochastic so the final coverage level may not be exactly that desired. Note also that the component used when selecting people need not actually be one of the components deployed by this intervention, although that is the intended use case.
Attributes
Component identifier
component=string
The identifier (short name) of the component used when selecting people.
deploy
→ scenario → interventions → human → deployment → timed → deploy
<deploy
coverage=double
[ vaccMinPrevDoses=int ]
[ vaccMaxCumDoses=int ]
time=string
[ maxAge=double ]
[ minAge=double ] DEFAULT VALUE 0
[ repeatStep=string ]
[ repeatEnd=string ]
/>
Attributes
Coverage
coverage=double
Units: dimensionless Min: 0 Max: 1
Proportion of otherwise eligible individuals who will receive this deployment.
Vaccine min previous doses
vaccMinPrevDoses=int
Units: inoculations Min: 0
Applies to vaccines only: vaccine doses are only deployed by this deployment if the previous number of doses (for the component deployed) is at least this number. For example, if this is the second deployment opportunity for this vaccine and this value is 1, then this deployment cannot deploy the vaccine to individuals who did not receive the first deployment.
Vaccine max cumulative doses
vaccMaxCumDoses=int
Units: inoculations Min: 0
Applies to vaccines only: vaccine doses are only deployed by this deployment if the previous number of doses (for the component deployed) is less than this number.
Time
time=string
Units: User defined (defauls to steps) Min: 0
Time at which this deployment occurs. See doc on intervention period and on monitoring/startDate for details of how times work. Can be specified in steps, days, years, or as a date (examples: 15t, 75d, 0.2y, 2000-03-16).
Maximum age of eligible individuals
maxAge=double
Units: Years Min: 0
Maximum age of eligible individuals (defaults to no limit). Input is rounded to the nearest time step.
Minimum age of eligible individuals
minAge=double
Units: Years Min: 0
Default value: 0
Minimum age of eligible individuals (defaults to 0). Input is rounded to the nearest time step.
Step of repetition
repeatStep=string
Units: User defined
See repeatEnd's documentation.
End of repetition (exclusive)
repeatEnd=string
Units: User defined
Either both repeatStep and repeatEnd should be present or neither. If present, the deployment is repeated every repeatStep timesteps (i.e. if t0 is the initial time and x is repeatStep, depolyments are done at times t0, t0+x, t0+2*x, ...), ending before repeatEnd (final repetition is the one before repeatEnd). Note that repeatEnd may be specified as a date but repeatStep must be a duration (days, steps or years).
Health system description
→ scenario → healthSystem
<healthSystem>
IN THIS ORDER:
| EXACTLY ONE OF:
| | <EventScheduler ... />
| | <ImmediateOutcomes ... />
| | <DecisionTree5Day ... />
| <CFR ... />
| <pSequelaeInpatient ... />
</healthSystem>
Documentation (element)
Description of health system.
Documentation (type)
Description of case management system, used to specify the initial model or a replacement (an intervention). Encompasses case management data and some other data required to derive case outcomes.
Contains a sub-element describing the particular health-system in use. Health system data is here defined as data used to decide on a treatment strategy, given a case requiring treatment.
Transmission and vector bionomics
→ scenario → entomology
<entomology
name=string
mode=("forced" or "dynamic")
[ scaledAnnualEIR=double ]
>
IN THIS ORDER:
| EXACTLY ONE OF:
| | <nonVector ... />
| | <vector ... />
</entomology>
Documentation (element)
Description of entomological data
Attributes
Entomology dataset name
name=string
Name of entomology data
Transmission model mode
mode=("forced" or "dynamic")
Transmission simulation mode: may be forced (in which case interventions and changes to human infectiousness cannot affect EIR) or dynamic (in which the above can affect EIR). The full vector model is only used in dynamic mode. This can not be changed by interventions, except for the changeEIR intervention for the non-vector model which replaces the EIR with a new description (used in forced mode).
Override annual EIR
scaledAnnualEIR=double
Units: Infectious bites per adult per year
If set, the annual EIR (for all species of vector) is scaled to this level; can be omitted if not needed.
Transmission setting (vector control not enabled)
→ scenario → entomology → nonVector
<nonVector
eipDuration=int
>
IN THIS ORDER:
| ( <EIRDaily ... /> )+
</nonVector>
Documentation (element)
Description of transmission setting for models without vector control interventions (included for backward compatibility)
Attributes
Duration of sporogony
eipDuration=int
Units: Days
The duration of sporogony in days
Transmission setting (vector control enabled)
→ scenario → entomology → vector
<vector>
IN THIS ORDER:
| ( <anopheles ... /> )+
| ( <nonHumanHosts ... /> )*
</vector>
Documentation (element)
Parameters of the transmission model
anopheles
→ scenario → entomology → vector → anopheles
<anopheles
mosquito=string
propInfected=double
propInfectious=double
>
IN THIS ORDER:
| <seasonality ... />
| <mosq ... />
| [ <lifeCycle ... /> ]
| [ <simpleMPD ... /> ]
| ( <nonHumanHosts ... /> )*
</anopheles>
Documentation (type)
Description of input EIR for one specific vector species in terms of a Fourier approximation to the ln of the EIR during the burn in period
Attributes
Identifier for this anopheles species
mosquito=string
Identifier for this anopheles species
Initial estimate of proportion of mosquitoes infected (ρ_O)
propInfected=double
Units: Proportion Min: 0 Max: 1
Initial guess of the proportion of mosquitoes which are infected, o: O_v(t) = o*N_v(t). Only used as a starting value.
Initial estimate of proportion of mosquitoes infectious (ρ_S)
propInfectious=double
Units: Proportion Min: 0 Max: 1
Initial estimate of the proportion of mosquitoes which are infectious, s: S_v(t) = s*N_v(t). Used as a starting value and then fit.
Seasonality of transmission
→ scenario → entomology → vector → anopheles → seasonality
<seasonality
input=("EIR")
[ annualEIR=double ]
>
IN THIS ORDER:
| EXACTLY ONE OF:
| | <fourierSeries ... />
| | <monthlyValues ... />
| | <dailyValues ... />
</seasonality>
Documentation (element)
Specifies the seasonality of transmission and optionally the level of annual transmission.
Attributes
Seasonality input
input=("EIR")
Specify what seasonality measure is given. At the moment, only EIR is supported, but in the future, all the below should be supported. EIR: seasonality of entomological inoculations is input. Units: entomological inoculations per adult per annum. hostSeeking: seasonality of densities of flying host-seeking mosquitoes is input (in the model this is notated N_v). Units: mosquitoes. emergence: seasonality of emergence pupa into adults. Units: mosquitoes. larvalResources: seasonality of larval resources. Units: X.
Annual EIR
annualEIR=double
Units: Inoculations per adult per annum Min: 0
If this attribute is included, EIR for this species is scaled to this level. Note that if the scaledAnnualEIR attribute of the entomology element is also used, EIR is scaled again, making this attribute the EIR relative to other species. With some seasonality inputs, this attribute is optional, in which case (if scaledAnnualEIR is also not specified) transmission depends on all parameters of the vector. With some seasonality inputs, however, this parameter must be specified.
Fourier approximation to pre-intervention EIR
→ scenario → entomology → vector → anopheles → seasonality → fourierSeries
<fourierSeries
EIRRotateAngle=double
>
IN THIS ORDER:
| ( <coeffic ... /> )*
</fourierSeries>
Documentation (element)
Units: Infectious bites per adult per day
Seasonality is reproduced from the exponential of a fourier series specified by the following coefficients. Note that the a0 term is not needed; the annualEIR attribute of the seasonality element should be used to scale EIR instead.
Attributes
Rotation angle defining the origin of the Fourier approximation to ln (EIR)
EIRRotateAngle=double
Units: Radians
Rotation angle defining the origin of the Fourier approximation to ln (EIR)
Pair of Fourier coefficients
→ scenario → entomology → vector → anopheles → seasonality → fourierSeries → coeffic
<coeffic
a=double
b=double
/>
Documentation (element)
A pair of Fourier series coefficients. The first element specifies a1 and b1, the second a2 and b2, etc. Any number (from 0 up) of pairs may be given.
Attributes
a_n parameter of Fourier approximation to ln(EIR)
a=double
a_n parameter of Fourier approximation to ln(EIR) for some natural number n.
b_n parameter of Fourier approximation to ln(EIR)
b=double
b_n parameter of Fourier approximation to ln(EIR) for some natural number n.
List of monthly values
→ scenario → entomology → vector → anopheles → seasonality → monthlyValues
<monthlyValues
smoothing=("none" or "fourier")
>
IN THIS ORDER:
| ( <value ... /> ){12,12}
</monthlyValues>
Documentation (element)
Description of seasonality from monthly values. Multiple smoothing methods are possible (see smoothing attribute).
List should contain twelve entries: January to December.
Attributes
Smoothing function
smoothing=("none" or "fourier")
How the monthly values are converted into a daily sequence of values:
- none: no smoothing (step function)
- Fourier: a Fourier series (with terms up to a2/b2) is fit to the sequence of monthly values and used to generate a smoothed list of daily values.
Monthly value
→ scenario → entomology → vector → anopheles → seasonality → monthlyValues → value
<value>
double
</value>
Documentation (element)
Units: (see "seasonality input" parameter)
Monthly value
List of daily values
→ scenario → entomology → vector → anopheles → seasonality → dailyValues
<dailyValues>
IN THIS ORDER:
| ( <value ... /> ){365,365}
</dailyValues>
Documentation (element)
Description of seasonality from daily values.
List should contain 365 entries: 1st January to 31st December.
Daily value
→ scenario → entomology → vector → anopheles → seasonality → dailyValues → value
<value>
double
</value>
Documentation (element)
Units: (see "seasonality input" parameter)
Daily value
Mosquito feeding cycle parameters
→ scenario → entomology → vector → anopheles → mosq
<mosq
minInfectedThreshold=double
>
IN ANY ORDER:
| <mosqRestDuration ... />
| <extrinsicIncubationPeriod ... />
| <mosqLaidEggsSameDayProportion ... />
| <mosqSeekingDuration ... />
| <mosqSurvivalFeedingCycleProbability ... />
| <availability ... />
| <mosqProbBiting ... />
| <mosqProbFindRestSite ... />
| <mosqProbResting ... />
| <mosqProbOvipositing ... />
| <mosqHumanBloodIndex ... />
</mosq>
- mosqRestDuration
- extrinsicIncubationPeriod
- mosqLaidEggsSameDayProportion
- mosqSeekingDuration
- mosqSurvivalFeedingCycleProbability
- availability
- mosqProbBiting
- mosqProbFindRestSite
- mosqProbResting
- mosqProbOvipositing
- mosqHumanBloodIndex
Documentation (element)
Parameters describing the feeding cycle and human mosquito interaction of a single species of anopheles mosquito.
Attributes
Mininum infected threshold for mosquitos
minInfectedThreshold=double
Min: 0
If less than this many mosquitoes remain infected, transmission is interrupted.
Duration of the resting period of the vector
→ scenario → entomology → vector → anopheles → mosq → mosqRestDuration
<mosqRestDuration
value=int
/>
Documentation (element)
Units: Days
name:Duration of the resting period of the vector (days);
Attributes
Input parameter value
value=int
An integer value.
Extrinsic incubation period
→ scenario → entomology → vector → anopheles → mosq → extrinsicIncubationPeriod
<extrinsicIncubationPeriod
value=int
/>
Documentation (element)
Units: Days
name:Extrinsic incubation period (days)
Attributes
Input parameter value
value=int
An integer value.
Proportion of mosquitoes host seeking on same day as ovipositing
→ scenario → entomology → vector → anopheles → mosq → mosqLaidEggsSameDayProportion
<mosqLaidEggsSameDayProportion
value=double
/>
Documentation (element)
Units: Proportion
Proportion of mosquitoes host seeking on same day as ovipositing
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Duration of the host-seeking period of the vector
→ scenario → entomology → vector → anopheles → mosq → mosqSeekingDuration
<mosqSeekingDuration
value=double
/>
Documentation (element)
Units: Days
Duration of the host-seeking period of the vector (days)
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Probability that the mosquito survives the feeding cycle
→ scenario → entomology → vector → anopheles → mosq → mosqSurvivalFeedingCycleProbability
<mosqSurvivalFeedingCycleProbability
value=double
/>
Documentation (element)
Units: Proportion
Probability that the mosquito survives the feeding cycle
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Human availability rate heterogeneity
→ scenario → entomology → vector → anopheles → mosq → availability
<availability
[ CV=double ]
[ distr=("const" or "lognormal") ] DEFAULT VALUE const
/>
Documentation (element)
Optionally, entomological availability rate may be sampled per-human from a distribution. The distribution and coefficient of variability may be set here. The mean rate is calculated based on other parameters and not set directly.
If no attributes are specified or distr="const" or CV="0" then there will be no heterogeneity.
Documentation (type)
A parameter with optional heterogeneity.
The mean cannot be specified (unless this type is extended). Optionally, a distribution ("distr") and coefficient of variation ("CV") may be specified.
Attributes
Coefficient of variation
CV=double
Units: unitless
The (linear) coefficient of variation. This value must be specified when a (non-constant) distribution is used. Note that specifying CV="0" has the same effect as distr="const" and disables sampling of this parameter, even if distr is not "const".
Distribution
distr=("const" or "lognormal")
Default value: const
To allow heterogeneity, a distribution must be specified. Valid options are as follows. "const": no variation or sampling. Specifying distr="const" has the same effect as not specifying distr at all. "lognormal": the parameter is sampled from a log-normal distribution. Note that the "mean" and "CV" values are linear (arithmetic) properties of the distribution and not log-space properties.
Probability that the mosquito succesfully bites chosen host
→ scenario → entomology → vector → anopheles → mosq → mosqProbBiting
<mosqProbBiting
mean=double
variance=double
/>
Documentation (element)
Probability that the mosquito succesfully bites chosen host
Documentation (type)
Parameters of a normal distribution, provided as mean and variance.
Variates are sampled from Be(α,β) where α and β are determined from the mean and variance as follows: let v be the variance and c=mean/(1-mean). Then we set α=cβ and β=((c+1)²v - c)/((c+1)³v).
Attributes
mean
mean=double
Units: none
The mean of the beta distribution (must be in the open range (0,1)).
variance
variance=double
Units: none
The standard deviation of variates.
Probability that the mosquito escapes host and finds a resting place after biting
→ scenario → entomology → vector → anopheles → mosq → mosqProbFindRestSite
<mosqProbFindRestSite
mean=double
variance=double
/>
Documentation (element)
Probability that the mosquito escapes host and finds a resting place after biting
Documentation (type)
Parameters of a normal distribution, provided as mean and variance.
Variates are sampled from Be(α,β) where α and β are determined from the mean and variance as follows: let v be the variance and c=mean/(1-mean). Then we set α=cβ and β=((c+1)²v - c)/((c+1)³v).
Attributes
mean
mean=double
Units: none
The mean of the beta distribution (must be in the open range (0,1)).
variance
variance=double
Units: none
The standard deviation of variates.
Probability of mosquito successfully resting after finding a resting site
→ scenario → entomology → vector → anopheles → mosq → mosqProbResting
<mosqProbResting
mean=double
variance=double
/>
Documentation (element)
Probability of mosquito successfully resting after finding a resting site
Documentation (type)
Parameters of a normal distribution, provided as mean and variance.
Variates are sampled from Be(α,β) where α and β are determined from the mean and variance as follows: let v be the variance and c=mean/(1-mean). Then we set α=cβ and β=((c+1)²v - c)/((c+1)³v).
Attributes
mean
mean=double
Units: none
The mean of the beta distribution (must be in the open range (0,1)).
variance
variance=double
Units: none
The standard deviation of variates.
Probability of a mosquito successfully laying eggs given that it has rested
→ scenario → entomology → vector → anopheles → mosq → mosqProbOvipositing
<mosqProbOvipositing
value=double
/>
Documentation (element)
Probability of a mosquito successfully laying eggs given that it has rested
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Human blood index
→ scenario → entomology → vector → anopheles → mosq → mosqHumanBloodIndex
<mosqHumanBloodIndex
value=double
/>
Documentation (element)
Units: Proportion
The proportion of resting mosquitoes which fed on human blood during the last feed.
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Mosquito life cycle parameters
→ scenario → entomology → vector → anopheles → lifeCycle
<lifeCycle
[ estimatedLarvalResources=double ] DEFAULT VALUE 1e8
>
IN ANY ORDER:
| <eggStage ... />
| <larvalStage ... />
| <pupalStage ... />
| <femaleEggsLaidByOviposit ... />
</lifeCycle>
Documentation (element)
Parameters describing the life-cycle of this species of mosquito
Attributes
Estimate of larval resources
estimatedLarvalResources=double
Units: X
Default value: 1e8
An estimate of mean annual availability of resources to larvae. Used to get the resource usage fitting algorithm going; if the algorithm fails to fit the resource availability then tweaking this parameter may help. In other cases tweaking this parameter shouldn't be necessary. Default value is 10⁸ (1e8). Units are arbitrary but must be the same as those used by the resourceUsage parameter.
Egg stage
→ scenario → entomology → vector → anopheles → lifeCycle → eggStage
<eggStage
duration=int
survival=double
/>
Documentation (element)
Parameters for the egg stage of development
Documentation (type)
Parameters associated with a mosquito development stage.
Attributes
Duration
duration=int
Units: Days
Duration of the stage (i.e. length of time mosquito is an egg/larva/pupa).
Probability of survival
survival=double
Units: Proportion
Probability that mosquito survives this size (probability of egg hatching, a larva becoming a pupa or a pupa emerging as an adult, at the start of that stage).
larvalStage
→ scenario → entomology → vector → anopheles → lifeCycle → larvalStage
<larvalStage>
</larvalStage>
Documentation (type)
Parameters for the larval stage of development
Documentation (base type)
Parameters associated with a mosquito development stage.
Daily development
→ scenario → entomology → vector → anopheles → lifeCycle → larvalStage → daily
<daily
resourceUsage=double
effectCompetition=double
/>
Documentation (element)
List of parameters which apply during the larval stage of development. List length must equal stage duration, with first item corresponding to first 24 hours after hatching, second item to hours 24-48, and so on.
Attributes
Resource usage
resourceUsage=double
Units: X
Resource usage during larval stage of development. Units are arbitrary.
Effect of competition
effectCompetition=double
Units: none
Effect of competition over resources on development.
Pupal stage
→ scenario → entomology → vector → anopheles → lifeCycle → pupalStage
<pupalStage
duration=int
survival=double
/>
Documentation (element)
Parameters for the pupal stage of development
Documentation (type)
Parameters associated with a mosquito development stage.
Attributes
Duration
duration=int
Units: Days
Duration of the stage (i.e. length of time mosquito is an egg/larva/pupa).
Probability of survival
survival=double
Units: Proportion
Probability that mosquito survives this size (probability of egg hatching, a larva becoming a pupa or a pupa emerging as an adult, at the start of that stage).
Eggs laid by ovipositing mosquito
→ scenario → entomology → vector → anopheles → lifeCycle → femaleEggsLaidByOviposit
<femaleEggsLaidByOviposit
value=double
/>
Documentation (element)
Units: Eggs per feeding cycle
The total number of female eggs laid by a female mosquito at the conclusion to a feeding cycle, after feeding on an unprotected human (non-human hosts and protected humans use a multiplication factor to adjust this number for mosquitoes feeding on them).
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Simple Mosq-Pop-Dynamics parameters
→ scenario → entomology → vector → anopheles → simpleMPD
<simpleMPD>
IN ANY ORDER:
| <developmentDuration ... />
| <developmentSurvival ... />
| <femaleEggsLaidByOviposit ... />
</simpleMPD>
Documentation (element)
Parameters describing the simple mosquito population dynamics model.
This is a simpler version of the life-cycle model, requiring less parameters and with much simpler initialisation.
Duration
→ scenario → entomology → vector → anopheles → simpleMPD → developmentDuration
<developmentDuration
value=int
/>
Documentation (element)
Units: Days Min: 1
Duration from egg laying to emergence in days.
Attributes
Input parameter value
value=int
An integer value.
Probability of survival
→ scenario → entomology → vector → anopheles → simpleMPD → developmentSurvival
<developmentSurvival
value=double
/>
Documentation (element)
Units: Proportion Min: 0 Max: 1
Probability that mosquito survives from the egg being laid to emergence, given no resouce limitations (no density constraints).
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Eggs laid by ovipositing mosquito
→ scenario → entomology → vector → anopheles → simpleMPD → femaleEggsLaidByOviposit
<femaleEggsLaidByOviposit
value=double
/>
Documentation (element)
Units: Eggs per feeding cycle
The total number of female eggs laid by a female mosquito at the conclusion to a feeding cycle.
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Alternative (non-human) host paramters
→ scenario → entomology → vector → anopheles → nonHumanHosts
<nonHumanHosts
name=string
>
IN ANY ORDER:
| <mosqRelativeEntoAvailability ... />
| <mosqProbBiting ... />
| <mosqProbFindRestSite ... />
| <mosqProbResting ... />
| [ <hostFecundityFactor ... /> ]
</nonHumanHosts>
- mosqRelativeEntoAvailability
- mosqProbBiting
- mosqProbFindRestSite
- mosqProbResting
- hostFecundityFactor
Documentation (element)
Min: 0
Non human host parameters, per type of host (must match up with non-species-specific parameters).
Attributes
Identifier for this category of non-human hosts
name=string
Identifier for this category of non-human hosts
Relative availability of non-human host (ξ_i)
→ scenario → entomology → vector → anopheles → nonHumanHosts → mosqRelativeEntoAvailability
<mosqRelativeEntoAvailability
value=double
/>
Documentation (element)
Units: Proportion
Relative availability of the population of non-human hosts of type i to other non-human hosts; the sum of this across all non-human hosts must be 1.
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Probability of mosquito successfully biting host
→ scenario → entomology → vector → anopheles → nonHumanHosts → mosqProbBiting
<mosqProbBiting
value=double
/>
Documentation (element)
Units: Proportion
Probability of mosquito successfully biting host
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Probability that the mosquito escapes host and finds a resting place after biting
→ scenario → entomology → vector → anopheles → nonHumanHosts → mosqProbFindRestSite
<mosqProbFindRestSite
value=double
/>
Documentation (element)
Units: Proportion
Probability that the mosquito escapes host and finds a resting place after biting
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Probability of mosquito successfully resting after finding a resting site
→ scenario → entomology → vector → anopheles → nonHumanHosts → mosqProbResting
<mosqProbResting
value=double
/>
Documentation (element)
Units: Proportion
Probability of mosquito successfully resting after finding a resting site
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Relative fecundity of biting mosquitoes
→ scenario → entomology → vector → anopheles → nonHumanHosts → hostFecundityFactor
<hostFecundityFactor
value=double
/>
Documentation (element)
Units: Proportion
Multiplicative factor for the number of fertile eggs laid by a mosquito after biting this type of host, relative to an unprotected human.
Attributes
Input parameter value
value=double
A double-precision floating-point value.
nonHumanHosts
→ scenario → entomology → vector → nonHumanHosts
<nonHumanHosts
name=string
number=double
/>
Attributes
Species of alternative host
name=string
Name of this species of non human hosts (must match up with those described per anopheles section).
Population size of non-human host species
number=double
Units: Animals
Population size of this non-human host. Note: the availability of the population of this type of non-human host is determined by mosqRelativeEntoAvailability and mosqHumanBloodIndex. NHHs are not modelled individually, thus this parameter is not used. It might be useful in the future if there is ever an intervention to change the number of non-human hosts.
Parasite genetics
<parasiteGenetics
samplingMode=("initial" or "tracking")
>
IN THIS ORDER:
| ( <locus ... /> )+
</parasiteGenetics>
Documentation (element)
A specification of genotypes of infection parasites.
May be omitted; in this case there is no modelling of genetic differences of infections (resistance, fitness).
Attributes
samplingMode
samplingMode=("initial" or "tracking")
This controls how genotypes are determined for new infections during the intervention period. Prior to this (in initialisation phases), genotypes are always sampled using the specified initial frequencies. Mode "initial" continues to sample genotypes using initial frequencies (i.e. independent of the success of parent generations of parasites). Mode "tracking" samples genotypes based on the success parent generations of parasites have in infecting mosquitoes, tracked per genotype. It is possible that in the future a recombination option will be added to this list, however designing a suitable model is not trivial.
Locus
→ scenario → parasiteGenetics → locus
<locus
name=string
>
IN THIS ORDER:
| ( <allele ... /> )+
</locus>
Documentation (element)
Describes a locus, or a point at which an infection may vary. The genotype of an infection is determined by choosing one allele at each locus. Initial frequencies of alleles are specified independently for each locus, but subsequent infections are selected according to success of genotypes.
Alleles at loci can affect fitness and resistance to any number of drugs.
Attributes
Name of locus
name=string
Name of the Locus
Allele
→ scenario → parasiteGenetics → locus → allele
<allele
name=string
initialFrequency=double
fitness=double
[ hrp2_deletion=boolean ] DEFAULT VALUE false
/>
Documentation (element)
Describes an allele, or one possible genetic option of multiple at one point of variance.
Attributes
Name
name=string
Name of the allele; used to refer to it elsewhere.
Initial frequency
initialFrequency=double
Specification of how commonly this allele occurs during warmup relative to other alleles of the same locus. During the simulation's initialisation phases, the frequency at which each allele of each locus occurs is fixed. After the initialisation phase, frequency of alleles is modelled as an emergent property of the success of genotypes.
Fitness factor
fitness=double
Fitness factor of the allele. This is multiplication factor used to speed up or slow down replication of parasites. For example, if a genotype has an allele with a fitness factor of 1 at one locus and another allele with a fitness factor of 0.8 at a second locus, then the parasites with the genotype will replicate 20% slower than the baseline.
HRP2 deletion
hrp2_deletion=boolean
Default value: false
If true, marks this allele as having deleted HRP2. The effect on the simulation is that any diagnostic dependent on HRP2 behaves as if infections with deleted HRP2 have density 0. A diagnostic MUST explicitly set mechanism="HRP2" for this to have any effect.
Drug parameters (PK, PD and usage)
→ scenario → pharmacology
<pharmacology>
IN THIS ORDER:
| <treatments ... />
| <drugs ... />
</pharmacology>
Documentation (element)
Drug model parameters and drug usage parameters
Documentation (type)
A library of drug related data for the PK/PD model.
Treatments library
→ scenario → pharmacology → treatments
<treatments>
IN THIS ORDER:
| ( <schedule ... /> )+
| ( <dosages ... /> )+
</treatments>
Documentation (element)
A library of drug deployment schedules and dosages.
schedule
→ scenario → pharmacology → treatments → schedule
<schedule
name=string
>
IN THIS ORDER:
| ( <medicate ... /> )*
</schedule>
Documentation (type)
A schedule for the administration of drugs in a course of treatment.
Note that dose sizes are multiplied by some multiplier (see dosages) and the times of all doses may be delayed.
Attributes
Name
name=string
Name for referring to this deployment schedule
medicate
→ scenario → pharmacology → treatments → schedule → medicate
<medicate
drug=string
mg=double
hour=double
/>
Attributes
drug
drug=string
Abbreviated name of drug compound
Drug dose (mg with multiplier)
mg=double
Units: mg per something
Quantity of drug compound in mg per something. A separate dosage table must be used when medicating, which may specify multipliers of this number based on patient age or weight.
Time of administration
hour=double
Units: Hours Min: 0
Number of hours past start of timestep this drug dose is administered at (first dose should be at hour 0).
dosages
→ scenario → pharmacology → treatments → dosages
<dosages
name=string
>
IN THIS ORDER:
| EXACTLY ONE OF:
| | ( <age ... /> )+
| | ( <bodymass ... /> )+
| | <multiply ... />
</dosages>
Documentation (type)
A table for selecting a dose size. There are several ways this can work: using the patient's age or body mass in a look-up table to get a multplier, or directly using body mass as the multiplier.
The doses specified in "mg" in the treatment schedule are then multiplied by this multiplier.
Attributes
Name
name=string
Name for referring to this dosage table
Look-up table (age)
→ scenario → pharmacology → treatments → dosages → age
<age
lowerbound=double
dose_mult=double
/>
Documentation (element)
Select dose multiplier from a look-up table using the patient's age.
Documentation (type)
A look-up table which uses patient age (in years) or weight (in kg) to find a multiplier.
Attributes
Lower bound (inclusive)
lowerbound=double
Units: years or kg Min: 0
Dose multiplier
dose_mult=double
Min: 0
The dose size given in the schedule (in "mg") is multiplied by this value for patients falling into this range when this dosage table is used.
Look-up table (weight)
→ scenario → pharmacology → treatments → dosages → bodymass
<bodymass
lowerbound=double
dose_mult=double
/>
Documentation (element)
Select dose multiplier from a look-up table using the patient's body mass.
Documentation (type)
A look-up table which uses patient age (in years) or weight (in kg) to find a multiplier.
Attributes
Lower bound (inclusive)
lowerbound=double
Units: years or kg Min: 0
Dose multiplier
dose_mult=double
Min: 0
The dose size given in the schedule (in "mg") is multiplied by this value for patients falling into this range when this dosage table is used.
Multiply dose
→ scenario → pharmacology → treatments → dosages → multiply
<multiply
by=("kg")
/>
Documentation (element)
Multiply the dose by some quantity, such as patient weight.
Attributes
By what?
by=("kg")
Quantity to multiply the dose by. Only option is "kg" (patient weight in kg).
Drug library
→ scenario → pharmacology → drugs
<drugs>
IN THIS ORDER:
| ( <drug ... /> )+
</drugs>
Documentation (element)
A library of drug PK/PD data.
drug
→ scenario → pharmacology → drugs → drug
<drug
abbrev=string
>
IN THIS ORDER:
| <PD ... />
| <PK ... />
</drug>
Documentation (type)
A drug description with PK/PD parameters.
Attributes
abbrev
abbrev=string
PD
→ scenario → pharmacology → drugs → drug → PD
<PD
[ locus=string ]
>
IN THIS ORDER:
| ( <phenotype ... /> )+
</PD>
Attributes
Locus
locus=string
Optional; if present specifies the locus corresponding to this drug's PD phenotypes: each phenotype must then match one of that locus's alleles. Otherwise the drug should specify only one phenotype. There is currently a one-to-many correspondance between loci and drugs.
PD parameters for some allele / resistance phenotype
→ scenario → pharmacology → drugs → drug → PD → phenotype
<phenotype
[ name=string ]
>
IN THIS ORDER:
| ( <restriction ... /> )*
| <max_killing_rate ... />
| <IC50 ... />
| <slope ... />
</phenotype>
Documentation (element)
Pharmaco-Dynamic parameters for some resistance phenotype.
To model resistance to this drug, describe multiple infection phenotypes (with respect to these PD parameters) and list one or more "restrict" elements for each phenotype.
Loci are specified elsewhere. Multiple loci may influence the action of a single drug and each locus may influence multiple drugs.
Attributes
Name of phenotype
name=string
Name of the phenotype; for documentation use only.
Restrict phenotype applicability to certain alleles
→ scenario → pharmacology → drugs → drug → PD → phenotype → restriction
<restriction
onLocus=string
toAllele=string
/>
Documentation (element)
Specifies the mapping from genotype to phenotype. For each drug type, if only one phenotype is present, restrictions need not be specified, but otherwise restrictions must be specified.
The set of loci affecting phenotypes of this drug's action must be fixed for any drug type. Each phenotype must list, for each of these loci, a restriction to one or more alleles under the locus.
Attributes
Locus relevant to the mapping of alleles to this phenotype
onLocus=string
A locus under which only a restricted set of alleles map to this phenotype.
Alleles mapping to this phenotype
toAllele=string
One allele of a locus upon which phenotype choice depends. If multiple alleles under this locus should map to the same phenotype, repeat the whole "restriction onLocus..." element.
Maximal parasite killing rate
→ scenario → pharmacology → drugs → drug → PD → phenotype → max_killing_rate
<max_killing_rate>
double
</max_killing_rate>
Documentation (element)
Units: 1/days Min: 0
k1 — Maximal parasite killing rate.
IC50
→ scenario → pharmacology → drugs → drug → PD → phenotype → IC50
<IC50
[ CV=double ]
[ distr=("const" or "lognormal") ] DEFAULT VALUE const
mean=double
/>
Documentation (element)
Units: mg/l Min: 0
Half maximal effect concentration.
If CV > 0, the IC50 is sampled from a log-normal distribution.
Documentation (type)
A parameter with optional log-normal heterogeneity.
The mean value must be specified. Optionally, a distribution ("distr") and coefficient of variation ("CV") may be specified.
Documentation (base type)
A parameter with optional heterogeneity.
The mean cannot be specified (unless this type is extended). Optionally, a distribution ("distr") and coefficient of variation ("CV") may be specified.
Attributes
Coefficient of variation
CV=double
Units: unitless
The (linear) coefficient of variation. This value must be specified when a (non-constant) distribution is used. Note that specifying CV="0" has the same effect as distr="const" and disables sampling of this parameter, even if distr is not "const".
Distribution
distr=("const" or "lognormal")
Default value: const
To allow heterogeneity, a distribution must be specified. Valid options are as follows. "const": no variation or sampling. Specifying distr="const" has the same effect as not specifying distr at all. "lognormal": the parameter is sampled from a log-normal distribution. Note that the "mean" and "CV" values are linear (arithmetic) properties of the distribution and not log-space properties.
mean
mean=double
The (linear) mean value.
Slope of effect curve
→ scenario → pharmacology → drugs → drug → PD → phenotype → slope
<slope>
double
</slope>
Documentation (element)
Units: dimensionless
n — Slope of the concentration effect curve
PK
→ scenario → pharmacology → drugs → drug → PK
<PK>
IN THIS ORDER:
| <negligible_concentration ... />
| EXACTLY ONE OF:
| | <half_life ... />
| | IN THIS ORDER:
| | | <k ... />
| | | <m_exponent ... />
| [ <k_a ... /> ]
| [ <conversion ... /> ]
| <vol_dist ... />
| [ <compartment2 ... /> ]
| [ <compartment3 ... /> ]
</PK>
Drug concentration considered negligible
→ scenario → pharmacology → drugs → drug → PK → negligible_concentration
<negligible_concentration>
double
</negligible_concentration>
Documentation (element)
Units: mg/l Min: 0
Concentration below which drug's effects are deemed negligible and can be removed from simulation.
drug half-life
→ scenario → pharmacology → drugs → drug → PK → half_life
<half_life>
double
</half_life>
Documentation (element)
Units: days Min: 0
Used to calculate elimination rate λ, calculated as λ = ln(2) / half_life. The basic form of decay is C(t) = C0 * exp(-λ*t).
Alternatively, elimination rate can be specified via k and m_exponent.
Constant associated with elimination rate (k)
→ scenario → pharmacology → drugs → drug → PK → k
<k
[ CV=double ]
[ distr=("const" or "lognormal") ] DEFAULT VALUE const
mean=double
/>
Documentation (element)
Units: day^-1 Min: 0
Constant used to calculate the elimination rate λ, which is calculated as λ = k / (body_mass ^ m_exponent), where body_mass is the patient's weight in kg and m_exponent is the next parameter. The basic form of decay is C(t) = C0 * exp(-λ*t).
If CV > 0, k is sampled per-human from the log-normal distribution: ln N( ln(mean) - σ^2 / 2, σ^2).
Alternatively, elimination rate can be specified via half_life.
Documentation (type)
A parameter with optional log-normal heterogeneity.
The mean value must be specified. Optionally, a distribution ("distr") and coefficient of variation ("CV") may be specified.
Documentation (base type)
A parameter with optional heterogeneity.
The mean cannot be specified (unless this type is extended). Optionally, a distribution ("distr") and coefficient of variation ("CV") may be specified.
Attributes
Coefficient of variation
CV=double
Units: unitless
The (linear) coefficient of variation. This value must be specified when a (non-constant) distribution is used. Note that specifying CV="0" has the same effect as distr="const" and disables sampling of this parameter, even if distr is not "const".
Distribution
distr=("const" or "lognormal")
Default value: const
To allow heterogeneity, a distribution must be specified. Valid options are as follows. "const": no variation or sampling. Specifying distr="const" has the same effect as not specifying distr at all. "lognormal": the parameter is sampled from a log-normal distribution. Note that the "mean" and "CV" values are linear (arithmetic) properties of the distribution and not log-space properties.
mean
mean=double
The (linear) mean value.
Constant associated with elimination rate (m_exponent)
→ scenario → pharmacology → drugs → drug → PK → m_exponent
<m_exponent>
double
</m_exponent>
Documentation (element)
Units: day^-1 Min: 0
Constant used to calculate the elimination rate λ, which is calculated as λ = k / (body_mass ^ m_exponent), where body_mass is the patient's weight in kg and k is the previous parameter. The basic form of decay is C(t) = C0 * exp(-λ*t).
Alternatively, elimination rate can be specified via half_life.
Note that in the case of a conversion model, this applies to both the elimination and the conversion rates.
Absorption rate constant (k_a)
→ scenario → pharmacology → drugs → drug → PK → k_a
<k_a
[ CV=double ]
[ distr=("const" or "lognormal") ] DEFAULT VALUE const
mean=double
/>
Documentation (element)
Min: 0
Absorption rate parameter. Not allowed for one compartment models, but required for two and three compartment models and one compartment with conversion model (for the parent drug only).
Documentation (type)
A parameter with optional log-normal heterogeneity.
The mean value must be specified. Optionally, a distribution ("distr") and coefficient of variation ("CV") may be specified.
Documentation (base type)
A parameter with optional heterogeneity.
The mean cannot be specified (unless this type is extended). Optionally, a distribution ("distr") and coefficient of variation ("CV") may be specified.
Attributes
Coefficient of variation
CV=double
Units: unitless
The (linear) coefficient of variation. This value must be specified when a (non-constant) distribution is used. Note that specifying CV="0" has the same effect as distr="const" and disables sampling of this parameter, even if distr is not "const".
Distribution
distr=("const" or "lognormal")
Default value: const
To allow heterogeneity, a distribution must be specified. Valid options are as follows. "const": no variation or sampling. Specifying distr="const" has the same effect as not specifying distr at all. "lognormal": the parameter is sampled from a log-normal distribution. Note that the "mean" and "CV" values are linear (arithmetic) properties of the distribution and not log-space properties.
mean
mean=double
The (linear) mean value.
Conversion parameters (parent drug)
→ scenario → pharmacology → drugs → drug → PK → conversion
<conversion>
IN ANY ORDER:
| <metabolite ... />
| <rate ... />
| <molRatio ... />
| <IC50_log_correlation ... />
</conversion>
Documentation (element)
Configures the parent drug in a conversion model.
To use a conversion model, the parent drug should have this section defined as well as half-life or k (direct elimination; this may be zero) and k_a (absorption rate; this may be large).
The metabolite drug should define half-life or k (elimination of metabolite), but not k_a (absorption rate) or this section (conversion). It is not possible for the metabolite to itself undergo conversion with the current models.
Metabolite drug (abbreviation)
→ scenario → pharmacology → drugs → drug → PK → conversion → metabolite
<metabolite>
string
</metabolite>
Documentation (element)
The abbreviation of the metabolite drug (e.g. "DHA" or "DHA_AR").
Rate of conversion
→ scenario → pharmacology → drugs → drug → PK → conversion → rate
<rate
[ CV=double ]
[ distr=("const" or "lognormal") ] DEFAULT VALUE const
mean=double
/>
Documentation (element)
Rate of conversion of parent drug to metabolite.
Documentation (type)
A parameter with optional log-normal heterogeneity.
The mean value must be specified. Optionally, a distribution ("distr") and coefficient of variation ("CV") may be specified.
Documentation (base type)
A parameter with optional heterogeneity.
The mean cannot be specified (unless this type is extended). Optionally, a distribution ("distr") and coefficient of variation ("CV") may be specified.
Attributes
Coefficient of variation
CV=double
Units: unitless
The (linear) coefficient of variation. This value must be specified when a (non-constant) distribution is used. Note that specifying CV="0" has the same effect as distr="const" and disables sampling of this parameter, even if distr is not "const".
Distribution
distr=("const" or "lognormal")
Default value: const
To allow heterogeneity, a distribution must be specified. Valid options are as follows. "const": no variation or sampling. Specifying distr="const" has the same effect as not specifying distr at all. "lognormal": the parameter is sampled from a log-normal distribution. Note that the "mean" and "CV" values are linear (arithmetic) properties of the distribution and not log-space properties.
mean
mean=double
The (linear) mean value.
Molecular weight ratio
→ scenario → pharmacology → drugs → drug → PK → conversion → molRatio
<molRatio>
double
</molRatio>
Documentation (element)
Ratio of molecular weights: molecular weight of the metabolite divided by molecular weight of the parent.
IC50 log correlation
→ scenario → pharmacology → drugs → drug → PK → conversion → IC50_log_correlation
<IC50_log_correlation>
double
</IC50_log_correlation>
Documentation (element)
Min: 0 Max: 1
The IC50 values of parent and metabolite drugs may be sampled from the log-normal distribution (if CV is greater than 0). This parameter controls correlation between these samples, measured in log-space.
If this value is 1, samples are fully correlated: a single z-score is used to calculate both samples. If this is 0, two independent samples are used.
Values between 0 and 1 (partial correlation) are supported; in this case IC50 values are sampled such that cor(log(x), log(y)) matches this value (where x, y are parent and metabolite IC50 values).
Volume of Distribution (Vd)
→ scenario → pharmacology → drugs → drug → PK → vol_dist
<vol_dist
[ CV=double ]
[ distr=("const" or "lognormal") ] DEFAULT VALUE const
mean=double
/>
Documentation (element)
Units: l/kg Min: 0
Volume of Distribution.
If CV > 0 this is sampled from a log-normal distribution.
Documentation (type)
A parameter with optional log-normal heterogeneity.
The mean value must be specified. Optionally, a distribution ("distr") and coefficient of variation ("CV") may be specified.
Documentation (base type)
A parameter with optional heterogeneity.
The mean cannot be specified (unless this type is extended). Optionally, a distribution ("distr") and coefficient of variation ("CV") may be specified.
Attributes
Coefficient of variation
CV=double
Units: unitless
The (linear) coefficient of variation. This value must be specified when a (non-constant) distribution is used. Note that specifying CV="0" has the same effect as distr="const" and disables sampling of this parameter, even if distr is not "const".
Distribution
distr=("const" or "lognormal")
Default value: const
To allow heterogeneity, a distribution must be specified. Valid options are as follows. "const": no variation or sampling. Specifying distr="const" has the same effect as not specifying distr at all. "lognormal": the parameter is sampled from a log-normal distribution. Note that the "mean" and "CV" values are linear (arithmetic) properties of the distribution and not log-space properties.
mean
mean=double
The (linear) mean value.
Second compartment parameters
→ scenario → pharmacology → drugs → drug → PK → compartment2
<compartment2>
IN ANY ORDER:
| <k12 ... />
| <k21 ... />
</compartment2>
Documentation (element)
Optional element specifying conversion parameters to- and from- a second compartment.
Absorption rate to compartment 2 (k12)
→ scenario → pharmacology → drugs → drug → PK → compartment2 → k12
<k12
[ CV=double ]
[ distr=("const" or "lognormal") ] DEFAULT VALUE const
mean=double
/>
Documentation (element)
Units: day^-1 Min: 0
Absorption rate from the central compartment to the first periphery compartment (2).
It is sampled per-patient when CV > 0.
Documentation (type)
A parameter with optional log-normal heterogeneity.
The mean value must be specified. Optionally, a distribution ("distr") and coefficient of variation ("CV") may be specified.
Documentation (base type)
A parameter with optional heterogeneity.
The mean cannot be specified (unless this type is extended). Optionally, a distribution ("distr") and coefficient of variation ("CV") may be specified.
Attributes
Coefficient of variation
CV=double
Units: unitless
The (linear) coefficient of variation. This value must be specified when a (non-constant) distribution is used. Note that specifying CV="0" has the same effect as distr="const" and disables sampling of this parameter, even if distr is not "const".
Distribution
distr=("const" or "lognormal")
Default value: const
To allow heterogeneity, a distribution must be specified. Valid options are as follows. "const": no variation or sampling. Specifying distr="const" has the same effect as not specifying distr at all. "lognormal": the parameter is sampled from a log-normal distribution. Note that the "mean" and "CV" values are linear (arithmetic) properties of the distribution and not log-space properties.
mean
mean=double
The (linear) mean value.
Absorption rate from compartment 2 (k21)
→ scenario → pharmacology → drugs → drug → PK → compartment2 → k21
<k21
[ CV=double ]
[ distr=("const" or "lognormal") ] DEFAULT VALUE const
mean=double
/>
Documentation (element)
Units: day^-1 Min: 0
Absorption rate from the first periphery compartment (2) to the central compartment.
It is sampled per-patient when CV > 0.
Documentation (type)
A parameter with optional log-normal heterogeneity.
The mean value must be specified. Optionally, a distribution ("distr") and coefficient of variation ("CV") may be specified.
Documentation (base type)
A parameter with optional heterogeneity.
The mean cannot be specified (unless this type is extended). Optionally, a distribution ("distr") and coefficient of variation ("CV") may be specified.
Attributes
Coefficient of variation
CV=double
Units: unitless
The (linear) coefficient of variation. This value must be specified when a (non-constant) distribution is used. Note that specifying CV="0" has the same effect as distr="const" and disables sampling of this parameter, even if distr is not "const".
Distribution
distr=("const" or "lognormal")
Default value: const
To allow heterogeneity, a distribution must be specified. Valid options are as follows. "const": no variation or sampling. Specifying distr="const" has the same effect as not specifying distr at all. "lognormal": the parameter is sampled from a log-normal distribution. Note that the "mean" and "CV" values are linear (arithmetic) properties of the distribution and not log-space properties.
mean
mean=double
The (linear) mean value.
Third compartment parameters
→ scenario → pharmacology → drugs → drug → PK → compartment3
<compartment3>
IN ANY ORDER:
| <k13 ... />
| <k31 ... />
</compartment3>
Documentation (element)
Optional element specifying conversion parameters to- and from- a third compartment.
Absorption rate to compartment 3 (k13)
→ scenario → pharmacology → drugs → drug → PK → compartment3 → k13
<k13
[ CV=double ]
[ distr=("const" or "lognormal") ] DEFAULT VALUE const
mean=double
/>
Documentation (element)
Units: day^-1 Min: 0
Absorption rate from the central compartment to the second periphery compartment (3).
It is sampled per-patient when CV > 0.
Documentation (type)
A parameter with optional log-normal heterogeneity.
The mean value must be specified. Optionally, a distribution ("distr") and coefficient of variation ("CV") may be specified.
Documentation (base type)
A parameter with optional heterogeneity.
The mean cannot be specified (unless this type is extended). Optionally, a distribution ("distr") and coefficient of variation ("CV") may be specified.
Attributes
Coefficient of variation
CV=double
Units: unitless
The (linear) coefficient of variation. This value must be specified when a (non-constant) distribution is used. Note that specifying CV="0" has the same effect as distr="const" and disables sampling of this parameter, even if distr is not "const".
Distribution
distr=("const" or "lognormal")
Default value: const
To allow heterogeneity, a distribution must be specified. Valid options are as follows. "const": no variation or sampling. Specifying distr="const" has the same effect as not specifying distr at all. "lognormal": the parameter is sampled from a log-normal distribution. Note that the "mean" and "CV" values are linear (arithmetic) properties of the distribution and not log-space properties.
mean
mean=double
The (linear) mean value.
Absorption rate from compartment 3 (k31)
→ scenario → pharmacology → drugs → drug → PK → compartment3 → k31
<k31
[ CV=double ]
[ distr=("const" or "lognormal") ] DEFAULT VALUE const
mean=double
/>
Documentation (element)
Units: day^-1 Min: 0
Absorption rate from the second periphery compartment (3) to the central compartment.
It is sampled per-patient when CV > 0.
Documentation (type)
A parameter with optional log-normal heterogeneity.
The mean value must be specified. Optionally, a distribution ("distr") and coefficient of variation ("CV") may be specified.
Documentation (base type)
A parameter with optional heterogeneity.
The mean cannot be specified (unless this type is extended). Optionally, a distribution ("distr") and coefficient of variation ("CV") may be specified.
Attributes
Coefficient of variation
CV=double
Units: unitless
The (linear) coefficient of variation. This value must be specified when a (non-constant) distribution is used. Note that specifying CV="0" has the same effect as distr="const" and disables sampling of this parameter, even if distr is not "const".
Distribution
distr=("const" or "lognormal")
Default value: const
To allow heterogeneity, a distribution must be specified. Valid options are as follows. "const": no variation or sampling. Specifying distr="const" has the same effect as not specifying distr at all. "lognormal": the parameter is sampled from a log-normal distribution. Note that the "mean" and "CV" values are linear (arithmetic) properties of the distribution and not log-space properties.
mean
mean=double
The (linear) mean value.
Diagnostic parameters
→ scenario → diagnostics
<diagnostics>
IN THIS ORDER:
| ( <diagnostic ... /> )*
</diagnostics>
Documentation (element)
Diagnostic model parameters
diagnostic
→ scenario → diagnostics → diagnostic
<diagnostic
name=string
[ units=("Other" or "Garki" or "Malariatherapy") ]
[ mechanism=("Other" or "HRP2") ] DEFAULT VALUE Other
>
IN THIS ORDER:
| EXACTLY ONE OF:
| | <deterministic ... />
| | <stochastic ... />
</diagnostic>
Attributes
Name of diagnostic
name=string
Name of this diagnostic (parameterisation). May be used elsewhere in the XML document to refer to this set of diagnostic parameters.
Parasite density units / methodology
units=("Other" or "Garki" or "Malariatherapy")
Parasite densities, as estimated according to standard microscopy methods, the Garki method, and as derived from Malariatherapy data are not equivalent. Internally, a "bias" factor is used to convert values estimated by one methods to values comparable with another (see AJTMHv75 supplement 2 pp20-21). This option allows specification of which methodology the density given in the diagnostic specification is measured with. Values allowed are: Malariatherapy, Garki and Other. If not specified, Other is assumed, unless the GARKI_DENSITY_BIAS model option is used, in which case this option must be specified.
Mechanism
mechanism=("Other" or "HRP2")
Default value: Other
Mechanism by which this diagnostic functions. Possible values are: HRP2, Other. In the case of HRP2, infections with an hrp2_deletion will be invisible to this diagnostic. In the case of Other, the diagnostic is unaffected by infection genome. The diagnostic used for monitoring cannot use HRP2. (This is a restriction made to simplify implementation.)
Deterministic detection
→ scenario → diagnostics → diagnostic → deterministic
<deterministic
minDensity=double
/>
Documentation (element)
Specify that an artificial deterministic test is used: outcome is positive if parasite density is at least the minimum given.
Attributes
Minimum detectible density
minDensity=double
Units: parasites/microlitre Min: 0
The minimum density at which parasites can be detected. If 0, the test outcome is always positive.
Non-deterministic detection
→ scenario → diagnostics → diagnostic → stochastic
<stochastic
dens_50=double
specificity=double
/>
Documentation (element)
An improved model of detection which is non-deterministic, including false positive results as well as false negatives.
The probability of a positive outcome is modelled as 1 + s×(x/(x+d) - 1) where x is the parasite density, d is the density at which the test outcome has a 50% chance of being positive, and s is the probability of a positive outcome given no parasites (the specificity).
Some parameterisations:
Microscopy sensitivity/specificity data in Africa; Source: expert opinion — Allan Schapira dens_50 = 20.0 specificity = .75
RDT sensitivity/specificity for Plasmodium falciparum in Africa Source: Murray et al (Clinical Microbiological Reviews, Jan. 2008) dens_50 = 50.0; specificity = .942;
Attributes
Density 50
dens_50=double
Units: parasites/microlitre Min: 0
The density at which the test outcome has a 50% chance of being positive.
Specificity
specificity=double
Units: Dimensionless Min: 0 Max: 1
The probability of a positive test outcome in the absense of parasites.
Model options and parameters
<model>
IN ANY ORDER:
| <ModelOptions ... />
| <clinical ... />
| <human ... />
| [ <vivax ... /> ]
| <parameters ... />
</model>
Documentation (element)
Encapsulation of all parameters which describe the model according to which fitting is done.
Model Options
→ scenario → model → ModelOptions
<ModelOptions>
IN THIS ORDER:
| ( <option ... /> )*
</ModelOptions>
Documentation (element)
All model options (bug fixes, choices between models, etc.).
The list of recognised options can be found in the code at:
model/util/ModelOptions.h and should also be in the wiki.
clinical
<clinical
healthSystemMemory=string
>
IN ANY ORDER:
| [ <NeonatalMortality ... /> ]
| [ <NonMalariaFevers ... /> ]
</clinical>
Documentation (type)
Description of clinical parameters that are related to the health-system description, but which contain data that cannot be changed as part of an intervention and that are not restricted to treatment.
Attributes
Follow-up period during which recurrence is considered a treatment failure
healthSystemMemory=string
Units: User-defined (defaults to steps)
Follow-up period during which a recurrence is considered to be a treatment failure Can be specified in steps (e.g. 6t) or days (e.g. 28d).
Neonatal mortality parameters
→ scenario → model → clinical → NeonatalMortality
<NeonatalMortality
diagnostic=string
/>
Attributes
Diagnostic used to parameterise model
diagnostic=string
The name of a diagnostic used to parameterise the model. Neonatal mortality is derived from malaria patency of a certain sub-population of humans. This is the diagnostic used to asses patency for this purpose. If this is not specified, the monitoring diagnostic is used.
NonMalariaFevers
→ scenario → model → clinical → NonMalariaFevers
<NonMalariaFevers>
IN THIS ORDER:
| <incidence ... />
| [ <prNeedTreatmentNMF ... /> ]
| [ <prNeedTreatmentMF ... /> ]
</NonMalariaFevers>
Documentation (type)
Description of the incidence of non-malaria fever. Non-malaria fevers are only modelled if the NON_MALARIA_FEVERS option is used.
P(NMF)
→ scenario → model → clinical → NonMalariaFevers → incidence
<incidence
[ interpolation=("none" or "linear") ]
>
IN THIS ORDER:
| ( <group ... /> )+
</incidence>
Documentation (element)
Units: Dimensionless Min: 0.0 Max: 1.0
Probability that a non-malaria fever occurs given that no concurrent malaria fever occurs.
Attributes
interpolation
interpolation=("none" or "linear")
Interpolation algorithm. Normally it is desirable for age-based values to be continuous w.r.t. age. By default linear interpolation is used. With all algorithms except "none", the age groups are converted to a set of points centred within each age range. Extra points are added at each end (zero and infinity) to keep value constant at both ends of the function. A zero-length age group may be used as a kind of barrier to adjust the distribution; e.g. with age group boundaries at 15, 20 and 25 years, a (linear) spline would be drawn between ages 17.5 and 22.5, whereas with boundaries at 15, 20 and 20 years, a spline would be drawn between ages 17.5 and 20 years (may be desired if individuals are assumed to reach adult size at 20). Algorithms:
- none: input values are used directly
- linear: straight lines (on an age vs. value graph) are used to interpolate data points.
P(need treatment | NMF)
→ scenario → model → clinical → NonMalariaFevers → prNeedTreatmentNMF
<prNeedTreatmentNMF
[ interpolation=("none" or "linear") ]
>
IN THIS ORDER:
| ( <group ... /> )+
</prNeedTreatmentNMF>
Documentation (element)
Units: Dimensionless Min: 0 Max: 1
Probability that a non-malarial fever requires treatment with antibiotics (assuming fever is not induced by malaria, although concurrent parasites may be present).
Attributes
interpolation
interpolation=("none" or "linear")
Interpolation algorithm. Normally it is desirable for age-based values to be continuous w.r.t. age. By default linear interpolation is used. With all algorithms except "none", the age groups are converted to a set of points centred within each age range. Extra points are added at each end (zero and infinity) to keep value constant at both ends of the function. A zero-length age group may be used as a kind of barrier to adjust the distribution; e.g. with age group boundaries at 15, 20 and 25 years, a (linear) spline would be drawn between ages 17.5 and 22.5, whereas with boundaries at 15, 20 and 20 years, a spline would be drawn between ages 17.5 and 20 years (may be desired if individuals are assumed to reach adult size at 20). Algorithms:
- none: input values are used directly
- linear: straight lines (on an age vs. value graph) are used to interpolate data points.
P(need treatment | MF)
→ scenario → model → clinical → NonMalariaFevers → prNeedTreatmentMF
<prNeedTreatmentMF
[ interpolation=("none" or "linear") ]
>
IN THIS ORDER:
| ( <group ... /> )+
</prNeedTreatmentMF>
Documentation (element)
Units: Dimensionless Min: 0 Max: 1
Probability that a malaria fever needs treatment with antibiotics (assuming fever is induced by malaria, although concurrent bacteria may be present).
Meaning partially overlaps with separate model for comorbidity given malaria.
Attributes
interpolation
interpolation=("none" or "linear")
Interpolation algorithm. Normally it is desirable for age-based values to be continuous w.r.t. age. By default linear interpolation is used. With all algorithms except "none", the age groups are converted to a set of points centred within each age range. Extra points are added at each end (zero and infinity) to keep value constant at both ends of the function. A zero-length age group may be used as a kind of barrier to adjust the distribution; e.g. with age group boundaries at 15, 20 and 25 years, a (linear) spline would be drawn between ages 17.5 and 22.5, whereas with boundaries at 15, 20 and 20 years, a spline would be drawn between ages 17.5 and 20 years (may be desired if individuals are assumed to reach adult size at 20). Algorithms:
- none: input values are used directly
- linear: straight lines (on an age vs. value graph) are used to interpolate data points.
human
<human>
IN THIS ORDER:
| <availabilityToMosquitoes ... />
| [ <weight ... /> ]
</human>
Documentation (type)
Parameters of host models.
Availability to mosquitoes
→ scenario → model → human → availabilityToMosquitoes
<availabilityToMosquitoes
[ interpolation=("none" or "linear") ]
>
IN THIS ORDER:
| ( <group ... /> )+
</availabilityToMosquitoes>
Documentation (element)
Units: None Min: 0 Max: 1
Availability of humans to mosquitoes relative to an adult, categorized by age group
Attributes
interpolation
interpolation=("none" or "linear")
Interpolation algorithm. Normally it is desirable for age-based values to be continuous w.r.t. age. By default linear interpolation is used. With all algorithms except "none", the age groups are converted to a set of points centred within each age range. Extra points are added at each end (zero and infinity) to keep value constant at both ends of the function. A zero-length age group may be used as a kind of barrier to adjust the distribution; e.g. with age group boundaries at 15, 20 and 25 years, a (linear) spline would be drawn between ages 17.5 and 22.5, whereas with boundaries at 15, 20 and 20 years, a spline would be drawn between ages 17.5 and 20 years (may be desired if individuals are assumed to reach adult size at 20). Algorithms:
- none: input values are used directly
- linear: straight lines (on an age vs. value graph) are used to interpolate data points.
Weight
→ scenario → model → human → weight
<weight
[ interpolation=("none" or "linear") ]
multStdDev=double
>
IN THIS ORDER:
| ( <group ... /> )+
</weight>
Documentation (element)
Units: kg Min: 0
By age group data on human weight (mass).
Attributes
interpolation
interpolation=("none" or "linear")
Interpolation algorithm. Normally it is desirable for age-based values to be continuous w.r.t. age. By default linear interpolation is used. With all algorithms except "none", the age groups are converted to a set of points centred within each age range. Extra points are added at each end (zero and infinity) to keep value constant at both ends of the function. A zero-length age group may be used as a kind of barrier to adjust the distribution; e.g. with age group boundaries at 15, 20 and 25 years, a (linear) spline would be drawn between ages 17.5 and 22.5, whereas with boundaries at 15, 20 and 20 years, a spline would be drawn between ages 17.5 and 20 years (may be desired if individuals are assumed to reach adult size at 20). Algorithms:
- none: input values are used directly
- linear: straight lines (on an age vs. value graph) are used to interpolate data points.
Standard deviation
multStdDev=double
Units: None Min: 0
Each human is assigned a weight multiplier from a normal distribution with mean 1 and this standard deviation at birth. His/her weight is this multiplier times the mean from age distribution. A standard deviation of zero for no heterogeneity is valid; a rough value from Tanzanian data is 0.14.
Vivax model parameters
<vivax>
IN ANY ORDER:
| <probBloodStageInfectiousToMosq ... />
| <hypnozoiteRelease ... />
| <bloodStageProtectionLatency ... />
| <bloodStageLengthDays ... />
| <clinicalEvents ... />
</vivax>
- probBloodStageInfectiousToMosq
- hypnozoiteRelease
- bloodStageProtectionLatency
- bloodStageLengthDays
- clinicalEvents
Documentation (element)
This describes Vivax model parameters, and is required when using the VIVAX_SIMPLE_MODEL model option.
Probability of mosquito infection
→ scenario → model → vivax → probBloodStageInfectiousToMosq
<probBloodStageInfectiousToMosq
value=double
/>
Documentation (element)
Units: None Min: 0 Max: 1
The chance of a feeding mosquito becoming infected, given that the host is patent. (This may be adjusted by transmission-blocking vaccines.)
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Hypnozoite releases
→ scenario → model → vivax → hypnozoiteRelease
<hypnozoiteRelease
[ pSecondRelease=double ] DEFAULT VALUE 0
>
IN ANY ORDER:
| <numberHypnozoites ... />
| <firstReleaseDays ... />
| [ <secondReleaseDays ... /> ]
</hypnozoiteRelease>
Documentation (element)
Describes the number and times of hypnozoite releases.
Documentation (type)
This element defines probabilites when and how many hypnozoites are released from the liverstage into the blood.
The gap between the start of a new brood of hypnozoites and its release are defined as follows:
latentP + latentRelapse + randomReleaseDelay
randomReleaseDelay is based on one or two lognormal distributions, which are defined in firstRelease and optionally secondRelease.
You can define 2 release distributions, which get added together and represent the probability of hypnozoites which get released before winter (first release) or after (second release).
You can omit the secondRelease element if no release to the blood happens after winter.
Attributes
latent relapse days
pSecondRelease=double
Default value: 0
Probability of a second release. If undefined it is zero.
Number of Hypnozoites
→ scenario → model → vivax → hypnozoiteRelease → numberHypnozoites
<numberHypnozoites
max=int
base=double
/>
Documentation (element)
numberHypnozoites calculates the number of hypnozoites in the liver stage based on a base which is between 0 and 1.
This number is random based on the following distribution and normalized:
max ∑ (base ^ n) n = 0
Attributes
max
max=int
base
base=double
firstReleaseDays
→ scenario → model → vivax → hypnozoiteRelease → firstReleaseDays
<firstReleaseDays
[ CV=double ]
[ distr=("const" or "lognormal") ] DEFAULT VALUE const
mean=double
latentRelapse=double
/>
Documentation (type)
Hypnozoites are released after a delay, calculated as: roundToTSFromDays(delay + latentRelapse)
Here, roundToTSFromDays rounds the input (in days) to the nearest timestep, delay is sampled from a log-normal, and latentRelapse is the parameter specified here.
The delay is sampled from a log-normal distribution, parameterised via the (linear) mean and CV (coefficient of variation) given here.
Documentation (base type)
A parameter with optional log-normal heterogeneity.
The mean value must be specified. Optionally, a distribution ("distr") and coefficient of variation ("CV") may be specified.
Documentation (base type)
A parameter with optional heterogeneity.
The mean cannot be specified (unless this type is extended). Optionally, a distribution ("distr") and coefficient of variation ("CV") may be specified.
Attributes
Coefficient of variation
CV=double
Units: unitless
The (linear) coefficient of variation. This value must be specified when a (non-constant) distribution is used. Note that specifying CV="0" has the same effect as distr="const" and disables sampling of this parameter, even if distr is not "const".
Distribution
distr=("const" or "lognormal")
Default value: const
To allow heterogeneity, a distribution must be specified. Valid options are as follows. "const": no variation or sampling. Specifying distr="const" has the same effect as not specifying distr at all. "lognormal": the parameter is sampled from a log-normal distribution. Note that the "mean" and "CV" values are linear (arithmetic) properties of the distribution and not log-space properties.
mean
mean=double
The (linear) mean value.
latent relapse days
latentRelapse=double
Usually between 10 and 15 days.
secondReleaseDays
→ scenario → model → vivax → hypnozoiteRelease → secondReleaseDays
<secondReleaseDays
[ CV=double ]
[ distr=("const" or "lognormal") ] DEFAULT VALUE const
mean=double
latentRelapse=double
/>
Documentation (type)
Hypnozoites are released after a delay, calculated as: roundToTSFromDays(delay + latentRelapse)
Here, roundToTSFromDays rounds the input (in days) to the nearest timestep, delay is sampled from a log-normal, and latentRelapse is the parameter specified here.
The delay is sampled from a log-normal distribution, parameterised via the (linear) mean and CV (coefficient of variation) given here.
Documentation (base type)
A parameter with optional log-normal heterogeneity.
The mean value must be specified. Optionally, a distribution ("distr") and coefficient of variation ("CV") may be specified.
Documentation (base type)
A parameter with optional heterogeneity.
The mean cannot be specified (unless this type is extended). Optionally, a distribution ("distr") and coefficient of variation ("CV") may be specified.
Attributes
Coefficient of variation
CV=double
Units: unitless
The (linear) coefficient of variation. This value must be specified when a (non-constant) distribution is used. Note that specifying CV="0" has the same effect as distr="const" and disables sampling of this parameter, even if distr is not "const".
Distribution
distr=("const" or "lognormal")
Default value: const
To allow heterogeneity, a distribution must be specified. Valid options are as follows. "const": no variation or sampling. Specifying distr="const" has the same effect as not specifying distr at all. "lognormal": the parameter is sampled from a log-normal distribution. Note that the "mean" and "CV" values are linear (arithmetic) properties of the distribution and not log-space properties.
mean
mean=double
The (linear) mean value.
latent relapse days
latentRelapse=double
Usually between 10 and 15 days.
Blood stage protection latency
→ scenario → model → vivax → bloodStageProtectionLatency
<bloodStageProtectionLatency
value=double
/>
Documentation (element)
Min: 0
The length of time after expiry of a blood-stage infection during which relapses from the same brood are supressed by the immune system.
This is rounded to the nearest time-step.
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Blood stage length
→ scenario → model → vivax → bloodStageLengthDays
<bloodStageLengthDays
scale=double
shape=double
distr=("weibull")
/>
Documentation (element)
Units: Days
Parameters used to sample the length of blood-stage infections from a Weibull distribution (scale parameter lambda, shape parameter k).
Documentation (type)
Parameters of a Weibull distribution.
Attributes
Scale
scale=double
The Weibull scale parameter (λ).
shape
shape=double
The Weibull shape parameter (k).
Distribution
distr=("weibull")
To allow heterogeneity, a distribution must be specified. In this case, only "weibull" is allowed.
clinicalEvents
→ scenario → model → vivax → clinicalEvents
<clinicalEvents>
IN THIS ORDER:
| <pPrimaryInfection ... />
| <pRelapseOne ... />
| <pRelapseTwoPlus ... />
| <pEventIsSevere ... />
</clinicalEvents>
Documentation (type)
This elements holds all information about probabilites for clinical events from infections and relapses.
pPrimaryInfection
→ scenario → model → vivax → clinicalEvents → pPrimaryInfection
<pPrimaryInfection
a=double
b=double
/>
Attributes
a
a=double
b
b=double
pRelapseOne
→ scenario → model → vivax → clinicalEvents → pRelapseOne
<pRelapseOne
a=double
b=double
/>
Attributes
a
a=double
b
b=double
pRelapseTwoPlus
→ scenario → model → vivax → clinicalEvents → pRelapseTwoPlus
<pRelapseTwoPlus
a=double
b=double
/>
Attributes
a
a=double
b
b=double
pEventIsSevere
→ scenario → model → vivax → clinicalEvents → pEventIsSevere
<pEventIsSevere
value=double
/>
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Parameters of the model of epidemiology
→ scenario → model → parameters
<parameters
interval=int
iseed=int
latentp=string
>
IN THIS ORDER:
| ( <parameter ... /> )+
</parameters>
Documentation (element)
Parameters of the epidemiological model
Attributes
Simulation step
interval=int
Units: Days
Simulation step
Random number seed
iseed=int
Units: Number
Seed for RNG
Pre-erythrocytic latent period
latentp=string
Units: User defined (default: steps) Min: 0 Max: 20
Pre-erythrocytic latent period Can be specified in steps (e.g. 3t) or days (e.g. 15d).
parameter
→ scenario → model → parameters → parameter
<parameter
[ name=string ]
number=int
value=double
[ include=boolean ]
/>
Attributes
Name of parameter
name=string
Units: string
Name of parameter
Parameter number
number=int
Units: Number Min: 1 Max: 100
Reference number of input parameter
Parameter value
value=double
Units: Number Min: 0
Parameter value
Sampling indicator
include=boolean
Units: Number Min: 0 Max: 1
True if parameter is to be sampled in optimization runs. Not used in simulator app.
Schema 43 documentation
Generated from: scenario_43.xsd
.
Key:
abc required (one)
[ def ] optional (zero or one)
( ghi )* any number (zero or more)
( jkl )+ at least one
( mno ){2,inf} two or more occurrences
Scenario
→ scenario
<scenario
schemaVersion=int
[ analysisNo=int ]
name=string
[ wuID=int ]
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:om="http://openmalaria.org/schema/scenario_43"
xsi:schemaLocation="http://openmalaria.org/schema/scenario_43 scenario_43.xsd"
>
IN ANY ORDER:
| <demography ... />
| <monitoring ... />
| <interventions ... />
| <healthSystem ... />
| <entomology ... />
| [ <parasiteGenetics ... /> ]
| [ <pharmacology ... /> ]
| [ <diagnostics ... /> ]
| <model ... />
</scenario>
- demography
- monitoring
- interventions
- healthSystem
- entomology
- parasiteGenetics
- pharmacology
- diagnostics
- model
Documentation (element)
Description of scenario
Attributes
Version of the xml schema
schemaVersion=int
Version of xml schema. If not equal to the current version an error is thrown. Use SchemaTranslator to update xml files.
Reference number of the analysis
analysisNo=int
Units: Number Min: 1 Max: 100000000
Unique identifier of scenario
Name of intervention
name=string
Name of intervention
Work unit identifier
wuID=int
Units: Number
Work unit ID. Obselete and no longer required.
Human age distribution
→ scenario → demography
<demography
name=string
popSize=int
maximumAgeYrs=double
[ growthRate=double ]
>
IN THIS ORDER:
| <ageGroup ... />
</demography>
Documentation (element)
Description of demography
Attributes
Name of demography data
name=string
Name of demography data
Population size
popSize=int
Units: Count Min: 1 Max: 100000
Population size
Maximum age of simulated humans
maximumAgeYrs=double
Units: Years Min: 0 Max: 100
Maximum age of simulated humans in years
Growth rate of human population
growthRate=double
Units: Number Min: 0 Max: 0
Growth rate of human population. (we should be able to implement this with non-zero values)
Age groups
→ scenario → demography → ageGroup
<ageGroup
lowerbound=double
>
IN THIS ORDER:
| ( <group ... /> )+
</ageGroup>
Documentation (element)
list of age groups included in demography
Documentation (type)
list of age groups included in demography or surveys
Attributes
Lower bound of age group
lowerbound=double
Units: Years Min: 0 Max: 100
Lower bound of age group
group
→ scenario → demography → ageGroup → group
<group
poppercent=double
upperbound=double
/>
Attributes
Percentage in age group
poppercent=double
Units: Percentage Min: 0 Max: 100
Percentage of human population in age group
Upper bound of age group
upperbound=double
Units: Years Min: 0 Max: 100
Upper bound of age group
Measures to be reported
→ scenario → monitoring
<monitoring
name=string
[ startDate=string ]
>
IN THIS ORDER:
| [ <continuous ... /> ]
| <SurveyOptions ... />
| <surveys ... />
| <ageGroup ... />
| [ <cohorts ... /> ]
</monitoring>
Documentation (element)
Description of surveys
Attributes
Name of monitoring settings
name=string
Name of monitoring settings
Start of monitoring
startDate=string
An optional date for the start of monitoring. If given, dates may be used to specify when other events (surveys, intervention deployments) occur; alternately times relative to the start of the intervention period may be used to specify event times. Setting this to 1st January of some year might simplify usage of dates, and putting the start a couple of years before the start of intervention deployment (along with some extra surveys) may be useful to check transmission stabilises to the expected pre-intervention levels. As an example, if this date is set to 2000-01-01, then the following event times are equivalent (assuming 1t=5d): 15t, 75d, 0.2y, 2000-03-16. Must be in the form YYYY-MM-DD, e.g. 2003-01-01.
continuous
→ scenario → monitoring → continuous
<continuous
period=string
[ duringInit=boolean ]
>
IN THIS ORDER:
| ( <option ... /> )*
</continuous>
Attributes
Delay between reports
period=string
Units: User defined (default: steps)
Delay between reports; typically one time step but can be greater. Can be specified in steps (e.g. 1t) or days (e.g. 5d).
During initialization
duringInit=boolean
Units: Days Min: 1 Max: unbounded
Also output during initialization. By default this is disabled (only intervention-period data is output). This should not be used for predictions, but can be useful for model validation. In this mode, 'simulation time' is output as the first column (in addition to 'timestep'), since 'timestep' is dis- continuous across the start of the intervention period.
option
→ scenario → monitoring → continuous → option
<option
name=string
[ value=boolean ] DEFAULT VALUE true
/>
Attributes
Option name
name=string
Name of an option (monitoring measure or model option).
Indicator of whether option is required
value=boolean
Default value: true
Option on/off switch (true/false). Specifying value="true" is the same as not specifying a value; specifying value="false" explicitly turns the option off. If an option is not mentioned at all, it is left at its default value (normally off, but in a few cases, such as some bug-fix options, on).
Name of quantity
→ scenario → monitoring → SurveyOptions
<SurveyOptions
[ onlyNewEpisode=boolean ] DEFAULT VALUE false
>
IN THIS ORDER:
| ( <option ... /> )*
</SurveyOptions>
Documentation (element)
List of all active survey options. See model/mon/OutputMeasures.h for a list of supported outputs. Should also be on the wiki.
Attributes
Report only for new cases
onlyNewEpisode=boolean
Default value: false
If set, some statistics exclude humans who have been treated in the recent past (precisely, when the time of last treatment was before the current step and no more than health-system-memory days/steps ago). This is a rough replacement for the REPORT_ONLY_AT_RISK option, with one difference: the maximum age of treatment for REPORT_ONLY_AT_RISK was fixed at 20 days. Affected measures include (as of version 35): nHost (0), nInfect(1), nExpectd (2), nPatent (3), sumLogPyrogenThres (4), sumlogDens (5), totalInfs (6), totalPatentInf (8), sumPyrogenThresh (10), nSubPopRemovalFirstEvent (62), sumAge (68), nInfectByGenotype (69), nPatentByGenotype (70), logDensByGenotype (71), nHostDrugConcNonZero (72), sumLogDrugConcNonZero (73).
option
→ scenario → monitoring → SurveyOptions → option
<option
name=string
[ value=boolean ] DEFAULT VALUE true
[ outputNumber=int ]
[ byAge=boolean ]
[ byCohort=boolean ]
[ bySpecies=boolean ]
[ byGenotype=boolean ]
[ byDrugType=boolean ]
/>
Attributes
Option name
name=string
Name of an option (monitoring measure or model option).
Indicator of whether option is required
value=boolean
Default value: true
Option on/off switch (true/false). Specifying value="true" is the same as not specifying a value; specifying value="false" explicitly turns the option off. If an option is not mentioned at all, it is left at its default value (normally off, but in a few cases, such as some bug-fix options, on).
Number identifying measure in output
outputNumber=int
Number identifying this monitoring measure in the output file (3rd column). Normally this is determined from the measure, but it can be set manually, e.g. for when the same measure is recorded twice (to accumulate across different categories).
Report by age category
byAge=boolean
If true, the measure is reported for each age category. If false, values are summed across all age categories and only the sum reported. If not specified, separate categories will be reported if the measure supports this.
Report by cohort
byCohort=boolean
If true, the measure is reported for each cohort separately. If false, values are summed across all cohorts and only the sum reported. If not specified, separate categories will be reported if the measure supports this.
Report by mosquito species
bySpecies=boolean
If true, the measure is reported for each mosquito species separately. If false, values are summed across all species and only the sum reported. If not specified, separate categories will be reported if the measure supports this.
Report by parasite genotype
byGenotype=boolean
If true, the measure is reported for each parasite genotype separately. If false, values are summed across all genotypes and only the sum reported. If not specified, separate categories will be reported if the measure supports this.
Report by drug type
byDrugType=boolean
If true, the measure is reported for each drug type separately. If false, values are summed across all drug types and only the sum reported. If not specified, separate categories will be reported if the measure supports this.
Survey times (time steps)
→ scenario → monitoring → surveys
<surveys
[ detectionLimit=double ]
[ diagnostic=string ]
>
IN THIS ORDER:
| ( <surveyTime ... /> )+
</surveys>
Documentation (element)
List of survey times
Attributes
Detection limit for parasitaemia
detectionLimit=double
Units: parasites/microlitre Min: 0
Deprecated: limit above which a human's infection is reported as patent. Alternative: do not specify this; instead specify "diagnostic".
Name of monitoring diagnostic
diagnostic=string
Name of a parameterised diagnostic to use in surveys (see scenario/diagnostics).
Survey time
→ scenario → monitoring → surveys → surveyTime
<surveyTime
[ repeatStep=string ]
[ repeatEnd=string ]
[ reported=boolean ] DEFAULT VALUE true
>
string
</surveyTime>
Documentation (element)
Units: User defined (defaults to steps) Min: 0
Time of a survey. A report will be made for those measures enabled under SurveyOptions. Reported data is either from the moment the survey is done (immediate data) or is collected over the time since the previous survey, or in some cases over a fixed time span (usually one year).
Times can be specified in time steps, starting from 0, or as a date (see monitoring/startDate), or in days (e.g. 15d) or years (e.g. 1y). Relative times mean the time since the start of the intervention period, and must be non-negative (zero is valid, but some measures, e.g. nUncomp, will be zero).
The simulation ends immediately after the last survey is taken.
Attributes
Step of repetition
repeatStep=string
Units: User defined
See repeatEnd's documentation.
End of repetition (exclusive)
repeatEnd=string
Units: User defined
Either both repeatStep and repeatEnd should be present or neither. If present, the survey is repeated every repeatStep timesteps (i.e. if t0 is the initial time and x is repeatStep, surveys are done at times t0, t0+x, t0+2*x, ...), ending before repeatEnd (final repetition is the one before repeatEnd). Note that repeatEnd may be specified as a date but repeatStep must be a duration (days, steps or years).
reported
reported=boolean
Default value: true
For normal surveys, reporting=true. If set false, quantities are measured but not reported. The reason for doing this is to update conditions set on reportable measures. Multiple surveys may be given here for the same date, e.g. if using "repeatStep" for both reporting and non-reporting surveys. These are combined such that a maximum of one survey is carried out per time-step, and the survey is reported if any of the listed surveys for this date is configured as "reporting". Note that adding non-reporting surveys will not affect value output by reported surveys, with the exception that generated psuedo-random numbers may be altered (specifically, when any stochastic diagnostics are used in surveys).
Age groups
→ scenario → monitoring → ageGroup
<ageGroup
lowerbound=double
>
IN THIS ORDER:
| ( <group ... /> )+
</ageGroup>
Documentation (element)
List of age groups included in demography or surveys
Attributes
lower bound of age group
lowerbound=double
Units: Years Min: 0 Max: 100
Lower bound of age group
group
→ scenario → monitoring → ageGroup → group
<group
upperbound=double
/>
Attributes
upper bound of age group
upperbound=double
Units: Years Min: 0 Max: 100
Upper bound of age group
Cohorts
→ scenario → monitoring → cohorts
<cohorts>
IN THIS ORDER:
| ( <subPop ... /> )+
</cohorts>
Documentation (element)
Allows the configuration of multiple cohorts (output segregated according to membership within specific sub-populations).
If this element is omitted, monitoring surveys cover the entire simulated human population.
It does not affect the "continuous" outputs (these never take cohorts into account).
Sub-population
→ scenario → monitoring → cohorts → subPop
<subPop
id=string
number=integer
/>
Documentation (element)
Consider a certain sup-population a cohort, and segregate outputs according to membership. Where multiple sub-populations are listed, segregate output according to all combinations of membership: e.g. if sub-populations A and B are listed, there will be outputs for "member of A and B", "member of A but not B", "B but not A" and "not a member of A or B". Listing n sub-populations implies 2^n sets of outputs (each is further segregated by age groups, survey times and enabled output measures, which could lead to excessive program memory usage and output file size).
To identify outputs, each sub-population has a power of two number as identifier (see "number" attribute). Each of the 2^n output sets is identified by a number: the output set is the output from humans who are members in some set of sub-populations (S1, S2, ...) and not members in some others (T1, T2, ...); the number identifying the set is the sum of the numbers identifying the sets S1, S2, etc.
In the output file, the output set is identified by multiplying this number by 1000 then adding it to the age group column.
Attributes
Sub-population identifier
id=string
Textual identifier for the sub-population (i.e. for an intervention component, since sub-populations are defined as the hosts an intervention component is deployed to).
Sub-population number
number=integer
Units: dimensionless Min: 1 Max: 2097152
Number identifying a sub-population; used to define identifiers of output sets. This number must be a power of 2 (i.e. 1, 2, 4, 8, ...). See documentation of subPop element.
Preventative interventions
<interventions
name=string
>
IN ANY ORDER:
| [ <changeHS ... /> ]
| [ <changeEIR ... /> ]
| [ <importedInfections ... /> ]
| [ <insertR_0Case ... /> ]
| [ <uninfectVectors ... /> ]
| [ <vectorPop ... /> ]
| [ <vectorTrap ... /> ]
| [ <nonHumanHostsModifications ... /> ]
| [ <addNonHumanHosts ... /> ]
| [ <human ... /> ]
</interventions>
- changeHS
- changeEIR
- importedInfections
- insertR_0Case
- uninfectVectors
- vectorPop
- vectorTrap
- nonHumanHostsModifications
- addNonHumanHosts
- human
Documentation (element)
List of interventions. Generally these are either point-time distributions of something to some subset of the population, or continuous-time distribution targetting individuals when they reach a certain age.
Attributes
Name of intervention set
name=string
Name of set of interventions
Change health system
→ scenario → interventions → changeHS
<changeHS
[ name=string ]
>
IN THIS ORDER:
| ( <timedDeployment ... /> )*
</changeHS>
Documentation (element)
Changes to the health system
Attributes
Name of intervention
name=string
Name of intervention
timedDeployment
→ scenario → interventions → changeHS → timedDeployment
<timedDeployment
time=string
>
IN THIS ORDER:
| EXACTLY ONE OF:
| | <EventScheduler ... />
| | <ImmediateOutcomes ... />
| | <DecisionTree5Day ... />
| <CFR ... />
| <pSequelaeInpatient ... />
</timedDeployment>
Documentation (type)
A complete replacement health system. Replaces all previous properties. (Health system can be replaced multiple times if necessary.)
Documentation (base type)
Description of case management system, used to specify the initial model or a replacement (an intervention). Encompasses case management data and some other data required to derive case outcomes.
Contains a sub-element describing the particular health-system in use. Health system data is here defined as data used to decide on a treatment strategy, given a case requiring treatment.
Attributes
Time
time=string
Units: User defined (defauls to steps) Min: 0
Time at which this replacement occurs. See doc on intervention period and on monitoring/startDate for details of how times work. Can be specified in steps, days, years, or as a date (examples: 15t, 75d, 0.2y, 2000-03-16).
EventScheduler
→ scenario → healthSystem → EventScheduler
<EventScheduler>
IN THIS ORDER:
| <uncomplicated ... />
| <complicated ... />
| <ClinicalOutcomes ... />
| [ <NonMalariaFevers ... /> ]
</EventScheduler>
uncomplicated
→ scenario → healthSystem → EventScheduler → uncomplicated
<uncomplicated
[ name=string ]
>
EXACTLY ONE OF:
| <multiple ... />
| <caseType ... />
| <diagnostic ... />
| <random ... />
| <age ... />
| <noTreatment ... />
| <treatFailure ... />
| ( <treatPKPD ... /> )+
| <treatSimple ... />
| ( <deploy ... /> )+
</uncomplicated>
Documentation (type)
Describes how "decisions" are made, both probabilistically and deterministically, and what actions are carried out.
Quantities may also be reported as a side effect of decisions made in the tree, for example the number of diagnostics used.
Attributes
Name
name=string
An optional piece of documentation attached to this node.
multiple
→ scenario → interventions → human → component → decisionTree → multiple
<multiple
[ name=string ]
>
IN THIS ORDER:
| ( <caseType ... /> )*
| ( <diagnostic ... /> )*
| ( <random ... /> )*
| ( <age ... /> )*
| ( <treatPKPD ... /> )*
| [ <treatSimple ... /> ]
| ( <deploy ... /> )*
</multiple>
Documentation (type)
A special node allowing multiple sub-trees to be evaluated.
This is different from an ordinary decision tree node in that:
a) multiple types of child can occur simultaneously (e.g. multiple types of treatment or treatment plus a 'random' sub-tree)
b) the 'noTreatment' and 'treatFailure' nodes are not allowed
Attributes
Name
name=string
An optional piece of documentation attached to this node.
caseType
→ scenario → interventions → human → component → decisionTree → multiple → caseType
<caseType
[ name=string ]
>
IN ANY ORDER:
| <firstLine ... />
| <secondLine ... />
</caseType>
Documentation (type)
A switch which choses a branch deterministically, based on whether the patient was treated recently (second line) or not (first line).
For uncomplicated cases only.
Attributes
Name
name=string
An optional piece of documentation attached to this node.
firstLine
→ scenario → interventions → human → component → decisionTree → multiple → caseType → firstLine
<firstLine
[ name=string ]
>
EXACTLY ONE OF:
| <multiple ... />
| <caseType ... />
| <diagnostic ... />
| <random ... />
| <age ... />
| <noTreatment ... />
| <treatFailure ... />
| ( <treatPKPD ... /> )+
| <treatSimple ... />
| ( <deploy ... /> )+
</firstLine>
Documentation (type)
Describes how "decisions" are made, both probabilistically and deterministically, and what actions are carried out.
Quantities may also be reported as a side effect of decisions made in the tree, for example the number of diagnostics used.
Attributes
Name
name=string
An optional piece of documentation attached to this node.
caseType
→ scenario → interventions → human → component → decisionTree → caseType
<caseType
[ name=string ]
>
IN ANY ORDER:
| <firstLine ... />
| <secondLine ... />
</caseType>
Documentation (type)
A switch which choses a branch deterministically, based on whether the patient was treated recently (second line) or not (first line).
For uncomplicated cases only.
Attributes
Name
name=string
An optional piece of documentation attached to this node.
secondLine
→ scenario → interventions → human → component → decisionTree → multiple → caseType → secondLine
<secondLine
[ name=string ]
>
EXACTLY ONE OF:
| <multiple ... />
| <caseType ... />
| <diagnostic ... />
| <random ... />
| <age ... />
| <noTreatment ... />
| <treatFailure ... />
| ( <treatPKPD ... /> )+
| <treatSimple ... />
| ( <deploy ... /> )+
</secondLine>
Documentation (type)
Describes how "decisions" are made, both probabilistically and deterministically, and what actions are carried out.
Quantities may also be reported as a side effect of decisions made in the tree, for example the number of diagnostics used.
Attributes
Name
name=string
An optional piece of documentation attached to this node.
diagnostic
→ scenario → interventions → human → component → decisionTree → diagnostic
<diagnostic
diagnostic=string
[ name=string ]
>
IN ANY ORDER:
| <positive ... />
| <negative ... />
</diagnostic>
Documentation (type)
A switch which choses a branch deterministically, based on the outcome of some type of diagnostic.
Attributes
Name of diagnostic
diagnostic=string
Should match the name of some parameterised diagnostic (see scenario/diagnostics).
Name
name=string
An optional piece of documentation attached to this node.
positive
→ scenario → interventions → human → component → decisionTree → multiple → diagnostic → positive
<positive
[ name=string ]
>
EXACTLY ONE OF:
| <multiple ... />
| <caseType ... />
| <diagnostic ... />
| <random ... />
| <age ... />
| <noTreatment ... />
| <treatFailure ... />
| ( <treatPKPD ... /> )+
| <treatSimple ... />
| ( <deploy ... /> )+
</positive>
Documentation (type)
Describes how "decisions" are made, both probabilistically and deterministically, and what actions are carried out.
Quantities may also be reported as a side effect of decisions made in the tree, for example the number of diagnostics used.
Attributes
Name
name=string
An optional piece of documentation attached to this node.
random
→ scenario → interventions → human → component → decisionTree → random
<random
[ name=string ]
>
IN THIS ORDER:
| ( <outcome ... /> )+
</random>
Documentation (type)
A switch which choses a branch randomly.
Each branch must be listed with a probability; the sum of all these probabilities must equal 1.
Attributes
Name
name=string
An optional piece of documentation attached to this node.
outcome
→ scenario → interventions → human → component → decisionTree → multiple → random → outcome
<outcome
[ name=string ]
p=double
>
EXACTLY ONE OF:
| <multiple ... />
| <caseType ... />
| <diagnostic ... />
| <random ... />
| <age ... />
| <noTreatment ... />
| <treatFailure ... />
| ( <treatPKPD ... /> )+
| <treatSimple ... />
| ( <deploy ... /> )+
</outcome>
Documentation (base type)
Describes how "decisions" are made, both probabilistically and deterministically, and what actions are carried out.
Quantities may also be reported as a side effect of decisions made in the tree, for example the number of diagnostics used.
Attributes
Name
name=string
An optional piece of documentation attached to this node.
Probability
p=double
Units: None Min: 0 Max: 1
Probability of selecting this outcome. The sum of probabilities across all outcomes must be 1.
age
→ scenario → interventions → human → component → decisionTree → age
<age
[ name=string ]
>
IN THIS ORDER:
| ( <age ... /> )+
</age>
Documentation (type)
A switch which choses a branch deterministically, based on the patient's age (in years).
Categories must uniquely cover all ages from birth, with no upper bound. Categories must be listed in order of age, increasing; the first must have lower bound 0. Upper bounds are equal to the lower bound of the next category, (but are exclusive where lower bounds are inclusive); the last category has no upper bound.
Attributes
Name
name=string
An optional piece of documentation attached to this node.
Age range
→ scenario → interventions → human → component → decisionTree → multiple → age → age
<age
[ name=string ]
lb=double
>
EXACTLY ONE OF:
| <multiple ... />
| <caseType ... />
| <diagnostic ... />
| <random ... />
| <age ... />
| <noTreatment ... />
| <treatFailure ... />
| ( <treatPKPD ... /> )+
| <treatSimple ... />
| ( <deploy ... /> )+
</age>
Documentation (element)
Describes a branch, selected for patients of a certain age.
Documentation (base type)
Describes how "decisions" are made, both probabilistically and deterministically, and what actions are carried out.
Quantities may also be reported as a side effect of decisions made in the tree, for example the number of diagnostics used.
Attributes
Name
name=string
An optional piece of documentation attached to this node.
Lower bound (inclusive)
lb=double
Min: 0
noTreatment
→ scenario → interventions → human → component → decisionTree → noTreatment
<noTreatment
[ name=string ]
/>
Documentation (type)
An end node doing nothing. This exists to explicitly state that no treatment happens and to prevent trees from accidentally being left incomplete.
Attributes
Name
name=string
An optional piece of documentation attached to this node.
treatFailure
→ scenario → interventions → human → component → decisionTree → treatFailure
<treatFailure
[ name=string ]
/>
Documentation (type)
An end node which reports treatment but does not change parasitalogical status. This allows correct labelling of second-line cases.
Attributes
Name
name=string
An optional piece of documentation attached to this node.
treatPKPD
→ scenario → interventions → human → component → decisionTree → treatPKPD
<treatPKPD
schedule=string
dosage=string
[ delay_h=double ] DEFAULT VALUE 0
/>
Documentation (type)
A command to administer drugs according to a given schedule and dosage table, optionally with a delay.
Attributes
Name of treatment schedule
schedule=string
The name of a schedule to use for treatment.
Name of dosage table
dosage=string
The name of a dosage table to use for treatment.
Delay (hours)
delay_h=double
Default value: 0
Optionally, this can be given to delay the start of treatment by a given number of hours. If not specified, treatment is not delayed. If a delay is given, all medications within the treatment schedule used are delayed by this number of hours.
treatSimple
→ scenario → interventions → human → component → decisionTree → treatSimple
<treatSimple
durationLiver=string
durationBlood=string
/>
Documentation (type)
Simple treatment model, targetting liver- and/or blood-stage infections. This is all-or-nothing treatment which, when deploymed, completely clears all infections of the targetted stages. This makes it unsuitable for modeling resistance, but suitable for use with simple infection models.
Infections are considered liver-stage when less than five days old and blood-stage after that. Effects are described independently for the two stages.
Attributes
Length of liver-stage effect
durationLiver=string
Units: User defined
Controls action on liver-stage infections. 0 means no action, -1 step is a compatibility option to act like treatment before schema version 32 (which removed infections retrospectively), 1 step or any duration which equals some whole number of steps n>0 means to clear all liver-stage infections found on the next 1 or n steps. Note on -1 compatibility option: the main difference to 1 step (clearing on the next timestep) is that parasite densities will be reduced immediately, and thus from the point of view of surveys and mass screen and treat interventions a peak in density which is immediately treated through case management will not be seen. Can be specified in steps (e.g. 1t, -1t) or days (e.g. 5d).
Length of blood-stage effect
durationBlood=string
Units: User defined
Controls action on blood-stage infections. 0 means no action, -1 step is a compatibility option to act like treatment before schema version 32 (which removed infections retrospectively), 1 step or any duration which equals some whole number of steps n>0 means to clear all blood-stage infections found on the next 1 or n steps. Note on -1 compatibility option: the main difference to 1 step (clearing on the next timestep) is that parasite densities will be reduced immediately, and thus from the point of view of surveys and mass screen and treat interventions a peak in density which is immediately treated through case management will not be seen. Can be specified in steps (e.g. 1t, -1t) or days (e.g. 5d).
deploy
→ scenario → interventions → human → component → decisionTree → deploy
<deploy
component=string
/>
Documentation (type)
Deploy one or more intervention components.
Attributes
Component identifier
component=string
The identifier (short name) of a component.
negative
→ scenario → interventions → human → component → decisionTree → multiple → diagnostic → negative
<negative
[ name=string ]
>
EXACTLY ONE OF:
| <multiple ... />
| <caseType ... />
| <diagnostic ... />
| <random ... />
| <age ... />
| <noTreatment ... />
| <treatFailure ... />
| ( <treatPKPD ... /> )+
| <treatSimple ... />
| ( <deploy ... /> )+
</negative>
Documentation (type)
Describes how "decisions" are made, both probabilistically and deterministically, and what actions are carried out.
Quantities may also be reported as a side effect of decisions made in the tree, for example the number of diagnostics used.
Attributes
Name
name=string
An optional piece of documentation attached to this node.
diagnostic
→ scenario → interventions → human → component → decisionTree → multiple → diagnostic
<diagnostic
diagnostic=string
[ name=string ]
>
IN ANY ORDER:
| <positive ... />
| <negative ... />
</diagnostic>
Documentation (type)
A switch which choses a branch deterministically, based on the outcome of some type of diagnostic.
Attributes
Name of diagnostic
diagnostic=string
Should match the name of some parameterised diagnostic (see scenario/diagnostics).
Name
name=string
An optional piece of documentation attached to this node.
random
→ scenario → interventions → human → component → decisionTree → multiple → random
<random
[ name=string ]
>
IN THIS ORDER:
| ( <outcome ... /> )+
</random>
Documentation (type)
A switch which choses a branch randomly.
Each branch must be listed with a probability; the sum of all these probabilities must equal 1.
Attributes
Name
name=string
An optional piece of documentation attached to this node.
age
→ scenario → interventions → human → component → decisionTree → multiple → age
<age
[ name=string ]
>
IN THIS ORDER:
| ( <age ... /> )+
</age>
Documentation (type)
A switch which choses a branch deterministically, based on the patient's age (in years).
Categories must uniquely cover all ages from birth, with no upper bound. Categories must be listed in order of age, increasing; the first must have lower bound 0. Upper bounds are equal to the lower bound of the next category, (but are exclusive where lower bounds are inclusive); the last category has no upper bound.
Attributes
Name
name=string
An optional piece of documentation attached to this node.
treatPKPD
→ scenario → interventions → human → component → decisionTree → multiple → treatPKPD
<treatPKPD
schedule=string
dosage=string
[ delay_h=double ] DEFAULT VALUE 0
/>
Documentation (type)
A command to administer drugs according to a given schedule and dosage table, optionally with a delay.
Attributes
Name of treatment schedule
schedule=string
The name of a schedule to use for treatment.
Name of dosage table
dosage=string
The name of a dosage table to use for treatment.
Delay (hours)
delay_h=double
Default value: 0
Optionally, this can be given to delay the start of treatment by a given number of hours. If not specified, treatment is not delayed. If a delay is given, all medications within the treatment schedule used are delayed by this number of hours.
treatSimple
→ scenario → interventions → human → component → decisionTree → multiple → treatSimple
<treatSimple
durationLiver=string
durationBlood=string
/>
Documentation (type)
Simple treatment model, targetting liver- and/or blood-stage infections. This is all-or-nothing treatment which, when deploymed, completely clears all infections of the targetted stages. This makes it unsuitable for modeling resistance, but suitable for use with simple infection models.
Infections are considered liver-stage when less than five days old and blood-stage after that. Effects are described independently for the two stages.
Attributes
Length of liver-stage effect
durationLiver=string
Units: User defined
Controls action on liver-stage infections. 0 means no action, -1 step is a compatibility option to act like treatment before schema version 32 (which removed infections retrospectively), 1 step or any duration which equals some whole number of steps n>0 means to clear all liver-stage infections found on the next 1 or n steps. Note on -1 compatibility option: the main difference to 1 step (clearing on the next timestep) is that parasite densities will be reduced immediately, and thus from the point of view of surveys and mass screen and treat interventions a peak in density which is immediately treated through case management will not be seen. Can be specified in steps (e.g. 1t, -1t) or days (e.g. 5d).
Length of blood-stage effect
durationBlood=string
Units: User defined
Controls action on blood-stage infections. 0 means no action, -1 step is a compatibility option to act like treatment before schema version 32 (which removed infections retrospectively), 1 step or any duration which equals some whole number of steps n>0 means to clear all blood-stage infections found on the next 1 or n steps. Note on -1 compatibility option: the main difference to 1 step (clearing on the next timestep) is that parasite densities will be reduced immediately, and thus from the point of view of surveys and mass screen and treat interventions a peak in density which is immediately treated through case management will not be seen. Can be specified in steps (e.g. 1t, -1t) or days (e.g. 5d).
deploy
→ scenario → interventions → human → component → decisionTree → multiple → deploy
<deploy
component=string
/>
Documentation (type)
Deploy one or more intervention components.
Attributes
Component identifier
component=string
The identifier (short name) of a component.
complicated
→ scenario → healthSystem → EventScheduler → complicated
<complicated
[ name=string ]
>
EXACTLY ONE OF:
| <multiple ... />
| <caseType ... />
| <diagnostic ... />
| <random ... />
| <age ... />
| <noTreatment ... />
| <treatFailure ... />
| ( <treatPKPD ... /> )+
| <treatSimple ... />
| ( <deploy ... /> )+
</complicated>
Documentation (type)
Describes how "decisions" are made, both probabilistically and deterministically, and what actions are carried out.
Quantities may also be reported as a side effect of decisions made in the tree, for example the number of diagnostics used.
Attributes
Name
name=string
An optional piece of documentation attached to this node.
ClinicalOutcomes
→ scenario → healthSystem → EventScheduler → ClinicalOutcomes
<ClinicalOutcomes>
IN THIS ORDER:
| <maxUCSeekingMemory ... />
| <uncomplicatedCaseDuration ... />
| <complicatedCaseDuration ... />
| <complicatedRiskDuration ... />
| ( <dailyPrImmUCTS ... /> )+
</ClinicalOutcomes>
- maxUCSeekingMemory
- uncomplicatedCaseDuration
- complicatedCaseDuration
- complicatedRiskDuration
- dailyPrImmUCTS
Documentation (type)
Description of base parameters of the clinical model.
Max UC treatment-seeking memory
→ scenario → healthSystem → EventScheduler → ClinicalOutcomes → maxUCSeekingMemory
<maxUCSeekingMemory>
int
</maxUCSeekingMemory>
Documentation (element)
Units: Days Min: 0 Max: unbounded
Maximum number of timesteps (including first day of case) that an individual with an uncomplicated case of malaria will remember he/she was sick before resetting.
Uncomplicated case duration
→ scenario → healthSystem → EventScheduler → ClinicalOutcomes → uncomplicatedCaseDuration
<uncomplicatedCaseDuration>
int
</uncomplicatedCaseDuration>
Documentation (element)
Units: Days Min: 1 Max: unbounded
Fixed length of an uncomplicated case of malarial or non-malarial sickness (from treatment seeking until return to life-as-usual). Usually 3.
Complicated case duration
→ scenario → healthSystem → EventScheduler → ClinicalOutcomes → complicatedCaseDuration
<complicatedCaseDuration>
int
</complicatedCaseDuration>
Documentation (element)
Units: Days Min: 1 Max: unbounded
Fixed length of a complicated or severe case of malaria (from treatment seeking until return to life-as-usual).
Complicated risk duration
→ scenario → healthSystem → EventScheduler → ClinicalOutcomes → complicatedRiskDuration
<complicatedRiskDuration>
int
</complicatedRiskDuration>
Documentation (element)
Units: Days Min: 1 Max: unbounded
Number of days for which humans are at risk of death during a severe or complicated case of malaria. Cannot be greater than the duration of a complicated case or less than 1 day.
Daily probability of immediate treatment seeking for uncomplicated cases
→ scenario → healthSystem → EventScheduler → ClinicalOutcomes → dailyPrImmUCTS
<dailyPrImmUCTS>
double
</dailyPrImmUCTS>
Documentation (element)
Units: Dimensionless Min: 0.0 Max: 1.0
It is sometimes desirable to model delays to treatment-seeking in uncomplicated cases. While treatment of drugs can be delayed within case management trees to provide a similar effect, this doesn't delay any of the decisions, including diagnostics using the current parasite density.
Instead a list of dailyPrImmUCTS elements can be used, describing successive daily probabilities of treatment (sum must be 1). For example, with a list of two elements with values 0.8 and 0.2, for 80% of UC cases the decision tree is evaluated immediately, and for 20% of cases evaluation is delayed by one day.
For no delay, use one element with a value of 1.
NonMalariaFevers
→ scenario → healthSystem → EventScheduler → NonMalariaFevers
<NonMalariaFevers>
IN THIS ORDER:
| <prTreatment ... />
| <effectNegativeTest ... />
| <effectPositiveTest ... />
| <effectNeed ... />
| <effectInformal ... />
| <CFR ... />
| <TreatmentEfficacy ... />
</NonMalariaFevers>
Documentation (type)
Description of non-malaria fever health-system modelling (treatment, outcomes and costing). Incidence is described by the model->clinical->NonMalariaFevers element. Non-malaria fevers are only modelled if the NON_MALARIA_FEVERS option is used.
As further explanation of the parameters below, we first take: β₀ = logit(P₀) - β₃·P(need), and then calculate the probability of antibiotic administration, P(AB), dependent on treatment seeking location. No seeking: P(AB) = 0 Informal sector: logit(P(AB)) = β₀ + β₄ Health facility: logit(P(AB)) = β₀ + β₁·I(neg) + β₂·I(pos) + β₃·I(need) (where I(X) is 1 when event X is true and 0 otherwise, logit(p)=log(p/(1-p)), event "need" is the event that death may occur without treatment, events "neg" and "pos" are the events that a malaria parasite diagnositic was used and indicated no parasites and parasites respectively).
P(treatment|no diagnostic)
→ scenario → healthSystem → EventScheduler → NonMalariaFevers → prTreatment
<prTreatment>
double
</prTreatment>
Documentation (element)
Units: Dimensionless Min: 0.0 Max: 1.0
Probability of a non-malaria fever being treated with an antibiotic given that no malaria diagnostic was used but independent of need. Symbol: P₀.
Effect of a negative test
→ scenario → healthSystem → EventScheduler → NonMalariaFevers → effectNegativeTest
<effectNegativeTest>
double
</effectNegativeTest>
Documentation (element)
The effect of a negative malaria diagnostic on the odds ratio of receiving antibiotics. Symbol: exp(β₁).
Effect of a positive test
→ scenario → healthSystem → EventScheduler → NonMalariaFevers → effectPositiveTest
<effectPositiveTest>
double
</effectPositiveTest>
Documentation (element)
The effect of a positive malaria diagnostic on the odds ratio of receiving antibiotics. Symbol: exp(β₂).
Effect of need
→ scenario → healthSystem → EventScheduler → NonMalariaFevers → effectNeed
<effectNeed>
double
</effectNeed>
Documentation (element)
The effect of needing antibiotic treatment on the odds ratio of receiving antibiotics. Symbol: exp(β₃).
Effect of informal provider
→ scenario → healthSystem → EventScheduler → NonMalariaFevers → effectInformal
<effectInformal>
double
</effectInformal>
Documentation (element)
The effect of seeking treatment from an informal provider (i.e. a provider untrained in NMF diagnosis) on the odds ratio of receiving antibiotics. Symbol: exp(β₄)
Case fatality rate
→ scenario → healthSystem → EventScheduler → NonMalariaFevers → CFR
<CFR
[ interpolation=("none" or "linear") ]
>
IN THIS ORDER:
| ( <group ... /> )+
</CFR>
Documentation (element)
Units: Dimensionless Min: 0.0 Max: 1.0
Base case fatality rate for non-malaria fevers (probability of death from a fever requiring antibiotic treatment given that no antibiotic treatment is received, per age-group).
Attributes
interpolation
interpolation=("none" or "linear")
Interpolation algorithm. Normally it is desirable for age-based values to be continuous w.r.t. age. By default linear interpolation is used. With all algorithms except "none", the age groups are converted to a set of points centred within each age range. Extra points are added at each end (zero and infinity) to keep value constant at both ends of the function. A zero-length age group may be used as a kind of barrier to adjust the distribution; e.g. with age group boundaries at 15, 20 and 25 years, a (linear) spline would be drawn between ages 17.5 and 22.5, whereas with boundaries at 15, 20 and 20 years, a spline would be drawn between ages 17.5 and 20 years (may be desired if individuals are assumed to reach adult size at 20). Algorithms:
- none: input values are used directly
- linear: straight lines (on an age vs. value graph) are used to interpolate data points.
age group
→ scenario → healthSystem → CFR → group
<group
value=double
lowerbound=double
/>
Documentation (element)
A series of values according to age groups, each specified with a lower-bound and a value. The first lower-bound specified must be zero; a final upper-bound of infinity is added to complete the last age group. At least one age group is required. Normally these are interpolated by a continuous function (see interpolation attribute).
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Lower bound
lowerbound=double
Units: Years Min: 0 Max: 100
Lower bound of age group
Treatment efficacy
→ scenario → healthSystem → EventScheduler → NonMalariaFevers → TreatmentEfficacy
<TreatmentEfficacy>
double
</TreatmentEfficacy>
Documentation (element)
Units: Dimensionless Min: 0.0 Max: 1.0
Probability that treatment would prevent a death (i.e. CFR is multiplied by one minus this when treatment occurs).
ImmediateOutcomes
→ scenario → healthSystem → ImmediateOutcomes
<ImmediateOutcomes
[ name=string ]
[ useDiagnosticUC=boolean ] DEFAULT VALUE false
>
IN ANY ORDER:
| <drugRegimen ... />
| <initialACR ... />
| <compliance ... />
| <nonCompliersEffective ... />
| <treatmentActions ... />
| <pSeekOfficialCareUncomplicated1 ... />
| <pSelfTreatUncomplicated ... />
| <pSeekOfficialCareUncomplicated2 ... />
| <pSeekOfficialCareSevere ... />
| [ <liverStageDrug ... /> ]
</ImmediateOutcomes>
- drugRegimen
- initialACR
- compliance
- nonCompliersEffective
- treatmentActions
- pSeekOfficialCareUncomplicated1
- pSelfTreatUncomplicated
- pSeekOfficialCareUncomplicated2
- pSeekOfficialCareSevere
- liverStageDrug
Documentation (type)
Description of "immediate outcomes" health system: Tediosi et al case management model (Case management as described in AJTMH 75 (suppl 2) pp90-103).
Attributes
Name of case management parameterisation
name=string
Name of health system
useDiagnosticUC
useDiagnosticUC=boolean
Default value: false
Description of drug regimen
→ scenario → healthSystem → ImmediateOutcomes → drugRegimen
<drugRegimen
firstLine=string
secondLine=string
inpatient=string
/>
Documentation (element)
Description of drug regimen.
Attributes
First line drug
firstLine=string
Units: Drug code
Code for first line drug
Second line drug
secondLine=string
Units: Drug code
Code for second line drug
Drug use for treating inpatients
inpatient=string
Units: Drug code
Code for drug used for treating inpatients
Initial cure rate
→ scenario → healthSystem → ImmediateOutcomes → initialACR
<initialACR>
IN THIS ORDER:
| [ <CQ ... /> ]
| [ <SP ... /> ]
| [ <AQ ... /> ]
| [ <SPAQ ... /> ]
| [ <ACT ... /> ]
| [ <QN ... /> ]
| <selfTreatment ... />
</initialACR>
Documentation (element)
Units: Dimensionless Min: 0.0 Max: 1.0
Initial cure rate
Chloroquine
→ scenario → healthSystem → ImmediateOutcomes → initialACR → CQ
<CQ
value=double
/>
Documentation (element)
Chloroquine
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Sulphadoxine-pyrimethamine
→ scenario → healthSystem → ImmediateOutcomes → initialACR → SP
<SP
value=double
/>
Documentation (element)
Sulphadoxine-pyrimethamine
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Amodiaquine
→ scenario → healthSystem → ImmediateOutcomes → initialACR → AQ
<AQ
value=double
/>
Documentation (element)
Amodiaquine
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Sulphadoxine-pyrimethamine/Amodiaquine
→ scenario → healthSystem → ImmediateOutcomes → initialACR → SPAQ
<SPAQ
value=double
/>
Documentation (element)
Sulphadoxine-pyrimethamine/Amodiaquine
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Artemisinine based combination therapy
→ scenario → healthSystem → ImmediateOutcomes → initialACR → ACT
<ACT
value=double
/>
Documentation (element)
Artemisinine combination therapy
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Quinine
→ scenario → healthSystem → ImmediateOutcomes → initialACR → QN
<QN
value=double
/>
Documentation (element)
Quinine
Attributes
Input parameter value
value=double
A double-precision floating-point value.
selfTreatment
→ scenario → healthSystem → ImmediateOutcomes → initialACR → selfTreatment
<selfTreatment
value=double
/>
Documentation (element)
Units: Dimensionless Min: 0 Max: 1name:P(self-treat)
Probability of self-treatment
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Adherence to treatment
→ scenario → healthSystem → ImmediateOutcomes → compliance
<compliance>
IN THIS ORDER:
| [ <CQ ... /> ]
| [ <SP ... /> ]
| [ <AQ ... /> ]
| [ <SPAQ ... /> ]
| [ <ACT ... /> ]
| [ <QN ... /> ]
| <selfTreatment ... />
</compliance>
Documentation (element)
Units: Dimensionless Min: 0.0 Max: 1.0
Adherence to treatment
Effectiveness of treatment in non-adherent patients
→ scenario → healthSystem → ImmediateOutcomes → nonCompliersEffective
<nonCompliersEffective>
IN THIS ORDER:
| [ <CQ ... /> ]
| [ <SP ... /> ]
| [ <AQ ... /> ]
| [ <SPAQ ... /> ]
| [ <ACT ... /> ]
| [ <QN ... /> ]
| <selfTreatment ... />
</nonCompliersEffective>
Documentation (element)
Units: Dimensionless Min: 0.0 Max: 1.0
Effectiveness of treatment for non-compliant patients
treatmentActions
→ scenario → healthSystem → ImmediateOutcomes → treatmentActions
<treatmentActions>
IN ANY ORDER:
| [ <CQ ... /> ]
| [ <SP ... /> ]
| [ <AQ ... /> ]
| [ <SPAQ ... /> ]
| [ <ACT ... /> ]
| [ <QN ... /> ]
</treatmentActions>
CQ
→ scenario → healthSystem → ImmediateOutcomes → treatmentActions → CQ
<CQ
[ name=string ]
>
IN THIS ORDER:
| ( <deploy ... /> )*
</CQ>
Documentation (type)
Describes the effects of the treatment, assuming this compliance/adherence/... option is selected. Effects are described in terms of a list of options, each of which acts independently but with all effects being activated simultaneously.
Documentation (base type)
Lists intervention components which are deployed according to some external trigger (for example, screening with a negative patency outcome or health-system treatment).
Components are referenced from one or more sub-lists. Each of these lists is deployed independently if and only if its age constraints are met by the human host and a random sample with the given probability of a positive outcome is positive.
Attributes
Name
name=string
Describes what this compliance option represents (e.g. "good compliance", "poor compliance with good drugs", ...).
deploy
→ scenario → healthSystem → ImmediateOutcomes → treatmentActions → CQ → deploy
<deploy
[ maxAge=double ]
[ minAge=double ] DEFAULT VALUE 0
[ p=double ] DEFAULT VALUE 1
>
IN THIS ORDER:
| ( <component ... /> )+
</deploy>
Attributes
Maximum age of eligible humans
maxAge=double
Units: Years Min: 0
Maximum age of eligible humans (defaults to no limit). Input is rounded to the nearest time step.
Minimum age of eligible humans
minAge=double
Units: Years Min: 0
Default value: 0
Minimum age of eligible humans (defaults to 0). Input is rounded to the nearest time step.
Probability of delivery to eligible humans
p=double
Units: dimensionless Min: 0 Max: 1
Default value: 1
Probability of this list of components being deployed, given that other constraints are met.
component
→ scenario → healthSystem → ImmediateOutcomes → treatmentActions → CQ → deploy → component
<component
id=string
/>
Documentation (type)
The list of components deployed to eligible humans.
Attributes
Identifier
id=string
The identifier (short name) of a component.
Prophylactic treatment
→ scenario → healthSystem → DecisionTree5Day → treatmentSevere → clearInfections
<clearInfections
timesteps=string
stage=("liver" or "blood" or "both")
/>
Documentation (element)
This clears infections according to several options: it can clear all blood stage infections, all liver stage infections or both, and it can act on multiple timesteps. To have a probability of no action add another treatment option (which does nothing) and set the probabilities of selection appropriately.
This allows immediate (legacy) or delayed action, a prophylactic period, and selection of which stages are targeted. It is a simple model but appropriate enough for use with the five day timestep when assuming no resistance and that drug failure is mainly caused by bad drugs or compliance.
The old treatment action for the five-day timestep model is essentially this, with immediateAction (timesteps=-1) and stage=both, except for the IPT model's SP action, which was more like with timesteps>1 and stage=blood.
Attributes
Length of effect
timesteps=string
Units: User defined (defaults to steps)
The number of timesteps during which this action remains in effect (e.g. 2 means clear infections during the next two timestep updates). Full clearance of the targeted stages occurs during this time. A special value of -1 means act immediately (retrospectively); this the old behaviour. A value of 1 means act on the next timestep only. Both of these can be thought of as a model for short-acting effective drug treatment; the main differences are that the latter means parasite densities will remain high from the point of view of surveys and diagnostics (i.e. mass screen and treat) used before the next timestep and that the latter will also remove infections starting the next timestep. Arguably the latter is a better model, but the differences are perhaps small, excepting where immediate treatment of fevers (i.e. through the health system) can hide high parasite densities from reporting and mass-screen-and-treat diagnostics. For use by interventions, the latter model has nicer behaviour in that the order of deployment of multiple interventions deployed at the same time does not matter, and that the former model retrospectively treats infections which may already have caused fever, thus may have a lower health impact than it should. It is recommended to use the new model (value 1, or greater than 1 if prophylactic effect is desired) unless wanting to emulate the old behaviour. Values of 0 or less than -1 are not allowed. Can be specified in steps (e.g. 1t, -1t) or days (e.g. 5d).
Target stage
stage=("liver" or "blood" or "both")
Controls whether liver-stage or blood-stage infections are cleared, or both. Infections are considered liver-stage for one 5-day timestep, blood-stage but pre-patent for some number of timesteps (latentp - 1), then start the patent blood stage. If stage is set to "liver", infections are only cleared during their first timestep; if stage is set to "blood", infections are cleared during pre-patent and patent blood stages; if stage is set to "both" all infections are cleared. The old behaviour (oddly considering the drugs it is meant to emulate) is to clear both stages, except for the IPT model of SP action, which cleared only patent blood-stage infections.
SP
→ scenario → healthSystem → ImmediateOutcomes → treatmentActions → SP
<SP
[ name=string ]
>
IN THIS ORDER:
| ( <deploy ... /> )*
</SP>
Documentation (type)
Describes the effects of the treatment, assuming this compliance/adherence/... option is selected. Effects are described in terms of a list of options, each of which acts independently but with all effects being activated simultaneously.
Documentation (base type)
Lists intervention components which are deployed according to some external trigger (for example, screening with a negative patency outcome or health-system treatment).
Components are referenced from one or more sub-lists. Each of these lists is deployed independently if and only if its age constraints are met by the human host and a random sample with the given probability of a positive outcome is positive.
Attributes
Name
name=string
Describes what this compliance option represents (e.g. "good compliance", "poor compliance with good drugs", ...).
AQ
→ scenario → healthSystem → ImmediateOutcomes → treatmentActions → AQ
<AQ
[ name=string ]
>
IN THIS ORDER:
| ( <deploy ... /> )*
</AQ>
Documentation (type)
Describes the effects of the treatment, assuming this compliance/adherence/... option is selected. Effects are described in terms of a list of options, each of which acts independently but with all effects being activated simultaneously.
Documentation (base type)
Lists intervention components which are deployed according to some external trigger (for example, screening with a negative patency outcome or health-system treatment).
Components are referenced from one or more sub-lists. Each of these lists is deployed independently if and only if its age constraints are met by the human host and a random sample with the given probability of a positive outcome is positive.
Attributes
Name
name=string
Describes what this compliance option represents (e.g. "good compliance", "poor compliance with good drugs", ...).
SPAQ
→ scenario → healthSystem → ImmediateOutcomes → treatmentActions → SPAQ
<SPAQ
[ name=string ]
>
IN THIS ORDER:
| ( <deploy ... /> )*
</SPAQ>
Documentation (type)
Describes the effects of the treatment, assuming this compliance/adherence/... option is selected. Effects are described in terms of a list of options, each of which acts independently but with all effects being activated simultaneously.
Documentation (base type)
Lists intervention components which are deployed according to some external trigger (for example, screening with a negative patency outcome or health-system treatment).
Components are referenced from one or more sub-lists. Each of these lists is deployed independently if and only if its age constraints are met by the human host and a random sample with the given probability of a positive outcome is positive.
Attributes
Name
name=string
Describes what this compliance option represents (e.g. "good compliance", "poor compliance with good drugs", ...).
ACT
→ scenario → healthSystem → ImmediateOutcomes → treatmentActions → ACT
<ACT
[ name=string ]
>
IN THIS ORDER:
| ( <deploy ... /> )*
</ACT>
Documentation (type)
Describes the effects of the treatment, assuming this compliance/adherence/... option is selected. Effects are described in terms of a list of options, each of which acts independently but with all effects being activated simultaneously.
Documentation (base type)
Lists intervention components which are deployed according to some external trigger (for example, screening with a negative patency outcome or health-system treatment).
Components are referenced from one or more sub-lists. Each of these lists is deployed independently if and only if its age constraints are met by the human host and a random sample with the given probability of a positive outcome is positive.
Attributes
Name
name=string
Describes what this compliance option represents (e.g. "good compliance", "poor compliance with good drugs", ...).
QN
→ scenario → healthSystem → ImmediateOutcomes → treatmentActions → QN
<QN
[ name=string ]
>
IN THIS ORDER:
| ( <deploy ... /> )*
</QN>
Documentation (type)
Describes the effects of the treatment, assuming this compliance/adherence/... option is selected. Effects are described in terms of a list of options, each of which acts independently but with all effects being activated simultaneously.
Documentation (base type)
Lists intervention components which are deployed according to some external trigger (for example, screening with a negative patency outcome or health-system treatment).
Components are referenced from one or more sub-lists. Each of these lists is deployed independently if and only if its age constraints are met by the human host and a random sample with the given probability of a positive outcome is positive.
Attributes
Name
name=string
Describes what this compliance option represents (e.g. "good compliance", "poor compliance with good drugs", ...).
Probability that a patient with uncomplicated disease seeks official care immediately.
→ scenario → healthSystem → ImmediateOutcomes → pSeekOfficialCareUncomplicated1
<pSeekOfficialCareUncomplicated1
value=double
/>
Documentation (element)
Units: Dimensionless Min: 0.0 Max: 1.0
Probability that a patient with newly incident uncomplicated disease seeks official care
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Probability that a patient with uncomplicated disease will self-treat.
→ scenario → healthSystem → ImmediateOutcomes → pSelfTreatUncomplicated
<pSelfTreatUncomplicated
value=double
/>
Documentation (element)
Units: Dimensionless Min: 0.0 Max: 1.0
Probability that a patient with uncomplicated disease without recent history of disease (i.e. first line) will self-treat.
Note that in second line cases there is no probability of self-treatment.
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Probability that a recurring patient seeks official care
→ scenario → healthSystem → ImmediateOutcomes → pSeekOfficialCareUncomplicated2
<pSeekOfficialCareUncomplicated2
value=double
/>
Documentation (element)
Units: Dimensionless Min: 0.0 Max: 1.0
Probability that a patient with recurrence of uncomplicated disease seeks official care
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Probability that a patient with severe disease obtains appropriate care
→ scenario → healthSystem → ImmediateOutcomes → pSeekOfficialCareSevere
<pSeekOfficialCareSevere
value=double
/>
Documentation (element)
Units: Dimensionless Min: 0.0 Max: 1.0
Probability that a patient with severe disease obtains appropriate care
Attributes
Input parameter value
value=double
A double-precision floating-point value.
liverStageDrug
→ scenario → healthSystem → ImmediateOutcomes → liverStageDrug
<liverStageDrug>
IN ANY ORDER:
| <pHumanCannotReceive ... />
| [ <ignoreCannotReceive ... /> ]
| [ <pUseUncomplicated ... /> ]
| <effectivenessOnUse ... />
</liverStageDrug>
Documentation (type)
Parameters for drug treatment which have an effect on the liver-stage of parasites (Primaquine and potentially Tafenoquine); for use with the Vivax model only.
Note: if this section is not listed, the following default values are assumed: pHumanCannotReceive=0, pUseUncomplicated=0, effectivenessOnUse=1.
Probability that human is incompatible with liver-stage drug treatment
→ scenario → healthSystem → ImmediateOutcomes → liverStageDrug → pHumanCannotReceive
<pHumanCannotReceive
value=double
/>
Documentation (element)
Units: Probability Min: 0 Max: 1
Chance that a human is determined to be unable to receive liver-stage drug treatment. Treatment is neither reported or given for such humans.
This is sampled once per human at birth.
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Ignore liver-stage drug treatment incompatibility
→ scenario → healthSystem → ImmediateOutcomes → liverStageDrug → ignoreCannotReceive
<ignoreCannotReceive
value=boolean
/>
Documentation (element)
If true, ignore pHumanCannotReceive and consider all humans eligible for treatment; if false (or not specified), do not treat those demed incompatible with liver-stage drug treatment.
The point of this is that pHumanCannotReceive cannot be altered by changeHS interventions, but this property can be.
Attributes
Input parameter value
value=boolean
A boolean value.
Prob use in UC case
→ scenario → healthSystem → ImmediateOutcomes → liverStageDrug → pUseUncomplicated
<pUseUncomplicated
value=double
/>
Documentation (element)
Units: Probability Min: 0 Max: 1
This feature is deprecated; it is suggested to use the "simple treatment" feature configured to clear liver-stage parasites, leaving this option unset or zero.
Chance of liver-stage drug treatment being used for routine treatment of an uncomplicated case.
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Effectiveness
→ scenario → healthSystem → ImmediateOutcomes → liverStageDrug → effectivenessOnUse
<effectivenessOnUse
value=double
/>
Documentation (element)
Units: Probability Min: 0 Max: 1
Chance that liver-stage drug treatment is effective.
On application, a random variable is sampled against this probability. If false, the treatment does nothing; if true, the treatment clears all liver stage parasites. Where effectiveness is longer than a single time step (prophylactic effect), this sample still only happens once (thus either no effect or all liver stages cleared over multiple steps).
Attributes
Input parameter value
value=double
A double-precision floating-point value.
DecisionTree5Day
→ scenario → healthSystem → DecisionTree5Day
<DecisionTree5Day
[ name=string ]
>
IN ANY ORDER:
| <pSeekOfficialCareUncomplicated1 ... />
| <pSelfTreatUncomplicated ... />
| <pSeekOfficialCareUncomplicated2 ... />
| <pSeekOfficialCareSevere ... />
| [ <liverStageDrug ... /> ]
| <treeUCOfficial ... />
| <treeUCSelfTreat ... />
| <cureRateSevere ... />
| <treatmentSevere ... />
</DecisionTree5Day>
- pSeekOfficialCareUncomplicated1
- pSelfTreatUncomplicated
- pSeekOfficialCareUncomplicated2
- pSeekOfficialCareSevere
- liverStageDrug
- treeUCOfficial
- treeUCSelfTreat
- cureRateSevere
- treatmentSevere
Documentation (type)
Description of the health system using the 5-day timestep with decision tree model: access is configured as in the Tediosi et al case management model (Case management as described in AJTMH 75 (suppl 2) pp90-103) while treatment decisions are configured via decision trees.
Besides greater flexibility, this allows treatment via PK/PD models.
Attributes
Name of case management parameterisation
name=string
Name of health system
Probability that a patient with uncomplicated disease seeks official care immediately.
→ scenario → healthSystem → DecisionTree5Day → pSeekOfficialCareUncomplicated1
<pSeekOfficialCareUncomplicated1
value=double
/>
Documentation (element)
Units: Dimensionless Min: 0.0 Max: 1.0
Probability that a patient with newly incident uncomplicated disease seeks official care
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Probability that a patient with uncomplicated disease will self-treat.
→ scenario → healthSystem → DecisionTree5Day → pSelfTreatUncomplicated
<pSelfTreatUncomplicated
value=double
/>
Documentation (element)
Units: Dimensionless Min: 0.0 Max: 1.0
Probability that a patient with uncomplicated disease without recent history of disease (i.e. first line) will self-treat.
Note that in second line cases there is no probability of self-treatment.
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Probability that a recurring patient seeks official care
→ scenario → healthSystem → DecisionTree5Day → pSeekOfficialCareUncomplicated2
<pSeekOfficialCareUncomplicated2
value=double
/>
Documentation (element)
Units: Dimensionless Min: 0.0 Max: 1.0
Probability that a patient with recurrence of uncomplicated disease seeks official care
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Probability that a patient with severe disease obtains appropriate care
→ scenario → healthSystem → DecisionTree5Day → pSeekOfficialCareSevere
<pSeekOfficialCareSevere
value=double
/>
Documentation (element)
Units: Dimensionless Min: 0.0 Max: 1.0
Probability that a patient with severe disease obtains appropriate care
Attributes
Input parameter value
value=double
A double-precision floating-point value.
liverStageDrug
→ scenario → healthSystem → DecisionTree5Day → liverStageDrug
<liverStageDrug>
IN ANY ORDER:
| <pHumanCannotReceive ... />
| [ <ignoreCannotReceive ... /> ]
| [ <pUseUncomplicated ... /> ]
| <effectivenessOnUse ... />
</liverStageDrug>
Documentation (type)
Parameters for drug treatment which have an effect on the liver-stage of parasites (Primaquine and potentially Tafenoquine); for use with the Vivax model only.
Note: if this section is not listed, the following default values are assumed: pHumanCannotReceive=0, pUseUncomplicated=0, effectivenessOnUse=1.
treeUCOfficial
→ scenario → healthSystem → DecisionTree5Day → treeUCOfficial
<treeUCOfficial
[ name=string ]
>
EXACTLY ONE OF:
| <multiple ... />
| <caseType ... />
| <diagnostic ... />
| <random ... />
| <age ... />
| <noTreatment ... />
| <treatFailure ... />
| ( <treatPKPD ... /> )+
| <treatSimple ... />
| ( <deploy ... /> )+
</treeUCOfficial>
Documentation (type)
Describes how "decisions" are made, both probabilistically and deterministically, and what actions are carried out.
Quantities may also be reported as a side effect of decisions made in the tree, for example the number of diagnostics used.
Attributes
Name
name=string
An optional piece of documentation attached to this node.
treeUCSelfTreat
→ scenario → healthSystem → DecisionTree5Day → treeUCSelfTreat
<treeUCSelfTreat
[ name=string ]
>
EXACTLY ONE OF:
| <multiple ... />
| <caseType ... />
| <diagnostic ... />
| <random ... />
| <age ... />
| <noTreatment ... />
| <treatFailure ... />
| ( <treatPKPD ... /> )+
| <treatSimple ... />
| ( <deploy ... /> )+
</treeUCSelfTreat>
Documentation (type)
Describes how "decisions" are made, both probabilistically and deterministically, and what actions are carried out.
Quantities may also be reported as a side effect of decisions made in the tree, for example the number of diagnostics used.
Attributes
Name
name=string
An optional piece of documentation attached to this node.
Cure rate (severe cases)
→ scenario → healthSystem → DecisionTree5Day → cureRateSevere
<cureRateSevere
value=double
/>
Documentation (element)
Min: 0 Max: 1
The probability of clearing parasites given access to appropriate (hospital) care, for a severe case.
Attributes
Input parameter value
value=double
A double-precision floating-point value.
treatmentSevere
→ scenario → healthSystem → DecisionTree5Day → treatmentSevere
<treatmentSevere
[ name=string ]
>
IN THIS ORDER:
| ( <deploy ... /> )*
</treatmentSevere>
Documentation (type)
Describes the effects of the treatment, assuming this compliance/adherence/... option is selected. Effects are described in terms of a list of options, each of which acts independently but with all effects being activated simultaneously.
Documentation (base type)
Lists intervention components which are deployed according to some external trigger (for example, screening with a negative patency outcome or health-system treatment).
Components are referenced from one or more sub-lists. Each of these lists is deployed independently if and only if its age constraints are met by the human host and a random sample with the given probability of a positive outcome is positive.
Attributes
Name
name=string
Describes what this compliance option represents (e.g. "good compliance", "poor compliance with good drugs", ...).
Case fatality rate for inpatients
→ scenario → healthSystem → CFR
<CFR
[ interpolation=("none" or "linear") ]
>
IN THIS ORDER:
| ( <group ... /> )+
</CFR>
Documentation (element)
Case fatality rate (probability of an inpatient fatality from a bout of severe malaria, per age-group).
Attributes
interpolation
interpolation=("none" or "linear")
Interpolation algorithm. Normally it is desirable for age-based values to be continuous w.r.t. age. By default linear interpolation is used. With all algorithms except "none", the age groups are converted to a set of points centred within each age range. Extra points are added at each end (zero and infinity) to keep value constant at both ends of the function. A zero-length age group may be used as a kind of barrier to adjust the distribution; e.g. with age group boundaries at 15, 20 and 25 years, a (linear) spline would be drawn between ages 17.5 and 22.5, whereas with boundaries at 15, 20 and 20 years, a spline would be drawn between ages 17.5 and 20 years (may be desired if individuals are assumed to reach adult size at 20). Algorithms:
- none: input values are used directly
- linear: straight lines (on an age vs. value graph) are used to interpolate data points.
Probabilities of sequelae in inpatients
→ scenario → healthSystem → pSequelaeInpatient
<pSequelaeInpatient
[ interpolation=("none" or "linear") ]
>
IN THIS ORDER:
| ( <group ... /> )+
</pSequelaeInpatient>
Documentation (element)
Units: Dimensionless
List of age-specific probabilities of sequelae in inpatients, during a severe bout of malaria.
Attributes
interpolation
interpolation=("none" or "linear")
Interpolation algorithm. Normally it is desirable for age-based values to be continuous w.r.t. age. By default linear interpolation is used. With all algorithms except "none", the age groups are converted to a set of points centred within each age range. Extra points are added at each end (zero and infinity) to keep value constant at both ends of the function. A zero-length age group may be used as a kind of barrier to adjust the distribution; e.g. with age group boundaries at 15, 20 and 25 years, a (linear) spline would be drawn between ages 17.5 and 22.5, whereas with boundaries at 15, 20 and 20 years, a spline would be drawn between ages 17.5 and 20 years (may be desired if individuals are assumed to reach adult size at 20). Algorithms:
- none: input values are used directly
- linear: straight lines (on an age vs. value graph) are used to interpolate data points.
Change transmission levels
→ scenario → interventions → changeEIR
<changeEIR
[ name=string ]
>
IN THIS ORDER:
| ( <timedDeployment ... /> )*
</changeEIR>
Documentation (element)
New description of transmission level for models not supporting vector control interventions. Use of this overrides previous transmission levels such that human infectiousness no longer has any feedback effect on transmission. Supplied EIR data must last until end of simulation.
Attributes
Name of intervention
name=string
Name of intervention
timedDeployment
→ scenario → interventions → changeEIR → timedDeployment
<timedDeployment
eipDuration=int
time=string
>
IN THIS ORDER:
| ( <EIRDaily ... /> )+
</timedDeployment>
Documentation (type)
Replacement transmission levels. Disables feedback of human infectiousness to mosquitoes on further mosquito to human transmission. Must last until end of simulation.
Attributes
Duration of sporogony
eipDuration=int
Units: Days
The duration of sporogony in days
Time
time=string
Units: User defined (defauls to steps) Min: 0
Time at which this replacement occurs. See doc on intervention period and on monitoring/startDate for details of how times work. Can be specified in steps, days, years, or as a date (examples: 15t, 75d, 0.2y, 2000-03-16).
EIRDaily
→ scenario → entomology → nonVector → EIRDaily
<EIRDaily
[ origin=string ]
>
double
</EIRDaily>
Documentation (type)
Units: Infectious bites per adult per day
In the non-vector model, EIR is input as a sequence of daily values. There must be at least one years' worth of entries (365), and if there are more, values are wrapped and averaged (i.e. value for first day of year is taken as the mean of values for days 0, 365+0, 2*365+0, etc.).
Attributes
Time origin of EIR sequence
origin=string
Imported infections
→ scenario → interventions → importedInfections
<importedInfections
[ name=string ]
>
IN THIS ORDER:
| <timed ... />
</importedInfections>
Documentation (element)
Models importation of P. falciparum infections directly into humans from an external source. This is infections, not inoculations or EIR being imported.
Attributes
Name of intervention
name=string
Name of intervention
Rate of importation
→ scenario → interventions → importedInfections → timed
<timed
[ period=string ] DEFAULT VALUE 0
>
IN THIS ORDER:
| ( <rate ... /> )+
</timed>
Documentation (element)
Rate of case importation, as a step function. Each value is valid until replaced by the next value.
Attributes
Period of repetition
period=string
Units: User defined (default: steps) Min: 0
Default value: 0
If period is 0 (or effectively infinite), the last specified value remains indefinitely in effect. If period is less than the length of the simulation's intervention phase, then all "rate" deployments are repeated with this periodicity. In this case, the first "rate" deployment must coincide with the start of the intervention phase (monitoring/startDate). Can be specified in steps (e.g. 1t) or days (e.g. 365d).
rate
→ scenario → interventions → importedInfections → timed → rate
<rate
value=double
time=string
/>
Documentation (type)
Units: Imported cases per thousand people per year
A time-rate pair.
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Time of start
time=string
Units: User defined (defauls to steps) Min: 0
Time at which this importation rate becomes active. See doc on intervention period and on monitoring/startDate for details of how times work. Can be specified in steps, days, years, or as a date (examples: 15t, 75d, 0.2y, 2000-03-16).
Insert R_0 case
→ scenario → interventions → insertR_0Case
<insertR_0Case
[ name=string ]
>
IN THIS ORDER:
| ( <timedDeployment ... /> )*
</insertR_0Case>
Documentation (element)
Used to simulate R_0. First, infections should be eliminated, immunity removed, and the population given an effective transmission- blocking vaccine (not done by this intervention). Then this intervention may be used to: pick one human, infect him, administer a fully effective Preerythrocytic vaccine and remove transmission-blocking vaccine effect on this human. Thus only this one human will be a source of infections in an unprotected population, and will not reinfected himself.
Attributes
Name of intervention
name=string
Name of intervention
timedDeployment
→ scenario → interventions → insertR_0Case → timedDeployment
<timedDeployment
time=string
/>
Attributes
Time
time=string
Units: User defined (defauls to steps) Min: 0
Time at which this intervention occurs. See doc on intervention period and on monitoring/startDate for details of how times work. Can be specified in steps, days, years, or as a date (examples: 15t, 75d, 0.2y, 2000-03-16).
Uninfect vectors
→ scenario → interventions → uninfectVectors
<uninfectVectors
[ name=string ]
>
IN THIS ORDER:
| ( <timedDeployment ... /> )*
</uninfectVectors>
Documentation (element)
Units: List of elements
Removes all infections from mosquitoes -- resulting in zero EIR to humans, until such time that mosquitoes are re-infected and become infectious. Only efficacious in dynamic EIR mode (when changeEIR was not used).
Hypothetical, but potentially useful to simulate a setting starting from no infections, but with enough mosquitoes to reach a set equilibrium of exposure.
Attributes
Name of intervention
name=string
Name of intervention
timedDeployment
→ scenario → interventions → uninfectVectors → timedDeployment
<timedDeployment
time=string
/>
Attributes
Time
time=string
Units: User defined (defauls to steps) Min: 0
Time at which this intervention occurs. See doc on intervention period and on monitoring/startDate for details of how times work. Can be specified in steps, days, years, or as a date (examples: 15t, 75d, 0.2y, 2000-03-16).
Vector population intervention
→ scenario → interventions → vectorPop
<vectorPop>
IN THIS ORDER:
| ( <intervention ... /> )+
</vectorPop>
Documentation (element)
Units: List of elements
A list of parameterisations of generic vector host-inspecific interventions.
intervention
→ scenario → interventions → vectorPop → intervention
<intervention
name=string
>
IN THIS ORDER:
| <description ... />
| [ <timed ... /> ]
</intervention>
Documentation (type)
Units: List of elements
An intervention which may have various effects on the vector populations as a whole. (Not host specific.)
Multiple instances of this intervention class are allowed (multiple parameterisations, not just deployments).
Each instance may have multiple deployments. In this case the effects of each instance are independent (effects are combined) but the effects of multiple deployments of a single instance are not independent (only the latest deployment has any effect).
Attributes
Name of intervention
name=string
Name of intervention (e.g. larviciding, sugar bait).
description
→ scenario → interventions → vectorPop → intervention → description
<description>
IN THIS ORDER:
| ( <anopheles ... /> )+
</description>
anopheles
→ scenario → interventions → vectorPop → intervention → description → anopheles
<anopheles
mosquito=string
>
IN ANY ORDER:
| [ <seekingDeathRateIncrease ... /> ]
| [ <probDeathOvipositing ... /> ]
| [ <emergenceReduction ... /> ]
</anopheles>
Documentation (type)
Units: dimensionless Min: 0 Max: 1
Descriptions of the effects of vector interventions with per-species effects.
Attributes
Species/subspecies/variant name
mosquito=string
Name of the species/subspecies/variant.
Proportional increase in deaths while host searching
→ scenario → interventions → vectorPop → intervention → description → anopheles → seekingDeathRateIncrease
<seekingDeathRateIncrease
initial=double
>
IN THIS ORDER:
| <decay ... />
</seekingDeathRateIncrease>
Documentation (element)
Units: dimensionless
Describe an effect on the increase in the death rate while host seeking (mu_vA) due to this intervention.
Enter the rate increase (i.e. if rate increases to 120% of normal, give 0.2). New death rate while seeking is old × (1 + increase) where increase is this factor given. Must have increas ≥ -1.
Attributes
Initial proportion increase
initial=double
Units: dimensionless Min: -1 Max: inf
decay
→ scenario → interventions → vectorPop → intervention → description → anopheles → seekingDeathRateIncrease → decay
<decay
function=("constant" or "step" or "linear" or "exponential" or "weibull" or "hill" or "smooth-compact")
[ L=string ]
[ k=double ] DEFAULT VALUE 1.0
[ CV=double ] DEFAULT VALUE 0
/>
Documentation (type)
Specification of decay or survival of a parameter.
Attributes
function
function=("constant" or "step" or "linear" or "exponential" or "weibull" or "hill" or "smooth-compact")
Units: None Min: 0 Max: 1
Determines which decay function to use. Available decay functions, for age t in years: constant: 1 step: 1 for t less than L, otherwise 0 linear: 1 - t/L for t less than L, otherwise 0 exponential: exp( - t/L * log(2) ) weibull: exp( -(t/L)^k * log(2) ) hill: 1 / (1 + (t/L)^k) smooth-compact: exp( k - k / (1 - (t/L)^2) ) for t less than L, otherwise 0
L
L=string
Units: User-defined (defaults to years) Min: 0
(Time) scale parameter of distribution: this is either the age of complete decay (smooth-compact, step and linear functions) or the age at which the parameter has decayed to half its original value (exponential, weibull and hill). Not used when function="constant" (i.e. no decay). This value can be specified in years, days or steps (e.g. 2y, 180d or 100t). When the unit is not specified years are assumed. The value is used without rounding except when sampling an age of decay, when the rounding happens as late as possible.
k
k=double
Units: none Min: 0
Default value: 1.0
Shape parameter of distribution. If not specified, default value of 1 is used. Meaning depends on function; not used in some cases.
Coefficient of Variation
CV=double
Min: 0
Default value: 0
If CV is non-zero, heterogeneity of decay is introduced via a random variable sampled from the log-normal distribution. This distribution is parameterised with mean=1 and CV as given. The effective age of decay is the real age multiplied by this variable (for decay functions with a half-life, this is equivalent to dividing the half-life by the variable).
Proportion ovipositing mosquitoes killed
→ scenario → interventions → vectorPop → intervention → description → anopheles → probDeathOvipositing
<probDeathOvipositing
initial=double
>
IN THIS ORDER:
| <decay ... />
</probDeathOvipositing>
Documentation (element)
Units: dimensionless
Describe an effect of increased mortality while ovipositing due to this intervention. Enter the probability of dying due to this intervention.
Attributes
Initial probability of killing
initial=double
Units: dimensionless Min: 0 Max: 1
decay
→ scenario → interventions → vectorPop → intervention → description → anopheles → probDeathOvipositing → decay
<decay
function=("constant" or "step" or "linear" or "exponential" or "weibull" or "hill" or "smooth-compact")
[ L=string ]
[ k=double ] DEFAULT VALUE 1.0
[ CV=double ] DEFAULT VALUE 0
/>
Documentation (type)
Specification of decay or survival of a parameter.
Attributes
function
function=("constant" or "step" or "linear" or "exponential" or "weibull" or "hill" or "smooth-compact")
Units: None Min: 0 Max: 1
Determines which decay function to use. Available decay functions, for age t in years: constant: 1 step: 1 for t less than L, otherwise 0 linear: 1 - t/L for t less than L, otherwise 0 exponential: exp( - t/L * log(2) ) weibull: exp( -(t/L)^k * log(2) ) hill: 1 / (1 + (t/L)^k) smooth-compact: exp( k - k / (1 - (t/L)^2) ) for t less than L, otherwise 0
L
L=string
Units: User-defined (defaults to years) Min: 0
(Time) scale parameter of distribution: this is either the age of complete decay (smooth-compact, step and linear functions) or the age at which the parameter has decayed to half its original value (exponential, weibull and hill). Not used when function="constant" (i.e. no decay). This value can be specified in years, days or steps (e.g. 2y, 180d or 100t). When the unit is not specified years are assumed. The value is used without rounding except when sampling an age of decay, when the rounding happens as late as possible.
k
k=double
Units: none Min: 0
Default value: 1.0
Shape parameter of distribution. If not specified, default value of 1 is used. Meaning depends on function; not used in some cases.
Coefficient of Variation
CV=double
Min: 0
Default value: 0
If CV is non-zero, heterogeneity of decay is introduced via a random variable sampled from the log-normal distribution. This distribution is parameterised with mean=1 and CV as given. The effective age of decay is the real age multiplied by this variable (for decay functions with a half-life, this is equivalent to dividing the half-life by the variable).
Proportion of emerging pupa killed
→ scenario → interventions → vectorPop → intervention → description → anopheles → emergenceReduction
<emergenceReduction
initial=double
>
IN THIS ORDER:
| <decay ... />
</emergenceReduction>
Documentation (element)
Units: dimensionless
Describe an effect on emergence of pupa into adults: this value is the proportion of emerging pupa which are killed by this intervention.
This can be used as a crude way of modelling larviciding. It ca also be used to increase emergence by giving a negative value. The emergence rate is "old rate" × (1 - factor) where factor is the value given here; thus, for example, using -1 will double emergence.
Attributes
Initial proportion reduction
initial=double
Units: dimensionless Min: -inf Max: 1
decay
→ scenario → interventions → vectorPop → intervention → description → anopheles → emergenceReduction → decay
<decay
function=("constant" or "step" or "linear" or "exponential" or "weibull" or "hill" or "smooth-compact")
[ L=string ]
[ k=double ] DEFAULT VALUE 1.0
[ CV=double ] DEFAULT VALUE 0
/>
Documentation (type)
Specification of decay or survival of a parameter.
Attributes
function
function=("constant" or "step" or "linear" or "exponential" or "weibull" or "hill" or "smooth-compact")
Units: None Min: 0 Max: 1
Determines which decay function to use. Available decay functions, for age t in years: constant: 1 step: 1 for t less than L, otherwise 0 linear: 1 - t/L for t less than L, otherwise 0 exponential: exp( - t/L * log(2) ) weibull: exp( -(t/L)^k * log(2) ) hill: 1 / (1 + (t/L)^k) smooth-compact: exp( k - k / (1 - (t/L)^2) ) for t less than L, otherwise 0
L
L=string
Units: User-defined (defaults to years) Min: 0
(Time) scale parameter of distribution: this is either the age of complete decay (smooth-compact, step and linear functions) or the age at which the parameter has decayed to half its original value (exponential, weibull and hill). Not used when function="constant" (i.e. no decay). This value can be specified in years, days or steps (e.g. 2y, 180d or 100t). When the unit is not specified years are assumed. The value is used without rounding except when sampling an age of decay, when the rounding happens as late as possible.
k
k=double
Units: none Min: 0
Default value: 1.0
Shape parameter of distribution. If not specified, default value of 1 is used. Meaning depends on function; not used in some cases.
Coefficient of Variation
CV=double
Min: 0
Default value: 0
If CV is non-zero, heterogeneity of decay is introduced via a random variable sampled from the log-normal distribution. This distribution is parameterised with mean=1 and CV as given. The effective age of decay is the real age multiplied by this variable (for decay functions with a half-life, this is equivalent to dividing the half-life by the variable).
Vector population intervention deployment
→ scenario → interventions → vectorPop → intervention → timed
<timed>
IN THIS ORDER:
| ( <deploy ... /> )+
</timed>
Documentation (element)
List of timed vector population intervention deployment
deploy
→ scenario → interventions → vectorPop → intervention → timed → deploy
<deploy
time=string
/>
Attributes
Time
time=string
Units: User defined (defauls to steps) Min: 0
Time at which this deployment occurs. See doc on intervention period and on monitoring/startDate for details of how times work. Can be specified in steps, days, years, or as a date (examples: 15t, 75d, 0.2y, 2000-03-16).
Baited trap
→ scenario → interventions → vectorTrap
<vectorTrap>
IN THIS ORDER:
| ( <intervention ... /> )+
</vectorTrap>
Documentation (element)
Traps attract and kill mosquitoes. They are modelled as a non-human-host where the probability of mosquitoes surviving feeding is zero (since otherwise the simulator would assume surviving mosquitoes have had a blood meal), and where this "host" is initially not present.
Model: each type of trap has has an initial availability relative to a human and a decay in availability. Each deployment has a fixed maximum lifespan, after which the traps from that deployment are removed (it is up to the user whether this is after availability is effectively zero or sooner, either coinciding with a redeployment or causing a reduction in overall effectiveness of traps).
intervention
→ scenario → interventions → vectorTrap → intervention
<intervention
[ name=string ]
>
IN THIS ORDER:
| ( <description ... /> )+
| [ <timed ... /> ]
</intervention>
Documentation (type)
Parameters and deployment of one type of trap. In case multiple types of trap are needed simultaneously, multiple elements can be used. Note that different types of trap do not interact except that all will attract mosquitoes.
Attributes
Descriptive name for type of trap
name=string
Optional name for this type of trap
Description
→ scenario → interventions → vectorTrap → intervention → description
<description
mosquito=string
>
IN THIS ORDER:
| <relativeAvailability ... />
| <decayOfAvailability ... />
</description>
Documentation (element)
Parameters associated with a vector trap intervention, per mosquito species.
Attributes
Species/subspecies/variant name
mosquito=string
Name of the species/subspecies/variant.
Initial relative availability
→ scenario → interventions → vectorTrap → intervention → description → relativeAvailability
<relativeAvailability
value=double
/>
Documentation (element)
Units: Proportion Min: 0 Max: inf
Describes the availiability of a trap to a host-seeking mosquito relative to an average unprotected adult.
I.e. if this parameter is 2, then each trap will on average attract twice as many mosquitoes as unprotected adults.
This is the initial availability; it may decay towards zero depending on the configured decay function.
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Decay of availability
→ scenario → interventions → vectorTrap → intervention → description → decayOfAvailability
<decayOfAvailability
function=("constant" or "step" or "linear" or "exponential" or "weibull" or "hill" or "smooth-compact")
[ L=string ]
[ k=double ] DEFAULT VALUE 1.0
[ CV=double ] DEFAULT VALUE 0
/>
Documentation (element)
Describes how availability decays to zero.
If decay heterogeneity/variance is used, there will be a sample once-per-deployment (i.e. all traps of the same deployment will be affected the same way). There is no support for variances between traps (except in this crude way, between deployments).
Documentation (type)
Specification of decay or survival of a parameter.
Attributes
function
function=("constant" or "step" or "linear" or "exponential" or "weibull" or "hill" or "smooth-compact")
Units: None Min: 0 Max: 1
Determines which decay function to use. Available decay functions, for age t in years: constant: 1 step: 1 for t less than L, otherwise 0 linear: 1 - t/L for t less than L, otherwise 0 exponential: exp( - t/L * log(2) ) weibull: exp( -(t/L)^k * log(2) ) hill: 1 / (1 + (t/L)^k) smooth-compact: exp( k - k / (1 - (t/L)^2) ) for t less than L, otherwise 0
L
L=string
Units: User-defined (defaults to years) Min: 0
(Time) scale parameter of distribution: this is either the age of complete decay (smooth-compact, step and linear functions) or the age at which the parameter has decayed to half its original value (exponential, weibull and hill). Not used when function="constant" (i.e. no decay). This value can be specified in years, days or steps (e.g. 2y, 180d or 100t). When the unit is not specified years are assumed. The value is used without rounding except when sampling an age of decay, when the rounding happens as late as possible.
k
k=double
Units: none Min: 0
Default value: 1.0
Shape parameter of distribution. If not specified, default value of 1 is used. Meaning depends on function; not used in some cases.
Coefficient of Variation
CV=double
Min: 0
Default value: 0
If CV is non-zero, heterogeneity of decay is introduced via a random variable sampled from the log-normal distribution. This distribution is parameterised with mean=1 and CV as given. The effective age of decay is the real age multiplied by this variable (for decay functions with a half-life, this is equivalent to dividing the half-life by the variable).
Vector trap intervention deployment
→ scenario → interventions → vectorTrap → intervention → timed
<timed>
IN THIS ORDER:
| ( <deploy ... /> )*
</timed>
Documentation (element)
List of timed vector trap intervention deployment
deploy
→ scenario → interventions → vectorTrap → intervention → timed → deploy
<deploy
time=string
ratioToHumans=double
lifespan=string
/>
Attributes
Time
time=string
Units: User defined (defauls to steps) Min: 0
Time at which this deployment occurs. See doc on intervention period and on monitoring/startDate for details of how times work. Can be specified in steps, days, years, or as a date (examples: 15t, 75d, 0.2y, 2000-03-16).
Ratio to humans
ratioToHumans=double
Min: 0 Max: inf
The number of traps deployed, by this deployment, per adult human. E.g. if there are currently 100 traps and 1000 humans, then a ratio of 0.1 will increase the number of traps to 200.
Lifespan
lifespan=string
Units: Steps or Days or Years
Life of the trap until replaced or removed, e.g. "73t" or "1y". After this time period, these traps will be removed from the simulation. New deployments do not automatically remove old traps. Existing traps cannot be refurbished in the model. It may make sense to make the end-of-life coincide with a new deployment.
nonHumanHostsModifications
→ scenario → interventions → nonHumanHostsModifications
<nonHumanHostsModifications>
IN THIS ORDER:
| ( <intervention ... /> )+
</nonHumanHostsModifications>
Documentation (element)
List of interventions that modify parameters of non-human hosts described in the
intervention
→ scenario → interventions → nonHumanHostsModifications → intervention
<intervention
name=string
nonHumanHostsName=string
>
IN THIS ORDER:
| <decay ... />
| <description ... />
| [ <timed ... /> ]
</intervention>
Documentation (type)
This intervention modifies parameters of non-human hosts described in the
The intervention is described by 5 parameters that define the change in each of non-human host parameters:
reduceAvailability: Reduction in the availability rate, αi. For example a value of 0 will result in no change; a value of 0.2 will reduce the availability to 0.8 of its initial value; and a value of 1 will set the availability to 0;
prePrandialKillingEffect: Reduction in the pre-prandial survival probability, PBi. For example a value of 0 will result in no change; a value of 0.2 will reduce PBi to 0.8 of its initial value; and a value of 1 will set PBi to 0;
postPrandialKillingEffect: Reduction in the post-prandial survival probability, PCi. For example a value of 0 will result in no change; a value of 0.2 will reduce PCi to 0.8 of its initial value; and a value of 1 will set PCi to 0;
restingKillingEffect: Reduction in the survival probability of the resting period, PDi. For example a value of 0 will result in no change; a value of 0.2 will reduce PDi to 0.8 of its initial value; and a value of 1 will set PDi to 0;
Attributes
Name of intervention
name=string
Name of intervention (e.g. larviciding, sugar bait).
Name of intervention
nonHumanHostsName=string
Name of intervention (e.g. larviciding, sugar bait).
decay
→ scenario → interventions → nonHumanHostsModifications → intervention → decay
<decay
function=("constant" or "step" or "linear" or "exponential" or "weibull" or "hill" or "smooth-compact")
[ L=string ]
[ k=double ] DEFAULT VALUE 1.0
[ CV=double ] DEFAULT VALUE 0
/>
Documentation (type)
Specification of decay or survival of a parameter.
Attributes
function
function=("constant" or "step" or "linear" or "exponential" or "weibull" or "hill" or "smooth-compact")
Units: None Min: 0 Max: 1
Determines which decay function to use. Available decay functions, for age t in years: constant: 1 step: 1 for t less than L, otherwise 0 linear: 1 - t/L for t less than L, otherwise 0 exponential: exp( - t/L * log(2) ) weibull: exp( -(t/L)^k * log(2) ) hill: 1 / (1 + (t/L)^k) smooth-compact: exp( k - k / (1 - (t/L)^2) ) for t less than L, otherwise 0
L
L=string
Units: User-defined (defaults to years) Min: 0
(Time) scale parameter of distribution: this is either the age of complete decay (smooth-compact, step and linear functions) or the age at which the parameter has decayed to half its original value (exponential, weibull and hill). Not used when function="constant" (i.e. no decay). This value can be specified in years, days or steps (e.g. 2y, 180d or 100t). When the unit is not specified years are assumed. The value is used without rounding except when sampling an age of decay, when the rounding happens as late as possible.
k
k=double
Units: none Min: 0
Default value: 1.0
Shape parameter of distribution. If not specified, default value of 1 is used. Meaning depends on function; not used in some cases.
Coefficient of Variation
CV=double
Min: 0
Default value: 0
If CV is non-zero, heterogeneity of decay is introduced via a random variable sampled from the log-normal distribution. This distribution is parameterised with mean=1 and CV as given. The effective age of decay is the real age multiplied by this variable (for decay functions with a half-life, this is equivalent to dividing the half-life by the variable).
description
→ scenario → interventions → nonHumanHostsModifications → intervention → description
<description>
IN THIS ORDER:
| ( <anopheles ... /> )+
</description>
anopheles
→ scenario → interventions → nonHumanHostsModifications → intervention → description → anopheles
<anopheles
mosquito=string
>
IN ANY ORDER:
| [ <availabilityReduction ... /> ]
| [ <preprandialKillingEffect ... /> ]
| [ <postprandialKillingEffect ... /> ]
| [ <restingKillingEffect ... /> ]
| [ <fecundityReduction ... /> ]
</anopheles>
- availabilityReduction
- preprandialKillingEffect
- postprandialKillingEffect
- restingKillingEffect
- fecundityReduction
Documentation (type)
Descriptions of the effects of non human hosts interventions with per-species effects.
Attributes
Species/subspecies/variant name
mosquito=string
Name of the species/subspecies/variant.
availabilityReduction
→ scenario → interventions → nonHumanHostsModifications → intervention → description → anopheles → availabilityReduction
<availabilityReduction
initial=double
/>
Documentation (element)
Reduction in the availability rate, αi. For example a value of 0 will result in no change; a value of 0.2 will reduce the availability to 0.8 of its initial value; and a value of 1 will set the availability to 0;
Attributes
Initial proportion increase
initial=double
Units: dimensionless Min: -1 Max: inf
preprandialKillingEffect
→ scenario → interventions → nonHumanHostsModifications → intervention → description → anopheles → preprandialKillingEffect
<preprandialKillingEffect
initial=double
/>
Documentation (element)
Reduction in the pre-prandial survival probability, PBi. For example a value of 0 will result in no change; a value of 0.2 will reduce PBi to 0.8 of its initial value; and a value of 1 will set PBi to 0;
Attributes
Initial proportion increase
initial=double
Units: dimensionless Min: -1 Max: inf
postprandialKillingEffect
→ scenario → interventions → nonHumanHostsModifications → intervention → description → anopheles → postprandialKillingEffect
<postprandialKillingEffect
initial=double
/>
Documentation (element)
Reduction in the post-prandial survival probability, PCi. For example a value of 0 will result in no change; a value of 0.2 will reduce PCi to 0.8 of its initial value; and a value of 1 will set PCi to 0;
Attributes
Initial proportion increase
initial=double
Units: dimensionless Min: -1 Max: inf
restingKillingEffect
→ scenario → interventions → nonHumanHostsModifications → intervention → description → anopheles → restingKillingEffect
<restingKillingEffect
initial=double
/>
Documentation (element)
Reduction in the survival probability of the resting period, PDi. For example a value of 0 will result in no change; a value of 0.2 will reduce PDi to 0.8 of its initial value; and a value of 1 will set PDi to 0;
Attributes
Initial proportion increase
initial=double
Units: dimensionless Min: -1 Max: inf
fecundityReduction
→ scenario → interventions → nonHumanHostsModifications → intervention → description → anopheles → fecundityReduction
<fecundityReduction
initial=double
/>
Documentation (element)
Reduction in the number of fertile eggs laid by a mosquito after biting this type of host, relative to an unprotected human. For example a value of 0 will result in no change; a value of 0.2 will reduce the fecundity factor to 0.8 of its initial value; and a value of 1 will set the fecundity factor to 0;
Attributes
Initial proportion increase
initial=double
Units: dimensionless Min: -1 Max: inf
Vector population intervention deployment
→ scenario → interventions → nonHumanHostsModifications → intervention → timed
<timed>
IN THIS ORDER:
| ( <deploy ... /> )+
</timed>
Documentation (element)
List of timed vector population intervention deployment
addNonHumanHosts
→ scenario → interventions → addNonHumanHosts
<addNonHumanHosts>
IN THIS ORDER:
| ( <nonHumanHosts ... /> )+
</addNonHumanHosts>
Documentation (element)
List of intervention that add new non-human hosts that have not been described in the
nonHumanHosts
→ scenario → interventions → addNonHumanHosts → nonHumanHosts
<nonHumanHosts
name=string
>
IN THIS ORDER:
| <description ... />
| [ <timed ... /> ]
</nonHumanHosts>
Documentation (type)
Describes a new non-human hosts that have not been described in the
Attributes
Name of intervention
name=string
Name of intervention (e.g. larviciding, sugar bait).
description
→ scenario → interventions → addNonHumanHosts → nonHumanHosts → description
<description>
IN THIS ORDER:
| ( <anopheles ... /> )+
</description>
anopheles
→ scenario → interventions → addNonHumanHosts → nonHumanHosts → description → anopheles
<anopheles
mosquito=string
>
IN ANY ORDER:
| <mosqRelativeAvailabilityHuman ... />
| <mosqProbBiting ... />
| <mosqProbFindRestSite ... />
| <mosqProbResting ... />
| <hostFecundityFactor ... />
</anopheles>
- mosqRelativeAvailabilityHuman
- mosqProbBiting
- mosqProbFindRestSite
- mosqProbResting
- hostFecundityFactor
Documentation (type)
Descriptions of the effects of new non human hosts with per-species effects.
Attributes
Species/subspecies/variant name
mosquito=string
Name of the species/subspecies/variant.
Relative availability of non-human host (ξ_i)
→ scenario → interventions → addNonHumanHosts → nonHumanHosts → description → anopheles → mosqRelativeAvailabilityHuman
<mosqRelativeAvailabilityHuman
value=double
/>
Documentation (element)
Units: Proportion
Relative availability of the population of non-human hosts of type i to other non-human hosts; the sum of this across all non-human hosts must be 1.
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Probability of mosquito successfully biting host
→ scenario → interventions → addNonHumanHosts → nonHumanHosts → description → anopheles → mosqProbBiting
<mosqProbBiting
value=double
/>
Documentation (element)
Units: Proportion
Probability of mosquito successfully biting host
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Probability that the mosquito escapes host and finds a resting place after biting
→ scenario → interventions → addNonHumanHosts → nonHumanHosts → description → anopheles → mosqProbFindRestSite
<mosqProbFindRestSite
value=double
/>
Documentation (element)
Units: Proportion
Probability that the mosquito escapes host and finds a resting place after biting
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Probability of mosquito successfully resting after finding a resting site
→ scenario → interventions → addNonHumanHosts → nonHumanHosts → description → anopheles → mosqProbResting
<mosqProbResting
value=double
/>
Documentation (element)
Units: Proportion
Probability of mosquito successfully resting after finding a resting site
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Probability of mosquito successfully resting after finding a resting site
→ scenario → interventions → addNonHumanHosts → nonHumanHosts → description → anopheles → hostFecundityFactor
<hostFecundityFactor
value=double
/>
Documentation (element)
Units: Proportion
Multiplicative factor for the number of fertile eggs laid by a mosquito after biting this type of host, relative to an unprotected human.
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Vector trap intervention deployment
→ scenario → interventions → addNonHumanHosts → nonHumanHosts → timed
<timed>
IN THIS ORDER:
| ( <deploy ... /> )*
</timed>
Documentation (element)
List of timed vector trap intervention deployment
deploy
→ scenario → interventions → addNonHumanHosts → nonHumanHosts → timed → deploy
<deploy
time=string
lifespan=string
/>
Attributes
Time
time=string
Units: User defined (defauls to steps) Min: 0
Time at which this deployment occurs. See doc on intervention period and on monitoring/startDate for details of how times work. Can be specified in steps, days, years, or as a date (examples: 15t, 75d, 0.2y, 2000-03-16).
Lifespan
lifespan=string
Units: Steps or Days or Years
Life of the trap until replaced or removed, e.g. "73t" or "1y". After this time period, these traps will be removed from the simulation. New deployments do not automatically remove old traps. Existing traps cannot be refurbished in the model. It may make sense to make the end-of-life coincide with a new deployment.
Human-specific interventions
→ scenario → interventions → human
<human>
IN THIS ORDER:
| ( <component ... /> )+
| ( <deployment ... /> )*
</human>
Documentation (element)
Encapsulates all interventions whose effects are specific to the human host: any interventions where target humans may be selected via population-coverage, age limits and sub-population membership.
Component
→ scenario → interventions → human → component
<component
id=string
[ name=string ]
>
IN THIS ORDER:
| EXACTLY ONE OF:
| | <screen ... />
| | <treatSimple ... />
| | <treatPKPD ... />
| | <decisionTree ... />
| | <PEV ... />
| | <BSV ... />
| | <TBV ... />
| | <ITN ... />
| | <IRS ... />
| | <GVI ... />
| | [ <recruitmentOnly ... /> ]
| | <clearImmunity ... />
| [ <subPopRemoval ... /> ]
</component>
- screen
- treatSimple
- treatPKPD
- decisionTree
- PEV
- BSV
- TBV
- ITN
- IRS
- GVI
- recruitmentOnly
- clearImmunity
- subPopRemoval
Documentation (element)
A parameterisation of an effect achieved by one component of an intervention. (An intervention is described as the effects of a set of components plus deployments of those components. This describes the components individually, not deployments or which components comprise an intervention.)
Each element describes one component: its effects, decay of the(se) effect(s), and related stuff (e.g. description of indirect decay and of usage levels).
Different interventions can deploy the same component to the same perso. In most cases this will just deploy a fresh instance (e.g. a new bed net will replace the old (nobody uses multiple bed nets), or a new drug dose will act on top of previous doses, or in the case of a vaccine, effect depends on the total number of previous inoculations (including from other interventions).
Where multiple components of the same type (but with different ids) are deployed (whether within a single intervention or by multiple interventions), they act independently (e.g. two bed nets deployed to a single host would act to reduce attractiveness or survival of mosquitoes biting that host twice — this may be useful to simulate some novel vector intervention since the two nets may have separate parameters).
Attributes
Component identifier
id=string
A short name or code identifying the intervention component (used to refer to this component when describing an intervention). Also the id of the sub-population defined as those hosts who have received this intervention and who haven't subsequently been removed from the sub-population.
Name of component
name=string
An informal name/description for the component
screen
→ scenario → interventions → human → component → screen
<screen
diagnostic=string
>
IN THIS ORDER:
| ( <positive ... /> )*
| ( <negative ... /> )*
</screen>
Documentation (type)
This can be combined with MDA to achieve mass screen and treat (MSAT) or other types of mass screening intervention.
When deployed to a host, this simulates a test of patent malaria (microscopy, RDT or some such), then triggers deployment of whichever intervention components are configured (deployments for both positive and negative test outcomes can be configured).
The use of the screening itself is reported (if enabled), but not the outcome. Deployment of interventions triggered by the screening may be reported, however.
Attributes
Name of diagnostic
diagnostic=string
Name of a parameterised diagnostic (see scenario/diagnostics).
positive
→ scenario → interventions → human → component → screen → positive
<positive
id=string
/>
Documentation (type)
The list of components deployed to eligible humans.
Attributes
Identifier
id=string
The identifier (short name) of a component.
negative
→ scenario → interventions → human → component → screen → negative
<negative
id=string
/>
Documentation (type)
The list of components deployed to eligible humans.
Attributes
Identifier
id=string
The identifier (short name) of a component.
treatSimple
→ scenario → interventions → human → component → treatSimple
<treatSimple
durationLiver=string
durationBlood=string
/>
Documentation (type)
Simple treatment model, targetting liver- and/or blood-stage infections. This is all-or-nothing treatment which, when deploymed, completely clears all infections of the targetted stages. This makes it unsuitable for modeling resistance, but suitable for use with simple infection models.
Infections are considered liver-stage when less than five days old and blood-stage after that. Effects are described independently for the two stages.
Attributes
Length of liver-stage effect
durationLiver=string
Units: User defined
Controls action on liver-stage infections. 0 means no action, -1 step is a compatibility option to act like treatment before schema version 32 (which removed infections retrospectively), 1 step or any duration which equals some whole number of steps n>0 means to clear all liver-stage infections found on the next 1 or n steps. Note on -1 compatibility option: the main difference to 1 step (clearing on the next timestep) is that parasite densities will be reduced immediately, and thus from the point of view of surveys and mass screen and treat interventions a peak in density which is immediately treated through case management will not be seen. Can be specified in steps (e.g. 1t, -1t) or days (e.g. 5d).
Length of blood-stage effect
durationBlood=string
Units: User defined
Controls action on blood-stage infections. 0 means no action, -1 step is a compatibility option to act like treatment before schema version 32 (which removed infections retrospectively), 1 step or any duration which equals some whole number of steps n>0 means to clear all blood-stage infections found on the next 1 or n steps. Note on -1 compatibility option: the main difference to 1 step (clearing on the next timestep) is that parasite densities will be reduced immediately, and thus from the point of view of surveys and mass screen and treat interventions a peak in density which is immediately treated through case management will not be seen. Can be specified in steps (e.g. 1t, -1t) or days (e.g. 5d).
treatPKPD
→ scenario → interventions → human → component → treatPKPD
<treatPKPD
schedule=string
dosage=string
[ delay_h=double ] DEFAULT VALUE 0
/>
Documentation (type)
A command to administer drugs according to a given schedule and dosage table, optionally with a delay.
Attributes
Name of treatment schedule
schedule=string
The name of a schedule to use for treatment.
Name of dosage table
dosage=string
The name of a dosage table to use for treatment.
Delay (hours)
delay_h=double
Default value: 0
Optionally, this can be given to delay the start of treatment by a given number of hours. If not specified, treatment is not delayed. If a delay is given, all medications within the treatment schedule used are delayed by this number of hours.
decisionTree
→ scenario → interventions → human → component → decisionTree
<decisionTree
[ name=string ]
>
EXACTLY ONE OF:
| <multiple ... />
| <caseType ... />
| <diagnostic ... />
| <random ... />
| <age ... />
| <noTreatment ... />
| <treatFailure ... />
| ( <treatPKPD ... /> )+
| <treatSimple ... />
| ( <deploy ... /> )+
</decisionTree>
Documentation (type)
Describes how "decisions" are made, both probabilistically and deterministically, and what actions are carried out.
Quantities may also be reported as a side effect of decisions made in the tree, for example the number of diagnostics used.
Attributes
Name
name=string
An optional piece of documentation attached to this node.
Vaccines
→ scenario → interventions → human → component → PEV
<PEV>
IN THIS ORDER:
| <decay ... />
| <efficacyB ... />
| ( <initialEfficacy ... /> )+
</PEV>
Documentation (element)
Pre-erythrocytic vaccine (PEV): prevents a proportion of infections from commencing.
Documentation (type)
Description of a vaccine's effect
Decay of effect
→ scenario → interventions → human → component → PEV → decay
<decay
function=("constant" or "step" or "linear" or "exponential" or "weibull" or "hill" or "smooth-compact")
[ L=string ]
[ k=double ] DEFAULT VALUE 1.0
[ CV=double ] DEFAULT VALUE 0
/>
Documentation (element)
Specification of decay of efficacy. Documentation: see DecayFunction type or https://github.com/SwissTPH/openmalaria/wiki/ModelDecayFunctions
Documentation (type)
Specification of decay or survival of a parameter.
Attributes
function
function=("constant" or "step" or "linear" or "exponential" or "weibull" or "hill" or "smooth-compact")
Units: None Min: 0 Max: 1
Determines which decay function to use. Available decay functions, for age t in years: constant: 1 step: 1 for t less than L, otherwise 0 linear: 1 - t/L for t less than L, otherwise 0 exponential: exp( - t/L * log(2) ) weibull: exp( -(t/L)^k * log(2) ) hill: 1 / (1 + (t/L)^k) smooth-compact: exp( k - k / (1 - (t/L)^2) ) for t less than L, otherwise 0
L
L=string
Units: User-defined (defaults to years) Min: 0
(Time) scale parameter of distribution: this is either the age of complete decay (smooth-compact, step and linear functions) or the age at which the parameter has decayed to half its original value (exponential, weibull and hill). Not used when function="constant" (i.e. no decay). This value can be specified in years, days or steps (e.g. 2y, 180d or 100t). When the unit is not specified years are assumed. The value is used without rounding except when sampling an age of decay, when the rounding happens as late as possible.
k
k=double
Units: none Min: 0
Default value: 1.0
Shape parameter of distribution. If not specified, default value of 1 is used. Meaning depends on function; not used in some cases.
Coefficient of Variation
CV=double
Min: 0
Default value: 0
If CV is non-zero, heterogeneity of decay is introduced via a random variable sampled from the log-normal distribution. This distribution is parameterised with mean=1 and CV as given. The effective age of decay is the real age multiplied by this variable (for decay functions with a half-life, this is equivalent to dividing the half-life by the variable).
Variance parameter for vaccine efficacy
→ scenario → interventions → human → component → PEV → efficacyB
<efficacyB
value=double
/>
Documentation (element)
Units: Positive real Min: 0.001 Max: 1.00E+06
Measure of variation in vaccine efficacy: efficacy is sampled from a beta distribution with efficacyB its beta parameter and its alpha parameter fixed such that the mean is that given by initialEfficacy.
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Initial mean efficacy
→ scenario → interventions → human → component → PEV → initialEfficacy
<initialEfficacy
value=double
/>
Documentation (element)
Units: dimensionless Min: 0 Max: 1
Mean efficacy values before decay (see efficacyB and decay parameter descriptions for sampling and decay). The i-th value in this list is used for the efficacy of the vaccine after the i-th dose. Where more doses are given than there are values in this list, the last value is repeated.
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Vaccines
→ scenario → interventions → human → component → BSV
<BSV>
IN THIS ORDER:
| <decay ... />
| <efficacyB ... />
| ( <initialEfficacy ... /> )+
</BSV>
Documentation (element)
Blood-stage vaccine (BSV): acts as a killing factor on blood-stage parasites. Exact action depends on the within host model.
Documentation (type)
Description of a vaccine's effect
Vaccines
→ scenario → interventions → human → component → TBV
<TBV>
IN THIS ORDER:
| <decay ... />
| <efficacyB ... />
| ( <initialEfficacy ... /> )+
</TBV>
Documentation (element)
Transmission-blocking vaccine (TBV): one minus this scales the probability of transmission to mosquitoes
Documentation (type)
Description of a vaccine's effect
Bed nets
→ scenario → interventions → human → component → ITN
<ITN>
IN THIS ORDER:
| [ <usage ... /> ]
| <holeRate ... />
| <ripRate ... />
| <ripFactor ... />
| <initialInsecticide ... />
| <insecticideDecay ... />
| <attritionOfNets ... />
| ( <anophelesParams ... /> )+
</ITN>
- usage
- holeRate
- ripRate
- ripFactor
- initialInsecticide
- insecticideDecay
- attritionOfNets
- anophelesParams
Documentation (element)
Description of bed-net interventions (ITNs, LLINs).
Proportion of time nets are used by humans
→ scenario → interventions → human → component → ITN → usage
<usage
value=double
/>
Documentation (element)
Units: dimensionless Min: 0 Max: 1
Usage of nets by humans, from 0 to 1.
At the moment this is constant across humans and deterministic: relative attractiveness and survival factors are base*(1-usagepropActing) + intervention_factorusage*propActing.
See also "propActing" (proportion of bits for which net acts).
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Rate at which holes are made
→ scenario → interventions → human → component → ITN → holeRate
<holeRate
[ CV=double ]
[ distr=("const" or "lognormal") ] DEFAULT VALUE const
mean=double
/>
Documentation (element)
Units: Holes per annum Min: 0
The rate at which new holes are made in nets.
nHoles(t) = nHoles(t-1) + X where X~Pois(R/T) where T is the number of time-steps per year. R is sampled from log-normal: R ~ log N( log(mean)-sigma²/2, sigma² ) and is covariant with ripRate and insecticideDecay. (To be exact, a single Gaussian sample is taken, adjusted for each sigma then exponentiated.)
Documentation (type)
A parameter with optional log-normal heterogeneity.
The mean value must be specified. Optionally, a distribution ("distr") and coefficient of variation ("CV") may be specified.
Documentation (base type)
A parameter with optional heterogeneity.
The mean cannot be specified (unless this type is extended). Optionally, a distribution ("distr") and coefficient of variation ("CV") may be specified.
Attributes
Coefficient of variation
CV=double
Units: unitless
The (linear) coefficient of variation. This value must be specified when a (non-constant) distribution is used. Note that specifying CV="0" has the same effect as distr="const" and disables sampling of this parameter, even if distr is not "const".
Distribution
distr=("const" or "lognormal")
Default value: const
To allow heterogeneity, a distribution must be specified. Valid options are as follows. "const": no variation or sampling. Specifying distr="const" has the same effect as not specifying distr at all. "lognormal": the parameter is sampled from a log-normal distribution. Note that the "mean" and "CV" values are linear (arithmetic) properties of the distribution and not log-space properties.
mean
mean=double
The (linear) mean value.
Rate at which holes are enlarged
→ scenario → interventions → human → component → ITN → ripRate
<ripRate
[ CV=double ]
[ distr=("const" or "lognormal") ] DEFAULT VALUE const
mean=double
/>
Documentation (element)
Units: Rips per existing hole per annum Min: 0
Each existing hole has a probability of being ripped bigger according to a Poisson process with this rate as (only) parameter.
New rips occur in a net at rate X~Pois(h×R/T) where h is the number of existing holes and T the number of time-steps per year. R is sampled from log-normal: R ~ log N( log(mean)-sigma²/2, sigma² ) and is covariant with holeRate and insecticideDecay. (To be exact, a single Gaussian sample is taken, adjusted for the each and sigma then exponentiated.)
Documentation (type)
A parameter with optional log-normal heterogeneity.
The mean value must be specified. Optionally, a distribution ("distr") and coefficient of variation ("CV") may be specified.
Documentation (base type)
A parameter with optional heterogeneity.
The mean cannot be specified (unless this type is extended). Optionally, a distribution ("distr") and coefficient of variation ("CV") may be specified.
Attributes
Coefficient of variation
CV=double
Units: unitless
The (linear) coefficient of variation. This value must be specified when a (non-constant) distribution is used. Note that specifying CV="0" has the same effect as distr="const" and disables sampling of this parameter, even if distr is not "const".
Distribution
distr=("const" or "lognormal")
Default value: const
To allow heterogeneity, a distribution must be specified. Valid options are as follows. "const": no variation or sampling. Specifying distr="const" has the same effect as not specifying distr at all. "lognormal": the parameter is sampled from a log-normal distribution. Note that the "mean" and "CV" values are linear (arithmetic) properties of the distribution and not log-space properties.
mean
mean=double
The (linear) mean value.
Rip factor
→ scenario → interventions → human → component → ITN → ripFactor
<ripFactor
value=double
/>
Documentation (element)
Units: none Min: 0
This factor expresses how important rips are in increasing the hole.
The hole index of a net is h + F×x where h and x are the total numbers of holes and rips respectively and F is the rip factor.
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Initial insecticide
→ scenario → interventions → human → component → ITN → initialInsecticide
<initialInsecticide
mean=double
[ SD=double ]
[ distr=("const" or "normal") ] DEFAULT VALUE const
/>
Documentation (element)
Units: mg/m² Min: 0
The insecticide concentration of new nets is Gaussian distributed with mean "mu" and a standard deviation "sigma". The standard deviation should be small relative to the mean to avoid negative initial concentration. Any negative values sampled are set to 0.
Documentation (type)
A parameter with optional heterogeneity.
Optionally, a distribution ("distr") and standard of deviation ("SD") may be specified.
Attributes
mean
mean=double
The mean value.
standard deviation
SD=double
The standard deviation of variates.
Distribution
distr=("const" or "normal")
Default value: const
To allow heterogeneity, a distribution must be specified. Valid options are as follows. "const": no variation or sampling. Specifying distr="const" has the same effect as not specifying distr at all. "normal": the parameter is sampled from a normal distribution.
Decay of insecticide
→ scenario → interventions → human → component → ITN → insecticideDecay
<insecticideDecay
function=("constant" or "step" or "linear" or "exponential" or "weibull" or "hill" or "smooth-compact")
[ L=string ]
[ k=double ] DEFAULT VALUE 1.0
[ CV=double ] DEFAULT VALUE 0
/>
Documentation (element)
Units: none
Decay curve for insecticide content of nets. Documentation: see DecayFunction type or https://github.com/SwissTPH/openmalaria/wiki/ModelDecayFunctions
The distribution of decay rates over nets is covariant with the distribution of ripRate and holeRate over nets. This distribution is generated by taking one sample per net from a Gaussian distribution with mean 0 and standard deviation 1. For each variable, the sample is multiplied by the respective sigma and a constant added such that, once exponentiated, the mean of the variable over nets is 1. The variable is then exponentiated and multiplied by the required mean rate for the respective variable.
Documentation (type)
Specification of decay or survival of a parameter.
Attributes
function
function=("constant" or "step" or "linear" or "exponential" or "weibull" or "hill" or "smooth-compact")
Units: None Min: 0 Max: 1
Determines which decay function to use. Available decay functions, for age t in years: constant: 1 step: 1 for t less than L, otherwise 0 linear: 1 - t/L for t less than L, otherwise 0 exponential: exp( - t/L * log(2) ) weibull: exp( -(t/L)^k * log(2) ) hill: 1 / (1 + (t/L)^k) smooth-compact: exp( k - k / (1 - (t/L)^2) ) for t less than L, otherwise 0
L
L=string
Units: User-defined (defaults to years) Min: 0
(Time) scale parameter of distribution: this is either the age of complete decay (smooth-compact, step and linear functions) or the age at which the parameter has decayed to half its original value (exponential, weibull and hill). Not used when function="constant" (i.e. no decay). This value can be specified in years, days or steps (e.g. 2y, 180d or 100t). When the unit is not specified years are assumed. The value is used without rounding except when sampling an age of decay, when the rounding happens as late as possible.
k
k=double
Units: none Min: 0
Default value: 1.0
Shape parameter of distribution. If not specified, default value of 1 is used. Meaning depends on function; not used in some cases.
Coefficient of Variation
CV=double
Min: 0
Default value: 0
If CV is non-zero, heterogeneity of decay is introduced via a random variable sampled from the log-normal distribution. This distribution is parameterised with mean=1 and CV as given. The effective age of decay is the real age multiplied by this variable (for decay functions with a half-life, this is equivalent to dividing the half-life by the variable).
Attrition of nets
→ scenario → interventions → human → component → ITN → attritionOfNets
<attritionOfNets
function=("constant" or "step" or "linear" or "exponential" or "weibull" or "hill" or "smooth-compact")
[ L=string ]
[ k=double ] DEFAULT VALUE 1.0
[ CV=double ] DEFAULT VALUE 0
/>
Documentation (element)
Units: dimensionless
Specifies the rate at which nets are disposed of over time. Documentation: see DecayFunction type or https://github.com/SwissTPH/openmalaria/wiki/ModelDecayFunctions
In the current model, nets are disposed of randomly (no correlation with state of decay) such that the chance of each net surviving until age t is the value of this decay function at time t. Equivalently (where a large number of nets are distributed at the same time), the proportion of nets remaining in use should match this decay function over time.
Humans are removed from the intervention component's sub-population on disposal (attrition) of their nets. Currently this event is not reported.
Documentation (type)
Specification of decay or survival of a parameter.
Attributes
function
function=("constant" or "step" or "linear" or "exponential" or "weibull" or "hill" or "smooth-compact")
Units: None Min: 0 Max: 1
Determines which decay function to use. Available decay functions, for age t in years: constant: 1 step: 1 for t less than L, otherwise 0 linear: 1 - t/L for t less than L, otherwise 0 exponential: exp( - t/L * log(2) ) weibull: exp( -(t/L)^k * log(2) ) hill: 1 / (1 + (t/L)^k) smooth-compact: exp( k - k / (1 - (t/L)^2) ) for t less than L, otherwise 0
L
L=string
Units: User-defined (defaults to years) Min: 0
(Time) scale parameter of distribution: this is either the age of complete decay (smooth-compact, step and linear functions) or the age at which the parameter has decayed to half its original value (exponential, weibull and hill). Not used when function="constant" (i.e. no decay). This value can be specified in years, days or steps (e.g. 2y, 180d or 100t). When the unit is not specified years are assumed. The value is used without rounding except when sampling an age of decay, when the rounding happens as late as possible.
k
k=double
Units: none Min: 0
Default value: 1.0
Shape parameter of distribution. If not specified, default value of 1 is used. Meaning depends on function; not used in some cases.
Coefficient of Variation
CV=double
Min: 0
Default value: 0
If CV is non-zero, heterogeneity of decay is introduced via a random variable sampled from the log-normal distribution. This distribution is parameterised with mean=1 and CV as given. The effective age of decay is the real age multiplied by this variable (for decay functions with a half-life, this is equivalent to dividing the half-life by the variable).
anophelesParams
→ scenario → interventions → human → component → ITN → anophelesParams
<anophelesParams
mosquito=string
[ propActive=double ] DEFAULT VALUE 1
>
IN THIS ORDER:
| [ <holeIndexMax ... /> ]
| EXACTLY ONE OF:
| | <deterrency ... />
| | <twoStageDeterrency ... />
| EXACTLY ONE OF:
| | <preprandialKillingEffect ... />
| | <preprandialKillingEffectLogit ... />
| EXACTLY ONE OF:
| | <postprandialKillingEffect ... />
| | <postprandialKillingEffectLogit ... />
| EXACTLY ONE OF:
| | [ <fecundityReduction ... /> ]
| | [ <fecundityReductionLogit ... /> ]
</anophelesParams>
- holeIndexMax
- deterrency
- twoStageDeterrency
- preprandialKillingEffect
- preprandialKillingEffectLogit
- postprandialKillingEffect
- postprandialKillingEffectLogit
- fecundityReduction
- fecundityReductionLogit
Attributes
Mosquito species
mosquito=string
Name of the affected anopheles-mosquito species.
Proportion of bites for which net acts
propActive=double
Units: dimensionless Min: 0 Max: 1
Default value: 1
Deprecated: propActive can still be used but its value must be set to either 0 or 1. Any other value will result in an error at initialization. The proportion of bites, when nets are in use, for which the net has any action whatsoever on the mosquito. At the moment this is constant across humans and deterministic: relative attractiveness and survival factors are base*(1-usagepropActing) + intervention_factorusage*propActing. See also "usage" (proportion of time nets are used by humans).
maximum of holed surface area that has an effect (comparable to no net)
→ scenario → interventions → human → component → ITN → anophelesParams → holeIndexMax
<holeIndexMax
value=double
/>
Documentation (element)
Units: in same unit as holeIndex
Used by logit attacking and killing models only, holeIndexMax is a user defined maximum hole index (typically, the total surface area of a net).
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Relative attractiveness
→ scenario → interventions → human → component → ITN → anophelesParams → deterrency
<deterrency
insecticideFactor=double
insecticideScalingFactor=double
holeFactor=double
interactionFactor=double
holeScalingFactor=double
/>
Documentation (element)
Units: dimensionless Min: 0 Max: 1
Effect of net on attractiveness of humans to mosquitoes relative to an unprotected adult human. Parameterisations should take into account that mosquitoes do not always bite indoors.
Attractiveness of the human is multiplied by exp(log(H)×h + log(P)×p + log(I)×h×p where H, P and I are the hole, insecticide and interaction factors respectively, h=exp(-holeIndex×holeScalingFactor) and p=1−exp(-insecticideContent×insecticideScalingFactor).
Attributes
Insecticide factor
insecticideFactor=double
Units: none Max: 1
Value expected to be at least 0. Negative values are not necessarily invalid, but allow nets to increase transmission.
Insecticide scaling factor
insecticideScalingFactor=double
Units: none Min: 0
Hole factor
holeFactor=double
Units: none Max: 1
Value expected to be at least 0. Negative values are not necessarily invalid, but allow nets to increase transmission.
Interaction factor
interactionFactor=double
Units: none Max: 1
holeFactor + insecticideFactor + interactionFactor must not be greater than 1, and is expected to be at least 0. A negative value is not necessarily invalid, but allows nets to increase transmission.
Hole scaling factor
holeScalingFactor=double
Units: none Min: 0
Relative attractiveness
→ scenario → interventions → human → component → ITN → anophelesParams → twoStageDeterrency
<twoStageDeterrency>
IN THIS ORDER:
| EXACTLY ONE OF:
| | <entering ... />
| | <enteringLogit ... />
| EXACTLY ONE OF:
| | <attacking ... />
| | <attackingLogit ... />
</twoStageDeterrency>
Documentation (element)
Units: dimensionless
Effect of net on attractiveness of humans to mosquitoes relative to an unprotected adult human. Parameterisations should take into account that mosquitoes do not always bite indoors.
This deterrency model multiplies human attractiveness by pEnt×pAtt.
Deterrency: entering
→ scenario → interventions → human → component → ITN → anophelesParams → twoStageDeterrency → entering
<entering
insecticideFactor=double
insecticideScalingFactor=double
/>
Documentation (element)
Units: dimensionless
pEnt represents the relative probability of entering due to ITNs: pEnt = exp(log(P)×p) where P is the insecticide factor and p=1−exp(-insecticideContent×insecticideScalingFactor).
Attributes
Insecticide factor
insecticideFactor=double
Units: none Max: 1
Value expected to be at least 0. Negative values are not necessarily invalid, but allow nets to increase transmission.
Insecticide scaling factor
insecticideScalingFactor=double
Units: none Min: 0
Deterrency: entering (logit model)
→ scenario → interventions → human → component → ITN → anophelesParams → twoStageDeterrency → enteringLogit
<enteringLogit
baseFactor=double
insecticideFactor=double
/>
Documentation (element)
Units: dimensionless
pEnt represents the relative probability of entering due to insecticide in the hut: pEnt = exp(logit.pEnt) / (exp(logit.pEnt) + 1) logit.pEnt = B + P * p where B is the basefactor (without net); P is insecticide factor, and p = log(insecticideContent+1). Without a net, probability of entering a house is pEnt0 = exp(logit.pEnt0) / (exp(logit.pEnt0) + 1) logit.pEnt0 = B Entering of mosquitoes is adjusted via multiplication by pEnt / pEnt0. To keep this in the range [0,1], we (normally) require that pEnt ≤ pEnt0 and thus P ≤ 0 and give a warning if this is not fulfilled.
Attributes
Base factor
baseFactor=double
Units: none
See parent element documentation
Insecticide factor
insecticideFactor=double
Units: none
See parent element documentation
Deterrency: attacking
→ scenario → interventions → human → component → ITN → anophelesParams → twoStageDeterrency → attacking
<attacking
insecticideFactor=double
insecticideScalingFactor=double
holeFactor=double
interactionFactor=double
holeScalingFactor=double
baseFactor=double
/>
Documentation (element)
Units: dimensionless
pAtt represents the relative probability of attacking a human after entering a house due to ITNs (i.e. of feeding/dying vs. flying off): pAtt = B + H×h + P×p + I×h×p where B is the base (without net) probability; H, P and I are the hole, insecticide and interaction factors respectively, h=exp(-holeIndex × holeScalingFactor) and p=1 - exp(-insecticideContent × insecticideScalingFactor).
Attributes
Insecticide factor
insecticideFactor=double
Units: none Max: 1
Value expected to be at least 0. Negative values are not necessarily invalid, but allow nets to increase transmission.
Insecticide scaling factor
insecticideScalingFactor=double
Units: none Min: 0
Hole factor
holeFactor=double
Units: none Max: 1
Value expected to be at least 0. Negative values are not necessarily invalid, but allow nets to increase transmission.
Interaction factor
interactionFactor=double
Units: none Max: 1
holeFactor + insecticideFactor + interactionFactor must not be greater than 1, and is expected to be at least 0. A negative value is not necessarily invalid, but allows nets to increase transmission.
Hole scaling factor
holeScalingFactor=double
Units: none Min: 0
Probability of mosquito death without intervention
baseFactor=double
Units: dimensionless
Deterrency: attacking (logit model)
→ scenario → interventions → human → component → ITN → anophelesParams → twoStageDeterrency → attackingLogit
<attackingLogit
baseFactor=double
insecticideFactor=double
holeFactor=double
interactionFactor=double
/>
Documentation (element)
Units: dimensionless
pAtt represents the relative probability of attacking a human after entering a house due to ITNs (i.e. of feeding/dying vs. flying off): pAtt = exp(logit.pAtt) / (exp(logit.pAtt) + 1) logit.pAtt = B + H×min(h, hMax) + P×p + I×min(h, hMax)×p where B is the base factor (without net); H, P and I are the hole, insecticide and interaction factors respectively, and: h = log(holeIndex + 1) p = log(insecticideContent + 1) Without a net, probability of attacking a human after entering a house is pAtt0 = exp(logit.pAtt0) / (exp(logit.pAtt0) + 1) logit.pAtt0 = B + H×hMax where hMax=log(holeIndexMax + 1) and holeIndexMax is a user defined maximum hole index (typically, the total surface area of a net). Attacking of mosquitoes is adjusted via multiplication by pAtt / pAtt0. This may be larger and smaller than 1 (but will not be negative). By definition (through the logit transformation) pAtt0 > 0.
Attributes
Base factor
baseFactor=double
Units: dimensionless
Logit of the probability (e.g. of death, of entry, of attacking) without intervention.
Insecticide factor
insecticideFactor=double
Units: none
Coefficient of log(insecticide content+1) in a generalized linear model with logit link function.
Hole factor
holeFactor=double
Units: none
Coefficient of log(total holed surface area (in cm2) +1) in a generalized linear model with logit link function.
Interaction factor
interactionFactor=double
Units: none
Coefficient of the interaction term of log(total holed surface area (in cm2) +1) with log(insecticide content+1) in a generalized linear model with logit link function.
Pre-prandial killing effect
→ scenario → interventions → human → component → ITN → anophelesParams → preprandialKillingEffect
<preprandialKillingEffect
insecticideFactor=double
insecticideScalingFactor=double
holeFactor=double
interactionFactor=double
holeScalingFactor=double
baseFactor=double
/>
Documentation (element)
Units: dimensionless Min: 0 Max: 1
Effect of net on survival mosquitoes as they seek to bite a human after choosing that human, relative to the same person not sleeping under a net. Parameterisations should take into account that mosquitoes do not always bite indoors.
Killing proportion is calculated as K = B + H×h + P×p + I×h×p where B is the base (without net) probability of death, H, P and I are the hole, insecticide and interaction factors respectively, h=exp(-holeIndex×holeScalingFactor) and p=1−exp(-insecticideContent×insecticideScalingFactor).
Survival of mosquitoes is adjusted via multiplication by (1−K) / (1−B). To keep this in the range [0,1], we require that B+H ≤ 1, B+P ≤ 1, B+H+P+I ≤ 1, H ≥ 0, P ≥ 0 and H+P+I ≥ 0.
Attributes
Insecticide factor
insecticideFactor=double
Units: none Max: 1
Value expected to be at least 0. Negative values are not necessarily invalid, but allow nets to increase transmission.
Insecticide scaling factor
insecticideScalingFactor=double
Units: none Min: 0
Hole factor
holeFactor=double
Units: none Max: 1
Value expected to be at least 0. Negative values are not necessarily invalid, but allow nets to increase transmission.
Interaction factor
interactionFactor=double
Units: none Max: 1
holeFactor + insecticideFactor + interactionFactor must not be greater than 1, and is expected to be at least 0. A negative value is not necessarily invalid, but allows nets to increase transmission.
Hole scaling factor
holeScalingFactor=double
Units: none Min: 0
Probability of mosquito death without intervention
baseFactor=double
Units: dimensionless
Pre-prandial killing effect (logit)
→ scenario → interventions → human → component → ITN → anophelesParams → preprandialKillingEffectLogit
<preprandialKillingEffectLogit
baseFactor=double
insecticideFactor=double
holeFactor=double
interactionFactor=double
/>
Documentation (element)
Units: dimensionless Min: 0 Max: 1
Effect of net on survival mosquitoes as they seek to bite a human
after choosing that human, relative to the same person not
sleeping under a net.
Killing proportion is calculated as
K=exp(logit.K)/(exp(logit.K)+1)
logit.K = B + H×min(h,hMax) + P×p + I×min(h,hMax)×p
where B is the basefactor (without net),
H, P and I are the hole, insecticide and interaction factors
respectively, h=log(holeIndex+1) and
p=log(insecticideContent+1).
Without a net, the killing proportion
K0=exp(logit.K0)/(exp(logit.K0)+1)
logit.K0 = B + H×hMax
where hMax=log(holeIndexMax+1) and holeIndexMax is a user defined maximum hole index (typically, the total surface area of a net).
Survival of mosquitoes is adjusted via multiplication by (1−K) / (1−K0).
To keep this in the range [0,1], we require that K ≥ K0. We enforce that P ≥ 0 (It would not make sense biologically if P were negative) and P+I*hMax ≥ 0 and H ≤ 0 and holeIndex ≤ holeIndexMax and give a warning if these conditions are not fulfilled.
Attributes
Base factor
baseFactor=double
Units: dimensionless
Logit of the probability (e.g. of death, of entry, of attacking) without intervention.
Insecticide factor
insecticideFactor=double
Units: none
Coefficient of log(insecticide content+1) in a generalized linear model with logit link function.
Hole factor
holeFactor=double
Units: none
Coefficient of log(total holed surface area (in cm2) +1) in a generalized linear model with logit link function.
Interaction factor
interactionFactor=double
Units: none
Coefficient of the interaction term of log(total holed surface area (in cm2) +1) with log(insecticide content+1) in a generalized linear model with logit link function.
Post-prandial killing effect
→ scenario → interventions → human → component → ITN → anophelesParams → postprandialKillingEffect
<postprandialKillingEffect
insecticideFactor=double
insecticideScalingFactor=double
holeFactor=double
interactionFactor=double
holeScalingFactor=double
baseFactor=double
/>
Documentation (element)
Units: dimensionless Min: 0 Max: 1
Effect of net on survival mosquitoes as they seek to escape from a human host and rest after a blood meal, relative to the same person not sleeping under a net. Parameterisations should take into account that mosquitoes do not always bite indoors.
Killing proportion is calculated as K = B + H×h + P×p + I×h×p where B is the base (without net) probability of death, H, P and I are the hole, insecticide and interaction factors respectively, h=exp(-holeIndex×holeScalingFactor) and p=1−exp(-insecticideContent×insecticideScalingFactor).
Survival of mosquitoes is adjusted via multiplication by (1−K) / (1−B). To keep this in the range [0,1], we require that B+H ≤ 1, B+P ≤ 1, B+H+P+I ≤ 1, H ≥ 0, P ≥ 0 and H+P+I ≥ 0.
Attributes
Insecticide factor
insecticideFactor=double
Units: none Max: 1
Value expected to be at least 0. Negative values are not necessarily invalid, but allow nets to increase transmission.
Insecticide scaling factor
insecticideScalingFactor=double
Units: none Min: 0
Hole factor
holeFactor=double
Units: none Max: 1
Value expected to be at least 0. Negative values are not necessarily invalid, but allow nets to increase transmission.
Interaction factor
interactionFactor=double
Units: none Max: 1
holeFactor + insecticideFactor + interactionFactor must not be greater than 1, and is expected to be at least 0. A negative value is not necessarily invalid, but allows nets to increase transmission.
Hole scaling factor
holeScalingFactor=double
Units: none Min: 0
Probability of mosquito death without intervention
baseFactor=double
Units: dimensionless
Post-prandial killing effect (logit)
→ scenario → interventions → human → component → ITN → anophelesParams → postprandialKillingEffectLogit
<postprandialKillingEffectLogit
baseFactor=double
insecticideFactor=double
holeFactor=double
interactionFactor=double
/>
Documentation (element)
Units: dimensionless Min: 0 Max: 1
Effect of net on survival mosquitoes as they seek to escape from a human host and rest after a blood meal, relative to the same person not sleeping under a net. Killing proportion is calculated as K=exp(logit.K)/(exp(logit.K)+1) logit.K = B + H×min(h,hMax) + P×p + I×min(h,hMax)×p where B is the basefactor (without net), H, P and I are the hole, insecticide and interaction factors respectively, h=log(holeIndex+1) and p=log(insecticideContent+1). Without a net, the killing proportion K0=exp(logit.K0)/(exp(logit.K0)+1) logit.K0 = B + H×hMax where hMax=log(holeIndexMax+1) and holeIndexMax is a user defined maximum hole index (typically, the total surface area of a net). Survival of mosquitoes is adjusted via multiplication by (1−K) / (1−K0). To keep this in the range [0,1], we require that K ≥ K0. We enforce that P ≥ 0 (It would not make sense biologically if P were negative) and P+I*hMax ≥ 0 and H ≤ 0 and holeIndex ≤ holeIndexMax and give a warning if these conditions are not fulfilled.
Attributes
Base factor
baseFactor=double
Units: dimensionless
Logit of the probability (e.g. of death, of entry, of attacking) without intervention.
Insecticide factor
insecticideFactor=double
Units: none
Coefficient of log(insecticide content+1) in a generalized linear model with logit link function.
Hole factor
holeFactor=double
Units: none
Coefficient of log(total holed surface area (in cm2) +1) in a generalized linear model with logit link function.
Interaction factor
interactionFactor=double
Units: none
Coefficient of the interaction term of log(total holed surface area (in cm2) +1) with log(insecticide content+1) in a generalized linear model with logit link function.
Fecundity reduction
→ scenario → interventions → human → component → ITN → anophelesParams → fecundityReduction
<fecundityReduction
insecticideFactor=double
insecticideScalingFactor=double
holeFactor=double
interactionFactor=double
holeScalingFactor=double
baseFactor=double
/>
Documentation (element)
Effect of net on fertility of mosquitoes who survive feeding on a protected human, relative to an unprotected human.
Fertility (number of eggs laid) is multiplied by (1-K) / (1-B), similar to killing effects. This is not allowed to be greater than 1.
Attributes
Insecticide factor
insecticideFactor=double
Units: none Max: 1
Value expected to be at least 0. Negative values are not necessarily invalid, but allow nets to increase transmission.
Insecticide scaling factor
insecticideScalingFactor=double
Units: none Min: 0
Hole factor
holeFactor=double
Units: none Max: 1
Value expected to be at least 0. Negative values are not necessarily invalid, but allow nets to increase transmission.
Interaction factor
interactionFactor=double
Units: none Max: 1
holeFactor + insecticideFactor + interactionFactor must not be greater than 1, and is expected to be at least 0. A negative value is not necessarily invalid, but allows nets to increase transmission.
Hole scaling factor
holeScalingFactor=double
Units: none Min: 0
Probability of mosquito death without intervention
baseFactor=double
Units: dimensionless
Fecundity reduction (logit)
→ scenario → interventions → human → component → ITN → anophelesParams → fecundityReductionLogit
<fecundityReductionLogit
baseFactor=double
insecticideFactor=double
holeFactor=double
interactionFactor=double
/>
Documentation (element)
Effect of net on fertility of mosquitoes who survive feeding on a protected human, relative to an unprotected human.
Fertility (number of eggs laid) is multiplied by (1-K) / (1-K0), similar to killing effects. This is not allowed to be greater than 1.
Attributes
Base factor
baseFactor=double
Units: dimensionless
Logit of the probability (e.g. of death, of entry, of attacking) without intervention.
Insecticide factor
insecticideFactor=double
Units: none
Coefficient of log(insecticide content+1) in a generalized linear model with logit link function.
Hole factor
holeFactor=double
Units: none
Coefficient of log(total holed surface area (in cm2) +1) in a generalized linear model with logit link function.
Interaction factor
interactionFactor=double
Units: none
Coefficient of the interaction term of log(total holed surface area (in cm2) +1) with log(insecticide content+1) in a generalized linear model with logit link function.
Indoor residual spraying
→ scenario → interventions → human → component → IRS
<IRS>
IN THIS ORDER:
| [ <usage ... /> ]
| <initialInsecticide ... />
| <insecticideDecay ... />
| ( <anophelesParams ... /> )+
</IRS>
Documentation (element)
Description of indoor residual spraying interventions.
Documentation (type)
Description of effect for the more complex and probably more realistic Briet model: IRS has three effects, whos strength is calculated as a function of surviving insecticide content.
Proportion of Indoor residual spraying (IRS) interventions
→ scenario → interventions → human → component → IRS → usage
<usage
value=double
/>
Documentation (element)
Units: dimensionless Min: 0 Max: 1
Usage of Indoor residual spraying (IRS) interventions, from 0 to 1.
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Initial insecticide
→ scenario → interventions → human → component → IRS → initialInsecticide
<initialInsecticide
mean=double
[ SD=double ]
[ distr=("const" or "normal") ] DEFAULT VALUE const
/>
Documentation (element)
Units: μg/cm² Min: 0
The insecticide concentration of IRS (at time of spraying) is Gaussian distributed with mean "mu" and a standard deviation "sigma". The standard deviation should be small relative to the mean to avoid negative initial concentration. Any negative values sampled are set to 0.
Documentation (type)
A parameter with optional heterogeneity.
Optionally, a distribution ("distr") and standard of deviation ("SD") may be specified.
Attributes
mean
mean=double
The mean value.
standard deviation
SD=double
The standard deviation of variates.
Distribution
distr=("const" or "normal")
Default value: const
To allow heterogeneity, a distribution must be specified. Valid options are as follows. "const": no variation or sampling. Specifying distr="const" has the same effect as not specifying distr at all. "normal": the parameter is sampled from a normal distribution.
Decay of insecticide
→ scenario → interventions → human → component → IRS → insecticideDecay
<insecticideDecay
function=("constant" or "step" or "linear" or "exponential" or "weibull" or "hill" or "smooth-compact")
[ L=string ]
[ k=double ] DEFAULT VALUE 1.0
[ CV=double ] DEFAULT VALUE 0
/>
Documentation (element)
Units: none
Decay curve for insecticide content of IRS. Documentation: see DecayFunction type or https://github.com/SwissTPH/openmalaria/wiki/ModelDecayFunctions
Documentation (type)
Specification of decay or survival of a parameter.
Attributes
function
function=("constant" or "step" or "linear" or "exponential" or "weibull" or "hill" or "smooth-compact")
Units: None Min: 0 Max: 1
Determines which decay function to use. Available decay functions, for age t in years: constant: 1 step: 1 for t less than L, otherwise 0 linear: 1 - t/L for t less than L, otherwise 0 exponential: exp( - t/L * log(2) ) weibull: exp( -(t/L)^k * log(2) ) hill: 1 / (1 + (t/L)^k) smooth-compact: exp( k - k / (1 - (t/L)^2) ) for t less than L, otherwise 0
L
L=string
Units: User-defined (defaults to years) Min: 0
(Time) scale parameter of distribution: this is either the age of complete decay (smooth-compact, step and linear functions) or the age at which the parameter has decayed to half its original value (exponential, weibull and hill). Not used when function="constant" (i.e. no decay). This value can be specified in years, days or steps (e.g. 2y, 180d or 100t). When the unit is not specified years are assumed. The value is used without rounding except when sampling an age of decay, when the rounding happens as late as possible.
k
k=double
Units: none Min: 0
Default value: 1.0
Shape parameter of distribution. If not specified, default value of 1 is used. Meaning depends on function; not used in some cases.
Coefficient of Variation
CV=double
Min: 0
Default value: 0
If CV is non-zero, heterogeneity of decay is introduced via a random variable sampled from the log-normal distribution. This distribution is parameterised with mean=1 and CV as given. The effective age of decay is the real age multiplied by this variable (for decay functions with a half-life, this is equivalent to dividing the half-life by the variable).
Per-mosquito species parameters
→ scenario → interventions → human → component → IRS → anophelesParams
<anophelesParams
mosquito=string
[ propActive=double ] DEFAULT VALUE 1
>
IN THIS ORDER:
| <deterrency ... />
| <preprandialKillingEffect ... />
| <postprandialKillingEffect ... />
| [ <fecundityReduction ... /> ]
</anophelesParams>
Attributes
Mosquito species
mosquito=string
Name of the affected anopheles-mosquito species.
Proportion of bites for which IRS acts
propActive=double
Units: dimensionless Min: 0 Max: 1
Default value: 1
The proportion of bites for which the IRS has any action whatsoever on the mosquito. At the moment this is constant across humans and deterministic: relative attractiveness and survival factors are base*(1-propActing) + intervention_factor*propActing.
Relative attractiveness
→ scenario → interventions → human → component → IRS → anophelesParams → deterrency
<deterrency
insecticideFactor=double
insecticideScalingFactor=double
/>
Documentation (element)
Units: dimensionless Min: 0 Max: 1
Effect of IRS on attractiveness of humans to mosquitoes relative to an unprotected adult human. Parameterisations should take into account that mosquitoes do not always bite indoors.
Attractiveness of the human is multiplied by exp(P×log(p)) where P is the insecticide factor, p=1−exp(-insecticideContent×insecticideScalingFactor).
Attributes
Insecticide factor
insecticideFactor=double
Units: none Max: 1
Value expected to be at least 0. Negative values are not necessarily invalid, but allow nets to increase transmission.
Insecticide scaling factor
insecticideScalingFactor=double
Units: none Min: 0
Pre-prandial killing effect
→ scenario → interventions → human → component → IRS → anophelesParams → preprandialKillingEffect
<preprandialKillingEffect
insecticideFactor=double
insecticideScalingFactor=double
baseFactor=double
/>
Documentation (element)
Units: dimensionless Min: 0 Max: 1
Effect of IRS on survival mosquitoes as they seek to bite a human after choosing that human, relative to the same person not protected by IRS. Parameterisations should take into account that mosquitoes do not always bite indoors. This parameter has been added since some data shows IRS to have a preprandial killing effect.
Killing proportion is calculated as K = B + P×p where B is the base (without protection) probability of death, and P is the insecticide factor, p=1−exp(-insecticideContent×insecticideScalingFactor).
Survival of mosquitoes is adjusted via multiplication by (1−K) / (1−B). To keep this in the range [0,1], we require that B+P ≤ 1 and P ≥ 0.
Attributes
Insecticide factor
insecticideFactor=double
Units: none Max: 1
Value expected to be at least 0. Negative values are not necessarily invalid, but allow nets to increase transmission.
Insecticide scaling factor
insecticideScalingFactor=double
Units: none Min: 0
Probability of mosquito death without intervention
baseFactor=double
Units: dimensionless
Post-prandial killing effect
→ scenario → interventions → human → component → IRS → anophelesParams → postprandialKillingEffect
<postprandialKillingEffect
insecticideFactor=double
insecticideScalingFactor=double
baseFactor=double
/>
Documentation (element)
Units: dimensionless Min: 0 Max: 1
Effect of IRS on survival mosquitoes as they seek to escape from a human host and rest after a blood meal, relative to the same person not protected by IRS. Parameterisations should take into account that mosquitoes do not always bite indoors.
Killing proportion is calculated as K = B + P×p where B is the base (without protection) probability of death, and P is the insecticide factor, p=1−exp(-insecticideContent×insecticideScalingFactor).
Survival of mosquitoes is adjusted via multiplication by (1−K) / (1−B). To keep this in the range [0,1], we require that B+P ≤ 1 and P ≥ 0.
Attributes
Insecticide factor
insecticideFactor=double
Units: none Max: 1
Value expected to be at least 0. Negative values are not necessarily invalid, but allow nets to increase transmission.
Insecticide scaling factor
insecticideScalingFactor=double
Units: none Min: 0
Probability of mosquito death without intervention
baseFactor=double
Units: dimensionless
Fecundity reduction
→ scenario → interventions → human → component → IRS → anophelesParams → fecundityReduction
<fecundityReduction
insecticideFactor=double
insecticideScalingFactor=double
baseFactor=double
/>
Documentation (element)
Effect of IRS on fertility mosquitoes after successfully feeding on a human host, relative to an unproteced human. Parameterisations should take into account that mosquitoes do not always bite indoors.
First, we calculate K = B + P×p where B is the base (without protection) probability of death, and P is the insecticide factor, p=1−exp(-insecticideContent×insecticideScalingFactor).
Fecundity is multiplied by (1−K) / (1−B). It is not allowed to be greater than 1. To keep this in the range [0,1], we require that B+P ≤ 1 and P ≥ 0.
Attributes
Insecticide factor
insecticideFactor=double
Units: none Max: 1
Value expected to be at least 0. Negative values are not necessarily invalid, but allow nets to increase transmission.
Insecticide scaling factor
insecticideScalingFactor=double
Units: none Min: 0
Probability of mosquito death without intervention
baseFactor=double
Units: dimensionless
Generic vector intervention
→ scenario → interventions → human → component → GVI
<GVI>
IN THIS ORDER:
| [ <usage ... /> ]
| <decay ... />
| ( <anophelesParams ... /> )+
</GVI>
Documentation (element)
Low-level description of intervention effects on vectors (i.e. mosquitoes). Can be used to describe simple ITN or IRS interventions (though more complex models are available for these interventions) or other interventions such as mosquito repellant or ivermectin.
Note that all actions of this intervention component will decay according to a single decay function. If independant decay is wanted, a separate component can be used for each action.
Proportion of generic vector interventions
→ scenario → interventions → human → component → GVI → usage
<usage
value=double
/>
Documentation (element)
Units: dimensionless Min: 0 Max: 1
Usage of Generic vector interventions, from 0 to 1.
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Decay
→ scenario → interventions → human → component → GVI → decay
<decay
function=("constant" or "step" or "linear" or "exponential" or "weibull" or "hill" or "smooth-compact")
[ L=string ]
[ k=double ] DEFAULT VALUE 1.0
[ CV=double ] DEFAULT VALUE 0
/>
Documentation (element)
Description of decay of all intervention effects. Documentation: see DecayFunction type or https://github.com/SwissTPH/openmalaria/wiki/ModelDecayFunctions
Documentation (type)
Specification of decay or survival of a parameter.
Attributes
function
function=("constant" or "step" or "linear" or "exponential" or "weibull" or "hill" or "smooth-compact")
Units: None Min: 0 Max: 1
Determines which decay function to use. Available decay functions, for age t in years: constant: 1 step: 1 for t less than L, otherwise 0 linear: 1 - t/L for t less than L, otherwise 0 exponential: exp( - t/L * log(2) ) weibull: exp( -(t/L)^k * log(2) ) hill: 1 / (1 + (t/L)^k) smooth-compact: exp( k - k / (1 - (t/L)^2) ) for t less than L, otherwise 0
L
L=string
Units: User-defined (defaults to years) Min: 0
(Time) scale parameter of distribution: this is either the age of complete decay (smooth-compact, step and linear functions) or the age at which the parameter has decayed to half its original value (exponential, weibull and hill). Not used when function="constant" (i.e. no decay). This value can be specified in years, days or steps (e.g. 2y, 180d or 100t). When the unit is not specified years are assumed. The value is used without rounding except when sampling an age of decay, when the rounding happens as late as possible.
k
k=double
Units: none Min: 0
Default value: 1.0
Shape parameter of distribution. If not specified, default value of 1 is used. Meaning depends on function; not used in some cases.
Coefficient of Variation
CV=double
Min: 0
Default value: 0
If CV is non-zero, heterogeneity of decay is introduced via a random variable sampled from the log-normal distribution. This distribution is parameterised with mean=1 and CV as given. The effective age of decay is the real age multiplied by this variable (for decay functions with a half-life, this is equivalent to dividing the half-life by the variable).
Per-mosquito species parameters
→ scenario → interventions → human → component → GVI → anophelesParams
<anophelesParams
mosquito=string
[ propActive=double ] DEFAULT VALUE 1
>
IN THIS ORDER:
| [ <deterrency ... /> ]
| [ <preprandialKillingEffect ... /> ]
| [ <postprandialKillingEffect ... /> ]
| [ <fecundityReduction ... /> ]
</anophelesParams>
Attributes
Mosquito species
mosquito=string
Name of the affected anopheles-mosquito species.
Proportion of bites for which IRS acts
propActive=double
Units: dimensionless Min: 0 Max: 1
Default value: 1
The proportion of bites for which the IRS has any action whatsoever on the mosquito. At the moment this is constant across humans and deterministic: relative attractiveness and survival factors are base*(1-propActing) + intervention_factor*propActing.
Relative attractiveness
→ scenario → interventions → human → component → GVI → anophelesParams → deterrency
<deterrency
value=double
/>
Documentation (element)
Units: dimensionless Min: 0 Max: 1
Effect of intervention on attractiveness of humans to mosquitoes relative to an unprotected adult human. Parameterisations should take into account that mosquitoes do not always bite indoors.
Attractiveness of the human is multiplied this factor times survival of effect.
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Pre-prandial killing effect
→ scenario → interventions → human → component → GVI → anophelesParams → preprandialKillingEffect
<preprandialKillingEffect
value=double
/>
Documentation (element)
Units: dimensionless Min: 0 Max: 1
Effect of intervention on survival of mosquitoes as they seek to bite a human after choosing that human, relative to the same person not protected by the intervention. Parameterisations should take into account that mosquitoes do not always bite indoors. This parameter has been added since some data shows IRS to have a preprandial killing effect.
Killing proportion is this factor multiplied by survival of effect.
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Post-prandial killing effect
→ scenario → interventions → human → component → GVI → anophelesParams → postprandialKillingEffect
<postprandialKillingEffect
value=double
/>
Documentation (element)
Units: dimensionless Min: 0 Max: 1
Effect of intervention on survival of mosquitoes as they seek to escape from a human host and rest after a blood meal, relative to the same person not protected by the intervention. Parameterisations should take into account that mosquitoes do not always bite indoors.
Killing proportion is this factor multiplied by survival of effect.
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Fecundity reduction effect
→ scenario → interventions → human → component → GVI → anophelesParams → fecundityReduction
<fecundityReduction
value=double
/>
Documentation (element)
Min: 0
Effect of intervention on fertility mosquitoes after successfully feeding on a human host, relative to an unproteced human. Parameterisations should take into account that mosquitoes do not always bite indoors.
Fertility is multiplied by 1 - (fecundityReduction * decay).
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Recruitment only
→ scenario → interventions → human → component → recruitmentOnly
<recruitmentOnly/>
Documentation (element)
Recruitment of a host into a sub-population.
All human-targeting intervention deployments recruit simulated humans into a sub-population which can be used for the purposes of cumulative deployment, deployment only to a sub-population and defining a cohort. This pseudo-intervention can be used to define a sub-population without also deploying some intervention.
Clear Immunity
→ scenario → interventions → human → component → clearImmunity
<clearImmunity/>
Documentation (element)
Removes all exposure-related immunitsy gained over time by hosts without removing infections (or affecting the ability to gain immunity through exposure).
Hypothetical, but potentially useful to simulate scenarios with unprotected humans.
subPopRemoval
→ scenario → interventions → human → component → subPopRemoval
<subPopRemoval
[ onFirstBout=boolean ] DEFAULT VALUE false
[ onFirstTreatment=boolean ] DEFAULT VALUE false
[ onFirstInfection=boolean ] DEFAULT VALUE false
[ afterYears=double ]
/>
Documentation (type)
Each human intervention component corresponds to a sub-population: those who have received or are considered to be protected by the intervention component. Humans automatically become members of this sub-population when receiving an intervention component; this element controls how humans are removed from the sub-population.
ITN attrition also removes humans from sub-populations.
Note that sub-populations do not directly correspond to an intervention's effects: lack of effectiveness does not imply removal from the sub-population (except as explicitly configured here) and removal from the sub-population does not halt an intervention's effects.
Sub-populations may be used to define a cohort, to restrict deployment of other interventions and to use cumulative deployment mode. A sub- population may or may not correspond (roughly) to humans protected by some intervention.
Attributes
Time to first episode only
onFirstBout=boolean
Default value: false
If true, remove individuals from the sub-population at the start of the first episode (start of a clinical bout) since they were recruited into the sub-population. This is intended for cohort studies which measure time to the first episode, using active case detection. Reports delayed due to health-system memory are forced out when this occurs. Note that this can increase the number of uncomplicated cases reported across the entire population; for this reason reports are not forced on recruitment or most removal options. This does not prevent re-recruitment in the case that recruitment settings could conceivably recruit the same individual twice.
Time to first treatment only
onFirstTreatment=boolean
Default value: false
If true, remove individuals from the sub-population when they first seektreatment since they were recruited into the sub-population. This is intended for cohort studies which measure the time to first episode, using passive case detection. Reports delayed due to health-system memory are forced out when this occurs. Note that this can increase the number of uncomplicated cases reported across the entire population; for this reason reports are not forced on recruitment or most removal options. This does not prevent re-recruitment in the case that recruitment settings could conceivably recruit the same individual twice.
Time to first infection only
onFirstInfection=boolean
Default value: false
If true, remove individuals from the sub-population at completion of the first survey in which they present with a patent infection since they were recruited into the sub-population. This intended for cohort studies which measure time to the first infection, using active case detection. Reports delayed due to health-system memory are forced out when this occurs. Note that this can increase the number of uncomplicated cases reported across the entire population; for this reason reports are not forced on recruitment or most removal options. This does not prevent re-recruitment in the case that recruitment settings could conceivably recruit the same individual twice.
Remove from sub-population after
afterYears=double
Units: Years Min: 0
If given, membership to the sub-population of humans who have received this intervention component expires after the given number of years. Note that future deployments renew membership (e.g. if this parameter is 4 years and the intervention is redeployed 3 years from now, expiry happens after 7 years). This provides a crude way of modelling a cohort protected by some intervention. A few interventions provide more detailed ways of modelling expiry of protection. In any case, "expiry of protection" is an abstract concept and does not imply that all protection has ceased, even in the simulator. This may also be useful for cumulative deployment. Minimum duration is zero, which implies the human is effectively never a member of the sub-population; a duration of one timestep implies the human is a member of the sub-population while any futher interventions are deployed on the same time as this human becomes a member and on the next update of the human (including transmission and health system events) but not beyond that. If this attribute is not given, the simulated human is a member until death or some other option triggers removal. Input is rounded to the nearest time step.
Deployment
→ scenario → interventions → human → deployment
<deployment
[ name=string ]
>
IN THIS ORDER:
| ( <component ... /> )+
| ( <condition ... /> )*
| ( <continuous ... /> )*
| ( <timed ... /> )*
</deployment>
Documentation (element)
This element describes deployment of an intervention: which components are deployed, how humans are selected for deployment (via timed or age-based deployment) as well as a few additional restrictions (e.g. vaccine dosing restrictions).
All components deployed by this intervention are deployed to the same people (each timed or continuous deployment selects recipients and then gives each recipient all components of the intervention).
Attributes
Intervention name
name=string
Name of intervention
component
→ scenario → interventions → human → deployment → component
<component
id=string
/>
Documentation (type)
The list of components deployed to eligible humans.
Attributes
Identifier
id=string
The identifier (short name) of a component.
Condition
→ scenario → interventions → human → deployment → condition
<condition
measure=string
[ minValue=double ]
[ maxValue=double ]
initialState=boolean
/>
Documentation (element)
If conditions are specified, deployment of this intervention will only go ahead if all specified conditions are true. Condition statements are evaluated only during surveys, so deployment is enabled or disabled depending on the results of the most recent survey. So called unreported surveys can be used to reevaluate conditions without increasing granularity of output.
Conditions are evaluated for the whole population, not for individual age-groups or cohorts.
This affects all types of deployment.
Attributes
Measure
measure=string
The monitoring measure to test. Not all measures are available for use.
Minimum value
minValue=double
Minimum value. If specified, the measured variable must be greater than or equal to this value for the condition to be satisfied.
Maximum value
maxValue=double
Maximum value. If specified, the measured variable must be less than or equal to this value for the condition to be satisfied.
Initial state
initialState=boolean
Whether this condition is considered true or false before updated by a survey.
Age-based (continuous) deployment
→ scenario → interventions → human → deployment → continuous
<continuous>
IN THIS ORDER:
| [ <restrictToSubPop ... /> ]
| ( <deploy ... /> )+
</continuous>
Documentation (element)
List of ages at which deployment takes place (through EPI, post-natal and school-based programmes, etc.).
A sub-population restriction may be added as a property of the list of continuous deployments.
restrictToSubPop
→ scenario → interventions → human → deployment → continuous → restrictToSubPop
<restrictToSubPop
id=string
[ complement=boolean ] DEFAULT VALUE false
/>
Documentation (type)
If this element is specified, deployment is restricted to some sub-population (specified via the "id" attribute); otherwise the target population is the entire simulated population. Either way, other deployment restrictions (age, time, number of vaccine doeses) still apply.
Attributes
Sub-population identifier
id=string
The identifier (short name) of the sub-population (i.e. the "id" of some intervention component). Also see the "complement" attribute.
Complement
complement=boolean
Default value: false
If this is not specified or is false, deployment is restricted to the sub-population of people protected by the intervention component who's id is given. If complement is set to true, deployment is instead restricted to the complement of that sub-population, i.e. to those
deploy
→ scenario → interventions → human → deployment → continuous → deploy
<deploy
coverage=double
[ vaccMinPrevDoses=int ]
[ vaccMaxCumDoses=int ]
targetAgeYrs=double
[ begin=string ]
[ end=string ]
/>
Attributes
Coverage
coverage=double
Units: dimensionless Min: 0 Max: 1
Proportion of otherwise eligible individuals who will receive this deployment.
Vaccine min previous doses
vaccMinPrevDoses=int
Units: inoculations Min: 0
Applies to vaccines only: vaccine doses are only deployed by this deployment if the previous number of doses (for the component deployed) is at least this number. For example, if this is the second deployment opportunity for this vaccine and this value is 1, then this deployment cannot deploy the vaccine to individuals who did not receive the first deployment.
Vaccine max cumulative doses
vaccMaxCumDoses=int
Units: inoculations Min: 0
Applies to vaccines only: vaccine doses are only deployed by this deployment if the previous number of doses (for the component deployed) is less than this number.
Target age
targetAgeYrs=double
Units: Years Min: 0 Max: 100
Target age of intervention. Input is rounded to the nearest time step.
First time active
begin=string
Units: User defined (defauls to steps)
First time at which this deployment is active. If not specified, deployment starts at the beginning of the intervention period. See doc on intervention period and on monitoring/startDate for details of how times work. Can be specified in steps, days, years, or as a date (examples: 15t, 75d, 0.2y, 2000-03-16).
End step
end=string
Units: User defined (defauls to steps)
End of the period during which the intervention is active (to be exact, the first step of the intervention period at which the item becomes inactive). If not specified, deployment never ceases after starting during the simulation. See doc on intervention period and on monitoring/startDate for details of how times work. Can be specified in steps, days, years, or as a date (examples: 15t, 75d, 0.2y, 2000-03-16).
Mass (timed) deployment
→ scenario → interventions → human → deployment → timed
<timed>
IN THIS ORDER:
| [ <restrictToSubPop ... /> ]
| [ <cumulativeCoverage ... /> ]
| ( <deploy ... /> )+
</timed>
Documentation (element)
List of timed deployments of the intervention (that is, of deployment campaigns).
Cumulative deployment mode can be specified for all deployments in a timed list. To allow multiple cumulative deployment descriptions, the entire timed list may be repeated.
restrictToSubPop
→ scenario → interventions → human → deployment → timed → restrictToSubPop
<restrictToSubPop
id=string
[ complement=boolean ] DEFAULT VALUE false
/>
Documentation (type)
If this element is specified, deployment is restricted to some sub-population (specified via the "id" attribute); otherwise the target population is the entire simulated population. Either way, other deployment restrictions (age, time, number of vaccine doeses) still apply.
Attributes
Sub-population identifier
id=string
The identifier (short name) of the sub-population (i.e. the "id" of some intervention component). Also see the "complement" attribute.
Complement
complement=boolean
Default value: false
If this is not specified or is false, deployment is restricted to the sub-population of people protected by the intervention component who's id is given. If complement is set to true, deployment is instead restricted to the complement of that sub-population, i.e. to those
Cumulative coverage
→ scenario → interventions → human → deployment → timed → cumulativeCoverage
<cumulativeCoverage
component=string
/>
Documentation (element)
If this element is not specified, standard deployment occurs, where a portion of the population as given by the coverage property of this campaign is selected, and interventions are deployed to all of these people (regardless of previous coverage).
If this attribute is specified, instead, the population is divided into two sets: those who are a member of a certain sub-population and those who are not (see "subPopRemoval" element). If the proportion of people in the first set is less than the desired coverage, then the proportion of people from the second set needed to increase total coverage to the desired coverage is calculated. This proportion is then used as the probablity of selection from the second set into a third set of people who then receive all interventions deployed by this campaign.
Note that selection is stochastic so the final coverage level may not be exactly that desired. Note also that the component used when selecting people need not actually be one of the components deployed by this intervention, although that is the intended use case.
Attributes
Component identifier
component=string
The identifier (short name) of the component used when selecting people.
deploy
→ scenario → interventions → human → deployment → timed → deploy
<deploy
coverage=double
[ vaccMinPrevDoses=int ]
[ vaccMaxCumDoses=int ]
time=string
[ maxAge=double ]
[ minAge=double ] DEFAULT VALUE 0
[ repeatStep=string ]
[ repeatEnd=string ]
/>
Attributes
Coverage
coverage=double
Units: dimensionless Min: 0 Max: 1
Proportion of otherwise eligible individuals who will receive this deployment.
Vaccine min previous doses
vaccMinPrevDoses=int
Units: inoculations Min: 0
Applies to vaccines only: vaccine doses are only deployed by this deployment if the previous number of doses (for the component deployed) is at least this number. For example, if this is the second deployment opportunity for this vaccine and this value is 1, then this deployment cannot deploy the vaccine to individuals who did not receive the first deployment.
Vaccine max cumulative doses
vaccMaxCumDoses=int
Units: inoculations Min: 0
Applies to vaccines only: vaccine doses are only deployed by this deployment if the previous number of doses (for the component deployed) is less than this number.
Time
time=string
Units: User defined (defauls to steps) Min: 0
Time at which this deployment occurs. See doc on intervention period and on monitoring/startDate for details of how times work. Can be specified in steps, days, years, or as a date (examples: 15t, 75d, 0.2y, 2000-03-16).
Maximum age of eligible individuals
maxAge=double
Units: Years Min: 0
Maximum age of eligible individuals (defaults to no limit). Input is rounded to the nearest time step.
Minimum age of eligible individuals
minAge=double
Units: Years Min: 0
Default value: 0
Minimum age of eligible individuals (defaults to 0). Input is rounded to the nearest time step.
Step of repetition
repeatStep=string
Units: User defined
See repeatEnd's documentation.
End of repetition (exclusive)
repeatEnd=string
Units: User defined
Either both repeatStep and repeatEnd should be present or neither. If present, the deployment is repeated every repeatStep timesteps (i.e. if t0 is the initial time and x is repeatStep, depolyments are done at times t0, t0+x, t0+2*x, ...), ending before repeatEnd (final repetition is the one before repeatEnd). Note that repeatEnd may be specified as a date but repeatStep must be a duration (days, steps or years).
Health system description
→ scenario → healthSystem
<healthSystem>
IN THIS ORDER:
| EXACTLY ONE OF:
| | <EventScheduler ... />
| | <ImmediateOutcomes ... />
| | <DecisionTree5Day ... />
| <CFR ... />
| <pSequelaeInpatient ... />
</healthSystem>
Documentation (element)
Description of health system.
Documentation (type)
Description of case management system, used to specify the initial model or a replacement (an intervention). Encompasses case management data and some other data required to derive case outcomes.
Contains a sub-element describing the particular health-system in use. Health system data is here defined as data used to decide on a treatment strategy, given a case requiring treatment.
Transmission and vector bionomics
→ scenario → entomology
<entomology
name=string
mode=("forced" or "dynamic")
[ scaledAnnualEIR=double ]
>
IN THIS ORDER:
| EXACTLY ONE OF:
| | <nonVector ... />
| | <vector ... />
</entomology>
Documentation (element)
Description of entomological data
Attributes
Entomology dataset name
name=string
Name of entomology data
Transmission model mode
mode=("forced" or "dynamic")
Transmission simulation mode: may be forced (in which case interventions and changes to human infectiousness cannot affect EIR) or dynamic (in which the above can affect EIR). The full vector model is only used in dynamic mode. This can not be changed by interventions, except for the changeEIR intervention for the non-vector model which replaces the EIR with a new description (used in forced mode).
Override annual EIR
scaledAnnualEIR=double
Units: Infectious bites per adult per year
If set, the annual EIR (for all species of vector) is scaled to this level; can be omitted if not needed.
Transmission setting (vector control not enabled)
→ scenario → entomology → nonVector
<nonVector
eipDuration=int
>
IN THIS ORDER:
| ( <EIRDaily ... /> )+
</nonVector>
Documentation (element)
Description of transmission setting for models without vector control interventions (included for backward compatibility)
Attributes
Duration of sporogony
eipDuration=int
Units: Days
The duration of sporogony in days
Transmission setting (vector control enabled)
→ scenario → entomology → vector
<vector>
IN THIS ORDER:
| ( <anopheles ... /> )+
| ( <nonHumanHosts ... /> )*
</vector>
Documentation (element)
Parameters of the transmission model
anopheles
→ scenario → entomology → vector → anopheles
<anopheles
mosquito=string
propInfected=double
propInfectious=double
>
IN THIS ORDER:
| <seasonality ... />
| <mosq ... />
| [ <lifeCycle ... /> ]
| [ <simpleMPD ... /> ]
| ( <nonHumanHosts ... /> )*
</anopheles>
Documentation (type)
Description of input EIR for one specific vector species in terms of a Fourier approximation to the ln of the EIR during the burn in period
Attributes
Identifier for this anopheles species
mosquito=string
Identifier for this anopheles species
Initial estimate of proportion of mosquitoes infected (ρ_O)
propInfected=double
Units: Proportion Min: 0 Max: 1
Initial guess of the proportion of mosquitoes which are infected, o: O_v(t) = o*N_v(t). Only used as a starting value.
Initial estimate of proportion of mosquitoes infectious (ρ_S)
propInfectious=double
Units: Proportion Min: 0 Max: 1
Initial estimate of the proportion of mosquitoes which are infectious, s: S_v(t) = s*N_v(t). Used as a starting value and then fit.
Seasonality of transmission
→ scenario → entomology → vector → anopheles → seasonality
<seasonality
input=("EIR")
[ annualEIR=double ]
>
IN THIS ORDER:
| EXACTLY ONE OF:
| | <fourierSeries ... />
| | <monthlyValues ... />
| | <dailyValues ... />
</seasonality>
Documentation (element)
Specifies the seasonality of transmission and optionally the level of annual transmission.
Attributes
Seasonality input
input=("EIR")
Specify what seasonality measure is given. At the moment, only EIR is supported, but in the future, all the below should be supported. EIR: seasonality of entomological inoculations is input. Units: entomological inoculations per adult per annum. hostSeeking: seasonality of densities of flying host-seeking mosquitoes is input (in the model this is notated N_v). Units: mosquitoes. emergence: seasonality of emergence pupa into adults. Units: mosquitoes. larvalResources: seasonality of larval resources. Units: X.
Annual EIR
annualEIR=double
Units: Inoculations per adult per annum Min: 0
If this attribute is included, EIR for this species is scaled to this level. Note that if the scaledAnnualEIR attribute of the entomology element is also used, EIR is scaled again, making this attribute the EIR relative to other species. With some seasonality inputs, this attribute is optional, in which case (if scaledAnnualEIR is also not specified) transmission depends on all parameters of the vector. With some seasonality inputs, however, this parameter must be specified.
Fourier approximation to pre-intervention EIR
→ scenario → entomology → vector → anopheles → seasonality → fourierSeries
<fourierSeries
EIRRotateAngle=double
>
IN THIS ORDER:
| ( <coeffic ... /> )*
</fourierSeries>
Documentation (element)
Units: Infectious bites per adult per day
Seasonality is reproduced from the exponential of a fourier series specified by the following coefficients. Note that the a0 term is not needed; the annualEIR attribute of the seasonality element should be used to scale EIR instead.
Attributes
Rotation angle defining the origin of the Fourier approximation to ln (EIR)
EIRRotateAngle=double
Units: Radians
Rotation angle defining the origin of the Fourier approximation to ln (EIR)
Pair of Fourier coefficients
→ scenario → entomology → vector → anopheles → seasonality → fourierSeries → coeffic
<coeffic
a=double
b=double
/>
Documentation (element)
A pair of Fourier series coefficients. The first element specifies a1 and b1, the second a2 and b2, etc. Any number (from 0 up) of pairs may be given.
Attributes
a_n parameter of Fourier approximation to ln(EIR)
a=double
a_n parameter of Fourier approximation to ln(EIR) for some natural number n.
b_n parameter of Fourier approximation to ln(EIR)
b=double
b_n parameter of Fourier approximation to ln(EIR) for some natural number n.
List of monthly values
→ scenario → entomology → vector → anopheles → seasonality → monthlyValues
<monthlyValues
smoothing=("none" or "fourier")
>
IN THIS ORDER:
| ( <value ... /> ){12,12}
</monthlyValues>
Documentation (element)
Description of seasonality from monthly values. Multiple smoothing methods are possible (see smoothing attribute).
List should contain twelve entries: January to December.
Attributes
Smoothing function
smoothing=("none" or "fourier")
How the monthly values are converted into a daily sequence of values:
- none: no smoothing (step function)
- Fourier: a Fourier series (with terms up to a2/b2) is fit to the sequence of monthly values and used to generate a smoothed list of daily values.
Monthly value
→ scenario → entomology → vector → anopheles → seasonality → monthlyValues → value
<value>
double
</value>
Documentation (element)
Units: (see "seasonality input" parameter)
Monthly value
List of daily values
→ scenario → entomology → vector → anopheles → seasonality → dailyValues
<dailyValues>
IN THIS ORDER:
| ( <value ... /> ){365,365}
</dailyValues>
Documentation (element)
Description of seasonality from daily values.
List should contain 365 entries: 1st January to 31st December.
Daily value
→ scenario → entomology → vector → anopheles → seasonality → dailyValues → value
<value>
double
</value>
Documentation (element)
Units: (see "seasonality input" parameter)
Daily value
Mosquito feeding cycle parameters
→ scenario → entomology → vector → anopheles → mosq
<mosq
minInfectedThreshold=double
>
IN ANY ORDER:
| <mosqRestDuration ... />
| <extrinsicIncubationPeriod ... />
| <mosqLaidEggsSameDayProportion ... />
| <mosqSeekingDuration ... />
| <mosqSurvivalFeedingCycleProbability ... />
| <availability ... />
| <mosqProbBiting ... />
| <mosqProbFindRestSite ... />
| <mosqProbResting ... />
| <mosqProbOvipositing ... />
| <mosqHumanBloodIndex ... />
</mosq>
- mosqRestDuration
- extrinsicIncubationPeriod
- mosqLaidEggsSameDayProportion
- mosqSeekingDuration
- mosqSurvivalFeedingCycleProbability
- availability
- mosqProbBiting
- mosqProbFindRestSite
- mosqProbResting
- mosqProbOvipositing
- mosqHumanBloodIndex
Documentation (element)
Parameters describing the feeding cycle and human mosquito interaction of a single species of anopheles mosquito.
Attributes
Mininum infected threshold for mosquitos
minInfectedThreshold=double
Min: 0
If less than this many mosquitoes remain infected, transmission is interrupted.
Duration of the resting period of the vector
→ scenario → entomology → vector → anopheles → mosq → mosqRestDuration
<mosqRestDuration
value=int
/>
Documentation (element)
Units: Days
name:Duration of the resting period of the vector (days);
Attributes
Input parameter value
value=int
An integer value.
Extrinsic incubation period
→ scenario → entomology → vector → anopheles → mosq → extrinsicIncubationPeriod
<extrinsicIncubationPeriod
value=int
/>
Documentation (element)
Units: Days
name:Extrinsic incubation period (days)
Attributes
Input parameter value
value=int
An integer value.
Proportion of mosquitoes host seeking on same day as ovipositing
→ scenario → entomology → vector → anopheles → mosq → mosqLaidEggsSameDayProportion
<mosqLaidEggsSameDayProportion
value=double
/>
Documentation (element)
Units: Proportion
Proportion of mosquitoes host seeking on same day as ovipositing
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Duration of the host-seeking period of the vector
→ scenario → entomology → vector → anopheles → mosq → mosqSeekingDuration
<mosqSeekingDuration
value=double
/>
Documentation (element)
Units: Days
Duration of the host-seeking period of the vector (days)
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Probability that the mosquito survives the feeding cycle
→ scenario → entomology → vector → anopheles → mosq → mosqSurvivalFeedingCycleProbability
<mosqSurvivalFeedingCycleProbability
value=double
/>
Documentation (element)
Units: Proportion
Probability that the mosquito survives the feeding cycle
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Human availability rate heterogeneity
→ scenario → entomology → vector → anopheles → mosq → availability
<availability
[ CV=double ]
[ distr=("const" or "lognormal") ] DEFAULT VALUE const
/>
Documentation (element)
Optionally, entomological availability rate may be sampled per-human from a distribution. The distribution and coefficient of variability may be set here. The mean rate is calculated based on other parameters and not set directly.
If no attributes are specified or distr="const" or CV="0" then there will be no heterogeneity.
Documentation (type)
A parameter with optional heterogeneity.
The mean cannot be specified (unless this type is extended). Optionally, a distribution ("distr") and coefficient of variation ("CV") may be specified.
Attributes
Coefficient of variation
CV=double
Units: unitless
The (linear) coefficient of variation. This value must be specified when a (non-constant) distribution is used. Note that specifying CV="0" has the same effect as distr="const" and disables sampling of this parameter, even if distr is not "const".
Distribution
distr=("const" or "lognormal")
Default value: const
To allow heterogeneity, a distribution must be specified. Valid options are as follows. "const": no variation or sampling. Specifying distr="const" has the same effect as not specifying distr at all. "lognormal": the parameter is sampled from a log-normal distribution. Note that the "mean" and "CV" values are linear (arithmetic) properties of the distribution and not log-space properties.
Probability that the mosquito succesfully bites chosen host
→ scenario → entomology → vector → anopheles → mosq → mosqProbBiting
<mosqProbBiting
mean=double
variance=double
/>
Documentation (element)
Probability that the mosquito succesfully bites chosen host
Documentation (type)
Parameters of a normal distribution, provided as mean and variance.
Variates are sampled from Be(α,β) where α and β are determined from the mean and variance as follows: let v be the variance and c=mean/(1-mean). Then we set α=cβ and β=((c+1)²v - c)/((c+1)³v).
Attributes
mean
mean=double
Units: none
The mean of the beta distribution (must be in the open range (0,1)).
variance
variance=double
Units: none
The standard deviation of variates.
Probability that the mosquito escapes host and finds a resting place after biting
→ scenario → entomology → vector → anopheles → mosq → mosqProbFindRestSite
<mosqProbFindRestSite
mean=double
variance=double
/>
Documentation (element)
Probability that the mosquito escapes host and finds a resting place after biting
Documentation (type)
Parameters of a normal distribution, provided as mean and variance.
Variates are sampled from Be(α,β) where α and β are determined from the mean and variance as follows: let v be the variance and c=mean/(1-mean). Then we set α=cβ and β=((c+1)²v - c)/((c+1)³v).
Attributes
mean
mean=double
Units: none
The mean of the beta distribution (must be in the open range (0,1)).
variance
variance=double
Units: none
The standard deviation of variates.
Probability of mosquito successfully resting after finding a resting site
→ scenario → entomology → vector → anopheles → mosq → mosqProbResting
<mosqProbResting
mean=double
variance=double
/>
Documentation (element)
Probability of mosquito successfully resting after finding a resting site
Documentation (type)
Parameters of a normal distribution, provided as mean and variance.
Variates are sampled from Be(α,β) where α and β are determined from the mean and variance as follows: let v be the variance and c=mean/(1-mean). Then we set α=cβ and β=((c+1)²v - c)/((c+1)³v).
Attributes
mean
mean=double
Units: none
The mean of the beta distribution (must be in the open range (0,1)).
variance
variance=double
Units: none
The standard deviation of variates.
Probability of a mosquito successfully laying eggs given that it has rested
→ scenario → entomology → vector → anopheles → mosq → mosqProbOvipositing
<mosqProbOvipositing
value=double
/>
Documentation (element)
Probability of a mosquito successfully laying eggs given that it has rested
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Human blood index
→ scenario → entomology → vector → anopheles → mosq → mosqHumanBloodIndex
<mosqHumanBloodIndex
value=double
/>
Documentation (element)
Units: Proportion
The proportion of resting mosquitoes which fed on human blood during the last feed.
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Mosquito life cycle parameters
→ scenario → entomology → vector → anopheles → lifeCycle
<lifeCycle
[ estimatedLarvalResources=double ] DEFAULT VALUE 1e8
>
IN ANY ORDER:
| <eggStage ... />
| <larvalStage ... />
| <pupalStage ... />
| <femaleEggsLaidByOviposit ... />
</lifeCycle>
Documentation (element)
Parameters describing the life-cycle of this species of mosquito
Attributes
Estimate of larval resources
estimatedLarvalResources=double
Units: X
Default value: 1e8
An estimate of mean annual availability of resources to larvae. Used to get the resource usage fitting algorithm going; if the algorithm fails to fit the resource availability then tweaking this parameter may help. In other cases tweaking this parameter shouldn't be necessary. Default value is 10⁸ (1e8). Units are arbitrary but must be the same as those used by the resourceUsage parameter.
Egg stage
→ scenario → entomology → vector → anopheles → lifeCycle → eggStage
<eggStage
duration=int
survival=double
/>
Documentation (element)
Parameters for the egg stage of development
Documentation (type)
Parameters associated with a mosquito development stage.
Attributes
Duration
duration=int
Units: Days
Duration of the stage (i.e. length of time mosquito is an egg/larva/pupa).
Probability of survival
survival=double
Units: Proportion
Probability that mosquito survives this size (probability of egg hatching, a larva becoming a pupa or a pupa emerging as an adult, at the start of that stage).
larvalStage
→ scenario → entomology → vector → anopheles → lifeCycle → larvalStage
<larvalStage>
</larvalStage>
Documentation (type)
Parameters for the larval stage of development
Documentation (base type)
Parameters associated with a mosquito development stage.
Daily development
→ scenario → entomology → vector → anopheles → lifeCycle → larvalStage → daily
<daily
resourceUsage=double
effectCompetition=double
/>
Documentation (element)
List of parameters which apply during the larval stage of development. List length must equal stage duration, with first item corresponding to first 24 hours after hatching, second item to hours 24-48, and so on.
Attributes
Resource usage
resourceUsage=double
Units: X
Resource usage during larval stage of development. Units are arbitrary.
Effect of competition
effectCompetition=double
Units: none
Effect of competition over resources on development.
Pupal stage
→ scenario → entomology → vector → anopheles → lifeCycle → pupalStage
<pupalStage
duration=int
survival=double
/>
Documentation (element)
Parameters for the pupal stage of development
Documentation (type)
Parameters associated with a mosquito development stage.
Attributes
Duration
duration=int
Units: Days
Duration of the stage (i.e. length of time mosquito is an egg/larva/pupa).
Probability of survival
survival=double
Units: Proportion
Probability that mosquito survives this size (probability of egg hatching, a larva becoming a pupa or a pupa emerging as an adult, at the start of that stage).
Eggs laid by ovipositing mosquito
→ scenario → entomology → vector → anopheles → lifeCycle → femaleEggsLaidByOviposit
<femaleEggsLaidByOviposit
value=double
/>
Documentation (element)
Units: Eggs per feeding cycle
The total number of female eggs laid by a female mosquito at the conclusion to a feeding cycle, after feeding on an unprotected human (non-human hosts and protected humans use a multiplication factor to adjust this number for mosquitoes feeding on them).
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Simple Mosq-Pop-Dynamics parameters
→ scenario → entomology → vector → anopheles → simpleMPD
<simpleMPD>
IN ANY ORDER:
| <developmentDuration ... />
| <developmentSurvival ... />
| <femaleEggsLaidByOviposit ... />
</simpleMPD>
Documentation (element)
Parameters describing the simple mosquito population dynamics model.
This is a simpler version of the life-cycle model, requiring less parameters and with much simpler initialisation.
Duration
→ scenario → entomology → vector → anopheles → simpleMPD → developmentDuration
<developmentDuration
value=int
/>
Documentation (element)
Units: Days Min: 1
Duration from egg laying to emergence in days.
Attributes
Input parameter value
value=int
An integer value.
Probability of survival
→ scenario → entomology → vector → anopheles → simpleMPD → developmentSurvival
<developmentSurvival
value=double
/>
Documentation (element)
Units: Proportion Min: 0 Max: 1
Probability that mosquito survives from the egg being laid to emergence, given no resouce limitations (no density constraints).
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Eggs laid by ovipositing mosquito
→ scenario → entomology → vector → anopheles → simpleMPD → femaleEggsLaidByOviposit
<femaleEggsLaidByOviposit
value=double
/>
Documentation (element)
Units: Eggs per feeding cycle
The total number of female eggs laid by a female mosquito at the conclusion to a feeding cycle.
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Alternative (non-human) host paramters
→ scenario → entomology → vector → anopheles → nonHumanHosts
<nonHumanHosts
name=string
>
IN ANY ORDER:
| <mosqRelativeEntoAvailability ... />
| <mosqProbBiting ... />
| <mosqProbFindRestSite ... />
| <mosqProbResting ... />
| [ <hostFecundityFactor ... /> ]
</nonHumanHosts>
- mosqRelativeEntoAvailability
- mosqProbBiting
- mosqProbFindRestSite
- mosqProbResting
- hostFecundityFactor
Documentation (element)
Min: 0
Non human host parameters, per type of host (must match up with non-species-specific parameters).
Attributes
Identifier for this category of non-human hosts
name=string
Identifier for this category of non-human hosts
Relative availability of non-human host (ξ_i)
→ scenario → entomology → vector → anopheles → nonHumanHosts → mosqRelativeEntoAvailability
<mosqRelativeEntoAvailability
value=double
/>
Documentation (element)
Units: Proportion
Relative availability of the population of non-human hosts of type i to other non-human hosts; the sum of this across all non-human hosts must be 1.
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Probability of mosquito successfully biting host
→ scenario → entomology → vector → anopheles → nonHumanHosts → mosqProbBiting
<mosqProbBiting
value=double
/>
Documentation (element)
Units: Proportion
Probability of mosquito successfully biting host
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Probability that the mosquito escapes host and finds a resting place after biting
→ scenario → entomology → vector → anopheles → nonHumanHosts → mosqProbFindRestSite
<mosqProbFindRestSite
value=double
/>
Documentation (element)
Units: Proportion
Probability that the mosquito escapes host and finds a resting place after biting
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Probability of mosquito successfully resting after finding a resting site
→ scenario → entomology → vector → anopheles → nonHumanHosts → mosqProbResting
<mosqProbResting
value=double
/>
Documentation (element)
Units: Proportion
Probability of mosquito successfully resting after finding a resting site
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Relative fecundity of biting mosquitoes
→ scenario → entomology → vector → anopheles → nonHumanHosts → hostFecundityFactor
<hostFecundityFactor
value=double
/>
Documentation (element)
Units: Proportion
Multiplicative factor for the number of fertile eggs laid by a mosquito after biting this type of host, relative to an unprotected human.
Attributes
Input parameter value
value=double
A double-precision floating-point value.
nonHumanHosts
→ scenario → entomology → vector → nonHumanHosts
<nonHumanHosts
name=string
number=double
/>
Attributes
Species of alternative host
name=string
Name of this species of non human hosts (must match up with those described per anopheles section).
Population size of non-human host species
number=double
Units: Animals
Population size of this non-human host. Note: the availability of the population of this type of non-human host is determined by mosqRelativeEntoAvailability and mosqHumanBloodIndex. NHHs are not modelled individually, thus this parameter is not used. It might be useful in the future if there is ever an intervention to change the number of non-human hosts.
Parasite genetics
<parasiteGenetics
samplingMode=("initial" or "tracking")
>
IN THIS ORDER:
| ( <locus ... /> )+
</parasiteGenetics>
Documentation (element)
A specification of genotypes of infection parasites.
May be omitted; in this case there is no modelling of genetic differences of infections (resistance, fitness).
Attributes
samplingMode
samplingMode=("initial" or "tracking")
This controls how genotypes are determined for new infections during the intervention period. Prior to this (in initialisation phases), genotypes are always sampled using the specified initial frequencies. Mode "initial" continues to sample genotypes using initial frequencies (i.e. independent of the success of parent generations of parasites). Mode "tracking" samples genotypes based on the success parent generations of parasites have in infecting mosquitoes, tracked per genotype. It is possible that in the future a recombination option will be added to this list, however designing a suitable model is not trivial.
Locus
→ scenario → parasiteGenetics → locus
<locus
name=string
>
IN THIS ORDER:
| ( <allele ... /> )+
</locus>
Documentation (element)
Describes a locus, or a point at which an infection may vary. The genotype of an infection is determined by choosing one allele at each locus. Initial frequencies of alleles are specified independently for each locus, but subsequent infections are selected according to success of genotypes.
Alleles at loci can affect fitness and resistance to any number of drugs.
Attributes
Name of locus
name=string
Name of the Locus
Allele
→ scenario → parasiteGenetics → locus → allele
<allele
name=string
initialFrequency=double
fitness=double
[ hrp2_deletion=boolean ] DEFAULT VALUE false
/>
Documentation (element)
Describes an allele, or one possible genetic option of multiple at one point of variance.
Attributes
Name
name=string
Name of the allele; used to refer to it elsewhere.
Initial frequency
initialFrequency=double
Specification of how commonly this allele occurs during warmup relative to other alleles of the same locus. During the simulation's initialisation phases, the frequency at which each allele of each locus occurs is fixed. After the initialisation phase, frequency of alleles is modelled as an emergent property of the success of genotypes.
Fitness factor
fitness=double
Fitness factor of the allele. This is multiplication factor used to speed up or slow down replication of parasites. For example, if a genotype has an allele with a fitness factor of 1 at one locus and another allele with a fitness factor of 0.8 at a second locus, then the parasites with the genotype will replicate 20% slower than the baseline.
HRP2 deletion
hrp2_deletion=boolean
Default value: false
If true, marks this allele as having deleted HRP2. The effect on the simulation is that any diagnostic dependent on HRP2 behaves as if infections with deleted HRP2 have density 0. A diagnostic MUST explicitly set mechanism="HRP2" for this to have any effect.
Drug parameters (PK, PD and usage)
→ scenario → pharmacology
<pharmacology>
IN THIS ORDER:
| <treatments ... />
| <drugs ... />
</pharmacology>
Documentation (element)
Drug model parameters and drug usage parameters
Documentation (type)
A library of drug related data for the PK/PD model.
Treatments library
→ scenario → pharmacology → treatments
<treatments>
IN THIS ORDER:
| ( <schedule ... /> )+
| ( <dosages ... /> )+
</treatments>
Documentation (element)
A library of drug deployment schedules and dosages.
schedule
→ scenario → pharmacology → treatments → schedule
<schedule
name=string
>
IN THIS ORDER:
| ( <medicate ... /> )*
</schedule>
Documentation (type)
A schedule for the administration of drugs in a course of treatment.
Note that dose sizes are multiplied by some multiplier (see dosages) and the times of all doses may be delayed.
Attributes
Name
name=string
Name for referring to this deployment schedule
medicate
→ scenario → pharmacology → treatments → schedule → medicate
<medicate
drug=string
mg=double
hour=double
/>
Attributes
drug
drug=string
Abbreviated name of drug compound
Drug dose (mg with multiplier)
mg=double
Units: mg per something
Quantity of drug compound in mg per something. A separate dosage table must be used when medicating, which may specify multipliers of this number based on patient age or weight.
Time of administration
hour=double
Units: Hours Min: 0
Number of hours past start of timestep this drug dose is administered at (first dose should be at hour 0).
dosages
→ scenario → pharmacology → treatments → dosages
<dosages
name=string
>
IN THIS ORDER:
| EXACTLY ONE OF:
| | ( <age ... /> )+
| | ( <bodymass ... /> )+
| | <multiply ... />
</dosages>
Documentation (type)
A table for selecting a dose size. There are several ways this can work: using the patient's age or body mass in a look-up table to get a multplier, or directly using body mass as the multiplier.
The doses specified in "mg" in the treatment schedule are then multiplied by this multiplier.
Attributes
Name
name=string
Name for referring to this dosage table
Look-up table (age)
→ scenario → pharmacology → treatments → dosages → age
<age
lowerbound=double
dose_mult=double
/>
Documentation (element)
Select dose multiplier from a look-up table using the patient's age.
Documentation (type)
A look-up table which uses patient age (in years) or weight (in kg) to find a multiplier.
Attributes
Lower bound (inclusive)
lowerbound=double
Units: years or kg Min: 0
Dose multiplier
dose_mult=double
Min: 0
The dose size given in the schedule (in "mg") is multiplied by this value for patients falling into this range when this dosage table is used.
Look-up table (weight)
→ scenario → pharmacology → treatments → dosages → bodymass
<bodymass
lowerbound=double
dose_mult=double
/>
Documentation (element)
Select dose multiplier from a look-up table using the patient's body mass.
Documentation (type)
A look-up table which uses patient age (in years) or weight (in kg) to find a multiplier.
Attributes
Lower bound (inclusive)
lowerbound=double
Units: years or kg Min: 0
Dose multiplier
dose_mult=double
Min: 0
The dose size given in the schedule (in "mg") is multiplied by this value for patients falling into this range when this dosage table is used.
Multiply dose
→ scenario → pharmacology → treatments → dosages → multiply
<multiply
by=("kg")
/>
Documentation (element)
Multiply the dose by some quantity, such as patient weight.
Attributes
By what?
by=("kg")
Quantity to multiply the dose by. Only option is "kg" (patient weight in kg).
Drug library
→ scenario → pharmacology → drugs
<drugs>
IN THIS ORDER:
| ( <drug ... /> )+
</drugs>
Documentation (element)
A library of drug PK/PD data.
drug
→ scenario → pharmacology → drugs → drug
<drug
abbrev=string
>
IN THIS ORDER:
| <PD ... />
| <PK ... />
</drug>
Documentation (type)
A drug description with PK/PD parameters.
Attributes
abbrev
abbrev=string
PD
→ scenario → pharmacology → drugs → drug → PD
<PD
[ locus=string ]
>
IN THIS ORDER:
| ( <phenotype ... /> )+
</PD>
Attributes
Locus
locus=string
Optional; if present specifies the locus corresponding to this drug's PD phenotypes: each phenotype must then match one of that locus's alleles. Otherwise the drug should specify only one phenotype. There is currently a one-to-many correspondance between loci and drugs.
PD parameters for some allele / resistance phenotype
→ scenario → pharmacology → drugs → drug → PD → phenotype
<phenotype
[ name=string ]
>
IN THIS ORDER:
| ( <restriction ... /> )*
| <max_killing_rate ... />
| <IC50 ... />
| <slope ... />
</phenotype>
Documentation (element)
Pharmaco-Dynamic parameters for some resistance phenotype.
To model resistance to this drug, describe multiple infection phenotypes (with respect to these PD parameters) and list one or more "restrict" elements for each phenotype.
Loci are specified elsewhere. Multiple loci may influence the action of a single drug and each locus may influence multiple drugs.
Attributes
Name of phenotype
name=string
Name of the phenotype; for documentation use only.
Restrict phenotype applicability to certain alleles
→ scenario → pharmacology → drugs → drug → PD → phenotype → restriction
<restriction
onLocus=string
toAllele=string
/>
Documentation (element)
Specifies the mapping from genotype to phenotype. For each drug type, if only one phenotype is present, restrictions need not be specified, but otherwise restrictions must be specified.
The set of loci affecting phenotypes of this drug's action must be fixed for any drug type. Each phenotype must list, for each of these loci, a restriction to one or more alleles under the locus.
Attributes
Locus relevant to the mapping of alleles to this phenotype
onLocus=string
A locus under which only a restricted set of alleles map to this phenotype.
Alleles mapping to this phenotype
toAllele=string
One allele of a locus upon which phenotype choice depends. If multiple alleles under this locus should map to the same phenotype, repeat the whole "restriction onLocus..." element.
Maximal parasite killing rate
→ scenario → pharmacology → drugs → drug → PD → phenotype → max_killing_rate
<max_killing_rate>
double
</max_killing_rate>
Documentation (element)
Units: 1/days Min: 0
k1 — Maximal parasite killing rate.
IC50
→ scenario → pharmacology → drugs → drug → PD → phenotype → IC50
<IC50
[ CV=double ]
[ distr=("const" or "lognormal") ] DEFAULT VALUE const
mean=double
/>
Documentation (element)
Units: mg/l Min: 0
Half maximal effect concentration.
If CV > 0, the IC50 is sampled from a log-normal distribution.
Documentation (type)
A parameter with optional log-normal heterogeneity.
The mean value must be specified. Optionally, a distribution ("distr") and coefficient of variation ("CV") may be specified.
Documentation (base type)
A parameter with optional heterogeneity.
The mean cannot be specified (unless this type is extended). Optionally, a distribution ("distr") and coefficient of variation ("CV") may be specified.
Attributes
Coefficient of variation
CV=double
Units: unitless
The (linear) coefficient of variation. This value must be specified when a (non-constant) distribution is used. Note that specifying CV="0" has the same effect as distr="const" and disables sampling of this parameter, even if distr is not "const".
Distribution
distr=("const" or "lognormal")
Default value: const
To allow heterogeneity, a distribution must be specified. Valid options are as follows. "const": no variation or sampling. Specifying distr="const" has the same effect as not specifying distr at all. "lognormal": the parameter is sampled from a log-normal distribution. Note that the "mean" and "CV" values are linear (arithmetic) properties of the distribution and not log-space properties.
mean
mean=double
The (linear) mean value.
Slope of effect curve
→ scenario → pharmacology → drugs → drug → PD → phenotype → slope
<slope>
double
</slope>
Documentation (element)
Units: dimensionless
n — Slope of the concentration effect curve
PK
→ scenario → pharmacology → drugs → drug → PK
<PK>
IN THIS ORDER:
| <negligible_concentration ... />
| EXACTLY ONE OF:
| | <half_life ... />
| | IN THIS ORDER:
| | | <k ... />
| | | <m_exponent ... />
| [ <k_a ... /> ]
| [ <conversion ... /> ]
| <vol_dist ... />
| [ <compartment2 ... /> ]
| [ <compartment3 ... /> ]
</PK>
Drug concentration considered negligible
→ scenario → pharmacology → drugs → drug → PK → negligible_concentration
<negligible_concentration>
double
</negligible_concentration>
Documentation (element)
Units: mg/l Min: 0
Concentration below which drug's effects are deemed negligible and can be removed from simulation.
drug half-life
→ scenario → pharmacology → drugs → drug → PK → half_life
<half_life>
double
</half_life>
Documentation (element)
Units: days Min: 0
Used to calculate elimination rate λ, calculated as λ = ln(2) / half_life. The basic form of decay is C(t) = C0 * exp(-λ*t).
Alternatively, elimination rate can be specified via k and m_exponent.
Constant associated with elimination rate (k)
→ scenario → pharmacology → drugs → drug → PK → k
<k
[ CV=double ]
[ distr=("const" or "lognormal") ] DEFAULT VALUE const
mean=double
/>
Documentation (element)
Units: day^-1 Min: 0
Constant used to calculate the elimination rate λ, which is calculated as λ = k / (body_mass ^ m_exponent), where body_mass is the patient's weight in kg and m_exponent is the next parameter. The basic form of decay is C(t) = C0 * exp(-λ*t).
If CV > 0, k is sampled per-human from the log-normal distribution: ln N( ln(mean) - σ^2 / 2, σ^2).
Alternatively, elimination rate can be specified via half_life.
Documentation (type)
A parameter with optional log-normal heterogeneity.
The mean value must be specified. Optionally, a distribution ("distr") and coefficient of variation ("CV") may be specified.
Documentation (base type)
A parameter with optional heterogeneity.
The mean cannot be specified (unless this type is extended). Optionally, a distribution ("distr") and coefficient of variation ("CV") may be specified.
Attributes
Coefficient of variation
CV=double
Units: unitless
The (linear) coefficient of variation. This value must be specified when a (non-constant) distribution is used. Note that specifying CV="0" has the same effect as distr="const" and disables sampling of this parameter, even if distr is not "const".
Distribution
distr=("const" or "lognormal")
Default value: const
To allow heterogeneity, a distribution must be specified. Valid options are as follows. "const": no variation or sampling. Specifying distr="const" has the same effect as not specifying distr at all. "lognormal": the parameter is sampled from a log-normal distribution. Note that the "mean" and "CV" values are linear (arithmetic) properties of the distribution and not log-space properties.
mean
mean=double
The (linear) mean value.
Constant associated with elimination rate (m_exponent)
→ scenario → pharmacology → drugs → drug → PK → m_exponent
<m_exponent>
double
</m_exponent>
Documentation (element)
Units: day^-1 Min: 0
Constant used to calculate the elimination rate λ, which is calculated as λ = k / (body_mass ^ m_exponent), where body_mass is the patient's weight in kg and k is the previous parameter. The basic form of decay is C(t) = C0 * exp(-λ*t).
Alternatively, elimination rate can be specified via half_life.
Note that in the case of a conversion model, this applies to both the elimination and the conversion rates.
Absorption rate constant (k_a)
→ scenario → pharmacology → drugs → drug → PK → k_a
<k_a
[ CV=double ]
[ distr=("const" or "lognormal") ] DEFAULT VALUE const
mean=double
/>
Documentation (element)
Min: 0
Absorption rate parameter. Not allowed for one compartment models, but required for two and three compartment models and one compartment with conversion model (for the parent drug only).
Documentation (type)
A parameter with optional log-normal heterogeneity.
The mean value must be specified. Optionally, a distribution ("distr") and coefficient of variation ("CV") may be specified.
Documentation (base type)
A parameter with optional heterogeneity.
The mean cannot be specified (unless this type is extended). Optionally, a distribution ("distr") and coefficient of variation ("CV") may be specified.
Attributes
Coefficient of variation
CV=double
Units: unitless
The (linear) coefficient of variation. This value must be specified when a (non-constant) distribution is used. Note that specifying CV="0" has the same effect as distr="const" and disables sampling of this parameter, even if distr is not "const".
Distribution
distr=("const" or "lognormal")
Default value: const
To allow heterogeneity, a distribution must be specified. Valid options are as follows. "const": no variation or sampling. Specifying distr="const" has the same effect as not specifying distr at all. "lognormal": the parameter is sampled from a log-normal distribution. Note that the "mean" and "CV" values are linear (arithmetic) properties of the distribution and not log-space properties.
mean
mean=double
The (linear) mean value.
Conversion parameters (parent drug)
→ scenario → pharmacology → drugs → drug → PK → conversion
<conversion>
IN ANY ORDER:
| <metabolite ... />
| <rate ... />
| <molRatio ... />
| <IC50_log_correlation ... />
</conversion>
Documentation (element)
Configures the parent drug in a conversion model.
To use a conversion model, the parent drug should have this section defined as well as half-life or k (direct elimination; this may be zero) and k_a (absorption rate; this may be large).
The metabolite drug should define half-life or k (elimination of metabolite), but not k_a (absorption rate) or this section (conversion). It is not possible for the metabolite to itself undergo conversion with the current models.
Metabolite drug (abbreviation)
→ scenario → pharmacology → drugs → drug → PK → conversion → metabolite
<metabolite>
string
</metabolite>
Documentation (element)
The abbreviation of the metabolite drug (e.g. "DHA" or "DHA_AR").
Rate of conversion
→ scenario → pharmacology → drugs → drug → PK → conversion → rate
<rate
[ CV=double ]
[ distr=("const" or "lognormal") ] DEFAULT VALUE const
mean=double
/>
Documentation (element)
Rate of conversion of parent drug to metabolite.
Documentation (type)
A parameter with optional log-normal heterogeneity.
The mean value must be specified. Optionally, a distribution ("distr") and coefficient of variation ("CV") may be specified.
Documentation (base type)
A parameter with optional heterogeneity.
The mean cannot be specified (unless this type is extended). Optionally, a distribution ("distr") and coefficient of variation ("CV") may be specified.
Attributes
Coefficient of variation
CV=double
Units: unitless
The (linear) coefficient of variation. This value must be specified when a (non-constant) distribution is used. Note that specifying CV="0" has the same effect as distr="const" and disables sampling of this parameter, even if distr is not "const".
Distribution
distr=("const" or "lognormal")
Default value: const
To allow heterogeneity, a distribution must be specified. Valid options are as follows. "const": no variation or sampling. Specifying distr="const" has the same effect as not specifying distr at all. "lognormal": the parameter is sampled from a log-normal distribution. Note that the "mean" and "CV" values are linear (arithmetic) properties of the distribution and not log-space properties.
mean
mean=double
The (linear) mean value.
Molecular weight ratio
→ scenario → pharmacology → drugs → drug → PK → conversion → molRatio
<molRatio>
double
</molRatio>
Documentation (element)
Ratio of molecular weights: molecular weight of the metabolite divided by molecular weight of the parent.
IC50 log correlation
→ scenario → pharmacology → drugs → drug → PK → conversion → IC50_log_correlation
<IC50_log_correlation>
double
</IC50_log_correlation>
Documentation (element)
Min: 0 Max: 1
The IC50 values of parent and metabolite drugs may be sampled from the log-normal distribution (if CV is greater than 0). This parameter controls correlation between these samples, measured in log-space.
If this value is 1, samples are fully correlated: a single z-score is used to calculate both samples. If this is 0, two independent samples are used.
Values between 0 and 1 (partial correlation) are supported; in this case IC50 values are sampled such that cor(log(x), log(y)) matches this value (where x, y are parent and metabolite IC50 values).
Volume of Distribution (Vd)
→ scenario → pharmacology → drugs → drug → PK → vol_dist
<vol_dist
[ CV=double ]
[ distr=("const" or "lognormal") ] DEFAULT VALUE const
mean=double
/>
Documentation (element)
Units: l/kg Min: 0
Volume of Distribution.
If CV > 0 this is sampled from a log-normal distribution.
Documentation (type)
A parameter with optional log-normal heterogeneity.
The mean value must be specified. Optionally, a distribution ("distr") and coefficient of variation ("CV") may be specified.
Documentation (base type)
A parameter with optional heterogeneity.
The mean cannot be specified (unless this type is extended). Optionally, a distribution ("distr") and coefficient of variation ("CV") may be specified.
Attributes
Coefficient of variation
CV=double
Units: unitless
The (linear) coefficient of variation. This value must be specified when a (non-constant) distribution is used. Note that specifying CV="0" has the same effect as distr="const" and disables sampling of this parameter, even if distr is not "const".
Distribution
distr=("const" or "lognormal")
Default value: const
To allow heterogeneity, a distribution must be specified. Valid options are as follows. "const": no variation or sampling. Specifying distr="const" has the same effect as not specifying distr at all. "lognormal": the parameter is sampled from a log-normal distribution. Note that the "mean" and "CV" values are linear (arithmetic) properties of the distribution and not log-space properties.
mean
mean=double
The (linear) mean value.
Second compartment parameters
→ scenario → pharmacology → drugs → drug → PK → compartment2
<compartment2>
IN ANY ORDER:
| <k12 ... />
| <k21 ... />
</compartment2>
Documentation (element)
Optional element specifying conversion parameters to- and from- a second compartment.
Absorption rate to compartment 2 (k12)
→ scenario → pharmacology → drugs → drug → PK → compartment2 → k12
<k12
[ CV=double ]
[ distr=("const" or "lognormal") ] DEFAULT VALUE const
mean=double
/>
Documentation (element)
Units: day^-1 Min: 0
Absorption rate from the central compartment to the first periphery compartment (2).
It is sampled per-patient when CV > 0.
Documentation (type)
A parameter with optional log-normal heterogeneity.
The mean value must be specified. Optionally, a distribution ("distr") and coefficient of variation ("CV") may be specified.
Documentation (base type)
A parameter with optional heterogeneity.
The mean cannot be specified (unless this type is extended). Optionally, a distribution ("distr") and coefficient of variation ("CV") may be specified.
Attributes
Coefficient of variation
CV=double
Units: unitless
The (linear) coefficient of variation. This value must be specified when a (non-constant) distribution is used. Note that specifying CV="0" has the same effect as distr="const" and disables sampling of this parameter, even if distr is not "const".
Distribution
distr=("const" or "lognormal")
Default value: const
To allow heterogeneity, a distribution must be specified. Valid options are as follows. "const": no variation or sampling. Specifying distr="const" has the same effect as not specifying distr at all. "lognormal": the parameter is sampled from a log-normal distribution. Note that the "mean" and "CV" values are linear (arithmetic) properties of the distribution and not log-space properties.
mean
mean=double
The (linear) mean value.
Absorption rate from compartment 2 (k21)
→ scenario → pharmacology → drugs → drug → PK → compartment2 → k21
<k21
[ CV=double ]
[ distr=("const" or "lognormal") ] DEFAULT VALUE const
mean=double
/>
Documentation (element)
Units: day^-1 Min: 0
Absorption rate from the first periphery compartment (2) to the central compartment.
It is sampled per-patient when CV > 0.
Documentation (type)
A parameter with optional log-normal heterogeneity.
The mean value must be specified. Optionally, a distribution ("distr") and coefficient of variation ("CV") may be specified.
Documentation (base type)
A parameter with optional heterogeneity.
The mean cannot be specified (unless this type is extended). Optionally, a distribution ("distr") and coefficient of variation ("CV") may be specified.
Attributes
Coefficient of variation
CV=double
Units: unitless
The (linear) coefficient of variation. This value must be specified when a (non-constant) distribution is used. Note that specifying CV="0" has the same effect as distr="const" and disables sampling of this parameter, even if distr is not "const".
Distribution
distr=("const" or "lognormal")
Default value: const
To allow heterogeneity, a distribution must be specified. Valid options are as follows. "const": no variation or sampling. Specifying distr="const" has the same effect as not specifying distr at all. "lognormal": the parameter is sampled from a log-normal distribution. Note that the "mean" and "CV" values are linear (arithmetic) properties of the distribution and not log-space properties.
mean
mean=double
The (linear) mean value.
Third compartment parameters
→ scenario → pharmacology → drugs → drug → PK → compartment3
<compartment3>
IN ANY ORDER:
| <k13 ... />
| <k31 ... />
</compartment3>
Documentation (element)
Optional element specifying conversion parameters to- and from- a third compartment.
Absorption rate to compartment 3 (k13)
→ scenario → pharmacology → drugs → drug → PK → compartment3 → k13
<k13
[ CV=double ]
[ distr=("const" or "lognormal") ] DEFAULT VALUE const
mean=double
/>
Documentation (element)
Units: day^-1 Min: 0
Absorption rate from the central compartment to the second periphery compartment (3).
It is sampled per-patient when CV > 0.
Documentation (type)
A parameter with optional log-normal heterogeneity.
The mean value must be specified. Optionally, a distribution ("distr") and coefficient of variation ("CV") may be specified.
Documentation (base type)
A parameter with optional heterogeneity.
The mean cannot be specified (unless this type is extended). Optionally, a distribution ("distr") and coefficient of variation ("CV") may be specified.
Attributes
Coefficient of variation
CV=double
Units: unitless
The (linear) coefficient of variation. This value must be specified when a (non-constant) distribution is used. Note that specifying CV="0" has the same effect as distr="const" and disables sampling of this parameter, even if distr is not "const".
Distribution
distr=("const" or "lognormal")
Default value: const
To allow heterogeneity, a distribution must be specified. Valid options are as follows. "const": no variation or sampling. Specifying distr="const" has the same effect as not specifying distr at all. "lognormal": the parameter is sampled from a log-normal distribution. Note that the "mean" and "CV" values are linear (arithmetic) properties of the distribution and not log-space properties.
mean
mean=double
The (linear) mean value.
Absorption rate from compartment 3 (k31)
→ scenario → pharmacology → drugs → drug → PK → compartment3 → k31
<k31
[ CV=double ]
[ distr=("const" or "lognormal") ] DEFAULT VALUE const
mean=double
/>
Documentation (element)
Units: day^-1 Min: 0
Absorption rate from the second periphery compartment (3) to the central compartment.
It is sampled per-patient when CV > 0.
Documentation (type)
A parameter with optional log-normal heterogeneity.
The mean value must be specified. Optionally, a distribution ("distr") and coefficient of variation ("CV") may be specified.
Documentation (base type)
A parameter with optional heterogeneity.
The mean cannot be specified (unless this type is extended). Optionally, a distribution ("distr") and coefficient of variation ("CV") may be specified.
Attributes
Coefficient of variation
CV=double
Units: unitless
The (linear) coefficient of variation. This value must be specified when a (non-constant) distribution is used. Note that specifying CV="0" has the same effect as distr="const" and disables sampling of this parameter, even if distr is not "const".
Distribution
distr=("const" or "lognormal")
Default value: const
To allow heterogeneity, a distribution must be specified. Valid options are as follows. "const": no variation or sampling. Specifying distr="const" has the same effect as not specifying distr at all. "lognormal": the parameter is sampled from a log-normal distribution. Note that the "mean" and "CV" values are linear (arithmetic) properties of the distribution and not log-space properties.
mean
mean=double
The (linear) mean value.
Diagnostic parameters
→ scenario → diagnostics
<diagnostics>
IN THIS ORDER:
| ( <diagnostic ... /> )*
</diagnostics>
Documentation (element)
Diagnostic model parameters
diagnostic
→ scenario → diagnostics → diagnostic
<diagnostic
name=string
[ units=("Other" or "Garki" or "Malariatherapy") ]
[ mechanism=("Other" or "HRP2") ] DEFAULT VALUE Other
>
IN THIS ORDER:
| EXACTLY ONE OF:
| | <deterministic ... />
| | <stochastic ... />
</diagnostic>
Attributes
Name of diagnostic
name=string
Name of this diagnostic (parameterisation). May be used elsewhere in the XML document to refer to this set of diagnostic parameters.
Parasite density units / methodology
units=("Other" or "Garki" or "Malariatherapy")
Parasite densities, as estimated according to standard microscopy methods, the Garki method, and as derived from Malariatherapy data are not equivalent. Internally, a "bias" factor is used to convert values estimated by one methods to values comparable with another (see AJTMHv75 supplement 2 pp20-21). This option allows specification of which methodology the density given in the diagnostic specification is measured with. Values allowed are: Malariatherapy, Garki and Other. If not specified, Other is assumed, unless the GARKI_DENSITY_BIAS model option is used, in which case this option must be specified.
Mechanism
mechanism=("Other" or "HRP2")
Default value: Other
Mechanism by which this diagnostic functions. Possible values are: HRP2, Other. In the case of HRP2, infections with an hrp2_deletion will be invisible to this diagnostic. In the case of Other, the diagnostic is unaffected by infection genome. The diagnostic used for monitoring cannot use HRP2. (This is a restriction made to simplify implementation.)
Deterministic detection
→ scenario → diagnostics → diagnostic → deterministic
<deterministic
minDensity=double
/>
Documentation (element)
Specify that an artificial deterministic test is used: outcome is positive if parasite density is at least the minimum given.
Attributes
Minimum detectible density
minDensity=double
Units: parasites/microlitre Min: 0
The minimum density at which parasites can be detected. If 0, the test outcome is always positive.
Non-deterministic detection
→ scenario → diagnostics → diagnostic → stochastic
<stochastic
dens_50=double
specificity=double
/>
Documentation (element)
An improved model of detection which is non-deterministic, including false positive results as well as false negatives.
The probability of a positive outcome is modelled as 1 + s×(x/(x+d) - 1) where x is the parasite density, d is the density at which the test outcome has a 50% chance of being positive, and s is the probability of a positive outcome given no parasites (the specificity).
Some parameterisations:
Microscopy sensitivity/specificity data in Africa; Source: expert opinion — Allan Schapira dens_50 = 20.0 specificity = .75
RDT sensitivity/specificity for Plasmodium falciparum in Africa Source: Murray et al (Clinical Microbiological Reviews, Jan. 2008) dens_50 = 50.0; specificity = .942;
Attributes
Density 50
dens_50=double
Units: parasites/microlitre Min: 0
The density at which the test outcome has a 50% chance of being positive.
Specificity
specificity=double
Units: Dimensionless Min: 0 Max: 1
The probability of a positive test outcome in the absense of parasites.
Model options and parameters
<model>
IN ANY ORDER:
| <ModelOptions ... />
| <clinical ... />
| <human ... />
| [ <vivax ... /> ]
| <parameters ... />
</model>
Documentation (element)
Encapsulation of all parameters which describe the model according to which fitting is done.
Model Options
→ scenario → model → ModelOptions
<ModelOptions>
IN THIS ORDER:
| ( <option ... /> )*
</ModelOptions>
Documentation (element)
All model options (bug fixes, choices between models, etc.).
The list of recognised options can be found in the code at:
model/util/ModelOptions.h and should also be in the wiki.
clinical
<clinical
healthSystemMemory=string
>
IN ANY ORDER:
| [ <NeonatalMortality ... /> ]
| [ <NonMalariaFevers ... /> ]
</clinical>
Documentation (type)
Description of clinical parameters that are related to the health-system description, but which contain data that cannot be changed as part of an intervention and that are not restricted to treatment.
Attributes
Follow-up period during which recurrence is considered a treatment failure
healthSystemMemory=string
Units: User-defined (defaults to steps)
Follow-up period during which a recurrence is considered to be a treatment failure Can be specified in steps (e.g. 6t) or days (e.g. 28d).
Neonatal mortality parameters
→ scenario → model → clinical → NeonatalMortality
<NeonatalMortality
diagnostic=string
/>
Attributes
Diagnostic used to parameterise model
diagnostic=string
The name of a diagnostic used to parameterise the model. Neonatal mortality is derived from malaria patency of a certain sub-population of humans. This is the diagnostic used to asses patency for this purpose. If this is not specified, the monitoring diagnostic is used.
NonMalariaFevers
→ scenario → model → clinical → NonMalariaFevers
<NonMalariaFevers>
IN THIS ORDER:
| <incidence ... />
| [ <prNeedTreatmentNMF ... /> ]
| [ <prNeedTreatmentMF ... /> ]
</NonMalariaFevers>
Documentation (type)
Description of the incidence of non-malaria fever. Non-malaria fevers are only modelled if the NON_MALARIA_FEVERS option is used.
P(NMF)
→ scenario → model → clinical → NonMalariaFevers → incidence
<incidence
[ interpolation=("none" or "linear") ]
>
IN THIS ORDER:
| ( <group ... /> )+
</incidence>
Documentation (element)
Units: Dimensionless Min: 0.0 Max: 1.0
Probability that a non-malaria fever occurs given that no concurrent malaria fever occurs.
Attributes
interpolation
interpolation=("none" or "linear")
Interpolation algorithm. Normally it is desirable for age-based values to be continuous w.r.t. age. By default linear interpolation is used. With all algorithms except "none", the age groups are converted to a set of points centred within each age range. Extra points are added at each end (zero and infinity) to keep value constant at both ends of the function. A zero-length age group may be used as a kind of barrier to adjust the distribution; e.g. with age group boundaries at 15, 20 and 25 years, a (linear) spline would be drawn between ages 17.5 and 22.5, whereas with boundaries at 15, 20 and 20 years, a spline would be drawn between ages 17.5 and 20 years (may be desired if individuals are assumed to reach adult size at 20). Algorithms:
- none: input values are used directly
- linear: straight lines (on an age vs. value graph) are used to interpolate data points.
P(need treatment | NMF)
→ scenario → model → clinical → NonMalariaFevers → prNeedTreatmentNMF
<prNeedTreatmentNMF
[ interpolation=("none" or "linear") ]
>
IN THIS ORDER:
| ( <group ... /> )+
</prNeedTreatmentNMF>
Documentation (element)
Units: Dimensionless Min: 0 Max: 1
Probability that a non-malarial fever requires treatment with antibiotics (assuming fever is not induced by malaria, although concurrent parasites may be present).
Attributes
interpolation
interpolation=("none" or "linear")
Interpolation algorithm. Normally it is desirable for age-based values to be continuous w.r.t. age. By default linear interpolation is used. With all algorithms except "none", the age groups are converted to a set of points centred within each age range. Extra points are added at each end (zero and infinity) to keep value constant at both ends of the function. A zero-length age group may be used as a kind of barrier to adjust the distribution; e.g. with age group boundaries at 15, 20 and 25 years, a (linear) spline would be drawn between ages 17.5 and 22.5, whereas with boundaries at 15, 20 and 20 years, a spline would be drawn between ages 17.5 and 20 years (may be desired if individuals are assumed to reach adult size at 20). Algorithms:
- none: input values are used directly
- linear: straight lines (on an age vs. value graph) are used to interpolate data points.
P(need treatment | MF)
→ scenario → model → clinical → NonMalariaFevers → prNeedTreatmentMF
<prNeedTreatmentMF
[ interpolation=("none" or "linear") ]
>
IN THIS ORDER:
| ( <group ... /> )+
</prNeedTreatmentMF>
Documentation (element)
Units: Dimensionless Min: 0 Max: 1
Probability that a malaria fever needs treatment with antibiotics (assuming fever is induced by malaria, although concurrent bacteria may be present).
Meaning partially overlaps with separate model for comorbidity given malaria.
Attributes
interpolation
interpolation=("none" or "linear")
Interpolation algorithm. Normally it is desirable for age-based values to be continuous w.r.t. age. By default linear interpolation is used. With all algorithms except "none", the age groups are converted to a set of points centred within each age range. Extra points are added at each end (zero and infinity) to keep value constant at both ends of the function. A zero-length age group may be used as a kind of barrier to adjust the distribution; e.g. with age group boundaries at 15, 20 and 25 years, a (linear) spline would be drawn between ages 17.5 and 22.5, whereas with boundaries at 15, 20 and 20 years, a spline would be drawn between ages 17.5 and 20 years (may be desired if individuals are assumed to reach adult size at 20). Algorithms:
- none: input values are used directly
- linear: straight lines (on an age vs. value graph) are used to interpolate data points.
human
<human>
IN THIS ORDER:
| <availabilityToMosquitoes ... />
| [ <weight ... /> ]
</human>
Documentation (type)
Parameters of host models.
Availability to mosquitoes
→ scenario → model → human → availabilityToMosquitoes
<availabilityToMosquitoes
[ interpolation=("none" or "linear") ]
>
IN THIS ORDER:
| ( <group ... /> )+
</availabilityToMosquitoes>
Documentation (element)
Units: None Min: 0 Max: 1
Availability of humans to mosquitoes relative to an adult, categorized by age group
Attributes
interpolation
interpolation=("none" or "linear")
Interpolation algorithm. Normally it is desirable for age-based values to be continuous w.r.t. age. By default linear interpolation is used. With all algorithms except "none", the age groups are converted to a set of points centred within each age range. Extra points are added at each end (zero and infinity) to keep value constant at both ends of the function. A zero-length age group may be used as a kind of barrier to adjust the distribution; e.g. with age group boundaries at 15, 20 and 25 years, a (linear) spline would be drawn between ages 17.5 and 22.5, whereas with boundaries at 15, 20 and 20 years, a spline would be drawn between ages 17.5 and 20 years (may be desired if individuals are assumed to reach adult size at 20). Algorithms:
- none: input values are used directly
- linear: straight lines (on an age vs. value graph) are used to interpolate data points.
Weight
→ scenario → model → human → weight
<weight
[ interpolation=("none" or "linear") ]
multStdDev=double
>
IN THIS ORDER:
| ( <group ... /> )+
</weight>
Documentation (element)
Units: kg Min: 0
By age group data on human weight (mass).
Attributes
interpolation
interpolation=("none" or "linear")
Interpolation algorithm. Normally it is desirable for age-based values to be continuous w.r.t. age. By default linear interpolation is used. With all algorithms except "none", the age groups are converted to a set of points centred within each age range. Extra points are added at each end (zero and infinity) to keep value constant at both ends of the function. A zero-length age group may be used as a kind of barrier to adjust the distribution; e.g. with age group boundaries at 15, 20 and 25 years, a (linear) spline would be drawn between ages 17.5 and 22.5, whereas with boundaries at 15, 20 and 20 years, a spline would be drawn between ages 17.5 and 20 years (may be desired if individuals are assumed to reach adult size at 20). Algorithms:
- none: input values are used directly
- linear: straight lines (on an age vs. value graph) are used to interpolate data points.
Standard deviation
multStdDev=double
Units: None Min: 0
Each human is assigned a weight multiplier from a normal distribution with mean 1 and this standard deviation at birth. His/her weight is this multiplier times the mean from age distribution. A standard deviation of zero for no heterogeneity is valid; a rough value from Tanzanian data is 0.14.
Vivax model parameters
<vivax>
IN ANY ORDER:
| <probBloodStageInfectiousToMosq ... />
| <hypnozoiteRelease ... />
| <bloodStageProtectionLatency ... />
| <bloodStageLengthDays ... />
| <clinicalEvents ... />
</vivax>
- probBloodStageInfectiousToMosq
- hypnozoiteRelease
- bloodStageProtectionLatency
- bloodStageLengthDays
- clinicalEvents
Documentation (element)
This describes Vivax model parameters, and is required when using the VIVAX_SIMPLE_MODEL model option.
Probability of mosquito infection
→ scenario → model → vivax → probBloodStageInfectiousToMosq
<probBloodStageInfectiousToMosq
value=double
/>
Documentation (element)
Units: None Min: 0 Max: 1
The chance of a feeding mosquito becoming infected, given that the host is patent. (This may be adjusted by transmission-blocking vaccines.)
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Hypnozoite releases
→ scenario → model → vivax → hypnozoiteRelease
<hypnozoiteRelease
[ pSecondRelease=double ] DEFAULT VALUE 0
>
IN ANY ORDER:
| <numberHypnozoites ... />
| <firstReleaseDays ... />
| [ <secondReleaseDays ... /> ]
</hypnozoiteRelease>
Documentation (element)
Describes the number and times of hypnozoite releases.
Documentation (type)
This element defines probabilites when and how many hypnozoites are released from the liverstage into the blood.
The gap between the start of a new brood of hypnozoites and its release are defined as follows:
latentP + latentRelapse + randomReleaseDelay
randomReleaseDelay is based on one or two lognormal distributions, which are defined in firstRelease and optionally secondRelease.
You can define 2 release distributions, which get added together and represent the probability of hypnozoites which get released before winter (first release) or after (second release).
You can omit the secondRelease element if no release to the blood happens after winter.
Attributes
latent relapse days
pSecondRelease=double
Default value: 0
Probability of a second release. If undefined it is zero.
Number of Hypnozoites
→ scenario → model → vivax → hypnozoiteRelease → numberHypnozoites
<numberHypnozoites
max=int
base=double
/>
Documentation (element)
numberHypnozoites calculates the number of hypnozoites in the liver stage based on a base which is between 0 and 1.
This number is random based on the following distribution and normalized:
max ∑ (base ^ n) n = 0
Attributes
max
max=int
base
base=double
firstReleaseDays
→ scenario → model → vivax → hypnozoiteRelease → firstReleaseDays
<firstReleaseDays
[ CV=double ]
[ distr=("const" or "lognormal") ] DEFAULT VALUE const
mean=double
latentRelapse=double
/>
Documentation (type)
Hypnozoites are released after a delay, calculated as: roundToTSFromDays(delay + latentRelapse)
Here, roundToTSFromDays rounds the input (in days) to the nearest timestep, delay is sampled from a log-normal, and latentRelapse is the parameter specified here.
The delay is sampled from a log-normal distribution, parameterised via the (linear) mean and CV (coefficient of variation) given here.
Documentation (base type)
A parameter with optional log-normal heterogeneity.
The mean value must be specified. Optionally, a distribution ("distr") and coefficient of variation ("CV") may be specified.
Documentation (base type)
A parameter with optional heterogeneity.
The mean cannot be specified (unless this type is extended). Optionally, a distribution ("distr") and coefficient of variation ("CV") may be specified.
Attributes
Coefficient of variation
CV=double
Units: unitless
The (linear) coefficient of variation. This value must be specified when a (non-constant) distribution is used. Note that specifying CV="0" has the same effect as distr="const" and disables sampling of this parameter, even if distr is not "const".
Distribution
distr=("const" or "lognormal")
Default value: const
To allow heterogeneity, a distribution must be specified. Valid options are as follows. "const": no variation or sampling. Specifying distr="const" has the same effect as not specifying distr at all. "lognormal": the parameter is sampled from a log-normal distribution. Note that the "mean" and "CV" values are linear (arithmetic) properties of the distribution and not log-space properties.
mean
mean=double
The (linear) mean value.
latent relapse days
latentRelapse=double
Usually between 10 and 15 days.
secondReleaseDays
→ scenario → model → vivax → hypnozoiteRelease → secondReleaseDays
<secondReleaseDays
[ CV=double ]
[ distr=("const" or "lognormal") ] DEFAULT VALUE const
mean=double
latentRelapse=double
/>
Documentation (type)
Hypnozoites are released after a delay, calculated as: roundToTSFromDays(delay + latentRelapse)
Here, roundToTSFromDays rounds the input (in days) to the nearest timestep, delay is sampled from a log-normal, and latentRelapse is the parameter specified here.
The delay is sampled from a log-normal distribution, parameterised via the (linear) mean and CV (coefficient of variation) given here.
Documentation (base type)
A parameter with optional log-normal heterogeneity.
The mean value must be specified. Optionally, a distribution ("distr") and coefficient of variation ("CV") may be specified.
Documentation (base type)
A parameter with optional heterogeneity.
The mean cannot be specified (unless this type is extended). Optionally, a distribution ("distr") and coefficient of variation ("CV") may be specified.
Attributes
Coefficient of variation
CV=double
Units: unitless
The (linear) coefficient of variation. This value must be specified when a (non-constant) distribution is used. Note that specifying CV="0" has the same effect as distr="const" and disables sampling of this parameter, even if distr is not "const".
Distribution
distr=("const" or "lognormal")
Default value: const
To allow heterogeneity, a distribution must be specified. Valid options are as follows. "const": no variation or sampling. Specifying distr="const" has the same effect as not specifying distr at all. "lognormal": the parameter is sampled from a log-normal distribution. Note that the "mean" and "CV" values are linear (arithmetic) properties of the distribution and not log-space properties.
mean
mean=double
The (linear) mean value.
latent relapse days
latentRelapse=double
Usually between 10 and 15 days.
Blood stage protection latency
→ scenario → model → vivax → bloodStageProtectionLatency
<bloodStageProtectionLatency
value=double
/>
Documentation (element)
Min: 0
The length of time after expiry of a blood-stage infection during which relapses from the same brood are supressed by the immune system.
This is rounded to the nearest time-step.
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Blood stage length
→ scenario → model → vivax → bloodStageLengthDays
<bloodStageLengthDays
scale=double
shape=double
distr=("weibull")
/>
Documentation (element)
Units: Days
Parameters used to sample the length of blood-stage infections from a Weibull distribution (scale parameter lambda, shape parameter k).
Documentation (type)
Parameters of a Weibull distribution.
Attributes
Scale
scale=double
The Weibull scale parameter (λ).
shape
shape=double
The Weibull shape parameter (k).
Distribution
distr=("weibull")
To allow heterogeneity, a distribution must be specified. In this case, only "weibull" is allowed.
clinicalEvents
→ scenario → model → vivax → clinicalEvents
<clinicalEvents>
IN THIS ORDER:
| <pPrimaryInfection ... />
| <pRelapseOne ... />
| <pRelapseTwoPlus ... />
| <pEventIsSevere ... />
</clinicalEvents>
Documentation (type)
This elements holds all information about probabilites for clinical events from infections and relapses.
pPrimaryInfection
→ scenario → model → vivax → clinicalEvents → pPrimaryInfection
<pPrimaryInfection
a=double
b=double
/>
Attributes
a
a=double
b
b=double
pRelapseOne
→ scenario → model → vivax → clinicalEvents → pRelapseOne
<pRelapseOne
a=double
b=double
/>
Attributes
a
a=double
b
b=double
pRelapseTwoPlus
→ scenario → model → vivax → clinicalEvents → pRelapseTwoPlus
<pRelapseTwoPlus
a=double
b=double
/>
Attributes
a
a=double
b
b=double
pEventIsSevere
→ scenario → model → vivax → clinicalEvents → pEventIsSevere
<pEventIsSevere
value=double
/>
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Parameters of the model of epidemiology
→ scenario → model → parameters
<parameters
interval=int
iseed=int
latentp=string
>
IN THIS ORDER:
| ( <parameter ... /> )+
</parameters>
Documentation (element)
Parameters of the epidemiological model
Attributes
Simulation step
interval=int
Units: Days
Simulation step
Random number seed
iseed=int
Units: Number
Seed for RNG
Pre-erythrocytic latent period
latentp=string
Units: User defined (default: steps) Min: 0 Max: 20
Pre-erythrocytic latent period Can be specified in steps (e.g. 3t) or days (e.g. 15d).
parameter
→ scenario → model → parameters → parameter
<parameter
[ name=string ]
number=int
value=double
[ include=boolean ]
/>
Attributes
Name of parameter
name=string
Units: string
Name of parameter
Parameter number
number=int
Units: Number Min: 1 Max: 100
Reference number of input parameter
Parameter value
value=double
Units: Number Min: 0
Parameter value
Sampling indicator
include=boolean
Units: Number Min: 0 Max: 1
True if parameter is to be sampled in optimization runs. Not used in simulator app.
Schema 42 documentation
Generated from: scenario_42.xsd
.
Key:
abc required (one)
[ def ] optional (zero or one)
( ghi )* any number (zero or more)
( jkl )+ at least one
( mno ){2,inf} two or more occurrences
Scenario
→ scenario
<scenario
schemaVersion=int
[ analysisNo=int ]
name=string
[ wuID=int ]
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:om="http://openmalaria.org/schema/scenario_42"
xsi:schemaLocation="http://openmalaria.org/schema/scenario_42 scenario_42.xsd"
>
IN ANY ORDER:
| <demography ... />
| <monitoring ... />
| <interventions ... />
| <healthSystem ... />
| <entomology ... />
| [ <parasiteGenetics ... /> ]
| [ <pharmacology ... /> ]
| [ <diagnostics ... /> ]
| <model ... />
</scenario>
- demography
- monitoring
- interventions
- healthSystem
- entomology
- parasiteGenetics
- pharmacology
- diagnostics
- model
Documentation (element)
Description of scenario
Attributes
Version of the xml schema
schemaVersion=int
Version of xml schema. If not equal to the current version an error is thrown. Use SchemaTranslator to update xml files.
Reference number of the analysis
analysisNo=int
Units: Number Min: 1 Max: 100000000
Unique identifier of scenario
Name of intervention
name=string
Name of intervention
Work unit identifier
wuID=int
Units: Number
Work unit ID. Obselete and no longer required.
Human age distribution
→ scenario → demography
<demography
name=string
popSize=int
maximumAgeYrs=double
[ growthRate=double ]
>
IN THIS ORDER:
| <ageGroup ... />
</demography>
Documentation (element)
Description of demography
Attributes
Name of demography data
name=string
Name of demography data
Population size
popSize=int
Units: Count Min: 1 Max: 100000
Population size
Maximum age of simulated humans
maximumAgeYrs=double
Units: Years Min: 0 Max: 100
Maximum age of simulated humans in years
Growth rate of human population
growthRate=double
Units: Number Min: 0 Max: 0
Growth rate of human population. (we should be able to implement this with non-zero values)
Age groups
→ scenario → demography → ageGroup
<ageGroup
lowerbound=double
>
IN THIS ORDER:
| ( <group ... /> )+
</ageGroup>
Documentation (element)
list of age groups included in demography
Documentation (type)
list of age groups included in demography or surveys
Attributes
Lower bound of age group
lowerbound=double
Units: Years Min: 0 Max: 100
Lower bound of age group
group
→ scenario → demography → ageGroup → group
<group
poppercent=double
upperbound=double
/>
Attributes
Percentage in age group
poppercent=double
Units: Percentage Min: 0 Max: 100
Percentage of human population in age group
Upper bound of age group
upperbound=double
Units: Years Min: 0 Max: 100
Upper bound of age group
Measures to be reported
→ scenario → monitoring
<monitoring
name=string
[ startDate=string ]
>
IN THIS ORDER:
| [ <continuous ... /> ]
| <SurveyOptions ... />
| <surveys ... />
| <ageGroup ... />
| [ <cohorts ... /> ]
</monitoring>
Documentation (element)
Description of surveys
Attributes
Name of monitoring settings
name=string
Name of monitoring settings
Start of monitoring
startDate=string
An optional date for the start of monitoring. If given, dates may be used to specify when other events (surveys, intervention deployments) occur; alternately times relative to the start of the intervention period may be used to specify event times. Setting this to 1st January of some year might simplify usage of dates, and putting the start a couple of years before the start of intervention deployment (along with some extra surveys) may be useful to check transmission stabilises to the expected pre-intervention levels. As an example, if this date is set to 2000-01-01, then the following event times are equivalent (assuming 1t=5d): 15t, 75d, 0.2y, 2000-03-16. Must be in the form YYYY-MM-DD, e.g. 2003-01-01.
continuous
→ scenario → monitoring → continuous
<continuous
period=string
[ duringInit=boolean ]
>
IN THIS ORDER:
| ( <option ... /> )*
</continuous>
Attributes
Delay between reports
period=string
Units: User defined (default: steps)
Delay between reports; typically one time step but can be greater. Can be specified in steps (e.g. 1t) or days (e.g. 5d).
During initialization
duringInit=boolean
Units: Days Min: 1 Max: unbounded
Also output during initialization. By default this is disabled (only intervention-period data is output). This should not be used for predictions, but can be useful for model validation. In this mode, 'simulation time' is output as the first column (in addition to 'timestep'), since 'timestep' is dis- continuous across the start of the intervention period.
option
→ scenario → monitoring → continuous → option
<option
name=string
[ value=boolean ] DEFAULT VALUE true
/>
Attributes
Option name
name=string
Name of an option (monitoring measure or model option).
Indicator of whether option is required
value=boolean
Default value: true
Option on/off switch (true/false). Specifying value="true" is the same as not specifying a value; specifying value="false" explicitly turns the option off. If an option is not mentioned at all, it is left at its default value (normally off, but in a few cases, such as some bug-fix options, on).
Name of quantity
→ scenario → monitoring → SurveyOptions
<SurveyOptions
[ onlyNewEpisode=boolean ] DEFAULT VALUE false
>
IN THIS ORDER:
| ( <option ... /> )*
</SurveyOptions>
Documentation (element)
List of all active survey options. See model/mon/OutputMeasures.h for a list of supported outputs. Should also be on the wiki.
Attributes
Report only for new cases
onlyNewEpisode=boolean
Default value: false
If set, some statistics exclude humans who have been treated in the recent past (precisely, when the time of last treatment was before the current step and no more than health-system-memory days/steps ago). This is a rough replacement for the REPORT_ONLY_AT_RISK option, with one difference: the maximum age of treatment for REPORT_ONLY_AT_RISK was fixed at 20 days. Affected measures include (as of version 35): nHost (0), nInfect(1), nExpectd (2), nPatent (3), sumLogPyrogenThres (4), sumlogDens (5), totalInfs (6), totalPatentInf (8), sumPyrogenThresh (10), nSubPopRemovalFirstEvent (62), sumAge (68), nInfectByGenotype (69), nPatentByGenotype (70), logDensByGenotype (71), nHostDrugConcNonZero (72), sumLogDrugConcNonZero (73).
option
→ scenario → monitoring → SurveyOptions → option
<option
name=string
[ value=boolean ] DEFAULT VALUE true
[ outputNumber=int ]
[ byAge=boolean ]
[ byCohort=boolean ]
[ bySpecies=boolean ]
[ byGenotype=boolean ]
[ byDrugType=boolean ]
/>
Attributes
Option name
name=string
Name of an option (monitoring measure or model option).
Indicator of whether option is required
value=boolean
Default value: true
Option on/off switch (true/false). Specifying value="true" is the same as not specifying a value; specifying value="false" explicitly turns the option off. If an option is not mentioned at all, it is left at its default value (normally off, but in a few cases, such as some bug-fix options, on).
Number identifying measure in output
outputNumber=int
Number identifying this monitoring measure in the output file (3rd column). Normally this is determined from the measure, but it can be set manually, e.g. for when the same measure is recorded twice (to accumulate across different categories).
Report by age category
byAge=boolean
If true, the measure is reported for each age category. If false, values are summed across all age categories and only the sum reported. If not specified, separate categories will be reported if the measure supports this.
Report by cohort
byCohort=boolean
If true, the measure is reported for each cohort separately. If false, values are summed across all cohorts and only the sum reported. If not specified, separate categories will be reported if the measure supports this.
Report by mosquito species
bySpecies=boolean
If true, the measure is reported for each mosquito species separately. If false, values are summed across all species and only the sum reported. If not specified, separate categories will be reported if the measure supports this.
Report by parasite genotype
byGenotype=boolean
If true, the measure is reported for each parasite genotype separately. If false, values are summed across all genotypes and only the sum reported. If not specified, separate categories will be reported if the measure supports this.
Report by drug type
byDrugType=boolean
If true, the measure is reported for each drug type separately. If false, values are summed across all drug types and only the sum reported. If not specified, separate categories will be reported if the measure supports this.
Survey times (time steps)
→ scenario → monitoring → surveys
<surveys
[ detectionLimit=double ]
[ diagnostic=string ]
>
IN THIS ORDER:
| ( <surveyTime ... /> )+
</surveys>
Documentation (element)
List of survey times
Attributes
Detection limit for parasitaemia
detectionLimit=double
Units: parasites/microlitre Min: 0
Deprecated: limit above which a human's infection is reported as patent. Alternative: do not specify this; instead specify "diagnostic".
Name of monitoring diagnostic
diagnostic=string
Name of a parameterised diagnostic to use in surveys (see scenario/diagnostics).
Survey time
→ scenario → monitoring → surveys → surveyTime
<surveyTime
[ repeatStep=string ]
[ repeatEnd=string ]
[ reported=boolean ] DEFAULT VALUE true
>
string
</surveyTime>
Documentation (element)
Units: User defined (defaults to steps) Min: 0
Time of a survey. A report will be made for those measures enabled under SurveyOptions. Reported data is either from the moment the survey is done (immediate data) or is collected over the time since the previous survey, or in some cases over a fixed time span (usually one year).
Times can be specified in time steps, starting from 0, or as a date (see monitoring/startDate), or in days (e.g. 15d) or years (e.g. 1y). Relative times mean the time since the start of the intervention period, and must be non-negative (zero is valid, but some measures, e.g. nUncomp, will be zero).
The simulation ends immediately after the last survey is taken.
Attributes
Step of repetition
repeatStep=string
Units: User defined
See repeatEnd's documentation.
End of repetition (exclusive)
repeatEnd=string
Units: User defined
Either both repeatStep and repeatEnd should be present or neither. If present, the survey is repeated every repeatStep timesteps (i.e. if t0 is the initial time and x is repeatStep, surveys are done at times t0, t0+x, t0+2*x, ...), ending before repeatEnd (final repetition is the one before repeatEnd). Note that repeatEnd may be specified as a date but repeatStep must be a duration (days, steps or years).
reported
reported=boolean
Default value: true
For normal surveys, reporting=true. If set false, quantities are measured but not reported. The reason for doing this is to update conditions set on reportable measures. Multiple surveys may be given here for the same date, e.g. if using "repeatStep" for both reporting and non-reporting surveys. These are combined such that a maximum of one survey is carried out per time-step, and the survey is reported if any of the listed surveys for this date is configured as "reporting". Note that adding non-reporting surveys will not affect value output by reported surveys, with the exception that generated psuedo-random numbers may be altered (specifically, when any stochastic diagnostics are used in surveys).
Age groups
→ scenario → monitoring → ageGroup
<ageGroup
lowerbound=double
>
IN THIS ORDER:
| ( <group ... /> )+
</ageGroup>
Documentation (element)
List of age groups included in demography or surveys
Attributes
lower bound of age group
lowerbound=double
Units: Years Min: 0 Max: 100
Lower bound of age group
group
→ scenario → monitoring → ageGroup → group
<group
upperbound=double
/>
Attributes
upper bound of age group
upperbound=double
Units: Years Min: 0 Max: 100
Upper bound of age group
Cohorts
→ scenario → monitoring → cohorts
<cohorts>
IN THIS ORDER:
| ( <subPop ... /> )+
</cohorts>
Documentation (element)
Allows the configuration of multiple cohorts (output segregated according to membership within specific sub-populations).
If this element is omitted, monitoring surveys cover the entire simulated human population.
It does not affect the "continuous" outputs (these never take cohorts into account).
Sub-population
→ scenario → monitoring → cohorts → subPop
<subPop
id=string
number=integer
/>
Documentation (element)
Consider a certain sup-population a cohort, and segregate outputs according to membership. Where multiple sub-populations are listed, segregate output according to all combinations of membership: e.g. if sub-populations A and B are listed, there will be outputs for "member of A and B", "member of A but not B", "B but not A" and "not a member of A or B". Listing n sub-populations implies 2^n sets of outputs (each is further segregated by age groups, survey times and enabled output measures, which could lead to excessive program memory usage and output file size).
To identify outputs, each sub-population has a power of two number as identifier (see "number" attribute). Each of the 2^n output sets is identified by a number: the output set is the output from humans who are members in some set of sub-populations (S1, S2, ...) and not members in some others (T1, T2, ...); the number identifying the set is the sum of the numbers identifying the sets S1, S2, etc.
In the output file, the output set is identified by multiplying this number by 1000 then adding it to the age group column.
Attributes
Sub-population identifier
id=string
Textual identifier for the sub-population (i.e. for an intervention component, since sub-populations are defined as the hosts an intervention component is deployed to).
Sub-population number
number=integer
Units: dimensionless Min: 1 Max: 2097152
Number identifying a sub-population; used to define identifiers of output sets. This number must be a power of 2 (i.e. 1, 2, 4, 8, ...). See documentation of subPop element.
Preventative interventions
<interventions
name=string
>
IN ANY ORDER:
| [ <changeHS ... /> ]
| [ <changeEIR ... /> ]
| [ <importedInfections ... /> ]
| [ <insertR_0Case ... /> ]
| [ <uninfectVectors ... /> ]
| [ <vectorPop ... /> ]
| [ <vectorTrap ... /> ]
| [ <human ... /> ]
</interventions>
Documentation (element)
List of interventions. Generally these are either point-time distributions of something to some subset of the population, or continuous-time distribution targetting individuals when they reach a certain age.
Attributes
Name of intervention set
name=string
Name of set of interventions
Change health system
→ scenario → interventions → changeHS
<changeHS
[ name=string ]
>
IN THIS ORDER:
| ( <timedDeployment ... /> )*
</changeHS>
Documentation (element)
Changes to the health system
Attributes
Name of intervention
name=string
Name of intervention
timedDeployment
→ scenario → interventions → changeHS → timedDeployment
<timedDeployment
time=string
>
IN THIS ORDER:
| EXACTLY ONE OF:
| | <EventScheduler ... />
| | <ImmediateOutcomes ... />
| | <DecisionTree5Day ... />
| <CFR ... />
| <pSequelaeInpatient ... />
</timedDeployment>
Documentation (type)
A complete replacement health system. Replaces all previous properties. (Health system can be replaced multiple times if necessary.)
Documentation (base type)
Description of case management system, used to specify the initial model or a replacement (an intervention). Encompasses case management data and some other data required to derive case outcomes.
Contains a sub-element describing the particular health-system in use. Health system data is here defined as data used to decide on a treatment strategy, given a case requiring treatment.
Attributes
Time
time=string
Units: User defined (defauls to steps) Min: 0
Time at which this replacement occurs. See doc on intervention period and on monitoring/startDate for details of how times work. Can be specified in steps, days, years, or as a date (examples: 15t, 75d, 0.2y, 2000-03-16).
EventScheduler
→ scenario → healthSystem → EventScheduler
<EventScheduler>
IN THIS ORDER:
| <uncomplicated ... />
| <complicated ... />
| <ClinicalOutcomes ... />
| [ <NonMalariaFevers ... /> ]
</EventScheduler>
uncomplicated
→ scenario → healthSystem → EventScheduler → uncomplicated
<uncomplicated
[ name=string ]
>
EXACTLY ONE OF:
| <multiple ... />
| <caseType ... />
| <diagnostic ... />
| <random ... />
| <age ... />
| <noTreatment ... />
| <treatFailure ... />
| ( <treatPKPD ... /> )+
| <treatSimple ... />
| ( <deploy ... /> )+
</uncomplicated>
Documentation (type)
Describes how "decisions" are made, both probabilistically and deterministically, and what actions are carried out.
Quantities may also be reported as a side effect of decisions made in the tree, for example the number of diagnostics used.
Attributes
Name
name=string
An optional piece of documentation attached to this node.
multiple
→ scenario → interventions → human → component → decisionTree → multiple
<multiple
[ name=string ]
>
IN THIS ORDER:
| ( <caseType ... /> )*
| ( <diagnostic ... /> )*
| ( <random ... /> )*
| ( <age ... /> )*
| ( <treatPKPD ... /> )*
| [ <treatSimple ... /> ]
| ( <deploy ... /> )*
</multiple>
Documentation (type)
A special node allowing multiple sub-trees to be evaluated.
This is different from an ordinary decision tree node in that:
a) multiple types of child can occur simultaneously (e.g. multiple types of treatment or treatment plus a 'random' sub-tree)
b) the 'noTreatment' and 'treatFailure' nodes are not allowed
Attributes
Name
name=string
An optional piece of documentation attached to this node.
caseType
→ scenario → interventions → human → component → decisionTree → multiple → caseType
<caseType
[ name=string ]
>
IN ANY ORDER:
| <firstLine ... />
| <secondLine ... />
</caseType>
Documentation (type)
A switch which choses a branch deterministically, based on whether the patient was treated recently (second line) or not (first line).
For uncomplicated cases only.
Attributes
Name
name=string
An optional piece of documentation attached to this node.
firstLine
→ scenario → interventions → human → component → decisionTree → multiple → caseType → firstLine
<firstLine
[ name=string ]
>
EXACTLY ONE OF:
| <multiple ... />
| <caseType ... />
| <diagnostic ... />
| <random ... />
| <age ... />
| <noTreatment ... />
| <treatFailure ... />
| ( <treatPKPD ... /> )+
| <treatSimple ... />
| ( <deploy ... /> )+
</firstLine>
Documentation (type)
Describes how "decisions" are made, both probabilistically and deterministically, and what actions are carried out.
Quantities may also be reported as a side effect of decisions made in the tree, for example the number of diagnostics used.
Attributes
Name
name=string
An optional piece of documentation attached to this node.
caseType
→ scenario → interventions → human → component → decisionTree → caseType
<caseType
[ name=string ]
>
IN ANY ORDER:
| <firstLine ... />
| <secondLine ... />
</caseType>
Documentation (type)
A switch which choses a branch deterministically, based on whether the patient was treated recently (second line) or not (first line).
For uncomplicated cases only.
Attributes
Name
name=string
An optional piece of documentation attached to this node.
secondLine
→ scenario → interventions → human → component → decisionTree → multiple → caseType → secondLine
<secondLine
[ name=string ]
>
EXACTLY ONE OF:
| <multiple ... />
| <caseType ... />
| <diagnostic ... />
| <random ... />
| <age ... />
| <noTreatment ... />
| <treatFailure ... />
| ( <treatPKPD ... /> )+
| <treatSimple ... />
| ( <deploy ... /> )+
</secondLine>
Documentation (type)
Describes how "decisions" are made, both probabilistically and deterministically, and what actions are carried out.
Quantities may also be reported as a side effect of decisions made in the tree, for example the number of diagnostics used.
Attributes
Name
name=string
An optional piece of documentation attached to this node.
diagnostic
→ scenario → interventions → human → component → decisionTree → diagnostic
<diagnostic
diagnostic=string
[ name=string ]
>
IN ANY ORDER:
| <positive ... />
| <negative ... />
</diagnostic>
Documentation (type)
A switch which choses a branch deterministically, based on the outcome of some type of diagnostic.
Attributes
Name of diagnostic
diagnostic=string
Should match the name of some parameterised diagnostic (see scenario/diagnostics).
Name
name=string
An optional piece of documentation attached to this node.
positive
→ scenario → interventions → human → component → decisionTree → multiple → diagnostic → positive
<positive
[ name=string ]
>
EXACTLY ONE OF:
| <multiple ... />
| <caseType ... />
| <diagnostic ... />
| <random ... />
| <age ... />
| <noTreatment ... />
| <treatFailure ... />
| ( <treatPKPD ... /> )+
| <treatSimple ... />
| ( <deploy ... /> )+
</positive>
Documentation (type)
Describes how "decisions" are made, both probabilistically and deterministically, and what actions are carried out.
Quantities may also be reported as a side effect of decisions made in the tree, for example the number of diagnostics used.
Attributes
Name
name=string
An optional piece of documentation attached to this node.
random
→ scenario → interventions → human → component → decisionTree → random
<random
[ name=string ]
>
IN THIS ORDER:
| ( <outcome ... /> )+
</random>
Documentation (type)
A switch which choses a branch randomly.
Each branch must be listed with a probability; the sum of all these probabilities must equal 1.
Attributes
Name
name=string
An optional piece of documentation attached to this node.
outcome
→ scenario → interventions → human → component → decisionTree → multiple → random → outcome
<outcome
[ name=string ]
p=double
>
EXACTLY ONE OF:
| <multiple ... />
| <caseType ... />
| <diagnostic ... />
| <random ... />
| <age ... />
| <noTreatment ... />
| <treatFailure ... />
| ( <treatPKPD ... /> )+
| <treatSimple ... />
| ( <deploy ... /> )+
</outcome>
Documentation (base type)
Describes how "decisions" are made, both probabilistically and deterministically, and what actions are carried out.
Quantities may also be reported as a side effect of decisions made in the tree, for example the number of diagnostics used.
Attributes
Name
name=string
An optional piece of documentation attached to this node.
Probability
p=double
Units: None Min: 0 Max: 1
Probability of selecting this outcome. The sum of probabilities across all outcomes must be 1.
age
→ scenario → interventions → human → component → decisionTree → age
<age
[ name=string ]
>
IN THIS ORDER:
| ( <age ... /> )+
</age>
Documentation (type)
A switch which choses a branch deterministically, based on the patient's age (in years).
Categories must uniquely cover all ages from birth, with no upper bound. Categories must be listed in order of age, increasing; the first must have lower bound 0. Upper bounds are equal to the lower bound of the next category, (but are exclusive where lower bounds are inclusive); the last category has no upper bound.
Attributes
Name
name=string
An optional piece of documentation attached to this node.
Age range
→ scenario → interventions → human → component → decisionTree → multiple → age → age
<age
[ name=string ]
lb=double
>
EXACTLY ONE OF:
| <multiple ... />
| <caseType ... />
| <diagnostic ... />
| <random ... />
| <age ... />
| <noTreatment ... />
| <treatFailure ... />
| ( <treatPKPD ... /> )+
| <treatSimple ... />
| ( <deploy ... /> )+
</age>
Documentation (element)
Describes a branch, selected for patients of a certain age.
Documentation (base type)
Describes how "decisions" are made, both probabilistically and deterministically, and what actions are carried out.
Quantities may also be reported as a side effect of decisions made in the tree, for example the number of diagnostics used.
Attributes
Name
name=string
An optional piece of documentation attached to this node.
Lower bound (inclusive)
lb=double
Min: 0
noTreatment
→ scenario → interventions → human → component → decisionTree → noTreatment
<noTreatment
[ name=string ]
/>
Documentation (type)
An end node doing nothing. This exists to explicitly state that no treatment happens and to prevent trees from accidentally being left incomplete.
Attributes
Name
name=string
An optional piece of documentation attached to this node.
treatFailure
→ scenario → interventions → human → component → decisionTree → treatFailure
<treatFailure
[ name=string ]
/>
Documentation (type)
An end node which reports treatment but does not change parasitalogical status. This allows correct labelling of second-line cases.
Attributes
Name
name=string
An optional piece of documentation attached to this node.
treatPKPD
→ scenario → interventions → human → component → decisionTree → treatPKPD
<treatPKPD
schedule=string
dosage=string
[ delay_h=double ] DEFAULT VALUE 0
/>
Documentation (type)
A command to administer drugs according to a given schedule and dosage table, optionally with a delay.
Attributes
Name of treatment schedule
schedule=string
The name of a schedule to use for treatment.
Name of dosage table
dosage=string
The name of a dosage table to use for treatment.
Delay (hours)
delay_h=double
Default value: 0
Optionally, this can be given to delay the start of treatment by a given number of hours. If not specified, treatment is not delayed. If a delay is given, all medications within the treatment schedule used are delayed by this number of hours.
treatSimple
→ scenario → interventions → human → component → decisionTree → treatSimple
<treatSimple
durationLiver=string
durationBlood=string
/>
Documentation (type)
Simple treatment model, targetting liver- and/or blood-stage infections. This is all-or-nothing treatment which, when deploymed, completely clears all infections of the targetted stages. This makes it unsuitable for modeling resistance, but suitable for use with simple infection models.
Infections are considered liver-stage when less than five days old and blood-stage after that. Effects are described independently for the two stages.
Attributes
Length of liver-stage effect
durationLiver=string
Units: User defined
Controls action on liver-stage infections. 0 means no action, -1 step is a compatibility option to act like treatment before schema version 32 (which removed infections retrospectively), 1 step or any duration which equals some whole number of steps n>0 means to clear all liver-stage infections found on the next 1 or n steps. Note on -1 compatibility option: the main difference to 1 step (clearing on the next timestep) is that parasite densities will be reduced immediately, and thus from the point of view of surveys and mass screen and treat interventions a peak in density which is immediately treated through case management will not be seen. Can be specified in steps (e.g. 1t, -1t) or days (e.g. 5d).
Length of blood-stage effect
durationBlood=string
Units: User defined
Controls action on blood-stage infections. 0 means no action, -1 step is a compatibility option to act like treatment before schema version 32 (which removed infections retrospectively), 1 step or any duration which equals some whole number of steps n>0 means to clear all blood-stage infections found on the next 1 or n steps. Note on -1 compatibility option: the main difference to 1 step (clearing on the next timestep) is that parasite densities will be reduced immediately, and thus from the point of view of surveys and mass screen and treat interventions a peak in density which is immediately treated through case management will not be seen. Can be specified in steps (e.g. 1t, -1t) or days (e.g. 5d).
deploy
→ scenario → interventions → human → component → decisionTree → deploy
<deploy
component=string
/>
Documentation (type)
Deploy one or more intervention components.
Attributes
Component identifier
component=string
The identifier (short name) of a component.
negative
→ scenario → interventions → human → component → decisionTree → multiple → diagnostic → negative
<negative
[ name=string ]
>
EXACTLY ONE OF:
| <multiple ... />
| <caseType ... />
| <diagnostic ... />
| <random ... />
| <age ... />
| <noTreatment ... />
| <treatFailure ... />
| ( <treatPKPD ... /> )+
| <treatSimple ... />
| ( <deploy ... /> )+
</negative>
Documentation (type)
Describes how "decisions" are made, both probabilistically and deterministically, and what actions are carried out.
Quantities may also be reported as a side effect of decisions made in the tree, for example the number of diagnostics used.
Attributes
Name
name=string
An optional piece of documentation attached to this node.
diagnostic
→ scenario → interventions → human → component → decisionTree → multiple → diagnostic
<diagnostic
diagnostic=string
[ name=string ]
>
IN ANY ORDER:
| <positive ... />
| <negative ... />
</diagnostic>
Documentation (type)
A switch which choses a branch deterministically, based on the outcome of some type of diagnostic.
Attributes
Name of diagnostic
diagnostic=string
Should match the name of some parameterised diagnostic (see scenario/diagnostics).
Name
name=string
An optional piece of documentation attached to this node.
random
→ scenario → interventions → human → component → decisionTree → multiple → random
<random
[ name=string ]
>
IN THIS ORDER:
| ( <outcome ... /> )+
</random>
Documentation (type)
A switch which choses a branch randomly.
Each branch must be listed with a probability; the sum of all these probabilities must equal 1.
Attributes
Name
name=string
An optional piece of documentation attached to this node.
age
→ scenario → interventions → human → component → decisionTree → multiple → age
<age
[ name=string ]
>
IN THIS ORDER:
| ( <age ... /> )+
</age>
Documentation (type)
A switch which choses a branch deterministically, based on the patient's age (in years).
Categories must uniquely cover all ages from birth, with no upper bound. Categories must be listed in order of age, increasing; the first must have lower bound 0. Upper bounds are equal to the lower bound of the next category, (but are exclusive where lower bounds are inclusive); the last category has no upper bound.
Attributes
Name
name=string
An optional piece of documentation attached to this node.
treatPKPD
→ scenario → interventions → human → component → decisionTree → multiple → treatPKPD
<treatPKPD
schedule=string
dosage=string
[ delay_h=double ] DEFAULT VALUE 0
/>
Documentation (type)
A command to administer drugs according to a given schedule and dosage table, optionally with a delay.
Attributes
Name of treatment schedule
schedule=string
The name of a schedule to use for treatment.
Name of dosage table
dosage=string
The name of a dosage table to use for treatment.
Delay (hours)
delay_h=double
Default value: 0
Optionally, this can be given to delay the start of treatment by a given number of hours. If not specified, treatment is not delayed. If a delay is given, all medications within the treatment schedule used are delayed by this number of hours.
treatSimple
→ scenario → interventions → human → component → decisionTree → multiple → treatSimple
<treatSimple
durationLiver=string
durationBlood=string
/>
Documentation (type)
Simple treatment model, targetting liver- and/or blood-stage infections. This is all-or-nothing treatment which, when deploymed, completely clears all infections of the targetted stages. This makes it unsuitable for modeling resistance, but suitable for use with simple infection models.
Infections are considered liver-stage when less than five days old and blood-stage after that. Effects are described independently for the two stages.
Attributes
Length of liver-stage effect
durationLiver=string
Units: User defined
Controls action on liver-stage infections. 0 means no action, -1 step is a compatibility option to act like treatment before schema version 32 (which removed infections retrospectively), 1 step or any duration which equals some whole number of steps n>0 means to clear all liver-stage infections found on the next 1 or n steps. Note on -1 compatibility option: the main difference to 1 step (clearing on the next timestep) is that parasite densities will be reduced immediately, and thus from the point of view of surveys and mass screen and treat interventions a peak in density which is immediately treated through case management will not be seen. Can be specified in steps (e.g. 1t, -1t) or days (e.g. 5d).
Length of blood-stage effect
durationBlood=string
Units: User defined
Controls action on blood-stage infections. 0 means no action, -1 step is a compatibility option to act like treatment before schema version 32 (which removed infections retrospectively), 1 step or any duration which equals some whole number of steps n>0 means to clear all blood-stage infections found on the next 1 or n steps. Note on -1 compatibility option: the main difference to 1 step (clearing on the next timestep) is that parasite densities will be reduced immediately, and thus from the point of view of surveys and mass screen and treat interventions a peak in density which is immediately treated through case management will not be seen. Can be specified in steps (e.g. 1t, -1t) or days (e.g. 5d).
deploy
→ scenario → interventions → human → component → decisionTree → multiple → deploy
<deploy
component=string
/>
Documentation (type)
Deploy one or more intervention components.
Attributes
Component identifier
component=string
The identifier (short name) of a component.
complicated
→ scenario → healthSystem → EventScheduler → complicated
<complicated
[ name=string ]
>
EXACTLY ONE OF:
| <multiple ... />
| <caseType ... />
| <diagnostic ... />
| <random ... />
| <age ... />
| <noTreatment ... />
| <treatFailure ... />
| ( <treatPKPD ... /> )+
| <treatSimple ... />
| ( <deploy ... /> )+
</complicated>
Documentation (type)
Describes how "decisions" are made, both probabilistically and deterministically, and what actions are carried out.
Quantities may also be reported as a side effect of decisions made in the tree, for example the number of diagnostics used.
Attributes
Name
name=string
An optional piece of documentation attached to this node.
ClinicalOutcomes
→ scenario → healthSystem → EventScheduler → ClinicalOutcomes
<ClinicalOutcomes>
IN THIS ORDER:
| <maxUCSeekingMemory ... />
| <uncomplicatedCaseDuration ... />
| <complicatedCaseDuration ... />
| <complicatedRiskDuration ... />
| ( <dailyPrImmUCTS ... /> )+
</ClinicalOutcomes>
- maxUCSeekingMemory
- uncomplicatedCaseDuration
- complicatedCaseDuration
- complicatedRiskDuration
- dailyPrImmUCTS
Documentation (type)
Description of base parameters of the clinical model.
Max UC treatment-seeking memory
→ scenario → healthSystem → EventScheduler → ClinicalOutcomes → maxUCSeekingMemory
<maxUCSeekingMemory>
int
</maxUCSeekingMemory>
Documentation (element)
Units: Days Min: 0 Max: unbounded
Maximum number of timesteps (including first day of case) that an individual with an uncomplicated case of malaria will remember he/she was sick before resetting.
Uncomplicated case duration
→ scenario → healthSystem → EventScheduler → ClinicalOutcomes → uncomplicatedCaseDuration
<uncomplicatedCaseDuration>
int
</uncomplicatedCaseDuration>
Documentation (element)
Units: Days Min: 1 Max: unbounded
Fixed length of an uncomplicated case of malarial or non-malarial sickness (from treatment seeking until return to life-as-usual). Usually 3.
Complicated case duration
→ scenario → healthSystem → EventScheduler → ClinicalOutcomes → complicatedCaseDuration
<complicatedCaseDuration>
int
</complicatedCaseDuration>
Documentation (element)
Units: Days Min: 1 Max: unbounded
Fixed length of a complicated or severe case of malaria (from treatment seeking until return to life-as-usual).
Complicated risk duration
→ scenario → healthSystem → EventScheduler → ClinicalOutcomes → complicatedRiskDuration
<complicatedRiskDuration>
int
</complicatedRiskDuration>
Documentation (element)
Units: Days Min: 1 Max: unbounded
Number of days for which humans are at risk of death during a severe or complicated case of malaria. Cannot be greater than the duration of a complicated case or less than 1 day.
Daily probability of immediate treatment seeking for uncomplicated cases
→ scenario → healthSystem → EventScheduler → ClinicalOutcomes → dailyPrImmUCTS
<dailyPrImmUCTS>
double
</dailyPrImmUCTS>
Documentation (element)
Units: Dimensionless Min: 0.0 Max: 1.0
It is sometimes desirable to model delays to treatment-seeking in uncomplicated cases. While treatment of drugs can be delayed within case management trees to provide a similar effect, this doesn't delay any of the decisions, including diagnostics using the current parasite density.
Instead a list of dailyPrImmUCTS elements can be used, describing successive daily probabilities of treatment (sum must be 1). For example, with a list of two elements with values 0.8 and 0.2, for 80% of UC cases the decision tree is evaluated immediately, and for 20% of cases evaluation is delayed by one day.
For no delay, use one element with a value of 1.
NonMalariaFevers
→ scenario → healthSystem → EventScheduler → NonMalariaFevers
<NonMalariaFevers>
IN THIS ORDER:
| <prTreatment ... />
| <effectNegativeTest ... />
| <effectPositiveTest ... />
| <effectNeed ... />
| <effectInformal ... />
| <CFR ... />
| <TreatmentEfficacy ... />
</NonMalariaFevers>
Documentation (type)
Description of non-malaria fever health-system modelling (treatment, outcomes and costing). Incidence is described by the model->clinical->NonMalariaFevers element. Non-malaria fevers are only modelled if the NON_MALARIA_FEVERS option is used.
As further explanation of the parameters below, we first take: β₀ = logit(P₀) - β₃·P(need), and then calculate the probability of antibiotic administration, P(AB), dependent on treatment seeking location. No seeking: P(AB) = 0 Informal sector: logit(P(AB)) = β₀ + β₄ Health facility: logit(P(AB)) = β₀ + β₁·I(neg) + β₂·I(pos) + β₃·I(need) (where I(X) is 1 when event X is true and 0 otherwise, logit(p)=log(p/(1-p)), event "need" is the event that death may occur without treatment, events "neg" and "pos" are the events that a malaria parasite diagnositic was used and indicated no parasites and parasites respectively).
P(treatment|no diagnostic)
→ scenario → healthSystem → EventScheduler → NonMalariaFevers → prTreatment
<prTreatment>
double
</prTreatment>
Documentation (element)
Units: Dimensionless Min: 0.0 Max: 1.0
Probability of a non-malaria fever being treated with an antibiotic given that no malaria diagnostic was used but independent of need. Symbol: P₀.
Effect of a negative test
→ scenario → healthSystem → EventScheduler → NonMalariaFevers → effectNegativeTest
<effectNegativeTest>
double
</effectNegativeTest>
Documentation (element)
The effect of a negative malaria diagnostic on the odds ratio of receiving antibiotics. Symbol: exp(β₁).
Effect of a positive test
→ scenario → healthSystem → EventScheduler → NonMalariaFevers → effectPositiveTest
<effectPositiveTest>
double
</effectPositiveTest>
Documentation (element)
The effect of a positive malaria diagnostic on the odds ratio of receiving antibiotics. Symbol: exp(β₂).
Effect of need
→ scenario → healthSystem → EventScheduler → NonMalariaFevers → effectNeed
<effectNeed>
double
</effectNeed>
Documentation (element)
The effect of needing antibiotic treatment on the odds ratio of receiving antibiotics. Symbol: exp(β₃).
Effect of informal provider
→ scenario → healthSystem → EventScheduler → NonMalariaFevers → effectInformal
<effectInformal>
double
</effectInformal>
Documentation (element)
The effect of seeking treatment from an informal provider (i.e. a provider untrained in NMF diagnosis) on the odds ratio of receiving antibiotics. Symbol: exp(β₄)
Case fatality rate
→ scenario → healthSystem → EventScheduler → NonMalariaFevers → CFR
<CFR
[ interpolation=("none" or "linear") ]
>
IN THIS ORDER:
| ( <group ... /> )+
</CFR>
Documentation (element)
Units: Dimensionless Min: 0.0 Max: 1.0
Base case fatality rate for non-malaria fevers (probability of death from a fever requiring antibiotic treatment given that no antibiotic treatment is received, per age-group).
Attributes
interpolation
interpolation=("none" or "linear")
Interpolation algorithm. Normally it is desirable for age-based values to be continuous w.r.t. age. By default linear interpolation is used. With all algorithms except "none", the age groups are converted to a set of points centred within each age range. Extra points are added at each end (zero and infinity) to keep value constant at both ends of the function. A zero-length age group may be used as a kind of barrier to adjust the distribution; e.g. with age group boundaries at 15, 20 and 25 years, a (linear) spline would be drawn between ages 17.5 and 22.5, whereas with boundaries at 15, 20 and 20 years, a spline would be drawn between ages 17.5 and 20 years (may be desired if individuals are assumed to reach adult size at 20). Algorithms:
- none: input values are used directly
- linear: straight lines (on an age vs. value graph) are used to interpolate data points.
age group
→ scenario → healthSystem → CFR → group
<group
value=double
lowerbound=double
/>
Documentation (element)
A series of values according to age groups, each specified with a lower-bound and a value. The first lower-bound specified must be zero; a final upper-bound of infinity is added to complete the last age group. At least one age group is required. Normally these are interpolated by a continuous function (see interpolation attribute).
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Lower bound
lowerbound=double
Units: Years Min: 0 Max: 100
Lower bound of age group
Treatment efficacy
→ scenario → healthSystem → EventScheduler → NonMalariaFevers → TreatmentEfficacy
<TreatmentEfficacy>
double
</TreatmentEfficacy>
Documentation (element)
Units: Dimensionless Min: 0.0 Max: 1.0
Probability that treatment would prevent a death (i.e. CFR is multiplied by one minus this when treatment occurs).
ImmediateOutcomes
→ scenario → healthSystem → ImmediateOutcomes
<ImmediateOutcomes
[ name=string ]
[ useDiagnosticUC=boolean ] DEFAULT VALUE false
>
IN ANY ORDER:
| <drugRegimen ... />
| <initialACR ... />
| <compliance ... />
| <nonCompliersEffective ... />
| <treatmentActions ... />
| <pSeekOfficialCareUncomplicated1 ... />
| <pSelfTreatUncomplicated ... />
| <pSeekOfficialCareUncomplicated2 ... />
| <pSeekOfficialCareSevere ... />
| [ <liverStageDrug ... /> ]
</ImmediateOutcomes>
- drugRegimen
- initialACR
- compliance
- nonCompliersEffective
- treatmentActions
- pSeekOfficialCareUncomplicated1
- pSelfTreatUncomplicated
- pSeekOfficialCareUncomplicated2
- pSeekOfficialCareSevere
- liverStageDrug
Documentation (type)
Description of "immediate outcomes" health system: Tediosi et al case management model (Case management as described in AJTMH 75 (suppl 2) pp90-103).
Attributes
Name of case management parameterisation
name=string
Name of health system
useDiagnosticUC
useDiagnosticUC=boolean
Default value: false
Description of drug regimen
→ scenario → healthSystem → ImmediateOutcomes → drugRegimen
<drugRegimen
firstLine=string
secondLine=string
inpatient=string
/>
Documentation (element)
Description of drug regimen.
Attributes
First line drug
firstLine=string
Units: Drug code
Code for first line drug
Second line drug
secondLine=string
Units: Drug code
Code for second line drug
Drug use for treating inpatients
inpatient=string
Units: Drug code
Code for drug used for treating inpatients
Initial cure rate
→ scenario → healthSystem → ImmediateOutcomes → initialACR
<initialACR>
IN THIS ORDER:
| [ <CQ ... /> ]
| [ <SP ... /> ]
| [ <AQ ... /> ]
| [ <SPAQ ... /> ]
| [ <ACT ... /> ]
| [ <QN ... /> ]
| <selfTreatment ... />
</initialACR>
Documentation (element)
Units: Dimensionless Min: 0.0 Max: 1.0
Initial cure rate
Chloroquine
→ scenario → healthSystem → ImmediateOutcomes → initialACR → CQ
<CQ
value=double
/>
Documentation (element)
Chloroquine
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Sulphadoxine-pyrimethamine
→ scenario → healthSystem → ImmediateOutcomes → initialACR → SP
<SP
value=double
/>
Documentation (element)
Sulphadoxine-pyrimethamine
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Amodiaquine
→ scenario → healthSystem → ImmediateOutcomes → initialACR → AQ
<AQ
value=double
/>
Documentation (element)
Amodiaquine
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Sulphadoxine-pyrimethamine/Amodiaquine
→ scenario → healthSystem → ImmediateOutcomes → initialACR → SPAQ
<SPAQ
value=double
/>
Documentation (element)
Sulphadoxine-pyrimethamine/Amodiaquine
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Artemisinine based combination therapy
→ scenario → healthSystem → ImmediateOutcomes → initialACR → ACT
<ACT
value=double
/>
Documentation (element)
Artemisinine combination therapy
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Quinine
→ scenario → healthSystem → ImmediateOutcomes → initialACR → QN
<QN
value=double
/>
Documentation (element)
Quinine
Attributes
Input parameter value
value=double
A double-precision floating-point value.
selfTreatment
→ scenario → healthSystem → ImmediateOutcomes → initialACR → selfTreatment
<selfTreatment
value=double
/>
Documentation (element)
Units: Dimensionless Min: 0 Max: 1name:P(self-treat)
Probability of self-treatment
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Adherence to treatment
→ scenario → healthSystem → ImmediateOutcomes → compliance
<compliance>
IN THIS ORDER:
| [ <CQ ... /> ]
| [ <SP ... /> ]
| [ <AQ ... /> ]
| [ <SPAQ ... /> ]
| [ <ACT ... /> ]
| [ <QN ... /> ]
| <selfTreatment ... />
</compliance>
Documentation (element)
Units: Dimensionless Min: 0.0 Max: 1.0
Adherence to treatment
Effectiveness of treatment in non-adherent patients
→ scenario → healthSystem → ImmediateOutcomes → nonCompliersEffective
<nonCompliersEffective>
IN THIS ORDER:
| [ <CQ ... /> ]
| [ <SP ... /> ]
| [ <AQ ... /> ]
| [ <SPAQ ... /> ]
| [ <ACT ... /> ]
| [ <QN ... /> ]
| <selfTreatment ... />
</nonCompliersEffective>
Documentation (element)
Units: Dimensionless Min: 0.0 Max: 1.0
Effectiveness of treatment for non-compliant patients
treatmentActions
→ scenario → healthSystem → ImmediateOutcomes → treatmentActions
<treatmentActions>
IN ANY ORDER:
| [ <CQ ... /> ]
| [ <SP ... /> ]
| [ <AQ ... /> ]
| [ <SPAQ ... /> ]
| [ <ACT ... /> ]
| [ <QN ... /> ]
</treatmentActions>
CQ
→ scenario → healthSystem → ImmediateOutcomes → treatmentActions → CQ
<CQ
[ name=string ]
>
IN THIS ORDER:
| ( <deploy ... /> )*
</CQ>
Documentation (type)
Describes the effects of the treatment, assuming this compliance/adherence/... option is selected. Effects are described in terms of a list of options, each of which acts independently but with all effects being activated simultaneously.
Documentation (base type)
Lists intervention components which are deployed according to some external trigger (for example, screening with a negative patency outcome or health-system treatment).
Components are referenced from one or more sub-lists. Each of these lists is deployed independently if and only if its age constraints are met by the human host and a random sample with the given probability of a positive outcome is positive.
Attributes
Name
name=string
Describes what this compliance option represents (e.g. "good compliance", "poor compliance with good drugs", ...).
deploy
→ scenario → healthSystem → ImmediateOutcomes → treatmentActions → CQ → deploy
<deploy
[ maxAge=double ]
[ minAge=double ] DEFAULT VALUE 0
[ p=double ] DEFAULT VALUE 1
>
IN THIS ORDER:
| ( <component ... /> )+
</deploy>
Attributes
Maximum age of eligible humans
maxAge=double
Units: Years Min: 0
Maximum age of eligible humans (defaults to no limit). Input is rounded to the nearest time step.
Minimum age of eligible humans
minAge=double
Units: Years Min: 0
Default value: 0
Minimum age of eligible humans (defaults to 0). Input is rounded to the nearest time step.
Probability of delivery to eligible humans
p=double
Units: dimensionless Min: 0 Max: 1
Default value: 1
Probability of this list of components being deployed, given that other constraints are met.
component
→ scenario → healthSystem → ImmediateOutcomes → treatmentActions → CQ → deploy → component
<component
id=string
/>
Documentation (type)
The list of components deployed to eligible humans.
Attributes
Identifier
id=string
The identifier (short name) of a component.
Prophylactic treatment
→ scenario → healthSystem → DecisionTree5Day → treatmentSevere → clearInfections
<clearInfections
timesteps=string
stage=("liver" or "blood" or "both")
/>
Documentation (element)
This clears infections according to several options: it can clear all blood stage infections, all liver stage infections or both, and it can act on multiple timesteps. To have a probability of no action add another treatment option (which does nothing) and set the probabilities of selection appropriately.
This allows immediate (legacy) or delayed action, a prophylactic period, and selection of which stages are targeted. It is a simple model but appropriate enough for use with the five day timestep when assuming no resistance and that drug failure is mainly caused by bad drugs or compliance.
The old treatment action for the five-day timestep model is essentially this, with immediateAction (timesteps=-1) and stage=both, except for the IPT model's SP action, which was more like with timesteps>1 and stage=blood.
Attributes
Length of effect
timesteps=string
Units: User defined (defaults to steps)
The number of timesteps during which this action remains in effect (e.g. 2 means clear infections during the next two timestep updates). Full clearance of the targeted stages occurs during this time. A special value of -1 means act immediately (retrospectively); this the old behaviour. A value of 1 means act on the next timestep only. Both of these can be thought of as a model for short-acting effective drug treatment; the main differences are that the latter means parasite densities will remain high from the point of view of surveys and diagnostics (i.e. mass screen and treat) used before the next timestep and that the latter will also remove infections starting the next timestep. Arguably the latter is a better model, but the differences are perhaps small, excepting where immediate treatment of fevers (i.e. through the health system) can hide high parasite densities from reporting and mass-screen-and-treat diagnostics. For use by interventions, the latter model has nicer behaviour in that the order of deployment of multiple interventions deployed at the same time does not matter, and that the former model retrospectively treats infections which may already have caused fever, thus may have a lower health impact than it should. It is recommended to use the new model (value 1, or greater than 1 if prophylactic effect is desired) unless wanting to emulate the old behaviour. Values of 0 or less than -1 are not allowed. Can be specified in steps (e.g. 1t, -1t) or days (e.g. 5d).
Target stage
stage=("liver" or "blood" or "both")
Controls whether liver-stage or blood-stage infections are cleared, or both. Infections are considered liver-stage for one 5-day timestep, blood-stage but pre-patent for some number of timesteps (latentp - 1), then start the patent blood stage. If stage is set to "liver", infections are only cleared during their first timestep; if stage is set to "blood", infections are cleared during pre-patent and patent blood stages; if stage is set to "both" all infections are cleared. The old behaviour (oddly considering the drugs it is meant to emulate) is to clear both stages, except for the IPT model of SP action, which cleared only patent blood-stage infections.
SP
→ scenario → healthSystem → ImmediateOutcomes → treatmentActions → SP
<SP
[ name=string ]
>
IN THIS ORDER:
| ( <deploy ... /> )*
</SP>
Documentation (type)
Describes the effects of the treatment, assuming this compliance/adherence/... option is selected. Effects are described in terms of a list of options, each of which acts independently but with all effects being activated simultaneously.
Documentation (base type)
Lists intervention components which are deployed according to some external trigger (for example, screening with a negative patency outcome or health-system treatment).
Components are referenced from one or more sub-lists. Each of these lists is deployed independently if and only if its age constraints are met by the human host and a random sample with the given probability of a positive outcome is positive.
Attributes
Name
name=string
Describes what this compliance option represents (e.g. "good compliance", "poor compliance with good drugs", ...).
AQ
→ scenario → healthSystem → ImmediateOutcomes → treatmentActions → AQ
<AQ
[ name=string ]
>
IN THIS ORDER:
| ( <deploy ... /> )*
</AQ>
Documentation (type)
Describes the effects of the treatment, assuming this compliance/adherence/... option is selected. Effects are described in terms of a list of options, each of which acts independently but with all effects being activated simultaneously.
Documentation (base type)
Lists intervention components which are deployed according to some external trigger (for example, screening with a negative patency outcome or health-system treatment).
Components are referenced from one or more sub-lists. Each of these lists is deployed independently if and only if its age constraints are met by the human host and a random sample with the given probability of a positive outcome is positive.
Attributes
Name
name=string
Describes what this compliance option represents (e.g. "good compliance", "poor compliance with good drugs", ...).
SPAQ
→ scenario → healthSystem → ImmediateOutcomes → treatmentActions → SPAQ
<SPAQ
[ name=string ]
>
IN THIS ORDER:
| ( <deploy ... /> )*
</SPAQ>
Documentation (type)
Describes the effects of the treatment, assuming this compliance/adherence/... option is selected. Effects are described in terms of a list of options, each of which acts independently but with all effects being activated simultaneously.
Documentation (base type)
Lists intervention components which are deployed according to some external trigger (for example, screening with a negative patency outcome or health-system treatment).
Components are referenced from one or more sub-lists. Each of these lists is deployed independently if and only if its age constraints are met by the human host and a random sample with the given probability of a positive outcome is positive.
Attributes
Name
name=string
Describes what this compliance option represents (e.g. "good compliance", "poor compliance with good drugs", ...).
ACT
→ scenario → healthSystem → ImmediateOutcomes → treatmentActions → ACT
<ACT
[ name=string ]
>
IN THIS ORDER:
| ( <deploy ... /> )*
</ACT>
Documentation (type)
Describes the effects of the treatment, assuming this compliance/adherence/... option is selected. Effects are described in terms of a list of options, each of which acts independently but with all effects being activated simultaneously.
Documentation (base type)
Lists intervention components which are deployed according to some external trigger (for example, screening with a negative patency outcome or health-system treatment).
Components are referenced from one or more sub-lists. Each of these lists is deployed independently if and only if its age constraints are met by the human host and a random sample with the given probability of a positive outcome is positive.
Attributes
Name
name=string
Describes what this compliance option represents (e.g. "good compliance", "poor compliance with good drugs", ...).
QN
→ scenario → healthSystem → ImmediateOutcomes → treatmentActions → QN
<QN
[ name=string ]
>
IN THIS ORDER:
| ( <deploy ... /> )*
</QN>
Documentation (type)
Describes the effects of the treatment, assuming this compliance/adherence/... option is selected. Effects are described in terms of a list of options, each of which acts independently but with all effects being activated simultaneously.
Documentation (base type)
Lists intervention components which are deployed according to some external trigger (for example, screening with a negative patency outcome or health-system treatment).
Components are referenced from one or more sub-lists. Each of these lists is deployed independently if and only if its age constraints are met by the human host and a random sample with the given probability of a positive outcome is positive.
Attributes
Name
name=string
Describes what this compliance option represents (e.g. "good compliance", "poor compliance with good drugs", ...).
Probability that a patient with uncomplicated disease seeks official care immediately.
→ scenario → healthSystem → ImmediateOutcomes → pSeekOfficialCareUncomplicated1
<pSeekOfficialCareUncomplicated1
value=double
/>
Documentation (element)
Units: Dimensionless Min: 0.0 Max: 1.0
Probability that a patient with newly incident uncomplicated disease seeks official care
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Probability that a patient with uncomplicated disease will self-treat.
→ scenario → healthSystem → ImmediateOutcomes → pSelfTreatUncomplicated
<pSelfTreatUncomplicated
value=double
/>
Documentation (element)
Units: Dimensionless Min: 0.0 Max: 1.0
Probability that a patient with uncomplicated disease without recent history of disease (i.e. first line) will self-treat.
Note that in second line cases there is no probability of self-treatment.
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Probability that a recurring patient seeks official care
→ scenario → healthSystem → ImmediateOutcomes → pSeekOfficialCareUncomplicated2
<pSeekOfficialCareUncomplicated2
value=double
/>
Documentation (element)
Units: Dimensionless Min: 0.0 Max: 1.0
Probability that a patient with recurrence of uncomplicated disease seeks official care
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Probability that a patient with severe disease obtains appropriate care
→ scenario → healthSystem → ImmediateOutcomes → pSeekOfficialCareSevere
<pSeekOfficialCareSevere
value=double
/>
Documentation (element)
Units: Dimensionless Min: 0.0 Max: 1.0
Probability that a patient with severe disease obtains appropriate care
Attributes
Input parameter value
value=double
A double-precision floating-point value.
liverStageDrug
→ scenario → healthSystem → ImmediateOutcomes → liverStageDrug
<liverStageDrug>
IN ANY ORDER:
| <pHumanCannotReceive ... />
| [ <ignoreCannotReceive ... /> ]
| [ <pUseUncomplicated ... /> ]
| <effectivenessOnUse ... />
</liverStageDrug>
Documentation (type)
Parameters for drug treatment which have an effect on the liver-stage of parasites (Primaquine and potentially Tafenoquine); for use with the Vivax model only.
Note: if this section is not listed, the following default values are assumed: pHumanCannotReceive=0, pUseUncomplicated=0, effectivenessOnUse=1.
Probability that human is incompatible with liver-stage drug treatment
→ scenario → healthSystem → ImmediateOutcomes → liverStageDrug → pHumanCannotReceive
<pHumanCannotReceive
value=double
/>
Documentation (element)
Units: Probability Min: 0 Max: 1
Chance that a human is determined to be unable to receive liver-stage drug treatment. Treatment is neither reported or given for such humans.
This is sampled once per human at birth.
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Ignore liver-stage drug treatment incompatibility
→ scenario → healthSystem → ImmediateOutcomes → liverStageDrug → ignoreCannotReceive
<ignoreCannotReceive
value=boolean
/>
Documentation (element)
If true, ignore pHumanCannotReceive and consider all humans eligible for treatment; if false (or not specified), do not treat those demed incompatible with liver-stage drug treatment.
The point of this is that pHumanCannotReceive cannot be altered by changeHS interventions, but this property can be.
Attributes
Input parameter value
value=boolean
A boolean value.
Prob use in UC case
→ scenario → healthSystem → ImmediateOutcomes → liverStageDrug → pUseUncomplicated
<pUseUncomplicated
value=double
/>
Documentation (element)
Units: Probability Min: 0 Max: 1
This feature is deprecated; it is suggested to use the "simple treatment" feature configured to clear liver-stage parasites, leaving this option unset or zero.
Chance of liver-stage drug treatment being used for routine treatment of an uncomplicated case.
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Effectiveness
→ scenario → healthSystem → ImmediateOutcomes → liverStageDrug → effectivenessOnUse
<effectivenessOnUse
value=double
/>
Documentation (element)
Units: Probability Min: 0 Max: 1
Chance that liver-stage drug treatment is effective.
On application, a random variable is sampled against this probability. If false, the treatment does nothing; if true, the treatment clears all liver stage parasites. Where effectiveness is longer than a single time step (prophylactic effect), this sample still only happens once (thus either no effect or all liver stages cleared over multiple steps).
Attributes
Input parameter value
value=double
A double-precision floating-point value.
DecisionTree5Day
→ scenario → healthSystem → DecisionTree5Day
<DecisionTree5Day
[ name=string ]
>
IN ANY ORDER:
| <pSeekOfficialCareUncomplicated1 ... />
| <pSelfTreatUncomplicated ... />
| <pSeekOfficialCareUncomplicated2 ... />
| <pSeekOfficialCareSevere ... />
| [ <liverStageDrug ... /> ]
| <treeUCOfficial ... />
| <treeUCSelfTreat ... />
| <cureRateSevere ... />
| <treatmentSevere ... />
</DecisionTree5Day>
- pSeekOfficialCareUncomplicated1
- pSelfTreatUncomplicated
- pSeekOfficialCareUncomplicated2
- pSeekOfficialCareSevere
- liverStageDrug
- treeUCOfficial
- treeUCSelfTreat
- cureRateSevere
- treatmentSevere
Documentation (type)
Description of the health system using the 5-day timestep with decision tree model: access is configured as in the Tediosi et al case management model (Case management as described in AJTMH 75 (suppl 2) pp90-103) while treatment decisions are configured via decision trees.
Besides greater flexibility, this allows treatment via PK/PD models.
Attributes
Name of case management parameterisation
name=string
Name of health system
Probability that a patient with uncomplicated disease seeks official care immediately.
→ scenario → healthSystem → DecisionTree5Day → pSeekOfficialCareUncomplicated1
<pSeekOfficialCareUncomplicated1
value=double
/>
Documentation (element)
Units: Dimensionless Min: 0.0 Max: 1.0
Probability that a patient with newly incident uncomplicated disease seeks official care
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Probability that a patient with uncomplicated disease will self-treat.
→ scenario → healthSystem → DecisionTree5Day → pSelfTreatUncomplicated
<pSelfTreatUncomplicated
value=double
/>
Documentation (element)
Units: Dimensionless Min: 0.0 Max: 1.0
Probability that a patient with uncomplicated disease without recent history of disease (i.e. first line) will self-treat.
Note that in second line cases there is no probability of self-treatment.
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Probability that a recurring patient seeks official care
→ scenario → healthSystem → DecisionTree5Day → pSeekOfficialCareUncomplicated2
<pSeekOfficialCareUncomplicated2
value=double
/>
Documentation (element)
Units: Dimensionless Min: 0.0 Max: 1.0
Probability that a patient with recurrence of uncomplicated disease seeks official care
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Probability that a patient with severe disease obtains appropriate care
→ scenario → healthSystem → DecisionTree5Day → pSeekOfficialCareSevere
<pSeekOfficialCareSevere
value=double
/>
Documentation (element)
Units: Dimensionless Min: 0.0 Max: 1.0
Probability that a patient with severe disease obtains appropriate care
Attributes
Input parameter value
value=double
A double-precision floating-point value.
liverStageDrug
→ scenario → healthSystem → DecisionTree5Day → liverStageDrug
<liverStageDrug>
IN ANY ORDER:
| <pHumanCannotReceive ... />
| [ <ignoreCannotReceive ... /> ]
| [ <pUseUncomplicated ... /> ]
| <effectivenessOnUse ... />
</liverStageDrug>
Documentation (type)
Parameters for drug treatment which have an effect on the liver-stage of parasites (Primaquine and potentially Tafenoquine); for use with the Vivax model only.
Note: if this section is not listed, the following default values are assumed: pHumanCannotReceive=0, pUseUncomplicated=0, effectivenessOnUse=1.
treeUCOfficial
→ scenario → healthSystem → DecisionTree5Day → treeUCOfficial
<treeUCOfficial
[ name=string ]
>
EXACTLY ONE OF:
| <multiple ... />
| <caseType ... />
| <diagnostic ... />
| <random ... />
| <age ... />
| <noTreatment ... />
| <treatFailure ... />
| ( <treatPKPD ... /> )+
| <treatSimple ... />
| ( <deploy ... /> )+
</treeUCOfficial>
Documentation (type)
Describes how "decisions" are made, both probabilistically and deterministically, and what actions are carried out.
Quantities may also be reported as a side effect of decisions made in the tree, for example the number of diagnostics used.
Attributes
Name
name=string
An optional piece of documentation attached to this node.
treeUCSelfTreat
→ scenario → healthSystem → DecisionTree5Day → treeUCSelfTreat
<treeUCSelfTreat
[ name=string ]
>
EXACTLY ONE OF:
| <multiple ... />
| <caseType ... />
| <diagnostic ... />
| <random ... />
| <age ... />
| <noTreatment ... />
| <treatFailure ... />
| ( <treatPKPD ... /> )+
| <treatSimple ... />
| ( <deploy ... /> )+
</treeUCSelfTreat>
Documentation (type)
Describes how "decisions" are made, both probabilistically and deterministically, and what actions are carried out.
Quantities may also be reported as a side effect of decisions made in the tree, for example the number of diagnostics used.
Attributes
Name
name=string
An optional piece of documentation attached to this node.
Cure rate (severe cases)
→ scenario → healthSystem → DecisionTree5Day → cureRateSevere
<cureRateSevere
value=double
/>
Documentation (element)
Min: 0 Max: 1
The probability of clearing parasites given access to appropriate (hospital) care, for a severe case.
Attributes
Input parameter value
value=double
A double-precision floating-point value.
treatmentSevere
→ scenario → healthSystem → DecisionTree5Day → treatmentSevere
<treatmentSevere
[ name=string ]
>
IN THIS ORDER:
| ( <deploy ... /> )*
</treatmentSevere>
Documentation (type)
Describes the effects of the treatment, assuming this compliance/adherence/... option is selected. Effects are described in terms of a list of options, each of which acts independently but with all effects being activated simultaneously.
Documentation (base type)
Lists intervention components which are deployed according to some external trigger (for example, screening with a negative patency outcome or health-system treatment).
Components are referenced from one or more sub-lists. Each of these lists is deployed independently if and only if its age constraints are met by the human host and a random sample with the given probability of a positive outcome is positive.
Attributes
Name
name=string
Describes what this compliance option represents (e.g. "good compliance", "poor compliance with good drugs", ...).
Case fatality rate for inpatients
→ scenario → healthSystem → CFR
<CFR
[ interpolation=("none" or "linear") ]
>
IN THIS ORDER:
| ( <group ... /> )+
</CFR>
Documentation (element)
Case fatality rate (probability of an inpatient fatality from a bout of severe malaria, per age-group).
Attributes
interpolation
interpolation=("none" or "linear")
Interpolation algorithm. Normally it is desirable for age-based values to be continuous w.r.t. age. By default linear interpolation is used. With all algorithms except "none", the age groups are converted to a set of points centred within each age range. Extra points are added at each end (zero and infinity) to keep value constant at both ends of the function. A zero-length age group may be used as a kind of barrier to adjust the distribution; e.g. with age group boundaries at 15, 20 and 25 years, a (linear) spline would be drawn between ages 17.5 and 22.5, whereas with boundaries at 15, 20 and 20 years, a spline would be drawn between ages 17.5 and 20 years (may be desired if individuals are assumed to reach adult size at 20). Algorithms:
- none: input values are used directly
- linear: straight lines (on an age vs. value graph) are used to interpolate data points.
Probabilities of sequelae in inpatients
→ scenario → healthSystem → pSequelaeInpatient
<pSequelaeInpatient
[ interpolation=("none" or "linear") ]
>
IN THIS ORDER:
| ( <group ... /> )+
</pSequelaeInpatient>
Documentation (element)
Units: Dimensionless
List of age-specific probabilities of sequelae in inpatients, during a severe bout of malaria.
Attributes
interpolation
interpolation=("none" or "linear")
Interpolation algorithm. Normally it is desirable for age-based values to be continuous w.r.t. age. By default linear interpolation is used. With all algorithms except "none", the age groups are converted to a set of points centred within each age range. Extra points are added at each end (zero and infinity) to keep value constant at both ends of the function. A zero-length age group may be used as a kind of barrier to adjust the distribution; e.g. with age group boundaries at 15, 20 and 25 years, a (linear) spline would be drawn between ages 17.5 and 22.5, whereas with boundaries at 15, 20 and 20 years, a spline would be drawn between ages 17.5 and 20 years (may be desired if individuals are assumed to reach adult size at 20). Algorithms:
- none: input values are used directly
- linear: straight lines (on an age vs. value graph) are used to interpolate data points.
Change transmission levels
→ scenario → interventions → changeEIR
<changeEIR
[ name=string ]
>
IN THIS ORDER:
| ( <timedDeployment ... /> )*
</changeEIR>
Documentation (element)
New description of transmission level for models not supporting vector control interventions. Use of this overrides previous transmission levels such that human infectiousness no longer has any feedback effect on transmission. Supplied EIR data must last until end of simulation.
Attributes
Name of intervention
name=string
Name of intervention
timedDeployment
→ scenario → interventions → changeEIR → timedDeployment
<timedDeployment
eipDuration=int
time=string
>
IN THIS ORDER:
| ( <EIRDaily ... /> )+
</timedDeployment>
Documentation (type)
Replacement transmission levels. Disables feedback of human infectiousness to mosquitoes on further mosquito to human transmission. Must last until end of simulation.
Attributes
Duration of sporogony
eipDuration=int
Units: Days
The duration of sporogony in days
Time
time=string
Units: User defined (defauls to steps) Min: 0
Time at which this replacement occurs. See doc on intervention period and on monitoring/startDate for details of how times work. Can be specified in steps, days, years, or as a date (examples: 15t, 75d, 0.2y, 2000-03-16).
EIRDaily
→ scenario → entomology → nonVector → EIRDaily
<EIRDaily
[ origin=string ]
>
double
</EIRDaily>
Documentation (type)
Units: Infectious bites per adult per day
In the non-vector model, EIR is input as a sequence of daily values. There must be at least one years' worth of entries (365), and if there are more, values are wrapped and averaged (i.e. value for first day of year is taken as the mean of values for days 0, 365+0, 2*365+0, etc.).
Attributes
Time origin of EIR sequence
origin=string
Imported infections
→ scenario → interventions → importedInfections
<importedInfections
[ name=string ]
>
IN THIS ORDER:
| <timed ... />
</importedInfections>
Documentation (element)
Models importation of P. falciparum infections directly into humans from an external source. This is infections, not inoculations or EIR being imported.
Attributes
Name of intervention
name=string
Name of intervention
Rate of importation
→ scenario → interventions → importedInfections → timed
<timed
[ period=string ] DEFAULT VALUE 0
>
IN THIS ORDER:
| ( <rate ... /> )+
</timed>
Documentation (element)
Rate of case importation, as a step function. Each value is valid until replaced by the next value.
Attributes
Period of repetition
period=string
Units: User defined (default: steps) Min: 0
Default value: 0
If period is 0 (or effectively infinite), the last specified value remains indefinitely in effect. If period is less than the length of the simulation's intervention phase, then all "rate" deployments are repeated with this periodicity. In this case, the first "rate" deployment must coincide with the start of the intervention phase (monitoring/startDate). Can be specified in steps (e.g. 1t) or days (e.g. 365d).
rate
→ scenario → interventions → importedInfections → timed → rate
<rate
value=double
time=string
/>
Documentation (type)
Units: Imported cases per thousand people per year
A time-rate pair.
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Time of start
time=string
Units: User defined (defauls to steps) Min: 0
Time at which this importation rate becomes active. See doc on intervention period and on monitoring/startDate for details of how times work. Can be specified in steps, days, years, or as a date (examples: 15t, 75d, 0.2y, 2000-03-16).
Insert R_0 case
→ scenario → interventions → insertR_0Case
<insertR_0Case
[ name=string ]
>
IN THIS ORDER:
| ( <timedDeployment ... /> )*
</insertR_0Case>
Documentation (element)
Used to simulate R_0. First, infections should be eliminated, immunity removed, and the population given an effective transmission- blocking vaccine (not done by this intervention). Then this intervention may be used to: pick one human, infect him, administer a fully effective Preerythrocytic vaccine and remove transmission-blocking vaccine effect on this human. Thus only this one human will be a source of infections in an unprotected population, and will not reinfected himself.
Attributes
Name of intervention
name=string
Name of intervention
timedDeployment
→ scenario → interventions → insertR_0Case → timedDeployment
<timedDeployment
time=string
/>
Attributes
Time
time=string
Units: User defined (defauls to steps) Min: 0
Time at which this intervention occurs. See doc on intervention period and on monitoring/startDate for details of how times work. Can be specified in steps, days, years, or as a date (examples: 15t, 75d, 0.2y, 2000-03-16).
Uninfect vectors
→ scenario → interventions → uninfectVectors
<uninfectVectors
[ name=string ]
>
IN THIS ORDER:
| ( <timedDeployment ... /> )*
</uninfectVectors>
Documentation (element)
Units: List of elements
Removes all infections from mosquitoes -- resulting in zero EIR to humans, until such time that mosquitoes are re-infected and become infectious. Only efficacious in dynamic EIR mode (when changeEIR was not used).
Hypothetical, but potentially useful to simulate a setting starting from no infections, but with enough mosquitoes to reach a set equilibrium of exposure.
Attributes
Name of intervention
name=string
Name of intervention
timedDeployment
→ scenario → interventions → uninfectVectors → timedDeployment
<timedDeployment
time=string
/>
Attributes
Time
time=string
Units: User defined (defauls to steps) Min: 0
Time at which this intervention occurs. See doc on intervention period and on monitoring/startDate for details of how times work. Can be specified in steps, days, years, or as a date (examples: 15t, 75d, 0.2y, 2000-03-16).
Vector population intervention
→ scenario → interventions → vectorPop
<vectorPop>
IN THIS ORDER:
| ( <intervention ... /> )+
</vectorPop>
Documentation (element)
Units: List of elements
A list of parameterisations of generic vector host-inspecific interventions.
intervention
→ scenario → interventions → vectorPop → intervention
<intervention
name=string
>
IN THIS ORDER:
| <description ... />
| [ <timed ... /> ]
</intervention>
Documentation (type)
Units: List of elements
An intervention which may have various effects on the vector populations as a whole. (Not host specific.)
Multiple instances of this intervention class are allowed (multiple parameterisations, not just deployments).
Each instance may have multiple deployments. In this case the effects of each instance are independent (effects are combined) but the effects of multiple deployments of a single instance are not independent (only the latest deployment has any effect).
Attributes
Name of intervention
name=string
Name of intervention (e.g. larviciding, sugar bait).
description
→ scenario → interventions → vectorPop → intervention → description
<description>
IN THIS ORDER:
| ( <anopheles ... /> )+
</description>
anopheles
→ scenario → interventions → vectorPop → intervention → description → anopheles
<anopheles
mosquito=string
>
IN ANY ORDER:
| [ <seekingDeathRateIncrease ... /> ]
| [ <probDeathOvipositing ... /> ]
| [ <emergenceReduction ... /> ]
</anopheles>
Documentation (type)
Units: dimensionless Min: 0 Max: 1
Descriptions of the effects of vector interventions with per-species effects.
Attributes
Species/subspecies/variant name
mosquito=string
Name of the species/subspecies/variant.
Proportional increase in deaths while host searching
→ scenario → interventions → vectorPop → intervention → description → anopheles → seekingDeathRateIncrease
<seekingDeathRateIncrease
initial=double
>
IN THIS ORDER:
| <decay ... />
</seekingDeathRateIncrease>
Documentation (element)
Units: dimensionless
Describe an effect on the increase in the death rate while host seeking (mu_vA) due to this intervention.
Enter the rate increase (i.e. if rate increases to 120% of normal, give 0.2). New death rate while seeking is old × (1 + increase) where increase is this factor given. Must have increas ≥ -1.
Attributes
Initial proportion increase
initial=double
Units: dimensionless Min: -1 Max: inf
decay
→ scenario → interventions → vectorPop → intervention → description → anopheles → seekingDeathRateIncrease → decay
<decay
function=("constant" or "step" or "linear" or "exponential" or "weibull" or "hill" or "smooth-compact")
[ L=string ]
[ k=double ] DEFAULT VALUE 1.0
[ CV=double ] DEFAULT VALUE 0
/>
Documentation (type)
Specification of decay or survival of a parameter.
Attributes
function
function=("constant" or "step" or "linear" or "exponential" or "weibull" or "hill" or "smooth-compact")
Units: None Min: 0 Max: 1
Determines which decay function to use. Available decay functions, for age t in years: constant: 1 step: 1 for t less than L, otherwise 0 linear: 1 - t/L for t less than L, otherwise 0 exponential: exp( - t/L * log(2) ) weibull: exp( -(t/L)^k * log(2) ) hill: 1 / (1 + (t/L)^k) smooth-compact: exp( k - k / (1 - (t/L)^2) ) for t less than L, otherwise 0
L
L=string
Units: User-defined (defaults to years) Min: 0
(Time) scale parameter of distribution: this is either the age of complete decay (smooth-compact, step and linear functions) or the age at which the parameter has decayed to half its original value (exponential, weibull and hill). Not used when function="constant" (i.e. no decay). This value can be specified in years, days or steps (e.g. 2y, 180d or 100t). When the unit is not specified years are assumed. The value is used without rounding except when sampling an age of decay, when the rounding happens as late as possible.
k
k=double
Units: none Min: 0
Default value: 1.0
Shape parameter of distribution. If not specified, default value of 1 is used. Meaning depends on function; not used in some cases.
Coefficient of Variation
CV=double
Min: 0
Default value: 0
If CV is non-zero, heterogeneity of decay is introduced via a random variable sampled from the log-normal distribution. This distribution is parameterised with mean=1 and CV as given. The effective age of decay is the real age multiplied by this variable (for decay functions with a half-life, this is equivalent to dividing the half-life by the variable).
Proportion ovipositing mosquitoes killed
→ scenario → interventions → vectorPop → intervention → description → anopheles → probDeathOvipositing
<probDeathOvipositing
initial=double
>
IN THIS ORDER:
| <decay ... />
</probDeathOvipositing>
Documentation (element)
Units: dimensionless
Describe an effect of increased mortality while ovipositing due to this intervention. Enter the probability of dying due to this intervention.
Attributes
Initial probability of killing
initial=double
Units: dimensionless Min: 0 Max: 1
decay
→ scenario → interventions → vectorPop → intervention → description → anopheles → probDeathOvipositing → decay
<decay
function=("constant" or "step" or "linear" or "exponential" or "weibull" or "hill" or "smooth-compact")
[ L=string ]
[ k=double ] DEFAULT VALUE 1.0
[ CV=double ] DEFAULT VALUE 0
/>
Documentation (type)
Specification of decay or survival of a parameter.
Attributes
function
function=("constant" or "step" or "linear" or "exponential" or "weibull" or "hill" or "smooth-compact")
Units: None Min: 0 Max: 1
Determines which decay function to use. Available decay functions, for age t in years: constant: 1 step: 1 for t less than L, otherwise 0 linear: 1 - t/L for t less than L, otherwise 0 exponential: exp( - t/L * log(2) ) weibull: exp( -(t/L)^k * log(2) ) hill: 1 / (1 + (t/L)^k) smooth-compact: exp( k - k / (1 - (t/L)^2) ) for t less than L, otherwise 0
L
L=string
Units: User-defined (defaults to years) Min: 0
(Time) scale parameter of distribution: this is either the age of complete decay (smooth-compact, step and linear functions) or the age at which the parameter has decayed to half its original value (exponential, weibull and hill). Not used when function="constant" (i.e. no decay). This value can be specified in years, days or steps (e.g. 2y, 180d or 100t). When the unit is not specified years are assumed. The value is used without rounding except when sampling an age of decay, when the rounding happens as late as possible.
k
k=double
Units: none Min: 0
Default value: 1.0
Shape parameter of distribution. If not specified, default value of 1 is used. Meaning depends on function; not used in some cases.
Coefficient of Variation
CV=double
Min: 0
Default value: 0
If CV is non-zero, heterogeneity of decay is introduced via a random variable sampled from the log-normal distribution. This distribution is parameterised with mean=1 and CV as given. The effective age of decay is the real age multiplied by this variable (for decay functions with a half-life, this is equivalent to dividing the half-life by the variable).
Proportion of emerging pupa killed
→ scenario → interventions → vectorPop → intervention → description → anopheles → emergenceReduction
<emergenceReduction
initial=double
>
IN THIS ORDER:
| <decay ... />
</emergenceReduction>
Documentation (element)
Units: dimensionless
Describe an effect on emergence of pupa into adults: this value is the proportion of emerging pupa which are killed by this intervention.
This can be used as a crude way of modelling larviciding. It ca also be used to increase emergence by giving a negative value. The emergence rate is "old rate" × (1 - factor) where factor is the value given here; thus, for example, using -1 will double emergence.
Attributes
Initial proportion reduction
initial=double
Units: dimensionless Min: -inf Max: 1
decay
→ scenario → interventions → vectorPop → intervention → description → anopheles → emergenceReduction → decay
<decay
function=("constant" or "step" or "linear" or "exponential" or "weibull" or "hill" or "smooth-compact")
[ L=string ]
[ k=double ] DEFAULT VALUE 1.0
[ CV=double ] DEFAULT VALUE 0
/>
Documentation (type)
Specification of decay or survival of a parameter.
Attributes
function
function=("constant" or "step" or "linear" or "exponential" or "weibull" or "hill" or "smooth-compact")
Units: None Min: 0 Max: 1
Determines which decay function to use. Available decay functions, for age t in years: constant: 1 step: 1 for t less than L, otherwise 0 linear: 1 - t/L for t less than L, otherwise 0 exponential: exp( - t/L * log(2) ) weibull: exp( -(t/L)^k * log(2) ) hill: 1 / (1 + (t/L)^k) smooth-compact: exp( k - k / (1 - (t/L)^2) ) for t less than L, otherwise 0
L
L=string
Units: User-defined (defaults to years) Min: 0
(Time) scale parameter of distribution: this is either the age of complete decay (smooth-compact, step and linear functions) or the age at which the parameter has decayed to half its original value (exponential, weibull and hill). Not used when function="constant" (i.e. no decay). This value can be specified in years, days or steps (e.g. 2y, 180d or 100t). When the unit is not specified years are assumed. The value is used without rounding except when sampling an age of decay, when the rounding happens as late as possible.
k
k=double
Units: none Min: 0
Default value: 1.0
Shape parameter of distribution. If not specified, default value of 1 is used. Meaning depends on function; not used in some cases.
Coefficient of Variation
CV=double
Min: 0
Default value: 0
If CV is non-zero, heterogeneity of decay is introduced via a random variable sampled from the log-normal distribution. This distribution is parameterised with mean=1 and CV as given. The effective age of decay is the real age multiplied by this variable (for decay functions with a half-life, this is equivalent to dividing the half-life by the variable).
Vector population intervention deployment
→ scenario → interventions → vectorPop → intervention → timed
<timed>
IN THIS ORDER:
| ( <deploy ... /> )+
</timed>
Documentation (element)
List of timed vector population intervention deployment
deploy
→ scenario → interventions → vectorPop → intervention → timed → deploy
<deploy
time=string
/>
Attributes
Time
time=string
Units: User defined (defauls to steps) Min: 0
Time at which this deployment occurs. See doc on intervention period and on monitoring/startDate for details of how times work. Can be specified in steps, days, years, or as a date (examples: 15t, 75d, 0.2y, 2000-03-16).
Baited trap
→ scenario → interventions → vectorTrap
<vectorTrap>
IN THIS ORDER:
| ( <intervention ... /> )+
</vectorTrap>
Documentation (element)
Traps attract and kill mosquitoes. They are modelled as a non-human-host where the probability of mosquitoes surviving feeding is zero (since otherwise the simulator would assume surviving mosquitoes have had a blood meal), and where this "host" is initially not present.
Model: each type of trap has has an initial availability relative to a human and a decay in availability. Each deployment has a fixed maximum lifespan, after which the traps from that deployment are removed (it is up to the user whether this is after availability is effectively zero or sooner, either coinciding with a redeployment or causing a reduction in overall effectiveness of traps).
intervention
→ scenario → interventions → vectorTrap → intervention
<intervention
[ name=string ]
>
IN THIS ORDER:
| ( <description ... /> )+
| [ <timed ... /> ]
</intervention>
Documentation (type)
Parameters and deployment of one type of trap. In case multiple types of trap are needed simultaneously, multiple elements can be used. Note that different types of trap do not interact except that all will attract mosquitoes.
Attributes
Descriptive name for type of trap
name=string
Optional name for this type of trap
Description
→ scenario → interventions → vectorTrap → intervention → description
<description
mosquito=string
>
IN THIS ORDER:
| <relativeAvailability ... />
| <decayOfAvailability ... />
</description>
Documentation (element)
Parameters associated with a vector trap intervention, per mosquito species.
Attributes
Species/subspecies/variant name
mosquito=string
Name of the species/subspecies/variant.
Initial relative availability
→ scenario → interventions → vectorTrap → intervention → description → relativeAvailability
<relativeAvailability
value=double
/>
Documentation (element)
Units: Proportion Min: 0 Max: inf
Describes the availiability of a trap to a host-seeking mosquito relative to an average unprotected adult.
I.e. if this parameter is 2, then each trap will on average attract twice as many mosquitoes as unprotected adults.
This is the initial availability; it may decay towards zero depending on the configured decay function.
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Decay of availability
→ scenario → interventions → vectorTrap → intervention → description → decayOfAvailability
<decayOfAvailability
function=("constant" or "step" or "linear" or "exponential" or "weibull" or "hill" or "smooth-compact")
[ L=string ]
[ k=double ] DEFAULT VALUE 1.0
[ CV=double ] DEFAULT VALUE 0
/>
Documentation (element)
Describes how availability decays to zero.
If decay heterogeneity/variance is used, there will be a sample once-per-deployment (i.e. all traps of the same deployment will be affected the same way). There is no support for variances between traps (except in this crude way, between deployments).
Documentation (type)
Specification of decay or survival of a parameter.
Attributes
function
function=("constant" or "step" or "linear" or "exponential" or "weibull" or "hill" or "smooth-compact")
Units: None Min: 0 Max: 1
Determines which decay function to use. Available decay functions, for age t in years: constant: 1 step: 1 for t less than L, otherwise 0 linear: 1 - t/L for t less than L, otherwise 0 exponential: exp( - t/L * log(2) ) weibull: exp( -(t/L)^k * log(2) ) hill: 1 / (1 + (t/L)^k) smooth-compact: exp( k - k / (1 - (t/L)^2) ) for t less than L, otherwise 0
L
L=string
Units: User-defined (defaults to years) Min: 0
(Time) scale parameter of distribution: this is either the age of complete decay (smooth-compact, step and linear functions) or the age at which the parameter has decayed to half its original value (exponential, weibull and hill). Not used when function="constant" (i.e. no decay). This value can be specified in years, days or steps (e.g. 2y, 180d or 100t). When the unit is not specified years are assumed. The value is used without rounding except when sampling an age of decay, when the rounding happens as late as possible.
k
k=double
Units: none Min: 0
Default value: 1.0
Shape parameter of distribution. If not specified, default value of 1 is used. Meaning depends on function; not used in some cases.
Coefficient of Variation
CV=double
Min: 0
Default value: 0
If CV is non-zero, heterogeneity of decay is introduced via a random variable sampled from the log-normal distribution. This distribution is parameterised with mean=1 and CV as given. The effective age of decay is the real age multiplied by this variable (for decay functions with a half-life, this is equivalent to dividing the half-life by the variable).
Vector trap intervention deployment
→ scenario → interventions → vectorTrap → intervention → timed
<timed>
IN THIS ORDER:
| ( <deploy ... /> )*
</timed>
Documentation (element)
List of timed vector trap intervention deployment
deploy
→ scenario → interventions → vectorTrap → intervention → timed → deploy
<deploy
time=string
ratioToHumans=double
lifespan=string
/>
Attributes
Time
time=string
Units: User defined (defauls to steps) Min: 0
Time at which this deployment occurs. See doc on intervention period and on monitoring/startDate for details of how times work. Can be specified in steps, days, years, or as a date (examples: 15t, 75d, 0.2y, 2000-03-16).
Ratio to humans
ratioToHumans=double
Min: 0 Max: inf
The number of traps deployed, by this deployment, per adult human. E.g. if there are currently 100 traps and 1000 humans, then a ratio of 0.1 will increase the number of traps to 200.
Lifespan
lifespan=string
Units: Steps or Days or Years
Life of the trap until replaced or removed, e.g. "73t" or "1y". After this time period, these traps will be removed from the simulation. New deployments do not automatically remove old traps. Existing traps cannot be refurbished in the model. It may make sense to make the end-of-life coincide with a new deployment.
Human-specific interventions
→ scenario → interventions → human
<human>
IN THIS ORDER:
| ( <component ... /> )+
| ( <deployment ... /> )*
</human>
Documentation (element)
Encapsulates all interventions whose effects are specific to the human host: any interventions where target humans may be selected via population-coverage, age limits and sub-population membership.
Component
→ scenario → interventions → human → component
<component
id=string
[ name=string ]
>
IN THIS ORDER:
| EXACTLY ONE OF:
| | <screen ... />
| | <treatSimple ... />
| | <treatPKPD ... />
| | <decisionTree ... />
| | <PEV ... />
| | <BSV ... />
| | <TBV ... />
| | <ITN ... />
| | <IRS ... />
| | <GVI ... />
| | [ <recruitmentOnly ... /> ]
| | <clearImmunity ... />
| [ <subPopRemoval ... /> ]
</component>
- screen
- treatSimple
- treatPKPD
- decisionTree
- PEV
- BSV
- TBV
- ITN
- IRS
- GVI
- recruitmentOnly
- clearImmunity
- subPopRemoval
Documentation (element)
A parameterisation of an effect achieved by one component of an intervention. (An intervention is described as the effects of a set of components plus deployments of those components. This describes the components individually, not deployments or which components comprise an intervention.)
Each element describes one component: its effects, decay of the(se) effect(s), and related stuff (e.g. description of indirect decay and of usage levels).
Different interventions can deploy the same component to the same perso. In most cases this will just deploy a fresh instance (e.g. a new bed net will replace the old (nobody uses multiple bed nets), or a new drug dose will act on top of previous doses, or in the case of a vaccine, effect depends on the total number of previous inoculations (including from other interventions).
Where multiple components of the same type (but with different ids) are deployed (whether within a single intervention or by multiple interventions), they act independently (e.g. two bed nets deployed to a single host would act to reduce attractiveness or survival of mosquitoes biting that host twice — this may be useful to simulate some novel vector intervention since the two nets may have separate parameters).
Attributes
Component identifier
id=string
A short name or code identifying the intervention component (used to refer to this component when describing an intervention). Also the id of the sub-population defined as those hosts who have received this intervention and who haven't subsequently been removed from the sub-population.
Name of component
name=string
An informal name/description for the component
screen
→ scenario → interventions → human → component → screen
<screen
diagnostic=string
>
IN THIS ORDER:
| ( <positive ... /> )*
| ( <negative ... /> )*
</screen>
Documentation (type)
This can be combined with MDA to achieve mass screen and treat (MSAT) or other types of mass screening intervention.
When deployed to a host, this simulates a test of patent malaria (microscopy, RDT or some such), then triggers deployment of whichever intervention components are configured (deployments for both positive and negative test outcomes can be configured).
The use of the screening itself is reported (if enabled), but not the outcome. Deployment of interventions triggered by the screening may be reported, however.
Attributes
Name of diagnostic
diagnostic=string
Name of a parameterised diagnostic (see scenario/diagnostics).
positive
→ scenario → interventions → human → component → screen → positive
<positive
id=string
/>
Documentation (type)
The list of components deployed to eligible humans.
Attributes
Identifier
id=string
The identifier (short name) of a component.
negative
→ scenario → interventions → human → component → screen → negative
<negative
id=string
/>
Documentation (type)
The list of components deployed to eligible humans.
Attributes
Identifier
id=string
The identifier (short name) of a component.
treatSimple
→ scenario → interventions → human → component → treatSimple
<treatSimple
durationLiver=string
durationBlood=string
/>
Documentation (type)
Simple treatment model, targetting liver- and/or blood-stage infections. This is all-or-nothing treatment which, when deploymed, completely clears all infections of the targetted stages. This makes it unsuitable for modeling resistance, but suitable for use with simple infection models.
Infections are considered liver-stage when less than five days old and blood-stage after that. Effects are described independently for the two stages.
Attributes
Length of liver-stage effect
durationLiver=string
Units: User defined
Controls action on liver-stage infections. 0 means no action, -1 step is a compatibility option to act like treatment before schema version 32 (which removed infections retrospectively), 1 step or any duration which equals some whole number of steps n>0 means to clear all liver-stage infections found on the next 1 or n steps. Note on -1 compatibility option: the main difference to 1 step (clearing on the next timestep) is that parasite densities will be reduced immediately, and thus from the point of view of surveys and mass screen and treat interventions a peak in density which is immediately treated through case management will not be seen. Can be specified in steps (e.g. 1t, -1t) or days (e.g. 5d).
Length of blood-stage effect
durationBlood=string
Units: User defined
Controls action on blood-stage infections. 0 means no action, -1 step is a compatibility option to act like treatment before schema version 32 (which removed infections retrospectively), 1 step or any duration which equals some whole number of steps n>0 means to clear all blood-stage infections found on the next 1 or n steps. Note on -1 compatibility option: the main difference to 1 step (clearing on the next timestep) is that parasite densities will be reduced immediately, and thus from the point of view of surveys and mass screen and treat interventions a peak in density which is immediately treated through case management will not be seen. Can be specified in steps (e.g. 1t, -1t) or days (e.g. 5d).
treatPKPD
→ scenario → interventions → human → component → treatPKPD
<treatPKPD
schedule=string
dosage=string
[ delay_h=double ] DEFAULT VALUE 0
/>
Documentation (type)
A command to administer drugs according to a given schedule and dosage table, optionally with a delay.
Attributes
Name of treatment schedule
schedule=string
The name of a schedule to use for treatment.
Name of dosage table
dosage=string
The name of a dosage table to use for treatment.
Delay (hours)
delay_h=double
Default value: 0
Optionally, this can be given to delay the start of treatment by a given number of hours. If not specified, treatment is not delayed. If a delay is given, all medications within the treatment schedule used are delayed by this number of hours.
decisionTree
→ scenario → interventions → human → component → decisionTree
<decisionTree
[ name=string ]
>
EXACTLY ONE OF:
| <multiple ... />
| <caseType ... />
| <diagnostic ... />
| <random ... />
| <age ... />
| <noTreatment ... />
| <treatFailure ... />
| ( <treatPKPD ... /> )+
| <treatSimple ... />
| ( <deploy ... /> )+
</decisionTree>
Documentation (type)
Describes how "decisions" are made, both probabilistically and deterministically, and what actions are carried out.
Quantities may also be reported as a side effect of decisions made in the tree, for example the number of diagnostics used.
Attributes
Name
name=string
An optional piece of documentation attached to this node.
Vaccines
→ scenario → interventions → human → component → PEV
<PEV>
IN THIS ORDER:
| <decay ... />
| <efficacyB ... />
| ( <initialEfficacy ... /> )+
</PEV>
Documentation (element)
Pre-erythrocytic vaccine (PEV): prevents a proportion of infections from commencing.
Documentation (type)
Description of a vaccine's effect
Decay of effect
→ scenario → interventions → human → component → PEV → decay
<decay
function=("constant" or "step" or "linear" or "exponential" or "weibull" or "hill" or "smooth-compact")
[ L=string ]
[ k=double ] DEFAULT VALUE 1.0
[ CV=double ] DEFAULT VALUE 0
/>
Documentation (element)
Specification of decay of efficacy. Documentation: see DecayFunction type or https://github.com/SwissTPH/openmalaria/wiki/ModelDecayFunctions
Documentation (type)
Specification of decay or survival of a parameter.
Attributes
function
function=("constant" or "step" or "linear" or "exponential" or "weibull" or "hill" or "smooth-compact")
Units: None Min: 0 Max: 1
Determines which decay function to use. Available decay functions, for age t in years: constant: 1 step: 1 for t less than L, otherwise 0 linear: 1 - t/L for t less than L, otherwise 0 exponential: exp( - t/L * log(2) ) weibull: exp( -(t/L)^k * log(2) ) hill: 1 / (1 + (t/L)^k) smooth-compact: exp( k - k / (1 - (t/L)^2) ) for t less than L, otherwise 0
L
L=string
Units: User-defined (defaults to years) Min: 0
(Time) scale parameter of distribution: this is either the age of complete decay (smooth-compact, step and linear functions) or the age at which the parameter has decayed to half its original value (exponential, weibull and hill). Not used when function="constant" (i.e. no decay). This value can be specified in years, days or steps (e.g. 2y, 180d or 100t). When the unit is not specified years are assumed. The value is used without rounding except when sampling an age of decay, when the rounding happens as late as possible.
k
k=double
Units: none Min: 0
Default value: 1.0
Shape parameter of distribution. If not specified, default value of 1 is used. Meaning depends on function; not used in some cases.
Coefficient of Variation
CV=double
Min: 0
Default value: 0
If CV is non-zero, heterogeneity of decay is introduced via a random variable sampled from the log-normal distribution. This distribution is parameterised with mean=1 and CV as given. The effective age of decay is the real age multiplied by this variable (for decay functions with a half-life, this is equivalent to dividing the half-life by the variable).
Variance parameter for vaccine efficacy
→ scenario → interventions → human → component → PEV → efficacyB
<efficacyB
value=double
/>
Documentation (element)
Units: Positive real Min: 0.001 Max: 1.00E+06
Measure of variation in vaccine efficacy: efficacy is sampled from a beta distribution with efficacyB its beta parameter and its alpha parameter fixed such that the mean is that given by initialEfficacy.
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Initial mean efficacy
→ scenario → interventions → human → component → PEV → initialEfficacy
<initialEfficacy
value=double
/>
Documentation (element)
Units: dimensionless Min: 0 Max: 1
Mean efficacy values before decay (see efficacyB and decay parameter descriptions for sampling and decay). The i-th value in this list is used for the efficacy of the vaccine after the i-th dose. Where more doses are given than there are values in this list, the last value is repeated.
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Vaccines
→ scenario → interventions → human → component → BSV
<BSV>
IN THIS ORDER:
| <decay ... />
| <efficacyB ... />
| ( <initialEfficacy ... /> )+
</BSV>
Documentation (element)
Blood-stage vaccine (BSV): acts as a killing factor on blood-stage parasites. Exact action depends on the within host model.
Documentation (type)
Description of a vaccine's effect
Vaccines
→ scenario → interventions → human → component → TBV
<TBV>
IN THIS ORDER:
| <decay ... />
| <efficacyB ... />
| ( <initialEfficacy ... /> )+
</TBV>
Documentation (element)
Transmission-blocking vaccine (TBV): one minus this scales the probability of transmission to mosquitoes
Documentation (type)
Description of a vaccine's effect
Bed nets
→ scenario → interventions → human → component → ITN
<ITN>
IN THIS ORDER:
| [ <usage ... /> ]
| <holeRate ... />
| <ripRate ... />
| <ripFactor ... />
| <initialInsecticide ... />
| <insecticideDecay ... />
| <attritionOfNets ... />
| ( <anophelesParams ... /> )+
</ITN>
- usage
- holeRate
- ripRate
- ripFactor
- initialInsecticide
- insecticideDecay
- attritionOfNets
- anophelesParams
Documentation (element)
Description of bed-net interventions (ITNs, LLINs).
Proportion of time nets are used by humans
→ scenario → interventions → human → component → ITN → usage
<usage
value=double
/>
Documentation (element)
Units: dimensionless Min: 0 Max: 1
Usage of nets by humans, from 0 to 1.
At the moment this is constant across humans and deterministic: relative attractiveness and survival factors are base*(1-usagepropActing) + intervention_factorusage*propActing.
See also "propActing" (proportion of bits for which net acts).
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Rate at which holes are made
→ scenario → interventions → human → component → ITN → holeRate
<holeRate
[ CV=double ]
[ distr=("const" or "lognormal") ] DEFAULT VALUE const
mean=double
/>
Documentation (element)
Units: Holes per annum Min: 0
The rate at which new holes are made in nets.
nHoles(t) = nHoles(t-1) + X where X~Pois(R/T) where T is the number of time-steps per year. R is sampled from log-normal: R ~ log N( log(mean)-sigma²/2, sigma² ) and is covariant with ripRate and insecticideDecay. (To be exact, a single Gaussian sample is taken, adjusted for each sigma then exponentiated.)
Documentation (type)
A parameter with optional log-normal heterogeneity.
The mean value must be specified. Optionally, a distribution ("distr") and coefficient of variation ("CV") may be specified.
Documentation (base type)
A parameter with optional heterogeneity.
The mean cannot be specified (unless this type is extended). Optionally, a distribution ("distr") and coefficient of variation ("CV") may be specified.
Attributes
Coefficient of variation
CV=double
Units: unitless
The (linear) coefficient of variation. This value must be specified when a (non-constant) distribution is used. Note that specifying CV="0" has the same effect as distr="const" and disables sampling of this parameter, even if distr is not "const".
Distribution
distr=("const" or "lognormal")
Default value: const
To allow heterogeneity, a distribution must be specified. Valid options are as follows. "const": no variation or sampling. Specifying distr="const" has the same effect as not specifying distr at all. "lognormal": the parameter is sampled from a log-normal distribution. Note that the "mean" and "CV" values are linear (arithmetic) properties of the distribution and not log-space properties.
mean
mean=double
The (linear) mean value.
Rate at which holes are enlarged
→ scenario → interventions → human → component → ITN → ripRate
<ripRate
[ CV=double ]
[ distr=("const" or "lognormal") ] DEFAULT VALUE const
mean=double
/>
Documentation (element)
Units: Rips per existing hole per annum Min: 0
Each existing hole has a probability of being ripped bigger according to a Poisson process with this rate as (only) parameter.
New rips occur in a net at rate X~Pois(h×R/T) where h is the number of existing holes and T the number of time-steps per year. R is sampled from log-normal: R ~ log N( log(mean)-sigma²/2, sigma² ) and is covariant with holeRate and insecticideDecay. (To be exact, a single Gaussian sample is taken, adjusted for the each and sigma then exponentiated.)
Documentation (type)
A parameter with optional log-normal heterogeneity.
The mean value must be specified. Optionally, a distribution ("distr") and coefficient of variation ("CV") may be specified.
Documentation (base type)
A parameter with optional heterogeneity.
The mean cannot be specified (unless this type is extended). Optionally, a distribution ("distr") and coefficient of variation ("CV") may be specified.
Attributes
Coefficient of variation
CV=double
Units: unitless
The (linear) coefficient of variation. This value must be specified when a (non-constant) distribution is used. Note that specifying CV="0" has the same effect as distr="const" and disables sampling of this parameter, even if distr is not "const".
Distribution
distr=("const" or "lognormal")
Default value: const
To allow heterogeneity, a distribution must be specified. Valid options are as follows. "const": no variation or sampling. Specifying distr="const" has the same effect as not specifying distr at all. "lognormal": the parameter is sampled from a log-normal distribution. Note that the "mean" and "CV" values are linear (arithmetic) properties of the distribution and not log-space properties.
mean
mean=double
The (linear) mean value.
Rip factor
→ scenario → interventions → human → component → ITN → ripFactor
<ripFactor
value=double
/>
Documentation (element)
Units: none Min: 0
This factor expresses how important rips are in increasing the hole.
The hole index of a net is h + F×x where h and x are the total numbers of holes and rips respectively and F is the rip factor.
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Initial insecticide
→ scenario → interventions → human → component → ITN → initialInsecticide
<initialInsecticide
mean=double
[ SD=double ]
[ distr=("const" or "normal") ] DEFAULT VALUE const
/>
Documentation (element)
Units: mg/m² Min: 0
The insecticide concentration of new nets is Gaussian distributed with mean "mu" and a standard deviation "sigma". The standard deviation should be small relative to the mean to avoid negative initial concentration. Any negative values sampled are set to 0.
Documentation (type)
A parameter with optional heterogeneity.
Optionally, a distribution ("distr") and standard of deviation ("SD") may be specified.
Attributes
mean
mean=double
The mean value.
standard deviation
SD=double
The standard deviation of variates.
Distribution
distr=("const" or "normal")
Default value: const
To allow heterogeneity, a distribution must be specified. Valid options are as follows. "const": no variation or sampling. Specifying distr="const" has the same effect as not specifying distr at all. "normal": the parameter is sampled from a normal distribution.
Decay of insecticide
→ scenario → interventions → human → component → ITN → insecticideDecay
<insecticideDecay
function=("constant" or "step" or "linear" or "exponential" or "weibull" or "hill" or "smooth-compact")
[ L=string ]
[ k=double ] DEFAULT VALUE 1.0
[ CV=double ] DEFAULT VALUE 0
/>
Documentation (element)
Units: none
Decay curve for insecticide content of nets. Documentation: see DecayFunction type or https://github.com/SwissTPH/openmalaria/wiki/ModelDecayFunctions
The distribution of decay rates over nets is covariant with the distribution of ripRate and holeRate over nets. This distribution is generated by taking one sample per net from a Gaussian distribution with mean 0 and standard deviation 1. For each variable, the sample is multiplied by the respective sigma and a constant added such that, once exponentiated, the mean of the variable over nets is 1. The variable is then exponentiated and multiplied by the required mean rate for the respective variable.
Documentation (type)
Specification of decay or survival of a parameter.
Attributes
function
function=("constant" or "step" or "linear" or "exponential" or "weibull" or "hill" or "smooth-compact")
Units: None Min: 0 Max: 1
Determines which decay function to use. Available decay functions, for age t in years: constant: 1 step: 1 for t less than L, otherwise 0 linear: 1 - t/L for t less than L, otherwise 0 exponential: exp( - t/L * log(2) ) weibull: exp( -(t/L)^k * log(2) ) hill: 1 / (1 + (t/L)^k) smooth-compact: exp( k - k / (1 - (t/L)^2) ) for t less than L, otherwise 0
L
L=string
Units: User-defined (defaults to years) Min: 0
(Time) scale parameter of distribution: this is either the age of complete decay (smooth-compact, step and linear functions) or the age at which the parameter has decayed to half its original value (exponential, weibull and hill). Not used when function="constant" (i.e. no decay). This value can be specified in years, days or steps (e.g. 2y, 180d or 100t). When the unit is not specified years are assumed. The value is used without rounding except when sampling an age of decay, when the rounding happens as late as possible.
k
k=double
Units: none Min: 0
Default value: 1.0
Shape parameter of distribution. If not specified, default value of 1 is used. Meaning depends on function; not used in some cases.
Coefficient of Variation
CV=double
Min: 0
Default value: 0
If CV is non-zero, heterogeneity of decay is introduced via a random variable sampled from the log-normal distribution. This distribution is parameterised with mean=1 and CV as given. The effective age of decay is the real age multiplied by this variable (for decay functions with a half-life, this is equivalent to dividing the half-life by the variable).
Attrition of nets
→ scenario → interventions → human → component → ITN → attritionOfNets
<attritionOfNets
function=("constant" or "step" or "linear" or "exponential" or "weibull" or "hill" or "smooth-compact")
[ L=string ]
[ k=double ] DEFAULT VALUE 1.0
[ CV=double ] DEFAULT VALUE 0
/>
Documentation (element)
Units: dimensionless
Specifies the rate at which nets are disposed of over time. Documentation: see DecayFunction type or https://github.com/SwissTPH/openmalaria/wiki/ModelDecayFunctions
In the current model, nets are disposed of randomly (no correlation with state of decay) such that the chance of each net surviving until age t is the value of this decay function at time t. Equivalently (where a large number of nets are distributed at the same time), the proportion of nets remaining in use should match this decay function over time.
Humans are removed from the intervention component's sub-population on disposal (attrition) of their nets. Currently this event is not reported.
Documentation (type)
Specification of decay or survival of a parameter.
Attributes
function
function=("constant" or "step" or "linear" or "exponential" or "weibull" or "hill" or "smooth-compact")
Units: None Min: 0 Max: 1
Determines which decay function to use. Available decay functions, for age t in years: constant: 1 step: 1 for t less than L, otherwise 0 linear: 1 - t/L for t less than L, otherwise 0 exponential: exp( - t/L * log(2) ) weibull: exp( -(t/L)^k * log(2) ) hill: 1 / (1 + (t/L)^k) smooth-compact: exp( k - k / (1 - (t/L)^2) ) for t less than L, otherwise 0
L
L=string
Units: User-defined (defaults to years) Min: 0
(Time) scale parameter of distribution: this is either the age of complete decay (smooth-compact, step and linear functions) or the age at which the parameter has decayed to half its original value (exponential, weibull and hill). Not used when function="constant" (i.e. no decay). This value can be specified in years, days or steps (e.g. 2y, 180d or 100t). When the unit is not specified years are assumed. The value is used without rounding except when sampling an age of decay, when the rounding happens as late as possible.
k
k=double
Units: none Min: 0
Default value: 1.0
Shape parameter of distribution. If not specified, default value of 1 is used. Meaning depends on function; not used in some cases.
Coefficient of Variation
CV=double
Min: 0
Default value: 0
If CV is non-zero, heterogeneity of decay is introduced via a random variable sampled from the log-normal distribution. This distribution is parameterised with mean=1 and CV as given. The effective age of decay is the real age multiplied by this variable (for decay functions with a half-life, this is equivalent to dividing the half-life by the variable).
anophelesParams
→ scenario → interventions → human → component → ITN → anophelesParams
<anophelesParams
mosquito=string
[ propActive=double ] DEFAULT VALUE 1
>
IN THIS ORDER:
| [ <holeIndexMax ... /> ]
| EXACTLY ONE OF:
| | <deterrency ... />
| | <twoStageDeterrency ... />
| EXACTLY ONE OF:
| | <preprandialKillingEffect ... />
| | <preprandialKillingEffectLogit ... />
| EXACTLY ONE OF:
| | <postprandialKillingEffect ... />
| | <postprandialKillingEffectLogit ... />
| EXACTLY ONE OF:
| | [ <fecundityReduction ... /> ]
| | [ <fecundityReductionLogit ... /> ]
</anophelesParams>
- holeIndexMax
- deterrency
- twoStageDeterrency
- preprandialKillingEffect
- preprandialKillingEffectLogit
- postprandialKillingEffect
- postprandialKillingEffectLogit
- fecundityReduction
- fecundityReductionLogit
Attributes
Mosquito species
mosquito=string
Name of the affected anopheles-mosquito species.
Proportion of bites for which net acts
propActive=double
Units: dimensionless Min: 0 Max: 1
Default value: 1
Deprecated: propActive is now always set to 1. This value will be ignored. The proportion of bites, when nets are in use, for which the net has any action whatsoever on the mosquito. At the moment this is constant across humans and deterministic: relative attractiveness and survival factors are base*(1-usagepropActing) + intervention_factorusage*propActing. See also "usage" (proportion of time nets are used by humans).
maximum of holed surface area that has an effect (comparable to no net)
→ scenario → interventions → human → component → ITN → anophelesParams → holeIndexMax
<holeIndexMax
value=double
/>
Documentation (element)
Units: in same unit as holeIndex
Used by logit attacking and killing models only, holeIndexMax is a user defined maximum hole index (typically, the total surface area of a net).
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Relative attractiveness
→ scenario → interventions → human → component → ITN → anophelesParams → deterrency
<deterrency
insecticideFactor=double
insecticideScalingFactor=double
holeFactor=double
interactionFactor=double
holeScalingFactor=double
/>
Documentation (element)
Units: dimensionless Min: 0 Max: 1
Effect of net on attractiveness of humans to mosquitoes relative to an unprotected adult human. Parameterisations should take into account that mosquitoes do not always bite indoors.
Attractiveness of the human is multiplied by exp(log(H)×h + log(P)×p + log(I)×h×p where H, P and I are the hole, insecticide and interaction factors respectively, h=exp(-holeIndex×holeScalingFactor) and p=1−exp(-insecticideContent×insecticideScalingFactor).
Attributes
Insecticide factor
insecticideFactor=double
Units: none Max: 1
Value expected to be at least 0. Negative values are not necessarily invalid, but allow nets to increase transmission.
Insecticide scaling factor
insecticideScalingFactor=double
Units: none Min: 0
Hole factor
holeFactor=double
Units: none Max: 1
Value expected to be at least 0. Negative values are not necessarily invalid, but allow nets to increase transmission.
Interaction factor
interactionFactor=double
Units: none Max: 1
holeFactor + insecticideFactor + interactionFactor must not be greater than 1, and is expected to be at least 0. A negative value is not necessarily invalid, but allows nets to increase transmission.
Hole scaling factor
holeScalingFactor=double
Units: none Min: 0
Relative attractiveness
→ scenario → interventions → human → component → ITN → anophelesParams → twoStageDeterrency
<twoStageDeterrency>
IN THIS ORDER:
| EXACTLY ONE OF:
| | <entering ... />
| | <enteringLogit ... />
| EXACTLY ONE OF:
| | <attacking ... />
| | <attackingLogit ... />
</twoStageDeterrency>
Documentation (element)
Units: dimensionless
Effect of net on attractiveness of humans to mosquitoes relative to an unprotected adult human. Parameterisations should take into account that mosquitoes do not always bite indoors.
This deterrency model multiplies human attractiveness by pEnt×pAtt.
Deterrency: entering
→ scenario → interventions → human → component → ITN → anophelesParams → twoStageDeterrency → entering
<entering
insecticideFactor=double
insecticideScalingFactor=double
/>
Documentation (element)
Units: dimensionless
pEnt represents the relative probability of entering due to ITNs: pEnt = exp(log(P)×p) where P is the insecticide factor and p=1−exp(-insecticideContent×insecticideScalingFactor).
Attributes
Insecticide factor
insecticideFactor=double
Units: none Max: 1
Value expected to be at least 0. Negative values are not necessarily invalid, but allow nets to increase transmission.
Insecticide scaling factor
insecticideScalingFactor=double
Units: none Min: 0
Deterrency: entering (logit model)
→ scenario → interventions → human → component → ITN → anophelesParams → twoStageDeterrency → enteringLogit
<enteringLogit
baseFactor=double
insecticideFactor=double
/>
Documentation (element)
Units: dimensionless
pEnt represents the relative probability of entering due to insecticide in the hut: pEnt = exp(logit.pEnt) / (exp(logit.pEnt) + 1) logit.pEnt = B + P * p where B is the basefactor (without net); P is insecticide factor, and p = log(insecticideContent+1). Without a net, probability of entering a house is pEnt0 = exp(logit.pEnt0) / (exp(logit.pEnt0) + 1) logit.pEnt0 = B Entering of mosquitoes is adjusted via multiplication by pEnt / pEnt0. To keep this in the range [0,1], we (normally) require that pEnt ≤ pEnt0 and thus P ≤ 0 and give a warning if this is not fulfilled.
Attributes
Base factor
baseFactor=double
Units: none
See parent element documentation
Insecticide factor
insecticideFactor=double
Units: none
See parent element documentation
Deterrency: attacking
→ scenario → interventions → human → component → ITN → anophelesParams → twoStageDeterrency → attacking
<attacking
insecticideFactor=double
insecticideScalingFactor=double
holeFactor=double
interactionFactor=double
holeScalingFactor=double
baseFactor=double
/>
Documentation (element)
Units: dimensionless
pAtt represents the relative probability of attacking a human after entering a house due to ITNs (i.e. of feeding/dying vs. flying off): pAtt = B + H×h + P×p + I×h×p where B is the base (without net) probability; H, P and I are the hole, insecticide and interaction factors respectively, h=exp(-holeIndex × holeScalingFactor) and p=1 - exp(-insecticideContent × insecticideScalingFactor).
Attributes
Insecticide factor
insecticideFactor=double
Units: none Max: 1
Value expected to be at least 0. Negative values are not necessarily invalid, but allow nets to increase transmission.
Insecticide scaling factor
insecticideScalingFactor=double
Units: none Min: 0
Hole factor
holeFactor=double
Units: none Max: 1
Value expected to be at least 0. Negative values are not necessarily invalid, but allow nets to increase transmission.
Interaction factor
interactionFactor=double
Units: none Max: 1
holeFactor + insecticideFactor + interactionFactor must not be greater than 1, and is expected to be at least 0. A negative value is not necessarily invalid, but allows nets to increase transmission.
Hole scaling factor
holeScalingFactor=double
Units: none Min: 0
Probability of mosquito death without intervention
baseFactor=double
Units: dimensionless
Deterrency: attacking (logit model)
→ scenario → interventions → human → component → ITN → anophelesParams → twoStageDeterrency → attackingLogit
<attackingLogit
baseFactor=double
insecticideFactor=double
holeFactor=double
interactionFactor=double
/>
Documentation (element)
Units: dimensionless
pAtt represents the relative probability of attacking a human after entering a house due to ITNs (i.e. of feeding/dying vs. flying off): pAtt = exp(logit.pAtt) / (exp(logit.pAtt) + 1) logit.pAtt = B + H×min(h, hMax) + P×p + I×min(h, hMax)×p where B is the base factor (without net); H, P and I are the hole, insecticide and interaction factors respectively, and: h = log(holeIndex + 1) p = log(insecticideContent + 1) Without a net, probability of attacking a human after entering a house is pAtt0 = exp(logit.pAtt0) / (exp(logit.pAtt0) + 1) logit.pAtt0 = B + H×hMax where hMax=log(holeIndexMax + 1) and holeIndexMax is a user defined maximum hole index (typically, the total surface area of a net). Attacking of mosquitoes is adjusted via multiplication by pAtt / pAtt0. This may be larger and smaller than 1 (but will not be negative). By definition (through the logit transformation) pAtt0 > 0.
Attributes
Base factor
baseFactor=double
Units: dimensionless
Logit of the probability (e.g. of death, of entry, of attacking) without intervention.
Insecticide factor
insecticideFactor=double
Units: none
Coefficient of log(insecticide content+1) in a generalized linear model with logit link function.
Hole factor
holeFactor=double
Units: none
Coefficient of log(total holed surface area (in cm2) +1) in a generalized linear model with logit link function.
Interaction factor
interactionFactor=double
Units: none
Coefficient of the interaction term of log(total holed surface area (in cm2) +1) with log(insecticide content+1) in a generalized linear model with logit link function.
Pre-prandial killing effect
→ scenario → interventions → human → component → ITN → anophelesParams → preprandialKillingEffect
<preprandialKillingEffect
insecticideFactor=double
insecticideScalingFactor=double
holeFactor=double
interactionFactor=double
holeScalingFactor=double
baseFactor=double
/>
Documentation (element)
Units: dimensionless Min: 0 Max: 1
Effect of net on survival mosquitoes as they seek to bite a human after choosing that human, relative to the same person not sleeping under a net. Parameterisations should take into account that mosquitoes do not always bite indoors.
Killing proportion is calculated as K = B + H×h + P×p + I×h×p where B is the base (without net) probability of death, H, P and I are the hole, insecticide and interaction factors respectively, h=exp(-holeIndex×holeScalingFactor) and p=1−exp(-insecticideContent×insecticideScalingFactor).
Survival of mosquitoes is adjusted via multiplication by (1−K) / (1−B). To keep this in the range [0,1], we require that B+H ≤ 1, B+P ≤ 1, B+H+P+I ≤ 1, H ≥ 0, P ≥ 0 and H+P+I ≥ 0.
Attributes
Insecticide factor
insecticideFactor=double
Units: none Max: 1
Value expected to be at least 0. Negative values are not necessarily invalid, but allow nets to increase transmission.
Insecticide scaling factor
insecticideScalingFactor=double
Units: none Min: 0
Hole factor
holeFactor=double
Units: none Max: 1
Value expected to be at least 0. Negative values are not necessarily invalid, but allow nets to increase transmission.
Interaction factor
interactionFactor=double
Units: none Max: 1
holeFactor + insecticideFactor + interactionFactor must not be greater than 1, and is expected to be at least 0. A negative value is not necessarily invalid, but allows nets to increase transmission.
Hole scaling factor
holeScalingFactor=double
Units: none Min: 0
Probability of mosquito death without intervention
baseFactor=double
Units: dimensionless
Pre-prandial killing effect (logit)
→ scenario → interventions → human → component → ITN → anophelesParams → preprandialKillingEffectLogit
<preprandialKillingEffectLogit
baseFactor=double
insecticideFactor=double
holeFactor=double
interactionFactor=double
/>
Documentation (element)
Units: dimensionless Min: 0 Max: 1
Effect of net on survival mosquitoes as they seek to bite a human
after choosing that human, relative to the same person not
sleeping under a net.
Killing proportion is calculated as
K=exp(logit.K)/(exp(logit.K)+1)
logit.K = B + H×min(h,hMax) + P×p + I×min(h,hMax)×p
where B is the basefactor (without net),
H, P and I are the hole, insecticide and interaction factors
respectively, h=log(holeIndex+1) and
p=log(insecticideContent+1).
Without a net, the killing proportion
K0=exp(logit.K0)/(exp(logit.K0)+1)
logit.K0 = B + H×hMax
where hMax=log(holeIndexMax+1) and holeIndexMax is a user defined maximum hole index (typically, the total surface area of a net).
Survival of mosquitoes is adjusted via multiplication by (1−K) / (1−K0).
To keep this in the range [0,1], we require that K ≥ K0. We enforce that P ≥ 0 (It would not make sense biologically if P were negative) and P+I*hMax ≥ 0 and H ≤ 0 and holeIndex ≤ holeIndexMax and give a warning if these conditions are not fulfilled.
Attributes
Base factor
baseFactor=double
Units: dimensionless
Logit of the probability (e.g. of death, of entry, of attacking) without intervention.
Insecticide factor
insecticideFactor=double
Units: none
Coefficient of log(insecticide content+1) in a generalized linear model with logit link function.
Hole factor
holeFactor=double
Units: none
Coefficient of log(total holed surface area (in cm2) +1) in a generalized linear model with logit link function.
Interaction factor
interactionFactor=double
Units: none
Coefficient of the interaction term of log(total holed surface area (in cm2) +1) with log(insecticide content+1) in a generalized linear model with logit link function.
Post-prandial killing effect
→ scenario → interventions → human → component → ITN → anophelesParams → postprandialKillingEffect
<postprandialKillingEffect
insecticideFactor=double
insecticideScalingFactor=double
holeFactor=double
interactionFactor=double
holeScalingFactor=double
baseFactor=double
/>
Documentation (element)
Units: dimensionless Min: 0 Max: 1
Effect of net on survival mosquitoes as they seek to escape from a human host and rest after a blood meal, relative to the same person not sleeping under a net. Parameterisations should take into account that mosquitoes do not always bite indoors.
Killing proportion is calculated as K = B + H×h + P×p + I×h×p where B is the base (without net) probability of death, H, P and I are the hole, insecticide and interaction factors respectively, h=exp(-holeIndex×holeScalingFactor) and p=1−exp(-insecticideContent×insecticideScalingFactor).
Survival of mosquitoes is adjusted via multiplication by (1−K) / (1−B). To keep this in the range [0,1], we require that B+H ≤ 1, B+P ≤ 1, B+H+P+I ≤ 1, H ≥ 0, P ≥ 0 and H+P+I ≥ 0.
Attributes
Insecticide factor
insecticideFactor=double
Units: none Max: 1
Value expected to be at least 0. Negative values are not necessarily invalid, but allow nets to increase transmission.
Insecticide scaling factor
insecticideScalingFactor=double
Units: none Min: 0
Hole factor
holeFactor=double
Units: none Max: 1
Value expected to be at least 0. Negative values are not necessarily invalid, but allow nets to increase transmission.
Interaction factor
interactionFactor=double
Units: none Max: 1
holeFactor + insecticideFactor + interactionFactor must not be greater than 1, and is expected to be at least 0. A negative value is not necessarily invalid, but allows nets to increase transmission.
Hole scaling factor
holeScalingFactor=double
Units: none Min: 0
Probability of mosquito death without intervention
baseFactor=double
Units: dimensionless
Post-prandial killing effect (logit)
→ scenario → interventions → human → component → ITN → anophelesParams → postprandialKillingEffectLogit
<postprandialKillingEffectLogit
baseFactor=double
insecticideFactor=double
holeFactor=double
interactionFactor=double
/>
Documentation (element)
Units: dimensionless Min: 0 Max: 1
Effect of net on survival mosquitoes as they seek to escape from a human host and rest after a blood meal, relative to the same person not sleeping under a net. Killing proportion is calculated as K=exp(logit.K)/(exp(logit.K)+1) logit.K = B + H×min(h,hMax) + P×p + I×min(h,hMax)×p where B is the basefactor (without net), H, P and I are the hole, insecticide and interaction factors respectively, h=log(holeIndex+1) and p=log(insecticideContent+1). Without a net, the killing proportion K0=exp(logit.K0)/(exp(logit.K0)+1) logit.K0 = B + H×hMax where hMax=log(holeIndexMax+1) and holeIndexMax is a user defined maximum hole index (typically, the total surface area of a net). Survival of mosquitoes is adjusted via multiplication by (1−K) / (1−K0). To keep this in the range [0,1], we require that K ≥ K0. We enforce that P ≥ 0 (It would not make sense biologically if P were negative) and P+I*hMax ≥ 0 and H ≤ 0 and holeIndex ≤ holeIndexMax and give a warning if these conditions are not fulfilled.
Attributes
Base factor
baseFactor=double
Units: dimensionless
Logit of the probability (e.g. of death, of entry, of attacking) without intervention.
Insecticide factor
insecticideFactor=double
Units: none
Coefficient of log(insecticide content+1) in a generalized linear model with logit link function.
Hole factor
holeFactor=double
Units: none
Coefficient of log(total holed surface area (in cm2) +1) in a generalized linear model with logit link function.
Interaction factor
interactionFactor=double
Units: none
Coefficient of the interaction term of log(total holed surface area (in cm2) +1) with log(insecticide content+1) in a generalized linear model with logit link function.
Fecundity reduction
→ scenario → interventions → human → component → ITN → anophelesParams → fecundityReduction
<fecundityReduction
insecticideFactor=double
insecticideScalingFactor=double
holeFactor=double
interactionFactor=double
holeScalingFactor=double
baseFactor=double
/>
Documentation (element)
Effect of net on fertility of mosquitoes who survive feeding on a protected human, relative to an unprotected human.
Fertility (number of eggs laid) is multiplied by (1-K) / (1-B), similar to killing effects. This is not allowed to be greater than 1.
Attributes
Insecticide factor
insecticideFactor=double
Units: none Max: 1
Value expected to be at least 0. Negative values are not necessarily invalid, but allow nets to increase transmission.
Insecticide scaling factor
insecticideScalingFactor=double
Units: none Min: 0
Hole factor
holeFactor=double
Units: none Max: 1
Value expected to be at least 0. Negative values are not necessarily invalid, but allow nets to increase transmission.
Interaction factor
interactionFactor=double
Units: none Max: 1
holeFactor + insecticideFactor + interactionFactor must not be greater than 1, and is expected to be at least 0. A negative value is not necessarily invalid, but allows nets to increase transmission.
Hole scaling factor
holeScalingFactor=double
Units: none Min: 0
Probability of mosquito death without intervention
baseFactor=double
Units: dimensionless
Fecundity reduction (logit)
→ scenario → interventions → human → component → ITN → anophelesParams → fecundityReductionLogit
<fecundityReductionLogit
baseFactor=double
insecticideFactor=double
holeFactor=double
interactionFactor=double
/>
Documentation (element)
Effect of net on fertility of mosquitoes who survive feeding on a protected human, relative to an unprotected human.
Fertility (number of eggs laid) is multiplied by (1-K) / (1-K0), similar to killing effects. This is not allowed to be greater than 1.
Attributes
Base factor
baseFactor=double
Units: dimensionless
Logit of the probability (e.g. of death, of entry, of attacking) without intervention.
Insecticide factor
insecticideFactor=double
Units: none
Coefficient of log(insecticide content+1) in a generalized linear model with logit link function.
Hole factor
holeFactor=double
Units: none
Coefficient of log(total holed surface area (in cm2) +1) in a generalized linear model with logit link function.
Interaction factor
interactionFactor=double
Units: none
Coefficient of the interaction term of log(total holed surface area (in cm2) +1) with log(insecticide content+1) in a generalized linear model with logit link function.
Indoor residual spraying
→ scenario → interventions → human → component → IRS
<IRS>
IN THIS ORDER:
| [ <usage ... /> ]
| <initialInsecticide ... />
| <insecticideDecay ... />
| ( <anophelesParams ... /> )+
</IRS>
Documentation (element)
Description of indoor residual spraying interventions.
Documentation (type)
Description of effect for the more complex and probably more realistic Briet model: IRS has three effects, whos strength is calculated as a function of surviving insecticide content.
Proportion of Indoor residual spraying (IRS) interventions
→ scenario → interventions → human → component → IRS → usage
<usage
value=double
/>
Documentation (element)
Units: dimensionless Min: 0 Max: 1
Usage of Indoor residual spraying (IRS) interventions, from 0 to 1.
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Initial insecticide
→ scenario → interventions → human → component → IRS → initialInsecticide
<initialInsecticide
mean=double
[ SD=double ]
[ distr=("const" or "normal") ] DEFAULT VALUE const
/>
Documentation (element)
Units: μg/cm² Min: 0
The insecticide concentration of IRS (at time of spraying) is Gaussian distributed with mean "mu" and a standard deviation "sigma". The standard deviation should be small relative to the mean to avoid negative initial concentration. Any negative values sampled are set to 0.
Documentation (type)
A parameter with optional heterogeneity.
Optionally, a distribution ("distr") and standard of deviation ("SD") may be specified.
Attributes
mean
mean=double
The mean value.
standard deviation
SD=double
The standard deviation of variates.
Distribution
distr=("const" or "normal")
Default value: const
To allow heterogeneity, a distribution must be specified. Valid options are as follows. "const": no variation or sampling. Specifying distr="const" has the same effect as not specifying distr at all. "normal": the parameter is sampled from a normal distribution.
Decay of insecticide
→ scenario → interventions → human → component → IRS → insecticideDecay
<insecticideDecay
function=("constant" or "step" or "linear" or "exponential" or "weibull" or "hill" or "smooth-compact")
[ L=string ]
[ k=double ] DEFAULT VALUE 1.0
[ CV=double ] DEFAULT VALUE 0
/>
Documentation (element)
Units: none
Decay curve for insecticide content of IRS. Documentation: see DecayFunction type or https://github.com/SwissTPH/openmalaria/wiki/ModelDecayFunctions
Documentation (type)
Specification of decay or survival of a parameter.
Attributes
function
function=("constant" or "step" or "linear" or "exponential" or "weibull" or "hill" or "smooth-compact")
Units: None Min: 0 Max: 1
Determines which decay function to use. Available decay functions, for age t in years: constant: 1 step: 1 for t less than L, otherwise 0 linear: 1 - t/L for t less than L, otherwise 0 exponential: exp( - t/L * log(2) ) weibull: exp( -(t/L)^k * log(2) ) hill: 1 / (1 + (t/L)^k) smooth-compact: exp( k - k / (1 - (t/L)^2) ) for t less than L, otherwise 0
L
L=string
Units: User-defined (defaults to years) Min: 0
(Time) scale parameter of distribution: this is either the age of complete decay (smooth-compact, step and linear functions) or the age at which the parameter has decayed to half its original value (exponential, weibull and hill). Not used when function="constant" (i.e. no decay). This value can be specified in years, days or steps (e.g. 2y, 180d or 100t). When the unit is not specified years are assumed. The value is used without rounding except when sampling an age of decay, when the rounding happens as late as possible.
k
k=double
Units: none Min: 0
Default value: 1.0
Shape parameter of distribution. If not specified, default value of 1 is used. Meaning depends on function; not used in some cases.
Coefficient of Variation
CV=double
Min: 0
Default value: 0
If CV is non-zero, heterogeneity of decay is introduced via a random variable sampled from the log-normal distribution. This distribution is parameterised with mean=1 and CV as given. The effective age of decay is the real age multiplied by this variable (for decay functions with a half-life, this is equivalent to dividing the half-life by the variable).
Per-mosquito species parameters
→ scenario → interventions → human → component → IRS → anophelesParams
<anophelesParams
mosquito=string
[ propActive=double ] DEFAULT VALUE 1
>
IN THIS ORDER:
| <deterrency ... />
| <preprandialKillingEffect ... />
| <postprandialKillingEffect ... />
| [ <fecundityReduction ... /> ]
</anophelesParams>
Attributes
Mosquito species
mosquito=string
Name of the affected anopheles-mosquito species.
Proportion of bites for which IRS acts
propActive=double
Units: dimensionless Min: 0 Max: 1
Default value: 1
The proportion of bites for which the IRS has any action whatsoever on the mosquito. At the moment this is constant across humans and deterministic: relative attractiveness and survival factors are base*(1-propActing) + intervention_factor*propActing.
Relative attractiveness
→ scenario → interventions → human → component → IRS → anophelesParams → deterrency
<deterrency
insecticideFactor=double
insecticideScalingFactor=double
/>
Documentation (element)
Units: dimensionless Min: 0 Max: 1
Effect of IRS on attractiveness of humans to mosquitoes relative to an unprotected adult human. Parameterisations should take into account that mosquitoes do not always bite indoors.
Attractiveness of the human is multiplied by exp(P×log(p)) where P is the insecticide factor, p=1−exp(-insecticideContent×insecticideScalingFactor).
Attributes
Insecticide factor
insecticideFactor=double
Units: none Max: 1
Value expected to be at least 0. Negative values are not necessarily invalid, but allow nets to increase transmission.
Insecticide scaling factor
insecticideScalingFactor=double
Units: none Min: 0
Pre-prandial killing effect
→ scenario → interventions → human → component → IRS → anophelesParams → preprandialKillingEffect
<preprandialKillingEffect
insecticideFactor=double
insecticideScalingFactor=double
baseFactor=double
/>
Documentation (element)
Units: dimensionless Min: 0 Max: 1
Effect of IRS on survival mosquitoes as they seek to bite a human after choosing that human, relative to the same person not protected by IRS. Parameterisations should take into account that mosquitoes do not always bite indoors. This parameter has been added since some data shows IRS to have a preprandial killing effect.
Killing proportion is calculated as K = B + P×p where B is the base (without protection) probability of death, and P is the insecticide factor, p=1−exp(-insecticideContent×insecticideScalingFactor).
Survival of mosquitoes is adjusted via multiplication by (1−K) / (1−B). To keep this in the range [0,1], we require that B+P ≤ 1 and P ≥ 0.
Attributes
Insecticide factor
insecticideFactor=double
Units: none Max: 1
Value expected to be at least 0. Negative values are not necessarily invalid, but allow nets to increase transmission.
Insecticide scaling factor
insecticideScalingFactor=double
Units: none Min: 0
Probability of mosquito death without intervention
baseFactor=double
Units: dimensionless
Post-prandial killing effect
→ scenario → interventions → human → component → IRS → anophelesParams → postprandialKillingEffect
<postprandialKillingEffect
insecticideFactor=double
insecticideScalingFactor=double
baseFactor=double
/>
Documentation (element)
Units: dimensionless Min: 0 Max: 1
Effect of IRS on survival mosquitoes as they seek to escape from a human host and rest after a blood meal, relative to the same person not protected by IRS. Parameterisations should take into account that mosquitoes do not always bite indoors.
Killing proportion is calculated as K = B + P×p where B is the base (without protection) probability of death, and P is the insecticide factor, p=1−exp(-insecticideContent×insecticideScalingFactor).
Survival of mosquitoes is adjusted via multiplication by (1−K) / (1−B). To keep this in the range [0,1], we require that B+P ≤ 1 and P ≥ 0.
Attributes
Insecticide factor
insecticideFactor=double
Units: none Max: 1
Value expected to be at least 0. Negative values are not necessarily invalid, but allow nets to increase transmission.
Insecticide scaling factor
insecticideScalingFactor=double
Units: none Min: 0
Probability of mosquito death without intervention
baseFactor=double
Units: dimensionless
Fecundity reduction
→ scenario → interventions → human → component → IRS → anophelesParams → fecundityReduction
<fecundityReduction
insecticideFactor=double
insecticideScalingFactor=double
baseFactor=double
/>
Documentation (element)
Effect of IRS on fertility mosquitoes after successfully feeding on a human host, relative to an unproteced human. Parameterisations should take into account that mosquitoes do not always bite indoors.
First, we calculate K = B + P×p where B is the base (without protection) probability of death, and P is the insecticide factor, p=1−exp(-insecticideContent×insecticideScalingFactor).
Fecundity is multiplied by (1−K) / (1−B). It is not allowed to be greater than 1. To keep this in the range [0,1], we require that B+P ≤ 1 and P ≥ 0.
Attributes
Insecticide factor
insecticideFactor=double
Units: none Max: 1
Value expected to be at least 0. Negative values are not necessarily invalid, but allow nets to increase transmission.
Insecticide scaling factor
insecticideScalingFactor=double
Units: none Min: 0
Probability of mosquito death without intervention
baseFactor=double
Units: dimensionless
Generic vector intervention
→ scenario → interventions → human → component → GVI
<GVI>
IN THIS ORDER:
| [ <usage ... /> ]
| <decay ... />
| ( <anophelesParams ... /> )+
</GVI>
Documentation (element)
Low-level description of intervention effects on vectors (i.e. mosquitoes). Can be used to describe simple ITN or IRS interventions (though more complex models are available for these interventions) or other interventions such as mosquito repellant or ivermectin.
Note that all actions of this intervention component will decay according to a single decay function. If independant decay is wanted, a separate component can be used for each action.
Proportion of generic vector interventions
→ scenario → interventions → human → component → GVI → usage
<usage
value=double
/>
Documentation (element)
Units: dimensionless Min: 0 Max: 1
Usage of Generic vector interventions, from 0 to 1.
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Decay
→ scenario → interventions → human → component → GVI → decay
<decay
function=("constant" or "step" or "linear" or "exponential" or "weibull" or "hill" or "smooth-compact")
[ L=string ]
[ k=double ] DEFAULT VALUE 1.0
[ CV=double ] DEFAULT VALUE 0
/>
Documentation (element)
Description of decay of all intervention effects. Documentation: see DecayFunction type or https://github.com/SwissTPH/openmalaria/wiki/ModelDecayFunctions
Documentation (type)
Specification of decay or survival of a parameter.
Attributes
function
function=("constant" or "step" or "linear" or "exponential" or "weibull" or "hill" or "smooth-compact")
Units: None Min: 0 Max: 1
Determines which decay function to use. Available decay functions, for age t in years: constant: 1 step: 1 for t less than L, otherwise 0 linear: 1 - t/L for t less than L, otherwise 0 exponential: exp( - t/L * log(2) ) weibull: exp( -(t/L)^k * log(2) ) hill: 1 / (1 + (t/L)^k) smooth-compact: exp( k - k / (1 - (t/L)^2) ) for t less than L, otherwise 0
L
L=string
Units: User-defined (defaults to years) Min: 0
(Time) scale parameter of distribution: this is either the age of complete decay (smooth-compact, step and linear functions) or the age at which the parameter has decayed to half its original value (exponential, weibull and hill). Not used when function="constant" (i.e. no decay). This value can be specified in years, days or steps (e.g. 2y, 180d or 100t). When the unit is not specified years are assumed. The value is used without rounding except when sampling an age of decay, when the rounding happens as late as possible.
k
k=double
Units: none Min: 0
Default value: 1.0
Shape parameter of distribution. If not specified, default value of 1 is used. Meaning depends on function; not used in some cases.
Coefficient of Variation
CV=double
Min: 0
Default value: 0
If CV is non-zero, heterogeneity of decay is introduced via a random variable sampled from the log-normal distribution. This distribution is parameterised with mean=1 and CV as given. The effective age of decay is the real age multiplied by this variable (for decay functions with a half-life, this is equivalent to dividing the half-life by the variable).
Per-mosquito species parameters
→ scenario → interventions → human → component → GVI → anophelesParams
<anophelesParams
mosquito=string
[ propActive=double ] DEFAULT VALUE 1
>
IN THIS ORDER:
| [ <deterrency ... /> ]
| [ <preprandialKillingEffect ... /> ]
| [ <postprandialKillingEffect ... /> ]
| [ <fecundityReduction ... /> ]
</anophelesParams>
Attributes
Mosquito species
mosquito=string
Name of the affected anopheles-mosquito species.
Proportion of bites for which IRS acts
propActive=double
Units: dimensionless Min: 0 Max: 1
Default value: 1
The proportion of bites for which the IRS has any action whatsoever on the mosquito. At the moment this is constant across humans and deterministic: relative attractiveness and survival factors are base*(1-propActing) + intervention_factor*propActing.
Relative attractiveness
→ scenario → interventions → human → component → GVI → anophelesParams → deterrency
<deterrency
value=double
/>
Documentation (element)
Units: dimensionless Min: 0 Max: 1
Effect of intervention on attractiveness of humans to mosquitoes relative to an unprotected adult human. Parameterisations should take into account that mosquitoes do not always bite indoors.
Attractiveness of the human is multiplied this factor times survival of effect.
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Pre-prandial killing effect
→ scenario → interventions → human → component → GVI → anophelesParams → preprandialKillingEffect
<preprandialKillingEffect
value=double
/>
Documentation (element)
Units: dimensionless Min: 0 Max: 1
Effect of intervention on survival of mosquitoes as they seek to bite a human after choosing that human, relative to the same person not protected by the intervention. Parameterisations should take into account that mosquitoes do not always bite indoors. This parameter has been added since some data shows IRS to have a preprandial killing effect.
Killing proportion is this factor multiplied by survival of effect.
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Post-prandial killing effect
→ scenario → interventions → human → component → GVI → anophelesParams → postprandialKillingEffect
<postprandialKillingEffect
value=double
/>
Documentation (element)
Units: dimensionless Min: 0 Max: 1
Effect of intervention on survival of mosquitoes as they seek to escape from a human host and rest after a blood meal, relative to the same person not protected by the intervention. Parameterisations should take into account that mosquitoes do not always bite indoors.
Killing proportion is this factor multiplied by survival of effect.
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Fecundity reduction effect
→ scenario → interventions → human → component → GVI → anophelesParams → fecundityReduction
<fecundityReduction
value=double
/>
Documentation (element)
Min: 0
Effect of intervention on fertility mosquitoes after successfully feeding on a human host, relative to an unproteced human. Parameterisations should take into account that mosquitoes do not always bite indoors.
Fertility is multiplied by 1 - (fecundityReduction * decay).
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Recruitment only
→ scenario → interventions → human → component → recruitmentOnly
<recruitmentOnly/>
Documentation (element)
Recruitment of a host into a sub-population.
All human-targeting intervention deployments recruit simulated humans into a sub-population which can be used for the purposes of cumulative deployment, deployment only to a sub-population and defining a cohort. This pseudo-intervention can be used to define a sub-population without also deploying some intervention.
Clear Immunity
→ scenario → interventions → human → component → clearImmunity
<clearImmunity/>
Documentation (element)
Removes all exposure-related immunitsy gained over time by hosts without removing infections (or affecting the ability to gain immunity through exposure).
Hypothetical, but potentially useful to simulate scenarios with unprotected humans.
subPopRemoval
→ scenario → interventions → human → component → subPopRemoval
<subPopRemoval
[ onFirstBout=boolean ] DEFAULT VALUE false
[ onFirstTreatment=boolean ] DEFAULT VALUE false
[ onFirstInfection=boolean ] DEFAULT VALUE false
[ afterYears=double ]
/>
Documentation (type)
Each human intervention component corresponds to a sub-population: those who have received or are considered to be protected by the intervention component. Humans automatically become members of this sub-population when receiving an intervention component; this element controls how humans are removed from the sub-population.
ITN attrition also removes humans from sub-populations.
Note that sub-populations do not directly correspond to an intervention's effects: lack of effectiveness does not imply removal from the sub-population (except as explicitly configured here) and removal from the sub-population does not halt an intervention's effects.
Sub-populations may be used to define a cohort, to restrict deployment of other interventions and to use cumulative deployment mode. A sub- population may or may not correspond (roughly) to humans protected by some intervention.
Attributes
Time to first episode only
onFirstBout=boolean
Default value: false
If true, remove individuals from the sub-population at the start of the first episode (start of a clinical bout) since they were recruited into the sub-population. This is intended for cohort studies which measure time to the first episode, using active case detection. Reports delayed due to health-system memory are forced out when this occurs. Note that this can increase the number of uncomplicated cases reported across the entire population; for this reason reports are not forced on recruitment or most removal options. This does not prevent re-recruitment in the case that recruitment settings could conceivably recruit the same individual twice.
Time to first treatment only
onFirstTreatment=boolean
Default value: false
If true, remove individuals from the sub-population when they first seektreatment since they were recruited into the sub-population. This is intended for cohort studies which measure the time to first episode, using passive case detection. Reports delayed due to health-system memory are forced out when this occurs. Note that this can increase the number of uncomplicated cases reported across the entire population; for this reason reports are not forced on recruitment or most removal options. This does not prevent re-recruitment in the case that recruitment settings could conceivably recruit the same individual twice.
Time to first infection only
onFirstInfection=boolean
Default value: false
If true, remove individuals from the sub-population at completion of the first survey in which they present with a patent infection since they were recruited into the sub-population. This intended for cohort studies which measure time to the first infection, using active case detection. Reports delayed due to health-system memory are forced out when this occurs. Note that this can increase the number of uncomplicated cases reported across the entire population; for this reason reports are not forced on recruitment or most removal options. This does not prevent re-recruitment in the case that recruitment settings could conceivably recruit the same individual twice.
Remove from sub-population after
afterYears=double
Units: Years Min: 0
If given, membership to the sub-population of humans who have received this intervention component expires after the given number of years. Note that future deployments renew membership (e.g. if this parameter is 4 years and the intervention is redeployed 3 years from now, expiry happens after 7 years). This provides a crude way of modelling a cohort protected by some intervention. A few interventions provide more detailed ways of modelling expiry of protection. In any case, "expiry of protection" is an abstract concept and does not imply that all protection has ceased, even in the simulator. This may also be useful for cumulative deployment. Minimum duration is zero, which implies the human is effectively never a member of the sub-population; a duration of one timestep implies the human is a member of the sub-population while any futher interventions are deployed on the same time as this human becomes a member and on the next update of the human (including transmission and health system events) but not beyond that. If this attribute is not given, the simulated human is a member until death or some other option triggers removal. Input is rounded to the nearest time step.
Deployment
→ scenario → interventions → human → deployment
<deployment
[ name=string ]
>
IN THIS ORDER:
| ( <component ... /> )+
| ( <condition ... /> )*
| ( <continuous ... /> )*
| ( <timed ... /> )*
</deployment>
Documentation (element)
This element describes deployment of an intervention: which components are deployed, how humans are selected for deployment (via timed or age-based deployment) as well as a few additional restrictions (e.g. vaccine dosing restrictions).
All components deployed by this intervention are deployed to the same people (each timed or continuous deployment selects recipients and then gives each recipient all components of the intervention).
Attributes
Intervention name
name=string
Name of intervention
component
→ scenario → interventions → human → deployment → component
<component
id=string
/>
Documentation (type)
The list of components deployed to eligible humans.
Attributes
Identifier
id=string
The identifier (short name) of a component.
Condition
→ scenario → interventions → human → deployment → condition
<condition
measure=string
[ minValue=double ]
[ maxValue=double ]
initialState=boolean
/>
Documentation (element)
If conditions are specified, deployment of this intervention will only go ahead if all specified conditions are true. Condition statements are evaluated only during surveys, so deployment is enabled or disabled depending on the results of the most recent survey. So called unreported surveys can be used to reevaluate conditions without increasing granularity of output.
Conditions are evaluated for the whole population, not for individual age-groups or cohorts.
This affects all types of deployment.
Attributes
Measure
measure=string
The monitoring measure to test. Not all measures are available for use.
Minimum value
minValue=double
Minimum value. If specified, the measured variable must be greater than or equal to this value for the condition to be satisfied.
Maximum value
maxValue=double
Maximum value. If specified, the measured variable must be less than or equal to this value for the condition to be satisfied.
Initial state
initialState=boolean
Whether this condition is considered true or false before updated by a survey.
Age-based (continuous) deployment
→ scenario → interventions → human → deployment → continuous
<continuous>
IN THIS ORDER:
| [ <restrictToSubPop ... /> ]
| ( <deploy ... /> )+
</continuous>
Documentation (element)
List of ages at which deployment takes place (through EPI, post-natal and school-based programmes, etc.).
A sub-population restriction may be added as a property of the list of continuous deployments.
restrictToSubPop
→ scenario → interventions → human → deployment → continuous → restrictToSubPop
<restrictToSubPop
id=string
[ complement=boolean ] DEFAULT VALUE false
/>
Documentation (type)
If this element is specified, deployment is restricted to some sub-population (specified via the "id" attribute); otherwise the target population is the entire simulated population. Either way, other deployment restrictions (age, time, number of vaccine doeses) still apply.
Attributes
Sub-population identifier
id=string
The identifier (short name) of the sub-population (i.e. the "id" of some intervention component). Also see the "complement" attribute.
Complement
complement=boolean
Default value: false
If this is not specified or is false, deployment is restricted to the sub-population of people protected by the intervention component who's id is given. If complement is set to true, deployment is instead restricted to the complement of that sub-population, i.e. to those
deploy
→ scenario → interventions → human → deployment → continuous → deploy
<deploy
coverage=double
[ vaccMinPrevDoses=int ]
[ vaccMaxCumDoses=int ]
targetAgeYrs=double
[ begin=string ]
[ end=string ]
/>
Attributes
Coverage
coverage=double
Units: dimensionless Min: 0 Max: 1
Proportion of otherwise eligible individuals who will receive this deployment.
Vaccine min previous doses
vaccMinPrevDoses=int
Units: inoculations Min: 0
Applies to vaccines only: vaccine doses are only deployed by this deployment if the previous number of doses (for the component deployed) is at least this number. For example, if this is the second deployment opportunity for this vaccine and this value is 1, then this deployment cannot deploy the vaccine to individuals who did not receive the first deployment.
Vaccine max cumulative doses
vaccMaxCumDoses=int
Units: inoculations Min: 0
Applies to vaccines only: vaccine doses are only deployed by this deployment if the previous number of doses (for the component deployed) is less than this number.
Target age
targetAgeYrs=double
Units: Years Min: 0 Max: 100
Target age of intervention. Input is rounded to the nearest time step.
First time active
begin=string
Units: User defined (defauls to steps)
First time at which this deployment is active. If not specified, deployment starts at the beginning of the intervention period. See doc on intervention period and on monitoring/startDate for details of how times work. Can be specified in steps, days, years, or as a date (examples: 15t, 75d, 0.2y, 2000-03-16).
End step
end=string
Units: User defined (defauls to steps)
End of the period during which the intervention is active (to be exact, the first step of the intervention period at which the item becomes inactive). If not specified, deployment never ceases after starting during the simulation. See doc on intervention period and on monitoring/startDate for details of how times work. Can be specified in steps, days, years, or as a date (examples: 15t, 75d, 0.2y, 2000-03-16).
Mass (timed) deployment
→ scenario → interventions → human → deployment → timed
<timed>
IN THIS ORDER:
| [ <restrictToSubPop ... /> ]
| [ <cumulativeCoverage ... /> ]
| ( <deploy ... /> )+
</timed>
Documentation (element)
List of timed deployments of the intervention (that is, of deployment campaigns).
Cumulative deployment mode can be specified for all deployments in a timed list. To allow multiple cumulative deployment descriptions, the entire timed list may be repeated.
restrictToSubPop
→ scenario → interventions → human → deployment → timed → restrictToSubPop
<restrictToSubPop
id=string
[ complement=boolean ] DEFAULT VALUE false
/>
Documentation (type)
If this element is specified, deployment is restricted to some sub-population (specified via the "id" attribute); otherwise the target population is the entire simulated population. Either way, other deployment restrictions (age, time, number of vaccine doeses) still apply.
Attributes
Sub-population identifier
id=string
The identifier (short name) of the sub-population (i.e. the "id" of some intervention component). Also see the "complement" attribute.
Complement
complement=boolean
Default value: false
If this is not specified or is false, deployment is restricted to the sub-population of people protected by the intervention component who's id is given. If complement is set to true, deployment is instead restricted to the complement of that sub-population, i.e. to those
Cumulative coverage
→ scenario → interventions → human → deployment → timed → cumulativeCoverage
<cumulativeCoverage
component=string
/>
Documentation (element)
If this element is not specified, standard deployment occurs, where a portion of the population as given by the coverage property of this campaign is selected, and interventions are deployed to all of these people (regardless of previous coverage).
If this attribute is specified, instead, the population is divided into two sets: those who are a member of a certain sub-population and those who are not (see "subPopRemoval" element). If the proportion of people in the first set is less than the desired coverage, then the proportion of people from the second set needed to increase total coverage to the desired coverage is calculated. This proportion is then used as the probablity of selection from the second set into a third set of people who then receive all interventions deployed by this campaign.
Note that selection is stochastic so the final coverage level may not be exactly that desired. Note also that the component used when selecting people need not actually be one of the components deployed by this intervention, although that is the intended use case.
Attributes
Component identifier
component=string
The identifier (short name) of the component used when selecting people.
deploy
→ scenario → interventions → human → deployment → timed → deploy
<deploy
coverage=double
[ vaccMinPrevDoses=int ]
[ vaccMaxCumDoses=int ]
time=string
[ maxAge=double ]
[ minAge=double ] DEFAULT VALUE 0
[ repeatStep=string ]
[ repeatEnd=string ]
/>
Attributes
Coverage
coverage=double
Units: dimensionless Min: 0 Max: 1
Proportion of otherwise eligible individuals who will receive this deployment.
Vaccine min previous doses
vaccMinPrevDoses=int
Units: inoculations Min: 0
Applies to vaccines only: vaccine doses are only deployed by this deployment if the previous number of doses (for the component deployed) is at least this number. For example, if this is the second deployment opportunity for this vaccine and this value is 1, then this deployment cannot deploy the vaccine to individuals who did not receive the first deployment.
Vaccine max cumulative doses
vaccMaxCumDoses=int
Units: inoculations Min: 0
Applies to vaccines only: vaccine doses are only deployed by this deployment if the previous number of doses (for the component deployed) is less than this number.
Time
time=string
Units: User defined (defauls to steps) Min: 0
Time at which this deployment occurs. See doc on intervention period and on monitoring/startDate for details of how times work. Can be specified in steps, days, years, or as a date (examples: 15t, 75d, 0.2y, 2000-03-16).
Maximum age of eligible individuals
maxAge=double
Units: Years Min: 0
Maximum age of eligible individuals (defaults to no limit). Input is rounded to the nearest time step.
Minimum age of eligible individuals
minAge=double
Units: Years Min: 0
Default value: 0
Minimum age of eligible individuals (defaults to 0). Input is rounded to the nearest time step.
Step of repetition
repeatStep=string
Units: User defined
See repeatEnd's documentation.
End of repetition (exclusive)
repeatEnd=string
Units: User defined
Either both repeatStep and repeatEnd should be present or neither. If present, the deployment is repeated every repeatStep timesteps (i.e. if t0 is the initial time and x is repeatStep, depolyments are done at times t0, t0+x, t0+2*x, ...), ending before repeatEnd (final repetition is the one before repeatEnd). Note that repeatEnd may be specified as a date but repeatStep must be a duration (days, steps or years).
Health system description
→ scenario → healthSystem
<healthSystem>
IN THIS ORDER:
| EXACTLY ONE OF:
| | <EventScheduler ... />
| | <ImmediateOutcomes ... />
| | <DecisionTree5Day ... />
| <CFR ... />
| <pSequelaeInpatient ... />
</healthSystem>
Documentation (element)
Description of health system.
Documentation (type)
Description of case management system, used to specify the initial model or a replacement (an intervention). Encompasses case management data and some other data required to derive case outcomes.
Contains a sub-element describing the particular health-system in use. Health system data is here defined as data used to decide on a treatment strategy, given a case requiring treatment.
Transmission and vector bionomics
→ scenario → entomology
<entomology
name=string
mode=("forced" or "dynamic")
[ scaledAnnualEIR=double ]
>
IN THIS ORDER:
| EXACTLY ONE OF:
| | <nonVector ... />
| | <vector ... />
</entomology>
Documentation (element)
Description of entomological data
Attributes
Entomology dataset name
name=string
Name of entomology data
Transmission model mode
mode=("forced" or "dynamic")
Transmission simulation mode: may be forced (in which case interventions and changes to human infectiousness cannot affect EIR) or dynamic (in which the above can affect EIR). The full vector model is only used in dynamic mode. This can not be changed by interventions, except for the changeEIR intervention for the non-vector model which replaces the EIR with a new description (used in forced mode).
Override annual EIR
scaledAnnualEIR=double
Units: Infectious bites per adult per year
If set, the annual EIR (for all species of vector) is scaled to this level; can be omitted if not needed.
Transmission setting (vector control not enabled)
→ scenario → entomology → nonVector
<nonVector
eipDuration=int
>
IN THIS ORDER:
| ( <EIRDaily ... /> )+
</nonVector>
Documentation (element)
Description of transmission setting for models without vector control interventions (included for backward compatibility)
Attributes
Duration of sporogony
eipDuration=int
Units: Days
The duration of sporogony in days
Transmission setting (vector control enabled)
→ scenario → entomology → vector
<vector>
IN THIS ORDER:
| ( <anopheles ... /> )+
| ( <nonHumanHosts ... /> )*
</vector>
Documentation (element)
Parameters of the transmission model
anopheles
→ scenario → entomology → vector → anopheles
<anopheles
mosquito=string
propInfected=double
propInfectious=double
>
IN THIS ORDER:
| <seasonality ... />
| <mosq ... />
| [ <lifeCycle ... /> ]
| [ <simpleMPD ... /> ]
| ( <nonHumanHosts ... /> )*
</anopheles>
Documentation (type)
Description of input EIR for one specific vector species in terms of a Fourier approximation to the ln of the EIR during the burn in period
Attributes
Identifier for this anopheles species
mosquito=string
Identifier for this anopheles species
Initial estimate of proportion of mosquitoes infected (ρ_O)
propInfected=double
Units: Proportion Min: 0 Max: 1
Initial guess of the proportion of mosquitoes which are infected, o: O_v(t) = o*N_v(t). Only used as a starting value.
Initial estimate of proportion of mosquitoes infectious (ρ_S)
propInfectious=double
Units: Proportion Min: 0 Max: 1
Initial estimate of the proportion of mosquitoes which are infectious, s: S_v(t) = s*N_v(t). Used as a starting value and then fit.
Seasonality of transmission
→ scenario → entomology → vector → anopheles → seasonality
<seasonality
input=("EIR")
[ annualEIR=double ]
>
IN THIS ORDER:
| EXACTLY ONE OF:
| | <fourierSeries ... />
| | <monthlyValues ... />
| | <dailyValues ... />
</seasonality>
Documentation (element)
Specifies the seasonality of transmission and optionally the level of annual transmission.
Attributes
Seasonality input
input=("EIR")
Specify what seasonality measure is given. At the moment, only EIR is supported, but in the future, all the below should be supported. EIR: seasonality of entomological inoculations is input. Units: entomological inoculations per adult per annum. hostSeeking: seasonality of densities of flying host-seeking mosquitoes is input (in the model this is notated N_v). Units: mosquitoes. emergence: seasonality of emergence pupa into adults. Units: mosquitoes. larvalResources: seasonality of larval resources. Units: X.
Annual EIR
annualEIR=double
Units: Inoculations per adult per annum Min: 0
If this attribute is included, EIR for this species is scaled to this level. Note that if the scaledAnnualEIR attribute of the entomology element is also used, EIR is scaled again, making this attribute the EIR relative to other species. With some seasonality inputs, this attribute is optional, in which case (if scaledAnnualEIR is also not specified) transmission depends on all parameters of the vector. With some seasonality inputs, however, this parameter must be specified.
Fourier approximation to pre-intervention EIR
→ scenario → entomology → vector → anopheles → seasonality → fourierSeries
<fourierSeries
EIRRotateAngle=double
>
IN THIS ORDER:
| ( <coeffic ... /> )*
</fourierSeries>
Documentation (element)
Units: Infectious bites per adult per day
Seasonality is reproduced from the exponential of a fourier series specified by the following coefficients. Note that the a0 term is not needed; the annualEIR attribute of the seasonality element should be used to scale EIR instead.
Attributes
Rotation angle defining the origin of the Fourier approximation to ln (EIR)
EIRRotateAngle=double
Units: Radians
Rotation angle defining the origin of the Fourier approximation to ln (EIR)
Pair of Fourier coefficients
→ scenario → entomology → vector → anopheles → seasonality → fourierSeries → coeffic
<coeffic
a=double
b=double
/>
Documentation (element)
A pair of Fourier series coefficients. The first element specifies a1 and b1, the second a2 and b2, etc. Any number (from 0 up) of pairs may be given.
Attributes
a_n parameter of Fourier approximation to ln(EIR)
a=double
a_n parameter of Fourier approximation to ln(EIR) for some natural number n.
b_n parameter of Fourier approximation to ln(EIR)
b=double
b_n parameter of Fourier approximation to ln(EIR) for some natural number n.
List of monthly values
→ scenario → entomology → vector → anopheles → seasonality → monthlyValues
<monthlyValues
smoothing=("none" or "fourier")
>
IN THIS ORDER:
| ( <value ... /> ){12,12}
</monthlyValues>
Documentation (element)
Description of seasonality from monthly values. Multiple smoothing methods are possible (see smoothing attribute).
List should contain twelve entries: January to December.
Attributes
Smoothing function
smoothing=("none" or "fourier")
How the monthly values are converted into a daily sequence of values:
- none: no smoothing (step function)
- Fourier: a Fourier series (with terms up to a2/b2) is fit to the sequence of monthly values and used to generate a smoothed list of daily values.
Monthly value
→ scenario → entomology → vector → anopheles → seasonality → monthlyValues → value
<value>
double
</value>
Documentation (element)
Units: (see "seasonality input" parameter)
Monthly value
List of daily values
→ scenario → entomology → vector → anopheles → seasonality → dailyValues
<dailyValues>
IN THIS ORDER:
| ( <value ... /> ){365,365}
</dailyValues>
Documentation (element)
Description of seasonality from daily values.
List should contain 365 entries: 1st January to 31st December.
Daily value
→ scenario → entomology → vector → anopheles → seasonality → dailyValues → value
<value>
double
</value>
Documentation (element)
Units: (see "seasonality input" parameter)
Daily value
Mosquito feeding cycle parameters
→ scenario → entomology → vector → anopheles → mosq
<mosq
minInfectedThreshold=double
>
IN ANY ORDER:
| <mosqRestDuration ... />
| <extrinsicIncubationPeriod ... />
| <mosqLaidEggsSameDayProportion ... />
| <mosqSeekingDuration ... />
| <mosqSurvivalFeedingCycleProbability ... />
| <availability ... />
| <mosqProbBiting ... />
| <mosqProbFindRestSite ... />
| <mosqProbResting ... />
| <mosqProbOvipositing ... />
| <mosqHumanBloodIndex ... />
</mosq>
- mosqRestDuration
- extrinsicIncubationPeriod
- mosqLaidEggsSameDayProportion
- mosqSeekingDuration
- mosqSurvivalFeedingCycleProbability
- availability
- mosqProbBiting
- mosqProbFindRestSite
- mosqProbResting
- mosqProbOvipositing
- mosqHumanBloodIndex
Documentation (element)
Parameters describing the feeding cycle and human mosquito interaction of a single species of anopheles mosquito.
Attributes
Mininum infected threshold for mosquitos
minInfectedThreshold=double
Min: 0
If less than this many mosquitoes remain infected, transmission is interrupted.
Duration of the resting period of the vector
→ scenario → entomology → vector → anopheles → mosq → mosqRestDuration
<mosqRestDuration
value=int
/>
Documentation (element)
Units: Days
name:Duration of the resting period of the vector (days);
Attributes
Input parameter value
value=int
An integer value.
Extrinsic incubation period
→ scenario → entomology → vector → anopheles → mosq → extrinsicIncubationPeriod
<extrinsicIncubationPeriod
value=int
/>
Documentation (element)
Units: Days
name:Extrinsic incubation period (days)
Attributes
Input parameter value
value=int
An integer value.
Proportion of mosquitoes host seeking on same day as ovipositing
→ scenario → entomology → vector → anopheles → mosq → mosqLaidEggsSameDayProportion
<mosqLaidEggsSameDayProportion
value=double
/>
Documentation (element)
Units: Proportion
Proportion of mosquitoes host seeking on same day as ovipositing
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Duration of the host-seeking period of the vector
→ scenario → entomology → vector → anopheles → mosq → mosqSeekingDuration
<mosqSeekingDuration
value=double
/>
Documentation (element)
Units: Days
Duration of the host-seeking period of the vector (days)
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Probability that the mosquito survives the feeding cycle
→ scenario → entomology → vector → anopheles → mosq → mosqSurvivalFeedingCycleProbability
<mosqSurvivalFeedingCycleProbability
value=double
/>
Documentation (element)
Units: Proportion
Probability that the mosquito survives the feeding cycle
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Human availability rate heterogeneity
→ scenario → entomology → vector → anopheles → mosq → availability
<availability
[ CV=double ]
[ distr=("const" or "lognormal") ] DEFAULT VALUE const
/>
Documentation (element)
Optionally, entomological availability rate may be sampled per-human from a distribution. The distribution and coefficient of variability may be set here. The mean rate is calculated based on other parameters and not set directly.
If no attributes are specified or distr="const" or CV="0" then there will be no heterogeneity.
Documentation (type)
A parameter with optional heterogeneity.
The mean cannot be specified (unless this type is extended). Optionally, a distribution ("distr") and coefficient of variation ("CV") may be specified.
Attributes
Coefficient of variation
CV=double
Units: unitless
The (linear) coefficient of variation. This value must be specified when a (non-constant) distribution is used. Note that specifying CV="0" has the same effect as distr="const" and disables sampling of this parameter, even if distr is not "const".
Distribution
distr=("const" or "lognormal")
Default value: const
To allow heterogeneity, a distribution must be specified. Valid options are as follows. "const": no variation or sampling. Specifying distr="const" has the same effect as not specifying distr at all. "lognormal": the parameter is sampled from a log-normal distribution. Note that the "mean" and "CV" values are linear (arithmetic) properties of the distribution and not log-space properties.
Probability that the mosquito succesfully bites chosen host
→ scenario → entomology → vector → anopheles → mosq → mosqProbBiting
<mosqProbBiting
mean=double
variance=double
/>
Documentation (element)
Probability that the mosquito succesfully bites chosen host
Documentation (type)
Parameters of a normal distribution, provided as mean and variance.
Variates are sampled from Be(α,β) where α and β are determined from the mean and variance as follows: let v be the variance and c=mean/(1-mean). Then we set α=cβ and β=((c+1)²v - c)/((c+1)³v).
Attributes
mean
mean=double
Units: none
The mean of the beta distribution (must be in the open range (0,1)).
variance
variance=double
Units: none
The standard deviation of variates.
Probability that the mosquito escapes host and finds a resting place after biting
→ scenario → entomology → vector → anopheles → mosq → mosqProbFindRestSite
<mosqProbFindRestSite
mean=double
variance=double
/>
Documentation (element)
Probability that the mosquito escapes host and finds a resting place after biting
Documentation (type)
Parameters of a normal distribution, provided as mean and variance.
Variates are sampled from Be(α,β) where α and β are determined from the mean and variance as follows: let v be the variance and c=mean/(1-mean). Then we set α=cβ and β=((c+1)²v - c)/((c+1)³v).
Attributes
mean
mean=double
Units: none
The mean of the beta distribution (must be in the open range (0,1)).
variance
variance=double
Units: none
The standard deviation of variates.
Probability of mosquito successfully resting after finding a resting site
→ scenario → entomology → vector → anopheles → mosq → mosqProbResting
<mosqProbResting
mean=double
variance=double
/>
Documentation (element)
Probability of mosquito successfully resting after finding a resting site
Documentation (type)
Parameters of a normal distribution, provided as mean and variance.
Variates are sampled from Be(α,β) where α and β are determined from the mean and variance as follows: let v be the variance and c=mean/(1-mean). Then we set α=cβ and β=((c+1)²v - c)/((c+1)³v).
Attributes
mean
mean=double
Units: none
The mean of the beta distribution (must be in the open range (0,1)).
variance
variance=double
Units: none
The standard deviation of variates.
Probability of a mosquito successfully laying eggs given that it has rested
→ scenario → entomology → vector → anopheles → mosq → mosqProbOvipositing
<mosqProbOvipositing
value=double
/>
Documentation (element)
Probability of a mosquito successfully laying eggs given that it has rested
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Human blood index
→ scenario → entomology → vector → anopheles → mosq → mosqHumanBloodIndex
<mosqHumanBloodIndex
value=double
/>
Documentation (element)
Units: Proportion
The proportion of resting mosquitoes which fed on human blood during the last feed.
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Mosquito life cycle parameters
→ scenario → entomology → vector → anopheles → lifeCycle
<lifeCycle
[ estimatedLarvalResources=double ] DEFAULT VALUE 1e8
>
IN ANY ORDER:
| <eggStage ... />
| <larvalStage ... />
| <pupalStage ... />
| <femaleEggsLaidByOviposit ... />
</lifeCycle>
Documentation (element)
Parameters describing the life-cycle of this species of mosquito
Attributes
Estimate of larval resources
estimatedLarvalResources=double
Units: X
Default value: 1e8
An estimate of mean annual availability of resources to larvae. Used to get the resource usage fitting algorithm going; if the algorithm fails to fit the resource availability then tweaking this parameter may help. In other cases tweaking this parameter shouldn't be necessary. Default value is 10⁸ (1e8). Units are arbitrary but must be the same as those used by the resourceUsage parameter.
Egg stage
→ scenario → entomology → vector → anopheles → lifeCycle → eggStage
<eggStage
duration=int
survival=double
/>
Documentation (element)
Parameters for the egg stage of development
Documentation (type)
Parameters associated with a mosquito development stage.
Attributes
Duration
duration=int
Units: Days
Duration of the stage (i.e. length of time mosquito is an egg/larva/pupa).
Probability of survival
survival=double
Units: Proportion
Probability that mosquito survives this size (probability of egg hatching, a larva becoming a pupa or a pupa emerging as an adult, at the start of that stage).
larvalStage
→ scenario → entomology → vector → anopheles → lifeCycle → larvalStage
<larvalStage>
</larvalStage>
Documentation (type)
Parameters for the larval stage of development
Documentation (base type)
Parameters associated with a mosquito development stage.
Daily development
→ scenario → entomology → vector → anopheles → lifeCycle → larvalStage → daily
<daily
resourceUsage=double
effectCompetition=double
/>
Documentation (element)
List of parameters which apply during the larval stage of development. List length must equal stage duration, with first item corresponding to first 24 hours after hatching, second item to hours 24-48, and so on.
Attributes
Resource usage
resourceUsage=double
Units: X
Resource usage during larval stage of development. Units are arbitrary.
Effect of competition
effectCompetition=double
Units: none
Effect of competition over resources on development.
Pupal stage
→ scenario → entomology → vector → anopheles → lifeCycle → pupalStage
<pupalStage
duration=int
survival=double
/>
Documentation (element)
Parameters for the pupal stage of development
Documentation (type)
Parameters associated with a mosquito development stage.
Attributes
Duration
duration=int
Units: Days
Duration of the stage (i.e. length of time mosquito is an egg/larva/pupa).
Probability of survival
survival=double
Units: Proportion
Probability that mosquito survives this size (probability of egg hatching, a larva becoming a pupa or a pupa emerging as an adult, at the start of that stage).
Eggs laid by ovipositing mosquito
→ scenario → entomology → vector → anopheles → lifeCycle → femaleEggsLaidByOviposit
<femaleEggsLaidByOviposit
value=double
/>
Documentation (element)
Units: Eggs per feeding cycle
The total number of female eggs laid by a female mosquito at the conclusion to a feeding cycle, after feeding on an unprotected human (non-human hosts and protected humans use a multiplication factor to adjust this number for mosquitoes feeding on them).
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Simple Mosq-Pop-Dynamics parameters
→ scenario → entomology → vector → anopheles → simpleMPD
<simpleMPD>
IN ANY ORDER:
| <developmentDuration ... />
| <developmentSurvival ... />
| <femaleEggsLaidByOviposit ... />
</simpleMPD>
Documentation (element)
Parameters describing the simple mosquito population dynamics model.
This is a simpler version of the life-cycle model, requiring less parameters and with much simpler initialisation.
Duration
→ scenario → entomology → vector → anopheles → simpleMPD → developmentDuration
<developmentDuration
value=int
/>
Documentation (element)
Units: Days Min: 1
Duration from egg laying to emergence in days.
Attributes
Input parameter value
value=int
An integer value.
Probability of survival
→ scenario → entomology → vector → anopheles → simpleMPD → developmentSurvival
<developmentSurvival
value=double
/>
Documentation (element)
Units: Proportion Min: 0 Max: 1
Probability that mosquito survives from the egg being laid to emergence, given no resouce limitations (no density constraints).
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Eggs laid by ovipositing mosquito
→ scenario → entomology → vector → anopheles → simpleMPD → femaleEggsLaidByOviposit
<femaleEggsLaidByOviposit
value=double
/>
Documentation (element)
Units: Eggs per feeding cycle
The total number of female eggs laid by a female mosquito at the conclusion to a feeding cycle.
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Alternative (non-human) host paramters
→ scenario → entomology → vector → anopheles → nonHumanHosts
<nonHumanHosts
name=string
>
IN ANY ORDER:
| <mosqRelativeEntoAvailability ... />
| <mosqProbBiting ... />
| <mosqProbFindRestSite ... />
| <mosqProbResting ... />
| [ <hostFecundityFactor ... /> ]
</nonHumanHosts>
- mosqRelativeEntoAvailability
- mosqProbBiting
- mosqProbFindRestSite
- mosqProbResting
- hostFecundityFactor
Documentation (element)
Min: 0
Non human host parameters, per type of host (must match up with non-species-specific parameters).
Attributes
Identifier for this category of non-human hosts
name=string
Identifier for this category of non-human hosts
Relative availability of non-human host (ξ_i)
→ scenario → entomology → vector → anopheles → nonHumanHosts → mosqRelativeEntoAvailability
<mosqRelativeEntoAvailability
value=double
/>
Documentation (element)
Units: Proportion
Relative availability of the population of non-human hosts of type i to other non-human hosts; the sum of this across all non-human hosts must be 1.
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Probability of mosquito successfully biting host
→ scenario → entomology → vector → anopheles → nonHumanHosts → mosqProbBiting
<mosqProbBiting
value=double
/>
Documentation (element)
Units: Proportion
Probability of mosquito successfully biting host
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Probability that the mosquito escapes host and finds a resting place after biting
→ scenario → entomology → vector → anopheles → nonHumanHosts → mosqProbFindRestSite
<mosqProbFindRestSite
value=double
/>
Documentation (element)
Units: Proportion
Probability that the mosquito escapes host and finds a resting place after biting
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Probability of mosquito successfully resting after finding a resting site
→ scenario → entomology → vector → anopheles → nonHumanHosts → mosqProbResting
<mosqProbResting
value=double
/>
Documentation (element)
Units: Proportion
Probability of mosquito successfully resting after finding a resting site
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Relative fecundity of biting mosquitoes
→ scenario → entomology → vector → anopheles → nonHumanHosts → hostFecundityFactor
<hostFecundityFactor
value=double
/>
Documentation (element)
Units: Proportion
Multiplicative factor for the number of fertile eggs laid by a mosquito after biting this type of host, relative to an unprotected human.
Attributes
Input parameter value
value=double
A double-precision floating-point value.
nonHumanHosts
→ scenario → entomology → vector → nonHumanHosts
<nonHumanHosts
name=string
number=double
/>
Attributes
Species of alternative host
name=string
Name of this species of non human hosts (must match up with those described per anopheles section).
Population size of non-human host species
number=double
Units: Animals
Population size of this non-human host. Note: the availability of the population of this type of non-human host is determined by mosqRelativeEntoAvailability and mosqHumanBloodIndex. NHHs are not modelled individually, thus this parameter is not used. It might be useful in the future if there is ever an intervention to change the number of non-human hosts.
Parasite genetics
<parasiteGenetics
samplingMode=("initial" or "tracking")
>
IN THIS ORDER:
| ( <locus ... /> )+
</parasiteGenetics>
Documentation (element)
A specification of genotypes of infection parasites.
May be omitted; in this case there is no modelling of genetic differences of infections (resistance, fitness).
Attributes
samplingMode
samplingMode=("initial" or "tracking")
This controls how genotypes are determined for new infections during the intervention period. Prior to this (in initialisation phases), genotypes are always sampled using the specified initial frequencies. Mode "initial" continues to sample genotypes using initial frequencies (i.e. independent of the success of parent generations of parasites). Mode "tracking" samples genotypes based on the success parent generations of parasites have in infecting mosquitoes, tracked per genotype. It is possible that in the future a recombination option will be added to this list, however designing a suitable model is not trivial.
Locus
→ scenario → parasiteGenetics → locus
<locus
name=string
>
IN THIS ORDER:
| ( <allele ... /> )+
</locus>
Documentation (element)
Describes a locus, or a point at which an infection may vary. The genotype of an infection is determined by choosing one allele at each locus. Initial frequencies of alleles are specified independently for each locus, but subsequent infections are selected according to success of genotypes.
Alleles at loci can affect fitness and resistance to any number of drugs.
Attributes
Name of locus
name=string
Name of the Locus
Allele
→ scenario → parasiteGenetics → locus → allele
<allele
name=string
initialFrequency=double
fitness=double
[ hrp2_deletion=boolean ] DEFAULT VALUE false
/>
Documentation (element)
Describes an allele, or one possible genetic option of multiple at one point of variance.
Attributes
Name
name=string
Name of the allele; used to refer to it elsewhere.
Initial frequency
initialFrequency=double
Specification of how commonly this allele occurs during warmup relative to other alleles of the same locus. During the simulation's initialisation phases, the frequency at which each allele of each locus occurs is fixed. After the initialisation phase, frequency of alleles is modelled as an emergent property of the success of genotypes.
Fitness factor
fitness=double
Fitness factor of the allele. This is multiplication factor used to speed up or slow down replication of parasites. For example, if a genotype has an allele with a fitness factor of 1 at one locus and another allele with a fitness factor of 0.8 at a second locus, then the parasites with the genotype will replicate 20% slower than the baseline.
HRP2 deletion
hrp2_deletion=boolean
Default value: false
If true, marks this allele as having deleted HRP2. The effect on the simulation is that any diagnostic dependent on HRP2 behaves as if infections with deleted HRP2 have density 0. A diagnostic MUST explicitly set mechanism="HRP2" for this to have any effect.
Drug parameters (PK, PD and usage)
→ scenario → pharmacology
<pharmacology>
IN THIS ORDER:
| <treatments ... />
| <drugs ... />
</pharmacology>
Documentation (element)
Drug model parameters and drug usage parameters
Documentation (type)
A library of drug related data for the PK/PD model.
Treatments library
→ scenario → pharmacology → treatments
<treatments>
IN THIS ORDER:
| ( <schedule ... /> )+
| ( <dosages ... /> )+
</treatments>
Documentation (element)
A library of drug deployment schedules and dosages.
schedule
→ scenario → pharmacology → treatments → schedule
<schedule
name=string
>
IN THIS ORDER:
| ( <medicate ... /> )*
</schedule>
Documentation (type)
A schedule for the administration of drugs in a course of treatment.
Note that dose sizes are multiplied by some multiplier (see dosages) and the times of all doses may be delayed.
Attributes
Name
name=string
Name for referring to this deployment schedule
medicate
→ scenario → pharmacology → treatments → schedule → medicate
<medicate
drug=string
mg=double
hour=double
/>
Attributes
drug
drug=string
Abbreviated name of drug compound
Drug dose (mg with multiplier)
mg=double
Units: mg per something
Quantity of drug compound in mg per something. A separate dosage table must be used when medicating, which may specify multipliers of this number based on patient age or weight.
Time of administration
hour=double
Units: Hours Min: 0
Number of hours past start of timestep this drug dose is administered at (first dose should be at hour 0).
dosages
→ scenario → pharmacology → treatments → dosages
<dosages
name=string
>
IN THIS ORDER:
| EXACTLY ONE OF:
| | ( <age ... /> )+
| | ( <bodymass ... /> )+
| | <multiply ... />
</dosages>
Documentation (type)
A table for selecting a dose size. There are several ways this can work: using the patient's age or body mass in a look-up table to get a multplier, or directly using body mass as the multiplier.
The doses specified in "mg" in the treatment schedule are then multiplied by this multiplier.
Attributes
Name
name=string
Name for referring to this dosage table
Look-up table (age)
→ scenario → pharmacology → treatments → dosages → age
<age
lowerbound=double
dose_mult=double
/>
Documentation (element)
Select dose multiplier from a look-up table using the patient's age.
Documentation (type)
A look-up table which uses patient age (in years) or weight (in kg) to find a multiplier.
Attributes
Lower bound (inclusive)
lowerbound=double
Units: years or kg Min: 0
Dose multiplier
dose_mult=double
Min: 0
The dose size given in the schedule (in "mg") is multiplied by this value for patients falling into this range when this dosage table is used.
Look-up table (weight)
→ scenario → pharmacology → treatments → dosages → bodymass
<bodymass
lowerbound=double
dose_mult=double
/>
Documentation (element)
Select dose multiplier from a look-up table using the patient's body mass.
Documentation (type)
A look-up table which uses patient age (in years) or weight (in kg) to find a multiplier.
Attributes
Lower bound (inclusive)
lowerbound=double
Units: years or kg Min: 0
Dose multiplier
dose_mult=double
Min: 0
The dose size given in the schedule (in "mg") is multiplied by this value for patients falling into this range when this dosage table is used.
Multiply dose
→ scenario → pharmacology → treatments → dosages → multiply
<multiply
by=("kg")
/>
Documentation (element)
Multiply the dose by some quantity, such as patient weight.
Attributes
By what?
by=("kg")
Quantity to multiply the dose by. Only option is "kg" (patient weight in kg).
Drug library
→ scenario → pharmacology → drugs
<drugs>
IN THIS ORDER:
| ( <drug ... /> )+
</drugs>
Documentation (element)
A library of drug PK/PD data.
drug
→ scenario → pharmacology → drugs → drug
<drug
abbrev=string
>
IN THIS ORDER:
| <PD ... />
| <PK ... />
</drug>
Documentation (type)
A drug description with PK/PD parameters.
Attributes
abbrev
abbrev=string
PD
→ scenario → pharmacology → drugs → drug → PD
<PD
[ locus=string ]
>
IN THIS ORDER:
| ( <phenotype ... /> )+
</PD>
Attributes
Locus
locus=string
Optional; if present specifies the locus corresponding to this drug's PD phenotypes: each phenotype must then match one of that locus's alleles. Otherwise the drug should specify only one phenotype. There is currently a one-to-many correspondance between loci and drugs.
PD parameters for some allele / resistance phenotype
→ scenario → pharmacology → drugs → drug → PD → phenotype
<phenotype
[ name=string ]
>
IN THIS ORDER:
| ( <restriction ... /> )*
| <max_killing_rate ... />
| <IC50 ... />
| <slope ... />
</phenotype>
Documentation (element)
Pharmaco-Dynamic parameters for some resistance phenotype.
To model resistance to this drug, describe multiple infection phenotypes (with respect to these PD parameters) and list one or more "restrict" elements for each phenotype.
Loci are specified elsewhere. Multiple loci may influence the action of a single drug and each locus may influence multiple drugs.
Attributes
Name of phenotype
name=string
Name of the phenotype; for documentation use only.
Restrict phenotype applicability to certain alleles
→ scenario → pharmacology → drugs → drug → PD → phenotype → restriction
<restriction
onLocus=string
toAllele=string
/>
Documentation (element)
Specifies the mapping from genotype to phenotype. For each drug type, if only one phenotype is present, restrictions need not be specified, but otherwise restrictions must be specified.
The set of loci affecting phenotypes of this drug's action must be fixed for any drug type. Each phenotype must list, for each of these loci, a restriction to one or more alleles under the locus.
Attributes
Locus relevant to the mapping of alleles to this phenotype
onLocus=string
A locus under which only a restricted set of alleles map to this phenotype.
Alleles mapping to this phenotype
toAllele=string
One allele of a locus upon which phenotype choice depends. If multiple alleles under this locus should map to the same phenotype, repeat the whole "restriction onLocus..." element.
Maximal parasite killing rate
→ scenario → pharmacology → drugs → drug → PD → phenotype → max_killing_rate
<max_killing_rate>
double
</max_killing_rate>
Documentation (element)
Units: 1/days Min: 0
k1 — Maximal parasite killing rate.
IC50
→ scenario → pharmacology → drugs → drug → PD → phenotype → IC50
<IC50
[ CV=double ]
[ distr=("const" or "lognormal") ] DEFAULT VALUE const
mean=double
/>
Documentation (element)
Units: mg/l Min: 0
Half maximal effect concentration.
If CV > 0, the IC50 is sampled from a log-normal distribution.
Documentation (type)
A parameter with optional log-normal heterogeneity.
The mean value must be specified. Optionally, a distribution ("distr") and coefficient of variation ("CV") may be specified.
Documentation (base type)
A parameter with optional heterogeneity.
The mean cannot be specified (unless this type is extended). Optionally, a distribution ("distr") and coefficient of variation ("CV") may be specified.
Attributes
Coefficient of variation
CV=double
Units: unitless
The (linear) coefficient of variation. This value must be specified when a (non-constant) distribution is used. Note that specifying CV="0" has the same effect as distr="const" and disables sampling of this parameter, even if distr is not "const".
Distribution
distr=("const" or "lognormal")
Default value: const
To allow heterogeneity, a distribution must be specified. Valid options are as follows. "const": no variation or sampling. Specifying distr="const" has the same effect as not specifying distr at all. "lognormal": the parameter is sampled from a log-normal distribution. Note that the "mean" and "CV" values are linear (arithmetic) properties of the distribution and not log-space properties.
mean
mean=double
The (linear) mean value.
Slope of effect curve
→ scenario → pharmacology → drugs → drug → PD → phenotype → slope
<slope>
double
</slope>
Documentation (element)
Units: dimensionless
n — Slope of the concentration effect curve
PK
→ scenario → pharmacology → drugs → drug → PK
<PK>
IN THIS ORDER:
| <negligible_concentration ... />
| EXACTLY ONE OF:
| | <half_life ... />
| | IN THIS ORDER:
| | | <k ... />
| | | <m_exponent ... />
| [ <k_a ... /> ]
| [ <conversion ... /> ]
| <vol_dist ... />
| [ <compartment2 ... /> ]
| [ <compartment3 ... /> ]
</PK>
Drug concentration considered negligible
→ scenario → pharmacology → drugs → drug → PK → negligible_concentration
<negligible_concentration>
double
</negligible_concentration>
Documentation (element)
Units: mg/l Min: 0
Concentration below which drug's effects are deemed negligible and can be removed from simulation.
drug half-life
→ scenario → pharmacology → drugs → drug → PK → half_life
<half_life>
double
</half_life>
Documentation (element)
Units: days Min: 0
Used to calculate elimination rate λ, calculated as λ = ln(2) / half_life. The basic form of decay is C(t) = C0 * exp(-λ*t).
Alternatively, elimination rate can be specified via k and m_exponent.
Constant associated with elimination rate (k)
→ scenario → pharmacology → drugs → drug → PK → k
<k
[ CV=double ]
[ distr=("const" or "lognormal") ] DEFAULT VALUE const
mean=double
/>
Documentation (element)
Units: day^-1 Min: 0
Constant used to calculate the elimination rate λ, which is calculated as λ = k / (body_mass ^ m_exponent), where body_mass is the patient's weight in kg and m_exponent is the next parameter. The basic form of decay is C(t) = C0 * exp(-λ*t).
If CV > 0, k is sampled per-human from the log-normal distribution: ln N( ln(mean) - σ^2 / 2, σ^2).
Alternatively, elimination rate can be specified via half_life.
Documentation (type)
A parameter with optional log-normal heterogeneity.
The mean value must be specified. Optionally, a distribution ("distr") and coefficient of variation ("CV") may be specified.
Documentation (base type)
A parameter with optional heterogeneity.
The mean cannot be specified (unless this type is extended). Optionally, a distribution ("distr") and coefficient of variation ("CV") may be specified.
Attributes
Coefficient of variation
CV=double
Units: unitless
The (linear) coefficient of variation. This value must be specified when a (non-constant) distribution is used. Note that specifying CV="0" has the same effect as distr="const" and disables sampling of this parameter, even if distr is not "const".
Distribution
distr=("const" or "lognormal")
Default value: const
To allow heterogeneity, a distribution must be specified. Valid options are as follows. "const": no variation or sampling. Specifying distr="const" has the same effect as not specifying distr at all. "lognormal": the parameter is sampled from a log-normal distribution. Note that the "mean" and "CV" values are linear (arithmetic) properties of the distribution and not log-space properties.
mean
mean=double
The (linear) mean value.
Constant associated with elimination rate (m_exponent)
→ scenario → pharmacology → drugs → drug → PK → m_exponent
<m_exponent>
double
</m_exponent>
Documentation (element)
Units: day^-1 Min: 0
Constant used to calculate the elimination rate λ, which is calculated as λ = k / (body_mass ^ m_exponent), where body_mass is the patient's weight in kg and k is the previous parameter. The basic form of decay is C(t) = C0 * exp(-λ*t).
Alternatively, elimination rate can be specified via half_life.
Note that in the case of a conversion model, this applies to both the elimination and the conversion rates.
Absorption rate constant (k_a)
→ scenario → pharmacology → drugs → drug → PK → k_a
<k_a
[ CV=double ]
[ distr=("const" or "lognormal") ] DEFAULT VALUE const
mean=double
/>
Documentation (element)
Min: 0
Absorption rate parameter. Not allowed for one compartment models, but required for two and three compartment models and one compartment with conversion model (for the parent drug only).
Documentation (type)
A parameter with optional log-normal heterogeneity.
The mean value must be specified. Optionally, a distribution ("distr") and coefficient of variation ("CV") may be specified.
Documentation (base type)
A parameter with optional heterogeneity.
The mean cannot be specified (unless this type is extended). Optionally, a distribution ("distr") and coefficient of variation ("CV") may be specified.
Attributes
Coefficient of variation
CV=double
Units: unitless
The (linear) coefficient of variation. This value must be specified when a (non-constant) distribution is used. Note that specifying CV="0" has the same effect as distr="const" and disables sampling of this parameter, even if distr is not "const".
Distribution
distr=("const" or "lognormal")
Default value: const
To allow heterogeneity, a distribution must be specified. Valid options are as follows. "const": no variation or sampling. Specifying distr="const" has the same effect as not specifying distr at all. "lognormal": the parameter is sampled from a log-normal distribution. Note that the "mean" and "CV" values are linear (arithmetic) properties of the distribution and not log-space properties.
mean
mean=double
The (linear) mean value.
Conversion parameters (parent drug)
→ scenario → pharmacology → drugs → drug → PK → conversion
<conversion>
IN ANY ORDER:
| <metabolite ... />
| <rate ... />
| <molRatio ... />
| <IC50_log_correlation ... />
</conversion>
Documentation (element)
Configures the parent drug in a conversion model.
To use a conversion model, the parent drug should have this section defined as well as half-life or k (direct elimination; this may be zero) and k_a (absorption rate; this may be large).
The metabolite drug should define half-life or k (elimination of metabolite), but not k_a (absorption rate) or this section (conversion). It is not possible for the metabolite to itself undergo conversion with the current models.
Metabolite drug (abbreviation)
→ scenario → pharmacology → drugs → drug → PK → conversion → metabolite
<metabolite>
string
</metabolite>
Documentation (element)
The abbreviation of the metabolite drug (e.g. "DHA" or "DHA_AR").
Rate of conversion
→ scenario → pharmacology → drugs → drug → PK → conversion → rate
<rate
[ CV=double ]
[ distr=("const" or "lognormal") ] DEFAULT VALUE const
mean=double
/>
Documentation (element)
Rate of conversion of parent drug to metabolite.
Documentation (type)
A parameter with optional log-normal heterogeneity.
The mean value must be specified. Optionally, a distribution ("distr") and coefficient of variation ("CV") may be specified.
Documentation (base type)
A parameter with optional heterogeneity.
The mean cannot be specified (unless this type is extended). Optionally, a distribution ("distr") and coefficient of variation ("CV") may be specified.
Attributes
Coefficient of variation
CV=double
Units: unitless
The (linear) coefficient of variation. This value must be specified when a (non-constant) distribution is used. Note that specifying CV="0" has the same effect as distr="const" and disables sampling of this parameter, even if distr is not "const".
Distribution
distr=("const" or "lognormal")
Default value: const
To allow heterogeneity, a distribution must be specified. Valid options are as follows. "const": no variation or sampling. Specifying distr="const" has the same effect as not specifying distr at all. "lognormal": the parameter is sampled from a log-normal distribution. Note that the "mean" and "CV" values are linear (arithmetic) properties of the distribution and not log-space properties.
mean
mean=double
The (linear) mean value.
Molecular weight ratio
→ scenario → pharmacology → drugs → drug → PK → conversion → molRatio
<molRatio>
double
</molRatio>
Documentation (element)
Ratio of molecular weights: molecular weight of the metabolite divided by molecular weight of the parent.
IC50 log correlation
→ scenario → pharmacology → drugs → drug → PK → conversion → IC50_log_correlation
<IC50_log_correlation>
double
</IC50_log_correlation>
Documentation (element)
Min: 0 Max: 1
The IC50 values of parent and metabolite drugs may be sampled from the log-normal distribution (if CV is greater than 0). This parameter controls correlation between these samples, measured in log-space.
If this value is 1, samples are fully correlated: a single z-score is used to calculate both samples. If this is 0, two independent samples are used.
Values between 0 and 1 (partial correlation) are supported; in this case IC50 values are sampled such that cor(log(x), log(y)) matches this value (where x, y are parent and metabolite IC50 values).
Volume of Distribution (Vd)
→ scenario → pharmacology → drugs → drug → PK → vol_dist
<vol_dist
[ CV=double ]
[ distr=("const" or "lognormal") ] DEFAULT VALUE const
mean=double
/>
Documentation (element)
Units: l/kg Min: 0
Volume of Distribution.
If CV > 0 this is sampled from a log-normal distribution.
Documentation (type)
A parameter with optional log-normal heterogeneity.
The mean value must be specified. Optionally, a distribution ("distr") and coefficient of variation ("CV") may be specified.
Documentation (base type)
A parameter with optional heterogeneity.
The mean cannot be specified (unless this type is extended). Optionally, a distribution ("distr") and coefficient of variation ("CV") may be specified.
Attributes
Coefficient of variation
CV=double
Units: unitless
The (linear) coefficient of variation. This value must be specified when a (non-constant) distribution is used. Note that specifying CV="0" has the same effect as distr="const" and disables sampling of this parameter, even if distr is not "const".
Distribution
distr=("const" or "lognormal")
Default value: const
To allow heterogeneity, a distribution must be specified. Valid options are as follows. "const": no variation or sampling. Specifying distr="const" has the same effect as not specifying distr at all. "lognormal": the parameter is sampled from a log-normal distribution. Note that the "mean" and "CV" values are linear (arithmetic) properties of the distribution and not log-space properties.
mean
mean=double
The (linear) mean value.
Second compartment parameters
→ scenario → pharmacology → drugs → drug → PK → compartment2
<compartment2>
IN ANY ORDER:
| <k12 ... />
| <k21 ... />
</compartment2>
Documentation (element)
Optional element specifying conversion parameters to- and from- a second compartment.
Absorption rate to compartment 2 (k12)
→ scenario → pharmacology → drugs → drug → PK → compartment2 → k12
<k12
[ CV=double ]
[ distr=("const" or "lognormal") ] DEFAULT VALUE const
mean=double
/>
Documentation (element)
Units: day^-1 Min: 0
Absorption rate from the central compartment to the first periphery compartment (2).
It is sampled per-patient when CV > 0.
Documentation (type)
A parameter with optional log-normal heterogeneity.
The mean value must be specified. Optionally, a distribution ("distr") and coefficient of variation ("CV") may be specified.
Documentation (base type)
A parameter with optional heterogeneity.
The mean cannot be specified (unless this type is extended). Optionally, a distribution ("distr") and coefficient of variation ("CV") may be specified.
Attributes
Coefficient of variation
CV=double
Units: unitless
The (linear) coefficient of variation. This value must be specified when a (non-constant) distribution is used. Note that specifying CV="0" has the same effect as distr="const" and disables sampling of this parameter, even if distr is not "const".
Distribution
distr=("const" or "lognormal")
Default value: const
To allow heterogeneity, a distribution must be specified. Valid options are as follows. "const": no variation or sampling. Specifying distr="const" has the same effect as not specifying distr at all. "lognormal": the parameter is sampled from a log-normal distribution. Note that the "mean" and "CV" values are linear (arithmetic) properties of the distribution and not log-space properties.
mean
mean=double
The (linear) mean value.
Absorption rate from compartment 2 (k21)
→ scenario → pharmacology → drugs → drug → PK → compartment2 → k21
<k21
[ CV=double ]
[ distr=("const" or "lognormal") ] DEFAULT VALUE const
mean=double
/>
Documentation (element)
Units: day^-1 Min: 0
Absorption rate from the first periphery compartment (2) to the central compartment.
It is sampled per-patient when CV > 0.
Documentation (type)
A parameter with optional log-normal heterogeneity.
The mean value must be specified. Optionally, a distribution ("distr") and coefficient of variation ("CV") may be specified.
Documentation (base type)
A parameter with optional heterogeneity.
The mean cannot be specified (unless this type is extended). Optionally, a distribution ("distr") and coefficient of variation ("CV") may be specified.
Attributes
Coefficient of variation
CV=double
Units: unitless
The (linear) coefficient of variation. This value must be specified when a (non-constant) distribution is used. Note that specifying CV="0" has the same effect as distr="const" and disables sampling of this parameter, even if distr is not "const".
Distribution
distr=("const" or "lognormal")
Default value: const
To allow heterogeneity, a distribution must be specified. Valid options are as follows. "const": no variation or sampling. Specifying distr="const" has the same effect as not specifying distr at all. "lognormal": the parameter is sampled from a log-normal distribution. Note that the "mean" and "CV" values are linear (arithmetic) properties of the distribution and not log-space properties.
mean
mean=double
The (linear) mean value.
Third compartment parameters
→ scenario → pharmacology → drugs → drug → PK → compartment3
<compartment3>
IN ANY ORDER:
| <k13 ... />
| <k31 ... />
</compartment3>
Documentation (element)
Optional element specifying conversion parameters to- and from- a third compartment.
Absorption rate to compartment 3 (k13)
→ scenario → pharmacology → drugs → drug → PK → compartment3 → k13
<k13
[ CV=double ]
[ distr=("const" or "lognormal") ] DEFAULT VALUE const
mean=double
/>
Documentation (element)
Units: day^-1 Min: 0
Absorption rate from the central compartment to the second periphery compartment (3).
It is sampled per-patient when CV > 0.
Documentation (type)
A parameter with optional log-normal heterogeneity.
The mean value must be specified. Optionally, a distribution ("distr") and coefficient of variation ("CV") may be specified.
Documentation (base type)
A parameter with optional heterogeneity.
The mean cannot be specified (unless this type is extended). Optionally, a distribution ("distr") and coefficient of variation ("CV") may be specified.
Attributes
Coefficient of variation
CV=double
Units: unitless
The (linear) coefficient of variation. This value must be specified when a (non-constant) distribution is used. Note that specifying CV="0" has the same effect as distr="const" and disables sampling of this parameter, even if distr is not "const".
Distribution
distr=("const" or "lognormal")
Default value: const
To allow heterogeneity, a distribution must be specified. Valid options are as follows. "const": no variation or sampling. Specifying distr="const" has the same effect as not specifying distr at all. "lognormal": the parameter is sampled from a log-normal distribution. Note that the "mean" and "CV" values are linear (arithmetic) properties of the distribution and not log-space properties.
mean
mean=double
The (linear) mean value.
Absorption rate from compartment 3 (k31)
→ scenario → pharmacology → drugs → drug → PK → compartment3 → k31
<k31
[ CV=double ]
[ distr=("const" or "lognormal") ] DEFAULT VALUE const
mean=double
/>
Documentation (element)
Units: day^-1 Min: 0
Absorption rate from the second periphery compartment (3) to the central compartment.
It is sampled per-patient when CV > 0.
Documentation (type)
A parameter with optional log-normal heterogeneity.
The mean value must be specified. Optionally, a distribution ("distr") and coefficient of variation ("CV") may be specified.
Documentation (base type)
A parameter with optional heterogeneity.
The mean cannot be specified (unless this type is extended). Optionally, a distribution ("distr") and coefficient of variation ("CV") may be specified.
Attributes
Coefficient of variation
CV=double
Units: unitless
The (linear) coefficient of variation. This value must be specified when a (non-constant) distribution is used. Note that specifying CV="0" has the same effect as distr="const" and disables sampling of this parameter, even if distr is not "const".
Distribution
distr=("const" or "lognormal")
Default value: const
To allow heterogeneity, a distribution must be specified. Valid options are as follows. "const": no variation or sampling. Specifying distr="const" has the same effect as not specifying distr at all. "lognormal": the parameter is sampled from a log-normal distribution. Note that the "mean" and "CV" values are linear (arithmetic) properties of the distribution and not log-space properties.
mean
mean=double
The (linear) mean value.
Diagnostic parameters
→ scenario → diagnostics
<diagnostics>
IN THIS ORDER:
| ( <diagnostic ... /> )*
</diagnostics>
Documentation (element)
Diagnostic model parameters
diagnostic
→ scenario → diagnostics → diagnostic
<diagnostic
name=string
[ units=("Other" or "Garki" or "Malariatherapy") ]
[ mechanism=("Other" or "HRP2") ] DEFAULT VALUE Other
>
IN THIS ORDER:
| EXACTLY ONE OF:
| | <deterministic ... />
| | <stochastic ... />
</diagnostic>
Attributes
Name of diagnostic
name=string
Name of this diagnostic (parameterisation). May be used elsewhere in the XML document to refer to this set of diagnostic parameters.
Parasite density units / methodology
units=("Other" or "Garki" or "Malariatherapy")
Parasite densities, as estimated according to standard microscopy methods, the Garki method, and as derived from Malariatherapy data are not equivalent. Internally, a "bias" factor is used to convert values estimated by one methods to values comparable with another (see AJTMHv75 supplement 2 pp20-21). This option allows specification of which methodology the density given in the diagnostic specification is measured with. Values allowed are: Malariatherapy, Garki and Other. If not specified, Other is assumed, unless the GARKI_DENSITY_BIAS model option is used, in which case this option must be specified.
Mechanism
mechanism=("Other" or "HRP2")
Default value: Other
Mechanism by which this diagnostic functions. Possible values are: HRP2, Other. In the case of HRP2, infections with an hrp2_deletion will be invisible to this diagnostic. In the case of Other, the diagnostic is unaffected by infection genome. The diagnostic used for monitoring cannot use HRP2. (This is a restriction made to simplify implementation.)
Deterministic detection
→ scenario → diagnostics → diagnostic → deterministic
<deterministic
minDensity=double
/>
Documentation (element)
Specify that an artificial deterministic test is used: outcome is positive if parasite density is at least the minimum given.
Attributes
Minimum detectible density
minDensity=double
Units: parasites/microlitre Min: 0
The minimum density at which parasites can be detected. If 0, the test outcome is always positive.
Non-deterministic detection
→ scenario → diagnostics → diagnostic → stochastic
<stochastic
dens_50=double
specificity=double
/>
Documentation (element)
An improved model of detection which is non-deterministic, including false positive results as well as false negatives.
The probability of a positive outcome is modelled as 1 + s×(x/(x+d) - 1) where x is the parasite density, d is the density at which the test outcome has a 50% chance of being positive, and s is the probability of a positive outcome given no parasites (the specificity).
Some parameterisations:
Microscopy sensitivity/specificity data in Africa; Source: expert opinion — Allan Schapira dens_50 = 20.0 specificity = .75
RDT sensitivity/specificity for Plasmodium falciparum in Africa Source: Murray et al (Clinical Microbiological Reviews, Jan. 2008) dens_50 = 50.0; specificity = .942;
Attributes
Density 50
dens_50=double
Units: parasites/microlitre Min: 0
The density at which the test outcome has a 50% chance of being positive.
Specificity
specificity=double
Units: Dimensionless Min: 0 Max: 1
The probability of a positive test outcome in the absense of parasites.
Model options and parameters
<model>
IN ANY ORDER:
| <ModelOptions ... />
| <clinical ... />
| <human ... />
| [ <vivax ... /> ]
| <parameters ... />
</model>
Documentation (element)
Encapsulation of all parameters which describe the model according to which fitting is done.
Model Options
→ scenario → model → ModelOptions
<ModelOptions>
IN THIS ORDER:
| ( <option ... /> )*
</ModelOptions>
Documentation (element)
All model options (bug fixes, choices between models, etc.).
The list of recognised options can be found in the code at:
model/util/ModelOptions.h and should also be in the wiki.
clinical
<clinical
healthSystemMemory=string
>
IN ANY ORDER:
| [ <NeonatalMortality ... /> ]
| [ <NonMalariaFevers ... /> ]
</clinical>
Documentation (type)
Description of clinical parameters that are related to the health-system description, but which contain data that cannot be changed as part of an intervention and that are not restricted to treatment.
Attributes
Follow-up period during which recurrence is considered a treatment failure
healthSystemMemory=string
Units: User-defined (defaults to steps)
Follow-up period during which a recurrence is considered to be a treatment failure Can be specified in steps (e.g. 6t) or days (e.g. 28d).
Neonatal mortality parameters
→ scenario → model → clinical → NeonatalMortality
<NeonatalMortality
diagnostic=string
/>
Attributes
Diagnostic used to parameterise model
diagnostic=string
The name of a diagnostic used to parameterise the model. Neonatal mortality is derived from malaria patency of a certain sub-population of humans. This is the diagnostic used to asses patency for this purpose. If this is not specified, the monitoring diagnostic is used.
NonMalariaFevers
→ scenario → model → clinical → NonMalariaFevers
<NonMalariaFevers>
IN THIS ORDER:
| <incidence ... />
| [ <prNeedTreatmentNMF ... /> ]
| [ <prNeedTreatmentMF ... /> ]
</NonMalariaFevers>
Documentation (type)
Description of the incidence of non-malaria fever. Non-malaria fevers are only modelled if the NON_MALARIA_FEVERS option is used.
P(NMF)
→ scenario → model → clinical → NonMalariaFevers → incidence
<incidence
[ interpolation=("none" or "linear") ]
>
IN THIS ORDER:
| ( <group ... /> )+
</incidence>
Documentation (element)
Units: Dimensionless Min: 0.0 Max: 1.0
Probability that a non-malaria fever occurs given that no concurrent malaria fever occurs.
Attributes
interpolation
interpolation=("none" or "linear")
Interpolation algorithm. Normally it is desirable for age-based values to be continuous w.r.t. age. By default linear interpolation is used. With all algorithms except "none", the age groups are converted to a set of points centred within each age range. Extra points are added at each end (zero and infinity) to keep value constant at both ends of the function. A zero-length age group may be used as a kind of barrier to adjust the distribution; e.g. with age group boundaries at 15, 20 and 25 years, a (linear) spline would be drawn between ages 17.5 and 22.5, whereas with boundaries at 15, 20 and 20 years, a spline would be drawn between ages 17.5 and 20 years (may be desired if individuals are assumed to reach adult size at 20). Algorithms:
- none: input values are used directly
- linear: straight lines (on an age vs. value graph) are used to interpolate data points.
P(need treatment | NMF)
→ scenario → model → clinical → NonMalariaFevers → prNeedTreatmentNMF
<prNeedTreatmentNMF
[ interpolation=("none" or "linear") ]
>
IN THIS ORDER:
| ( <group ... /> )+
</prNeedTreatmentNMF>
Documentation (element)
Units: Dimensionless Min: 0 Max: 1
Probability that a non-malarial fever requires treatment with antibiotics (assuming fever is not induced by malaria, although concurrent parasites may be present).
Attributes
interpolation
interpolation=("none" or "linear")
Interpolation algorithm. Normally it is desirable for age-based values to be continuous w.r.t. age. By default linear interpolation is used. With all algorithms except "none", the age groups are converted to a set of points centred within each age range. Extra points are added at each end (zero and infinity) to keep value constant at both ends of the function. A zero-length age group may be used as a kind of barrier to adjust the distribution; e.g. with age group boundaries at 15, 20 and 25 years, a (linear) spline would be drawn between ages 17.5 and 22.5, whereas with boundaries at 15, 20 and 20 years, a spline would be drawn between ages 17.5 and 20 years (may be desired if individuals are assumed to reach adult size at 20). Algorithms:
- none: input values are used directly
- linear: straight lines (on an age vs. value graph) are used to interpolate data points.
P(need treatment | MF)
→ scenario → model → clinical → NonMalariaFevers → prNeedTreatmentMF
<prNeedTreatmentMF
[ interpolation=("none" or "linear") ]
>
IN THIS ORDER:
| ( <group ... /> )+
</prNeedTreatmentMF>
Documentation (element)
Units: Dimensionless Min: 0 Max: 1
Probability that a malaria fever needs treatment with antibiotics (assuming fever is induced by malaria, although concurrent bacteria may be present).
Meaning partially overlaps with separate model for comorbidity given malaria.
Attributes
interpolation
interpolation=("none" or "linear")
Interpolation algorithm. Normally it is desirable for age-based values to be continuous w.r.t. age. By default linear interpolation is used. With all algorithms except "none", the age groups are converted to a set of points centred within each age range. Extra points are added at each end (zero and infinity) to keep value constant at both ends of the function. A zero-length age group may be used as a kind of barrier to adjust the distribution; e.g. with age group boundaries at 15, 20 and 25 years, a (linear) spline would be drawn between ages 17.5 and 22.5, whereas with boundaries at 15, 20 and 20 years, a spline would be drawn between ages 17.5 and 20 years (may be desired if individuals are assumed to reach adult size at 20). Algorithms:
- none: input values are used directly
- linear: straight lines (on an age vs. value graph) are used to interpolate data points.
human
<human>
IN THIS ORDER:
| <availabilityToMosquitoes ... />
| [ <weight ... /> ]
</human>
Documentation (type)
Parameters of host models.
Availability to mosquitoes
→ scenario → model → human → availabilityToMosquitoes
<availabilityToMosquitoes
[ interpolation=("none" or "linear") ]
>
IN THIS ORDER:
| ( <group ... /> )+
</availabilityToMosquitoes>
Documentation (element)
Units: None Min: 0 Max: 1
Availability of humans to mosquitoes relative to an adult, categorized by age group
Attributes
interpolation
interpolation=("none" or "linear")
Interpolation algorithm. Normally it is desirable for age-based values to be continuous w.r.t. age. By default linear interpolation is used. With all algorithms except "none", the age groups are converted to a set of points centred within each age range. Extra points are added at each end (zero and infinity) to keep value constant at both ends of the function. A zero-length age group may be used as a kind of barrier to adjust the distribution; e.g. with age group boundaries at 15, 20 and 25 years, a (linear) spline would be drawn between ages 17.5 and 22.5, whereas with boundaries at 15, 20 and 20 years, a spline would be drawn between ages 17.5 and 20 years (may be desired if individuals are assumed to reach adult size at 20). Algorithms:
- none: input values are used directly
- linear: straight lines (on an age vs. value graph) are used to interpolate data points.
Weight
→ scenario → model → human → weight
<weight
[ interpolation=("none" or "linear") ]
multStdDev=double
>
IN THIS ORDER:
| ( <group ... /> )+
</weight>
Documentation (element)
Units: kg Min: 0
By age group data on human weight (mass).
Attributes
interpolation
interpolation=("none" or "linear")
Interpolation algorithm. Normally it is desirable for age-based values to be continuous w.r.t. age. By default linear interpolation is used. With all algorithms except "none", the age groups are converted to a set of points centred within each age range. Extra points are added at each end (zero and infinity) to keep value constant at both ends of the function. A zero-length age group may be used as a kind of barrier to adjust the distribution; e.g. with age group boundaries at 15, 20 and 25 years, a (linear) spline would be drawn between ages 17.5 and 22.5, whereas with boundaries at 15, 20 and 20 years, a spline would be drawn between ages 17.5 and 20 years (may be desired if individuals are assumed to reach adult size at 20). Algorithms:
- none: input values are used directly
- linear: straight lines (on an age vs. value graph) are used to interpolate data points.
Standard deviation
multStdDev=double
Units: None Min: 0
Each human is assigned a weight multiplier from a normal distribution with mean 1 and this standard deviation at birth. His/her weight is this multiplier times the mean from age distribution. A standard deviation of zero for no heterogeneity is valid; a rough value from Tanzanian data is 0.14.
Vivax model parameters
<vivax>
IN ANY ORDER:
| <probBloodStageInfectiousToMosq ... />
| <hypnozoiteRelease ... />
| <bloodStageProtectionLatency ... />
| <bloodStageLengthDays ... />
| <clinicalEvents ... />
</vivax>
- probBloodStageInfectiousToMosq
- hypnozoiteRelease
- bloodStageProtectionLatency
- bloodStageLengthDays
- clinicalEvents
Documentation (element)
This describes Vivax model parameters, and is required when using the VIVAX_SIMPLE_MODEL model option.
Probability of mosquito infection
→ scenario → model → vivax → probBloodStageInfectiousToMosq
<probBloodStageInfectiousToMosq
value=double
/>
Documentation (element)
Units: None Min: 0 Max: 1
The chance of a feeding mosquito becoming infected, given that the host is patent. (This may be adjusted by transmission-blocking vaccines.)
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Hypnozoite releases
→ scenario → model → vivax → hypnozoiteRelease
<hypnozoiteRelease
[ pSecondRelease=double ] DEFAULT VALUE 0
>
IN ANY ORDER:
| <numberHypnozoites ... />
| <firstReleaseDays ... />
| [ <secondReleaseDays ... /> ]
</hypnozoiteRelease>
Documentation (element)
Describes the number and times of hypnozoite releases.
Documentation (type)
This element defines probabilites when and how many hypnozoites are released from the liverstage into the blood.
The gap between the start of a new brood of hypnozoites and its release are defined as follows:
latentP + latentRelapse + randomReleaseDelay
randomReleaseDelay is based on one or two lognormal distributions, which are defined in firstRelease and optionally secondRelease.
You can define 2 release distributions, which get added together and represent the probability of hypnozoites which get released before winter (first release) or after (second release).
You can omit the secondRelease element if no release to the blood happens after winter.
Attributes
latent relapse days
pSecondRelease=double
Default value: 0
Probability of a second release. If undefined it is zero.
Number of Hypnozoites
→ scenario → model → vivax → hypnozoiteRelease → numberHypnozoites
<numberHypnozoites
max=int
base=double
/>
Documentation (element)
numberHypnozoites calculates the number of hypnozoites in the liver stage based on a base which is between 0 and 1.
This number is random based on the following distribution and normalized:
max ∑ (base ^ n) n = 0
Attributes
max
max=int
base
base=double
firstReleaseDays
→ scenario → model → vivax → hypnozoiteRelease → firstReleaseDays
<firstReleaseDays
[ CV=double ]
[ distr=("const" or "lognormal") ] DEFAULT VALUE const
mean=double
latentRelapse=double
/>
Documentation (type)
Hypnozoites are released after a delay, calculated as: roundToTSFromDays(delay + latentRelapse)
Here, roundToTSFromDays rounds the input (in days) to the nearest timestep, delay is sampled from a log-normal, and latentRelapse is the parameter specified here.
The delay is sampled from a log-normal distribution, parameterised via the (linear) mean and CV (coefficient of variation) given here.
Documentation (base type)
A parameter with optional log-normal heterogeneity.
The mean value must be specified. Optionally, a distribution ("distr") and coefficient of variation ("CV") may be specified.
Documentation (base type)
A parameter with optional heterogeneity.
The mean cannot be specified (unless this type is extended). Optionally, a distribution ("distr") and coefficient of variation ("CV") may be specified.
Attributes
Coefficient of variation
CV=double
Units: unitless
The (linear) coefficient of variation. This value must be specified when a (non-constant) distribution is used. Note that specifying CV="0" has the same effect as distr="const" and disables sampling of this parameter, even if distr is not "const".
Distribution
distr=("const" or "lognormal")
Default value: const
To allow heterogeneity, a distribution must be specified. Valid options are as follows. "const": no variation or sampling. Specifying distr="const" has the same effect as not specifying distr at all. "lognormal": the parameter is sampled from a log-normal distribution. Note that the "mean" and "CV" values are linear (arithmetic) properties of the distribution and not log-space properties.
mean
mean=double
The (linear) mean value.
latent relapse days
latentRelapse=double
Usually between 10 and 15 days.
secondReleaseDays
→ scenario → model → vivax → hypnozoiteRelease → secondReleaseDays
<secondReleaseDays
[ CV=double ]
[ distr=("const" or "lognormal") ] DEFAULT VALUE const
mean=double
latentRelapse=double
/>
Documentation (type)
Hypnozoites are released after a delay, calculated as: roundToTSFromDays(delay + latentRelapse)
Here, roundToTSFromDays rounds the input (in days) to the nearest timestep, delay is sampled from a log-normal, and latentRelapse is the parameter specified here.
The delay is sampled from a log-normal distribution, parameterised via the (linear) mean and CV (coefficient of variation) given here.
Documentation (base type)
A parameter with optional log-normal heterogeneity.
The mean value must be specified. Optionally, a distribution ("distr") and coefficient of variation ("CV") may be specified.
Documentation (base type)
A parameter with optional heterogeneity.
The mean cannot be specified (unless this type is extended). Optionally, a distribution ("distr") and coefficient of variation ("CV") may be specified.
Attributes
Coefficient of variation
CV=double
Units: unitless
The (linear) coefficient of variation. This value must be specified when a (non-constant) distribution is used. Note that specifying CV="0" has the same effect as distr="const" and disables sampling of this parameter, even if distr is not "const".
Distribution
distr=("const" or "lognormal")
Default value: const
To allow heterogeneity, a distribution must be specified. Valid options are as follows. "const": no variation or sampling. Specifying distr="const" has the same effect as not specifying distr at all. "lognormal": the parameter is sampled from a log-normal distribution. Note that the "mean" and "CV" values are linear (arithmetic) properties of the distribution and not log-space properties.
mean
mean=double
The (linear) mean value.
latent relapse days
latentRelapse=double
Usually between 10 and 15 days.
Blood stage protection latency
→ scenario → model → vivax → bloodStageProtectionLatency
<bloodStageProtectionLatency
value=double
/>
Documentation (element)
Min: 0
The length of time after expiry of a blood-stage infection during which relapses from the same brood are supressed by the immune system.
This is rounded to the nearest time-step.
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Blood stage length
→ scenario → model → vivax → bloodStageLengthDays
<bloodStageLengthDays
scale=double
shape=double
distr=("weibull")
/>
Documentation (element)
Units: Days
Parameters used to sample the length of blood-stage infections from a Weibull distribution (scale parameter lambda, shape parameter k).
Documentation (type)
Parameters of a Weibull distribution.
Attributes
Scale
scale=double
The Weibull scale parameter (λ).
shape
shape=double
The Weibull shape parameter (k).
Distribution
distr=("weibull")
To allow heterogeneity, a distribution must be specified. In this case, only "weibull" is allowed.
clinicalEvents
→ scenario → model → vivax → clinicalEvents
<clinicalEvents>
IN THIS ORDER:
| <pPrimaryInfection ... />
| <pRelapseOne ... />
| <pRelapseTwoPlus ... />
| <pEventIsSevere ... />
</clinicalEvents>
Documentation (type)
This elements holds all information about probabilites for clinical events from infections and relapses.
pPrimaryInfection
→ scenario → model → vivax → clinicalEvents → pPrimaryInfection
<pPrimaryInfection
a=double
b=double
/>
Attributes
a
a=double
b
b=double
pRelapseOne
→ scenario → model → vivax → clinicalEvents → pRelapseOne
<pRelapseOne
a=double
b=double
/>
Attributes
a
a=double
b
b=double
pRelapseTwoPlus
→ scenario → model → vivax → clinicalEvents → pRelapseTwoPlus
<pRelapseTwoPlus
a=double
b=double
/>
Attributes
a
a=double
b
b=double
pEventIsSevere
→ scenario → model → vivax → clinicalEvents → pEventIsSevere
<pEventIsSevere
value=double
/>
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Parameters of the model of epidemiology
→ scenario → model → parameters
<parameters
interval=int
iseed=int
latentp=string
>
IN THIS ORDER:
| ( <parameter ... /> )+
</parameters>
Documentation (element)
Parameters of the epidemiological model
Attributes
Simulation step
interval=int
Units: Days
Simulation step
Random number seed
iseed=int
Units: Number
Seed for RNG
Pre-erythrocytic latent period
latentp=string
Units: User defined (default: steps) Min: 0 Max: 20
Pre-erythrocytic latent period Can be specified in steps (e.g. 3t) or days (e.g. 15d).
parameter
→ scenario → model → parameters → parameter
<parameter
[ name=string ]
number=int
value=double
[ include=boolean ]
/>
Attributes
Name of parameter
name=string
Units: string
Name of parameter
Parameter number
number=int
Units: Number Min: 1 Max: 100
Reference number of input parameter
Parameter value
value=double
Units: Number Min: 0
Parameter value
Sampling indicator
include=boolean
Units: Number Min: 0 Max: 1
True if parameter is to be sampled in optimization runs. Not used in simulator app.
Schema 41 documentation
Generated from: scenario_41.xsd
.
Key:
abc required (one)
[ def ] optional (zero or one)
( ghi )* any number (zero or more)
( jkl )+ at least one
( mno ){2,inf} two or more occurrences
Scenario
→ scenario
<scenario
schemaVersion=int
[ analysisNo=int ]
name=string
[ wuID=int ]
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:om="http://openmalaria.org/schema/scenario_41"
xsi:schemaLocation="http://openmalaria.org/schema/scenario_41 scenario_41.xsd"
>
IN ANY ORDER:
| <demography ... />
| <monitoring ... />
| <interventions ... />
| <healthSystem ... />
| <entomology ... />
| [ <parasiteGenetics ... /> ]
| [ <pharmacology ... /> ]
| [ <diagnostics ... /> ]
| <model ... />
</scenario>
- demography
- monitoring
- interventions
- healthSystem
- entomology
- parasiteGenetics
- pharmacology
- diagnostics
- model
Documentation (element)
Description of scenario
Attributes
Version of the xml schema
schemaVersion=int
Version of xml schema. If not equal to the current version an error is thrown. Use SchemaTranslator to update xml files.
Reference number of the analysis
analysisNo=int
Units: Number Min: 1 Max: 100000000
Unique identifier of scenario
Name of intervention
name=string
Name of intervention
Work unit identifier
wuID=int
Units: Number
Work unit ID. Obselete and no longer required.
Human age distribution
→ scenario → demography
<demography
name=string
popSize=int
maximumAgeYrs=double
[ growthRate=double ]
>
IN THIS ORDER:
| <ageGroup ... />
</demography>
Documentation (element)
Description of demography
Attributes
Name of demography data
name=string
Name of demography data
Population size
popSize=int
Units: Count Min: 1 Max: 100000
Population size
Maximum age of simulated humans
maximumAgeYrs=double
Units: Years Min: 0 Max: 100
Maximum age of simulated humans in years
Growth rate of human population
growthRate=double
Units: Number Min: 0 Max: 0
Growth rate of human population. (we should be able to implement this with non-zero values)
Age groups
→ scenario → demography → ageGroup
<ageGroup
lowerbound=double
>
IN THIS ORDER:
| ( <group ... /> )+
</ageGroup>
Documentation (element)
list of age groups included in demography
Documentation (type)
list of age groups included in demography or surveys
Attributes
Lower bound of age group
lowerbound=double
Units: Years Min: 0 Max: 100
Lower bound of age group
group
→ scenario → demography → ageGroup → group
<group
poppercent=double
upperbound=double
/>
Attributes
Percentage in age group
poppercent=double
Units: Percentage Min: 0 Max: 100
Percentage of human population in age group
Upper bound of age group
upperbound=double
Units: Years Min: 0 Max: 100
Upper bound of age group
Measures to be reported
→ scenario → monitoring
<monitoring
name=string
[ startDate=string ]
>
IN THIS ORDER:
| [ <continuous ... /> ]
| <SurveyOptions ... />
| <surveys ... />
| <ageGroup ... />
| [ <cohorts ... /> ]
</monitoring>
Documentation (element)
Description of surveys
Attributes
Name of monitoring settings
name=string
Name of monitoring settings
Start of monitoring
startDate=string
An optional date for the start of monitoring. If given, dates may be used to specify when other events (surveys, intervention deployments) occur; alternately times relative to the start of the intervention period may be used to specify event times. Setting this to 1st January of some year might simplify usage of dates, and putting the start a couple of years before the start of intervention deployment (along with some extra surveys) may be useful to check transmission stabilises to the expected pre-intervention levels. As an example, if this date is set to 2000-01-01, then the following event times are equivalent (assuming 1t=5d): 15t, 75d, 0.2y, 2000-03-16. Must be in the form YYYY-MM-DD, e.g. 2003-01-01.
continuous
→ scenario → monitoring → continuous
<continuous
period=string
[ duringInit=boolean ]
>
IN THIS ORDER:
| ( <option ... /> )*
</continuous>
Attributes
Delay between reports
period=string
Units: User defined (default: steps)
Delay between reports; typically one time step but can be greater. Can be specified in steps (e.g. 1t) or days (e.g. 5d).
During initialization
duringInit=boolean
Units: Days Min: 1 Max: unbounded
Also output during initialization. By default this is disabled (only intervention-period data is output). This should not be used for predictions, but can be useful for model validation. In this mode, 'simulation time' is output as the first column (in addition to 'timestep'), since 'timestep' is dis- continuous across the start of the intervention period.
option
→ scenario → monitoring → continuous → option
<option
name=string
[ value=boolean ] DEFAULT VALUE true
/>
Attributes
Option name
name=string
Name of an option (monitoring measure or model option).
Indicator of whether option is required
value=boolean
Default value: true
Option on/off switch (true/false). Specifying value="true" is the same as not specifying a value; specifying value="false" explicitly turns the option off. If an option is not mentioned at all, it is left at its default value (normally off, but in a few cases, such as some bug-fix options, on).
Name of quantity
→ scenario → monitoring → SurveyOptions
<SurveyOptions
[ onlyNewEpisode=boolean ] DEFAULT VALUE false
>
IN THIS ORDER:
| ( <option ... /> )*
</SurveyOptions>
Documentation (element)
List of all active survey options. See model/mon/OutputMeasures.h for a list of supported outputs. Should also be on the wiki.
Attributes
Report only for new cases
onlyNewEpisode=boolean
Default value: false
If set, some statistics exclude humans who have been treated in the recent past (precisely, when the time of last treatment was before the current step and no more than health-system-memory days/steps ago). This is a rough replacement for the REPORT_ONLY_AT_RISK option, with one difference: the maximum age of treatment for REPORT_ONLY_AT_RISK was fixed at 20 days. Affected measures include (as of version 35): nHost (0), nInfect(1), nExpectd (2), nPatent (3), sumLogPyrogenThres (4), sumlogDens (5), totalInfs (6), totalPatentInf (8), sumPyrogenThresh (10), nSubPopRemovalFirstEvent (62), sumAge (68), nInfectByGenotype (69), nPatentByGenotype (70), logDensByGenotype (71), nHostDrugConcNonZero (72), sumLogDrugConcNonZero (73).
option
→ scenario → monitoring → SurveyOptions → option
<option
name=string
[ value=boolean ] DEFAULT VALUE true
[ outputNumber=int ]
[ byAge=boolean ]
[ byCohort=boolean ]
[ bySpecies=boolean ]
[ byGenotype=boolean ]
[ byDrugType=boolean ]
/>
Attributes
Option name
name=string
Name of an option (monitoring measure or model option).
Indicator of whether option is required
value=boolean
Default value: true
Option on/off switch (true/false). Specifying value="true" is the same as not specifying a value; specifying value="false" explicitly turns the option off. If an option is not mentioned at all, it is left at its default value (normally off, but in a few cases, such as some bug-fix options, on).
Number identifying measure in output
outputNumber=int
Number identifying this monitoring measure in the output file (3rd column). Normally this is determined from the measure, but it can be set manually, e.g. for when the same measure is recorded twice (to accumulate across different categories).
Report by age category
byAge=boolean
If true, the measure is reported for each age category. If false, values are summed across all age categories and only the sum reported. If not specified, separate categories will be reported if the measure supports this.
Report by cohort
byCohort=boolean
If true, the measure is reported for each cohort separately. If false, values are summed across all cohorts and only the sum reported. If not specified, separate categories will be reported if the measure supports this.
Report by mosquito species
bySpecies=boolean
If true, the measure is reported for each mosquito species separately. If false, values are summed across all species and only the sum reported. If not specified, separate categories will be reported if the measure supports this.
Report by parasite genotype
byGenotype=boolean
If true, the measure is reported for each parasite genotype separately. If false, values are summed across all genotypes and only the sum reported. If not specified, separate categories will be reported if the measure supports this.
Report by drug type
byDrugType=boolean
If true, the measure is reported for each drug type separately. If false, values are summed across all drug types and only the sum reported. If not specified, separate categories will be reported if the measure supports this.
Survey times (time steps)
→ scenario → monitoring → surveys
<surveys
[ detectionLimit=double ]
[ diagnostic=string ]
>
IN THIS ORDER:
| ( <surveyTime ... /> )+
</surveys>
Documentation (element)
List of survey times
Attributes
Detection limit for parasitaemia
detectionLimit=double
Units: parasites/microlitre Min: 0
Deprecated: limit above which a human's infection is reported as patent. Alternative: do not specify this; instead specify "diagnostic".
Name of monitoring diagnostic
diagnostic=string
Name of a parameterised diagnostic to use in surveys (see scenario/diagnostics).
Survey time
→ scenario → monitoring → surveys → surveyTime
<surveyTime
[ repeatStep=string ]
[ repeatEnd=string ]
[ reported=boolean ] DEFAULT VALUE true
>
string
</surveyTime>
Documentation (element)
Units: User defined (defaults to steps) Min: 0
Time of a survey. A report will be made for those measures enabled under SurveyOptions. Reported data is either from the moment the survey is done (immediate data) or is collected over the time since the previous survey, or in some cases over a fixed time span (usually one year).
Times can be specified in time steps, starting from 0, or as a date (see monitoring/startDate), or in days (e.g. 15d) or years (e.g. 1y). Relative times mean the time since the start of the intervention period, and must be non-negative (zero is valid, but some measures, e.g. nUncomp, will be zero).
The simulation ends immediately after the last survey is taken.
Attributes
Step of repetition
repeatStep=string
Units: User defined
See repeatEnd's documentation.
End of repetition (exclusive)
repeatEnd=string
Units: User defined
Either both repeatStep and repeatEnd should be present or neither. If present, the survey is repeated every repeatStep timesteps (i.e. if t0 is the initial time and x is repeatStep, surveys are done at times t0, t0+x, t0+2*x, ...), ending before repeatEnd (final repetition is the one before repeatEnd). Note that repeatEnd may be specified as a date but repeatStep must be a duration (days, steps or years).
reported
reported=boolean
Default value: true
For normal surveys, reporting=true. If set false, quantities are measured but not reported. The reason for doing this is to update conditions set on reportable measures. Multiple surveys may be given here for the same date, e.g. if using "repeatStep" for both reporting and non-reporting surveys. These are combined such that a maximum of one survey is carried out per time-step, and the survey is reported if any of the listed surveys for this date is configured as "reporting". Note that adding non-reporting surveys will not affect value output by reported surveys, with the exception that generated psuedo-random numbers may be altered (specifically, when any stochastic diagnostics are used in surveys).
Age groups
→ scenario → monitoring → ageGroup
<ageGroup
lowerbound=double
>
IN THIS ORDER:
| ( <group ... /> )+
</ageGroup>
Documentation (element)
List of age groups included in demography or surveys
Attributes
lower bound of age group
lowerbound=double
Units: Years Min: 0 Max: 100
Lower bound of age group
group
→ scenario → monitoring → ageGroup → group
<group
upperbound=double
/>
Attributes
upper bound of age group
upperbound=double
Units: Years Min: 0 Max: 100
Upper bound of age group
Cohorts
→ scenario → monitoring → cohorts
<cohorts>
IN THIS ORDER:
| ( <subPop ... /> )+
</cohorts>
Documentation (element)
Allows the configuration of multiple cohorts (output segregated according to membership within specific sub-populations).
If this element is omitted, monitoring surveys cover the entire simulated human population.
It does not affect the "continuous" outputs (these never take cohorts into account).
Sub-population
→ scenario → monitoring → cohorts → subPop
<subPop
id=string
number=integer
/>
Documentation (element)
Consider a certain sup-population a cohort, and segregate outputs according to membership. Where multiple sub-populations are listed, segregate output according to all combinations of membership: e.g. if sub-populations A and B are listed, there will be outputs for "member of A and B", "member of A but not B", "B but not A" and "not a member of A or B". Listing n sub-populations implies 2^n sets of outputs (each is further segregated by age groups, survey times and enabled output measures, which could lead to excessive program memory usage and output file size).
To identify outputs, each sub-population has a power of two number as identifier (see "number" attribute). Each of the 2^n output sets is identified by a number: the output set is the output from humans who are members in some set of sub-populations (S1, S2, ...) and not members in some others (T1, T2, ...); the number identifying the set is the sum of the numbers identifying the sets S1, S2, etc.
In the output file, the output set is identified by multiplying this number by 1000 then adding it to the age group column.
Attributes
Sub-population identifier
id=string
Textual identifier for the sub-population (i.e. for an intervention component, since sub-populations are defined as the hosts an intervention component is deployed to).
Sub-population number
number=integer
Units: dimensionless Min: 1 Max: 2097152
Number identifying a sub-population; used to define identifiers of output sets. This number must be a power of 2 (i.e. 1, 2, 4, 8, ...). See documentation of subPop element.
Preventative interventions
<interventions
name=string
>
IN ANY ORDER:
| [ <changeHS ... /> ]
| [ <changeEIR ... /> ]
| [ <importedInfections ... /> ]
| [ <insertR_0Case ... /> ]
| [ <uninfectVectors ... /> ]
| [ <vectorPop ... /> ]
| [ <vectorTrap ... /> ]
| [ <human ... /> ]
</interventions>
Documentation (element)
List of interventions. Generally these are either point-time distributions of something to some subset of the population, or continuous-time distribution targetting individuals when they reach a certain age.
Attributes
Name of intervention set
name=string
Name of set of interventions
Change health system
→ scenario → interventions → changeHS
<changeHS
[ name=string ]
>
IN THIS ORDER:
| ( <timedDeployment ... /> )*
</changeHS>
Documentation (element)
Changes to the health system
Attributes
Name of intervention
name=string
Name of intervention
timedDeployment
→ scenario → interventions → changeHS → timedDeployment
<timedDeployment
time=string
>
IN THIS ORDER:
| EXACTLY ONE OF:
| | <EventScheduler ... />
| | <ImmediateOutcomes ... />
| | <DecisionTree5Day ... />
| <CFR ... />
| <pSequelaeInpatient ... />
</timedDeployment>
Documentation (type)
A complete replacement health system. Replaces all previous properties. (Health system can be replaced multiple times if necessary.)
Documentation (base type)
Description of case management system, used to specify the initial model or a replacement (an intervention). Encompasses case management data and some other data required to derive case outcomes.
Contains a sub-element describing the particular health-system in use. Health system data is here defined as data used to decide on a treatment strategy, given a case requiring treatment.
Attributes
Time
time=string
Units: User defined (defauls to steps) Min: 0
Time at which this replacement occurs. See doc on intervention period and on monitoring/startDate for details of how times work. Can be specified in steps, days, years, or as a date (examples: 15t, 75d, 0.2y, 2000-03-16).
EventScheduler
→ scenario → healthSystem → EventScheduler
<EventScheduler>
IN THIS ORDER:
| <uncomplicated ... />
| <complicated ... />
| <ClinicalOutcomes ... />
| [ <NonMalariaFevers ... /> ]
</EventScheduler>
uncomplicated
→ scenario → healthSystem → EventScheduler → uncomplicated
<uncomplicated
[ name=string ]
>
EXACTLY ONE OF:
| <multiple ... />
| <caseType ... />
| <diagnostic ... />
| <random ... />
| <age ... />
| <noTreatment ... />
| <treatFailure ... />
| ( <treatPKPD ... /> )+
| <treatSimple ... />
| ( <deploy ... /> )+
</uncomplicated>
Documentation (type)
Describes how "decisions" are made, both probabilistically and deterministically, and what actions are carried out.
Quantities may also be reported as a side effect of decisions made in the tree, for example the number of diagnostics used.
Attributes
Name
name=string
An optional piece of documentation attached to this node.
multiple
→ scenario → interventions → human → component → decisionTree → multiple
<multiple
[ name=string ]
>
IN THIS ORDER:
| ( <caseType ... /> )*
| ( <diagnostic ... /> )*
| ( <random ... /> )*
| ( <age ... /> )*
| ( <treatPKPD ... /> )*
| [ <treatSimple ... /> ]
| ( <deploy ... /> )*
</multiple>
Documentation (type)
A special node allowing multiple sub-trees to be evaluated.
This is different from an ordinary decision tree node in that:
a) multiple types of child can occur simultaneously (e.g. multiple types of treatment or treatment plus a 'random' sub-tree)
b) the 'noTreatment' and 'treatFailure' nodes are not allowed
Attributes
Name
name=string
An optional piece of documentation attached to this node.
caseType
→ scenario → interventions → human → component → decisionTree → multiple → caseType
<caseType
[ name=string ]
>
IN ANY ORDER:
| <firstLine ... />
| <secondLine ... />
</caseType>
Documentation (type)
A switch which choses a branch deterministically, based on whether the patient was treated recently (second line) or not (first line).
For uncomplicated cases only.
Attributes
Name
name=string
An optional piece of documentation attached to this node.
firstLine
→ scenario → interventions → human → component → decisionTree → multiple → caseType → firstLine
<firstLine
[ name=string ]
>
EXACTLY ONE OF:
| <multiple ... />
| <caseType ... />
| <diagnostic ... />
| <random ... />
| <age ... />
| <noTreatment ... />
| <treatFailure ... />
| ( <treatPKPD ... /> )+
| <treatSimple ... />
| ( <deploy ... /> )+
</firstLine>
Documentation (type)
Describes how "decisions" are made, both probabilistically and deterministically, and what actions are carried out.
Quantities may also be reported as a side effect of decisions made in the tree, for example the number of diagnostics used.
Attributes
Name
name=string
An optional piece of documentation attached to this node.
caseType
→ scenario → interventions → human → component → decisionTree → caseType
<caseType
[ name=string ]
>
IN ANY ORDER:
| <firstLine ... />
| <secondLine ... />
</caseType>
Documentation (type)
A switch which choses a branch deterministically, based on whether the patient was treated recently (second line) or not (first line).
For uncomplicated cases only.
Attributes
Name
name=string
An optional piece of documentation attached to this node.
secondLine
→ scenario → interventions → human → component → decisionTree → multiple → caseType → secondLine
<secondLine
[ name=string ]
>
EXACTLY ONE OF:
| <multiple ... />
| <caseType ... />
| <diagnostic ... />
| <random ... />
| <age ... />
| <noTreatment ... />
| <treatFailure ... />
| ( <treatPKPD ... /> )+
| <treatSimple ... />
| ( <deploy ... /> )+
</secondLine>
Documentation (type)
Describes how "decisions" are made, both probabilistically and deterministically, and what actions are carried out.
Quantities may also be reported as a side effect of decisions made in the tree, for example the number of diagnostics used.
Attributes
Name
name=string
An optional piece of documentation attached to this node.
diagnostic
→ scenario → interventions → human → component → decisionTree → diagnostic
<diagnostic
diagnostic=string
[ name=string ]
>
IN ANY ORDER:
| <positive ... />
| <negative ... />
</diagnostic>
Documentation (type)
A switch which choses a branch deterministically, based on the outcome of some type of diagnostic.
Attributes
Name of diagnostic
diagnostic=string
Should match the name of some parameterised diagnostic (see scenario/diagnostics).
Name
name=string
An optional piece of documentation attached to this node.
positive
→ scenario → interventions → human → component → decisionTree → multiple → diagnostic → positive
<positive
[ name=string ]
>
EXACTLY ONE OF:
| <multiple ... />
| <caseType ... />
| <diagnostic ... />
| <random ... />
| <age ... />
| <noTreatment ... />
| <treatFailure ... />
| ( <treatPKPD ... /> )+
| <treatSimple ... />
| ( <deploy ... /> )+
</positive>
Documentation (type)
Describes how "decisions" are made, both probabilistically and deterministically, and what actions are carried out.
Quantities may also be reported as a side effect of decisions made in the tree, for example the number of diagnostics used.
Attributes
Name
name=string
An optional piece of documentation attached to this node.
random
→ scenario → interventions → human → component → decisionTree → random
<random
[ name=string ]
>
IN THIS ORDER:
| ( <outcome ... /> )+
</random>
Documentation (type)
A switch which choses a branch randomly.
Each branch must be listed with a probability; the sum of all these probabilities must equal 1.
Attributes
Name
name=string
An optional piece of documentation attached to this node.
outcome
→ scenario → interventions → human → component → decisionTree → multiple → random → outcome
<outcome
[ name=string ]
p=double
>
EXACTLY ONE OF:
| <multiple ... />
| <caseType ... />
| <diagnostic ... />
| <random ... />
| <age ... />
| <noTreatment ... />
| <treatFailure ... />
| ( <treatPKPD ... /> )+
| <treatSimple ... />
| ( <deploy ... /> )+
</outcome>
Documentation (base type)
Describes how "decisions" are made, both probabilistically and deterministically, and what actions are carried out.
Quantities may also be reported as a side effect of decisions made in the tree, for example the number of diagnostics used.
Attributes
Name
name=string
An optional piece of documentation attached to this node.
Probability
p=double
Units: None Min: 0 Max: 1
Probability of selecting this outcome. The sum of probabilities across all outcomes must be 1.
age
→ scenario → interventions → human → component → decisionTree → age
<age
[ name=string ]
>
IN THIS ORDER:
| ( <age ... /> )+
</age>
Documentation (type)
A switch which choses a branch deterministically, based on the patient's age (in years).
Categories must uniquely cover all ages from birth, with no upper bound. Categories must be listed in order of age, increasing; the first must have lower bound 0. Upper bounds are equal to the lower bound of the next category, (but are exclusive where lower bounds are inclusive); the last category has no upper bound.
Attributes
Name
name=string
An optional piece of documentation attached to this node.
Age range
→ scenario → interventions → human → component → decisionTree → multiple → age → age
<age
[ name=string ]
lb=double
>
EXACTLY ONE OF:
| <multiple ... />
| <caseType ... />
| <diagnostic ... />
| <random ... />
| <age ... />
| <noTreatment ... />
| <treatFailure ... />
| ( <treatPKPD ... /> )+
| <treatSimple ... />
| ( <deploy ... /> )+
</age>
Documentation (element)
Describes a branch, selected for patients of a certain age.
Documentation (base type)
Describes how "decisions" are made, both probabilistically and deterministically, and what actions are carried out.
Quantities may also be reported as a side effect of decisions made in the tree, for example the number of diagnostics used.
Attributes
Name
name=string
An optional piece of documentation attached to this node.
Lower bound (inclusive)
lb=double
Min: 0
noTreatment
→ scenario → interventions → human → component → decisionTree → noTreatment
<noTreatment
[ name=string ]
/>
Documentation (type)
An end node doing nothing. This exists to explicitly state that no treatment happens and to prevent trees from accidentally being left incomplete.
Attributes
Name
name=string
An optional piece of documentation attached to this node.
treatFailure
→ scenario → interventions → human → component → decisionTree → treatFailure
<treatFailure
[ name=string ]
/>
Documentation (type)
An end node which reports treatment but does not change parasitalogical status. This allows correct labelling of second-line cases.
Attributes
Name
name=string
An optional piece of documentation attached to this node.
treatPKPD
→ scenario → interventions → human → component → decisionTree → treatPKPD
<treatPKPD
schedule=string
dosage=string
[ delay_h=double ] DEFAULT VALUE 0
/>
Documentation (type)
A command to administer drugs according to a given schedule and dosage table, optionally with a delay.
Attributes
Name of treatment schedule
schedule=string
The name of a schedule to use for treatment.
Name of dosage table
dosage=string
The name of a dosage table to use for treatment.
Delay (hours)
delay_h=double
Default value: 0
Optionally, this can be given to delay the start of treatment by a given number of hours. If not specified, treatment is not delayed. If a delay is given, all medications within the treatment schedule used are delayed by this number of hours.
treatSimple
→ scenario → interventions → human → component → decisionTree → treatSimple
<treatSimple
durationLiver=string
durationBlood=string
/>
Documentation (type)
Simple treatment model, targetting liver- and/or blood-stage infections. This is all-or-nothing treatment which, when deploymed, completely clears all infections of the targetted stages. This makes it unsuitable for modeling resistance, but suitable for use with simple infection models.
Infections are considered liver-stage when less than five days old and blood-stage after that. Effects are described independently for the two stages.
Attributes
Length of liver-stage effect
durationLiver=string
Units: User defined
Controls action on liver-stage infections. 0 means no action, -1 step is a compatibility option to act like treatment before schema version 32 (which removed infections retrospectively), 1 step or any duration which equals some whole number of steps n>0 means to clear all liver-stage infections found on the next 1 or n steps. Note on -1 compatibility option: the main difference to 1 step (clearing on the next timestep) is that parasite densities will be reduced immediately, and thus from the point of view of surveys and mass screen and treat interventions a peak in density which is immediately treated through case management will not be seen. Can be specified in steps (e.g. 1t, -1t) or days (e.g. 5d).
Length of blood-stage effect
durationBlood=string
Units: User defined
Controls action on blood-stage infections. 0 means no action, -1 step is a compatibility option to act like treatment before schema version 32 (which removed infections retrospectively), 1 step or any duration which equals some whole number of steps n>0 means to clear all blood-stage infections found on the next 1 or n steps. Note on -1 compatibility option: the main difference to 1 step (clearing on the next timestep) is that parasite densities will be reduced immediately, and thus from the point of view of surveys and mass screen and treat interventions a peak in density which is immediately treated through case management will not be seen. Can be specified in steps (e.g. 1t, -1t) or days (e.g. 5d).
deploy
→ scenario → interventions → human → component → decisionTree → deploy
<deploy
component=string
/>
Documentation (type)
Deploy one or more intervention components.
Attributes
Component identifier
component=string
The identifier (short name) of a component.
negative
→ scenario → interventions → human → component → decisionTree → multiple → diagnostic → negative
<negative
[ name=string ]
>
EXACTLY ONE OF:
| <multiple ... />
| <caseType ... />
| <diagnostic ... />
| <random ... />
| <age ... />
| <noTreatment ... />
| <treatFailure ... />
| ( <treatPKPD ... /> )+
| <treatSimple ... />
| ( <deploy ... /> )+
</negative>
Documentation (type)
Describes how "decisions" are made, both probabilistically and deterministically, and what actions are carried out.
Quantities may also be reported as a side effect of decisions made in the tree, for example the number of diagnostics used.
Attributes
Name
name=string
An optional piece of documentation attached to this node.
diagnostic
→ scenario → interventions → human → component → decisionTree → multiple → diagnostic
<diagnostic
diagnostic=string
[ name=string ]
>
IN ANY ORDER:
| <positive ... />
| <negative ... />
</diagnostic>
Documentation (type)
A switch which choses a branch deterministically, based on the outcome of some type of diagnostic.
Attributes
Name of diagnostic
diagnostic=string
Should match the name of some parameterised diagnostic (see scenario/diagnostics).
Name
name=string
An optional piece of documentation attached to this node.
random
→ scenario → interventions → human → component → decisionTree → multiple → random
<random
[ name=string ]
>
IN THIS ORDER:
| ( <outcome ... /> )+
</random>
Documentation (type)
A switch which choses a branch randomly.
Each branch must be listed with a probability; the sum of all these probabilities must equal 1.
Attributes
Name
name=string
An optional piece of documentation attached to this node.
age
→ scenario → interventions → human → component → decisionTree → multiple → age
<age
[ name=string ]
>
IN THIS ORDER:
| ( <age ... /> )+
</age>
Documentation (type)
A switch which choses a branch deterministically, based on the patient's age (in years).
Categories must uniquely cover all ages from birth, with no upper bound. Categories must be listed in order of age, increasing; the first must have lower bound 0. Upper bounds are equal to the lower bound of the next category, (but are exclusive where lower bounds are inclusive); the last category has no upper bound.
Attributes
Name
name=string
An optional piece of documentation attached to this node.
treatPKPD
→ scenario → interventions → human → component → decisionTree → multiple → treatPKPD
<treatPKPD
schedule=string
dosage=string
[ delay_h=double ] DEFAULT VALUE 0
/>
Documentation (type)
A command to administer drugs according to a given schedule and dosage table, optionally with a delay.
Attributes
Name of treatment schedule
schedule=string
The name of a schedule to use for treatment.
Name of dosage table
dosage=string
The name of a dosage table to use for treatment.
Delay (hours)
delay_h=double
Default value: 0
Optionally, this can be given to delay the start of treatment by a given number of hours. If not specified, treatment is not delayed. If a delay is given, all medications within the treatment schedule used are delayed by this number of hours.
treatSimple
→ scenario → interventions → human → component → decisionTree → multiple → treatSimple
<treatSimple
durationLiver=string
durationBlood=string
/>
Documentation (type)
Simple treatment model, targetting liver- and/or blood-stage infections. This is all-or-nothing treatment which, when deploymed, completely clears all infections of the targetted stages. This makes it unsuitable for modeling resistance, but suitable for use with simple infection models.
Infections are considered liver-stage when less than five days old and blood-stage after that. Effects are described independently for the two stages.
Attributes
Length of liver-stage effect
durationLiver=string
Units: User defined
Controls action on liver-stage infections. 0 means no action, -1 step is a compatibility option to act like treatment before schema version 32 (which removed infections retrospectively), 1 step or any duration which equals some whole number of steps n>0 means to clear all liver-stage infections found on the next 1 or n steps. Note on -1 compatibility option: the main difference to 1 step (clearing on the next timestep) is that parasite densities will be reduced immediately, and thus from the point of view of surveys and mass screen and treat interventions a peak in density which is immediately treated through case management will not be seen. Can be specified in steps (e.g. 1t, -1t) or days (e.g. 5d).
Length of blood-stage effect
durationBlood=string
Units: User defined
Controls action on blood-stage infections. 0 means no action, -1 step is a compatibility option to act like treatment before schema version 32 (which removed infections retrospectively), 1 step or any duration which equals some whole number of steps n>0 means to clear all blood-stage infections found on the next 1 or n steps. Note on -1 compatibility option: the main difference to 1 step (clearing on the next timestep) is that parasite densities will be reduced immediately, and thus from the point of view of surveys and mass screen and treat interventions a peak in density which is immediately treated through case management will not be seen. Can be specified in steps (e.g. 1t, -1t) or days (e.g. 5d).
deploy
→ scenario → interventions → human → component → decisionTree → multiple → deploy
<deploy
component=string
/>
Documentation (type)
Deploy one or more intervention components.
Attributes
Component identifier
component=string
The identifier (short name) of a component.
complicated
→ scenario → healthSystem → EventScheduler → complicated
<complicated
[ name=string ]
>
EXACTLY ONE OF:
| <multiple ... />
| <caseType ... />
| <diagnostic ... />
| <random ... />
| <age ... />
| <noTreatment ... />
| <treatFailure ... />
| ( <treatPKPD ... /> )+
| <treatSimple ... />
| ( <deploy ... /> )+
</complicated>
Documentation (type)
Describes how "decisions" are made, both probabilistically and deterministically, and what actions are carried out.
Quantities may also be reported as a side effect of decisions made in the tree, for example the number of diagnostics used.
Attributes
Name
name=string
An optional piece of documentation attached to this node.
ClinicalOutcomes
→ scenario → healthSystem → EventScheduler → ClinicalOutcomes
<ClinicalOutcomes>
IN THIS ORDER:
| <maxUCSeekingMemory ... />
| <uncomplicatedCaseDuration ... />
| <complicatedCaseDuration ... />
| <complicatedRiskDuration ... />
| ( <dailyPrImmUCTS ... /> )+
</ClinicalOutcomes>
- maxUCSeekingMemory
- uncomplicatedCaseDuration
- complicatedCaseDuration
- complicatedRiskDuration
- dailyPrImmUCTS
Documentation (type)
Description of base parameters of the clinical model.
Max UC treatment-seeking memory
→ scenario → healthSystem → EventScheduler → ClinicalOutcomes → maxUCSeekingMemory
<maxUCSeekingMemory>
int
</maxUCSeekingMemory>
Documentation (element)
Units: Days Min: 0 Max: unbounded
Maximum number of timesteps (including first day of case) that an individual with an uncomplicated case of malaria will remember he/she was sick before resetting.
Uncomplicated case duration
→ scenario → healthSystem → EventScheduler → ClinicalOutcomes → uncomplicatedCaseDuration
<uncomplicatedCaseDuration>
int
</uncomplicatedCaseDuration>
Documentation (element)
Units: Days Min: 1 Max: unbounded
Fixed length of an uncomplicated case of malarial or non-malarial sickness (from treatment seeking until return to life-as-usual). Usually 3.
Complicated case duration
→ scenario → healthSystem → EventScheduler → ClinicalOutcomes → complicatedCaseDuration
<complicatedCaseDuration>
int
</complicatedCaseDuration>
Documentation (element)
Units: Days Min: 1 Max: unbounded
Fixed length of a complicated or severe case of malaria (from treatment seeking until return to life-as-usual).
Complicated risk duration
→ scenario → healthSystem → EventScheduler → ClinicalOutcomes → complicatedRiskDuration
<complicatedRiskDuration>
int
</complicatedRiskDuration>
Documentation (element)
Units: Days Min: 1 Max: unbounded
Number of days for which humans are at risk of death during a severe or complicated case of malaria. Cannot be greater than the duration of a complicated case or less than 1 day.
Daily probability of immediate treatment seeking for uncomplicated cases
→ scenario → healthSystem → EventScheduler → ClinicalOutcomes → dailyPrImmUCTS
<dailyPrImmUCTS>
double
</dailyPrImmUCTS>
Documentation (element)
Units: Dimensionless Min: 0.0 Max: 1.0
It is sometimes desirable to model delays to treatment-seeking in uncomplicated cases. While treatment of drugs can be delayed within case management trees to provide a similar effect, this doesn't delay any of the decisions, including diagnostics using the current parasite density.
Instead a list of dailyPrImmUCTS elements can be used, describing successive daily probabilities of treatment (sum must be 1). For example, with a list of two elements with values 0.8 and 0.2, for 80% of UC cases the decision tree is evaluated immediately, and for 20% of cases evaluation is delayed by one day.
For no delay, use one element with a value of 1.
NonMalariaFevers
→ scenario → healthSystem → EventScheduler → NonMalariaFevers
<NonMalariaFevers>
IN THIS ORDER:
| <prTreatment ... />
| <effectNegativeTest ... />
| <effectPositiveTest ... />
| <effectNeed ... />
| <effectInformal ... />
| <CFR ... />
| <TreatmentEfficacy ... />
</NonMalariaFevers>
Documentation (type)
Description of non-malaria fever health-system modelling (treatment, outcomes and costing). Incidence is described by the model->clinical->NonMalariaFevers element. Non-malaria fevers are only modelled if the NON_MALARIA_FEVERS option is used.
As further explanation of the parameters below, we first take: β₀ = logit(P₀) - β₃·P(need), and then calculate the probability of antibiotic administration, P(AB), dependent on treatment seeking location. No seeking: P(AB) = 0 Informal sector: logit(P(AB)) = β₀ + β₄ Health facility: logit(P(AB)) = β₀ + β₁·I(neg) + β₂·I(pos) + β₃·I(need) (where I(X) is 1 when event X is true and 0 otherwise, logit(p)=log(p/(1-p)), event "need" is the event that death may occur without treatment, events "neg" and "pos" are the events that a malaria parasite diagnositic was used and indicated no parasites and parasites respectively).
P(treatment|no diagnostic)
→ scenario → healthSystem → EventScheduler → NonMalariaFevers → prTreatment
<prTreatment>
double
</prTreatment>
Documentation (element)
Units: Dimensionless Min: 0.0 Max: 1.0
Probability of a non-malaria fever being treated with an antibiotic given that no malaria diagnostic was used but independent of need. Symbol: P₀.
Effect of a negative test
→ scenario → healthSystem → EventScheduler → NonMalariaFevers → effectNegativeTest
<effectNegativeTest>
double
</effectNegativeTest>
Documentation (element)
The effect of a negative malaria diagnostic on the odds ratio of receiving antibiotics. Symbol: exp(β₁).
Effect of a positive test
→ scenario → healthSystem → EventScheduler → NonMalariaFevers → effectPositiveTest
<effectPositiveTest>
double
</effectPositiveTest>
Documentation (element)
The effect of a positive malaria diagnostic on the odds ratio of receiving antibiotics. Symbol: exp(β₂).
Effect of need
→ scenario → healthSystem → EventScheduler → NonMalariaFevers → effectNeed
<effectNeed>
double
</effectNeed>
Documentation (element)
The effect of needing antibiotic treatment on the odds ratio of receiving antibiotics. Symbol: exp(β₃).
Effect of informal provider
→ scenario → healthSystem → EventScheduler → NonMalariaFevers → effectInformal
<effectInformal>
double
</effectInformal>
Documentation (element)
The effect of seeking treatment from an informal provider (i.e. a provider untrained in NMF diagnosis) on the odds ratio of receiving antibiotics. Symbol: exp(β₄)
Case fatality rate
→ scenario → healthSystem → EventScheduler → NonMalariaFevers → CFR
<CFR
[ interpolation=("none" or "linear") ]
>
IN THIS ORDER:
| ( <group ... /> )+
</CFR>
Documentation (element)
Units: Dimensionless Min: 0.0 Max: 1.0
Base case fatality rate for non-malaria fevers (probability of death from a fever requiring antibiotic treatment given that no antibiotic treatment is received, per age-group).
Attributes
interpolation
interpolation=("none" or "linear")
Interpolation algorithm. Normally it is desirable for age-based values to be continuous w.r.t. age. By default linear interpolation is used. With all algorithms except "none", the age groups are converted to a set of points centred within each age range. Extra points are added at each end (zero and infinity) to keep value constant at both ends of the function. A zero-length age group may be used as a kind of barrier to adjust the distribution; e.g. with age group boundaries at 15, 20 and 25 years, a (linear) spline would be drawn between ages 17.5 and 22.5, whereas with boundaries at 15, 20 and 20 years, a spline would be drawn between ages 17.5 and 20 years (may be desired if individuals are assumed to reach adult size at 20). Algorithms:
- none: input values are used directly
- linear: straight lines (on an age vs. value graph) are used to interpolate data points.
age group
→ scenario → healthSystem → CFR → group
<group
value=double
lowerbound=double
/>
Documentation (element)
A series of values according to age groups, each specified with a lower-bound and a value. The first lower-bound specified must be zero; a final upper-bound of infinity is added to complete the last age group. At least one age group is required. Normally these are interpolated by a continuous function (see interpolation attribute).
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Lower bound
lowerbound=double
Units: Years Min: 0 Max: 100
Lower bound of age group
Treatment efficacy
→ scenario → healthSystem → EventScheduler → NonMalariaFevers → TreatmentEfficacy
<TreatmentEfficacy>
double
</TreatmentEfficacy>
Documentation (element)
Units: Dimensionless Min: 0.0 Max: 1.0
Probability that treatment would prevent a death (i.e. CFR is multiplied by one minus this when treatment occurs).
ImmediateOutcomes
→ scenario → healthSystem → ImmediateOutcomes
<ImmediateOutcomes
[ name=string ]
[ useDiagnosticUC=boolean ] DEFAULT VALUE false
>
IN ANY ORDER:
| <drugRegimen ... />
| <initialACR ... />
| <compliance ... />
| <nonCompliersEffective ... />
| <treatmentActions ... />
| <pSeekOfficialCareUncomplicated1 ... />
| <pSelfTreatUncomplicated ... />
| <pSeekOfficialCareUncomplicated2 ... />
| <pSeekOfficialCareSevere ... />
| [ <liverStageDrug ... /> ]
</ImmediateOutcomes>
- drugRegimen
- initialACR
- compliance
- nonCompliersEffective
- treatmentActions
- pSeekOfficialCareUncomplicated1
- pSelfTreatUncomplicated
- pSeekOfficialCareUncomplicated2
- pSeekOfficialCareSevere
- liverStageDrug
Documentation (type)
Description of "immediate outcomes" health system: Tediosi et al case management model (Case management as described in AJTMH 75 (suppl 2) pp90-103).
Attributes
Name of case management parameterisation
name=string
Name of health system
useDiagnosticUC
useDiagnosticUC=boolean
Default value: false
Description of drug regimen
→ scenario → healthSystem → ImmediateOutcomes → drugRegimen
<drugRegimen
firstLine=string
secondLine=string
inpatient=string
/>
Documentation (element)
Description of drug regimen.
Attributes
First line drug
firstLine=string
Units: Drug code
Code for first line drug
Second line drug
secondLine=string
Units: Drug code
Code for second line drug
Drug use for treating inpatients
inpatient=string
Units: Drug code
Code for drug used for treating inpatients
Initial cure rate
→ scenario → healthSystem → ImmediateOutcomes → initialACR
<initialACR>
IN THIS ORDER:
| [ <CQ ... /> ]
| [ <SP ... /> ]
| [ <AQ ... /> ]
| [ <SPAQ ... /> ]
| [ <ACT ... /> ]
| [ <QN ... /> ]
| <selfTreatment ... />
</initialACR>
Documentation (element)
Units: Dimensionless Min: 0.0 Max: 1.0
Initial cure rate
Chloroquine
→ scenario → healthSystem → ImmediateOutcomes → initialACR → CQ
<CQ
value=double
/>
Documentation (element)
Chloroquine
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Sulphadoxine-pyrimethamine
→ scenario → healthSystem → ImmediateOutcomes → initialACR → SP
<SP
value=double
/>
Documentation (element)
Sulphadoxine-pyrimethamine
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Amodiaquine
→ scenario → healthSystem → ImmediateOutcomes → initialACR → AQ
<AQ
value=double
/>
Documentation (element)
Amodiaquine
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Sulphadoxine-pyrimethamine/Amodiaquine
→ scenario → healthSystem → ImmediateOutcomes → initialACR → SPAQ
<SPAQ
value=double
/>
Documentation (element)
Sulphadoxine-pyrimethamine/Amodiaquine
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Artemisinine based combination therapy
→ scenario → healthSystem → ImmediateOutcomes → initialACR → ACT
<ACT
value=double
/>
Documentation (element)
Artemisinine combination therapy
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Quinine
→ scenario → healthSystem → ImmediateOutcomes → initialACR → QN
<QN
value=double
/>
Documentation (element)
Quinine
Attributes
Input parameter value
value=double
A double-precision floating-point value.
selfTreatment
→ scenario → healthSystem → ImmediateOutcomes → initialACR → selfTreatment
<selfTreatment
value=double
/>
Documentation (element)
Units: Dimensionless Min: 0 Max: 1name:P(self-treat)
Probability of self-treatment
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Adherence to treatment
→ scenario → healthSystem → ImmediateOutcomes → compliance
<compliance>
IN THIS ORDER:
| [ <CQ ... /> ]
| [ <SP ... /> ]
| [ <AQ ... /> ]
| [ <SPAQ ... /> ]
| [ <ACT ... /> ]
| [ <QN ... /> ]
| <selfTreatment ... />
</compliance>
Documentation (element)
Units: Dimensionless Min: 0.0 Max: 1.0
Adherence to treatment
Effectiveness of treatment in non-adherent patients
→ scenario → healthSystem → ImmediateOutcomes → nonCompliersEffective
<nonCompliersEffective>
IN THIS ORDER:
| [ <CQ ... /> ]
| [ <SP ... /> ]
| [ <AQ ... /> ]
| [ <SPAQ ... /> ]
| [ <ACT ... /> ]
| [ <QN ... /> ]
| <selfTreatment ... />
</nonCompliersEffective>
Documentation (element)
Units: Dimensionless Min: 0.0 Max: 1.0
Effectiveness of treatment for non-compliant patients
treatmentActions
→ scenario → healthSystem → ImmediateOutcomes → treatmentActions
<treatmentActions>
IN ANY ORDER:
| [ <CQ ... /> ]
| [ <SP ... /> ]
| [ <AQ ... /> ]
| [ <SPAQ ... /> ]
| [ <ACT ... /> ]
| [ <QN ... /> ]
</treatmentActions>
CQ
→ scenario → healthSystem → ImmediateOutcomes → treatmentActions → CQ
<CQ
[ name=string ]
>
IN THIS ORDER:
| ( <deploy ... /> )*
</CQ>
Documentation (type)
Describes the effects of the treatment, assuming this compliance/adherence/... option is selected. Effects are described in terms of a list of options, each of which acts independently but with all effects being activated simultaneously.
Documentation (base type)
Lists intervention components which are deployed according to some external trigger (for example, screening with a negative patency outcome or health-system treatment).
Components are referenced from one or more sub-lists. Each of these lists is deployed independently if and only if its age constraints are met by the human host and a random sample with the given probability of a positive outcome is positive.
Attributes
Name
name=string
Describes what this compliance option represents (e.g. "good compliance", "poor compliance with good drugs", ...).
deploy
→ scenario → healthSystem → ImmediateOutcomes → treatmentActions → CQ → deploy
<deploy
[ maxAge=double ]
[ minAge=double ] DEFAULT VALUE 0
[ p=double ] DEFAULT VALUE 1
>
IN THIS ORDER:
| ( <component ... /> )+
</deploy>
Attributes
Maximum age of eligible humans
maxAge=double
Units: Years Min: 0
Maximum age of eligible humans (defaults to no limit). Input is rounded to the nearest time step.
Minimum age of eligible humans
minAge=double
Units: Years Min: 0
Default value: 0
Minimum age of eligible humans (defaults to 0). Input is rounded to the nearest time step.
Probability of delivery to eligible humans
p=double
Units: dimensionless Min: 0 Max: 1
Default value: 1
Probability of this list of components being deployed, given that other constraints are met.
component
→ scenario → healthSystem → ImmediateOutcomes → treatmentActions → CQ → deploy → component
<component
id=string
/>
Documentation (type)
The list of components deployed to eligible humans.
Attributes
Identifier
id=string
The identifier (short name) of a component.
Prophylactic treatment
→ scenario → healthSystem → DecisionTree5Day → treatmentSevere → clearInfections
<clearInfections
timesteps=string
stage=("liver" or "blood" or "both")
/>
Documentation (element)
This clears infections according to several options: it can clear all blood stage infections, all liver stage infections or both, and it can act on multiple timesteps. To have a probability of no action add another treatment option (which does nothing) and set the probabilities of selection appropriately.
This allows immediate (legacy) or delayed action, a prophylactic period, and selection of which stages are targeted. It is a simple model but appropriate enough for use with the five day timestep when assuming no resistance and that drug failure is mainly caused by bad drugs or compliance.
The old treatment action for the five-day timestep model is essentially this, with immediateAction (timesteps=-1) and stage=both, except for the IPT model's SP action, which was more like with timesteps>1 and stage=blood.
Attributes
Length of effect
timesteps=string
Units: User defined (defaults to steps)
The number of timesteps during which this action remains in effect (e.g. 2 means clear infections during the next two timestep updates). Full clearance of the targeted stages occurs during this time. A special value of -1 means act immediately (retrospectively); this the old behaviour. A value of 1 means act on the next timestep only. Both of these can be thought of as a model for short-acting effective drug treatment; the main differences are that the latter means parasite densities will remain high from the point of view of surveys and diagnostics (i.e. mass screen and treat) used before the next timestep and that the latter will also remove infections starting the next timestep. Arguably the latter is a better model, but the differences are perhaps small, excepting where immediate treatment of fevers (i.e. through the health system) can hide high parasite densities from reporting and mass-screen-and-treat diagnostics. For use by interventions, the latter model has nicer behaviour in that the order of deployment of multiple interventions deployed at the same time does not matter, and that the former model retrospectively treats infections which may already have caused fever, thus may have a lower health impact than it should. It is recommended to use the new model (value 1, or greater than 1 if prophylactic effect is desired) unless wanting to emulate the old behaviour. Values of 0 or less than -1 are not allowed. Can be specified in steps (e.g. 1t, -1t) or days (e.g. 5d).
Target stage
stage=("liver" or "blood" or "both")
Controls whether liver-stage or blood-stage infections are cleared, or both. Infections are considered liver-stage for one 5-day timestep, blood-stage but pre-patent for some number of timesteps (latentp - 1), then start the patent blood stage. If stage is set to "liver", infections are only cleared during their first timestep; if stage is set to "blood", infections are cleared during pre-patent and patent blood stages; if stage is set to "both" all infections are cleared. The old behaviour (oddly considering the drugs it is meant to emulate) is to clear both stages, except for the IPT model of SP action, which cleared only patent blood-stage infections.
SP
→ scenario → healthSystem → ImmediateOutcomes → treatmentActions → SP
<SP
[ name=string ]
>
IN THIS ORDER:
| ( <deploy ... /> )*
</SP>
Documentation (type)
Describes the effects of the treatment, assuming this compliance/adherence/... option is selected. Effects are described in terms of a list of options, each of which acts independently but with all effects being activated simultaneously.
Documentation (base type)
Lists intervention components which are deployed according to some external trigger (for example, screening with a negative patency outcome or health-system treatment).
Components are referenced from one or more sub-lists. Each of these lists is deployed independently if and only if its age constraints are met by the human host and a random sample with the given probability of a positive outcome is positive.
Attributes
Name
name=string
Describes what this compliance option represents (e.g. "good compliance", "poor compliance with good drugs", ...).
AQ
→ scenario → healthSystem → ImmediateOutcomes → treatmentActions → AQ
<AQ
[ name=string ]
>
IN THIS ORDER:
| ( <deploy ... /> )*
</AQ>
Documentation (type)
Describes the effects of the treatment, assuming this compliance/adherence/... option is selected. Effects are described in terms of a list of options, each of which acts independently but with all effects being activated simultaneously.
Documentation (base type)
Lists intervention components which are deployed according to some external trigger (for example, screening with a negative patency outcome or health-system treatment).
Components are referenced from one or more sub-lists. Each of these lists is deployed independently if and only if its age constraints are met by the human host and a random sample with the given probability of a positive outcome is positive.
Attributes
Name
name=string
Describes what this compliance option represents (e.g. "good compliance", "poor compliance with good drugs", ...).
SPAQ
→ scenario → healthSystem → ImmediateOutcomes → treatmentActions → SPAQ
<SPAQ
[ name=string ]
>
IN THIS ORDER:
| ( <deploy ... /> )*
</SPAQ>
Documentation (type)
Describes the effects of the treatment, assuming this compliance/adherence/... option is selected. Effects are described in terms of a list of options, each of which acts independently but with all effects being activated simultaneously.
Documentation (base type)
Lists intervention components which are deployed according to some external trigger (for example, screening with a negative patency outcome or health-system treatment).
Components are referenced from one or more sub-lists. Each of these lists is deployed independently if and only if its age constraints are met by the human host and a random sample with the given probability of a positive outcome is positive.
Attributes
Name
name=string
Describes what this compliance option represents (e.g. "good compliance", "poor compliance with good drugs", ...).
ACT
→ scenario → healthSystem → ImmediateOutcomes → treatmentActions → ACT
<ACT
[ name=string ]
>
IN THIS ORDER:
| ( <deploy ... /> )*
</ACT>
Documentation (type)
Describes the effects of the treatment, assuming this compliance/adherence/... option is selected. Effects are described in terms of a list of options, each of which acts independently but with all effects being activated simultaneously.
Documentation (base type)
Lists intervention components which are deployed according to some external trigger (for example, screening with a negative patency outcome or health-system treatment).
Components are referenced from one or more sub-lists. Each of these lists is deployed independently if and only if its age constraints are met by the human host and a random sample with the given probability of a positive outcome is positive.
Attributes
Name
name=string
Describes what this compliance option represents (e.g. "good compliance", "poor compliance with good drugs", ...).
QN
→ scenario → healthSystem → ImmediateOutcomes → treatmentActions → QN
<QN
[ name=string ]
>
IN THIS ORDER:
| ( <deploy ... /> )*
</QN>
Documentation (type)
Describes the effects of the treatment, assuming this compliance/adherence/... option is selected. Effects are described in terms of a list of options, each of which acts independently but with all effects being activated simultaneously.
Documentation (base type)
Lists intervention components which are deployed according to some external trigger (for example, screening with a negative patency outcome or health-system treatment).
Components are referenced from one or more sub-lists. Each of these lists is deployed independently if and only if its age constraints are met by the human host and a random sample with the given probability of a positive outcome is positive.
Attributes
Name
name=string
Describes what this compliance option represents (e.g. "good compliance", "poor compliance with good drugs", ...).
Probability that a patient with uncomplicated disease seeks official care immediately.
→ scenario → healthSystem → ImmediateOutcomes → pSeekOfficialCareUncomplicated1
<pSeekOfficialCareUncomplicated1
value=double
/>
Documentation (element)
Units: Dimensionless Min: 0.0 Max: 1.0
Probability that a patient with newly incident uncomplicated disease seeks official care
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Probability that a patient with uncomplicated disease will self-treat.
→ scenario → healthSystem → ImmediateOutcomes → pSelfTreatUncomplicated
<pSelfTreatUncomplicated
value=double
/>
Documentation (element)
Units: Dimensionless Min: 0.0 Max: 1.0
Probability that a patient with uncomplicated disease without recent history of disease (i.e. first line) will self-treat.
Note that in second line cases there is no probability of self-treatment.
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Probability that a recurring patient seeks official care
→ scenario → healthSystem → ImmediateOutcomes → pSeekOfficialCareUncomplicated2
<pSeekOfficialCareUncomplicated2
value=double
/>
Documentation (element)
Units: Dimensionless Min: 0.0 Max: 1.0
Probability that a patient with recurrence of uncomplicated disease seeks official care
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Probability that a patient with severe disease obtains appropriate care
→ scenario → healthSystem → ImmediateOutcomes → pSeekOfficialCareSevere
<pSeekOfficialCareSevere
value=double
/>
Documentation (element)
Units: Dimensionless Min: 0.0 Max: 1.0
Probability that a patient with severe disease obtains appropriate care
Attributes
Input parameter value
value=double
A double-precision floating-point value.
liverStageDrug
→ scenario → healthSystem → ImmediateOutcomes → liverStageDrug
<liverStageDrug>
IN ANY ORDER:
| <pHumanCannotReceive ... />
| [ <ignoreCannotReceive ... /> ]
| [ <pUseUncomplicated ... /> ]
| <effectivenessOnUse ... />
</liverStageDrug>
Documentation (type)
Parameters for drug treatment which have an effect on the liver-stage of parasites (Primaquine and potentially Tafenoquine); for use with the Vivax model only.
Note: if this section is not listed, the following default values are assumed: pHumanCannotReceive=0, pUseUncomplicated=0, effectivenessOnUse=1.
Probability that human is incompatible with liver-stage drug treatment
→ scenario → healthSystem → ImmediateOutcomes → liverStageDrug → pHumanCannotReceive
<pHumanCannotReceive
value=double
/>
Documentation (element)
Units: Probability Min: 0 Max: 1
Chance that a human is determined to be unable to receive liver-stage drug treatment. Treatment is neither reported or given for such humans.
This is sampled once per human at birth.
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Ignore liver-stage drug treatment incompatibility
→ scenario → healthSystem → ImmediateOutcomes → liverStageDrug → ignoreCannotReceive
<ignoreCannotReceive
value=boolean
/>
Documentation (element)
If true, ignore pHumanCannotReceive and consider all humans eligible for treatment; if false (or not specified), do not treat those demed incompatible with liver-stage drug treatment.
The point of this is that pHumanCannotReceive cannot be altered by changeHS interventions, but this property can be.
Attributes
Input parameter value
value=boolean
A boolean value.
Prob use in UC case
→ scenario → healthSystem → ImmediateOutcomes → liverStageDrug → pUseUncomplicated
<pUseUncomplicated
value=double
/>
Documentation (element)
Units: Probability Min: 0 Max: 1
This feature is deprecated; it is suggested to use the "simple treatment" feature configured to clear liver-stage parasites, leaving this option unset or zero.
Chance of liver-stage drug treatment being used for routine treatment of an uncomplicated case.
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Effectiveness
→ scenario → healthSystem → ImmediateOutcomes → liverStageDrug → effectivenessOnUse
<effectivenessOnUse
value=double
/>
Documentation (element)
Units: Probability Min: 0 Max: 1
Chance that liver-stage drug treatment is effective.
On application, a random variable is sampled against this probability. If false, the treatment does nothing; if true, the treatment clears all liver stage parasites. Where effectiveness is longer than a single time step (prophylactic effect), this sample still only happens once (thus either no effect or all liver stages cleared over multiple steps).
Attributes
Input parameter value
value=double
A double-precision floating-point value.
DecisionTree5Day
→ scenario → healthSystem → DecisionTree5Day
<DecisionTree5Day
[ name=string ]
>
IN ANY ORDER:
| <pSeekOfficialCareUncomplicated1 ... />
| <pSelfTreatUncomplicated ... />
| <pSeekOfficialCareUncomplicated2 ... />
| <pSeekOfficialCareSevere ... />
| [ <liverStageDrug ... /> ]
| <treeUCOfficial ... />
| <treeUCSelfTreat ... />
| <cureRateSevere ... />
| <treatmentSevere ... />
</DecisionTree5Day>
- pSeekOfficialCareUncomplicated1
- pSelfTreatUncomplicated
- pSeekOfficialCareUncomplicated2
- pSeekOfficialCareSevere
- liverStageDrug
- treeUCOfficial
- treeUCSelfTreat
- cureRateSevere
- treatmentSevere
Documentation (type)
Description of the health system using the 5-day timestep with decision tree model: access is configured as in the Tediosi et al case management model (Case management as described in AJTMH 75 (suppl 2) pp90-103) while treatment decisions are configured via decision trees.
Besides greater flexibility, this allows treatment via PK/PD models.
Attributes
Name of case management parameterisation
name=string
Name of health system
Probability that a patient with uncomplicated disease seeks official care immediately.
→ scenario → healthSystem → DecisionTree5Day → pSeekOfficialCareUncomplicated1
<pSeekOfficialCareUncomplicated1
value=double
/>
Documentation (element)
Units: Dimensionless Min: 0.0 Max: 1.0
Probability that a patient with newly incident uncomplicated disease seeks official care
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Probability that a patient with uncomplicated disease will self-treat.
→ scenario → healthSystem → DecisionTree5Day → pSelfTreatUncomplicated
<pSelfTreatUncomplicated
value=double
/>
Documentation (element)
Units: Dimensionless Min: 0.0 Max: 1.0
Probability that a patient with uncomplicated disease without recent history of disease (i.e. first line) will self-treat.
Note that in second line cases there is no probability of self-treatment.
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Probability that a recurring patient seeks official care
→ scenario → healthSystem → DecisionTree5Day → pSeekOfficialCareUncomplicated2
<pSeekOfficialCareUncomplicated2
value=double
/>
Documentation (element)
Units: Dimensionless Min: 0.0 Max: 1.0
Probability that a patient with recurrence of uncomplicated disease seeks official care
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Probability that a patient with severe disease obtains appropriate care
→ scenario → healthSystem → DecisionTree5Day → pSeekOfficialCareSevere
<pSeekOfficialCareSevere
value=double
/>
Documentation (element)
Units: Dimensionless Min: 0.0 Max: 1.0
Probability that a patient with severe disease obtains appropriate care
Attributes
Input parameter value
value=double
A double-precision floating-point value.
liverStageDrug
→ scenario → healthSystem → DecisionTree5Day → liverStageDrug
<liverStageDrug>
IN ANY ORDER:
| <pHumanCannotReceive ... />
| [ <ignoreCannotReceive ... /> ]
| [ <pUseUncomplicated ... /> ]
| <effectivenessOnUse ... />
</liverStageDrug>
Documentation (type)
Parameters for drug treatment which have an effect on the liver-stage of parasites (Primaquine and potentially Tafenoquine); for use with the Vivax model only.
Note: if this section is not listed, the following default values are assumed: pHumanCannotReceive=0, pUseUncomplicated=0, effectivenessOnUse=1.
treeUCOfficial
→ scenario → healthSystem → DecisionTree5Day → treeUCOfficial
<treeUCOfficial
[ name=string ]
>
EXACTLY ONE OF:
| <multiple ... />
| <caseType ... />
| <diagnostic ... />
| <random ... />
| <age ... />
| <noTreatment ... />
| <treatFailure ... />
| ( <treatPKPD ... /> )+
| <treatSimple ... />
| ( <deploy ... /> )+
</treeUCOfficial>
Documentation (type)
Describes how "decisions" are made, both probabilistically and deterministically, and what actions are carried out.
Quantities may also be reported as a side effect of decisions made in the tree, for example the number of diagnostics used.
Attributes
Name
name=string
An optional piece of documentation attached to this node.
treeUCSelfTreat
→ scenario → healthSystem → DecisionTree5Day → treeUCSelfTreat
<treeUCSelfTreat
[ name=string ]
>
EXACTLY ONE OF:
| <multiple ... />
| <caseType ... />
| <diagnostic ... />
| <random ... />
| <age ... />
| <noTreatment ... />
| <treatFailure ... />
| ( <treatPKPD ... /> )+
| <treatSimple ... />
| ( <deploy ... /> )+
</treeUCSelfTreat>
Documentation (type)
Describes how "decisions" are made, both probabilistically and deterministically, and what actions are carried out.
Quantities may also be reported as a side effect of decisions made in the tree, for example the number of diagnostics used.
Attributes
Name
name=string
An optional piece of documentation attached to this node.
Cure rate (severe cases)
→ scenario → healthSystem → DecisionTree5Day → cureRateSevere
<cureRateSevere
value=double
/>
Documentation (element)
Min: 0 Max: 1
The probability of clearing parasites given access to appropriate (hospital) care, for a severe case.
Attributes
Input parameter value
value=double
A double-precision floating-point value.
treatmentSevere
→ scenario → healthSystem → DecisionTree5Day → treatmentSevere
<treatmentSevere
[ name=string ]
>
IN THIS ORDER:
| ( <deploy ... /> )*
</treatmentSevere>
Documentation (type)
Describes the effects of the treatment, assuming this compliance/adherence/... option is selected. Effects are described in terms of a list of options, each of which acts independently but with all effects being activated simultaneously.
Documentation (base type)
Lists intervention components which are deployed according to some external trigger (for example, screening with a negative patency outcome or health-system treatment).
Components are referenced from one or more sub-lists. Each of these lists is deployed independently if and only if its age constraints are met by the human host and a random sample with the given probability of a positive outcome is positive.
Attributes
Name
name=string
Describes what this compliance option represents (e.g. "good compliance", "poor compliance with good drugs", ...).
Case fatality rate for inpatients
→ scenario → healthSystem → CFR
<CFR
[ interpolation=("none" or "linear") ]
>
IN THIS ORDER:
| ( <group ... /> )+
</CFR>
Documentation (element)
Case fatality rate (probability of an inpatient fatality from a bout of severe malaria, per age-group).
Attributes
interpolation
interpolation=("none" or "linear")
Interpolation algorithm. Normally it is desirable for age-based values to be continuous w.r.t. age. By default linear interpolation is used. With all algorithms except "none", the age groups are converted to a set of points centred within each age range. Extra points are added at each end (zero and infinity) to keep value constant at both ends of the function. A zero-length age group may be used as a kind of barrier to adjust the distribution; e.g. with age group boundaries at 15, 20 and 25 years, a (linear) spline would be drawn between ages 17.5 and 22.5, whereas with boundaries at 15, 20 and 20 years, a spline would be drawn between ages 17.5 and 20 years (may be desired if individuals are assumed to reach adult size at 20). Algorithms:
- none: input values are used directly
- linear: straight lines (on an age vs. value graph) are used to interpolate data points.
Probabilities of sequelae in inpatients
→ scenario → healthSystem → pSequelaeInpatient
<pSequelaeInpatient
[ interpolation=("none" or "linear") ]
>
IN THIS ORDER:
| ( <group ... /> )+
</pSequelaeInpatient>
Documentation (element)
Units: Dimensionless
List of age-specific probabilities of sequelae in inpatients, during a severe bout of malaria.
Attributes
interpolation
interpolation=("none" or "linear")
Interpolation algorithm. Normally it is desirable for age-based values to be continuous w.r.t. age. By default linear interpolation is used. With all algorithms except "none", the age groups are converted to a set of points centred within each age range. Extra points are added at each end (zero and infinity) to keep value constant at both ends of the function. A zero-length age group may be used as a kind of barrier to adjust the distribution; e.g. with age group boundaries at 15, 20 and 25 years, a (linear) spline would be drawn between ages 17.5 and 22.5, whereas with boundaries at 15, 20 and 20 years, a spline would be drawn between ages 17.5 and 20 years (may be desired if individuals are assumed to reach adult size at 20). Algorithms:
- none: input values are used directly
- linear: straight lines (on an age vs. value graph) are used to interpolate data points.
Change transmission levels
→ scenario → interventions → changeEIR
<changeEIR
[ name=string ]
>
IN THIS ORDER:
| ( <timedDeployment ... /> )*
</changeEIR>
Documentation (element)
New description of transmission level for models not supporting vector control interventions. Use of this overrides previous transmission levels such that human infectiousness no longer has any feedback effect on transmission. Supplied EIR data must last until end of simulation.
Attributes
Name of intervention
name=string
Name of intervention
timedDeployment
→ scenario → interventions → changeEIR → timedDeployment
<timedDeployment
eipDuration=int
time=string
>
IN THIS ORDER:
| ( <EIRDaily ... /> )+
</timedDeployment>
Documentation (type)
Replacement transmission levels. Disables feedback of human infectiousness to mosquitoes on further mosquito to human transmission. Must last until end of simulation.
Attributes
Duration of sporogony
eipDuration=int
Units: Days
The duration of sporogony in days
Time
time=string
Units: User defined (defauls to steps) Min: 0
Time at which this replacement occurs. See doc on intervention period and on monitoring/startDate for details of how times work. Can be specified in steps, days, years, or as a date (examples: 15t, 75d, 0.2y, 2000-03-16).
EIRDaily
→ scenario → entomology → nonVector → EIRDaily
<EIRDaily
[ origin=string ]
>
double
</EIRDaily>
Documentation (type)
Units: Infectious bites per adult per day
In the non-vector model, EIR is input as a sequence of daily values. There must be at least one years' worth of entries (365), and if there are more, values are wrapped and averaged (i.e. value for first day of year is taken as the mean of values for days 0, 365+0, 2*365+0, etc.).
Attributes
Time origin of EIR sequence
origin=string
Imported infections
→ scenario → interventions → importedInfections
<importedInfections
[ name=string ]
>
IN THIS ORDER:
| <timed ... />
</importedInfections>
Documentation (element)
Models importation of P. falciparum infections directly into humans from an external source. This is infections, not inoculations or EIR being imported.
Attributes
Name of intervention
name=string
Name of intervention
Rate of importation
→ scenario → interventions → importedInfections → timed
<timed
[ period=string ] DEFAULT VALUE 0
>
IN THIS ORDER:
| ( <rate ... /> )+
</timed>
Documentation (element)
Rate of case importation, as a step function. Each value is valid until replaced by the next value.
Attributes
Period of repetition
period=string
Units: User defined (default: steps) Min: 0
Default value: 0
If period is 0 (or effectively infinite), the last specified value remains indefinitely in effect. If period is less than the length of the simulation's intervention phase, then all "rate" deployments are repeated with this periodicity. In this case, the first "rate" deployment must coincide with the start of the intervention phase (monitoring/startDate). Can be specified in steps (e.g. 1t) or days (e.g. 365d).
rate
→ scenario → interventions → importedInfections → timed → rate
<rate
value=double
time=string
/>
Documentation (type)
Units: Imported cases per thousand people per year
A time-rate pair.
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Time of start
time=string
Units: User defined (defauls to steps) Min: 0
Time at which this importation rate becomes active. See doc on intervention period and on monitoring/startDate for details of how times work. Can be specified in steps, days, years, or as a date (examples: 15t, 75d, 0.2y, 2000-03-16).
Insert R_0 case
→ scenario → interventions → insertR_0Case
<insertR_0Case
[ name=string ]
>
IN THIS ORDER:
| ( <timedDeployment ... /> )*
</insertR_0Case>
Documentation (element)
Used to simulate R_0. First, infections should be eliminated, immunity removed, and the population given an effective transmission- blocking vaccine (not done by this intervention). Then this intervention may be used to: pick one human, infect him, administer a fully effective Preerythrocytic vaccine and remove transmission-blocking vaccine effect on this human. Thus only this one human will be a source of infections in an unprotected population, and will not reinfected himself.
Attributes
Name of intervention
name=string
Name of intervention
timedDeployment
→ scenario → interventions → insertR_0Case → timedDeployment
<timedDeployment
time=string
/>
Attributes
Time
time=string
Units: User defined (defauls to steps) Min: 0
Time at which this intervention occurs. See doc on intervention period and on monitoring/startDate for details of how times work. Can be specified in steps, days, years, or as a date (examples: 15t, 75d, 0.2y, 2000-03-16).
Uninfect vectors
→ scenario → interventions → uninfectVectors
<uninfectVectors
[ name=string ]
>
IN THIS ORDER:
| ( <timedDeployment ... /> )*
</uninfectVectors>
Documentation (element)
Units: List of elements
Removes all infections from mosquitoes -- resulting in zero EIR to humans, until such time that mosquitoes are re-infected and become infectious. Only efficacious in dynamic EIR mode (when changeEIR was not used).
Hypothetical, but potentially useful to simulate a setting starting from no infections, but with enough mosquitoes to reach a set equilibrium of exposure.
Attributes
Name of intervention
name=string
Name of intervention
timedDeployment
→ scenario → interventions → uninfectVectors → timedDeployment
<timedDeployment
time=string
/>
Attributes
Time
time=string
Units: User defined (defauls to steps) Min: 0
Time at which this intervention occurs. See doc on intervention period and on monitoring/startDate for details of how times work. Can be specified in steps, days, years, or as a date (examples: 15t, 75d, 0.2y, 2000-03-16).
Vector population intervention
→ scenario → interventions → vectorPop
<vectorPop>
IN THIS ORDER:
| ( <intervention ... /> )+
</vectorPop>
Documentation (element)
Units: List of elements
A list of parameterisations of generic vector host-inspecific interventions.
intervention
→ scenario → interventions → vectorPop → intervention
<intervention
name=string
>
IN THIS ORDER:
| <description ... />
| [ <timed ... /> ]
</intervention>
Documentation (type)
Units: List of elements
An intervention which may have various effects on the vector populations as a whole. (Not host specific.)
Multiple instances of this intervention class are allowed (multiple parameterisations, not just deployments).
Each instance may have multiple deployments. In this case the effects of each instance are independent (effects are combined) but the effects of multiple deployments of a single instance are not independent (only the latest deployment has any effect).
Attributes
Name of intervention
name=string
Name of intervention (e.g. larviciding, sugar bait).
description
→ scenario → interventions → vectorPop → intervention → description
<description>
IN THIS ORDER:
| ( <anopheles ... /> )+
</description>
anopheles
→ scenario → interventions → vectorPop → intervention → description → anopheles
<anopheles
mosquito=string
>
IN ANY ORDER:
| [ <seekingDeathRateIncrease ... /> ]
| [ <probDeathOvipositing ... /> ]
| [ <emergenceReduction ... /> ]
</anopheles>
Documentation (type)
Units: dimensionless Min: 0 Max: 1
Descriptions of the effects of vector interventions with per-species effects.
Attributes
Species/subspecies/variant name
mosquito=string
Name of the species/subspecies/variant.
Proportional increase in deaths while host searching
→ scenario → interventions → vectorPop → intervention → description → anopheles → seekingDeathRateIncrease
<seekingDeathRateIncrease
initial=double
>
IN THIS ORDER:
| <decay ... />
</seekingDeathRateIncrease>
Documentation (element)
Units: dimensionless
Describe an effect on the increase in the death rate while host seeking (mu_vA) due to this intervention.
Enter the rate increase (i.e. if rate increases to 120% of normal, give 0.2). New death rate while seeking is old × (1 + increase) where increase is this factor given. Must have increas ≥ -1.
Attributes
Initial proportion increase
initial=double
Units: dimensionless Min: -1 Max: inf
decay
→ scenario → interventions → vectorPop → intervention → description → anopheles → seekingDeathRateIncrease → decay
<decay
function=("constant" or "step" or "linear" or "exponential" or "weibull" or "hill" or "smooth-compact")
[ L=string ]
[ k=double ] DEFAULT VALUE 1.0
[ CV=double ] DEFAULT VALUE 0
/>
Documentation (type)
Specification of decay or survival of a parameter.
Attributes
function
function=("constant" or "step" or "linear" or "exponential" or "weibull" or "hill" or "smooth-compact")
Units: None Min: 0 Max: 1
Determines which decay function to use. Available decay functions, for age t in years: constant: 1 step: 1 for t less than L, otherwise 0 linear: 1 - t/L for t less than L, otherwise 0 exponential: exp( - t/L * log(2) ) weibull: exp( -(t/L)^k * log(2) ) hill: 1 / (1 + (t/L)^k) smooth-compact: exp( k - k / (1 - (t/L)^2) ) for t less than L, otherwise 0
L
L=string
Units: User-defined (defaults to years) Min: 0
(Time) scale parameter of distribution: this is either the age of complete decay (smooth-compact, step and linear functions) or the age at which the parameter has decayed to half its original value (exponential, weibull and hill). Not used when function="constant" (i.e. no decay). This value can be specified in years, days or steps (e.g. 2y, 180d or 100t). When the unit is not specified years are assumed. The value is used without rounding except when sampling an age of decay, when the rounding happens as late as possible.
k
k=double
Units: none Min: 0
Default value: 1.0
Shape parameter of distribution. If not specified, default value of 1 is used. Meaning depends on function; not used in some cases.
Coefficient of Variation
CV=double
Min: 0
Default value: 0
If CV is non-zero, heterogeneity of decay is introduced via a random variable sampled from the log-normal distribution. This distribution is parameterised with mean=1 and CV as given. The effective age of decay is the real age multiplied by this variable (for decay functions with a half-life, this is equivalent to dividing the half-life by the variable).
Proportion ovipositing mosquitoes killed
→ scenario → interventions → vectorPop → intervention → description → anopheles → probDeathOvipositing
<probDeathOvipositing
initial=double
>
IN THIS ORDER:
| <decay ... />
</probDeathOvipositing>
Documentation (element)
Units: dimensionless
Describe an effect of increased mortality while ovipositing due to this intervention. Enter the probability of dying due to this intervention.
Attributes
Initial probability of killing
initial=double
Units: dimensionless Min: 0 Max: 1
decay
→ scenario → interventions → vectorPop → intervention → description → anopheles → probDeathOvipositing → decay
<decay
function=("constant" or "step" or "linear" or "exponential" or "weibull" or "hill" or "smooth-compact")
[ L=string ]
[ k=double ] DEFAULT VALUE 1.0
[ CV=double ] DEFAULT VALUE 0
/>
Documentation (type)
Specification of decay or survival of a parameter.
Attributes
function
function=("constant" or "step" or "linear" or "exponential" or "weibull" or "hill" or "smooth-compact")
Units: None Min: 0 Max: 1
Determines which decay function to use. Available decay functions, for age t in years: constant: 1 step: 1 for t less than L, otherwise 0 linear: 1 - t/L for t less than L, otherwise 0 exponential: exp( - t/L * log(2) ) weibull: exp( -(t/L)^k * log(2) ) hill: 1 / (1 + (t/L)^k) smooth-compact: exp( k - k / (1 - (t/L)^2) ) for t less than L, otherwise 0
L
L=string
Units: User-defined (defaults to years) Min: 0
(Time) scale parameter of distribution: this is either the age of complete decay (smooth-compact, step and linear functions) or the age at which the parameter has decayed to half its original value (exponential, weibull and hill). Not used when function="constant" (i.e. no decay). This value can be specified in years, days or steps (e.g. 2y, 180d or 100t). When the unit is not specified years are assumed. The value is used without rounding except when sampling an age of decay, when the rounding happens as late as possible.
k
k=double
Units: none Min: 0
Default value: 1.0
Shape parameter of distribution. If not specified, default value of 1 is used. Meaning depends on function; not used in some cases.
Coefficient of Variation
CV=double
Min: 0
Default value: 0
If CV is non-zero, heterogeneity of decay is introduced via a random variable sampled from the log-normal distribution. This distribution is parameterised with mean=1 and CV as given. The effective age of decay is the real age multiplied by this variable (for decay functions with a half-life, this is equivalent to dividing the half-life by the variable).
Proportion of emerging pupa killed
→ scenario → interventions → vectorPop → intervention → description → anopheles → emergenceReduction
<emergenceReduction
initial=double
>
IN THIS ORDER:
| <decay ... />
</emergenceReduction>
Documentation (element)
Units: dimensionless
Describe an effect on emergence of pupa into adults: this value is the proportion of emerging pupa which are killed by this intervention.
This can be used as a crude way of modelling larviciding. It ca also be used to increase emergence by giving a negative value. The emergence rate is "old rate" × (1 - factor) where factor is the value given here; thus, for example, using -1 will double emergence.
Attributes
Initial proportion reduction
initial=double
Units: dimensionless Min: -inf Max: 1
decay
→ scenario → interventions → vectorPop → intervention → description → anopheles → emergenceReduction → decay
<decay
function=("constant" or "step" or "linear" or "exponential" or "weibull" or "hill" or "smooth-compact")
[ L=string ]
[ k=double ] DEFAULT VALUE 1.0
[ CV=double ] DEFAULT VALUE 0
/>
Documentation (type)
Specification of decay or survival of a parameter.
Attributes
function
function=("constant" or "step" or "linear" or "exponential" or "weibull" or "hill" or "smooth-compact")
Units: None Min: 0 Max: 1
Determines which decay function to use. Available decay functions, for age t in years: constant: 1 step: 1 for t less than L, otherwise 0 linear: 1 - t/L for t less than L, otherwise 0 exponential: exp( - t/L * log(2) ) weibull: exp( -(t/L)^k * log(2) ) hill: 1 / (1 + (t/L)^k) smooth-compact: exp( k - k / (1 - (t/L)^2) ) for t less than L, otherwise 0
L
L=string
Units: User-defined (defaults to years) Min: 0
(Time) scale parameter of distribution: this is either the age of complete decay (smooth-compact, step and linear functions) or the age at which the parameter has decayed to half its original value (exponential, weibull and hill). Not used when function="constant" (i.e. no decay). This value can be specified in years, days or steps (e.g. 2y, 180d or 100t). When the unit is not specified years are assumed. The value is used without rounding except when sampling an age of decay, when the rounding happens as late as possible.
k
k=double
Units: none Min: 0
Default value: 1.0
Shape parameter of distribution. If not specified, default value of 1 is used. Meaning depends on function; not used in some cases.
Coefficient of Variation
CV=double
Min: 0
Default value: 0
If CV is non-zero, heterogeneity of decay is introduced via a random variable sampled from the log-normal distribution. This distribution is parameterised with mean=1 and CV as given. The effective age of decay is the real age multiplied by this variable (for decay functions with a half-life, this is equivalent to dividing the half-life by the variable).
Vector population intervention deployment
→ scenario → interventions → vectorPop → intervention → timed
<timed>
IN THIS ORDER:
| ( <deploy ... /> )+
</timed>
Documentation (element)
List of timed vector population intervention deployment
deploy
→ scenario → interventions → vectorPop → intervention → timed → deploy
<deploy
time=string
/>
Attributes
Time
time=string
Units: User defined (defauls to steps) Min: 0
Time at which this deployment occurs. See doc on intervention period and on monitoring/startDate for details of how times work. Can be specified in steps, days, years, or as a date (examples: 15t, 75d, 0.2y, 2000-03-16).
Baited trap
→ scenario → interventions → vectorTrap
<vectorTrap>
IN THIS ORDER:
| ( <intervention ... /> )+
</vectorTrap>
Documentation (element)
Traps attract and kill mosquitoes. They are modelled as a non-human-host where the probability of mosquitoes surviving feeding is zero (since otherwise the simulator would assume surviving mosquitoes have had a blood meal), and where this "host" is initially not present.
Model: each type of trap has has an initial availability relative to a human and a decay in availability. Each deployment has a fixed maximum lifespan, after which the traps from that deployment are removed (it is up to the user whether this is after availability is effectively zero or sooner, either coinciding with a redeployment or causing a reduction in overall effectiveness of traps).
intervention
→ scenario → interventions → vectorTrap → intervention
<intervention
[ name=string ]
>
IN THIS ORDER:
| ( <description ... /> )+
| [ <timed ... /> ]
</intervention>
Documentation (type)
Parameters and deployment of one type of trap. In case multiple types of trap are needed simultaneously, multiple elements can be used. Note that different types of trap do not interact except that all will attract mosquitoes.
Attributes
Descriptive name for type of trap
name=string
Optional name for this type of trap
Description
→ scenario → interventions → vectorTrap → intervention → description
<description
mosquito=string
>
IN THIS ORDER:
| <relativeAvailability ... />
| <decayOfAvailability ... />
</description>
Documentation (element)
Parameters associated with a vector trap intervention, per mosquito species.
Attributes
Species/subspecies/variant name
mosquito=string
Name of the species/subspecies/variant.
Initial relative availability
→ scenario → interventions → vectorTrap → intervention → description → relativeAvailability
<relativeAvailability
value=double
/>
Documentation (element)
Units: Proportion Min: 0 Max: inf
Describes the availiability of a trap to a host-seeking mosquito relative to an average unprotected adult.
I.e. if this parameter is 2, then each trap will on average attract twice as many mosquitoes as unprotected adults.
This is the initial availability; it may decay towards zero depending on the configured decay function.
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Decay of availability
→ scenario → interventions → vectorTrap → intervention → description → decayOfAvailability
<decayOfAvailability
function=("constant" or "step" or "linear" or "exponential" or "weibull" or "hill" or "smooth-compact")
[ L=string ]
[ k=double ] DEFAULT VALUE 1.0
[ CV=double ] DEFAULT VALUE 0
/>
Documentation (element)
Describes how availability decays to zero.
If decay heterogeneity/variance is used, there will be a sample once-per-deployment (i.e. all traps of the same deployment will be affected the same way). There is no support for variances between traps (except in this crude way, between deployments).
Documentation (type)
Specification of decay or survival of a parameter.
Attributes
function
function=("constant" or "step" or "linear" or "exponential" or "weibull" or "hill" or "smooth-compact")
Units: None Min: 0 Max: 1
Determines which decay function to use. Available decay functions, for age t in years: constant: 1 step: 1 for t less than L, otherwise 0 linear: 1 - t/L for t less than L, otherwise 0 exponential: exp( - t/L * log(2) ) weibull: exp( -(t/L)^k * log(2) ) hill: 1 / (1 + (t/L)^k) smooth-compact: exp( k - k / (1 - (t/L)^2) ) for t less than L, otherwise 0
L
L=string
Units: User-defined (defaults to years) Min: 0
(Time) scale parameter of distribution: this is either the age of complete decay (smooth-compact, step and linear functions) or the age at which the parameter has decayed to half its original value (exponential, weibull and hill). Not used when function="constant" (i.e. no decay). This value can be specified in years, days or steps (e.g. 2y, 180d or 100t). When the unit is not specified years are assumed. The value is used without rounding except when sampling an age of decay, when the rounding happens as late as possible.
k
k=double
Units: none Min: 0
Default value: 1.0
Shape parameter of distribution. If not specified, default value of 1 is used. Meaning depends on function; not used in some cases.
Coefficient of Variation
CV=double
Min: 0
Default value: 0
If CV is non-zero, heterogeneity of decay is introduced via a random variable sampled from the log-normal distribution. This distribution is parameterised with mean=1 and CV as given. The effective age of decay is the real age multiplied by this variable (for decay functions with a half-life, this is equivalent to dividing the half-life by the variable).
Vector trap intervention deployment
→ scenario → interventions → vectorTrap → intervention → timed
<timed>
IN THIS ORDER:
| ( <deploy ... /> )*
</timed>
Documentation (element)
List of timed vector trap intervention deployment
deploy
→ scenario → interventions → vectorTrap → intervention → timed → deploy
<deploy
time=string
ratioToHumans=double
lifespan=string
/>
Attributes
Time
time=string
Units: User defined (defauls to steps) Min: 0
Time at which this deployment occurs. See doc on intervention period and on monitoring/startDate for details of how times work. Can be specified in steps, days, years, or as a date (examples: 15t, 75d, 0.2y, 2000-03-16).
Ratio to humans
ratioToHumans=double
Min: 0 Max: inf
The number of traps deployed, by this deployment, per adult human. E.g. if there are currently 100 traps and 1000 humans, then a ratio of 0.1 will increase the number of traps to 200.
Lifespan
lifespan=string
Units: Steps or Days or Years
Life of the trap until replaced or removed, e.g. "73t" or "1y". After this time period, these traps will be removed from the simulation. New deployments do not automatically remove old traps. Existing traps cannot be refurbished in the model. It may make sense to make the end-of-life coincide with a new deployment.
Human-specific interventions
→ scenario → interventions → human
<human>
IN THIS ORDER:
| ( <component ... /> )+
| ( <deployment ... /> )*
</human>
Documentation (element)
Encapsulates all interventions whose effects are specific to the human host: any interventions where target humans may be selected via population-coverage, age limits and sub-population membership.
Component
→ scenario → interventions → human → component
<component
id=string
[ name=string ]
>
IN THIS ORDER:
| EXACTLY ONE OF:
| | <screen ... />
| | <treatSimple ... />
| | <treatPKPD ... />
| | <decisionTree ... />
| | <PEV ... />
| | <BSV ... />
| | <TBV ... />
| | <ITN ... />
| | <IRS ... />
| | <GVI ... />
| | [ <recruitmentOnly ... /> ]
| | <clearImmunity ... />
| [ <subPopRemoval ... /> ]
</component>
- screen
- treatSimple
- treatPKPD
- decisionTree
- PEV
- BSV
- TBV
- ITN
- IRS
- GVI
- recruitmentOnly
- clearImmunity
- subPopRemoval
Documentation (element)
A parameterisation of an effect achieved by one component of an intervention. (An intervention is described as the effects of a set of components plus deployments of those components. This describes the components individually, not deployments or which components comprise an intervention.)
Each element describes one component: its effects, decay of the(se) effect(s), and related stuff (e.g. description of indirect decay and of usage levels).
Different interventions can deploy the same component to the same perso. In most cases this will just deploy a fresh instance (e.g. a new bed net will replace the old (nobody uses multiple bed nets), or a new drug dose will act on top of previous doses, or in the case of a vaccine, effect depends on the total number of previous inoculations (including from other interventions).
Where multiple components of the same type (but with different ids) are deployed (whether within a single intervention or by multiple interventions), they act independently (e.g. two bed nets deployed to a single host would act to reduce attractiveness or survival of mosquitoes biting that host twice — this may be useful to simulate some novel vector intervention since the two nets may have separate parameters).
Attributes
Component identifier
id=string
A short name or code identifying the intervention component (used to refer to this component when describing an intervention). Also the id of the sub-population defined as those hosts who have received this intervention and who haven't subsequently been removed from the sub-population.
Name of component
name=string
An informal name/description for the component
screen
→ scenario → interventions → human → component → screen
<screen
diagnostic=string
>
IN THIS ORDER:
| ( <positive ... /> )*
| ( <negative ... /> )*
</screen>
Documentation (type)
This can be combined with MDA to achieve mass screen and treat (MSAT) or other types of mass screening intervention.
When deployed to a host, this simulates a test of patent malaria (microscopy, RDT or some such), then triggers deployment of whichever intervention components are configured (deployments for both positive and negative test outcomes can be configured).
The use of the screening itself is reported (if enabled), but not the outcome. Deployment of interventions triggered by the screening may be reported, however.
Attributes
Name of diagnostic
diagnostic=string
Name of a parameterised diagnostic (see scenario/diagnostics).
positive
→ scenario → interventions → human → component → screen → positive
<positive
id=string
/>
Documentation (type)
The list of components deployed to eligible humans.
Attributes
Identifier
id=string
The identifier (short name) of a component.
negative
→ scenario → interventions → human → component → screen → negative
<negative
id=string
/>
Documentation (type)
The list of components deployed to eligible humans.
Attributes
Identifier
id=string
The identifier (short name) of a component.
treatSimple
→ scenario → interventions → human → component → treatSimple
<treatSimple
durationLiver=string
durationBlood=string
/>
Documentation (type)
Simple treatment model, targetting liver- and/or blood-stage infections. This is all-or-nothing treatment which, when deploymed, completely clears all infections of the targetted stages. This makes it unsuitable for modeling resistance, but suitable for use with simple infection models.
Infections are considered liver-stage when less than five days old and blood-stage after that. Effects are described independently for the two stages.
Attributes
Length of liver-stage effect
durationLiver=string
Units: User defined
Controls action on liver-stage infections. 0 means no action, -1 step is a compatibility option to act like treatment before schema version 32 (which removed infections retrospectively), 1 step or any duration which equals some whole number of steps n>0 means to clear all liver-stage infections found on the next 1 or n steps. Note on -1 compatibility option: the main difference to 1 step (clearing on the next timestep) is that parasite densities will be reduced immediately, and thus from the point of view of surveys and mass screen and treat interventions a peak in density which is immediately treated through case management will not be seen. Can be specified in steps (e.g. 1t, -1t) or days (e.g. 5d).
Length of blood-stage effect
durationBlood=string
Units: User defined
Controls action on blood-stage infections. 0 means no action, -1 step is a compatibility option to act like treatment before schema version 32 (which removed infections retrospectively), 1 step or any duration which equals some whole number of steps n>0 means to clear all blood-stage infections found on the next 1 or n steps. Note on -1 compatibility option: the main difference to 1 step (clearing on the next timestep) is that parasite densities will be reduced immediately, and thus from the point of view of surveys and mass screen and treat interventions a peak in density which is immediately treated through case management will not be seen. Can be specified in steps (e.g. 1t, -1t) or days (e.g. 5d).
treatPKPD
→ scenario → interventions → human → component → treatPKPD
<treatPKPD
schedule=string
dosage=string
[ delay_h=double ] DEFAULT VALUE 0
/>
Documentation (type)
A command to administer drugs according to a given schedule and dosage table, optionally with a delay.
Attributes
Name of treatment schedule
schedule=string
The name of a schedule to use for treatment.
Name of dosage table
dosage=string
The name of a dosage table to use for treatment.
Delay (hours)
delay_h=double
Default value: 0
Optionally, this can be given to delay the start of treatment by a given number of hours. If not specified, treatment is not delayed. If a delay is given, all medications within the treatment schedule used are delayed by this number of hours.
decisionTree
→ scenario → interventions → human → component → decisionTree
<decisionTree
[ name=string ]
>
EXACTLY ONE OF:
| <multiple ... />
| <caseType ... />
| <diagnostic ... />
| <random ... />
| <age ... />
| <noTreatment ... />
| <treatFailure ... />
| ( <treatPKPD ... /> )+
| <treatSimple ... />
| ( <deploy ... /> )+
</decisionTree>
Documentation (type)
Describes how "decisions" are made, both probabilistically and deterministically, and what actions are carried out.
Quantities may also be reported as a side effect of decisions made in the tree, for example the number of diagnostics used.
Attributes
Name
name=string
An optional piece of documentation attached to this node.
Vaccines
→ scenario → interventions → human → component → PEV
<PEV>
IN THIS ORDER:
| <decay ... />
| <efficacyB ... />
| ( <initialEfficacy ... /> )+
</PEV>
Documentation (element)
Pre-erythrocytic vaccine (PEV): prevents a proportion of infections from commencing.
Documentation (type)
Description of a vaccine's effect
Decay of effect
→ scenario → interventions → human → component → PEV → decay
<decay
function=("constant" or "step" or "linear" or "exponential" or "weibull" or "hill" or "smooth-compact")
[ L=string ]
[ k=double ] DEFAULT VALUE 1.0
[ CV=double ] DEFAULT VALUE 0
/>
Documentation (element)
Specification of decay of efficacy. Documentation: see DecayFunction type or https://github.com/SwissTPH/openmalaria/wiki/ModelDecayFunctions
Documentation (type)
Specification of decay or survival of a parameter.
Attributes
function
function=("constant" or "step" or "linear" or "exponential" or "weibull" or "hill" or "smooth-compact")
Units: None Min: 0 Max: 1
Determines which decay function to use. Available decay functions, for age t in years: constant: 1 step: 1 for t less than L, otherwise 0 linear: 1 - t/L for t less than L, otherwise 0 exponential: exp( - t/L * log(2) ) weibull: exp( -(t/L)^k * log(2) ) hill: 1 / (1 + (t/L)^k) smooth-compact: exp( k - k / (1 - (t/L)^2) ) for t less than L, otherwise 0
L
L=string
Units: User-defined (defaults to years) Min: 0
(Time) scale parameter of distribution: this is either the age of complete decay (smooth-compact, step and linear functions) or the age at which the parameter has decayed to half its original value (exponential, weibull and hill). Not used when function="constant" (i.e. no decay). This value can be specified in years, days or steps (e.g. 2y, 180d or 100t). When the unit is not specified years are assumed. The value is used without rounding except when sampling an age of decay, when the rounding happens as late as possible.
k
k=double
Units: none Min: 0
Default value: 1.0
Shape parameter of distribution. If not specified, default value of 1 is used. Meaning depends on function; not used in some cases.
Coefficient of Variation
CV=double
Min: 0
Default value: 0
If CV is non-zero, heterogeneity of decay is introduced via a random variable sampled from the log-normal distribution. This distribution is parameterised with mean=1 and CV as given. The effective age of decay is the real age multiplied by this variable (for decay functions with a half-life, this is equivalent to dividing the half-life by the variable).
Variance parameter for vaccine efficacy
→ scenario → interventions → human → component → PEV → efficacyB
<efficacyB
value=double
/>
Documentation (element)
Units: Positive real Min: 0.001 Max: 1.00E+06
Measure of variation in vaccine efficacy: efficacy is sampled from a beta distribution with efficacyB its beta parameter and its alpha parameter fixed such that the mean is that given by initialEfficacy.
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Initial mean efficacy
→ scenario → interventions → human → component → PEV → initialEfficacy
<initialEfficacy
value=double
/>
Documentation (element)
Units: dimensionless Min: 0 Max: 1
Mean efficacy values before decay (see efficacyB and decay parameter descriptions for sampling and decay). The i-th value in this list is used for the efficacy of the vaccine after the i-th dose. Where more doses are given than there are values in this list, the last value is repeated.
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Vaccines
→ scenario → interventions → human → component → BSV
<BSV>
IN THIS ORDER:
| <decay ... />
| <efficacyB ... />
| ( <initialEfficacy ... /> )+
</BSV>
Documentation (element)
Blood-stage vaccine (BSV): acts as a killing factor on blood-stage parasites. Exact action depends on the within host model.
Documentation (type)
Description of a vaccine's effect
Vaccines
→ scenario → interventions → human → component → TBV
<TBV>
IN THIS ORDER:
| <decay ... />
| <efficacyB ... />
| ( <initialEfficacy ... /> )+
</TBV>
Documentation (element)
Transmission-blocking vaccine (TBV): one minus this scales the probability of transmission to mosquitoes
Documentation (type)
Description of a vaccine's effect
Bed nets
→ scenario → interventions → human → component → ITN
<ITN>
IN THIS ORDER:
| [ <usage ... /> ]
| <holeRate ... />
| <ripRate ... />
| <ripFactor ... />
| <initialInsecticide ... />
| <insecticideDecay ... />
| <attritionOfNets ... />
| ( <anophelesParams ... /> )+
</ITN>
- usage
- holeRate
- ripRate
- ripFactor
- initialInsecticide
- insecticideDecay
- attritionOfNets
- anophelesParams
Documentation (element)
Description of bed-net interventions (ITNs, LLINs).
Proportion of time nets are used by humans
→ scenario → interventions → human → component → ITN → usage
<usage
value=double
/>
Documentation (element)
Units: dimensionless Min: 0 Max: 1
Usage of nets by humans, from 0 to 1.
At the moment this is constant across humans and deterministic: relative attractiveness and survival factors are base*(1-usagepropActing) + intervention_factorusage*propActing.
See also "propActing" (proportion of bits for which net acts).
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Rate at which holes are made
→ scenario → interventions → human → component → ITN → holeRate
<holeRate
[ CV=double ]
[ distr=("const" or "lognormal") ] DEFAULT VALUE const
mean=double
/>
Documentation (element)
Units: Holes per annum Min: 0
The rate at which new holes are made in nets.
nHoles(t) = nHoles(t-1) + X where X~Pois(R/T) where T is the number of time-steps per year. R is sampled from log-normal: R ~ log N( log(mean)-sigma²/2, sigma² ) and is covariant with ripRate and insecticideDecay. (To be exact, a single Gaussian sample is taken, adjusted for each sigma then exponentiated.)
Documentation (type)
A parameter with optional log-normal heterogeneity.
The mean value must be specified. Optionally, a distribution ("distr") and coefficient of variation ("CV") may be specified.
Documentation (base type)
A parameter with optional heterogeneity.
The mean cannot be specified (unless this type is extended). Optionally, a distribution ("distr") and coefficient of variation ("CV") may be specified.
Attributes
Coefficient of variation
CV=double
Units: unitless
The (linear) coefficient of variation. This value must be specified when a (non-constant) distribution is used. Note that specifying CV="0" has the same effect as distr="const" and disables sampling of this parameter, even if distr is not "const".
Distribution
distr=("const" or "lognormal")
Default value: const
To allow heterogeneity, a distribution must be specified. Valid options are as follows. "const": no variation or sampling. Specifying distr="const" has the same effect as not specifying distr at all. "lognormal": the parameter is sampled from a log-normal distribution. Note that the "mean" and "CV" values are linear (arithmetic) properties of the distribution and not log-space properties.
mean
mean=double
The (linear) mean value.
Rate at which holes are enlarged
→ scenario → interventions → human → component → ITN → ripRate
<ripRate
[ CV=double ]
[ distr=("const" or "lognormal") ] DEFAULT VALUE const
mean=double
/>
Documentation (element)
Units: Rips per existing hole per annum Min: 0
Each existing hole has a probability of being ripped bigger according to a Poisson process with this rate as (only) parameter.
New rips occur in a net at rate X~Pois(h×R/T) where h is the number of existing holes and T the number of time-steps per year. R is sampled from log-normal: R ~ log N( log(mean)-sigma²/2, sigma² ) and is covariant with holeRate and insecticideDecay. (To be exact, a single Gaussian sample is taken, adjusted for the each and sigma then exponentiated.)
Documentation (type)
A parameter with optional log-normal heterogeneity.
The mean value must be specified. Optionally, a distribution ("distr") and coefficient of variation ("CV") may be specified.
Documentation (base type)
A parameter with optional heterogeneity.
The mean cannot be specified (unless this type is extended). Optionally, a distribution ("distr") and coefficient of variation ("CV") may be specified.
Attributes
Coefficient of variation
CV=double
Units: unitless
The (linear) coefficient of variation. This value must be specified when a (non-constant) distribution is used. Note that specifying CV="0" has the same effect as distr="const" and disables sampling of this parameter, even if distr is not "const".
Distribution
distr=("const" or "lognormal")
Default value: const
To allow heterogeneity, a distribution must be specified. Valid options are as follows. "const": no variation or sampling. Specifying distr="const" has the same effect as not specifying distr at all. "lognormal": the parameter is sampled from a log-normal distribution. Note that the "mean" and "CV" values are linear (arithmetic) properties of the distribution and not log-space properties.
mean
mean=double
The (linear) mean value.
Rip factor
→ scenario → interventions → human → component → ITN → ripFactor
<ripFactor
value=double
/>
Documentation (element)
Units: none Min: 0
This factor expresses how important rips are in increasing the hole.
The hole index of a net is h + F×x where h and x are the total numbers of holes and rips respectively and F is the rip factor.
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Initial insecticide
→ scenario → interventions → human → component → ITN → initialInsecticide
<initialInsecticide
mean=double
[ SD=double ]
[ distr=("const" or "normal") ] DEFAULT VALUE const
/>
Documentation (element)
Units: mg/m² Min: 0
The insecticide concentration of new nets is Gaussian distributed with mean "mu" and a standard deviation "sigma". The standard deviation should be small relative to the mean to avoid negative initial concentration. Any negative values sampled are set to 0.
Documentation (type)
A parameter with optional heterogeneity.
Optionally, a distribution ("distr") and standard of deviation ("SD") may be specified.
Attributes
mean
mean=double
The mean value.
standard deviation
SD=double
The standard deviation of variates.
Distribution
distr=("const" or "normal")
Default value: const
To allow heterogeneity, a distribution must be specified. Valid options are as follows. "const": no variation or sampling. Specifying distr="const" has the same effect as not specifying distr at all. "normal": the parameter is sampled from a normal distribution.
Decay of insecticide
→ scenario → interventions → human → component → ITN → insecticideDecay
<insecticideDecay
function=("constant" or "step" or "linear" or "exponential" or "weibull" or "hill" or "smooth-compact")
[ L=string ]
[ k=double ] DEFAULT VALUE 1.0
[ CV=double ] DEFAULT VALUE 0
/>
Documentation (element)
Units: none
Decay curve for insecticide content of nets. Documentation: see DecayFunction type or https://github.com/SwissTPH/openmalaria/wiki/ModelDecayFunctions
The distribution of decay rates over nets is covariant with the distribution of ripRate and holeRate over nets. This distribution is generated by taking one sample per net from a Gaussian distribution with mean 0 and standard deviation 1. For each variable, the sample is multiplied by the respective sigma and a constant added such that, once exponentiated, the mean of the variable over nets is 1. The variable is then exponentiated and multiplied by the required mean rate for the respective variable.
Documentation (type)
Specification of decay or survival of a parameter.
Attributes
function
function=("constant" or "step" or "linear" or "exponential" or "weibull" or "hill" or "smooth-compact")
Units: None Min: 0 Max: 1
Determines which decay function to use. Available decay functions, for age t in years: constant: 1 step: 1 for t less than L, otherwise 0 linear: 1 - t/L for t less than L, otherwise 0 exponential: exp( - t/L * log(2) ) weibull: exp( -(t/L)^k * log(2) ) hill: 1 / (1 + (t/L)^k) smooth-compact: exp( k - k / (1 - (t/L)^2) ) for t less than L, otherwise 0
L
L=string
Units: User-defined (defaults to years) Min: 0
(Time) scale parameter of distribution: this is either the age of complete decay (smooth-compact, step and linear functions) or the age at which the parameter has decayed to half its original value (exponential, weibull and hill). Not used when function="constant" (i.e. no decay). This value can be specified in years, days or steps (e.g. 2y, 180d or 100t). When the unit is not specified years are assumed. The value is used without rounding except when sampling an age of decay, when the rounding happens as late as possible.
k
k=double
Units: none Min: 0
Default value: 1.0
Shape parameter of distribution. If not specified, default value of 1 is used. Meaning depends on function; not used in some cases.
Coefficient of Variation
CV=double
Min: 0
Default value: 0
If CV is non-zero, heterogeneity of decay is introduced via a random variable sampled from the log-normal distribution. This distribution is parameterised with mean=1 and CV as given. The effective age of decay is the real age multiplied by this variable (for decay functions with a half-life, this is equivalent to dividing the half-life by the variable).
Attrition of nets
→ scenario → interventions → human → component → ITN → attritionOfNets
<attritionOfNets
function=("constant" or "step" or "linear" or "exponential" or "weibull" or "hill" or "smooth-compact")
[ L=string ]
[ k=double ] DEFAULT VALUE 1.0
[ CV=double ] DEFAULT VALUE 0
/>
Documentation (element)
Units: dimensionless
Specifies the rate at which nets are disposed of over time. Documentation: see DecayFunction type or https://github.com/SwissTPH/openmalaria/wiki/ModelDecayFunctions
In the current model, nets are disposed of randomly (no correlation with state of decay) such that the chance of each net surviving until age t is the value of this decay function at time t. Equivalently (where a large number of nets are distributed at the same time), the proportion of nets remaining in use should match this decay function over time.
Humans are removed from the intervention component's sub-population on disposal (attrition) of their nets. Currently this event is not reported.
Documentation (type)
Specification of decay or survival of a parameter.
Attributes
function
function=("constant" or "step" or "linear" or "exponential" or "weibull" or "hill" or "smooth-compact")
Units: None Min: 0 Max: 1
Determines which decay function to use. Available decay functions, for age t in years: constant: 1 step: 1 for t less than L, otherwise 0 linear: 1 - t/L for t less than L, otherwise 0 exponential: exp( - t/L * log(2) ) weibull: exp( -(t/L)^k * log(2) ) hill: 1 / (1 + (t/L)^k) smooth-compact: exp( k - k / (1 - (t/L)^2) ) for t less than L, otherwise 0
L
L=string
Units: User-defined (defaults to years) Min: 0
(Time) scale parameter of distribution: this is either the age of complete decay (smooth-compact, step and linear functions) or the age at which the parameter has decayed to half its original value (exponential, weibull and hill). Not used when function="constant" (i.e. no decay). This value can be specified in years, days or steps (e.g. 2y, 180d or 100t). When the unit is not specified years are assumed. The value is used without rounding except when sampling an age of decay, when the rounding happens as late as possible.
k
k=double
Units: none Min: 0
Default value: 1.0
Shape parameter of distribution. If not specified, default value of 1 is used. Meaning depends on function; not used in some cases.
Coefficient of Variation
CV=double
Min: 0
Default value: 0
If CV is non-zero, heterogeneity of decay is introduced via a random variable sampled from the log-normal distribution. This distribution is parameterised with mean=1 and CV as given. The effective age of decay is the real age multiplied by this variable (for decay functions with a half-life, this is equivalent to dividing the half-life by the variable).
anophelesParams
→ scenario → interventions → human → component → ITN → anophelesParams
<anophelesParams
mosquito=string
[ propActive=double ] DEFAULT VALUE 1
>
IN THIS ORDER:
| [ <holeIndexMax ... /> ]
| EXACTLY ONE OF:
| | <deterrency ... />
| | <twoStageDeterrency ... />
| EXACTLY ONE OF:
| | <preprandialKillingEffect ... />
| | <preprandialKillingEffectLogit ... />
| EXACTLY ONE OF:
| | <postprandialKillingEffect ... />
| | <postprandialKillingEffectLogit ... />
| EXACTLY ONE OF:
| | [ <fecundityReduction ... /> ]
| | [ <fecundityReductionLogit ... /> ]
</anophelesParams>
- holeIndexMax
- deterrency
- twoStageDeterrency
- preprandialKillingEffect
- preprandialKillingEffectLogit
- postprandialKillingEffect
- postprandialKillingEffectLogit
- fecundityReduction
- fecundityReductionLogit
Attributes
Mosquito species
mosquito=string
Name of the affected anopheles-mosquito species.
Proportion of bites for which net acts
propActive=double
Units: dimensionless Min: 0 Max: 1
Default value: 1
The proportion of bites, when nets are in use, for which the net has any action whatsoever on the mosquito. At the moment this is constant across humans and deterministic: relative attractiveness and survival factors are base*(1-usagepropActing) + intervention_factorusage*propActing. See also "usage" (proportion of time nets are used by humans).
maximum of holed surface area that has an effect (comparable to no net)
→ scenario → interventions → human → component → ITN → anophelesParams → holeIndexMax
<holeIndexMax
value=double
/>
Documentation (element)
Units: in same unit as holeIndex
Used by logit attacking and killing models only, holeIndexMax is a user defined maximum hole index (typically, the total surface area of a net).
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Relative attractiveness
→ scenario → interventions → human → component → ITN → anophelesParams → deterrency
<deterrency
insecticideFactor=double
insecticideScalingFactor=double
holeFactor=double
interactionFactor=double
holeScalingFactor=double
/>
Documentation (element)
Units: dimensionless Min: 0 Max: 1
Effect of net on attractiveness of humans to mosquitoes relative to an unprotected adult human. Parameterisations should take into account that mosquitoes do not always bite indoors.
Attractiveness of the human is multiplied by exp(log(H)×h + log(P)×p + log(I)×h×p where H, P and I are the hole, insecticide and interaction factors respectively, h=exp(-holeIndex×holeScalingFactor) and p=1−exp(-insecticideContent×insecticideScalingFactor).
Attributes
Insecticide factor
insecticideFactor=double
Units: none Max: 1
Value expected to be at least 0. Negative values are not necessarily invalid, but allow nets to increase transmission.
Insecticide scaling factor
insecticideScalingFactor=double
Units: none Min: 0
Hole factor
holeFactor=double
Units: none Max: 1
Value expected to be at least 0. Negative values are not necessarily invalid, but allow nets to increase transmission.
Interaction factor
interactionFactor=double
Units: none Max: 1
holeFactor + insecticideFactor + interactionFactor must not be greater than 1, and is expected to be at least 0. A negative value is not necessarily invalid, but allows nets to increase transmission.
Hole scaling factor
holeScalingFactor=double
Units: none Min: 0
Relative attractiveness
→ scenario → interventions → human → component → ITN → anophelesParams → twoStageDeterrency
<twoStageDeterrency>
IN THIS ORDER:
| EXACTLY ONE OF:
| | <entering ... />
| | <enteringLogit ... />
| EXACTLY ONE OF:
| | <attacking ... />
| | <attackingLogit ... />
</twoStageDeterrency>
Documentation (element)
Units: dimensionless
Effect of net on attractiveness of humans to mosquitoes relative to an unprotected adult human. Parameterisations should take into account that mosquitoes do not always bite indoors.
This deterrency model multiplies human attractiveness by pEnt×pAtt.
Deterrency: entering
→ scenario → interventions → human → component → ITN → anophelesParams → twoStageDeterrency → entering
<entering
insecticideFactor=double
insecticideScalingFactor=double
/>
Documentation (element)
Units: dimensionless
pEnt represents the relative probability of entering due to ITNs: pEnt = exp(log(P)×p) where P is the insecticide factor and p=1−exp(-insecticideContent×insecticideScalingFactor).
Attributes
Insecticide factor
insecticideFactor=double
Units: none Max: 1
Value expected to be at least 0. Negative values are not necessarily invalid, but allow nets to increase transmission.
Insecticide scaling factor
insecticideScalingFactor=double
Units: none Min: 0
Deterrency: entering (logit model)
→ scenario → interventions → human → component → ITN → anophelesParams → twoStageDeterrency → enteringLogit
<enteringLogit
baseFactor=double
insecticideFactor=double
/>
Documentation (element)
Units: dimensionless
pEnt represents the relative probability of entering due to insecticide in the hut: pEnt = exp(logit.pEnt) / (exp(logit.pEnt) + 1) logit.pEnt = B + P * p where B is the basefactor (without net); P is insecticide factor, and p = log(insecticideContent+1). Without a net, probability of entering a house is pEnt0 = exp(logit.pEnt0) / (exp(logit.pEnt0) + 1) logit.pEnt0 = B Entering of mosquitoes is adjusted via multiplication by pEnt / pEnt0. To keep this in the range [0,1], we (normally) require that pEnt ≤ pEnt0 and thus P ≤ 0 and give a warning if this is not fulfilled.
Attributes
Base factor
baseFactor=double
Units: none
See parent element documentation
Insecticide factor
insecticideFactor=double
Units: none
See parent element documentation
Deterrency: attacking
→ scenario → interventions → human → component → ITN → anophelesParams → twoStageDeterrency → attacking
<attacking
insecticideFactor=double
insecticideScalingFactor=double
holeFactor=double
interactionFactor=double
holeScalingFactor=double
baseFactor=double
/>
Documentation (element)
Units: dimensionless
pAtt represents the relative probability of attacking a human after entering a house due to ITNs (i.e. of feeding/dying vs. flying off): pAtt = B + H×h + P×p + I×h×p where B is the base (without net) probability; H, P and I are the hole, insecticide and interaction factors respectively, h=exp(-holeIndex × holeScalingFactor) and p=1 - exp(-insecticideContent × insecticideScalingFactor).
Attributes
Insecticide factor
insecticideFactor=double
Units: none Max: 1
Value expected to be at least 0. Negative values are not necessarily invalid, but allow nets to increase transmission.
Insecticide scaling factor
insecticideScalingFactor=double
Units: none Min: 0
Hole factor
holeFactor=double
Units: none Max: 1
Value expected to be at least 0. Negative values are not necessarily invalid, but allow nets to increase transmission.
Interaction factor
interactionFactor=double
Units: none Max: 1
holeFactor + insecticideFactor + interactionFactor must not be greater than 1, and is expected to be at least 0. A negative value is not necessarily invalid, but allows nets to increase transmission.
Hole scaling factor
holeScalingFactor=double
Units: none Min: 0
Probability of mosquito death without intervention
baseFactor=double
Units: dimensionless
Deterrency: attacking (logit model)
→ scenario → interventions → human → component → ITN → anophelesParams → twoStageDeterrency → attackingLogit
<attackingLogit
baseFactor=double
insecticideFactor=double
holeFactor=double
interactionFactor=double
/>
Documentation (element)
Units: dimensionless
pAtt represents the relative probability of attacking a human after entering a house due to ITNs (i.e. of feeding/dying vs. flying off): pAtt = exp(logit.pAtt) / (exp(logit.pAtt) + 1) logit.pAtt = B + H×min(h, hMax) + P×p + I×min(h, hMax)×p where B is the base factor (without net); H, P and I are the hole, insecticide and interaction factors respectively, and: h = log(holeIndex + 1) p = log(insecticideContent + 1) Without a net, probability of attacking a human after entering a house is pAtt0 = exp(logit.pAtt0) / (exp(logit.pAtt0) + 1) logit.pAtt0 = B + H×hMax where hMax=log(holeIndexMax + 1) and holeIndexMax is a user defined maximum hole index (typically, the total surface area of a net). Attacking of mosquitoes is adjusted via multiplication by pAtt / pAtt0. This may be larger and smaller than 1 (but will not be negative). By definition (through the logit transformation) pAtt0 > 0.
Attributes
Base factor
baseFactor=double
Units: dimensionless
Logit of the probability (e.g. of death, of entry, of attacking) without intervention.
Insecticide factor
insecticideFactor=double
Units: none
Coefficient of log(insecticide content+1) in a generalized linear model with logit link function.
Hole factor
holeFactor=double
Units: none
Coefficient of log(total holed surface area (in cm2) +1) in a generalized linear model with logit link function.
Interaction factor
interactionFactor=double
Units: none
Coefficient of the interaction term of log(total holed surface area (in cm2) +1) with log(insecticide content+1) in a generalized linear model with logit link function.
Pre-prandial killing effect
→ scenario → interventions → human → component → ITN → anophelesParams → preprandialKillingEffect
<preprandialKillingEffect
insecticideFactor=double
insecticideScalingFactor=double
holeFactor=double
interactionFactor=double
holeScalingFactor=double
baseFactor=double
/>
Documentation (element)
Units: dimensionless Min: 0 Max: 1
Effect of net on survival mosquitoes as they seek to bite a human after choosing that human, relative to the same person not sleeping under a net. Parameterisations should take into account that mosquitoes do not always bite indoors.
Killing proportion is calculated as K = B + H×h + P×p + I×h×p where B is the base (without net) probability of death, H, P and I are the hole, insecticide and interaction factors respectively, h=exp(-holeIndex×holeScalingFactor) and p=1−exp(-insecticideContent×insecticideScalingFactor).
Survival of mosquitoes is adjusted via multiplication by (1−K) / (1−B). To keep this in the range [0,1], we require that B+H ≤ 1, B+P ≤ 1, B+H+P+I ≤ 1, H ≥ 0, P ≥ 0 and H+P+I ≥ 0.
Attributes
Insecticide factor
insecticideFactor=double
Units: none Max: 1
Value expected to be at least 0. Negative values are not necessarily invalid, but allow nets to increase transmission.
Insecticide scaling factor
insecticideScalingFactor=double
Units: none Min: 0
Hole factor
holeFactor=double
Units: none Max: 1
Value expected to be at least 0. Negative values are not necessarily invalid, but allow nets to increase transmission.
Interaction factor
interactionFactor=double
Units: none Max: 1
holeFactor + insecticideFactor + interactionFactor must not be greater than 1, and is expected to be at least 0. A negative value is not necessarily invalid, but allows nets to increase transmission.
Hole scaling factor
holeScalingFactor=double
Units: none Min: 0
Probability of mosquito death without intervention
baseFactor=double
Units: dimensionless
Pre-prandial killing effect (logit)
→ scenario → interventions → human → component → ITN → anophelesParams → preprandialKillingEffectLogit
<preprandialKillingEffectLogit
baseFactor=double
insecticideFactor=double
holeFactor=double
interactionFactor=double
/>
Documentation (element)
Units: dimensionless Min: 0 Max: 1
Effect of net on survival mosquitoes as they seek to bite a human
after choosing that human, relative to the same person not
sleeping under a net.
Killing proportion is calculated as
K=exp(logit.K)/(exp(logit.K)+1)
logit.K = B + H×min(h,hMax) + P×p + I×min(h,hMax)×p
where B is the basefactor (without net),
H, P and I are the hole, insecticide and interaction factors
respectively, h=log(holeIndex+1) and
p=log(insecticideContent+1).
Without a net, the killing proportion
K0=exp(logit.K0)/(exp(logit.K0)+1)
logit.K0 = B + H×hMax
where hMax=log(holeIndexMax+1) and holeIndexMax is a user defined maximum hole index (typically, the total surface area of a net).
Survival of mosquitoes is adjusted via multiplication by (1−K) / (1−K0).
To keep this in the range [0,1], we require that K ≥ K0. We enforce that P ≥ 0 (It would not make sense biologically if P were negative) and P+I*hMax ≥ 0 and H ≤ 0 and holeIndex ≤ holeIndexMax and give a warning if these conditions are not fulfilled.
Attributes
Base factor
baseFactor=double
Units: dimensionless
Logit of the probability (e.g. of death, of entry, of attacking) without intervention.
Insecticide factor
insecticideFactor=double
Units: none
Coefficient of log(insecticide content+1) in a generalized linear model with logit link function.
Hole factor
holeFactor=double
Units: none
Coefficient of log(total holed surface area (in cm2) +1) in a generalized linear model with logit link function.
Interaction factor
interactionFactor=double
Units: none
Coefficient of the interaction term of log(total holed surface area (in cm2) +1) with log(insecticide content+1) in a generalized linear model with logit link function.
Post-prandial killing effect
→ scenario → interventions → human → component → ITN → anophelesParams → postprandialKillingEffect
<postprandialKillingEffect
insecticideFactor=double
insecticideScalingFactor=double
holeFactor=double
interactionFactor=double
holeScalingFactor=double
baseFactor=double
/>
Documentation (element)
Units: dimensionless Min: 0 Max: 1
Effect of net on survival mosquitoes as they seek to escape from a human host and rest after a blood meal, relative to the same person not sleeping under a net. Parameterisations should take into account that mosquitoes do not always bite indoors.
Killing proportion is calculated as K = B + H×h + P×p + I×h×p where B is the base (without net) probability of death, H, P and I are the hole, insecticide and interaction factors respectively, h=exp(-holeIndex×holeScalingFactor) and p=1−exp(-insecticideContent×insecticideScalingFactor).
Survival of mosquitoes is adjusted via multiplication by (1−K) / (1−B). To keep this in the range [0,1], we require that B+H ≤ 1, B+P ≤ 1, B+H+P+I ≤ 1, H ≥ 0, P ≥ 0 and H+P+I ≥ 0.
Attributes
Insecticide factor
insecticideFactor=double
Units: none Max: 1
Value expected to be at least 0. Negative values are not necessarily invalid, but allow nets to increase transmission.
Insecticide scaling factor
insecticideScalingFactor=double
Units: none Min: 0
Hole factor
holeFactor=double
Units: none Max: 1
Value expected to be at least 0. Negative values are not necessarily invalid, but allow nets to increase transmission.
Interaction factor
interactionFactor=double
Units: none Max: 1
holeFactor + insecticideFactor + interactionFactor must not be greater than 1, and is expected to be at least 0. A negative value is not necessarily invalid, but allows nets to increase transmission.
Hole scaling factor
holeScalingFactor=double
Units: none Min: 0
Probability of mosquito death without intervention
baseFactor=double
Units: dimensionless
Post-prandial killing effect (logit)
→ scenario → interventions → human → component → ITN → anophelesParams → postprandialKillingEffectLogit
<postprandialKillingEffectLogit
baseFactor=double
insecticideFactor=double
holeFactor=double
interactionFactor=double
/>
Documentation (element)
Units: dimensionless Min: 0 Max: 1
Effect of net on survival mosquitoes as they seek to escape from a human host and rest after a blood meal, relative to the same person not sleeping under a net. Killing proportion is calculated as K=exp(logit.K)/(exp(logit.K)+1) logit.K = B + H×min(h,hMax) + P×p + I×min(h,hMax)×p where B is the basefactor (without net), H, P and I are the hole, insecticide and interaction factors respectively, h=log(holeIndex+1) and p=log(insecticideContent+1). Without a net, the killing proportion K0=exp(logit.K0)/(exp(logit.K0)+1) logit.K0 = B + H×hMax where hMax=log(holeIndexMax+1) and holeIndexMax is a user defined maximum hole index (typically, the total surface area of a net). Survival of mosquitoes is adjusted via multiplication by (1−K) / (1−K0). To keep this in the range [0,1], we require that K ≥ K0. We enforce that P ≥ 0 (It would not make sense biologically if P were negative) and P+I*hMax ≥ 0 and H ≤ 0 and holeIndex ≤ holeIndexMax and give a warning if these conditions are not fulfilled.
Attributes
Base factor
baseFactor=double
Units: dimensionless
Logit of the probability (e.g. of death, of entry, of attacking) without intervention.
Insecticide factor
insecticideFactor=double
Units: none
Coefficient of log(insecticide content+1) in a generalized linear model with logit link function.
Hole factor
holeFactor=double
Units: none
Coefficient of log(total holed surface area (in cm2) +1) in a generalized linear model with logit link function.
Interaction factor
interactionFactor=double
Units: none
Coefficient of the interaction term of log(total holed surface area (in cm2) +1) with log(insecticide content+1) in a generalized linear model with logit link function.
Fecundity reduction
→ scenario → interventions → human → component → ITN → anophelesParams → fecundityReduction
<fecundityReduction
insecticideFactor=double
insecticideScalingFactor=double
holeFactor=double
interactionFactor=double
holeScalingFactor=double
baseFactor=double
/>
Documentation (element)
Effect of net on fertility of mosquitoes who survive feeding on a protected human, relative to an unprotected human.
Fertility (number of eggs laid) is multiplied by (1-K) / (1-B), similar to killing effects. This is not allowed to be greater than 1.
Attributes
Insecticide factor
insecticideFactor=double
Units: none Max: 1
Value expected to be at least 0. Negative values are not necessarily invalid, but allow nets to increase transmission.
Insecticide scaling factor
insecticideScalingFactor=double
Units: none Min: 0
Hole factor
holeFactor=double
Units: none Max: 1
Value expected to be at least 0. Negative values are not necessarily invalid, but allow nets to increase transmission.
Interaction factor
interactionFactor=double
Units: none Max: 1
holeFactor + insecticideFactor + interactionFactor must not be greater than 1, and is expected to be at least 0. A negative value is not necessarily invalid, but allows nets to increase transmission.
Hole scaling factor
holeScalingFactor=double
Units: none Min: 0
Probability of mosquito death without intervention
baseFactor=double
Units: dimensionless
Fecundity reduction (logit)
→ scenario → interventions → human → component → ITN → anophelesParams → fecundityReductionLogit
<fecundityReductionLogit
baseFactor=double
insecticideFactor=double
holeFactor=double
interactionFactor=double
/>
Documentation (element)
Effect of net on fertility of mosquitoes who survive feeding on a protected human, relative to an unprotected human.
Fertility (number of eggs laid) is multiplied by (1-K) / (1-K0), similar to killing effects. This is not allowed to be greater than 1.
Attributes
Base factor
baseFactor=double
Units: dimensionless
Logit of the probability (e.g. of death, of entry, of attacking) without intervention.
Insecticide factor
insecticideFactor=double
Units: none
Coefficient of log(insecticide content+1) in a generalized linear model with logit link function.
Hole factor
holeFactor=double
Units: none
Coefficient of log(total holed surface area (in cm2) +1) in a generalized linear model with logit link function.
Interaction factor
interactionFactor=double
Units: none
Coefficient of the interaction term of log(total holed surface area (in cm2) +1) with log(insecticide content+1) in a generalized linear model with logit link function.
Indoor residual spraying
→ scenario → interventions → human → component → IRS
<IRS>
IN THIS ORDER:
| [ <usage ... /> ]
| <initialInsecticide ... />
| <insecticideDecay ... />
| ( <anophelesParams ... /> )+
</IRS>
Documentation (element)
Description of indoor residual spraying interventions.
Documentation (type)
Description of effect for the more complex and probably more realistic Briet model: IRS has three effects, whos strength is calculated as a function of surviving insecticide content.
Proportion of Indoor residual spraying (IRS) interventions
→ scenario → interventions → human → component → IRS → usage
<usage
value=double
/>
Documentation (element)
Units: dimensionless Min: 0 Max: 1
Usage of Indoor residual spraying (IRS) interventions, from 0 to 1.
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Initial insecticide
→ scenario → interventions → human → component → IRS → initialInsecticide
<initialInsecticide
mean=double
[ SD=double ]
[ distr=("const" or "normal") ] DEFAULT VALUE const
/>
Documentation (element)
Units: μg/cm² Min: 0
The insecticide concentration of IRS (at time of spraying) is Gaussian distributed with mean "mu" and a standard deviation "sigma". The standard deviation should be small relative to the mean to avoid negative initial concentration. Any negative values sampled are set to 0.
Documentation (type)
A parameter with optional heterogeneity.
Optionally, a distribution ("distr") and standard of deviation ("SD") may be specified.
Attributes
mean
mean=double
The mean value.
standard deviation
SD=double
The standard deviation of variates.
Distribution
distr=("const" or "normal")
Default value: const
To allow heterogeneity, a distribution must be specified. Valid options are as follows. "const": no variation or sampling. Specifying distr="const" has the same effect as not specifying distr at all. "normal": the parameter is sampled from a normal distribution.
Decay of insecticide
→ scenario → interventions → human → component → IRS → insecticideDecay
<insecticideDecay
function=("constant" or "step" or "linear" or "exponential" or "weibull" or "hill" or "smooth-compact")
[ L=string ]
[ k=double ] DEFAULT VALUE 1.0
[ CV=double ] DEFAULT VALUE 0
/>
Documentation (element)
Units: none
Decay curve for insecticide content of IRS. Documentation: see DecayFunction type or https://github.com/SwissTPH/openmalaria/wiki/ModelDecayFunctions
Documentation (type)
Specification of decay or survival of a parameter.
Attributes
function
function=("constant" or "step" or "linear" or "exponential" or "weibull" or "hill" or "smooth-compact")
Units: None Min: 0 Max: 1
Determines which decay function to use. Available decay functions, for age t in years: constant: 1 step: 1 for t less than L, otherwise 0 linear: 1 - t/L for t less than L, otherwise 0 exponential: exp( - t/L * log(2) ) weibull: exp( -(t/L)^k * log(2) ) hill: 1 / (1 + (t/L)^k) smooth-compact: exp( k - k / (1 - (t/L)^2) ) for t less than L, otherwise 0
L
L=string
Units: User-defined (defaults to years) Min: 0
(Time) scale parameter of distribution: this is either the age of complete decay (smooth-compact, step and linear functions) or the age at which the parameter has decayed to half its original value (exponential, weibull and hill). Not used when function="constant" (i.e. no decay). This value can be specified in years, days or steps (e.g. 2y, 180d or 100t). When the unit is not specified years are assumed. The value is used without rounding except when sampling an age of decay, when the rounding happens as late as possible.
k
k=double
Units: none Min: 0
Default value: 1.0
Shape parameter of distribution. If not specified, default value of 1 is used. Meaning depends on function; not used in some cases.
Coefficient of Variation
CV=double
Min: 0
Default value: 0
If CV is non-zero, heterogeneity of decay is introduced via a random variable sampled from the log-normal distribution. This distribution is parameterised with mean=1 and CV as given. The effective age of decay is the real age multiplied by this variable (for decay functions with a half-life, this is equivalent to dividing the half-life by the variable).
Per-mosquito species parameters
→ scenario → interventions → human → component → IRS → anophelesParams
<anophelesParams
mosquito=string
[ propActive=double ] DEFAULT VALUE 1
>
IN THIS ORDER:
| <deterrency ... />
| <preprandialKillingEffect ... />
| <postprandialKillingEffect ... />
| [ <fecundityReduction ... /> ]
</anophelesParams>
Attributes
Mosquito species
mosquito=string
Name of the affected anopheles-mosquito species.
Proportion of bites for which IRS acts
propActive=double
Units: dimensionless Min: 0 Max: 1
Default value: 1
The proportion of bites for which the IRS has any action whatsoever on the mosquito. At the moment this is constant across humans and deterministic: relative attractiveness and survival factors are base*(1-propActing) + intervention_factor*propActing.
Relative attractiveness
→ scenario → interventions → human → component → IRS → anophelesParams → deterrency
<deterrency
insecticideFactor=double
insecticideScalingFactor=double
/>
Documentation (element)
Units: dimensionless Min: 0 Max: 1
Effect of IRS on attractiveness of humans to mosquitoes relative to an unprotected adult human. Parameterisations should take into account that mosquitoes do not always bite indoors.
Attractiveness of the human is multiplied by exp(P×log(p)) where P is the insecticide factor, p=1−exp(-insecticideContent×insecticideScalingFactor).
Attributes
Insecticide factor
insecticideFactor=double
Units: none Max: 1
Value expected to be at least 0. Negative values are not necessarily invalid, but allow nets to increase transmission.
Insecticide scaling factor
insecticideScalingFactor=double
Units: none Min: 0
Pre-prandial killing effect
→ scenario → interventions → human → component → IRS → anophelesParams → preprandialKillingEffect
<preprandialKillingEffect
insecticideFactor=double
insecticideScalingFactor=double
baseFactor=double
/>
Documentation (element)
Units: dimensionless Min: 0 Max: 1
Effect of IRS on survival mosquitoes as they seek to bite a human after choosing that human, relative to the same person not protected by IRS. Parameterisations should take into account that mosquitoes do not always bite indoors. This parameter has been added since some data shows IRS to have a preprandial killing effect.
Killing proportion is calculated as K = B + P×p where B is the base (without protection) probability of death, and P is the insecticide factor, p=1−exp(-insecticideContent×insecticideScalingFactor).
Survival of mosquitoes is adjusted via multiplication by (1−K) / (1−B). To keep this in the range [0,1], we require that B+P ≤ 1 and P ≥ 0.
Attributes
Insecticide factor
insecticideFactor=double
Units: none Max: 1
Value expected to be at least 0. Negative values are not necessarily invalid, but allow nets to increase transmission.
Insecticide scaling factor
insecticideScalingFactor=double
Units: none Min: 0
Probability of mosquito death without intervention
baseFactor=double
Units: dimensionless
Post-prandial killing effect
→ scenario → interventions → human → component → IRS → anophelesParams → postprandialKillingEffect
<postprandialKillingEffect
insecticideFactor=double
insecticideScalingFactor=double
baseFactor=double
/>
Documentation (element)
Units: dimensionless Min: 0 Max: 1
Effect of IRS on survival mosquitoes as they seek to escape from a human host and rest after a blood meal, relative to the same person not protected by IRS. Parameterisations should take into account that mosquitoes do not always bite indoors.
Killing proportion is calculated as K = B + P×p where B is the base (without protection) probability of death, and P is the insecticide factor, p=1−exp(-insecticideContent×insecticideScalingFactor).
Survival of mosquitoes is adjusted via multiplication by (1−K) / (1−B). To keep this in the range [0,1], we require that B+P ≤ 1 and P ≥ 0.
Attributes
Insecticide factor
insecticideFactor=double
Units: none Max: 1
Value expected to be at least 0. Negative values are not necessarily invalid, but allow nets to increase transmission.
Insecticide scaling factor
insecticideScalingFactor=double
Units: none Min: 0
Probability of mosquito death without intervention
baseFactor=double
Units: dimensionless
Fecundity reduction
→ scenario → interventions → human → component → IRS → anophelesParams → fecundityReduction
<fecundityReduction
insecticideFactor=double
insecticideScalingFactor=double
baseFactor=double
/>
Documentation (element)
Effect of IRS on fertility mosquitoes after successfully feeding on a human host, relative to an unproteced human. Parameterisations should take into account that mosquitoes do not always bite indoors.
First, we calculate K = B + P×p where B is the base (without protection) probability of death, and P is the insecticide factor, p=1−exp(-insecticideContent×insecticideScalingFactor).
Fecundity is multiplied by (1−K) / (1−B). It is not allowed to be greater than 1. To keep this in the range [0,1], we require that B+P ≤ 1 and P ≥ 0.
Attributes
Insecticide factor
insecticideFactor=double
Units: none Max: 1
Value expected to be at least 0. Negative values are not necessarily invalid, but allow nets to increase transmission.
Insecticide scaling factor
insecticideScalingFactor=double
Units: none Min: 0
Probability of mosquito death without intervention
baseFactor=double
Units: dimensionless
Generic vector intervention
→ scenario → interventions → human → component → GVI
<GVI>
IN THIS ORDER:
| [ <usage ... /> ]
| <decay ... />
| ( <anophelesParams ... /> )+
</GVI>
Documentation (element)
Low-level description of intervention effects on vectors (i.e. mosquitoes). Can be used to describe simple ITN or IRS interventions (though more complex models are available for these interventions) or other interventions such as mosquito repellant or ivermectin.
Note that all actions of this intervention component will decay according to a single decay function. If independant decay is wanted, a separate component can be used for each action.
Proportion of generic vector interventions
→ scenario → interventions → human → component → GVI → usage
<usage
value=double
/>
Documentation (element)
Units: dimensionless Min: 0 Max: 1
Usage of Generic vector interventions, from 0 to 1.
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Decay
→ scenario → interventions → human → component → GVI → decay
<decay
function=("constant" or "step" or "linear" or "exponential" or "weibull" or "hill" or "smooth-compact")
[ L=string ]
[ k=double ] DEFAULT VALUE 1.0
[ CV=double ] DEFAULT VALUE 0
/>
Documentation (element)
Description of decay of all intervention effects. Documentation: see DecayFunction type or https://github.com/SwissTPH/openmalaria/wiki/ModelDecayFunctions
Documentation (type)
Specification of decay or survival of a parameter.
Attributes
function
function=("constant" or "step" or "linear" or "exponential" or "weibull" or "hill" or "smooth-compact")
Units: None Min: 0 Max: 1
Determines which decay function to use. Available decay functions, for age t in years: constant: 1 step: 1 for t less than L, otherwise 0 linear: 1 - t/L for t less than L, otherwise 0 exponential: exp( - t/L * log(2) ) weibull: exp( -(t/L)^k * log(2) ) hill: 1 / (1 + (t/L)^k) smooth-compact: exp( k - k / (1 - (t/L)^2) ) for t less than L, otherwise 0
L
L=string
Units: User-defined (defaults to years) Min: 0
(Time) scale parameter of distribution: this is either the age of complete decay (smooth-compact, step and linear functions) or the age at which the parameter has decayed to half its original value (exponential, weibull and hill). Not used when function="constant" (i.e. no decay). This value can be specified in years, days or steps (e.g. 2y, 180d or 100t). When the unit is not specified years are assumed. The value is used without rounding except when sampling an age of decay, when the rounding happens as late as possible.
k
k=double
Units: none Min: 0
Default value: 1.0
Shape parameter of distribution. If not specified, default value of 1 is used. Meaning depends on function; not used in some cases.
Coefficient of Variation
CV=double
Min: 0
Default value: 0
If CV is non-zero, heterogeneity of decay is introduced via a random variable sampled from the log-normal distribution. This distribution is parameterised with mean=1 and CV as given. The effective age of decay is the real age multiplied by this variable (for decay functions with a half-life, this is equivalent to dividing the half-life by the variable).
Per-mosquito species parameters
→ scenario → interventions → human → component → GVI → anophelesParams
<anophelesParams
mosquito=string
[ propActive=double ] DEFAULT VALUE 1
>
IN THIS ORDER:
| [ <deterrency ... /> ]
| [ <preprandialKillingEffect ... /> ]
| [ <postprandialKillingEffect ... /> ]
| [ <fecundityReduction ... /> ]
</anophelesParams>
Attributes
Mosquito species
mosquito=string
Name of the affected anopheles-mosquito species.
Proportion of bites for which IRS acts
propActive=double
Units: dimensionless Min: 0 Max: 1
Default value: 1
The proportion of bites for which the IRS has any action whatsoever on the mosquito. At the moment this is constant across humans and deterministic: relative attractiveness and survival factors are base*(1-propActing) + intervention_factor*propActing.
Relative attractiveness
→ scenario → interventions → human → component → GVI → anophelesParams → deterrency
<deterrency
value=double
/>
Documentation (element)
Units: dimensionless Min: 0 Max: 1
Effect of intervention on attractiveness of humans to mosquitoes relative to an unprotected adult human. Parameterisations should take into account that mosquitoes do not always bite indoors.
Attractiveness of the human is multiplied this factor times survival of effect.
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Pre-prandial killing effect
→ scenario → interventions → human → component → GVI → anophelesParams → preprandialKillingEffect
<preprandialKillingEffect
value=double
/>
Documentation (element)
Units: dimensionless Min: 0 Max: 1
Effect of intervention on survival of mosquitoes as they seek to bite a human after choosing that human, relative to the same person not protected by the intervention. Parameterisations should take into account that mosquitoes do not always bite indoors. This parameter has been added since some data shows IRS to have a preprandial killing effect.
Killing proportion is this factor multiplied by survival of effect.
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Post-prandial killing effect
→ scenario → interventions → human → component → GVI → anophelesParams → postprandialKillingEffect
<postprandialKillingEffect
value=double
/>
Documentation (element)
Units: dimensionless Min: 0 Max: 1
Effect of intervention on survival of mosquitoes as they seek to escape from a human host and rest after a blood meal, relative to the same person not protected by the intervention. Parameterisations should take into account that mosquitoes do not always bite indoors.
Killing proportion is this factor multiplied by survival of effect.
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Fecundity reduction effect
→ scenario → interventions → human → component → GVI → anophelesParams → fecundityReduction
<fecundityReduction
value=double
/>
Documentation (element)
Min: 0
Effect of intervention on fertility mosquitoes after successfully feeding on a human host, relative to an unproteced human. Parameterisations should take into account that mosquitoes do not always bite indoors.
Fertility is multiplied by 1 - (fecundityReduction * decay).
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Recruitment only
→ scenario → interventions → human → component → recruitmentOnly
<recruitmentOnly/>
Documentation (element)
Recruitment of a host into a sub-population.
All human-targeting intervention deployments recruit simulated humans into a sub-population which can be used for the purposes of cumulative deployment, deployment only to a sub-population and defining a cohort. This pseudo-intervention can be used to define a sub-population without also deploying some intervention.
Clear Immunity
→ scenario → interventions → human → component → clearImmunity
<clearImmunity/>
Documentation (element)
Removes all exposure-related immunitsy gained over time by hosts without removing infections (or affecting the ability to gain immunity through exposure).
Hypothetical, but potentially useful to simulate scenarios with unprotected humans.
subPopRemoval
→ scenario → interventions → human → component → subPopRemoval
<subPopRemoval
[ onFirstBout=boolean ] DEFAULT VALUE false
[ onFirstTreatment=boolean ] DEFAULT VALUE false
[ onFirstInfection=boolean ] DEFAULT VALUE false
[ afterYears=double ]
/>
Documentation (type)
Each human intervention component corresponds to a sub-population: those who have received or are considered to be protected by the intervention component. Humans automatically become members of this sub-population when receiving an intervention component; this element controls how humans are removed from the sub-population.
ITN attrition also removes humans from sub-populations.
Note that sub-populations do not directly correspond to an intervention's effects: lack of effectiveness does not imply removal from the sub-population (except as explicitly configured here) and removal from the sub-population does not halt an intervention's effects.
Sub-populations may be used to define a cohort, to restrict deployment of other interventions and to use cumulative deployment mode. A sub- population may or may not correspond (roughly) to humans protected by some intervention.
Attributes
Time to first episode only
onFirstBout=boolean
Default value: false
If true, remove individuals from the sub-population at the start of the first episode (start of a clinical bout) since they were recruited into the sub-population. This is intended for cohort studies which measure time to the first episode, using active case detection. Reports delayed due to health-system memory are forced out when this occurs. Note that this can increase the number of uncomplicated cases reported across the entire population; for this reason reports are not forced on recruitment or most removal options. This does not prevent re-recruitment in the case that recruitment settings could conceivably recruit the same individual twice.
Time to first treatment only
onFirstTreatment=boolean
Default value: false
If true, remove individuals from the sub-population when they first seektreatment since they were recruited into the sub-population. This is intended for cohort studies which measure the time to first episode, using passive case detection. Reports delayed due to health-system memory are forced out when this occurs. Note that this can increase the number of uncomplicated cases reported across the entire population; for this reason reports are not forced on recruitment or most removal options. This does not prevent re-recruitment in the case that recruitment settings could conceivably recruit the same individual twice.
Time to first infection only
onFirstInfection=boolean
Default value: false
If true, remove individuals from the sub-population at completion of the first survey in which they present with a patent infection since they were recruited into the sub-population. This intended for cohort studies which measure time to the first infection, using active case detection. Reports delayed due to health-system memory are forced out when this occurs. Note that this can increase the number of uncomplicated cases reported across the entire population; for this reason reports are not forced on recruitment or most removal options. This does not prevent re-recruitment in the case that recruitment settings could conceivably recruit the same individual twice.
Remove from sub-population after
afterYears=double
Units: Years Min: 0
If given, membership to the sub-population of humans who have received this intervention component expires after the given number of years. Note that future deployments renew membership (e.g. if this parameter is 4 years and the intervention is redeployed 3 years from now, expiry happens after 7 years). This provides a crude way of modelling a cohort protected by some intervention. A few interventions provide more detailed ways of modelling expiry of protection. In any case, "expiry of protection" is an abstract concept and does not imply that all protection has ceased, even in the simulator. This may also be useful for cumulative deployment. Minimum duration is zero, which implies the human is effectively never a member of the sub-population; a duration of one timestep implies the human is a member of the sub-population while any futher interventions are deployed on the same time as this human becomes a member and on the next update of the human (including transmission and health system events) but not beyond that. If this attribute is not given, the simulated human is a member until death or some other option triggers removal. Input is rounded to the nearest time step.
Deployment
→ scenario → interventions → human → deployment
<deployment
[ name=string ]
>
IN THIS ORDER:
| ( <component ... /> )+
| ( <condition ... /> )*
| ( <continuous ... /> )*
| ( <timed ... /> )*
</deployment>
Documentation (element)
This element describes deployment of an intervention: which components are deployed, how humans are selected for deployment (via timed or age-based deployment) as well as a few additional restrictions (e.g. vaccine dosing restrictions).
All components deployed by this intervention are deployed to the same people (each timed or continuous deployment selects recipients and then gives each recipient all components of the intervention).
Attributes
Intervention name
name=string
Name of intervention
component
→ scenario → interventions → human → deployment → component
<component
id=string
/>
Documentation (type)
The list of components deployed to eligible humans.
Attributes
Identifier
id=string
The identifier (short name) of a component.
Condition
→ scenario → interventions → human → deployment → condition
<condition
measure=string
[ minValue=double ]
[ maxValue=double ]
initialState=boolean
/>
Documentation (element)
If conditions are specified, deployment of this intervention will only go ahead if all specified conditions are true. Condition statements are evaluated only during surveys, so deployment is enabled or disabled depending on the results of the most recent survey. So called unreported surveys can be used to reevaluate conditions without increasing granularity of output.
Conditions are evaluated for the whole population, not for individual age-groups or cohorts.
This affects all types of deployment.
Attributes
Measure
measure=string
The monitoring measure to test. Not all measures are available for use.
Minimum value
minValue=double
Minimum value. If specified, the measured variable must be greater than or equal to this value for the condition to be satisfied.
Maximum value
maxValue=double
Maximum value. If specified, the measured variable must be less than or equal to this value for the condition to be satisfied.
Initial state
initialState=boolean
Whether this condition is considered true or false before updated by a survey.
Age-based (continuous) deployment
→ scenario → interventions → human → deployment → continuous
<continuous>
IN THIS ORDER:
| [ <restrictToSubPop ... /> ]
| ( <deploy ... /> )+
</continuous>
Documentation (element)
List of ages at which deployment takes place (through EPI, post-natal and school-based programmes, etc.).
A sub-population restriction may be added as a property of the list of continuous deployments.
restrictToSubPop
→ scenario → interventions → human → deployment → continuous → restrictToSubPop
<restrictToSubPop
id=string
[ complement=boolean ] DEFAULT VALUE false
/>
Documentation (type)
If this element is specified, deployment is restricted to some sub-population (specified via the "id" attribute); otherwise the target population is the entire simulated population. Either way, other deployment restrictions (age, time, number of vaccine doeses) still apply.
Attributes
Sub-population identifier
id=string
The identifier (short name) of the sub-population (i.e. the "id" of some intervention component). Also see the "complement" attribute.
Complement
complement=boolean
Default value: false
If this is not specified or is false, deployment is restricted to the sub-population of people protected by the intervention component who's id is given. If complement is set to true, deployment is instead restricted to the complement of that sub-population, i.e. to those
deploy
→ scenario → interventions → human → deployment → continuous → deploy
<deploy
coverage=double
[ vaccMinPrevDoses=int ]
[ vaccMaxCumDoses=int ]
targetAgeYrs=double
[ begin=string ]
[ end=string ]
/>
Attributes
Coverage
coverage=double
Units: dimensionless Min: 0 Max: 1
Proportion of otherwise eligible individuals who will receive this deployment.
Vaccine min previous doses
vaccMinPrevDoses=int
Units: inoculations Min: 0
Applies to vaccines only: vaccine doses are only deployed by this deployment if the previous number of doses (for the component deployed) is at least this number. For example, if this is the second deployment opportunity for this vaccine and this value is 1, then this deployment cannot deploy the vaccine to individuals who did not receive the first deployment.
Vaccine max cumulative doses
vaccMaxCumDoses=int
Units: inoculations Min: 0
Applies to vaccines only: vaccine doses are only deployed by this deployment if the previous number of doses (for the component deployed) is less than this number.
Target age
targetAgeYrs=double
Units: Years Min: 0 Max: 100
Target age of intervention. Input is rounded to the nearest time step.
First time active
begin=string
Units: User defined (defauls to steps)
First time at which this deployment is active. If not specified, deployment starts at the beginning of the intervention period. See doc on intervention period and on monitoring/startDate for details of how times work. Can be specified in steps, days, years, or as a date (examples: 15t, 75d, 0.2y, 2000-03-16).
End step
end=string
Units: User defined (defauls to steps)
End of the period during which the intervention is active (to be exact, the first step of the intervention period at which the item becomes inactive). If not specified, deployment never ceases after starting during the simulation. See doc on intervention period and on monitoring/startDate for details of how times work. Can be specified in steps, days, years, or as a date (examples: 15t, 75d, 0.2y, 2000-03-16).
Mass (timed) deployment
→ scenario → interventions → human → deployment → timed
<timed>
IN THIS ORDER:
| [ <restrictToSubPop ... /> ]
| [ <cumulativeCoverage ... /> ]
| ( <deploy ... /> )+
</timed>
Documentation (element)
List of timed deployments of the intervention (that is, of deployment campaigns).
Cumulative deployment mode can be specified for all deployments in a timed list. To allow multiple cumulative deployment descriptions, the entire timed list may be repeated.
restrictToSubPop
→ scenario → interventions → human → deployment → timed → restrictToSubPop
<restrictToSubPop
id=string
[ complement=boolean ] DEFAULT VALUE false
/>
Documentation (type)
If this element is specified, deployment is restricted to some sub-population (specified via the "id" attribute); otherwise the target population is the entire simulated population. Either way, other deployment restrictions (age, time, number of vaccine doeses) still apply.
Attributes
Sub-population identifier
id=string
The identifier (short name) of the sub-population (i.e. the "id" of some intervention component). Also see the "complement" attribute.
Complement
complement=boolean
Default value: false
If this is not specified or is false, deployment is restricted to the sub-population of people protected by the intervention component who's id is given. If complement is set to true, deployment is instead restricted to the complement of that sub-population, i.e. to those
Cumulative coverage
→ scenario → interventions → human → deployment → timed → cumulativeCoverage
<cumulativeCoverage
component=string
/>
Documentation (element)
If this element is not specified, standard deployment occurs, where a portion of the population as given by the coverage property of this campaign is selected, and interventions are deployed to all of these people (regardless of previous coverage).
If this attribute is specified, instead, the population is divided into two sets: those who are a member of a certain sub-population and those who are not (see "subPopRemoval" element). If the proportion of people in the first set is less than the desired coverage, then the proportion of people from the second set needed to increase total coverage to the desired coverage is calculated. This proportion is then used as the probablity of selection from the second set into a third set of people who then receive all interventions deployed by this campaign.
Note that selection is stochastic so the final coverage level may not be exactly that desired. Note also that the component used when selecting people need not actually be one of the components deployed by this intervention, although that is the intended use case.
Attributes
Component identifier
component=string
The identifier (short name) of the component used when selecting people.
deploy
→ scenario → interventions → human → deployment → timed → deploy
<deploy
coverage=double
[ vaccMinPrevDoses=int ]
[ vaccMaxCumDoses=int ]
time=string
[ maxAge=double ]
[ minAge=double ] DEFAULT VALUE 0
[ repeatStep=string ]
[ repeatEnd=string ]
/>
Attributes
Coverage
coverage=double
Units: dimensionless Min: 0 Max: 1
Proportion of otherwise eligible individuals who will receive this deployment.
Vaccine min previous doses
vaccMinPrevDoses=int
Units: inoculations Min: 0
Applies to vaccines only: vaccine doses are only deployed by this deployment if the previous number of doses (for the component deployed) is at least this number. For example, if this is the second deployment opportunity for this vaccine and this value is 1, then this deployment cannot deploy the vaccine to individuals who did not receive the first deployment.
Vaccine max cumulative doses
vaccMaxCumDoses=int
Units: inoculations Min: 0
Applies to vaccines only: vaccine doses are only deployed by this deployment if the previous number of doses (for the component deployed) is less than this number.
Time
time=string
Units: User defined (defauls to steps) Min: 0
Time at which this deployment occurs. See doc on intervention period and on monitoring/startDate for details of how times work. Can be specified in steps, days, years, or as a date (examples: 15t, 75d, 0.2y, 2000-03-16).
Maximum age of eligible individuals
maxAge=double
Units: Years Min: 0
Maximum age of eligible individuals (defaults to no limit). Input is rounded to the nearest time step.
Minimum age of eligible individuals
minAge=double
Units: Years Min: 0
Default value: 0
Minimum age of eligible individuals (defaults to 0). Input is rounded to the nearest time step.
Step of repetition
repeatStep=string
Units: User defined
See repeatEnd's documentation.
End of repetition (exclusive)
repeatEnd=string
Units: User defined
Either both repeatStep and repeatEnd should be present or neither. If present, the deployment is repeated every repeatStep timesteps (i.e. if t0 is the initial time and x is repeatStep, depolyments are done at times t0, t0+x, t0+2*x, ...), ending before repeatEnd (final repetition is the one before repeatEnd). Note that repeatEnd may be specified as a date but repeatStep must be a duration (days, steps or years).
Health system description
→ scenario → healthSystem
<healthSystem>
IN THIS ORDER:
| EXACTLY ONE OF:
| | <EventScheduler ... />
| | <ImmediateOutcomes ... />
| | <DecisionTree5Day ... />
| <CFR ... />
| <pSequelaeInpatient ... />
</healthSystem>
Documentation (element)
Description of health system.
Documentation (type)
Description of case management system, used to specify the initial model or a replacement (an intervention). Encompasses case management data and some other data required to derive case outcomes.
Contains a sub-element describing the particular health-system in use. Health system data is here defined as data used to decide on a treatment strategy, given a case requiring treatment.
Transmission and vector bionomics
→ scenario → entomology
<entomology
name=string
mode=("forced" or "dynamic")
[ scaledAnnualEIR=double ]
>
IN THIS ORDER:
| EXACTLY ONE OF:
| | <nonVector ... />
| | <vector ... />
</entomology>
Documentation (element)
Description of entomological data
Attributes
Entomology dataset name
name=string
Name of entomology data
Transmission model mode
mode=("forced" or "dynamic")
Transmission simulation mode: may be forced (in which case interventions and changes to human infectiousness cannot affect EIR) or dynamic (in which the above can affect EIR). The full vector model is only used in dynamic mode. This can not be changed by interventions, except for the changeEIR intervention for the non-vector model which replaces the EIR with a new description (used in forced mode).
Override annual EIR
scaledAnnualEIR=double
Units: Infectious bites per adult per year
If set, the annual EIR (for all species of vector) is scaled to this level; can be omitted if not needed.
Transmission setting (vector control not enabled)
→ scenario → entomology → nonVector
<nonVector
eipDuration=int
>
IN THIS ORDER:
| ( <EIRDaily ... /> )+
</nonVector>
Documentation (element)
Description of transmission setting for models without vector control interventions (included for backward compatibility)
Attributes
Duration of sporogony
eipDuration=int
Units: Days
The duration of sporogony in days
Transmission setting (vector control enabled)
→ scenario → entomology → vector
<vector>
IN THIS ORDER:
| ( <anopheles ... /> )+
| ( <nonHumanHosts ... /> )*
</vector>
Documentation (element)
Parameters of the transmission model
anopheles
→ scenario → entomology → vector → anopheles
<anopheles
mosquito=string
propInfected=double
propInfectious=double
>
IN THIS ORDER:
| <seasonality ... />
| <mosq ... />
| [ <lifeCycle ... /> ]
| [ <simpleMPD ... /> ]
| ( <nonHumanHosts ... /> )*
</anopheles>
Documentation (type)
Description of input EIR for one specific vector species in terms of a Fourier approximation to the ln of the EIR during the burn in period
Attributes
Identifier for this anopheles species
mosquito=string
Identifier for this anopheles species
Initial estimate of proportion of mosquitoes infected (ρ_O)
propInfected=double
Units: Proportion Min: 0 Max: 1
Initial guess of the proportion of mosquitoes which are infected, o: O_v(t) = o*N_v(t). Only used as a starting value.
Initial estimate of proportion of mosquitoes infectious (ρ_S)
propInfectious=double
Units: Proportion Min: 0 Max: 1
Initial estimate of the proportion of mosquitoes which are infectious, s: S_v(t) = s*N_v(t). Used as a starting value and then fit.
Seasonality of transmission
→ scenario → entomology → vector → anopheles → seasonality
<seasonality
input=("EIR")
[ annualEIR=double ]
>
IN THIS ORDER:
| EXACTLY ONE OF:
| | <fourierSeries ... />
| | <monthlyValues ... />
| | <dailyValues ... />
</seasonality>
Documentation (element)
Specifies the seasonality of transmission and optionally the level of annual transmission.
Attributes
Seasonality input
input=("EIR")
Specify what seasonality measure is given. At the moment, only EIR is supported, but in the future, all the below should be supported. EIR: seasonality of entomological inoculations is input. Units: entomological inoculations per adult per annum. hostSeeking: seasonality of densities of flying host-seeking mosquitoes is input (in the model this is notated N_v). Units: mosquitoes. emergence: seasonality of emergence pupa into adults. Units: mosquitoes. larvalResources: seasonality of larval resources. Units: X.
Annual EIR
annualEIR=double
Units: Inoculations per adult per annum Min: 0
If this attribute is included, EIR for this species is scaled to this level. Note that if the scaledAnnualEIR attribute of the entomology element is also used, EIR is scaled again, making this attribute the EIR relative to other species. With some seasonality inputs, this attribute is optional, in which case (if scaledAnnualEIR is also not specified) transmission depends on all parameters of the vector. With some seasonality inputs, however, this parameter must be specified.
Fourier approximation to pre-intervention EIR
→ scenario → entomology → vector → anopheles → seasonality → fourierSeries
<fourierSeries
EIRRotateAngle=double
>
IN THIS ORDER:
| ( <coeffic ... /> )*
</fourierSeries>
Documentation (element)
Units: Infectious bites per adult per day
Seasonality is reproduced from the exponential of a fourier series specified by the following coefficients. Note that the a0 term is not needed; the annualEIR attribute of the seasonality element should be used to scale EIR instead.
Attributes
Rotation angle defining the origin of the Fourier approximation to ln (EIR)
EIRRotateAngle=double
Units: Radians
Rotation angle defining the origin of the Fourier approximation to ln (EIR)
Pair of Fourier coefficients
→ scenario → entomology → vector → anopheles → seasonality → fourierSeries → coeffic
<coeffic
a=double
b=double
/>
Documentation (element)
A pair of Fourier series coefficients. The first element specifies a1 and b1, the second a2 and b2, etc. Any number (from 0 up) of pairs may be given.
Attributes
a_n parameter of Fourier approximation to ln(EIR)
a=double
a_n parameter of Fourier approximation to ln(EIR) for some natural number n.
b_n parameter of Fourier approximation to ln(EIR)
b=double
b_n parameter of Fourier approximation to ln(EIR) for some natural number n.
List of monthly values
→ scenario → entomology → vector → anopheles → seasonality → monthlyValues
<monthlyValues
smoothing=("none" or "fourier")
>
IN THIS ORDER:
| ( <value ... /> ){12,12}
</monthlyValues>
Documentation (element)
Description of seasonality from monthly values. Multiple smoothing methods are possible (see smoothing attribute).
List should contain twelve entries: January to December.
Attributes
Smoothing function
smoothing=("none" or "fourier")
How the monthly values are converted into a daily sequence of values:
- none: no smoothing (step function)
- Fourier: a Fourier series (with terms up to a2/b2) is fit to the sequence of monthly values and used to generate a smoothed list of daily values.
Monthly value
→ scenario → entomology → vector → anopheles → seasonality → monthlyValues → value
<value>
double
</value>
Documentation (element)
Units: (see "seasonality input" parameter)
Monthly value
List of daily values
→ scenario → entomology → vector → anopheles → seasonality → dailyValues
<dailyValues>
IN THIS ORDER:
| ( <value ... /> ){365,365}
</dailyValues>
Documentation (element)
Description of seasonality from daily values.
List should contain 365 entries: 1st January to 31st December.
Daily value
→ scenario → entomology → vector → anopheles → seasonality → dailyValues → value
<value>
double
</value>
Documentation (element)
Units: (see "seasonality input" parameter)
Daily value
Mosquito feeding cycle parameters
→ scenario → entomology → vector → anopheles → mosq
<mosq
minInfectedThreshold=double
>
IN ANY ORDER:
| <mosqRestDuration ... />
| <extrinsicIncubationPeriod ... />
| <mosqLaidEggsSameDayProportion ... />
| <mosqSeekingDuration ... />
| <mosqSurvivalFeedingCycleProbability ... />
| <availability ... />
| <mosqProbBiting ... />
| <mosqProbFindRestSite ... />
| <mosqProbResting ... />
| <mosqProbOvipositing ... />
| <mosqHumanBloodIndex ... />
</mosq>
- mosqRestDuration
- extrinsicIncubationPeriod
- mosqLaidEggsSameDayProportion
- mosqSeekingDuration
- mosqSurvivalFeedingCycleProbability
- availability
- mosqProbBiting
- mosqProbFindRestSite
- mosqProbResting
- mosqProbOvipositing
- mosqHumanBloodIndex
Documentation (element)
Parameters describing the feeding cycle and human mosquito interaction of a single species of anopheles mosquito.
Attributes
Mininum infected threshold for mosquitos
minInfectedThreshold=double
Min: 0
If less than this many mosquitoes remain infected, transmission is interrupted.
Duration of the resting period of the vector
→ scenario → entomology → vector → anopheles → mosq → mosqRestDuration
<mosqRestDuration
value=int
/>
Documentation (element)
Units: Days
name:Duration of the resting period of the vector (days);
Attributes
Input parameter value
value=int
An integer value.
Extrinsic incubation period
→ scenario → entomology → vector → anopheles → mosq → extrinsicIncubationPeriod
<extrinsicIncubationPeriod
value=int
/>
Documentation (element)
Units: Days
name:Extrinsic incubation period (days)
Attributes
Input parameter value
value=int
An integer value.
Proportion of mosquitoes host seeking on same day as ovipositing
→ scenario → entomology → vector → anopheles → mosq → mosqLaidEggsSameDayProportion
<mosqLaidEggsSameDayProportion
value=double
/>
Documentation (element)
Units: Proportion
Proportion of mosquitoes host seeking on same day as ovipositing
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Duration of the host-seeking period of the vector
→ scenario → entomology → vector → anopheles → mosq → mosqSeekingDuration
<mosqSeekingDuration
value=double
/>
Documentation (element)
Units: Days
Duration of the host-seeking period of the vector (days)
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Probability that the mosquito survives the feeding cycle
→ scenario → entomology → vector → anopheles → mosq → mosqSurvivalFeedingCycleProbability
<mosqSurvivalFeedingCycleProbability
value=double
/>
Documentation (element)
Units: Proportion
Probability that the mosquito survives the feeding cycle
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Human availability rate heterogeneity
→ scenario → entomology → vector → anopheles → mosq → availability
<availability
[ CV=double ]
[ distr=("const" or "lognormal") ] DEFAULT VALUE const
/>
Documentation (element)
Optionally, entomological availability rate may be sampled per-human from a distribution. The distribution and coefficient of variability may be set here. The mean rate is calculated based on other parameters and not set directly.
If no attributes are specified or distr="const" or CV="0" then there will be no heterogeneity.
Documentation (type)
A parameter with optional heterogeneity.
The mean cannot be specified (unless this type is extended). Optionally, a distribution ("distr") and coefficient of variation ("CV") may be specified.
Attributes
Coefficient of variation
CV=double
Units: unitless
The (linear) coefficient of variation. This value must be specified when a (non-constant) distribution is used. Note that specifying CV="0" has the same effect as distr="const" and disables sampling of this parameter, even if distr is not "const".
Distribution
distr=("const" or "lognormal")
Default value: const
To allow heterogeneity, a distribution must be specified. Valid options are as follows. "const": no variation or sampling. Specifying distr="const" has the same effect as not specifying distr at all. "lognormal": the parameter is sampled from a log-normal distribution. Note that the "mean" and "CV" values are linear (arithmetic) properties of the distribution and not log-space properties.
Probability that the mosquito succesfully bites chosen host
→ scenario → entomology → vector → anopheles → mosq → mosqProbBiting
<mosqProbBiting
mean=double
variance=double
/>
Documentation (element)
Probability that the mosquito succesfully bites chosen host
Documentation (type)
Parameters of a normal distribution, provided as mean and variance.
Variates are sampled from Be(α,β) where α and β are determined from the mean and variance as follows: let v be the variance and c=mean/(1-mean). Then we set α=cβ and β=((c+1)²v - c)/((c+1)³v).
Attributes
mean
mean=double
Units: none
The mean of the beta distribution (must be in the open range (0,1)).
variance
variance=double
Units: none
The standard deviation of variates.
Probability that the mosquito escapes host and finds a resting place after biting
→ scenario → entomology → vector → anopheles → mosq → mosqProbFindRestSite
<mosqProbFindRestSite
mean=double
variance=double
/>
Documentation (element)
Probability that the mosquito escapes host and finds a resting place after biting
Documentation (type)
Parameters of a normal distribution, provided as mean and variance.
Variates are sampled from Be(α,β) where α and β are determined from the mean and variance as follows: let v be the variance and c=mean/(1-mean). Then we set α=cβ and β=((c+1)²v - c)/((c+1)³v).
Attributes
mean
mean=double
Units: none
The mean of the beta distribution (must be in the open range (0,1)).
variance
variance=double
Units: none
The standard deviation of variates.
Probability of mosquito successfully resting after finding a resting site
→ scenario → entomology → vector → anopheles → mosq → mosqProbResting
<mosqProbResting
mean=double
variance=double
/>
Documentation (element)
Probability of mosquito successfully resting after finding a resting site
Documentation (type)
Parameters of a normal distribution, provided as mean and variance.
Variates are sampled from Be(α,β) where α and β are determined from the mean and variance as follows: let v be the variance and c=mean/(1-mean). Then we set α=cβ and β=((c+1)²v - c)/((c+1)³v).
Attributes
mean
mean=double
Units: none
The mean of the beta distribution (must be in the open range (0,1)).
variance
variance=double
Units: none
The standard deviation of variates.
Probability of a mosquito successfully laying eggs given that it has rested
→ scenario → entomology → vector → anopheles → mosq → mosqProbOvipositing
<mosqProbOvipositing
value=double
/>
Documentation (element)
Probability of a mosquito successfully laying eggs given that it has rested
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Human blood index
→ scenario → entomology → vector → anopheles → mosq → mosqHumanBloodIndex
<mosqHumanBloodIndex
value=double
/>
Documentation (element)
Units: Proportion
The proportion of resting mosquitoes which fed on human blood during the last feed.
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Mosquito life cycle parameters
→ scenario → entomology → vector → anopheles → lifeCycle
<lifeCycle
[ estimatedLarvalResources=double ] DEFAULT VALUE 1e8
>
IN ANY ORDER:
| <eggStage ... />
| <larvalStage ... />
| <pupalStage ... />
| <femaleEggsLaidByOviposit ... />
</lifeCycle>
Documentation (element)
Parameters describing the life-cycle of this species of mosquito
Attributes
Estimate of larval resources
estimatedLarvalResources=double
Units: X
Default value: 1e8
An estimate of mean annual availability of resources to larvae. Used to get the resource usage fitting algorithm going; if the algorithm fails to fit the resource availability then tweaking this parameter may help. In other cases tweaking this parameter shouldn't be necessary. Default value is 10⁸ (1e8). Units are arbitrary but must be the same as those used by the resourceUsage parameter.
Egg stage
→ scenario → entomology → vector → anopheles → lifeCycle → eggStage
<eggStage
duration=int
survival=double
/>
Documentation (element)
Parameters for the egg stage of development
Documentation (type)
Parameters associated with a mosquito development stage.
Attributes
Duration
duration=int
Units: Days
Duration of the stage (i.e. length of time mosquito is an egg/larva/pupa).
Probability of survival
survival=double
Units: Proportion
Probability that mosquito survives this size (probability of egg hatching, a larva becoming a pupa or a pupa emerging as an adult, at the start of that stage).
larvalStage
→ scenario → entomology → vector → anopheles → lifeCycle → larvalStage
<larvalStage>
</larvalStage>
Documentation (type)
Parameters for the larval stage of development
Documentation (base type)
Parameters associated with a mosquito development stage.
Daily development
→ scenario → entomology → vector → anopheles → lifeCycle → larvalStage → daily
<daily
resourceUsage=double
effectCompetition=double
/>
Documentation (element)
List of parameters which apply during the larval stage of development. List length must equal stage duration, with first item corresponding to first 24 hours after hatching, second item to hours 24-48, and so on.
Attributes
Resource usage
resourceUsage=double
Units: X
Resource usage during larval stage of development. Units are arbitrary.
Effect of competition
effectCompetition=double
Units: none
Effect of competition over resources on development.
Pupal stage
→ scenario → entomology → vector → anopheles → lifeCycle → pupalStage
<pupalStage
duration=int
survival=double
/>
Documentation (element)
Parameters for the pupal stage of development
Documentation (type)
Parameters associated with a mosquito development stage.
Attributes
Duration
duration=int
Units: Days
Duration of the stage (i.e. length of time mosquito is an egg/larva/pupa).
Probability of survival
survival=double
Units: Proportion
Probability that mosquito survives this size (probability of egg hatching, a larva becoming a pupa or a pupa emerging as an adult, at the start of that stage).
Eggs laid by ovipositing mosquito
→ scenario → entomology → vector → anopheles → lifeCycle → femaleEggsLaidByOviposit
<femaleEggsLaidByOviposit
value=double
/>
Documentation (element)
Units: Eggs per feeding cycle
The total number of female eggs laid by a female mosquito at the conclusion to a feeding cycle, after feeding on an unprotected human (non-human hosts and protected humans use a multiplication factor to adjust this number for mosquitoes feeding on them).
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Simple Mosq-Pop-Dynamics parameters
→ scenario → entomology → vector → anopheles → simpleMPD
<simpleMPD>
IN ANY ORDER:
| <developmentDuration ... />
| <developmentSurvival ... />
| <femaleEggsLaidByOviposit ... />
</simpleMPD>
Documentation (element)
Parameters describing the simple mosquito population dynamics model.
This is a simpler version of the life-cycle model, requiring less parameters and with much simpler initialisation.
Duration
→ scenario → entomology → vector → anopheles → simpleMPD → developmentDuration
<developmentDuration
value=int
/>
Documentation (element)
Units: Days Min: 1
Duration from egg laying to emergence in days.
Attributes
Input parameter value
value=int
An integer value.
Probability of survival
→ scenario → entomology → vector → anopheles → simpleMPD → developmentSurvival
<developmentSurvival
value=double
/>
Documentation (element)
Units: Proportion Min: 0 Max: 1
Probability that mosquito survives from the egg being laid to emergence, given no resouce limitations (no density constraints).
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Eggs laid by ovipositing mosquito
→ scenario → entomology → vector → anopheles → simpleMPD → femaleEggsLaidByOviposit
<femaleEggsLaidByOviposit
value=double
/>
Documentation (element)
Units: Eggs per feeding cycle
The total number of female eggs laid by a female mosquito at the conclusion to a feeding cycle.
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Alternative (non-human) host paramters
→ scenario → entomology → vector → anopheles → nonHumanHosts
<nonHumanHosts
name=string
>
IN ANY ORDER:
| <mosqRelativeEntoAvailability ... />
| <mosqProbBiting ... />
| <mosqProbFindRestSite ... />
| <mosqProbResting ... />
| [ <hostFecundityFactor ... /> ]
</nonHumanHosts>
- mosqRelativeEntoAvailability
- mosqProbBiting
- mosqProbFindRestSite
- mosqProbResting
- hostFecundityFactor
Documentation (element)
Min: 0
Non human host parameters, per type of host (must match up with non-species-specific parameters).
Attributes
Identifier for this category of non-human hosts
name=string
Identifier for this category of non-human hosts
Relative availability of non-human host (ξ_i)
→ scenario → entomology → vector → anopheles → nonHumanHosts → mosqRelativeEntoAvailability
<mosqRelativeEntoAvailability
value=double
/>
Documentation (element)
Units: Proportion
Relative availability of the population of non-human hosts of type i to other non-human hosts; the sum of this across all non-human hosts must be 1.
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Probability of mosquito successfully biting host
→ scenario → entomology → vector → anopheles → nonHumanHosts → mosqProbBiting
<mosqProbBiting
value=double
/>
Documentation (element)
Units: Proportion
Probability of mosquito successfully biting host
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Probability that the mosquito escapes host and finds a resting place after biting
→ scenario → entomology → vector → anopheles → nonHumanHosts → mosqProbFindRestSite
<mosqProbFindRestSite
value=double
/>
Documentation (element)
Units: Proportion
Probability that the mosquito escapes host and finds a resting place after biting
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Probability of mosquito successfully resting after finding a resting site
→ scenario → entomology → vector → anopheles → nonHumanHosts → mosqProbResting
<mosqProbResting
value=double
/>
Documentation (element)
Units: Proportion
Probability of mosquito successfully resting after finding a resting site
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Relative fecundity of biting mosquitoes
→ scenario → entomology → vector → anopheles → nonHumanHosts → hostFecundityFactor
<hostFecundityFactor
value=double
/>
Documentation (element)
Units: Proportion
Multiplicative factor for the number of fertile eggs laid by a mosquito after biting this type of host, relative to an unprotected human.
Attributes
Input parameter value
value=double
A double-precision floating-point value.
nonHumanHosts
→ scenario → entomology → vector → nonHumanHosts
<nonHumanHosts
name=string
number=double
/>
Attributes
Species of alternative host
name=string
Name of this species of non human hosts (must match up with those described per anopheles section).
Population size of non-human host species
number=double
Units: Animals
Population size of this non-human host. Note: the availability of the population of this type of non-human host is determined by mosqRelativeEntoAvailability and mosqHumanBloodIndex. NHHs are not modelled individually, thus this parameter is not used. It might be useful in the future if there is ever an intervention to change the number of non-human hosts.
Parasite genetics
<parasiteGenetics
samplingMode=("initial" or "tracking")
>
IN THIS ORDER:
| ( <locus ... /> )+
</parasiteGenetics>
Documentation (element)
A specification of genotypes of infection parasites.
May be omitted; in this case there is no modelling of genetic differences of infections (resistance, fitness).
Attributes
samplingMode
samplingMode=("initial" or "tracking")
This controls how genotypes are determined for new infections during the intervention period. Prior to this (in initialisation phases), genotypes are always sampled using the specified initial frequencies. Mode "initial" continues to sample genotypes using initial frequencies (i.e. independent of the success of parent generations of parasites). Mode "tracking" samples genotypes based on the success parent generations of parasites have in infecting mosquitoes, tracked per genotype. It is possible that in the future a recombination option will be added to this list, however designing a suitable model is not trivial.
Locus
→ scenario → parasiteGenetics → locus
<locus
name=string
>
IN THIS ORDER:
| ( <allele ... /> )+
</locus>
Documentation (element)
Describes a locus, or a point at which an infection may vary. The genotype of an infection is determined by choosing one allele at each locus. Initial frequencies of alleles are specified independently for each locus, but subsequent infections are selected according to success of genotypes.
Alleles at loci can affect fitness and resistance to any number of drugs.
Attributes
Name of locus
name=string
Name of the Locus
Allele
→ scenario → parasiteGenetics → locus → allele
<allele
name=string
initialFrequency=double
fitness=double
[ hrp2_deletion=boolean ] DEFAULT VALUE false
/>
Documentation (element)
Describes an allele, or one possible genetic option of multiple at one point of variance.
Attributes
Name
name=string
Name of the allele; used to refer to it elsewhere.
Initial frequency
initialFrequency=double
Specification of how commonly this allele occurs during warmup relative to other alleles of the same locus. During the simulation's initialisation phases, the frequency at which each allele of each locus occurs is fixed. After the initialisation phase, frequency of alleles is modelled as an emergent property of the success of genotypes.
Fitness factor
fitness=double
Fitness factor of the allele. This is multiplication factor used to speed up or slow down replication of parasites. For example, if a genotype has an allele with a fitness factor of 1 at one locus and another allele with a fitness factor of 0.8 at a second locus, then the parasites with the genotype will replicate 20% slower than the baseline.
HRP2 deletion
hrp2_deletion=boolean
Default value: false
If true, marks this allele as having deleted HRP2. The effect on the simulation is that any diagnostic dependent on HRP2 behaves as if infections with deleted HRP2 have density 0. A diagnostic MUST explicitly set mechanism="HRP2" for this to have any effect.
Drug parameters (PK, PD and usage)
→ scenario → pharmacology
<pharmacology>
IN THIS ORDER:
| <treatments ... />
| <drugs ... />
</pharmacology>
Documentation (element)
Drug model parameters and drug usage parameters
Documentation (type)
A library of drug related data for the PK/PD model.
Treatments library
→ scenario → pharmacology → treatments
<treatments>
IN THIS ORDER:
| ( <schedule ... /> )+
| ( <dosages ... /> )+
</treatments>
Documentation (element)
A library of drug deployment schedules and dosages.
schedule
→ scenario → pharmacology → treatments → schedule
<schedule
name=string
>
IN THIS ORDER:
| ( <medicate ... /> )*
</schedule>
Documentation (type)
A schedule for the administration of drugs in a course of treatment.
Note that dose sizes are multiplied by some multiplier (see dosages) and the times of all doses may be delayed.
Attributes
Name
name=string
Name for referring to this deployment schedule
medicate
→ scenario → pharmacology → treatments → schedule → medicate
<medicate
drug=string
mg=double
hour=double
/>
Attributes
drug
drug=string
Abbreviated name of drug compound
Drug dose (mg with multiplier)
mg=double
Units: mg per something
Quantity of drug compound in mg per something. A separate dosage table must be used when medicating, which may specify multipliers of this number based on patient age or weight.
Time of administration
hour=double
Units: Hours Min: 0
Number of hours past start of timestep this drug dose is administered at (first dose should be at hour 0).
dosages
→ scenario → pharmacology → treatments → dosages
<dosages
name=string
>
IN THIS ORDER:
| EXACTLY ONE OF:
| | ( <age ... /> )+
| | ( <bodymass ... /> )+
| | <multiply ... />
</dosages>
Documentation (type)
A table for selecting a dose size. There are several ways this can work: using the patient's age or body mass in a look-up table to get a multplier, or directly using body mass as the multiplier.
The doses specified in "mg" in the treatment schedule are then multiplied by this multiplier.
Attributes
Name
name=string
Name for referring to this dosage table
Look-up table (age)
→ scenario → pharmacology → treatments → dosages → age
<age
lowerbound=double
dose_mult=double
/>
Documentation (element)
Select dose multiplier from a look-up table using the patient's age.
Documentation (type)
A look-up table which uses patient age (in years) or weight (in kg) to find a multiplier.
Attributes
Lower bound (inclusive)
lowerbound=double
Units: years or kg Min: 0
Dose multiplier
dose_mult=double
Min: 0
The dose size given in the schedule (in "mg") is multiplied by this value for patients falling into this range when this dosage table is used.
Look-up table (weight)
→ scenario → pharmacology → treatments → dosages → bodymass
<bodymass
lowerbound=double
dose_mult=double
/>
Documentation (element)
Select dose multiplier from a look-up table using the patient's body mass.
Documentation (type)
A look-up table which uses patient age (in years) or weight (in kg) to find a multiplier.
Attributes
Lower bound (inclusive)
lowerbound=double
Units: years or kg Min: 0
Dose multiplier
dose_mult=double
Min: 0
The dose size given in the schedule (in "mg") is multiplied by this value for patients falling into this range when this dosage table is used.
Multiply dose
→ scenario → pharmacology → treatments → dosages → multiply
<multiply
by=("kg")
/>
Documentation (element)
Multiply the dose by some quantity, such as patient weight.
Attributes
By what?
by=("kg")
Quantity to multiply the dose by. Only option is "kg" (patient weight in kg).
Drug library
→ scenario → pharmacology → drugs
<drugs>
IN THIS ORDER:
| ( <drug ... /> )+
</drugs>
Documentation (element)
A library of drug PK/PD data.
drug
→ scenario → pharmacology → drugs → drug
<drug
abbrev=string
>
IN THIS ORDER:
| <PD ... />
| <PK ... />
</drug>
Documentation (type)
A drug description with PK/PD parameters.
Attributes
abbrev
abbrev=string
PD
→ scenario → pharmacology → drugs → drug → PD
<PD
[ locus=string ]
>
IN THIS ORDER:
| ( <phenotype ... /> )+
</PD>
Attributes
Locus
locus=string
Optional; if present specifies the locus corresponding to this drug's PD phenotypes: each phenotype must then match one of that locus's alleles. Otherwise the drug should specify only one phenotype. There is currently a one-to-many correspondance between loci and drugs.
PD parameters for some allele / resistance phenotype
→ scenario → pharmacology → drugs → drug → PD → phenotype
<phenotype
[ name=string ]
>
IN THIS ORDER:
| ( <restriction ... /> )*
| <max_killing_rate ... />
| <IC50 ... />
| <slope ... />
</phenotype>
Documentation (element)
Pharmaco-Dynamic parameters for some resistance phenotype.
To model resistance to this drug, describe multiple infection phenotypes (with respect to these PD parameters) and list one or more "restrict" elements for each phenotype.
Loci are specified elsewhere. Multiple loci may influence the action of a single drug and each locus may influence multiple drugs.
Attributes
Name of phenotype
name=string
Name of the phenotype; for documentation use only.
Restrict phenotype applicability to certain alleles
→ scenario → pharmacology → drugs → drug → PD → phenotype → restriction
<restriction
onLocus=string
toAllele=string
/>
Documentation (element)
Specifies the mapping from genotype to phenotype. For each drug type, if only one phenotype is present, restrictions need not be specified, but otherwise restrictions must be specified.
The set of loci affecting phenotypes of this drug's action must be fixed for any drug type. Each phenotype must list, for each of these loci, a restriction to one or more alleles under the locus.
Attributes
Locus relevant to the mapping of alleles to this phenotype
onLocus=string
A locus under which only a restricted set of alleles map to this phenotype.
Alleles mapping to this phenotype
toAllele=string
One allele of a locus upon which phenotype choice depends. If multiple alleles under this locus should map to the same phenotype, repeat the whole "restriction onLocus..." element.
Maximal parasite killing rate
→ scenario → pharmacology → drugs → drug → PD → phenotype → max_killing_rate
<max_killing_rate>
double
</max_killing_rate>
Documentation (element)
Units: 1/days Min: 0
k1 — Maximal parasite killing rate.
IC50
→ scenario → pharmacology → drugs → drug → PD → phenotype → IC50
<IC50
[ CV=double ]
[ distr=("const" or "lognormal") ] DEFAULT VALUE const
mean=double
/>
Documentation (element)
Units: mg/l Min: 0
Half maximal effect concentration.
If CV > 0, the IC50 is sampled from a log-normal distribution.
Documentation (type)
A parameter with optional log-normal heterogeneity.
The mean value must be specified. Optionally, a distribution ("distr") and coefficient of variation ("CV") may be specified.
Documentation (base type)
A parameter with optional heterogeneity.
The mean cannot be specified (unless this type is extended). Optionally, a distribution ("distr") and coefficient of variation ("CV") may be specified.
Attributes
Coefficient of variation
CV=double
Units: unitless
The (linear) coefficient of variation. This value must be specified when a (non-constant) distribution is used. Note that specifying CV="0" has the same effect as distr="const" and disables sampling of this parameter, even if distr is not "const".
Distribution
distr=("const" or "lognormal")
Default value: const
To allow heterogeneity, a distribution must be specified. Valid options are as follows. "const": no variation or sampling. Specifying distr="const" has the same effect as not specifying distr at all. "lognormal": the parameter is sampled from a log-normal distribution. Note that the "mean" and "CV" values are linear (arithmetic) properties of the distribution and not log-space properties.
mean
mean=double
The (linear) mean value.
Slope of effect curve
→ scenario → pharmacology → drugs → drug → PD → phenotype → slope
<slope>
double
</slope>
Documentation (element)
Units: dimensionless
n — Slope of the concentration effect curve
PK
→ scenario → pharmacology → drugs → drug → PK
<PK>
IN THIS ORDER:
| <negligible_concentration ... />
| EXACTLY ONE OF:
| | <half_life ... />
| | IN THIS ORDER:
| | | <k ... />
| | | <m_exponent ... />
| [ <k_a ... /> ]
| [ <conversion ... /> ]
| <vol_dist ... />
| [ <compartment2 ... /> ]
| [ <compartment3 ... /> ]
</PK>
Drug concentration considered negligible
→ scenario → pharmacology → drugs → drug → PK → negligible_concentration
<negligible_concentration>
double
</negligible_concentration>
Documentation (element)
Units: mg/l Min: 0
Concentration below which drug's effects are deemed negligible and can be removed from simulation.
drug half-life
→ scenario → pharmacology → drugs → drug → PK → half_life
<half_life>
double
</half_life>
Documentation (element)
Units: days Min: 0
Used to calculate elimination rate λ, calculated as λ = ln(2) / half_life. The basic form of decay is C(t) = C0 * exp(-λ*t).
Alternatively, elimination rate can be specified via k and m_exponent.
Constant associated with elimination rate (k)
→ scenario → pharmacology → drugs → drug → PK → k
<k
[ CV=double ]
[ distr=("const" or "lognormal") ] DEFAULT VALUE const
mean=double
/>
Documentation (element)
Units: day^-1 Min: 0
Constant used to calculate the elimination rate λ, which is calculated as λ = k / (body_mass ^ m_exponent), where body_mass is the patient's weight in kg and m_exponent is the next parameter. The basic form of decay is C(t) = C0 * exp(-λ*t).
If CV > 0, k is sampled per-human from the log-normal distribution: ln N( ln(mean) - σ^2 / 2, σ^2).
Alternatively, elimination rate can be specified via half_life.
Documentation (type)
A parameter with optional log-normal heterogeneity.
The mean value must be specified. Optionally, a distribution ("distr") and coefficient of variation ("CV") may be specified.
Documentation (base type)
A parameter with optional heterogeneity.
The mean cannot be specified (unless this type is extended). Optionally, a distribution ("distr") and coefficient of variation ("CV") may be specified.
Attributes
Coefficient of variation
CV=double
Units: unitless
The (linear) coefficient of variation. This value must be specified when a (non-constant) distribution is used. Note that specifying CV="0" has the same effect as distr="const" and disables sampling of this parameter, even if distr is not "const".
Distribution
distr=("const" or "lognormal")
Default value: const
To allow heterogeneity, a distribution must be specified. Valid options are as follows. "const": no variation or sampling. Specifying distr="const" has the same effect as not specifying distr at all. "lognormal": the parameter is sampled from a log-normal distribution. Note that the "mean" and "CV" values are linear (arithmetic) properties of the distribution and not log-space properties.
mean
mean=double
The (linear) mean value.
Constant associated with elimination rate (m_exponent)
→ scenario → pharmacology → drugs → drug → PK → m_exponent
<m_exponent>
double
</m_exponent>
Documentation (element)
Units: day^-1 Min: 0
Constant used to calculate the elimination rate λ, which is calculated as λ = k / (body_mass ^ m_exponent), where body_mass is the patient's weight in kg and k is the previous parameter. The basic form of decay is C(t) = C0 * exp(-λ*t).
Alternatively, elimination rate can be specified via half_life.
Note that in the case of a conversion model, this applies to both the elimination and the conversion rates.
Absorption rate constant (k_a)
→ scenario → pharmacology → drugs → drug → PK → k_a
<k_a
[ CV=double ]
[ distr=("const" or "lognormal") ] DEFAULT VALUE const
mean=double
/>
Documentation (element)
Min: 0
Absorption rate parameter. Not allowed for one compartment models, but required for two and three compartment models and one compartment with conversion model (for the parent drug only).
Documentation (type)
A parameter with optional log-normal heterogeneity.
The mean value must be specified. Optionally, a distribution ("distr") and coefficient of variation ("CV") may be specified.
Documentation (base type)
A parameter with optional heterogeneity.
The mean cannot be specified (unless this type is extended). Optionally, a distribution ("distr") and coefficient of variation ("CV") may be specified.
Attributes
Coefficient of variation
CV=double
Units: unitless
The (linear) coefficient of variation. This value must be specified when a (non-constant) distribution is used. Note that specifying CV="0" has the same effect as distr="const" and disables sampling of this parameter, even if distr is not "const".
Distribution
distr=("const" or "lognormal")
Default value: const
To allow heterogeneity, a distribution must be specified. Valid options are as follows. "const": no variation or sampling. Specifying distr="const" has the same effect as not specifying distr at all. "lognormal": the parameter is sampled from a log-normal distribution. Note that the "mean" and "CV" values are linear (arithmetic) properties of the distribution and not log-space properties.
mean
mean=double
The (linear) mean value.
Conversion parameters (parent drug)
→ scenario → pharmacology → drugs → drug → PK → conversion
<conversion>
IN ANY ORDER:
| <metabolite ... />
| <rate ... />
| <molRatio ... />
| <IC50_log_correlation ... />
</conversion>
Documentation (element)
Configures the parent drug in a conversion model.
To use a conversion model, the parent drug should have this section defined as well as half-life or k (direct elimination; this may be zero) and k_a (absorption rate; this may be large).
The metabolite drug should define half-life or k (elimination of metabolite), but not k_a (absorption rate) or this section (conversion). It is not possible for the metabolite to itself undergo conversion with the current models.
Metabolite drug (abbreviation)
→ scenario → pharmacology → drugs → drug → PK → conversion → metabolite
<metabolite>
string
</metabolite>
Documentation (element)
The abbreviation of the metabolite drug (e.g. "DHA" or "DHA_AR").
Rate of conversion
→ scenario → pharmacology → drugs → drug → PK → conversion → rate
<rate
[ CV=double ]
[ distr=("const" or "lognormal") ] DEFAULT VALUE const
mean=double
/>
Documentation (element)
Rate of conversion of parent drug to metabolite.
Documentation (type)
A parameter with optional log-normal heterogeneity.
The mean value must be specified. Optionally, a distribution ("distr") and coefficient of variation ("CV") may be specified.
Documentation (base type)
A parameter with optional heterogeneity.
The mean cannot be specified (unless this type is extended). Optionally, a distribution ("distr") and coefficient of variation ("CV") may be specified.
Attributes
Coefficient of variation
CV=double
Units: unitless
The (linear) coefficient of variation. This value must be specified when a (non-constant) distribution is used. Note that specifying CV="0" has the same effect as distr="const" and disables sampling of this parameter, even if distr is not "const".
Distribution
distr=("const" or "lognormal")
Default value: const
To allow heterogeneity, a distribution must be specified. Valid options are as follows. "const": no variation or sampling. Specifying distr="const" has the same effect as not specifying distr at all. "lognormal": the parameter is sampled from a log-normal distribution. Note that the "mean" and "CV" values are linear (arithmetic) properties of the distribution and not log-space properties.
mean
mean=double
The (linear) mean value.
Molecular weight ratio
→ scenario → pharmacology → drugs → drug → PK → conversion → molRatio
<molRatio>
double
</molRatio>
Documentation (element)
Ratio of molecular weights: molecular weight of the metabolite divided by molecular weight of the parent.
IC50 log correlation
→ scenario → pharmacology → drugs → drug → PK → conversion → IC50_log_correlation
<IC50_log_correlation>
double
</IC50_log_correlation>
Documentation (element)
Min: 0 Max: 1
The IC50 values of parent and metabolite drugs may be sampled from the log-normal distribution (if CV is greater than 0). This parameter controls correlation between these samples, measured in log-space.
If this value is 1, samples are fully correlated: a single z-score is used to calculate both samples. If this is 0, two independent samples are used.
Values between 0 and 1 (partial correlation) are supported; in this case IC50 values are sampled such that cor(log(x), log(y)) matches this value (where x, y are parent and metabolite IC50 values).
Volume of Distribution (Vd)
→ scenario → pharmacology → drugs → drug → PK → vol_dist
<vol_dist
[ CV=double ]
[ distr=("const" or "lognormal") ] DEFAULT VALUE const
mean=double
/>
Documentation (element)
Units: l/kg Min: 0
Volume of Distribution.
If CV > 0 this is sampled from a log-normal distribution.
Documentation (type)
A parameter with optional log-normal heterogeneity.
The mean value must be specified. Optionally, a distribution ("distr") and coefficient of variation ("CV") may be specified.
Documentation (base type)
A parameter with optional heterogeneity.
The mean cannot be specified (unless this type is extended). Optionally, a distribution ("distr") and coefficient of variation ("CV") may be specified.
Attributes
Coefficient of variation
CV=double
Units: unitless
The (linear) coefficient of variation. This value must be specified when a (non-constant) distribution is used. Note that specifying CV="0" has the same effect as distr="const" and disables sampling of this parameter, even if distr is not "const".
Distribution
distr=("const" or "lognormal")
Default value: const
To allow heterogeneity, a distribution must be specified. Valid options are as follows. "const": no variation or sampling. Specifying distr="const" has the same effect as not specifying distr at all. "lognormal": the parameter is sampled from a log-normal distribution. Note that the "mean" and "CV" values are linear (arithmetic) properties of the distribution and not log-space properties.
mean
mean=double
The (linear) mean value.
Second compartment parameters
→ scenario → pharmacology → drugs → drug → PK → compartment2
<compartment2>
IN ANY ORDER:
| <k12 ... />
| <k21 ... />
</compartment2>
Documentation (element)
Optional element specifying conversion parameters to- and from- a second compartment.
Absorption rate to compartment 2 (k12)
→ scenario → pharmacology → drugs → drug → PK → compartment2 → k12
<k12
[ CV=double ]
[ distr=("const" or "lognormal") ] DEFAULT VALUE const
mean=double
/>
Documentation (element)
Units: day^-1 Min: 0
Absorption rate from the central compartment to the first periphery compartment (2).
It is sampled per-patient when CV > 0.
Documentation (type)
A parameter with optional log-normal heterogeneity.
The mean value must be specified. Optionally, a distribution ("distr") and coefficient of variation ("CV") may be specified.
Documentation (base type)
A parameter with optional heterogeneity.
The mean cannot be specified (unless this type is extended). Optionally, a distribution ("distr") and coefficient of variation ("CV") may be specified.
Attributes
Coefficient of variation
CV=double
Units: unitless
The (linear) coefficient of variation. This value must be specified when a (non-constant) distribution is used. Note that specifying CV="0" has the same effect as distr="const" and disables sampling of this parameter, even if distr is not "const".
Distribution
distr=("const" or "lognormal")
Default value: const
To allow heterogeneity, a distribution must be specified. Valid options are as follows. "const": no variation or sampling. Specifying distr="const" has the same effect as not specifying distr at all. "lognormal": the parameter is sampled from a log-normal distribution. Note that the "mean" and "CV" values are linear (arithmetic) properties of the distribution and not log-space properties.
mean
mean=double
The (linear) mean value.
Absorption rate from compartment 2 (k21)
→ scenario → pharmacology → drugs → drug → PK → compartment2 → k21
<k21
[ CV=double ]
[ distr=("const" or "lognormal") ] DEFAULT VALUE const
mean=double
/>
Documentation (element)
Units: day^-1 Min: 0
Absorption rate from the first periphery compartment (2) to the central compartment.
It is sampled per-patient when CV > 0.
Documentation (type)
A parameter with optional log-normal heterogeneity.
The mean value must be specified. Optionally, a distribution ("distr") and coefficient of variation ("CV") may be specified.
Documentation (base type)
A parameter with optional heterogeneity.
The mean cannot be specified (unless this type is extended). Optionally, a distribution ("distr") and coefficient of variation ("CV") may be specified.
Attributes
Coefficient of variation
CV=double
Units: unitless
The (linear) coefficient of variation. This value must be specified when a (non-constant) distribution is used. Note that specifying CV="0" has the same effect as distr="const" and disables sampling of this parameter, even if distr is not "const".
Distribution
distr=("const" or "lognormal")
Default value: const
To allow heterogeneity, a distribution must be specified. Valid options are as follows. "const": no variation or sampling. Specifying distr="const" has the same effect as not specifying distr at all. "lognormal": the parameter is sampled from a log-normal distribution. Note that the "mean" and "CV" values are linear (arithmetic) properties of the distribution and not log-space properties.
mean
mean=double
The (linear) mean value.
Third compartment parameters
→ scenario → pharmacology → drugs → drug → PK → compartment3
<compartment3>
IN ANY ORDER:
| <k13 ... />
| <k31 ... />
</compartment3>
Documentation (element)
Optional element specifying conversion parameters to- and from- a third compartment.
Absorption rate to compartment 3 (k13)
→ scenario → pharmacology → drugs → drug → PK → compartment3 → k13
<k13
[ CV=double ]
[ distr=("const" or "lognormal") ] DEFAULT VALUE const
mean=double
/>
Documentation (element)
Units: day^-1 Min: 0
Absorption rate from the central compartment to the second periphery compartment (3).
It is sampled per-patient when CV > 0.
Documentation (type)
A parameter with optional log-normal heterogeneity.
The mean value must be specified. Optionally, a distribution ("distr") and coefficient of variation ("CV") may be specified.
Documentation (base type)
A parameter with optional heterogeneity.
The mean cannot be specified (unless this type is extended). Optionally, a distribution ("distr") and coefficient of variation ("CV") may be specified.
Attributes
Coefficient of variation
CV=double
Units: unitless
The (linear) coefficient of variation. This value must be specified when a (non-constant) distribution is used. Note that specifying CV="0" has the same effect as distr="const" and disables sampling of this parameter, even if distr is not "const".
Distribution
distr=("const" or "lognormal")
Default value: const
To allow heterogeneity, a distribution must be specified. Valid options are as follows. "const": no variation or sampling. Specifying distr="const" has the same effect as not specifying distr at all. "lognormal": the parameter is sampled from a log-normal distribution. Note that the "mean" and "CV" values are linear (arithmetic) properties of the distribution and not log-space properties.
mean
mean=double
The (linear) mean value.
Absorption rate from compartment 3 (k31)
→ scenario → pharmacology → drugs → drug → PK → compartment3 → k31
<k31
[ CV=double ]
[ distr=("const" or "lognormal") ] DEFAULT VALUE const
mean=double
/>
Documentation (element)
Units: day^-1 Min: 0
Absorption rate from the second periphery compartment (3) to the central compartment.
It is sampled per-patient when CV > 0.
Documentation (type)
A parameter with optional log-normal heterogeneity.
The mean value must be specified. Optionally, a distribution ("distr") and coefficient of variation ("CV") may be specified.
Documentation (base type)
A parameter with optional heterogeneity.
The mean cannot be specified (unless this type is extended). Optionally, a distribution ("distr") and coefficient of variation ("CV") may be specified.
Attributes
Coefficient of variation
CV=double
Units: unitless
The (linear) coefficient of variation. This value must be specified when a (non-constant) distribution is used. Note that specifying CV="0" has the same effect as distr="const" and disables sampling of this parameter, even if distr is not "const".
Distribution
distr=("const" or "lognormal")
Default value: const
To allow heterogeneity, a distribution must be specified. Valid options are as follows. "const": no variation or sampling. Specifying distr="const" has the same effect as not specifying distr at all. "lognormal": the parameter is sampled from a log-normal distribution. Note that the "mean" and "CV" values are linear (arithmetic) properties of the distribution and not log-space properties.
mean
mean=double
The (linear) mean value.
Diagnostic parameters
→ scenario → diagnostics
<diagnostics>
IN THIS ORDER:
| ( <diagnostic ... /> )*
</diagnostics>
Documentation (element)
Diagnostic model parameters
diagnostic
→ scenario → diagnostics → diagnostic
<diagnostic
name=string
[ units=("Other" or "Garki" or "Malariatherapy") ]
[ mechanism=("Other" or "HRP2") ] DEFAULT VALUE Other
>
IN THIS ORDER:
| EXACTLY ONE OF:
| | <deterministic ... />
| | <stochastic ... />
</diagnostic>
Attributes
Name of diagnostic
name=string
Name of this diagnostic (parameterisation). May be used elsewhere in the XML document to refer to this set of diagnostic parameters.
Parasite density units / methodology
units=("Other" or "Garki" or "Malariatherapy")
Parasite densities, as estimated according to standard microscopy methods, the Garki method, and as derived from Malariatherapy data are not equivalent. Internally, a "bias" factor is used to convert values estimated by one methods to values comparable with another (see AJTMHv75 supplement 2 pp20-21). This option allows specification of which methodology the density given in the diagnostic specification is measured with. Values allowed are: Malariatherapy, Garki and Other. If not specified, Other is assumed, unless the GARKI_DENSITY_BIAS model option is used, in which case this option must be specified.
Mechanism
mechanism=("Other" or "HRP2")
Default value: Other
Mechanism by which this diagnostic functions. Possible values are: HRP2, Other. In the case of HRP2, infections with an hrp2_deletion will be invisible to this diagnostic. In the case of Other, the diagnostic is unaffected by infection genome. The diagnostic used for monitoring cannot use HRP2. (This is a restriction made to simplify implementation.)
Deterministic detection
→ scenario → diagnostics → diagnostic → deterministic
<deterministic
minDensity=double
/>
Documentation (element)
Specify that an artificial deterministic test is used: outcome is positive if parasite density is at least the minimum given.
Attributes
Minimum detectible density
minDensity=double
Units: parasites/microlitre Min: 0
The minimum density at which parasites can be detected. If 0, the test outcome is always positive.
Non-deterministic detection
→ scenario → diagnostics → diagnostic → stochastic
<stochastic
dens_50=double
specificity=double
/>
Documentation (element)
An improved model of detection which is non-deterministic, including false positive results as well as false negatives.
The probability of a positive outcome is modelled as 1 + s×(x/(x+d) - 1) where x is the parasite density, d is the density at which the test outcome has a 50% chance of being positive, and s is the probability of a positive outcome given no parasites (the specificity).
Some parameterisations:
Microscopy sensitivity/specificity data in Africa; Source: expert opinion — Allan Schapira dens_50 = 20.0 specificity = .75
RDT sensitivity/specificity for Plasmodium falciparum in Africa Source: Murray et al (Clinical Microbiological Reviews, Jan. 2008) dens_50 = 50.0; specificity = .942;
Attributes
Density 50
dens_50=double
Units: parasites/microlitre Min: 0
The density at which the test outcome has a 50% chance of being positive.
Specificity
specificity=double
Units: Dimensionless Min: 0 Max: 1
The probability of a positive test outcome in the absense of parasites.
Model options and parameters
<model>
IN ANY ORDER:
| <ModelOptions ... />
| <clinical ... />
| <human ... />
| [ <vivax ... /> ]
| <parameters ... />
</model>
Documentation (element)
Encapsulation of all parameters which describe the model according to which fitting is done.
Model Options
→ scenario → model → ModelOptions
<ModelOptions>
IN THIS ORDER:
| ( <option ... /> )*
</ModelOptions>
Documentation (element)
All model options (bug fixes, choices between models, etc.).
The list of recognised options can be found in the code at:
model/util/ModelOptions.h and should also be in the wiki.
clinical
<clinical
healthSystemMemory=string
>
IN ANY ORDER:
| [ <NeonatalMortality ... /> ]
| [ <NonMalariaFevers ... /> ]
</clinical>
Documentation (type)
Description of clinical parameters that are related to the health-system description, but which contain data that cannot be changed as part of an intervention and that are not restricted to treatment.
Attributes
Follow-up period during which recurrence is considered a treatment failure
healthSystemMemory=string
Units: User-defined (defaults to steps)
Follow-up period during which a recurrence is considered to be a treatment failure Can be specified in steps (e.g. 6t) or days (e.g. 28d).
Neonatal mortality parameters
→ scenario → model → clinical → NeonatalMortality
<NeonatalMortality
diagnostic=string
/>
Attributes
Diagnostic used to parameterise model
diagnostic=string
The name of a diagnostic used to parameterise the model. Neonatal mortality is derived from malaria patency of a certain sub-population of humans. This is the diagnostic used to asses patency for this purpose. If this is not specified, the monitoring diagnostic is used.
NonMalariaFevers
→ scenario → model → clinical → NonMalariaFevers
<NonMalariaFevers>
IN THIS ORDER:
| <incidence ... />
| [ <prNeedTreatmentNMF ... /> ]
| [ <prNeedTreatmentMF ... /> ]
</NonMalariaFevers>
Documentation (type)
Description of the incidence of non-malaria fever. Non-malaria fevers are only modelled if the NON_MALARIA_FEVERS option is used.
P(NMF)
→ scenario → model → clinical → NonMalariaFevers → incidence
<incidence
[ interpolation=("none" or "linear") ]
>
IN THIS ORDER:
| ( <group ... /> )+
</incidence>
Documentation (element)
Units: Dimensionless Min: 0.0 Max: 1.0
Probability that a non-malaria fever occurs given that no concurrent malaria fever occurs.
Attributes
interpolation
interpolation=("none" or "linear")
Interpolation algorithm. Normally it is desirable for age-based values to be continuous w.r.t. age. By default linear interpolation is used. With all algorithms except "none", the age groups are converted to a set of points centred within each age range. Extra points are added at each end (zero and infinity) to keep value constant at both ends of the function. A zero-length age group may be used as a kind of barrier to adjust the distribution; e.g. with age group boundaries at 15, 20 and 25 years, a (linear) spline would be drawn between ages 17.5 and 22.5, whereas with boundaries at 15, 20 and 20 years, a spline would be drawn between ages 17.5 and 20 years (may be desired if individuals are assumed to reach adult size at 20). Algorithms:
- none: input values are used directly
- linear: straight lines (on an age vs. value graph) are used to interpolate data points.
P(need treatment | NMF)
→ scenario → model → clinical → NonMalariaFevers → prNeedTreatmentNMF
<prNeedTreatmentNMF
[ interpolation=("none" or "linear") ]
>
IN THIS ORDER:
| ( <group ... /> )+
</prNeedTreatmentNMF>
Documentation (element)
Units: Dimensionless Min: 0 Max: 1
Probability that a non-malarial fever requires treatment with antibiotics (assuming fever is not induced by malaria, although concurrent parasites may be present).
Attributes
interpolation
interpolation=("none" or "linear")
Interpolation algorithm. Normally it is desirable for age-based values to be continuous w.r.t. age. By default linear interpolation is used. With all algorithms except "none", the age groups are converted to a set of points centred within each age range. Extra points are added at each end (zero and infinity) to keep value constant at both ends of the function. A zero-length age group may be used as a kind of barrier to adjust the distribution; e.g. with age group boundaries at 15, 20 and 25 years, a (linear) spline would be drawn between ages 17.5 and 22.5, whereas with boundaries at 15, 20 and 20 years, a spline would be drawn between ages 17.5 and 20 years (may be desired if individuals are assumed to reach adult size at 20). Algorithms:
- none: input values are used directly
- linear: straight lines (on an age vs. value graph) are used to interpolate data points.
P(need treatment | MF)
→ scenario → model → clinical → NonMalariaFevers → prNeedTreatmentMF
<prNeedTreatmentMF
[ interpolation=("none" or "linear") ]
>
IN THIS ORDER:
| ( <group ... /> )+
</prNeedTreatmentMF>
Documentation (element)
Units: Dimensionless Min: 0 Max: 1
Probability that a malaria fever needs treatment with antibiotics (assuming fever is induced by malaria, although concurrent bacteria may be present).
Meaning partially overlaps with separate model for comorbidity given malaria.
Attributes
interpolation
interpolation=("none" or "linear")
Interpolation algorithm. Normally it is desirable for age-based values to be continuous w.r.t. age. By default linear interpolation is used. With all algorithms except "none", the age groups are converted to a set of points centred within each age range. Extra points are added at each end (zero and infinity) to keep value constant at both ends of the function. A zero-length age group may be used as a kind of barrier to adjust the distribution; e.g. with age group boundaries at 15, 20 and 25 years, a (linear) spline would be drawn between ages 17.5 and 22.5, whereas with boundaries at 15, 20 and 20 years, a spline would be drawn between ages 17.5 and 20 years (may be desired if individuals are assumed to reach adult size at 20). Algorithms:
- none: input values are used directly
- linear: straight lines (on an age vs. value graph) are used to interpolate data points.
human
<human>
IN THIS ORDER:
| <availabilityToMosquitoes ... />
| [ <weight ... /> ]
</human>
Documentation (type)
Parameters of host models.
Availability to mosquitoes
→ scenario → model → human → availabilityToMosquitoes
<availabilityToMosquitoes
[ interpolation=("none" or "linear") ]
>
IN THIS ORDER:
| ( <group ... /> )+
</availabilityToMosquitoes>
Documentation (element)
Units: None Min: 0 Max: 1
Availability of humans to mosquitoes relative to an adult, categorized by age group
Attributes
interpolation
interpolation=("none" or "linear")
Interpolation algorithm. Normally it is desirable for age-based values to be continuous w.r.t. age. By default linear interpolation is used. With all algorithms except "none", the age groups are converted to a set of points centred within each age range. Extra points are added at each end (zero and infinity) to keep value constant at both ends of the function. A zero-length age group may be used as a kind of barrier to adjust the distribution; e.g. with age group boundaries at 15, 20 and 25 years, a (linear) spline would be drawn between ages 17.5 and 22.5, whereas with boundaries at 15, 20 and 20 years, a spline would be drawn between ages 17.5 and 20 years (may be desired if individuals are assumed to reach adult size at 20). Algorithms:
- none: input values are used directly
- linear: straight lines (on an age vs. value graph) are used to interpolate data points.
Weight
→ scenario → model → human → weight
<weight
[ interpolation=("none" or "linear") ]
multStdDev=double
>
IN THIS ORDER:
| ( <group ... /> )+
</weight>
Documentation (element)
Units: kg Min: 0
By age group data on human weight (mass).
Attributes
interpolation
interpolation=("none" or "linear")
Interpolation algorithm. Normally it is desirable for age-based values to be continuous w.r.t. age. By default linear interpolation is used. With all algorithms except "none", the age groups are converted to a set of points centred within each age range. Extra points are added at each end (zero and infinity) to keep value constant at both ends of the function. A zero-length age group may be used as a kind of barrier to adjust the distribution; e.g. with age group boundaries at 15, 20 and 25 years, a (linear) spline would be drawn between ages 17.5 and 22.5, whereas with boundaries at 15, 20 and 20 years, a spline would be drawn between ages 17.5 and 20 years (may be desired if individuals are assumed to reach adult size at 20). Algorithms:
- none: input values are used directly
- linear: straight lines (on an age vs. value graph) are used to interpolate data points.
Standard deviation
multStdDev=double
Units: None Min: 0
Each human is assigned a weight multiplier from a normal distribution with mean 1 and this standard deviation at birth. His/her weight is this multiplier times the mean from age distribution. A standard deviation of zero for no heterogeneity is valid; a rough value from Tanzanian data is 0.14.
Vivax model parameters
<vivax>
IN ANY ORDER:
| <probBloodStageInfectiousToMosq ... />
| <hypnozoiteRelease ... />
| <bloodStageProtectionLatency ... />
| <bloodStageLengthDays ... />
| <clinicalEvents ... />
</vivax>
- probBloodStageInfectiousToMosq
- hypnozoiteRelease
- bloodStageProtectionLatency
- bloodStageLengthDays
- clinicalEvents
Documentation (element)
This describes Vivax model parameters, and is required when using the VIVAX_SIMPLE_MODEL model option.
Probability of mosquito infection
→ scenario → model → vivax → probBloodStageInfectiousToMosq
<probBloodStageInfectiousToMosq
value=double
/>
Documentation (element)
Units: None Min: 0 Max: 1
The chance of a feeding mosquito becoming infected, given that the host is patent. (This may be adjusted by transmission-blocking vaccines.)
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Hypnozoite releases
→ scenario → model → vivax → hypnozoiteRelease
<hypnozoiteRelease
[ pSecondRelease=double ] DEFAULT VALUE 0
>
IN ANY ORDER:
| <numberHypnozoites ... />
| <firstReleaseDays ... />
| [ <secondReleaseDays ... /> ]
</hypnozoiteRelease>
Documentation (element)
Describes the number and times of hypnozoite releases.
Documentation (type)
This element defines probabilites when and how many hypnozoites are released from the liverstage into the blood.
The gap between the start of a new brood of hypnozoites and its release are defined as follows:
latentP + latentRelapse + randomReleaseDelay
randomReleaseDelay is based on one or two lognormal distributions, which are defined in firstRelease and optionally secondRelease.
You can define 2 release distributions, which get added together and represent the probability of hypnozoites which get released before winter (first release) or after (second release).
You can omit the secondRelease element if no release to the blood happens after winter.
Attributes
latent relapse days
pSecondRelease=double
Default value: 0
Probability of a second release. If undefined it is zero.
Number of Hypnozoites
→ scenario → model → vivax → hypnozoiteRelease → numberHypnozoites
<numberHypnozoites
max=int
base=double
/>
Documentation (element)
numberHypnozoites calculates the number of hypnozoites in the liver stage based on a base which is between 0 and 1.
This number is random based on the following distribution and normalized:
max ∑ (base ^ n) n = 0
Attributes
max
max=int
base
base=double
firstReleaseDays
→ scenario → model → vivax → hypnozoiteRelease → firstReleaseDays
<firstReleaseDays
[ CV=double ]
[ distr=("const" or "lognormal") ] DEFAULT VALUE const
mean=double
latentRelapse=double
/>
Documentation (type)
Hypnozoites are released after a delay, calculated as: roundToTSFromDays(delay + latentRelapse)
Here, roundToTSFromDays rounds the input (in days) to the nearest timestep, delay is sampled from a log-normal, and latentRelapse is the parameter specified here.
The delay is sampled from a log-normal distribution, parameterised via the (linear) mean and CV (coefficient of variation) given here.
Documentation (base type)
A parameter with optional log-normal heterogeneity.
The mean value must be specified. Optionally, a distribution ("distr") and coefficient of variation ("CV") may be specified.
Documentation (base type)
A parameter with optional heterogeneity.
The mean cannot be specified (unless this type is extended). Optionally, a distribution ("distr") and coefficient of variation ("CV") may be specified.
Attributes
Coefficient of variation
CV=double
Units: unitless
The (linear) coefficient of variation. This value must be specified when a (non-constant) distribution is used. Note that specifying CV="0" has the same effect as distr="const" and disables sampling of this parameter, even if distr is not "const".
Distribution
distr=("const" or "lognormal")
Default value: const
To allow heterogeneity, a distribution must be specified. Valid options are as follows. "const": no variation or sampling. Specifying distr="const" has the same effect as not specifying distr at all. "lognormal": the parameter is sampled from a log-normal distribution. Note that the "mean" and "CV" values are linear (arithmetic) properties of the distribution and not log-space properties.
mean
mean=double
The (linear) mean value.
latent relapse days
latentRelapse=double
Usually between 10 and 15 days.
secondReleaseDays
→ scenario → model → vivax → hypnozoiteRelease → secondReleaseDays
<secondReleaseDays
[ CV=double ]
[ distr=("const" or "lognormal") ] DEFAULT VALUE const
mean=double
latentRelapse=double
/>
Documentation (type)
Hypnozoites are released after a delay, calculated as: roundToTSFromDays(delay + latentRelapse)
Here, roundToTSFromDays rounds the input (in days) to the nearest timestep, delay is sampled from a log-normal, and latentRelapse is the parameter specified here.
The delay is sampled from a log-normal distribution, parameterised via the (linear) mean and CV (coefficient of variation) given here.
Documentation (base type)
A parameter with optional log-normal heterogeneity.
The mean value must be specified. Optionally, a distribution ("distr") and coefficient of variation ("CV") may be specified.
Documentation (base type)
A parameter with optional heterogeneity.
The mean cannot be specified (unless this type is extended). Optionally, a distribution ("distr") and coefficient of variation ("CV") may be specified.
Attributes
Coefficient of variation
CV=double
Units: unitless
The (linear) coefficient of variation. This value must be specified when a (non-constant) distribution is used. Note that specifying CV="0" has the same effect as distr="const" and disables sampling of this parameter, even if distr is not "const".
Distribution
distr=("const" or "lognormal")
Default value: const
To allow heterogeneity, a distribution must be specified. Valid options are as follows. "const": no variation or sampling. Specifying distr="const" has the same effect as not specifying distr at all. "lognormal": the parameter is sampled from a log-normal distribution. Note that the "mean" and "CV" values are linear (arithmetic) properties of the distribution and not log-space properties.
mean
mean=double
The (linear) mean value.
latent relapse days
latentRelapse=double
Usually between 10 and 15 days.
Blood stage protection latency
→ scenario → model → vivax → bloodStageProtectionLatency
<bloodStageProtectionLatency
value=double
/>
Documentation (element)
Min: 0
The length of time after expiry of a blood-stage infection during which relapses from the same brood are supressed by the immune system.
This is rounded to the nearest time-step.
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Blood stage length
→ scenario → model → vivax → bloodStageLengthDays
<bloodStageLengthDays
scale=double
shape=double
distr=("weibull")
/>
Documentation (element)
Units: Days
Parameters used to sample the length of blood-stage infections from a Weibull distribution (scale parameter lambda, shape parameter k).
Documentation (type)
Parameters of a Weibull distribution.
Attributes
Scale
scale=double
The Weibull scale parameter (λ).
shape
shape=double
The Weibull shape parameter (k).
Distribution
distr=("weibull")
To allow heterogeneity, a distribution must be specified. In this case, only "weibull" is allowed.
clinicalEvents
→ scenario → model → vivax → clinicalEvents
<clinicalEvents>
IN THIS ORDER:
| <pPrimaryInfection ... />
| <pRelapseOne ... />
| <pRelapseTwoPlus ... />
| <pEventIsSevere ... />
</clinicalEvents>
Documentation (type)
This elements holds all information about probabilites for clinical events from infections and relapses.
pPrimaryInfection
→ scenario → model → vivax → clinicalEvents → pPrimaryInfection
<pPrimaryInfection
a=double
b=double
/>
Attributes
a
a=double
b
b=double
pRelapseOne
→ scenario → model → vivax → clinicalEvents → pRelapseOne
<pRelapseOne
a=double
b=double
/>
Attributes
a
a=double
b
b=double
pRelapseTwoPlus
→ scenario → model → vivax → clinicalEvents → pRelapseTwoPlus
<pRelapseTwoPlus
a=double
b=double
/>
Attributes
a
a=double
b
b=double
pEventIsSevere
→ scenario → model → vivax → clinicalEvents → pEventIsSevere
<pEventIsSevere
value=double
/>
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Parameters of the model of epidemiology
→ scenario → model → parameters
<parameters
interval=int
iseed=int
latentp=string
>
IN THIS ORDER:
| ( <parameter ... /> )+
</parameters>
Documentation (element)
Parameters of the epidemiological model
Attributes
Simulation step
interval=int
Units: Days
Simulation step
Random number seed
iseed=int
Units: Number
Seed for RNG
Pre-erythrocytic latent period
latentp=string
Units: User defined (default: steps) Min: 0 Max: 20
Pre-erythrocytic latent period Can be specified in steps (e.g. 3t) or days (e.g. 15d).
parameter
→ scenario → model → parameters → parameter
<parameter
[ name=string ]
number=int
value=double
[ include=boolean ]
/>
Attributes
Name of parameter
name=string
Units: string
Name of parameter
Parameter number
number=int
Units: Number Min: 1 Max: 100
Reference number of input parameter
Parameter value
value=double
Units: Number Min: 0
Parameter value
Sampling indicator
include=boolean
Units: Number Min: 0 Max: 1
True if parameter is to be sampled in optimization runs. Not used in simulator app.
Schema 40 documentation
Generated from: scenario_40.xsd
.
Key:
abc required (one)
[ def ] optional (zero or one)
( ghi )* any number (zero or more)
( jkl )+ at least one
( mno ){2,inf} two or more occurrences
Scenario
→ scenario
<scenario
schemaVersion=int
[ analysisNo=int ]
name=string
[ wuID=int ]
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:om="http://openmalaria.org/schema/scenario_40"
xsi:schemaLocation="http://openmalaria.org/schema/scenario_40 scenario_40.xsd"
>
IN ANY ORDER:
| <demography ... />
| <monitoring ... />
| <interventions ... />
| <healthSystem ... />
| <entomology ... />
| [ <parasiteGenetics ... /> ]
| [ <pharmacology ... /> ]
| [ <diagnostics ... /> ]
| <model ... />
</scenario>
- demography
- monitoring
- interventions
- healthSystem
- entomology
- parasiteGenetics
- pharmacology
- diagnostics
- model
Documentation (element)
Description of scenario
Attributes
Version of the xml schema
schemaVersion=int
Version of xml schema. If not equal to the current version an error is thrown. Use SchemaTranslator to update xml files.
Reference number of the analysis
analysisNo=int
Units: Number Min: 1 Max: 100000000
Unique identifier of scenario
Name of intervention
name=string
Name of intervention
Work unit identifier
wuID=int
Units: Number
Work unit ID. Obselete and no longer required.
Human age distribution
→ scenario → demography
<demography
name=string
popSize=int
maximumAgeYrs=double
[ growthRate=double ]
>
IN THIS ORDER:
| <ageGroup ... />
</demography>
Documentation (element)
Description of demography
Attributes
Name of demography data
name=string
Name of demography data
Population size
popSize=int
Units: Count Min: 1 Max: 100000
Population size
Maximum age of simulated humans
maximumAgeYrs=double
Units: Years Min: 0 Max: 100
Maximum age of simulated humans in years
Growth rate of human population
growthRate=double
Units: Number Min: 0 Max: 0
Growth rate of human population. (we should be able to implement this with non-zero values)
Age groups
→ scenario → demography → ageGroup
<ageGroup
lowerbound=double
>
IN THIS ORDER:
| ( <group ... /> )+
</ageGroup>
Documentation (element)
list of age groups included in demography
Documentation (type)
list of age groups included in demography or surveys
Attributes
Lower bound of age group
lowerbound=double
Units: Years Min: 0 Max: 100
Lower bound of age group
group
→ scenario → demography → ageGroup → group
<group
poppercent=double
upperbound=double
/>
Attributes
Percentage in age group
poppercent=double
Units: Percentage Min: 0 Max: 100
Percentage of human population in age group
Upper bound of age group
upperbound=double
Units: Years Min: 0 Max: 100
Upper bound of age group
Measures to be reported
→ scenario → monitoring
<monitoring
name=string
[ startDate=string ]
>
IN THIS ORDER:
| [ <continuous ... /> ]
| <SurveyOptions ... />
| <surveys ... />
| <ageGroup ... />
| [ <cohorts ... /> ]
</monitoring>
Documentation (element)
Description of surveys
Attributes
Name of monitoring settings
name=string
Name of monitoring settings
Start of monitoring
startDate=string
An optional date for the start of monitoring. If given, dates may be used to specify when other events (surveys, intervention deployments) occur; alternately times relative to the start of the intervention period may be used to specify event times. Setting this to 1st January of some year might simplify usage of dates, and putting the start a couple of years before the start of intervention deployment (along with some extra surveys) may be useful to check transmission stabilises to the expected pre-intervention levels. As an example, if this date is set to 2000-01-01, then the following event times are equivalent (assuming 1t=5d): 15t, 75d, 0.2y, 2000-03-16. Must be in the form YYYY-MM-DD, e.g. 2003-01-01.
continuous
→ scenario → monitoring → continuous
<continuous
period=string
[ duringInit=boolean ]
>
IN THIS ORDER:
| ( <option ... /> )*
</continuous>
Attributes
Delay between reports
period=string
Units: User defined (default: steps)
Delay between reports; typically one time step but can be greater. Can be specified in steps (e.g. 1t) or days (e.g. 5d).
During initialization
duringInit=boolean
Units: Days Min: 1 Max: unbounded
Also output during initialization. By default this is disabled (only intervention-period data is output). This should not be used for predictions, but can be useful for model validation. In this mode, 'simulation time' is output as the first column (in addition to 'timestep'), since 'timestep' is dis- continuous across the start of the intervention period.
option
→ scenario → monitoring → continuous → option
<option
name=string
[ value=boolean ] DEFAULT VALUE true
/>
Attributes
Option name
name=string
Name of an option (monitoring measure or model option).
Indicator of whether option is required
value=boolean
Default value: true
Option on/off switch (true/false). Specifying value="true" is the same as not specifying a value; specifying value="false" explicitly turns the option off. If an option is not mentioned at all, it is left at its default value (normally off, but in a few cases, such as some bug-fix options, on).
Name of quantity
→ scenario → monitoring → SurveyOptions
<SurveyOptions
[ onlyNewEpisode=boolean ] DEFAULT VALUE false
>
IN THIS ORDER:
| ( <option ... /> )*
</SurveyOptions>
Documentation (element)
List of all active survey options. See model/mon/OutputMeasures.h for a list of supported outputs. Should also be on the wiki.
Attributes
Report only for new cases
onlyNewEpisode=boolean
Default value: false
If set, some statistics exclude humans who have been treated in the recent past (precisely, when the time of last treatment was before the current step and no more than health-system-memory days/steps ago). This is a rough replacement for the REPORT_ONLY_AT_RISK option, with one difference: the maximum age of treatment for REPORT_ONLY_AT_RISK was fixed at 20 days. Affected measures include (as of version 35): nHost (0), nInfect(1), nExpectd (2), nPatent (3), sumLogPyrogenThres (4), sumlogDens (5), totalInfs (6), totalPatentInf (8), sumPyrogenThresh (10), nSubPopRemovalFirstEvent (62), sumAge (68), nInfectByGenotype (69), nPatentByGenotype (70), logDensByGenotype (71), nHostDrugConcNonZero (72), sumLogDrugConcNonZero (73).
option
→ scenario → monitoring → SurveyOptions → option
<option
name=string
[ value=boolean ] DEFAULT VALUE true
[ outputNumber=int ]
[ byAge=boolean ]
[ byCohort=boolean ]
[ bySpecies=boolean ]
[ byGenotype=boolean ]
[ byDrugType=boolean ]
/>
Attributes
Option name
name=string
Name of an option (monitoring measure or model option).
Indicator of whether option is required
value=boolean
Default value: true
Option on/off switch (true/false). Specifying value="true" is the same as not specifying a value; specifying value="false" explicitly turns the option off. If an option is not mentioned at all, it is left at its default value (normally off, but in a few cases, such as some bug-fix options, on).
Number identifying measure in output
outputNumber=int
Number identifying this monitoring measure in the output file (3rd column). Normally this is determined from the measure, but it can be set manually, e.g. for when the same measure is recorded twice (to accumulate across different categories).
Report by age category
byAge=boolean
If true, the measure is reported for each age category. If false, values are summed across all age categories and only the sum reported. If not specified, separate categories will be reported if the measure supports this.
Report by cohort
byCohort=boolean
If true, the measure is reported for each cohort separately. If false, values are summed across all cohorts and only the sum reported. If not specified, separate categories will be reported if the measure supports this.
Report by mosquito species
bySpecies=boolean
If true, the measure is reported for each mosquito species separately. If false, values are summed across all species and only the sum reported. If not specified, separate categories will be reported if the measure supports this.
Report by parasite genotype
byGenotype=boolean
If true, the measure is reported for each parasite genotype separately. If false, values are summed across all genotypes and only the sum reported. If not specified, separate categories will be reported if the measure supports this.
Report by drug type
byDrugType=boolean
If true, the measure is reported for each drug type separately. If false, values are summed across all drug types and only the sum reported. If not specified, separate categories will be reported if the measure supports this.
Survey times (time steps)
→ scenario → monitoring → surveys
<surveys
[ detectionLimit=double ]
[ diagnostic=string ]
>
IN THIS ORDER:
| ( <surveyTime ... /> )+
</surveys>
Documentation (element)
List of survey times
Attributes
Detection limit for parasitaemia
detectionLimit=double
Units: parasites/microlitre Min: 0
Deprecated: limit above which a human's infection is reported as patent. Alternative: do not specify this; instead specify "diagnostic".
Name of monitoring diagnostic
diagnostic=string
Name of a parameterised diagnostic to use in surveys (see scenario/diagnostics).
Survey time
→ scenario → monitoring → surveys → surveyTime
<surveyTime
[ repeatStep=string ]
[ repeatEnd=string ]
[ reported=boolean ] DEFAULT VALUE true
>
string
</surveyTime>
Documentation (element)
Units: User defined (defaults to steps) Min: 0
Time of a survey. A report will be made for those measures enabled under SurveyOptions. Reported data is either from the moment the survey is done (immediate data) or is collected over the time since the previous survey, or in some cases over a fixed time span (usually one year).
Times can be specified in time steps, starting from 0, or as a date (see monitoring/startDate), or in days (e.g. 15d) or years (e.g. 1y). Relative times mean the time since the start of the intervention period, and must be non-negative (zero is valid, but some measures, e.g. nUncomp, will be zero).
The simulation ends immediately after the last survey is taken.
Attributes
Step of repetition
repeatStep=string
Units: User defined
See repeatEnd's documentation.
End of repetition (exclusive)
repeatEnd=string
Units: User defined
Either both repeatStep and repeatEnd should be present or neither. If present, the survey is repeated every repeatStep timesteps (i.e. if t0 is the initial time and x is repeatStep, surveys are done at times t0, t0+x, t0+2*x, ...), ending before repeatEnd (final repetition is the one before repeatEnd). Note that repeatEnd may be specified as a date but repeatStep must be a duration (days, steps or years).
reported
reported=boolean
Default value: true
For normal surveys, reporting=true. If set false, quantities are measured but not reported. The reason for doing this is to update conditions set on reportable measures. Multiple surveys may be given here for the same date, e.g. if using "repeatStep" for both reporting and non-reporting surveys. These are combined such that a maximum of one survey is carried out per time-step, and the survey is reported if any of the listed surveys for this date is configured as "reporting". Note that adding non-reporting surveys will not affect value output by reported surveys, with the exception that generated psuedo-random numbers may be altered (specifically, when any stochastic diagnostics are used in surveys).
Age groups
→ scenario → monitoring → ageGroup
<ageGroup
lowerbound=double
>
IN THIS ORDER:
| ( <group ... /> )+
</ageGroup>
Documentation (element)
List of age groups included in demography or surveys
Attributes
lower bound of age group
lowerbound=double
Units: Years Min: 0 Max: 100
Lower bound of age group
group
→ scenario → monitoring → ageGroup → group
<group
upperbound=double
/>
Attributes
upper bound of age group
upperbound=double
Units: Years Min: 0 Max: 100
Upper bound of age group
Cohorts
→ scenario → monitoring → cohorts
<cohorts>
IN THIS ORDER:
| ( <subPop ... /> )+
</cohorts>
Documentation (element)
Allows the configuration of multiple cohorts (output segregated according to membership within specific sub-populations).
If this element is omitted, monitoring surveys cover the entire simulated human population.
It does not affect the "continuous" outputs (these never take cohorts into account).
Sub-population
→ scenario → monitoring → cohorts → subPop
<subPop
id=string
number=integer
/>
Documentation (element)
Consider a certain sup-population a cohort, and segregate outputs according to membership. Where multiple sub-populations are listed, segregate output according to all combinations of membership: e.g. if sub-populations A and B are listed, there will be outputs for "member of A and B", "member of A but not B", "B but not A" and "not a member of A or B". Listing n sub-populations implies 2^n sets of outputs (each is further segregated by age groups, survey times and enabled output measures, which could lead to excessive program memory usage and output file size).
To identify outputs, each sub-population has a power of two number as identifier (see "number" attribute). Each of the 2^n output sets is identified by a number: the output set is the output from humans who are members in some set of sub-populations (S1, S2, ...) and not members in some others (T1, T2, ...); the number identifying the set is the sum of the numbers identifying the sets S1, S2, etc.
In the output file, the output set is identified by multiplying this number by 1000 then adding it to the age group column.
Attributes
Sub-population identifier
id=string
Textual identifier for the sub-population (i.e. for an intervention component, since sub-populations are defined as the hosts an intervention component is deployed to).
Sub-population number
number=integer
Units: dimensionless Min: 1 Max: 2097152
Number identifying a sub-population; used to define identifiers of output sets. This number must be a power of 2 (i.e. 1, 2, 4, 8, ...). See documentation of subPop element.
Preventative interventions
<interventions
name=string
>
IN ANY ORDER:
| [ <changeHS ... /> ]
| [ <changeEIR ... /> ]
| [ <importedInfections ... /> ]
| [ <insertR_0Case ... /> ]
| [ <uninfectVectors ... /> ]
| [ <vectorPop ... /> ]
| [ <vectorTrap ... /> ]
| [ <human ... /> ]
</interventions>
Documentation (element)
List of interventions. Generally these are either point-time distributions of something to some subset of the population, or continuous-time distribution targetting individuals when they reach a certain age.
Attributes
Name of intervention set
name=string
Name of set of interventions
Change health system
→ scenario → interventions → changeHS
<changeHS
[ name=string ]
>
IN THIS ORDER:
| ( <timedDeployment ... /> )*
</changeHS>
Documentation (element)
Changes to the health system
Attributes
Name of intervention
name=string
Name of intervention
timedDeployment
→ scenario → interventions → changeHS → timedDeployment
<timedDeployment
time=string
>
IN THIS ORDER:
| EXACTLY ONE OF:
| | <EventScheduler ... />
| | <ImmediateOutcomes ... />
| | <DecisionTree5Day ... />
| <CFR ... />
| <pSequelaeInpatient ... />
</timedDeployment>
Documentation (type)
A complete replacement health system. Replaces all previous properties. (Health system can be replaced multiple times if necessary.)
Documentation (base type)
Description of case management system, used to specify the initial model or a replacement (an intervention). Encompasses case management data and some other data required to derive case outcomes.
Contains a sub-element describing the particular health-system in use. Health system data is here defined as data used to decide on a treatment strategy, given a case requiring treatment.
Attributes
Time
time=string
Units: User defined (defauls to steps) Min: 0
Time at which this replacement occurs. See doc on intervention period and on monitoring/startDate for details of how times work. Can be specified in steps, days, years, or as a date (examples: 15t, 75d, 0.2y, 2000-03-16).
EventScheduler
→ scenario → healthSystem → EventScheduler
<EventScheduler>
IN THIS ORDER:
| <uncomplicated ... />
| <complicated ... />
| <ClinicalOutcomes ... />
| [ <NonMalariaFevers ... /> ]
</EventScheduler>
uncomplicated
→ scenario → healthSystem → EventScheduler → uncomplicated
<uncomplicated
[ name=string ]
>
EXACTLY ONE OF:
| <multiple ... />
| <caseType ... />
| <diagnostic ... />
| <random ... />
| <age ... />
| <noTreatment ... />
| <treatFailure ... />
| ( <treatPKPD ... /> )+
| <treatSimple ... />
| ( <deploy ... /> )+
</uncomplicated>
Documentation (type)
Describes how "decisions" are made, both probabilistically and deterministically, and what actions are carried out.
Quantities may also be reported as a side effect of decisions made in the tree, for example the number of diagnostics used.
Attributes
Name
name=string
An optional piece of documentation attached to this node.
multiple
→ scenario → interventions → human → component → decisionTree → multiple
<multiple
[ name=string ]
>
IN THIS ORDER:
| ( <caseType ... /> )*
| ( <diagnostic ... /> )*
| ( <random ... /> )*
| ( <age ... /> )*
| ( <treatPKPD ... /> )*
| [ <treatSimple ... /> ]
| ( <deploy ... /> )*
</multiple>
Documentation (type)
A special node allowing multiple sub-trees to be evaluated.
This is different from an ordinary decision tree node in that:
a) multiple types of child can occur simultaneously (e.g. multiple types of treatment or treatment plus a 'random' sub-tree)
b) the 'noTreatment' and 'treatFailure' nodes are not allowed
Attributes
Name
name=string
An optional piece of documentation attached to this node.
caseType
→ scenario → interventions → human → component → decisionTree → multiple → caseType
<caseType
[ name=string ]
>
IN ANY ORDER:
| <firstLine ... />
| <secondLine ... />
</caseType>
Documentation (type)
A switch which choses a branch deterministically, based on whether the patient was treated recently (second line) or not (first line).
For uncomplicated cases only.
Attributes
Name
name=string
An optional piece of documentation attached to this node.
firstLine
→ scenario → interventions → human → component → decisionTree → multiple → caseType → firstLine
<firstLine
[ name=string ]
>
EXACTLY ONE OF:
| <multiple ... />
| <caseType ... />
| <diagnostic ... />
| <random ... />
| <age ... />
| <noTreatment ... />
| <treatFailure ... />
| ( <treatPKPD ... /> )+
| <treatSimple ... />
| ( <deploy ... /> )+
</firstLine>
Documentation (type)
Describes how "decisions" are made, both probabilistically and deterministically, and what actions are carried out.
Quantities may also be reported as a side effect of decisions made in the tree, for example the number of diagnostics used.
Attributes
Name
name=string
An optional piece of documentation attached to this node.
caseType
→ scenario → interventions → human → component → decisionTree → caseType
<caseType
[ name=string ]
>
IN ANY ORDER:
| <firstLine ... />
| <secondLine ... />
</caseType>
Documentation (type)
A switch which choses a branch deterministically, based on whether the patient was treated recently (second line) or not (first line).
For uncomplicated cases only.
Attributes
Name
name=string
An optional piece of documentation attached to this node.
secondLine
→ scenario → interventions → human → component → decisionTree → multiple → caseType → secondLine
<secondLine
[ name=string ]
>
EXACTLY ONE OF:
| <multiple ... />
| <caseType ... />
| <diagnostic ... />
| <random ... />
| <age ... />
| <noTreatment ... />
| <treatFailure ... />
| ( <treatPKPD ... /> )+
| <treatSimple ... />
| ( <deploy ... /> )+
</secondLine>
Documentation (type)
Describes how "decisions" are made, both probabilistically and deterministically, and what actions are carried out.
Quantities may also be reported as a side effect of decisions made in the tree, for example the number of diagnostics used.
Attributes
Name
name=string
An optional piece of documentation attached to this node.
diagnostic
→ scenario → interventions → human → component → decisionTree → diagnostic
<diagnostic
diagnostic=string
[ name=string ]
>
IN ANY ORDER:
| <positive ... />
| <negative ... />
</diagnostic>
Documentation (type)
A switch which choses a branch deterministically, based on the outcome of some type of diagnostic.
Attributes
Name of diagnostic
diagnostic=string
Should match the name of some parameterised diagnostic (see scenario/diagnostics).
Name
name=string
An optional piece of documentation attached to this node.
positive
→ scenario → interventions → human → component → decisionTree → multiple → diagnostic → positive
<positive
[ name=string ]
>
EXACTLY ONE OF:
| <multiple ... />
| <caseType ... />
| <diagnostic ... />
| <random ... />
| <age ... />
| <noTreatment ... />
| <treatFailure ... />
| ( <treatPKPD ... /> )+
| <treatSimple ... />
| ( <deploy ... /> )+
</positive>
Documentation (type)
Describes how "decisions" are made, both probabilistically and deterministically, and what actions are carried out.
Quantities may also be reported as a side effect of decisions made in the tree, for example the number of diagnostics used.
Attributes
Name
name=string
An optional piece of documentation attached to this node.
random
→ scenario → interventions → human → component → decisionTree → random
<random
[ name=string ]
>
IN THIS ORDER:
| ( <outcome ... /> )+
</random>
Documentation (type)
A switch which choses a branch randomly.
Each branch must be listed with a probability; the sum of all these probabilities must equal 1.
Attributes
Name
name=string
An optional piece of documentation attached to this node.
outcome
→ scenario → interventions → human → component → decisionTree → multiple → random → outcome
<outcome
[ name=string ]
p=double
>
EXACTLY ONE OF:
| <multiple ... />
| <caseType ... />
| <diagnostic ... />
| <random ... />
| <age ... />
| <noTreatment ... />
| <treatFailure ... />
| ( <treatPKPD ... /> )+
| <treatSimple ... />
| ( <deploy ... /> )+
</outcome>
Documentation (base type)
Describes how "decisions" are made, both probabilistically and deterministically, and what actions are carried out.
Quantities may also be reported as a side effect of decisions made in the tree, for example the number of diagnostics used.
Attributes
Name
name=string
An optional piece of documentation attached to this node.
Probability
p=double
Units: None Min: 0 Max: 1
Probability of selecting this outcome. The sum of probabilities across all outcomes must be 1.
age
→ scenario → interventions → human → component → decisionTree → age
<age
[ name=string ]
>
IN THIS ORDER:
| ( <age ... /> )+
</age>
Documentation (type)
A switch which choses a branch deterministically, based on the patient's age (in years).
Categories must uniquely cover all ages from birth, with no upper bound. Categories must be listed in order of age, increasing; the first must have lower bound 0. Upper bounds are equal to the lower bound of the next category, (but are exclusive where lower bounds are inclusive); the last category has no upper bound.
Attributes
Name
name=string
An optional piece of documentation attached to this node.
Age range
→ scenario → interventions → human → component → decisionTree → multiple → age → age
<age
[ name=string ]
lb=double
>
EXACTLY ONE OF:
| <multiple ... />
| <caseType ... />
| <diagnostic ... />
| <random ... />
| <age ... />
| <noTreatment ... />
| <treatFailure ... />
| ( <treatPKPD ... /> )+
| <treatSimple ... />
| ( <deploy ... /> )+
</age>
Documentation (element)
Describes a branch, selected for patients of a certain age.
Documentation (base type)
Describes how "decisions" are made, both probabilistically and deterministically, and what actions are carried out.
Quantities may also be reported as a side effect of decisions made in the tree, for example the number of diagnostics used.
Attributes
Name
name=string
An optional piece of documentation attached to this node.
Lower bound (inclusive)
lb=double
Min: 0
noTreatment
→ scenario → interventions → human → component → decisionTree → noTreatment
<noTreatment
[ name=string ]
/>
Documentation (type)
An end node doing nothing. This exists to explicitly state that no treatment happens and to prevent trees from accidentally being left incomplete.
Attributes
Name
name=string
An optional piece of documentation attached to this node.
treatFailure
→ scenario → interventions → human → component → decisionTree → treatFailure
<treatFailure
[ name=string ]
/>
Documentation (type)
An end node which reports treatment but does not change parasitalogical status. This allows correct labelling of second-line cases.
Attributes
Name
name=string
An optional piece of documentation attached to this node.
treatPKPD
→ scenario → interventions → human → component → decisionTree → treatPKPD
<treatPKPD
schedule=string
dosage=string
[ delay_h=double ] DEFAULT VALUE 0
/>
Documentation (type)
A command to administer drugs according to a given schedule and dosage table, optionally with a delay.
Attributes
Name of treatment schedule
schedule=string
The name of a schedule to use for treatment.
Name of dosage table
dosage=string
The name of a dosage table to use for treatment.
Delay (hours)
delay_h=double
Default value: 0
Optionally, this can be given to delay the start of treatment by a given number of hours. If not specified, treatment is not delayed. If a delay is given, all medications within the treatment schedule used are delayed by this number of hours.
treatSimple
→ scenario → interventions → human → component → decisionTree → treatSimple
<treatSimple
durationLiver=string
durationBlood=string
/>
Documentation (type)
Simple treatment model, targetting liver- and/or blood-stage infections. This is all-or-nothing treatment which, when deploymed, completely clears all infections of the targetted stages. This makes it unsuitable for modeling resistance, but suitable for use with simple infection models.
Infections are considered liver-stage when less than five days old and blood-stage after that. Effects are described independently for the two stages.
Attributes
Length of liver-stage effect
durationLiver=string
Units: User defined
Controls action on liver-stage infections. 0 means no action, -1 step is a compatibility option to act like treatment before schema version 32 (which removed infections retrospectively), 1 step or any duration which equals some whole number of steps n>0 means to clear all liver-stage infections found on the next 1 or n steps. Note on -1 compatibility option: the main difference to 1 step (clearing on the next timestep) is that parasite densities will be reduced immediately, and thus from the point of view of surveys and mass screen and treat interventions a peak in density which is immediately treated through case management will not be seen. Can be specified in steps (e.g. 1t, -1t) or days (e.g. 5d).
Length of blood-stage effect
durationBlood=string
Units: User defined
Controls action on blood-stage infections. 0 means no action, -1 step is a compatibility option to act like treatment before schema version 32 (which removed infections retrospectively), 1 step or any duration which equals some whole number of steps n>0 means to clear all blood-stage infections found on the next 1 or n steps. Note on -1 compatibility option: the main difference to 1 step (clearing on the next timestep) is that parasite densities will be reduced immediately, and thus from the point of view of surveys and mass screen and treat interventions a peak in density which is immediately treated through case management will not be seen. Can be specified in steps (e.g. 1t, -1t) or days (e.g. 5d).
deploy
→ scenario → interventions → human → component → decisionTree → deploy
<deploy
component=string
/>
Documentation (type)
Deploy one or more intervention components.
Attributes
Component identifier
component=string
The identifier (short name) of a component.
negative
→ scenario → interventions → human → component → decisionTree → multiple → diagnostic → negative
<negative
[ name=string ]
>
EXACTLY ONE OF:
| <multiple ... />
| <caseType ... />
| <diagnostic ... />
| <random ... />
| <age ... />
| <noTreatment ... />
| <treatFailure ... />
| ( <treatPKPD ... /> )+
| <treatSimple ... />
| ( <deploy ... /> )+
</negative>
Documentation (type)
Describes how "decisions" are made, both probabilistically and deterministically, and what actions are carried out.
Quantities may also be reported as a side effect of decisions made in the tree, for example the number of diagnostics used.
Attributes
Name
name=string
An optional piece of documentation attached to this node.
diagnostic
→ scenario → interventions → human → component → decisionTree → multiple → diagnostic
<diagnostic
diagnostic=string
[ name=string ]
>
IN ANY ORDER:
| <positive ... />
| <negative ... />
</diagnostic>
Documentation (type)
A switch which choses a branch deterministically, based on the outcome of some type of diagnostic.
Attributes
Name of diagnostic
diagnostic=string
Should match the name of some parameterised diagnostic (see scenario/diagnostics).
Name
name=string
An optional piece of documentation attached to this node.
random
→ scenario → interventions → human → component → decisionTree → multiple → random
<random
[ name=string ]
>
IN THIS ORDER:
| ( <outcome ... /> )+
</random>
Documentation (type)
A switch which choses a branch randomly.
Each branch must be listed with a probability; the sum of all these probabilities must equal 1.
Attributes
Name
name=string
An optional piece of documentation attached to this node.
age
→ scenario → interventions → human → component → decisionTree → multiple → age
<age
[ name=string ]
>
IN THIS ORDER:
| ( <age ... /> )+
</age>
Documentation (type)
A switch which choses a branch deterministically, based on the patient's age (in years).
Categories must uniquely cover all ages from birth, with no upper bound. Categories must be listed in order of age, increasing; the first must have lower bound 0. Upper bounds are equal to the lower bound of the next category, (but are exclusive where lower bounds are inclusive); the last category has no upper bound.
Attributes
Name
name=string
An optional piece of documentation attached to this node.
treatPKPD
→ scenario → interventions → human → component → decisionTree → multiple → treatPKPD
<treatPKPD
schedule=string
dosage=string
[ delay_h=double ] DEFAULT VALUE 0
/>
Documentation (type)
A command to administer drugs according to a given schedule and dosage table, optionally with a delay.
Attributes
Name of treatment schedule
schedule=string
The name of a schedule to use for treatment.
Name of dosage table
dosage=string
The name of a dosage table to use for treatment.
Delay (hours)
delay_h=double
Default value: 0
Optionally, this can be given to delay the start of treatment by a given number of hours. If not specified, treatment is not delayed. If a delay is given, all medications within the treatment schedule used are delayed by this number of hours.
treatSimple
→ scenario → interventions → human → component → decisionTree → multiple → treatSimple
<treatSimple
durationLiver=string
durationBlood=string
/>
Documentation (type)
Simple treatment model, targetting liver- and/or blood-stage infections. This is all-or-nothing treatment which, when deploymed, completely clears all infections of the targetted stages. This makes it unsuitable for modeling resistance, but suitable for use with simple infection models.
Infections are considered liver-stage when less than five days old and blood-stage after that. Effects are described independently for the two stages.
Attributes
Length of liver-stage effect
durationLiver=string
Units: User defined
Controls action on liver-stage infections. 0 means no action, -1 step is a compatibility option to act like treatment before schema version 32 (which removed infections retrospectively), 1 step or any duration which equals some whole number of steps n>0 means to clear all liver-stage infections found on the next 1 or n steps. Note on -1 compatibility option: the main difference to 1 step (clearing on the next timestep) is that parasite densities will be reduced immediately, and thus from the point of view of surveys and mass screen and treat interventions a peak in density which is immediately treated through case management will not be seen. Can be specified in steps (e.g. 1t, -1t) or days (e.g. 5d).
Length of blood-stage effect
durationBlood=string
Units: User defined
Controls action on blood-stage infections. 0 means no action, -1 step is a compatibility option to act like treatment before schema version 32 (which removed infections retrospectively), 1 step or any duration which equals some whole number of steps n>0 means to clear all blood-stage infections found on the next 1 or n steps. Note on -1 compatibility option: the main difference to 1 step (clearing on the next timestep) is that parasite densities will be reduced immediately, and thus from the point of view of surveys and mass screen and treat interventions a peak in density which is immediately treated through case management will not be seen. Can be specified in steps (e.g. 1t, -1t) or days (e.g. 5d).
deploy
→ scenario → interventions → human → component → decisionTree → multiple → deploy
<deploy
component=string
/>
Documentation (type)
Deploy one or more intervention components.
Attributes
Component identifier
component=string
The identifier (short name) of a component.
complicated
→ scenario → healthSystem → EventScheduler → complicated
<complicated
[ name=string ]
>
EXACTLY ONE OF:
| <multiple ... />
| <caseType ... />
| <diagnostic ... />
| <random ... />
| <age ... />
| <noTreatment ... />
| <treatFailure ... />
| ( <treatPKPD ... /> )+
| <treatSimple ... />
| ( <deploy ... /> )+
</complicated>
Documentation (type)
Describes how "decisions" are made, both probabilistically and deterministically, and what actions are carried out.
Quantities may also be reported as a side effect of decisions made in the tree, for example the number of diagnostics used.
Attributes
Name
name=string
An optional piece of documentation attached to this node.
ClinicalOutcomes
→ scenario → healthSystem → EventScheduler → ClinicalOutcomes
<ClinicalOutcomes>
IN THIS ORDER:
| <maxUCSeekingMemory ... />
| <uncomplicatedCaseDuration ... />
| <complicatedCaseDuration ... />
| <complicatedRiskDuration ... />
| ( <dailyPrImmUCTS ... /> )+
</ClinicalOutcomes>
- maxUCSeekingMemory
- uncomplicatedCaseDuration
- complicatedCaseDuration
- complicatedRiskDuration
- dailyPrImmUCTS
Documentation (type)
Description of base parameters of the clinical model.
Max UC treatment-seeking memory
→ scenario → healthSystem → EventScheduler → ClinicalOutcomes → maxUCSeekingMemory
<maxUCSeekingMemory>
int
</maxUCSeekingMemory>
Documentation (element)
Units: Days Min: 0 Max: unbounded
Maximum number of timesteps (including first day of case) that an individual with an uncomplicated case of malaria will remember he/she was sick before resetting.
Uncomplicated case duration
→ scenario → healthSystem → EventScheduler → ClinicalOutcomes → uncomplicatedCaseDuration
<uncomplicatedCaseDuration>
int
</uncomplicatedCaseDuration>
Documentation (element)
Units: Days Min: 1 Max: unbounded
Fixed length of an uncomplicated case of malarial or non-malarial sickness (from treatment seeking until return to life-as-usual). Usually 3.
Complicated case duration
→ scenario → healthSystem → EventScheduler → ClinicalOutcomes → complicatedCaseDuration
<complicatedCaseDuration>
int
</complicatedCaseDuration>
Documentation (element)
Units: Days Min: 1 Max: unbounded
Fixed length of a complicated or severe case of malaria (from treatment seeking until return to life-as-usual).
Complicated risk duration
→ scenario → healthSystem → EventScheduler → ClinicalOutcomes → complicatedRiskDuration
<complicatedRiskDuration>
int
</complicatedRiskDuration>
Documentation (element)
Units: Days Min: 1 Max: unbounded
Number of days for which humans are at risk of death during a severe or complicated case of malaria. Cannot be greater than the duration of a complicated case or less than 1 day.
Daily probability of immediate treatment seeking for uncomplicated cases
→ scenario → healthSystem → EventScheduler → ClinicalOutcomes → dailyPrImmUCTS
<dailyPrImmUCTS>
double
</dailyPrImmUCTS>
Documentation (element)
Units: Dimensionless Min: 0.0 Max: 1.0
It is sometimes desirable to model delays to treatment-seeking in uncomplicated cases. While treatment of drugs can be delayed within case management trees to provide a similar effect, this doesn't delay any of the decisions, including diagnostics using the current parasite density.
Instead a list of dailyPrImmUCTS elements can be used, describing successive daily probabilities of treatment (sum must be 1). For example, with a list of two elements with values 0.8 and 0.2, for 80% of UC cases the decision tree is evaluated immediately, and for 20% of cases evaluation is delayed by one day.
For no delay, use one element with a value of 1.
NonMalariaFevers
→ scenario → healthSystem → EventScheduler → NonMalariaFevers
<NonMalariaFevers>
IN THIS ORDER:
| <prTreatment ... />
| <effectNegativeTest ... />
| <effectPositiveTest ... />
| <effectNeed ... />
| <effectInformal ... />
| <CFR ... />
| <TreatmentEfficacy ... />
</NonMalariaFevers>
Documentation (type)
Description of non-malaria fever health-system modelling (treatment, outcomes and costing). Incidence is described by the model->clinical->NonMalariaFevers element. Non-malaria fevers are only modelled if the NON_MALARIA_FEVERS option is used.
As further explanation of the parameters below, we first take: β₀ = logit(P₀) - β₃·P(need), and then calculate the probability of antibiotic administration, P(AB), dependent on treatment seeking location. No seeking: P(AB) = 0 Informal sector: logit(P(AB)) = β₀ + β₄ Health facility: logit(P(AB)) = β₀ + β₁·I(neg) + β₂·I(pos) + β₃·I(need) (where I(X) is 1 when event X is true and 0 otherwise, logit(p)=log(p/(1-p)), event "need" is the event that death may occur without treatment, events "neg" and "pos" are the events that a malaria parasite diagnositic was used and indicated no parasites and parasites respectively).
P(treatment|no diagnostic)
→ scenario → healthSystem → EventScheduler → NonMalariaFevers → prTreatment
<prTreatment>
double
</prTreatment>
Documentation (element)
Units: Dimensionless Min: 0.0 Max: 1.0
Probability of a non-malaria fever being treated with an antibiotic given that no malaria diagnostic was used but independent of need. Symbol: P₀.
Effect of a negative test
→ scenario → healthSystem → EventScheduler → NonMalariaFevers → effectNegativeTest
<effectNegativeTest>
double
</effectNegativeTest>
Documentation (element)
The effect of a negative malaria diagnostic on the odds ratio of receiving antibiotics. Symbol: exp(β₁).
Effect of a positive test
→ scenario → healthSystem → EventScheduler → NonMalariaFevers → effectPositiveTest
<effectPositiveTest>
double
</effectPositiveTest>
Documentation (element)
The effect of a positive malaria diagnostic on the odds ratio of receiving antibiotics. Symbol: exp(β₂).
Effect of need
→ scenario → healthSystem → EventScheduler → NonMalariaFevers → effectNeed
<effectNeed>
double
</effectNeed>
Documentation (element)
The effect of needing antibiotic treatment on the odds ratio of receiving antibiotics. Symbol: exp(β₃).
Effect of informal provider
→ scenario → healthSystem → EventScheduler → NonMalariaFevers → effectInformal
<effectInformal>
double
</effectInformal>
Documentation (element)
The effect of seeking treatment from an informal provider (i.e. a provider untrained in NMF diagnosis) on the odds ratio of receiving antibiotics. Symbol: exp(β₄)
Case fatality rate
→ scenario → healthSystem → EventScheduler → NonMalariaFevers → CFR
<CFR
[ interpolation=("none" or "linear") ]
>
IN THIS ORDER:
| ( <group ... /> )+
</CFR>
Documentation (element)
Units: Dimensionless Min: 0.0 Max: 1.0
Base case fatality rate for non-malaria fevers (probability of death from a fever requiring antibiotic treatment given that no antibiotic treatment is received, per age-group).
Attributes
interpolation
interpolation=("none" or "linear")
Interpolation algorithm. Normally it is desirable for age-based values to be continuous w.r.t. age. By default linear interpolation is used. With all algorithms except "none", the age groups are converted to a set of points centred within each age range. Extra points are added at each end (zero and infinity) to keep value constant at both ends of the function. A zero-length age group may be used as a kind of barrier to adjust the distribution; e.g. with age group boundaries at 15, 20 and 25 years, a (linear) spline would be drawn between ages 17.5 and 22.5, whereas with boundaries at 15, 20 and 20 years, a spline would be drawn between ages 17.5 and 20 years (may be desired if individuals are assumed to reach adult size at 20). Algorithms:
- none: input values are used directly
- linear: straight lines (on an age vs. value graph) are used to interpolate data points.
age group
→ scenario → healthSystem → CFR → group
<group
value=double
lowerbound=double
/>
Documentation (element)
A series of values according to age groups, each specified with a lower-bound and a value. The first lower-bound specified must be zero; a final upper-bound of infinity is added to complete the last age group. At least one age group is required. Normally these are interpolated by a continuous function (see interpolation attribute).
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Lower bound
lowerbound=double
Units: Years Min: 0 Max: 100
Lower bound of age group
Treatment efficacy
→ scenario → healthSystem → EventScheduler → NonMalariaFevers → TreatmentEfficacy
<TreatmentEfficacy>
double
</TreatmentEfficacy>
Documentation (element)
Units: Dimensionless Min: 0.0 Max: 1.0
Probability that treatment would prevent a death (i.e. CFR is multiplied by one minus this when treatment occurs).
ImmediateOutcomes
→ scenario → healthSystem → ImmediateOutcomes
<ImmediateOutcomes
[ name=string ]
[ useDiagnosticUC=boolean ] DEFAULT VALUE false
>
IN ANY ORDER:
| <drugRegimen ... />
| <initialACR ... />
| <compliance ... />
| <nonCompliersEffective ... />
| <treatmentActions ... />
| <pSeekOfficialCareUncomplicated1 ... />
| <pSelfTreatUncomplicated ... />
| <pSeekOfficialCareUncomplicated2 ... />
| <pSeekOfficialCareSevere ... />
| [ <liverStageDrug ... /> ]
</ImmediateOutcomes>
- drugRegimen
- initialACR
- compliance
- nonCompliersEffective
- treatmentActions
- pSeekOfficialCareUncomplicated1
- pSelfTreatUncomplicated
- pSeekOfficialCareUncomplicated2
- pSeekOfficialCareSevere
- liverStageDrug
Documentation (type)
Description of "immediate outcomes" health system: Tediosi et al case management model (Case management as described in AJTMH 75 (suppl 2) pp90-103).
Attributes
Name of case management parameterisation
name=string
Name of health system
useDiagnosticUC
useDiagnosticUC=boolean
Default value: false
Description of drug regimen
→ scenario → healthSystem → ImmediateOutcomes → drugRegimen
<drugRegimen
firstLine=string
secondLine=string
inpatient=string
/>
Documentation (element)
Description of drug regimen.
Attributes
First line drug
firstLine=string
Units: Drug code
Code for first line drug
Second line drug
secondLine=string
Units: Drug code
Code for second line drug
Drug use for treating inpatients
inpatient=string
Units: Drug code
Code for drug used for treating inpatients
Initial cure rate
→ scenario → healthSystem → ImmediateOutcomes → initialACR
<initialACR>
IN THIS ORDER:
| [ <CQ ... /> ]
| [ <SP ... /> ]
| [ <AQ ... /> ]
| [ <SPAQ ... /> ]
| [ <ACT ... /> ]
| [ <QN ... /> ]
| <selfTreatment ... />
</initialACR>
Documentation (element)
Units: Dimensionless Min: 0.0 Max: 1.0
Initial cure rate
Chloroquine
→ scenario → healthSystem → ImmediateOutcomes → initialACR → CQ
<CQ
value=double
/>
Documentation (element)
Chloroquine
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Sulphadoxine-pyrimethamine
→ scenario → healthSystem → ImmediateOutcomes → initialACR → SP
<SP
value=double
/>
Documentation (element)
Sulphadoxine-pyrimethamine
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Amodiaquine
→ scenario → healthSystem → ImmediateOutcomes → initialACR → AQ
<AQ
value=double
/>
Documentation (element)
Amodiaquine
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Sulphadoxine-pyrimethamine/Amodiaquine
→ scenario → healthSystem → ImmediateOutcomes → initialACR → SPAQ
<SPAQ
value=double
/>
Documentation (element)
Sulphadoxine-pyrimethamine/Amodiaquine
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Artemisinine based combination therapy
→ scenario → healthSystem → ImmediateOutcomes → initialACR → ACT
<ACT
value=double
/>
Documentation (element)
Artemisinine combination therapy
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Quinine
→ scenario → healthSystem → ImmediateOutcomes → initialACR → QN
<QN
value=double
/>
Documentation (element)
Quinine
Attributes
Input parameter value
value=double
A double-precision floating-point value.
selfTreatment
→ scenario → healthSystem → ImmediateOutcomes → initialACR → selfTreatment
<selfTreatment
value=double
/>
Documentation (element)
Units: Dimensionless Min: 0 Max: 1name:P(self-treat)
Probability of self-treatment
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Adherence to treatment
→ scenario → healthSystem → ImmediateOutcomes → compliance
<compliance>
IN THIS ORDER:
| [ <CQ ... /> ]
| [ <SP ... /> ]
| [ <AQ ... /> ]
| [ <SPAQ ... /> ]
| [ <ACT ... /> ]
| [ <QN ... /> ]
| <selfTreatment ... />
</compliance>
Documentation (element)
Units: Dimensionless Min: 0.0 Max: 1.0
Adherence to treatment
Effectiveness of treatment in non-adherent patients
→ scenario → healthSystem → ImmediateOutcomes → nonCompliersEffective
<nonCompliersEffective>
IN THIS ORDER:
| [ <CQ ... /> ]
| [ <SP ... /> ]
| [ <AQ ... /> ]
| [ <SPAQ ... /> ]
| [ <ACT ... /> ]
| [ <QN ... /> ]
| <selfTreatment ... />
</nonCompliersEffective>
Documentation (element)
Units: Dimensionless Min: 0.0 Max: 1.0
Effectiveness of treatment for non-compliant patients
treatmentActions
→ scenario → healthSystem → ImmediateOutcomes → treatmentActions
<treatmentActions>
IN ANY ORDER:
| [ <CQ ... /> ]
| [ <SP ... /> ]
| [ <AQ ... /> ]
| [ <SPAQ ... /> ]
| [ <ACT ... /> ]
| [ <QN ... /> ]
</treatmentActions>
CQ
→ scenario → healthSystem → ImmediateOutcomes → treatmentActions → CQ
<CQ
[ name=string ]
>
IN THIS ORDER:
| ( <deploy ... /> )*
</CQ>
Documentation (type)
Describes the effects of the treatment, assuming this compliance/adherence/... option is selected. Effects are described in terms of a list of options, each of which acts independently but with all effects being activated simultaneously.
Documentation (base type)
Lists intervention components which are deployed according to some external trigger (for example, screening with a negative patency outcome or health-system treatment).
Components are referenced from one or more sub-lists. Each of these lists is deployed independently if and only if its age constraints are met by the human host and a random sample with the given probability of a positive outcome is positive.
Attributes
Name
name=string
Describes what this compliance option represents (e.g. "good compliance", "poor compliance with good drugs", ...).
deploy
→ scenario → healthSystem → ImmediateOutcomes → treatmentActions → CQ → deploy
<deploy
[ maxAge=double ]
[ minAge=double ] DEFAULT VALUE 0
[ p=double ] DEFAULT VALUE 1
>
IN THIS ORDER:
| ( <component ... /> )+
</deploy>
Attributes
Maximum age of eligible humans
maxAge=double
Units: Years Min: 0
Maximum age of eligible humans (defaults to no limit). Input is rounded to the nearest time step.
Minimum age of eligible humans
minAge=double
Units: Years Min: 0
Default value: 0
Minimum age of eligible humans (defaults to 0). Input is rounded to the nearest time step.
Probability of delivery to eligible humans
p=double
Units: dimensionless Min: 0 Max: 1
Default value: 1
Probability of this list of components being deployed, given that other constraints are met.
component
→ scenario → healthSystem → ImmediateOutcomes → treatmentActions → CQ → deploy → component
<component
id=string
/>
Documentation (type)
The list of components deployed to eligible humans.
Attributes
Identifier
id=string
The identifier (short name) of a component.
Prophylactic treatment
→ scenario → healthSystem → DecisionTree5Day → treatmentSevere → clearInfections
<clearInfections
timesteps=string
stage=("liver" or "blood" or "both")
/>
Documentation (element)
This clears infections according to several options: it can clear all blood stage infections, all liver stage infections or both, and it can act on multiple timesteps. To have a probability of no action add another treatment option (which does nothing) and set the probabilities of selection appropriately.
This allows immediate (legacy) or delayed action, a prophylactic period, and selection of which stages are targeted. It is a simple model but appropriate enough for use with the five day timestep when assuming no resistance and that drug failure is mainly caused by bad drugs or compliance.
The old treatment action for the five-day timestep model is essentially this, with immediateAction (timesteps=-1) and stage=both, except for the IPT model's SP action, which was more like with timesteps>1 and stage=blood.
Attributes
Length of effect
timesteps=string
Units: User defined (defaults to steps)
The number of timesteps during which this action remains in effect (e.g. 2 means clear infections during the next two timestep updates). Full clearance of the targeted stages occurs during this time. A special value of -1 means act immediately (retrospectively); this the old behaviour. A value of 1 means act on the next timestep only. Both of these can be thought of as a model for short-acting effective drug treatment; the main differences are that the latter means parasite densities will remain high from the point of view of surveys and diagnostics (i.e. mass screen and treat) used before the next timestep and that the latter will also remove infections starting the next timestep. Arguably the latter is a better model, but the differences are perhaps small, excepting where immediate treatment of fevers (i.e. through the health system) can hide high parasite densities from reporting and mass-screen-and-treat diagnostics. For use by interventions, the latter model has nicer behaviour in that the order of deployment of multiple interventions deployed at the same time does not matter, and that the former model retrospectively treats infections which may already have caused fever, thus may have a lower health impact than it should. It is recommended to use the new model (value 1, or greater than 1 if prophylactic effect is desired) unless wanting to emulate the old behaviour. Values of 0 or less than -1 are not allowed. Can be specified in steps (e.g. 1t, -1t) or days (e.g. 5d).
Target stage
stage=("liver" or "blood" or "both")
Controls whether liver-stage or blood-stage infections are cleared, or both. Infections are considered liver-stage for one 5-day timestep, blood-stage but pre-patent for some number of timesteps (latentp - 1), then start the patent blood stage. If stage is set to "liver", infections are only cleared during their first timestep; if stage is set to "blood", infections are cleared during pre-patent and patent blood stages; if stage is set to "both" all infections are cleared. The old behaviour (oddly considering the drugs it is meant to emulate) is to clear both stages, except for the IPT model of SP action, which cleared only patent blood-stage infections.
SP
→ scenario → healthSystem → ImmediateOutcomes → treatmentActions → SP
<SP
[ name=string ]
>
IN THIS ORDER:
| ( <deploy ... /> )*
</SP>
Documentation (type)
Describes the effects of the treatment, assuming this compliance/adherence/... option is selected. Effects are described in terms of a list of options, each of which acts independently but with all effects being activated simultaneously.
Documentation (base type)
Lists intervention components which are deployed according to some external trigger (for example, screening with a negative patency outcome or health-system treatment).
Components are referenced from one or more sub-lists. Each of these lists is deployed independently if and only if its age constraints are met by the human host and a random sample with the given probability of a positive outcome is positive.
Attributes
Name
name=string
Describes what this compliance option represents (e.g. "good compliance", "poor compliance with good drugs", ...).
AQ
→ scenario → healthSystem → ImmediateOutcomes → treatmentActions → AQ
<AQ
[ name=string ]
>
IN THIS ORDER:
| ( <deploy ... /> )*
</AQ>
Documentation (type)
Describes the effects of the treatment, assuming this compliance/adherence/... option is selected. Effects are described in terms of a list of options, each of which acts independently but with all effects being activated simultaneously.
Documentation (base type)
Lists intervention components which are deployed according to some external trigger (for example, screening with a negative patency outcome or health-system treatment).
Components are referenced from one or more sub-lists. Each of these lists is deployed independently if and only if its age constraints are met by the human host and a random sample with the given probability of a positive outcome is positive.
Attributes
Name
name=string
Describes what this compliance option represents (e.g. "good compliance", "poor compliance with good drugs", ...).
SPAQ
→ scenario → healthSystem → ImmediateOutcomes → treatmentActions → SPAQ
<SPAQ
[ name=string ]
>
IN THIS ORDER:
| ( <deploy ... /> )*
</SPAQ>
Documentation (type)
Describes the effects of the treatment, assuming this compliance/adherence/... option is selected. Effects are described in terms of a list of options, each of which acts independently but with all effects being activated simultaneously.
Documentation (base type)
Lists intervention components which are deployed according to some external trigger (for example, screening with a negative patency outcome or health-system treatment).
Components are referenced from one or more sub-lists. Each of these lists is deployed independently if and only if its age constraints are met by the human host and a random sample with the given probability of a positive outcome is positive.
Attributes
Name
name=string
Describes what this compliance option represents (e.g. "good compliance", "poor compliance with good drugs", ...).
ACT
→ scenario → healthSystem → ImmediateOutcomes → treatmentActions → ACT
<ACT
[ name=string ]
>
IN THIS ORDER:
| ( <deploy ... /> )*
</ACT>
Documentation (type)
Describes the effects of the treatment, assuming this compliance/adherence/... option is selected. Effects are described in terms of a list of options, each of which acts independently but with all effects being activated simultaneously.
Documentation (base type)
Lists intervention components which are deployed according to some external trigger (for example, screening with a negative patency outcome or health-system treatment).
Components are referenced from one or more sub-lists. Each of these lists is deployed independently if and only if its age constraints are met by the human host and a random sample with the given probability of a positive outcome is positive.
Attributes
Name
name=string
Describes what this compliance option represents (e.g. "good compliance", "poor compliance with good drugs", ...).
QN
→ scenario → healthSystem → ImmediateOutcomes → treatmentActions → QN
<QN
[ name=string ]
>
IN THIS ORDER:
| ( <deploy ... /> )*
</QN>
Documentation (type)
Describes the effects of the treatment, assuming this compliance/adherence/... option is selected. Effects are described in terms of a list of options, each of which acts independently but with all effects being activated simultaneously.
Documentation (base type)
Lists intervention components which are deployed according to some external trigger (for example, screening with a negative patency outcome or health-system treatment).
Components are referenced from one or more sub-lists. Each of these lists is deployed independently if and only if its age constraints are met by the human host and a random sample with the given probability of a positive outcome is positive.
Attributes
Name
name=string
Describes what this compliance option represents (e.g. "good compliance", "poor compliance with good drugs", ...).
Probability that a patient with uncomplicated disease seeks official care immediately.
→ scenario → healthSystem → ImmediateOutcomes → pSeekOfficialCareUncomplicated1
<pSeekOfficialCareUncomplicated1
value=double
/>
Documentation (element)
Units: Dimensionless Min: 0.0 Max: 1.0
Probability that a patient with newly incident uncomplicated disease seeks official care
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Probability that a patient with uncomplicated disease will self-treat.
→ scenario → healthSystem → ImmediateOutcomes → pSelfTreatUncomplicated
<pSelfTreatUncomplicated
value=double
/>
Documentation (element)
Units: Dimensionless Min: 0.0 Max: 1.0
Probability that a patient with uncomplicated disease without recent history of disease (i.e. first line) will self-treat.
Note that in second line cases there is no probability of self-treatment.
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Probability that a recurring patient seeks official care
→ scenario → healthSystem → ImmediateOutcomes → pSeekOfficialCareUncomplicated2
<pSeekOfficialCareUncomplicated2
value=double
/>
Documentation (element)
Units: Dimensionless Min: 0.0 Max: 1.0
Probability that a patient with recurrence of uncomplicated disease seeks official care
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Probability that a patient with severe disease obtains appropriate care
→ scenario → healthSystem → ImmediateOutcomes → pSeekOfficialCareSevere
<pSeekOfficialCareSevere
value=double
/>
Documentation (element)
Units: Dimensionless Min: 0.0 Max: 1.0
Probability that a patient with severe disease obtains appropriate care
Attributes
Input parameter value
value=double
A double-precision floating-point value.
liverStageDrug
→ scenario → healthSystem → ImmediateOutcomes → liverStageDrug
<liverStageDrug>
IN ANY ORDER:
| <pHumanCannotReceive ... />
| [ <ignoreCannotReceive ... /> ]
| [ <pUseUncomplicated ... /> ]
| <effectivenessOnUse ... />
</liverStageDrug>
Documentation (type)
Parameters for drug treatment which have an effect on the liver-stage of parasites (Primaquine and potentially Tafenoquine); for use with the Vivax model only.
Note: if this section is not listed, the following default values are assumed: pHumanCannotReceive=0, pUseUncomplicated=0, effectivenessOnUse=1.
Probability that human is incompatible with liver-stage drug treatment
→ scenario → healthSystem → ImmediateOutcomes → liverStageDrug → pHumanCannotReceive
<pHumanCannotReceive
value=double
/>
Documentation (element)
Units: Probability Min: 0 Max: 1
Chance that a human is determined to be unable to receive liver-stage drug treatment. Treatment is neither reported or given for such humans.
This is sampled once per human at birth.
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Ignore liver-stage drug treatment incompatibility
→ scenario → healthSystem → ImmediateOutcomes → liverStageDrug → ignoreCannotReceive
<ignoreCannotReceive
value=boolean
/>
Documentation (element)
If true, ignore pHumanCannotReceive and consider all humans eligible for treatment; if false (or not specified), do not treat those demed incompatible with liver-stage drug treatment.
The point of this is that pHumanCannotReceive cannot be altered by changeHS interventions, but this property can be.
Attributes
Input parameter value
value=boolean
A boolean value.
Prob use in UC case
→ scenario → healthSystem → ImmediateOutcomes → liverStageDrug → pUseUncomplicated
<pUseUncomplicated
value=double
/>
Documentation (element)
Units: Probability Min: 0 Max: 1
This feature is deprecated; it is suggested to use the "simple treatment" feature configured to clear liver-stage parasites, leaving this option unset or zero.
Chance of liver-stage drug treatment being used for routine treatment of an uncomplicated case.
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Effectiveness
→ scenario → healthSystem → ImmediateOutcomes → liverStageDrug → effectivenessOnUse
<effectivenessOnUse
value=double
/>
Documentation (element)
Units: Probability Min: 0 Max: 1
Chance that liver-stage drug treatment is effective.
On application, a random variable is sampled against this probability. If false, the treatment does nothing; if true, the treatment clears all liver stage parasites. Where effectiveness is longer than a single time step (prophylactic effect), this sample still only happens once (thus either no effect or all liver stages cleared over multiple steps).
Attributes
Input parameter value
value=double
A double-precision floating-point value.
DecisionTree5Day
→ scenario → healthSystem → DecisionTree5Day
<DecisionTree5Day
[ name=string ]
>
IN ANY ORDER:
| <pSeekOfficialCareUncomplicated1 ... />
| <pSelfTreatUncomplicated ... />
| <pSeekOfficialCareUncomplicated2 ... />
| <pSeekOfficialCareSevere ... />
| [ <liverStageDrug ... /> ]
| <treeUCOfficial ... />
| <treeUCSelfTreat ... />
| <cureRateSevere ... />
| <treatmentSevere ... />
</DecisionTree5Day>
- pSeekOfficialCareUncomplicated1
- pSelfTreatUncomplicated
- pSeekOfficialCareUncomplicated2
- pSeekOfficialCareSevere
- liverStageDrug
- treeUCOfficial
- treeUCSelfTreat
- cureRateSevere
- treatmentSevere
Documentation (type)
Description of the health system using the 5-day timestep with decision tree model: access is configured as in the Tediosi et al case management model (Case management as described in AJTMH 75 (suppl 2) pp90-103) while treatment decisions are configured via decision trees.
Besides greater flexibility, this allows treatment via PK/PD models.
Attributes
Name of case management parameterisation
name=string
Name of health system
Probability that a patient with uncomplicated disease seeks official care immediately.
→ scenario → healthSystem → DecisionTree5Day → pSeekOfficialCareUncomplicated1
<pSeekOfficialCareUncomplicated1
value=double
/>
Documentation (element)
Units: Dimensionless Min: 0.0 Max: 1.0
Probability that a patient with newly incident uncomplicated disease seeks official care
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Probability that a patient with uncomplicated disease will self-treat.
→ scenario → healthSystem → DecisionTree5Day → pSelfTreatUncomplicated
<pSelfTreatUncomplicated
value=double
/>
Documentation (element)
Units: Dimensionless Min: 0.0 Max: 1.0
Probability that a patient with uncomplicated disease without recent history of disease (i.e. first line) will self-treat.
Note that in second line cases there is no probability of self-treatment.
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Probability that a recurring patient seeks official care
→ scenario → healthSystem → DecisionTree5Day → pSeekOfficialCareUncomplicated2
<pSeekOfficialCareUncomplicated2
value=double
/>
Documentation (element)
Units: Dimensionless Min: 0.0 Max: 1.0
Probability that a patient with recurrence of uncomplicated disease seeks official care
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Probability that a patient with severe disease obtains appropriate care
→ scenario → healthSystem → DecisionTree5Day → pSeekOfficialCareSevere
<pSeekOfficialCareSevere
value=double
/>
Documentation (element)
Units: Dimensionless Min: 0.0 Max: 1.0
Probability that a patient with severe disease obtains appropriate care
Attributes
Input parameter value
value=double
A double-precision floating-point value.
liverStageDrug
→ scenario → healthSystem → DecisionTree5Day → liverStageDrug
<liverStageDrug>
IN ANY ORDER:
| <pHumanCannotReceive ... />
| [ <ignoreCannotReceive ... /> ]
| [ <pUseUncomplicated ... /> ]
| <effectivenessOnUse ... />
</liverStageDrug>
Documentation (type)
Parameters for drug treatment which have an effect on the liver-stage of parasites (Primaquine and potentially Tafenoquine); for use with the Vivax model only.
Note: if this section is not listed, the following default values are assumed: pHumanCannotReceive=0, pUseUncomplicated=0, effectivenessOnUse=1.
treeUCOfficial
→ scenario → healthSystem → DecisionTree5Day → treeUCOfficial
<treeUCOfficial
[ name=string ]
>
EXACTLY ONE OF:
| <multiple ... />
| <caseType ... />
| <diagnostic ... />
| <random ... />
| <age ... />
| <noTreatment ... />
| <treatFailure ... />
| ( <treatPKPD ... /> )+
| <treatSimple ... />
| ( <deploy ... /> )+
</treeUCOfficial>
Documentation (type)
Describes how "decisions" are made, both probabilistically and deterministically, and what actions are carried out.
Quantities may also be reported as a side effect of decisions made in the tree, for example the number of diagnostics used.
Attributes
Name
name=string
An optional piece of documentation attached to this node.
treeUCSelfTreat
→ scenario → healthSystem → DecisionTree5Day → treeUCSelfTreat
<treeUCSelfTreat
[ name=string ]
>
EXACTLY ONE OF:
| <multiple ... />
| <caseType ... />
| <diagnostic ... />
| <random ... />
| <age ... />
| <noTreatment ... />
| <treatFailure ... />
| ( <treatPKPD ... /> )+
| <treatSimple ... />
| ( <deploy ... /> )+
</treeUCSelfTreat>
Documentation (type)
Describes how "decisions" are made, both probabilistically and deterministically, and what actions are carried out.
Quantities may also be reported as a side effect of decisions made in the tree, for example the number of diagnostics used.
Attributes
Name
name=string
An optional piece of documentation attached to this node.
Cure rate (severe cases)
→ scenario → healthSystem → DecisionTree5Day → cureRateSevere
<cureRateSevere
value=double
/>
Documentation (element)
Min: 0 Max: 1
The probability of clearing parasites given access to appropriate (hospital) care, for a severe case.
Attributes
Input parameter value
value=double
A double-precision floating-point value.
treatmentSevere
→ scenario → healthSystem → DecisionTree5Day → treatmentSevere
<treatmentSevere
[ name=string ]
>
IN THIS ORDER:
| ( <deploy ... /> )*
</treatmentSevere>
Documentation (type)
Describes the effects of the treatment, assuming this compliance/adherence/... option is selected. Effects are described in terms of a list of options, each of which acts independently but with all effects being activated simultaneously.
Documentation (base type)
Lists intervention components which are deployed according to some external trigger (for example, screening with a negative patency outcome or health-system treatment).
Components are referenced from one or more sub-lists. Each of these lists is deployed independently if and only if its age constraints are met by the human host and a random sample with the given probability of a positive outcome is positive.
Attributes
Name
name=string
Describes what this compliance option represents (e.g. "good compliance", "poor compliance with good drugs", ...).
Case fatality rate for inpatients
→ scenario → healthSystem → CFR
<CFR
[ interpolation=("none" or "linear") ]
>
IN THIS ORDER:
| ( <group ... /> )+
</CFR>
Documentation (element)
Case fatality rate (probability of an inpatient fatality from a bout of severe malaria, per age-group).
Attributes
interpolation
interpolation=("none" or "linear")
Interpolation algorithm. Normally it is desirable for age-based values to be continuous w.r.t. age. By default linear interpolation is used. With all algorithms except "none", the age groups are converted to a set of points centred within each age range. Extra points are added at each end (zero and infinity) to keep value constant at both ends of the function. A zero-length age group may be used as a kind of barrier to adjust the distribution; e.g. with age group boundaries at 15, 20 and 25 years, a (linear) spline would be drawn between ages 17.5 and 22.5, whereas with boundaries at 15, 20 and 20 years, a spline would be drawn between ages 17.5 and 20 years (may be desired if individuals are assumed to reach adult size at 20). Algorithms:
- none: input values are used directly
- linear: straight lines (on an age vs. value graph) are used to interpolate data points.
Probabilities of sequelae in inpatients
→ scenario → healthSystem → pSequelaeInpatient
<pSequelaeInpatient
[ interpolation=("none" or "linear") ]
>
IN THIS ORDER:
| ( <group ... /> )+
</pSequelaeInpatient>
Documentation (element)
Units: Dimensionless
List of age-specific probabilities of sequelae in inpatients, during a severe bout of malaria.
Attributes
interpolation
interpolation=("none" or "linear")
Interpolation algorithm. Normally it is desirable for age-based values to be continuous w.r.t. age. By default linear interpolation is used. With all algorithms except "none", the age groups are converted to a set of points centred within each age range. Extra points are added at each end (zero and infinity) to keep value constant at both ends of the function. A zero-length age group may be used as a kind of barrier to adjust the distribution; e.g. with age group boundaries at 15, 20 and 25 years, a (linear) spline would be drawn between ages 17.5 and 22.5, whereas with boundaries at 15, 20 and 20 years, a spline would be drawn between ages 17.5 and 20 years (may be desired if individuals are assumed to reach adult size at 20). Algorithms:
- none: input values are used directly
- linear: straight lines (on an age vs. value graph) are used to interpolate data points.
Change transmission levels
→ scenario → interventions → changeEIR
<changeEIR
[ name=string ]
>
IN THIS ORDER:
| ( <timedDeployment ... /> )*
</changeEIR>
Documentation (element)
New description of transmission level for models not supporting vector control interventions. Use of this overrides previous transmission levels such that human infectiousness no longer has any feedback effect on transmission. Supplied EIR data must last until end of simulation.
Attributes
Name of intervention
name=string
Name of intervention
timedDeployment
→ scenario → interventions → changeEIR → timedDeployment
<timedDeployment
eipDuration=int
time=string
>
IN THIS ORDER:
| ( <EIRDaily ... /> )+
</timedDeployment>
Documentation (type)
Replacement transmission levels. Disables feedback of human infectiousness to mosquitoes on further mosquito to human transmission. Must last until end of simulation.
Attributes
Duration of sporogony
eipDuration=int
Units: Days
The duration of sporogony in days
Time
time=string
Units: User defined (defauls to steps) Min: 0
Time at which this replacement occurs. See doc on intervention period and on monitoring/startDate for details of how times work. Can be specified in steps, days, years, or as a date (examples: 15t, 75d, 0.2y, 2000-03-16).
EIRDaily
→ scenario → entomology → nonVector → EIRDaily
<EIRDaily
[ origin=string ]
>
double
</EIRDaily>
Documentation (type)
Units: Infectious bites per adult per day
In the non-vector model, EIR is input as a sequence of daily values. There must be at least one years' worth of entries (365), and if there are more, values are wrapped and averaged (i.e. value for first day of year is taken as the mean of values for days 0, 365+0, 2*365+0, etc.).
Attributes
Time origin of EIR sequence
origin=string
Imported infections
→ scenario → interventions → importedInfections
<importedInfections
[ name=string ]
>
IN THIS ORDER:
| <timed ... />
</importedInfections>
Documentation (element)
Models importation of P. falciparum infections directly into humans from an external source. This is infections, not inoculations or EIR being imported.
Attributes
Name of intervention
name=string
Name of intervention
Rate of importation
→ scenario → interventions → importedInfections → timed
<timed
[ period=string ] DEFAULT VALUE 0
>
IN THIS ORDER:
| ( <rate ... /> )+
</timed>
Documentation (element)
Rate of case importation, as a step function. Each value is valid until replaced by the next value.
Attributes
Period of repetition
period=string
Units: User defined (default: steps) Min: 0
Default value: 0
If period is 0 (or effectively infinite), the last specified value remains indefinitely in effect, otherwise the times of all values specified must be less than the period, and values are repeated modulo period (the step at time 'period+2t' has same value as the step at '2t', etc.). Can be specified in steps (e.g. 1t) or days (e.g. 365d).
rate
→ scenario → interventions → importedInfections → timed → rate
<rate
value=double
time=string
/>
Documentation (type)
Units: Imported cases per thousand people per year
A time-rate pair.
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Time of start
time=string
Units: User defined (defauls to steps) Min: 0
Time at which this importation rate becomes active. See doc on intervention period and on monitoring/startDate for details of how times work. Can be specified in steps, days, years, or as a date (examples: 15t, 75d, 0.2y, 2000-03-16).
Insert R_0 case
→ scenario → interventions → insertR_0Case
<insertR_0Case
[ name=string ]
>
IN THIS ORDER:
| ( <timedDeployment ... /> )*
</insertR_0Case>
Documentation (element)
Used to simulate R_0. First, infections should be eliminated, immunity removed, and the population given an effective transmission- blocking vaccine (not done by this intervention). Then this intervention may be used to: pick one human, infect him, administer a fully effective Preerythrocytic vaccine and remove transmission-blocking vaccine effect on this human. Thus only this one human will be a source of infections in an unprotected population, and will not reinfected himself.
Attributes
Name of intervention
name=string
Name of intervention
timedDeployment
→ scenario → interventions → insertR_0Case → timedDeployment
<timedDeployment
time=string
/>
Attributes
Time
time=string
Units: User defined (defauls to steps) Min: 0
Time at which this intervention occurs. See doc on intervention period and on monitoring/startDate for details of how times work. Can be specified in steps, days, years, or as a date (examples: 15t, 75d, 0.2y, 2000-03-16).
Uninfect vectors
→ scenario → interventions → uninfectVectors
<uninfectVectors
[ name=string ]
>
IN THIS ORDER:
| ( <timedDeployment ... /> )*
</uninfectVectors>
Documentation (element)
Units: List of elements
Removes all infections from mosquitoes -- resulting in zero EIR to humans, until such time that mosquitoes are re-infected and become infectious. Only efficacious in dynamic EIR mode (when changeEIR was not used).
Hypothetical, but potentially useful to simulate a setting starting from no infections, but with enough mosquitoes to reach a set equilibrium of exposure.
Attributes
Name of intervention
name=string
Name of intervention
timedDeployment
→ scenario → interventions → uninfectVectors → timedDeployment
<timedDeployment
time=string
/>
Attributes
Time
time=string
Units: User defined (defauls to steps) Min: 0
Time at which this intervention occurs. See doc on intervention period and on monitoring/startDate for details of how times work. Can be specified in steps, days, years, or as a date (examples: 15t, 75d, 0.2y, 2000-03-16).
Vector population intervention
→ scenario → interventions → vectorPop
<vectorPop>
IN THIS ORDER:
| ( <intervention ... /> )+
</vectorPop>
Documentation (element)
Units: List of elements
A list of parameterisations of generic vector host-inspecific interventions.
intervention
→ scenario → interventions → vectorPop → intervention
<intervention
name=string
>
IN THIS ORDER:
| <description ... />
| [ <timed ... /> ]
</intervention>
Documentation (type)
Units: List of elements
An intervention which may have various effects on the vector populations as a whole. (Not host specific.)
Multiple instances of this intervention class are allowed (multiple parameterisations, not just deployments).
Each instance may have multiple deployments. In this case the effects of each instance are independent (effects are combined) but the effects of multiple deployments of a single instance are not independent (only the latest deployment has any effect).
Attributes
Name of intervention
name=string
Name of intervention (e.g. larviciding, sugar bait).
description
→ scenario → interventions → vectorPop → intervention → description
<description>
IN THIS ORDER:
| ( <anopheles ... /> )+
</description>
anopheles
→ scenario → interventions → vectorPop → intervention → description → anopheles
<anopheles
mosquito=string
>
IN ANY ORDER:
| [ <seekingDeathRateIncrease ... /> ]
| [ <probDeathOvipositing ... /> ]
| [ <emergenceReduction ... /> ]
</anopheles>
Documentation (type)
Units: dimensionless Min: 0 Max: 1
Descriptions of the effects of vector interventions with per-species effects.
Attributes
Species/subspecies/variant name
mosquito=string
Name of the species/subspecies/variant.
Proportional increase in deaths while host searching
→ scenario → interventions → vectorPop → intervention → description → anopheles → seekingDeathRateIncrease
<seekingDeathRateIncrease
initial=double
>
IN THIS ORDER:
| <decay ... />
</seekingDeathRateIncrease>
Documentation (element)
Units: dimensionless
Describe an effect on the increase in the death rate while host seeking (mu_vA) due to this intervention.
Enter the rate increase (i.e. if rate increases to 120% of normal, give 0.2). New death rate while seeking is old × (1 + increase) where increase is this factor given. Must have increas ≥ -1.
Attributes
Initial proportion increase
initial=double
Units: dimensionless Min: -1 Max: inf
decay
→ scenario → interventions → vectorPop → intervention → description → anopheles → seekingDeathRateIncrease → decay
<decay
function=("constant" or "step" or "linear" or "exponential" or "weibull" or "hill" or "smooth-compact")
[ L=string ]
[ k=double ] DEFAULT VALUE 1.0
[ CV=double ] DEFAULT VALUE 0
/>
Documentation (type)
Specification of decay or survival of a parameter.
Attributes
function
function=("constant" or "step" or "linear" or "exponential" or "weibull" or "hill" or "smooth-compact")
Units: None Min: 0 Max: 1
Determines which decay function to use. Available decay functions, for age t in years: constant: 1 step: 1 for t less than L, otherwise 0 linear: 1 - t/L for t less than L, otherwise 0 exponential: exp( - t/L * log(2) ) weibull: exp( -(t/L)^k * log(2) ) hill: 1 / (1 + (t/L)^k) smooth-compact: exp( k - k / (1 - (t/L)^2) ) for t less than L, otherwise 0
L
L=string
Units: User-defined (defaults to years) Min: 0
(Time) scale parameter of distribution: this is either the age of complete decay (smooth-compact, step and linear functions) or the age at which the parameter has decayed to half its original value (exponential, weibull and hill). Not used when function="constant" (i.e. no decay). This value can be specified in years, days or steps (e.g. 2y, 180d or 100t). When the unit is not specified years are assumed. The value is used without rounding except when sampling an age of decay, when the rounding happens as late as possible.
k
k=double
Units: none Min: 0
Default value: 1.0
Shape parameter of distribution. If not specified, default value of 1 is used. Meaning depends on function; not used in some cases.
Coefficient of Variation
CV=double
Min: 0
Default value: 0
If CV is non-zero, heterogeneity of decay is introduced via a random variable sampled from the log-normal distribution. This distribution is parameterised with mean=1 and CV as given. The effective age of decay is the real age multiplied by this variable (for decay functions with a half-life, this is equivalent to dividing the half-life by the variable).
Proportion ovipositing mosquitoes killed
→ scenario → interventions → vectorPop → intervention → description → anopheles → probDeathOvipositing
<probDeathOvipositing
initial=double
>
IN THIS ORDER:
| <decay ... />
</probDeathOvipositing>
Documentation (element)
Units: dimensionless
Describe an effect of increased mortality while ovipositing due to this intervention. Enter the probability of dying due to this intervention.
Attributes
Initial probability of killing
initial=double
Units: dimensionless Min: 0 Max: 1
decay
→ scenario → interventions → vectorPop → intervention → description → anopheles → probDeathOvipositing → decay
<decay
function=("constant" or "step" or "linear" or "exponential" or "weibull" or "hill" or "smooth-compact")
[ L=string ]
[ k=double ] DEFAULT VALUE 1.0
[ CV=double ] DEFAULT VALUE 0
/>
Documentation (type)
Specification of decay or survival of a parameter.
Attributes
function
function=("constant" or "step" or "linear" or "exponential" or "weibull" or "hill" or "smooth-compact")
Units: None Min: 0 Max: 1
Determines which decay function to use. Available decay functions, for age t in years: constant: 1 step: 1 for t less than L, otherwise 0 linear: 1 - t/L for t less than L, otherwise 0 exponential: exp( - t/L * log(2) ) weibull: exp( -(t/L)^k * log(2) ) hill: 1 / (1 + (t/L)^k) smooth-compact: exp( k - k / (1 - (t/L)^2) ) for t less than L, otherwise 0
L
L=string
Units: User-defined (defaults to years) Min: 0
(Time) scale parameter of distribution: this is either the age of complete decay (smooth-compact, step and linear functions) or the age at which the parameter has decayed to half its original value (exponential, weibull and hill). Not used when function="constant" (i.e. no decay). This value can be specified in years, days or steps (e.g. 2y, 180d or 100t). When the unit is not specified years are assumed. The value is used without rounding except when sampling an age of decay, when the rounding happens as late as possible.
k
k=double
Units: none Min: 0
Default value: 1.0
Shape parameter of distribution. If not specified, default value of 1 is used. Meaning depends on function; not used in some cases.
Coefficient of Variation
CV=double
Min: 0
Default value: 0
If CV is non-zero, heterogeneity of decay is introduced via a random variable sampled from the log-normal distribution. This distribution is parameterised with mean=1 and CV as given. The effective age of decay is the real age multiplied by this variable (for decay functions with a half-life, this is equivalent to dividing the half-life by the variable).
Proportion of emerging pupa killed
→ scenario → interventions → vectorPop → intervention → description → anopheles → emergenceReduction
<emergenceReduction
initial=double
>
IN THIS ORDER:
| <decay ... />
</emergenceReduction>
Documentation (element)
Units: dimensionless
Describe an effect on emergence of pupa into adults: this value is the proportion of emerging pupa which are killed by this intervention.
This can be used as a crude way of modelling larviciding. It ca also be used to increase emergence by giving a negative value. The emergence rate is "old rate" × (1 - factor) where factor is the value given here; thus, for example, using -1 will double emergence.
Attributes
Initial proportion reduction
initial=double
Units: dimensionless Min: -inf Max: 1
decay
→ scenario → interventions → vectorPop → intervention → description → anopheles → emergenceReduction → decay
<decay
function=("constant" or "step" or "linear" or "exponential" or "weibull" or "hill" or "smooth-compact")
[ L=string ]
[ k=double ] DEFAULT VALUE 1.0
[ CV=double ] DEFAULT VALUE 0
/>
Documentation (type)
Specification of decay or survival of a parameter.
Attributes
function
function=("constant" or "step" or "linear" or "exponential" or "weibull" or "hill" or "smooth-compact")
Units: None Min: 0 Max: 1
Determines which decay function to use. Available decay functions, for age t in years: constant: 1 step: 1 for t less than L, otherwise 0 linear: 1 - t/L for t less than L, otherwise 0 exponential: exp( - t/L * log(2) ) weibull: exp( -(t/L)^k * log(2) ) hill: 1 / (1 + (t/L)^k) smooth-compact: exp( k - k / (1 - (t/L)^2) ) for t less than L, otherwise 0
L
L=string
Units: User-defined (defaults to years) Min: 0
(Time) scale parameter of distribution: this is either the age of complete decay (smooth-compact, step and linear functions) or the age at which the parameter has decayed to half its original value (exponential, weibull and hill). Not used when function="constant" (i.e. no decay). This value can be specified in years, days or steps (e.g. 2y, 180d or 100t). When the unit is not specified years are assumed. The value is used without rounding except when sampling an age of decay, when the rounding happens as late as possible.
k
k=double
Units: none Min: 0
Default value: 1.0
Shape parameter of distribution. If not specified, default value of 1 is used. Meaning depends on function; not used in some cases.
Coefficient of Variation
CV=double
Min: 0
Default value: 0
If CV is non-zero, heterogeneity of decay is introduced via a random variable sampled from the log-normal distribution. This distribution is parameterised with mean=1 and CV as given. The effective age of decay is the real age multiplied by this variable (for decay functions with a half-life, this is equivalent to dividing the half-life by the variable).
Vector population intervention deployment
→ scenario → interventions → vectorPop → intervention → timed
<timed>
IN THIS ORDER:
| ( <deploy ... /> )+
</timed>
Documentation (element)
List of timed vector population intervention deployment
deploy
→ scenario → interventions → vectorPop → intervention → timed → deploy
<deploy
time=string
/>
Attributes
Time
time=string
Units: User defined (defauls to steps) Min: 0
Time at which this deployment occurs. See doc on intervention period and on monitoring/startDate for details of how times work. Can be specified in steps, days, years, or as a date (examples: 15t, 75d, 0.2y, 2000-03-16).
Baited trap
→ scenario → interventions → vectorTrap
<vectorTrap>
IN THIS ORDER:
| ( <intervention ... /> )+
</vectorTrap>
Documentation (element)
Traps attract and kill mosquitoes. They are modelled as a non-human-host where the probability of mosquitoes surviving feeding is zero (since otherwise the simulator would assume surviving mosquitoes have had a blood meal), and where this "host" is initially not present.
Model: each type of trap has has an initial availability relative to a human and a decay in availability. Each deployment has a fixed maximum lifespan, after which the traps from that deployment are removed (it is up to the user whether this is after availability is effectively zero or sooner, either coinciding with a redeployment or causing a reduction in overall effectiveness of traps).
intervention
→ scenario → interventions → vectorTrap → intervention
<intervention
[ name=string ]
>
IN THIS ORDER:
| ( <description ... /> )+
| [ <timed ... /> ]
</intervention>
Documentation (type)
Parameters and deployment of one type of trap. In case multiple types of trap are needed simultaneously, multiple elements can be used. Note that different types of trap do not interact except that all will attract mosquitoes.
Attributes
Descriptive name for type of trap
name=string
Optional name for this type of trap
Description
→ scenario → interventions → vectorTrap → intervention → description
<description
mosquito=string
>
IN THIS ORDER:
| <relativeAvailability ... />
| <decayOfAvailability ... />
</description>
Documentation (element)
Parameters associated with a vector trap intervention, per mosquito species.
Attributes
Species/subspecies/variant name
mosquito=string
Name of the species/subspecies/variant.
Initial relative availability
→ scenario → interventions → vectorTrap → intervention → description → relativeAvailability
<relativeAvailability
value=double
/>
Documentation (element)
Units: Proportion Min: 0 Max: inf
Describes the availiability of a trap to a host-seeking mosquito relative to an average unprotected adult.
I.e. if this parameter is 2, then each trap will on average attract twice as many mosquitoes as unprotected adults.
This is the initial availability; it may decay towards zero depending on the configured decay function.
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Decay of availability
→ scenario → interventions → vectorTrap → intervention → description → decayOfAvailability
<decayOfAvailability
function=("constant" or "step" or "linear" or "exponential" or "weibull" or "hill" or "smooth-compact")
[ L=string ]
[ k=double ] DEFAULT VALUE 1.0
[ CV=double ] DEFAULT VALUE 0
/>
Documentation (element)
Describes how availability decays to zero.
If decay heterogeneity/variance is used, there will be a sample once-per-deployment (i.e. all traps of the same deployment will be affected the same way). There is no support for variances between traps (except in this crude way, between deployments).
Documentation (type)
Specification of decay or survival of a parameter.
Attributes
function
function=("constant" or "step" or "linear" or "exponential" or "weibull" or "hill" or "smooth-compact")
Units: None Min: 0 Max: 1
Determines which decay function to use. Available decay functions, for age t in years: constant: 1 step: 1 for t less than L, otherwise 0 linear: 1 - t/L for t less than L, otherwise 0 exponential: exp( - t/L * log(2) ) weibull: exp( -(t/L)^k * log(2) ) hill: 1 / (1 + (t/L)^k) smooth-compact: exp( k - k / (1 - (t/L)^2) ) for t less than L, otherwise 0
L
L=string
Units: User-defined (defaults to years) Min: 0
(Time) scale parameter of distribution: this is either the age of complete decay (smooth-compact, step and linear functions) or the age at which the parameter has decayed to half its original value (exponential, weibull and hill). Not used when function="constant" (i.e. no decay). This value can be specified in years, days or steps (e.g. 2y, 180d or 100t). When the unit is not specified years are assumed. The value is used without rounding except when sampling an age of decay, when the rounding happens as late as possible.
k
k=double
Units: none Min: 0
Default value: 1.0
Shape parameter of distribution. If not specified, default value of 1 is used. Meaning depends on function; not used in some cases.
Coefficient of Variation
CV=double
Min: 0
Default value: 0
If CV is non-zero, heterogeneity of decay is introduced via a random variable sampled from the log-normal distribution. This distribution is parameterised with mean=1 and CV as given. The effective age of decay is the real age multiplied by this variable (for decay functions with a half-life, this is equivalent to dividing the half-life by the variable).
Vector trap intervention deployment
→ scenario → interventions → vectorTrap → intervention → timed
<timed>
IN THIS ORDER:
| ( <deploy ... /> )*
</timed>
Documentation (element)
List of timed vector trap intervention deployment
deploy
→ scenario → interventions → vectorTrap → intervention → timed → deploy
<deploy
time=string
ratioToHumans=double
lifespan=string
/>
Attributes
Time
time=string
Units: User defined (defauls to steps) Min: 0
Time at which this deployment occurs. See doc on intervention period and on monitoring/startDate for details of how times work. Can be specified in steps, days, years, or as a date (examples: 15t, 75d, 0.2y, 2000-03-16).
Ratio to humans
ratioToHumans=double
Min: 0 Max: inf
The number of traps deployed, by this deployment, per adult human. E.g. if there are currently 100 traps and 1000 humans, then a ratio of 0.1 will increase the number of traps to 200.
Lifespan
lifespan=string
Units: Steps or Days or Years
Life of the trap until replaced or removed, e.g. "73t" or "1y". After this time period, these traps will be removed from the simulation. New deployments do not automatically remove old traps. Existing traps cannot be refurbished in the model. It may make sense to make the end-of-life coincide with a new deployment.
Human-specific interventions
→ scenario → interventions → human
<human>
IN THIS ORDER:
| ( <component ... /> )+
| ( <deployment ... /> )*
</human>
Documentation (element)
Encapsulates all interventions whose effects are specific to the human host: any interventions where target humans may be selected via population-coverage, age limits and sub-population membership.
Component
→ scenario → interventions → human → component
<component
id=string
[ name=string ]
>
IN THIS ORDER:
| EXACTLY ONE OF:
| | <screen ... />
| | <treatSimple ... />
| | <treatPKPD ... />
| | <decisionTree ... />
| | <PEV ... />
| | <BSV ... />
| | <TBV ... />
| | <ITN ... />
| | <IRS ... />
| | <GVI ... />
| | [ <recruitmentOnly ... /> ]
| | <clearImmunity ... />
| [ <subPopRemoval ... /> ]
</component>
- screen
- treatSimple
- treatPKPD
- decisionTree
- PEV
- BSV
- TBV
- ITN
- IRS
- GVI
- recruitmentOnly
- clearImmunity
- subPopRemoval
Documentation (element)
A parameterisation of an effect achieved by one component of an intervention. (An intervention is described as the effects of a set of components plus deployments of those components. This describes the components individually, not deployments or which components comprise an intervention.)
Each element describes one component: its effects, decay of the(se) effect(s), and related stuff (e.g. description of indirect decay and of usage levels).
Different interventions can deploy the same component to the same perso. In most cases this will just deploy a fresh instance (e.g. a new bed net will replace the old (nobody uses multiple bed nets), or a new drug dose will act on top of previous doses, or in the case of a vaccine, effect depends on the total number of previous inoculations (including from other interventions).
Where multiple components of the same type (but with different ids) are deployed (whether within a single intervention or by multiple interventions), they act independently (e.g. two bed nets deployed to a single host would act to reduce attractiveness or survival of mosquitoes biting that host twice — this may be useful to simulate some novel vector intervention since the two nets may have separate parameters).
Attributes
Component identifier
id=string
A short name or code identifying the intervention component (used to refer to this component when describing an intervention). Also the id of the sub-population defined as those hosts who have received this intervention and who haven't subsequently been removed from the sub-population.
Name of component
name=string
An informal name/description for the component
screen
→ scenario → interventions → human → component → screen
<screen
diagnostic=string
>
IN THIS ORDER:
| ( <positive ... /> )*
| ( <negative ... /> )*
</screen>
Documentation (type)
This can be combined with MDA to achieve mass screen and treat (MSAT) or other types of mass screening intervention.
When deployed to a host, this simulates a test of patent malaria (microscopy, RDT or some such), then triggers deployment of whichever intervention components are configured (deployments for both positive and negative test outcomes can be configured).
The use of the screening itself is reported (if enabled), but not the outcome. Deployment of interventions triggered by the screening may be reported, however.
Attributes
Name of diagnostic
diagnostic=string
Name of a parameterised diagnostic (see scenario/diagnostics).
positive
→ scenario → interventions → human → component → screen → positive
<positive
id=string
/>
Documentation (type)
The list of components deployed to eligible humans.
Attributes
Identifier
id=string
The identifier (short name) of a component.
negative
→ scenario → interventions → human → component → screen → negative
<negative
id=string
/>
Documentation (type)
The list of components deployed to eligible humans.
Attributes
Identifier
id=string
The identifier (short name) of a component.
treatSimple
→ scenario → interventions → human → component → treatSimple
<treatSimple
durationLiver=string
durationBlood=string
/>
Documentation (type)
Simple treatment model, targetting liver- and/or blood-stage infections. This is all-or-nothing treatment which, when deploymed, completely clears all infections of the targetted stages. This makes it unsuitable for modeling resistance, but suitable for use with simple infection models.
Infections are considered liver-stage when less than five days old and blood-stage after that. Effects are described independently for the two stages.
Attributes
Length of liver-stage effect
durationLiver=string
Units: User defined
Controls action on liver-stage infections. 0 means no action, -1 step is a compatibility option to act like treatment before schema version 32 (which removed infections retrospectively), 1 step or any duration which equals some whole number of steps n>0 means to clear all liver-stage infections found on the next 1 or n steps. Note on -1 compatibility option: the main difference to 1 step (clearing on the next timestep) is that parasite densities will be reduced immediately, and thus from the point of view of surveys and mass screen and treat interventions a peak in density which is immediately treated through case management will not be seen. Can be specified in steps (e.g. 1t, -1t) or days (e.g. 5d).
Length of blood-stage effect
durationBlood=string
Units: User defined
Controls action on blood-stage infections. 0 means no action, -1 step is a compatibility option to act like treatment before schema version 32 (which removed infections retrospectively), 1 step or any duration which equals some whole number of steps n>0 means to clear all blood-stage infections found on the next 1 or n steps. Note on -1 compatibility option: the main difference to 1 step (clearing on the next timestep) is that parasite densities will be reduced immediately, and thus from the point of view of surveys and mass screen and treat interventions a peak in density which is immediately treated through case management will not be seen. Can be specified in steps (e.g. 1t, -1t) or days (e.g. 5d).
treatPKPD
→ scenario → interventions → human → component → treatPKPD
<treatPKPD
schedule=string
dosage=string
[ delay_h=double ] DEFAULT VALUE 0
/>
Documentation (type)
A command to administer drugs according to a given schedule and dosage table, optionally with a delay.
Attributes
Name of treatment schedule
schedule=string
The name of a schedule to use for treatment.
Name of dosage table
dosage=string
The name of a dosage table to use for treatment.
Delay (hours)
delay_h=double
Default value: 0
Optionally, this can be given to delay the start of treatment by a given number of hours. If not specified, treatment is not delayed. If a delay is given, all medications within the treatment schedule used are delayed by this number of hours.
decisionTree
→ scenario → interventions → human → component → decisionTree
<decisionTree
[ name=string ]
>
EXACTLY ONE OF:
| <multiple ... />
| <caseType ... />
| <diagnostic ... />
| <random ... />
| <age ... />
| <noTreatment ... />
| <treatFailure ... />
| ( <treatPKPD ... /> )+
| <treatSimple ... />
| ( <deploy ... /> )+
</decisionTree>
Documentation (type)
Describes how "decisions" are made, both probabilistically and deterministically, and what actions are carried out.
Quantities may also be reported as a side effect of decisions made in the tree, for example the number of diagnostics used.
Attributes
Name
name=string
An optional piece of documentation attached to this node.
Vaccines
→ scenario → interventions → human → component → PEV
<PEV>
IN THIS ORDER:
| <decay ... />
| <efficacyB ... />
| ( <initialEfficacy ... /> )+
</PEV>
Documentation (element)
Pre-erythrocytic vaccine (PEV): prevents a proportion of infections from commencing.
Documentation (type)
Description of a vaccine's effect
Decay of effect
→ scenario → interventions → human → component → PEV → decay
<decay
function=("constant" or "step" or "linear" or "exponential" or "weibull" or "hill" or "smooth-compact")
[ L=string ]
[ k=double ] DEFAULT VALUE 1.0
[ CV=double ] DEFAULT VALUE 0
/>
Documentation (element)
Specification of decay of efficacy. Documentation: see DecayFunction type or https://github.com/SwissTPH/openmalaria/wiki/ModelDecayFunctions
Documentation (type)
Specification of decay or survival of a parameter.
Attributes
function
function=("constant" or "step" or "linear" or "exponential" or "weibull" or "hill" or "smooth-compact")
Units: None Min: 0 Max: 1
Determines which decay function to use. Available decay functions, for age t in years: constant: 1 step: 1 for t less than L, otherwise 0 linear: 1 - t/L for t less than L, otherwise 0 exponential: exp( - t/L * log(2) ) weibull: exp( -(t/L)^k * log(2) ) hill: 1 / (1 + (t/L)^k) smooth-compact: exp( k - k / (1 - (t/L)^2) ) for t less than L, otherwise 0
L
L=string
Units: User-defined (defaults to years) Min: 0
(Time) scale parameter of distribution: this is either the age of complete decay (smooth-compact, step and linear functions) or the age at which the parameter has decayed to half its original value (exponential, weibull and hill). Not used when function="constant" (i.e. no decay). This value can be specified in years, days or steps (e.g. 2y, 180d or 100t). When the unit is not specified years are assumed. The value is used without rounding except when sampling an age of decay, when the rounding happens as late as possible.
k
k=double
Units: none Min: 0
Default value: 1.0
Shape parameter of distribution. If not specified, default value of 1 is used. Meaning depends on function; not used in some cases.
Coefficient of Variation
CV=double
Min: 0
Default value: 0
If CV is non-zero, heterogeneity of decay is introduced via a random variable sampled from the log-normal distribution. This distribution is parameterised with mean=1 and CV as given. The effective age of decay is the real age multiplied by this variable (for decay functions with a half-life, this is equivalent to dividing the half-life by the variable).
Variance parameter for vaccine efficacy
→ scenario → interventions → human → component → PEV → efficacyB
<efficacyB
value=double
/>
Documentation (element)
Units: Positive real Min: 0.001 Max: 1.00E+06
Measure of variation in vaccine efficacy: efficacy is sampled from a beta distribution with efficacyB its beta parameter and its alpha parameter fixed such that the mean is that given by initialEfficacy.
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Initial mean efficacy
→ scenario → interventions → human → component → PEV → initialEfficacy
<initialEfficacy
value=double
/>
Documentation (element)
Units: dimensionless Min: 0 Max: 1
Mean efficacy values before decay (see efficacyB and decay parameter descriptions for sampling and decay). The i-th value in this list is used for the efficacy of the vaccine after the i-th dose. Where more doses are given than there are values in this list, the last value is repeated.
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Vaccines
→ scenario → interventions → human → component → BSV
<BSV>
IN THIS ORDER:
| <decay ... />
| <efficacyB ... />
| ( <initialEfficacy ... /> )+
</BSV>
Documentation (element)
Blood-stage vaccine (BSV): acts as a killing factor on blood-stage parasites. Exact action depends on the within host model.
Documentation (type)
Description of a vaccine's effect
Vaccines
→ scenario → interventions → human → component → TBV
<TBV>
IN THIS ORDER:
| <decay ... />
| <efficacyB ... />
| ( <initialEfficacy ... /> )+
</TBV>
Documentation (element)
Transmission-blocking vaccine (TBV): one minus this scales the probability of transmission to mosquitoes
Documentation (type)
Description of a vaccine's effect
Bed nets
→ scenario → interventions → human → component → ITN
<ITN>
IN THIS ORDER:
| [ <usage ... /> ]
| <holeRate ... />
| <ripRate ... />
| <ripFactor ... />
| <initialInsecticide ... />
| <insecticideDecay ... />
| <attritionOfNets ... />
| ( <anophelesParams ... /> )+
</ITN>
- usage
- holeRate
- ripRate
- ripFactor
- initialInsecticide
- insecticideDecay
- attritionOfNets
- anophelesParams
Documentation (element)
Description of bed-net interventions (ITNs, LLINs).
Proportion of time nets are used by humans
→ scenario → interventions → human → component → ITN → usage
<usage
value=double
/>
Documentation (element)
Units: dimensionless Min: 0 Max: 1
Usage of nets by humans, from 0 to 1.
At the moment this is constant across humans and deterministic: relative attractiveness and survival factors are base*(1-usagepropActing) + intervention_factorusage*propActing.
See also "propActing" (proportion of bits for which net acts).
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Rate at which holes are made
→ scenario → interventions → human → component → ITN → holeRate
<holeRate
[ CV=double ]
[ distr=("const" or "lognormal") ] DEFAULT VALUE const
mean=double
/>
Documentation (element)
Units: Holes per annum Min: 0
The rate at which new holes are made in nets.
nHoles(t) = nHoles(t-1) + X where X~Pois(R/T) where T is the number of time-steps per year. R is sampled from log-normal: R ~ log N( log(mean)-sigma²/2, sigma² ) and is covariant with ripRate and insecticideDecay. (To be exact, a single Gaussian sample is taken, adjusted for each sigma then exponentiated.)
Documentation (type)
A parameter with optional log-normal heterogeneity.
The mean value must be specified. Optionally, a distribution ("distr") and coefficient of variation ("CV") may be specified.
Documentation (base type)
A parameter with optional heterogeneity.
The mean cannot be specified (unless this type is extended). Optionally, a distribution ("distr") and coefficient of variation ("CV") may be specified.
Attributes
Coefficient of variation
CV=double
Units: unitless
The (linear) coefficient of variation. This value must be specified when a (non-constant) distribution is used. Note that specifying CV="0" has the same effect as distr="const" and disables sampling of this parameter, even if distr is not "const".
Distribution
distr=("const" or "lognormal")
Default value: const
To allow heterogeneity, a distribution must be specified. Valid options are as follows. "const": no variation or sampling. Specifying distr="const" has the same effect as not specifying distr at all. "lognormal": the parameter is sampled from a log-normal distribution. Note that the "mean" and "CV" values are linear (arithmetic) properties of the distribution and not log-space properties.
mean
mean=double
The (linear) mean value.
Rate at which holes are enlarged
→ scenario → interventions → human → component → ITN → ripRate
<ripRate
[ CV=double ]
[ distr=("const" or "lognormal") ] DEFAULT VALUE const
mean=double
/>
Documentation (element)
Units: Rips per existing hole per annum Min: 0
Each existing hole has a probability of being ripped bigger according to a Poisson process with this rate as (only) parameter.
New rips occur in a net at rate X~Pois(h×R/T) where h is the number of existing holes and T the number of time-steps per year. R is sampled from log-normal: R ~ log N( log(mean)-sigma²/2, sigma² ) and is covariant with holeRate and insecticideDecay. (To be exact, a single Gaussian sample is taken, adjusted for the each and sigma then exponentiated.)
Documentation (type)
A parameter with optional log-normal heterogeneity.
The mean value must be specified. Optionally, a distribution ("distr") and coefficient of variation ("CV") may be specified.
Documentation (base type)
A parameter with optional heterogeneity.
The mean cannot be specified (unless this type is extended). Optionally, a distribution ("distr") and coefficient of variation ("CV") may be specified.
Attributes
Coefficient of variation
CV=double
Units: unitless
The (linear) coefficient of variation. This value must be specified when a (non-constant) distribution is used. Note that specifying CV="0" has the same effect as distr="const" and disables sampling of this parameter, even if distr is not "const".
Distribution
distr=("const" or "lognormal")
Default value: const
To allow heterogeneity, a distribution must be specified. Valid options are as follows. "const": no variation or sampling. Specifying distr="const" has the same effect as not specifying distr at all. "lognormal": the parameter is sampled from a log-normal distribution. Note that the "mean" and "CV" values are linear (arithmetic) properties of the distribution and not log-space properties.
mean
mean=double
The (linear) mean value.
Rip factor
→ scenario → interventions → human → component → ITN → ripFactor
<ripFactor
value=double
/>
Documentation (element)
Units: none Min: 0
This factor expresses how important rips are in increasing the hole.
The hole index of a net is h + F×x where h and x are the total numbers of holes and rips respectively and F is the rip factor.
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Initial insecticide
→ scenario → interventions → human → component → ITN → initialInsecticide
<initialInsecticide
mean=double
[ SD=double ]
[ distr=("const" or "normal") ] DEFAULT VALUE const
/>
Documentation (element)
Units: mg/m² Min: 0
The insecticide concentration of new nets is Gaussian distributed with mean "mu" and a standard deviation "sigma". The standard deviation should be small relative to the mean to avoid negative initial concentration. Any negative values sampled are set to 0.
Documentation (type)
A parameter with optional heterogeneity.
Optionally, a distribution ("distr") and standard of deviation ("SD") may be specified.
Attributes
mean
mean=double
The mean value.
standard deviation
SD=double
The standard deviation of variates.
Distribution
distr=("const" or "normal")
Default value: const
To allow heterogeneity, a distribution must be specified. Valid options are as follows. "const": no variation or sampling. Specifying distr="const" has the same effect as not specifying distr at all. "normal": the parameter is sampled from a normal distribution.
Decay of insecticide
→ scenario → interventions → human → component → ITN → insecticideDecay
<insecticideDecay
function=("constant" or "step" or "linear" or "exponential" or "weibull" or "hill" or "smooth-compact")
[ L=string ]
[ k=double ] DEFAULT VALUE 1.0
[ CV=double ] DEFAULT VALUE 0
/>
Documentation (element)
Units: none
Decay curve for insecticide content of nets. Documentation: see DecayFunction type or https://github.com/SwissTPH/openmalaria/wiki/ModelDecayFunctions
The distribution of decay rates over nets is covariant with the distribution of ripRate and holeRate over nets. This distribution is generated by taking one sample per net from a Gaussian distribution with mean 0 and standard deviation 1. For each variable, the sample is multiplied by the respective sigma and a constant added such that, once exponentiated, the mean of the variable over nets is 1. The variable is then exponentiated and multiplied by the required mean rate for the respective variable.
Documentation (type)
Specification of decay or survival of a parameter.
Attributes
function
function=("constant" or "step" or "linear" or "exponential" or "weibull" or "hill" or "smooth-compact")
Units: None Min: 0 Max: 1
Determines which decay function to use. Available decay functions, for age t in years: constant: 1 step: 1 for t less than L, otherwise 0 linear: 1 - t/L for t less than L, otherwise 0 exponential: exp( - t/L * log(2) ) weibull: exp( -(t/L)^k * log(2) ) hill: 1 / (1 + (t/L)^k) smooth-compact: exp( k - k / (1 - (t/L)^2) ) for t less than L, otherwise 0
L
L=string
Units: User-defined (defaults to years) Min: 0
(Time) scale parameter of distribution: this is either the age of complete decay (smooth-compact, step and linear functions) or the age at which the parameter has decayed to half its original value (exponential, weibull and hill). Not used when function="constant" (i.e. no decay). This value can be specified in years, days or steps (e.g. 2y, 180d or 100t). When the unit is not specified years are assumed. The value is used without rounding except when sampling an age of decay, when the rounding happens as late as possible.
k
k=double
Units: none Min: 0
Default value: 1.0
Shape parameter of distribution. If not specified, default value of 1 is used. Meaning depends on function; not used in some cases.
Coefficient of Variation
CV=double
Min: 0
Default value: 0
If CV is non-zero, heterogeneity of decay is introduced via a random variable sampled from the log-normal distribution. This distribution is parameterised with mean=1 and CV as given. The effective age of decay is the real age multiplied by this variable (for decay functions with a half-life, this is equivalent to dividing the half-life by the variable).
Attrition of nets
→ scenario → interventions → human → component → ITN → attritionOfNets
<attritionOfNets
function=("constant" or "step" or "linear" or "exponential" or "weibull" or "hill" or "smooth-compact")
[ L=string ]
[ k=double ] DEFAULT VALUE 1.0
[ CV=double ] DEFAULT VALUE 0
/>
Documentation (element)
Units: dimensionless
Specifies the rate at which nets are disposed of over time. Documentation: see DecayFunction type or https://github.com/SwissTPH/openmalaria/wiki/ModelDecayFunctions
In the current model, nets are disposed of randomly (no correlation with state of decay) such that the chance of each net surviving until age t is the value of this decay function at time t. Equivalently (where a large number of nets are distributed at the same time), the proportion of nets remaining in use should match this decay function over time.
Humans are removed from the intervention component's sub-population on disposal (attrition) of their nets. Currently this event is not reported.
Documentation (type)
Specification of decay or survival of a parameter.
Attributes
function
function=("constant" or "step" or "linear" or "exponential" or "weibull" or "hill" or "smooth-compact")
Units: None Min: 0 Max: 1
Determines which decay function to use. Available decay functions, for age t in years: constant: 1 step: 1 for t less than L, otherwise 0 linear: 1 - t/L for t less than L, otherwise 0 exponential: exp( - t/L * log(2) ) weibull: exp( -(t/L)^k * log(2) ) hill: 1 / (1 + (t/L)^k) smooth-compact: exp( k - k / (1 - (t/L)^2) ) for t less than L, otherwise 0
L
L=string
Units: User-defined (defaults to years) Min: 0
(Time) scale parameter of distribution: this is either the age of complete decay (smooth-compact, step and linear functions) or the age at which the parameter has decayed to half its original value (exponential, weibull and hill). Not used when function="constant" (i.e. no decay). This value can be specified in years, days or steps (e.g. 2y, 180d or 100t). When the unit is not specified years are assumed. The value is used without rounding except when sampling an age of decay, when the rounding happens as late as possible.
k
k=double
Units: none Min: 0
Default value: 1.0
Shape parameter of distribution. If not specified, default value of 1 is used. Meaning depends on function; not used in some cases.
Coefficient of Variation
CV=double
Min: 0
Default value: 0
If CV is non-zero, heterogeneity of decay is introduced via a random variable sampled from the log-normal distribution. This distribution is parameterised with mean=1 and CV as given. The effective age of decay is the real age multiplied by this variable (for decay functions with a half-life, this is equivalent to dividing the half-life by the variable).
anophelesParams
→ scenario → interventions → human → component → ITN → anophelesParams
<anophelesParams
mosquito=string
[ propActive=double ] DEFAULT VALUE 1
>
IN THIS ORDER:
| [ <holeIndexMax ... /> ]
| EXACTLY ONE OF:
| | <deterrency ... />
| | <twoStageDeterrency ... />
| EXACTLY ONE OF:
| | <preprandialKillingEffect ... />
| | <preprandialKillingEffectLogit ... />
| EXACTLY ONE OF:
| | <postprandialKillingEffect ... />
| | <postprandialKillingEffectLogit ... />
| EXACTLY ONE OF:
| | [ <fecundityReduction ... /> ]
| | [ <fecundityReductionLogit ... /> ]
</anophelesParams>
- holeIndexMax
- deterrency
- twoStageDeterrency
- preprandialKillingEffect
- preprandialKillingEffectLogit
- postprandialKillingEffect
- postprandialKillingEffectLogit
- fecundityReduction
- fecundityReductionLogit
Attributes
Mosquito species
mosquito=string
Name of the affected anopheles-mosquito species.
Proportion of bites for which net acts
propActive=double
Units: dimensionless Min: 0 Max: 1
Default value: 1
The proportion of bites, when nets are in use, for which the net has any action whatsoever on the mosquito. At the moment this is constant across humans and deterministic: relative attractiveness and survival factors are base*(1-usagepropActing) + intervention_factorusage*propActing. See also "usage" (proportion of time nets are used by humans).
maximum of holed surface area that has an effect (comparable to no net)
→ scenario → interventions → human → component → ITN → anophelesParams → holeIndexMax
<holeIndexMax
value=double
/>
Documentation (element)
Units: in same unit as holeIndex
Used by logit attacking and killing models only, holeIndexMax is a user defined maximum hole index (typically, the total surface area of a net).
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Relative attractiveness
→ scenario → interventions → human → component → ITN → anophelesParams → deterrency
<deterrency
insecticideFactor=double
insecticideScalingFactor=double
holeFactor=double
interactionFactor=double
holeScalingFactor=double
/>
Documentation (element)
Units: dimensionless Min: 0 Max: 1
Effect of net on attractiveness of humans to mosquitoes relative to an unprotected adult human. Parameterisations should take into account that mosquitoes do not always bite indoors.
Attractiveness of the human is multiplied by exp(log(H)×h + log(P)×p + log(I)×h×p where H, P and I are the hole, insecticide and interaction factors respectively, h=exp(-holeIndex×holeScalingFactor) and p=1−exp(-insecticideContent×insecticideScalingFactor).
Attributes
Insecticide factor
insecticideFactor=double
Units: none Max: 1
Value expected to be at least 0. Negative values are not necessarily invalid, but allow nets to increase transmission.
Insecticide scaling factor
insecticideScalingFactor=double
Units: none Min: 0
Hole factor
holeFactor=double
Units: none Max: 1
Value expected to be at least 0. Negative values are not necessarily invalid, but allow nets to increase transmission.
Interaction factor
interactionFactor=double
Units: none Max: 1
holeFactor + insecticideFactor + interactionFactor must not be greater than 1, and is expected to be at least 0. A negative value is not necessarily invalid, but allows nets to increase transmission.
Hole scaling factor
holeScalingFactor=double
Units: none Min: 0
Relative attractiveness
→ scenario → interventions → human → component → ITN → anophelesParams → twoStageDeterrency
<twoStageDeterrency>
IN THIS ORDER:
| EXACTLY ONE OF:
| | <entering ... />
| | <enteringLogit ... />
| EXACTLY ONE OF:
| | <attacking ... />
| | <attackingLogit ... />
</twoStageDeterrency>
Documentation (element)
Units: dimensionless
Effect of net on attractiveness of humans to mosquitoes relative to an unprotected adult human. Parameterisations should take into account that mosquitoes do not always bite indoors.
This deterrency model multiplies human attractiveness by pEnt×pAtt.
Deterrency: entering
→ scenario → interventions → human → component → ITN → anophelesParams → twoStageDeterrency → entering
<entering
insecticideFactor=double
insecticideScalingFactor=double
/>
Documentation (element)
Units: dimensionless
pEnt represents the relative probability of entering due to ITNs: pEnt = exp(log(P)×p) where P is the insecticide factor and p=1−exp(-insecticideContent×insecticideScalingFactor).
Attributes
Insecticide factor
insecticideFactor=double
Units: none Max: 1
Value expected to be at least 0. Negative values are not necessarily invalid, but allow nets to increase transmission.
Insecticide scaling factor
insecticideScalingFactor=double
Units: none Min: 0
Deterrency: entering (logit model)
→ scenario → interventions → human → component → ITN → anophelesParams → twoStageDeterrency → enteringLogit
<enteringLogit
baseFactor=double
insecticideFactor=double
/>
Documentation (element)
Units: dimensionless
pEnt represents the relative probability of entering due to insecticide in the hut: pEnt = exp(logit.pEnt) / (exp(logit.pEnt) + 1) logit.pEnt = B + P * p where B is the basefactor (without net); P is insecticide factor, and p = log(insecticideContent+1). Without a net, probability of entering a house is pEnt0 = exp(logit.pEnt0) / (exp(logit.pEnt0) + 1) logit.pEnt0 = B Entering of mosquitoes is adjusted via multiplication by pEnt / pEnt0. To keep this in the range [0,1], we (normally) require that pEnt ≤ pEnt0 and thus P ≤ 0 and give a warning if this is not fulfilled.
Attributes
Base factor
baseFactor=double
Units: none
See parent element documentation
Insecticide factor
insecticideFactor=double
Units: none
See parent element documentation
Deterrency: attacking
→ scenario → interventions → human → component → ITN → anophelesParams → twoStageDeterrency → attacking
<attacking
insecticideFactor=double
insecticideScalingFactor=double
holeFactor=double
interactionFactor=double
holeScalingFactor=double
baseFactor=double
/>
Documentation (element)
Units: dimensionless
pAtt represents the relative probability of attacking a human after entering a house due to ITNs (i.e. of feeding/dying vs. flying off): pAtt = B + H×h + P×p + I×h×p where B is the base (without net) probability; H, P and I are the hole, insecticide and interaction factors respectively, h=exp(-holeIndex × holeScalingFactor) and p=1 - exp(-insecticideContent × insecticideScalingFactor).
Attributes
Insecticide factor
insecticideFactor=double
Units: none Max: 1
Value expected to be at least 0. Negative values are not necessarily invalid, but allow nets to increase transmission.
Insecticide scaling factor
insecticideScalingFactor=double
Units: none Min: 0
Hole factor
holeFactor=double
Units: none Max: 1
Value expected to be at least 0. Negative values are not necessarily invalid, but allow nets to increase transmission.
Interaction factor
interactionFactor=double
Units: none Max: 1
holeFactor + insecticideFactor + interactionFactor must not be greater than 1, and is expected to be at least 0. A negative value is not necessarily invalid, but allows nets to increase transmission.
Hole scaling factor
holeScalingFactor=double
Units: none Min: 0
Probability of mosquito death without intervention
baseFactor=double
Units: dimensionless
Deterrency: attacking (logit model)
→ scenario → interventions → human → component → ITN → anophelesParams → twoStageDeterrency → attackingLogit
<attackingLogit
baseFactor=double
insecticideFactor=double
holeFactor=double
interactionFactor=double
/>
Documentation (element)
Units: dimensionless
pAtt represents the relative probability of attacking a human after entering a house due to ITNs (i.e. of feeding/dying vs. flying off): pAtt = exp(logit.pAtt) / (exp(logit.pAtt) + 1) logit.pAtt = B + H×min(h, hMax) + P×p + I×min(h, hMax)×p where B is the base factor (without net); H, P and I are the hole, insecticide and interaction factors respectively, and: h = log(holeIndex + 1) p = log(insecticideContent + 1) Without a net, probability of attacking a human after entering a house is pAtt0 = exp(logit.pAtt0) / (exp(logit.pAtt0) + 1) logit.pAtt0 = B + H×hMax where hMax=log(holeIndexMax + 1) and holeIndexMax is a user defined maximum hole index (typically, the total surface area of a net). Attacking of mosquitoes is adjusted via multiplication by pAtt / pAtt0. This may be larger and smaller than 1 (but will not be negative). By definition (through the logit transformation) pAtt0 > 0.
Attributes
Base factor
baseFactor=double
Units: dimensionless
Logit of the probability (e.g. of death, of entry, of attacking) without intervention.
Insecticide factor
insecticideFactor=double
Units: none
Coefficient of log(insecticide content+1) in a generalized linear model with logit link function.
Hole factor
holeFactor=double
Units: none
Coefficient of log(total holed surface area (in cm2) +1) in a generalized linear model with logit link function.
Interaction factor
interactionFactor=double
Units: none
Coefficient of the interaction term of log(total holed surface area (in cm2) +1) with log(insecticide content+1) in a generalized linear model with logit link function.
Pre-prandial killing effect
→ scenario → interventions → human → component → ITN → anophelesParams → preprandialKillingEffect
<preprandialKillingEffect
insecticideFactor=double
insecticideScalingFactor=double
holeFactor=double
interactionFactor=double
holeScalingFactor=double
baseFactor=double
/>
Documentation (element)
Units: dimensionless Min: 0 Max: 1
Effect of net on survival mosquitoes as they seek to bite a human after choosing that human, relative to the same person not sleeping under a net. Parameterisations should take into account that mosquitoes do not always bite indoors.
Killing proportion is calculated as K = B + H×h + P×p + I×h×p where B is the base (without net) probability of death, H, P and I are the hole, insecticide and interaction factors respectively, h=exp(-holeIndex×holeScalingFactor) and p=1−exp(-insecticideContent×insecticideScalingFactor).
Survival of mosquitoes is adjusted via multiplication by (1−K) / (1−B). To keep this in the range [0,1], we require that B+H ≤ 1, B+P ≤ 1, B+H+P+I ≤ 1, H ≥ 0, P ≥ 0 and H+P+I ≥ 0.
Attributes
Insecticide factor
insecticideFactor=double
Units: none Max: 1
Value expected to be at least 0. Negative values are not necessarily invalid, but allow nets to increase transmission.
Insecticide scaling factor
insecticideScalingFactor=double
Units: none Min: 0
Hole factor
holeFactor=double
Units: none Max: 1
Value expected to be at least 0. Negative values are not necessarily invalid, but allow nets to increase transmission.
Interaction factor
interactionFactor=double
Units: none Max: 1
holeFactor + insecticideFactor + interactionFactor must not be greater than 1, and is expected to be at least 0. A negative value is not necessarily invalid, but allows nets to increase transmission.
Hole scaling factor
holeScalingFactor=double
Units: none Min: 0
Probability of mosquito death without intervention
baseFactor=double
Units: dimensionless
Pre-prandial killing effect (logit)
→ scenario → interventions → human → component → ITN → anophelesParams → preprandialKillingEffectLogit
<preprandialKillingEffectLogit
baseFactor=double
insecticideFactor=double
holeFactor=double
interactionFactor=double
/>
Documentation (element)
Units: dimensionless Min: 0 Max: 1
Effect of net on survival mosquitoes as they seek to bite a human
after choosing that human, relative to the same person not
sleeping under a net.
Killing proportion is calculated as
K=exp(logit.K)/(exp(logit.K)+1)
logit.K = B + H×min(h,hMax) + P×p + I×min(h,hMax)×p
where B is the basefactor (without net),
H, P and I are the hole, insecticide and interaction factors
respectively, h=log(holeIndex+1) and
p=log(insecticideContent+1).
Without a net, the killing proportion
K0=exp(logit.K0)/(exp(logit.K0)+1)
logit.K0 = B + H×hMax
where hMax=log(holeIndexMax+1) and holeIndexMax is a user defined maximum hole index (typically, the total surface area of a net).
Survival of mosquitoes is adjusted via multiplication by (1−K) / (1−K0).
To keep this in the range [0,1], we require that K ≥ K0. We enforce that P ≥ 0 (It would not make sense biologically if P were negative) and P+I*hMax ≥ 0 and H ≤ 0 and holeIndex ≤ holeIndexMax and give a warning if these conditions are not fulfilled.
Attributes
Base factor
baseFactor=double
Units: dimensionless
Logit of the probability (e.g. of death, of entry, of attacking) without intervention.
Insecticide factor
insecticideFactor=double
Units: none
Coefficient of log(insecticide content+1) in a generalized linear model with logit link function.
Hole factor
holeFactor=double
Units: none
Coefficient of log(total holed surface area (in cm2) +1) in a generalized linear model with logit link function.
Interaction factor
interactionFactor=double
Units: none
Coefficient of the interaction term of log(total holed surface area (in cm2) +1) with log(insecticide content+1) in a generalized linear model with logit link function.
Post-prandial killing effect
→ scenario → interventions → human → component → ITN → anophelesParams → postprandialKillingEffect
<postprandialKillingEffect
insecticideFactor=double
insecticideScalingFactor=double
holeFactor=double
interactionFactor=double
holeScalingFactor=double
baseFactor=double
/>
Documentation (element)
Units: dimensionless Min: 0 Max: 1
Effect of net on survival mosquitoes as they seek to escape from a human host and rest after a blood meal, relative to the same person not sleeping under a net. Parameterisations should take into account that mosquitoes do not always bite indoors.
Killing proportion is calculated as K = B + H×h + P×p + I×h×p where B is the base (without net) probability of death, H, P and I are the hole, insecticide and interaction factors respectively, h=exp(-holeIndex×holeScalingFactor) and p=1−exp(-insecticideContent×insecticideScalingFactor).
Survival of mosquitoes is adjusted via multiplication by (1−K) / (1−B). To keep this in the range [0,1], we require that B+H ≤ 1, B+P ≤ 1, B+H+P+I ≤ 1, H ≥ 0, P ≥ 0 and H+P+I ≥ 0.
Attributes
Insecticide factor
insecticideFactor=double
Units: none Max: 1
Value expected to be at least 0. Negative values are not necessarily invalid, but allow nets to increase transmission.
Insecticide scaling factor
insecticideScalingFactor=double
Units: none Min: 0
Hole factor
holeFactor=double
Units: none Max: 1
Value expected to be at least 0. Negative values are not necessarily invalid, but allow nets to increase transmission.
Interaction factor
interactionFactor=double
Units: none Max: 1
holeFactor + insecticideFactor + interactionFactor must not be greater than 1, and is expected to be at least 0. A negative value is not necessarily invalid, but allows nets to increase transmission.
Hole scaling factor
holeScalingFactor=double
Units: none Min: 0
Probability of mosquito death without intervention
baseFactor=double
Units: dimensionless
Post-prandial killing effect (logit)
→ scenario → interventions → human → component → ITN → anophelesParams → postprandialKillingEffectLogit
<postprandialKillingEffectLogit
baseFactor=double
insecticideFactor=double
holeFactor=double
interactionFactor=double
/>
Documentation (element)
Units: dimensionless Min: 0 Max: 1
Effect of net on survival mosquitoes as they seek to escape from a human host and rest after a blood meal, relative to the same person not sleeping under a net. Killing proportion is calculated as K=exp(logit.K)/(exp(logit.K)+1) logit.K = B + H×min(h,hMax) + P×p + I×min(h,hMax)×p where B is the basefactor (without net), H, P and I are the hole, insecticide and interaction factors respectively, h=log(holeIndex+1) and p=log(insecticideContent+1). Without a net, the killing proportion K0=exp(logit.K0)/(exp(logit.K0)+1) logit.K0 = B + H×hMax where hMax=log(holeIndexMax+1) and holeIndexMax is a user defined maximum hole index (typically, the total surface area of a net). Survival of mosquitoes is adjusted via multiplication by (1−K) / (1−K0). To keep this in the range [0,1], we require that K ≥ K0. We enforce that P ≥ 0 (It would not make sense biologically if P were negative) and P+I*hMax ≥ 0 and H ≤ 0 and holeIndex ≤ holeIndexMax and give a warning if these conditions are not fulfilled.
Attributes
Base factor
baseFactor=double
Units: dimensionless
Logit of the probability (e.g. of death, of entry, of attacking) without intervention.
Insecticide factor
insecticideFactor=double
Units: none
Coefficient of log(insecticide content+1) in a generalized linear model with logit link function.
Hole factor
holeFactor=double
Units: none
Coefficient of log(total holed surface area (in cm2) +1) in a generalized linear model with logit link function.
Interaction factor
interactionFactor=double
Units: none
Coefficient of the interaction term of log(total holed surface area (in cm2) +1) with log(insecticide content+1) in a generalized linear model with logit link function.
Fecundity reduction
→ scenario → interventions → human → component → ITN → anophelesParams → fecundityReduction
<fecundityReduction
insecticideFactor=double
insecticideScalingFactor=double
holeFactor=double
interactionFactor=double
holeScalingFactor=double
baseFactor=double
/>
Documentation (element)
Effect of net on fertility of mosquitoes who survive feeding on a protected human, relative to an unprotected human.
Fertility (number of eggs laid) is multiplied by (1-K) / (1-B), similar to killing effects. This is not allowed to be greater than 1.
Attributes
Insecticide factor
insecticideFactor=double
Units: none Max: 1
Value expected to be at least 0. Negative values are not necessarily invalid, but allow nets to increase transmission.
Insecticide scaling factor
insecticideScalingFactor=double
Units: none Min: 0
Hole factor
holeFactor=double
Units: none Max: 1
Value expected to be at least 0. Negative values are not necessarily invalid, but allow nets to increase transmission.
Interaction factor
interactionFactor=double
Units: none Max: 1
holeFactor + insecticideFactor + interactionFactor must not be greater than 1, and is expected to be at least 0. A negative value is not necessarily invalid, but allows nets to increase transmission.
Hole scaling factor
holeScalingFactor=double
Units: none Min: 0
Probability of mosquito death without intervention
baseFactor=double
Units: dimensionless
Fecundity reduction (logit)
→ scenario → interventions → human → component → ITN → anophelesParams → fecundityReductionLogit
<fecundityReductionLogit
baseFactor=double
insecticideFactor=double
holeFactor=double
interactionFactor=double
/>
Documentation (element)
Effect of net on fertility of mosquitoes who survive feeding on a protected human, relative to an unprotected human.
Fertility (number of eggs laid) is multiplied by (1-K) / (1-K0), similar to killing effects. This is not allowed to be greater than 1.
Attributes
Base factor
baseFactor=double
Units: dimensionless
Logit of the probability (e.g. of death, of entry, of attacking) without intervention.
Insecticide factor
insecticideFactor=double
Units: none
Coefficient of log(insecticide content+1) in a generalized linear model with logit link function.
Hole factor
holeFactor=double
Units: none
Coefficient of log(total holed surface area (in cm2) +1) in a generalized linear model with logit link function.
Interaction factor
interactionFactor=double
Units: none
Coefficient of the interaction term of log(total holed surface area (in cm2) +1) with log(insecticide content+1) in a generalized linear model with logit link function.
Indoor residual spraying
→ scenario → interventions → human → component → IRS
<IRS>
IN THIS ORDER:
| [ <usage ... /> ]
| <initialInsecticide ... />
| <insecticideDecay ... />
| ( <anophelesParams ... /> )+
</IRS>
Documentation (element)
Description of indoor residual spraying interventions.
Documentation (type)
Description of effect for the more complex and probably more realistic Briet model: IRS has three effects, whos strength is calculated as a function of surviving insecticide content.
Proportion of Indoor residual spraying (IRS) interventions
→ scenario → interventions → human → component → IRS → usage
<usage
value=double
/>
Documentation (element)
Units: dimensionless Min: 0 Max: 1
Usage of Indoor residual spraying (IRS) interventions, from 0 to 1.
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Initial insecticide
→ scenario → interventions → human → component → IRS → initialInsecticide
<initialInsecticide
mean=double
[ SD=double ]
[ distr=("const" or "normal") ] DEFAULT VALUE const
/>
Documentation (element)
Units: μg/cm² Min: 0
The insecticide concentration of IRS (at time of spraying) is Gaussian distributed with mean "mu" and a standard deviation "sigma". The standard deviation should be small relative to the mean to avoid negative initial concentration. Any negative values sampled are set to 0.
Documentation (type)
A parameter with optional heterogeneity.
Optionally, a distribution ("distr") and standard of deviation ("SD") may be specified.
Attributes
mean
mean=double
The mean value.
standard deviation
SD=double
The standard deviation of variates.
Distribution
distr=("const" or "normal")
Default value: const
To allow heterogeneity, a distribution must be specified. Valid options are as follows. "const": no variation or sampling. Specifying distr="const" has the same effect as not specifying distr at all. "normal": the parameter is sampled from a normal distribution.
Decay of insecticide
→ scenario → interventions → human → component → IRS → insecticideDecay
<insecticideDecay
function=("constant" or "step" or "linear" or "exponential" or "weibull" or "hill" or "smooth-compact")
[ L=string ]
[ k=double ] DEFAULT VALUE 1.0
[ CV=double ] DEFAULT VALUE 0
/>
Documentation (element)
Units: none
Decay curve for insecticide content of IRS. Documentation: see DecayFunction type or https://github.com/SwissTPH/openmalaria/wiki/ModelDecayFunctions
Documentation (type)
Specification of decay or survival of a parameter.
Attributes
function
function=("constant" or "step" or "linear" or "exponential" or "weibull" or "hill" or "smooth-compact")
Units: None Min: 0 Max: 1
Determines which decay function to use. Available decay functions, for age t in years: constant: 1 step: 1 for t less than L, otherwise 0 linear: 1 - t/L for t less than L, otherwise 0 exponential: exp( - t/L * log(2) ) weibull: exp( -(t/L)^k * log(2) ) hill: 1 / (1 + (t/L)^k) smooth-compact: exp( k - k / (1 - (t/L)^2) ) for t less than L, otherwise 0
L
L=string
Units: User-defined (defaults to years) Min: 0
(Time) scale parameter of distribution: this is either the age of complete decay (smooth-compact, step and linear functions) or the age at which the parameter has decayed to half its original value (exponential, weibull and hill). Not used when function="constant" (i.e. no decay). This value can be specified in years, days or steps (e.g. 2y, 180d or 100t). When the unit is not specified years are assumed. The value is used without rounding except when sampling an age of decay, when the rounding happens as late as possible.
k
k=double
Units: none Min: 0
Default value: 1.0
Shape parameter of distribution. If not specified, default value of 1 is used. Meaning depends on function; not used in some cases.
Coefficient of Variation
CV=double
Min: 0
Default value: 0
If CV is non-zero, heterogeneity of decay is introduced via a random variable sampled from the log-normal distribution. This distribution is parameterised with mean=1 and CV as given. The effective age of decay is the real age multiplied by this variable (for decay functions with a half-life, this is equivalent to dividing the half-life by the variable).
Per-mosquito species parameters
→ scenario → interventions → human → component → IRS → anophelesParams
<anophelesParams
mosquito=string
[ propActive=double ] DEFAULT VALUE 1
>
IN THIS ORDER:
| <deterrency ... />
| <preprandialKillingEffect ... />
| <postprandialKillingEffect ... />
| [ <fecundityReduction ... /> ]
</anophelesParams>
Attributes
Mosquito species
mosquito=string
Name of the affected anopheles-mosquito species.
Proportion of bites for which IRS acts
propActive=double
Units: dimensionless Min: 0 Max: 1
Default value: 1
The proportion of bites for which the IRS has any action whatsoever on the mosquito. At the moment this is constant across humans and deterministic: relative attractiveness and survival factors are base*(1-propActing) + intervention_factor*propActing.
Relative attractiveness
→ scenario → interventions → human → component → IRS → anophelesParams → deterrency
<deterrency
insecticideFactor=double
insecticideScalingFactor=double
/>
Documentation (element)
Units: dimensionless Min: 0 Max: 1
Effect of IRS on attractiveness of humans to mosquitoes relative to an unprotected adult human. Parameterisations should take into account that mosquitoes do not always bite indoors.
Attractiveness of the human is multiplied by exp(P×log(p)) where P is the insecticide factor, p=1−exp(-insecticideContent×insecticideScalingFactor).
Attributes
Insecticide factor
insecticideFactor=double
Units: none Max: 1
Value expected to be at least 0. Negative values are not necessarily invalid, but allow nets to increase transmission.
Insecticide scaling factor
insecticideScalingFactor=double
Units: none Min: 0
Pre-prandial killing effect
→ scenario → interventions → human → component → IRS → anophelesParams → preprandialKillingEffect
<preprandialKillingEffect
insecticideFactor=double
insecticideScalingFactor=double
baseFactor=double
/>
Documentation (element)
Units: dimensionless Min: 0 Max: 1
Effect of IRS on survival mosquitoes as they seek to bite a human after choosing that human, relative to the same person not protected by IRS. Parameterisations should take into account that mosquitoes do not always bite indoors. This parameter has been added since some data shows IRS to have a preprandial killing effect.
Killing proportion is calculated as K = B + P×p where B is the base (without protection) probability of death, and P is the insecticide factor, p=1−exp(-insecticideContent×insecticideScalingFactor).
Survival of mosquitoes is adjusted via multiplication by (1−K) / (1−B). To keep this in the range [0,1], we require that B+P ≤ 1 and P ≥ 0.
Attributes
Insecticide factor
insecticideFactor=double
Units: none Max: 1
Value expected to be at least 0. Negative values are not necessarily invalid, but allow nets to increase transmission.
Insecticide scaling factor
insecticideScalingFactor=double
Units: none Min: 0
Probability of mosquito death without intervention
baseFactor=double
Units: dimensionless
Post-prandial killing effect
→ scenario → interventions → human → component → IRS → anophelesParams → postprandialKillingEffect
<postprandialKillingEffect
insecticideFactor=double
insecticideScalingFactor=double
baseFactor=double
/>
Documentation (element)
Units: dimensionless Min: 0 Max: 1
Effect of IRS on survival mosquitoes as they seek to escape from a human host and rest after a blood meal, relative to the same person not protected by IRS. Parameterisations should take into account that mosquitoes do not always bite indoors.
Killing proportion is calculated as K = B + P×p where B is the base (without protection) probability of death, and P is the insecticide factor, p=1−exp(-insecticideContent×insecticideScalingFactor).
Survival of mosquitoes is adjusted via multiplication by (1−K) / (1−B). To keep this in the range [0,1], we require that B+P ≤ 1 and P ≥ 0.
Attributes
Insecticide factor
insecticideFactor=double
Units: none Max: 1
Value expected to be at least 0. Negative values are not necessarily invalid, but allow nets to increase transmission.
Insecticide scaling factor
insecticideScalingFactor=double
Units: none Min: 0
Probability of mosquito death without intervention
baseFactor=double
Units: dimensionless
Fecundity reduction
→ scenario → interventions → human → component → IRS → anophelesParams → fecundityReduction
<fecundityReduction
insecticideFactor=double
insecticideScalingFactor=double
baseFactor=double
/>
Documentation (element)
Effect of IRS on fertility mosquitoes after successfully feeding on a human host, relative to an unproteced human. Parameterisations should take into account that mosquitoes do not always bite indoors.
First, we calculate K = B + P×p where B is the base (without protection) probability of death, and P is the insecticide factor, p=1−exp(-insecticideContent×insecticideScalingFactor).
Fecundity is multiplied by (1−K) / (1−B). It is not allowed to be greater than 1. To keep this in the range [0,1], we require that B+P ≤ 1 and P ≥ 0.
Attributes
Insecticide factor
insecticideFactor=double
Units: none Max: 1
Value expected to be at least 0. Negative values are not necessarily invalid, but allow nets to increase transmission.
Insecticide scaling factor
insecticideScalingFactor=double
Units: none Min: 0
Probability of mosquito death without intervention
baseFactor=double
Units: dimensionless
Generic vector intervention
→ scenario → interventions → human → component → GVI
<GVI>
IN THIS ORDER:
| [ <usage ... /> ]
| <decay ... />
| ( <anophelesParams ... /> )+
</GVI>
Documentation (element)
Low-level description of intervention effects on vectors (i.e. mosquitoes). Can be used to describe simple ITN or IRS interventions (though more complex models are available for these interventions) or other interventions such as mosquito repellant or ivermectin.
Note that all actions of this intervention component will decay according to a single decay function. If independant decay is wanted, a separate component can be used for each action.
Proportion of generic vector interventions
→ scenario → interventions → human → component → GVI → usage
<usage
value=double
/>
Documentation (element)
Units: dimensionless Min: 0 Max: 1
Usage of Generic vector interventions, from 0 to 1.
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Decay
→ scenario → interventions → human → component → GVI → decay
<decay
function=("constant" or "step" or "linear" or "exponential" or "weibull" or "hill" or "smooth-compact")
[ L=string ]
[ k=double ] DEFAULT VALUE 1.0
[ CV=double ] DEFAULT VALUE 0
/>
Documentation (element)
Description of decay of all intervention effects. Documentation: see DecayFunction type or https://github.com/SwissTPH/openmalaria/wiki/ModelDecayFunctions
Documentation (type)
Specification of decay or survival of a parameter.
Attributes
function
function=("constant" or "step" or "linear" or "exponential" or "weibull" or "hill" or "smooth-compact")
Units: None Min: 0 Max: 1
Determines which decay function to use. Available decay functions, for age t in years: constant: 1 step: 1 for t less than L, otherwise 0 linear: 1 - t/L for t less than L, otherwise 0 exponential: exp( - t/L * log(2) ) weibull: exp( -(t/L)^k * log(2) ) hill: 1 / (1 + (t/L)^k) smooth-compact: exp( k - k / (1 - (t/L)^2) ) for t less than L, otherwise 0
L
L=string
Units: User-defined (defaults to years) Min: 0
(Time) scale parameter of distribution: this is either the age of complete decay (smooth-compact, step and linear functions) or the age at which the parameter has decayed to half its original value (exponential, weibull and hill). Not used when function="constant" (i.e. no decay). This value can be specified in years, days or steps (e.g. 2y, 180d or 100t). When the unit is not specified years are assumed. The value is used without rounding except when sampling an age of decay, when the rounding happens as late as possible.
k
k=double
Units: none Min: 0
Default value: 1.0
Shape parameter of distribution. If not specified, default value of 1 is used. Meaning depends on function; not used in some cases.
Coefficient of Variation
CV=double
Min: 0
Default value: 0
If CV is non-zero, heterogeneity of decay is introduced via a random variable sampled from the log-normal distribution. This distribution is parameterised with mean=1 and CV as given. The effective age of decay is the real age multiplied by this variable (for decay functions with a half-life, this is equivalent to dividing the half-life by the variable).
Per-mosquito species parameters
→ scenario → interventions → human → component → GVI → anophelesParams
<anophelesParams
mosquito=string
[ propActive=double ] DEFAULT VALUE 1
>
IN THIS ORDER:
| [ <deterrency ... /> ]
| [ <preprandialKillingEffect ... /> ]
| [ <postprandialKillingEffect ... /> ]
| [ <fecundityReduction ... /> ]
</anophelesParams>
Attributes
Mosquito species
mosquito=string
Name of the affected anopheles-mosquito species.
Proportion of bites for which IRS acts
propActive=double
Units: dimensionless Min: 0 Max: 1
Default value: 1
The proportion of bites for which the IRS has any action whatsoever on the mosquito. At the moment this is constant across humans and deterministic: relative attractiveness and survival factors are base*(1-propActing) + intervention_factor*propActing.
Relative attractiveness
→ scenario → interventions → human → component → GVI → anophelesParams → deterrency
<deterrency
value=double
/>
Documentation (element)
Units: dimensionless Min: 0 Max: 1
Effect of intervention on attractiveness of humans to mosquitoes relative to an unprotected adult human. Parameterisations should take into account that mosquitoes do not always bite indoors.
Attractiveness of the human is multiplied this factor times survival of effect.
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Pre-prandial killing effect
→ scenario → interventions → human → component → GVI → anophelesParams → preprandialKillingEffect
<preprandialKillingEffect
value=double
/>
Documentation (element)
Units: dimensionless Min: 0 Max: 1
Effect of intervention on survival of mosquitoes as they seek to bite a human after choosing that human, relative to the same person not protected by the intervention. Parameterisations should take into account that mosquitoes do not always bite indoors. This parameter has been added since some data shows IRS to have a preprandial killing effect.
Killing proportion is this factor multiplied by survival of effect.
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Post-prandial killing effect
→ scenario → interventions → human → component → GVI → anophelesParams → postprandialKillingEffect
<postprandialKillingEffect
value=double
/>
Documentation (element)
Units: dimensionless Min: 0 Max: 1
Effect of intervention on survival of mosquitoes as they seek to escape from a human host and rest after a blood meal, relative to the same person not protected by the intervention. Parameterisations should take into account that mosquitoes do not always bite indoors.
Killing proportion is this factor multiplied by survival of effect.
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Fecundity reduction effect
→ scenario → interventions → human → component → GVI → anophelesParams → fecundityReduction
<fecundityReduction
value=double
/>
Documentation (element)
Min: 0
Effect of intervention on fertility mosquitoes after successfully feeding on a human host, relative to an unproteced human. Parameterisations should take into account that mosquitoes do not always bite indoors.
Fertility is multiplied by 1 - (fecundityReduction * decay).
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Recruitment only
→ scenario → interventions → human → component → recruitmentOnly
<recruitmentOnly/>
Documentation (element)
Recruitment of a host into a sub-population.
All human-targeting intervention deployments recruit simulated humans into a sub-population which can be used for the purposes of cumulative deployment, deployment only to a sub-population and defining a cohort. This pseudo-intervention can be used to define a sub-population without also deploying some intervention.
Clear Immunity
→ scenario → interventions → human → component → clearImmunity
<clearImmunity/>
Documentation (element)
Removes all exposure-related immunitsy gained over time by hosts without removing infections (or affecting the ability to gain immunity through exposure).
Hypothetical, but potentially useful to simulate scenarios with unprotected humans.
subPopRemoval
→ scenario → interventions → human → component → subPopRemoval
<subPopRemoval
[ onFirstBout=boolean ] DEFAULT VALUE false
[ onFirstTreatment=boolean ] DEFAULT VALUE false
[ onFirstInfection=boolean ] DEFAULT VALUE false
[ afterYears=double ]
/>
Documentation (type)
Each human intervention component corresponds to a sub-population: those who have received or are considered to be protected by the intervention component. Humans automatically become members of this sub-population when receiving an intervention component; this element controls how humans are removed from the sub-population.
ITN attrition also removes humans from sub-populations.
Note that sub-populations do not directly correspond to an intervention's effects: lack of effectiveness does not imply removal from the sub-population (except as explicitly configured here) and removal from the sub-population does not halt an intervention's effects.
Sub-populations may be used to define a cohort, to restrict deployment of other interventions and to use cumulative deployment mode. A sub- population may or may not correspond (roughly) to humans protected by some intervention.
Attributes
Time to first episode only
onFirstBout=boolean
Default value: false
If true, remove individuals from the sub-population at the start of the first episode (start of a clinical bout) since they were recruited into the sub-population. This is intended for cohort studies which measure time to the first episode, using active case detection. Reports delayed due to health-system memory are forced out when this occurs. Note that this can increase the number of uncomplicated cases reported across the entire population; for this reason reports are not forced on recruitment or most removal options. This does not prevent re-recruitment in the case that recruitment settings could conceivably recruit the same individual twice.
Time to first treatment only
onFirstTreatment=boolean
Default value: false
If true, remove individuals from the sub-population when they first seektreatment since they were recruited into the sub-population. This is intended for cohort studies which measure the time to first episode, using passive case detection. Reports delayed due to health-system memory are forced out when this occurs. Note that this can increase the number of uncomplicated cases reported across the entire population; for this reason reports are not forced on recruitment or most removal options. This does not prevent re-recruitment in the case that recruitment settings could conceivably recruit the same individual twice.
Time to first infection only
onFirstInfection=boolean
Default value: false
If true, remove individuals from the sub-population at completion of the first survey in which they present with a patent infection since they were recruited into the sub-population. This intended for cohort studies which measure time to the first infection, using active case detection. Reports delayed due to health-system memory are forced out when this occurs. Note that this can increase the number of uncomplicated cases reported across the entire population; for this reason reports are not forced on recruitment or most removal options. This does not prevent re-recruitment in the case that recruitment settings could conceivably recruit the same individual twice.
Remove from sub-population after
afterYears=double
Units: Years Min: 0
If given, membership to the sub-population of humans who have received this intervention component expires after the given number of years. Note that future deployments renew membership (e.g. if this parameter is 4 years and the intervention is redeployed 3 years from now, expiry happens after 7 years). This provides a crude way of modelling a cohort protected by some intervention. A few interventions provide more detailed ways of modelling expiry of protection. In any case, "expiry of protection" is an abstract concept and does not imply that all protection has ceased, even in the simulator. This may also be useful for cumulative deployment. Minimum duration is zero, which implies the human is effectively never a member of the sub-population; a duration of one timestep implies the human is a member of the sub-population while any futher interventions are deployed on the same time as this human becomes a member and on the next update of the human (including transmission and health system events) but not beyond that. If this attribute is not given, the simulated human is a member until death or some other option triggers removal. Input is rounded to the nearest time step.
Deployment
→ scenario → interventions → human → deployment
<deployment
[ name=string ]
>
IN THIS ORDER:
| ( <component ... /> )+
| ( <condition ... /> )*
| ( <continuous ... /> )*
| ( <timed ... /> )*
</deployment>
Documentation (element)
This element describes deployment of an intervention: which components are deployed, how humans are selected for deployment (via timed or age-based deployment) as well as a few additional restrictions (e.g. vaccine dosing restrictions).
All components deployed by this intervention are deployed to the same people (each timed or continuous deployment selects recipients and then gives each recipient all components of the intervention).
Attributes
Intervention name
name=string
Name of intervention
component
→ scenario → interventions → human → deployment → component
<component
id=string
/>
Documentation (type)
The list of components deployed to eligible humans.
Attributes
Identifier
id=string
The identifier (short name) of a component.
Condition
→ scenario → interventions → human → deployment → condition
<condition
measure=string
[ minValue=double ]
[ maxValue=double ]
initialState=boolean
/>
Documentation (element)
If conditions are specified, deployment of this intervention will only go ahead if all specified conditions are true. Condition statements are evaluated only during surveys, so deployment is enabled or disabled depending on the results of the most recent survey. So called unreported surveys can be used to reevaluate conditions without increasing granularity of output.
Conditions are evaluated for the whole population, not for individual age-groups or cohorts.
This affects all types of deployment.
Attributes
Measure
measure=string
The monitoring measure to test. Not all measures are available for use.
Minimum value
minValue=double
Minimum value. If specified, the measured variable must be greater than or equal to this value for the condition to be satisfied.
Maximum value
maxValue=double
Maximum value. If specified, the measured variable must be less than or equal to this value for the condition to be satisfied.
Initial state
initialState=boolean
Whether this condition is considered true or false before updated by a survey.
Age-based (continuous) deployment
→ scenario → interventions → human → deployment → continuous
<continuous>
IN THIS ORDER:
| [ <restrictToSubPop ... /> ]
| ( <deploy ... /> )+
</continuous>
Documentation (element)
List of ages at which deployment takes place (through EPI, post-natal and school-based programmes, etc.).
A sub-population restriction may be added as a property of the list of continuous deployments.
restrictToSubPop
→ scenario → interventions → human → deployment → continuous → restrictToSubPop
<restrictToSubPop
id=string
[ complement=boolean ] DEFAULT VALUE false
/>
Documentation (type)
If this element is specified, deployment is restricted to some sub-population (specified via the "id" attribute); otherwise the target population is the entire simulated population. Either way, other deployment restrictions (age, time, number of vaccine doeses) still apply.
Attributes
Sub-population identifier
id=string
The identifier (short name) of the sub-population (i.e. the "id" of some intervention component). Also see the "complement" attribute.
Complement
complement=boolean
Default value: false
If this is not specified or is false, deployment is restricted to the sub-population of people protected by the intervention component who's id is given. If complement is set to true, deployment is instead restricted to the complement of that sub-population, i.e. to those
deploy
→ scenario → interventions → human → deployment → continuous → deploy
<deploy
coverage=double
[ vaccMinPrevDoses=int ]
[ vaccMaxCumDoses=int ]
targetAgeYrs=double
[ begin=string ]
[ end=string ]
/>
Attributes
Coverage
coverage=double
Units: dimensionless Min: 0 Max: 1
Proportion of otherwise eligible individuals who will receive this deployment.
Vaccine min previous doses
vaccMinPrevDoses=int
Units: inoculations Min: 0
Applies to vaccines only: vaccine doses are only deployed by this deployment if the previous number of doses (for the component deployed) is at least this number. For example, if this is the second deployment opportunity for this vaccine and this value is 1, then this deployment cannot deploy the vaccine to individuals who did not receive the first deployment.
Vaccine max cumulative doses
vaccMaxCumDoses=int
Units: inoculations Min: 0
Applies to vaccines only: vaccine doses are only deployed by this deployment if the previous number of doses (for the component deployed) is less than this number.
Target age
targetAgeYrs=double
Units: Years Min: 0 Max: 100
Target age of intervention. Input is rounded to the nearest time step.
First time active
begin=string
Units: User defined (defauls to steps)
First time at which this deployment is active. If not specified, deployment starts at the beginning of the intervention period. See doc on intervention period and on monitoring/startDate for details of how times work. Can be specified in steps, days, years, or as a date (examples: 15t, 75d, 0.2y, 2000-03-16).
End step
end=string
Units: User defined (defauls to steps)
End of the period during which the intervention is active (to be exact, the first step of the intervention period at which the item becomes inactive). If not specified, deployment never ceases after starting during the simulation. See doc on intervention period and on monitoring/startDate for details of how times work. Can be specified in steps, days, years, or as a date (examples: 15t, 75d, 0.2y, 2000-03-16).
Mass (timed) deployment
→ scenario → interventions → human → deployment → timed
<timed>
IN THIS ORDER:
| [ <restrictToSubPop ... /> ]
| [ <cumulativeCoverage ... /> ]
| ( <deploy ... /> )+
</timed>
Documentation (element)
List of timed deployments of the intervention (that is, of deployment campaigns).
Cumulative deployment mode can be specified for all deployments in a timed list. To allow multiple cumulative deployment descriptions, the entire timed list may be repeated.
restrictToSubPop
→ scenario → interventions → human → deployment → timed → restrictToSubPop
<restrictToSubPop
id=string
[ complement=boolean ] DEFAULT VALUE false
/>
Documentation (type)
If this element is specified, deployment is restricted to some sub-population (specified via the "id" attribute); otherwise the target population is the entire simulated population. Either way, other deployment restrictions (age, time, number of vaccine doeses) still apply.
Attributes
Sub-population identifier
id=string
The identifier (short name) of the sub-population (i.e. the "id" of some intervention component). Also see the "complement" attribute.
Complement
complement=boolean
Default value: false
If this is not specified or is false, deployment is restricted to the sub-population of people protected by the intervention component who's id is given. If complement is set to true, deployment is instead restricted to the complement of that sub-population, i.e. to those
Cumulative coverage
→ scenario → interventions → human → deployment → timed → cumulativeCoverage
<cumulativeCoverage
component=string
/>
Documentation (element)
If this element is not specified, standard deployment occurs, where a portion of the population as given by the coverage property of this campaign is selected, and interventions are deployed to all of these people (regardless of previous coverage).
If this attribute is specified, instead, the population is divided into two sets: those who are a member of a certain sub-population and those who are not (see "subPopRemoval" element). If the proportion of people in the first set is less than the desired coverage, then the proportion of people from the second set needed to increase total coverage to the desired coverage is calculated. This proportion is then used as the probablity of selection from the second set into a third set of people who then receive all interventions deployed by this campaign.
Note that selection is stochastic so the final coverage level may not be exactly that desired. Note also that the component used when selecting people need not actually be one of the components deployed by this intervention, although that is the intended use case.
Attributes
Component identifier
component=string
The identifier (short name) of the component used when selecting people.
deploy
→ scenario → interventions → human → deployment → timed → deploy
<deploy
coverage=double
[ vaccMinPrevDoses=int ]
[ vaccMaxCumDoses=int ]
time=string
[ maxAge=double ]
[ minAge=double ] DEFAULT VALUE 0
[ repeatStep=string ]
[ repeatEnd=string ]
/>
Attributes
Coverage
coverage=double
Units: dimensionless Min: 0 Max: 1
Proportion of otherwise eligible individuals who will receive this deployment.
Vaccine min previous doses
vaccMinPrevDoses=int
Units: inoculations Min: 0
Applies to vaccines only: vaccine doses are only deployed by this deployment if the previous number of doses (for the component deployed) is at least this number. For example, if this is the second deployment opportunity for this vaccine and this value is 1, then this deployment cannot deploy the vaccine to individuals who did not receive the first deployment.
Vaccine max cumulative doses
vaccMaxCumDoses=int
Units: inoculations Min: 0
Applies to vaccines only: vaccine doses are only deployed by this deployment if the previous number of doses (for the component deployed) is less than this number.
Time
time=string
Units: User defined (defauls to steps) Min: 0
Time at which this deployment occurs. See doc on intervention period and on monitoring/startDate for details of how times work. Can be specified in steps, days, years, or as a date (examples: 15t, 75d, 0.2y, 2000-03-16).
Maximum age of eligible individuals
maxAge=double
Units: Years Min: 0
Maximum age of eligible individuals (defaults to no limit). Input is rounded to the nearest time step.
Minimum age of eligible individuals
minAge=double
Units: Years Min: 0
Default value: 0
Minimum age of eligible individuals (defaults to 0). Input is rounded to the nearest time step.
Step of repetition
repeatStep=string
Units: User defined
See repeatEnd's documentation.
End of repetition (exclusive)
repeatEnd=string
Units: User defined
Either both repeatStep and repeatEnd should be present or neither. If present, the deployment is repeated every repeatStep timesteps (i.e. if t0 is the initial time and x is repeatStep, depolyments are done at times t0, t0+x, t0+2*x, ...), ending before repeatEnd (final repetition is the one before repeatEnd). Note that repeatEnd may be specified as a date but repeatStep must be a duration (days, steps or years).
Health system description
→ scenario → healthSystem
<healthSystem>
IN THIS ORDER:
| EXACTLY ONE OF:
| | <EventScheduler ... />
| | <ImmediateOutcomes ... />
| | <DecisionTree5Day ... />
| <CFR ... />
| <pSequelaeInpatient ... />
</healthSystem>
Documentation (element)
Description of health system.
Documentation (type)
Description of case management system, used to specify the initial model or a replacement (an intervention). Encompasses case management data and some other data required to derive case outcomes.
Contains a sub-element describing the particular health-system in use. Health system data is here defined as data used to decide on a treatment strategy, given a case requiring treatment.
Transmission and vector bionomics
→ scenario → entomology
<entomology
name=string
mode=("forced" or "dynamic")
[ scaledAnnualEIR=double ]
>
IN THIS ORDER:
| EXACTLY ONE OF:
| | <nonVector ... />
| | <vector ... />
</entomology>
Documentation (element)
Description of entomological data
Attributes
Entomology dataset name
name=string
Name of entomology data
Transmission model mode
mode=("forced" or "dynamic")
Transmission simulation mode: may be forced (in which case interventions and changes to human infectiousness cannot affect EIR) or dynamic (in which the above can affect EIR). The full vector model is only used in dynamic mode. This can not be changed by interventions, except for the changeEIR intervention for the non-vector model which replaces the EIR with a new description (used in forced mode).
Override annual EIR
scaledAnnualEIR=double
Units: Infectious bites per adult per year
If set, the annual EIR (for all species of vector) is scaled to this level; can be omitted if not needed.
Transmission setting (vector control not enabled)
→ scenario → entomology → nonVector
<nonVector
eipDuration=int
>
IN THIS ORDER:
| ( <EIRDaily ... /> )+
</nonVector>
Documentation (element)
Description of transmission setting for models without vector control interventions (included for backward compatibility)
Attributes
Duration of sporogony
eipDuration=int
Units: Days
The duration of sporogony in days
Transmission setting (vector control enabled)
→ scenario → entomology → vector
<vector>
IN THIS ORDER:
| ( <anopheles ... /> )+
| ( <nonHumanHosts ... /> )*
</vector>
Documentation (element)
Parameters of the transmission model
anopheles
→ scenario → entomology → vector → anopheles
<anopheles
mosquito=string
propInfected=double
propInfectious=double
>
IN THIS ORDER:
| <seasonality ... />
| <mosq ... />
| [ <lifeCycle ... /> ]
| [ <simpleMPD ... /> ]
| ( <nonHumanHosts ... /> )*
</anopheles>
Documentation (type)
Description of input EIR for one specific vector species in terms of a Fourier approximation to the ln of the EIR during the burn in period
Attributes
Identifier for this anopheles species
mosquito=string
Identifier for this anopheles species
Initial estimate of proportion of mosquitoes infected (ρ_O)
propInfected=double
Units: Proportion Min: 0 Max: 1
Initial guess of the proportion of mosquitoes which are infected, o: O_v(t) = o*N_v(t). Only used as a starting value.
Initial estimate of proportion of mosquitoes infectious (ρ_S)
propInfectious=double
Units: Proportion Min: 0 Max: 1
Initial estimate of the proportion of mosquitoes which are infectious, s: S_v(t) = s*N_v(t). Used as a starting value and then fit.
Seasonality of transmission
→ scenario → entomology → vector → anopheles → seasonality
<seasonality
input=("EIR")
[ annualEIR=double ]
>
IN THIS ORDER:
| EXACTLY ONE OF:
| | <fourierSeries ... />
| | <monthlyValues ... />
| | <dailyValues ... />
</seasonality>
Documentation (element)
Specifies the seasonality of transmission and optionally the level of annual transmission.
Attributes
Seasonality input
input=("EIR")
Specify what seasonality measure is given. At the moment, only EIR is supported, but in the future, all the below should be supported. EIR: seasonality of entomological inoculations is input. Units: entomological inoculations per adult per annum. hostSeeking: seasonality of densities of flying host-seeking mosquitoes is input (in the model this is notated N_v). Units: mosquitoes. emergence: seasonality of emergence pupa into adults. Units: mosquitoes. larvalResources: seasonality of larval resources. Units: X.
Annual EIR
annualEIR=double
Units: Inoculations per adult per annum Min: 0
If this attribute is included, EIR for this species is scaled to this level. Note that if the scaledAnnualEIR attribute of the entomology element is also used, EIR is scaled again, making this attribute the EIR relative to other species. With some seasonality inputs, this attribute is optional, in which case (if scaledAnnualEIR is also not specified) transmission depends on all parameters of the vector. With some seasonality inputs, however, this parameter must be specified.
Fourier approximation to pre-intervention EIR
→ scenario → entomology → vector → anopheles → seasonality → fourierSeries
<fourierSeries
EIRRotateAngle=double
>
IN THIS ORDER:
| ( <coeffic ... /> )*
</fourierSeries>
Documentation (element)
Units: Infectious bites per adult per day
Seasonality is reproduced from the exponential of a fourier series specified by the following coefficients. Note that the a0 term is not needed; the annualEIR attribute of the seasonality element should be used to scale EIR instead.
Attributes
Rotation angle defining the origin of the Fourier approximation to ln (EIR)
EIRRotateAngle=double
Units: Radians
Rotation angle defining the origin of the Fourier approximation to ln (EIR)
Pair of Fourier coefficients
→ scenario → entomology → vector → anopheles → seasonality → fourierSeries → coeffic
<coeffic
a=double
b=double
/>
Documentation (element)
A pair of Fourier series coefficients. The first element specifies a1 and b1, the second a2 and b2, etc. Any number (from 0 up) of pairs may be given.
Attributes
a_n parameter of Fourier approximation to ln(EIR)
a=double
a_n parameter of Fourier approximation to ln(EIR) for some natural number n.
b_n parameter of Fourier approximation to ln(EIR)
b=double
b_n parameter of Fourier approximation to ln(EIR) for some natural number n.
List of monthly values
→ scenario → entomology → vector → anopheles → seasonality → monthlyValues
<monthlyValues
smoothing=("none" or "fourier")
>
IN THIS ORDER:
| ( <value ... /> ){12,12}
</monthlyValues>
Documentation (element)
Description of seasonality from monthly values. Multiple smoothing methods are possible (see smoothing attribute).
List should contain twelve entries: January to December.
Attributes
Smoothing function
smoothing=("none" or "fourier")
How the monthly values are converted into a daily sequence of values:
- none: no smoothing (step function)
- Fourier: a Fourier series (with terms up to a2/b2) is fit to the sequence of monthly values and used to generate a smoothed list of daily values.
Monthly value
→ scenario → entomology → vector → anopheles → seasonality → monthlyValues → value
<value>
double
</value>
Documentation (element)
Units: (see "seasonality input" parameter)
Monthly value
List of daily values
→ scenario → entomology → vector → anopheles → seasonality → dailyValues
<dailyValues>
IN THIS ORDER:
| ( <value ... /> ){365,365}
</dailyValues>
Documentation (element)
Description of seasonality from daily values.
List should contain 365 entries: 1st January to 31st December.
Daily value
→ scenario → entomology → vector → anopheles → seasonality → dailyValues → value
<value>
double
</value>
Documentation (element)
Units: (see "seasonality input" parameter)
Daily value
Mosquito feeding cycle parameters
→ scenario → entomology → vector → anopheles → mosq
<mosq
minInfectedThreshold=double
>
IN ANY ORDER:
| <mosqRestDuration ... />
| <extrinsicIncubationPeriod ... />
| <mosqLaidEggsSameDayProportion ... />
| <mosqSeekingDuration ... />
| <mosqSurvivalFeedingCycleProbability ... />
| <availability ... />
| <mosqProbBiting ... />
| <mosqProbFindRestSite ... />
| <mosqProbResting ... />
| <mosqProbOvipositing ... />
| <mosqHumanBloodIndex ... />
</mosq>
- mosqRestDuration
- extrinsicIncubationPeriod
- mosqLaidEggsSameDayProportion
- mosqSeekingDuration
- mosqSurvivalFeedingCycleProbability
- availability
- mosqProbBiting
- mosqProbFindRestSite
- mosqProbResting
- mosqProbOvipositing
- mosqHumanBloodIndex
Documentation (element)
Parameters describing the feeding cycle and human mosquito interaction of a single species of anopheles mosquito.
Attributes
Mininum infected threshold for mosquitos
minInfectedThreshold=double
Min: 0
If less than this many mosquitoes remain infected, transmission is interrupted.
Duration of the resting period of the vector
→ scenario → entomology → vector → anopheles → mosq → mosqRestDuration
<mosqRestDuration
value=int
/>
Documentation (element)
Units: Days
name:Duration of the resting period of the vector (days);
Attributes
Input parameter value
value=int
An integer value.
Extrinsic incubation period
→ scenario → entomology → vector → anopheles → mosq → extrinsicIncubationPeriod
<extrinsicIncubationPeriod
value=int
/>
Documentation (element)
Units: Days
name:Extrinsic incubation period (days)
Attributes
Input parameter value
value=int
An integer value.
Proportion of mosquitoes host seeking on same day as ovipositing
→ scenario → entomology → vector → anopheles → mosq → mosqLaidEggsSameDayProportion
<mosqLaidEggsSameDayProportion
value=double
/>
Documentation (element)
Units: Proportion
Proportion of mosquitoes host seeking on same day as ovipositing
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Duration of the host-seeking period of the vector
→ scenario → entomology → vector → anopheles → mosq → mosqSeekingDuration
<mosqSeekingDuration
value=double
/>
Documentation (element)
Units: Days
Duration of the host-seeking period of the vector (days)
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Probability that the mosquito survives the feeding cycle
→ scenario → entomology → vector → anopheles → mosq → mosqSurvivalFeedingCycleProbability
<mosqSurvivalFeedingCycleProbability
value=double
/>
Documentation (element)
Units: Proportion
Probability that the mosquito survives the feeding cycle
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Human availability rate heterogeneity
→ scenario → entomology → vector → anopheles → mosq → availability
<availability
[ CV=double ]
[ distr=("const" or "lognormal") ] DEFAULT VALUE const
/>
Documentation (element)
Optionally, entomological availability rate may be sampled per-human from a distribution. The distribution and coefficient of variability may be set here. The mean rate is calculated based on other parameters and not set directly.
If no attributes are specified or distr="const" or CV="0" then there will be no heterogeneity.
Documentation (type)
A parameter with optional heterogeneity.
The mean cannot be specified (unless this type is extended). Optionally, a distribution ("distr") and coefficient of variation ("CV") may be specified.
Attributes
Coefficient of variation
CV=double
Units: unitless
The (linear) coefficient of variation. This value must be specified when a (non-constant) distribution is used. Note that specifying CV="0" has the same effect as distr="const" and disables sampling of this parameter, even if distr is not "const".
Distribution
distr=("const" or "lognormal")
Default value: const
To allow heterogeneity, a distribution must be specified. Valid options are as follows. "const": no variation or sampling. Specifying distr="const" has the same effect as not specifying distr at all. "lognormal": the parameter is sampled from a log-normal distribution. Note that the "mean" and "CV" values are linear (arithmetic) properties of the distribution and not log-space properties.
Probability that the mosquito succesfully bites chosen host
→ scenario → entomology → vector → anopheles → mosq → mosqProbBiting
<mosqProbBiting
mean=double
variance=double
/>
Documentation (element)
Probability that the mosquito succesfully bites chosen host
Documentation (type)
Parameters of a normal distribution, provided as mean and variance.
Variates are sampled from Be(α,β) where α and β are determined from the mean and variance as follows: let v be the variance and c=mean/(1-mean). Then we set α=cβ and β=((c+1)²v - c)/((c+1)³v).
Attributes
mean
mean=double
Units: none
The mean of the beta distribution (must be in the open range (0,1)).
variance
variance=double
Units: none
The standard deviation of variates.
Probability that the mosquito escapes host and finds a resting place after biting
→ scenario → entomology → vector → anopheles → mosq → mosqProbFindRestSite
<mosqProbFindRestSite
mean=double
variance=double
/>
Documentation (element)
Probability that the mosquito escapes host and finds a resting place after biting
Documentation (type)
Parameters of a normal distribution, provided as mean and variance.
Variates are sampled from Be(α,β) where α and β are determined from the mean and variance as follows: let v be the variance and c=mean/(1-mean). Then we set α=cβ and β=((c+1)²v - c)/((c+1)³v).
Attributes
mean
mean=double
Units: none
The mean of the beta distribution (must be in the open range (0,1)).
variance
variance=double
Units: none
The standard deviation of variates.
Probability of mosquito successfully resting after finding a resting site
→ scenario → entomology → vector → anopheles → mosq → mosqProbResting
<mosqProbResting
mean=double
variance=double
/>
Documentation (element)
Probability of mosquito successfully resting after finding a resting site
Documentation (type)
Parameters of a normal distribution, provided as mean and variance.
Variates are sampled from Be(α,β) where α and β are determined from the mean and variance as follows: let v be the variance and c=mean/(1-mean). Then we set α=cβ and β=((c+1)²v - c)/((c+1)³v).
Attributes
mean
mean=double
Units: none
The mean of the beta distribution (must be in the open range (0,1)).
variance
variance=double
Units: none
The standard deviation of variates.
Probability of a mosquito successfully laying eggs given that it has rested
→ scenario → entomology → vector → anopheles → mosq → mosqProbOvipositing
<mosqProbOvipositing
value=double
/>
Documentation (element)
Probability of a mosquito successfully laying eggs given that it has rested
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Human blood index
→ scenario → entomology → vector → anopheles → mosq → mosqHumanBloodIndex
<mosqHumanBloodIndex
value=double
/>
Documentation (element)
Units: Proportion
The proportion of resting mosquitoes which fed on human blood during the last feed.
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Mosquito life cycle parameters
→ scenario → entomology → vector → anopheles → lifeCycle
<lifeCycle
[ estimatedLarvalResources=double ] DEFAULT VALUE 1e8
>
IN ANY ORDER:
| <eggStage ... />
| <larvalStage ... />
| <pupalStage ... />
| <femaleEggsLaidByOviposit ... />
</lifeCycle>
Documentation (element)
Parameters describing the life-cycle of this species of mosquito
Attributes
Estimate of larval resources
estimatedLarvalResources=double
Units: X
Default value: 1e8
An estimate of mean annual availability of resources to larvae. Used to get the resource usage fitting algorithm going; if the algorithm fails to fit the resource availability then tweaking this parameter may help. In other cases tweaking this parameter shouldn't be necessary. Default value is 10⁸ (1e8). Units are arbitrary but must be the same as those used by the resourceUsage parameter.
Egg stage
→ scenario → entomology → vector → anopheles → lifeCycle → eggStage
<eggStage
duration=int
survival=double
/>
Documentation (element)
Parameters for the egg stage of development
Documentation (type)
Parameters associated with a mosquito development stage.
Attributes
Duration
duration=int
Units: Days
Duration of the stage (i.e. length of time mosquito is an egg/larva/pupa).
Probability of survival
survival=double
Units: Proportion
Probability that mosquito survives this size (probability of egg hatching, a larva becoming a pupa or a pupa emerging as an adult, at the start of that stage).
larvalStage
→ scenario → entomology → vector → anopheles → lifeCycle → larvalStage
<larvalStage>
</larvalStage>
Documentation (type)
Parameters for the larval stage of development
Documentation (base type)
Parameters associated with a mosquito development stage.
Daily development
→ scenario → entomology → vector → anopheles → lifeCycle → larvalStage → daily
<daily
resourceUsage=double
effectCompetition=double
/>
Documentation (element)
List of parameters which apply during the larval stage of development. List length must equal stage duration, with first item corresponding to first 24 hours after hatching, second item to hours 24-48, and so on.
Attributes
Resource usage
resourceUsage=double
Units: X
Resource usage during larval stage of development. Units are arbitrary.
Effect of competition
effectCompetition=double
Units: none
Effect of competition over resources on development.
Pupal stage
→ scenario → entomology → vector → anopheles → lifeCycle → pupalStage
<pupalStage
duration=int
survival=double
/>
Documentation (element)
Parameters for the pupal stage of development
Documentation (type)
Parameters associated with a mosquito development stage.
Attributes
Duration
duration=int
Units: Days
Duration of the stage (i.e. length of time mosquito is an egg/larva/pupa).
Probability of survival
survival=double
Units: Proportion
Probability that mosquito survives this size (probability of egg hatching, a larva becoming a pupa or a pupa emerging as an adult, at the start of that stage).
Eggs laid by ovipositing mosquito
→ scenario → entomology → vector → anopheles → lifeCycle → femaleEggsLaidByOviposit
<femaleEggsLaidByOviposit
value=double
/>
Documentation (element)
Units: Eggs per feeding cycle
The total number of female eggs laid by a female mosquito at the conclusion to a feeding cycle, after feeding on an unprotected human (non-human hosts and protected humans use a multiplication factor to adjust this number for mosquitoes feeding on them).
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Simple Mosq-Pop-Dynamics parameters
→ scenario → entomology → vector → anopheles → simpleMPD
<simpleMPD>
IN ANY ORDER:
| <developmentDuration ... />
| <developmentSurvival ... />
| <femaleEggsLaidByOviposit ... />
</simpleMPD>
Documentation (element)
Parameters describing the simple mosquito population dynamics model.
This is a simpler version of the life-cycle model, requiring less parameters and with much simpler initialisation.
Duration
→ scenario → entomology → vector → anopheles → simpleMPD → developmentDuration
<developmentDuration
value=int
/>
Documentation (element)
Units: Days Min: 1
Duration from egg laying to emergence in days.
Attributes
Input parameter value
value=int
An integer value.
Probability of survival
→ scenario → entomology → vector → anopheles → simpleMPD → developmentSurvival
<developmentSurvival
value=double
/>
Documentation (element)
Units: Proportion Min: 0 Max: 1
Probability that mosquito survives from the egg being laid to emergence, given no resouce limitations (no density constraints).
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Eggs laid by ovipositing mosquito
→ scenario → entomology → vector → anopheles → simpleMPD → femaleEggsLaidByOviposit
<femaleEggsLaidByOviposit
value=double
/>
Documentation (element)
Units: Eggs per feeding cycle
The total number of female eggs laid by a female mosquito at the conclusion to a feeding cycle.
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Alternative (non-human) host paramters
→ scenario → entomology → vector → anopheles → nonHumanHosts
<nonHumanHosts
name=string
>
IN ANY ORDER:
| <mosqRelativeEntoAvailability ... />
| <mosqProbBiting ... />
| <mosqProbFindRestSite ... />
| <mosqProbResting ... />
| [ <hostFecundityFactor ... /> ]
</nonHumanHosts>
- mosqRelativeEntoAvailability
- mosqProbBiting
- mosqProbFindRestSite
- mosqProbResting
- hostFecundityFactor
Documentation (element)
Min: 0
Non human host parameters, per type of host (must match up with non-species-specific parameters).
Attributes
Identifier for this category of non-human hosts
name=string
Identifier for this category of non-human hosts
Relative availability of non-human host (ξ_i)
→ scenario → entomology → vector → anopheles → nonHumanHosts → mosqRelativeEntoAvailability
<mosqRelativeEntoAvailability
value=double
/>
Documentation (element)
Units: Proportion
Relative availability of the population of non-human hosts of type i to other non-human hosts; the sum of this across all non-human hosts must be 1.
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Probability of mosquito successfully biting host
→ scenario → entomology → vector → anopheles → nonHumanHosts → mosqProbBiting
<mosqProbBiting
value=double
/>
Documentation (element)
Units: Proportion
Probability of mosquito successfully biting host
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Probability that the mosquito escapes host and finds a resting place after biting
→ scenario → entomology → vector → anopheles → nonHumanHosts → mosqProbFindRestSite
<mosqProbFindRestSite
value=double
/>
Documentation (element)
Units: Proportion
Probability that the mosquito escapes host and finds a resting place after biting
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Probability of mosquito successfully resting after finding a resting site
→ scenario → entomology → vector → anopheles → nonHumanHosts → mosqProbResting
<mosqProbResting
value=double
/>
Documentation (element)
Units: Proportion
Probability of mosquito successfully resting after finding a resting site
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Relative fecundity of biting mosquitoes
→ scenario → entomology → vector → anopheles → nonHumanHosts → hostFecundityFactor
<hostFecundityFactor
value=double
/>
Documentation (element)
Units: Proportion
Multiplicative factor for the number of fertile eggs laid by a mosquito after biting this type of host, relative to an unprotected human.
Attributes
Input parameter value
value=double
A double-precision floating-point value.
nonHumanHosts
→ scenario → entomology → vector → nonHumanHosts
<nonHumanHosts
name=string
number=double
/>
Attributes
Species of alternative host
name=string
Name of this species of non human hosts (must match up with those described per anopheles section).
Population size of non-human host species
number=double
Units: Animals
Population size of this non-human host. Note: the availability of the population of this type of non-human host is determined by mosqRelativeEntoAvailability and mosqHumanBloodIndex. NHHs are not modelled individually, thus this parameter is not used. It might be useful in the future if there is ever an intervention to change the number of non-human hosts.
Parasite genetics
<parasiteGenetics
samplingMode=("initial" or "tracking")
>
IN THIS ORDER:
| ( <locus ... /> )+
</parasiteGenetics>
Documentation (element)
A specification of genotypes of infection parasites.
May be omitted; in this case there is no modelling of genetic differences of infections (resistance, fitness).
Attributes
samplingMode
samplingMode=("initial" or "tracking")
This controls how genotypes are determined for new infections during the intervention period. Prior to this (in initialisation phases), genotypes are always sampled using the specified initial frequencies. Mode "initial" continues to sample genotypes using initial frequencies (i.e. independent of the success of parent generations of parasites). Mode "tracking" samples genotypes based on the success parent generations of parasites have in infecting mosquitoes, tracked per genotype. It is possible that in the future a recombination option will be added to this list, however designing a suitable model is not trivial.
Locus
→ scenario → parasiteGenetics → locus
<locus
name=string
>
IN THIS ORDER:
| ( <allele ... /> )+
</locus>
Documentation (element)
Describes a locus, or a point at which an infection may vary. The genotype of an infection is determined by choosing one allele at each locus. Initial frequencies of alleles are specified independently for each locus, but subsequent infections are selected according to success of genotypes.
Alleles at loci can affect fitness and resistance to any number of drugs.
Attributes
Name of locus
name=string
Name of the Locus
Allele
→ scenario → parasiteGenetics → locus → allele
<allele
name=string
initialFrequency=double
fitness=double
/>
Documentation (element)
Describes an allele, or one possible genetic option of multiple at one point of variance.
Attributes
Name
name=string
Name of the allele; used to refer to it elsewhere.
Initial frequency
initialFrequency=double
Specification of how commonly this allele occurs during warmup relative to other alleles of the same locus. During the simulation's initialisation phases, the frequency at which each allele of each locus occurs is fixed. After the initialisation phase, frequency of alleles is modelled as an emergent property of the success of genotypes.
Fitness factor
fitness=double
Fitness factor of the allele. This is multiplication factor used to speed up or slow down replication of parasites. For example, if a genotype has an allele with a fitness factor of 1 at one locus and another allele with a fitness factor of 0.8 at a second locus, then the parasites with the genotype will replicate 20% slower than the baseline.
Drug parameters (PK, PD and usage)
→ scenario → pharmacology
<pharmacology>
IN THIS ORDER:
| <treatments ... />
| <drugs ... />
</pharmacology>
Documentation (element)
Drug model parameters and drug usage parameters
Documentation (type)
A library of drug related data for the PK/PD model.
Treatments library
→ scenario → pharmacology → treatments
<treatments>
IN THIS ORDER:
| ( <schedule ... /> )+
| ( <dosages ... /> )+
</treatments>
Documentation (element)
A library of drug deployment schedules and dosages.
schedule
→ scenario → pharmacology → treatments → schedule
<schedule
name=string
>
IN THIS ORDER:
| ( <medicate ... /> )*
</schedule>
Documentation (type)
A schedule for the administration of drugs in a course of treatment.
Note that dose sizes are multiplied by some multiplier (see dosages) and the times of all doses may be delayed.
Attributes
Name
name=string
Name for referring to this deployment schedule
medicate
→ scenario → pharmacology → treatments → schedule → medicate
<medicate
drug=string
mg=double
hour=double
/>
Attributes
drug
drug=string
Abbreviated name of drug compound
Drug dose (mg with multiplier)
mg=double
Units: mg per something
Quantity of drug compound in mg per something. A separate dosage table must be used when medicating, which may specify multipliers of this number based on patient age or weight.
Time of administration
hour=double
Units: Hours Min: 0
Number of hours past start of timestep this drug dose is administered at (first dose should be at hour 0).
dosages
→ scenario → pharmacology → treatments → dosages
<dosages
name=string
>
IN THIS ORDER:
| EXACTLY ONE OF:
| | ( <age ... /> )+
| | ( <bodymass ... /> )+
| | <multiply ... />
</dosages>
Documentation (type)
A table for selecting a dose size. There are several ways this can work: using the patient's age or body mass in a look-up table to get a multplier, or directly using body mass as the multiplier.
The doses specified in "mg" in the treatment schedule are then multiplied by this multiplier.
Attributes
Name
name=string
Name for referring to this dosage table
Look-up table (age)
→ scenario → pharmacology → treatments → dosages → age
<age
lowerbound=double
dose_mult=double
/>
Documentation (element)
Select dose multiplier from a look-up table using the patient's age.
Documentation (type)
A look-up table which uses patient age (in years) or weight (in kg) to find a multiplier.
Attributes
Lower bound (inclusive)
lowerbound=double
Units: years or kg Min: 0
Dose multiplier
dose_mult=double
Min: 0
The dose size given in the schedule (in "mg") is multiplied by this value for patients falling into this range when this dosage table is used.
Look-up table (weight)
→ scenario → pharmacology → treatments → dosages → bodymass
<bodymass
lowerbound=double
dose_mult=double
/>
Documentation (element)
Select dose multiplier from a look-up table using the patient's body mass.
Documentation (type)
A look-up table which uses patient age (in years) or weight (in kg) to find a multiplier.
Attributes
Lower bound (inclusive)
lowerbound=double
Units: years or kg Min: 0
Dose multiplier
dose_mult=double
Min: 0
The dose size given in the schedule (in "mg") is multiplied by this value for patients falling into this range when this dosage table is used.
Multiply dose
→ scenario → pharmacology → treatments → dosages → multiply
<multiply
by=("kg")
/>
Documentation (element)
Multiply the dose by some quantity, such as patient weight.
Attributes
By what?
by=("kg")
Quantity to multiply the dose by. Only option is "kg" (patient weight in kg).
Drug library
→ scenario → pharmacology → drugs
<drugs>
IN THIS ORDER:
| ( <drug ... /> )+
</drugs>
Documentation (element)
A library of drug PK/PD data.
drug
→ scenario → pharmacology → drugs → drug
<drug
abbrev=string
>
IN THIS ORDER:
| <PD ... />
| <PK ... />
</drug>
Documentation (type)
A drug description with PK/PD parameters.
Attributes
abbrev
abbrev=string
PD
→ scenario → pharmacology → drugs → drug → PD
<PD
[ locus=string ]
>
IN THIS ORDER:
| ( <phenotype ... /> )+
</PD>
Attributes
Locus
locus=string
Optional; if present specifies the locus corresponding to this drug's PD phenotypes: each phenotype must then match one of that locus's alleles. Otherwise the drug should specify only one phenotype. There is currently a one-to-many correspondance between loci and drugs.
PD parameters for some allele / resistance phenotype
→ scenario → pharmacology → drugs → drug → PD → phenotype
<phenotype
[ name=string ]
>
IN THIS ORDER:
| ( <restriction ... /> )*
| <max_killing_rate ... />
| <IC50 ... />
| <slope ... />
</phenotype>
Documentation (element)
Pharmaco-Dynamic parameters for some resistance phenotype.
To model resistance to this drug, describe multiple infection phenotypes (with respect to these PD parameters) and list one or more "restrict" elements for each phenotype.
Loci are specified elsewhere. Multiple loci may influence the action of a single drug and each locus may influence multiple drugs.
Attributes
Name of phenotype
name=string
Name of the phenotype; for documentation use only.
Restrict phenotype applicability to certain alleles
→ scenario → pharmacology → drugs → drug → PD → phenotype → restriction
<restriction
onLocus=string
toAllele=string
/>
Documentation (element)
Specifies the mapping from genotype to phenotype. For each drug type, if only one phenotype is present, restrictions need not be specified, but otherwise restrictions must be specified.
The set of loci affecting phenotypes of this drug's action must be fixed for any drug type. Each phenotype must list, for each of these loci, a restriction to one or more alleles under the locus.
Attributes
Locus relevant to the mapping of alleles to this phenotype
onLocus=string
A locus under which only a restricted set of alleles map to this phenotype.
Alleles mapping to this phenotype
toAllele=string
One allele of a locus upon which phenotype choice depends. If multiple alleles under this locus should map to the same phenotype, repeat the whole "restriction onLocus..." element.
Maximal parasite killing rate
→ scenario → pharmacology → drugs → drug → PD → phenotype → max_killing_rate
<max_killing_rate>
double
</max_killing_rate>
Documentation (element)
Units: 1/days Min: 0
k1 — Maximal parasite killing rate.
IC50
→ scenario → pharmacology → drugs → drug → PD → phenotype → IC50
<IC50
[ CV=double ]
[ distr=("const" or "lognormal") ] DEFAULT VALUE const
mean=double
/>
Documentation (element)
Units: mg/l Min: 0
Half maximal effect concentration.
If CV > 0, the IC50 is sampled from a log-normal distribution.
Documentation (type)
A parameter with optional log-normal heterogeneity.
The mean value must be specified. Optionally, a distribution ("distr") and coefficient of variation ("CV") may be specified.
Documentation (base type)
A parameter with optional heterogeneity.
The mean cannot be specified (unless this type is extended). Optionally, a distribution ("distr") and coefficient of variation ("CV") may be specified.
Attributes
Coefficient of variation
CV=double
Units: unitless
The (linear) coefficient of variation. This value must be specified when a (non-constant) distribution is used. Note that specifying CV="0" has the same effect as distr="const" and disables sampling of this parameter, even if distr is not "const".
Distribution
distr=("const" or "lognormal")
Default value: const
To allow heterogeneity, a distribution must be specified. Valid options are as follows. "const": no variation or sampling. Specifying distr="const" has the same effect as not specifying distr at all. "lognormal": the parameter is sampled from a log-normal distribution. Note that the "mean" and "CV" values are linear (arithmetic) properties of the distribution and not log-space properties.
mean
mean=double
The (linear) mean value.
Slope of effect curve
→ scenario → pharmacology → drugs → drug → PD → phenotype → slope
<slope>
double
</slope>
Documentation (element)
Units: dimensionless
n — Slope of the concentration effect curve
PK
→ scenario → pharmacology → drugs → drug → PK
<PK>
IN THIS ORDER:
| <negligible_concentration ... />
| EXACTLY ONE OF:
| | <half_life ... />
| | IN THIS ORDER:
| | | <k ... />
| | | <m_exponent ... />
| [ <k_a ... /> ]
| [ <conversion ... /> ]
| <vol_dist ... />
| [ <compartment2 ... /> ]
| [ <compartment3 ... /> ]
</PK>
Drug concentration considered negligible
→ scenario → pharmacology → drugs → drug → PK → negligible_concentration
<negligible_concentration>
double
</negligible_concentration>
Documentation (element)
Units: mg/l Min: 0
Concentration below which drug's effects are deemed negligible and can be removed from simulation.
drug half-life
→ scenario → pharmacology → drugs → drug → PK → half_life
<half_life>
double
</half_life>
Documentation (element)
Units: days Min: 0
Used to calculate elimination rate λ, calculated as λ = ln(2) / half_life. The basic form of decay is C(t) = C0 * exp(-λ*t).
Alternatively, elimination rate can be specified via k and m_exponent.
Constant associated with elimination rate (k)
→ scenario → pharmacology → drugs → drug → PK → k
<k
[ CV=double ]
[ distr=("const" or "lognormal") ] DEFAULT VALUE const
mean=double
/>
Documentation (element)
Units: day^-1 Min: 0
Constant used to calculate the elimination rate λ, which is calculated as λ = k / (body_mass ^ m_exponent), where body_mass is the patient's weight in kg and m_exponent is the next parameter. The basic form of decay is C(t) = C0 * exp(-λ*t).
If CV > 0, k is sampled per-human from the log-normal distribution: ln N( ln(mean) - σ^2 / 2, σ^2).
Alternatively, elimination rate can be specified via half_life.
Documentation (type)
A parameter with optional log-normal heterogeneity.
The mean value must be specified. Optionally, a distribution ("distr") and coefficient of variation ("CV") may be specified.
Documentation (base type)
A parameter with optional heterogeneity.
The mean cannot be specified (unless this type is extended). Optionally, a distribution ("distr") and coefficient of variation ("CV") may be specified.
Attributes
Coefficient of variation
CV=double
Units: unitless
The (linear) coefficient of variation. This value must be specified when a (non-constant) distribution is used. Note that specifying CV="0" has the same effect as distr="const" and disables sampling of this parameter, even if distr is not "const".
Distribution
distr=("const" or "lognormal")
Default value: const
To allow heterogeneity, a distribution must be specified. Valid options are as follows. "const": no variation or sampling. Specifying distr="const" has the same effect as not specifying distr at all. "lognormal": the parameter is sampled from a log-normal distribution. Note that the "mean" and "CV" values are linear (arithmetic) properties of the distribution and not log-space properties.
mean
mean=double
The (linear) mean value.
Constant associated with elimination rate (m_exponent)
→ scenario → pharmacology → drugs → drug → PK → m_exponent
<m_exponent>
double
</m_exponent>
Documentation (element)
Units: day^-1 Min: 0
Constant used to calculate the elimination rate λ, which is calculated as λ = k / (body_mass ^ m_exponent), where body_mass is the patient's weight in kg and k is the previous parameter. The basic form of decay is C(t) = C0 * exp(-λ*t).
Alternatively, elimination rate can be specified via half_life.
Note that in the case of a conversion model, this applies to both the elimination and the conversion rates.
Absorption rate constant (k_a)
→ scenario → pharmacology → drugs → drug → PK → k_a
<k_a
[ CV=double ]
[ distr=("const" or "lognormal") ] DEFAULT VALUE const
mean=double
/>
Documentation (element)
Min: 0
Absorption rate parameter. Not allowed for one compartment models, but required for two and three compartment models and one compartment with conversion model (for the parent drug only).
Documentation (type)
A parameter with optional log-normal heterogeneity.
The mean value must be specified. Optionally, a distribution ("distr") and coefficient of variation ("CV") may be specified.
Documentation (base type)
A parameter with optional heterogeneity.
The mean cannot be specified (unless this type is extended). Optionally, a distribution ("distr") and coefficient of variation ("CV") may be specified.
Attributes
Coefficient of variation
CV=double
Units: unitless
The (linear) coefficient of variation. This value must be specified when a (non-constant) distribution is used. Note that specifying CV="0" has the same effect as distr="const" and disables sampling of this parameter, even if distr is not "const".
Distribution
distr=("const" or "lognormal")
Default value: const
To allow heterogeneity, a distribution must be specified. Valid options are as follows. "const": no variation or sampling. Specifying distr="const" has the same effect as not specifying distr at all. "lognormal": the parameter is sampled from a log-normal distribution. Note that the "mean" and "CV" values are linear (arithmetic) properties of the distribution and not log-space properties.
mean
mean=double
The (linear) mean value.
Conversion parameters (parent drug)
→ scenario → pharmacology → drugs → drug → PK → conversion
<conversion>
IN ANY ORDER:
| <metabolite ... />
| <rate ... />
| <molRatio ... />
| <IC50_log_correlation ... />
</conversion>
Documentation (element)
Configures the parent drug in a conversion model.
To use a conversion model, the parent drug should have this section defined as well as half-life or k (direct elimination; this may be zero) and k_a (absorption rate; this may be large).
The metabolite drug should define half-life or k (elimination of metabolite), but not k_a (absorption rate) or this section (conversion). It is not possible for the metabolite to itself undergo conversion with the current models.
Metabolite drug (abbreviation)
→ scenario → pharmacology → drugs → drug → PK → conversion → metabolite
<metabolite>
string
</metabolite>
Documentation (element)
The abbreviation of the metabolite drug (e.g. "DHA" or "DHA_AR").
Rate of conversion
→ scenario → pharmacology → drugs → drug → PK → conversion → rate
<rate
[ CV=double ]
[ distr=("const" or "lognormal") ] DEFAULT VALUE const
mean=double
/>
Documentation (element)
Rate of conversion of parent drug to metabolite.
Documentation (type)
A parameter with optional log-normal heterogeneity.
The mean value must be specified. Optionally, a distribution ("distr") and coefficient of variation ("CV") may be specified.
Documentation (base type)
A parameter with optional heterogeneity.
The mean cannot be specified (unless this type is extended). Optionally, a distribution ("distr") and coefficient of variation ("CV") may be specified.
Attributes
Coefficient of variation
CV=double
Units: unitless
The (linear) coefficient of variation. This value must be specified when a (non-constant) distribution is used. Note that specifying CV="0" has the same effect as distr="const" and disables sampling of this parameter, even if distr is not "const".
Distribution
distr=("const" or "lognormal")
Default value: const
To allow heterogeneity, a distribution must be specified. Valid options are as follows. "const": no variation or sampling. Specifying distr="const" has the same effect as not specifying distr at all. "lognormal": the parameter is sampled from a log-normal distribution. Note that the "mean" and "CV" values are linear (arithmetic) properties of the distribution and not log-space properties.
mean
mean=double
The (linear) mean value.
Molecular weight ratio
→ scenario → pharmacology → drugs → drug → PK → conversion → molRatio
<molRatio>
double
</molRatio>
Documentation (element)
Ratio of molecular weights: molecular weight of the metabolite divided by molecular weight of the parent.
IC50 log correlation
→ scenario → pharmacology → drugs → drug → PK → conversion → IC50_log_correlation
<IC50_log_correlation>
double
</IC50_log_correlation>
Documentation (element)
Min: 0 Max: 1
The IC50 values of parent and metabolite drugs may be sampled from the log-normal distribution (if CV is greater than 0). This parameter controls correlation between these samples, measured in log-space.
If this value is 1, samples are fully correlated: a single z-score is used to calculate both samples. If this is 0, two independent samples are used.
Values between 0 and 1 (partial correlation) are supported; in this case IC50 values are sampled such that cor(log(x), log(y)) matches this value (where x, y are parent and metabolite IC50 values).
Volume of Distribution (Vd)
→ scenario → pharmacology → drugs → drug → PK → vol_dist
<vol_dist
[ CV=double ]
[ distr=("const" or "lognormal") ] DEFAULT VALUE const
mean=double
/>
Documentation (element)
Units: l/kg Min: 0
Volume of Distribution.
If CV > 0 this is sampled from a log-normal distribution.
Documentation (type)
A parameter with optional log-normal heterogeneity.
The mean value must be specified. Optionally, a distribution ("distr") and coefficient of variation ("CV") may be specified.
Documentation (base type)
A parameter with optional heterogeneity.
The mean cannot be specified (unless this type is extended). Optionally, a distribution ("distr") and coefficient of variation ("CV") may be specified.
Attributes
Coefficient of variation
CV=double
Units: unitless
The (linear) coefficient of variation. This value must be specified when a (non-constant) distribution is used. Note that specifying CV="0" has the same effect as distr="const" and disables sampling of this parameter, even if distr is not "const".
Distribution
distr=("const" or "lognormal")
Default value: const
To allow heterogeneity, a distribution must be specified. Valid options are as follows. "const": no variation or sampling. Specifying distr="const" has the same effect as not specifying distr at all. "lognormal": the parameter is sampled from a log-normal distribution. Note that the "mean" and "CV" values are linear (arithmetic) properties of the distribution and not log-space properties.
mean
mean=double
The (linear) mean value.
Second compartment parameters
→ scenario → pharmacology → drugs → drug → PK → compartment2
<compartment2>
IN ANY ORDER:
| <k12 ... />
| <k21 ... />
</compartment2>
Documentation (element)
Optional element specifying conversion parameters to- and from- a second compartment.
Absorption rate to compartment 2 (k12)
→ scenario → pharmacology → drugs → drug → PK → compartment2 → k12
<k12
[ CV=double ]
[ distr=("const" or "lognormal") ] DEFAULT VALUE const
mean=double
/>
Documentation (element)
Units: day^-1 Min: 0
Absorption rate from the central compartment to the first periphery compartment (2).
It is sampled per-patient when CV > 0.
Documentation (type)
A parameter with optional log-normal heterogeneity.
The mean value must be specified. Optionally, a distribution ("distr") and coefficient of variation ("CV") may be specified.
Documentation (base type)
A parameter with optional heterogeneity.
The mean cannot be specified (unless this type is extended). Optionally, a distribution ("distr") and coefficient of variation ("CV") may be specified.
Attributes
Coefficient of variation
CV=double
Units: unitless
The (linear) coefficient of variation. This value must be specified when a (non-constant) distribution is used. Note that specifying CV="0" has the same effect as distr="const" and disables sampling of this parameter, even if distr is not "const".
Distribution
distr=("const" or "lognormal")
Default value: const
To allow heterogeneity, a distribution must be specified. Valid options are as follows. "const": no variation or sampling. Specifying distr="const" has the same effect as not specifying distr at all. "lognormal": the parameter is sampled from a log-normal distribution. Note that the "mean" and "CV" values are linear (arithmetic) properties of the distribution and not log-space properties.
mean
mean=double
The (linear) mean value.
Absorption rate from compartment 2 (k21)
→ scenario → pharmacology → drugs → drug → PK → compartment2 → k21
<k21
[ CV=double ]
[ distr=("const" or "lognormal") ] DEFAULT VALUE const
mean=double
/>
Documentation (element)
Units: day^-1 Min: 0
Absorption rate from the first periphery compartment (2) to the central compartment.
It is sampled per-patient when CV > 0.
Documentation (type)
A parameter with optional log-normal heterogeneity.
The mean value must be specified. Optionally, a distribution ("distr") and coefficient of variation ("CV") may be specified.
Documentation (base type)
A parameter with optional heterogeneity.
The mean cannot be specified (unless this type is extended). Optionally, a distribution ("distr") and coefficient of variation ("CV") may be specified.
Attributes
Coefficient of variation
CV=double
Units: unitless
The (linear) coefficient of variation. This value must be specified when a (non-constant) distribution is used. Note that specifying CV="0" has the same effect as distr="const" and disables sampling of this parameter, even if distr is not "const".
Distribution
distr=("const" or "lognormal")
Default value: const
To allow heterogeneity, a distribution must be specified. Valid options are as follows. "const": no variation or sampling. Specifying distr="const" has the same effect as not specifying distr at all. "lognormal": the parameter is sampled from a log-normal distribution. Note that the "mean" and "CV" values are linear (arithmetic) properties of the distribution and not log-space properties.
mean
mean=double
The (linear) mean value.
Third compartment parameters
→ scenario → pharmacology → drugs → drug → PK → compartment3
<compartment3>
IN ANY ORDER:
| <k13 ... />
| <k31 ... />
</compartment3>
Documentation (element)
Optional element specifying conversion parameters to- and from- a third compartment.
Absorption rate to compartment 3 (k13)
→ scenario → pharmacology → drugs → drug → PK → compartment3 → k13
<k13
[ CV=double ]
[ distr=("const" or "lognormal") ] DEFAULT VALUE const
mean=double
/>
Documentation (element)
Units: day^-1 Min: 0
Absorption rate from the central compartment to the second periphery compartment (3).
It is sampled per-patient when CV > 0.
Documentation (type)
A parameter with optional log-normal heterogeneity.
The mean value must be specified. Optionally, a distribution ("distr") and coefficient of variation ("CV") may be specified.
Documentation (base type)
A parameter with optional heterogeneity.
The mean cannot be specified (unless this type is extended). Optionally, a distribution ("distr") and coefficient of variation ("CV") may be specified.
Attributes
Coefficient of variation
CV=double
Units: unitless
The (linear) coefficient of variation. This value must be specified when a (non-constant) distribution is used. Note that specifying CV="0" has the same effect as distr="const" and disables sampling of this parameter, even if distr is not "const".
Distribution
distr=("const" or "lognormal")
Default value: const
To allow heterogeneity, a distribution must be specified. Valid options are as follows. "const": no variation or sampling. Specifying distr="const" has the same effect as not specifying distr at all. "lognormal": the parameter is sampled from a log-normal distribution. Note that the "mean" and "CV" values are linear (arithmetic) properties of the distribution and not log-space properties.
mean
mean=double
The (linear) mean value.
Absorption rate from compartment 3 (k31)
→ scenario → pharmacology → drugs → drug → PK → compartment3 → k31
<k31
[ CV=double ]
[ distr=("const" or "lognormal") ] DEFAULT VALUE const
mean=double
/>
Documentation (element)
Units: day^-1 Min: 0
Absorption rate from the second periphery compartment (3) to the central compartment.
It is sampled per-patient when CV > 0.
Documentation (type)
A parameter with optional log-normal heterogeneity.
The mean value must be specified. Optionally, a distribution ("distr") and coefficient of variation ("CV") may be specified.
Documentation (base type)
A parameter with optional heterogeneity.
The mean cannot be specified (unless this type is extended). Optionally, a distribution ("distr") and coefficient of variation ("CV") may be specified.
Attributes
Coefficient of variation
CV=double
Units: unitless
The (linear) coefficient of variation. This value must be specified when a (non-constant) distribution is used. Note that specifying CV="0" has the same effect as distr="const" and disables sampling of this parameter, even if distr is not "const".
Distribution
distr=("const" or "lognormal")
Default value: const
To allow heterogeneity, a distribution must be specified. Valid options are as follows. "const": no variation or sampling. Specifying distr="const" has the same effect as not specifying distr at all. "lognormal": the parameter is sampled from a log-normal distribution. Note that the "mean" and "CV" values are linear (arithmetic) properties of the distribution and not log-space properties.
mean
mean=double
The (linear) mean value.
Diagnostic parameters
→ scenario → diagnostics
<diagnostics>
IN THIS ORDER:
| ( <diagnostic ... /> )*
</diagnostics>
Documentation (element)
Diagnostic model parameters
diagnostic
→ scenario → diagnostics → diagnostic
<diagnostic
name=string
[ units=("Other" or "Garki" or "Malariatherapy") ]
>
IN THIS ORDER:
| EXACTLY ONE OF:
| | <deterministic ... />
| | <stochastic ... />
</diagnostic>
Attributes
Name of diagnostic
name=string
Name of this diagnostic (parameterisation). May be used elsewhere in the XML document to refer to this set of diagnostic parameters.
Parasite density units / methodology
units=("Other" or "Garki" or "Malariatherapy")
Parasite densities, as estimated according to standard microscopy methods, the Garki method, and as derived from Malariatherapy data are not equivalent. Internally, a "bias" factor is used to convert values estimated by one methods to values comparable with another (see AJTMHv75 supplement 2 pp20-21). This option allows specification of which methodology the density given in the diagnostic specification is measured with. Values allowed are: Malariatherapy, Garki and Other. If not specified, Other is assumed, unless the GARKI_DENSITY_BIAS model option is used, in which case this option must be specified.
Deterministic detection
→ scenario → diagnostics → diagnostic → deterministic
<deterministic
minDensity=double
/>
Documentation (element)
Specify that an artificial deterministic test is used: outcome is positive if parasite density is at least the minimum given.
Attributes
Minimum detectible density
minDensity=double
Units: parasites/microlitre Min: 0
The minimum density at which parasites can be detected. If 0, the test outcome is always positive.
Non-deterministic detection
→ scenario → diagnostics → diagnostic → stochastic
<stochastic
dens_50=double
specificity=double
/>
Documentation (element)
An improved model of detection which is non-deterministic, including false positive results as well as false negatives.
The probability of a positive outcome is modelled as 1 + s×(x/(x+d) - 1) where x is the parasite density, d is the density at which the test outcome has a 50% chance of being positive, and s is the probability of a positive outcome given no parasites (the specificity).
Some parameterisations:
Microscopy sensitivity/specificity data in Africa; Source: expert opinion — Allan Schapira dens_50 = 20.0 specificity = .75
RDT sensitivity/specificity for Plasmodium falciparum in Africa Source: Murray et al (Clinical Microbiological Reviews, Jan. 2008) dens_50 = 50.0; specificity = .942;
Attributes
Density 50
dens_50=double
Units: parasites/microlitre Min: 0
The density at which the test outcome has a 50% chance of being positive.
Specificity
specificity=double
Units: Dimensionless Min: 0 Max: 1
The probability of a positive test outcome in the absense of parasites.
Model options and parameters
<model>
IN ANY ORDER:
| <ModelOptions ... />
| <clinical ... />
| <human ... />
| [ <vivax ... /> ]
| <parameters ... />
</model>
Documentation (element)
Encapsulation of all parameters which describe the model according to which fitting is done.
Model Options
→ scenario → model → ModelOptions
<ModelOptions>
IN THIS ORDER:
| ( <option ... /> )*
</ModelOptions>
Documentation (element)
All model options (bug fixes, choices between models, etc.).
The list of recognised options can be found in the code at:
model/util/ModelOptions.h and should also be in the wiki.
clinical
<clinical
healthSystemMemory=string
>
IN ANY ORDER:
| [ <NeonatalMortality ... /> ]
| [ <NonMalariaFevers ... /> ]
</clinical>
Documentation (type)
Description of clinical parameters that are related to the health-system description, but which contain data that cannot be changed as part of an intervention and that are not restricted to treatment.
Attributes
Follow-up period during which recurrence is considered a treatment failure
healthSystemMemory=string
Units: User-defined (defaults to steps)
Follow-up period during which a recurrence is considered to be a treatment failure Can be specified in steps (e.g. 6t) or days (e.g. 28d).
Neonatal mortality parameters
→ scenario → model → clinical → NeonatalMortality
<NeonatalMortality
diagnostic=string
/>
Attributes
Diagnostic used to parameterise model
diagnostic=string
The name of a diagnostic used to parameterise the model. Neonatal mortality is derived from malaria patency of a certain sub-population of humans. This is the diagnostic used to asses patency for this purpose. If this is not specified, the monitoring diagnostic is used.
NonMalariaFevers
→ scenario → model → clinical → NonMalariaFevers
<NonMalariaFevers>
IN THIS ORDER:
| <incidence ... />
| [ <prNeedTreatmentNMF ... /> ]
| [ <prNeedTreatmentMF ... /> ]
</NonMalariaFevers>
Documentation (type)
Description of the incidence of non-malaria fever. Non-malaria fevers are only modelled if the NON_MALARIA_FEVERS option is used.
P(NMF)
→ scenario → model → clinical → NonMalariaFevers → incidence
<incidence
[ interpolation=("none" or "linear") ]
>
IN THIS ORDER:
| ( <group ... /> )+
</incidence>
Documentation (element)
Units: Dimensionless Min: 0.0 Max: 1.0
Probability that a non-malaria fever occurs given that no concurrent malaria fever occurs.
Attributes
interpolation
interpolation=("none" or "linear")
Interpolation algorithm. Normally it is desirable for age-based values to be continuous w.r.t. age. By default linear interpolation is used. With all algorithms except "none", the age groups are converted to a set of points centred within each age range. Extra points are added at each end (zero and infinity) to keep value constant at both ends of the function. A zero-length age group may be used as a kind of barrier to adjust the distribution; e.g. with age group boundaries at 15, 20 and 25 years, a (linear) spline would be drawn between ages 17.5 and 22.5, whereas with boundaries at 15, 20 and 20 years, a spline would be drawn between ages 17.5 and 20 years (may be desired if individuals are assumed to reach adult size at 20). Algorithms:
- none: input values are used directly
- linear: straight lines (on an age vs. value graph) are used to interpolate data points.
P(need treatment | NMF)
→ scenario → model → clinical → NonMalariaFevers → prNeedTreatmentNMF
<prNeedTreatmentNMF
[ interpolation=("none" or "linear") ]
>
IN THIS ORDER:
| ( <group ... /> )+
</prNeedTreatmentNMF>
Documentation (element)
Units: Dimensionless Min: 0 Max: 1
Probability that a non-malarial fever requires treatment with antibiotics (assuming fever is not induced by malaria, although concurrent parasites may be present).
Attributes
interpolation
interpolation=("none" or "linear")
Interpolation algorithm. Normally it is desirable for age-based values to be continuous w.r.t. age. By default linear interpolation is used. With all algorithms except "none", the age groups are converted to a set of points centred within each age range. Extra points are added at each end (zero and infinity) to keep value constant at both ends of the function. A zero-length age group may be used as a kind of barrier to adjust the distribution; e.g. with age group boundaries at 15, 20 and 25 years, a (linear) spline would be drawn between ages 17.5 and 22.5, whereas with boundaries at 15, 20 and 20 years, a spline would be drawn between ages 17.5 and 20 years (may be desired if individuals are assumed to reach adult size at 20). Algorithms:
- none: input values are used directly
- linear: straight lines (on an age vs. value graph) are used to interpolate data points.
P(need treatment | MF)
→ scenario → model → clinical → NonMalariaFevers → prNeedTreatmentMF
<prNeedTreatmentMF
[ interpolation=("none" or "linear") ]
>
IN THIS ORDER:
| ( <group ... /> )+
</prNeedTreatmentMF>
Documentation (element)
Units: Dimensionless Min: 0 Max: 1
Probability that a malaria fever needs treatment with antibiotics (assuming fever is induced by malaria, although concurrent bacteria may be present).
Meaning partially overlaps with separate model for comorbidity given malaria.
Attributes
interpolation
interpolation=("none" or "linear")
Interpolation algorithm. Normally it is desirable for age-based values to be continuous w.r.t. age. By default linear interpolation is used. With all algorithms except "none", the age groups are converted to a set of points centred within each age range. Extra points are added at each end (zero and infinity) to keep value constant at both ends of the function. A zero-length age group may be used as a kind of barrier to adjust the distribution; e.g. with age group boundaries at 15, 20 and 25 years, a (linear) spline would be drawn between ages 17.5 and 22.5, whereas with boundaries at 15, 20 and 20 years, a spline would be drawn between ages 17.5 and 20 years (may be desired if individuals are assumed to reach adult size at 20). Algorithms:
- none: input values are used directly
- linear: straight lines (on an age vs. value graph) are used to interpolate data points.
human
<human>
IN THIS ORDER:
| <availabilityToMosquitoes ... />
| [ <weight ... /> ]
</human>
Documentation (type)
Parameters of host models.
Availability to mosquitoes
→ scenario → model → human → availabilityToMosquitoes
<availabilityToMosquitoes
[ interpolation=("none" or "linear") ]
>
IN THIS ORDER:
| ( <group ... /> )+
</availabilityToMosquitoes>
Documentation (element)
Units: None Min: 0 Max: 1
Availability of humans to mosquitoes relative to an adult, categorized by age group
Attributes
interpolation
interpolation=("none" or "linear")
Interpolation algorithm. Normally it is desirable for age-based values to be continuous w.r.t. age. By default linear interpolation is used. With all algorithms except "none", the age groups are converted to a set of points centred within each age range. Extra points are added at each end (zero and infinity) to keep value constant at both ends of the function. A zero-length age group may be used as a kind of barrier to adjust the distribution; e.g. with age group boundaries at 15, 20 and 25 years, a (linear) spline would be drawn between ages 17.5 and 22.5, whereas with boundaries at 15, 20 and 20 years, a spline would be drawn between ages 17.5 and 20 years (may be desired if individuals are assumed to reach adult size at 20). Algorithms:
- none: input values are used directly
- linear: straight lines (on an age vs. value graph) are used to interpolate data points.
Weight
→ scenario → model → human → weight
<weight
[ interpolation=("none" or "linear") ]
multStdDev=double
>
IN THIS ORDER:
| ( <group ... /> )+
</weight>
Documentation (element)
Units: kg Min: 0
By age group data on human weight (mass).
Attributes
interpolation
interpolation=("none" or "linear")
Interpolation algorithm. Normally it is desirable for age-based values to be continuous w.r.t. age. By default linear interpolation is used. With all algorithms except "none", the age groups are converted to a set of points centred within each age range. Extra points are added at each end (zero and infinity) to keep value constant at both ends of the function. A zero-length age group may be used as a kind of barrier to adjust the distribution; e.g. with age group boundaries at 15, 20 and 25 years, a (linear) spline would be drawn between ages 17.5 and 22.5, whereas with boundaries at 15, 20 and 20 years, a spline would be drawn between ages 17.5 and 20 years (may be desired if individuals are assumed to reach adult size at 20). Algorithms:
- none: input values are used directly
- linear: straight lines (on an age vs. value graph) are used to interpolate data points.
Standard deviation
multStdDev=double
Units: None Min: 0
Each human is assigned a weight multiplier from a normal distribution with mean 1 and this standard deviation at birth. His/her weight is this multiplier times the mean from age distribution. A standard deviation of zero for no heterogeneity is valid; a rough value from Tanzanian data is 0.14.
Vivax model parameters
<vivax>
IN ANY ORDER:
| <probBloodStageInfectiousToMosq ... />
| <hypnozoiteRelease ... />
| <bloodStageProtectionLatency ... />
| <bloodStageLengthDays ... />
| <clinicalEvents ... />
</vivax>
- probBloodStageInfectiousToMosq
- hypnozoiteRelease
- bloodStageProtectionLatency
- bloodStageLengthDays
- clinicalEvents
Documentation (element)
This describes Vivax model parameters, and is required when using the VIVAX_SIMPLE_MODEL model option.
Probability of mosquito infection
→ scenario → model → vivax → probBloodStageInfectiousToMosq
<probBloodStageInfectiousToMosq
value=double
/>
Documentation (element)
Units: None Min: 0 Max: 1
The chance of a feeding mosquito becoming infected, given that the host is patent. (This may be adjusted by transmission-blocking vaccines.)
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Hypnozoite releases
→ scenario → model → vivax → hypnozoiteRelease
<hypnozoiteRelease
[ pSecondRelease=double ] DEFAULT VALUE 0
>
IN ANY ORDER:
| <numberHypnozoites ... />
| <firstReleaseDays ... />
| [ <secondReleaseDays ... /> ]
</hypnozoiteRelease>
Documentation (element)
Describes the number and times of hypnozoite releases.
Documentation (type)
This element defines probabilites when and how many hypnozoites are released from the liverstage into the blood.
The gap between the start of a new brood of hypnozoites and its release are defined as follows:
latentP + latentRelapse + randomReleaseDelay
randomReleaseDelay is based on one or two lognormal distributions, which are defined in firstRelease and optionally secondRelease.
You can define 2 release distributions, which get added together and represent the probability of hypnozoites which get released before winter (first release) or after (second release).
You can omit the secondRelease element if no release to the blood happens after winter.
Attributes
latent relapse days
pSecondRelease=double
Default value: 0
Probability of a second release. If undefined it is zero.
Number of Hypnozoites
→ scenario → model → vivax → hypnozoiteRelease → numberHypnozoites
<numberHypnozoites
max=int
base=double
/>
Documentation (element)
numberHypnozoites calculates the number of hypnozoites in the liver stage based on a base which is between 0 and 1.
This number is random based on the following distribution and normalized:
max ∑ (base ^ n) n = 0
Attributes
max
max=int
base
base=double
firstReleaseDays
→ scenario → model → vivax → hypnozoiteRelease → firstReleaseDays
<firstReleaseDays
[ CV=double ]
[ distr=("const" or "lognormal") ] DEFAULT VALUE const
mean=double
latentRelapse=double
/>
Documentation (type)
Hypnozoites are released after a delay, calculated as: roundToTSFromDays(delay + latentRelapse)
Here, roundToTSFromDays rounds the input (in days) to the nearest timestep, delay is sampled from a log-normal, and latentRelapse is the parameter specified here.
The delay is sampled from a log-normal distribution, parameterised via the (linear) mean and CV (coefficient of variation) given here.
Documentation (base type)
A parameter with optional log-normal heterogeneity.
The mean value must be specified. Optionally, a distribution ("distr") and coefficient of variation ("CV") may be specified.
Documentation (base type)
A parameter with optional heterogeneity.
The mean cannot be specified (unless this type is extended). Optionally, a distribution ("distr") and coefficient of variation ("CV") may be specified.
Attributes
Coefficient of variation
CV=double
Units: unitless
The (linear) coefficient of variation. This value must be specified when a (non-constant) distribution is used. Note that specifying CV="0" has the same effect as distr="const" and disables sampling of this parameter, even if distr is not "const".
Distribution
distr=("const" or "lognormal")
Default value: const
To allow heterogeneity, a distribution must be specified. Valid options are as follows. "const": no variation or sampling. Specifying distr="const" has the same effect as not specifying distr at all. "lognormal": the parameter is sampled from a log-normal distribution. Note that the "mean" and "CV" values are linear (arithmetic) properties of the distribution and not log-space properties.
mean
mean=double
The (linear) mean value.
latent relapse days
latentRelapse=double
Usually between 10 and 15 days.
secondReleaseDays
→ scenario → model → vivax → hypnozoiteRelease → secondReleaseDays
<secondReleaseDays
[ CV=double ]
[ distr=("const" or "lognormal") ] DEFAULT VALUE const
mean=double
latentRelapse=double
/>
Documentation (type)
Hypnozoites are released after a delay, calculated as: roundToTSFromDays(delay + latentRelapse)
Here, roundToTSFromDays rounds the input (in days) to the nearest timestep, delay is sampled from a log-normal, and latentRelapse is the parameter specified here.
The delay is sampled from a log-normal distribution, parameterised via the (linear) mean and CV (coefficient of variation) given here.
Documentation (base type)
A parameter with optional log-normal heterogeneity.
The mean value must be specified. Optionally, a distribution ("distr") and coefficient of variation ("CV") may be specified.
Documentation (base type)
A parameter with optional heterogeneity.
The mean cannot be specified (unless this type is extended). Optionally, a distribution ("distr") and coefficient of variation ("CV") may be specified.
Attributes
Coefficient of variation
CV=double
Units: unitless
The (linear) coefficient of variation. This value must be specified when a (non-constant) distribution is used. Note that specifying CV="0" has the same effect as distr="const" and disables sampling of this parameter, even if distr is not "const".
Distribution
distr=("const" or "lognormal")
Default value: const
To allow heterogeneity, a distribution must be specified. Valid options are as follows. "const": no variation or sampling. Specifying distr="const" has the same effect as not specifying distr at all. "lognormal": the parameter is sampled from a log-normal distribution. Note that the "mean" and "CV" values are linear (arithmetic) properties of the distribution and not log-space properties.
mean
mean=double
The (linear) mean value.
latent relapse days
latentRelapse=double
Usually between 10 and 15 days.
Blood stage protection latency
→ scenario → model → vivax → bloodStageProtectionLatency
<bloodStageProtectionLatency
value=double
/>
Documentation (element)
Min: 0
The length of time after expiry of a blood-stage infection during which relapses from the same brood are supressed by the immune system.
This is rounded to the nearest time-step.
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Blood stage length
→ scenario → model → vivax → bloodStageLengthDays
<bloodStageLengthDays
scale=double
shape=double
distr=("weibull")
/>
Documentation (element)
Units: Days
Parameters used to sample the length of blood-stage infections from a Weibull distribution (scale parameter lambda, shape parameter k).
Documentation (type)
Parameters of a Weibull distribution.
Attributes
Scale
scale=double
The Weibull scale parameter (λ).
shape
shape=double
The Weibull shape parameter (k).
Distribution
distr=("weibull")
To allow heterogeneity, a distribution must be specified. In this case, only "weibull" is allowed.
clinicalEvents
→ scenario → model → vivax → clinicalEvents
<clinicalEvents>
IN THIS ORDER:
| <pPrimaryInfection ... />
| <pRelapseOne ... />
| <pRelapseTwoPlus ... />
| <pEventIsSevere ... />
</clinicalEvents>
Documentation (type)
This elements holds all information about probabilites for clinical events from infections and relapses.
pPrimaryInfection
→ scenario → model → vivax → clinicalEvents → pPrimaryInfection
<pPrimaryInfection
a=double
b=double
/>
Attributes
a
a=double
b
b=double
pRelapseOne
→ scenario → model → vivax → clinicalEvents → pRelapseOne
<pRelapseOne
a=double
b=double
/>
Attributes
a
a=double
b
b=double
pRelapseTwoPlus
→ scenario → model → vivax → clinicalEvents → pRelapseTwoPlus
<pRelapseTwoPlus
a=double
b=double
/>
Attributes
a
a=double
b
b=double
pEventIsSevere
→ scenario → model → vivax → clinicalEvents → pEventIsSevere
<pEventIsSevere
value=double
/>
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Parameters of the model of epidemiology
→ scenario → model → parameters
<parameters
interval=int
iseed=int
latentp=string
>
IN THIS ORDER:
| ( <parameter ... /> )+
</parameters>
Documentation (element)
Parameters of the epidemiological model
Attributes
Simulation step
interval=int
Units: Days
Simulation step
Random number seed
iseed=int
Units: Number
Seed for RNG
Pre-erythrocytic latent period
latentp=string
Units: User defined (default: steps) Min: 0 Max: 20
Pre-erythrocytic latent period Can be specified in steps (e.g. 3t) or days (e.g. 15d).
parameter
→ scenario → model → parameters → parameter
<parameter
[ name=string ]
number=int
value=double
[ include=boolean ]
/>
Attributes
Name of parameter
name=string
Units: string
Name of parameter
Parameter number
number=int
Units: Number Min: 1 Max: 100
Reference number of input parameter
Parameter value
value=double
Units: Number Min: 0
Parameter value
Sampling indicator
include=boolean
Units: Number Min: 0 Max: 1
True if parameter is to be sampled in optimization runs. Not used in simulator app.
Schema 39 documentation
Generated from: scenario_39.xsd
.
Key:
abc required (one)
[ def ] optional (zero or one)
( ghi )* any number (zero or more)
( jkl )+ at least one
( mno ){2,inf} two or more occurrences
Scenario
→ scenario
<scenario
schemaVersion=int
[ analysisNo=int ]
name=string
[ wuID=int ]
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:om="http://openmalaria.org/schema/scenario_39"
xsi:schemaLocation="http://openmalaria.org/schema/scenario_39 scenario_39.xsd"
>
IN ANY ORDER:
| <demography ... />
| <monitoring ... />
| <interventions ... />
| <healthSystem ... />
| <entomology ... />
| [ <parasiteGenetics ... /> ]
| [ <pharmacology ... /> ]
| [ <diagnostics ... /> ]
| <model ... />
</scenario>
- demography
- monitoring
- interventions
- healthSystem
- entomology
- parasiteGenetics
- pharmacology
- diagnostics
- model
Documentation (element)
Description of scenario
Attributes
Version of the xml schema
schemaVersion=int
Version of xml schema. If not equal to the current version an error is thrown. Use SchemaTranslator to update xml files.
Reference number of the analysis
analysisNo=int
Units: Number Min: 1 Max: 100000000
Unique identifier of scenario
Name of intervention
name=string
Name of intervention
Work unit identifier
wuID=int
Units: Number
Work unit ID. Obselete and no longer required.
Human age distribution
→ scenario → demography
<demography
name=string
popSize=int
maximumAgeYrs=double
[ growthRate=double ]
>
IN THIS ORDER:
| <ageGroup ... />
</demography>
Documentation (element)
Description of demography
Attributes
Name of demography data
name=string
Name of demography data
Population size
popSize=int
Units: Count Min: 1 Max: 100000
Population size
Maximum age of simulated humans
maximumAgeYrs=double
Units: Years Min: 0 Max: 100
Maximum age of simulated humans in years
Growth rate of human population
growthRate=double
Units: Number Min: 0 Max: 0
Growth rate of human population. (we should be able to implement this with non-zero values)
Age groups
→ scenario → demography → ageGroup
<ageGroup
lowerbound=double
>
IN THIS ORDER:
| ( <group ... /> )+
</ageGroup>
Documentation (element)
list of age groups included in demography
Documentation (type)
list of age groups included in demography or surveys
Attributes
Lower bound of age group
lowerbound=double
Units: Years Min: 0 Max: 100
Lower bound of age group
group
→ scenario → demography → ageGroup → group
<group
poppercent=double
upperbound=double
/>
Attributes
Percentage in age group
poppercent=double
Units: Percentage Min: 0 Max: 100
Percentage of human population in age group
Upper bound of age group
upperbound=double
Units: Years Min: 0 Max: 100
Upper bound of age group
Measures to be reported
→ scenario → monitoring
<monitoring
name=string
[ startDate=string ]
>
IN THIS ORDER:
| [ <continuous ... /> ]
| <SurveyOptions ... />
| <surveys ... />
| <ageGroup ... />
| [ <cohorts ... /> ]
</monitoring>
Documentation (element)
Description of surveys
Attributes
Name of monitoring settings
name=string
Name of monitoring settings
Start of monitoring
startDate=string
An optional date for the start of monitoring. If given, dates may be used to specify when other events (surveys, intervention deployments) occur; alternately times relative to the start of the intervention period may be used to specify event times. Setting this to 1st January of some year might simplify usage of dates, and putting the start a couple of years before the start of intervention deployment (along with some extra surveys) may be useful to check transmission stabilises to the expected pre-intervention levels. As an example, if this date is set to 2000-01-01, then the following event times are equivalent (assuming 1t=5d): 15t, 75d, 0.2y, 2000-03-16. Must be in the form YYYY-MM-DD, e.g. 2003-01-01.
continuous
→ scenario → monitoring → continuous
<continuous
period=string
[ duringInit=boolean ]
>
IN THIS ORDER:
| ( <option ... /> )*
</continuous>
Attributes
Delay between reports
period=string
Units: User defined (default: steps)
Delay between reports; typically one time step but can be greater. Can be specified in steps (e.g. 1t) or days (e.g. 5d).
During initialization
duringInit=boolean
Units: Days Min: 1 Max: unbounded
Also output during initialization. By default this is disabled (only intervention-period data is output). This should not be used for predictions, but can be useful for model validation. In this mode, 'simulation time' is output as the first column (in addition to 'timestep'), since 'timestep' is dis- continuous across the start of the intervention period.
option
→ scenario → monitoring → continuous → option
<option
name=string
[ value=boolean ] DEFAULT VALUE true
/>
Attributes
Option name
name=string
Name of an option (monitoring measure or model option).
Indicator of whether option is required
value=boolean
Default value: true
Option on/off switch (true/false). Specifying value="true" is the same as not specifying a value; specifying value="false" explicitly turns the option off. If an option is not mentioned at all, it is left at its default value (normally off, but in a few cases, such as some bug-fix options, on).
Name of quantity
→ scenario → monitoring → SurveyOptions
<SurveyOptions
[ onlyNewEpisode=boolean ] DEFAULT VALUE false
>
IN THIS ORDER:
| ( <option ... /> )*
</SurveyOptions>
Documentation (element)
List of all active survey options. See model/mon/OutputMeasures.h for a list of supported outputs. Should also be on the wiki.
Attributes
Report only for new cases
onlyNewEpisode=boolean
Default value: false
If set, some statistics exclude humans who have been treated in the recent past (precisely, when the time of last treatment was before the current step and no more than health-system-memory days/steps ago). This is a rough replacement for the REPORT_ONLY_AT_RISK option, with one difference: the maximum age of treatment for REPORT_ONLY_AT_RISK was fixed at 20 days. Affected measures include (as of version 35): nHost (0), nInfect(1), nExpectd (2), nPatent (3), sumLogPyrogenThres (4), sumlogDens (5), totalInfs (6), totalPatentInf (8), sumPyrogenThresh (10), nSubPopRemovalFirstEvent (62), sumAge (68), nInfectByGenotype (69), nPatentByGenotype (70), logDensByGenotype (71), nHostDrugConcNonZero (72), sumLogDrugConcNonZero (73).
option
→ scenario → monitoring → SurveyOptions → option
<option
name=string
[ value=boolean ] DEFAULT VALUE true
[ outputNumber=int ]
[ byAge=boolean ]
[ byCohort=boolean ]
[ bySpecies=boolean ]
[ byGenotype=boolean ]
[ byDrugType=boolean ]
/>
Attributes
Option name
name=string
Name of an option (monitoring measure or model option).
Indicator of whether option is required
value=boolean
Default value: true
Option on/off switch (true/false). Specifying value="true" is the same as not specifying a value; specifying value="false" explicitly turns the option off. If an option is not mentioned at all, it is left at its default value (normally off, but in a few cases, such as some bug-fix options, on).
Number identifying measure in output
outputNumber=int
Number identifying this monitoring measure in the output file (3rd column). Normally this is determined from the measure, but it can be set manually, e.g. for when the same measure is recorded twice (to accumulate across different categories).
Report by age category
byAge=boolean
If true, the measure is reported for each age category. If false, values are summed across all age categories and only the sum reported. If not specified, separate categories will be reported if the measure supports this.
Report by cohort
byCohort=boolean
If true, the measure is reported for each cohort separately. If false, values are summed across all cohorts and only the sum reported. If not specified, separate categories will be reported if the measure supports this.
Report by mosquito species
bySpecies=boolean
If true, the measure is reported for each mosquito species separately. If false, values are summed across all species and only the sum reported. If not specified, separate categories will be reported if the measure supports this.
Report by parasite genotype
byGenotype=boolean
If true, the measure is reported for each parasite genotype separately. If false, values are summed across all genotypes and only the sum reported. If not specified, separate categories will be reported if the measure supports this.
Report by drug type
byDrugType=boolean
If true, the measure is reported for each drug type separately. If false, values are summed across all drug types and only the sum reported. If not specified, separate categories will be reported if the measure supports this.
Survey times (time steps)
→ scenario → monitoring → surveys
<surveys
[ detectionLimit=double ]
[ diagnostic=string ]
>
IN THIS ORDER:
| ( <surveyTime ... /> )+
</surveys>
Documentation (element)
List of survey times
Attributes
Detection limit for parasitaemia
detectionLimit=double
Units: parasites/microlitre Min: 0
Deprecated: limit above which a human's infection is reported as patent. Alternative: do not specify this; instead specify "diagnostic".
Name of monitoring diagnostic
diagnostic=string
Name of a parameterised diagnostic to use in surveys (see scenario/diagnostics).
Survey time
→ scenario → monitoring → surveys → surveyTime
<surveyTime
[ repeatStep=string ]
[ repeatEnd=string ]
[ reported=boolean ] DEFAULT VALUE true
>
string
</surveyTime>
Documentation (element)
Units: User defined (defaults to steps) Min: 0
Time of a survey. A report will be made for those measures enabled under SurveyOptions. Reported data is either from the moment the survey is done (immediate data) or is collected over the time since the previous survey, or in some cases over a fixed time span (usually one year).
Times can be specified in time steps, starting from 0, or as a date (see monitoring/startDate), or in days (e.g. 15d) or years (e.g. 1y). Relative times mean the time since the start of the intervention period, and must be non-negative (zero is valid, but some measures, e.g. nUncomp, will be zero).
The simulation ends immediately after the last survey is taken.
Attributes
Step of repetition
repeatStep=string
Units: User defined
See repeatEnd's documentation.
End of repetition (exclusive)
repeatEnd=string
Units: User defined
Either both repeatStep and repeatEnd should be present or neither. If present, the survey is repeated every repeatStep timesteps (i.e. if t0 is the initial time and x is repeatStep, surveys are done at times t0, t0+x, t0+2*x, ...), ending before repeatEnd (final repetition is the one before repeatEnd). Note that repeatEnd may be specified as a date but repeatStep must be a duration (days, steps or years).
reported
reported=boolean
Default value: true
For normal surveys, reporting=true. If set false, quantities are measured but not reported. The reason for doing this is to update conditions set on reportable measures. Multiple surveys may be given here for the same date, e.g. if using "repeatStep" for both reporting and non-reporting surveys. These are combined such that a maximum of one survey is carried out per time-step, and the survey is reported if any of the listed surveys for this date is configured as "reporting". Note that adding non-reporting surveys will not affect value output by reported surveys, with the exception that generated psuedo-random numbers may be altered (specifically, when any stochastic diagnostics are used in surveys).
Age groups
→ scenario → monitoring → ageGroup
<ageGroup
lowerbound=double
>
IN THIS ORDER:
| ( <group ... /> )+
</ageGroup>
Documentation (element)
List of age groups included in demography or surveys
Attributes
lower bound of age group
lowerbound=double
Units: Years Min: 0 Max: 100
Lower bound of age group
group
→ scenario → monitoring → ageGroup → group
<group
upperbound=double
/>
Attributes
upper bound of age group
upperbound=double
Units: Years Min: 0 Max: 100
Upper bound of age group
Cohorts
→ scenario → monitoring → cohorts
<cohorts>
IN THIS ORDER:
| ( <subPop ... /> )+
</cohorts>
Documentation (element)
Allows the configuration of multiple cohorts (output segregated according to membership within specific sub-populations).
If this element is omitted, monitoring surveys cover the entire simulated human population.
It does not affect the "continuous" outputs (these never take cohorts into account).
Sub-population
→ scenario → monitoring → cohorts → subPop
<subPop
id=string
number=integer
/>
Documentation (element)
Consider a certain sup-population a cohort, and segregate outputs according to membership. Where multiple sub-populations are listed, segregate output according to all combinations of membership: e.g. if sub-populations A and B are listed, there will be outputs for "member of A and B", "member of A but not B", "B but not A" and "not a member of A or B". Listing n sub-populations implies 2^n sets of outputs (each is further segregated by age groups, survey times and enabled output measures, which could lead to excessive program memory usage and output file size).
To identify outputs, each sub-population has a power of two number as identifier (see "number" attribute). Each of the 2^n output sets is identified by a number: the output set is the output from humans who are members in some set of sub-populations (S1, S2, ...) and not members in some others (T1, T2, ...); the number identifying the set is the sum of the numbers identifying the sets S1, S2, etc.
In the output file, the output set is identified by multiplying this number by 1000 then adding it to the age group column.
Attributes
Sub-population identifier
id=string
Textual identifier for the sub-population (i.e. for an intervention component, since sub-populations are defined as the hosts an intervention component is deployed to).
Sub-population number
number=integer
Units: dimensionless Min: 1 Max: 2097152
Number identifying a sub-population; used to define identifiers of output sets. This number must be a power of 2 (i.e. 1, 2, 4, 8, ...). See documentation of subPop element.
Preventative interventions
<interventions
name=string
>
IN ANY ORDER:
| [ <changeHS ... /> ]
| [ <changeEIR ... /> ]
| [ <importedInfections ... /> ]
| [ <insertR_0Case ... /> ]
| [ <uninfectVectors ... /> ]
| [ <vectorPop ... /> ]
| [ <vectorTrap ... /> ]
| [ <human ... /> ]
</interventions>
Documentation (element)
List of interventions. Generally these are either point-time distributions of something to some subset of the population, or continuous-time distribution targetting individuals when they reach a certain age.
Attributes
Name of intervention set
name=string
Name of set of interventions
Change health system
→ scenario → interventions → changeHS
<changeHS
[ name=string ]
>
IN THIS ORDER:
| ( <timedDeployment ... /> )*
</changeHS>
Documentation (element)
Changes to the health system
Attributes
Name of intervention
name=string
Name of intervention
timedDeployment
→ scenario → interventions → changeHS → timedDeployment
<timedDeployment
time=string
>
IN THIS ORDER:
| EXACTLY ONE OF:
| | <EventScheduler ... />
| | <ImmediateOutcomes ... />
| | <DecisionTree5Day ... />
| <CFR ... />
| <pSequelaeInpatient ... />
</timedDeployment>
Documentation (type)
A complete replacement health system. Replaces all previous properties. (Health system can be replaced multiple times if necessary.)
Documentation (base type)
Description of case management system, used to specify the initial model or a replacement (an intervention). Encompasses case management data and some other data required to derive case outcomes.
Contains a sub-element describing the particular health-system in use. Health system data is here defined as data used to decide on a treatment strategy, given a case requiring treatment.
Attributes
Time
time=string
Units: User defined (defauls to steps) Min: 0
Time at which this replacement occurs. See doc on intervention period and on monitoring/startDate for details of how times work. Can be specified in steps, days, years, or as a date (examples: 15t, 75d, 0.2y, 2000-03-16).
EventScheduler
→ scenario → healthSystem → EventScheduler
<EventScheduler>
IN THIS ORDER:
| <uncomplicated ... />
| <complicated ... />
| <ClinicalOutcomes ... />
| [ <NonMalariaFevers ... /> ]
</EventScheduler>
uncomplicated
→ scenario → healthSystem → EventScheduler → uncomplicated
<uncomplicated
[ name=string ]
>
EXACTLY ONE OF:
| <multiple ... />
| <caseType ... />
| <diagnostic ... />
| <random ... />
| <age ... />
| <noTreatment ... />
| <treatFailure ... />
| ( <treatPKPD ... /> )+
| <treatSimple ... />
| ( <deploy ... /> )+
</uncomplicated>
Documentation (type)
Describes how "decisions" are made, both probabilistically and deterministically, and what actions are carried out.
Quantities may also be reported as a side effect of decisions made in the tree, for example the number of diagnostics used.
Attributes
Name
name=string
An optional piece of documentation attached to this node.
multiple
→ scenario → interventions → human → component → decisionTree → multiple
<multiple
[ name=string ]
>
IN THIS ORDER:
| ( <caseType ... /> )*
| ( <diagnostic ... /> )*
| ( <random ... /> )*
| ( <age ... /> )*
| ( <treatPKPD ... /> )*
| [ <treatSimple ... /> ]
| ( <deploy ... /> )*
</multiple>
Documentation (type)
A special node allowing multiple sub-trees to be evaluated.
This is different from an ordinary decision tree node in that:
a) multiple types of child can occur simultaneously (e.g. multiple types of treatment or treatment plus a 'random' sub-tree)
b) the 'noTreatment' and 'treatFailure' nodes are not allowed
Attributes
Name
name=string
An optional piece of documentation attached to this node.
caseType
→ scenario → interventions → human → component → decisionTree → multiple → caseType
<caseType
[ name=string ]
>
IN ANY ORDER:
| <firstLine ... />
| <secondLine ... />
</caseType>
Documentation (type)
A switch which choses a branch deterministically, based on whether the patient was treated recently (second line) or not (first line).
For uncomplicated cases only.
Attributes
Name
name=string
An optional piece of documentation attached to this node.
firstLine
→ scenario → interventions → human → component → decisionTree → multiple → caseType → firstLine
<firstLine
[ name=string ]
>
EXACTLY ONE OF:
| <multiple ... />
| <caseType ... />
| <diagnostic ... />
| <random ... />
| <age ... />
| <noTreatment ... />
| <treatFailure ... />
| ( <treatPKPD ... /> )+
| <treatSimple ... />
| ( <deploy ... /> )+
</firstLine>
Documentation (type)
Describes how "decisions" are made, both probabilistically and deterministically, and what actions are carried out.
Quantities may also be reported as a side effect of decisions made in the tree, for example the number of diagnostics used.
Attributes
Name
name=string
An optional piece of documentation attached to this node.
caseType
→ scenario → interventions → human → component → decisionTree → caseType
<caseType
[ name=string ]
>
IN ANY ORDER:
| <firstLine ... />
| <secondLine ... />
</caseType>
Documentation (type)
A switch which choses a branch deterministically, based on whether the patient was treated recently (second line) or not (first line).
For uncomplicated cases only.
Attributes
Name
name=string
An optional piece of documentation attached to this node.
secondLine
→ scenario → interventions → human → component → decisionTree → multiple → caseType → secondLine
<secondLine
[ name=string ]
>
EXACTLY ONE OF:
| <multiple ... />
| <caseType ... />
| <diagnostic ... />
| <random ... />
| <age ... />
| <noTreatment ... />
| <treatFailure ... />
| ( <treatPKPD ... /> )+
| <treatSimple ... />
| ( <deploy ... /> )+
</secondLine>
Documentation (type)
Describes how "decisions" are made, both probabilistically and deterministically, and what actions are carried out.
Quantities may also be reported as a side effect of decisions made in the tree, for example the number of diagnostics used.
Attributes
Name
name=string
An optional piece of documentation attached to this node.
diagnostic
→ scenario → interventions → human → component → decisionTree → diagnostic
<diagnostic
diagnostic=string
[ name=string ]
>
IN ANY ORDER:
| <positive ... />
| <negative ... />
</diagnostic>
Documentation (type)
A switch which choses a branch deterministically, based on the outcome of some type of diagnostic.
Attributes
Name of diagnostic
diagnostic=string
Should match the name of some parameterised diagnostic (see scenario/diagnostics).
Name
name=string
An optional piece of documentation attached to this node.
positive
→ scenario → interventions → human → component → decisionTree → multiple → diagnostic → positive
<positive
[ name=string ]
>
EXACTLY ONE OF:
| <multiple ... />
| <caseType ... />
| <diagnostic ... />
| <random ... />
| <age ... />
| <noTreatment ... />
| <treatFailure ... />
| ( <treatPKPD ... /> )+
| <treatSimple ... />
| ( <deploy ... /> )+
</positive>
Documentation (type)
Describes how "decisions" are made, both probabilistically and deterministically, and what actions are carried out.
Quantities may also be reported as a side effect of decisions made in the tree, for example the number of diagnostics used.
Attributes
Name
name=string
An optional piece of documentation attached to this node.
random
→ scenario → interventions → human → component → decisionTree → random
<random
[ name=string ]
>
IN THIS ORDER:
| ( <outcome ... /> )+
</random>
Documentation (type)
A switch which choses a branch randomly.
Each branch must be listed with a probability; the sum of all these probabilities must equal 1.
Attributes
Name
name=string
An optional piece of documentation attached to this node.
outcome
→ scenario → interventions → human → component → decisionTree → multiple → random → outcome
<outcome
[ name=string ]
p=double
>
EXACTLY ONE OF:
| <multiple ... />
| <caseType ... />
| <diagnostic ... />
| <random ... />
| <age ... />
| <noTreatment ... />
| <treatFailure ... />
| ( <treatPKPD ... /> )+
| <treatSimple ... />
| ( <deploy ... /> )+
</outcome>
Documentation (base type)
Describes how "decisions" are made, both probabilistically and deterministically, and what actions are carried out.
Quantities may also be reported as a side effect of decisions made in the tree, for example the number of diagnostics used.
Attributes
Name
name=string
An optional piece of documentation attached to this node.
Probability
p=double
Units: None Min: 0 Max: 1
Probability of selecting this outcome. The sum of probabilities across all outcomes must be 1.
age
→ scenario → interventions → human → component → decisionTree → age
<age
[ name=string ]
>
IN THIS ORDER:
| ( <age ... /> )+
</age>
Documentation (type)
A switch which choses a branch deterministically, based on the patient's age (in years).
Categories must uniquely cover all ages from birth, with no upper bound. Categories must be listed in order of age, increasing; the first must have lower bound 0. Upper bounds are equal to the lower bound of the next category, (but are exclusive where lower bounds are inclusive); the last category has no upper bound.
Attributes
Name
name=string
An optional piece of documentation attached to this node.
Age range
→ scenario → interventions → human → component → decisionTree → multiple → age → age
<age
[ name=string ]
lb=double
>
EXACTLY ONE OF:
| <multiple ... />
| <caseType ... />
| <diagnostic ... />
| <random ... />
| <age ... />
| <noTreatment ... />
| <treatFailure ... />
| ( <treatPKPD ... /> )+
| <treatSimple ... />
| ( <deploy ... /> )+
</age>
Documentation (element)
Describes a branch, selected for patients of a certain age.
Documentation (base type)
Describes how "decisions" are made, both probabilistically and deterministically, and what actions are carried out.
Quantities may also be reported as a side effect of decisions made in the tree, for example the number of diagnostics used.
Attributes
Name
name=string
An optional piece of documentation attached to this node.
Lower bound (inclusive)
lb=double
Min: 0
noTreatment
→ scenario → interventions → human → component → decisionTree → noTreatment
<noTreatment
[ name=string ]
/>
Documentation (type)
An end node doing nothing. This exists to explicitly state that no treatment happens and to prevent trees from accidentally being left incomplete.
Attributes
Name
name=string
An optional piece of documentation attached to this node.
treatFailure
→ scenario → interventions → human → component → decisionTree → treatFailure
<treatFailure
[ name=string ]
/>
Documentation (type)
An end node which reports treatment but does not change parasitalogical status. This allows correct labelling of second-line cases.
Attributes
Name
name=string
An optional piece of documentation attached to this node.
treatPKPD
→ scenario → interventions → human → component → decisionTree → treatPKPD
<treatPKPD
schedule=string
dosage=string
[ delay_h=double ] DEFAULT VALUE 0
/>
Documentation (type)
A command to administer drugs according to a given schedule and dosage table, optionally with a delay.
Attributes
Name of treatment schedule
schedule=string
The name of a schedule to use for treatment.
Name of dosage table
dosage=string
The name of a dosage table to use for treatment.
Delay (hours)
delay_h=double
Default value: 0
Optionally, this can be given to delay the start of treatment by a given number of hours. If not specified, treatment is not delayed. If a delay is given, all medications within the treatment schedule used are delayed by this number of hours.
treatSimple
→ scenario → interventions → human → component → decisionTree → treatSimple
<treatSimple
durationLiver=string
durationBlood=string
/>
Documentation (type)
Simple treatment model, targetting liver- and/or blood-stage infections. This is all-or-nothing treatment which, when deploymed, completely clears all infections of the targetted stages. This makes it unsuitable for modeling resistance, but suitable for use with simple infection models.
Infections are considered liver-stage when less than five days old and blood-stage after that. Effects are described independently for the two stages.
Attributes
Length of liver-stage effect
durationLiver=string
Units: User defined
Controls action on liver-stage infections. 0 means no action, -1 step is a compatibility option to act like treatment before schema version 32 (which removed infections retrospectively), 1 step or any duration which equals some whole number of steps n>0 means to clear all liver-stage infections found on the next 1 or n steps. Note on -1 compatibility option: the main difference to 1 step (clearing on the next timestep) is that parasite densities will be reduced immediately, and thus from the point of view of surveys and mass screen and treat interventions a peak in density which is immediately treated through case management will not be seen. Can be specified in steps (e.g. 1t, -1t) or days (e.g. 5d).
Length of blood-stage effect
durationBlood=string
Units: User defined
Controls action on blood-stage infections. 0 means no action, -1 step is a compatibility option to act like treatment before schema version 32 (which removed infections retrospectively), 1 step or any duration which equals some whole number of steps n>0 means to clear all blood-stage infections found on the next 1 or n steps. Note on -1 compatibility option: the main difference to 1 step (clearing on the next timestep) is that parasite densities will be reduced immediately, and thus from the point of view of surveys and mass screen and treat interventions a peak in density which is immediately treated through case management will not be seen. Can be specified in steps (e.g. 1t, -1t) or days (e.g. 5d).
deploy
→ scenario → interventions → human → component → decisionTree → deploy
<deploy
component=string
/>
Documentation (type)
Deploy one or more intervention components.
Attributes
Component identifier
component=string
The identifier (short name) of a component.
negative
→ scenario → interventions → human → component → decisionTree → multiple → diagnostic → negative
<negative
[ name=string ]
>
EXACTLY ONE OF:
| <multiple ... />
| <caseType ... />
| <diagnostic ... />
| <random ... />
| <age ... />
| <noTreatment ... />
| <treatFailure ... />
| ( <treatPKPD ... /> )+
| <treatSimple ... />
| ( <deploy ... /> )+
</negative>
Documentation (type)
Describes how "decisions" are made, both probabilistically and deterministically, and what actions are carried out.
Quantities may also be reported as a side effect of decisions made in the tree, for example the number of diagnostics used.
Attributes
Name
name=string
An optional piece of documentation attached to this node.
diagnostic
→ scenario → interventions → human → component → decisionTree → multiple → diagnostic
<diagnostic
diagnostic=string
[ name=string ]
>
IN ANY ORDER:
| <positive ... />
| <negative ... />
</diagnostic>
Documentation (type)
A switch which choses a branch deterministically, based on the outcome of some type of diagnostic.
Attributes
Name of diagnostic
diagnostic=string
Should match the name of some parameterised diagnostic (see scenario/diagnostics).
Name
name=string
An optional piece of documentation attached to this node.
random
→ scenario → interventions → human → component → decisionTree → multiple → random
<random
[ name=string ]
>
IN THIS ORDER:
| ( <outcome ... /> )+
</random>
Documentation (type)
A switch which choses a branch randomly.
Each branch must be listed with a probability; the sum of all these probabilities must equal 1.
Attributes
Name
name=string
An optional piece of documentation attached to this node.
age
→ scenario → interventions → human → component → decisionTree → multiple → age
<age
[ name=string ]
>
IN THIS ORDER:
| ( <age ... /> )+
</age>
Documentation (type)
A switch which choses a branch deterministically, based on the patient's age (in years).
Categories must uniquely cover all ages from birth, with no upper bound. Categories must be listed in order of age, increasing; the first must have lower bound 0. Upper bounds are equal to the lower bound of the next category, (but are exclusive where lower bounds are inclusive); the last category has no upper bound.
Attributes
Name
name=string
An optional piece of documentation attached to this node.
treatPKPD
→ scenario → interventions → human → component → decisionTree → multiple → treatPKPD
<treatPKPD
schedule=string
dosage=string
[ delay_h=double ] DEFAULT VALUE 0
/>
Documentation (type)
A command to administer drugs according to a given schedule and dosage table, optionally with a delay.
Attributes
Name of treatment schedule
schedule=string
The name of a schedule to use for treatment.
Name of dosage table
dosage=string
The name of a dosage table to use for treatment.
Delay (hours)
delay_h=double
Default value: 0
Optionally, this can be given to delay the start of treatment by a given number of hours. If not specified, treatment is not delayed. If a delay is given, all medications within the treatment schedule used are delayed by this number of hours.
treatSimple
→ scenario → interventions → human → component → decisionTree → multiple → treatSimple
<treatSimple
durationLiver=string
durationBlood=string
/>
Documentation (type)
Simple treatment model, targetting liver- and/or blood-stage infections. This is all-or-nothing treatment which, when deploymed, completely clears all infections of the targetted stages. This makes it unsuitable for modeling resistance, but suitable for use with simple infection models.
Infections are considered liver-stage when less than five days old and blood-stage after that. Effects are described independently for the two stages.
Attributes
Length of liver-stage effect
durationLiver=string
Units: User defined
Controls action on liver-stage infections. 0 means no action, -1 step is a compatibility option to act like treatment before schema version 32 (which removed infections retrospectively), 1 step or any duration which equals some whole number of steps n>0 means to clear all liver-stage infections found on the next 1 or n steps. Note on -1 compatibility option: the main difference to 1 step (clearing on the next timestep) is that parasite densities will be reduced immediately, and thus from the point of view of surveys and mass screen and treat interventions a peak in density which is immediately treated through case management will not be seen. Can be specified in steps (e.g. 1t, -1t) or days (e.g. 5d).
Length of blood-stage effect
durationBlood=string
Units: User defined
Controls action on blood-stage infections. 0 means no action, -1 step is a compatibility option to act like treatment before schema version 32 (which removed infections retrospectively), 1 step or any duration which equals some whole number of steps n>0 means to clear all blood-stage infections found on the next 1 or n steps. Note on -1 compatibility option: the main difference to 1 step (clearing on the next timestep) is that parasite densities will be reduced immediately, and thus from the point of view of surveys and mass screen and treat interventions a peak in density which is immediately treated through case management will not be seen. Can be specified in steps (e.g. 1t, -1t) or days (e.g. 5d).
deploy
→ scenario → interventions → human → component → decisionTree → multiple → deploy
<deploy
component=string
/>
Documentation (type)
Deploy one or more intervention components.
Attributes
Component identifier
component=string
The identifier (short name) of a component.
complicated
→ scenario → healthSystem → EventScheduler → complicated
<complicated
[ name=string ]
>
EXACTLY ONE OF:
| <multiple ... />
| <caseType ... />
| <diagnostic ... />
| <random ... />
| <age ... />
| <noTreatment ... />
| <treatFailure ... />
| ( <treatPKPD ... /> )+
| <treatSimple ... />
| ( <deploy ... /> )+
</complicated>
Documentation (type)
Describes how "decisions" are made, both probabilistically and deterministically, and what actions are carried out.
Quantities may also be reported as a side effect of decisions made in the tree, for example the number of diagnostics used.
Attributes
Name
name=string
An optional piece of documentation attached to this node.
ClinicalOutcomes
→ scenario → healthSystem → EventScheduler → ClinicalOutcomes
<ClinicalOutcomes>
IN THIS ORDER:
| <maxUCSeekingMemory ... />
| <uncomplicatedCaseDuration ... />
| <complicatedCaseDuration ... />
| <complicatedRiskDuration ... />
| ( <dailyPrImmUCTS ... /> )+
</ClinicalOutcomes>
- maxUCSeekingMemory
- uncomplicatedCaseDuration
- complicatedCaseDuration
- complicatedRiskDuration
- dailyPrImmUCTS
Documentation (type)
Description of base parameters of the clinical model.
Max UC treatment-seeking memory
→ scenario → healthSystem → EventScheduler → ClinicalOutcomes → maxUCSeekingMemory
<maxUCSeekingMemory>
int
</maxUCSeekingMemory>
Documentation (element)
Units: Days Min: 0 Max: unbounded
Maximum number of timesteps (including first day of case) that an individual with an uncomplicated case of malaria will remember he/she was sick before resetting.
Uncomplicated case duration
→ scenario → healthSystem → EventScheduler → ClinicalOutcomes → uncomplicatedCaseDuration
<uncomplicatedCaseDuration>
int
</uncomplicatedCaseDuration>
Documentation (element)
Units: Days Min: 1 Max: unbounded
Fixed length of an uncomplicated case of malarial or non-malarial sickness (from treatment seeking until return to life-as-usual). Usually 3.
Complicated case duration
→ scenario → healthSystem → EventScheduler → ClinicalOutcomes → complicatedCaseDuration
<complicatedCaseDuration>
int
</complicatedCaseDuration>
Documentation (element)
Units: Days Min: 1 Max: unbounded
Fixed length of a complicated or severe case of malaria (from treatment seeking until return to life-as-usual).
Complicated risk duration
→ scenario → healthSystem → EventScheduler → ClinicalOutcomes → complicatedRiskDuration
<complicatedRiskDuration>
int
</complicatedRiskDuration>
Documentation (element)
Units: Days Min: 1 Max: unbounded
Number of days for which humans are at risk of death during a severe or complicated case of malaria. Cannot be greater than the duration of a complicated case or less than 1 day.
Daily probability of immediate treatment seeking for uncomplicated cases
→ scenario → healthSystem → EventScheduler → ClinicalOutcomes → dailyPrImmUCTS
<dailyPrImmUCTS>
double
</dailyPrImmUCTS>
Documentation (element)
Units: Dimensionless Min: 0.0 Max: 1.0
It is sometimes desirable to model delays to treatment-seeking in uncomplicated cases. While treatment of drugs can be delayed within case management trees to provide a similar effect, this doesn't delay any of the decisions, including diagnostics using the current parasite density.
Instead a list of dailyPrImmUCTS elements can be used, describing successive daily probabilities of treatment (sum must be 1). For example, with a list of two elements with values 0.8 and 0.2, for 80% of UC cases the decision tree is evaluated immediately, and for 20% of cases evaluation is delayed by one day.
For no delay, use one element with a value of 1.
NonMalariaFevers
→ scenario → healthSystem → EventScheduler → NonMalariaFevers
<NonMalariaFevers>
IN THIS ORDER:
| <prTreatment ... />
| <effectNegativeTest ... />
| <effectPositiveTest ... />
| <effectNeed ... />
| <effectInformal ... />
| <CFR ... />
| <TreatmentEfficacy ... />
</NonMalariaFevers>
Documentation (type)
Description of non-malaria fever health-system modelling (treatment, outcomes and costing). Incidence is described by the model->clinical->NonMalariaFevers element. Non-malaria fevers are only modelled if the NON_MALARIA_FEVERS option is used.
As further explanation of the parameters below, we first take: β₀ = logit(P₀) - β₃·P(need), and then calculate the probability of antibiotic administration, P(AB), dependent on treatment seeking location. No seeking: P(AB) = 0 Informal sector: logit(P(AB)) = β₀ + β₄ Health facility: logit(P(AB)) = β₀ + β₁·I(neg) + β₂·I(pos) + β₃·I(need) (where I(X) is 1 when event X is true and 0 otherwise, logit(p)=log(p/(1-p)), event "need" is the event that death may occur without treatment, events "neg" and "pos" are the events that a malaria parasite diagnositic was used and indicated no parasites and parasites respectively).
P(treatment|no diagnostic)
→ scenario → healthSystem → EventScheduler → NonMalariaFevers → prTreatment
<prTreatment>
double
</prTreatment>
Documentation (element)
Units: Dimensionless Min: 0.0 Max: 1.0
Probability of a non-malaria fever being treated with an antibiotic given that no malaria diagnostic was used but independent of need. Symbol: P₀.
Effect of a negative test
→ scenario → healthSystem → EventScheduler → NonMalariaFevers → effectNegativeTest
<effectNegativeTest>
double
</effectNegativeTest>
Documentation (element)
The effect of a negative malaria diagnostic on the odds ratio of receiving antibiotics. Symbol: exp(β₁).
Effect of a positive test
→ scenario → healthSystem → EventScheduler → NonMalariaFevers → effectPositiveTest
<effectPositiveTest>
double
</effectPositiveTest>
Documentation (element)
The effect of a positive malaria diagnostic on the odds ratio of receiving antibiotics. Symbol: exp(β₂).
Effect of need
→ scenario → healthSystem → EventScheduler → NonMalariaFevers → effectNeed
<effectNeed>
double
</effectNeed>
Documentation (element)
The effect of needing antibiotic treatment on the odds ratio of receiving antibiotics. Symbol: exp(β₃).
Effect of informal provider
→ scenario → healthSystem → EventScheduler → NonMalariaFevers → effectInformal
<effectInformal>
double
</effectInformal>
Documentation (element)
The effect of seeking treatment from an informal provider (i.e. a provider untrained in NMF diagnosis) on the odds ratio of receiving antibiotics. Symbol: exp(β₄)
Case fatality rate
→ scenario → healthSystem → EventScheduler → NonMalariaFevers → CFR
<CFR
[ interpolation=("none" or "linear") ]
>
IN THIS ORDER:
| ( <group ... /> )+
</CFR>
Documentation (element)
Units: Dimensionless Min: 0.0 Max: 1.0
Base case fatality rate for non-malaria fevers (probability of death from a fever requiring antibiotic treatment given that no antibiotic treatment is received, per age-group).
Attributes
interpolation
interpolation=("none" or "linear")
Interpolation algorithm. Normally it is desirable for age-based values to be continuous w.r.t. age. By default linear interpolation is used. With all algorithms except "none", the age groups are converted to a set of points centred within each age range. Extra points are added at each end (zero and infinity) to keep value constant at both ends of the function. A zero-length age group may be used as a kind of barrier to adjust the distribution; e.g. with age group boundaries at 15, 20 and 25 years, a (linear) spline would be drawn between ages 17.5 and 22.5, whereas with boundaries at 15, 20 and 20 years, a spline would be drawn between ages 17.5 and 20 years (may be desired if individuals are assumed to reach adult size at 20). Algorithms:
- none: input values are used directly
- linear: straight lines (on an age vs. value graph) are used to interpolate data points.
age group
→ scenario → healthSystem → CFR → group
<group
value=double
lowerbound=double
/>
Documentation (element)
A series of values according to age groups, each specified with a lower-bound and a value. The first lower-bound specified must be zero; a final upper-bound of infinity is added to complete the last age group. At least one age group is required. Normally these are interpolated by a continuous function (see interpolation attribute).
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Lower bound
lowerbound=double
Units: Years Min: 0 Max: 100
Lower bound of age group
Treatment efficacy
→ scenario → healthSystem → EventScheduler → NonMalariaFevers → TreatmentEfficacy
<TreatmentEfficacy>
double
</TreatmentEfficacy>
Documentation (element)
Units: Dimensionless Min: 0.0 Max: 1.0
Probability that treatment would prevent a death (i.e. CFR is multiplied by one minus this when treatment occurs).
ImmediateOutcomes
→ scenario → healthSystem → ImmediateOutcomes
<ImmediateOutcomes
[ name=string ]
[ useDiagnosticUC=boolean ] DEFAULT VALUE false
>
IN ANY ORDER:
| <drugRegimen ... />
| <initialACR ... />
| <compliance ... />
| <nonCompliersEffective ... />
| <treatmentActions ... />
| <pSeekOfficialCareUncomplicated1 ... />
| <pSelfTreatUncomplicated ... />
| <pSeekOfficialCareUncomplicated2 ... />
| <pSeekOfficialCareSevere ... />
| [ <liverStageDrug ... /> ]
</ImmediateOutcomes>
- drugRegimen
- initialACR
- compliance
- nonCompliersEffective
- treatmentActions
- pSeekOfficialCareUncomplicated1
- pSelfTreatUncomplicated
- pSeekOfficialCareUncomplicated2
- pSeekOfficialCareSevere
- liverStageDrug
Documentation (type)
Description of "immediate outcomes" health system: Tediosi et al case management model (Case management as described in AJTMH 75 (suppl 2) pp90-103).
Attributes
Name of case management parameterisation
name=string
Name of health system
useDiagnosticUC
useDiagnosticUC=boolean
Default value: false
Description of drug regimen
→ scenario → healthSystem → ImmediateOutcomes → drugRegimen
<drugRegimen
firstLine=string
secondLine=string
inpatient=string
/>
Documentation (element)
Description of drug regimen.
Attributes
First line drug
firstLine=string
Units: Drug code
Code for first line drug
Second line drug
secondLine=string
Units: Drug code
Code for second line drug
Drug use for treating inpatients
inpatient=string
Units: Drug code
Code for drug used for treating inpatients
Initial cure rate
→ scenario → healthSystem → ImmediateOutcomes → initialACR
<initialACR>
IN THIS ORDER:
| [ <CQ ... /> ]
| [ <SP ... /> ]
| [ <AQ ... /> ]
| [ <SPAQ ... /> ]
| [ <ACT ... /> ]
| [ <QN ... /> ]
| <selfTreatment ... />
</initialACR>
Documentation (element)
Units: Dimensionless Min: 0.0 Max: 1.0
Initial cure rate
Chloroquine
→ scenario → healthSystem → ImmediateOutcomes → initialACR → CQ
<CQ
value=double
/>
Documentation (element)
Chloroquine
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Sulphadoxine-pyrimethamine
→ scenario → healthSystem → ImmediateOutcomes → initialACR → SP
<SP
value=double
/>
Documentation (element)
Sulphadoxine-pyrimethamine
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Amodiaquine
→ scenario → healthSystem → ImmediateOutcomes → initialACR → AQ
<AQ
value=double
/>
Documentation (element)
Amodiaquine
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Sulphadoxine-pyrimethamine/Amodiaquine
→ scenario → healthSystem → ImmediateOutcomes → initialACR → SPAQ
<SPAQ
value=double
/>
Documentation (element)
Sulphadoxine-pyrimethamine/Amodiaquine
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Artemisinine based combination therapy
→ scenario → healthSystem → ImmediateOutcomes → initialACR → ACT
<ACT
value=double
/>
Documentation (element)
Artemisinine combination therapy
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Quinine
→ scenario → healthSystem → ImmediateOutcomes → initialACR → QN
<QN
value=double
/>
Documentation (element)
Quinine
Attributes
Input parameter value
value=double
A double-precision floating-point value.
selfTreatment
→ scenario → healthSystem → ImmediateOutcomes → initialACR → selfTreatment
<selfTreatment
value=double
/>
Documentation (element)
Units: Dimensionless Min: 0 Max: 1name:P(self-treat)
Probability of self-treatment
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Adherence to treatment
→ scenario → healthSystem → ImmediateOutcomes → compliance
<compliance>
IN THIS ORDER:
| [ <CQ ... /> ]
| [ <SP ... /> ]
| [ <AQ ... /> ]
| [ <SPAQ ... /> ]
| [ <ACT ... /> ]
| [ <QN ... /> ]
| <selfTreatment ... />
</compliance>
Documentation (element)
Units: Dimensionless Min: 0.0 Max: 1.0
Adherence to treatment
Effectiveness of treatment in non-adherent patients
→ scenario → healthSystem → ImmediateOutcomes → nonCompliersEffective
<nonCompliersEffective>
IN THIS ORDER:
| [ <CQ ... /> ]
| [ <SP ... /> ]
| [ <AQ ... /> ]
| [ <SPAQ ... /> ]
| [ <ACT ... /> ]
| [ <QN ... /> ]
| <selfTreatment ... />
</nonCompliersEffective>
Documentation (element)
Units: Dimensionless Min: 0.0 Max: 1.0
Effectiveness of treatment for non-compliant patients
treatmentActions
→ scenario → healthSystem → ImmediateOutcomes → treatmentActions
<treatmentActions>
IN ANY ORDER:
| [ <CQ ... /> ]
| [ <SP ... /> ]
| [ <AQ ... /> ]
| [ <SPAQ ... /> ]
| [ <ACT ... /> ]
| [ <QN ... /> ]
</treatmentActions>
CQ
→ scenario → healthSystem → ImmediateOutcomes → treatmentActions → CQ
<CQ
[ name=string ]
>
IN THIS ORDER:
| ( <deploy ... /> )*
</CQ>
Documentation (type)
Describes the effects of the treatment, assuming this compliance/adherence/... option is selected. Effects are described in terms of a list of options, each of which acts independently but with all effects being activated simultaneously.
Documentation (base type)
Lists intervention components which are deployed according to some external trigger (for example, screening with a negative patency outcome or health-system treatment).
Components are referenced from one or more sub-lists. Each of these lists is deployed independently if and only if its age constraints are met by the human host and a random sample with the given probability of a positive outcome is positive.
Attributes
Name
name=string
Describes what this compliance option represents (e.g. "good compliance", "poor compliance with good drugs", ...).
deploy
→ scenario → healthSystem → ImmediateOutcomes → treatmentActions → CQ → deploy
<deploy
[ maxAge=double ]
[ minAge=double ] DEFAULT VALUE 0
[ p=double ] DEFAULT VALUE 1
>
IN THIS ORDER:
| ( <component ... /> )+
</deploy>
Attributes
Maximum age of eligible humans
maxAge=double
Units: Years Min: 0
Maximum age of eligible humans (defaults to no limit). Input is rounded to the nearest time step.
Minimum age of eligible humans
minAge=double
Units: Years Min: 0
Default value: 0
Minimum age of eligible humans (defaults to 0). Input is rounded to the nearest time step.
Probability of delivery to eligible humans
p=double
Units: dimensionless Min: 0 Max: 1
Default value: 1
Probability of this list of components being deployed, given that other constraints are met.
component
→ scenario → healthSystem → ImmediateOutcomes → treatmentActions → CQ → deploy → component
<component
id=string
/>
Documentation (type)
The list of components deployed to eligible humans.
Attributes
Identifier
id=string
The identifier (short name) of a component.
Prophylactic treatment
→ scenario → healthSystem → DecisionTree5Day → treatmentSevere → clearInfections
<clearInfections
timesteps=string
stage=("liver" or "blood" or "both")
/>
Documentation (element)
This clears infections according to several options: it can clear all blood stage infections, all liver stage infections or both, and it can act on multiple timesteps. To have a probability of no action add another treatment option (which does nothing) and set the probabilities of selection appropriately.
This allows immediate (legacy) or delayed action, a prophylactic period, and selection of which stages are targeted. It is a simple model but appropriate enough for use with the five day timestep when assuming no resistance and that drug failure is mainly caused by bad drugs or compliance.
The old treatment action for the five-day timestep model is essentially this, with immediateAction (timesteps=-1) and stage=both, except for the IPT model's SP action, which was more like with timesteps>1 and stage=blood.
Attributes
Length of effect
timesteps=string
Units: User defined (defaults to steps)
The number of timesteps during which this action remains in effect (e.g. 2 means clear infections during the next two timestep updates). Full clearance of the targeted stages occurs during this time. A special value of -1 means act immediately (retrospectively); this the old behaviour. A value of 1 means act on the next timestep only. Both of these can be thought of as a model for short-acting effective drug treatment; the main differences are that the latter means parasite densities will remain high from the point of view of surveys and diagnostics (i.e. mass screen and treat) used before the next timestep and that the latter will also remove infections starting the next timestep. Arguably the latter is a better model, but the differences are perhaps small, excepting where immediate treatment of fevers (i.e. through the health system) can hide high parasite densities from reporting and mass-screen-and-treat diagnostics. For use by interventions, the latter model has nicer behaviour in that the order of deployment of multiple interventions deployed at the same time does not matter, and that the former model retrospectively treats infections which may already have caused fever, thus may have a lower health impact than it should. It is recommended to use the new model (value 1, or greater than 1 if prophylactic effect is desired) unless wanting to emulate the old behaviour. Values of 0 or less than -1 are not allowed. Can be specified in steps (e.g. 1t, -1t) or days (e.g. 5d).
Target stage
stage=("liver" or "blood" or "both")
Controls whether liver-stage or blood-stage infections are cleared, or both. Infections are considered liver-stage for one 5-day timestep, blood-stage but pre-patent for some number of timesteps (latentp - 1), then start the patent blood stage. If stage is set to "liver", infections are only cleared during their first timestep; if stage is set to "blood", infections are cleared during pre-patent and patent blood stages; if stage is set to "both" all infections are cleared. The old behaviour (oddly considering the drugs it is meant to emulate) is to clear both stages, except for the IPT model of SP action, which cleared only patent blood-stage infections.
SP
→ scenario → healthSystem → ImmediateOutcomes → treatmentActions → SP
<SP
[ name=string ]
>
IN THIS ORDER:
| ( <deploy ... /> )*
</SP>
Documentation (type)
Describes the effects of the treatment, assuming this compliance/adherence/... option is selected. Effects are described in terms of a list of options, each of which acts independently but with all effects being activated simultaneously.
Documentation (base type)
Lists intervention components which are deployed according to some external trigger (for example, screening with a negative patency outcome or health-system treatment).
Components are referenced from one or more sub-lists. Each of these lists is deployed independently if and only if its age constraints are met by the human host and a random sample with the given probability of a positive outcome is positive.
Attributes
Name
name=string
Describes what this compliance option represents (e.g. "good compliance", "poor compliance with good drugs", ...).
AQ
→ scenario → healthSystem → ImmediateOutcomes → treatmentActions → AQ
<AQ
[ name=string ]
>
IN THIS ORDER:
| ( <deploy ... /> )*
</AQ>
Documentation (type)
Describes the effects of the treatment, assuming this compliance/adherence/... option is selected. Effects are described in terms of a list of options, each of which acts independently but with all effects being activated simultaneously.
Documentation (base type)
Lists intervention components which are deployed according to some external trigger (for example, screening with a negative patency outcome or health-system treatment).
Components are referenced from one or more sub-lists. Each of these lists is deployed independently if and only if its age constraints are met by the human host and a random sample with the given probability of a positive outcome is positive.
Attributes
Name
name=string
Describes what this compliance option represents (e.g. "good compliance", "poor compliance with good drugs", ...).
SPAQ
→ scenario → healthSystem → ImmediateOutcomes → treatmentActions → SPAQ
<SPAQ
[ name=string ]
>
IN THIS ORDER:
| ( <deploy ... /> )*
</SPAQ>
Documentation (type)
Describes the effects of the treatment, assuming this compliance/adherence/... option is selected. Effects are described in terms of a list of options, each of which acts independently but with all effects being activated simultaneously.
Documentation (base type)
Lists intervention components which are deployed according to some external trigger (for example, screening with a negative patency outcome or health-system treatment).
Components are referenced from one or more sub-lists. Each of these lists is deployed independently if and only if its age constraints are met by the human host and a random sample with the given probability of a positive outcome is positive.
Attributes
Name
name=string
Describes what this compliance option represents (e.g. "good compliance", "poor compliance with good drugs", ...).
ACT
→ scenario → healthSystem → ImmediateOutcomes → treatmentActions → ACT
<ACT
[ name=string ]
>
IN THIS ORDER:
| ( <deploy ... /> )*
</ACT>
Documentation (type)
Describes the effects of the treatment, assuming this compliance/adherence/... option is selected. Effects are described in terms of a list of options, each of which acts independently but with all effects being activated simultaneously.
Documentation (base type)
Lists intervention components which are deployed according to some external trigger (for example, screening with a negative patency outcome or health-system treatment).
Components are referenced from one or more sub-lists. Each of these lists is deployed independently if and only if its age constraints are met by the human host and a random sample with the given probability of a positive outcome is positive.
Attributes
Name
name=string
Describes what this compliance option represents (e.g. "good compliance", "poor compliance with good drugs", ...).
QN
→ scenario → healthSystem → ImmediateOutcomes → treatmentActions → QN
<QN
[ name=string ]
>
IN THIS ORDER:
| ( <deploy ... /> )*
</QN>
Documentation (type)
Describes the effects of the treatment, assuming this compliance/adherence/... option is selected. Effects are described in terms of a list of options, each of which acts independently but with all effects being activated simultaneously.
Documentation (base type)
Lists intervention components which are deployed according to some external trigger (for example, screening with a negative patency outcome or health-system treatment).
Components are referenced from one or more sub-lists. Each of these lists is deployed independently if and only if its age constraints are met by the human host and a random sample with the given probability of a positive outcome is positive.
Attributes
Name
name=string
Describes what this compliance option represents (e.g. "good compliance", "poor compliance with good drugs", ...).
Probability that a patient with uncomplicated disease seeks official care immediately.
→ scenario → healthSystem → ImmediateOutcomes → pSeekOfficialCareUncomplicated1
<pSeekOfficialCareUncomplicated1
value=double
/>
Documentation (element)
Units: Dimensionless Min: 0.0 Max: 1.0
Probability that a patient with newly incident uncomplicated disease seeks official care
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Probability that a patient with uncomplicated disease will self-treat.
→ scenario → healthSystem → ImmediateOutcomes → pSelfTreatUncomplicated
<pSelfTreatUncomplicated
value=double
/>
Documentation (element)
Units: Dimensionless Min: 0.0 Max: 1.0
Probability that a patient with uncomplicated disease without recent history of disease (i.e. first line) will self-treat.
Note that in second line cases there is no probability of self-treatment.
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Probability that a recurring patient seeks official care
→ scenario → healthSystem → ImmediateOutcomes → pSeekOfficialCareUncomplicated2
<pSeekOfficialCareUncomplicated2
value=double
/>
Documentation (element)
Units: Dimensionless Min: 0.0 Max: 1.0
Probability that a patient with recurrence of uncomplicated disease seeks official care
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Probability that a patient with severe disease obtains appropriate care
→ scenario → healthSystem → ImmediateOutcomes → pSeekOfficialCareSevere
<pSeekOfficialCareSevere
value=double
/>
Documentation (element)
Units: Dimensionless Min: 0.0 Max: 1.0
Probability that a patient with severe disease obtains appropriate care
Attributes
Input parameter value
value=double
A double-precision floating-point value.
liverStageDrug
→ scenario → healthSystem → ImmediateOutcomes → liverStageDrug
<liverStageDrug>
IN ANY ORDER:
| <pHumanCannotReceive ... />
| [ <ignoreCannotReceive ... /> ]
| [ <pUseUncomplicated ... /> ]
| <effectivenessOnUse ... />
</liverStageDrug>
Documentation (type)
Parameters for drug treatment which have an effect on the liver-stage of parasites (Primaquine and potentially Tafenoquine); for use with the Vivax model only.
Note: if this section is not listed, the following default values are assumed: pHumanCannotReceive=0, pUseUncomplicated=0, effectivenessOnUse=1.
Probability that human is incompatible with liver-stage drug treatment
→ scenario → healthSystem → ImmediateOutcomes → liverStageDrug → pHumanCannotReceive
<pHumanCannotReceive
value=double
/>
Documentation (element)
Units: Probability Min: 0 Max: 1
Chance that a human is determined to be unable to receive liver-stage drug treatment. Treatment is neither reported or given for such humans.
This is sampled once per human at birth.
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Ignore liver-stage drug treatment incompatibility
→ scenario → healthSystem → ImmediateOutcomes → liverStageDrug → ignoreCannotReceive
<ignoreCannotReceive
value=boolean
/>
Documentation (element)
If true, ignore pHumanCannotReceive and consider all humans eligible for treatment; if false (or not specified), do not treat those demed incompatible with liver-stage drug treatment.
The point of this is that pHumanCannotReceive cannot be altered by changeHS interventions, but this property can be.
Attributes
Input parameter value
value=boolean
A boolean value.
Prob use in UC case
→ scenario → healthSystem → ImmediateOutcomes → liverStageDrug → pUseUncomplicated
<pUseUncomplicated
value=double
/>
Documentation (element)
Units: Probability Min: 0 Max: 1
This feature is deprecated; it is suggested to use the "simple treatment" feature configured to clear liver-stage parasites, leaving this option unset or zero.
Chance of liver-stage drug treatment being used for routine treatment of an uncomplicated case.
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Effectiveness
→ scenario → healthSystem → ImmediateOutcomes → liverStageDrug → effectivenessOnUse
<effectivenessOnUse
value=double
/>
Documentation (element)
Units: Probability Min: 0 Max: 1
Chance that liver-stage drug treatment is effective.
On application, a random variable is sampled against this probability. If false, the treatment does nothing; if true, the treatment clears all liver stage parasites. Where effectiveness is longer than a single time step (prophylactic effect), this sample still only happens once (thus either no effect or all liver stages cleared over multiple steps).
Attributes
Input parameter value
value=double
A double-precision floating-point value.
DecisionTree5Day
→ scenario → healthSystem → DecisionTree5Day
<DecisionTree5Day
[ name=string ]
>
IN ANY ORDER:
| <pSeekOfficialCareUncomplicated1 ... />
| <pSelfTreatUncomplicated ... />
| <pSeekOfficialCareUncomplicated2 ... />
| <pSeekOfficialCareSevere ... />
| [ <liverStageDrug ... /> ]
| <treeUCOfficial ... />
| <treeUCSelfTreat ... />
| <cureRateSevere ... />
| <treatmentSevere ... />
</DecisionTree5Day>
- pSeekOfficialCareUncomplicated1
- pSelfTreatUncomplicated
- pSeekOfficialCareUncomplicated2
- pSeekOfficialCareSevere
- liverStageDrug
- treeUCOfficial
- treeUCSelfTreat
- cureRateSevere
- treatmentSevere
Documentation (type)
Description of the health system using the 5-day timestep with decision tree model: access is configured as in the Tediosi et al case management model (Case management as described in AJTMH 75 (suppl 2) pp90-103) while treatment decisions are configured via decision trees.
Besides greater flexibility, this allows treatment via PK/PD models.
Attributes
Name of case management parameterisation
name=string
Name of health system
Probability that a patient with uncomplicated disease seeks official care immediately.
→ scenario → healthSystem → DecisionTree5Day → pSeekOfficialCareUncomplicated1
<pSeekOfficialCareUncomplicated1
value=double
/>
Documentation (element)
Units: Dimensionless Min: 0.0 Max: 1.0
Probability that a patient with newly incident uncomplicated disease seeks official care
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Probability that a patient with uncomplicated disease will self-treat.
→ scenario → healthSystem → DecisionTree5Day → pSelfTreatUncomplicated
<pSelfTreatUncomplicated
value=double
/>
Documentation (element)
Units: Dimensionless Min: 0.0 Max: 1.0
Probability that a patient with uncomplicated disease without recent history of disease (i.e. first line) will self-treat.
Note that in second line cases there is no probability of self-treatment.
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Probability that a recurring patient seeks official care
→ scenario → healthSystem → DecisionTree5Day → pSeekOfficialCareUncomplicated2
<pSeekOfficialCareUncomplicated2
value=double
/>
Documentation (element)
Units: Dimensionless Min: 0.0 Max: 1.0
Probability that a patient with recurrence of uncomplicated disease seeks official care
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Probability that a patient with severe disease obtains appropriate care
→ scenario → healthSystem → DecisionTree5Day → pSeekOfficialCareSevere
<pSeekOfficialCareSevere
value=double
/>
Documentation (element)
Units: Dimensionless Min: 0.0 Max: 1.0
Probability that a patient with severe disease obtains appropriate care
Attributes
Input parameter value
value=double
A double-precision floating-point value.
liverStageDrug
→ scenario → healthSystem → DecisionTree5Day → liverStageDrug
<liverStageDrug>
IN ANY ORDER:
| <pHumanCannotReceive ... />
| [ <ignoreCannotReceive ... /> ]
| [ <pUseUncomplicated ... /> ]
| <effectivenessOnUse ... />
</liverStageDrug>
Documentation (type)
Parameters for drug treatment which have an effect on the liver-stage of parasites (Primaquine and potentially Tafenoquine); for use with the Vivax model only.
Note: if this section is not listed, the following default values are assumed: pHumanCannotReceive=0, pUseUncomplicated=0, effectivenessOnUse=1.
treeUCOfficial
→ scenario → healthSystem → DecisionTree5Day → treeUCOfficial
<treeUCOfficial
[ name=string ]
>
EXACTLY ONE OF:
| <multiple ... />
| <caseType ... />
| <diagnostic ... />
| <random ... />
| <age ... />
| <noTreatment ... />
| <treatFailure ... />
| ( <treatPKPD ... /> )+
| <treatSimple ... />
| ( <deploy ... /> )+
</treeUCOfficial>
Documentation (type)
Describes how "decisions" are made, both probabilistically and deterministically, and what actions are carried out.
Quantities may also be reported as a side effect of decisions made in the tree, for example the number of diagnostics used.
Attributes
Name
name=string
An optional piece of documentation attached to this node.
treeUCSelfTreat
→ scenario → healthSystem → DecisionTree5Day → treeUCSelfTreat
<treeUCSelfTreat
[ name=string ]
>
EXACTLY ONE OF:
| <multiple ... />
| <caseType ... />
| <diagnostic ... />
| <random ... />
| <age ... />
| <noTreatment ... />
| <treatFailure ... />
| ( <treatPKPD ... /> )+
| <treatSimple ... />
| ( <deploy ... /> )+
</treeUCSelfTreat>
Documentation (type)
Describes how "decisions" are made, both probabilistically and deterministically, and what actions are carried out.
Quantities may also be reported as a side effect of decisions made in the tree, for example the number of diagnostics used.
Attributes
Name
name=string
An optional piece of documentation attached to this node.
Cure rate (severe cases)
→ scenario → healthSystem → DecisionTree5Day → cureRateSevere
<cureRateSevere
value=double
/>
Documentation (element)
Min: 0 Max: 1
The probability of clearing parasites given access to appropriate (hospital) care, for a severe case.
Attributes
Input parameter value
value=double
A double-precision floating-point value.
treatmentSevere
→ scenario → healthSystem → DecisionTree5Day → treatmentSevere
<treatmentSevere
[ name=string ]
>
IN THIS ORDER:
| ( <deploy ... /> )*
</treatmentSevere>
Documentation (type)
Describes the effects of the treatment, assuming this compliance/adherence/... option is selected. Effects are described in terms of a list of options, each of which acts independently but with all effects being activated simultaneously.
Documentation (base type)
Lists intervention components which are deployed according to some external trigger (for example, screening with a negative patency outcome or health-system treatment).
Components are referenced from one or more sub-lists. Each of these lists is deployed independently if and only if its age constraints are met by the human host and a random sample with the given probability of a positive outcome is positive.
Attributes
Name
name=string
Describes what this compliance option represents (e.g. "good compliance", "poor compliance with good drugs", ...).
Case fatality rate for inpatients
→ scenario → healthSystem → CFR
<CFR
[ interpolation=("none" or "linear") ]
>
IN THIS ORDER:
| ( <group ... /> )+
</CFR>
Documentation (element)
Case fatality rate (probability of an inpatient fatality from a bout of severe malaria, per age-group).
Attributes
interpolation
interpolation=("none" or "linear")
Interpolation algorithm. Normally it is desirable for age-based values to be continuous w.r.t. age. By default linear interpolation is used. With all algorithms except "none", the age groups are converted to a set of points centred within each age range. Extra points are added at each end (zero and infinity) to keep value constant at both ends of the function. A zero-length age group may be used as a kind of barrier to adjust the distribution; e.g. with age group boundaries at 15, 20 and 25 years, a (linear) spline would be drawn between ages 17.5 and 22.5, whereas with boundaries at 15, 20 and 20 years, a spline would be drawn between ages 17.5 and 20 years (may be desired if individuals are assumed to reach adult size at 20). Algorithms:
- none: input values are used directly
- linear: straight lines (on an age vs. value graph) are used to interpolate data points.
Probabilities of sequelae in inpatients
→ scenario → healthSystem → pSequelaeInpatient
<pSequelaeInpatient
[ interpolation=("none" or "linear") ]
>
IN THIS ORDER:
| ( <group ... /> )+
</pSequelaeInpatient>
Documentation (element)
Units: Dimensionless
List of age-specific probabilities of sequelae in inpatients, during a severe bout of malaria.
Attributes
interpolation
interpolation=("none" or "linear")
Interpolation algorithm. Normally it is desirable for age-based values to be continuous w.r.t. age. By default linear interpolation is used. With all algorithms except "none", the age groups are converted to a set of points centred within each age range. Extra points are added at each end (zero and infinity) to keep value constant at both ends of the function. A zero-length age group may be used as a kind of barrier to adjust the distribution; e.g. with age group boundaries at 15, 20 and 25 years, a (linear) spline would be drawn between ages 17.5 and 22.5, whereas with boundaries at 15, 20 and 20 years, a spline would be drawn between ages 17.5 and 20 years (may be desired if individuals are assumed to reach adult size at 20). Algorithms:
- none: input values are used directly
- linear: straight lines (on an age vs. value graph) are used to interpolate data points.
Change transmission levels
→ scenario → interventions → changeEIR
<changeEIR
[ name=string ]
>
IN THIS ORDER:
| ( <timedDeployment ... /> )*
</changeEIR>
Documentation (element)
New description of transmission level for models not supporting vector control interventions. Use of this overrides previous transmission levels such that human infectiousness no longer has any feedback effect on transmission. Supplied EIR data must last until end of simulation.
Attributes
Name of intervention
name=string
Name of intervention
timedDeployment
→ scenario → interventions → changeEIR → timedDeployment
<timedDeployment
eipDuration=int
time=string
>
IN THIS ORDER:
| ( <EIRDaily ... /> )+
</timedDeployment>
Documentation (type)
Replacement transmission levels. Disables feedback of human infectiousness to mosquitoes on further mosquito to human transmission. Must last until end of simulation.
Attributes
Duration of sporogony
eipDuration=int
Units: Days
The duration of sporogony in days
Time
time=string
Units: User defined (defauls to steps) Min: 0
Time at which this replacement occurs. See doc on intervention period and on monitoring/startDate for details of how times work. Can be specified in steps, days, years, or as a date (examples: 15t, 75d, 0.2y, 2000-03-16).
EIRDaily
→ scenario → entomology → nonVector → EIRDaily
<EIRDaily
[ origin=string ]
>
double
</EIRDaily>
Documentation (type)
Units: Infectious bites per adult per day
In the non-vector model, EIR is input as a sequence of daily values. There must be at least one years' worth of entries (365), and if there are more, values are wrapped and averaged (i.e. value for first day of year is taken as the mean of values for days 0, 365+0, 2*365+0, etc.).
Attributes
Time origin of EIR sequence
origin=string
Imported infections
→ scenario → interventions → importedInfections
<importedInfections
[ name=string ]
>
IN THIS ORDER:
| <timed ... />
</importedInfections>
Documentation (element)
Models importation of P. falciparum infections directly into humans from an external source. This is infections, not inoculations or EIR being imported.
Attributes
Name of intervention
name=string
Name of intervention
Rate of importation
→ scenario → interventions → importedInfections → timed
<timed
[ period=string ] DEFAULT VALUE 0
>
IN THIS ORDER:
| ( <rate ... /> )+
</timed>
Documentation (element)
Rate of case importation, as a step function. Each value is valid until replaced by the next value.
Attributes
Period of repetition
period=string
Units: User defined (default: steps) Min: 0
Default value: 0
If period is 0 (or effectively infinite), the last specified value remains indefinitely in effect, otherwise the times of all values specified must be less than the period, and values are repeated modulo period (the step at time 'period+2t' has same value as the step at '2t', etc.). Can be specified in steps (e.g. 1t) or days (e.g. 365d).
rate
→ scenario → interventions → importedInfections → timed → rate
<rate
value=double
time=string
/>
Documentation (type)
Units: Imported cases per thousand people per year
A time-rate pair.
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Time of start
time=string
Units: User defined (defauls to steps) Min: 0
Time at which this importation rate becomes active. See doc on intervention period and on monitoring/startDate for details of how times work. Can be specified in steps, days, years, or as a date (examples: 15t, 75d, 0.2y, 2000-03-16).
Insert R_0 case
→ scenario → interventions → insertR_0Case
<insertR_0Case
[ name=string ]
>
IN THIS ORDER:
| ( <timedDeployment ... /> )*
</insertR_0Case>
Documentation (element)
Used to simulate R_0. First, infections should be eliminated, immunity removed, and the population given an effective transmission- blocking vaccine (not done by this intervention). Then this intervention may be used to: pick one human, infect him, administer a fully effective Preerythrocytic vaccine and remove transmission-blocking vaccine effect on this human. Thus only this one human will be a source of infections in an unprotected population, and will not reinfected himself.
Attributes
Name of intervention
name=string
Name of intervention
timedDeployment
→ scenario → interventions → insertR_0Case → timedDeployment
<timedDeployment
time=string
/>
Attributes
Time
time=string
Units: User defined (defauls to steps) Min: 0
Time at which this intervention occurs. See doc on intervention period and on monitoring/startDate for details of how times work. Can be specified in steps, days, years, or as a date (examples: 15t, 75d, 0.2y, 2000-03-16).
Uninfect vectors
→ scenario → interventions → uninfectVectors
<uninfectVectors
[ name=string ]
>
IN THIS ORDER:
| ( <timedDeployment ... /> )*
</uninfectVectors>
Documentation (element)
Units: List of elements
Removes all infections from mosquitoes -- resulting in zero EIR to humans, until such time that mosquitoes are re-infected and become infectious. Only efficacious in dynamic EIR mode (when changeEIR was not used).
Hypothetical, but potentially useful to simulate a setting starting from no infections, but with enough mosquitoes to reach a set equilibrium of exposure.
Attributes
Name of intervention
name=string
Name of intervention
timedDeployment
→ scenario → interventions → uninfectVectors → timedDeployment
<timedDeployment
time=string
/>
Attributes
Time
time=string
Units: User defined (defauls to steps) Min: 0
Time at which this intervention occurs. See doc on intervention period and on monitoring/startDate for details of how times work. Can be specified in steps, days, years, or as a date (examples: 15t, 75d, 0.2y, 2000-03-16).
Vector population intervention
→ scenario → interventions → vectorPop
<vectorPop>
IN THIS ORDER:
| ( <intervention ... /> )+
</vectorPop>
Documentation (element)
Units: List of elements
A list of parameterisations of generic vector host-inspecific interventions.
intervention
→ scenario → interventions → vectorPop → intervention
<intervention
name=string
>
IN THIS ORDER:
| <description ... />
| [ <timed ... /> ]
</intervention>
Documentation (type)
Units: List of elements
An intervention which may have various effects on the vector populations as a whole. (Not host specific.)
Multiple instances of this intervention class are allowed (multiple parameterisations, not just deployments).
Each instance may have multiple deployments. In this case the effects of each instance are independent (effects are combined) but the effects of multiple deployments of a single instance are not independent (only the latest deployment has any effect).
Attributes
Name of intervention
name=string
Name of intervention (e.g. larviciding, sugar bait).
description
→ scenario → interventions → vectorPop → intervention → description
<description>
IN THIS ORDER:
| ( <anopheles ... /> )+
</description>
anopheles
→ scenario → interventions → vectorPop → intervention → description → anopheles
<anopheles
mosquito=string
>
IN ANY ORDER:
| [ <seekingDeathRateIncrease ... /> ]
| [ <probDeathOvipositing ... /> ]
| [ <emergenceReduction ... /> ]
</anopheles>
Documentation (type)
Units: dimensionless Min: 0 Max: 1
Descriptions of the effects of vector interventions with per-species effects.
Attributes
Species/subspecies/variant name
mosquito=string
Name of the species/subspecies/variant.
Proportional increase in deaths while host searching
→ scenario → interventions → vectorPop → intervention → description → anopheles → seekingDeathRateIncrease
<seekingDeathRateIncrease
initial=double
>
IN THIS ORDER:
| <decay ... />
</seekingDeathRateIncrease>
Documentation (element)
Units: dimensionless
Describe an effect on the increase in the death rate while host seeking (mu_vA) due to this intervention.
Enter the rate increase (i.e. if rate increases to 120% of normal, give 0.2). New death rate while seeking is old × (1 + increase) where increase is this factor given. Must have increas ≥ -1.
Attributes
Initial proportion increase
initial=double
Units: dimensionless Min: -1 Max: inf
decay
→ scenario → interventions → vectorPop → intervention → description → anopheles → seekingDeathRateIncrease → decay
<decay
function=("constant" or "step" or "linear" or "exponential" or "weibull" or "hill" or "smooth-compact")
[ L=string ]
[ k=double ] DEFAULT VALUE 1.0
[ mu=double ] DEFAULT VALUE 0
[ sigma=double ] DEFAULT VALUE 0
/>
Documentation (type)
Specification of decay or survival of a parameter.
Attributes
function
function=("constant" or "step" or "linear" or "exponential" or "weibull" or "hill" or "smooth-compact")
Units: None Min: 0 Max: 1
Determines which decay function to use. Available decay functions, for age t in years: constant: 1 step: 1 for t less than L, otherwise 0 linear: 1 - t/L for t less than L, otherwise 0 exponential: exp( - t/L * log(2) ) weibull: exp( -(t/L)^k * log(2) ) hill: 1 / (1 + (t/L)^k) smooth-compact: exp( k - k / (1 - (t/L)^2) ) for t less than L, otherwise 0
L
L=string
Units: User-defined (defaults to years) Min: 0
(Time) scale parameter of distribution: this is either the age of complete decay (smooth-compact, step and linear functions) or the age at which the parameter has decayed to half its original value (exponential, weibull and hill). Not used when function="constant" (i.e. no decay). This value can be specified in years, days or steps (e.g. 2y, 180d or 100t). When the unit is not specified years are assumed. The value is used without rounding except when sampling an age of decay, when the rounding happens as late as possible.
k
k=double
Units: none Min: 0
Default value: 1.0
Shape parameter of distribution. If not specified, default value of 1 is used. Meaning depends on function; not used in some cases.
μ (mu)
mu=double
Min: 0
Default value: 0
If sigma is non-zero, heterogeneity of decay is introduced via a random variable sampled from the log-normal distribution with mu and sigma as specified. Both mu and sigma default to zero when not specified. The decay rate is multiplied by this variable (effectively, the half-life is divided by it). Note that with m=0, the median of the variable and the median value of L is unchanged, and thus the time at which the median decay amongst the population of decaying objects reaches half (assuming exponential, Weibull or Hill decay) is L. With m=-½σ² (negative half sigma squared) the mean of the variable will be 1 and mean of the half-life L, but the time at which mean decay of the population has reached half may not be L.
σ (sigma)
sigma=double
Min: 0
Default value: 0
If sigma is non-zero, heterogeneity of decay is introduced via a random variable sampled from the log-normal distribution with mu and sigma as specified. Both mu and sigma default to zero when not specified. The decay rate is multiplied by this variable (effectively, the half-life is divided by it).
Proportion ovipositing mosquitoes killed
→ scenario → interventions → vectorPop → intervention → description → anopheles → probDeathOvipositing
<probDeathOvipositing
initial=double
>
IN THIS ORDER:
| <decay ... />
</probDeathOvipositing>
Documentation (element)
Units: dimensionless
Describe an effect of increased mortality while ovipositing due to this intervention. Enter the probability of dying due to this intervention.
Attributes
Initial probability of killing
initial=double
Units: dimensionless Min: 0 Max: 1
decay
→ scenario → interventions → vectorPop → intervention → description → anopheles → probDeathOvipositing → decay
<decay
function=("constant" or "step" or "linear" or "exponential" or "weibull" or "hill" or "smooth-compact")
[ L=string ]
[ k=double ] DEFAULT VALUE 1.0
[ mu=double ] DEFAULT VALUE 0
[ sigma=double ] DEFAULT VALUE 0
/>
Documentation (type)
Specification of decay or survival of a parameter.
Attributes
function
function=("constant" or "step" or "linear" or "exponential" or "weibull" or "hill" or "smooth-compact")
Units: None Min: 0 Max: 1
Determines which decay function to use. Available decay functions, for age t in years: constant: 1 step: 1 for t less than L, otherwise 0 linear: 1 - t/L for t less than L, otherwise 0 exponential: exp( - t/L * log(2) ) weibull: exp( -(t/L)^k * log(2) ) hill: 1 / (1 + (t/L)^k) smooth-compact: exp( k - k / (1 - (t/L)^2) ) for t less than L, otherwise 0
L
L=string
Units: User-defined (defaults to years) Min: 0
(Time) scale parameter of distribution: this is either the age of complete decay (smooth-compact, step and linear functions) or the age at which the parameter has decayed to half its original value (exponential, weibull and hill). Not used when function="constant" (i.e. no decay). This value can be specified in years, days or steps (e.g. 2y, 180d or 100t). When the unit is not specified years are assumed. The value is used without rounding except when sampling an age of decay, when the rounding happens as late as possible.
k
k=double
Units: none Min: 0
Default value: 1.0
Shape parameter of distribution. If not specified, default value of 1 is used. Meaning depends on function; not used in some cases.
μ (mu)
mu=double
Min: 0
Default value: 0
If sigma is non-zero, heterogeneity of decay is introduced via a random variable sampled from the log-normal distribution with mu and sigma as specified. Both mu and sigma default to zero when not specified. The decay rate is multiplied by this variable (effectively, the half-life is divided by it). Note that with m=0, the median of the variable and the median value of L is unchanged, and thus the time at which the median decay amongst the population of decaying objects reaches half (assuming exponential, Weibull or Hill decay) is L. With m=-½σ² (negative half sigma squared) the mean of the variable will be 1 and mean of the half-life L, but the time at which mean decay of the population has reached half may not be L.
σ (sigma)
sigma=double
Min: 0
Default value: 0
If sigma is non-zero, heterogeneity of decay is introduced via a random variable sampled from the log-normal distribution with mu and sigma as specified. Both mu and sigma default to zero when not specified. The decay rate is multiplied by this variable (effectively, the half-life is divided by it).
Proportion of emerging pupa killed
→ scenario → interventions → vectorPop → intervention → description → anopheles → emergenceReduction
<emergenceReduction
initial=double
>
IN THIS ORDER:
| <decay ... />
</emergenceReduction>
Documentation (element)
Units: dimensionless
Describe an effect on emergence of pupa into adults: this value is the proportion of emerging pupa which are killed by this intervention.
This can be used as a crude way of modelling larviciding. It ca also be used to increase emergence by giving a negative value. The emergence rate is "old rate" × (1 - factor) where factor is the value given here; thus, for example, using -1 will double emergence.
Attributes
Initial proportion reduction
initial=double
Units: dimensionless Min: -inf Max: 1
decay
→ scenario → interventions → vectorPop → intervention → description → anopheles → emergenceReduction → decay
<decay
function=("constant" or "step" or "linear" or "exponential" or "weibull" or "hill" or "smooth-compact")
[ L=string ]
[ k=double ] DEFAULT VALUE 1.0
[ mu=double ] DEFAULT VALUE 0
[ sigma=double ] DEFAULT VALUE 0
/>
Documentation (type)
Specification of decay or survival of a parameter.
Attributes
function
function=("constant" or "step" or "linear" or "exponential" or "weibull" or "hill" or "smooth-compact")
Units: None Min: 0 Max: 1
Determines which decay function to use. Available decay functions, for age t in years: constant: 1 step: 1 for t less than L, otherwise 0 linear: 1 - t/L for t less than L, otherwise 0 exponential: exp( - t/L * log(2) ) weibull: exp( -(t/L)^k * log(2) ) hill: 1 / (1 + (t/L)^k) smooth-compact: exp( k - k / (1 - (t/L)^2) ) for t less than L, otherwise 0
L
L=string
Units: User-defined (defaults to years) Min: 0
(Time) scale parameter of distribution: this is either the age of complete decay (smooth-compact, step and linear functions) or the age at which the parameter has decayed to half its original value (exponential, weibull and hill). Not used when function="constant" (i.e. no decay). This value can be specified in years, days or steps (e.g. 2y, 180d or 100t). When the unit is not specified years are assumed. The value is used without rounding except when sampling an age of decay, when the rounding happens as late as possible.
k
k=double
Units: none Min: 0
Default value: 1.0
Shape parameter of distribution. If not specified, default value of 1 is used. Meaning depends on function; not used in some cases.
μ (mu)
mu=double
Min: 0
Default value: 0
If sigma is non-zero, heterogeneity of decay is introduced via a random variable sampled from the log-normal distribution with mu and sigma as specified. Both mu and sigma default to zero when not specified. The decay rate is multiplied by this variable (effectively, the half-life is divided by it). Note that with m=0, the median of the variable and the median value of L is unchanged, and thus the time at which the median decay amongst the population of decaying objects reaches half (assuming exponential, Weibull or Hill decay) is L. With m=-½σ² (negative half sigma squared) the mean of the variable will be 1 and mean of the half-life L, but the time at which mean decay of the population has reached half may not be L.
σ (sigma)
sigma=double
Min: 0
Default value: 0
If sigma is non-zero, heterogeneity of decay is introduced via a random variable sampled from the log-normal distribution with mu and sigma as specified. Both mu and sigma default to zero when not specified. The decay rate is multiplied by this variable (effectively, the half-life is divided by it).
Vector population intervention deployment
→ scenario → interventions → vectorPop → intervention → timed
<timed>
IN THIS ORDER:
| ( <deploy ... /> )+
</timed>
Documentation (element)
List of timed vector population intervention deployment
deploy
→ scenario → interventions → vectorPop → intervention → timed → deploy
<deploy
time=string
/>
Attributes
Time
time=string
Units: User defined (defauls to steps) Min: 0
Time at which this deployment occurs. See doc on intervention period and on monitoring/startDate for details of how times work. Can be specified in steps, days, years, or as a date (examples: 15t, 75d, 0.2y, 2000-03-16).
Baited trap
→ scenario → interventions → vectorTrap
<vectorTrap>
IN THIS ORDER:
| ( <intervention ... /> )+
</vectorTrap>
Documentation (element)
Traps attract and kill mosquitoes. They are modelled as a non-human-host where the probability of mosquitoes surviving feeding is zero (since otherwise the simulator would assume surviving mosquitoes have had a blood meal), and where this "host" is initially not present.
Model: each type of trap has has an initial availability relative to a human and a decay in availability. Each deployment has a fixed maximum lifespan, after which the traps from that deployment are removed (it is up to the user whether this is after availability is effectively zero or sooner, either coinciding with a redeployment or causing a reduction in overall effectiveness of traps).
intervention
→ scenario → interventions → vectorTrap → intervention
<intervention
[ name=string ]
>
IN THIS ORDER:
| ( <description ... /> )+
| [ <timed ... /> ]
</intervention>
Documentation (type)
Parameters and deployment of one type of trap. In case multiple types of trap are needed simultaneously, multiple elements can be used. Note that different types of trap do not interact except that all will attract mosquitoes.
Attributes
Descriptive name for type of trap
name=string
Optional name for this type of trap
Description
→ scenario → interventions → vectorTrap → intervention → description
<description
mosquito=string
>
IN THIS ORDER:
| <relativeAvailability ... />
| <decayOfAvailability ... />
</description>
Documentation (element)
Parameters associated with a vector trap intervention, per mosquito species.
Attributes
Species/subspecies/variant name
mosquito=string
Name of the species/subspecies/variant.
Initial relative availability
→ scenario → interventions → vectorTrap → intervention → description → relativeAvailability
<relativeAvailability
value=double
/>
Documentation (element)
Units: Proportion Min: 0 Max: inf
Describes the availiability of a trap to a host-seeking mosquito relative to an average unprotected adult.
I.e. if this parameter is 2, then each trap will on average attract twice as many mosquitoes as unprotected adults.
This is the initial availability; it may decay towards zero depending on the configured decay function.
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Decay of availability
→ scenario → interventions → vectorTrap → intervention → description → decayOfAvailability
<decayOfAvailability
function=("constant" or "step" or "linear" or "exponential" or "weibull" or "hill" or "smooth-compact")
[ L=string ]
[ k=double ] DEFAULT VALUE 1.0
[ mu=double ] DEFAULT VALUE 0
[ sigma=double ] DEFAULT VALUE 0
/>
Documentation (element)
Describes how availability decays to zero.
If decay heterogeneity/variance is used, there will be a sample once-per-deployment (i.e. all traps of the same deployment will be affected the same way). There is no support for variances between traps (except in this crude way, between deployments).
Documentation (type)
Specification of decay or survival of a parameter.
Attributes
function
function=("constant" or "step" or "linear" or "exponential" or "weibull" or "hill" or "smooth-compact")
Units: None Min: 0 Max: 1
Determines which decay function to use. Available decay functions, for age t in years: constant: 1 step: 1 for t less than L, otherwise 0 linear: 1 - t/L for t less than L, otherwise 0 exponential: exp( - t/L * log(2) ) weibull: exp( -(t/L)^k * log(2) ) hill: 1 / (1 + (t/L)^k) smooth-compact: exp( k - k / (1 - (t/L)^2) ) for t less than L, otherwise 0
L
L=string
Units: User-defined (defaults to years) Min: 0
(Time) scale parameter of distribution: this is either the age of complete decay (smooth-compact, step and linear functions) or the age at which the parameter has decayed to half its original value (exponential, weibull and hill). Not used when function="constant" (i.e. no decay). This value can be specified in years, days or steps (e.g. 2y, 180d or 100t). When the unit is not specified years are assumed. The value is used without rounding except when sampling an age of decay, when the rounding happens as late as possible.
k
k=double
Units: none Min: 0
Default value: 1.0
Shape parameter of distribution. If not specified, default value of 1 is used. Meaning depends on function; not used in some cases.
μ (mu)
mu=double
Min: 0
Default value: 0
If sigma is non-zero, heterogeneity of decay is introduced via a random variable sampled from the log-normal distribution with mu and sigma as specified. Both mu and sigma default to zero when not specified. The decay rate is multiplied by this variable (effectively, the half-life is divided by it). Note that with m=0, the median of the variable and the median value of L is unchanged, and thus the time at which the median decay amongst the population of decaying objects reaches half (assuming exponential, Weibull or Hill decay) is L. With m=-½σ² (negative half sigma squared) the mean of the variable will be 1 and mean of the half-life L, but the time at which mean decay of the population has reached half may not be L.
σ (sigma)
sigma=double
Min: 0
Default value: 0
If sigma is non-zero, heterogeneity of decay is introduced via a random variable sampled from the log-normal distribution with mu and sigma as specified. Both mu and sigma default to zero when not specified. The decay rate is multiplied by this variable (effectively, the half-life is divided by it).
Vector trap intervention deployment
→ scenario → interventions → vectorTrap → intervention → timed
<timed>
IN THIS ORDER:
| ( <deploy ... /> )*
</timed>
Documentation (element)
List of timed vector trap intervention deployment
deploy
→ scenario → interventions → vectorTrap → intervention → timed → deploy
<deploy
time=string
ratioToHumans=double
lifespan=string
/>
Attributes
Time
time=string
Units: User defined (defauls to steps) Min: 0
Time at which this deployment occurs. See doc on intervention period and on monitoring/startDate for details of how times work. Can be specified in steps, days, years, or as a date (examples: 15t, 75d, 0.2y, 2000-03-16).
Ratio to humans
ratioToHumans=double
Min: 0 Max: inf
The number of traps deployed, by this deployment, per adult human. E.g. if there are currently 100 traps and 1000 humans, then a ratio of 0.1 will increase the number of traps to 200.
Lifespan
lifespan=string
Units: Steps or Days or Years
Life of the trap until replaced or removed, e.g. "73t" or "1y". After this time period, these traps will be removed from the simulation. New deployments do not automatically remove old traps. Existing traps cannot be refurbished in the model. It may make sense to make the end-of-life coincide with a new deployment.
Human-specific interventions
→ scenario → interventions → human
<human>
IN THIS ORDER:
| ( <component ... /> )+
| ( <deployment ... /> )*
</human>
Documentation (element)
Encapsulates all interventions whose effects are specific to the human host: any interventions where target humans may be selected via population-coverage, age limits and sub-population membership.
Component
→ scenario → interventions → human → component
<component
id=string
[ name=string ]
>
IN THIS ORDER:
| EXACTLY ONE OF:
| | <screen ... />
| | <treatSimple ... />
| | <treatPKPD ... />
| | <decisionTree ... />
| | <PEV ... />
| | <BSV ... />
| | <TBV ... />
| | <ITN ... />
| | <IRS ... />
| | <GVI ... />
| | [ <recruitmentOnly ... /> ]
| | <clearImmunity ... />
| [ <subPopRemoval ... /> ]
</component>
- screen
- treatSimple
- treatPKPD
- decisionTree
- PEV
- BSV
- TBV
- ITN
- IRS
- GVI
- recruitmentOnly
- clearImmunity
- subPopRemoval
Documentation (element)
A parameterisation of an effect achieved by one component of an intervention. (An intervention is described as the effects of a set of components plus deployments of those components. This describes the components individually, not deployments or which components comprise an intervention.)
Each element describes one component: its effects, decay of the(se) effect(s), and related stuff (e.g. description of indirect decay and of usage levels).
Different interventions can deploy the same component to the same perso. In most cases this will just deploy a fresh instance (e.g. a new bed net will replace the old (nobody uses multiple bed nets), or a new drug dose will act on top of previous doses, or in the case of a vaccine, effect depends on the total number of previous inoculations (including from other interventions).
Where multiple components of the same type (but with different ids) are deployed (whether within a single intervention or by multiple interventions), they act independently (e.g. two bed nets deployed to a single host would act to reduce attractiveness or survival of mosquitoes biting that host twice — this may be useful to simulate some novel vector intervention since the two nets may have separate parameters).
Attributes
Component identifier
id=string
A short name or code identifying the intervention component (used to refer to this component when describing an intervention). Also the id of the sub-population defined as those hosts who have received this intervention and who haven't subsequently been removed from the sub-population.
Name of component
name=string
An informal name/description for the component
screen
→ scenario → interventions → human → component → screen
<screen
diagnostic=string
>
IN THIS ORDER:
| ( <positive ... /> )*
| ( <negative ... /> )*
</screen>
Documentation (type)
This can be combined with MDA to achieve mass screen and treat (MSAT) or other types of mass screening intervention.
When deployed to a host, this simulates a test of patent malaria (microscopy, RDT or some such), then triggers deployment of whichever intervention components are configured (deployments for both positive and negative test outcomes can be configured).
The use of the screening itself is reported (if enabled), but not the outcome. Deployment of interventions triggered by the screening may be reported, however.
Attributes
Name of diagnostic
diagnostic=string
Name of a parameterised diagnostic (see scenario/diagnostics).
positive
→ scenario → interventions → human → component → screen → positive
<positive
id=string
/>
Documentation (type)
The list of components deployed to eligible humans.
Attributes
Identifier
id=string
The identifier (short name) of a component.
negative
→ scenario → interventions → human → component → screen → negative
<negative
id=string
/>
Documentation (type)
The list of components deployed to eligible humans.
Attributes
Identifier
id=string
The identifier (short name) of a component.
treatSimple
→ scenario → interventions → human → component → treatSimple
<treatSimple
durationLiver=string
durationBlood=string
/>
Documentation (type)
Simple treatment model, targetting liver- and/or blood-stage infections. This is all-or-nothing treatment which, when deploymed, completely clears all infections of the targetted stages. This makes it unsuitable for modeling resistance, but suitable for use with simple infection models.
Infections are considered liver-stage when less than five days old and blood-stage after that. Effects are described independently for the two stages.
Attributes
Length of liver-stage effect
durationLiver=string
Units: User defined
Controls action on liver-stage infections. 0 means no action, -1 step is a compatibility option to act like treatment before schema version 32 (which removed infections retrospectively), 1 step or any duration which equals some whole number of steps n>0 means to clear all liver-stage infections found on the next 1 or n steps. Note on -1 compatibility option: the main difference to 1 step (clearing on the next timestep) is that parasite densities will be reduced immediately, and thus from the point of view of surveys and mass screen and treat interventions a peak in density which is immediately treated through case management will not be seen. Can be specified in steps (e.g. 1t, -1t) or days (e.g. 5d).
Length of blood-stage effect
durationBlood=string
Units: User defined
Controls action on blood-stage infections. 0 means no action, -1 step is a compatibility option to act like treatment before schema version 32 (which removed infections retrospectively), 1 step or any duration which equals some whole number of steps n>0 means to clear all blood-stage infections found on the next 1 or n steps. Note on -1 compatibility option: the main difference to 1 step (clearing on the next timestep) is that parasite densities will be reduced immediately, and thus from the point of view of surveys and mass screen and treat interventions a peak in density which is immediately treated through case management will not be seen. Can be specified in steps (e.g. 1t, -1t) or days (e.g. 5d).
treatPKPD
→ scenario → interventions → human → component → treatPKPD
<treatPKPD
schedule=string
dosage=string
[ delay_h=double ] DEFAULT VALUE 0
/>
Documentation (type)
A command to administer drugs according to a given schedule and dosage table, optionally with a delay.
Attributes
Name of treatment schedule
schedule=string
The name of a schedule to use for treatment.
Name of dosage table
dosage=string
The name of a dosage table to use for treatment.
Delay (hours)
delay_h=double
Default value: 0
Optionally, this can be given to delay the start of treatment by a given number of hours. If not specified, treatment is not delayed. If a delay is given, all medications within the treatment schedule used are delayed by this number of hours.
decisionTree
→ scenario → interventions → human → component → decisionTree
<decisionTree
[ name=string ]
>
EXACTLY ONE OF:
| <multiple ... />
| <caseType ... />
| <diagnostic ... />
| <random ... />
| <age ... />
| <noTreatment ... />
| <treatFailure ... />
| ( <treatPKPD ... /> )+
| <treatSimple ... />
| ( <deploy ... /> )+
</decisionTree>
Documentation (type)
Describes how "decisions" are made, both probabilistically and deterministically, and what actions are carried out.
Quantities may also be reported as a side effect of decisions made in the tree, for example the number of diagnostics used.
Attributes
Name
name=string
An optional piece of documentation attached to this node.
Vaccines
→ scenario → interventions → human → component → PEV
<PEV>
IN THIS ORDER:
| <decay ... />
| <efficacyB ... />
| ( <initialEfficacy ... /> )+
</PEV>
Documentation (element)
Pre-erythrocytic vaccine (PEV): prevents a proportion of infections from commencing.
Documentation (type)
Description of a vaccine's effect
Decay of effect
→ scenario → interventions → human → component → PEV → decay
<decay
function=("constant" or "step" or "linear" or "exponential" or "weibull" or "hill" or "smooth-compact")
[ L=string ]
[ k=double ] DEFAULT VALUE 1.0
[ mu=double ] DEFAULT VALUE 0
[ sigma=double ] DEFAULT VALUE 0
/>
Documentation (element)
Specification of decay of efficacy. Documentation: see DecayFunction type or https://github.com/SwissTPH/openmalaria/wiki/ModelDecayFunctions
Documentation (type)
Specification of decay or survival of a parameter.
Attributes
function
function=("constant" or "step" or "linear" or "exponential" or "weibull" or "hill" or "smooth-compact")
Units: None Min: 0 Max: 1
Determines which decay function to use. Available decay functions, for age t in years: constant: 1 step: 1 for t less than L, otherwise 0 linear: 1 - t/L for t less than L, otherwise 0 exponential: exp( - t/L * log(2) ) weibull: exp( -(t/L)^k * log(2) ) hill: 1 / (1 + (t/L)^k) smooth-compact: exp( k - k / (1 - (t/L)^2) ) for t less than L, otherwise 0
L
L=string
Units: User-defined (defaults to years) Min: 0
(Time) scale parameter of distribution: this is either the age of complete decay (smooth-compact, step and linear functions) or the age at which the parameter has decayed to half its original value (exponential, weibull and hill). Not used when function="constant" (i.e. no decay). This value can be specified in years, days or steps (e.g. 2y, 180d or 100t). When the unit is not specified years are assumed. The value is used without rounding except when sampling an age of decay, when the rounding happens as late as possible.
k
k=double
Units: none Min: 0
Default value: 1.0
Shape parameter of distribution. If not specified, default value of 1 is used. Meaning depends on function; not used in some cases.
μ (mu)
mu=double
Min: 0
Default value: 0
If sigma is non-zero, heterogeneity of decay is introduced via a random variable sampled from the log-normal distribution with mu and sigma as specified. Both mu and sigma default to zero when not specified. The decay rate is multiplied by this variable (effectively, the half-life is divided by it). Note that with m=0, the median of the variable and the median value of L is unchanged, and thus the time at which the median decay amongst the population of decaying objects reaches half (assuming exponential, Weibull or Hill decay) is L. With m=-½σ² (negative half sigma squared) the mean of the variable will be 1 and mean of the half-life L, but the time at which mean decay of the population has reached half may not be L.
σ (sigma)
sigma=double
Min: 0
Default value: 0
If sigma is non-zero, heterogeneity of decay is introduced via a random variable sampled from the log-normal distribution with mu and sigma as specified. Both mu and sigma default to zero when not specified. The decay rate is multiplied by this variable (effectively, the half-life is divided by it).
Variance parameter for vaccine efficacy
→ scenario → interventions → human → component → PEV → efficacyB
<efficacyB
value=double
/>
Documentation (element)
Units: Positive real Min: 0.001 Max: 1.00E+06
Measure of variation in vaccine efficacy: efficacy is sampled from a beta distribution with efficacyB its beta parameter and its alpha parameter fixed such that the mean is that given by initialEfficacy.
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Initial mean efficacy
→ scenario → interventions → human → component → PEV → initialEfficacy
<initialEfficacy
value=double
/>
Documentation (element)
Units: dimensionless Min: 0 Max: 1
Mean efficacy values before decay (see efficacyB and decay parameter descriptions for sampling and decay). The i-th value in this list is used for the efficacy of the vaccine after the i-th dose. Where more doses are given than there are values in this list, the last value is repeated.
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Vaccines
→ scenario → interventions → human → component → BSV
<BSV>
IN THIS ORDER:
| <decay ... />
| <efficacyB ... />
| ( <initialEfficacy ... /> )+
</BSV>
Documentation (element)
Blood-stage vaccine (BSV): acts as a killing factor on blood-stage parasites. Exact action depends on the within host model.
Documentation (type)
Description of a vaccine's effect
Vaccines
→ scenario → interventions → human → component → TBV
<TBV>
IN THIS ORDER:
| <decay ... />
| <efficacyB ... />
| ( <initialEfficacy ... /> )+
</TBV>
Documentation (element)
Transmission-blocking vaccine (TBV): one minus this scales the probability of transmission to mosquitoes
Documentation (type)
Description of a vaccine's effect
Bed nets
→ scenario → interventions → human → component → ITN
<ITN>
IN THIS ORDER:
| [ <usage ... /> ]
| <holeRate ... />
| <ripRate ... />
| <ripFactor ... />
| <initialInsecticide ... />
| <insecticideDecay ... />
| <attritionOfNets ... />
| ( <anophelesParams ... /> )+
</ITN>
- usage
- holeRate
- ripRate
- ripFactor
- initialInsecticide
- insecticideDecay
- attritionOfNets
- anophelesParams
Documentation (element)
Description of bed-net interventions (ITNs, LLINs).
Proportion of time nets are used by humans
→ scenario → interventions → human → component → ITN → usage
<usage
value=double
/>
Documentation (element)
Units: dimensionless Min: 0 Max: 1
Usage of nets by humans, from 0 to 1.
At the moment this is constant across humans and deterministic: relative attractiveness and survival factors are base*(1-usagepropActing) + intervention_factorusage*propActing.
See also "propActing" (proportion of bits for which net acts).
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Rate at which holes are made
→ scenario → interventions → human → component → ITN → holeRate
<holeRate
mean=double
sigma=double
/>
Documentation (element)
Units: Holes per annum Min: 0
The rate at which new holes are made in nets.
nHoles(t) = nHoles(t-1) + X where X~Pois(R/T) where T is the number of time-steps per year. R is sampled from log-normal: R ~ log N( log(mean)-sigma²/2, sigma² ) and is covariant with ripRate and insecticideDecay. (To be exact, a single Gaussian sample is taken, adjusted for each sigma then exponentiated.)
Documentation (type)
Parameters of a log-normal distribution.
Variates are sampled as: X ~ ln N( log(mean)-sigma²/2, sigma² ).
Equivalent R sample: rlnorm(n, log(m) - s*s/2, s)
Attributes
mean
mean=double
Units: (same as base units)
The mean of the lognormal distribution.
sigma
sigma=double
Sigma parameter of the lognormal distribution; sigma squared is the variance of the log of samples.
Rate at which holes are enlarged
→ scenario → interventions → human → component → ITN → ripRate
<ripRate
mean=double
sigma=double
/>
Documentation (element)
Units: Rips per existing hole per annum Min: 0
Each existing hole has a probability of being ripped bigger according to a Poisson process with this rate as (only) parameter.
New rips occur in a net at rate X~Pois(h×R/T) where h is the number of existing holes and T the number of time-steps per year. R is sampled from log-normal: R ~ log N( log(mean)-sigma²/2, sigma² ) and is covariant with holeRate and insecticideDecay. (To be exact, a single Gaussian sample is taken, adjusted for the each and sigma then exponentiated.)
Documentation (type)
Parameters of a log-normal distribution.
Variates are sampled as: X ~ ln N( log(mean)-sigma²/2, sigma² ).
Equivalent R sample: rlnorm(n, log(m) - s*s/2, s)
Attributes
mean
mean=double
Units: (same as base units)
The mean of the lognormal distribution.
sigma
sigma=double
Sigma parameter of the lognormal distribution; sigma squared is the variance of the log of samples.
Rip factor
→ scenario → interventions → human → component → ITN → ripFactor
<ripFactor
value=double
/>
Documentation (element)
Units: none Min: 0
This factor expresses how important rips are in increasing the hole.
The hole index of a net is h + F×x where h and x are the total numbers of holes and rips respectively and F is the rip factor.
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Initial insecticide
→ scenario → interventions → human → component → ITN → initialInsecticide
<initialInsecticide
mu=double
sigma=double
/>
Documentation (element)
Units: mg/m² Min: 0
The insecticide concentration of new nets is Gaussian distributed with mean "mu" and a standard deviation "sigma". The standard deviation should be small relative to the mean to avoid negative initial concentration. Any negative values sampled are set to 0.
Documentation (type)
Parameters of a normal distribution.
Variates are sampled as: X ~ N( mu, sigma² ).
Attributes
mu
mu=double
Units: (same as base units)
The mean of the normal distribution.
sigma
sigma=double
Units: (same as base units)
The standard deviation of variates.
Decay of insecticide
→ scenario → interventions → human → component → ITN → insecticideDecay
<insecticideDecay
function=("constant" or "step" or "linear" or "exponential" or "weibull" or "hill" or "smooth-compact")
[ L=string ]
[ k=double ] DEFAULT VALUE 1.0
[ mu=double ] DEFAULT VALUE 0
[ sigma=double ] DEFAULT VALUE 0
/>
Documentation (element)
Units: none
Decay curve for insecticide content of nets. Documentation: see DecayFunction type or https://github.com/SwissTPH/openmalaria/wiki/ModelDecayFunctions
The distribution of decay rates over nets is covariant with the distribution of ripRate and holeRate over nets. This distribution is generated by taking one sample per net from a Gaussian distribution with mean 0 and standard deviation 1. For each variable, the sample is multiplied by the respective sigma and a constant added such that, once exponentiated, the mean of the variable over nets is 1. The variable is then exponentiated and multiplied by the required mean rate for the respective variable.
Documentation (type)
Specification of decay or survival of a parameter.
Attributes
function
function=("constant" or "step" or "linear" or "exponential" or "weibull" or "hill" or "smooth-compact")
Units: None Min: 0 Max: 1
Determines which decay function to use. Available decay functions, for age t in years: constant: 1 step: 1 for t less than L, otherwise 0 linear: 1 - t/L for t less than L, otherwise 0 exponential: exp( - t/L * log(2) ) weibull: exp( -(t/L)^k * log(2) ) hill: 1 / (1 + (t/L)^k) smooth-compact: exp( k - k / (1 - (t/L)^2) ) for t less than L, otherwise 0
L
L=string
Units: User-defined (defaults to years) Min: 0
(Time) scale parameter of distribution: this is either the age of complete decay (smooth-compact, step and linear functions) or the age at which the parameter has decayed to half its original value (exponential, weibull and hill). Not used when function="constant" (i.e. no decay). This value can be specified in years, days or steps (e.g. 2y, 180d or 100t). When the unit is not specified years are assumed. The value is used without rounding except when sampling an age of decay, when the rounding happens as late as possible.
k
k=double
Units: none Min: 0
Default value: 1.0
Shape parameter of distribution. If not specified, default value of 1 is used. Meaning depends on function; not used in some cases.
μ (mu)
mu=double
Min: 0
Default value: 0
If sigma is non-zero, heterogeneity of decay is introduced via a random variable sampled from the log-normal distribution with mu and sigma as specified. Both mu and sigma default to zero when not specified. The decay rate is multiplied by this variable (effectively, the half-life is divided by it). Note that with m=0, the median of the variable and the median value of L is unchanged, and thus the time at which the median decay amongst the population of decaying objects reaches half (assuming exponential, Weibull or Hill decay) is L. With m=-½σ² (negative half sigma squared) the mean of the variable will be 1 and mean of the half-life L, but the time at which mean decay of the population has reached half may not be L.
σ (sigma)
sigma=double
Min: 0
Default value: 0
If sigma is non-zero, heterogeneity of decay is introduced via a random variable sampled from the log-normal distribution with mu and sigma as specified. Both mu and sigma default to zero when not specified. The decay rate is multiplied by this variable (effectively, the half-life is divided by it).
Attrition of nets
→ scenario → interventions → human → component → ITN → attritionOfNets
<attritionOfNets
function=("constant" or "step" or "linear" or "exponential" or "weibull" or "hill" or "smooth-compact")
[ L=string ]
[ k=double ] DEFAULT VALUE 1.0
[ mu=double ] DEFAULT VALUE 0
[ sigma=double ] DEFAULT VALUE 0
/>
Documentation (element)
Units: dimensionless
Specifies the rate at which nets are disposed of over time. Documentation: see DecayFunction type or https://github.com/SwissTPH/openmalaria/wiki/ModelDecayFunctions
In the current model, nets are disposed of randomly (no correlation with state of decay) such that the chance of each net surviving until age t is the value of this decay function at time t. Equivalently (where a large number of nets are distributed at the same time), the proportion of nets remaining in use should match this decay function over time.
Humans are removed from the intervention component's sub-population on disposal (attrition) of their nets. Currently this event is not reported.
Documentation (type)
Specification of decay or survival of a parameter.
Attributes
function
function=("constant" or "step" or "linear" or "exponential" or "weibull" or "hill" or "smooth-compact")
Units: None Min: 0 Max: 1
Determines which decay function to use. Available decay functions, for age t in years: constant: 1 step: 1 for t less than L, otherwise 0 linear: 1 - t/L for t less than L, otherwise 0 exponential: exp( - t/L * log(2) ) weibull: exp( -(t/L)^k * log(2) ) hill: 1 / (1 + (t/L)^k) smooth-compact: exp( k - k / (1 - (t/L)^2) ) for t less than L, otherwise 0
L
L=string
Units: User-defined (defaults to years) Min: 0
(Time) scale parameter of distribution: this is either the age of complete decay (smooth-compact, step and linear functions) or the age at which the parameter has decayed to half its original value (exponential, weibull and hill). Not used when function="constant" (i.e. no decay). This value can be specified in years, days or steps (e.g. 2y, 180d or 100t). When the unit is not specified years are assumed. The value is used without rounding except when sampling an age of decay, when the rounding happens as late as possible.
k
k=double
Units: none Min: 0
Default value: 1.0
Shape parameter of distribution. If not specified, default value of 1 is used. Meaning depends on function; not used in some cases.
μ (mu)
mu=double
Min: 0
Default value: 0
If sigma is non-zero, heterogeneity of decay is introduced via a random variable sampled from the log-normal distribution with mu and sigma as specified. Both mu and sigma default to zero when not specified. The decay rate is multiplied by this variable (effectively, the half-life is divided by it). Note that with m=0, the median of the variable and the median value of L is unchanged, and thus the time at which the median decay amongst the population of decaying objects reaches half (assuming exponential, Weibull or Hill decay) is L. With m=-½σ² (negative half sigma squared) the mean of the variable will be 1 and mean of the half-life L, but the time at which mean decay of the population has reached half may not be L.
σ (sigma)
sigma=double
Min: 0
Default value: 0
If sigma is non-zero, heterogeneity of decay is introduced via a random variable sampled from the log-normal distribution with mu and sigma as specified. Both mu and sigma default to zero when not specified. The decay rate is multiplied by this variable (effectively, the half-life is divided by it).
anophelesParams
→ scenario → interventions → human → component → ITN → anophelesParams
<anophelesParams
mosquito=string
[ propActive=double ] DEFAULT VALUE 1
>
IN THIS ORDER:
| [ <holeIndexMax ... /> ]
| EXACTLY ONE OF:
| | <deterrency ... />
| | <twoStageDeterrency ... />
| EXACTLY ONE OF:
| | <preprandialKillingEffect ... />
| | <preprandialKillingEffectLogit ... />
| EXACTLY ONE OF:
| | <postprandialKillingEffect ... />
| | <postprandialKillingEffectLogit ... />
| EXACTLY ONE OF:
| | [ <fecundityReduction ... /> ]
| | [ <fecundityReductionLogit ... /> ]
</anophelesParams>
- holeIndexMax
- deterrency
- twoStageDeterrency
- preprandialKillingEffect
- preprandialKillingEffectLogit
- postprandialKillingEffect
- postprandialKillingEffectLogit
- fecundityReduction
- fecundityReductionLogit
Attributes
Mosquito species
mosquito=string
Name of the affected anopheles-mosquito species.
Proportion of bites for which net acts
propActive=double
Units: dimensionless Min: 0 Max: 1
Default value: 1
The proportion of bites, when nets are in use, for which the net has any action whatsoever on the mosquito. At the moment this is constant across humans and deterministic: relative attractiveness and survival factors are base*(1-usagepropActing) + intervention_factorusage*propActing. See also "usage" (proportion of time nets are used by humans).
maximum of holed surface area that has an effect (comparable to no net)
→ scenario → interventions → human → component → ITN → anophelesParams → holeIndexMax
<holeIndexMax
value=double
/>
Documentation (element)
Units: in same unit as holeIndex
Used by logit attacking and killing models only, holeIndexMax is a user defined maximum hole index (typically, the total surface area of a net).
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Relative attractiveness
→ scenario → interventions → human → component → ITN → anophelesParams → deterrency
<deterrency
insecticideFactor=double
insecticideScalingFactor=double
holeFactor=double
interactionFactor=double
holeScalingFactor=double
/>
Documentation (element)
Units: dimensionless Min: 0 Max: 1
Effect of net on attractiveness of humans to mosquitoes relative to an unprotected adult human. Parameterisations should take into account that mosquitoes do not always bite indoors.
Attractiveness of the human is multiplied by exp(log(H)×h + log(P)×p + log(I)×h×p where H, P and I are the hole, insecticide and interaction factors respectively, h=exp(-holeIndex×holeScalingFactor) and p=1−exp(-insecticideContent×insecticideScalingFactor).
Attributes
Insecticide factor
insecticideFactor=double
Units: none Max: 1
Value expected to be at least 0. Negative values are not necessarily invalid, but allow nets to increase transmission.
Insecticide scaling factor
insecticideScalingFactor=double
Units: none Min: 0
Hole factor
holeFactor=double
Units: none Max: 1
Value expected to be at least 0. Negative values are not necessarily invalid, but allow nets to increase transmission.
Interaction factor
interactionFactor=double
Units: none Max: 1
holeFactor + insecticideFactor + interactionFactor must not be greater than 1, and is expected to be at least 0. A negative value is not necessarily invalid, but allows nets to increase transmission.
Hole scaling factor
holeScalingFactor=double
Units: none Min: 0
Relative attractiveness
→ scenario → interventions → human → component → ITN → anophelesParams → twoStageDeterrency
<twoStageDeterrency>
IN THIS ORDER:
| EXACTLY ONE OF:
| | <entering ... />
| | <enteringLogit ... />
| EXACTLY ONE OF:
| | <attacking ... />
| | <attackingLogit ... />
</twoStageDeterrency>
Documentation (element)
Units: dimensionless
Effect of net on attractiveness of humans to mosquitoes relative to an unprotected adult human. Parameterisations should take into account that mosquitoes do not always bite indoors.
This deterrency model multiplies human attractiveness by pEnt×pAtt.
Deterrency: entering
→ scenario → interventions → human → component → ITN → anophelesParams → twoStageDeterrency → entering
<entering
insecticideFactor=double
insecticideScalingFactor=double
/>
Documentation (element)
Units: dimensionless
pEnt represents the relative probability of entering due to ITNs: pEnt = exp(log(P)×p) where P is the insecticide factor and p=1−exp(-insecticideContent×insecticideScalingFactor).
Attributes
Insecticide factor
insecticideFactor=double
Units: none Max: 1
Value expected to be at least 0. Negative values are not necessarily invalid, but allow nets to increase transmission.
Insecticide scaling factor
insecticideScalingFactor=double
Units: none Min: 0
Deterrency: entering (logit model)
→ scenario → interventions → human → component → ITN → anophelesParams → twoStageDeterrency → enteringLogit
<enteringLogit
baseFactor=double
insecticideFactor=double
/>
Documentation (element)
Units: dimensionless
pEnt represents the relative probability of entering due to insecticide in the hut: pEnt = exp(logit.pEnt) / (exp(logit.pEnt) + 1) logit.pEnt = B + P * p where B is the basefactor (without net); P is insecticide factor, and p = log(insecticideContent+1). Without a net, probability of entering a house is pEnt0 = exp(logit.pEnt0) / (exp(logit.pEnt0) + 1) logit.pEnt0 = B Entering of mosquitoes is adjusted via multiplication by pEnt / pEnt0. To keep this in the range [0,1], we (normally) require that pEnt ≤ pEnt0 and thus P ≤ 0 and give a warning if this is not fulfilled.
Attributes
Base factor
baseFactor=double
Units: none
See parent element documentation
Insecticide factor
insecticideFactor=double
Units: none
See parent element documentation
Deterrency: attacking
→ scenario → interventions → human → component → ITN → anophelesParams → twoStageDeterrency → attacking
<attacking
insecticideFactor=double
insecticideScalingFactor=double
holeFactor=double
interactionFactor=double
holeScalingFactor=double
baseFactor=double
/>
Documentation (element)
Units: dimensionless
pAtt represents the relative probability of attacking a human after entering a house due to ITNs (i.e. of feeding/dying vs. flying off): pAtt = B + H×h + P×p + I×h×p where B is the base (without net) probability; H, P and I are the hole, insecticide and interaction factors respectively, h=exp(-holeIndex × holeScalingFactor) and p=1 - exp(-insecticideContent × insecticideScalingFactor).
Attributes
Insecticide factor
insecticideFactor=double
Units: none Max: 1
Value expected to be at least 0. Negative values are not necessarily invalid, but allow nets to increase transmission.
Insecticide scaling factor
insecticideScalingFactor=double
Units: none Min: 0
Hole factor
holeFactor=double
Units: none Max: 1
Value expected to be at least 0. Negative values are not necessarily invalid, but allow nets to increase transmission.
Interaction factor
interactionFactor=double
Units: none Max: 1
holeFactor + insecticideFactor + interactionFactor must not be greater than 1, and is expected to be at least 0. A negative value is not necessarily invalid, but allows nets to increase transmission.
Hole scaling factor
holeScalingFactor=double
Units: none Min: 0
Probability of mosquito death without intervention
baseFactor=double
Units: dimensionless
Deterrency: attacking (logit model)
→ scenario → interventions → human → component → ITN → anophelesParams → twoStageDeterrency → attackingLogit
<attackingLogit
baseFactor=double
insecticideFactor=double
holeFactor=double
interactionFactor=double
/>
Documentation (element)
Units: dimensionless
pAtt represents the relative probability of attacking a human after entering a house due to ITNs (i.e. of feeding/dying vs. flying off): pAtt = exp(logit.pAtt) / (exp(logit.pAtt) + 1) logit.pAtt = B + H×min(h, hMax) + P×p + I×min(h, hMax)×p where B is the base factor (without net); H, P and I are the hole, insecticide and interaction factors respectively, and: h = log(holeIndex + 1) p = log(insecticideContent + 1) Without a net, probability of attacking a human after entering a house is pAtt0 = exp(logit.pAtt0) / (exp(logit.pAtt0) + 1) logit.pAtt0 = B + H×hMax where hMax=log(holeIndexMax + 1) and holeIndexMax is a user defined maximum hole index (typically, the total surface area of a net). Attacking of mosquitoes is adjusted via multiplication by pAtt / pAtt0. This may be larger and smaller than 1 (but will not be negative). By definition (through the logit transformation) pAtt0 > 0.
Attributes
Base factor
baseFactor=double
Units: dimensionless
Logit of the probability (e.g. of death, of entry, of attacking) without intervention.
Insecticide factor
insecticideFactor=double
Units: none
Coefficient of log(insecticide content+1) in a generalized linear model with logit link function.
Hole factor
holeFactor=double
Units: none
Coefficient of log(total holed surface area (in cm2) +1) in a generalized linear model with logit link function.
Interaction factor
interactionFactor=double
Units: none
Coefficient of the interaction term of log(total holed surface area (in cm2) +1) with log(insecticide content+1) in a generalized linear model with logit link function.
Pre-prandial killing effect
→ scenario → interventions → human → component → ITN → anophelesParams → preprandialKillingEffect
<preprandialKillingEffect
insecticideFactor=double
insecticideScalingFactor=double
holeFactor=double
interactionFactor=double
holeScalingFactor=double
baseFactor=double
/>
Documentation (element)
Units: dimensionless Min: 0 Max: 1
Effect of net on survival mosquitoes as they seek to bite a human after choosing that human, relative to the same person not sleeping under a net. Parameterisations should take into account that mosquitoes do not always bite indoors.
Killing proportion is calculated as K = B + H×h + P×p + I×h×p where B is the base (without net) probability of death, H, P and I are the hole, insecticide and interaction factors respectively, h=exp(-holeIndex×holeScalingFactor) and p=1−exp(-insecticideContent×insecticideScalingFactor).
Survival of mosquitoes is adjusted via multiplication by (1−K) / (1−B). To keep this in the range [0,1], we require that B+H ≤ 1, B+P ≤ 1, B+H+P+I ≤ 1, H ≥ 0, P ≥ 0 and H+P+I ≥ 0.
Attributes
Insecticide factor
insecticideFactor=double
Units: none Max: 1
Value expected to be at least 0. Negative values are not necessarily invalid, but allow nets to increase transmission.
Insecticide scaling factor
insecticideScalingFactor=double
Units: none Min: 0
Hole factor
holeFactor=double
Units: none Max: 1
Value expected to be at least 0. Negative values are not necessarily invalid, but allow nets to increase transmission.
Interaction factor
interactionFactor=double
Units: none Max: 1
holeFactor + insecticideFactor + interactionFactor must not be greater than 1, and is expected to be at least 0. A negative value is not necessarily invalid, but allows nets to increase transmission.
Hole scaling factor
holeScalingFactor=double
Units: none Min: 0
Probability of mosquito death without intervention
baseFactor=double
Units: dimensionless
Pre-prandial killing effect (logit)
→ scenario → interventions → human → component → ITN → anophelesParams → preprandialKillingEffectLogit
<preprandialKillingEffectLogit
baseFactor=double
insecticideFactor=double
holeFactor=double
interactionFactor=double
/>
Documentation (element)
Units: dimensionless Min: 0 Max: 1
Effect of net on survival mosquitoes as they seek to bite a human
after choosing that human, relative to the same person not
sleeping under a net.
Killing proportion is calculated as
K=exp(logit.K)/(exp(logit.K)+1)
logit.K = B + H×min(h,hMax) + P×p + I×min(h,hMax)×p
where B is the basefactor (without net),
H, P and I are the hole, insecticide and interaction factors
respectively, h=log(holeIndex+1) and
p=log(insecticideContent+1).
Without a net, the killing proportion
K0=exp(logit.K0)/(exp(logit.K0)+1)
logit.K0 = B + H×hMax
where hMax=log(holeIndexMax+1) and holeIndexMax is a user defined maximum hole index (typically, the total surface area of a net).
Survival of mosquitoes is adjusted via multiplication by (1−K) / (1−K0).
To keep this in the range [0,1], we require that K ≥ K0. We enforce that P ≥ 0 (It would not make sense biologically if P were negative) and P+I*hMax ≥ 0 and H ≤ 0 and holeIndex ≤ holeIndexMax and give a warning if these conditions are not fulfilled.
Attributes
Base factor
baseFactor=double
Units: dimensionless
Logit of the probability (e.g. of death, of entry, of attacking) without intervention.
Insecticide factor
insecticideFactor=double
Units: none
Coefficient of log(insecticide content+1) in a generalized linear model with logit link function.
Hole factor
holeFactor=double
Units: none
Coefficient of log(total holed surface area (in cm2) +1) in a generalized linear model with logit link function.
Interaction factor
interactionFactor=double
Units: none
Coefficient of the interaction term of log(total holed surface area (in cm2) +1) with log(insecticide content+1) in a generalized linear model with logit link function.
Post-prandial killing effect
→ scenario → interventions → human → component → ITN → anophelesParams → postprandialKillingEffect
<postprandialKillingEffect
insecticideFactor=double
insecticideScalingFactor=double
holeFactor=double
interactionFactor=double
holeScalingFactor=double
baseFactor=double
/>
Documentation (element)
Units: dimensionless Min: 0 Max: 1
Effect of net on survival mosquitoes as they seek to escape from a human host and rest after a blood meal, relative to the same person not sleeping under a net. Parameterisations should take into account that mosquitoes do not always bite indoors.
Killing proportion is calculated as K = B + H×h + P×p + I×h×p where B is the base (without net) probability of death, H, P and I are the hole, insecticide and interaction factors respectively, h=exp(-holeIndex×holeScalingFactor) and p=1−exp(-insecticideContent×insecticideScalingFactor).
Survival of mosquitoes is adjusted via multiplication by (1−K) / (1−B). To keep this in the range [0,1], we require that B+H ≤ 1, B+P ≤ 1, B+H+P+I ≤ 1, H ≥ 0, P ≥ 0 and H+P+I ≥ 0.
Attributes
Insecticide factor
insecticideFactor=double
Units: none Max: 1
Value expected to be at least 0. Negative values are not necessarily invalid, but allow nets to increase transmission.
Insecticide scaling factor
insecticideScalingFactor=double
Units: none Min: 0
Hole factor
holeFactor=double
Units: none Max: 1
Value expected to be at least 0. Negative values are not necessarily invalid, but allow nets to increase transmission.
Interaction factor
interactionFactor=double
Units: none Max: 1
holeFactor + insecticideFactor + interactionFactor must not be greater than 1, and is expected to be at least 0. A negative value is not necessarily invalid, but allows nets to increase transmission.
Hole scaling factor
holeScalingFactor=double
Units: none Min: 0
Probability of mosquito death without intervention
baseFactor=double
Units: dimensionless
Post-prandial killing effect (logit)
→ scenario → interventions → human → component → ITN → anophelesParams → postprandialKillingEffectLogit
<postprandialKillingEffectLogit
baseFactor=double
insecticideFactor=double
holeFactor=double
interactionFactor=double
/>
Documentation (element)
Units: dimensionless Min: 0 Max: 1
Effect of net on survival mosquitoes as they seek to escape from a human host and rest after a blood meal, relative to the same person not sleeping under a net. Killing proportion is calculated as K=exp(logit.K)/(exp(logit.K)+1) logit.K = B + H×min(h,hMax) + P×p + I×min(h,hMax)×p where B is the basefactor (without net), H, P and I are the hole, insecticide and interaction factors respectively, h=log(holeIndex+1) and p=log(insecticideContent+1). Without a net, the killing proportion K0=exp(logit.K0)/(exp(logit.K0)+1) logit.K0 = B + H×hMax where hMax=log(holeIndexMax+1) and holeIndexMax is a user defined maximum hole index (typically, the total surface area of a net). Survival of mosquitoes is adjusted via multiplication by (1−K) / (1−K0). To keep this in the range [0,1], we require that K ≥ K0. We enforce that P ≥ 0 (It would not make sense biologically if P were negative) and P+I*hMax ≥ 0 and H ≤ 0 and holeIndex ≤ holeIndexMax and give a warning if these conditions are not fulfilled.
Attributes
Base factor
baseFactor=double
Units: dimensionless
Logit of the probability (e.g. of death, of entry, of attacking) without intervention.
Insecticide factor
insecticideFactor=double
Units: none
Coefficient of log(insecticide content+1) in a generalized linear model with logit link function.
Hole factor
holeFactor=double
Units: none
Coefficient of log(total holed surface area (in cm2) +1) in a generalized linear model with logit link function.
Interaction factor
interactionFactor=double
Units: none
Coefficient of the interaction term of log(total holed surface area (in cm2) +1) with log(insecticide content+1) in a generalized linear model with logit link function.
Fecundity reduction
→ scenario → interventions → human → component → ITN → anophelesParams → fecundityReduction
<fecundityReduction
insecticideFactor=double
insecticideScalingFactor=double
holeFactor=double
interactionFactor=double
holeScalingFactor=double
baseFactor=double
/>
Documentation (element)
Effect of net on fertility of mosquitoes who survive feeding on a protected human, relative to an unprotected human.
Fertility (number of eggs laid) is multiplied by (1-K) / (1-B), similar to killing effects. This is not allowed to be greater than 1.
Attributes
Insecticide factor
insecticideFactor=double
Units: none Max: 1
Value expected to be at least 0. Negative values are not necessarily invalid, but allow nets to increase transmission.
Insecticide scaling factor
insecticideScalingFactor=double
Units: none Min: 0
Hole factor
holeFactor=double
Units: none Max: 1
Value expected to be at least 0. Negative values are not necessarily invalid, but allow nets to increase transmission.
Interaction factor
interactionFactor=double
Units: none Max: 1
holeFactor + insecticideFactor + interactionFactor must not be greater than 1, and is expected to be at least 0. A negative value is not necessarily invalid, but allows nets to increase transmission.
Hole scaling factor
holeScalingFactor=double
Units: none Min: 0
Probability of mosquito death without intervention
baseFactor=double
Units: dimensionless
Fecundity reduction (logit)
→ scenario → interventions → human → component → ITN → anophelesParams → fecundityReductionLogit
<fecundityReductionLogit
baseFactor=double
insecticideFactor=double
holeFactor=double
interactionFactor=double
/>
Documentation (element)
Effect of net on fertility of mosquitoes who survive feeding on a protected human, relative to an unprotected human.
Fertility (number of eggs laid) is multiplied by (1-K) / (1-K0), similar to killing effects. This is not allowed to be greater than 1.
Attributes
Base factor
baseFactor=double
Units: dimensionless
Logit of the probability (e.g. of death, of entry, of attacking) without intervention.
Insecticide factor
insecticideFactor=double
Units: none
Coefficient of log(insecticide content+1) in a generalized linear model with logit link function.
Hole factor
holeFactor=double
Units: none
Coefficient of log(total holed surface area (in cm2) +1) in a generalized linear model with logit link function.
Interaction factor
interactionFactor=double
Units: none
Coefficient of the interaction term of log(total holed surface area (in cm2) +1) with log(insecticide content+1) in a generalized linear model with logit link function.
Indoor residual spraying
→ scenario → interventions → human → component → IRS
<IRS>
IN THIS ORDER:
| [ <usage ... /> ]
| <initialInsecticide ... />
| <insecticideDecay ... />
| ( <anophelesParams ... /> )+
</IRS>
Documentation (element)
Description of indoor residual spraying interventions.
Documentation (type)
Description of effect for the more complex and probably more realistic Briet model: IRS has three effects, whos strength is calculated as a function of surviving insecticide content.
Proportion of Indoor residual spraying (IRS) interventions
→ scenario → interventions → human → component → IRS → usage
<usage
value=double
/>
Documentation (element)
Units: dimensionless Min: 0 Max: 1
Usage of Indoor residual spraying (IRS) interventions, from 0 to 1.
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Initial insecticide
→ scenario → interventions → human → component → IRS → initialInsecticide
<initialInsecticide
mu=double
sigma=double
/>
Documentation (element)
Units: μg/cm² Min: 0
The insecticide concentration of IRS (at time of spraying) is Gaussian distributed with mean "mu" and a standard deviation "sigma". The standard deviation should be small relative to the mean to avoid negative initial concentration. Any negative values sampled are set to 0.
Documentation (type)
Parameters of a normal distribution.
Variates are sampled as: X ~ N( mu, sigma² ).
Attributes
mu
mu=double
Units: (same as base units)
The mean of the normal distribution.
sigma
sigma=double
Units: (same as base units)
The standard deviation of variates.
Decay of insecticide
→ scenario → interventions → human → component → IRS → insecticideDecay
<insecticideDecay
function=("constant" or "step" or "linear" or "exponential" or "weibull" or "hill" or "smooth-compact")
[ L=string ]
[ k=double ] DEFAULT VALUE 1.0
[ mu=double ] DEFAULT VALUE 0
[ sigma=double ] DEFAULT VALUE 0
/>
Documentation (element)
Units: none
Decay curve for insecticide content of IRS. Documentation: see DecayFunction type or https://github.com/SwissTPH/openmalaria/wiki/ModelDecayFunctions
Documentation (type)
Specification of decay or survival of a parameter.
Attributes
function
function=("constant" or "step" or "linear" or "exponential" or "weibull" or "hill" or "smooth-compact")
Units: None Min: 0 Max: 1
Determines which decay function to use. Available decay functions, for age t in years: constant: 1 step: 1 for t less than L, otherwise 0 linear: 1 - t/L for t less than L, otherwise 0 exponential: exp( - t/L * log(2) ) weibull: exp( -(t/L)^k * log(2) ) hill: 1 / (1 + (t/L)^k) smooth-compact: exp( k - k / (1 - (t/L)^2) ) for t less than L, otherwise 0
L
L=string
Units: User-defined (defaults to years) Min: 0
(Time) scale parameter of distribution: this is either the age of complete decay (smooth-compact, step and linear functions) or the age at which the parameter has decayed to half its original value (exponential, weibull and hill). Not used when function="constant" (i.e. no decay). This value can be specified in years, days or steps (e.g. 2y, 180d or 100t). When the unit is not specified years are assumed. The value is used without rounding except when sampling an age of decay, when the rounding happens as late as possible.
k
k=double
Units: none Min: 0
Default value: 1.0
Shape parameter of distribution. If not specified, default value of 1 is used. Meaning depends on function; not used in some cases.
μ (mu)
mu=double
Min: 0
Default value: 0
If sigma is non-zero, heterogeneity of decay is introduced via a random variable sampled from the log-normal distribution with mu and sigma as specified. Both mu and sigma default to zero when not specified. The decay rate is multiplied by this variable (effectively, the half-life is divided by it). Note that with m=0, the median of the variable and the median value of L is unchanged, and thus the time at which the median decay amongst the population of decaying objects reaches half (assuming exponential, Weibull or Hill decay) is L. With m=-½σ² (negative half sigma squared) the mean of the variable will be 1 and mean of the half-life L, but the time at which mean decay of the population has reached half may not be L.
σ (sigma)
sigma=double
Min: 0
Default value: 0
If sigma is non-zero, heterogeneity of decay is introduced via a random variable sampled from the log-normal distribution with mu and sigma as specified. Both mu and sigma default to zero when not specified. The decay rate is multiplied by this variable (effectively, the half-life is divided by it).
Per-mosquito species parameters
→ scenario → interventions → human → component → IRS → anophelesParams
<anophelesParams
mosquito=string
[ propActive=double ] DEFAULT VALUE 1
>
IN THIS ORDER:
| <deterrency ... />
| <preprandialKillingEffect ... />
| <postprandialKillingEffect ... />
| [ <fecundityReduction ... /> ]
</anophelesParams>
Attributes
Mosquito species
mosquito=string
Name of the affected anopheles-mosquito species.
Proportion of bites for which IRS acts
propActive=double
Units: dimensionless Min: 0 Max: 1
Default value: 1
The proportion of bites for which the IRS has any action whatsoever on the mosquito. At the moment this is constant across humans and deterministic: relative attractiveness and survival factors are base*(1-propActing) + intervention_factor*propActing.
Relative attractiveness
→ scenario → interventions → human → component → IRS → anophelesParams → deterrency
<deterrency
insecticideFactor=double
insecticideScalingFactor=double
/>
Documentation (element)
Units: dimensionless Min: 0 Max: 1
Effect of IRS on attractiveness of humans to mosquitoes relative to an unprotected adult human. Parameterisations should take into account that mosquitoes do not always bite indoors.
Attractiveness of the human is multiplied by exp(P×log(p)) where P is the insecticide factor, p=1−exp(-insecticideContent×insecticideScalingFactor).
Attributes
Insecticide factor
insecticideFactor=double
Units: none Max: 1
Value expected to be at least 0. Negative values are not necessarily invalid, but allow nets to increase transmission.
Insecticide scaling factor
insecticideScalingFactor=double
Units: none Min: 0
Pre-prandial killing effect
→ scenario → interventions → human → component → IRS → anophelesParams → preprandialKillingEffect
<preprandialKillingEffect
insecticideFactor=double
insecticideScalingFactor=double
baseFactor=double
/>
Documentation (element)
Units: dimensionless Min: 0 Max: 1
Effect of IRS on survival mosquitoes as they seek to bite a human after choosing that human, relative to the same person not protected by IRS. Parameterisations should take into account that mosquitoes do not always bite indoors. This parameter has been added since some data shows IRS to have a preprandial killing effect.
Killing proportion is calculated as K = B + P×p where B is the base (without protection) probability of death, and P is the insecticide factor, p=1−exp(-insecticideContent×insecticideScalingFactor).
Survival of mosquitoes is adjusted via multiplication by (1−K) / (1−B). To keep this in the range [0,1], we require that B+P ≤ 1 and P ≥ 0.
Attributes
Insecticide factor
insecticideFactor=double
Units: none Max: 1
Value expected to be at least 0. Negative values are not necessarily invalid, but allow nets to increase transmission.
Insecticide scaling factor
insecticideScalingFactor=double
Units: none Min: 0
Probability of mosquito death without intervention
baseFactor=double
Units: dimensionless
Post-prandial killing effect
→ scenario → interventions → human → component → IRS → anophelesParams → postprandialKillingEffect
<postprandialKillingEffect
insecticideFactor=double
insecticideScalingFactor=double
baseFactor=double
/>
Documentation (element)
Units: dimensionless Min: 0 Max: 1
Effect of IRS on survival mosquitoes as they seek to escape from a human host and rest after a blood meal, relative to the same person not protected by IRS. Parameterisations should take into account that mosquitoes do not always bite indoors.
Killing proportion is calculated as K = B + P×p where B is the base (without protection) probability of death, and P is the insecticide factor, p=1−exp(-insecticideContent×insecticideScalingFactor).
Survival of mosquitoes is adjusted via multiplication by (1−K) / (1−B). To keep this in the range [0,1], we require that B+P ≤ 1 and P ≥ 0.
Attributes
Insecticide factor
insecticideFactor=double
Units: none Max: 1
Value expected to be at least 0. Negative values are not necessarily invalid, but allow nets to increase transmission.
Insecticide scaling factor
insecticideScalingFactor=double
Units: none Min: 0
Probability of mosquito death without intervention
baseFactor=double
Units: dimensionless
Fecundity reduction
→ scenario → interventions → human → component → IRS → anophelesParams → fecundityReduction
<fecundityReduction
insecticideFactor=double
insecticideScalingFactor=double
baseFactor=double
/>
Documentation (element)
Effect of IRS on fertility mosquitoes after successfully feeding on a human host, relative to an unproteced human. Parameterisations should take into account that mosquitoes do not always bite indoors.
First, we calculate K = B + P×p where B is the base (without protection) probability of death, and P is the insecticide factor, p=1−exp(-insecticideContent×insecticideScalingFactor).
Fecundity is multiplied by (1−K) / (1−B). It is not allowed to be greater than 1. To keep this in the range [0,1], we require that B+P ≤ 1 and P ≥ 0.
Attributes
Insecticide factor
insecticideFactor=double
Units: none Max: 1
Value expected to be at least 0. Negative values are not necessarily invalid, but allow nets to increase transmission.
Insecticide scaling factor
insecticideScalingFactor=double
Units: none Min: 0
Probability of mosquito death without intervention
baseFactor=double
Units: dimensionless
Generic vector intervention
→ scenario → interventions → human → component → GVI
<GVI>
IN THIS ORDER:
| [ <usage ... /> ]
| <decay ... />
| ( <anophelesParams ... /> )+
</GVI>
Documentation (element)
Low-level description of intervention effects on vectors (i.e. mosquitoes). Can be used to describe simple ITN or IRS interventions (though more complex models are available for these interventions) or other interventions such as mosquito repellant or ivermectin.
Note that all actions of this intervention component will decay according to a single decay function. If independant decay is wanted, a separate component can be used for each action.
Proportion of generic vector interventions
→ scenario → interventions → human → component → GVI → usage
<usage
value=double
/>
Documentation (element)
Units: dimensionless Min: 0 Max: 1
Usage of Generic vector interventions, from 0 to 1.
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Decay
→ scenario → interventions → human → component → GVI → decay
<decay
function=("constant" or "step" or "linear" or "exponential" or "weibull" or "hill" or "smooth-compact")
[ L=string ]
[ k=double ] DEFAULT VALUE 1.0
[ mu=double ] DEFAULT VALUE 0
[ sigma=double ] DEFAULT VALUE 0
/>
Documentation (element)
Description of decay of all intervention effects. Documentation: see DecayFunction type or https://github.com/SwissTPH/openmalaria/wiki/ModelDecayFunctions
Documentation (type)
Specification of decay or survival of a parameter.
Attributes
function
function=("constant" or "step" or "linear" or "exponential" or "weibull" or "hill" or "smooth-compact")
Units: None Min: 0 Max: 1
Determines which decay function to use. Available decay functions, for age t in years: constant: 1 step: 1 for t less than L, otherwise 0 linear: 1 - t/L for t less than L, otherwise 0 exponential: exp( - t/L * log(2) ) weibull: exp( -(t/L)^k * log(2) ) hill: 1 / (1 + (t/L)^k) smooth-compact: exp( k - k / (1 - (t/L)^2) ) for t less than L, otherwise 0
L
L=string
Units: User-defined (defaults to years) Min: 0
(Time) scale parameter of distribution: this is either the age of complete decay (smooth-compact, step and linear functions) or the age at which the parameter has decayed to half its original value (exponential, weibull and hill). Not used when function="constant" (i.e. no decay). This value can be specified in years, days or steps (e.g. 2y, 180d or 100t). When the unit is not specified years are assumed. The value is used without rounding except when sampling an age of decay, when the rounding happens as late as possible.
k
k=double
Units: none Min: 0
Default value: 1.0
Shape parameter of distribution. If not specified, default value of 1 is used. Meaning depends on function; not used in some cases.
μ (mu)
mu=double
Min: 0
Default value: 0
If sigma is non-zero, heterogeneity of decay is introduced via a random variable sampled from the log-normal distribution with mu and sigma as specified. Both mu and sigma default to zero when not specified. The decay rate is multiplied by this variable (effectively, the half-life is divided by it). Note that with m=0, the median of the variable and the median value of L is unchanged, and thus the time at which the median decay amongst the population of decaying objects reaches half (assuming exponential, Weibull or Hill decay) is L. With m=-½σ² (negative half sigma squared) the mean of the variable will be 1 and mean of the half-life L, but the time at which mean decay of the population has reached half may not be L.
σ (sigma)
sigma=double
Min: 0
Default value: 0
If sigma is non-zero, heterogeneity of decay is introduced via a random variable sampled from the log-normal distribution with mu and sigma as specified. Both mu and sigma default to zero when not specified. The decay rate is multiplied by this variable (effectively, the half-life is divided by it).
Per-mosquito species parameters
→ scenario → interventions → human → component → GVI → anophelesParams
<anophelesParams
mosquito=string
[ propActive=double ] DEFAULT VALUE 1
>
IN THIS ORDER:
| [ <deterrency ... /> ]
| [ <preprandialKillingEffect ... /> ]
| [ <postprandialKillingEffect ... /> ]
| [ <fecundityReduction ... /> ]
</anophelesParams>
Attributes
Mosquito species
mosquito=string
Name of the affected anopheles-mosquito species.
Proportion of bites for which IRS acts
propActive=double
Units: dimensionless Min: 0 Max: 1
Default value: 1
The proportion of bites for which the IRS has any action whatsoever on the mosquito. At the moment this is constant across humans and deterministic: relative attractiveness and survival factors are base*(1-propActing) + intervention_factor*propActing.
Relative attractiveness
→ scenario → interventions → human → component → GVI → anophelesParams → deterrency
<deterrency
value=double
/>
Documentation (element)
Units: dimensionless Min: 0 Max: 1
Effect of intervention on attractiveness of humans to mosquitoes relative to an unprotected adult human. Parameterisations should take into account that mosquitoes do not always bite indoors.
Attractiveness of the human is multiplied this factor times survival of effect.
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Pre-prandial killing effect
→ scenario → interventions → human → component → GVI → anophelesParams → preprandialKillingEffect
<preprandialKillingEffect
value=double
/>
Documentation (element)
Units: dimensionless Min: 0 Max: 1
Effect of intervention on survival of mosquitoes as they seek to bite a human after choosing that human, relative to the same person not protected by the intervention. Parameterisations should take into account that mosquitoes do not always bite indoors. This parameter has been added since some data shows IRS to have a preprandial killing effect.
Killing proportion is this factor multiplied by survival of effect.
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Post-prandial killing effect
→ scenario → interventions → human → component → GVI → anophelesParams → postprandialKillingEffect
<postprandialKillingEffect
value=double
/>
Documentation (element)
Units: dimensionless Min: 0 Max: 1
Effect of intervention on survival of mosquitoes as they seek to escape from a human host and rest after a blood meal, relative to the same person not protected by the intervention. Parameterisations should take into account that mosquitoes do not always bite indoors.
Killing proportion is this factor multiplied by survival of effect.
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Fecundity reduction effect
→ scenario → interventions → human → component → GVI → anophelesParams → fecundityReduction
<fecundityReduction
value=double
/>
Documentation (element)
Min: 0
Effect of intervention on fertility mosquitoes after successfully feeding on a human host, relative to an unproteced human. Parameterisations should take into account that mosquitoes do not always bite indoors.
Fertility is multiplied by 1 - (fecundityReduction * decay).
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Recruitment only
→ scenario → interventions → human → component → recruitmentOnly
<recruitmentOnly/>
Documentation (element)
Recruitment of a host into a sub-population.
All human-targeting intervention deployments recruit simulated humans into a sub-population which can be used for the purposes of cumulative deployment, deployment only to a sub-population and defining a cohort. This pseudo-intervention can be used to define a sub-population without also deploying some intervention.
Clear Immunity
→ scenario → interventions → human → component → clearImmunity
<clearImmunity/>
Documentation (element)
Removes all exposure-related immunitsy gained over time by hosts without removing infections (or affecting the ability to gain immunity through exposure).
Hypothetical, but potentially useful to simulate scenarios with unprotected humans.
subPopRemoval
→ scenario → interventions → human → component → subPopRemoval
<subPopRemoval
[ onFirstBout=boolean ] DEFAULT VALUE false
[ onFirstTreatment=boolean ] DEFAULT VALUE false
[ onFirstInfection=boolean ] DEFAULT VALUE false
[ afterYears=double ]
/>
Documentation (type)
Each human intervention component corresponds to a sub-population: those who have received or are considered to be protected by the intervention component. Humans automatically become members of this sub-population when receiving an intervention component; this element controls how humans are removed from the sub-population.
ITN attrition also removes humans from sub-populations.
Note that sub-populations do not directly correspond to an intervention's effects: lack of effectiveness does not imply removal from the sub-population (except as explicitly configured here) and removal from the sub-population does not halt an intervention's effects.
Sub-populations may be used to define a cohort, to restrict deployment of other interventions and to use cumulative deployment mode. A sub- population may or may not correspond (roughly) to humans protected by some intervention.
Attributes
Time to first episode only
onFirstBout=boolean
Default value: false
If true, remove individuals from the sub-population at the start of the first episode (start of a clinical bout) since they were recruited into the sub-population. This is intended for cohort studies which measure time to the first episode, using active case detection. Reports delayed due to health-system memory are forced out when this occurs. Note that this can increase the number of uncomplicated cases reported across the entire population; for this reason reports are not forced on recruitment or most removal options. This does not prevent re-recruitment in the case that recruitment settings could conceivably recruit the same individual twice.
Time to first treatment only
onFirstTreatment=boolean
Default value: false
If true, remove individuals from the sub-population when they first seektreatment since they were recruited into the sub-population. This is intended for cohort studies which measure the time to first episode, using passive case detection. Reports delayed due to health-system memory are forced out when this occurs. Note that this can increase the number of uncomplicated cases reported across the entire population; for this reason reports are not forced on recruitment or most removal options. This does not prevent re-recruitment in the case that recruitment settings could conceivably recruit the same individual twice.
Time to first infection only
onFirstInfection=boolean
Default value: false
If true, remove individuals from the sub-population at completion of the first survey in which they present with a patent infection since they were recruited into the sub-population. This intended for cohort studies which measure time to the first infection, using active case detection. Reports delayed due to health-system memory are forced out when this occurs. Note that this can increase the number of uncomplicated cases reported across the entire population; for this reason reports are not forced on recruitment or most removal options. This does not prevent re-recruitment in the case that recruitment settings could conceivably recruit the same individual twice.
Remove from sub-population after
afterYears=double
Units: Years Min: 0
If given, membership to the sub-population of humans who have received this intervention component expires after the given number of years. Note that future deployments renew membership (e.g. if this parameter is 4 years and the intervention is redeployed 3 years from now, expiry happens after 7 years). This provides a crude way of modelling a cohort protected by some intervention. A few interventions provide more detailed ways of modelling expiry of protection. In any case, "expiry of protection" is an abstract concept and does not imply that all protection has ceased, even in the simulator. This may also be useful for cumulative deployment. Minimum duration is zero, which implies the human is effectively never a member of the sub-population; a duration of one timestep implies the human is a member of the sub-population while any futher interventions are deployed on the same time as this human becomes a member and on the next update of the human (including transmission and health system events) but not beyond that. If this attribute is not given, the simulated human is a member until death or some other option triggers removal. Input is rounded to the nearest time step.
Deployment
→ scenario → interventions → human → deployment
<deployment
[ name=string ]
>
IN THIS ORDER:
| ( <component ... /> )+
| ( <condition ... /> )*
| ( <continuous ... /> )*
| ( <timed ... /> )*
</deployment>
Documentation (element)
This element describes deployment of an intervention: which components are deployed, how humans are selected for deployment (via timed or age-based deployment) as well as a few additional restrictions (e.g. vaccine dosing restrictions).
All components deployed by this intervention are deployed to the same people (each timed or continuous deployment selects recipients and then gives each recipient all components of the intervention).
Attributes
Intervention name
name=string
Name of intervention
component
→ scenario → interventions → human → deployment → component
<component
id=string
/>
Documentation (type)
The list of components deployed to eligible humans.
Attributes
Identifier
id=string
The identifier (short name) of a component.
Condition
→ scenario → interventions → human → deployment → condition
<condition
measure=string
[ minValue=double ]
[ maxValue=double ]
initialState=boolean
/>
Documentation (element)
If conditions are specified, deployment of this intervention will only go ahead if all specified conditions are true. Condition statements are evaluated only during surveys, so deployment is enabled or disabled depending on the results of the most recent survey. So called unreported surveys can be used to reevaluate conditions without increasing granularity of output.
Conditions are evaluated for the whole population, not for individual age-groups or cohorts.
This affects all types of deployment.
Attributes
Measure
measure=string
The monitoring measure to test. Not all measures are available for use.
Minimum value
minValue=double
Minimum value. If specified, the measured variable must be greater than or equal to this value for the condition to be satisfied.
Maximum value
maxValue=double
Maximum value. If specified, the measured variable must be less than or equal to this value for the condition to be satisfied.
Initial state
initialState=boolean
Whether this condition is considered true or false before updated by a survey.
Age-based (continuous) deployment
→ scenario → interventions → human → deployment → continuous
<continuous>
IN THIS ORDER:
| [ <restrictToSubPop ... /> ]
| ( <deploy ... /> )+
</continuous>
Documentation (element)
List of ages at which deployment takes place (through EPI, post-natal and school-based programmes, etc.).
A sub-population restriction may be added as a property of the list of continuous deployments.
restrictToSubPop
→ scenario → interventions → human → deployment → continuous → restrictToSubPop
<restrictToSubPop
id=string
[ complement=boolean ] DEFAULT VALUE false
/>
Documentation (type)
If this element is specified, deployment is restricted to some sub-population (specified via the "id" attribute); otherwise the target population is the entire simulated population. Either way, other deployment restrictions (age, time, number of vaccine doeses) still apply.
Attributes
Sub-population identifier
id=string
The identifier (short name) of the sub-population (i.e. the "id" of some intervention component). Also see the "complement" attribute.
Complement
complement=boolean
Default value: false
If this is not specified or is false, deployment is restricted to the sub-population of people protected by the intervention component who's id is given. If complement is set to true, deployment is instead restricted to the complement of that sub-population, i.e. to those
deploy
→ scenario → interventions → human → deployment → continuous → deploy
<deploy
coverage=double
[ vaccMinPrevDoses=int ]
[ vaccMaxCumDoses=int ]
targetAgeYrs=double
[ begin=string ]
[ end=string ]
/>
Attributes
Coverage
coverage=double
Units: dimensionless Min: 0 Max: 1
Proportion of otherwise eligible individuals who will receive this deployment.
Vaccine min previous doses
vaccMinPrevDoses=int
Units: inoculations Min: 0
Applies to vaccines only: vaccine doses are only deployed by this deployment if the previous number of doses (for the component deployed) is at least this number. For example, if this is the second deployment opportunity for this vaccine and this value is 1, then this deployment cannot deploy the vaccine to individuals who did not receive the first deployment.
Vaccine max cumulative doses
vaccMaxCumDoses=int
Units: inoculations Min: 0
Applies to vaccines only: vaccine doses are only deployed by this deployment if the previous number of doses (for the component deployed) is less than this number.
Target age
targetAgeYrs=double
Units: Years Min: 0 Max: 100
Target age of intervention. Input is rounded to the nearest time step.
First time active
begin=string
Units: User defined (defauls to steps)
First time at which this deployment is active. If not specified, deployment starts at the beginning of the intervention period. See doc on intervention period and on monitoring/startDate for details of how times work. Can be specified in steps, days, years, or as a date (examples: 15t, 75d, 0.2y, 2000-03-16).
End step
end=string
Units: User defined (defauls to steps)
End of the period during which the intervention is active (to be exact, the first step of the intervention period at which the item becomes inactive). If not specified, deployment never ceases after starting during the simulation. See doc on intervention period and on monitoring/startDate for details of how times work. Can be specified in steps, days, years, or as a date (examples: 15t, 75d, 0.2y, 2000-03-16).
Mass (timed) deployment
→ scenario → interventions → human → deployment → timed
<timed>
IN THIS ORDER:
| [ <restrictToSubPop ... /> ]
| [ <cumulativeCoverage ... /> ]
| ( <deploy ... /> )+
</timed>
Documentation (element)
List of timed deployments of the intervention (that is, of deployment campaigns).
Cumulative deployment mode can be specified for all deployments in a timed list. To allow multiple cumulative deployment descriptions, the entire timed list may be repeated.
restrictToSubPop
→ scenario → interventions → human → deployment → timed → restrictToSubPop
<restrictToSubPop
id=string
[ complement=boolean ] DEFAULT VALUE false
/>
Documentation (type)
If this element is specified, deployment is restricted to some sub-population (specified via the "id" attribute); otherwise the target population is the entire simulated population. Either way, other deployment restrictions (age, time, number of vaccine doeses) still apply.
Attributes
Sub-population identifier
id=string
The identifier (short name) of the sub-population (i.e. the "id" of some intervention component). Also see the "complement" attribute.
Complement
complement=boolean
Default value: false
If this is not specified or is false, deployment is restricted to the sub-population of people protected by the intervention component who's id is given. If complement is set to true, deployment is instead restricted to the complement of that sub-population, i.e. to those
Cumulative coverage
→ scenario → interventions → human → deployment → timed → cumulativeCoverage
<cumulativeCoverage
component=string
/>
Documentation (element)
If this element is not specified, standard deployment occurs, where a portion of the population as given by the coverage property of this campaign is selected, and interventions are deployed to all of these people (regardless of previous coverage).
If this attribute is specified, instead, the population is divided into two sets: those who are a member of a certain sub-population and those who are not (see "subPopRemoval" element). If the proportion of people in the first set is less than the desired coverage, then the proportion of people from the second set needed to increase total coverage to the desired coverage is calculated. This proportion is then used as the probablity of selection from the second set into a third set of people who then receive all interventions deployed by this campaign.
Note that selection is stochastic so the final coverage level may not be exactly that desired. Note also that the component used when selecting people need not actually be one of the components deployed by this intervention, although that is the intended use case.
Attributes
Component identifier
component=string
The identifier (short name) of the component used when selecting people.
deploy
→ scenario → interventions → human → deployment → timed → deploy
<deploy
coverage=double
[ vaccMinPrevDoses=int ]
[ vaccMaxCumDoses=int ]
time=string
[ maxAge=double ]
[ minAge=double ] DEFAULT VALUE 0
[ repeatStep=string ]
[ repeatEnd=string ]
/>
Attributes
Coverage
coverage=double
Units: dimensionless Min: 0 Max: 1
Proportion of otherwise eligible individuals who will receive this deployment.
Vaccine min previous doses
vaccMinPrevDoses=int
Units: inoculations Min: 0
Applies to vaccines only: vaccine doses are only deployed by this deployment if the previous number of doses (for the component deployed) is at least this number. For example, if this is the second deployment opportunity for this vaccine and this value is 1, then this deployment cannot deploy the vaccine to individuals who did not receive the first deployment.
Vaccine max cumulative doses
vaccMaxCumDoses=int
Units: inoculations Min: 0
Applies to vaccines only: vaccine doses are only deployed by this deployment if the previous number of doses (for the component deployed) is less than this number.
Time
time=string
Units: User defined (defauls to steps) Min: 0
Time at which this deployment occurs. See doc on intervention period and on monitoring/startDate for details of how times work. Can be specified in steps, days, years, or as a date (examples: 15t, 75d, 0.2y, 2000-03-16).
Maximum age of eligible individuals
maxAge=double
Units: Years Min: 0
Maximum age of eligible individuals (defaults to no limit). Input is rounded to the nearest time step.
Minimum age of eligible individuals
minAge=double
Units: Years Min: 0
Default value: 0
Minimum age of eligible individuals (defaults to 0). Input is rounded to the nearest time step.
Step of repetition
repeatStep=string
Units: User defined
See repeatEnd's documentation.
End of repetition (exclusive)
repeatEnd=string
Units: User defined
Either both repeatStep and repeatEnd should be present or neither. If present, the deployment is repeated every repeatStep timesteps (i.e. if t0 is the initial time and x is repeatStep, depolyments are done at times t0, t0+x, t0+2*x, ...), ending before repeatEnd (final repetition is the one before repeatEnd). Note that repeatEnd may be specified as a date but repeatStep must be a duration (days, steps or years).
Health system description
→ scenario → healthSystem
<healthSystem>
IN THIS ORDER:
| EXACTLY ONE OF:
| | <EventScheduler ... />
| | <ImmediateOutcomes ... />
| | <DecisionTree5Day ... />
| <CFR ... />
| <pSequelaeInpatient ... />
</healthSystem>
Documentation (element)
Description of health system.
Documentation (type)
Description of case management system, used to specify the initial model or a replacement (an intervention). Encompasses case management data and some other data required to derive case outcomes.
Contains a sub-element describing the particular health-system in use. Health system data is here defined as data used to decide on a treatment strategy, given a case requiring treatment.
Transmission and vector bionomics
→ scenario → entomology
<entomology
name=string
mode=("forced" or "dynamic")
[ scaledAnnualEIR=double ]
>
IN THIS ORDER:
| EXACTLY ONE OF:
| | <nonVector ... />
| | <vector ... />
</entomology>
Documentation (element)
Description of entomological data
Attributes
Entomology dataset name
name=string
Name of entomology data
Transmission model mode
mode=("forced" or "dynamic")
Transmission simulation mode: may be forced (in which case interventions and changes to human infectiousness cannot affect EIR) or dynamic (in which the above can affect EIR). The full vector model is only used in dynamic mode. This can not be changed by interventions, except for the changeEIR intervention for the non-vector model which replaces the EIR with a new description (used in forced mode).
Override annual EIR
scaledAnnualEIR=double
Units: Infectious bites per adult per year
If set, the annual EIR (for all species of vector) is scaled to this level; can be omitted if not needed.
Transmission setting (vector control not enabled)
→ scenario → entomology → nonVector
<nonVector
eipDuration=int
>
IN THIS ORDER:
| ( <EIRDaily ... /> )+
</nonVector>
Documentation (element)
Description of transmission setting for models without vector control interventions (included for backward compatibility)
Attributes
Duration of sporogony
eipDuration=int
Units: Days
The duration of sporogony in days
Transmission setting (vector control enabled)
→ scenario → entomology → vector
<vector>
IN THIS ORDER:
| ( <anopheles ... /> )+
| ( <nonHumanHosts ... /> )*
</vector>
Documentation (element)
Parameters of the transmission model
anopheles
→ scenario → entomology → vector → anopheles
<anopheles
mosquito=string
propInfected=double
propInfectious=double
>
IN THIS ORDER:
| <seasonality ... />
| <mosq ... />
| [ <lifeCycle ... /> ]
| [ <simpleMPD ... /> ]
| ( <nonHumanHosts ... /> )*
</anopheles>
Documentation (type)
Description of input EIR for one specific vector species in terms of a Fourier approximation to the ln of the EIR during the burn in period
Attributes
Identifier for this anopheles species
mosquito=string
Identifier for this anopheles species
Initial estimate of proportion of mosquitoes infected (ρ_O)
propInfected=double
Units: Proportion Min: 0 Max: 1
Initial guess of the proportion of mosquitoes which are infected, o: O_v(t) = o*N_v(t). Only used as a starting value.
Initial estimate of proportion of mosquitoes infectious (ρ_S)
propInfectious=double
Units: Proportion Min: 0 Max: 1
Initial estimate of the proportion of mosquitoes which are infectious, s: S_v(t) = s*N_v(t). Used as a starting value and then fit.
Seasonality of transmission
→ scenario → entomology → vector → anopheles → seasonality
<seasonality
input=("EIR")
[ annualEIR=double ]
>
IN THIS ORDER:
| EXACTLY ONE OF:
| | <fourierSeries ... />
| | <monthlyValues ... />
| | <dailyValues ... />
</seasonality>
Documentation (element)
Specifies the seasonality of transmission and optionally the level of annual transmission.
Attributes
Seasonality input
input=("EIR")
Specify what seasonality measure is given. At the moment, only EIR is supported, but in the future, all the below should be supported. EIR: seasonality of entomological inoculations is input. Units: entomological inoculations per adult per annum. hostSeeking: seasonality of densities of flying host-seeking mosquitoes is input (in the model this is notated N_v). Units: mosquitoes. emergence: seasonality of emergence pupa into adults. Units: mosquitoes. larvalResources: seasonality of larval resources. Units: X.
Annual EIR
annualEIR=double
Units: Inoculations per adult per annum Min: 0
If this attribute is included, EIR for this species is scaled to this level. Note that if the scaledAnnualEIR attribute of the entomology element is also used, EIR is scaled again, making this attribute the EIR relative to other species. With some seasonality inputs, this attribute is optional, in which case (if scaledAnnualEIR is also not specified) transmission depends on all parameters of the vector. With some seasonality inputs, however, this parameter must be specified.
Fourier approximation to pre-intervention EIR
→ scenario → entomology → vector → anopheles → seasonality → fourierSeries
<fourierSeries
EIRRotateAngle=double
>
IN THIS ORDER:
| ( <coeffic ... /> )*
</fourierSeries>
Documentation (element)
Units: Infectious bites per adult per day
Seasonality is reproduced from the exponential of a fourier series specified by the following coefficients. Note that the a0 term is not needed; the annualEIR attribute of the seasonality element should be used to scale EIR instead.
Attributes
Rotation angle defining the origin of the Fourier approximation to ln (EIR)
EIRRotateAngle=double
Units: Radians
Rotation angle defining the origin of the Fourier approximation to ln (EIR)
Pair of Fourier coefficients
→ scenario → entomology → vector → anopheles → seasonality → fourierSeries → coeffic
<coeffic
a=double
b=double
/>
Documentation (element)
A pair of Fourier series coefficients. The first element specifies a1 and b1, the second a2 and b2, etc. Any number (from 0 up) of pairs may be given.
Attributes
a_n parameter of Fourier approximation to ln(EIR)
a=double
a_n parameter of Fourier approximation to ln(EIR) for some natural number n.
b_n parameter of Fourier approximation to ln(EIR)
b=double
b_n parameter of Fourier approximation to ln(EIR) for some natural number n.
List of monthly values
→ scenario → entomology → vector → anopheles → seasonality → monthlyValues
<monthlyValues
smoothing=("none" or "fourier")
>
IN THIS ORDER:
| ( <value ... /> ){12,12}
</monthlyValues>
Documentation (element)
Description of seasonality from monthly values. Multiple smoothing methods are possible (see smoothing attribute).
List should contain twelve entries: January to December.
Attributes
Smoothing function
smoothing=("none" or "fourier")
How the monthly values are converted into a daily sequence of values:
- none: no smoothing (step function)
- Fourier: a Fourier series (with terms up to a2/b2) is fit to the sequence of monthly values and used to generate a smoothed list of daily values.
Monthly value
→ scenario → entomology → vector → anopheles → seasonality → monthlyValues → value
<value>
double
</value>
Documentation (element)
Units: (see "seasonality input" parameter)
Monthly value
List of daily values
→ scenario → entomology → vector → anopheles → seasonality → dailyValues
<dailyValues>
IN THIS ORDER:
| ( <value ... /> ){365,365}
</dailyValues>
Documentation (element)
Description of seasonality from daily values.
List should contain 365 entries: 1st January to 31st December.
Daily value
→ scenario → entomology → vector → anopheles → seasonality → dailyValues → value
<value>
double
</value>
Documentation (element)
Units: (see "seasonality input" parameter)
Daily value
Mosquito feeding cycle parameters
→ scenario → entomology → vector → anopheles → mosq
<mosq
minInfectedThreshold=double
>
IN ANY ORDER:
| <mosqRestDuration ... />
| <extrinsicIncubationPeriod ... />
| <mosqLaidEggsSameDayProportion ... />
| <mosqSeekingDuration ... />
| <mosqSurvivalFeedingCycleProbability ... />
| <availabilityVariance ... />
| <mosqProbBiting ... />
| <mosqProbFindRestSite ... />
| <mosqProbResting ... />
| <mosqProbOvipositing ... />
| <mosqHumanBloodIndex ... />
</mosq>
- mosqRestDuration
- extrinsicIncubationPeriod
- mosqLaidEggsSameDayProportion
- mosqSeekingDuration
- mosqSurvivalFeedingCycleProbability
- availabilityVariance
- mosqProbBiting
- mosqProbFindRestSite
- mosqProbResting
- mosqProbOvipositing
- mosqHumanBloodIndex
Documentation (element)
Parameters describing the feeding cycle and human mosquito interaction of a single species of anopheles mosquito.
Attributes
Mininum infected threshold for mosquitos
minInfectedThreshold=double
Min: 0
If less than this many mosquitoes remain infected, transmission is interrupted.
Duration of the resting period of the vector
→ scenario → entomology → vector → anopheles → mosq → mosqRestDuration
<mosqRestDuration
value=int
/>
Documentation (element)
Units: Days
name:Duration of the resting period of the vector (days);
Attributes
Input parameter value
value=int
An integer value.
Extrinsic incubation period
→ scenario → entomology → vector → anopheles → mosq → extrinsicIncubationPeriod
<extrinsicIncubationPeriod
value=int
/>
Documentation (element)
Units: Days
name:Extrinsic incubation period (days)
Attributes
Input parameter value
value=int
An integer value.
Proportion of mosquitoes host seeking on same day as ovipositing
→ scenario → entomology → vector → anopheles → mosq → mosqLaidEggsSameDayProportion
<mosqLaidEggsSameDayProportion
value=double
/>
Documentation (element)
Units: Proportion
Proportion of mosquitoes host seeking on same day as ovipositing
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Duration of the host-seeking period of the vector
→ scenario → entomology → vector → anopheles → mosq → mosqSeekingDuration
<mosqSeekingDuration
value=double
/>
Documentation (element)
Units: Days
Duration of the host-seeking period of the vector (days)
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Probability that the mosquito survives the feeding cycle
→ scenario → entomology → vector → anopheles → mosq → mosqSurvivalFeedingCycleProbability
<mosqSurvivalFeedingCycleProbability
value=double
/>
Documentation (element)
Units: Proportion
Probability that the mosquito survives the feeding cycle
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Variance in human availability rate
→ scenario → entomology → vector → anopheles → mosq → availabilityVariance
<availabilityVariance
value=double
/>
Documentation (element)
Variance in availability rate of humans to mosquitoes. The mean rate is calculated based on other parameters.
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Probability that the mosquito succesfully bites chosen host
→ scenario → entomology → vector → anopheles → mosq → mosqProbBiting
<mosqProbBiting
mean=double
variance=double
/>
Documentation (element)
Probability that the mosquito succesfully bites chosen host
Documentation (type)
Parameters of a normal distribution, provided as mean and variance.
Variates are sampled from Be(α,β) where α and β are determined from the mean and variance as follows: let v be the variance and c=mean/(1-mean). Then we set α=cβ and β=((c+1)²v - c)/((c+1)³v).
Attributes
mean
mean=double
Units: none
The mean of the beta distribution (must be in the open range (0,1)).
variance
variance=double
Units: none
The standard deviation of variates.
Probability that the mosquito escapes host and finds a resting place after biting
→ scenario → entomology → vector → anopheles → mosq → mosqProbFindRestSite
<mosqProbFindRestSite
mean=double
variance=double
/>
Documentation (element)
Probability that the mosquito escapes host and finds a resting place after biting
Documentation (type)
Parameters of a normal distribution, provided as mean and variance.
Variates are sampled from Be(α,β) where α and β are determined from the mean and variance as follows: let v be the variance and c=mean/(1-mean). Then we set α=cβ and β=((c+1)²v - c)/((c+1)³v).
Attributes
mean
mean=double
Units: none
The mean of the beta distribution (must be in the open range (0,1)).
variance
variance=double
Units: none
The standard deviation of variates.
Probability of mosquito successfully resting after finding a resting site
→ scenario → entomology → vector → anopheles → mosq → mosqProbResting
<mosqProbResting
mean=double
variance=double
/>
Documentation (element)
Probability of mosquito successfully resting after finding a resting site
Documentation (type)
Parameters of a normal distribution, provided as mean and variance.
Variates are sampled from Be(α,β) where α and β are determined from the mean and variance as follows: let v be the variance and c=mean/(1-mean). Then we set α=cβ and β=((c+1)²v - c)/((c+1)³v).
Attributes
mean
mean=double
Units: none
The mean of the beta distribution (must be in the open range (0,1)).
variance
variance=double
Units: none
The standard deviation of variates.
Probability of a mosquito successfully laying eggs given that it has rested
→ scenario → entomology → vector → anopheles → mosq → mosqProbOvipositing
<mosqProbOvipositing
value=double
/>
Documentation (element)
Probability of a mosquito successfully laying eggs given that it has rested
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Human blood index
→ scenario → entomology → vector → anopheles → mosq → mosqHumanBloodIndex
<mosqHumanBloodIndex
value=double
/>
Documentation (element)
Units: Proportion
The proportion of resting mosquitoes which fed on human blood during the last feed.
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Mosquito life cycle parameters
→ scenario → entomology → vector → anopheles → lifeCycle
<lifeCycle
[ estimatedLarvalResources=double ] DEFAULT VALUE 1e8
>
IN ANY ORDER:
| <eggStage ... />
| <larvalStage ... />
| <pupalStage ... />
| <femaleEggsLaidByOviposit ... />
</lifeCycle>
Documentation (element)
Parameters describing the life-cycle of this species of mosquito
Attributes
Estimate of larval resources
estimatedLarvalResources=double
Units: X
Default value: 1e8
An estimate of mean annual availability of resources to larvae. Used to get the resource usage fitting algorithm going; if the algorithm fails to fit the resource availability then tweaking this parameter may help. In other cases tweaking this parameter shouldn't be necessary. Default value is 10⁸ (1e8). Units are arbitrary but must be the same as those used by the resourceUsage parameter.
Egg stage
→ scenario → entomology → vector → anopheles → lifeCycle → eggStage
<eggStage
duration=int
survival=double
/>
Documentation (element)
Parameters for the egg stage of development
Documentation (type)
Parameters associated with a mosquito development stage.
Attributes
Duration
duration=int
Units: Days
Duration of the stage (i.e. length of time mosquito is an egg/larva/pupa).
Probability of survival
survival=double
Units: Proportion
Probability that mosquito survives this size (probability of egg hatching, a larva becoming a pupa or a pupa emerging as an adult, at the start of that stage).
larvalStage
→ scenario → entomology → vector → anopheles → lifeCycle → larvalStage
<larvalStage>
</larvalStage>
Documentation (type)
Parameters for the larval stage of development
Documentation (base type)
Parameters associated with a mosquito development stage.
Daily development
→ scenario → entomology → vector → anopheles → lifeCycle → larvalStage → daily
<daily
resourceUsage=double
effectCompetition=double
/>
Documentation (element)
List of parameters which apply during the larval stage of development. List length must equal stage duration, with first item corresponding to first 24 hours after hatching, second item to hours 24-48, and so on.
Attributes
Resource usage
resourceUsage=double
Units: X
Resource usage during larval stage of development. Units are arbitrary.
Effect of competition
effectCompetition=double
Units: none
Effect of competition over resources on development.
Pupal stage
→ scenario → entomology → vector → anopheles → lifeCycle → pupalStage
<pupalStage
duration=int
survival=double
/>
Documentation (element)
Parameters for the pupal stage of development
Documentation (type)
Parameters associated with a mosquito development stage.
Attributes
Duration
duration=int
Units: Days
Duration of the stage (i.e. length of time mosquito is an egg/larva/pupa).
Probability of survival
survival=double
Units: Proportion
Probability that mosquito survives this size (probability of egg hatching, a larva becoming a pupa or a pupa emerging as an adult, at the start of that stage).
Eggs laid by ovipositing mosquito
→ scenario → entomology → vector → anopheles → lifeCycle → femaleEggsLaidByOviposit
<femaleEggsLaidByOviposit
value=double
/>
Documentation (element)
Units: Eggs per feeding cycle
The total number of female eggs laid by a female mosquito at the conclusion to a feeding cycle, after feeding on an unprotected human (non-human hosts and protected humans use a multiplication factor to adjust this number for mosquitoes feeding on them).
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Simple Mosq-Pop-Dynamics parameters
→ scenario → entomology → vector → anopheles → simpleMPD
<simpleMPD>
IN ANY ORDER:
| <developmentDuration ... />
| <developmentSurvival ... />
| <femaleEggsLaidByOviposit ... />
</simpleMPD>
Documentation (element)
Parameters describing the simple mosquito population dynamics model.
This is a simpler version of the life-cycle model, requiring less parameters and with much simpler initialisation.
Duration
→ scenario → entomology → vector → anopheles → simpleMPD → developmentDuration
<developmentDuration
value=int
/>
Documentation (element)
Units: Days Min: 1
Duration from egg laying to emergence in days.
Attributes
Input parameter value
value=int
An integer value.
Probability of survival
→ scenario → entomology → vector → anopheles → simpleMPD → developmentSurvival
<developmentSurvival
value=double
/>
Documentation (element)
Units: Proportion Min: 0 Max: 1
Probability that mosquito survives from the egg being laid to emergence, given no resouce limitations (no density constraints).
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Eggs laid by ovipositing mosquito
→ scenario → entomology → vector → anopheles → simpleMPD → femaleEggsLaidByOviposit
<femaleEggsLaidByOviposit
value=double
/>
Documentation (element)
Units: Eggs per feeding cycle
The total number of female eggs laid by a female mosquito at the conclusion to a feeding cycle.
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Alternative (non-human) host paramters
→ scenario → entomology → vector → anopheles → nonHumanHosts
<nonHumanHosts
name=string
>
IN ANY ORDER:
| <mosqRelativeEntoAvailability ... />
| <mosqProbBiting ... />
| <mosqProbFindRestSite ... />
| <mosqProbResting ... />
| [ <hostFecundityFactor ... /> ]
</nonHumanHosts>
- mosqRelativeEntoAvailability
- mosqProbBiting
- mosqProbFindRestSite
- mosqProbResting
- hostFecundityFactor
Documentation (element)
Min: 0
Non human host parameters, per type of host (must match up with non-species-specific parameters).
Attributes
Identifier for this category of non-human hosts
name=string
Identifier for this category of non-human hosts
Relative availability of non-human host (ξ_i)
→ scenario → entomology → vector → anopheles → nonHumanHosts → mosqRelativeEntoAvailability
<mosqRelativeEntoAvailability
value=double
/>
Documentation (element)
Units: Proportion
Relative availability of the population of non-human hosts of type i to other non-human hosts; the sum of this across all non-human hosts must be 1.
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Probability of mosquito successfully biting host
→ scenario → entomology → vector → anopheles → nonHumanHosts → mosqProbBiting
<mosqProbBiting
value=double
/>
Documentation (element)
Units: Proportion
Probability of mosquito successfully biting host
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Probability that the mosquito escapes host and finds a resting place after biting
→ scenario → entomology → vector → anopheles → nonHumanHosts → mosqProbFindRestSite
<mosqProbFindRestSite
value=double
/>
Documentation (element)
Units: Proportion
Probability that the mosquito escapes host and finds a resting place after biting
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Probability of mosquito successfully resting after finding a resting site
→ scenario → entomology → vector → anopheles → nonHumanHosts → mosqProbResting
<mosqProbResting
value=double
/>
Documentation (element)
Units: Proportion
Probability of mosquito successfully resting after finding a resting site
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Relative fecundity of biting mosquitoes
→ scenario → entomology → vector → anopheles → nonHumanHosts → hostFecundityFactor
<hostFecundityFactor
value=double
/>
Documentation (element)
Units: Proportion
Multiplicative factor for the number of fertile eggs laid by a mosquito after biting this type of host, relative to an unprotected human.
Attributes
Input parameter value
value=double
A double-precision floating-point value.
nonHumanHosts
→ scenario → entomology → vector → nonHumanHosts
<nonHumanHosts
name=string
number=double
/>
Attributes
Species of alternative host
name=string
Name of this species of non human hosts (must match up with those described per anopheles section).
Population size of non-human host species
number=double
Units: Animals
Population size of this non-human host. Note: the availability of the population of this type of non-human host is determined by mosqRelativeEntoAvailability and mosqHumanBloodIndex. NHHs are not modelled individually, thus this parameter is not used. It might be useful in the future if there is ever an intervention to change the number of non-human hosts.
Parasite genetics
<parasiteGenetics
samplingMode=("initial" or "tracking")
>
IN THIS ORDER:
| ( <locus ... /> )+
</parasiteGenetics>
Documentation (element)
A specification of genotypes of infection parasites.
May be omitted; in this case there is no modelling of genetic differences of infections (resistance, fitness).
Attributes
samplingMode
samplingMode=("initial" or "tracking")
This controls how genotypes are determined for new infections during the intervention period. Prior to this (in initialisation phases), genotypes are always sampled using the specified initial frequencies. Mode "initial" continues to sample genotypes using initial frequencies (i.e. independent of the success of parent generations of parasites). Mode "tracking" samples genotypes based on the success parent generations of parasites have in infecting mosquitoes, tracked per genotype. It is possible that in the future a recombination option will be added to this list, however designing a suitable model is not trivial.
Locus
→ scenario → parasiteGenetics → locus
<locus
name=string
>
IN THIS ORDER:
| ( <allele ... /> )+
</locus>
Documentation (element)
Describes a locus, or a point at which an infection may vary. The genotype of an infection is determined by choosing one allele at each locus. Initial frequencies of alleles are specified independently for each locus, but subsequent infections are selected according to success of genotypes.
Alleles at loci can affect fitness and resistance to any number of drugs.
Attributes
Name of locus
name=string
Name of the Locus
Allele
→ scenario → parasiteGenetics → locus → allele
<allele
name=string
initialFrequency=double
fitness=double
/>
Documentation (element)
Describes an allele, or one possible genetic option of multiple at one point of variance.
Attributes
Name
name=string
Name of the allele; used to refer to it elsewhere.
Initial frequency
initialFrequency=double
Specification of how commonly this allele occurs during warmup relative to other alleles of the same locus. During the simulation's initialisation phases, the frequency at which each allele of each locus occurs is fixed. After the initialisation phase, frequency of alleles is modelled as an emergent property of the success of genotypes.
Fitness factor
fitness=double
Fitness factor of the allele. This is multiplication factor used to speed up or slow down replication of parasites. For example, if a genotype has an allele with a fitness factor of 1 at one locus and another allele with a fitness factor of 0.8 at a second locus, then the parasites with the genotype will replicate 20% slower than the baseline.
Drug parameters (PK, PD and usage)
→ scenario → pharmacology
<pharmacology>
IN THIS ORDER:
| <treatments ... />
| <drugs ... />
</pharmacology>
Documentation (element)
Drug model parameters and drug usage parameters
Documentation (type)
A library of drug related data for the PK/PD model.
Treatments library
→ scenario → pharmacology → treatments
<treatments>
IN THIS ORDER:
| ( <schedule ... /> )+
| ( <dosages ... /> )+
</treatments>
Documentation (element)
A library of drug deployment schedules and dosages.
schedule
→ scenario → pharmacology → treatments → schedule
<schedule
name=string
>
IN THIS ORDER:
| ( <medicate ... /> )*
</schedule>
Documentation (type)
A schedule for the administration of drugs in a course of treatment.
Note that dose sizes are multiplied by some multiplier (see dosages) and the times of all doses may be delayed.
Attributes
Name
name=string
Name for referring to this deployment schedule
medicate
→ scenario → pharmacology → treatments → schedule → medicate
<medicate
drug=string
mg=double
hour=double
/>
Attributes
drug
drug=string
Abbreviated name of drug compound
Drug dose (mg with multiplier)
mg=double
Units: mg per something
Quantity of drug compound in mg per something. A separate dosage table must be used when medicating, which may specify multipliers of this number based on patient age or weight.
Time of administration
hour=double
Units: Hours Min: 0
Number of hours past start of timestep this drug dose is administered at (first dose should be at hour 0).
dosages
→ scenario → pharmacology → treatments → dosages
<dosages
name=string
>
IN THIS ORDER:
| EXACTLY ONE OF:
| | ( <age ... /> )+
| | ( <bodymass ... /> )+
| | <multiply ... />
</dosages>
Documentation (type)
A table for selecting a dose size. There are several ways this can work: using the patient's age or body mass in a look-up table to get a multplier, or directly using body mass as the multiplier.
The doses specified in "mg" in the treatment schedule are then multiplied by this multiplier.
Attributes
Name
name=string
Name for referring to this dosage table
Look-up table (age)
→ scenario → pharmacology → treatments → dosages → age
<age
lowerbound=double
dose_mult=double
/>
Documentation (element)
Select dose multiplier from a look-up table using the patient's age.
Documentation (type)
A look-up table which uses patient age (in years) or weight (in kg) to find a multiplier.
Attributes
Lower bound (inclusive)
lowerbound=double
Units: years or kg Min: 0
Dose multiplier
dose_mult=double
Min: 0
The dose size given in the schedule (in "mg") is multiplied by this value for patients falling into this range when this dosage table is used.
Look-up table (weight)
→ scenario → pharmacology → treatments → dosages → bodymass
<bodymass
lowerbound=double
dose_mult=double
/>
Documentation (element)
Select dose multiplier from a look-up table using the patient's body mass.
Documentation (type)
A look-up table which uses patient age (in years) or weight (in kg) to find a multiplier.
Attributes
Lower bound (inclusive)
lowerbound=double
Units: years or kg Min: 0
Dose multiplier
dose_mult=double
Min: 0
The dose size given in the schedule (in "mg") is multiplied by this value for patients falling into this range when this dosage table is used.
Multiply dose
→ scenario → pharmacology → treatments → dosages → multiply
<multiply
by=("kg")
/>
Documentation (element)
Multiply the dose by some quantity, such as patient weight.
Attributes
By what?
by=("kg")
Quantity to multiply the dose by. Only option is "kg" (patient weight in kg).
Drug library
→ scenario → pharmacology → drugs
<drugs>
IN THIS ORDER:
| ( <drug ... /> )+
</drugs>
Documentation (element)
A library of drug PK/PD data.
drug
→ scenario → pharmacology → drugs → drug
<drug
abbrev=string
>
IN THIS ORDER:
| <PD ... />
| <PK ... />
</drug>
Documentation (type)
A drug description with PK/PD parameters.
Attributes
abbrev
abbrev=string
PD
→ scenario → pharmacology → drugs → drug → PD
<PD
[ locus=string ]
>
IN THIS ORDER:
| ( <phenotype ... /> )+
</PD>
Attributes
Locus
locus=string
Optional; if present specifies the locus corresponding to this drug's PD phenotypes: each phenotype must then match one of that locus's alleles. Otherwise the drug should specify only one phenotype. There is currently a one-to-many correspondance between loci and drugs.
PD parameters for some allele / resistance phenotype
→ scenario → pharmacology → drugs → drug → PD → phenotype
<phenotype
[ name=string ]
>
IN THIS ORDER:
| ( <restriction ... /> )*
| <max_killing_rate ... />
| <IC50 ... />
| <slope ... />
</phenotype>
Documentation (element)
Pharmaco-Dynamic parameters for some resistance phenotype.
To model resistance to this drug, describe multiple infection phenotypes (with respect to these PD parameters) and list one or more "restrict" elements for each phenotype.
Loci are specified elsewhere. Multiple loci may influence the action of a single drug and each locus may influence multiple drugs.
Attributes
Name of phenotype
name=string
Name of the phenotype; for documentation use only.
Restrict phenotype applicability to certain alleles
→ scenario → pharmacology → drugs → drug → PD → phenotype → restriction
<restriction
onLocus=string
toAllele=string
/>
Documentation (element)
Specifies the mapping from genotype to phenotype. For each drug type, if only one phenotype is present, restrictions need not be specified, but otherwise restrictions must be specified.
The set of loci affecting phenotypes of this drug's action must be fixed for any drug type. Each phenotype must list, for each of these loci, a restriction to one or more alleles under the locus.
Attributes
Locus relevant to the mapping of alleles to this phenotype
onLocus=string
A locus under which only a restricted set of alleles map to this phenotype.
Alleles mapping to this phenotype
toAllele=string
One allele of a locus upon which phenotype choice depends. If multiple alleles under this locus should map to the same phenotype, repeat the whole "restriction onLocus..." element.
Maximal parasite killing rate
→ scenario → pharmacology → drugs → drug → PD → phenotype → max_killing_rate
<max_killing_rate>
double
</max_killing_rate>
Documentation (element)
Units: 1/days Min: 0
k1 — Maximal parasite killing rate.
IC50
→ scenario → pharmacology → drugs → drug → PD → phenotype → IC50
<IC50
[ sigma=double ] DEFAULT VALUE 0
>
double
</IC50>
Documentation (element)
Units: mg/l Min: 0
Half maximal effect concentration. If sigma > 0, the IC50 is sampled for each infection from a log-normal distribution with mean of this value and the sigma value specified, i.e. X ~ log N( log(mean) - s^2 / 2, s^2 ) .
Attributes
Sigma parameter for per-infection variation of IC50
sigma=double
Default value: 0
Distribution parameter describing per-infection variation of IC50. If zero or not specified, the IC50 is not sampled. See documentation of parent element.
Slope of effect curve
→ scenario → pharmacology → drugs → drug → PD → phenotype → slope
<slope>
double
</slope>
Documentation (element)
Units: dimensionless
n — Slope of the concentration effect curve
PK
→ scenario → pharmacology → drugs → drug → PK
<PK>
IN THIS ORDER:
| <negligible_concentration ... />
| EXACTLY ONE OF:
| | <half_life ... />
| | IN THIS ORDER:
| | | <k ... />
| | | <m_exponent ... />
| [ <k_a ... /> ]
| [ <conversion ... /> ]
| <vol_dist ... />
| [ <compartment2 ... /> ]
| [ <compartment3 ... /> ]
</PK>
Drug concentration considered negligible
→ scenario → pharmacology → drugs → drug → PK → negligible_concentration
<negligible_concentration>
double
</negligible_concentration>
Documentation (element)
Units: mg/l Min: 0
Concentration below which drug's effects are deemed negligible and can be removed from simulation.
drug half-life
→ scenario → pharmacology → drugs → drug → PK → half_life
<half_life>
double
</half_life>
Documentation (element)
Units: days Min: 0
Used to calculate elimination rate λ, calculated as λ = ln(2) / half_life. The basic form of decay is C(t) = C0 * exp(-λ*t).
Alternatively, elimination rate can be specified via k and m_exponent.
Constant associated with elimination rate (k)
→ scenario → pharmacology → drugs → drug → PK → k
<k
mean=double
[ cv=double ]
distr=("lnorm" or "const")
/>
Documentation (element)
Units: day^-1 Min: 0
Constant used to calculate the elimination rate λ, which is calculated as λ = k / (body_mass ^ m_exponent), where body_mass is the patient's weight in kg and m_exponent is the next parameter. The basic form of decay is C(t) = C0 * exp(-λ*t).
If sigma > 0, k is sampled per-human from the log-normal distribution: ln N( ln(mean) - σ^2 / 2, σ^2).
Alternatively, elimination rate can be specified via half_life.
Documentation (type)
Parameters of some distribution. The mean is that provided and the standard deviation is cv*mean.
Log-normal: σ = cv * mean ; μ = ln(mean) - σ² / 2 ; X ~ ln N( μ, σ² ) ; equivalent R sample: rlnorm(1, log(mean) - ((cv * mean)^2) / 2, cv * mean).
Attributes
mean
mean=double
Units: (same as base units)
The mean of the distribution.
Coefficient of variance
cv=double
Units: unitless
Coefficient of variance (mean * cv gives standard deviation). Must be specified when distribution is not constant.
Distribution
distr=("lnorm" or "const")
Selects the distribution to use. const: constant (no distribution). Setting cv=0 has the same behaviour. lnorm: log-normal distribution
Constant associated with elimination rate (m_exponent)
→ scenario → pharmacology → drugs → drug → PK → m_exponent
<m_exponent>
double
</m_exponent>
Documentation (element)
Units: day^-1 Min: 0
Constant used to calculate the elimination rate λ, which is calculated as λ = k / (body_mass ^ m_exponent), where body_mass is the patient's weight in kg and k is the previous parameter. The basic form of decay is C(t) = C0 * exp(-λ*t).
Alternatively, elimination rate can be specified via half_life.
Note that in the case of a conversion model, this applies to both the elimination and the conversion rates.
Absorption rate constant (k_a)
→ scenario → pharmacology → drugs → drug → PK → k_a
<k_a
mean=double
[ cv=double ]
distr=("lnorm" or "const")
/>
Documentation (element)
Min: 0
Absorption rate parameter. Not allowed for one compartment models, but required for two and three compartment models and one compartment with conversion model (for the parent drug only).
Documentation (type)
Parameters of some distribution. The mean is that provided and the standard deviation is cv*mean.
Log-normal: σ = cv * mean ; μ = ln(mean) - σ² / 2 ; X ~ ln N( μ, σ² ) ; equivalent R sample: rlnorm(1, log(mean) - ((cv * mean)^2) / 2, cv * mean).
Attributes
mean
mean=double
Units: (same as base units)
The mean of the distribution.
Coefficient of variance
cv=double
Units: unitless
Coefficient of variance (mean * cv gives standard deviation). Must be specified when distribution is not constant.
Distribution
distr=("lnorm" or "const")
Selects the distribution to use. const: constant (no distribution). Setting cv=0 has the same behaviour. lnorm: log-normal distribution
Conversion parameters (parent drug)
→ scenario → pharmacology → drugs → drug → PK → conversion
<conversion>
IN ANY ORDER:
| <metabolite ... />
| <rate ... />
| <molRatio ... />
</conversion>
Documentation (element)
Configures the parent drug in a conversion model.
To use a conversion model, the parent drug should have this section defined as well as half-life or k (direct elimination; this may be zero) and k_a (absorption rate; this may be large).
The metabolite drug should define half-life or k (elimination of metabolite), but not k_a (absorption rate) or this section (conversion). It is not possible for the metabolite to itself undergo conversion with the current models.
Metabolite drug (abbreviation)
→ scenario → pharmacology → drugs → drug → PK → conversion → metabolite
<metabolite>
string
</metabolite>
Documentation (element)
The abbreviation of the metabolite drug (e.g. "DHA" or "DHA_AR").
Rate of conversion
→ scenario → pharmacology → drugs → drug → PK → conversion → rate
<rate
mean=double
[ cv=double ]
distr=("lnorm" or "const")
/>
Documentation (element)
Rate of conversion of parent drug to metabolite.
Documentation (type)
Parameters of some distribution. The mean is that provided and the standard deviation is cv*mean.
Log-normal: σ = cv * mean ; μ = ln(mean) - σ² / 2 ; X ~ ln N( μ, σ² ) ; equivalent R sample: rlnorm(1, log(mean) - ((cv * mean)^2) / 2, cv * mean).
Attributes
mean
mean=double
Units: (same as base units)
The mean of the distribution.
Coefficient of variance
cv=double
Units: unitless
Coefficient of variance (mean * cv gives standard deviation). Must be specified when distribution is not constant.
Distribution
distr=("lnorm" or "const")
Selects the distribution to use. const: constant (no distribution). Setting cv=0 has the same behaviour. lnorm: log-normal distribution
Molecular weight ratio
→ scenario → pharmacology → drugs → drug → PK → conversion → molRatio
<molRatio>
double
</molRatio>
Documentation (element)
Ratio of molecular weights: molecular weight of the metabolite divided by molecular weight of the parent.
Volume of Distribution (Vd)
→ scenario → pharmacology → drugs → drug → PK → vol_dist
<vol_dist
[ sigma=double ] DEFAULT VALUE 0
>
double
</vol_dist>
Documentation (element)
Units: l/kg Min: 0
Volume of Distribution
Attributes
Sigma parameter for per-human variation of Vd
sigma=double
Default value: 0
Distribution parameter describing per-human variation of volume of distribution. If zero or not specified, the parameter is not sampled. See documentation of parent element.
Second compartment parameters
→ scenario → pharmacology → drugs → drug → PK → compartment2
<compartment2>
IN ANY ORDER:
| <a12 ... />
| <a21 ... />
</compartment2>
Documentation (element)
Optional element specifying conversion parameters to- and from- a second compartment.
Absorption rate to compartment 2 (a12)
→ scenario → pharmacology → drugs → drug → PK → compartment2 → a12
<a12
mean=double
[ cv=double ]
distr=("lnorm" or "const")
/>
Documentation (element)
Units: day^-1 Min: 0
Absorption rate from the central compartment to the first periphery compartment (2). The parameter k12 = a12 / m where m is the body mass (kg).
It is sampled per-patient when sigma > 0.
Documentation (type)
Parameters of some distribution. The mean is that provided and the standard deviation is cv*mean.
Log-normal: σ = cv * mean ; μ = ln(mean) - σ² / 2 ; X ~ ln N( μ, σ² ) ; equivalent R sample: rlnorm(1, log(mean) - ((cv * mean)^2) / 2, cv * mean).
Attributes
mean
mean=double
Units: (same as base units)
The mean of the distribution.
Coefficient of variance
cv=double
Units: unitless
Coefficient of variance (mean * cv gives standard deviation). Must be specified when distribution is not constant.
Distribution
distr=("lnorm" or "const")
Selects the distribution to use. const: constant (no distribution). Setting cv=0 has the same behaviour. lnorm: log-normal distribution
Absorption rate from compartment 2 (a21)
→ scenario → pharmacology → drugs → drug → PK → compartment2 → a21
<a21
mean=double
[ cv=double ]
distr=("lnorm" or "const")
/>
Documentation (element)
Units: day^-1 Min: 0
Absorption rate from the first periphery compartment (2) to the central compartment. The parameter k21 = a21 / m where m is the body mass (kg).
It is sampled per-patient when sigma > 0.
Documentation (type)
Parameters of some distribution. The mean is that provided and the standard deviation is cv*mean.
Log-normal: σ = cv * mean ; μ = ln(mean) - σ² / 2 ; X ~ ln N( μ, σ² ) ; equivalent R sample: rlnorm(1, log(mean) - ((cv * mean)^2) / 2, cv * mean).
Attributes
mean
mean=double
Units: (same as base units)
The mean of the distribution.
Coefficient of variance
cv=double
Units: unitless
Coefficient of variance (mean * cv gives standard deviation). Must be specified when distribution is not constant.
Distribution
distr=("lnorm" or "const")
Selects the distribution to use. const: constant (no distribution). Setting cv=0 has the same behaviour. lnorm: log-normal distribution
Third compartment parameters
→ scenario → pharmacology → drugs → drug → PK → compartment3
<compartment3>
IN ANY ORDER:
| <a13 ... />
| <a31 ... />
</compartment3>
Documentation (element)
Optional element specifying conversion parameters to- and from- a third compartment.
Absorption rate to compartment 3 (a13)
→ scenario → pharmacology → drugs → drug → PK → compartment3 → a13
<a13
mean=double
[ cv=double ]
distr=("lnorm" or "const")
/>
Documentation (element)
Units: day^-1 Min: 0
Absorption rate from the central compartment to the second periphery compartment (3). The parameter k13 = a13 / m where m is the body mass (kg).
It is sampled per-patient when sigma > 0.
Documentation (type)
Parameters of some distribution. The mean is that provided and the standard deviation is cv*mean.
Log-normal: σ = cv * mean ; μ = ln(mean) - σ² / 2 ; X ~ ln N( μ, σ² ) ; equivalent R sample: rlnorm(1, log(mean) - ((cv * mean)^2) / 2, cv * mean).
Attributes
mean
mean=double
Units: (same as base units)
The mean of the distribution.
Coefficient of variance
cv=double
Units: unitless
Coefficient of variance (mean * cv gives standard deviation). Must be specified when distribution is not constant.
Distribution
distr=("lnorm" or "const")
Selects the distribution to use. const: constant (no distribution). Setting cv=0 has the same behaviour. lnorm: log-normal distribution
Absorption rate from compartment 3 (a31)
→ scenario → pharmacology → drugs → drug → PK → compartment3 → a31
<a31
mean=double
[ cv=double ]
distr=("lnorm" or "const")
/>
Documentation (element)
Units: day^-1 Min: 0
Absorption rate from the second periphery compartment (3) to the central compartment. The parameter k31 = a31 / m where m is the body mass (kg).
It is sampled per-patient when sigma > 0.
Documentation (type)
Parameters of some distribution. The mean is that provided and the standard deviation is cv*mean.
Log-normal: σ = cv * mean ; μ = ln(mean) - σ² / 2 ; X ~ ln N( μ, σ² ) ; equivalent R sample: rlnorm(1, log(mean) - ((cv * mean)^2) / 2, cv * mean).
Attributes
mean
mean=double
Units: (same as base units)
The mean of the distribution.
Coefficient of variance
cv=double
Units: unitless
Coefficient of variance (mean * cv gives standard deviation). Must be specified when distribution is not constant.
Distribution
distr=("lnorm" or "const")
Selects the distribution to use. const: constant (no distribution). Setting cv=0 has the same behaviour. lnorm: log-normal distribution
Diagnostic parameters
→ scenario → diagnostics
<diagnostics>
IN THIS ORDER:
| ( <diagnostic ... /> )*
</diagnostics>
Documentation (element)
Diagnostic model parameters
diagnostic
→ scenario → diagnostics → diagnostic
<diagnostic
name=string
[ units=("Other" or "Garki" or "Malariatherapy") ]
>
IN THIS ORDER:
| EXACTLY ONE OF:
| | <deterministic ... />
| | <stochastic ... />
</diagnostic>
Attributes
Name of diagnostic
name=string
Name of this diagnostic (parameterisation). May be used elsewhere in the XML document to refer to this set of diagnostic parameters.
Parasite density units / methodology
units=("Other" or "Garki" or "Malariatherapy")
Parasite densities, as estimated according to standard microscopy methods, the Garki method, and as derived from Malariatherapy data are not equivalent. Internally, a "bias" factor is used to convert values estimated by one methods to values comparable with another (see AJTMHv75 supplement 2 pp20-21). This option allows specification of which methodology the density given in the diagnostic specification is measured with. Values allowed are: Malariatherapy, Garki and Other. If not specified, Other is assumed, unless the GARKI_DENSITY_BIAS model option is used, in which case this option must be specified.
Deterministic detection
→ scenario → diagnostics → diagnostic → deterministic
<deterministic
minDensity=double
/>
Documentation (element)
Specify that an artificial deterministic test is used: outcome is positive if parasite density is at least the minimum given.
Attributes
Minimum detectible density
minDensity=double
Units: parasites/microlitre Min: 0
The minimum density at which parasites can be detected. If 0, the test outcome is always positive.
Non-deterministic detection
→ scenario → diagnostics → diagnostic → stochastic
<stochastic
dens_50=double
specificity=double
/>
Documentation (element)
An improved model of detection which is non-deterministic, including false positive results as well as false negatives.
The probability of a positive outcome is modelled as 1 + s×(x/(x+d) - 1) where x is the parasite density, d is the density at which the test outcome has a 50% chance of being positive, and s is the probability of a positive outcome given no parasites (the specificity).
Some parameterisations:
Microscopy sensitivity/specificity data in Africa; Source: expert opinion — Allan Schapira dens_50 = 20.0 specificity = .75
RDT sensitivity/specificity for Plasmodium falciparum in Africa Source: Murray et al (Clinical Microbiological Reviews, Jan. 2008) dens_50 = 50.0; specificity = .942;
Attributes
Density 50
dens_50=double
Units: parasites/microlitre Min: 0
The density at which the test outcome has a 50% chance of being positive.
Specificity
specificity=double
Units: Dimensionless Min: 0 Max: 1
The probability of a positive test outcome in the absense of parasites.
Model options and parameters
<model>
IN ANY ORDER:
| <ModelOptions ... />
| <clinical ... />
| <human ... />
| [ <vivax ... /> ]
| <parameters ... />
</model>
Documentation (element)
Encapsulation of all parameters which describe the model according to which fitting is done.
Model Options
→ scenario → model → ModelOptions
<ModelOptions>
IN THIS ORDER:
| ( <option ... /> )*
</ModelOptions>
Documentation (element)
All model options (bug fixes, choices between models, etc.).
The list of recognised options can be found in the code at:
model/util/ModelOptions.h and should also be in the wiki.
clinical
<clinical
healthSystemMemory=string
>
IN ANY ORDER:
| [ <NeonatalMortality ... /> ]
| [ <NonMalariaFevers ... /> ]
</clinical>
Documentation (type)
Description of clinical parameters that are related to the health-system description, but which contain data that cannot be changed as part of an intervention and that are not restricted to treatment.
Attributes
Follow-up period during which recurrence is considered a treatment failure
healthSystemMemory=string
Units: User-defined (defaults to steps)
Follow-up period during which a recurrence is considered to be a treatment failure Can be specified in steps (e.g. 6t) or days (e.g. 28d).
Neonatal mortality parameters
→ scenario → model → clinical → NeonatalMortality
<NeonatalMortality
diagnostic=string
/>
Attributes
Diagnostic used to parameterise model
diagnostic=string
The name of a diagnostic used to parameterise the model. Neonatal mortality is derived from malaria patency of a certain sub-population of humans. This is the diagnostic used to asses patency for this purpose. If this is not specified, the monitoring diagnostic is used.
NonMalariaFevers
→ scenario → model → clinical → NonMalariaFevers
<NonMalariaFevers>
IN THIS ORDER:
| <incidence ... />
| [ <prNeedTreatmentNMF ... /> ]
| [ <prNeedTreatmentMF ... /> ]
</NonMalariaFevers>
Documentation (type)
Description of the incidence of non-malaria fever. Non-malaria fevers are only modelled if the NON_MALARIA_FEVERS option is used.
P(NMF)
→ scenario → model → clinical → NonMalariaFevers → incidence
<incidence
[ interpolation=("none" or "linear") ]
>
IN THIS ORDER:
| ( <group ... /> )+
</incidence>
Documentation (element)
Units: Dimensionless Min: 0.0 Max: 1.0
Probability that a non-malaria fever occurs given that no concurrent malaria fever occurs.
Attributes
interpolation
interpolation=("none" or "linear")
Interpolation algorithm. Normally it is desirable for age-based values to be continuous w.r.t. age. By default linear interpolation is used. With all algorithms except "none", the age groups are converted to a set of points centred within each age range. Extra points are added at each end (zero and infinity) to keep value constant at both ends of the function. A zero-length age group may be used as a kind of barrier to adjust the distribution; e.g. with age group boundaries at 15, 20 and 25 years, a (linear) spline would be drawn between ages 17.5 and 22.5, whereas with boundaries at 15, 20 and 20 years, a spline would be drawn between ages 17.5 and 20 years (may be desired if individuals are assumed to reach adult size at 20). Algorithms:
- none: input values are used directly
- linear: straight lines (on an age vs. value graph) are used to interpolate data points.
P(need treatment | NMF)
→ scenario → model → clinical → NonMalariaFevers → prNeedTreatmentNMF
<prNeedTreatmentNMF
[ interpolation=("none" or "linear") ]
>
IN THIS ORDER:
| ( <group ... /> )+
</prNeedTreatmentNMF>
Documentation (element)
Units: Dimensionless Min: 0 Max: 1
Probability that a non-malarial fever requires treatment with antibiotics (assuming fever is not induced by malaria, although concurrent parasites may be present).
Attributes
interpolation
interpolation=("none" or "linear")
Interpolation algorithm. Normally it is desirable for age-based values to be continuous w.r.t. age. By default linear interpolation is used. With all algorithms except "none", the age groups are converted to a set of points centred within each age range. Extra points are added at each end (zero and infinity) to keep value constant at both ends of the function. A zero-length age group may be used as a kind of barrier to adjust the distribution; e.g. with age group boundaries at 15, 20 and 25 years, a (linear) spline would be drawn between ages 17.5 and 22.5, whereas with boundaries at 15, 20 and 20 years, a spline would be drawn between ages 17.5 and 20 years (may be desired if individuals are assumed to reach adult size at 20). Algorithms:
- none: input values are used directly
- linear: straight lines (on an age vs. value graph) are used to interpolate data points.
P(need treatment | MF)
→ scenario → model → clinical → NonMalariaFevers → prNeedTreatmentMF
<prNeedTreatmentMF
[ interpolation=("none" or "linear") ]
>
IN THIS ORDER:
| ( <group ... /> )+
</prNeedTreatmentMF>
Documentation (element)
Units: Dimensionless Min: 0 Max: 1
Probability that a malaria fever needs treatment with antibiotics (assuming fever is induced by malaria, although concurrent bacteria may be present).
Meaning partially overlaps with separate model for comorbidity given malaria.
Attributes
interpolation
interpolation=("none" or "linear")
Interpolation algorithm. Normally it is desirable for age-based values to be continuous w.r.t. age. By default linear interpolation is used. With all algorithms except "none", the age groups are converted to a set of points centred within each age range. Extra points are added at each end (zero and infinity) to keep value constant at both ends of the function. A zero-length age group may be used as a kind of barrier to adjust the distribution; e.g. with age group boundaries at 15, 20 and 25 years, a (linear) spline would be drawn between ages 17.5 and 22.5, whereas with boundaries at 15, 20 and 20 years, a spline would be drawn between ages 17.5 and 20 years (may be desired if individuals are assumed to reach adult size at 20). Algorithms:
- none: input values are used directly
- linear: straight lines (on an age vs. value graph) are used to interpolate data points.
human
<human>
IN THIS ORDER:
| <availabilityToMosquitoes ... />
| [ <weight ... /> ]
</human>
Documentation (type)
Parameters of host models.
Availability to mosquitoes
→ scenario → model → human → availabilityToMosquitoes
<availabilityToMosquitoes
[ interpolation=("none" or "linear") ]
>
IN THIS ORDER:
| ( <group ... /> )+
</availabilityToMosquitoes>
Documentation (element)
Units: None Min: 0 Max: 1
Availability of humans to mosquitoes relative to an adult, categorized by age group
Attributes
interpolation
interpolation=("none" or "linear")
Interpolation algorithm. Normally it is desirable for age-based values to be continuous w.r.t. age. By default linear interpolation is used. With all algorithms except "none", the age groups are converted to a set of points centred within each age range. Extra points are added at each end (zero and infinity) to keep value constant at both ends of the function. A zero-length age group may be used as a kind of barrier to adjust the distribution; e.g. with age group boundaries at 15, 20 and 25 years, a (linear) spline would be drawn between ages 17.5 and 22.5, whereas with boundaries at 15, 20 and 20 years, a spline would be drawn between ages 17.5 and 20 years (may be desired if individuals are assumed to reach adult size at 20). Algorithms:
- none: input values are used directly
- linear: straight lines (on an age vs. value graph) are used to interpolate data points.
Weight
→ scenario → model → human → weight
<weight
[ interpolation=("none" or "linear") ]
multStdDev=double
>
IN THIS ORDER:
| ( <group ... /> )+
</weight>
Documentation (element)
Units: kg Min: 0
By age group data on human weight (mass).
Attributes
interpolation
interpolation=("none" or "linear")
Interpolation algorithm. Normally it is desirable for age-based values to be continuous w.r.t. age. By default linear interpolation is used. With all algorithms except "none", the age groups are converted to a set of points centred within each age range. Extra points are added at each end (zero and infinity) to keep value constant at both ends of the function. A zero-length age group may be used as a kind of barrier to adjust the distribution; e.g. with age group boundaries at 15, 20 and 25 years, a (linear) spline would be drawn between ages 17.5 and 22.5, whereas with boundaries at 15, 20 and 20 years, a spline would be drawn between ages 17.5 and 20 years (may be desired if individuals are assumed to reach adult size at 20). Algorithms:
- none: input values are used directly
- linear: straight lines (on an age vs. value graph) are used to interpolate data points.
Standard deviation
multStdDev=double
Units: None Min: 0
Each human is assigned a weight multiplier from a normal distribution with mean 1 and this standard deviation at birth. His/her weight is this multiplier times the mean from age distribution. A standard deviation of zero for no heterogeneity is valid; a rough value from Tanzanian data is 0.14.
Vivax model parameters
<vivax>
IN ANY ORDER:
| <probBloodStageInfectiousToMosq ... />
| <hypnozoiteRelease ... />
| <bloodStageProtectionLatency ... />
| <bloodStageLengthDays ... />
| <clinicalEvents ... />
</vivax>
- probBloodStageInfectiousToMosq
- hypnozoiteRelease
- bloodStageProtectionLatency
- bloodStageLengthDays
- clinicalEvents
Documentation (element)
This describes Vivax model parameters, and is required when using the VIVAX_SIMPLE_MODEL model option.
Probability of mosquito infection
→ scenario → model → vivax → probBloodStageInfectiousToMosq
<probBloodStageInfectiousToMosq
value=double
/>
Documentation (element)
Units: None Min: 0 Max: 1
The chance of a feeding mosquito becoming infected, given that the host is patent. (This may be adjusted by transmission-blocking vaccines.)
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Hypnozoite releases
→ scenario → model → vivax → hypnozoiteRelease
<hypnozoiteRelease
[ pSecondRelease=double ] DEFAULT VALUE 0
>
IN ANY ORDER:
| <numberHypnozoites ... />
| <firstRelease ... />
| [ <secondRelease ... /> ]
</hypnozoiteRelease>
Documentation (element)
Describes the number and times of hypnozoite releases.
Documentation (type)
This element defines probabilites when and how many hypnozoites are released from the liverstage into the blood.
The gap between the start of a new brood of hypnozoites and its release are defined as follows:
latentP + latentRelapseDays + randomReleaseDelay
randomReleaseDelay is based on one or two lognormal distributions, which are defined in firstRelease and optionally secondRelease.
You can define 2 release distributions, which get added together and represent the probability of hypnozoites which get released before winter (first release) or after (second release).
You can omit the secondRelease element if no release to the blood happens after winter.
Attributes
latent relapse days
pSecondRelease=double
Default value: 0
Probability of a second release. If undefined it is zero.
Number of Hypnozoites
→ scenario → model → vivax → hypnozoiteRelease → numberHypnozoites
<numberHypnozoites
max=int
base=double
/>
Documentation (element)
numberHypnozoites calculates the number of hypnozoites in the liver stage based on a base which is between 0 and 1.
This number is random based on the following distribution and normalized:
max ∑ (base ^ n) n = 0
Attributes
max
max=int
base
base=double
firstRelease
→ scenario → model → vivax → hypnozoiteRelease → firstRelease
<firstRelease
mu=double
sigma=double
latentRelapseDays=int
/>
Documentation (base type)
Parameters of a normal distribution.
Variates are sampled as: X ~ N( mu, sigma² ).
Attributes
mu
mu=double
Units: (same as base units)
The mean of the normal distribution.
sigma
sigma=double
Units: (same as base units)
The standard deviation of variates.
latent relapse days
latentRelapseDays=int
Usually 15 days or 10 days (3 or 2 5-day timesteps).
secondRelease
→ scenario → model → vivax → hypnozoiteRelease → secondRelease
<secondRelease
mu=double
sigma=double
latentRelapseDays=int
/>
Documentation (base type)
Parameters of a normal distribution.
Variates are sampled as: X ~ N( mu, sigma² ).
Attributes
mu
mu=double
Units: (same as base units)
The mean of the normal distribution.
sigma
sigma=double
Units: (same as base units)
The standard deviation of variates.
latent relapse days
latentRelapseDays=int
Usually 15 days or 10 days (3 or 2 5-day timesteps).
Blood stage protection latency
→ scenario → model → vivax → bloodStageProtectionLatency
<bloodStageProtectionLatency
value=double
/>
Documentation (element)
Min: 0
The length of time after expiry of a blood-stage infection during which relapses from the same brood are supressed by the immune system.
This is rounded to the nearest time-step.
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Blood stage length
→ scenario → model → vivax → bloodStageLengthDays
<bloodStageLengthDays
weibullScale=double
weibullShape=double
/>
Documentation (element)
Units: Days
Parameters used to sample the length of blood-stage infections from a Weibull distribution (scale parameter lambda, shape parameter k).
Attributes
weibullScale
weibullScale=double
weibullShape
weibullShape=double
clinicalEvents
→ scenario → model → vivax → clinicalEvents
<clinicalEvents>
IN THIS ORDER:
| <pPrimaryInfection ... />
| <pRelapseOne ... />
| <pRelapseTwoPlus ... />
| <pEventIsSevere ... />
</clinicalEvents>
Documentation (type)
This elements holds all information about probabilites for clinical events from infections and relapses.
pPrimaryInfection
→ scenario → model → vivax → clinicalEvents → pPrimaryInfection
<pPrimaryInfection
a=double
b=double
/>
Attributes
a
a=double
b
b=double
pRelapseOne
→ scenario → model → vivax → clinicalEvents → pRelapseOne
<pRelapseOne
a=double
b=double
/>
Attributes
a
a=double
b
b=double
pRelapseTwoPlus
→ scenario → model → vivax → clinicalEvents → pRelapseTwoPlus
<pRelapseTwoPlus
a=double
b=double
/>
Attributes
a
a=double
b
b=double
pEventIsSevere
→ scenario → model → vivax → clinicalEvents → pEventIsSevere
<pEventIsSevere
value=double
/>
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Parameters of the model of epidemiology
→ scenario → model → parameters
<parameters
interval=int
iseed=int
latentp=string
>
IN THIS ORDER:
| ( <parameter ... /> )+
</parameters>
Documentation (element)
Parameters of the epidemiological model
Attributes
Simulation step
interval=int
Units: Days
Simulation step
Random number seed
iseed=int
Units: Number
Seed for RNG
Pre-erythrocytic latent period
latentp=string
Units: User defined (default: steps) Min: 0 Max: 20
Pre-erythrocytic latent period Can be specified in steps (e.g. 3t) or days (e.g. 15d).
parameter
→ scenario → model → parameters → parameter
<parameter
[ name=string ]
number=int
value=double
[ include=boolean ]
/>
Attributes
Name of parameter
name=string
Units: string
Name of parameter
Parameter number
number=int
Units: Number Min: 1 Max: 100
Reference number of input parameter
Parameter value
value=double
Units: Number Min: 0
Parameter value
Sampling indicator
include=boolean
Units: Number Min: 0 Max: 1
True if parameter is to be sampled in optimization runs. Not used in simulator app.
Schema 38 documentation
Generated from: scenario_38.xsd
.
Key:
abc required (one)
[ def ] optional (zero or one)
( ghi )* any number (zero or more)
( jkl )+ at least one
( mno ){2,inf} two or more occurrences
Scenario
→ scenario
<scenario
schemaVersion=int
[ analysisNo=int ]
name=string
[ wuID=int ]
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:om="http://openmalaria.org/schema/scenario_38"
xsi:schemaLocation="http://openmalaria.org/schema/scenario_38 scenario_38.xsd"
>
IN ANY ORDER:
| <demography ... />
| <monitoring ... />
| <interventions ... />
| <healthSystem ... />
| <entomology ... />
| [ <parasiteGenetics ... /> ]
| [ <pharmacology ... /> ]
| [ <diagnostics ... /> ]
| <model ... />
</scenario>
- demography
- monitoring
- interventions
- healthSystem
- entomology
- parasiteGenetics
- pharmacology
- diagnostics
- model
Documentation (element)
Description of scenario
Attributes
Version of the xml schema
schemaVersion=int
Version of xml schema. If not equal to the current version an error is thrown. Use SchemaTranslator to update xml files.
Reference number of the analysis
analysisNo=int
Units: Number Min: 1 Max: 100000000
Unique identifier of scenario
Name of intervention
name=string
Name of intervention
Work unit identifier
wuID=int
Units: Number
Work unit ID. Obselete and no longer required.
Human age distribution
→ scenario → demography
<demography
name=string
popSize=int
maximumAgeYrs=double
[ growthRate=double ]
>
IN THIS ORDER:
| <ageGroup ... />
</demography>
Documentation (element)
Description of demography
Attributes
Name of demography data
name=string
Name of demography data
Population size
popSize=int
Units: Count Min: 1 Max: 100000
Population size
Maximum age of simulated humans
maximumAgeYrs=double
Units: Years Min: 0 Max: 100
Maximum age of simulated humans in years
Growth rate of human population
growthRate=double
Units: Number Min: 0 Max: 0
Growth rate of human population. (we should be able to implement this with non-zero values)
Age groups
→ scenario → demography → ageGroup
<ageGroup
lowerbound=double
>
IN THIS ORDER:
| ( <group ... /> )+
</ageGroup>
Documentation (element)
list of age groups included in demography
Documentation (type)
list of age groups included in demography or surveys
Attributes
Lower bound of age group
lowerbound=double
Units: Years Min: 0 Max: 100
Lower bound of age group
group
→ scenario → demography → ageGroup → group
<group
poppercent=double
upperbound=double
/>
Attributes
Percentage in age group
poppercent=double
Units: Percentage Min: 0 Max: 100
Percentage of human population in age group
Upper bound of age group
upperbound=double
Units: Years Min: 0 Max: 100
Upper bound of age group
Measures to be reported
→ scenario → monitoring
<monitoring
name=string
[ startDate=string ]
>
IN THIS ORDER:
| [ <continuous ... /> ]
| <SurveyOptions ... />
| <surveys ... />
| <ageGroup ... />
| [ <cohorts ... /> ]
</monitoring>
Documentation (element)
Description of surveys
Attributes
Name of monitoring settings
name=string
Name of monitoring settings
Start of monitoring
startDate=string
An optional date for the start of monitoring. If given, dates may be used to specify when other events (surveys, intervention deployments) occur; alternately times relative to the start of the intervention period may be used to specify event times. Setting this to 1st January of some year might simplify usage of dates, and putting the start a couple of years before the start of intervention deployment (along with some extra surveys) may be useful to check transmission stabilises to the expected pre-intervention levels. As an example, if this date is set to 2000-01-01, then the following event times are equivalent (assuming 1t=5d): 15t, 75d, 0.2y, 2000-03-16. Must be in the form YYYY-MM-DD, e.g. 2003-01-01.
continuous
→ scenario → monitoring → continuous
<continuous
period=string
[ duringInit=boolean ]
>
IN THIS ORDER:
| ( <option ... /> )*
</continuous>
Attributes
Delay between reports
period=string
Units: User defined (default: steps)
Delay between reports; typically one time step but can be greater. Can be specified in steps (e.g. 1t) or days (e.g. 5d).
During initialization
duringInit=boolean
Units: Days Min: 1 Max: unbounded
Also output during initialization. By default this is disabled (only intervention-period data is output). This should not be used for predictions, but can be useful for model validation. In this mode, 'simulation time' is output as the first column (in addition to 'timestep'), since 'timestep' is dis- continuous across the start of the intervention period.
option
→ scenario → monitoring → continuous → option
<option
name=string
[ value=boolean ] DEFAULT VALUE true
/>
Attributes
Option name
name=string
Name of an option (monitoring measure or model option).
Indicator of whether option is required
value=boolean
Default value: true
Option on/off switch (true/false). Specifying value="true" is the same as not specifying a value; specifying value="false" explicitly turns the option off. If an option is not mentioned at all, it is left at its default value (normally off, but in a few cases, such as some bug-fix options, on).
Name of quantity
→ scenario → monitoring → SurveyOptions
<SurveyOptions
[ onlyNewEpisode=boolean ] DEFAULT VALUE false
>
IN THIS ORDER:
| ( <option ... /> )*
</SurveyOptions>
Documentation (element)
List of all active survey options. See model/mon/OutputMeasures.h for a list of supported outputs. Should also be on the wiki.
Attributes
Report only for new cases
onlyNewEpisode=boolean
Default value: false
If set, some statistics exclude humans who have been treated in the recent past (precisely, when the time of last treatment was before the current step and no more than health-system-memory days/steps ago). This is a rough replacement for the REPORT_ONLY_AT_RISK option, with one difference: the maximum age of treatment for REPORT_ONLY_AT_RISK was fixed at 20 days. Affected measures include (as of version 35): nHost (0), nInfect(1), nExpectd (2), nPatent (3), sumLogPyrogenThres (4), sumlogDens (5), totalInfs (6), totalPatentInf (8), sumPyrogenThresh (10), nSubPopRemovalFirstEvent (62), sumAge (68), nInfectByGenotype (69), nPatentByGenotype (70), logDensByGenotype (71), nHostDrugConcNonZero (72), sumLogDrugConcNonZero (73).
option
→ scenario → monitoring → SurveyOptions → option
<option
name=string
[ value=boolean ] DEFAULT VALUE true
[ outputNumber=int ]
[ byAge=boolean ]
[ byCohort=boolean ]
[ bySpecies=boolean ]
[ byGenotype=boolean ]
[ byDrugType=boolean ]
/>
Attributes
Option name
name=string
Name of an option (monitoring measure or model option).
Indicator of whether option is required
value=boolean
Default value: true
Option on/off switch (true/false). Specifying value="true" is the same as not specifying a value; specifying value="false" explicitly turns the option off. If an option is not mentioned at all, it is left at its default value (normally off, but in a few cases, such as some bug-fix options, on).
Number identifying measure in output
outputNumber=int
Number identifying this monitoring measure in the output file (3rd column). Normally this is determined from the measure, but it can be set manually, e.g. for when the same measure is recorded twice (to accumulate across different categories).
Report by age category
byAge=boolean
If true, the measure is reported for each age category. If false, values are summed across all age categories and only the sum reported. If not specified, separate categories will be reported if the measure supports this.
Report by cohort
byCohort=boolean
If true, the measure is reported for each cohort separately. If false, values are summed across all cohorts and only the sum reported. If not specified, separate categories will be reported if the measure supports this.
Report by mosquito species
bySpecies=boolean
If true, the measure is reported for each mosquito species separately. If false, values are summed across all species and only the sum reported. If not specified, separate categories will be reported if the measure supports this.
Report by parasite genotype
byGenotype=boolean
If true, the measure is reported for each parasite genotype separately. If false, values are summed across all genotypes and only the sum reported. If not specified, separate categories will be reported if the measure supports this.
Report by drug type
byDrugType=boolean
If true, the measure is reported for each drug type separately. If false, values are summed across all drug types and only the sum reported. If not specified, separate categories will be reported if the measure supports this.
Survey times (time steps)
→ scenario → monitoring → surveys
<surveys
[ detectionLimit=double ]
[ diagnostic=string ]
>
IN THIS ORDER:
| ( <surveyTime ... /> )+
</surveys>
Documentation (element)
List of survey times
Attributes
Detection limit for parasitaemia
detectionLimit=double
Units: parasites/microlitre Min: 0
Deprecated: limit above which a human's infection is reported as patent. Alternative: do not specify this; instead specify "diagnostic".
Name of monitoring diagnostic
diagnostic=string
Name of a parameterised diagnostic to use in surveys (see scenario/diagnostics).
Survey time
→ scenario → monitoring → surveys → surveyTime
<surveyTime
[ repeatStep=string ]
[ repeatEnd=string ]
[ reported=boolean ] DEFAULT VALUE true
>
string
</surveyTime>
Documentation (element)
Units: User defined (defaults to steps) Min: 0
Time of a survey. A report will be made for those measures enabled under SurveyOptions. Reported data is either from the moment the survey is done (immediate data) or is collected over the time since the previous survey, or in some cases over a fixed time span (usually one year).
Times can be specified in time steps, starting from 0, or as a date (see monitoring/startDate), or in days (e.g. 15d) or years (e.g. 1y). Relative times mean the time since the start of the intervention period, and must be non-negative (zero is valid, but some measures, e.g. nUncomp, will be zero).
The simulation ends immediately after the last survey is taken.
Attributes
Step of repetition
repeatStep=string
Units: User defined
See repeatEnd's documentation.
End of repetition (exclusive)
repeatEnd=string
Units: User defined
Either both repeatStep and repeatEnd should be present or neither. If present, the survey is repeated every repeatStep timesteps (i.e. if t0 is the initial time and x is repeatStep, surveys are done at times t0, t0+x, t0+2*x, ...), ending before repeatEnd (final repetition is the one before repeatEnd). Note that repeatEnd may be specified as a date but repeatStep must be a duration (days, steps or years).
reported
reported=boolean
Default value: true
For normal surveys, reporting=true. If set false, quantities are measured but not reported. The reason for doing this is to update conditions set on reportable measures. Multiple surveys may be given here for the same date, e.g. if using "repeatStep" for both reporting and non-reporting surveys. These are combined such that a maximum of one survey is carried out per time-step, and the survey is reported if any of the listed surveys for this date is configured as "reporting". Note that adding non-reporting surveys will not affect value output by reported surveys, with the exception that generated psuedo-random numbers may be altered (specifically, when any stochastic diagnostics are used in surveys).
Age groups
→ scenario → monitoring → ageGroup
<ageGroup
lowerbound=double
>
IN THIS ORDER:
| ( <group ... /> )+
</ageGroup>
Documentation (element)
List of age groups included in demography or surveys
Attributes
lower bound of age group
lowerbound=double
Units: Years Min: 0 Max: 100
Lower bound of age group
group
→ scenario → monitoring → ageGroup → group
<group
upperbound=double
/>
Attributes
upper bound of age group
upperbound=double
Units: Years Min: 0 Max: 100
Upper bound of age group
Cohorts
→ scenario → monitoring → cohorts
<cohorts>
IN THIS ORDER:
| ( <subPop ... /> )+
</cohorts>
Documentation (element)
Allows the configuration of multiple cohorts (output segregated according to membership within specific sub-populations).
If this element is omitted, monitoring surveys cover the entire simulated human population.
It does not affect the "continuous" outputs (these never take cohorts into account).
Sub-population
→ scenario → monitoring → cohorts → subPop
<subPop
id=string
number=integer
/>
Documentation (element)
Consider a certain sup-population a cohort, and segregate outputs according to membership. Where multiple sub-populations are listed, segregate output according to all combinations of membership: e.g. if sub-populations A and B are listed, there will be outputs for "member of A and B", "member of A but not B", "B but not A" and "not a member of A or B". Listing n sub-populations implies 2^n sets of outputs (each is further segregated by age groups, survey times and enabled output measures, which could lead to excessive program memory usage and output file size).
To identify outputs, each sub-population has a power of two number as identifier (see "number" attribute). Each of the 2^n output sets is identified by a number: the output set is the output from humans who are members in some set of sub-populations (S1, S2, ...) and not members in some others (T1, T2, ...); the number identifying the set is the sum of the numbers identifying the sets S1, S2, etc.
In the output file, the output set is identified by multiplying this number by 1000 then adding it to the age group column.
Attributes
Sub-population identifier
id=string
Textual identifier for the sub-population (i.e. for an intervention component, since sub-populations are defined as the hosts an intervention component is deployed to).
Sub-population number
number=integer
Units: dimensionless Min: 1 Max: 2097152
Number identifying a sub-population; used to define identifiers of output sets. This number must be a power of 2 (i.e. 1, 2, 4, 8, ...). See documentation of subPop element.
Preventative interventions
<interventions
name=string
>
IN ANY ORDER:
| [ <changeHS ... /> ]
| [ <changeEIR ... /> ]
| [ <importedInfections ... /> ]
| [ <insertR_0Case ... /> ]
| [ <uninfectVectors ... /> ]
| [ <vectorPop ... /> ]
| [ <vectorTrap ... /> ]
| [ <human ... /> ]
</interventions>
Documentation (element)
List of interventions. Generally these are either point-time distributions of something to some subset of the population, or continuous-time distribution targetting individuals when they reach a certain age.
Attributes
Name of intervention set
name=string
Name of set of interventions
Change health system
→ scenario → interventions → changeHS
<changeHS
[ name=string ]
>
IN THIS ORDER:
| ( <timedDeployment ... /> )*
</changeHS>
Documentation (element)
Changes to the health system
Attributes
Name of intervention
name=string
Name of intervention
timedDeployment
→ scenario → interventions → changeHS → timedDeployment
<timedDeployment
time=string
>
IN THIS ORDER:
| EXACTLY ONE OF:
| | <EventScheduler ... />
| | <ImmediateOutcomes ... />
| | <DecisionTree5Day ... />
| <CFR ... />
| <pSequelaeInpatient ... />
</timedDeployment>
Documentation (type)
A complete replacement health system. Replaces all previous properties. (Health system can be replaced multiple times if necessary.)
Documentation (base type)
Description of case management system, used to specify the initial model or a replacement (an intervention). Encompasses case management data and some other data required to derive case outcomes.
Contains a sub-element describing the particular health-system in use. Health system data is here defined as data used to decide on a treatment strategy, given a case requiring treatment.
Attributes
Time
time=string
Units: User defined (defauls to steps) Min: 0
Time at which this replacement occurs. See doc on intervention period and on monitoring/startDate for details of how times work. Can be specified in steps, days, years, or as a date (examples: 15t, 75d, 0.2y, 2000-03-16).
EventScheduler
→ scenario → healthSystem → EventScheduler
<EventScheduler>
IN THIS ORDER:
| <uncomplicated ... />
| <complicated ... />
| <ClinicalOutcomes ... />
| [ <NonMalariaFevers ... /> ]
</EventScheduler>
uncomplicated
→ scenario → healthSystem → EventScheduler → uncomplicated
<uncomplicated
[ name=string ]
>
EXACTLY ONE OF:
| <multiple ... />
| <caseType ... />
| <diagnostic ... />
| <random ... />
| <age ... />
| <noTreatment ... />
| <treatFailure ... />
| ( <treatPKPD ... /> )+
| <treatSimple ... />
| ( <deploy ... /> )+
</uncomplicated>
Documentation (type)
Describes how "decisions" are made, both probabilistically and deterministically, and what actions are carried out.
Quantities may also be reported as a side effect of decisions made in the tree, for example the number of diagnostics used.
Attributes
Name
name=string
An optional piece of documentation attached to this node.
multiple
→ scenario → interventions → human → component → decisionTree → multiple
<multiple
[ name=string ]
>
IN THIS ORDER:
| ( <caseType ... /> )*
| ( <diagnostic ... /> )*
| ( <random ... /> )*
| ( <age ... /> )*
| ( <treatPKPD ... /> )*
| [ <treatSimple ... /> ]
| ( <deploy ... /> )*
</multiple>
Documentation (type)
A special node allowing multiple sub-trees to be evaluated.
This is different from an ordinary decision tree node in that:
a) multiple types of child can occur simultaneously (e.g. multiple types of treatment or treatment plus a 'random' sub-tree)
b) the 'noTreatment' and 'treatFailure' nodes are not allowed
Attributes
Name
name=string
An optional piece of documentation attached to this node.
caseType
→ scenario → interventions → human → component → decisionTree → multiple → caseType
<caseType
[ name=string ]
>
IN ANY ORDER:
| <firstLine ... />
| <secondLine ... />
</caseType>
Documentation (type)
A switch which choses a branch deterministically, based on whether the patient was treated recently (second line) or not (first line).
For uncomplicated cases only.
Attributes
Name
name=string
An optional piece of documentation attached to this node.
firstLine
→ scenario → interventions → human → component → decisionTree → multiple → caseType → firstLine
<firstLine
[ name=string ]
>
EXACTLY ONE OF:
| <multiple ... />
| <caseType ... />
| <diagnostic ... />
| <random ... />
| <age ... />
| <noTreatment ... />
| <treatFailure ... />
| ( <treatPKPD ... /> )+
| <treatSimple ... />
| ( <deploy ... /> )+
</firstLine>
Documentation (type)
Describes how "decisions" are made, both probabilistically and deterministically, and what actions are carried out.
Quantities may also be reported as a side effect of decisions made in the tree, for example the number of diagnostics used.
Attributes
Name
name=string
An optional piece of documentation attached to this node.
caseType
→ scenario → interventions → human → component → decisionTree → caseType
<caseType
[ name=string ]
>
IN ANY ORDER:
| <firstLine ... />
| <secondLine ... />
</caseType>
Documentation (type)
A switch which choses a branch deterministically, based on whether the patient was treated recently (second line) or not (first line).
For uncomplicated cases only.
Attributes
Name
name=string
An optional piece of documentation attached to this node.
secondLine
→ scenario → interventions → human → component → decisionTree → multiple → caseType → secondLine
<secondLine
[ name=string ]
>
EXACTLY ONE OF:
| <multiple ... />
| <caseType ... />
| <diagnostic ... />
| <random ... />
| <age ... />
| <noTreatment ... />
| <treatFailure ... />
| ( <treatPKPD ... /> )+
| <treatSimple ... />
| ( <deploy ... /> )+
</secondLine>
Documentation (type)
Describes how "decisions" are made, both probabilistically and deterministically, and what actions are carried out.
Quantities may also be reported as a side effect of decisions made in the tree, for example the number of diagnostics used.
Attributes
Name
name=string
An optional piece of documentation attached to this node.
diagnostic
→ scenario → interventions → human → component → decisionTree → diagnostic
<diagnostic
diagnostic=string
[ name=string ]
>
IN ANY ORDER:
| <positive ... />
| <negative ... />
</diagnostic>
Documentation (type)
A switch which choses a branch deterministically, based on the outcome of some type of diagnostic.
Attributes
Name of diagnostic
diagnostic=string
Should match the name of some parameterised diagnostic (see scenario/diagnostics).
Name
name=string
An optional piece of documentation attached to this node.
positive
→ scenario → interventions → human → component → decisionTree → multiple → diagnostic → positive
<positive
[ name=string ]
>
EXACTLY ONE OF:
| <multiple ... />
| <caseType ... />
| <diagnostic ... />
| <random ... />
| <age ... />
| <noTreatment ... />
| <treatFailure ... />
| ( <treatPKPD ... /> )+
| <treatSimple ... />
| ( <deploy ... /> )+
</positive>
Documentation (type)
Describes how "decisions" are made, both probabilistically and deterministically, and what actions are carried out.
Quantities may also be reported as a side effect of decisions made in the tree, for example the number of diagnostics used.
Attributes
Name
name=string
An optional piece of documentation attached to this node.
random
→ scenario → interventions → human → component → decisionTree → random
<random
[ name=string ]
>
IN THIS ORDER:
| ( <outcome ... /> )+
</random>
Documentation (type)
A switch which choses a branch randomly.
Each branch must be listed with a probability; the sum of all these probabilities must equal 1.
Attributes
Name
name=string
An optional piece of documentation attached to this node.
outcome
→ scenario → interventions → human → component → decisionTree → multiple → random → outcome
<outcome
[ name=string ]
p=double
>
EXACTLY ONE OF:
| <multiple ... />
| <caseType ... />
| <diagnostic ... />
| <random ... />
| <age ... />
| <noTreatment ... />
| <treatFailure ... />
| ( <treatPKPD ... /> )+
| <treatSimple ... />
| ( <deploy ... /> )+
</outcome>
Documentation (base type)
Describes how "decisions" are made, both probabilistically and deterministically, and what actions are carried out.
Quantities may also be reported as a side effect of decisions made in the tree, for example the number of diagnostics used.
Attributes
Name
name=string
An optional piece of documentation attached to this node.
Probability
p=double
Units: None Min: 0 Max: 1
Probability of selecting this outcome. The sum of probabilities across all outcomes must be 1.
age
→ scenario → interventions → human → component → decisionTree → age
<age
[ name=string ]
>
IN THIS ORDER:
| ( <age ... /> )+
</age>
Documentation (type)
A switch which choses a branch deterministically, based on the patient's age (in years).
Categories must uniquely cover all ages from birth, with no upper bound. Categories must be listed in order of age, increasing; the first must have lower bound 0. Upper bounds are equal to the lower bound of the next category, (but are exclusive where lower bounds are inclusive); the last category has no upper bound.
Attributes
Name
name=string
An optional piece of documentation attached to this node.
Age range
→ scenario → interventions → human → component → decisionTree → multiple → age → age
<age
[ name=string ]
lb=double
>
EXACTLY ONE OF:
| <multiple ... />
| <caseType ... />
| <diagnostic ... />
| <random ... />
| <age ... />
| <noTreatment ... />
| <treatFailure ... />
| ( <treatPKPD ... /> )+
| <treatSimple ... />
| ( <deploy ... /> )+
</age>
Documentation (element)
Describes a branch, selected for patients of a certain age.
Documentation (base type)
Describes how "decisions" are made, both probabilistically and deterministically, and what actions are carried out.
Quantities may also be reported as a side effect of decisions made in the tree, for example the number of diagnostics used.
Attributes
Name
name=string
An optional piece of documentation attached to this node.
Lower bound (inclusive)
lb=double
Min: 0
noTreatment
→ scenario → interventions → human → component → decisionTree → noTreatment
<noTreatment
[ name=string ]
/>
Documentation (type)
An end node doing nothing. This exists to explicitly state that no treatment happens and to prevent trees from accidentally being left incomplete.
Attributes
Name
name=string
An optional piece of documentation attached to this node.
treatFailure
→ scenario → interventions → human → component → decisionTree → treatFailure
<treatFailure
[ name=string ]
/>
Documentation (type)
An end node which reports treatment but does not change parasitalogical status. This allows correct labelling of second-line cases.
Attributes
Name
name=string
An optional piece of documentation attached to this node.
treatPKPD
→ scenario → interventions → human → component → decisionTree → treatPKPD
<treatPKPD
schedule=string
dosage=string
[ delay_h=double ] DEFAULT VALUE 0
/>
Documentation (type)
A command to administer drugs according to a given schedule and dosage table, optionally with a delay.
Attributes
Name of treatment schedule
schedule=string
The name of a schedule to use for treatment.
Name of dosage table
dosage=string
The name of a dosage table to use for treatment.
Delay (hours)
delay_h=double
Default value: 0
Optionally, this can be given to delay the start of treatment by a given number of hours. If not specified, treatment is not delayed. If a delay is given, all medications within the treatment schedule used are delayed by this number of hours.
treatSimple
→ scenario → interventions → human → component → decisionTree → treatSimple
<treatSimple
durationLiver=string
durationBlood=string
/>
Documentation (type)
Simple treatment model, targetting liver- and/or blood-stage infections. This is all-or-nothing treatment which, when deploymed, completely clears all infections of the targetted stages. This makes it unsuitable for modeling resistance, but suitable for use with simple infection models.
Infections are considered liver-stage when less than five days old and blood-stage after that. Effects are described independently for the two stages.
Attributes
Length of liver-stage effect
durationLiver=string
Units: User defined
Controls action on liver-stage infections. 0 means no action, -1 step is a compatibility option to act like treatment before schema version 32 (which removed infections retrospectively), 1 step or any duration which equals some whole number of steps n>0 means to clear all liver-stage infections found on the next 1 or n steps. Note on -1 compatibility option: the main difference to 1 step (clearing on the next timestep) is that parasite densities will be reduced immediately, and thus from the point of view of surveys and mass screen and treat interventions a peak in density which is immediately treated through case management will not be seen. Can be specified in steps (e.g. 1t, -1t) or days (e.g. 5d).
Length of blood-stage effect
durationBlood=string
Units: User defined
Controls action on blood-stage infections. 0 means no action, -1 step is a compatibility option to act like treatment before schema version 32 (which removed infections retrospectively), 1 step or any duration which equals some whole number of steps n>0 means to clear all blood-stage infections found on the next 1 or n steps. Note on -1 compatibility option: the main difference to 1 step (clearing on the next timestep) is that parasite densities will be reduced immediately, and thus from the point of view of surveys and mass screen and treat interventions a peak in density which is immediately treated through case management will not be seen. Can be specified in steps (e.g. 1t, -1t) or days (e.g. 5d).
deploy
→ scenario → interventions → human → component → decisionTree → deploy
<deploy
component=string
/>
Documentation (type)
Deploy one or more intervention components.
Attributes
Component identifier
component=string
The identifier (short name) of a component.
negative
→ scenario → interventions → human → component → decisionTree → multiple → diagnostic → negative
<negative
[ name=string ]
>
EXACTLY ONE OF:
| <multiple ... />
| <caseType ... />
| <diagnostic ... />
| <random ... />
| <age ... />
| <noTreatment ... />
| <treatFailure ... />
| ( <treatPKPD ... /> )+
| <treatSimple ... />
| ( <deploy ... /> )+
</negative>
Documentation (type)
Describes how "decisions" are made, both probabilistically and deterministically, and what actions are carried out.
Quantities may also be reported as a side effect of decisions made in the tree, for example the number of diagnostics used.
Attributes
Name
name=string
An optional piece of documentation attached to this node.
diagnostic
→ scenario → interventions → human → component → decisionTree → multiple → diagnostic
<diagnostic
diagnostic=string
[ name=string ]
>
IN ANY ORDER:
| <positive ... />
| <negative ... />
</diagnostic>
Documentation (type)
A switch which choses a branch deterministically, based on the outcome of some type of diagnostic.
Attributes
Name of diagnostic
diagnostic=string
Should match the name of some parameterised diagnostic (see scenario/diagnostics).
Name
name=string
An optional piece of documentation attached to this node.
random
→ scenario → interventions → human → component → decisionTree → multiple → random
<random
[ name=string ]
>
IN THIS ORDER:
| ( <outcome ... /> )+
</random>
Documentation (type)
A switch which choses a branch randomly.
Each branch must be listed with a probability; the sum of all these probabilities must equal 1.
Attributes
Name
name=string
An optional piece of documentation attached to this node.
age
→ scenario → interventions → human → component → decisionTree → multiple → age
<age
[ name=string ]
>
IN THIS ORDER:
| ( <age ... /> )+
</age>
Documentation (type)
A switch which choses a branch deterministically, based on the patient's age (in years).
Categories must uniquely cover all ages from birth, with no upper bound. Categories must be listed in order of age, increasing; the first must have lower bound 0. Upper bounds are equal to the lower bound of the next category, (but are exclusive where lower bounds are inclusive); the last category has no upper bound.
Attributes
Name
name=string
An optional piece of documentation attached to this node.
treatPKPD
→ scenario → interventions → human → component → decisionTree → multiple → treatPKPD
<treatPKPD
schedule=string
dosage=string
[ delay_h=double ] DEFAULT VALUE 0
/>
Documentation (type)
A command to administer drugs according to a given schedule and dosage table, optionally with a delay.
Attributes
Name of treatment schedule
schedule=string
The name of a schedule to use for treatment.
Name of dosage table
dosage=string
The name of a dosage table to use for treatment.
Delay (hours)
delay_h=double
Default value: 0
Optionally, this can be given to delay the start of treatment by a given number of hours. If not specified, treatment is not delayed. If a delay is given, all medications within the treatment schedule used are delayed by this number of hours.
treatSimple
→ scenario → interventions → human → component → decisionTree → multiple → treatSimple
<treatSimple
durationLiver=string
durationBlood=string
/>
Documentation (type)
Simple treatment model, targetting liver- and/or blood-stage infections. This is all-or-nothing treatment which, when deploymed, completely clears all infections of the targetted stages. This makes it unsuitable for modeling resistance, but suitable for use with simple infection models.
Infections are considered liver-stage when less than five days old and blood-stage after that. Effects are described independently for the two stages.
Attributes
Length of liver-stage effect
durationLiver=string
Units: User defined
Controls action on liver-stage infections. 0 means no action, -1 step is a compatibility option to act like treatment before schema version 32 (which removed infections retrospectively), 1 step or any duration which equals some whole number of steps n>0 means to clear all liver-stage infections found on the next 1 or n steps. Note on -1 compatibility option: the main difference to 1 step (clearing on the next timestep) is that parasite densities will be reduced immediately, and thus from the point of view of surveys and mass screen and treat interventions a peak in density which is immediately treated through case management will not be seen. Can be specified in steps (e.g. 1t, -1t) or days (e.g. 5d).
Length of blood-stage effect
durationBlood=string
Units: User defined
Controls action on blood-stage infections. 0 means no action, -1 step is a compatibility option to act like treatment before schema version 32 (which removed infections retrospectively), 1 step or any duration which equals some whole number of steps n>0 means to clear all blood-stage infections found on the next 1 or n steps. Note on -1 compatibility option: the main difference to 1 step (clearing on the next timestep) is that parasite densities will be reduced immediately, and thus from the point of view of surveys and mass screen and treat interventions a peak in density which is immediately treated through case management will not be seen. Can be specified in steps (e.g. 1t, -1t) or days (e.g. 5d).
deploy
→ scenario → interventions → human → component → decisionTree → multiple → deploy
<deploy
component=string
/>
Documentation (type)
Deploy one or more intervention components.
Attributes
Component identifier
component=string
The identifier (short name) of a component.
complicated
→ scenario → healthSystem → EventScheduler → complicated
<complicated
[ name=string ]
>
EXACTLY ONE OF:
| <multiple ... />
| <caseType ... />
| <diagnostic ... />
| <random ... />
| <age ... />
| <noTreatment ... />
| <treatFailure ... />
| ( <treatPKPD ... /> )+
| <treatSimple ... />
| ( <deploy ... /> )+
</complicated>
Documentation (type)
Describes how "decisions" are made, both probabilistically and deterministically, and what actions are carried out.
Quantities may also be reported as a side effect of decisions made in the tree, for example the number of diagnostics used.
Attributes
Name
name=string
An optional piece of documentation attached to this node.
ClinicalOutcomes
→ scenario → healthSystem → EventScheduler → ClinicalOutcomes
<ClinicalOutcomes>
IN THIS ORDER:
| <maxUCSeekingMemory ... />
| <uncomplicatedCaseDuration ... />
| <complicatedCaseDuration ... />
| <complicatedRiskDuration ... />
| ( <dailyPrImmUCTS ... /> )+
</ClinicalOutcomes>
- maxUCSeekingMemory
- uncomplicatedCaseDuration
- complicatedCaseDuration
- complicatedRiskDuration
- dailyPrImmUCTS
Documentation (type)
Description of base parameters of the clinical model.
Max UC treatment-seeking memory
→ scenario → healthSystem → EventScheduler → ClinicalOutcomes → maxUCSeekingMemory
<maxUCSeekingMemory>
int
</maxUCSeekingMemory>
Documentation (element)
Units: Days Min: 0 Max: unbounded
Maximum number of timesteps (including first day of case) that an individual with an uncomplicated case of malaria will remember he/she was sick before resetting.
Uncomplicated case duration
→ scenario → healthSystem → EventScheduler → ClinicalOutcomes → uncomplicatedCaseDuration
<uncomplicatedCaseDuration>
int
</uncomplicatedCaseDuration>
Documentation (element)
Units: Days Min: 1 Max: unbounded
Fixed length of an uncomplicated case of malarial or non-malarial sickness (from treatment seeking until return to life-as-usual). Usually 3.
Complicated case duration
→ scenario → healthSystem → EventScheduler → ClinicalOutcomes → complicatedCaseDuration
<complicatedCaseDuration>
int
</complicatedCaseDuration>
Documentation (element)
Units: Days Min: 1 Max: unbounded
Fixed length of a complicated or severe case of malaria (from treatment seeking until return to life-as-usual).
Complicated risk duration
→ scenario → healthSystem → EventScheduler → ClinicalOutcomes → complicatedRiskDuration
<complicatedRiskDuration>
int
</complicatedRiskDuration>
Documentation (element)
Units: Days Min: 1 Max: unbounded
Number of days for which humans are at risk of death during a severe or complicated case of malaria. Cannot be greater than the duration of a complicated case or less than 1 day.
Daily probability of immediate treatment seeking for uncomplicated cases
→ scenario → healthSystem → EventScheduler → ClinicalOutcomes → dailyPrImmUCTS
<dailyPrImmUCTS>
double
</dailyPrImmUCTS>
Documentation (element)
Units: Dimensionless Min: 0.0 Max: 1.0
It is sometimes desirable to model delays to treatment-seeking in uncomplicated cases. While treatment of drugs can be delayed within case management trees to provide a similar effect, this doesn't delay any of the decisions, including diagnostics using the current parasite density.
Instead a list of dailyPrImmUCTS elements can be used, describing successive daily probabilities of treatment (sum must be 1). For example, with a list of two elements with values 0.8 and 0.2, for 80% of UC cases the decision tree is evaluated immediately, and for 20% of cases evaluation is delayed by one day.
For no delay, use one element with a value of 1.
NonMalariaFevers
→ scenario → healthSystem → EventScheduler → NonMalariaFevers
<NonMalariaFevers>
IN THIS ORDER:
| <prTreatment ... />
| <effectNegativeTest ... />
| <effectPositiveTest ... />
| <effectNeed ... />
| <effectInformal ... />
| <CFR ... />
| <TreatmentEfficacy ... />
</NonMalariaFevers>
Documentation (type)
Description of non-malaria fever health-system modelling (treatment, outcomes and costing). Incidence is described by the model->clinical->NonMalariaFevers element. Non-malaria fevers are only modelled if the NON_MALARIA_FEVERS option is used.
As further explanation of the parameters below, we first take: β₀ = logit(P₀) - β₃·P(need), and then calculate the probability of antibiotic administration, P(AB), dependent on treatment seeking location. No seeking: P(AB) = 0 Informal sector: logit(P(AB)) = β₀ + β₄ Health facility: logit(P(AB)) = β₀ + β₁·I(neg) + β₂·I(pos) + β₃·I(need) (where I(X) is 1 when event X is true and 0 otherwise, logit(p)=log(p/(1-p)), event "need" is the event that death may occur without treatment, events "neg" and "pos" are the events that a malaria parasite diagnositic was used and indicated no parasites and parasites respectively).
P(treatment|no diagnostic)
→ scenario → healthSystem → EventScheduler → NonMalariaFevers → prTreatment
<prTreatment>
double
</prTreatment>
Documentation (element)
Units: Dimensionless Min: 0.0 Max: 1.0
Probability of a non-malaria fever being treated with an antibiotic given that no malaria diagnostic was used but independent of need. Symbol: P₀.
Effect of a negative test
→ scenario → healthSystem → EventScheduler → NonMalariaFevers → effectNegativeTest
<effectNegativeTest>
double
</effectNegativeTest>
Documentation (element)
The effect of a negative malaria diagnostic on the odds ratio of receiving antibiotics. Symbol: exp(β₁).
Effect of a positive test
→ scenario → healthSystem → EventScheduler → NonMalariaFevers → effectPositiveTest
<effectPositiveTest>
double
</effectPositiveTest>
Documentation (element)
The effect of a positive malaria diagnostic on the odds ratio of receiving antibiotics. Symbol: exp(β₂).
Effect of need
→ scenario → healthSystem → EventScheduler → NonMalariaFevers → effectNeed
<effectNeed>
double
</effectNeed>
Documentation (element)
The effect of needing antibiotic treatment on the odds ratio of receiving antibiotics. Symbol: exp(β₃).
Effect of informal provider
→ scenario → healthSystem → EventScheduler → NonMalariaFevers → effectInformal
<effectInformal>
double
</effectInformal>
Documentation (element)
The effect of seeking treatment from an informal provider (i.e. a provider untrained in NMF diagnosis) on the odds ratio of receiving antibiotics. Symbol: exp(β₄)
Case fatality rate
→ scenario → healthSystem → EventScheduler → NonMalariaFevers → CFR
<CFR
[ interpolation=("none" or "linear") ]
>
IN THIS ORDER:
| ( <group ... /> )+
</CFR>
Documentation (element)
Units: Dimensionless Min: 0.0 Max: 1.0
Base case fatality rate for non-malaria fevers (probability of death from a fever requiring antibiotic treatment given that no antibiotic treatment is received, per age-group).
Attributes
interpolation
interpolation=("none" or "linear")
Interpolation algorithm. Normally it is desirable for age-based values to be continuous w.r.t. age. By default linear interpolation is used. With all algorithms except "none", the age groups are converted to a set of points centred within each age range. Extra points are added at each end (zero and infinity) to keep value constant at both ends of the function. A zero-length age group may be used as a kind of barrier to adjust the distribution; e.g. with age group boundaries at 15, 20 and 25 years, a (linear) spline would be drawn between ages 17.5 and 22.5, whereas with boundaries at 15, 20 and 20 years, a spline would be drawn between ages 17.5 and 20 years (may be desired if individuals are assumed to reach adult size at 20). Algorithms:
- none: input values are used directly
- linear: straight lines (on an age vs. value graph) are used to interpolate data points.
age group
→ scenario → healthSystem → CFR → group
<group
value=double
lowerbound=double
/>
Documentation (element)
A series of values according to age groups, each specified with a lower-bound and a value. The first lower-bound specified must be zero; a final upper-bound of infinity is added to complete the last age group. At least one age group is required. Normally these are interpolated by a continuous function (see interpolation attribute).
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Lower bound
lowerbound=double
Units: Years Min: 0 Max: 100
Lower bound of age group
Treatment efficacy
→ scenario → healthSystem → EventScheduler → NonMalariaFevers → TreatmentEfficacy
<TreatmentEfficacy>
double
</TreatmentEfficacy>
Documentation (element)
Units: Dimensionless Min: 0.0 Max: 1.0
Probability that treatment would prevent a death (i.e. CFR is multiplied by one minus this when treatment occurs).
ImmediateOutcomes
→ scenario → healthSystem → ImmediateOutcomes
<ImmediateOutcomes
[ name=string ]
[ useDiagnosticUC=boolean ] DEFAULT VALUE false
>
IN ANY ORDER:
| <drugRegimen ... />
| <initialACR ... />
| <compliance ... />
| <nonCompliersEffective ... />
| <treatmentActions ... />
| <pSeekOfficialCareUncomplicated1 ... />
| <pSelfTreatUncomplicated ... />
| <pSeekOfficialCareUncomplicated2 ... />
| <pSeekOfficialCareSevere ... />
| [ <liverStageDrug ... /> ]
</ImmediateOutcomes>
- drugRegimen
- initialACR
- compliance
- nonCompliersEffective
- treatmentActions
- pSeekOfficialCareUncomplicated1
- pSelfTreatUncomplicated
- pSeekOfficialCareUncomplicated2
- pSeekOfficialCareSevere
- liverStageDrug
Documentation (type)
Description of "immediate outcomes" health system: Tediosi et al case management model (Case management as described in AJTMH 75 (suppl 2) pp90-103).
Attributes
Name of case management parameterisation
name=string
Name of health system
useDiagnosticUC
useDiagnosticUC=boolean
Default value: false
Description of drug regimen
→ scenario → healthSystem → ImmediateOutcomes → drugRegimen
<drugRegimen
firstLine=string
secondLine=string
inpatient=string
/>
Documentation (element)
Description of drug regimen.
Attributes
First line drug
firstLine=string
Units: Drug code
Code for first line drug
Second line drug
secondLine=string
Units: Drug code
Code for second line drug
Drug use for treating inpatients
inpatient=string
Units: Drug code
Code for drug used for treating inpatients
Initial cure rate
→ scenario → healthSystem → ImmediateOutcomes → initialACR
<initialACR>
IN THIS ORDER:
| [ <CQ ... /> ]
| [ <SP ... /> ]
| [ <AQ ... /> ]
| [ <SPAQ ... /> ]
| [ <ACT ... /> ]
| [ <QN ... /> ]
| <selfTreatment ... />
</initialACR>
Documentation (element)
Units: Dimensionless Min: 0.0 Max: 1.0
Initial cure rate
Chloroquine
→ scenario → healthSystem → ImmediateOutcomes → initialACR → CQ
<CQ
value=double
/>
Documentation (element)
Chloroquine
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Sulphadoxine-pyrimethamine
→ scenario → healthSystem → ImmediateOutcomes → initialACR → SP
<SP
value=double
/>
Documentation (element)
Sulphadoxine-pyrimethamine
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Amodiaquine
→ scenario → healthSystem → ImmediateOutcomes → initialACR → AQ
<AQ
value=double
/>
Documentation (element)
Amodiaquine
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Sulphadoxine-pyrimethamine/Amodiaquine
→ scenario → healthSystem → ImmediateOutcomes → initialACR → SPAQ
<SPAQ
value=double
/>
Documentation (element)
Sulphadoxine-pyrimethamine/Amodiaquine
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Artemisinine based combination therapy
→ scenario → healthSystem → ImmediateOutcomes → initialACR → ACT
<ACT
value=double
/>
Documentation (element)
Artemisinine combination therapy
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Quinine
→ scenario → healthSystem → ImmediateOutcomes → initialACR → QN
<QN
value=double
/>
Documentation (element)
Quinine
Attributes
Input parameter value
value=double
A double-precision floating-point value.
selfTreatment
→ scenario → healthSystem → ImmediateOutcomes → initialACR → selfTreatment
<selfTreatment
value=double
/>
Documentation (element)
Units: Dimensionless Min: 0 Max: 1name:P(self-treat)
Probability of self-treatment
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Adherence to treatment
→ scenario → healthSystem → ImmediateOutcomes → compliance
<compliance>
IN THIS ORDER:
| [ <CQ ... /> ]
| [ <SP ... /> ]
| [ <AQ ... /> ]
| [ <SPAQ ... /> ]
| [ <ACT ... /> ]
| [ <QN ... /> ]
| <selfTreatment ... />
</compliance>
Documentation (element)
Units: Dimensionless Min: 0.0 Max: 1.0
Adherence to treatment
Effectiveness of treatment in non-adherent patients
→ scenario → healthSystem → ImmediateOutcomes → nonCompliersEffective
<nonCompliersEffective>
IN THIS ORDER:
| [ <CQ ... /> ]
| [ <SP ... /> ]
| [ <AQ ... /> ]
| [ <SPAQ ... /> ]
| [ <ACT ... /> ]
| [ <QN ... /> ]
| <selfTreatment ... />
</nonCompliersEffective>
Documentation (element)
Units: Dimensionless Min: 0.0 Max: 1.0
Effectiveness of treatment for non-compliant patients
treatmentActions
→ scenario → healthSystem → ImmediateOutcomes → treatmentActions
<treatmentActions>
IN ANY ORDER:
| [ <CQ ... /> ]
| [ <SP ... /> ]
| [ <AQ ... /> ]
| [ <SPAQ ... /> ]
| [ <ACT ... /> ]
| [ <QN ... /> ]
</treatmentActions>
CQ
→ scenario → healthSystem → ImmediateOutcomes → treatmentActions → CQ
<CQ
[ name=string ]
>
IN THIS ORDER:
| ( <deploy ... /> )*
</CQ>
Documentation (type)
Describes the effects of the treatment, assuming this compliance/adherence/... option is selected. Effects are described in terms of a list of options, each of which acts independently but with all effects being activated simultaneously.
Documentation (base type)
Lists intervention components which are deployed according to some external trigger (for example, screening with a negative patency outcome or health-system treatment).
Components are referenced from one or more sub-lists. Each of these lists is deployed independently if and only if its age constraints are met by the human host and a random sample with the given probability of a positive outcome is positive.
Attributes
Name
name=string
Describes what this compliance option represents (e.g. "good compliance", "poor compliance with good drugs", ...).
deploy
→ scenario → healthSystem → ImmediateOutcomes → treatmentActions → CQ → deploy
<deploy
[ maxAge=double ]
[ minAge=double ] DEFAULT VALUE 0
[ p=double ] DEFAULT VALUE 1
>
IN THIS ORDER:
| ( <component ... /> )+
</deploy>
Attributes
Maximum age of eligible humans
maxAge=double
Units: Years Min: 0
Maximum age of eligible humans (defaults to no limit). Input is rounded to the nearest time step.
Minimum age of eligible humans
minAge=double
Units: Years Min: 0
Default value: 0
Minimum age of eligible humans (defaults to 0). Input is rounded to the nearest time step.
Probability of delivery to eligible humans
p=double
Units: dimensionless Min: 0 Max: 1
Default value: 1
Probability of this list of components being deployed, given that other constraints are met.
component
→ scenario → healthSystem → ImmediateOutcomes → treatmentActions → CQ → deploy → component
<component
id=string
/>
Documentation (type)
The list of components deployed to eligible humans.
Attributes
Identifier
id=string
The identifier (short name) of a component.
Prophylactic treatment
→ scenario → healthSystem → DecisionTree5Day → treatmentSevere → clearInfections
<clearInfections
timesteps=string
stage=("liver" or "blood" or "both")
/>
Documentation (element)
This clears infections according to several options: it can clear all blood stage infections, all liver stage infections or both, and it can act on multiple timesteps. To have a probability of no action add another treatment option (which does nothing) and set the probabilities of selection appropriately.
This allows immediate (legacy) or delayed action, a prophylactic period, and selection of which stages are targeted. It is a simple model but appropriate enough for use with the five day timestep when assuming no resistance and that drug failure is mainly caused by bad drugs or compliance.
The old treatment action for the five-day timestep model is essentially this, with immediateAction (timesteps=-1) and stage=both, except for the IPT model's SP action, which was more like with timesteps>1 and stage=blood.
Attributes
Length of effect
timesteps=string
Units: User defined (defaults to steps)
The number of timesteps during which this action remains in effect (e.g. 2 means clear infections during the next two timestep updates). Full clearance of the targeted stages occurs during this time. A special value of -1 means act immediately (retrospectively); this the old behaviour. A value of 1 means act on the next timestep only. Both of these can be thought of as a model for short-acting effective drug treatment; the main differences are that the latter means parasite densities will remain high from the point of view of surveys and diagnostics (i.e. mass screen and treat) used before the next timestep and that the latter will also remove infections starting the next timestep. Arguably the latter is a better model, but the differences are perhaps small, excepting where immediate treatment of fevers (i.e. through the health system) can hide high parasite densities from reporting and mass-screen-and-treat diagnostics. For use by interventions, the latter model has nicer behaviour in that the order of deployment of multiple interventions deployed at the same time does not matter, and that the former model retrospectively treats infections which may already have caused fever, thus may have a lower health impact than it should. It is recommended to use the new model (value 1, or greater than 1 if prophylactic effect is desired) unless wanting to emulate the old behaviour. Values of 0 or less than -1 are not allowed. Can be specified in steps (e.g. 1t, -1t) or days (e.g. 5d).
Target stage
stage=("liver" or "blood" or "both")
Controls whether liver-stage or blood-stage infections are cleared, or both. Infections are considered liver-stage for one 5-day timestep, blood-stage but pre-patent for some number of timesteps (latentp - 1), then start the patent blood stage. If stage is set to "liver", infections are only cleared during their first timestep; if stage is set to "blood", infections are cleared during pre-patent and patent blood stages; if stage is set to "both" all infections are cleared. The old behaviour (oddly considering the drugs it is meant to emulate) is to clear both stages, except for the IPT model of SP action, which cleared only patent blood-stage infections.
SP
→ scenario → healthSystem → ImmediateOutcomes → treatmentActions → SP
<SP
[ name=string ]
>
IN THIS ORDER:
| ( <deploy ... /> )*
</SP>
Documentation (type)
Describes the effects of the treatment, assuming this compliance/adherence/... option is selected. Effects are described in terms of a list of options, each of which acts independently but with all effects being activated simultaneously.
Documentation (base type)
Lists intervention components which are deployed according to some external trigger (for example, screening with a negative patency outcome or health-system treatment).
Components are referenced from one or more sub-lists. Each of these lists is deployed independently if and only if its age constraints are met by the human host and a random sample with the given probability of a positive outcome is positive.
Attributes
Name
name=string
Describes what this compliance option represents (e.g. "good compliance", "poor compliance with good drugs", ...).
AQ
→ scenario → healthSystem → ImmediateOutcomes → treatmentActions → AQ
<AQ
[ name=string ]
>
IN THIS ORDER:
| ( <deploy ... /> )*
</AQ>
Documentation (type)
Describes the effects of the treatment, assuming this compliance/adherence/... option is selected. Effects are described in terms of a list of options, each of which acts independently but with all effects being activated simultaneously.
Documentation (base type)
Lists intervention components which are deployed according to some external trigger (for example, screening with a negative patency outcome or health-system treatment).
Components are referenced from one or more sub-lists. Each of these lists is deployed independently if and only if its age constraints are met by the human host and a random sample with the given probability of a positive outcome is positive.
Attributes
Name
name=string
Describes what this compliance option represents (e.g. "good compliance", "poor compliance with good drugs", ...).
SPAQ
→ scenario → healthSystem → ImmediateOutcomes → treatmentActions → SPAQ
<SPAQ
[ name=string ]
>
IN THIS ORDER:
| ( <deploy ... /> )*
</SPAQ>
Documentation (type)
Describes the effects of the treatment, assuming this compliance/adherence/... option is selected. Effects are described in terms of a list of options, each of which acts independently but with all effects being activated simultaneously.
Documentation (base type)
Lists intervention components which are deployed according to some external trigger (for example, screening with a negative patency outcome or health-system treatment).
Components are referenced from one or more sub-lists. Each of these lists is deployed independently if and only if its age constraints are met by the human host and a random sample with the given probability of a positive outcome is positive.
Attributes
Name
name=string
Describes what this compliance option represents (e.g. "good compliance", "poor compliance with good drugs", ...).
ACT
→ scenario → healthSystem → ImmediateOutcomes → treatmentActions → ACT
<ACT
[ name=string ]
>
IN THIS ORDER:
| ( <deploy ... /> )*
</ACT>
Documentation (type)
Describes the effects of the treatment, assuming this compliance/adherence/... option is selected. Effects are described in terms of a list of options, each of which acts independently but with all effects being activated simultaneously.
Documentation (base type)
Lists intervention components which are deployed according to some external trigger (for example, screening with a negative patency outcome or health-system treatment).
Components are referenced from one or more sub-lists. Each of these lists is deployed independently if and only if its age constraints are met by the human host and a random sample with the given probability of a positive outcome is positive.
Attributes
Name
name=string
Describes what this compliance option represents (e.g. "good compliance", "poor compliance with good drugs", ...).
QN
→ scenario → healthSystem → ImmediateOutcomes → treatmentActions → QN
<QN
[ name=string ]
>
IN THIS ORDER:
| ( <deploy ... /> )*
</QN>
Documentation (type)
Describes the effects of the treatment, assuming this compliance/adherence/... option is selected. Effects are described in terms of a list of options, each of which acts independently but with all effects being activated simultaneously.
Documentation (base type)
Lists intervention components which are deployed according to some external trigger (for example, screening with a negative patency outcome or health-system treatment).
Components are referenced from one or more sub-lists. Each of these lists is deployed independently if and only if its age constraints are met by the human host and a random sample with the given probability of a positive outcome is positive.
Attributes
Name
name=string
Describes what this compliance option represents (e.g. "good compliance", "poor compliance with good drugs", ...).
Probability that a patient with uncomplicated disease seeks official care immediately.
→ scenario → healthSystem → ImmediateOutcomes → pSeekOfficialCareUncomplicated1
<pSeekOfficialCareUncomplicated1
value=double
/>
Documentation (element)
Units: Dimensionless Min: 0.0 Max: 1.0
Probability that a patient with newly incident uncomplicated disease seeks official care
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Probability that a patient with uncomplicated disease will self-treat.
→ scenario → healthSystem → ImmediateOutcomes → pSelfTreatUncomplicated
<pSelfTreatUncomplicated
value=double
/>
Documentation (element)
Units: Dimensionless Min: 0.0 Max: 1.0
Probability that a patient with uncomplicated disease without recent history of disease (i.e. first line) will self-treat.
Note that in second line cases there is no probability of self-treatment.
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Probability that a recurring patient seeks official care
→ scenario → healthSystem → ImmediateOutcomes → pSeekOfficialCareUncomplicated2
<pSeekOfficialCareUncomplicated2
value=double
/>
Documentation (element)
Units: Dimensionless Min: 0.0 Max: 1.0
Probability that a patient with recurrence of uncomplicated disease seeks official care
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Probability that a patient with severe disease obtains appropriate care
→ scenario → healthSystem → ImmediateOutcomes → pSeekOfficialCareSevere
<pSeekOfficialCareSevere
value=double
/>
Documentation (element)
Units: Dimensionless Min: 0.0 Max: 1.0
Probability that a patient with severe disease obtains appropriate care
Attributes
Input parameter value
value=double
A double-precision floating-point value.
liverStageDrug
→ scenario → healthSystem → ImmediateOutcomes → liverStageDrug
<liverStageDrug>
IN ANY ORDER:
| <pHumanCannotReceive ... />
| [ <ignoreCannotReceive ... /> ]
| [ <pUseUncomplicated ... /> ]
| <effectivenessOnUse ... />
</liverStageDrug>
Documentation (type)
Parameters for drug treatment which have an effect on the liver-stage of parasites (Primaquine and potentially Tafenoquine); for use with the Vivax model only.
Note: if this section is not listed, the following default values are assumed: pHumanCannotReceive=0, pUseUncomplicated=0, effectivenessOnUse=1.
Probability that human is incompatible with liver-stage drug treatment
→ scenario → healthSystem → ImmediateOutcomes → liverStageDrug → pHumanCannotReceive
<pHumanCannotReceive
value=double
/>
Documentation (element)
Units: Probability Min: 0 Max: 1
Chance that a human is determined to be unable to receive liver-stage drug treatment. Treatment is neither reported or given for such humans.
This is sampled once per human at birth.
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Ignore liver-stage drug treatment incompatibility
→ scenario → healthSystem → ImmediateOutcomes → liverStageDrug → ignoreCannotReceive
<ignoreCannotReceive
value=boolean
/>
Documentation (element)
If true, ignore pHumanCannotReceive and consider all humans eligible for treatment; if false (or not specified), do not treat those demed incompatible with liver-stage drug treatment.
The point of this is that pHumanCannotReceive cannot be altered by changeHS interventions, but this property can be.
Attributes
Input parameter value
value=boolean
A boolean value.
Prob use in UC case
→ scenario → healthSystem → ImmediateOutcomes → liverStageDrug → pUseUncomplicated
<pUseUncomplicated
value=double
/>
Documentation (element)
Units: Probability Min: 0 Max: 1
This feature is deprecated; it is suggested to use the "simple treatment" feature configured to clear liver-stage parasites, leaving this option unset or zero.
Chance of liver-stage drug treatment being used for routine treatment of an uncomplicated case.
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Effectiveness
→ scenario → healthSystem → ImmediateOutcomes → liverStageDrug → effectivenessOnUse
<effectivenessOnUse
value=double
/>
Documentation (element)
Units: Probability Min: 0 Max: 1
Chance that liver-stage drug treatment is effective.
On application, a random variable is sampled against this probability. If false, the treatment does nothing; if true, the treatment clears all liver stage parasites. Where effectiveness is longer than a single time step (prophylactic effect), this sample still only happens once (thus either no effect or all liver stages cleared over multiple steps).
Attributes
Input parameter value
value=double
A double-precision floating-point value.
DecisionTree5Day
→ scenario → healthSystem → DecisionTree5Day
<DecisionTree5Day
[ name=string ]
>
IN ANY ORDER:
| <pSeekOfficialCareUncomplicated1 ... />
| <pSelfTreatUncomplicated ... />
| <pSeekOfficialCareUncomplicated2 ... />
| <pSeekOfficialCareSevere ... />
| [ <liverStageDrug ... /> ]
| <treeUCOfficial ... />
| <treeUCSelfTreat ... />
| <cureRateSevere ... />
| <treatmentSevere ... />
</DecisionTree5Day>
- pSeekOfficialCareUncomplicated1
- pSelfTreatUncomplicated
- pSeekOfficialCareUncomplicated2
- pSeekOfficialCareSevere
- liverStageDrug
- treeUCOfficial
- treeUCSelfTreat
- cureRateSevere
- treatmentSevere
Documentation (type)
Description of the health system using the 5-day timestep with decision tree model: access is configured as in the Tediosi et al case management model (Case management as described in AJTMH 75 (suppl 2) pp90-103) while treatment decisions are configured via decision trees.
Besides greater flexibility, this allows treatment via PK/PD models.
Attributes
Name of case management parameterisation
name=string
Name of health system
Probability that a patient with uncomplicated disease seeks official care immediately.
→ scenario → healthSystem → DecisionTree5Day → pSeekOfficialCareUncomplicated1
<pSeekOfficialCareUncomplicated1
value=double
/>
Documentation (element)
Units: Dimensionless Min: 0.0 Max: 1.0
Probability that a patient with newly incident uncomplicated disease seeks official care
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Probability that a patient with uncomplicated disease will self-treat.
→ scenario → healthSystem → DecisionTree5Day → pSelfTreatUncomplicated
<pSelfTreatUncomplicated
value=double
/>
Documentation (element)
Units: Dimensionless Min: 0.0 Max: 1.0
Probability that a patient with uncomplicated disease without recent history of disease (i.e. first line) will self-treat.
Note that in second line cases there is no probability of self-treatment.
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Probability that a recurring patient seeks official care
→ scenario → healthSystem → DecisionTree5Day → pSeekOfficialCareUncomplicated2
<pSeekOfficialCareUncomplicated2
value=double
/>
Documentation (element)
Units: Dimensionless Min: 0.0 Max: 1.0
Probability that a patient with recurrence of uncomplicated disease seeks official care
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Probability that a patient with severe disease obtains appropriate care
→ scenario → healthSystem → DecisionTree5Day → pSeekOfficialCareSevere
<pSeekOfficialCareSevere
value=double
/>
Documentation (element)
Units: Dimensionless Min: 0.0 Max: 1.0
Probability that a patient with severe disease obtains appropriate care
Attributes
Input parameter value
value=double
A double-precision floating-point value.
liverStageDrug
→ scenario → healthSystem → DecisionTree5Day → liverStageDrug
<liverStageDrug>
IN ANY ORDER:
| <pHumanCannotReceive ... />
| [ <ignoreCannotReceive ... /> ]
| [ <pUseUncomplicated ... /> ]
| <effectivenessOnUse ... />
</liverStageDrug>
Documentation (type)
Parameters for drug treatment which have an effect on the liver-stage of parasites (Primaquine and potentially Tafenoquine); for use with the Vivax model only.
Note: if this section is not listed, the following default values are assumed: pHumanCannotReceive=0, pUseUncomplicated=0, effectivenessOnUse=1.
treeUCOfficial
→ scenario → healthSystem → DecisionTree5Day → treeUCOfficial
<treeUCOfficial
[ name=string ]
>
EXACTLY ONE OF:
| <multiple ... />
| <caseType ... />
| <diagnostic ... />
| <random ... />
| <age ... />
| <noTreatment ... />
| <treatFailure ... />
| ( <treatPKPD ... /> )+
| <treatSimple ... />
| ( <deploy ... /> )+
</treeUCOfficial>
Documentation (type)
Describes how "decisions" are made, both probabilistically and deterministically, and what actions are carried out.
Quantities may also be reported as a side effect of decisions made in the tree, for example the number of diagnostics used.
Attributes
Name
name=string
An optional piece of documentation attached to this node.
treeUCSelfTreat
→ scenario → healthSystem → DecisionTree5Day → treeUCSelfTreat
<treeUCSelfTreat
[ name=string ]
>
EXACTLY ONE OF:
| <multiple ... />
| <caseType ... />
| <diagnostic ... />
| <random ... />
| <age ... />
| <noTreatment ... />
| <treatFailure ... />
| ( <treatPKPD ... /> )+
| <treatSimple ... />
| ( <deploy ... /> )+
</treeUCSelfTreat>
Documentation (type)
Describes how "decisions" are made, both probabilistically and deterministically, and what actions are carried out.
Quantities may also be reported as a side effect of decisions made in the tree, for example the number of diagnostics used.
Attributes
Name
name=string
An optional piece of documentation attached to this node.
Cure rate (severe cases)
→ scenario → healthSystem → DecisionTree5Day → cureRateSevere
<cureRateSevere
value=double
/>
Documentation (element)
Min: 0 Max: 1
The probability of clearing parasites given access to appropriate (hospital) care, for a severe case.
Attributes
Input parameter value
value=double
A double-precision floating-point value.
treatmentSevere
→ scenario → healthSystem → DecisionTree5Day → treatmentSevere
<treatmentSevere
[ name=string ]
>
IN THIS ORDER:
| ( <deploy ... /> )*
</treatmentSevere>
Documentation (type)
Describes the effects of the treatment, assuming this compliance/adherence/... option is selected. Effects are described in terms of a list of options, each of which acts independently but with all effects being activated simultaneously.
Documentation (base type)
Lists intervention components which are deployed according to some external trigger (for example, screening with a negative patency outcome or health-system treatment).
Components are referenced from one or more sub-lists. Each of these lists is deployed independently if and only if its age constraints are met by the human host and a random sample with the given probability of a positive outcome is positive.
Attributes
Name
name=string
Describes what this compliance option represents (e.g. "good compliance", "poor compliance with good drugs", ...).
Case fatality rate for inpatients
→ scenario → healthSystem → CFR
<CFR
[ interpolation=("none" or "linear") ]
>
IN THIS ORDER:
| ( <group ... /> )+
</CFR>
Documentation (element)
Case fatality rate (probability of an inpatient fatality from a bout of severe malaria, per age-group).
Attributes
interpolation
interpolation=("none" or "linear")
Interpolation algorithm. Normally it is desirable for age-based values to be continuous w.r.t. age. By default linear interpolation is used. With all algorithms except "none", the age groups are converted to a set of points centred within each age range. Extra points are added at each end (zero and infinity) to keep value constant at both ends of the function. A zero-length age group may be used as a kind of barrier to adjust the distribution; e.g. with age group boundaries at 15, 20 and 25 years, a (linear) spline would be drawn between ages 17.5 and 22.5, whereas with boundaries at 15, 20 and 20 years, a spline would be drawn between ages 17.5 and 20 years (may be desired if individuals are assumed to reach adult size at 20). Algorithms:
- none: input values are used directly
- linear: straight lines (on an age vs. value graph) are used to interpolate data points.
Probabilities of sequelae in inpatients
→ scenario → healthSystem → pSequelaeInpatient
<pSequelaeInpatient
[ interpolation=("none" or "linear") ]
>
IN THIS ORDER:
| ( <group ... /> )+
</pSequelaeInpatient>
Documentation (element)
Units: Dimensionless
List of age-specific probabilities of sequelae in inpatients, during a severe bout of malaria.
Attributes
interpolation
interpolation=("none" or "linear")
Interpolation algorithm. Normally it is desirable for age-based values to be continuous w.r.t. age. By default linear interpolation is used. With all algorithms except "none", the age groups are converted to a set of points centred within each age range. Extra points are added at each end (zero and infinity) to keep value constant at both ends of the function. A zero-length age group may be used as a kind of barrier to adjust the distribution; e.g. with age group boundaries at 15, 20 and 25 years, a (linear) spline would be drawn between ages 17.5 and 22.5, whereas with boundaries at 15, 20 and 20 years, a spline would be drawn between ages 17.5 and 20 years (may be desired if individuals are assumed to reach adult size at 20). Algorithms:
- none: input values are used directly
- linear: straight lines (on an age vs. value graph) are used to interpolate data points.
Change transmission levels
→ scenario → interventions → changeEIR
<changeEIR
[ name=string ]
>
IN THIS ORDER:
| ( <timedDeployment ... /> )*
</changeEIR>
Documentation (element)
New description of transmission level for models not supporting vector control interventions. Use of this overrides previous transmission levels such that human infectiousness no longer has any feedback effect on transmission. Supplied EIR data must last until end of simulation.
Attributes
Name of intervention
name=string
Name of intervention
timedDeployment
→ scenario → interventions → changeEIR → timedDeployment
<timedDeployment
eipDuration=int
time=string
>
IN THIS ORDER:
| ( <EIRDaily ... /> )+
</timedDeployment>
Documentation (type)
Replacement transmission levels. Disables feedback of human infectiousness to mosquitoes on further mosquito to human transmission. Must last until end of simulation.
Attributes
Duration of sporogony
eipDuration=int
Units: Days
The duration of sporogony in days
Time
time=string
Units: User defined (defauls to steps) Min: 0
Time at which this replacement occurs. See doc on intervention period and on monitoring/startDate for details of how times work. Can be specified in steps, days, years, or as a date (examples: 15t, 75d, 0.2y, 2000-03-16).
EIRDaily
→ scenario → entomology → nonVector → EIRDaily
<EIRDaily
[ origin=string ]
>
double
</EIRDaily>
Documentation (type)
Units: Infectious bites per adult per day
In the non-vector model, EIR is input as a sequence of daily values. There must be at least one years' worth of entries (365), and if there are more, values are wrapped and averaged (i.e. value for first day of year is taken as the mean of values for days 0, 365+0, 2*365+0, etc.).
Attributes
Time origin of EIR sequence
origin=string
Imported infections
→ scenario → interventions → importedInfections
<importedInfections
[ name=string ]
>
IN THIS ORDER:
| <timed ... />
</importedInfections>
Documentation (element)
Models importation of P. falciparum infections directly into humans from an external source. This is infections, not inoculations or EIR being imported.
Attributes
Name of intervention
name=string
Name of intervention
Rate of importation
→ scenario → interventions → importedInfections → timed
<timed
[ period=string ] DEFAULT VALUE 0
>
IN THIS ORDER:
| ( <rate ... /> )+
</timed>
Documentation (element)
Rate of case importation, as a step function. Each value is valid until replaced by the next value.
Attributes
Period of repetition
period=string
Units: User defined (default: steps) Min: 0
Default value: 0
If period is 0 (or effectively infinite), the last specified value remains indefinitely in effect, otherwise the times of all values specified must be less than the period, and values are repeated modulo period (the step at time 'period+2t' has same value as the step at '2t', etc.). Can be specified in steps (e.g. 1t) or days (e.g. 365d).
rate
→ scenario → interventions → importedInfections → timed → rate
<rate
value=double
time=string
/>
Documentation (type)
Units: Imported cases per thousand people per year
A time-rate pair.
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Time of start
time=string
Units: User defined (defauls to steps) Min: 0
Time at which this importation rate becomes active. See doc on intervention period and on monitoring/startDate for details of how times work. Can be specified in steps, days, years, or as a date (examples: 15t, 75d, 0.2y, 2000-03-16).
Insert R_0 case
→ scenario → interventions → insertR_0Case
<insertR_0Case
[ name=string ]
>
IN THIS ORDER:
| ( <timedDeployment ... /> )*
</insertR_0Case>
Documentation (element)
Used to simulate R_0. First, infections should be eliminated, immunity removed, and the population given an effective transmission- blocking vaccine (not done by this intervention). Then this intervention may be used to: pick one human, infect him, administer a fully effective Preerythrocytic vaccine and remove transmission-blocking vaccine effect on this human. Thus only this one human will be a source of infections in an unprotected population, and will not reinfected himself.
Attributes
Name of intervention
name=string
Name of intervention
timedDeployment
→ scenario → interventions → insertR_0Case → timedDeployment
<timedDeployment
time=string
/>
Attributes
Time
time=string
Units: User defined (defauls to steps) Min: 0
Time at which this intervention occurs. See doc on intervention period and on monitoring/startDate for details of how times work. Can be specified in steps, days, years, or as a date (examples: 15t, 75d, 0.2y, 2000-03-16).
Uninfect vectors
→ scenario → interventions → uninfectVectors
<uninfectVectors
[ name=string ]
>
IN THIS ORDER:
| ( <timedDeployment ... /> )*
</uninfectVectors>
Documentation (element)
Units: List of elements
Removes all infections from mosquitoes -- resulting in zero EIR to humans, until such time that mosquitoes are re-infected and become infectious. Only efficacious in dynamic EIR mode (when changeEIR was not used).
Hypothetical, but potentially useful to simulate a setting starting from no infections, but with enough mosquitoes to reach a set equilibrium of exposure.
Attributes
Name of intervention
name=string
Name of intervention
timedDeployment
→ scenario → interventions → uninfectVectors → timedDeployment
<timedDeployment
time=string
/>
Attributes
Time
time=string
Units: User defined (defauls to steps) Min: 0
Time at which this intervention occurs. See doc on intervention period and on monitoring/startDate for details of how times work. Can be specified in steps, days, years, or as a date (examples: 15t, 75d, 0.2y, 2000-03-16).
Vector population intervention
→ scenario → interventions → vectorPop
<vectorPop>
IN THIS ORDER:
| ( <intervention ... /> )+
</vectorPop>
Documentation (element)
Units: List of elements
A list of parameterisations of generic vector host-inspecific interventions.
intervention
→ scenario → interventions → vectorPop → intervention
<intervention
name=string
>
IN THIS ORDER:
| <description ... />
| [ <timed ... /> ]
</intervention>
Documentation (type)
Units: List of elements
An intervention which may have various effects on the vector populations as a whole. (Not host specific.)
Multiple instances of this intervention class are allowed (multiple parameterisations, not just deployments).
Each instance may have multiple deployments. In this case the effects of each instance are independent (effects are combined) but the effects of multiple deployments of a single instance are not independent (only the latest deployment has any effect).
Attributes
Name of intervention
name=string
Name of intervention (e.g. larviciding, sugar bait).
description
→ scenario → interventions → vectorPop → intervention → description
<description>
IN THIS ORDER:
| ( <anopheles ... /> )+
</description>
anopheles
→ scenario → interventions → vectorPop → intervention → description → anopheles
<anopheles
mosquito=string
>
IN ANY ORDER:
| [ <seekingDeathRateIncrease ... /> ]
| [ <probDeathOvipositing ... /> ]
| [ <emergenceReduction ... /> ]
</anopheles>
Documentation (type)
Units: dimensionless Min: 0 Max: 1
Descriptions of the effects of vector interventions with per-species effects.
Attributes
Species/subspecies/variant name
mosquito=string
Name of the species/subspecies/variant.
Proportional increase in deaths while host searching
→ scenario → interventions → vectorPop → intervention → description → anopheles → seekingDeathRateIncrease
<seekingDeathRateIncrease
initial=double
>
IN THIS ORDER:
| <decay ... />
</seekingDeathRateIncrease>
Documentation (element)
Units: dimensionless
Describe an effect on the increase in the death rate while host seeking (mu_vA) due to this intervention.
Enter the rate increase (i.e. if rate increases to 120% of normal, give 0.2). New death rate while seeking is old × (1 + increase) where increase is this factor given. Must have increas ≥ -1.
Attributes
Initial proportion increase
initial=double
Units: dimensionless Min: -1 Max: inf
decay
→ scenario → interventions → vectorPop → intervention → description → anopheles → seekingDeathRateIncrease → decay
<decay
function=("constant" or "step" or "linear" or "exponential" or "weibull" or "hill" or "smooth-compact")
[ L=string ]
[ k=double ] DEFAULT VALUE 1.0
[ mu=double ] DEFAULT VALUE 0
[ sigma=double ] DEFAULT VALUE 0
/>
Documentation (type)
Specification of decay or survival of a parameter.
Attributes
function
function=("constant" or "step" or "linear" or "exponential" or "weibull" or "hill" or "smooth-compact")
Units: None Min: 0 Max: 1
Determines which decay function to use. Available decay functions, for age t in years: constant: 1 step: 1 for t less than L, otherwise 0 linear: 1 - t/L for t less than L, otherwise 0 exponential: exp( - t/L * log(2) ) weibull: exp( -(t/L)^k * log(2) ) hill: 1 / (1 + (t/L)^k) smooth-compact: exp( k - k / (1 - (t/L)^2) ) for t less than L, otherwise 0
L
L=string
Units: User-defined (defaults to years) Min: 0
(Time) scale parameter of distribution: this is either the age of complete decay (smooth-compact, step and linear functions) or the age at which the parameter has decayed to half its original value (exponential, weibull and hill). Not used when function="constant" (i.e. no decay). This value can be specified in years, days or steps (e.g. 2y, 180d or 100t). When the unit is not specified years are assumed. The value is used without rounding except when sampling an age of decay, when the rounding happens as late as possible.
k
k=double
Units: none Min: 0
Default value: 1.0
Shape parameter of distribution. If not specified, default value of 1 is used. Meaning depends on function; not used in some cases.
μ (mu)
mu=double
Min: 0
Default value: 0
If sigma is non-zero, heterogeneity of decay is introduced via a random variable sampled from the log-normal distribution with mu and sigma as specified. Both mu and sigma default to zero when not specified. The decay rate is multiplied by this variable (effectively, the half-life is divided by it). Note that with m=0, the median of the variable and the median value of L is unchanged, and thus the time at which the median decay amongst the population of decaying objects reaches half (assuming exponential, Weibull or Hill decay) is L. With m=-½σ² (negative half sigma squared) the mean of the variable will be 1 and mean of the half-life L, but the time at which mean decay of the population has reached half may not be L.
σ (sigma)
sigma=double
Min: 0
Default value: 0
If sigma is non-zero, heterogeneity of decay is introduced via a random variable sampled from the log-normal distribution with mu and sigma as specified. Both mu and sigma default to zero when not specified. The decay rate is multiplied by this variable (effectively, the half-life is divided by it).
Proportion ovipositing mosquitoes killed
→ scenario → interventions → vectorPop → intervention → description → anopheles → probDeathOvipositing
<probDeathOvipositing
initial=double
>
IN THIS ORDER:
| <decay ... />
</probDeathOvipositing>
Documentation (element)
Units: dimensionless
Describe an effect of increased mortality while ovipositing due to this intervention. Enter the probability of dying due to this intervention.
Attributes
Initial probability of killing
initial=double
Units: dimensionless Min: 0 Max: 1
decay
→ scenario → interventions → vectorPop → intervention → description → anopheles → probDeathOvipositing → decay
<decay
function=("constant" or "step" or "linear" or "exponential" or "weibull" or "hill" or "smooth-compact")
[ L=string ]
[ k=double ] DEFAULT VALUE 1.0
[ mu=double ] DEFAULT VALUE 0
[ sigma=double ] DEFAULT VALUE 0
/>
Documentation (type)
Specification of decay or survival of a parameter.
Attributes
function
function=("constant" or "step" or "linear" or "exponential" or "weibull" or "hill" or "smooth-compact")
Units: None Min: 0 Max: 1
Determines which decay function to use. Available decay functions, for age t in years: constant: 1 step: 1 for t less than L, otherwise 0 linear: 1 - t/L for t less than L, otherwise 0 exponential: exp( - t/L * log(2) ) weibull: exp( -(t/L)^k * log(2) ) hill: 1 / (1 + (t/L)^k) smooth-compact: exp( k - k / (1 - (t/L)^2) ) for t less than L, otherwise 0
L
L=string
Units: User-defined (defaults to years) Min: 0
(Time) scale parameter of distribution: this is either the age of complete decay (smooth-compact, step and linear functions) or the age at which the parameter has decayed to half its original value (exponential, weibull and hill). Not used when function="constant" (i.e. no decay). This value can be specified in years, days or steps (e.g. 2y, 180d or 100t). When the unit is not specified years are assumed. The value is used without rounding except when sampling an age of decay, when the rounding happens as late as possible.
k
k=double
Units: none Min: 0
Default value: 1.0
Shape parameter of distribution. If not specified, default value of 1 is used. Meaning depends on function; not used in some cases.
μ (mu)
mu=double
Min: 0
Default value: 0
If sigma is non-zero, heterogeneity of decay is introduced via a random variable sampled from the log-normal distribution with mu and sigma as specified. Both mu and sigma default to zero when not specified. The decay rate is multiplied by this variable (effectively, the half-life is divided by it). Note that with m=0, the median of the variable and the median value of L is unchanged, and thus the time at which the median decay amongst the population of decaying objects reaches half (assuming exponential, Weibull or Hill decay) is L. With m=-½σ² (negative half sigma squared) the mean of the variable will be 1 and mean of the half-life L, but the time at which mean decay of the population has reached half may not be L.
σ (sigma)
sigma=double
Min: 0
Default value: 0
If sigma is non-zero, heterogeneity of decay is introduced via a random variable sampled from the log-normal distribution with mu and sigma as specified. Both mu and sigma default to zero when not specified. The decay rate is multiplied by this variable (effectively, the half-life is divided by it).
Proportion of emerging pupa killed
→ scenario → interventions → vectorPop → intervention → description → anopheles → emergenceReduction
<emergenceReduction
initial=double
>
IN THIS ORDER:
| <decay ... />
</emergenceReduction>
Documentation (element)
Units: dimensionless
Describe an effect on emergence of pupa into adults: this value is the proportion of emerging pupa which are killed by this intervention.
This can be used as a crude way of modelling larviciding. It ca also be used to increase emergence by giving a negative value. The emergence rate is "old rate" × (1 - factor) where factor is the value given here; thus, for example, using -1 will double emergence.
Attributes
Initial proportion reduction
initial=double
Units: dimensionless Min: -inf Max: 1
decay
→ scenario → interventions → vectorPop → intervention → description → anopheles → emergenceReduction → decay
<decay
function=("constant" or "step" or "linear" or "exponential" or "weibull" or "hill" or "smooth-compact")
[ L=string ]
[ k=double ] DEFAULT VALUE 1.0
[ mu=double ] DEFAULT VALUE 0
[ sigma=double ] DEFAULT VALUE 0
/>
Documentation (type)
Specification of decay or survival of a parameter.
Attributes
function
function=("constant" or "step" or "linear" or "exponential" or "weibull" or "hill" or "smooth-compact")
Units: None Min: 0 Max: 1
Determines which decay function to use. Available decay functions, for age t in years: constant: 1 step: 1 for t less than L, otherwise 0 linear: 1 - t/L for t less than L, otherwise 0 exponential: exp( - t/L * log(2) ) weibull: exp( -(t/L)^k * log(2) ) hill: 1 / (1 + (t/L)^k) smooth-compact: exp( k - k / (1 - (t/L)^2) ) for t less than L, otherwise 0
L
L=string
Units: User-defined (defaults to years) Min: 0
(Time) scale parameter of distribution: this is either the age of complete decay (smooth-compact, step and linear functions) or the age at which the parameter has decayed to half its original value (exponential, weibull and hill). Not used when function="constant" (i.e. no decay). This value can be specified in years, days or steps (e.g. 2y, 180d or 100t). When the unit is not specified years are assumed. The value is used without rounding except when sampling an age of decay, when the rounding happens as late as possible.
k
k=double
Units: none Min: 0
Default value: 1.0
Shape parameter of distribution. If not specified, default value of 1 is used. Meaning depends on function; not used in some cases.
μ (mu)
mu=double
Min: 0
Default value: 0
If sigma is non-zero, heterogeneity of decay is introduced via a random variable sampled from the log-normal distribution with mu and sigma as specified. Both mu and sigma default to zero when not specified. The decay rate is multiplied by this variable (effectively, the half-life is divided by it). Note that with m=0, the median of the variable and the median value of L is unchanged, and thus the time at which the median decay amongst the population of decaying objects reaches half (assuming exponential, Weibull or Hill decay) is L. With m=-½σ² (negative half sigma squared) the mean of the variable will be 1 and mean of the half-life L, but the time at which mean decay of the population has reached half may not be L.
σ (sigma)
sigma=double
Min: 0
Default value: 0
If sigma is non-zero, heterogeneity of decay is introduced via a random variable sampled from the log-normal distribution with mu and sigma as specified. Both mu and sigma default to zero when not specified. The decay rate is multiplied by this variable (effectively, the half-life is divided by it).
Vector population intervention deployment
→ scenario → interventions → vectorPop → intervention → timed
<timed>
IN THIS ORDER:
| ( <deploy ... /> )+
</timed>
Documentation (element)
List of timed vector population intervention deployment
deploy
→ scenario → interventions → vectorPop → intervention → timed → deploy
<deploy
time=string
/>
Attributes
Time
time=string
Units: User defined (defauls to steps) Min: 0
Time at which this deployment occurs. See doc on intervention period and on monitoring/startDate for details of how times work. Can be specified in steps, days, years, or as a date (examples: 15t, 75d, 0.2y, 2000-03-16).
Baited trap
→ scenario → interventions → vectorTrap
<vectorTrap>
IN THIS ORDER:
| ( <intervention ... /> )+
</vectorTrap>
Documentation (element)
Traps attract and kill mosquitoes. They are modelled as a non-human-host where the probability of mosquitoes surviving feeding is zero (since otherwise the simulator would assume surviving mosquitoes have had a blood meal), and where this "host" is initially not present.
Model: each type of trap has has an initial availability relative to a human and a decay in availability. Each deployment has a fixed maximum lifespan, after which the traps from that deployment are removed (it is up to the user whether this is after availability is effectively zero or sooner, either coinciding with a redeployment or causing a reduction in overall effectiveness of traps).
intervention
→ scenario → interventions → vectorTrap → intervention
<intervention
[ name=string ]
>
IN THIS ORDER:
| ( <description ... /> )+
| [ <timed ... /> ]
</intervention>
Documentation (type)
Parameters and deployment of one type of trap. In case multiple types of trap are needed simultaneously, multiple elements can be used. Note that different types of trap do not interact except that all will attract mosquitoes.
Attributes
Descriptive name for type of trap
name=string
Optional name for this type of trap
Description
→ scenario → interventions → vectorTrap → intervention → description
<description
mosquito=string
>
IN THIS ORDER:
| <relativeAvailability ... />
| <decayOfAvailability ... />
</description>
Documentation (element)
Parameters associated with a vector trap intervention, per mosquito species.
Attributes
Species/subspecies/variant name
mosquito=string
Name of the species/subspecies/variant.
Initial relative availability
→ scenario → interventions → vectorTrap → intervention → description → relativeAvailability
<relativeAvailability
value=double
/>
Documentation (element)
Units: Proportion Min: 0 Max: inf
Describes the availiability of a trap to a host-seeking mosquito relative to an average unprotected adult.
I.e. if this parameter is 2, then each trap will on average attract twice as many mosquitoes as unprotected adults.
This is the initial availability; it may decay towards zero depending on the configured decay function.
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Decay of availability
→ scenario → interventions → vectorTrap → intervention → description → decayOfAvailability
<decayOfAvailability
function=("constant" or "step" or "linear" or "exponential" or "weibull" or "hill" or "smooth-compact")
[ L=string ]
[ k=double ] DEFAULT VALUE 1.0
[ mu=double ] DEFAULT VALUE 0
[ sigma=double ] DEFAULT VALUE 0
/>
Documentation (element)
Describes how availability decays to zero.
If decay heterogeneity/variance is used, there will be a sample once-per-deployment (i.e. all traps of the same deployment will be affected the same way). There is no support for variances between traps (except in this crude way, between deployments).
Documentation (type)
Specification of decay or survival of a parameter.
Attributes
function
function=("constant" or "step" or "linear" or "exponential" or "weibull" or "hill" or "smooth-compact")
Units: None Min: 0 Max: 1
Determines which decay function to use. Available decay functions, for age t in years: constant: 1 step: 1 for t less than L, otherwise 0 linear: 1 - t/L for t less than L, otherwise 0 exponential: exp( - t/L * log(2) ) weibull: exp( -(t/L)^k * log(2) ) hill: 1 / (1 + (t/L)^k) smooth-compact: exp( k - k / (1 - (t/L)^2) ) for t less than L, otherwise 0
L
L=string
Units: User-defined (defaults to years) Min: 0
(Time) scale parameter of distribution: this is either the age of complete decay (smooth-compact, step and linear functions) or the age at which the parameter has decayed to half its original value (exponential, weibull and hill). Not used when function="constant" (i.e. no decay). This value can be specified in years, days or steps (e.g. 2y, 180d or 100t). When the unit is not specified years are assumed. The value is used without rounding except when sampling an age of decay, when the rounding happens as late as possible.
k
k=double
Units: none Min: 0
Default value: 1.0
Shape parameter of distribution. If not specified, default value of 1 is used. Meaning depends on function; not used in some cases.
μ (mu)
mu=double
Min: 0
Default value: 0
If sigma is non-zero, heterogeneity of decay is introduced via a random variable sampled from the log-normal distribution with mu and sigma as specified. Both mu and sigma default to zero when not specified. The decay rate is multiplied by this variable (effectively, the half-life is divided by it). Note that with m=0, the median of the variable and the median value of L is unchanged, and thus the time at which the median decay amongst the population of decaying objects reaches half (assuming exponential, Weibull or Hill decay) is L. With m=-½σ² (negative half sigma squared) the mean of the variable will be 1 and mean of the half-life L, but the time at which mean decay of the population has reached half may not be L.
σ (sigma)
sigma=double
Min: 0
Default value: 0
If sigma is non-zero, heterogeneity of decay is introduced via a random variable sampled from the log-normal distribution with mu and sigma as specified. Both mu and sigma default to zero when not specified. The decay rate is multiplied by this variable (effectively, the half-life is divided by it).
Vector trap intervention deployment
→ scenario → interventions → vectorTrap → intervention → timed
<timed>
IN THIS ORDER:
| ( <deploy ... /> )*
</timed>
Documentation (element)
List of timed vector trap intervention deployment
deploy
→ scenario → interventions → vectorTrap → intervention → timed → deploy
<deploy
time=string
ratioToHumans=double
lifespan=string
/>
Attributes
Time
time=string
Units: User defined (defauls to steps) Min: 0
Time at which this deployment occurs. See doc on intervention period and on monitoring/startDate for details of how times work. Can be specified in steps, days, years, or as a date (examples: 15t, 75d, 0.2y, 2000-03-16).
Ratio to humans
ratioToHumans=double
Min: 0 Max: inf
The number of traps deployed, by this deployment, per adult human. E.g. if there are currently 100 traps and 1000 humans, then a ratio of 0.1 will increase the number of traps to 200.
Lifespan
lifespan=string
Units: Steps or Days or Years
Life of the trap until replaced or removed, e.g. "73t" or "1y". After this time period, these traps will be removed from the simulation. New deployments do not automatically remove old traps. Existing traps cannot be refurbished in the model. It may make sense to make the end-of-life coincide with a new deployment.
Human-specific interventions
→ scenario → interventions → human
<human>
IN THIS ORDER:
| ( <component ... /> )+
| ( <deployment ... /> )*
</human>
Documentation (element)
Encapsulates all interventions whose effects are specific to the human host: any interventions where target humans may be selected via population-coverage, age limits and sub-population membership.
Component
→ scenario → interventions → human → component
<component
id=string
[ name=string ]
>
IN THIS ORDER:
| EXACTLY ONE OF:
| | <screen ... />
| | <treatSimple ... />
| | <treatPKPD ... />
| | <decisionTree ... />
| | <PEV ... />
| | <BSV ... />
| | <TBV ... />
| | <ITN ... />
| | <IRS ... />
| | <GVI ... />
| | [ <recruitmentOnly ... /> ]
| | <clearImmunity ... />
| [ <subPopRemoval ... /> ]
</component>
- screen
- treatSimple
- treatPKPD
- decisionTree
- PEV
- BSV
- TBV
- ITN
- IRS
- GVI
- recruitmentOnly
- clearImmunity
- subPopRemoval
Documentation (element)
A parameterisation of an effect achieved by one component of an intervention. (An intervention is described as the effects of a set of components plus deployments of those components. This describes the components individually, not deployments or which components comprise an intervention.)
Each element describes one component: its effects, decay of the(se) effect(s), and related stuff (e.g. description of indirect decay and of usage levels).
Different interventions can deploy the same component to the same perso. In most cases this will just deploy a fresh instance (e.g. a new bed net will replace the old (nobody uses multiple bed nets), or a new drug dose will act on top of previous doses, or in the case of a vaccine, effect depends on the total number of previous inoculations (including from other interventions).
Where multiple components of the same type (but with different ids) are deployed (whether within a single intervention or by multiple interventions), they act independently (e.g. two bed nets deployed to a single host would act to reduce attractiveness or survival of mosquitoes biting that host twice — this may be useful to simulate some novel vector intervention since the two nets may have separate parameters).
Attributes
Component identifier
id=string
A short name or code identifying the intervention component (used to refer to this component when describing an intervention). Also the id of the sub-population defined as those hosts who have received this intervention and who haven't subsequently been removed from the sub-population.
Name of component
name=string
An informal name/description for the component
screen
→ scenario → interventions → human → component → screen
<screen
diagnostic=string
>
IN THIS ORDER:
| ( <positive ... /> )*
| ( <negative ... /> )*
</screen>
Documentation (type)
This can be combined with MDA to achieve mass screen and treat (MSAT) or other types of mass screening intervention.
When deployed to a host, this simulates a test of patent malaria (microscopy, RDT or some such), then triggers deployment of whichever intervention components are configured (deployments for both positive and negative test outcomes can be configured).
The use of the screening itself is reported (if enabled), but not the outcome. Deployment of interventions triggered by the screening may be reported, however.
Attributes
Name of diagnostic
diagnostic=string
Name of a parameterised diagnostic (see scenario/diagnostics).
positive
→ scenario → interventions → human → component → screen → positive
<positive
id=string
/>
Documentation (type)
The list of components deployed to eligible humans.
Attributes
Identifier
id=string
The identifier (short name) of a component.
negative
→ scenario → interventions → human → component → screen → negative
<negative
id=string
/>
Documentation (type)
The list of components deployed to eligible humans.
Attributes
Identifier
id=string
The identifier (short name) of a component.
treatSimple
→ scenario → interventions → human → component → treatSimple
<treatSimple
durationLiver=string
durationBlood=string
/>
Documentation (type)
Simple treatment model, targetting liver- and/or blood-stage infections. This is all-or-nothing treatment which, when deploymed, completely clears all infections of the targetted stages. This makes it unsuitable for modeling resistance, but suitable for use with simple infection models.
Infections are considered liver-stage when less than five days old and blood-stage after that. Effects are described independently for the two stages.
Attributes
Length of liver-stage effect
durationLiver=string
Units: User defined
Controls action on liver-stage infections. 0 means no action, -1 step is a compatibility option to act like treatment before schema version 32 (which removed infections retrospectively), 1 step or any duration which equals some whole number of steps n>0 means to clear all liver-stage infections found on the next 1 or n steps. Note on -1 compatibility option: the main difference to 1 step (clearing on the next timestep) is that parasite densities will be reduced immediately, and thus from the point of view of surveys and mass screen and treat interventions a peak in density which is immediately treated through case management will not be seen. Can be specified in steps (e.g. 1t, -1t) or days (e.g. 5d).
Length of blood-stage effect
durationBlood=string
Units: User defined
Controls action on blood-stage infections. 0 means no action, -1 step is a compatibility option to act like treatment before schema version 32 (which removed infections retrospectively), 1 step or any duration which equals some whole number of steps n>0 means to clear all blood-stage infections found on the next 1 or n steps. Note on -1 compatibility option: the main difference to 1 step (clearing on the next timestep) is that parasite densities will be reduced immediately, and thus from the point of view of surveys and mass screen and treat interventions a peak in density which is immediately treated through case management will not be seen. Can be specified in steps (e.g. 1t, -1t) or days (e.g. 5d).
treatPKPD
→ scenario → interventions → human → component → treatPKPD
<treatPKPD
schedule=string
dosage=string
[ delay_h=double ] DEFAULT VALUE 0
/>
Documentation (type)
A command to administer drugs according to a given schedule and dosage table, optionally with a delay.
Attributes
Name of treatment schedule
schedule=string
The name of a schedule to use for treatment.
Name of dosage table
dosage=string
The name of a dosage table to use for treatment.
Delay (hours)
delay_h=double
Default value: 0
Optionally, this can be given to delay the start of treatment by a given number of hours. If not specified, treatment is not delayed. If a delay is given, all medications within the treatment schedule used are delayed by this number of hours.
decisionTree
→ scenario → interventions → human → component → decisionTree
<decisionTree
[ name=string ]
>
EXACTLY ONE OF:
| <multiple ... />
| <caseType ... />
| <diagnostic ... />
| <random ... />
| <age ... />
| <noTreatment ... />
| <treatFailure ... />
| ( <treatPKPD ... /> )+
| <treatSimple ... />
| ( <deploy ... /> )+
</decisionTree>
Documentation (type)
Describes how "decisions" are made, both probabilistically and deterministically, and what actions are carried out.
Quantities may also be reported as a side effect of decisions made in the tree, for example the number of diagnostics used.
Attributes
Name
name=string
An optional piece of documentation attached to this node.
Vaccines
→ scenario → interventions → human → component → PEV
<PEV>
IN THIS ORDER:
| <decay ... />
| <efficacyB ... />
| ( <initialEfficacy ... /> )+
</PEV>
Documentation (element)
Pre-erythrocytic vaccine (PEV): prevents a proportion of infections from commencing.
Documentation (type)
Description of a vaccine's effect
Decay of effect
→ scenario → interventions → human → component → PEV → decay
<decay
function=("constant" or "step" or "linear" or "exponential" or "weibull" or "hill" or "smooth-compact")
[ L=string ]
[ k=double ] DEFAULT VALUE 1.0
[ mu=double ] DEFAULT VALUE 0
[ sigma=double ] DEFAULT VALUE 0
/>
Documentation (element)
Specification of decay of efficacy. Documentation: see DecayFunction type or https://github.com/SwissTPH/openmalaria/wiki/ModelDecayFunctions
Documentation (type)
Specification of decay or survival of a parameter.
Attributes
function
function=("constant" or "step" or "linear" or "exponential" or "weibull" or "hill" or "smooth-compact")
Units: None Min: 0 Max: 1
Determines which decay function to use. Available decay functions, for age t in years: constant: 1 step: 1 for t less than L, otherwise 0 linear: 1 - t/L for t less than L, otherwise 0 exponential: exp( - t/L * log(2) ) weibull: exp( -(t/L)^k * log(2) ) hill: 1 / (1 + (t/L)^k) smooth-compact: exp( k - k / (1 - (t/L)^2) ) for t less than L, otherwise 0
L
L=string
Units: User-defined (defaults to years) Min: 0
(Time) scale parameter of distribution: this is either the age of complete decay (smooth-compact, step and linear functions) or the age at which the parameter has decayed to half its original value (exponential, weibull and hill). Not used when function="constant" (i.e. no decay). This value can be specified in years, days or steps (e.g. 2y, 180d or 100t). When the unit is not specified years are assumed. The value is used without rounding except when sampling an age of decay, when the rounding happens as late as possible.
k
k=double
Units: none Min: 0
Default value: 1.0
Shape parameter of distribution. If not specified, default value of 1 is used. Meaning depends on function; not used in some cases.
μ (mu)
mu=double
Min: 0
Default value: 0
If sigma is non-zero, heterogeneity of decay is introduced via a random variable sampled from the log-normal distribution with mu and sigma as specified. Both mu and sigma default to zero when not specified. The decay rate is multiplied by this variable (effectively, the half-life is divided by it). Note that with m=0, the median of the variable and the median value of L is unchanged, and thus the time at which the median decay amongst the population of decaying objects reaches half (assuming exponential, Weibull or Hill decay) is L. With m=-½σ² (negative half sigma squared) the mean of the variable will be 1 and mean of the half-life L, but the time at which mean decay of the population has reached half may not be L.
σ (sigma)
sigma=double
Min: 0
Default value: 0
If sigma is non-zero, heterogeneity of decay is introduced via a random variable sampled from the log-normal distribution with mu and sigma as specified. Both mu and sigma default to zero when not specified. The decay rate is multiplied by this variable (effectively, the half-life is divided by it).
Variance parameter for vaccine efficacy
→ scenario → interventions → human → component → PEV → efficacyB
<efficacyB
value=double
/>
Documentation (element)
Units: Positive real Min: 0.001 Max: 1.00E+06
Measure of variation in vaccine efficacy: efficacy is sampled from a beta distribution with efficacyB its beta parameter and its alpha parameter fixed such that the mean is that given by initialEfficacy.
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Initial mean efficacy
→ scenario → interventions → human → component → PEV → initialEfficacy
<initialEfficacy
value=double
/>
Documentation (element)
Units: dimensionless Min: 0 Max: 1
Mean efficacy values before decay (see efficacyB and decay parameter descriptions for sampling and decay). The i-th value in this list is used for the efficacy of the vaccine after the i-th dose. Where more doses are given than there are values in this list, the last value is repeated.
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Vaccines
→ scenario → interventions → human → component → BSV
<BSV>
IN THIS ORDER:
| <decay ... />
| <efficacyB ... />
| ( <initialEfficacy ... /> )+
</BSV>
Documentation (element)
Blood-stage vaccine (BSV): acts as a killing factor on blood-stage parasites. Exact action depends on the within host model.
Documentation (type)
Description of a vaccine's effect
Vaccines
→ scenario → interventions → human → component → TBV
<TBV>
IN THIS ORDER:
| <decay ... />
| <efficacyB ... />
| ( <initialEfficacy ... /> )+
</TBV>
Documentation (element)
Transmission-blocking vaccine (TBV): one minus this scales the probability of transmission to mosquitoes
Documentation (type)
Description of a vaccine's effect
Bed nets
→ scenario → interventions → human → component → ITN
<ITN>
IN THIS ORDER:
| [ <usage ... /> ]
| <holeRate ... />
| <ripRate ... />
| <ripFactor ... />
| <initialInsecticide ... />
| <insecticideDecay ... />
| <attritionOfNets ... />
| ( <anophelesParams ... /> )+
</ITN>
- usage
- holeRate
- ripRate
- ripFactor
- initialInsecticide
- insecticideDecay
- attritionOfNets
- anophelesParams
Documentation (element)
Description of bed-net interventions (ITNs, LLINs).
Proportion of time nets are used by humans
→ scenario → interventions → human → component → ITN → usage
<usage
value=double
/>
Documentation (element)
Units: dimensionless Min: 0 Max: 1
Usage of nets by humans, from 0 to 1.
At the moment this is constant across humans and deterministic: relative attractiveness and survival factors are base*(1-usagepropActing) + intervention_factorusage*propActing.
See also "propActing" (proportion of bits for which net acts).
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Rate at which holes are made
→ scenario → interventions → human → component → ITN → holeRate
<holeRate
mean=double
sigma=double
/>
Documentation (element)
Units: Holes per annum Min: 0
The rate at which new holes are made in nets.
nHoles(t) = nHoles(t-1) + X where X~Pois(R/T) where T is the number of time-steps per year. R is sampled from log-normal: R ~ log N( log(mean)-sigma²/2, sigma² ) and is covariant with ripRate and insecticideDecay. (To be exact, a single Gaussian sample is taken, adjusted for each sigma then exponentiated.)
Documentation (type)
Parameters of a log-normal distribution.
Variates are sampled as: X ~ ln N( log(mean)-sigma²/2, sigma² ).
Equivalent R sample: rlnorm(n, log(m) - s*s/2, s)
Attributes
mean
mean=double
Units: (same as base units)
The mean of the lognormal distribution.
sigma
sigma=double
Sigma parameter of the lognormal distribution; sigma squared is the variance of the log of samples.
Rate at which holes are enlarged
→ scenario → interventions → human → component → ITN → ripRate
<ripRate
mean=double
sigma=double
/>
Documentation (element)
Units: Rips per existing hole per annum Min: 0
Each existing hole has a probability of being ripped bigger according to a Poisson process with this rate as (only) parameter.
New rips occur in a net at rate X~Pois(h×R/T) where h is the number of existing holes and T the number of time-steps per year. R is sampled from log-normal: R ~ log N( log(mean)-sigma²/2, sigma² ) and is covariant with holeRate and insecticideDecay. (To be exact, a single Gaussian sample is taken, adjusted for the each and sigma then exponentiated.)
Documentation (type)
Parameters of a log-normal distribution.
Variates are sampled as: X ~ ln N( log(mean)-sigma²/2, sigma² ).
Equivalent R sample: rlnorm(n, log(m) - s*s/2, s)
Attributes
mean
mean=double
Units: (same as base units)
The mean of the lognormal distribution.
sigma
sigma=double
Sigma parameter of the lognormal distribution; sigma squared is the variance of the log of samples.
Rip factor
→ scenario → interventions → human → component → ITN → ripFactor
<ripFactor
value=double
/>
Documentation (element)
Units: none Min: 0
This factor expresses how important rips are in increasing the hole.
The hole index of a net is h + F×x where h and x are the total numbers of holes and rips respectively and F is the rip factor.
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Initial insecticide
→ scenario → interventions → human → component → ITN → initialInsecticide
<initialInsecticide
mu=double
sigma=double
/>
Documentation (element)
Units: mg/m² Min: 0
The insecticide concentration of new nets is Gaussian distributed with mean "mu" and a standard deviation "sigma". The standard deviation should be small relative to the mean to avoid negative initial concentration. Any negative values sampled are set to 0.
Documentation (type)
Parameters of a normal distribution.
Variates are sampled as: X ~ N( mu, sigma² ).
Attributes
mu
mu=double
Units: (same as base units)
The mean of the normal distribution.
sigma
sigma=double
Units: (same as base units)
The standard deviation of variates.
Decay of insecticide
→ scenario → interventions → human → component → ITN → insecticideDecay
<insecticideDecay
function=("constant" or "step" or "linear" or "exponential" or "weibull" or "hill" or "smooth-compact")
[ L=string ]
[ k=double ] DEFAULT VALUE 1.0
[ mu=double ] DEFAULT VALUE 0
[ sigma=double ] DEFAULT VALUE 0
/>
Documentation (element)
Units: none
Decay curve for insecticide content of nets. Documentation: see DecayFunction type or https://github.com/SwissTPH/openmalaria/wiki/ModelDecayFunctions
The distribution of decay rates over nets is covariant with the distribution of ripRate and holeRate over nets. This distribution is generated by taking one sample per net from a Gaussian distribution with mean 0 and standard deviation 1. For each variable, the sample is multiplied by the respective sigma and a constant added such that, once exponentiated, the mean of the variable over nets is 1. The variable is then exponentiated and multiplied by the required mean rate for the respective variable.
Documentation (type)
Specification of decay or survival of a parameter.
Attributes
function
function=("constant" or "step" or "linear" or "exponential" or "weibull" or "hill" or "smooth-compact")
Units: None Min: 0 Max: 1
Determines which decay function to use. Available decay functions, for age t in years: constant: 1 step: 1 for t less than L, otherwise 0 linear: 1 - t/L for t less than L, otherwise 0 exponential: exp( - t/L * log(2) ) weibull: exp( -(t/L)^k * log(2) ) hill: 1 / (1 + (t/L)^k) smooth-compact: exp( k - k / (1 - (t/L)^2) ) for t less than L, otherwise 0
L
L=string
Units: User-defined (defaults to years) Min: 0
(Time) scale parameter of distribution: this is either the age of complete decay (smooth-compact, step and linear functions) or the age at which the parameter has decayed to half its original value (exponential, weibull and hill). Not used when function="constant" (i.e. no decay). This value can be specified in years, days or steps (e.g. 2y, 180d or 100t). When the unit is not specified years are assumed. The value is used without rounding except when sampling an age of decay, when the rounding happens as late as possible.
k
k=double
Units: none Min: 0
Default value: 1.0
Shape parameter of distribution. If not specified, default value of 1 is used. Meaning depends on function; not used in some cases.
μ (mu)
mu=double
Min: 0
Default value: 0
If sigma is non-zero, heterogeneity of decay is introduced via a random variable sampled from the log-normal distribution with mu and sigma as specified. Both mu and sigma default to zero when not specified. The decay rate is multiplied by this variable (effectively, the half-life is divided by it). Note that with m=0, the median of the variable and the median value of L is unchanged, and thus the time at which the median decay amongst the population of decaying objects reaches half (assuming exponential, Weibull or Hill decay) is L. With m=-½σ² (negative half sigma squared) the mean of the variable will be 1 and mean of the half-life L, but the time at which mean decay of the population has reached half may not be L.
σ (sigma)
sigma=double
Min: 0
Default value: 0
If sigma is non-zero, heterogeneity of decay is introduced via a random variable sampled from the log-normal distribution with mu and sigma as specified. Both mu and sigma default to zero when not specified. The decay rate is multiplied by this variable (effectively, the half-life is divided by it).
Attrition of nets
→ scenario → interventions → human → component → ITN → attritionOfNets
<attritionOfNets
function=("constant" or "step" or "linear" or "exponential" or "weibull" or "hill" or "smooth-compact")
[ L=string ]
[ k=double ] DEFAULT VALUE 1.0
[ mu=double ] DEFAULT VALUE 0
[ sigma=double ] DEFAULT VALUE 0
/>
Documentation (element)
Units: dimensionless
Specifies the rate at which nets are disposed of over time. Documentation: see DecayFunction type or https://github.com/SwissTPH/openmalaria/wiki/ModelDecayFunctions
In the current model, nets are disposed of randomly (no correlation with state of decay) such that the chance of each net surviving until age t is the value of this decay function at time t. Equivalently (where a large number of nets are distributed at the same time), the proportion of nets remaining in use should match this decay function over time.
Humans are removed from the intervention component's sub-population on disposal (attrition) of their nets. Currently this event is not reported.
Documentation (type)
Specification of decay or survival of a parameter.
Attributes
function
function=("constant" or "step" or "linear" or "exponential" or "weibull" or "hill" or "smooth-compact")
Units: None Min: 0 Max: 1
Determines which decay function to use. Available decay functions, for age t in years: constant: 1 step: 1 for t less than L, otherwise 0 linear: 1 - t/L for t less than L, otherwise 0 exponential: exp( - t/L * log(2) ) weibull: exp( -(t/L)^k * log(2) ) hill: 1 / (1 + (t/L)^k) smooth-compact: exp( k - k / (1 - (t/L)^2) ) for t less than L, otherwise 0
L
L=string
Units: User-defined (defaults to years) Min: 0
(Time) scale parameter of distribution: this is either the age of complete decay (smooth-compact, step and linear functions) or the age at which the parameter has decayed to half its original value (exponential, weibull and hill). Not used when function="constant" (i.e. no decay). This value can be specified in years, days or steps (e.g. 2y, 180d or 100t). When the unit is not specified years are assumed. The value is used without rounding except when sampling an age of decay, when the rounding happens as late as possible.
k
k=double
Units: none Min: 0
Default value: 1.0
Shape parameter of distribution. If not specified, default value of 1 is used. Meaning depends on function; not used in some cases.
μ (mu)
mu=double
Min: 0
Default value: 0
If sigma is non-zero, heterogeneity of decay is introduced via a random variable sampled from the log-normal distribution with mu and sigma as specified. Both mu and sigma default to zero when not specified. The decay rate is multiplied by this variable (effectively, the half-life is divided by it). Note that with m=0, the median of the variable and the median value of L is unchanged, and thus the time at which the median decay amongst the population of decaying objects reaches half (assuming exponential, Weibull or Hill decay) is L. With m=-½σ² (negative half sigma squared) the mean of the variable will be 1 and mean of the half-life L, but the time at which mean decay of the population has reached half may not be L.
σ (sigma)
sigma=double
Min: 0
Default value: 0
If sigma is non-zero, heterogeneity of decay is introduced via a random variable sampled from the log-normal distribution with mu and sigma as specified. Both mu and sigma default to zero when not specified. The decay rate is multiplied by this variable (effectively, the half-life is divided by it).
anophelesParams
→ scenario → interventions → human → component → ITN → anophelesParams
<anophelesParams
mosquito=string
[ propActive=double ] DEFAULT VALUE 1
>
IN THIS ORDER:
| [ <holeIndexMax ... /> ]
| EXACTLY ONE OF:
| | <deterrency ... />
| | <twoStageDeterrency ... />
| EXACTLY ONE OF:
| | <preprandialKillingEffect ... />
| | <preprandialKillingEffectLogit ... />
| EXACTLY ONE OF:
| | <postprandialKillingEffect ... />
| | <postprandialKillingEffectLogit ... />
| EXACTLY ONE OF:
| | [ <fecundityReduction ... /> ]
| | [ <fecundityReductionLogit ... /> ]
</anophelesParams>
- holeIndexMax
- deterrency
- twoStageDeterrency
- preprandialKillingEffect
- preprandialKillingEffectLogit
- postprandialKillingEffect
- postprandialKillingEffectLogit
- fecundityReduction
- fecundityReductionLogit
Attributes
Mosquito species
mosquito=string
Name of the affected anopheles-mosquito species.
Proportion of bites for which net acts
propActive=double
Units: dimensionless Min: 0 Max: 1
Default value: 1
The proportion of bites, when nets are in use, for which the net has any action whatsoever on the mosquito. At the moment this is constant across humans and deterministic: relative attractiveness and survival factors are base*(1-usagepropActing) + intervention_factorusage*propActing. See also "usage" (proportion of time nets are used by humans).
maximum of holed surface area that has an effect (comparable to no net)
→ scenario → interventions → human → component → ITN → anophelesParams → holeIndexMax
<holeIndexMax
value=double
/>
Documentation (element)
Units: in same unit as holeIndex
Used by logit attacking and killing models only, holeIndexMax is a user defined maximum hole index (typically, the total surface area of a net).
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Relative attractiveness
→ scenario → interventions → human → component → ITN → anophelesParams → deterrency
<deterrency
insecticideFactor=double
insecticideScalingFactor=double
holeFactor=double
interactionFactor=double
holeScalingFactor=double
/>
Documentation (element)
Units: dimensionless Min: 0 Max: 1
Effect of net on attractiveness of humans to mosquitoes relative to an unprotected adult human. Parameterisations should take into account that mosquitoes do not always bite indoors.
Attractiveness of the human is multiplied by exp(log(H)×h + log(P)×p + log(I)×h×p where H, P and I are the hole, insecticide and interaction factors respectively, h=exp(-holeIndex×holeScalingFactor) and p=1−exp(-insecticideContent×insecticideScalingFactor).
Attributes
Insecticide factor
insecticideFactor=double
Units: none Max: 1
Value expected to be at least 0. Negative values are not necessarily invalid, but allow nets to increase transmission.
Insecticide scaling factor
insecticideScalingFactor=double
Units: none Min: 0
Hole factor
holeFactor=double
Units: none Max: 1
Value expected to be at least 0. Negative values are not necessarily invalid, but allow nets to increase transmission.
Interaction factor
interactionFactor=double
Units: none Max: 1
holeFactor + insecticideFactor + interactionFactor must not be greater than 1, and is expected to be at least 0. A negative value is not necessarily invalid, but allows nets to increase transmission.
Hole scaling factor
holeScalingFactor=double
Units: none Min: 0
Relative attractiveness
→ scenario → interventions → human → component → ITN → anophelesParams → twoStageDeterrency
<twoStageDeterrency>
IN THIS ORDER:
| EXACTLY ONE OF:
| | <entering ... />
| | <enteringLogit ... />
| EXACTLY ONE OF:
| | <attacking ... />
| | <attackingLogit ... />
</twoStageDeterrency>
Documentation (element)
Units: dimensionless
Effect of net on attractiveness of humans to mosquitoes relative to an unprotected adult human. Parameterisations should take into account that mosquitoes do not always bite indoors.
This deterrency model multiplies human attractiveness by pEnt×pAtt.
Deterrency: entering
→ scenario → interventions → human → component → ITN → anophelesParams → twoStageDeterrency → entering
<entering
insecticideFactor=double
insecticideScalingFactor=double
/>
Documentation (element)
Units: dimensionless
pEnt represents the relative probability of entering due to ITNs: pEnt = exp(log(P)×p) where P is the insecticide factor and p=1−exp(-insecticideContent×insecticideScalingFactor).
Attributes
Insecticide factor
insecticideFactor=double
Units: none Max: 1
Value expected to be at least 0. Negative values are not necessarily invalid, but allow nets to increase transmission.
Insecticide scaling factor
insecticideScalingFactor=double
Units: none Min: 0
Deterrency: entering (logit model)
→ scenario → interventions → human → component → ITN → anophelesParams → twoStageDeterrency → enteringLogit
<enteringLogit
baseFactor=double
insecticideFactor=double
/>
Documentation (element)
Units: dimensionless
pEnt represents the relative probability of entering due to insecticide in the hut: pEnt = exp(logit.pEnt) / (exp(logit.pEnt) + 1) logit.pEnt = B + P * p where B is the basefactor (without net); P is insecticide factor, and p = log(insecticideContent+1). Without a net, probability of entering a house is pEnt0 = exp(logit.pEnt0) / (exp(logit.pEnt0) + 1) logit.pEnt0 = B Entering of mosquitoes is adjusted via multiplication by pEnt / pEnt0. To keep this in the range [0,1], we (normally) require that pEnt ≤ pEnt0 and thus P ≤ 0 and give a warning if this is not fulfilled.
Attributes
Base factor
baseFactor=double
Units: none
See parent element documentation
Insecticide factor
insecticideFactor=double
Units: none
See parent element documentation
Deterrency: attacking
→ scenario → interventions → human → component → ITN → anophelesParams → twoStageDeterrency → attacking
<attacking
insecticideFactor=double
insecticideScalingFactor=double
holeFactor=double
interactionFactor=double
holeScalingFactor=double
baseFactor=double
/>
Documentation (element)
Units: dimensionless
pAtt represents the relative probability of attacking a human after entering a house due to ITNs (i.e. of feeding/dying vs. flying off): pAtt = B + H×h + P×p + I×h×p where B is the base (without net) probability; H, P and I are the hole, insecticide and interaction factors respectively, h=exp(-holeIndex × holeScalingFactor) and p=1 - exp(-insecticideContent × insecticideScalingFactor).
Attributes
Insecticide factor
insecticideFactor=double
Units: none Max: 1
Value expected to be at least 0. Negative values are not necessarily invalid, but allow nets to increase transmission.
Insecticide scaling factor
insecticideScalingFactor=double
Units: none Min: 0
Hole factor
holeFactor=double
Units: none Max: 1
Value expected to be at least 0. Negative values are not necessarily invalid, but allow nets to increase transmission.
Interaction factor
interactionFactor=double
Units: none Max: 1
holeFactor + insecticideFactor + interactionFactor must not be greater than 1, and is expected to be at least 0. A negative value is not necessarily invalid, but allows nets to increase transmission.
Hole scaling factor
holeScalingFactor=double
Units: none Min: 0
Probability of mosquito death without intervention
baseFactor=double
Units: dimensionless
Deterrency: attacking (logit model)
→ scenario → interventions → human → component → ITN → anophelesParams → twoStageDeterrency → attackingLogit
<attackingLogit
baseFactor=double
insecticideFactor=double
holeFactor=double
interactionFactor=double
/>
Documentation (element)
Units: dimensionless
pAtt represents the relative probability of attacking a human after entering a house due to ITNs (i.e. of feeding/dying vs. flying off): pAtt = exp(logit.pAtt) / (exp(logit.pAtt) + 1) logit.pAtt = B + H×min(h, hMax) + P×p + I×min(h, hMax)×p where B is the base factor (without net); H, P and I are the hole, insecticide and interaction factors respectively, and: h = log(holeIndex + 1) p = log(insecticideContent + 1) Without a net, probability of attacking a human after entering a house is pAtt0 = exp(logit.pAtt0) / (exp(logit.pAtt0) + 1) logit.pAtt0 = B + H×hMax where hMax=log(holeIndexMax + 1) and holeIndexMax is a user defined maximum hole index (typically, the total surface area of a net). Attacking of mosquitoes is adjusted via multiplication by pAtt / pAtt0. This may be larger and smaller than 1 (but will not be negative). By definition (through the logit transformation) pAtt0 > 0.
Attributes
Base factor
baseFactor=double
Units: dimensionless
Logit of the probability (e.g. of death, of entry, of attacking) without intervention.
Insecticide factor
insecticideFactor=double
Units: none
Coefficient of log(insecticide content+1) in a generalized linear model with logit link function.
Hole factor
holeFactor=double
Units: none
Coefficient of log(total holed surface area (in cm2) +1) in a generalized linear model with logit link function.
Interaction factor
interactionFactor=double
Units: none
Coefficient of the interaction term of log(total holed surface area (in cm2) +1) with log(insecticide content+1) in a generalized linear model with logit link function.
Pre-prandial killing effect
→ scenario → interventions → human → component → ITN → anophelesParams → preprandialKillingEffect
<preprandialKillingEffect
insecticideFactor=double
insecticideScalingFactor=double
holeFactor=double
interactionFactor=double
holeScalingFactor=double
baseFactor=double
/>
Documentation (element)
Units: dimensionless Min: 0 Max: 1
Effect of net on survival mosquitoes as they seek to bite a human after choosing that human, relative to the same person not sleeping under a net. Parameterisations should take into account that mosquitoes do not always bite indoors.
Killing proportion is calculated as K = B + H×h + P×p + I×h×p where B is the base (without net) probability of death, H, P and I are the hole, insecticide and interaction factors respectively, h=exp(-holeIndex×holeScalingFactor) and p=1−exp(-insecticideContent×insecticideScalingFactor).
Survival of mosquitoes is adjusted via multiplication by (1−K) / (1−B). To keep this in the range [0,1], we require that B+H ≤ 1, B+P ≤ 1, B+H+P+I ≤ 1, H ≥ 0, P ≥ 0 and H+P+I ≥ 0.
Attributes
Insecticide factor
insecticideFactor=double
Units: none Max: 1
Value expected to be at least 0. Negative values are not necessarily invalid, but allow nets to increase transmission.
Insecticide scaling factor
insecticideScalingFactor=double
Units: none Min: 0
Hole factor
holeFactor=double
Units: none Max: 1
Value expected to be at least 0. Negative values are not necessarily invalid, but allow nets to increase transmission.
Interaction factor
interactionFactor=double
Units: none Max: 1
holeFactor + insecticideFactor + interactionFactor must not be greater than 1, and is expected to be at least 0. A negative value is not necessarily invalid, but allows nets to increase transmission.
Hole scaling factor
holeScalingFactor=double
Units: none Min: 0
Probability of mosquito death without intervention
baseFactor=double
Units: dimensionless
Pre-prandial killing effect (logit)
→ scenario → interventions → human → component → ITN → anophelesParams → preprandialKillingEffectLogit
<preprandialKillingEffectLogit
baseFactor=double
insecticideFactor=double
holeFactor=double
interactionFactor=double
/>
Documentation (element)
Units: dimensionless Min: 0 Max: 1
Effect of net on survival mosquitoes as they seek to bite a human
after choosing that human, relative to the same person not
sleeping under a net.
Killing proportion is calculated as
K=exp(logit.K)/(exp(logit.K)+1)
logit.K = B + H×min(h,hMax) + P×p + I×min(h,hMax)×p
where B is the basefactor (without net),
H, P and I are the hole, insecticide and interaction factors
respectively, h=log(holeIndex+1) and
p=log(insecticideContent+1).
Without a net, the killing proportion
K0=exp(logit.K0)/(exp(logit.K0)+1)
logit.K0 = B + H×hMax
where hMax=log(holeIndexMax+1) and holeIndexMax is a user defined maximum hole index (typically, the total surface area of a net).
Survival of mosquitoes is adjusted via multiplication by (1−K) / (1−K0).
To keep this in the range [0,1], we require that K ≥ K0. We enforce that P ≥ 0 (It would not make sense biologically if P were negative) and P+I*hMax ≥ 0 and H ≤ 0 and holeIndex ≤ holeIndexMax and give a warning if these conditions are not fulfilled.
Attributes
Base factor
baseFactor=double
Units: dimensionless
Logit of the probability (e.g. of death, of entry, of attacking) without intervention.
Insecticide factor
insecticideFactor=double
Units: none
Coefficient of log(insecticide content+1) in a generalized linear model with logit link function.
Hole factor
holeFactor=double
Units: none
Coefficient of log(total holed surface area (in cm2) +1) in a generalized linear model with logit link function.
Interaction factor
interactionFactor=double
Units: none
Coefficient of the interaction term of log(total holed surface area (in cm2) +1) with log(insecticide content+1) in a generalized linear model with logit link function.
Post-prandial killing effect
→ scenario → interventions → human → component → ITN → anophelesParams → postprandialKillingEffect
<postprandialKillingEffect
insecticideFactor=double
insecticideScalingFactor=double
holeFactor=double
interactionFactor=double
holeScalingFactor=double
baseFactor=double
/>
Documentation (element)
Units: dimensionless Min: 0 Max: 1
Effect of net on survival mosquitoes as they seek to escape from a human host and rest after a blood meal, relative to the same person not sleeping under a net. Parameterisations should take into account that mosquitoes do not always bite indoors.
Killing proportion is calculated as K = B + H×h + P×p + I×h×p where B is the base (without net) probability of death, H, P and I are the hole, insecticide and interaction factors respectively, h=exp(-holeIndex×holeScalingFactor) and p=1−exp(-insecticideContent×insecticideScalingFactor).
Survival of mosquitoes is adjusted via multiplication by (1−K) / (1−B). To keep this in the range [0,1], we require that B+H ≤ 1, B+P ≤ 1, B+H+P+I ≤ 1, H ≥ 0, P ≥ 0 and H+P+I ≥ 0.
Attributes
Insecticide factor
insecticideFactor=double
Units: none Max: 1
Value expected to be at least 0. Negative values are not necessarily invalid, but allow nets to increase transmission.
Insecticide scaling factor
insecticideScalingFactor=double
Units: none Min: 0
Hole factor
holeFactor=double
Units: none Max: 1
Value expected to be at least 0. Negative values are not necessarily invalid, but allow nets to increase transmission.
Interaction factor
interactionFactor=double
Units: none Max: 1
holeFactor + insecticideFactor + interactionFactor must not be greater than 1, and is expected to be at least 0. A negative value is not necessarily invalid, but allows nets to increase transmission.
Hole scaling factor
holeScalingFactor=double
Units: none Min: 0
Probability of mosquito death without intervention
baseFactor=double
Units: dimensionless
Post-prandial killing effect (logit)
→ scenario → interventions → human → component → ITN → anophelesParams → postprandialKillingEffectLogit
<postprandialKillingEffectLogit
baseFactor=double
insecticideFactor=double
holeFactor=double
interactionFactor=double
/>
Documentation (element)
Units: dimensionless Min: 0 Max: 1
Effect of net on survival mosquitoes as they seek to escape from a human host and rest after a blood meal, relative to the same person not sleeping under a net. Killing proportion is calculated as K=exp(logit.K)/(exp(logit.K)+1) logit.K = B + H×min(h,hMax) + P×p + I×min(h,hMax)×p where B is the basefactor (without net), H, P and I are the hole, insecticide and interaction factors respectively, h=log(holeIndex+1) and p=log(insecticideContent+1). Without a net, the killing proportion K0=exp(logit.K0)/(exp(logit.K0)+1) logit.K0 = B + H×hMax where hMax=log(holeIndexMax+1) and holeIndexMax is a user defined maximum hole index (typically, the total surface area of a net). Survival of mosquitoes is adjusted via multiplication by (1−K) / (1−K0). To keep this in the range [0,1], we require that K ≥ K0. We enforce that P ≥ 0 (It would not make sense biologically if P were negative) and P+I*hMax ≥ 0 and H ≤ 0 and holeIndex ≤ holeIndexMax and give a warning if these conditions are not fulfilled.
Attributes
Base factor
baseFactor=double
Units: dimensionless
Logit of the probability (e.g. of death, of entry, of attacking) without intervention.
Insecticide factor
insecticideFactor=double
Units: none
Coefficient of log(insecticide content+1) in a generalized linear model with logit link function.
Hole factor
holeFactor=double
Units: none
Coefficient of log(total holed surface area (in cm2) +1) in a generalized linear model with logit link function.
Interaction factor
interactionFactor=double
Units: none
Coefficient of the interaction term of log(total holed surface area (in cm2) +1) with log(insecticide content+1) in a generalized linear model with logit link function.
Fecundity reduction
→ scenario → interventions → human → component → ITN → anophelesParams → fecundityReduction
<fecundityReduction
insecticideFactor=double
insecticideScalingFactor=double
holeFactor=double
interactionFactor=double
holeScalingFactor=double
baseFactor=double
/>
Documentation (element)
Effect of net on fertility of mosquitoes who survive feeding on a protected human, relative to an unprotected human.
Fertility (number of eggs laid) is multiplied by (1-K) / (1-B), similar to killing effects. This is not allowed to be greater than 1.
Attributes
Insecticide factor
insecticideFactor=double
Units: none Max: 1
Value expected to be at least 0. Negative values are not necessarily invalid, but allow nets to increase transmission.
Insecticide scaling factor
insecticideScalingFactor=double
Units: none Min: 0
Hole factor
holeFactor=double
Units: none Max: 1
Value expected to be at least 0. Negative values are not necessarily invalid, but allow nets to increase transmission.
Interaction factor
interactionFactor=double
Units: none Max: 1
holeFactor + insecticideFactor + interactionFactor must not be greater than 1, and is expected to be at least 0. A negative value is not necessarily invalid, but allows nets to increase transmission.
Hole scaling factor
holeScalingFactor=double
Units: none Min: 0
Probability of mosquito death without intervention
baseFactor=double
Units: dimensionless
Fecundity reduction (logit)
→ scenario → interventions → human → component → ITN → anophelesParams → fecundityReductionLogit
<fecundityReductionLogit
baseFactor=double
insecticideFactor=double
holeFactor=double
interactionFactor=double
/>
Documentation (element)
Effect of net on fertility of mosquitoes who survive feeding on a protected human, relative to an unprotected human.
Fertility (number of eggs laid) is multiplied by (1-K) / (1-K0), similar to killing effects. This is not allowed to be greater than 1.
Attributes
Base factor
baseFactor=double
Units: dimensionless
Logit of the probability (e.g. of death, of entry, of attacking) without intervention.
Insecticide factor
insecticideFactor=double
Units: none
Coefficient of log(insecticide content+1) in a generalized linear model with logit link function.
Hole factor
holeFactor=double
Units: none
Coefficient of log(total holed surface area (in cm2) +1) in a generalized linear model with logit link function.
Interaction factor
interactionFactor=double
Units: none
Coefficient of the interaction term of log(total holed surface area (in cm2) +1) with log(insecticide content+1) in a generalized linear model with logit link function.
Indoor residual spraying
→ scenario → interventions → human → component → IRS
<IRS>
IN THIS ORDER:
| [ <usage ... /> ]
| <initialInsecticide ... />
| <insecticideDecay ... />
| ( <anophelesParams ... /> )+
</IRS>
Documentation (element)
Description of indoor residual spraying interventions.
Documentation (type)
Description of effect for the more complex and probably more realistic Briet model: IRS has three effects, whos strength is calculated as a function of surviving insecticide content.
Proportion of Indoor residual spraying (IRS) interventions
→ scenario → interventions → human → component → IRS → usage
<usage
value=double
/>
Documentation (element)
Units: dimensionless Min: 0 Max: 1
Usage of Indoor residual spraying (IRS) interventions, from 0 to 1.
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Initial insecticide
→ scenario → interventions → human → component → IRS → initialInsecticide
<initialInsecticide
mu=double
sigma=double
/>
Documentation (element)
Units: μg/cm² Min: 0
The insecticide concentration of IRS (at time of spraying) is Gaussian distributed with mean "mu" and a standard deviation "sigma". The standard deviation should be small relative to the mean to avoid negative initial concentration. Any negative values sampled are set to 0.
Documentation (type)
Parameters of a normal distribution.
Variates are sampled as: X ~ N( mu, sigma² ).
Attributes
mu
mu=double
Units: (same as base units)
The mean of the normal distribution.
sigma
sigma=double
Units: (same as base units)
The standard deviation of variates.
Decay of insecticide
→ scenario → interventions → human → component → IRS → insecticideDecay
<insecticideDecay
function=("constant" or "step" or "linear" or "exponential" or "weibull" or "hill" or "smooth-compact")
[ L=string ]
[ k=double ] DEFAULT VALUE 1.0
[ mu=double ] DEFAULT VALUE 0
[ sigma=double ] DEFAULT VALUE 0
/>
Documentation (element)
Units: none
Decay curve for insecticide content of IRS. Documentation: see DecayFunction type or https://github.com/SwissTPH/openmalaria/wiki/ModelDecayFunctions
Documentation (type)
Specification of decay or survival of a parameter.
Attributes
function
function=("constant" or "step" or "linear" or "exponential" or "weibull" or "hill" or "smooth-compact")
Units: None Min: 0 Max: 1
Determines which decay function to use. Available decay functions, for age t in years: constant: 1 step: 1 for t less than L, otherwise 0 linear: 1 - t/L for t less than L, otherwise 0 exponential: exp( - t/L * log(2) ) weibull: exp( -(t/L)^k * log(2) ) hill: 1 / (1 + (t/L)^k) smooth-compact: exp( k - k / (1 - (t/L)^2) ) for t less than L, otherwise 0
L
L=string
Units: User-defined (defaults to years) Min: 0
(Time) scale parameter of distribution: this is either the age of complete decay (smooth-compact, step and linear functions) or the age at which the parameter has decayed to half its original value (exponential, weibull and hill). Not used when function="constant" (i.e. no decay). This value can be specified in years, days or steps (e.g. 2y, 180d or 100t). When the unit is not specified years are assumed. The value is used without rounding except when sampling an age of decay, when the rounding happens as late as possible.
k
k=double
Units: none Min: 0
Default value: 1.0
Shape parameter of distribution. If not specified, default value of 1 is used. Meaning depends on function; not used in some cases.
μ (mu)
mu=double
Min: 0
Default value: 0
If sigma is non-zero, heterogeneity of decay is introduced via a random variable sampled from the log-normal distribution with mu and sigma as specified. Both mu and sigma default to zero when not specified. The decay rate is multiplied by this variable (effectively, the half-life is divided by it). Note that with m=0, the median of the variable and the median value of L is unchanged, and thus the time at which the median decay amongst the population of decaying objects reaches half (assuming exponential, Weibull or Hill decay) is L. With m=-½σ² (negative half sigma squared) the mean of the variable will be 1 and mean of the half-life L, but the time at which mean decay of the population has reached half may not be L.
σ (sigma)
sigma=double
Min: 0
Default value: 0
If sigma is non-zero, heterogeneity of decay is introduced via a random variable sampled from the log-normal distribution with mu and sigma as specified. Both mu and sigma default to zero when not specified. The decay rate is multiplied by this variable (effectively, the half-life is divided by it).
Per-mosquito species parameters
→ scenario → interventions → human → component → IRS → anophelesParams
<anophelesParams
mosquito=string
[ propActive=double ] DEFAULT VALUE 1
>
IN THIS ORDER:
| <deterrency ... />
| <preprandialKillingEffect ... />
| <postprandialKillingEffect ... />
| [ <fecundityReduction ... /> ]
</anophelesParams>
Attributes
Mosquito species
mosquito=string
Name of the affected anopheles-mosquito species.
Proportion of bites for which IRS acts
propActive=double
Units: dimensionless Min: 0 Max: 1
Default value: 1
The proportion of bites for which the IRS has any action whatsoever on the mosquito. At the moment this is constant across humans and deterministic: relative attractiveness and survival factors are base*(1-propActing) + intervention_factor*propActing.
Relative attractiveness
→ scenario → interventions → human → component → IRS → anophelesParams → deterrency
<deterrency
insecticideFactor=double
insecticideScalingFactor=double
/>
Documentation (element)
Units: dimensionless Min: 0 Max: 1
Effect of IRS on attractiveness of humans to mosquitoes relative to an unprotected adult human. Parameterisations should take into account that mosquitoes do not always bite indoors.
Attractiveness of the human is multiplied by exp(P×log(p)) where P is the insecticide factor, p=1−exp(-insecticideContent×insecticideScalingFactor).
Attributes
Insecticide factor
insecticideFactor=double
Units: none Max: 1
Value expected to be at least 0. Negative values are not necessarily invalid, but allow nets to increase transmission.
Insecticide scaling factor
insecticideScalingFactor=double
Units: none Min: 0
Pre-prandial killing effect
→ scenario → interventions → human → component → IRS → anophelesParams → preprandialKillingEffect
<preprandialKillingEffect
insecticideFactor=double
insecticideScalingFactor=double
baseFactor=double
/>
Documentation (element)
Units: dimensionless Min: 0 Max: 1
Effect of IRS on survival mosquitoes as they seek to bite a human after choosing that human, relative to the same person not protected by IRS. Parameterisations should take into account that mosquitoes do not always bite indoors. This parameter has been added since some data shows IRS to have a preprandial killing effect.
Killing proportion is calculated as K = B + P×p where B is the base (without protection) probability of death, and P is the insecticide factor, p=1−exp(-insecticideContent×insecticideScalingFactor).
Survival of mosquitoes is adjusted via multiplication by (1−K) / (1−B). To keep this in the range [0,1], we require that B+P ≤ 1 and P ≥ 0.
Attributes
Insecticide factor
insecticideFactor=double
Units: none Max: 1
Value expected to be at least 0. Negative values are not necessarily invalid, but allow nets to increase transmission.
Insecticide scaling factor
insecticideScalingFactor=double
Units: none Min: 0
Probability of mosquito death without intervention
baseFactor=double
Units: dimensionless
Post-prandial killing effect
→ scenario → interventions → human → component → IRS → anophelesParams → postprandialKillingEffect
<postprandialKillingEffect
insecticideFactor=double
insecticideScalingFactor=double
baseFactor=double
/>
Documentation (element)
Units: dimensionless Min: 0 Max: 1
Effect of IRS on survival mosquitoes as they seek to escape from a human host and rest after a blood meal, relative to the same person not protected by IRS. Parameterisations should take into account that mosquitoes do not always bite indoors.
Killing proportion is calculated as K = B + P×p where B is the base (without protection) probability of death, and P is the insecticide factor, p=1−exp(-insecticideContent×insecticideScalingFactor).
Survival of mosquitoes is adjusted via multiplication by (1−K) / (1−B). To keep this in the range [0,1], we require that B+P ≤ 1 and P ≥ 0.
Attributes
Insecticide factor
insecticideFactor=double
Units: none Max: 1
Value expected to be at least 0. Negative values are not necessarily invalid, but allow nets to increase transmission.
Insecticide scaling factor
insecticideScalingFactor=double
Units: none Min: 0
Probability of mosquito death without intervention
baseFactor=double
Units: dimensionless
Fecundity reduction
→ scenario → interventions → human → component → IRS → anophelesParams → fecundityReduction
<fecundityReduction
insecticideFactor=double
insecticideScalingFactor=double
baseFactor=double
/>
Documentation (element)
Effect of IRS on fertility mosquitoes after successfully feeding on a human host, relative to an unproteced human. Parameterisations should take into account that mosquitoes do not always bite indoors.
First, we calculate K = B + P×p where B is the base (without protection) probability of death, and P is the insecticide factor, p=1−exp(-insecticideContent×insecticideScalingFactor).
Fecundity is multiplied by (1−K) / (1−B). It is not allowed to be greater than 1. To keep this in the range [0,1], we require that B+P ≤ 1 and P ≥ 0.
Attributes
Insecticide factor
insecticideFactor=double
Units: none Max: 1
Value expected to be at least 0. Negative values are not necessarily invalid, but allow nets to increase transmission.
Insecticide scaling factor
insecticideScalingFactor=double
Units: none Min: 0
Probability of mosquito death without intervention
baseFactor=double
Units: dimensionless
Generic vector intervention
→ scenario → interventions → human → component → GVI
<GVI>
IN THIS ORDER:
| [ <usage ... /> ]
| <decay ... />
| ( <anophelesParams ... /> )+
</GVI>
Documentation (element)
Low-level description of intervention effects on vectors (i.e. mosquitoes). Can be used to describe simple ITN or IRS interventions (though more complex models are available for these interventions) or other interventions such as mosquito repellant or ivermectin.
Note that all actions of this intervention component will decay according to a single decay function. If independant decay is wanted, a separate component can be used for each action.
Proportion of generic vector interventions
→ scenario → interventions → human → component → GVI → usage
<usage
value=double
/>
Documentation (element)
Units: dimensionless Min: 0 Max: 1
Usage of Generic vector interventions, from 0 to 1.
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Decay
→ scenario → interventions → human → component → GVI → decay
<decay
function=("constant" or "step" or "linear" or "exponential" or "weibull" or "hill" or "smooth-compact")
[ L=string ]
[ k=double ] DEFAULT VALUE 1.0
[ mu=double ] DEFAULT VALUE 0
[ sigma=double ] DEFAULT VALUE 0
/>
Documentation (element)
Description of decay of all intervention effects. Documentation: see DecayFunction type or https://github.com/SwissTPH/openmalaria/wiki/ModelDecayFunctions
Documentation (type)
Specification of decay or survival of a parameter.
Attributes
function
function=("constant" or "step" or "linear" or "exponential" or "weibull" or "hill" or "smooth-compact")
Units: None Min: 0 Max: 1
Determines which decay function to use. Available decay functions, for age t in years: constant: 1 step: 1 for t less than L, otherwise 0 linear: 1 - t/L for t less than L, otherwise 0 exponential: exp( - t/L * log(2) ) weibull: exp( -(t/L)^k * log(2) ) hill: 1 / (1 + (t/L)^k) smooth-compact: exp( k - k / (1 - (t/L)^2) ) for t less than L, otherwise 0
L
L=string
Units: User-defined (defaults to years) Min: 0
(Time) scale parameter of distribution: this is either the age of complete decay (smooth-compact, step and linear functions) or the age at which the parameter has decayed to half its original value (exponential, weibull and hill). Not used when function="constant" (i.e. no decay). This value can be specified in years, days or steps (e.g. 2y, 180d or 100t). When the unit is not specified years are assumed. The value is used without rounding except when sampling an age of decay, when the rounding happens as late as possible.
k
k=double
Units: none Min: 0
Default value: 1.0
Shape parameter of distribution. If not specified, default value of 1 is used. Meaning depends on function; not used in some cases.
μ (mu)
mu=double
Min: 0
Default value: 0
If sigma is non-zero, heterogeneity of decay is introduced via a random variable sampled from the log-normal distribution with mu and sigma as specified. Both mu and sigma default to zero when not specified. The decay rate is multiplied by this variable (effectively, the half-life is divided by it). Note that with m=0, the median of the variable and the median value of L is unchanged, and thus the time at which the median decay amongst the population of decaying objects reaches half (assuming exponential, Weibull or Hill decay) is L. With m=-½σ² (negative half sigma squared) the mean of the variable will be 1 and mean of the half-life L, but the time at which mean decay of the population has reached half may not be L.
σ (sigma)
sigma=double
Min: 0
Default value: 0
If sigma is non-zero, heterogeneity of decay is introduced via a random variable sampled from the log-normal distribution with mu and sigma as specified. Both mu and sigma default to zero when not specified. The decay rate is multiplied by this variable (effectively, the half-life is divided by it).
Per-mosquito species parameters
→ scenario → interventions → human → component → GVI → anophelesParams
<anophelesParams
mosquito=string
[ propActive=double ] DEFAULT VALUE 1
>
IN THIS ORDER:
| [ <deterrency ... /> ]
| [ <preprandialKillingEffect ... /> ]
| [ <postprandialKillingEffect ... /> ]
| [ <fecundityReduction ... /> ]
</anophelesParams>
Attributes
Mosquito species
mosquito=string
Name of the affected anopheles-mosquito species.
Proportion of bites for which IRS acts
propActive=double
Units: dimensionless Min: 0 Max: 1
Default value: 1
The proportion of bites for which the IRS has any action whatsoever on the mosquito. At the moment this is constant across humans and deterministic: relative attractiveness and survival factors are base*(1-propActing) + intervention_factor*propActing.
Relative attractiveness
→ scenario → interventions → human → component → GVI → anophelesParams → deterrency
<deterrency
value=double
/>
Documentation (element)
Units: dimensionless Min: 0 Max: 1
Effect of intervention on attractiveness of humans to mosquitoes relative to an unprotected adult human. Parameterisations should take into account that mosquitoes do not always bite indoors.
Attractiveness of the human is multiplied this factor times survival of effect.
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Pre-prandial killing effect
→ scenario → interventions → human → component → GVI → anophelesParams → preprandialKillingEffect
<preprandialKillingEffect
value=double
/>
Documentation (element)
Units: dimensionless Min: 0 Max: 1
Effect of intervention on survival of mosquitoes as they seek to bite a human after choosing that human, relative to the same person not protected by the intervention. Parameterisations should take into account that mosquitoes do not always bite indoors. This parameter has been added since some data shows IRS to have a preprandial killing effect.
Killing proportion is this factor multiplied by survival of effect.
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Post-prandial killing effect
→ scenario → interventions → human → component → GVI → anophelesParams → postprandialKillingEffect
<postprandialKillingEffect
value=double
/>
Documentation (element)
Units: dimensionless Min: 0 Max: 1
Effect of intervention on survival of mosquitoes as they seek to escape from a human host and rest after a blood meal, relative to the same person not protected by the intervention. Parameterisations should take into account that mosquitoes do not always bite indoors.
Killing proportion is this factor multiplied by survival of effect.
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Fecundity reduction effect
→ scenario → interventions → human → component → GVI → anophelesParams → fecundityReduction
<fecundityReduction
value=double
/>
Documentation (element)
Min: 0
Effect of intervention on fertility mosquitoes after successfully feeding on a human host, relative to an unproteced human. Parameterisations should take into account that mosquitoes do not always bite indoors.
Fertility is multiplied by 1 - (fecundityReduction * decay).
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Recruitment only
→ scenario → interventions → human → component → recruitmentOnly
<recruitmentOnly/>
Documentation (element)
Recruitment of a host into a sub-population.
All human-targeting intervention deployments recruit simulated humans into a sub-population which can be used for the purposes of cumulative deployment, deployment only to a sub-population and defining a cohort. This pseudo-intervention can be used to define a sub-population without also deploying some intervention.
Clear Immunity
→ scenario → interventions → human → component → clearImmunity
<clearImmunity/>
Documentation (element)
Removes all exposure-related immunitsy gained over time by hosts without removing infections (or affecting the ability to gain immunity through exposure).
Hypothetical, but potentially useful to simulate scenarios with unprotected humans.
subPopRemoval
→ scenario → interventions → human → component → subPopRemoval
<subPopRemoval
[ onFirstBout=boolean ] DEFAULT VALUE false
[ onFirstTreatment=boolean ] DEFAULT VALUE false
[ onFirstInfection=boolean ] DEFAULT VALUE false
[ afterYears=double ]
/>
Documentation (type)
Each human intervention component corresponds to a sub-population: those who have received or are considered to be protected by the intervention component. Humans automatically become members of this sub-population when receiving an intervention component; this element controls how humans are removed from the sub-population.
ITN attrition also removes humans from sub-populations.
Note that sub-populations do not directly correspond to an intervention's effects: lack of effectiveness does not imply removal from the sub-population (except as explicitly configured here) and removal from the sub-population does not halt an intervention's effects.
Sub-populations may be used to define a cohort, to restrict deployment of other interventions and to use cumulative deployment mode. A sub- population may or may not correspond (roughly) to humans protected by some intervention.
Attributes
Time to first episode only
onFirstBout=boolean
Default value: false
If true, remove individuals from the sub-population at the start of the first episode (start of a clinical bout) since they were recruited into the sub-population. This is intended for cohort studies which measure time to the first episode, using active case detection. Reports delayed due to health-system memory are forced out when this occurs. Note that this can increase the number of uncomplicated cases reported across the entire population; for this reason reports are not forced on recruitment or most removal options. This does not prevent re-recruitment in the case that recruitment settings could conceivably recruit the same individual twice.
Time to first treatment only
onFirstTreatment=boolean
Default value: false
If true, remove individuals from the sub-population when they first seektreatment since they were recruited into the sub-population. This is intended for cohort studies which measure the time to first episode, using passive case detection. Reports delayed due to health-system memory are forced out when this occurs. Note that this can increase the number of uncomplicated cases reported across the entire population; for this reason reports are not forced on recruitment or most removal options. This does not prevent re-recruitment in the case that recruitment settings could conceivably recruit the same individual twice.
Time to first infection only
onFirstInfection=boolean
Default value: false
If true, remove individuals from the sub-population at completion of the first survey in which they present with a patent infection since they were recruited into the sub-population. This intended for cohort studies which measure time to the first infection, using active case detection. Reports delayed due to health-system memory are forced out when this occurs. Note that this can increase the number of uncomplicated cases reported across the entire population; for this reason reports are not forced on recruitment or most removal options. This does not prevent re-recruitment in the case that recruitment settings could conceivably recruit the same individual twice.
Remove from sub-population after
afterYears=double
Units: Years Min: 0
If given, membership to the sub-population of humans who have received this intervention component expires after the given number of years. Note that future deployments renew membership (e.g. if this parameter is 4 years and the intervention is redeployed 3 years from now, expiry happens after 7 years). This provides a crude way of modelling a cohort protected by some intervention. A few interventions provide more detailed ways of modelling expiry of protection. In any case, "expiry of protection" is an abstract concept and does not imply that all protection has ceased, even in the simulator. This may also be useful for cumulative deployment. Minimum duration is zero, which implies the human is effectively never a member of the sub-population; a duration of one timestep implies the human is a member of the sub-population while any futher interventions are deployed on the same time as this human becomes a member and on the next update of the human (including transmission and health system events) but not beyond that. If this attribute is not given, the simulated human is a member until death or some other option triggers removal. Input is rounded to the nearest time step.
Deployment
→ scenario → interventions → human → deployment
<deployment
[ name=string ]
>
IN THIS ORDER:
| ( <component ... /> )+
| ( <condition ... /> )*
| ( <continuous ... /> )*
| ( <timed ... /> )*
</deployment>
Documentation (element)
This element describes deployment of an intervention: which components are deployed, how humans are selected for deployment (via timed or age-based deployment) as well as a few additional restrictions (e.g. vaccine dosing restrictions).
All components deployed by this intervention are deployed to the same people (each timed or continuous deployment selects recipients and then gives each recipient all components of the intervention).
Attributes
Intervention name
name=string
Name of intervention
component
→ scenario → interventions → human → deployment → component
<component
id=string
/>
Documentation (type)
The list of components deployed to eligible humans.
Attributes
Identifier
id=string
The identifier (short name) of a component.
Condition
→ scenario → interventions → human → deployment → condition
<condition
measure=string
[ minValue=double ]
[ maxValue=double ]
initialState=boolean
/>
Documentation (element)
If conditions are specified, deployment of this intervention will only go ahead if all specified conditions are true. Condition statements are evaluated only during surveys, so deployment is enabled or disabled depending on the results of the most recent survey. So called unreported surveys can be used to reevaluate conditions without increasing granularity of output.
Conditions are evaluated for the whole population, not for individual age-groups or cohorts.
This affects all types of deployment.
Attributes
Measure
measure=string
The monitoring measure to test. Not all measures are available for use.
Minimum value
minValue=double
Minimum value. If specified, the measured variable must be greater than or equal to this value for the condition to be satisfied.
Maximum value
maxValue=double
Maximum value. If specified, the measured variable must be less than or equal to this value for the condition to be satisfied.
Initial state
initialState=boolean
Whether this condition is considered true or false before updated by a survey.
Age-based (continuous) deployment
→ scenario → interventions → human → deployment → continuous
<continuous>
IN THIS ORDER:
| [ <restrictToSubPop ... /> ]
| ( <deploy ... /> )+
</continuous>
Documentation (element)
List of ages at which deployment takes place (through EPI, post-natal and school-based programmes, etc.).
A sub-population restriction may be added as a property of the list of continuous deployments.
restrictToSubPop
→ scenario → interventions → human → deployment → continuous → restrictToSubPop
<restrictToSubPop
id=string
[ complement=boolean ] DEFAULT VALUE false
/>
Documentation (type)
If this element is specified, deployment is restricted to some sub-population (specified via the "id" attribute); otherwise the target population is the entire simulated population. Either way, other deployment restrictions (age, time, number of vaccine doeses) still apply.
Attributes
Sub-population identifier
id=string
The identifier (short name) of the sub-population (i.e. the "id" of some intervention component). Also see the "complement" attribute.
Complement
complement=boolean
Default value: false
If this is not specified or is false, deployment is restricted to the sub-population of people protected by the intervention component who's id is given. If complement is set to true, deployment is instead restricted to the complement of that sub-population, i.e. to those
deploy
→ scenario → interventions → human → deployment → continuous → deploy
<deploy
coverage=double
[ vaccMinPrevDoses=int ]
[ vaccMaxCumDoses=int ]
targetAgeYrs=double
[ begin=string ]
[ end=string ]
/>
Attributes
Coverage
coverage=double
Units: dimensionless Min: 0 Max: 1
Proportion of otherwise eligible individuals who will receive this deployment.
Vaccine min previous doses
vaccMinPrevDoses=int
Units: inoculations Min: 0
Applies to vaccines only: vaccine doses are only deployed by this deployment if the previous number of doses (for the component deployed) is at least this number. For example, if this is the second deployment opportunity for this vaccine and this value is 1, then this deployment cannot deploy the vaccine to individuals who did not receive the first deployment.
Vaccine max cumulative doses
vaccMaxCumDoses=int
Units: inoculations Min: 0
Applies to vaccines only: vaccine doses are only deployed by this deployment if the previous number of doses (for the component deployed) is less than this number.
Target age
targetAgeYrs=double
Units: Years Min: 0 Max: 100
Target age of intervention. Input is rounded to the nearest time step.
First time active
begin=string
Units: User defined (defauls to steps)
First time at which this deployment is active. If not specified, deployment starts at the beginning of the intervention period. See doc on intervention period and on monitoring/startDate for details of how times work. Can be specified in steps, days, years, or as a date (examples: 15t, 75d, 0.2y, 2000-03-16).
End step
end=string
Units: User defined (defauls to steps)
End of the period during which the intervention is active (to be exact, the first step of the intervention period at which the item becomes inactive). If not specified, deployment never ceases after starting during the simulation. See doc on intervention period and on monitoring/startDate for details of how times work. Can be specified in steps, days, years, or as a date (examples: 15t, 75d, 0.2y, 2000-03-16).
Mass (timed) deployment
→ scenario → interventions → human → deployment → timed
<timed>
IN THIS ORDER:
| [ <restrictToSubPop ... /> ]
| [ <cumulativeCoverage ... /> ]
| ( <deploy ... /> )+
</timed>
Documentation (element)
List of timed deployments of the intervention (that is, of deployment campaigns).
Cumulative deployment mode can be specified for all deployments in a timed list. To allow multiple cumulative deployment descriptions, the entire timed list may be repeated.
restrictToSubPop
→ scenario → interventions → human → deployment → timed → restrictToSubPop
<restrictToSubPop
id=string
[ complement=boolean ] DEFAULT VALUE false
/>
Documentation (type)
If this element is specified, deployment is restricted to some sub-population (specified via the "id" attribute); otherwise the target population is the entire simulated population. Either way, other deployment restrictions (age, time, number of vaccine doeses) still apply.
Attributes
Sub-population identifier
id=string
The identifier (short name) of the sub-population (i.e. the "id" of some intervention component). Also see the "complement" attribute.
Complement
complement=boolean
Default value: false
If this is not specified or is false, deployment is restricted to the sub-population of people protected by the intervention component who's id is given. If complement is set to true, deployment is instead restricted to the complement of that sub-population, i.e. to those
Cumulative coverage
→ scenario → interventions → human → deployment → timed → cumulativeCoverage
<cumulativeCoverage
component=string
/>
Documentation (element)
If this element is not specified, standard deployment occurs, where a portion of the population as given by the coverage property of this campaign is selected, and interventions are deployed to all of these people (regardless of previous coverage).
If this attribute is specified, instead, the population is divided into two sets: those who are a member of a certain sub-population and those who are not (see "subPopRemoval" element). If the proportion of people in the first set is less than the desired coverage, then the proportion of people from the second set needed to increase total coverage to the desired coverage is calculated. This proportion is then used as the probablity of selection from the second set into a third set of people who then receive all interventions deployed by this campaign.
Note that selection is stochastic so the final coverage level may not be exactly that desired. Note also that the component used when selecting people need not actually be one of the components deployed by this intervention, although that is the intended use case.
Attributes
Component identifier
component=string
The identifier (short name) of the component used when selecting people.
deploy
→ scenario → interventions → human → deployment → timed → deploy
<deploy
coverage=double
[ vaccMinPrevDoses=int ]
[ vaccMaxCumDoses=int ]
time=string
[ maxAge=double ]
[ minAge=double ] DEFAULT VALUE 0
[ repeatStep=string ]
[ repeatEnd=string ]
/>
Attributes
Coverage
coverage=double
Units: dimensionless Min: 0 Max: 1
Proportion of otherwise eligible individuals who will receive this deployment.
Vaccine min previous doses
vaccMinPrevDoses=int
Units: inoculations Min: 0
Applies to vaccines only: vaccine doses are only deployed by this deployment if the previous number of doses (for the component deployed) is at least this number. For example, if this is the second deployment opportunity for this vaccine and this value is 1, then this deployment cannot deploy the vaccine to individuals who did not receive the first deployment.
Vaccine max cumulative doses
vaccMaxCumDoses=int
Units: inoculations Min: 0
Applies to vaccines only: vaccine doses are only deployed by this deployment if the previous number of doses (for the component deployed) is less than this number.
Time
time=string
Units: User defined (defauls to steps) Min: 0
Time at which this deployment occurs. See doc on intervention period and on monitoring/startDate for details of how times work. Can be specified in steps, days, years, or as a date (examples: 15t, 75d, 0.2y, 2000-03-16).
Maximum age of eligible individuals
maxAge=double
Units: Years Min: 0
Maximum age of eligible individuals (defaults to no limit). Input is rounded to the nearest time step.
Minimum age of eligible individuals
minAge=double
Units: Years Min: 0
Default value: 0
Minimum age of eligible individuals (defaults to 0). Input is rounded to the nearest time step.
Step of repetition
repeatStep=string
Units: User defined
See repeatEnd's documentation.
End of repetition (exclusive)
repeatEnd=string
Units: User defined
Either both repeatStep and repeatEnd should be present or neither. If present, the deployment is repeated every repeatStep timesteps (i.e. if t0 is the initial time and x is repeatStep, depolyments are done at times t0, t0+x, t0+2*x, ...), ending before repeatEnd (final repetition is the one before repeatEnd). Note that repeatEnd may be specified as a date but repeatStep must be a duration (days, steps or years).
Health system description
→ scenario → healthSystem
<healthSystem>
IN THIS ORDER:
| EXACTLY ONE OF:
| | <EventScheduler ... />
| | <ImmediateOutcomes ... />
| | <DecisionTree5Day ... />
| <CFR ... />
| <pSequelaeInpatient ... />
</healthSystem>
Documentation (element)
Description of health system.
Documentation (type)
Description of case management system, used to specify the initial model or a replacement (an intervention). Encompasses case management data and some other data required to derive case outcomes.
Contains a sub-element describing the particular health-system in use. Health system data is here defined as data used to decide on a treatment strategy, given a case requiring treatment.
Transmission and vector bionomics
→ scenario → entomology
<entomology
name=string
mode=("forced" or "dynamic")
[ scaledAnnualEIR=double ]
>
IN THIS ORDER:
| EXACTLY ONE OF:
| | <nonVector ... />
| | <vector ... />
</entomology>
Documentation (element)
Description of entomological data
Attributes
Entomology dataset name
name=string
Name of entomology data
Transmission model mode
mode=("forced" or "dynamic")
Transmission simulation mode: may be forced (in which case interventions and changes to human infectiousness cannot affect EIR) or dynamic (in which the above can affect EIR). The full vector model is only used in dynamic mode. This can not be changed by interventions, except for the changeEIR intervention for the non-vector model which replaces the EIR with a new description (used in forced mode).
Override annual EIR
scaledAnnualEIR=double
Units: Infectious bites per adult per year
If set, the annual EIR (for all species of vector) is scaled to this level; can be omitted if not needed.
Transmission setting (vector control not enabled)
→ scenario → entomology → nonVector
<nonVector
eipDuration=int
>
IN THIS ORDER:
| ( <EIRDaily ... /> )+
</nonVector>
Documentation (element)
Description of transmission setting for models without vector control interventions (included for backward compatibility)
Attributes
Duration of sporogony
eipDuration=int
Units: Days
The duration of sporogony in days
Transmission setting (vector control enabled)
→ scenario → entomology → vector
<vector>
IN THIS ORDER:
| ( <anopheles ... /> )+
| ( <nonHumanHosts ... /> )*
</vector>
Documentation (element)
Parameters of the transmission model
anopheles
→ scenario → entomology → vector → anopheles
<anopheles
mosquito=string
propInfected=double
propInfectious=double
>
IN THIS ORDER:
| <seasonality ... />
| <mosq ... />
| [ <lifeCycle ... /> ]
| [ <simpleMPD ... /> ]
| ( <nonHumanHosts ... /> )*
</anopheles>
Documentation (type)
Description of input EIR for one specific vector species in terms of a Fourier approximation to the ln of the EIR during the burn in period
Attributes
Identifier for this anopheles species
mosquito=string
Identifier for this anopheles species
Initial estimate of proportion of mosquitoes infected (ρ_O)
propInfected=double
Units: Proportion Min: 0 Max: 1
Initial guess of the proportion of mosquitoes which are infected, o: O_v(t) = o*N_v(t). Only used as a starting value.
Initial estimate of proportion of mosquitoes infectious (ρ_S)
propInfectious=double
Units: Proportion Min: 0 Max: 1
Initial estimate of the proportion of mosquitoes which are infectious, s: S_v(t) = s*N_v(t). Used as a starting value and then fit.
Seasonality of transmission
→ scenario → entomology → vector → anopheles → seasonality
<seasonality
input=("EIR")
[ annualEIR=double ]
>
IN THIS ORDER:
| EXACTLY ONE OF:
| | <fourierSeries ... />
| | <monthlyValues ... />
| | <dailyValues ... />
</seasonality>
Documentation (element)
Specifies the seasonality of transmission and optionally the level of annual transmission.
Attributes
Seasonality input
input=("EIR")
Specify what seasonality measure is given. At the moment, only EIR is supported, but in the future, all the below should be supported. EIR: seasonality of entomological inoculations is input. Units: entomological inoculations per adult per annum. hostSeeking: seasonality of densities of flying host-seeking mosquitoes is input (in the model this is notated N_v). Units: mosquitoes. emergence: seasonality of emergence pupa into adults. Units: mosquitoes. larvalResources: seasonality of larval resources. Units: X.
Annual EIR
annualEIR=double
Units: Inoculations per adult per annum Min: 0
If this attribute is included, EIR for this species is scaled to this level. Note that if the scaledAnnualEIR attribute of the entomology element is also used, EIR is scaled again, making this attribute the EIR relative to other species. With some seasonality inputs, this attribute is optional, in which case (if scaledAnnualEIR is also not specified) transmission depends on all parameters of the vector. With some seasonality inputs, however, this parameter must be specified.
Fourier approximation to pre-intervention EIR
→ scenario → entomology → vector → anopheles → seasonality → fourierSeries
<fourierSeries
EIRRotateAngle=double
>
IN THIS ORDER:
| ( <coeffic ... /> )*
</fourierSeries>
Documentation (element)
Units: Infectious bites per adult per day
Seasonality is reproduced from the exponential of a fourier series specified by the following coefficients. Note that the a0 term is not needed; the annualEIR attribute of the seasonality element should be used to scale EIR instead.
Attributes
Rotation angle defining the origin of the Fourier approximation to ln (EIR)
EIRRotateAngle=double
Units: Radians
Rotation angle defining the origin of the Fourier approximation to ln (EIR)
Pair of Fourier coefficients
→ scenario → entomology → vector → anopheles → seasonality → fourierSeries → coeffic
<coeffic
a=double
b=double
/>
Documentation (element)
A pair of Fourier series coefficients. The first element specifies a1 and b1, the second a2 and b2, etc. Any number (from 0 up) of pairs may be given.
Attributes
a_n parameter of Fourier approximation to ln(EIR)
a=double
a_n parameter of Fourier approximation to ln(EIR) for some natural number n.
b_n parameter of Fourier approximation to ln(EIR)
b=double
b_n parameter of Fourier approximation to ln(EIR) for some natural number n.
List of monthly values
→ scenario → entomology → vector → anopheles → seasonality → monthlyValues
<monthlyValues
smoothing=("none" or "fourier")
>
IN THIS ORDER:
| ( <value ... /> ){12,12}
</monthlyValues>
Documentation (element)
Description of seasonality from monthly values. Multiple smoothing methods are possible (see smoothing attribute).
List should contain twelve entries: January to December.
Attributes
Smoothing function
smoothing=("none" or "fourier")
How the monthly values are converted into a daily sequence of values:
- none: no smoothing (step function)
- Fourier: a Fourier series (with terms up to a2/b2) is fit to the sequence of monthly values and used to generate a smoothed list of daily values.
Monthly value
→ scenario → entomology → vector → anopheles → seasonality → monthlyValues → value
<value>
double
</value>
Documentation (element)
Units: (see "seasonality input" parameter)
Monthly value
List of daily values
→ scenario → entomology → vector → anopheles → seasonality → dailyValues
<dailyValues>
IN THIS ORDER:
| ( <value ... /> ){365,365}
</dailyValues>
Documentation (element)
Description of seasonality from daily values.
List should contain 365 entries: 1st January to 31st December.
Daily value
→ scenario → entomology → vector → anopheles → seasonality → dailyValues → value
<value>
double
</value>
Documentation (element)
Units: (see "seasonality input" parameter)
Daily value
Mosquito feeding cycle parameters
→ scenario → entomology → vector → anopheles → mosq
<mosq
minInfectedThreshold=double
>
IN ANY ORDER:
| <mosqRestDuration ... />
| <extrinsicIncubationPeriod ... />
| <mosqLaidEggsSameDayProportion ... />
| <mosqSeekingDuration ... />
| <mosqSurvivalFeedingCycleProbability ... />
| <availabilityVariance ... />
| <mosqProbBiting ... />
| <mosqProbFindRestSite ... />
| <mosqProbResting ... />
| <mosqProbOvipositing ... />
| <mosqHumanBloodIndex ... />
</mosq>
- mosqRestDuration
- extrinsicIncubationPeriod
- mosqLaidEggsSameDayProportion
- mosqSeekingDuration
- mosqSurvivalFeedingCycleProbability
- availabilityVariance
- mosqProbBiting
- mosqProbFindRestSite
- mosqProbResting
- mosqProbOvipositing
- mosqHumanBloodIndex
Documentation (element)
Parameters describing the feeding cycle and human mosquito interaction of a single species of anopheles mosquito.
Attributes
Mininum infected threshold for mosquitos
minInfectedThreshold=double
Min: 0
If less than this many mosquitoes remain infected, transmission is interrupted.
Duration of the resting period of the vector
→ scenario → entomology → vector → anopheles → mosq → mosqRestDuration
<mosqRestDuration
value=int
/>
Documentation (element)
Units: Days
name:Duration of the resting period of the vector (days);
Attributes
Input parameter value
value=int
An integer value.
Extrinsic incubation period
→ scenario → entomology → vector → anopheles → mosq → extrinsicIncubationPeriod
<extrinsicIncubationPeriod
value=int
/>
Documentation (element)
Units: Days
name:Extrinsic incubation period (days)
Attributes
Input parameter value
value=int
An integer value.
Proportion of mosquitoes host seeking on same day as ovipositing
→ scenario → entomology → vector → anopheles → mosq → mosqLaidEggsSameDayProportion
<mosqLaidEggsSameDayProportion
value=double
/>
Documentation (element)
Units: Proportion
Proportion of mosquitoes host seeking on same day as ovipositing
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Duration of the host-seeking period of the vector
→ scenario → entomology → vector → anopheles → mosq → mosqSeekingDuration
<mosqSeekingDuration
value=double
/>
Documentation (element)
Units: Days
Duration of the host-seeking period of the vector (days)
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Probability that the mosquito survives the feeding cycle
→ scenario → entomology → vector → anopheles → mosq → mosqSurvivalFeedingCycleProbability
<mosqSurvivalFeedingCycleProbability
value=double
/>
Documentation (element)
Units: Proportion
Probability that the mosquito survives the feeding cycle
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Variance in human availability rate
→ scenario → entomology → vector → anopheles → mosq → availabilityVariance
<availabilityVariance
value=double
/>
Documentation (element)
Variance in availability rate of humans to mosquitoes. The mean rate is calculated based on other parameters.
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Probability that the mosquito succesfully bites chosen host
→ scenario → entomology → vector → anopheles → mosq → mosqProbBiting
<mosqProbBiting
mean=double
variance=double
/>
Documentation (element)
Probability that the mosquito succesfully bites chosen host
Documentation (type)
Parameters of a normal distribution, provided as mean and variance.
Variates are sampled from Be(α,β) where α and β are determined from the mean and variance as follows: let v be the variance and c=mean/(1-mean). Then we set α=cβ and β=((c+1)²v - c)/((c+1)³v).
Attributes
mean
mean=double
Units: none
The mean of the beta distribution (must be in the open range (0,1)).
variance
variance=double
Units: none
The standard deviation of variates.
Probability that the mosquito escapes host and finds a resting place after biting
→ scenario → entomology → vector → anopheles → mosq → mosqProbFindRestSite
<mosqProbFindRestSite
mean=double
variance=double
/>
Documentation (element)
Probability that the mosquito escapes host and finds a resting place after biting
Documentation (type)
Parameters of a normal distribution, provided as mean and variance.
Variates are sampled from Be(α,β) where α and β are determined from the mean and variance as follows: let v be the variance and c=mean/(1-mean). Then we set α=cβ and β=((c+1)²v - c)/((c+1)³v).
Attributes
mean
mean=double
Units: none
The mean of the beta distribution (must be in the open range (0,1)).
variance
variance=double
Units: none
The standard deviation of variates.
Probability of mosquito successfully resting after finding a resting site
→ scenario → entomology → vector → anopheles → mosq → mosqProbResting
<mosqProbResting
mean=double
variance=double
/>
Documentation (element)
Probability of mosquito successfully resting after finding a resting site
Documentation (type)
Parameters of a normal distribution, provided as mean and variance.
Variates are sampled from Be(α,β) where α and β are determined from the mean and variance as follows: let v be the variance and c=mean/(1-mean). Then we set α=cβ and β=((c+1)²v - c)/((c+1)³v).
Attributes
mean
mean=double
Units: none
The mean of the beta distribution (must be in the open range (0,1)).
variance
variance=double
Units: none
The standard deviation of variates.
Probability of a mosquito successfully laying eggs given that it has rested
→ scenario → entomology → vector → anopheles → mosq → mosqProbOvipositing
<mosqProbOvipositing
value=double
/>
Documentation (element)
Probability of a mosquito successfully laying eggs given that it has rested
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Human blood index
→ scenario → entomology → vector → anopheles → mosq → mosqHumanBloodIndex
<mosqHumanBloodIndex
value=double
/>
Documentation (element)
Units: Proportion
The proportion of resting mosquitoes which fed on human blood during the last feed.
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Mosquito life cycle parameters
→ scenario → entomology → vector → anopheles → lifeCycle
<lifeCycle
[ estimatedLarvalResources=double ] DEFAULT VALUE 1e8
>
IN ANY ORDER:
| <eggStage ... />
| <larvalStage ... />
| <pupalStage ... />
| <femaleEggsLaidByOviposit ... />
</lifeCycle>
Documentation (element)
Parameters describing the life-cycle of this species of mosquito
Attributes
Estimate of larval resources
estimatedLarvalResources=double
Units: X
Default value: 1e8
An estimate of mean annual availability of resources to larvae. Used to get the resource usage fitting algorithm going; if the algorithm fails to fit the resource availability then tweaking this parameter may help. In other cases tweaking this parameter shouldn't be necessary. Default value is 10⁸ (1e8). Units are arbitrary but must be the same as those used by the resourceUsage parameter.
Egg stage
→ scenario → entomology → vector → anopheles → lifeCycle → eggStage
<eggStage
duration=int
survival=double
/>
Documentation (element)
Parameters for the egg stage of development
Documentation (type)
Parameters associated with a mosquito development stage.
Attributes
Duration
duration=int
Units: Days
Duration of the stage (i.e. length of time mosquito is an egg/larva/pupa).
Probability of survival
survival=double
Units: Proportion
Probability that mosquito survives this size (probability of egg hatching, a larva becoming a pupa or a pupa emerging as an adult, at the start of that stage).
larvalStage
→ scenario → entomology → vector → anopheles → lifeCycle → larvalStage
<larvalStage>
</larvalStage>
Documentation (type)
Parameters for the larval stage of development
Documentation (base type)
Parameters associated with a mosquito development stage.
Daily development
→ scenario → entomology → vector → anopheles → lifeCycle → larvalStage → daily
<daily
resourceUsage=double
effectCompetition=double
/>
Documentation (element)
List of parameters which apply during the larval stage of development. List length must equal stage duration, with first item corresponding to first 24 hours after hatching, second item to hours 24-48, and so on.
Attributes
Resource usage
resourceUsage=double
Units: X
Resource usage during larval stage of development. Units are arbitrary.
Effect of competition
effectCompetition=double
Units: none
Effect of competition over resources on development.
Pupal stage
→ scenario → entomology → vector → anopheles → lifeCycle → pupalStage
<pupalStage
duration=int
survival=double
/>
Documentation (element)
Parameters for the pupal stage of development
Documentation (type)
Parameters associated with a mosquito development stage.
Attributes
Duration
duration=int
Units: Days
Duration of the stage (i.e. length of time mosquito is an egg/larva/pupa).
Probability of survival
survival=double
Units: Proportion
Probability that mosquito survives this size (probability of egg hatching, a larva becoming a pupa or a pupa emerging as an adult, at the start of that stage).
Eggs laid by ovipositing mosquito
→ scenario → entomology → vector → anopheles → lifeCycle → femaleEggsLaidByOviposit
<femaleEggsLaidByOviposit
value=double
/>
Documentation (element)
Units: Eggs per feeding cycle
The total number of female eggs laid by a female mosquito at the conclusion to a feeding cycle, after feeding on an unprotected human (non-human hosts and protected humans use a multiplication factor to adjust this number for mosquitoes feeding on them).
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Simple Mosq-Pop-Dynamics parameters
→ scenario → entomology → vector → anopheles → simpleMPD
<simpleMPD>
IN ANY ORDER:
| <developmentDuration ... />
| <developmentSurvival ... />
| <femaleEggsLaidByOviposit ... />
</simpleMPD>
Documentation (element)
Parameters describing the simple mosquito population dynamics model.
This is a simpler version of the life-cycle model, requiring less parameters and with much simpler initialisation.
Duration
→ scenario → entomology → vector → anopheles → simpleMPD → developmentDuration
<developmentDuration
value=int
/>
Documentation (element)
Units: Days Min: 1
Duration from egg laying to emergence in days.
Attributes
Input parameter value
value=int
An integer value.
Probability of survival
→ scenario → entomology → vector → anopheles → simpleMPD → developmentSurvival
<developmentSurvival
value=double
/>
Documentation (element)
Units: Proportion Min: 0 Max: 1
Probability that mosquito survives from the egg being laid to emergence, given no resouce limitations (no density constraints).
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Eggs laid by ovipositing mosquito
→ scenario → entomology → vector → anopheles → simpleMPD → femaleEggsLaidByOviposit
<femaleEggsLaidByOviposit
value=double
/>
Documentation (element)
Units: Eggs per feeding cycle
The total number of female eggs laid by a female mosquito at the conclusion to a feeding cycle.
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Alternative (non-human) host paramters
→ scenario → entomology → vector → anopheles → nonHumanHosts
<nonHumanHosts
name=string
>
IN ANY ORDER:
| <mosqRelativeEntoAvailability ... />
| <mosqProbBiting ... />
| <mosqProbFindRestSite ... />
| <mosqProbResting ... />
| [ <hostFecundityFactor ... /> ]
</nonHumanHosts>
- mosqRelativeEntoAvailability
- mosqProbBiting
- mosqProbFindRestSite
- mosqProbResting
- hostFecundityFactor
Documentation (element)
Min: 0
Non human host parameters, per type of host (must match up with non-species-specific parameters).
Attributes
Identifier for this category of non-human hosts
name=string
Identifier for this category of non-human hosts
Relative availability of non-human host (ξ_i)
→ scenario → entomology → vector → anopheles → nonHumanHosts → mosqRelativeEntoAvailability
<mosqRelativeEntoAvailability
value=double
/>
Documentation (element)
Units: Proportion
Relative availability of the population of non-human hosts of type i to other non-human hosts; the sum of this across all non-human hosts must be 1.
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Probability of mosquito successfully biting host
→ scenario → entomology → vector → anopheles → nonHumanHosts → mosqProbBiting
<mosqProbBiting
value=double
/>
Documentation (element)
Units: Proportion
Probability of mosquito successfully biting host
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Probability that the mosquito escapes host and finds a resting place after biting
→ scenario → entomology → vector → anopheles → nonHumanHosts → mosqProbFindRestSite
<mosqProbFindRestSite
value=double
/>
Documentation (element)
Units: Proportion
Probability that the mosquito escapes host and finds a resting place after biting
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Probability of mosquito successfully resting after finding a resting site
→ scenario → entomology → vector → anopheles → nonHumanHosts → mosqProbResting
<mosqProbResting
value=double
/>
Documentation (element)
Units: Proportion
Probability of mosquito successfully resting after finding a resting site
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Relative fecundity of biting mosquitoes
→ scenario → entomology → vector → anopheles → nonHumanHosts → hostFecundityFactor
<hostFecundityFactor
value=double
/>
Documentation (element)
Units: Proportion
Multiplicative factor for the number of fertile eggs laid by a mosquito after biting this type of host, relative to an unprotected human.
Attributes
Input parameter value
value=double
A double-precision floating-point value.
nonHumanHosts
→ scenario → entomology → vector → nonHumanHosts
<nonHumanHosts
name=string
number=double
/>
Attributes
Species of alternative host
name=string
Name of this species of non human hosts (must match up with those described per anopheles section).
Population size of non-human host species
number=double
Units: Animals
Population size of this non-human host. Note: the availability of the population of this type of non-human host is determined by mosqRelativeEntoAvailability and mosqHumanBloodIndex. NHHs are not modelled individually, thus this parameter is not used. It might be useful in the future if there is ever an intervention to change the number of non-human hosts.
Parasite genetics
<parasiteGenetics
samplingMode=("initial" or "tracking")
>
IN THIS ORDER:
| ( <locus ... /> )+
</parasiteGenetics>
Documentation (element)
A specification of genotypes of infection parasites.
May be omitted; in this case there is no modelling of genetic differences of infections (resistance, fitness).
Attributes
samplingMode
samplingMode=("initial" or "tracking")
This controls how genotypes are determined for new infections during the intervention period. Prior to this (in initialisation phases), genotypes are always sampled using the specified initial frequencies. Mode "initial" continues to sample genotypes using initial frequencies (i.e. independent of the success of parent generations of parasites). Mode "tracking" samples genotypes based on the success parent generations of parasites have in infecting mosquitoes, tracked per genotype. It is possible that in the future a recombination option will be added to this list, however designing a suitable model is not trivial.
Locus
→ scenario → parasiteGenetics → locus
<locus
name=string
>
IN THIS ORDER:
| ( <allele ... /> )+
</locus>
Documentation (element)
Describes a locus, or a point at which an infection may vary. The genotype of an infection is determined by choosing one allele at each locus. Initial frequencies of alleles are specified independently for each locus, but subsequent infections are selected according to success of genotypes.
Alleles at loci can affect fitness and resistance to any number of drugs.
Attributes
Name of locus
name=string
Name of the Locus
Allele
→ scenario → parasiteGenetics → locus → allele
<allele
name=string
initialFrequency=double
fitness=double
/>
Documentation (element)
Describes an allele, or one possible genetic option of multiple at one point of variance.
Attributes
Name
name=string
Name of the allele; used to refer to it elsewhere.
Initial frequency
initialFrequency=double
Specification of how commonly this allele occurs during warmup relative to other alleles of the same locus. During the simulation's initialisation phases, the frequency at which each allele of each locus occurs is fixed. After the initialisation phase, frequency of alleles is modelled as an emergent property of the success of genotypes.
Fitness factor
fitness=double
Fitness factor of the allele. This is multiplication factor used to speed up or slow down replication of parasites. For example, if a genotype has an allele with a fitness factor of 1 at one locus and another allele with a fitness factor of 0.8 at a second locus, then the parasites with the genotype will replicate 20% slower than the baseline.
Drug parameters (PK, PD and usage)
→ scenario → pharmacology
<pharmacology>
IN THIS ORDER:
| <treatments ... />
| <drugs ... />
</pharmacology>
Documentation (element)
Drug model parameters and drug usage parameters
Documentation (type)
A library of drug related data for the PK/PD model.
Treatments library
→ scenario → pharmacology → treatments
<treatments>
IN THIS ORDER:
| ( <schedule ... /> )+
| ( <dosages ... /> )+
</treatments>
Documentation (element)
A library of drug deployment schedules and dosages.
schedule
→ scenario → pharmacology → treatments → schedule
<schedule
name=string
>
IN THIS ORDER:
| ( <medicate ... /> )*
</schedule>
Documentation (type)
A schedule for the administration of drugs in a course of treatment.
Note that dose sizes are multiplied by some multiplier (see dosages) and the times of all doses may be delayed.
Attributes
Name
name=string
Name for referring to this deployment schedule
medicate
→ scenario → pharmacology → treatments → schedule → medicate
<medicate
drug=string
mg=double
hour=double
/>
Attributes
drug
drug=string
Abbreviated name of drug compound
Drug dose (mg with multiplier)
mg=double
Units: mg per something
Quantity of drug compound in mg per something. A separate dosage table must be used when medicating, which may specify multipliers of this number based on patient age or weight.
Time of administration
hour=double
Units: Hours Min: 0
Number of hours past start of timestep this drug dose is administered at (first dose should be at hour 0).
dosages
→ scenario → pharmacology → treatments → dosages
<dosages
name=string
>
IN THIS ORDER:
| EXACTLY ONE OF:
| | ( <age ... /> )+
| | ( <bodymass ... /> )+
| | <multiply ... />
</dosages>
Documentation (type)
A table for selecting a dose size. There are several ways this can work: using the patient's age or body mass in a look-up table to get a multplier, or directly using body mass as the multiplier.
The doses specified in "mg" in the treatment schedule are then multiplied by this multiplier.
Attributes
Name
name=string
Name for referring to this dosage table
Look-up table (age)
→ scenario → pharmacology → treatments → dosages → age
<age
lowerbound=double
dose_mult=double
/>
Documentation (element)
Select dose multiplier from a look-up table using the patient's age.
Documentation (type)
A look-up table which uses patient age (in years) or weight (in kg) to find a multiplier.
Attributes
Lower bound (inclusive)
lowerbound=double
Units: years or kg Min: 0
Dose multiplier
dose_mult=double
Min: 0
The dose size given in the schedule (in "mg") is multiplied by this value for patients falling into this range when this dosage table is used.
Look-up table (weight)
→ scenario → pharmacology → treatments → dosages → bodymass
<bodymass
lowerbound=double
dose_mult=double
/>
Documentation (element)
Select dose multiplier from a look-up table using the patient's body mass.
Documentation (type)
A look-up table which uses patient age (in years) or weight (in kg) to find a multiplier.
Attributes
Lower bound (inclusive)
lowerbound=double
Units: years or kg Min: 0
Dose multiplier
dose_mult=double
Min: 0
The dose size given in the schedule (in "mg") is multiplied by this value for patients falling into this range when this dosage table is used.
Multiply dose
→ scenario → pharmacology → treatments → dosages → multiply
<multiply
by=("kg")
/>
Documentation (element)
Multiply the dose by some quantity, such as patient weight.
Attributes
By what?
by=("kg")
Quantity to multiply the dose by. Only option is "kg" (patient weight in kg).
Drug library
→ scenario → pharmacology → drugs
<drugs>
IN THIS ORDER:
| ( <drug ... /> )+
</drugs>
Documentation (element)
A library of drug PK/PD data.
drug
→ scenario → pharmacology → drugs → drug
<drug
abbrev=string
>
IN THIS ORDER:
| <PD ... />
| <PK ... />
</drug>
Documentation (type)
A drug description with PK/PD parameters.
Attributes
abbrev
abbrev=string
PD
→ scenario → pharmacology → drugs → drug → PD
<PD
[ locus=string ]
>
IN THIS ORDER:
| ( <phenotype ... /> )+
</PD>
Attributes
Locus
locus=string
Optional; if present specifies the locus corresponding to this drug's PD phenotypes: each phenotype must then match one of that locus's alleles. Otherwise the drug should specify only one phenotype. There is currently a one-to-many correspondance between loci and drugs.
PD parameters for some allele / resistance phenotype
→ scenario → pharmacology → drugs → drug → PD → phenotype
<phenotype
[ name=string ]
>
IN THIS ORDER:
| ( <restriction ... /> )*
| <max_killing_rate ... />
| <IC50 ... />
| <slope ... />
</phenotype>
Documentation (element)
Pharmaco-Dynamic parameters for some resistance phenotype.
To model resistance to this drug, describe multiple infection phenotypes (with respect to these PD parameters) and list one or more "restrict" elements for each phenotype.
Loci are specified elsewhere. Multiple loci may influence the action of a single drug and each locus may influence multiple drugs.
Attributes
Name of phenotype
name=string
Name of the phenotype; for documentation use only.
Restrict phenotype applicability to certain alleles
→ scenario → pharmacology → drugs → drug → PD → phenotype → restriction
<restriction
onLocus=string
toAllele=string
/>
Documentation (element)
Specifies the mapping from genotype to phenotype. For each drug type, if only one phenotype is present, restrictions need not be specified, but otherwise restrictions must be specified.
The set of loci affecting phenotypes of this drug's action must be fixed for any drug type. Each phenotype must list, for each of these loci, a restriction to one or more alleles under the locus.
Attributes
Locus relevant to the mapping of alleles to this phenotype
onLocus=string
A locus under which only a restricted set of alleles map to this phenotype.
Alleles mapping to this phenotype
toAllele=string
One allele of a locus upon which phenotype choice depends. If multiple alleles under this locus should map to the same phenotype, repeat the whole "restriction onLocus..." element.
Maximal parasite killing rate
→ scenario → pharmacology → drugs → drug → PD → phenotype → max_killing_rate
<max_killing_rate>
double
</max_killing_rate>
Documentation (element)
Units: 1/days Min: 0
k1 — Maximal parasite killing rate.
IC50
→ scenario → pharmacology → drugs → drug → PD → phenotype → IC50
<IC50
[ sigma=double ] DEFAULT VALUE 0
>
double
</IC50>
Documentation (element)
Units: mg/l Min: 0
Half maximal effect concentration. If sigma > 0, the IC50 is sampled for each infection from a log-normal distribution with mean of this value and the sigma value specified, i.e. X ~ log N( log(mean) - s^2 / 2, s^2 ) .
Attributes
Sigma parameter for per-infection variation of IC50
sigma=double
Default value: 0
Distribution parameter describing per-infection variation of IC50. If zero or not specified, the IC50 is not sampled. See documentation of parent element.
Slope of effect curve
→ scenario → pharmacology → drugs → drug → PD → phenotype → slope
<slope>
double
</slope>
Documentation (element)
Units: dimensionless
n — Slope of the concentration effect curve
PK
→ scenario → pharmacology → drugs → drug → PK
<PK>
IN THIS ORDER:
| <negligible_concentration ... />
| EXACTLY ONE OF:
| | <half_life ... />
| | IN THIS ORDER:
| | | <k ... />
| | | <m_exponent ... />
| [ <k_a ... /> ]
| [ <conversion ... /> ]
| <vol_dist ... />
| [ <compartment2 ... /> ]
| [ <compartment3 ... /> ]
</PK>
Drug concentration considered negligible
→ scenario → pharmacology → drugs → drug → PK → negligible_concentration
<negligible_concentration>
double
</negligible_concentration>
Documentation (element)
Units: mg/l Min: 0
Concentration below which drug's effects are deemed negligible and can be removed from simulation.
drug half-life
→ scenario → pharmacology → drugs → drug → PK → half_life
<half_life>
double
</half_life>
Documentation (element)
Units: days Min: 0
Used to calculate elimination rate λ, calculated as λ = ln(2) / half_life. The basic form of decay is C(t) = C0 * exp(-λ*t).
Alternatively, elimination rate can be specified via k and m_exponent.
Constant associated with elimination rate (k)
→ scenario → pharmacology → drugs → drug → PK → k
<k
mean=double
[ cv=double ]
distr=("lnorm" or "const")
/>
Documentation (element)
Units: day^-1 Min: 0
Constant used to calculate the elimination rate λ, which is calculated as λ = k / (body_mass ^ m_exponent), where body_mass is the patient's weight in kg and m_exponent is the next parameter. The basic form of decay is C(t) = C0 * exp(-λ*t).
If sigma > 0, k is sampled per-human from the log-normal distribution: ln N( ln(mean) - σ^2 / 2, σ^2).
Alternatively, elimination rate can be specified via half_life.
Documentation (type)
Parameters of some distribution. The mean is that provided and the standard deviation is cv*mean.
Log-normal: σ = cv * mean ; μ = ln(mean) - σ² / 2 ; X ~ ln N( μ, σ² ) ; equivalent R sample: rlnorm(1, log(mean) - ((cv * mean)^2) / 2, cv * mean).
Attributes
mean
mean=double
Units: (same as base units)
The mean of the distribution.
Coefficient of variance
cv=double
Units: unitless
Coefficient of variance (mean * cv gives standard deviation). Must be specified when distribution is not constant.
Distribution
distr=("lnorm" or "const")
Selects the distribution to use. const: constant (no distribution). Setting cv=0 has the same behaviour. lnorm: log-normal distribution
Constant associated with elimination rate (m_exponent)
→ scenario → pharmacology → drugs → drug → PK → m_exponent
<m_exponent>
double
</m_exponent>
Documentation (element)
Units: day^-1 Min: 0
Constant used to calculate the elimination rate λ, which is calculated as λ = k / (body_mass ^ m_exponent), where body_mass is the patient's weight in kg and k is the previous parameter. The basic form of decay is C(t) = C0 * exp(-λ*t).
Alternatively, elimination rate can be specified via half_life.
Note that in the case of a conversion model, this applies to both the elimination and the conversion rates.
Absorption rate constant (k_a)
→ scenario → pharmacology → drugs → drug → PK → k_a
<k_a
mean=double
[ cv=double ]
distr=("lnorm" or "const")
/>
Documentation (element)
Min: 0
Absorption rate parameter. Not allowed for one compartment models, but required for two and three compartment models and one compartment with conversion model (for the parent drug only).
Documentation (type)
Parameters of some distribution. The mean is that provided and the standard deviation is cv*mean.
Log-normal: σ = cv * mean ; μ = ln(mean) - σ² / 2 ; X ~ ln N( μ, σ² ) ; equivalent R sample: rlnorm(1, log(mean) - ((cv * mean)^2) / 2, cv * mean).
Attributes
mean
mean=double
Units: (same as base units)
The mean of the distribution.
Coefficient of variance
cv=double
Units: unitless
Coefficient of variance (mean * cv gives standard deviation). Must be specified when distribution is not constant.
Distribution
distr=("lnorm" or "const")
Selects the distribution to use. const: constant (no distribution). Setting cv=0 has the same behaviour. lnorm: log-normal distribution
Conversion parameters (parent drug)
→ scenario → pharmacology → drugs → drug → PK → conversion
<conversion>
IN ANY ORDER:
| <metabolite ... />
| <rate ... />
| <molRatio ... />
</conversion>
Documentation (element)
Configures the parent drug in a conversion model.
To use a conversion model, the parent drug should have this section defined as well as half-life or k (direct elimination; this may be zero) and k_a (absorption rate; this may be large).
The metabolite drug should define half-life or k (elimination of metabolite), but not k_a (absorption rate) or this section (conversion). It is not possible for the metabolite to itself undergo conversion with the current models.
Metabolite drug (abbreviation)
→ scenario → pharmacology → drugs → drug → PK → conversion → metabolite
<metabolite>
string
</metabolite>
Documentation (element)
The abbreviation of the metabolite drug (e.g. "DHA" or "DHA_AR").
Rate of conversion
→ scenario → pharmacology → drugs → drug → PK → conversion → rate
<rate
mean=double
[ cv=double ]
distr=("lnorm" or "const")
/>
Documentation (element)
Rate of conversion of parent drug to metabolite.
Documentation (type)
Parameters of some distribution. The mean is that provided and the standard deviation is cv*mean.
Log-normal: σ = cv * mean ; μ = ln(mean) - σ² / 2 ; X ~ ln N( μ, σ² ) ; equivalent R sample: rlnorm(1, log(mean) - ((cv * mean)^2) / 2, cv * mean).
Attributes
mean
mean=double
Units: (same as base units)
The mean of the distribution.
Coefficient of variance
cv=double
Units: unitless
Coefficient of variance (mean * cv gives standard deviation). Must be specified when distribution is not constant.
Distribution
distr=("lnorm" or "const")
Selects the distribution to use. const: constant (no distribution). Setting cv=0 has the same behaviour. lnorm: log-normal distribution
Molecular weight ratio
→ scenario → pharmacology → drugs → drug → PK → conversion → molRatio
<molRatio>
double
</molRatio>
Documentation (element)
Ratio of molecular weights: molecular weight of the metabolite divided by molecular weight of the parent.
Volume of Distribution (Vd)
→ scenario → pharmacology → drugs → drug → PK → vol_dist
<vol_dist
[ sigma=double ] DEFAULT VALUE 0
>
double
</vol_dist>
Documentation (element)
Units: l/kg Min: 0
Volume of Distribution
Attributes
Sigma parameter for per-human variation of Vd
sigma=double
Default value: 0
Distribution parameter describing per-human variation of volume of distribution. If zero or not specified, the parameter is not sampled. See documentation of parent element.
Second compartment parameters
→ scenario → pharmacology → drugs → drug → PK → compartment2
<compartment2>
IN ANY ORDER:
| <a12 ... />
| <a21 ... />
</compartment2>
Documentation (element)
Optional element specifying conversion parameters to- and from- a second compartment.
Absorption rate to compartment 2 (a12)
→ scenario → pharmacology → drugs → drug → PK → compartment2 → a12
<a12
mean=double
[ cv=double ]
distr=("lnorm" or "const")
/>
Documentation (element)
Units: day^-1 Min: 0
Absorption rate from the central compartment to the first periphery compartment (2). The parameter k12 = a12 / m where m is the body mass (kg).
It is sampled per-patient when sigma > 0.
Documentation (type)
Parameters of some distribution. The mean is that provided and the standard deviation is cv*mean.
Log-normal: σ = cv * mean ; μ = ln(mean) - σ² / 2 ; X ~ ln N( μ, σ² ) ; equivalent R sample: rlnorm(1, log(mean) - ((cv * mean)^2) / 2, cv * mean).
Attributes
mean
mean=double
Units: (same as base units)
The mean of the distribution.
Coefficient of variance
cv=double
Units: unitless
Coefficient of variance (mean * cv gives standard deviation). Must be specified when distribution is not constant.
Distribution
distr=("lnorm" or "const")
Selects the distribution to use. const: constant (no distribution). Setting cv=0 has the same behaviour. lnorm: log-normal distribution
Absorption rate from compartment 2 (a21)
→ scenario → pharmacology → drugs → drug → PK → compartment2 → a21
<a21
mean=double
[ cv=double ]
distr=("lnorm" or "const")
/>
Documentation (element)
Units: day^-1 Min: 0
Absorption rate from the first periphery compartment (2) to the central compartment. The parameter k21 = a21 / m where m is the body mass (kg).
It is sampled per-patient when sigma > 0.
Documentation (type)
Parameters of some distribution. The mean is that provided and the standard deviation is cv*mean.
Log-normal: σ = cv * mean ; μ = ln(mean) - σ² / 2 ; X ~ ln N( μ, σ² ) ; equivalent R sample: rlnorm(1, log(mean) - ((cv * mean)^2) / 2, cv * mean).
Attributes
mean
mean=double
Units: (same as base units)
The mean of the distribution.
Coefficient of variance
cv=double
Units: unitless
Coefficient of variance (mean * cv gives standard deviation). Must be specified when distribution is not constant.
Distribution
distr=("lnorm" or "const")
Selects the distribution to use. const: constant (no distribution). Setting cv=0 has the same behaviour. lnorm: log-normal distribution
Third compartment parameters
→ scenario → pharmacology → drugs → drug → PK → compartment3
<compartment3>
IN ANY ORDER:
| <a13 ... />
| <a31 ... />
</compartment3>
Documentation (element)
Optional element specifying conversion parameters to- and from- a third compartment.
Absorption rate to compartment 3 (a13)
→ scenario → pharmacology → drugs → drug → PK → compartment3 → a13
<a13
mean=double
[ cv=double ]
distr=("lnorm" or "const")
/>
Documentation (element)
Units: day^-1 Min: 0
Absorption rate from the central compartment to the second periphery compartment (3). The parameter k13 = a13 / m where m is the body mass (kg).
It is sampled per-patient when sigma > 0.
Documentation (type)
Parameters of some distribution. The mean is that provided and the standard deviation is cv*mean.
Log-normal: σ = cv * mean ; μ = ln(mean) - σ² / 2 ; X ~ ln N( μ, σ² ) ; equivalent R sample: rlnorm(1, log(mean) - ((cv * mean)^2) / 2, cv * mean).
Attributes
mean
mean=double
Units: (same as base units)
The mean of the distribution.
Coefficient of variance
cv=double
Units: unitless
Coefficient of variance (mean * cv gives standard deviation). Must be specified when distribution is not constant.
Distribution
distr=("lnorm" or "const")
Selects the distribution to use. const: constant (no distribution). Setting cv=0 has the same behaviour. lnorm: log-normal distribution
Absorption rate from compartment 3 (a31)
→ scenario → pharmacology → drugs → drug → PK → compartment3 → a31
<a31
mean=double
[ cv=double ]
distr=("lnorm" or "const")
/>
Documentation (element)
Units: day^-1 Min: 0
Absorption rate from the second periphery compartment (3) to the central compartment. The parameter k31 = a31 / m where m is the body mass (kg).
It is sampled per-patient when sigma > 0.
Documentation (type)
Parameters of some distribution. The mean is that provided and the standard deviation is cv*mean.
Log-normal: σ = cv * mean ; μ = ln(mean) - σ² / 2 ; X ~ ln N( μ, σ² ) ; equivalent R sample: rlnorm(1, log(mean) - ((cv * mean)^2) / 2, cv * mean).
Attributes
mean
mean=double
Units: (same as base units)
The mean of the distribution.
Coefficient of variance
cv=double
Units: unitless
Coefficient of variance (mean * cv gives standard deviation). Must be specified when distribution is not constant.
Distribution
distr=("lnorm" or "const")
Selects the distribution to use. const: constant (no distribution). Setting cv=0 has the same behaviour. lnorm: log-normal distribution
Diagnostic parameters
→ scenario → diagnostics
<diagnostics>
IN THIS ORDER:
| ( <diagnostic ... /> )*
</diagnostics>
Documentation (element)
Diagnostic model parameters
diagnostic
→ scenario → diagnostics → diagnostic
<diagnostic
name=string
[ units=("Other" or "Garki" or "Malariatherapy") ]
>
IN THIS ORDER:
| EXACTLY ONE OF:
| | <deterministic ... />
| | <stochastic ... />
</diagnostic>
Attributes
Name of diagnostic
name=string
Name of this diagnostic (parameterisation). May be used elsewhere in the XML document to refer to this set of diagnostic parameters.
Parasite density units / methodology
units=("Other" or "Garki" or "Malariatherapy")
Parasite densities, as estimated according to standard microscopy methods, the Garki method, and as derived from Malariatherapy data are not equivalent. Internally, a "bias" factor is used to convert values estimated by one methods to values comparable with another (see AJTMHv75 supplement 2 pp20-21). This option allows specification of which methodology the density given in the diagnostic specification is measured with. Values allowed are: Malariatherapy, Garki and Other. If not specified, Other is assumed, unless the GARKI_DENSITY_BIAS model option is used, in which case this option must be specified.
Deterministic detection
→ scenario → diagnostics → diagnostic → deterministic
<deterministic
minDensity=double
/>
Documentation (element)
Specify that an artificial deterministic test is used: outcome is positive if parasite density is at least the minimum given.
Attributes
Minimum detectible density
minDensity=double
Units: parasites/microlitre Min: 0
The minimum density at which parasites can be detected. If 0, the test outcome is always positive.
Non-deterministic detection
→ scenario → diagnostics → diagnostic → stochastic
<stochastic
dens_50=double
specificity=double
/>
Documentation (element)
An improved model of detection which is non-deterministic, including false positive results as well as false negatives.
The probability of a positive outcome is modelled as 1 + s×(x/(x+d) - 1) where x is the parasite density, d is the density at which the test outcome has a 50% chance of being positive, and s is the probability of a positive outcome given no parasites (the specificity).
Some parameterisations:
Microscopy sensitivity/specificity data in Africa; Source: expert opinion — Allan Schapira dens_50 = 20.0 specificity = .75
RDT sensitivity/specificity for Plasmodium falciparum in Africa Source: Murray et al (Clinical Microbiological Reviews, Jan. 2008) dens_50 = 50.0; specificity = .942;
Attributes
Density 50
dens_50=double
Units: parasites/microlitre Min: 0
The density at which the test outcome has a 50% chance of being positive.
Specificity
specificity=double
Units: Dimensionless Min: 0 Max: 1
The probability of a positive test outcome in the absense of parasites.
Model options and parameters
<model>
IN ANY ORDER:
| <ModelOptions ... />
| <clinical ... />
| <human ... />
| [ <vivax ... /> ]
| <parameters ... />
</model>
Documentation (element)
Encapsulation of all parameters which describe the model according to which fitting is done.
Model Options
→ scenario → model → ModelOptions
<ModelOptions>
IN THIS ORDER:
| ( <option ... /> )*
</ModelOptions>
Documentation (element)
All model options (bug fixes, choices between models, etc.).
The list of recognised options can be found in the code at:
model/util/ModelOptions.h and should also be in the wiki.
clinical
<clinical
healthSystemMemory=string
>
IN ANY ORDER:
| [ <NeonatalMortality ... /> ]
| [ <NonMalariaFevers ... /> ]
</clinical>
Documentation (type)
Description of clinical parameters that are related to the health-system description, but which contain data that cannot be changed as part of an intervention and that are not restricted to treatment.
Attributes
Follow-up period during which recurrence is considered a treatment failure
healthSystemMemory=string
Units: User-defined (defaults to steps)
Follow-up period during which a recurrence is considered to be a treatment failure Can be specified in steps (e.g. 6t) or days (e.g. 28d).
Neonatal mortality parameters
→ scenario → model → clinical → NeonatalMortality
<NeonatalMortality
diagnostic=string
/>
Attributes
Diagnostic used to parameterise model
diagnostic=string
The name of a diagnostic used to parameterise the model. Neonatal mortality is derived from malaria patency of a certain sub-population of humans. This is the diagnostic used to asses patency for this purpose. If this is not specified, the monitoring diagnostic is used.
NonMalariaFevers
→ scenario → model → clinical → NonMalariaFevers
<NonMalariaFevers>
IN THIS ORDER:
| <incidence ... />
| [ <prNeedTreatmentNMF ... /> ]
| [ <prNeedTreatmentMF ... /> ]
</NonMalariaFevers>
Documentation (type)
Description of the incidence of non-malaria fever. Non-malaria fevers are only modelled if the NON_MALARIA_FEVERS option is used.
P(NMF)
→ scenario → model → clinical → NonMalariaFevers → incidence
<incidence
[ interpolation=("none" or "linear") ]
>
IN THIS ORDER:
| ( <group ... /> )+
</incidence>
Documentation (element)
Units: Dimensionless Min: 0.0 Max: 1.0
Probability that a non-malaria fever occurs given that no concurrent malaria fever occurs.
Attributes
interpolation
interpolation=("none" or "linear")
Interpolation algorithm. Normally it is desirable for age-based values to be continuous w.r.t. age. By default linear interpolation is used. With all algorithms except "none", the age groups are converted to a set of points centred within each age range. Extra points are added at each end (zero and infinity) to keep value constant at both ends of the function. A zero-length age group may be used as a kind of barrier to adjust the distribution; e.g. with age group boundaries at 15, 20 and 25 years, a (linear) spline would be drawn between ages 17.5 and 22.5, whereas with boundaries at 15, 20 and 20 years, a spline would be drawn between ages 17.5 and 20 years (may be desired if individuals are assumed to reach adult size at 20). Algorithms:
- none: input values are used directly
- linear: straight lines (on an age vs. value graph) are used to interpolate data points.
P(need treatment | NMF)
→ scenario → model → clinical → NonMalariaFevers → prNeedTreatmentNMF
<prNeedTreatmentNMF
[ interpolation=("none" or "linear") ]
>
IN THIS ORDER:
| ( <group ... /> )+
</prNeedTreatmentNMF>
Documentation (element)
Units: Dimensionless Min: 0 Max: 1
Probability that a non-malarial fever requires treatment with antibiotics (assuming fever is not induced by malaria, although concurrent parasites may be present).
Attributes
interpolation
interpolation=("none" or "linear")
Interpolation algorithm. Normally it is desirable for age-based values to be continuous w.r.t. age. By default linear interpolation is used. With all algorithms except "none", the age groups are converted to a set of points centred within each age range. Extra points are added at each end (zero and infinity) to keep value constant at both ends of the function. A zero-length age group may be used as a kind of barrier to adjust the distribution; e.g. with age group boundaries at 15, 20 and 25 years, a (linear) spline would be drawn between ages 17.5 and 22.5, whereas with boundaries at 15, 20 and 20 years, a spline would be drawn between ages 17.5 and 20 years (may be desired if individuals are assumed to reach adult size at 20). Algorithms:
- none: input values are used directly
- linear: straight lines (on an age vs. value graph) are used to interpolate data points.
P(need treatment | MF)
→ scenario → model → clinical → NonMalariaFevers → prNeedTreatmentMF
<prNeedTreatmentMF
[ interpolation=("none" or "linear") ]
>
IN THIS ORDER:
| ( <group ... /> )+
</prNeedTreatmentMF>
Documentation (element)
Units: Dimensionless Min: 0 Max: 1
Probability that a malaria fever needs treatment with antibiotics (assuming fever is induced by malaria, although concurrent bacteria may be present).
Meaning partially overlaps with separate model for comorbidity given malaria.
Attributes
interpolation
interpolation=("none" or "linear")
Interpolation algorithm. Normally it is desirable for age-based values to be continuous w.r.t. age. By default linear interpolation is used. With all algorithms except "none", the age groups are converted to a set of points centred within each age range. Extra points are added at each end (zero and infinity) to keep value constant at both ends of the function. A zero-length age group may be used as a kind of barrier to adjust the distribution; e.g. with age group boundaries at 15, 20 and 25 years, a (linear) spline would be drawn between ages 17.5 and 22.5, whereas with boundaries at 15, 20 and 20 years, a spline would be drawn between ages 17.5 and 20 years (may be desired if individuals are assumed to reach adult size at 20). Algorithms:
- none: input values are used directly
- linear: straight lines (on an age vs. value graph) are used to interpolate data points.
human
<human>
IN THIS ORDER:
| <availabilityToMosquitoes ... />
| [ <weight ... /> ]
</human>
Documentation (type)
Parameters of host models.
Availability to mosquitoes
→ scenario → model → human → availabilityToMosquitoes
<availabilityToMosquitoes
[ interpolation=("none" or "linear") ]
>
IN THIS ORDER:
| ( <group ... /> )+
</availabilityToMosquitoes>
Documentation (element)
Units: None Min: 0 Max: 1
Availability of humans to mosquitoes relative to an adult, categorized by age group
Attributes
interpolation
interpolation=("none" or "linear")
Interpolation algorithm. Normally it is desirable for age-based values to be continuous w.r.t. age. By default linear interpolation is used. With all algorithms except "none", the age groups are converted to a set of points centred within each age range. Extra points are added at each end (zero and infinity) to keep value constant at both ends of the function. A zero-length age group may be used as a kind of barrier to adjust the distribution; e.g. with age group boundaries at 15, 20 and 25 years, a (linear) spline would be drawn between ages 17.5 and 22.5, whereas with boundaries at 15, 20 and 20 years, a spline would be drawn between ages 17.5 and 20 years (may be desired if individuals are assumed to reach adult size at 20). Algorithms:
- none: input values are used directly
- linear: straight lines (on an age vs. value graph) are used to interpolate data points.
Weight
→ scenario → model → human → weight
<weight
[ interpolation=("none" or "linear") ]
multStdDev=double
>
IN THIS ORDER:
| ( <group ... /> )+
</weight>
Documentation (element)
Units: kg Min: 0
By age group data on human weight (mass).
Attributes
interpolation
interpolation=("none" or "linear")
Interpolation algorithm. Normally it is desirable for age-based values to be continuous w.r.t. age. By default linear interpolation is used. With all algorithms except "none", the age groups are converted to a set of points centred within each age range. Extra points are added at each end (zero and infinity) to keep value constant at both ends of the function. A zero-length age group may be used as a kind of barrier to adjust the distribution; e.g. with age group boundaries at 15, 20 and 25 years, a (linear) spline would be drawn between ages 17.5 and 22.5, whereas with boundaries at 15, 20 and 20 years, a spline would be drawn between ages 17.5 and 20 years (may be desired if individuals are assumed to reach adult size at 20). Algorithms:
- none: input values are used directly
- linear: straight lines (on an age vs. value graph) are used to interpolate data points.
Standard deviation
multStdDev=double
Units: None Min: 0
Each human is assigned a weight multiplier from a normal distribution with mean 1 and this standard deviation at birth. His/her weight is this multiplier times the mean from age distribution. A standard deviation of zero for no heterogeneity is valid; a rough value from Tanzanian data is 0.14.
Vivax model parameters
<vivax>
IN ANY ORDER:
| <probBloodStageInfectiousToMosq ... />
| <hypnozoiteRelease ... />
| <bloodStageProtectionLatency ... />
| <bloodStageLengthDays ... />
| <clinicalEvents ... />
</vivax>
- probBloodStageInfectiousToMosq
- hypnozoiteRelease
- bloodStageProtectionLatency
- bloodStageLengthDays
- clinicalEvents
Documentation (element)
This describes Vivax model parameters, and is required when using the VIVAX_SIMPLE_MODEL model option.
Probability of mosquito infection
→ scenario → model → vivax → probBloodStageInfectiousToMosq
<probBloodStageInfectiousToMosq
value=double
/>
Documentation (element)
Units: None Min: 0 Max: 1
The chance of a feeding mosquito becoming infected, given that the host is patent. (This may be adjusted by transmission-blocking vaccines.)
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Hypnozoite releases
→ scenario → model → vivax → hypnozoiteRelease
<hypnozoiteRelease
[ pSecondRelease=double ] DEFAULT VALUE 0
>
IN ANY ORDER:
| <numberHypnozoites ... />
| <firstRelease ... />
| [ <secondRelease ... /> ]
</hypnozoiteRelease>
Documentation (element)
Describes the number and times of hypnozoite releases.
Documentation (type)
This element defines probabilites when and how many hypnozoites are released from the liverstage into the blood.
The gap between the start of a new brood of hypnozoites and its release are defined as follows:
latentP + latentRelapseDays + randomReleaseDelay
randomReleaseDelay is based on one or two lognormal distributions, which are defined in firstRelease and optionally secondRelease.
You can define 2 release distributions, which get added together and represent the probability of hypnozoites which get released before winter (first release) or after (second release).
You can omit the secondRelease element if no release to the blood happens after winter.
Attributes
latent relapse days
pSecondRelease=double
Default value: 0
Probability of a second release. If undefined it is zero.
Number of Hypnozoites
→ scenario → model → vivax → hypnozoiteRelease → numberHypnozoites
<numberHypnozoites
max=int
base=double
/>
Documentation (element)
numberHypnozoites calculates the number of hypnozoites in the liver stage based on a base which is between 0 and 1.
This number is random based on the following distribution and normalized:
max ∑ (base ^ n) n = 0
Attributes
max
max=int
base
base=double
firstRelease
→ scenario → model → vivax → hypnozoiteRelease → firstRelease
<firstRelease
mu=double
sigma=double
latentRelapseDays=int
/>
Documentation (base type)
Parameters of a normal distribution.
Variates are sampled as: X ~ N( mu, sigma² ).
Attributes
mu
mu=double
Units: (same as base units)
The mean of the normal distribution.
sigma
sigma=double
Units: (same as base units)
The standard deviation of variates.
latent relapse days
latentRelapseDays=int
Usually 15 days or 10 days (3 or 2 5-day timesteps).
secondRelease
→ scenario → model → vivax → hypnozoiteRelease → secondRelease
<secondRelease
mu=double
sigma=double
latentRelapseDays=int
/>
Documentation (base type)
Parameters of a normal distribution.
Variates are sampled as: X ~ N( mu, sigma² ).
Attributes
mu
mu=double
Units: (same as base units)
The mean of the normal distribution.
sigma
sigma=double
Units: (same as base units)
The standard deviation of variates.
latent relapse days
latentRelapseDays=int
Usually 15 days or 10 days (3 or 2 5-day timesteps).
Blood stage protection latency
→ scenario → model → vivax → bloodStageProtectionLatency
<bloodStageProtectionLatency
value=double
/>
Documentation (element)
Min: 0
The length of time after expiry of a blood-stage infection during which relapses from the same brood are supressed by the immune system.
This is rounded to the nearest time-step.
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Blood stage length
→ scenario → model → vivax → bloodStageLengthDays
<bloodStageLengthDays
weibullScale=double
weibullShape=double
/>
Documentation (element)
Units: Days
Parameters used to sample the length of blood-stage infections from a Weibull distribution (scale parameter lambda, shape parameter k).
Attributes
weibullScale
weibullScale=double
weibullShape
weibullShape=double
clinicalEvents
→ scenario → model → vivax → clinicalEvents
<clinicalEvents>
IN THIS ORDER:
| <pPrimaryInfection ... />
| <pRelapseOne ... />
| <pRelapseTwoPlus ... />
| <pEventIsSevere ... />
</clinicalEvents>
Documentation (type)
This elements holds all information about probabilites for clinical events from infections and relapses.
pPrimaryInfection
→ scenario → model → vivax → clinicalEvents → pPrimaryInfection
<pPrimaryInfection
a=double
b=double
/>
Attributes
a
a=double
b
b=double
pRelapseOne
→ scenario → model → vivax → clinicalEvents → pRelapseOne
<pRelapseOne
a=double
b=double
/>
Attributes
a
a=double
b
b=double
pRelapseTwoPlus
→ scenario → model → vivax → clinicalEvents → pRelapseTwoPlus
<pRelapseTwoPlus
a=double
b=double
/>
Attributes
a
a=double
b
b=double
pEventIsSevere
→ scenario → model → vivax → clinicalEvents → pEventIsSevere
<pEventIsSevere
value=double
/>
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Parameters of the model of epidemiology
→ scenario → model → parameters
<parameters
interval=int
iseed=int
latentp=string
>
IN THIS ORDER:
| ( <parameter ... /> )+
</parameters>
Documentation (element)
Parameters of the epidemiological model
Attributes
Simulation step
interval=int
Units: Days
Simulation step
Random number seed
iseed=int
Units: Number
Seed for RNG
Pre-erythrocytic latent period
latentp=string
Units: User defined (default: steps) Min: 0 Max: 20
Pre-erythrocytic latent period Can be specified in steps (e.g. 3t) or days (e.g. 15d).
parameter
→ scenario → model → parameters → parameter
<parameter
[ name=string ]
number=int
value=double
[ include=boolean ]
/>
Attributes
Name of parameter
name=string
Units: string
Name of parameter
Parameter number
number=int
Units: Number Min: 1 Max: 100
Reference number of input parameter
Parameter value
value=double
Units: Number Min: 0
Parameter value
Sampling indicator
include=boolean
Units: Number Min: 0 Max: 1
True if parameter is to be sampled in optimization runs. Not used in simulator app.
Schema 37 documentation
Generated from: scenario_37.xsd
.
Key:
abc required (one)
[ def ] optional (zero or one)
( ghi )* any number (zero or more)
( jkl )+ at least one
( mno ){2,inf} two or more occurrences
Scenario
→ scenario
<scenario
schemaVersion=int
[ analysisNo=int ]
name=string
[ wuID=int ]
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:om="http://openmalaria.org/schema/scenario_37"
xsi:schemaLocation="http://openmalaria.org/schema/scenario_37 scenario_37.xsd"
>
IN ANY ORDER:
| <demography ... />
| <monitoring ... />
| <interventions ... />
| <healthSystem ... />
| <entomology ... />
| [ <parasiteGenetics ... /> ]
| [ <pharmacology ... /> ]
| [ <diagnostics ... /> ]
| <model ... />
</scenario>
- demography
- monitoring
- interventions
- healthSystem
- entomology
- parasiteGenetics
- pharmacology
- diagnostics
- model
Documentation (element)
Description of scenario
Attributes
Version of the xml schema
schemaVersion=int
Version of xml schema. If not equal to the current version an error is thrown. Use SchemaTranslator to update xml files.
Reference number of the analysis
analysisNo=int
Units: Number Min: 1 Max: 100000000
Unique identifier of scenario
Name of intervention
name=string
Name of intervention
Work unit identifier
wuID=int
Units: Number
Work unit ID. Obselete and no longer required.
Human age distribution
→ scenario → demography
<demography
name=string
popSize=int
maximumAgeYrs=double
[ growthRate=double ]
>
IN THIS ORDER:
| <ageGroup ... />
</demography>
Documentation (element)
Description of demography
Attributes
Name of demography data
name=string
Name of demography data
Population size
popSize=int
Units: Count Min: 1 Max: 100000
Population size
Maximum age of simulated humans
maximumAgeYrs=double
Units: Years Min: 0 Max: 100
Maximum age of simulated humans in years
Growth rate of human population
growthRate=double
Units: Number Min: 0 Max: 0
Growth rate of human population. (we should be able to implement this with non-zero values)
Age groups
→ scenario → demography → ageGroup
<ageGroup
lowerbound=double
>
IN THIS ORDER:
| ( <group ... /> )+
</ageGroup>
Documentation (element)
list of age groups included in demography
Documentation (type)
list of age groups included in demography or surveys
Attributes
Lower bound of age group
lowerbound=double
Units: Years Min: 0 Max: 100
Lower bound of age group
group
→ scenario → demography → ageGroup → group
<group
poppercent=double
upperbound=double
/>
Attributes
Percentage in age group
poppercent=double
Units: Percentage Min: 0 Max: 100
Percentage of human population in age group
Upper bound of age group
upperbound=double
Units: Years Min: 0 Max: 100
Upper bound of age group
Measures to be reported
→ scenario → monitoring
<monitoring
name=string
[ startDate=string ]
>
IN THIS ORDER:
| [ <continuous ... /> ]
| <SurveyOptions ... />
| <surveys ... />
| <ageGroup ... />
| [ <cohorts ... /> ]
</monitoring>
Documentation (element)
Description of surveys
Attributes
Name of monitoring settings
name=string
Name of monitoring settings
Start of monitoring
startDate=string
An optional date for the start of monitoring. If given, dates may be used to specify when other events (surveys, intervention deployments) occur; alternately times relative to the start of the intervention period may be used to specify event times. Setting this to 1st January of some year might simplify usage of dates, and putting the start a couple of years before the start of intervention deployment (along with some extra surveys) may be useful to check transmission stabilises to the expected pre-intervention levels. As an example, if this date is set to 2000-01-01, then the following event times are equivalent (assuming 1t=5d): 15t, 75d, 0.2y, 2000-03-16. Must be in the form YYYY-MM-DD, e.g. 2003-01-01.
continuous
→ scenario → monitoring → continuous
<continuous
period=string
[ duringInit=boolean ]
>
IN THIS ORDER:
| ( <option ... /> )*
</continuous>
Attributes
Delay between reports
period=string
Units: User defined (default: steps)
Delay between reports; typically one time step but can be greater. Can be specified in steps (e.g. 1t) or days (e.g. 5d).
During initialization
duringInit=boolean
Units: Days Min: 1 Max: unbounded
Also output during initialization. By default this is disabled (only intervention-period data is output). This should not be used for predictions, but can be useful for model validation. In this mode, 'simulation time' is output as the first column (in addition to 'timestep'), since 'timestep' is dis- continuous across the start of the intervention period.
option
→ scenario → monitoring → continuous → option
<option
name=string
[ value=boolean ] DEFAULT VALUE true
/>
Attributes
Option name
name=string
Name of an option (monitoring measure or model option).
Indicator of whether option is required
value=boolean
Default value: true
Option on/off switch (true/false). Specifying value="true" is the same as not specifying a value; specifying value="false" explicitly turns the option off. If an option is not mentioned at all, it is left at its default value (normally off, but in a few cases, such as some bug-fix options, on).
Name of quantity
→ scenario → monitoring → SurveyOptions
<SurveyOptions
[ onlyNewEpisode=boolean ] DEFAULT VALUE false
>
IN THIS ORDER:
| ( <option ... /> )*
</SurveyOptions>
Documentation (element)
List of all active survey options. See model/mon/OutputMeasures.h for a list of supported outputs. Should also be on the wiki.
Attributes
Report only for new cases
onlyNewEpisode=boolean
Default value: false
If set, some statistics exclude humans who have been treated in the recent past (precisely, when the time of last treatment was before the current step and no more than health-system-memory days/steps ago). This is a rough replacement for the REPORT_ONLY_AT_RISK option, with one difference: the maximum age of treatment for REPORT_ONLY_AT_RISK was fixed at 20 days. Affected measures include (as of version 35): nHost (0), nInfect(1), nExpectd (2), nPatent (3), sumLogPyrogenThres (4), sumlogDens (5), totalInfs (6), totalPatentInf (8), sumPyrogenThresh (10), nSubPopRemovalFirstEvent (62), sumAge (68), nInfectByGenotype (69), nPatentByGenotype (70), logDensByGenotype (71), nHostDrugConcNonZero (72), sumLogDrugConcNonZero (73).
option
→ scenario → monitoring → SurveyOptions → option
<option
name=string
[ value=boolean ] DEFAULT VALUE true
[ outputNumber=int ]
[ byAge=boolean ]
[ byCohort=boolean ]
[ bySpecies=boolean ]
[ byGenotype=boolean ]
[ byDrugType=boolean ]
/>
Attributes
Option name
name=string
Name of an option (monitoring measure or model option).
Indicator of whether option is required
value=boolean
Default value: true
Option on/off switch (true/false). Specifying value="true" is the same as not specifying a value; specifying value="false" explicitly turns the option off. If an option is not mentioned at all, it is left at its default value (normally off, but in a few cases, such as some bug-fix options, on).
Number identifying measure in output
outputNumber=int
Number identifying this monitoring measure in the output file (3rd column). Normally this is determined from the measure, but it can be set manually, e.g. for when the same measure is recorded twice (to accumulate across different categories).
Report by age category
byAge=boolean
If true, the measure is reported for each age category. If false, values are summed across all age categories and only the sum reported. If not specified, separate categories will be reported if the measure supports this.
Report by cohort
byCohort=boolean
If true, the measure is reported for each cohort separately. If false, values are summed across all cohorts and only the sum reported. If not specified, separate categories will be reported if the measure supports this.
Report by mosquito species
bySpecies=boolean
If true, the measure is reported for each mosquito species separately. If false, values are summed across all species and only the sum reported. If not specified, separate categories will be reported if the measure supports this.
Report by parasite genotype
byGenotype=boolean
If true, the measure is reported for each parasite genotype separately. If false, values are summed across all genotypes and only the sum reported. If not specified, separate categories will be reported if the measure supports this.
Report by drug type
byDrugType=boolean
If true, the measure is reported for each drug type separately. If false, values are summed across all drug types and only the sum reported. If not specified, separate categories will be reported if the measure supports this.
Survey times (time steps)
→ scenario → monitoring → surveys
<surveys
[ detectionLimit=double ]
[ diagnostic=string ]
>
IN THIS ORDER:
| ( <surveyTime ... /> )+
</surveys>
Documentation (element)
List of survey times
Attributes
Detection limit for parasitaemia
detectionLimit=double
Units: parasites/microlitre Min: 0
Deprecated: limit above which a human's infection is reported as patent. Alternative: do not specify this; instead specify "diagnostic".
Name of monitoring diagnostic
diagnostic=string
Name of a parameterised diagnostic to use in surveys (see scenario/diagnostics).
Survey time
→ scenario → monitoring → surveys → surveyTime
<surveyTime
[ repeatStep=string ]
[ repeatEnd=string ]
[ reported=boolean ] DEFAULT VALUE true
>
string
</surveyTime>
Documentation (element)
Units: User defined (defaults to steps) Min: 0
Time of a survey. A report will be made for those measures enabled under SurveyOptions. Reported data is either from the moment the survey is done (immediate data) or is collected over the time since the previous survey, or in some cases over a fixed time span (usually one year).
Times can be specified in time steps, starting from 0, or as a date (see monitoring/startDate), or in days (e.g. 15d) or years (e.g. 1y). Relative times mean the time since the start of the intervention period, and must be non-negative (zero is valid, but some measures, e.g. nUncomp, will be zero).
The simulation ends immediately after the last survey is taken.
Attributes
Step of repetition
repeatStep=string
Units: User defined
See repeatEnd's documentation.
End of repetition (exclusive)
repeatEnd=string
Units: User defined
Either both repeatStep and repeatEnd should be present or neither. If present, the survey is repeated every repeatStep timesteps (i.e. if t0 is the initial time and x is repeatStep, surveys are done at times t0, t0+x, t0+2*x, ...), ending before repeatEnd (final repetition is the one before repeatEnd). Note that repeatEnd may be specified as a date but repeatStep must be a duration (days, steps or years).
reported
reported=boolean
Default value: true
For normal surveys, reporting=true. If set false, quantities are measured but not reported. The reason for doing this is to update conditions set on reportable measures. Multiple surveys may be given here for the same date, e.g. if using "repeatStep" for both reporting and non-reporting surveys. These are combined such that a maximum of one survey is carried out per time-step, and the survey is reported if any of the listed surveys for this date is configured as "reporting". Note that adding non-reporting surveys will not affect value output by reported surveys, with the exception that generated psuedo-random numbers may be altered (specifically, when any stochastic diagnostics are used in surveys).
Age groups
→ scenario → monitoring → ageGroup
<ageGroup
lowerbound=double
>
IN THIS ORDER:
| ( <group ... /> )+
</ageGroup>
Documentation (element)
List of age groups included in demography or surveys
Attributes
lower bound of age group
lowerbound=double
Units: Years Min: 0 Max: 100
Lower bound of age group
group
→ scenario → monitoring → ageGroup → group
<group
upperbound=double
/>
Attributes
upper bound of age group
upperbound=double
Units: Years Min: 0 Max: 100
Upper bound of age group
Cohorts
→ scenario → monitoring → cohorts
<cohorts>
IN THIS ORDER:
| ( <subPop ... /> )+
</cohorts>
Documentation (element)
Allows the configuration of multiple cohorts (output segregated according to membership within specific sub-populations).
If this element is omitted, monitoring surveys cover the entire simulated human population.
It does not affect the "continuous" outputs (these never take cohorts into account).
Sub-population
→ scenario → monitoring → cohorts → subPop
<subPop
id=string
number=integer
/>
Documentation (element)
Consider a certain sup-population a cohort, and segregate outputs according to membership. Where multiple sub-populations are listed, segregate output according to all combinations of membership: e.g. if sub-populations A and B are listed, there will be outputs for "member of A and B", "member of A but not B", "B but not A" and "not a member of A or B". Listing n sub-populations implies 2^n sets of outputs (each is further segregated by age groups, survey times and enabled output measures, which could lead to excessive program memory usage and output file size).
To identify outputs, each sub-population has a power of two number as identifier (see "number" attribute). Each of the 2^n output sets is identified by a number: the output set is the output from humans who are members in some set of sub-populations (S1, S2, ...) and not members in some others (T1, T2, ...); the number identifying the set is the sum of the numbers identifying the sets S1, S2, etc.
In the output file, the output set is identified by multiplying this number by 1000 then adding it to the age group column.
Attributes
Sub-population identifier
id=string
Textual identifier for the sub-population (i.e. for an intervention component, since sub-populations are defined as the hosts an intervention component is deployed to).
Sub-population number
number=integer
Units: dimensionless Min: 1 Max: 2097152
Number identifying a sub-population; used to define identifiers of output sets. This number must be a power of 2 (i.e. 1, 2, 4, 8, ...). See documentation of subPop element.
Preventative interventions
<interventions
name=string
>
IN ANY ORDER:
| [ <changeHS ... /> ]
| [ <changeEIR ... /> ]
| [ <importedInfections ... /> ]
| [ <insertR_0Case ... /> ]
| [ <uninfectVectors ... /> ]
| [ <vectorPop ... /> ]
| [ <vectorTrap ... /> ]
| [ <human ... /> ]
</interventions>
Documentation (element)
List of interventions. Generally these are either point-time distributions of something to some subset of the population, or continuous-time distribution targetting individuals when they reach a certain age.
Attributes
Name of intervention set
name=string
Name of set of interventions
Change health system
→ scenario → interventions → changeHS
<changeHS
[ name=string ]
>
IN THIS ORDER:
| ( <timedDeployment ... /> )*
</changeHS>
Documentation (element)
Changes to the health system
Attributes
Name of intervention
name=string
Name of intervention
timedDeployment
→ scenario → interventions → changeHS → timedDeployment
<timedDeployment
time=string
>
IN THIS ORDER:
| EXACTLY ONE OF:
| | <EventScheduler ... />
| | <ImmediateOutcomes ... />
| | <DecisionTree5Day ... />
| <CFR ... />
| <pSequelaeInpatient ... />
</timedDeployment>
Documentation (type)
A complete replacement health system. Replaces all previous properties. (Health system can be replaced multiple times if necessary.)
Documentation (base type)
Description of case management system, used to specify the initial model or a replacement (an intervention). Encompasses case management data and some other data required to derive case outcomes.
Contains a sub-element describing the particular health-system in use. Health system data is here defined as data used to decide on a treatment strategy, given a case requiring treatment.
Attributes
Time
time=string
Units: User defined (defauls to steps) Min: 0
Time at which this replacement occurs. See doc on intervention period and on monitoring/startDate for details of how times work. Can be specified in steps, days, years, or as a date (examples: 15t, 75d, 0.2y, 2000-03-16).
EventScheduler
→ scenario → healthSystem → EventScheduler
<EventScheduler>
IN THIS ORDER:
| <uncomplicated ... />
| <complicated ... />
| <ClinicalOutcomes ... />
| [ <NonMalariaFevers ... /> ]
</EventScheduler>
uncomplicated
→ scenario → healthSystem → EventScheduler → uncomplicated
<uncomplicated
[ name=string ]
>
EXACTLY ONE OF:
| <multiple ... />
| <caseType ... />
| <diagnostic ... />
| <random ... />
| <age ... />
| <noTreatment ... />
| <treatFailure ... />
| ( <treatPKPD ... /> )+
| <treatSimple ... />
| ( <deploy ... /> )+
</uncomplicated>
Documentation (type)
Describes how "decisions" are made, both probabilistically and deterministically, and what actions are carried out.
Quantities may also be reported as a side effect of decisions made in the tree, for example the number of diagnostics used.
Attributes
Name
name=string
An optional piece of documentation attached to this node.
multiple
→ scenario → interventions → human → component → decisionTree → multiple
<multiple
[ name=string ]
>
IN THIS ORDER:
| ( <caseType ... /> )*
| ( <diagnostic ... /> )*
| ( <random ... /> )*
| ( <age ... /> )*
| ( <treatPKPD ... /> )*
| [ <treatSimple ... /> ]
| ( <deploy ... /> )*
</multiple>
Documentation (type)
A special node allowing multiple sub-trees to be evaluated.
This is different from an ordinary decision tree node in that:
a) multiple types of child can occur simultaneously (e.g. multiple types of treatment or treatment plus a 'random' sub-tree)
b) the 'noTreatment' and 'treatFailure' nodes are not allowed
Attributes
Name
name=string
An optional piece of documentation attached to this node.
caseType
→ scenario → interventions → human → component → decisionTree → multiple → caseType
<caseType
[ name=string ]
>
IN ANY ORDER:
| <firstLine ... />
| <secondLine ... />
</caseType>
Documentation (type)
A switch which choses a branch deterministically, based on whether the patient was treated recently (second line) or not (first line).
For uncomplicated cases only.
Attributes
Name
name=string
An optional piece of documentation attached to this node.
firstLine
→ scenario → interventions → human → component → decisionTree → multiple → caseType → firstLine
<firstLine
[ name=string ]
>
EXACTLY ONE OF:
| <multiple ... />
| <caseType ... />
| <diagnostic ... />
| <random ... />
| <age ... />
| <noTreatment ... />
| <treatFailure ... />
| ( <treatPKPD ... /> )+
| <treatSimple ... />
| ( <deploy ... /> )+
</firstLine>
Documentation (type)
Describes how "decisions" are made, both probabilistically and deterministically, and what actions are carried out.
Quantities may also be reported as a side effect of decisions made in the tree, for example the number of diagnostics used.
Attributes
Name
name=string
An optional piece of documentation attached to this node.
caseType
→ scenario → interventions → human → component → decisionTree → caseType
<caseType
[ name=string ]
>
IN ANY ORDER:
| <firstLine ... />
| <secondLine ... />
</caseType>
Documentation (type)
A switch which choses a branch deterministically, based on whether the patient was treated recently (second line) or not (first line).
For uncomplicated cases only.
Attributes
Name
name=string
An optional piece of documentation attached to this node.
secondLine
→ scenario → interventions → human → component → decisionTree → multiple → caseType → secondLine
<secondLine
[ name=string ]
>
EXACTLY ONE OF:
| <multiple ... />
| <caseType ... />
| <diagnostic ... />
| <random ... />
| <age ... />
| <noTreatment ... />
| <treatFailure ... />
| ( <treatPKPD ... /> )+
| <treatSimple ... />
| ( <deploy ... /> )+
</secondLine>
Documentation (type)
Describes how "decisions" are made, both probabilistically and deterministically, and what actions are carried out.
Quantities may also be reported as a side effect of decisions made in the tree, for example the number of diagnostics used.
Attributes
Name
name=string
An optional piece of documentation attached to this node.
diagnostic
→ scenario → interventions → human → component → decisionTree → diagnostic
<diagnostic
diagnostic=string
[ name=string ]
>
IN ANY ORDER:
| <positive ... />
| <negative ... />
</diagnostic>
Documentation (type)
A switch which choses a branch deterministically, based on the outcome of some type of diagnostic.
Attributes
Name of diagnostic
diagnostic=string
Should match the name of some parameterised diagnostic (see scenario/diagnostics).
Name
name=string
An optional piece of documentation attached to this node.
positive
→ scenario → interventions → human → component → decisionTree → multiple → diagnostic → positive
<positive
[ name=string ]
>
EXACTLY ONE OF:
| <multiple ... />
| <caseType ... />
| <diagnostic ... />
| <random ... />
| <age ... />
| <noTreatment ... />
| <treatFailure ... />
| ( <treatPKPD ... /> )+
| <treatSimple ... />
| ( <deploy ... /> )+
</positive>
Documentation (type)
Describes how "decisions" are made, both probabilistically and deterministically, and what actions are carried out.
Quantities may also be reported as a side effect of decisions made in the tree, for example the number of diagnostics used.
Attributes
Name
name=string
An optional piece of documentation attached to this node.
random
→ scenario → interventions → human → component → decisionTree → random
<random
[ name=string ]
>
IN THIS ORDER:
| ( <outcome ... /> )+
</random>
Documentation (type)
A switch which choses a branch randomly.
Each branch must be listed with a probability; the sum of all these probabilities must equal 1.
Attributes
Name
name=string
An optional piece of documentation attached to this node.
outcome
→ scenario → interventions → human → component → decisionTree → multiple → random → outcome
<outcome
[ name=string ]
p=double
>
EXACTLY ONE OF:
| <multiple ... />
| <caseType ... />
| <diagnostic ... />
| <random ... />
| <age ... />
| <noTreatment ... />
| <treatFailure ... />
| ( <treatPKPD ... /> )+
| <treatSimple ... />
| ( <deploy ... /> )+
</outcome>
Documentation (base type)
Describes how "decisions" are made, both probabilistically and deterministically, and what actions are carried out.
Quantities may also be reported as a side effect of decisions made in the tree, for example the number of diagnostics used.
Attributes
Name
name=string
An optional piece of documentation attached to this node.
Probability
p=double
Units: None Min: 0 Max: 1
Probability of selecting this outcome. The sum of probabilities across all outcomes must be 1.
age
→ scenario → interventions → human → component → decisionTree → age
<age
[ name=string ]
>
IN THIS ORDER:
| ( <age ... /> )+
</age>
Documentation (type)
A switch which choses a branch deterministically, based on the patient's age (in years).
Categories must uniquely cover all ages from birth, with no upper bound. Categories must be listed in order of age, increasing; the first must have lower bound 0. Upper bounds are equal to the lower bound of the next category, (but are exclusive where lower bounds are inclusive); the last category has no upper bound.
Attributes
Name
name=string
An optional piece of documentation attached to this node.
Age range
→ scenario → interventions → human → component → decisionTree → multiple → age → age
<age
[ name=string ]
lb=double
>
EXACTLY ONE OF:
| <multiple ... />
| <caseType ... />
| <diagnostic ... />
| <random ... />
| <age ... />
| <noTreatment ... />
| <treatFailure ... />
| ( <treatPKPD ... /> )+
| <treatSimple ... />
| ( <deploy ... /> )+
</age>
Documentation (element)
Describes a branch, selected for patients of a certain age.
Documentation (base type)
Describes how "decisions" are made, both probabilistically and deterministically, and what actions are carried out.
Quantities may also be reported as a side effect of decisions made in the tree, for example the number of diagnostics used.
Attributes
Name
name=string
An optional piece of documentation attached to this node.
Lower bound (inclusive)
lb=double
Min: 0
noTreatment
→ scenario → interventions → human → component → decisionTree → noTreatment
<noTreatment
[ name=string ]
/>
Documentation (type)
An end node doing nothing. This exists to explicitly state that no treatment happens and to prevent trees from accidentally being left incomplete.
Attributes
Name
name=string
An optional piece of documentation attached to this node.
treatFailure
→ scenario → interventions → human → component → decisionTree → treatFailure
<treatFailure
[ name=string ]
/>
Documentation (type)
An end node which reports treatment but does not change parasitalogical status. This allows correct labelling of second-line cases.
Attributes
Name
name=string
An optional piece of documentation attached to this node.
treatPKPD
→ scenario → interventions → human → component → decisionTree → treatPKPD
<treatPKPD
schedule=string
dosage=string
[ delay_h=double ] DEFAULT VALUE 0
/>
Documentation (type)
A command to administer drugs according to a given schedule and dosage table, optionally with a delay.
Attributes
Name of treatment schedule
schedule=string
The name of a schedule to use for treatment.
Name of dosage table
dosage=string
The name of a dosage table to use for treatment.
Delay (hours)
delay_h=double
Default value: 0
Optionally, this can be given to delay the start of treatment by a given number of hours. If not specified, treatment is not delayed. If a delay is given, all medications within the treatment schedule used are delayed by this number of hours.
treatSimple
→ scenario → interventions → human → component → decisionTree → treatSimple
<treatSimple
durationLiver=string
durationBlood=string
/>
Documentation (type)
Simple treatment model, targetting liver- and/or blood-stage infections. This is all-or-nothing treatment which, when deploymed, completely clears all infections of the targetted stages. This makes it unsuitable for modeling resistance, but suitable for use with simple infection models.
Infections are considered liver-stage when less than five days old and blood-stage after that. Effects are described independently for the two stages.
Attributes
Length of liver-stage effect
durationLiver=string
Units: User defined
Controls action on liver-stage infections. 0 means no action, -1 step is a compatibility option to act like treatment before schema version 32 (which removed infections retrospectively), 1 step or any duration which equals some whole number of steps n>0 means to clear all liver-stage infections found on the next 1 or n steps. Note on -1 compatibility option: the main difference to 1 step (clearing on the next timestep) is that parasite densities will be reduced immediately, and thus from the point of view of surveys and mass screen and treat interventions a peak in density which is immediately treated through case management will not be seen. Can be specified in steps (e.g. 1t, -1t) or days (e.g. 5d).
Length of blood-stage effect
durationBlood=string
Units: User defined
Controls action on blood-stage infections. 0 means no action, -1 step is a compatibility option to act like treatment before schema version 32 (which removed infections retrospectively), 1 step or any duration which equals some whole number of steps n>0 means to clear all blood-stage infections found on the next 1 or n steps. Note on -1 compatibility option: the main difference to 1 step (clearing on the next timestep) is that parasite densities will be reduced immediately, and thus from the point of view of surveys and mass screen and treat interventions a peak in density which is immediately treated through case management will not be seen. Can be specified in steps (e.g. 1t, -1t) or days (e.g. 5d).
deploy
→ scenario → interventions → human → component → decisionTree → deploy
<deploy
component=string
/>
Documentation (type)
Deploy one or more intervention components.
Attributes
Component identifier
component=string
The identifier (short name) of a component.
negative
→ scenario → interventions → human → component → decisionTree → multiple → diagnostic → negative
<negative
[ name=string ]
>
EXACTLY ONE OF:
| <multiple ... />
| <caseType ... />
| <diagnostic ... />
| <random ... />
| <age ... />
| <noTreatment ... />
| <treatFailure ... />
| ( <treatPKPD ... /> )+
| <treatSimple ... />
| ( <deploy ... /> )+
</negative>
Documentation (type)
Describes how "decisions" are made, both probabilistically and deterministically, and what actions are carried out.
Quantities may also be reported as a side effect of decisions made in the tree, for example the number of diagnostics used.
Attributes
Name
name=string
An optional piece of documentation attached to this node.
diagnostic
→ scenario → interventions → human → component → decisionTree → multiple → diagnostic
<diagnostic
diagnostic=string
[ name=string ]
>
IN ANY ORDER:
| <positive ... />
| <negative ... />
</diagnostic>
Documentation (type)
A switch which choses a branch deterministically, based on the outcome of some type of diagnostic.
Attributes
Name of diagnostic
diagnostic=string
Should match the name of some parameterised diagnostic (see scenario/diagnostics).
Name
name=string
An optional piece of documentation attached to this node.
random
→ scenario → interventions → human → component → decisionTree → multiple → random
<random
[ name=string ]
>
IN THIS ORDER:
| ( <outcome ... /> )+
</random>
Documentation (type)
A switch which choses a branch randomly.
Each branch must be listed with a probability; the sum of all these probabilities must equal 1.
Attributes
Name
name=string
An optional piece of documentation attached to this node.
age
→ scenario → interventions → human → component → decisionTree → multiple → age
<age
[ name=string ]
>
IN THIS ORDER:
| ( <age ... /> )+
</age>
Documentation (type)
A switch which choses a branch deterministically, based on the patient's age (in years).
Categories must uniquely cover all ages from birth, with no upper bound. Categories must be listed in order of age, increasing; the first must have lower bound 0. Upper bounds are equal to the lower bound of the next category, (but are exclusive where lower bounds are inclusive); the last category has no upper bound.
Attributes
Name
name=string
An optional piece of documentation attached to this node.
treatPKPD
→ scenario → interventions → human → component → decisionTree → multiple → treatPKPD
<treatPKPD
schedule=string
dosage=string
[ delay_h=double ] DEFAULT VALUE 0
/>
Documentation (type)
A command to administer drugs according to a given schedule and dosage table, optionally with a delay.
Attributes
Name of treatment schedule
schedule=string
The name of a schedule to use for treatment.
Name of dosage table
dosage=string
The name of a dosage table to use for treatment.
Delay (hours)
delay_h=double
Default value: 0
Optionally, this can be given to delay the start of treatment by a given number of hours. If not specified, treatment is not delayed. If a delay is given, all medications within the treatment schedule used are delayed by this number of hours.
treatSimple
→ scenario → interventions → human → component → decisionTree → multiple → treatSimple
<treatSimple
durationLiver=string
durationBlood=string
/>
Documentation (type)
Simple treatment model, targetting liver- and/or blood-stage infections. This is all-or-nothing treatment which, when deploymed, completely clears all infections of the targetted stages. This makes it unsuitable for modeling resistance, but suitable for use with simple infection models.
Infections are considered liver-stage when less than five days old and blood-stage after that. Effects are described independently for the two stages.
Attributes
Length of liver-stage effect
durationLiver=string
Units: User defined
Controls action on liver-stage infections. 0 means no action, -1 step is a compatibility option to act like treatment before schema version 32 (which removed infections retrospectively), 1 step or any duration which equals some whole number of steps n>0 means to clear all liver-stage infections found on the next 1 or n steps. Note on -1 compatibility option: the main difference to 1 step (clearing on the next timestep) is that parasite densities will be reduced immediately, and thus from the point of view of surveys and mass screen and treat interventions a peak in density which is immediately treated through case management will not be seen. Can be specified in steps (e.g. 1t, -1t) or days (e.g. 5d).
Length of blood-stage effect
durationBlood=string
Units: User defined
Controls action on blood-stage infections. 0 means no action, -1 step is a compatibility option to act like treatment before schema version 32 (which removed infections retrospectively), 1 step or any duration which equals some whole number of steps n>0 means to clear all blood-stage infections found on the next 1 or n steps. Note on -1 compatibility option: the main difference to 1 step (clearing on the next timestep) is that parasite densities will be reduced immediately, and thus from the point of view of surveys and mass screen and treat interventions a peak in density which is immediately treated through case management will not be seen. Can be specified in steps (e.g. 1t, -1t) or days (e.g. 5d).
deploy
→ scenario → interventions → human → component → decisionTree → multiple → deploy
<deploy
component=string
/>
Documentation (type)
Deploy one or more intervention components.
Attributes
Component identifier
component=string
The identifier (short name) of a component.
complicated
→ scenario → healthSystem → EventScheduler → complicated
<complicated
[ name=string ]
>
EXACTLY ONE OF:
| <multiple ... />
| <caseType ... />
| <diagnostic ... />
| <random ... />
| <age ... />
| <noTreatment ... />
| <treatFailure ... />
| ( <treatPKPD ... /> )+
| <treatSimple ... />
| ( <deploy ... /> )+
</complicated>
Documentation (type)
Describes how "decisions" are made, both probabilistically and deterministically, and what actions are carried out.
Quantities may also be reported as a side effect of decisions made in the tree, for example the number of diagnostics used.
Attributes
Name
name=string
An optional piece of documentation attached to this node.
ClinicalOutcomes
→ scenario → healthSystem → EventScheduler → ClinicalOutcomes
<ClinicalOutcomes>
IN THIS ORDER:
| <maxUCSeekingMemory ... />
| <uncomplicatedCaseDuration ... />
| <complicatedCaseDuration ... />
| <complicatedRiskDuration ... />
| ( <dailyPrImmUCTS ... /> )+
</ClinicalOutcomes>
- maxUCSeekingMemory
- uncomplicatedCaseDuration
- complicatedCaseDuration
- complicatedRiskDuration
- dailyPrImmUCTS
Documentation (type)
Description of base parameters of the clinical model.
Max UC treatment-seeking memory
→ scenario → healthSystem → EventScheduler → ClinicalOutcomes → maxUCSeekingMemory
<maxUCSeekingMemory>
int
</maxUCSeekingMemory>
Documentation (element)
Units: Days Min: 0 Max: unbounded
Maximum number of timesteps (including first day of case) that an individual with an uncomplicated case of malaria will remember he/she was sick before resetting.
Uncomplicated case duration
→ scenario → healthSystem → EventScheduler → ClinicalOutcomes → uncomplicatedCaseDuration
<uncomplicatedCaseDuration>
int
</uncomplicatedCaseDuration>
Documentation (element)
Units: Days Min: 1 Max: unbounded
Fixed length of an uncomplicated case of malarial or non-malarial sickness (from treatment seeking until return to life-as-usual). Usually 3.
Complicated case duration
→ scenario → healthSystem → EventScheduler → ClinicalOutcomes → complicatedCaseDuration
<complicatedCaseDuration>
int
</complicatedCaseDuration>
Documentation (element)
Units: Days Min: 1 Max: unbounded
Fixed length of a complicated or severe case of malaria (from treatment seeking until return to life-as-usual).
Complicated risk duration
→ scenario → healthSystem → EventScheduler → ClinicalOutcomes → complicatedRiskDuration
<complicatedRiskDuration>
int
</complicatedRiskDuration>
Documentation (element)
Units: Days Min: 1 Max: unbounded
Number of days for which humans are at risk of death during a severe or complicated case of malaria. Cannot be greater than the duration of a complicated case or less than 1 day.
Daily probability of immediate treatment seeking for uncomplicated cases
→ scenario → healthSystem → EventScheduler → ClinicalOutcomes → dailyPrImmUCTS
<dailyPrImmUCTS>
double
</dailyPrImmUCTS>
Documentation (element)
Units: Dimensionless Min: 0.0 Max: 1.0
It is sometimes desirable to model delays to treatment-seeking in uncomplicated cases. While treatment of drugs can be delayed within case management trees to provide a similar effect, this doesn't delay any of the decisions, including diagnostics using the current parasite density.
Instead a list of dailyPrImmUCTS elements can be used, describing successive daily probabilities of treatment (sum must be 1). For example, with a list of two elements with values 0.8 and 0.2, for 80% of UC cases the decision tree is evaluated immediately, and for 20% of cases evaluation is delayed by one day.
For no delay, use one element with a value of 1.
NonMalariaFevers
→ scenario → healthSystem → EventScheduler → NonMalariaFevers
<NonMalariaFevers>
IN THIS ORDER:
| <prTreatment ... />
| <effectNegativeTest ... />
| <effectPositiveTest ... />
| <effectNeed ... />
| <effectInformal ... />
| <CFR ... />
| <TreatmentEfficacy ... />
</NonMalariaFevers>
Documentation (type)
Description of non-malaria fever health-system modelling (treatment, outcomes and costing). Incidence is described by the model->clinical->NonMalariaFevers element. Non-malaria fevers are only modelled if the NON_MALARIA_FEVERS option is used.
As further explanation of the parameters below, we first take: β₀ = logit(P₀) - β₃·P(need), and then calculate the probability of antibiotic administration, P(AB), dependent on treatment seeking location. No seeking: P(AB) = 0 Informal sector: logit(P(AB)) = β₀ + β₄ Health facility: logit(P(AB)) = β₀ + β₁·I(neg) + β₂·I(pos) + β₃·I(need) (where I(X) is 1 when event X is true and 0 otherwise, logit(p)=log(p/(1-p)), event "need" is the event that death may occur without treatment, events "neg" and "pos" are the events that a malaria parasite diagnositic was used and indicated no parasites and parasites respectively).
P(treatment|no diagnostic)
→ scenario → healthSystem → EventScheduler → NonMalariaFevers → prTreatment
<prTreatment>
double
</prTreatment>
Documentation (element)
Units: Dimensionless Min: 0.0 Max: 1.0
Probability of a non-malaria fever being treated with an antibiotic given that no malaria diagnostic was used but independent of need. Symbol: P₀.
Effect of a negative test
→ scenario → healthSystem → EventScheduler → NonMalariaFevers → effectNegativeTest
<effectNegativeTest>
double
</effectNegativeTest>
Documentation (element)
The effect of a negative malaria diagnostic on the odds ratio of receiving antibiotics. Symbol: exp(β₁).
Effect of a positive test
→ scenario → healthSystem → EventScheduler → NonMalariaFevers → effectPositiveTest
<effectPositiveTest>
double
</effectPositiveTest>
Documentation (element)
The effect of a positive malaria diagnostic on the odds ratio of receiving antibiotics. Symbol: exp(β₂).
Effect of need
→ scenario → healthSystem → EventScheduler → NonMalariaFevers → effectNeed
<effectNeed>
double
</effectNeed>
Documentation (element)
The effect of needing antibiotic treatment on the odds ratio of receiving antibiotics. Symbol: exp(β₃).
Effect of informal provider
→ scenario → healthSystem → EventScheduler → NonMalariaFevers → effectInformal
<effectInformal>
double
</effectInformal>
Documentation (element)
The effect of seeking treatment from an informal provider (i.e. a provider untrained in NMF diagnosis) on the odds ratio of receiving antibiotics. Symbol: exp(β₄)
Case fatality rate
→ scenario → healthSystem → EventScheduler → NonMalariaFevers → CFR
<CFR
[ interpolation=("none" or "linear") ]
>
IN THIS ORDER:
| ( <group ... /> )+
</CFR>
Documentation (element)
Units: Dimensionless Min: 0.0 Max: 1.0
Base case fatality rate for non-malaria fevers (probability of death from a fever requiring antibiotic treatment given that no antibiotic treatment is received, per age-group).
Attributes
interpolation
interpolation=("none" or "linear")
Interpolation algorithm. Normally it is desirable for age-based values to be continuous w.r.t. age. By default linear interpolation is used. With all algorithms except "none", the age groups are converted to a set of points centred within each age range. Extra points are added at each end (zero and infinity) to keep value constant at both ends of the function. A zero-length age group may be used as a kind of barrier to adjust the distribution; e.g. with age group boundaries at 15, 20 and 25 years, a (linear) spline would be drawn between ages 17.5 and 22.5, whereas with boundaries at 15, 20 and 20 years, a spline would be drawn between ages 17.5 and 20 years (may be desired if individuals are assumed to reach adult size at 20). Algorithms:
- none: input values are used directly
- linear: straight lines (on an age vs. value graph) are used to interpolate data points.
age group
→ scenario → healthSystem → CFR → group
<group
value=double
lowerbound=double
/>
Documentation (element)
A series of values according to age groups, each specified with a lower-bound and a value. The first lower-bound specified must be zero; a final upper-bound of infinity is added to complete the last age group. At least one age group is required. Normally these are interpolated by a continuous function (see interpolation attribute).
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Lower bound
lowerbound=double
Units: Years Min: 0 Max: 100
Lower bound of age group
Treatment efficacy
→ scenario → healthSystem → EventScheduler → NonMalariaFevers → TreatmentEfficacy
<TreatmentEfficacy>
double
</TreatmentEfficacy>
Documentation (element)
Units: Dimensionless Min: 0.0 Max: 1.0
Probability that treatment would prevent a death (i.e. CFR is multiplied by one minus this when treatment occurs).
ImmediateOutcomes
→ scenario → healthSystem → ImmediateOutcomes
<ImmediateOutcomes
[ name=string ]
[ useDiagnosticUC=boolean ] DEFAULT VALUE false
>
IN ANY ORDER:
| <drugRegimen ... />
| <initialACR ... />
| <compliance ... />
| <nonCompliersEffective ... />
| <treatmentActions ... />
| <pSeekOfficialCareUncomplicated1 ... />
| <pSelfTreatUncomplicated ... />
| <pSeekOfficialCareUncomplicated2 ... />
| <pSeekOfficialCareSevere ... />
| [ <liverStageDrug ... /> ]
</ImmediateOutcomes>
- drugRegimen
- initialACR
- compliance
- nonCompliersEffective
- treatmentActions
- pSeekOfficialCareUncomplicated1
- pSelfTreatUncomplicated
- pSeekOfficialCareUncomplicated2
- pSeekOfficialCareSevere
- liverStageDrug
Documentation (type)
Description of "immediate outcomes" health system: Tediosi et al case management model (Case management as described in AJTMH 75 (suppl 2) pp90-103).
Attributes
Name of case management parameterisation
name=string
Name of health system
useDiagnosticUC
useDiagnosticUC=boolean
Default value: false
Description of drug regimen
→ scenario → healthSystem → ImmediateOutcomes → drugRegimen
<drugRegimen
firstLine=string
secondLine=string
inpatient=string
/>
Documentation (element)
Description of drug regimen.
Attributes
First line drug
firstLine=string
Units: Drug code
Code for first line drug
Second line drug
secondLine=string
Units: Drug code
Code for second line drug
Drug use for treating inpatients
inpatient=string
Units: Drug code
Code for drug used for treating inpatients
Initial cure rate
→ scenario → healthSystem → ImmediateOutcomes → initialACR
<initialACR>
IN THIS ORDER:
| [ <CQ ... /> ]
| [ <SP ... /> ]
| [ <AQ ... /> ]
| [ <SPAQ ... /> ]
| [ <ACT ... /> ]
| [ <QN ... /> ]
| <selfTreatment ... />
</initialACR>
Documentation (element)
Units: Dimensionless Min: 0.0 Max: 1.0
Initial cure rate
Chloroquine
→ scenario → healthSystem → ImmediateOutcomes → initialACR → CQ
<CQ
value=double
/>
Documentation (element)
Chloroquine
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Sulphadoxine-pyrimethamine
→ scenario → healthSystem → ImmediateOutcomes → initialACR → SP
<SP
value=double
/>
Documentation (element)
Sulphadoxine-pyrimethamine
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Amodiaquine
→ scenario → healthSystem → ImmediateOutcomes → initialACR → AQ
<AQ
value=double
/>
Documentation (element)
Amodiaquine
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Sulphadoxine-pyrimethamine/Amodiaquine
→ scenario → healthSystem → ImmediateOutcomes → initialACR → SPAQ
<SPAQ
value=double
/>
Documentation (element)
Sulphadoxine-pyrimethamine/Amodiaquine
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Artemisinine based combination therapy
→ scenario → healthSystem → ImmediateOutcomes → initialACR → ACT
<ACT
value=double
/>
Documentation (element)
Artemisinine combination therapy
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Quinine
→ scenario → healthSystem → ImmediateOutcomes → initialACR → QN
<QN
value=double
/>
Documentation (element)
Quinine
Attributes
Input parameter value
value=double
A double-precision floating-point value.
selfTreatment
→ scenario → healthSystem → ImmediateOutcomes → initialACR → selfTreatment
<selfTreatment
value=double
/>
Documentation (element)
Units: Dimensionless Min: 0 Max: 1name:P(self-treat)
Probability of self-treatment
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Adherence to treatment
→ scenario → healthSystem → ImmediateOutcomes → compliance
<compliance>
IN THIS ORDER:
| [ <CQ ... /> ]
| [ <SP ... /> ]
| [ <AQ ... /> ]
| [ <SPAQ ... /> ]
| [ <ACT ... /> ]
| [ <QN ... /> ]
| <selfTreatment ... />
</compliance>
Documentation (element)
Units: Dimensionless Min: 0.0 Max: 1.0
Adherence to treatment
Effectiveness of treatment in non-adherent patients
→ scenario → healthSystem → ImmediateOutcomes → nonCompliersEffective
<nonCompliersEffective>
IN THIS ORDER:
| [ <CQ ... /> ]
| [ <SP ... /> ]
| [ <AQ ... /> ]
| [ <SPAQ ... /> ]
| [ <ACT ... /> ]
| [ <QN ... /> ]
| <selfTreatment ... />
</nonCompliersEffective>
Documentation (element)
Units: Dimensionless Min: 0.0 Max: 1.0
Effectiveness of treatment for non-compliant patients
treatmentActions
→ scenario → healthSystem → ImmediateOutcomes → treatmentActions
<treatmentActions>
IN ANY ORDER:
| [ <CQ ... /> ]
| [ <SP ... /> ]
| [ <AQ ... /> ]
| [ <SPAQ ... /> ]
| [ <ACT ... /> ]
| [ <QN ... /> ]
</treatmentActions>
CQ
→ scenario → healthSystem → ImmediateOutcomes → treatmentActions → CQ
<CQ
[ name=string ]
>
IN THIS ORDER:
| ( <deploy ... /> )*
</CQ>
Documentation (type)
Describes the effects of the treatment, assuming this compliance/adherence/... option is selected. Effects are described in terms of a list of options, each of which acts independently but with all effects being activated simultaneously.
Documentation (base type)
Lists intervention components which are deployed according to some external trigger (for example, screening with a negative patency outcome or health-system treatment).
Components are referenced from one or more sub-lists. Each of these lists is deployed independently if and only if its age constraints are met by the human host and a random sample with the given probability of a positive outcome is positive.
Attributes
Name
name=string
Describes what this compliance option represents (e.g. "good compliance", "poor compliance with good drugs", ...).
deploy
→ scenario → healthSystem → ImmediateOutcomes → treatmentActions → CQ → deploy
<deploy
[ maxAge=double ]
[ minAge=double ] DEFAULT VALUE 0
[ p=double ] DEFAULT VALUE 1
>
IN THIS ORDER:
| ( <component ... /> )+
</deploy>
Attributes
Maximum age of eligible humans
maxAge=double
Units: Years Min: 0
Maximum age of eligible humans (defaults to no limit). Input is rounded to the nearest time step.
Minimum age of eligible humans
minAge=double
Units: Years Min: 0
Default value: 0
Minimum age of eligible humans (defaults to 0). Input is rounded to the nearest time step.
Probability of delivery to eligible humans
p=double
Units: dimensionless Min: 0 Max: 1
Default value: 1
Probability of this list of components being deployed, given that other constraints are met.
component
→ scenario → healthSystem → ImmediateOutcomes → treatmentActions → CQ → deploy → component
<component
id=string
/>
Documentation (type)
The list of components deployed to eligible humans.
Attributes
Identifier
id=string
The identifier (short name) of a component.
Prophylactic treatment
→ scenario → healthSystem → DecisionTree5Day → treatmentSevere → clearInfections
<clearInfections
timesteps=string
stage=("liver" or "blood" or "both")
/>
Documentation (element)
This clears infections according to several options: it can clear all blood stage infections, all liver stage infections or both, and it can act on multiple timesteps. To have a probability of no action add another treatment option (which does nothing) and set the probabilities of selection appropriately.
This allows immediate (legacy) or delayed action, a prophylactic period, and selection of which stages are targeted. It is a simple model but appropriate enough for use with the five day timestep when assuming no resistance and that drug failure is mainly caused by bad drugs or compliance.
The old treatment action for the five-day timestep model is essentially this, with immediateAction (timesteps=-1) and stage=both, except for the IPT model's SP action, which was more like with timesteps>1 and stage=blood.
Attributes
Length of effect
timesteps=string
Units: User defined (defaults to steps)
The number of timesteps during which this action remains in effect (e.g. 2 means clear infections during the next two timestep updates). Full clearance of the targeted stages occurs during this time. A special value of -1 means act immediately (retrospectively); this the old behaviour. A value of 1 means act on the next timestep only. Both of these can be thought of as a model for short-acting effective drug treatment; the main differences are that the latter means parasite densities will remain high from the point of view of surveys and diagnostics (i.e. mass screen and treat) used before the next timestep and that the latter will also remove infections starting the next timestep. Arguably the latter is a better model, but the differences are perhaps small, excepting where immediate treatment of fevers (i.e. through the health system) can hide high parasite densities from reporting and mass-screen-and-treat diagnostics. For use by interventions, the latter model has nicer behaviour in that the order of deployment of multiple interventions deployed at the same time does not matter, and that the former model retrospectively treats infections which may already have caused fever, thus may have a lower health impact than it should. It is recommended to use the new model (value 1, or greater than 1 if prophylactic effect is desired) unless wanting to emulate the old behaviour. Values of 0 or less than -1 are not allowed. Can be specified in steps (e.g. 1t, -1t) or days (e.g. 5d).
Target stage
stage=("liver" or "blood" or "both")
Controls whether liver-stage or blood-stage infections are cleared, or both. Infections are considered liver-stage for one 5-day timestep, blood-stage but pre-patent for some number of timesteps (latentp - 1), then start the patent blood stage. If stage is set to "liver", infections are only cleared during their first timestep; if stage is set to "blood", infections are cleared during pre-patent and patent blood stages; if stage is set to "both" all infections are cleared. The old behaviour (oddly considering the drugs it is meant to emulate) is to clear both stages, except for the IPT model of SP action, which cleared only patent blood-stage infections.
SP
→ scenario → healthSystem → ImmediateOutcomes → treatmentActions → SP
<SP
[ name=string ]
>
IN THIS ORDER:
| ( <deploy ... /> )*
</SP>
Documentation (type)
Describes the effects of the treatment, assuming this compliance/adherence/... option is selected. Effects are described in terms of a list of options, each of which acts independently but with all effects being activated simultaneously.
Documentation (base type)
Lists intervention components which are deployed according to some external trigger (for example, screening with a negative patency outcome or health-system treatment).
Components are referenced from one or more sub-lists. Each of these lists is deployed independently if and only if its age constraints are met by the human host and a random sample with the given probability of a positive outcome is positive.
Attributes
Name
name=string
Describes what this compliance option represents (e.g. "good compliance", "poor compliance with good drugs", ...).
AQ
→ scenario → healthSystem → ImmediateOutcomes → treatmentActions → AQ
<AQ
[ name=string ]
>
IN THIS ORDER:
| ( <deploy ... /> )*
</AQ>
Documentation (type)
Describes the effects of the treatment, assuming this compliance/adherence/... option is selected. Effects are described in terms of a list of options, each of which acts independently but with all effects being activated simultaneously.
Documentation (base type)
Lists intervention components which are deployed according to some external trigger (for example, screening with a negative patency outcome or health-system treatment).
Components are referenced from one or more sub-lists. Each of these lists is deployed independently if and only if its age constraints are met by the human host and a random sample with the given probability of a positive outcome is positive.
Attributes
Name
name=string
Describes what this compliance option represents (e.g. "good compliance", "poor compliance with good drugs", ...).
SPAQ
→ scenario → healthSystem → ImmediateOutcomes → treatmentActions → SPAQ
<SPAQ
[ name=string ]
>
IN THIS ORDER:
| ( <deploy ... /> )*
</SPAQ>
Documentation (type)
Describes the effects of the treatment, assuming this compliance/adherence/... option is selected. Effects are described in terms of a list of options, each of which acts independently but with all effects being activated simultaneously.
Documentation (base type)
Lists intervention components which are deployed according to some external trigger (for example, screening with a negative patency outcome or health-system treatment).
Components are referenced from one or more sub-lists. Each of these lists is deployed independently if and only if its age constraints are met by the human host and a random sample with the given probability of a positive outcome is positive.
Attributes
Name
name=string
Describes what this compliance option represents (e.g. "good compliance", "poor compliance with good drugs", ...).
ACT
→ scenario → healthSystem → ImmediateOutcomes → treatmentActions → ACT
<ACT
[ name=string ]
>
IN THIS ORDER:
| ( <deploy ... /> )*
</ACT>
Documentation (type)
Describes the effects of the treatment, assuming this compliance/adherence/... option is selected. Effects are described in terms of a list of options, each of which acts independently but with all effects being activated simultaneously.
Documentation (base type)
Lists intervention components which are deployed according to some external trigger (for example, screening with a negative patency outcome or health-system treatment).
Components are referenced from one or more sub-lists. Each of these lists is deployed independently if and only if its age constraints are met by the human host and a random sample with the given probability of a positive outcome is positive.
Attributes
Name
name=string
Describes what this compliance option represents (e.g. "good compliance", "poor compliance with good drugs", ...).
QN
→ scenario → healthSystem → ImmediateOutcomes → treatmentActions → QN
<QN
[ name=string ]
>
IN THIS ORDER:
| ( <deploy ... /> )*
</QN>
Documentation (type)
Describes the effects of the treatment, assuming this compliance/adherence/... option is selected. Effects are described in terms of a list of options, each of which acts independently but with all effects being activated simultaneously.
Documentation (base type)
Lists intervention components which are deployed according to some external trigger (for example, screening with a negative patency outcome or health-system treatment).
Components are referenced from one or more sub-lists. Each of these lists is deployed independently if and only if its age constraints are met by the human host and a random sample with the given probability of a positive outcome is positive.
Attributes
Name
name=string
Describes what this compliance option represents (e.g. "good compliance", "poor compliance with good drugs", ...).
Probability that a patient with uncomplicated disease seeks official care immediately.
→ scenario → healthSystem → ImmediateOutcomes → pSeekOfficialCareUncomplicated1
<pSeekOfficialCareUncomplicated1
value=double
/>
Documentation (element)
Units: Dimensionless Min: 0.0 Max: 1.0
Probability that a patient with newly incident uncomplicated disease seeks official care
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Probability that a patient with uncomplicated disease will self-treat.
→ scenario → healthSystem → ImmediateOutcomes → pSelfTreatUncomplicated
<pSelfTreatUncomplicated
value=double
/>
Documentation (element)
Units: Dimensionless Min: 0.0 Max: 1.0
Probability that a patient with uncomplicated disease without recent history of disease (i.e. first line) will self-treat.
Note that in second line cases there is no probability of self-treatment.
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Probability that a recurring patient seeks official care
→ scenario → healthSystem → ImmediateOutcomes → pSeekOfficialCareUncomplicated2
<pSeekOfficialCareUncomplicated2
value=double
/>
Documentation (element)
Units: Dimensionless Min: 0.0 Max: 1.0
Probability that a patient with recurrence of uncomplicated disease seeks official care
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Probability that a patient with severe disease obtains appropriate care
→ scenario → healthSystem → ImmediateOutcomes → pSeekOfficialCareSevere
<pSeekOfficialCareSevere
value=double
/>
Documentation (element)
Units: Dimensionless Min: 0.0 Max: 1.0
Probability that a patient with severe disease obtains appropriate care
Attributes
Input parameter value
value=double
A double-precision floating-point value.
liverStageDrug
→ scenario → healthSystem → ImmediateOutcomes → liverStageDrug
<liverStageDrug>
IN ANY ORDER:
| <pHumanCannotReceive ... />
| [ <ignoreCannotReceive ... /> ]
| [ <pUseUncomplicated ... /> ]
| <effectivenessOnUse ... />
</liverStageDrug>
Documentation (type)
Parameters for drug treatment which have an effect on the liver-stage of parasites (Primaquine and potentially Tafenoquine); for use with the Vivax model only.
Note: if this section is not listed, the following default values are assumed: pHumanCannotReceive=0, pUseUncomplicated=0, effectivenessOnUse=1.
Probability that human is incompatible with liver-stage drug treatment
→ scenario → healthSystem → ImmediateOutcomes → liverStageDrug → pHumanCannotReceive
<pHumanCannotReceive
value=double
/>
Documentation (element)
Units: Probability Min: 0 Max: 1
Chance that a human is determined to be unable to receive liver-stage drug treatment. Treatment is neither reported or given for such humans.
This is sampled once per human at birth.
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Ignore liver-stage drug treatment incompatibility
→ scenario → healthSystem → ImmediateOutcomes → liverStageDrug → ignoreCannotReceive
<ignoreCannotReceive
value=boolean
/>
Documentation (element)
If true, ignore pHumanCannotReceive and consider all humans eligible for treatment; if false (or not specified), do not treat those demed incompatible with liver-stage drug treatment.
The point of this is that pHumanCannotReceive cannot be altered by changeHS interventions, but this property can be.
Attributes
Input parameter value
value=boolean
A boolean value.
Prob use in UC case
→ scenario → healthSystem → ImmediateOutcomes → liverStageDrug → pUseUncomplicated
<pUseUncomplicated
value=double
/>
Documentation (element)
Units: Probability Min: 0 Max: 1
This feature is deprecated; it is suggested to use the "simple treatment" feature configured to clear liver-stage parasites, leaving this option unset or zero.
Chance of liver-stage drug treatment being used for routine treatment of an uncomplicated case.
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Effectiveness
→ scenario → healthSystem → ImmediateOutcomes → liverStageDrug → effectivenessOnUse
<effectivenessOnUse
value=double
/>
Documentation (element)
Units: Probability Min: 0 Max: 1
Chance that liver-stage drug treatment is effective.
On application, a random variable is sampled against this probability. If false, the treatment does nothing; if true, the treatment clears all liver stage parasites. Where effectiveness is longer than a single time step (prophylactic effect), this sample still only happens once (thus either no effect or all liver stages cleared over multiple steps).
Attributes
Input parameter value
value=double
A double-precision floating-point value.
DecisionTree5Day
→ scenario → healthSystem → DecisionTree5Day
<DecisionTree5Day
[ name=string ]
>
IN ANY ORDER:
| <pSeekOfficialCareUncomplicated1 ... />
| <pSelfTreatUncomplicated ... />
| <pSeekOfficialCareUncomplicated2 ... />
| <pSeekOfficialCareSevere ... />
| [ <liverStageDrug ... /> ]
| <treeUCOfficial ... />
| <treeUCSelfTreat ... />
| <cureRateSevere ... />
| <treatmentSevere ... />
</DecisionTree5Day>
- pSeekOfficialCareUncomplicated1
- pSelfTreatUncomplicated
- pSeekOfficialCareUncomplicated2
- pSeekOfficialCareSevere
- liverStageDrug
- treeUCOfficial
- treeUCSelfTreat
- cureRateSevere
- treatmentSevere
Documentation (type)
Description of the health system using the 5-day timestep with decision tree model: access is configured as in the Tediosi et al case management model (Case management as described in AJTMH 75 (suppl 2) pp90-103) while treatment decisions are configured via decision trees.
Besides greater flexibility, this allows treatment via PK/PD models.
Attributes
Name of case management parameterisation
name=string
Name of health system
Probability that a patient with uncomplicated disease seeks official care immediately.
→ scenario → healthSystem → DecisionTree5Day → pSeekOfficialCareUncomplicated1
<pSeekOfficialCareUncomplicated1
value=double
/>
Documentation (element)
Units: Dimensionless Min: 0.0 Max: 1.0
Probability that a patient with newly incident uncomplicated disease seeks official care
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Probability that a patient with uncomplicated disease will self-treat.
→ scenario → healthSystem → DecisionTree5Day → pSelfTreatUncomplicated
<pSelfTreatUncomplicated
value=double
/>
Documentation (element)
Units: Dimensionless Min: 0.0 Max: 1.0
Probability that a patient with uncomplicated disease without recent history of disease (i.e. first line) will self-treat.
Note that in second line cases there is no probability of self-treatment.
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Probability that a recurring patient seeks official care
→ scenario → healthSystem → DecisionTree5Day → pSeekOfficialCareUncomplicated2
<pSeekOfficialCareUncomplicated2
value=double
/>
Documentation (element)
Units: Dimensionless Min: 0.0 Max: 1.0
Probability that a patient with recurrence of uncomplicated disease seeks official care
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Probability that a patient with severe disease obtains appropriate care
→ scenario → healthSystem → DecisionTree5Day → pSeekOfficialCareSevere
<pSeekOfficialCareSevere
value=double
/>
Documentation (element)
Units: Dimensionless Min: 0.0 Max: 1.0
Probability that a patient with severe disease obtains appropriate care
Attributes
Input parameter value
value=double
A double-precision floating-point value.
liverStageDrug
→ scenario → healthSystem → DecisionTree5Day → liverStageDrug
<liverStageDrug>
IN ANY ORDER:
| <pHumanCannotReceive ... />
| [ <ignoreCannotReceive ... /> ]
| [ <pUseUncomplicated ... /> ]
| <effectivenessOnUse ... />
</liverStageDrug>
Documentation (type)
Parameters for drug treatment which have an effect on the liver-stage of parasites (Primaquine and potentially Tafenoquine); for use with the Vivax model only.
Note: if this section is not listed, the following default values are assumed: pHumanCannotReceive=0, pUseUncomplicated=0, effectivenessOnUse=1.
treeUCOfficial
→ scenario → healthSystem → DecisionTree5Day → treeUCOfficial
<treeUCOfficial
[ name=string ]
>
EXACTLY ONE OF:
| <multiple ... />
| <caseType ... />
| <diagnostic ... />
| <random ... />
| <age ... />
| <noTreatment ... />
| <treatFailure ... />
| ( <treatPKPD ... /> )+
| <treatSimple ... />
| ( <deploy ... /> )+
</treeUCOfficial>
Documentation (type)
Describes how "decisions" are made, both probabilistically and deterministically, and what actions are carried out.
Quantities may also be reported as a side effect of decisions made in the tree, for example the number of diagnostics used.
Attributes
Name
name=string
An optional piece of documentation attached to this node.
treeUCSelfTreat
→ scenario → healthSystem → DecisionTree5Day → treeUCSelfTreat
<treeUCSelfTreat
[ name=string ]
>
EXACTLY ONE OF:
| <multiple ... />
| <caseType ... />
| <diagnostic ... />
| <random ... />
| <age ... />
| <noTreatment ... />
| <treatFailure ... />
| ( <treatPKPD ... /> )+
| <treatSimple ... />
| ( <deploy ... /> )+
</treeUCSelfTreat>
Documentation (type)
Describes how "decisions" are made, both probabilistically and deterministically, and what actions are carried out.
Quantities may also be reported as a side effect of decisions made in the tree, for example the number of diagnostics used.
Attributes
Name
name=string
An optional piece of documentation attached to this node.
Cure rate (severe cases)
→ scenario → healthSystem → DecisionTree5Day → cureRateSevere
<cureRateSevere
value=double
/>
Documentation (element)
Min: 0 Max: 1
The probability of clearing parasites given access to appropriate (hospital) care, for a severe case.
Attributes
Input parameter value
value=double
A double-precision floating-point value.
treatmentSevere
→ scenario → healthSystem → DecisionTree5Day → treatmentSevere
<treatmentSevere
[ name=string ]
>
IN THIS ORDER:
| ( <deploy ... /> )*
</treatmentSevere>
Documentation (type)
Describes the effects of the treatment, assuming this compliance/adherence/... option is selected. Effects are described in terms of a list of options, each of which acts independently but with all effects being activated simultaneously.
Documentation (base type)
Lists intervention components which are deployed according to some external trigger (for example, screening with a negative patency outcome or health-system treatment).
Components are referenced from one or more sub-lists. Each of these lists is deployed independently if and only if its age constraints are met by the human host and a random sample with the given probability of a positive outcome is positive.
Attributes
Name
name=string
Describes what this compliance option represents (e.g. "good compliance", "poor compliance with good drugs", ...).
Case fatality rate for inpatients
→ scenario → healthSystem → CFR
<CFR
[ interpolation=("none" or "linear") ]
>
IN THIS ORDER:
| ( <group ... /> )+
</CFR>
Documentation (element)
Case fatality rate (probability of an inpatient fatality from a bout of severe malaria, per age-group).
Attributes
interpolation
interpolation=("none" or "linear")
Interpolation algorithm. Normally it is desirable for age-based values to be continuous w.r.t. age. By default linear interpolation is used. With all algorithms except "none", the age groups are converted to a set of points centred within each age range. Extra points are added at each end (zero and infinity) to keep value constant at both ends of the function. A zero-length age group may be used as a kind of barrier to adjust the distribution; e.g. with age group boundaries at 15, 20 and 25 years, a (linear) spline would be drawn between ages 17.5 and 22.5, whereas with boundaries at 15, 20 and 20 years, a spline would be drawn between ages 17.5 and 20 years (may be desired if individuals are assumed to reach adult size at 20). Algorithms:
- none: input values are used directly
- linear: straight lines (on an age vs. value graph) are used to interpolate data points.
Probabilities of sequelae in inpatients
→ scenario → healthSystem → pSequelaeInpatient
<pSequelaeInpatient
[ interpolation=("none" or "linear") ]
>
IN THIS ORDER:
| ( <group ... /> )+
</pSequelaeInpatient>
Documentation (element)
Units: Dimensionless
List of age-specific probabilities of sequelae in inpatients, during a severe bout of malaria.
Attributes
interpolation
interpolation=("none" or "linear")
Interpolation algorithm. Normally it is desirable for age-based values to be continuous w.r.t. age. By default linear interpolation is used. With all algorithms except "none", the age groups are converted to a set of points centred within each age range. Extra points are added at each end (zero and infinity) to keep value constant at both ends of the function. A zero-length age group may be used as a kind of barrier to adjust the distribution; e.g. with age group boundaries at 15, 20 and 25 years, a (linear) spline would be drawn between ages 17.5 and 22.5, whereas with boundaries at 15, 20 and 20 years, a spline would be drawn between ages 17.5 and 20 years (may be desired if individuals are assumed to reach adult size at 20). Algorithms:
- none: input values are used directly
- linear: straight lines (on an age vs. value graph) are used to interpolate data points.
Change transmission levels
→ scenario → interventions → changeEIR
<changeEIR
[ name=string ]
>
IN THIS ORDER:
| ( <timedDeployment ... /> )*
</changeEIR>
Documentation (element)
New description of transmission level for models not supporting vector control interventions. Use of this overrides previous transmission levels such that human infectiousness no longer has any feedback effect on transmission. Supplied EIR data must last until end of simulation.
Attributes
Name of intervention
name=string
Name of intervention
timedDeployment
→ scenario → interventions → changeEIR → timedDeployment
<timedDeployment
eipDuration=int
time=string
>
IN THIS ORDER:
| ( <EIRDaily ... /> )+
</timedDeployment>
Documentation (type)
Replacement transmission levels. Disables feedback of human infectiousness to mosquitoes on further mosquito to human transmission. Must last until end of simulation.
Attributes
Duration of sporogony
eipDuration=int
Units: Days
The duration of sporogony in days
Time
time=string
Units: User defined (defauls to steps) Min: 0
Time at which this replacement occurs. See doc on intervention period and on monitoring/startDate for details of how times work. Can be specified in steps, days, years, or as a date (examples: 15t, 75d, 0.2y, 2000-03-16).
EIRDaily
→ scenario → entomology → nonVector → EIRDaily
<EIRDaily
[ origin=string ]
>
double
</EIRDaily>
Documentation (type)
Units: Infectious bites per adult per day
In the non-vector model, EIR is input as a sequence of daily values. There must be at least one years' worth of entries (365), and if there are more, values are wrapped and averaged (i.e. value for first day of year is taken as the mean of values for days 0, 365+0, 2*365+0, etc.).
Attributes
Time origin of EIR sequence
origin=string
Imported infections
→ scenario → interventions → importedInfections
<importedInfections
[ name=string ]
>
IN THIS ORDER:
| <timed ... />
</importedInfections>
Documentation (element)
Models importation of P. falciparum infections directly into humans from an external source. This is infections, not inoculations or EIR being imported.
Attributes
Name of intervention
name=string
Name of intervention
Rate of importation
→ scenario → interventions → importedInfections → timed
<timed
[ period=string ] DEFAULT VALUE 0
>
IN THIS ORDER:
| ( <rate ... /> )+
</timed>
Documentation (element)
Rate of case importation, as a step function. Each value is valid until replaced by the next value.
Attributes
Period of repetition
period=string
Units: User defined (default: steps) Min: 0
Default value: 0
If period is 0 (or effectively infinite), the last specified value remains indefinitely in effect, otherwise the times of all values specified must be less than the period, and values are repeated modulo period (the step at time 'period+2t' has same value as the step at '2t', etc.). Can be specified in steps (e.g. 1t) or days (e.g. 365d).
rate
→ scenario → interventions → importedInfections → timed → rate
<rate
value=double
time=string
/>
Documentation (type)
Units: Imported cases per thousand people per year
A time-rate pair.
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Time of start
time=string
Units: User defined (defauls to steps) Min: 0
Time at which this importation rate becomes active. See doc on intervention period and on monitoring/startDate for details of how times work. Can be specified in steps, days, years, or as a date (examples: 15t, 75d, 0.2y, 2000-03-16).
Insert R_0 case
→ scenario → interventions → insertR_0Case
<insertR_0Case
[ name=string ]
>
IN THIS ORDER:
| ( <timedDeployment ... /> )*
</insertR_0Case>
Documentation (element)
Used to simulate R_0. First, infections should be eliminated, immunity removed, and the population given an effective transmission- blocking vaccine (not done by this intervention). Then this intervention may be used to: pick one human, infect him, administer a fully effective Preerythrocytic vaccine and remove transmission-blocking vaccine effect on this human. Thus only this one human will be a source of infections in an unprotected population, and will not reinfected himself.
Attributes
Name of intervention
name=string
Name of intervention
timedDeployment
→ scenario → interventions → insertR_0Case → timedDeployment
<timedDeployment
time=string
/>
Attributes
Time
time=string
Units: User defined (defauls to steps) Min: 0
Time at which this intervention occurs. See doc on intervention period and on monitoring/startDate for details of how times work. Can be specified in steps, days, years, or as a date (examples: 15t, 75d, 0.2y, 2000-03-16).
Uninfect vectors
→ scenario → interventions → uninfectVectors
<uninfectVectors
[ name=string ]
>
IN THIS ORDER:
| ( <timedDeployment ... /> )*
</uninfectVectors>
Documentation (element)
Units: List of elements
Removes all infections from mosquitoes -- resulting in zero EIR to humans, until such time that mosquitoes are re-infected and become infectious. Only efficacious in dynamic EIR mode (when changeEIR was not used).
Hypothetical, but potentially useful to simulate a setting starting from no infections, but with enough mosquitoes to reach a set equilibrium of exposure.
Attributes
Name of intervention
name=string
Name of intervention
timedDeployment
→ scenario → interventions → uninfectVectors → timedDeployment
<timedDeployment
time=string
/>
Attributes
Time
time=string
Units: User defined (defauls to steps) Min: 0
Time at which this intervention occurs. See doc on intervention period and on monitoring/startDate for details of how times work. Can be specified in steps, days, years, or as a date (examples: 15t, 75d, 0.2y, 2000-03-16).
Vector population intervention
→ scenario → interventions → vectorPop
<vectorPop>
IN THIS ORDER:
| ( <intervention ... /> )+
</vectorPop>
Documentation (element)
Units: List of elements
A list of parameterisations of generic vector host-inspecific interventions.
intervention
→ scenario → interventions → vectorPop → intervention
<intervention
name=string
>
IN THIS ORDER:
| <description ... />
| [ <timed ... /> ]
</intervention>
Documentation (type)
Units: List of elements
An intervention which may have various effects on the vector populations as a whole. (Not host specific.)
Multiple instances of this intervention class are allowed (multiple parameterisations, not just deployments).
Each instance may have multiple deployments. In this case the effects of each instance are independent (effects are combined) but the effects of multiple deployments of a single instance are not independent (only the latest deployment has any effect).
Attributes
Name of intervention
name=string
Name of intervention (e.g. larviciding, sugar bait).
description
→ scenario → interventions → vectorPop → intervention → description
<description>
IN THIS ORDER:
| ( <anopheles ... /> )+
</description>
anopheles
→ scenario → interventions → vectorPop → intervention → description → anopheles
<anopheles
mosquito=string
>
IN ANY ORDER:
| [ <seekingDeathRateIncrease ... /> ]
| [ <probDeathOvipositing ... /> ]
| [ <emergenceReduction ... /> ]
</anopheles>
Documentation (type)
Units: dimensionless Min: 0 Max: 1
Descriptions of the effects of vector interventions with per-species effects.
Attributes
Species/subspecies/variant name
mosquito=string
Name of the species/subspecies/variant.
Proportional increase in deaths while host searching
→ scenario → interventions → vectorPop → intervention → description → anopheles → seekingDeathRateIncrease
<seekingDeathRateIncrease
initial=double
>
IN THIS ORDER:
| <decay ... />
</seekingDeathRateIncrease>
Documentation (element)
Units: dimensionless
Describe an effect on the increase in the death rate while host seeking (mu_vA) due to this intervention.
Enter the rate increase (i.e. if rate increases to 120% of normal, give 0.2). New death rate while seeking is old × (1 + increase) where increase is this factor given. Must have increas ≥ -1.
Attributes
Initial proportion increase
initial=double
Units: dimensionless Min: -1 Max: inf
decay
→ scenario → interventions → vectorPop → intervention → description → anopheles → seekingDeathRateIncrease → decay
<decay
function=("constant" or "step" or "linear" or "exponential" or "weibull" or "hill" or "smooth-compact")
[ L=string ]
[ k=double ] DEFAULT VALUE 1.0
[ mu=double ] DEFAULT VALUE 0
[ sigma=double ] DEFAULT VALUE 0
/>
Documentation (type)
Specification of decay or survival of a parameter.
Attributes
function
function=("constant" or "step" or "linear" or "exponential" or "weibull" or "hill" or "smooth-compact")
Units: None Min: 0 Max: 1
Determines which decay function to use. Available decay functions, for age t in years: constant: 1 step: 1 for t less than L, otherwise 0 linear: 1 - t/L for t less than L, otherwise 0 exponential: exp( - t/L * log(2) ) weibull: exp( -(t/L)^k * log(2) ) hill: 1 / (1 + (t/L)^k) smooth-compact: exp( k - k / (1 - (t/L)^2) ) for t less than L, otherwise 0
L
L=string
Units: User-defined (defaults to years) Min: 0
(Time) scale parameter of distribution: this is either the age of complete decay (smooth-compact, step and linear functions) or the age at which the parameter has decayed to half its original value (exponential, weibull and hill). Not used when function="constant" (i.e. no decay). This value can be specified in years, days or steps (e.g. 2y, 180d or 100t). When the unit is not specified years are assumed. The value is used without rounding except when sampling an age of decay, when the rounding happens as late as possible.
k
k=double
Units: none Min: 0
Default value: 1.0
Shape parameter of distribution. If not specified, default value of 1 is used. Meaning depends on function; not used in some cases.
μ (mu)
mu=double
Min: 0
Default value: 0
If sigma is non-zero, heterogeneity of decay is introduced via a random variable sampled from the log-normal distribution with mu and sigma as specified. Both mu and sigma default to zero when not specified. The decay rate is multiplied by this variable (effectively, the half-life is divided by it). Note that with m=0, the median of the variable and the median value of L is unchanged, and thus the time at which the median decay amongst the population of decaying objects reaches half (assuming exponential, Weibull or Hill decay) is L. With m=-½σ² (negative half sigma squared) the mean of the variable will be 1 and mean of the half-life L, but the time at which mean decay of the population has reached half may not be L.
σ (sigma)
sigma=double
Min: 0
Default value: 0
If sigma is non-zero, heterogeneity of decay is introduced via a random variable sampled from the log-normal distribution with mu and sigma as specified. Both mu and sigma default to zero when not specified. The decay rate is multiplied by this variable (effectively, the half-life is divided by it).
Proportion ovipositing mosquitoes killed
→ scenario → interventions → vectorPop → intervention → description → anopheles → probDeathOvipositing
<probDeathOvipositing
initial=double
>
IN THIS ORDER:
| <decay ... />
</probDeathOvipositing>
Documentation (element)
Units: dimensionless
Describe an effect of increased mortality while ovipositing due to this intervention. Enter the probability of dying due to this intervention.
Attributes
Initial probability of killing
initial=double
Units: dimensionless Min: 0 Max: 1
decay
→ scenario → interventions → vectorPop → intervention → description → anopheles → probDeathOvipositing → decay
<decay
function=("constant" or "step" or "linear" or "exponential" or "weibull" or "hill" or "smooth-compact")
[ L=string ]
[ k=double ] DEFAULT VALUE 1.0
[ mu=double ] DEFAULT VALUE 0
[ sigma=double ] DEFAULT VALUE 0
/>
Documentation (type)
Specification of decay or survival of a parameter.
Attributes
function
function=("constant" or "step" or "linear" or "exponential" or "weibull" or "hill" or "smooth-compact")
Units: None Min: 0 Max: 1
Determines which decay function to use. Available decay functions, for age t in years: constant: 1 step: 1 for t less than L, otherwise 0 linear: 1 - t/L for t less than L, otherwise 0 exponential: exp( - t/L * log(2) ) weibull: exp( -(t/L)^k * log(2) ) hill: 1 / (1 + (t/L)^k) smooth-compact: exp( k - k / (1 - (t/L)^2) ) for t less than L, otherwise 0
L
L=string
Units: User-defined (defaults to years) Min: 0
(Time) scale parameter of distribution: this is either the age of complete decay (smooth-compact, step and linear functions) or the age at which the parameter has decayed to half its original value (exponential, weibull and hill). Not used when function="constant" (i.e. no decay). This value can be specified in years, days or steps (e.g. 2y, 180d or 100t). When the unit is not specified years are assumed. The value is used without rounding except when sampling an age of decay, when the rounding happens as late as possible.
k
k=double
Units: none Min: 0
Default value: 1.0
Shape parameter of distribution. If not specified, default value of 1 is used. Meaning depends on function; not used in some cases.
μ (mu)
mu=double
Min: 0
Default value: 0
If sigma is non-zero, heterogeneity of decay is introduced via a random variable sampled from the log-normal distribution with mu and sigma as specified. Both mu and sigma default to zero when not specified. The decay rate is multiplied by this variable (effectively, the half-life is divided by it). Note that with m=0, the median of the variable and the median value of L is unchanged, and thus the time at which the median decay amongst the population of decaying objects reaches half (assuming exponential, Weibull or Hill decay) is L. With m=-½σ² (negative half sigma squared) the mean of the variable will be 1 and mean of the half-life L, but the time at which mean decay of the population has reached half may not be L.
σ (sigma)
sigma=double
Min: 0
Default value: 0
If sigma is non-zero, heterogeneity of decay is introduced via a random variable sampled from the log-normal distribution with mu and sigma as specified. Both mu and sigma default to zero when not specified. The decay rate is multiplied by this variable (effectively, the half-life is divided by it).
Proportion of emerging pupa killed
→ scenario → interventions → vectorPop → intervention → description → anopheles → emergenceReduction
<emergenceReduction
initial=double
>
IN THIS ORDER:
| <decay ... />
</emergenceReduction>
Documentation (element)
Units: dimensionless
Describe an effect on emergence of pupa into adults: this value is the proportion of emerging pupa which are killed by this intervention.
This can be used as a crude way of modelling larviciding. It ca also be used to increase emergence by giving a negative value. The emergence rate is "old rate" × (1 - factor) where factor is the value given here; thus, for example, using -1 will double emergence.
Attributes
Initial proportion reduction
initial=double
Units: dimensionless Min: -inf Max: 1
decay
→ scenario → interventions → vectorPop → intervention → description → anopheles → emergenceReduction → decay
<decay
function=("constant" or "step" or "linear" or "exponential" or "weibull" or "hill" or "smooth-compact")
[ L=string ]
[ k=double ] DEFAULT VALUE 1.0
[ mu=double ] DEFAULT VALUE 0
[ sigma=double ] DEFAULT VALUE 0
/>
Documentation (type)
Specification of decay or survival of a parameter.
Attributes
function
function=("constant" or "step" or "linear" or "exponential" or "weibull" or "hill" or "smooth-compact")
Units: None Min: 0 Max: 1
Determines which decay function to use. Available decay functions, for age t in years: constant: 1 step: 1 for t less than L, otherwise 0 linear: 1 - t/L for t less than L, otherwise 0 exponential: exp( - t/L * log(2) ) weibull: exp( -(t/L)^k * log(2) ) hill: 1 / (1 + (t/L)^k) smooth-compact: exp( k - k / (1 - (t/L)^2) ) for t less than L, otherwise 0
L
L=string
Units: User-defined (defaults to years) Min: 0
(Time) scale parameter of distribution: this is either the age of complete decay (smooth-compact, step and linear functions) or the age at which the parameter has decayed to half its original value (exponential, weibull and hill). Not used when function="constant" (i.e. no decay). This value can be specified in years, days or steps (e.g. 2y, 180d or 100t). When the unit is not specified years are assumed. The value is used without rounding except when sampling an age of decay, when the rounding happens as late as possible.
k
k=double
Units: none Min: 0
Default value: 1.0
Shape parameter of distribution. If not specified, default value of 1 is used. Meaning depends on function; not used in some cases.
μ (mu)
mu=double
Min: 0
Default value: 0
If sigma is non-zero, heterogeneity of decay is introduced via a random variable sampled from the log-normal distribution with mu and sigma as specified. Both mu and sigma default to zero when not specified. The decay rate is multiplied by this variable (effectively, the half-life is divided by it). Note that with m=0, the median of the variable and the median value of L is unchanged, and thus the time at which the median decay amongst the population of decaying objects reaches half (assuming exponential, Weibull or Hill decay) is L. With m=-½σ² (negative half sigma squared) the mean of the variable will be 1 and mean of the half-life L, but the time at which mean decay of the population has reached half may not be L.
σ (sigma)
sigma=double
Min: 0
Default value: 0
If sigma is non-zero, heterogeneity of decay is introduced via a random variable sampled from the log-normal distribution with mu and sigma as specified. Both mu and sigma default to zero when not specified. The decay rate is multiplied by this variable (effectively, the half-life is divided by it).
Vector population intervention deployment
→ scenario → interventions → vectorPop → intervention → timed
<timed>
IN THIS ORDER:
| ( <deploy ... /> )+
</timed>
Documentation (element)
List of timed vector population intervention deployment
deploy
→ scenario → interventions → vectorPop → intervention → timed → deploy
<deploy
time=string
/>
Attributes
Time
time=string
Units: User defined (defauls to steps) Min: 0
Time at which this deployment occurs. See doc on intervention period and on monitoring/startDate for details of how times work. Can be specified in steps, days, years, or as a date (examples: 15t, 75d, 0.2y, 2000-03-16).
Baited trap
→ scenario → interventions → vectorTrap
<vectorTrap>
IN THIS ORDER:
| ( <intervention ... /> )+
</vectorTrap>
Documentation (element)
Traps attract and kill mosquitoes. They are modelled as a non-human-host where the probability of mosquitoes surviving feeding is zero (since otherwise the simulator would assume surviving mosquitoes have had a blood meal), and where this "host" is initially not present.
Model: each type of trap has has an initial availability relative to a human and a decay in availability. Each deployment has a fixed maximum lifespan, after which the traps from that deployment are removed (it is up to the user whether this is after availability is effectively zero or sooner, either coinciding with a redeployment or causing a reduction in overall effectiveness of traps).
intervention
→ scenario → interventions → vectorTrap → intervention
<intervention
[ name=string ]
>
IN THIS ORDER:
| ( <description ... /> )+
| [ <timed ... /> ]
</intervention>
Documentation (type)
Parameters and deployment of one type of trap. In case multiple types of trap are needed simultaneously, multiple elements can be used. Note that different types of trap do not interact except that all will attract mosquitoes.
Attributes
Descriptive name for type of trap
name=string
Optional name for this type of trap
Description
→ scenario → interventions → vectorTrap → intervention → description
<description
mosquito=string
>
IN THIS ORDER:
| <relativeAvailability ... />
| <decayOfAvailability ... />
</description>
Documentation (element)
Parameters associated with a vector trap intervention, per mosquito species.
Attributes
Species/subspecies/variant name
mosquito=string
Name of the species/subspecies/variant.
Initial relative availability
→ scenario → interventions → vectorTrap → intervention → description → relativeAvailability
<relativeAvailability
value=double
/>
Documentation (element)
Units: Proportion Min: 0 Max: inf
Describes the availiability of a trap to a host-seeking mosquito relative to an average unprotected adult.
I.e. if this parameter is 2, then each trap will on average attract twice as many mosquitoes as unprotected adults.
This is the initial availability; it may decay towards zero depending on the configured decay function.
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Decay of availability
→ scenario → interventions → vectorTrap → intervention → description → decayOfAvailability
<decayOfAvailability
function=("constant" or "step" or "linear" or "exponential" or "weibull" or "hill" or "smooth-compact")
[ L=string ]
[ k=double ] DEFAULT VALUE 1.0
[ mu=double ] DEFAULT VALUE 0
[ sigma=double ] DEFAULT VALUE 0
/>
Documentation (element)
Describes how availability decays to zero.
If decay heterogeneity/variance is used, there will be a sample once-per-deployment (i.e. all traps of the same deployment will be affected the same way). There is no support for variances between traps (except in this crude way, between deployments).
Documentation (type)
Specification of decay or survival of a parameter.
Attributes
function
function=("constant" or "step" or "linear" or "exponential" or "weibull" or "hill" or "smooth-compact")
Units: None Min: 0 Max: 1
Determines which decay function to use. Available decay functions, for age t in years: constant: 1 step: 1 for t less than L, otherwise 0 linear: 1 - t/L for t less than L, otherwise 0 exponential: exp( - t/L * log(2) ) weibull: exp( -(t/L)^k * log(2) ) hill: 1 / (1 + (t/L)^k) smooth-compact: exp( k - k / (1 - (t/L)^2) ) for t less than L, otherwise 0
L
L=string
Units: User-defined (defaults to years) Min: 0
(Time) scale parameter of distribution: this is either the age of complete decay (smooth-compact, step and linear functions) or the age at which the parameter has decayed to half its original value (exponential, weibull and hill). Not used when function="constant" (i.e. no decay). This value can be specified in years, days or steps (e.g. 2y, 180d or 100t). When the unit is not specified years are assumed. The value is used without rounding except when sampling an age of decay, when the rounding happens as late as possible.
k
k=double
Units: none Min: 0
Default value: 1.0
Shape parameter of distribution. If not specified, default value of 1 is used. Meaning depends on function; not used in some cases.
μ (mu)
mu=double
Min: 0
Default value: 0
If sigma is non-zero, heterogeneity of decay is introduced via a random variable sampled from the log-normal distribution with mu and sigma as specified. Both mu and sigma default to zero when not specified. The decay rate is multiplied by this variable (effectively, the half-life is divided by it). Note that with m=0, the median of the variable and the median value of L is unchanged, and thus the time at which the median decay amongst the population of decaying objects reaches half (assuming exponential, Weibull or Hill decay) is L. With m=-½σ² (negative half sigma squared) the mean of the variable will be 1 and mean of the half-life L, but the time at which mean decay of the population has reached half may not be L.
σ (sigma)
sigma=double
Min: 0
Default value: 0
If sigma is non-zero, heterogeneity of decay is introduced via a random variable sampled from the log-normal distribution with mu and sigma as specified. Both mu and sigma default to zero when not specified. The decay rate is multiplied by this variable (effectively, the half-life is divided by it).
Vector trap intervention deployment
→ scenario → interventions → vectorTrap → intervention → timed
<timed>
IN THIS ORDER:
| ( <deploy ... /> )*
</timed>
Documentation (element)
List of timed vector trap intervention deployment
deploy
→ scenario → interventions → vectorTrap → intervention → timed → deploy
<deploy
time=string
ratioToHumans=double
lifespan=string
/>
Attributes
Time
time=string
Units: User defined (defauls to steps) Min: 0
Time at which this deployment occurs. See doc on intervention period and on monitoring/startDate for details of how times work. Can be specified in steps, days, years, or as a date (examples: 15t, 75d, 0.2y, 2000-03-16).
Ratio to humans
ratioToHumans=double
Min: 0 Max: inf
The number of traps deployed, by this deployment, per adult human. E.g. if there are currently 100 traps and 1000 humans, then a ratio of 0.1 will increase the number of traps to 200.
Lifespan
lifespan=string
Units: Steps or Days or Years
Life of the trap until replaced or removed, e.g. "73t" or "1y". After this time period, these traps will be removed from the simulation. New deployments do not automatically remove old traps. Existing traps cannot be refurbished in the model. It may make sense to make the end-of-life coincide with a new deployment.
Human-specific interventions
→ scenario → interventions → human
<human>
IN THIS ORDER:
| ( <component ... /> )+
| ( <deployment ... /> )*
</human>
Documentation (element)
Encapsulates all interventions whose effects are specific to the human host: any interventions where target humans may be selected via population-coverage, age limits and sub-population membership.
Component
→ scenario → interventions → human → component
<component
id=string
[ name=string ]
>
IN THIS ORDER:
| EXACTLY ONE OF:
| | <screen ... />
| | <treatSimple ... />
| | <treatPKPD ... />
| | <decisionTree ... />
| | <PEV ... />
| | <BSV ... />
| | <TBV ... />
| | <ITN ... />
| | <IRS ... />
| | <GVI ... />
| | [ <recruitmentOnly ... /> ]
| | <clearImmunity ... />
| [ <subPopRemoval ... /> ]
</component>
- screen
- treatSimple
- treatPKPD
- decisionTree
- PEV
- BSV
- TBV
- ITN
- IRS
- GVI
- recruitmentOnly
- clearImmunity
- subPopRemoval
Documentation (element)
A parameterisation of an effect achieved by one component of an intervention. (An intervention is described as the effects of a set of components plus deployments of those components. This describes the components individually, not deployments or which components comprise an intervention.)
Each element describes one component: its effects, decay of the(se) effect(s), and related stuff (e.g. description of indirect decay and of usage levels).
Different interventions can deploy the same component to the same perso. In most cases this will just deploy a fresh instance (e.g. a new bed net will replace the old (nobody uses multiple bed nets), or a new drug dose will act on top of previous doses, or in the case of a vaccine, effect depends on the total number of previous inoculations (including from other interventions).
Where multiple components of the same type (but with different ids) are deployed (whether within a single intervention or by multiple interventions), they act independently (e.g. two bed nets deployed to a single host would act to reduce attractiveness or survival of mosquitoes biting that host twice — this may be useful to simulate some novel vector intervention since the two nets may have separate parameters).
Attributes
Component identifier
id=string
A short name or code identifying the intervention component (used to refer to this component when describing an intervention). Also the id of the sub-population defined as those hosts who have received this intervention and who haven't subsequently been removed from the sub-population.
Name of component
name=string
An informal name/description for the component
screen
→ scenario → interventions → human → component → screen
<screen
diagnostic=string
>
IN THIS ORDER:
| ( <positive ... /> )*
| ( <negative ... /> )*
</screen>
Documentation (type)
This can be combined with MDA to achieve mass screen and treat (MSAT) or other types of mass screening intervention.
When deployed to a host, this simulates a test of patent malaria (microscopy, RDT or some such), then triggers deployment of whichever intervention components are configured (deployments for both positive and negative test outcomes can be configured).
The use of the screening itself is reported (if enabled), but not the outcome. Deployment of interventions triggered by the screening may be reported, however.
Attributes
Name of diagnostic
diagnostic=string
Name of a parameterised diagnostic (see scenario/diagnostics).
positive
→ scenario → interventions → human → component → screen → positive
<positive
id=string
/>
Documentation (type)
The list of components deployed to eligible humans.
Attributes
Identifier
id=string
The identifier (short name) of a component.
negative
→ scenario → interventions → human → component → screen → negative
<negative
id=string
/>
Documentation (type)
The list of components deployed to eligible humans.
Attributes
Identifier
id=string
The identifier (short name) of a component.
treatSimple
→ scenario → interventions → human → component → treatSimple
<treatSimple
durationLiver=string
durationBlood=string
/>
Documentation (type)
Simple treatment model, targetting liver- and/or blood-stage infections. This is all-or-nothing treatment which, when deploymed, completely clears all infections of the targetted stages. This makes it unsuitable for modeling resistance, but suitable for use with simple infection models.
Infections are considered liver-stage when less than five days old and blood-stage after that. Effects are described independently for the two stages.
Attributes
Length of liver-stage effect
durationLiver=string
Units: User defined
Controls action on liver-stage infections. 0 means no action, -1 step is a compatibility option to act like treatment before schema version 32 (which removed infections retrospectively), 1 step or any duration which equals some whole number of steps n>0 means to clear all liver-stage infections found on the next 1 or n steps. Note on -1 compatibility option: the main difference to 1 step (clearing on the next timestep) is that parasite densities will be reduced immediately, and thus from the point of view of surveys and mass screen and treat interventions a peak in density which is immediately treated through case management will not be seen. Can be specified in steps (e.g. 1t, -1t) or days (e.g. 5d).
Length of blood-stage effect
durationBlood=string
Units: User defined
Controls action on blood-stage infections. 0 means no action, -1 step is a compatibility option to act like treatment before schema version 32 (which removed infections retrospectively), 1 step or any duration which equals some whole number of steps n>0 means to clear all blood-stage infections found on the next 1 or n steps. Note on -1 compatibility option: the main difference to 1 step (clearing on the next timestep) is that parasite densities will be reduced immediately, and thus from the point of view of surveys and mass screen and treat interventions a peak in density which is immediately treated through case management will not be seen. Can be specified in steps (e.g. 1t, -1t) or days (e.g. 5d).
treatPKPD
→ scenario → interventions → human → component → treatPKPD
<treatPKPD
schedule=string
dosage=string
[ delay_h=double ] DEFAULT VALUE 0
/>
Documentation (type)
A command to administer drugs according to a given schedule and dosage table, optionally with a delay.
Attributes
Name of treatment schedule
schedule=string
The name of a schedule to use for treatment.
Name of dosage table
dosage=string
The name of a dosage table to use for treatment.
Delay (hours)
delay_h=double
Default value: 0
Optionally, this can be given to delay the start of treatment by a given number of hours. If not specified, treatment is not delayed. If a delay is given, all medications within the treatment schedule used are delayed by this number of hours.
decisionTree
→ scenario → interventions → human → component → decisionTree
<decisionTree
[ name=string ]
>
EXACTLY ONE OF:
| <multiple ... />
| <caseType ... />
| <diagnostic ... />
| <random ... />
| <age ... />
| <noTreatment ... />
| <treatFailure ... />
| ( <treatPKPD ... /> )+
| <treatSimple ... />
| ( <deploy ... /> )+
</decisionTree>
Documentation (type)
Describes how "decisions" are made, both probabilistically and deterministically, and what actions are carried out.
Quantities may also be reported as a side effect of decisions made in the tree, for example the number of diagnostics used.
Attributes
Name
name=string
An optional piece of documentation attached to this node.
Vaccines
→ scenario → interventions → human → component → PEV
<PEV>
IN THIS ORDER:
| <decay ... />
| <efficacyB ... />
| ( <initialEfficacy ... /> )+
</PEV>
Documentation (element)
Pre-erythrocytic vaccine (PEV): prevents a proportion of infections from commencing.
Documentation (type)
Description of a vaccine's effect
Decay of effect
→ scenario → interventions → human → component → PEV → decay
<decay
function=("constant" or "step" or "linear" or "exponential" or "weibull" or "hill" or "smooth-compact")
[ L=string ]
[ k=double ] DEFAULT VALUE 1.0
[ mu=double ] DEFAULT VALUE 0
[ sigma=double ] DEFAULT VALUE 0
/>
Documentation (element)
Specification of decay of efficacy. Documentation: see DecayFunction type or https://github.com/SwissTPH/openmalaria/wiki/ModelDecayFunctions
Documentation (type)
Specification of decay or survival of a parameter.
Attributes
function
function=("constant" or "step" or "linear" or "exponential" or "weibull" or "hill" or "smooth-compact")
Units: None Min: 0 Max: 1
Determines which decay function to use. Available decay functions, for age t in years: constant: 1 step: 1 for t less than L, otherwise 0 linear: 1 - t/L for t less than L, otherwise 0 exponential: exp( - t/L * log(2) ) weibull: exp( -(t/L)^k * log(2) ) hill: 1 / (1 + (t/L)^k) smooth-compact: exp( k - k / (1 - (t/L)^2) ) for t less than L, otherwise 0
L
L=string
Units: User-defined (defaults to years) Min: 0
(Time) scale parameter of distribution: this is either the age of complete decay (smooth-compact, step and linear functions) or the age at which the parameter has decayed to half its original value (exponential, weibull and hill). Not used when function="constant" (i.e. no decay). This value can be specified in years, days or steps (e.g. 2y, 180d or 100t). When the unit is not specified years are assumed. The value is used without rounding except when sampling an age of decay, when the rounding happens as late as possible.
k
k=double
Units: none Min: 0
Default value: 1.0
Shape parameter of distribution. If not specified, default value of 1 is used. Meaning depends on function; not used in some cases.
μ (mu)
mu=double
Min: 0
Default value: 0
If sigma is non-zero, heterogeneity of decay is introduced via a random variable sampled from the log-normal distribution with mu and sigma as specified. Both mu and sigma default to zero when not specified. The decay rate is multiplied by this variable (effectively, the half-life is divided by it). Note that with m=0, the median of the variable and the median value of L is unchanged, and thus the time at which the median decay amongst the population of decaying objects reaches half (assuming exponential, Weibull or Hill decay) is L. With m=-½σ² (negative half sigma squared) the mean of the variable will be 1 and mean of the half-life L, but the time at which mean decay of the population has reached half may not be L.
σ (sigma)
sigma=double
Min: 0
Default value: 0
If sigma is non-zero, heterogeneity of decay is introduced via a random variable sampled from the log-normal distribution with mu and sigma as specified. Both mu and sigma default to zero when not specified. The decay rate is multiplied by this variable (effectively, the half-life is divided by it).
Variance parameter for vaccine efficacy
→ scenario → interventions → human → component → PEV → efficacyB
<efficacyB
value=double
/>
Documentation (element)
Units: Positive real Min: 0.001 Max: 1.00E+06
Measure of variation in vaccine efficacy: efficacy is sampled from a beta distribution with efficacyB its beta parameter and its alpha parameter fixed such that the mean is that given by initialEfficacy.
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Initial mean efficacy
→ scenario → interventions → human → component → PEV → initialEfficacy
<initialEfficacy
value=double
/>
Documentation (element)
Units: dimensionless Min: 0 Max: 1
Mean efficacy values before decay (see efficacyB and decay parameter descriptions for sampling and decay). The i-th value in this list is used for the efficacy of the vaccine after the i-th dose. Where more doses are given than there are values in this list, the last value is repeated.
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Vaccines
→ scenario → interventions → human → component → BSV
<BSV>
IN THIS ORDER:
| <decay ... />
| <efficacyB ... />
| ( <initialEfficacy ... /> )+
</BSV>
Documentation (element)
Blood-stage vaccine (BSV): acts as a killing factor on blood-stage parasites. Exact action depends on the within host model.
Documentation (type)
Description of a vaccine's effect
Vaccines
→ scenario → interventions → human → component → TBV
<TBV>
IN THIS ORDER:
| <decay ... />
| <efficacyB ... />
| ( <initialEfficacy ... /> )+
</TBV>
Documentation (element)
Transmission-blocking vaccine (TBV): one minus this scales the probability of transmission to mosquitoes
Documentation (type)
Description of a vaccine's effect
Bed nets
→ scenario → interventions → human → component → ITN
<ITN>
IN THIS ORDER:
| [ <usage ... /> ]
| <holeRate ... />
| <ripRate ... />
| <ripFactor ... />
| <initialInsecticide ... />
| <insecticideDecay ... />
| <attritionOfNets ... />
| ( <anophelesParams ... /> )+
</ITN>
- usage
- holeRate
- ripRate
- ripFactor
- initialInsecticide
- insecticideDecay
- attritionOfNets
- anophelesParams
Documentation (element)
Description of bed-net interventions (ITNs, LLINs).
Proportion of time nets are used by humans
→ scenario → interventions → human → component → ITN → usage
<usage
value=double
/>
Documentation (element)
Units: dimensionless Min: 0 Max: 1
Usage of nets by humans, from 0 to 1.
At the moment this is constant across humans and deterministic: relative attractiveness and survival factors are base*(1-usagepropActing) + intervention_factorusage*propActing.
See also "propActing" (proportion of bits for which net acts).
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Rate at which holes are made
→ scenario → interventions → human → component → ITN → holeRate
<holeRate
mean=double
sigma=double
/>
Documentation (element)
Units: Holes per annum Min: 0
The rate at which new holes are made in nets.
nHoles(t) = nHoles(t-1) + X where X~Pois(R/T) where T is the number of time-steps per year. R is sampled from log-normal: R ~ log N( log(mean)-sigma²/2, sigma² ) and is covariant with ripRate and insecticideDecay. (To be exact, a single Gaussian sample is taken, adjusted for each sigma then exponentiated.)
Documentation (type)
Parameters of a log-normal distribution.
Variates are sampled as: X ~ ln N( log(mean)-sigma²/2, sigma² ).
Equivalent R sample: rlnorm(n, log(m) - s*s/2, s)
Attributes
mean
mean=double
Units: (same as base units)
The mean of the lognormal distribution.
sigma
sigma=double
Sigma parameter of the lognormal distribution; sigma squared is the variance of the log of samples.
Rate at which holes are enlarged
→ scenario → interventions → human → component → ITN → ripRate
<ripRate
mean=double
sigma=double
/>
Documentation (element)
Units: Rips per existing hole per annum Min: 0
Each existing hole has a probability of being ripped bigger according to a Poisson process with this rate as (only) parameter.
New rips occur in a net at rate X~Pois(h×R/T) where h is the number of existing holes and T the number of time-steps per year. R is sampled from log-normal: R ~ log N( log(mean)-sigma²/2, sigma² ) and is covariant with holeRate and insecticideDecay. (To be exact, a single Gaussian sample is taken, adjusted for the each and sigma then exponentiated.)
Documentation (type)
Parameters of a log-normal distribution.
Variates are sampled as: X ~ ln N( log(mean)-sigma²/2, sigma² ).
Equivalent R sample: rlnorm(n, log(m) - s*s/2, s)
Attributes
mean
mean=double
Units: (same as base units)
The mean of the lognormal distribution.
sigma
sigma=double
Sigma parameter of the lognormal distribution; sigma squared is the variance of the log of samples.
Rip factor
→ scenario → interventions → human → component → ITN → ripFactor
<ripFactor
value=double
/>
Documentation (element)
Units: none Min: 0
This factor expresses how important rips are in increasing the hole.
The hole index of a net is h + F×x where h and x are the total numbers of holes and rips respectively and F is the rip factor.
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Initial insecticide
→ scenario → interventions → human → component → ITN → initialInsecticide
<initialInsecticide
mu=double
sigma=double
/>
Documentation (element)
Units: mg/m² Min: 0
The insecticide concentration of new nets is Gaussian distributed with mean "mu" and a standard deviation "sigma". The standard deviation should be small relative to the mean to avoid negative initial concentration. Any negative values sampled are set to 0.
Documentation (type)
Parameters of a normal distribution.
Variates are sampled as: X ~ N( mu, sigma² ).
Attributes
mu
mu=double
Units: (same as base units)
The mean of the normal distribution.
sigma
sigma=double
Units: (same as base units)
The standard deviation of variates.
Decay of insecticide
→ scenario → interventions → human → component → ITN → insecticideDecay
<insecticideDecay
function=("constant" or "step" or "linear" or "exponential" or "weibull" or "hill" or "smooth-compact")
[ L=string ]
[ k=double ] DEFAULT VALUE 1.0
[ mu=double ] DEFAULT VALUE 0
[ sigma=double ] DEFAULT VALUE 0
/>
Documentation (element)
Units: none
Decay curve for insecticide content of nets. Documentation: see DecayFunction type or https://github.com/SwissTPH/openmalaria/wiki/ModelDecayFunctions
The distribution of decay rates over nets is covariant with the distribution of ripRate and holeRate over nets. This distribution is generated by taking one sample per net from a Gaussian distribution with mean 0 and standard deviation 1. For each variable, the sample is multiplied by the respective sigma and a constant added such that, once exponentiated, the mean of the variable over nets is 1. The variable is then exponentiated and multiplied by the required mean rate for the respective variable.
Documentation (type)
Specification of decay or survival of a parameter.
Attributes
function
function=("constant" or "step" or "linear" or "exponential" or "weibull" or "hill" or "smooth-compact")
Units: None Min: 0 Max: 1
Determines which decay function to use. Available decay functions, for age t in years: constant: 1 step: 1 for t less than L, otherwise 0 linear: 1 - t/L for t less than L, otherwise 0 exponential: exp( - t/L * log(2) ) weibull: exp( -(t/L)^k * log(2) ) hill: 1 / (1 + (t/L)^k) smooth-compact: exp( k - k / (1 - (t/L)^2) ) for t less than L, otherwise 0
L
L=string
Units: User-defined (defaults to years) Min: 0
(Time) scale parameter of distribution: this is either the age of complete decay (smooth-compact, step and linear functions) or the age at which the parameter has decayed to half its original value (exponential, weibull and hill). Not used when function="constant" (i.e. no decay). This value can be specified in years, days or steps (e.g. 2y, 180d or 100t). When the unit is not specified years are assumed. The value is used without rounding except when sampling an age of decay, when the rounding happens as late as possible.
k
k=double
Units: none Min: 0
Default value: 1.0
Shape parameter of distribution. If not specified, default value of 1 is used. Meaning depends on function; not used in some cases.
μ (mu)
mu=double
Min: 0
Default value: 0
If sigma is non-zero, heterogeneity of decay is introduced via a random variable sampled from the log-normal distribution with mu and sigma as specified. Both mu and sigma default to zero when not specified. The decay rate is multiplied by this variable (effectively, the half-life is divided by it). Note that with m=0, the median of the variable and the median value of L is unchanged, and thus the time at which the median decay amongst the population of decaying objects reaches half (assuming exponential, Weibull or Hill decay) is L. With m=-½σ² (negative half sigma squared) the mean of the variable will be 1 and mean of the half-life L, but the time at which mean decay of the population has reached half may not be L.
σ (sigma)
sigma=double
Min: 0
Default value: 0
If sigma is non-zero, heterogeneity of decay is introduced via a random variable sampled from the log-normal distribution with mu and sigma as specified. Both mu and sigma default to zero when not specified. The decay rate is multiplied by this variable (effectively, the half-life is divided by it).
Attrition of nets
→ scenario → interventions → human → component → ITN → attritionOfNets
<attritionOfNets
function=("constant" or "step" or "linear" or "exponential" or "weibull" or "hill" or "smooth-compact")
[ L=string ]
[ k=double ] DEFAULT VALUE 1.0
[ mu=double ] DEFAULT VALUE 0
[ sigma=double ] DEFAULT VALUE 0
/>
Documentation (element)
Units: dimensionless
Specifies the rate at which nets are disposed of over time. Documentation: see DecayFunction type or https://github.com/SwissTPH/openmalaria/wiki/ModelDecayFunctions
In the current model, nets are disposed of randomly (no correlation with state of decay) such that the chance of each net surviving until age t is the value of this decay function at time t. Equivalently (where a large number of nets are distributed at the same time), the proportion of nets remaining in use should match this decay function over time.
Humans are removed from the intervention component's sub-population on disposal (attrition) of their nets. Currently this event is not reported.
Documentation (type)
Specification of decay or survival of a parameter.
Attributes
function
function=("constant" or "step" or "linear" or "exponential" or "weibull" or "hill" or "smooth-compact")
Units: None Min: 0 Max: 1
Determines which decay function to use. Available decay functions, for age t in years: constant: 1 step: 1 for t less than L, otherwise 0 linear: 1 - t/L for t less than L, otherwise 0 exponential: exp( - t/L * log(2) ) weibull: exp( -(t/L)^k * log(2) ) hill: 1 / (1 + (t/L)^k) smooth-compact: exp( k - k / (1 - (t/L)^2) ) for t less than L, otherwise 0
L
L=string
Units: User-defined (defaults to years) Min: 0
(Time) scale parameter of distribution: this is either the age of complete decay (smooth-compact, step and linear functions) or the age at which the parameter has decayed to half its original value (exponential, weibull and hill). Not used when function="constant" (i.e. no decay). This value can be specified in years, days or steps (e.g. 2y, 180d or 100t). When the unit is not specified years are assumed. The value is used without rounding except when sampling an age of decay, when the rounding happens as late as possible.
k
k=double
Units: none Min: 0
Default value: 1.0
Shape parameter of distribution. If not specified, default value of 1 is used. Meaning depends on function; not used in some cases.
μ (mu)
mu=double
Min: 0
Default value: 0
If sigma is non-zero, heterogeneity of decay is introduced via a random variable sampled from the log-normal distribution with mu and sigma as specified. Both mu and sigma default to zero when not specified. The decay rate is multiplied by this variable (effectively, the half-life is divided by it). Note that with m=0, the median of the variable and the median value of L is unchanged, and thus the time at which the median decay amongst the population of decaying objects reaches half (assuming exponential, Weibull or Hill decay) is L. With m=-½σ² (negative half sigma squared) the mean of the variable will be 1 and mean of the half-life L, but the time at which mean decay of the population has reached half may not be L.
σ (sigma)
sigma=double
Min: 0
Default value: 0
If sigma is non-zero, heterogeneity of decay is introduced via a random variable sampled from the log-normal distribution with mu and sigma as specified. Both mu and sigma default to zero when not specified. The decay rate is multiplied by this variable (effectively, the half-life is divided by it).
anophelesParams
→ scenario → interventions → human → component → ITN → anophelesParams
<anophelesParams
mosquito=string
[ propActive=double ] DEFAULT VALUE 1
>
IN THIS ORDER:
| [ <holeIndexMax ... /> ]
| EXACTLY ONE OF:
| | <deterrency ... />
| | <twoStageDeterrency ... />
| EXACTLY ONE OF:
| | <preprandialKillingEffect ... />
| | <preprandialKillingEffectLogit ... />
| EXACTLY ONE OF:
| | <postprandialKillingEffect ... />
| | <postprandialKillingEffectLogit ... />
</anophelesParams>
- holeIndexMax
- deterrency
- twoStageDeterrency
- preprandialKillingEffect
- preprandialKillingEffectLogit
- postprandialKillingEffect
- postprandialKillingEffectLogit
Attributes
Mosquito species
mosquito=string
Name of the affected anopheles-mosquito species.
Proportion of bites for which net acts
propActive=double
Units: dimensionless Min: 0 Max: 1
Default value: 1
The proportion of bites, when nets are in use, for which the net has any action whatsoever on the mosquito. At the moment this is constant across humans and deterministic: relative attractiveness and survival factors are base*(1-usagepropActing) + intervention_factorusage*propActing. See also "usage" (proportion of time nets are used by humans).
maximum of holed surface area that has an effect (comparable to no net)
→ scenario → interventions → human → component → ITN → anophelesParams → holeIndexMax
<holeIndexMax
value=double
/>
Documentation (element)
Units: in same unit as holeIndex
Used by logit attacking and killing models only, holeIndexMax is a user defined maximum hole index (typically, the total surface area of a net).
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Relative attractiveness
→ scenario → interventions → human → component → ITN → anophelesParams → deterrency
<deterrency
insecticideFactor=double
insecticideScalingFactor=double
holeFactor=double
interactionFactor=double
holeScalingFactor=double
/>
Documentation (element)
Units: dimensionless Min: 0 Max: 1
Effect of net on attractiveness of humans to mosquitoes relative to an unprotected adult human. Parameterisations should take into account that mosquitoes do not always bite indoors.
Attractiveness of the human is multiplied by exp(log(H)×h + log(P)×p + log(I)×h×p where H, P and I are the hole, insecticide and interaction factors respectively, h=exp(-holeIndex×holeScalingFactor) and p=1−exp(-insecticideContent×insecticideScalingFactor).
Attributes
Insecticide factor
insecticideFactor=double
Units: none Max: 1
Value expected to be at least 0. Negative values are not necessarily invalid, but allow nets to increase transmission.
Insecticide scaling factor
insecticideScalingFactor=double
Units: none Min: 0
Hole factor
holeFactor=double
Units: none Max: 1
Value expected to be at least 0. Negative values are not necessarily invalid, but allow nets to increase transmission.
Interaction factor
interactionFactor=double
Units: none Max: 1
holeFactor + insecticideFactor + interactionFactor must not be greater than 1, and is expected to be at least 0. A negative value is not necessarily invalid, but allows nets to increase transmission.
Hole scaling factor
holeScalingFactor=double
Units: none Min: 0
Relative attractiveness
→ scenario → interventions → human → component → ITN → anophelesParams → twoStageDeterrency
<twoStageDeterrency>
IN THIS ORDER:
| EXACTLY ONE OF:
| | <entering ... />
| | <enteringLogit ... />
| EXACTLY ONE OF:
| | <attacking ... />
| | <attackingLogit ... />
</twoStageDeterrency>
Documentation (element)
Units: dimensionless
Effect of net on attractiveness of humans to mosquitoes relative to an unprotected adult human. Parameterisations should take into account that mosquitoes do not always bite indoors.
This deterrency model multiplies human attractiveness by pEnt×pAtt.
Deterrency: entering
→ scenario → interventions → human → component → ITN → anophelesParams → twoStageDeterrency → entering
<entering
insecticideFactor=double
insecticideScalingFactor=double
/>
Documentation (element)
Units: dimensionless
pEnt represents the relative probability of entering due to ITNs: pEnt = exp(log(P)×p) where P is the insecticide factor and p=1−exp(-insecticideContent×insecticideScalingFactor).
Attributes
Insecticide factor
insecticideFactor=double
Units: none Max: 1
Value expected to be at least 0. Negative values are not necessarily invalid, but allow nets to increase transmission.
Insecticide scaling factor
insecticideScalingFactor=double
Units: none Min: 0
Deterrency: entering (logit model)
→ scenario → interventions → human → component → ITN → anophelesParams → twoStageDeterrency → enteringLogit
<enteringLogit
baseFactor=double
insecticideFactor=double
/>
Documentation (element)
Units: dimensionless
pEnt represents the relative probability of entering due to insecticide in the hut: pEnt = exp(logit.pEnt) / (exp(logit.pEnt) + 1) logit.pEnt = B + P * p where B is the basefactor (without net); P is insecticide factor, and p = log(insecticideContent+1). Without a net, probability of entering a house is pEnt0 = exp(logit.pEnt0) / (exp(logit.pEnt0) + 1) logit.pEnt0 = B Entering of mosquitoes is adjusted via multiplication by pEnt / pEnt0. To keep this in the range [0,1], we (normally) require that pEnt ≤ pEnt0 and thus P ≤ 0 and give a warning if this is not fulfilled.
Attributes
Base factor
baseFactor=double
Units: none
See parent element documentation
Insecticide factor
insecticideFactor=double
Units: none
See parent element documentation
Deterrency: attacking
→ scenario → interventions → human → component → ITN → anophelesParams → twoStageDeterrency → attacking
<attacking
insecticideFactor=double
insecticideScalingFactor=double
holeFactor=double
interactionFactor=double
holeScalingFactor=double
baseFactor=double
/>
Documentation (element)
Units: dimensionless
pAtt represents the relative probability of attacking a human after entering a house due to ITNs (i.e. of feeding/dying vs. flying off): pAtt = B + H×h + P×p + I×h×p where B is the base (without net) probability; H, P and I are the hole, insecticide and interaction factors respectively, h=exp(-holeIndex × holeScalingFactor) and p=1 - exp(-insecticideContent × insecticideScalingFactor).
Attributes
Insecticide factor
insecticideFactor=double
Units: none Max: 1
Value expected to be at least 0. Negative values are not necessarily invalid, but allow nets to increase transmission.
Insecticide scaling factor
insecticideScalingFactor=double
Units: none Min: 0
Hole factor
holeFactor=double
Units: none Max: 1
Value expected to be at least 0. Negative values are not necessarily invalid, but allow nets to increase transmission.
Interaction factor
interactionFactor=double
Units: none Max: 1
holeFactor + insecticideFactor + interactionFactor must not be greater than 1, and is expected to be at least 0. A negative value is not necessarily invalid, but allows nets to increase transmission.
Hole scaling factor
holeScalingFactor=double
Units: none Min: 0
Probability of mosquito death without intervention
baseFactor=double
Units: dimensionless
Deterrency: attacking (logit model)
→ scenario → interventions → human → component → ITN → anophelesParams → twoStageDeterrency → attackingLogit
<attackingLogit
baseFactor=double
insecticideFactor=double
holeFactor=double
interactionFactor=double
/>
Documentation (element)
Units: dimensionless
pAtt represents the relative probability of attacking a human after entering a house due to ITNs (i.e. of feeding/dying vs. flying off): pAtt = exp(logit.pAtt) / (exp(logit.pAtt) + 1) logit.pAtt = B + H×min(h, hMax) + P×p + I×min(h, hMax)×p where B is the base factor (without net); H, P and I are the hole, insecticide and interaction factors respectively, and: h = log(holeIndex + 1) p = log(insecticideContent + 1) Without a net, probability of attacking a human after entering a house is pAtt0 = exp(logit.pAtt0) / (exp(logit.pAtt0) + 1) logit.pAtt0 = B + H×hMax where hMax=log(holeIndexMax + 1) and holeIndexMax is a user defined maximum hole index (typically, the total surface area of a net). Attacking of mosquitoes is adjusted via multiplication by pAtt / pAtt0. This may be larger and smaller than 1 (but will not be negative). By definition (through the logit transformation) pAtt0 > 0.
Attributes
Base factor
baseFactor=double
Units: dimensionless
Logit of the probability (e.g. of death, of entry, of attacking) without intervention.
Insecticide factor
insecticideFactor=double
Units: none
Coefficient of log(insecticide content+1) in a generalized linear model with logit link function.
Hole factor
holeFactor=double
Units: none
Coefficient of log(total holed surface area (in cm2) +1) in a generalized linear model with logit link function.
Interaction factor
interactionFactor=double
Units: none
Coefficient of the interaction term of log(total holed surface area (in cm2) +1) with log(insecticide content+1) in a generalized linear model with logit link function.
Pre-prandial killing effect
→ scenario → interventions → human → component → ITN → anophelesParams → preprandialKillingEffect
<preprandialKillingEffect
insecticideFactor=double
insecticideScalingFactor=double
holeFactor=double
interactionFactor=double
holeScalingFactor=double
baseFactor=double
/>
Documentation (element)
Units: dimensionless Min: 0 Max: 1
Effect of net on survival mosquitoes as they seek to bite a human after choosing that human, relative to the same person not sleeping under a net. Parameterisations should take into account that mosquitoes do not always bite indoors.
Killing proportion is calculated as K = B + H×h + P×p + I×h×p where B is the base (without net) probability of death, H, P and I are the hole, insecticide and interaction factors respectively, h=exp(-holeIndex×holeScalingFactor) and p=1−exp(-insecticideContent×insecticideScalingFactor).
Survival of mosquitoes is adjusted via multiplication by (1−K) / (1−B). To keep this in the range [0,1], we require that B+H ≤ 1, B+P ≤ 1, B+H+P+I ≤ 1, H ≥ 0, P ≥ 0 and H+P+I ≥ 0.
Attributes
Insecticide factor
insecticideFactor=double
Units: none Max: 1
Value expected to be at least 0. Negative values are not necessarily invalid, but allow nets to increase transmission.
Insecticide scaling factor
insecticideScalingFactor=double
Units: none Min: 0
Hole factor
holeFactor=double
Units: none Max: 1
Value expected to be at least 0. Negative values are not necessarily invalid, but allow nets to increase transmission.
Interaction factor
interactionFactor=double
Units: none Max: 1
holeFactor + insecticideFactor + interactionFactor must not be greater than 1, and is expected to be at least 0. A negative value is not necessarily invalid, but allows nets to increase transmission.
Hole scaling factor
holeScalingFactor=double
Units: none Min: 0
Probability of mosquito death without intervention
baseFactor=double
Units: dimensionless
Pre-prandial killing effect
→ scenario → interventions → human → component → ITN → anophelesParams → preprandialKillingEffectLogit
<preprandialKillingEffectLogit
baseFactor=double
insecticideFactor=double
holeFactor=double
interactionFactor=double
/>
Documentation (element)
Units: dimensionless Min: 0 Max: 1
Effect of net on survival mosquitoes as they seek to bite a human
after choosing that human, relative to the same person not
sleeping under a net.
Killing proportion is calculated as
K=exp(logit.K)/(exp(logit.K)+1)
logit.K = B + H×min(h,hMax) + P×p + I×min(h,hMax)×p
where B is the basefactor (without net),
H, P and I are the hole, insecticide and interaction factors
respectively, h=log(holeIndex+1) and
p=log(insecticideContent+1).
Without a net, the killing proportion
K0=exp(logit.K0)/(exp(logit.K0)+1)
logit.K0 = B + H×hMax
where hMax=log(holeIndexMax+1) and holeIndexMax is a user defined maximum hole index (typically, the total surface area of a net).
Survival of mosquitoes is adjusted via multiplication by (1−K) / (1−K0).
To keep this in the range [0,1], we require that K ≥ K0. We enforce that P ≥ 0 (It would not make sense biologically if P were negative) and P+I*hMax ≥ 0 and H ≤ 0 and holeIndex ≤ holeIndexMax and give a warning if these conditions are not fulfilled.
Attributes
Base factor
baseFactor=double
Units: dimensionless
Logit of the probability (e.g. of death, of entry, of attacking) without intervention.
Insecticide factor
insecticideFactor=double
Units: none
Coefficient of log(insecticide content+1) in a generalized linear model with logit link function.
Hole factor
holeFactor=double
Units: none
Coefficient of log(total holed surface area (in cm2) +1) in a generalized linear model with logit link function.
Interaction factor
interactionFactor=double
Units: none
Coefficient of the interaction term of log(total holed surface area (in cm2) +1) with log(insecticide content+1) in a generalized linear model with logit link function.
Post-prandial killing effect
→ scenario → interventions → human → component → ITN → anophelesParams → postprandialKillingEffect
<postprandialKillingEffect
insecticideFactor=double
insecticideScalingFactor=double
holeFactor=double
interactionFactor=double
holeScalingFactor=double
baseFactor=double
/>
Documentation (element)
Units: dimensionless Min: 0 Max: 1
Effect of net on survival mosquitoes as they seek to escape from a human host and rest after a blood meal, relative to the same person not sleeping under a net. Parameterisations should take into account that mosquitoes do not always bite indoors.
Killing proportion is calculated as K = B + H×h + P×p + I×h×p where B is the base (without net) probability of death, H, P and I are the hole, insecticide and interaction factors respectively, h=exp(-holeIndex×holeScalingFactor) and p=1−exp(-insecticideContent×insecticideScalingFactor).
Survival of mosquitoes is adjusted via multiplication by (1−K) / (1−B). To keep this in the range [0,1], we require that B+H ≤ 1, B+P ≤ 1, B+H+P+I ≤ 1, H ≥ 0, P ≥ 0 and H+P+I ≥ 0.
Attributes
Insecticide factor
insecticideFactor=double
Units: none Max: 1
Value expected to be at least 0. Negative values are not necessarily invalid, but allow nets to increase transmission.
Insecticide scaling factor
insecticideScalingFactor=double
Units: none Min: 0
Hole factor
holeFactor=double
Units: none Max: 1
Value expected to be at least 0. Negative values are not necessarily invalid, but allow nets to increase transmission.
Interaction factor
interactionFactor=double
Units: none Max: 1
holeFactor + insecticideFactor + interactionFactor must not be greater than 1, and is expected to be at least 0. A negative value is not necessarily invalid, but allows nets to increase transmission.
Hole scaling factor
holeScalingFactor=double
Units: none Min: 0
Probability of mosquito death without intervention
baseFactor=double
Units: dimensionless
Post-prandial killing effect
→ scenario → interventions → human → component → ITN → anophelesParams → postprandialKillingEffectLogit
<postprandialKillingEffectLogit
baseFactor=double
insecticideFactor=double
holeFactor=double
interactionFactor=double
/>
Documentation (element)
Units: dimensionless Min: 0 Max: 1
Effect of net on survival mosquitoes as they seek to escape from a human host and rest after a blood meal, relative to the same person not sleeping under a net. Killing proportion is calculated as K=exp(logit.K)/(exp(logit.K)+1) logit.K = B + H×min(h,hMax) + P×p + I×min(h,hMax)×p where B is the basefactor (without net), H, P and I are the hole, insecticide and interaction factors respectively, h=log(holeIndex+1) and p=log(insecticideContent+1). Without a net, the killing proportion K0=exp(logit.K0)/(exp(logit.K0)+1) logit.K0 = B + H×hMax where hMax=log(holeIndexMax+1) and holeIndexMax is a user defined maximum hole index (typically, the total surface area of a net). Survival of mosquitoes is adjusted via multiplication by (1−K) / (1−K0). To keep this in the range [0,1], we require that K ≥ K0. We enforce that P ≥ 0 (It would not make sense biologically if P were negative) and P+I*hMax ≥ 0 and H ≤ 0 and holeIndex ≤ holeIndexMax and give a warning if these conditions are not fulfilled.
Attributes
Base factor
baseFactor=double
Units: dimensionless
Logit of the probability (e.g. of death, of entry, of attacking) without intervention.
Insecticide factor
insecticideFactor=double
Units: none
Coefficient of log(insecticide content+1) in a generalized linear model with logit link function.
Hole factor
holeFactor=double
Units: none
Coefficient of log(total holed surface area (in cm2) +1) in a generalized linear model with logit link function.
Interaction factor
interactionFactor=double
Units: none
Coefficient of the interaction term of log(total holed surface area (in cm2) +1) with log(insecticide content+1) in a generalized linear model with logit link function.
Indoor residual spraying
→ scenario → interventions → human → component → IRS
<IRS>
IN THIS ORDER:
| [ <usage ... /> ]
| <initialInsecticide ... />
| <insecticideDecay ... />
| ( <anophelesParams ... /> )+
</IRS>
Documentation (element)
Description of indoor residual spraying interventions.
Documentation (type)
Description of effect for the more complex and probably more realistic Briet model: IRS has three effects, whos strength is calculated as a function of surviving insecticide content.
Proportion of Indoor residual spraying (IRS) interventions
→ scenario → interventions → human → component → IRS → usage
<usage
value=double
/>
Documentation (element)
Units: dimensionless Min: 0 Max: 1
Usage of Indoor residual spraying (IRS) interventions, from 0 to 1.
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Initial insecticide
→ scenario → interventions → human → component → IRS → initialInsecticide
<initialInsecticide
mu=double
sigma=double
/>
Documentation (element)
Units: μg/cm² Min: 0
The insecticide concentration of IRS (at time of spraying) is Gaussian distributed with mean "mu" and a standard deviation "sigma". The standard deviation should be small relative to the mean to avoid negative initial concentration. Any negative values sampled are set to 0.
Documentation (type)
Parameters of a normal distribution.
Variates are sampled as: X ~ N( mu, sigma² ).
Attributes
mu
mu=double
Units: (same as base units)
The mean of the normal distribution.
sigma
sigma=double
Units: (same as base units)
The standard deviation of variates.
Decay of insecticide
→ scenario → interventions → human → component → IRS → insecticideDecay
<insecticideDecay
function=("constant" or "step" or "linear" or "exponential" or "weibull" or "hill" or "smooth-compact")
[ L=string ]
[ k=double ] DEFAULT VALUE 1.0
[ mu=double ] DEFAULT VALUE 0
[ sigma=double ] DEFAULT VALUE 0
/>
Documentation (element)
Units: none
Decay curve for insecticide content of IRS. Documentation: see DecayFunction type or https://github.com/SwissTPH/openmalaria/wiki/ModelDecayFunctions
Documentation (type)
Specification of decay or survival of a parameter.
Attributes
function
function=("constant" or "step" or "linear" or "exponential" or "weibull" or "hill" or "smooth-compact")
Units: None Min: 0 Max: 1
Determines which decay function to use. Available decay functions, for age t in years: constant: 1 step: 1 for t less than L, otherwise 0 linear: 1 - t/L for t less than L, otherwise 0 exponential: exp( - t/L * log(2) ) weibull: exp( -(t/L)^k * log(2) ) hill: 1 / (1 + (t/L)^k) smooth-compact: exp( k - k / (1 - (t/L)^2) ) for t less than L, otherwise 0
L
L=string
Units: User-defined (defaults to years) Min: 0
(Time) scale parameter of distribution: this is either the age of complete decay (smooth-compact, step and linear functions) or the age at which the parameter has decayed to half its original value (exponential, weibull and hill). Not used when function="constant" (i.e. no decay). This value can be specified in years, days or steps (e.g. 2y, 180d or 100t). When the unit is not specified years are assumed. The value is used without rounding except when sampling an age of decay, when the rounding happens as late as possible.
k
k=double
Units: none Min: 0
Default value: 1.0
Shape parameter of distribution. If not specified, default value of 1 is used. Meaning depends on function; not used in some cases.
μ (mu)
mu=double
Min: 0
Default value: 0
If sigma is non-zero, heterogeneity of decay is introduced via a random variable sampled from the log-normal distribution with mu and sigma as specified. Both mu and sigma default to zero when not specified. The decay rate is multiplied by this variable (effectively, the half-life is divided by it). Note that with m=0, the median of the variable and the median value of L is unchanged, and thus the time at which the median decay amongst the population of decaying objects reaches half (assuming exponential, Weibull or Hill decay) is L. With m=-½σ² (negative half sigma squared) the mean of the variable will be 1 and mean of the half-life L, but the time at which mean decay of the population has reached half may not be L.
σ (sigma)
sigma=double
Min: 0
Default value: 0
If sigma is non-zero, heterogeneity of decay is introduced via a random variable sampled from the log-normal distribution with mu and sigma as specified. Both mu and sigma default to zero when not specified. The decay rate is multiplied by this variable (effectively, the half-life is divided by it).
Per-mosquito species parameters
→ scenario → interventions → human → component → IRS → anophelesParams
<anophelesParams
mosquito=string
[ propActive=double ] DEFAULT VALUE 1
>
IN THIS ORDER:
| <deterrency ... />
| <preprandialKillingEffect ... />
| <postprandialKillingEffect ... />
</anophelesParams>
Attributes
Mosquito species
mosquito=string
Name of the affected anopheles-mosquito species.
Proportion of bites for which IRS acts
propActive=double
Units: dimensionless Min: 0 Max: 1
Default value: 1
The proportion of bites for which the IRS has any action whatsoever on the mosquito. At the moment this is constant across humans and deterministic: relative attractiveness and survival factors are base*(1-propActing) + intervention_factor*propActing.
Relative attractiveness
→ scenario → interventions → human → component → IRS → anophelesParams → deterrency
<deterrency
insecticideFactor=double
insecticideScalingFactor=double
/>
Documentation (element)
Units: dimensionless Min: 0 Max: 1
Effect of IRS on attractiveness of humans to mosquitoes relative to an unprotected adult human. Parameterisations should take into account that mosquitoes do not always bite indoors.
Attractiveness of the human is multiplied by exp(P×log(p)) where P is the insecticide factor, p=1−exp(-insecticideContent×insecticideScalingFactor).
Attributes
Insecticide factor
insecticideFactor=double
Units: none Max: 1
Value expected to be at least 0. Negative values are not necessarily invalid, but allow nets to increase transmission.
Insecticide scaling factor
insecticideScalingFactor=double
Units: none Min: 0
Pre-prandial killing effect
→ scenario → interventions → human → component → IRS → anophelesParams → preprandialKillingEffect
<preprandialKillingEffect
insecticideFactor=double
insecticideScalingFactor=double
baseFactor=double
/>
Documentation (element)
Units: dimensionless Min: 0 Max: 1
Effect of IRS on survival mosquitoes as they seek to bite a human after choosing that human, relative to the same person not protected by IRS. Parameterisations should take into account that mosquitoes do not always bite indoors. This parameter has been added since some data shows IRS to have a preprandial killing effect.
Killing proportion is calculated as K = B + P×p where B is the base (without protection) probability of death, and P is the insecticide factor, p=1−exp(-insecticideContent×insecticideScalingFactor).
Survival of mosquitoes is adjusted via multiplication by (1−K) / (1−B). To keep this in the range [0,1], we require that B+P ≤ 1 and P ≥ 0.
Attributes
Insecticide factor
insecticideFactor=double
Units: none Max: 1
Value expected to be at least 0. Negative values are not necessarily invalid, but allow nets to increase transmission.
Insecticide scaling factor
insecticideScalingFactor=double
Units: none Min: 0
Probability of mosquito death without intervention
baseFactor=double
Units: dimensionless
Post-prandial killing effect
→ scenario → interventions → human → component → IRS → anophelesParams → postprandialKillingEffect
<postprandialKillingEffect
insecticideFactor=double
insecticideScalingFactor=double
baseFactor=double
/>
Documentation (element)
Units: dimensionless Min: 0 Max: 1
Effect of IRS on survival mosquitoes as they seek to escape from a human host and rest after a blood meal, relative to the same person not protected by IRS. Parameterisations should take into account that mosquitoes do not always bite indoors.
Killing proportion is calculated as K = B + P×p where B is the base (without protection) probability of death, and P is the insecticide factor, p=1−exp(-insecticideContent×insecticideScalingFactor).
Survival of mosquitoes is adjusted via multiplication by (1−K) / (1−B). To keep this in the range [0,1], we require that B+P ≤ 1 and P ≥ 0.
Attributes
Insecticide factor
insecticideFactor=double
Units: none Max: 1
Value expected to be at least 0. Negative values are not necessarily invalid, but allow nets to increase transmission.
Insecticide scaling factor
insecticideScalingFactor=double
Units: none Min: 0
Probability of mosquito death without intervention
baseFactor=double
Units: dimensionless
Generic vector intervention
→ scenario → interventions → human → component → GVI
<GVI>
IN THIS ORDER:
| [ <usage ... /> ]
| <decay ... />
| ( <anophelesParams ... /> )+
</GVI>
Documentation (element)
Low-level description of intervention effects on vectors (i.e. mosquitoes). Can be used to describe simple ITN or IRS interventions (though more complex models are available for these interventions) or other interventions such as mosquito repellant or ivermectin.
Note that all actions of this intervention component will decay according to a single decay function. If independant decay is wanted, a separate component can be used for each action.
Proportion of generic vector interventions
→ scenario → interventions → human → component → GVI → usage
<usage
value=double
/>
Documentation (element)
Units: dimensionless Min: 0 Max: 1
Usage of Generic vector interventions, from 0 to 1.
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Decay
→ scenario → interventions → human → component → GVI → decay
<decay
function=("constant" or "step" or "linear" or "exponential" or "weibull" or "hill" or "smooth-compact")
[ L=string ]
[ k=double ] DEFAULT VALUE 1.0
[ mu=double ] DEFAULT VALUE 0
[ sigma=double ] DEFAULT VALUE 0
/>
Documentation (element)
Description of decay of all intervention effects. Documentation: see DecayFunction type or https://github.com/SwissTPH/openmalaria/wiki/ModelDecayFunctions
Documentation (type)
Specification of decay or survival of a parameter.
Attributes
function
function=("constant" or "step" or "linear" or "exponential" or "weibull" or "hill" or "smooth-compact")
Units: None Min: 0 Max: 1
Determines which decay function to use. Available decay functions, for age t in years: constant: 1 step: 1 for t less than L, otherwise 0 linear: 1 - t/L for t less than L, otherwise 0 exponential: exp( - t/L * log(2) ) weibull: exp( -(t/L)^k * log(2) ) hill: 1 / (1 + (t/L)^k) smooth-compact: exp( k - k / (1 - (t/L)^2) ) for t less than L, otherwise 0
L
L=string
Units: User-defined (defaults to years) Min: 0
(Time) scale parameter of distribution: this is either the age of complete decay (smooth-compact, step and linear functions) or the age at which the parameter has decayed to half its original value (exponential, weibull and hill). Not used when function="constant" (i.e. no decay). This value can be specified in years, days or steps (e.g. 2y, 180d or 100t). When the unit is not specified years are assumed. The value is used without rounding except when sampling an age of decay, when the rounding happens as late as possible.
k
k=double
Units: none Min: 0
Default value: 1.0
Shape parameter of distribution. If not specified, default value of 1 is used. Meaning depends on function; not used in some cases.
μ (mu)
mu=double
Min: 0
Default value: 0
If sigma is non-zero, heterogeneity of decay is introduced via a random variable sampled from the log-normal distribution with mu and sigma as specified. Both mu and sigma default to zero when not specified. The decay rate is multiplied by this variable (effectively, the half-life is divided by it). Note that with m=0, the median of the variable and the median value of L is unchanged, and thus the time at which the median decay amongst the population of decaying objects reaches half (assuming exponential, Weibull or Hill decay) is L. With m=-½σ² (negative half sigma squared) the mean of the variable will be 1 and mean of the half-life L, but the time at which mean decay of the population has reached half may not be L.
σ (sigma)
sigma=double
Min: 0
Default value: 0
If sigma is non-zero, heterogeneity of decay is introduced via a random variable sampled from the log-normal distribution with mu and sigma as specified. Both mu and sigma default to zero when not specified. The decay rate is multiplied by this variable (effectively, the half-life is divided by it).
Per-mosquito species parameters
→ scenario → interventions → human → component → GVI → anophelesParams
<anophelesParams
mosquito=string
[ propActive=double ] DEFAULT VALUE 1
>
IN THIS ORDER:
| [ <deterrency ... /> ]
| [ <preprandialKillingEffect ... /> ]
| [ <postprandialKillingEffect ... /> ]
</anophelesParams>
Attributes
Mosquito species
mosquito=string
Name of the affected anopheles-mosquito species.
Proportion of bites for which IRS acts
propActive=double
Units: dimensionless Min: 0 Max: 1
Default value: 1
The proportion of bites for which the IRS has any action whatsoever on the mosquito. At the moment this is constant across humans and deterministic: relative attractiveness and survival factors are base*(1-propActing) + intervention_factor*propActing.
Relative attractiveness
→ scenario → interventions → human → component → GVI → anophelesParams → deterrency
<deterrency
value=double
/>
Documentation (element)
Units: dimensionless Min: 0 Max: 1
Effect of IRS on attractiveness of humans to mosquitoes relative to an unprotected adult human. Parameterisations should take into account that mosquitoes do not always bite indoors.
Attractiveness of the human is multiplied this factor times survival of effect.
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Pre-prandial killing effect
→ scenario → interventions → human → component → GVI → anophelesParams → preprandialKillingEffect
<preprandialKillingEffect
value=double
/>
Documentation (element)
Units: dimensionless Min: 0 Max: 1
Effect of IRS on survival mosquitoes as they seek to bite a human after choosing that human, relative to the same person not protected by IRS. Parameterisations should take into account that mosquitoes do not always bite indoors. This parameter has been added since some data shows IRS to have a preprandial killing effect.
Killing proportion is this factor multiplied by survival of effect.
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Post-prandial killing effect
→ scenario → interventions → human → component → GVI → anophelesParams → postprandialKillingEffect
<postprandialKillingEffect
value=double
/>
Documentation (element)
Units: dimensionless Min: 0 Max: 1
Effect of IRS on survival mosquitoes as they seek to escape from a human host and rest after a blood meal, relative to the same person not protected by IRS. Parameterisations should take into account that mosquitoes do not always bite indoors.
Killing proportion is this factor multiplied by survival of effect.
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Recruitment only
→ scenario → interventions → human → component → recruitmentOnly
<recruitmentOnly/>
Documentation (element)
Recruitment of a host into a sub-population.
All human-targeting intervention deployments recruit simulated humans into a sub-population which can be used for the purposes of cumulative deployment, deployment only to a sub-population and defining a cohort. This pseudo-intervention can be used to define a sub-population without also deploying some intervention.
Clear Immunity
→ scenario → interventions → human → component → clearImmunity
<clearImmunity/>
Documentation (element)
Removes all exposure-related immunitsy gained over time by hosts without removing infections (or affecting the ability to gain immunity through exposure).
Hypothetical, but potentially useful to simulate scenarios with unprotected humans.
subPopRemoval
→ scenario → interventions → human → component → subPopRemoval
<subPopRemoval
[ onFirstBout=boolean ] DEFAULT VALUE false
[ onFirstTreatment=boolean ] DEFAULT VALUE false
[ onFirstInfection=boolean ] DEFAULT VALUE false
[ afterYears=double ]
/>
Documentation (type)
Each human intervention component corresponds to a sub-population: those who have received or are considered to be protected by the intervention component. Humans automatically become members of this sub-population when receiving an intervention component; this element controls how humans are removed from the sub-population.
ITN attrition also removes humans from sub-populations.
Note that sub-populations do not directly correspond to an intervention's effects: lack of effectiveness does not imply removal from the sub-population (except as explicitly configured here) and removal from the sub-population does not halt an intervention's effects.
Sub-populations may be used to define a cohort, to restrict deployment of other interventions and to use cumulative deployment mode. A sub- population may or may not correspond (roughly) to humans protected by some intervention.
Attributes
Time to first episode only
onFirstBout=boolean
Default value: false
If true, remove individuals from the sub-population at the start of the first episode (start of a clinical bout) since they were recruited into the sub-population. This is intended for cohort studies which measure time to the first episode, using active case detection. Reports delayed due to health-system memory are forced out when this occurs. Note that this can increase the number of uncomplicated cases reported across the entire population; for this reason reports are not forced on recruitment or most removal options. This does not prevent re-recruitment in the case that recruitment settings could conceivably recruit the same individual twice.
Time to first treatment only
onFirstTreatment=boolean
Default value: false
If true, remove individuals from the sub-population when they first seektreatment since they were recruited into the sub-population. This is intended for cohort studies which measure the time to first episode, using passive case detection. Reports delayed due to health-system memory are forced out when this occurs. Note that this can increase the number of uncomplicated cases reported across the entire population; for this reason reports are not forced on recruitment or most removal options. This does not prevent re-recruitment in the case that recruitment settings could conceivably recruit the same individual twice.
Time to first infection only
onFirstInfection=boolean
Default value: false
If true, remove individuals from the sub-population at completion of the first survey in which they present with a patent infection since they were recruited into the sub-population. This intended for cohort studies which measure time to the first infection, using active case detection. Reports delayed due to health-system memory are forced out when this occurs. Note that this can increase the number of uncomplicated cases reported across the entire population; for this reason reports are not forced on recruitment or most removal options. This does not prevent re-recruitment in the case that recruitment settings could conceivably recruit the same individual twice.
Remove from sub-population after
afterYears=double
Units: Years Min: 0
If given, membership to the sub-population of humans who have received this intervention component expires after the given number of years. Note that future deployments renew membership (e.g. if this parameter is 4 years and the intervention is redeployed 3 years from now, expiry happens after 7 years). This provides a crude way of modelling a cohort protected by some intervention. A few interventions provide more detailed ways of modelling expiry of protection. In any case, "expiry of protection" is an abstract concept and does not imply that all protection has ceased, even in the simulator. This may also be useful for cumulative deployment. Minimum duration is zero, which implies the human is effectively never a member of the sub-population; a duration of one timestep implies the human is a member of the sub-population while any futher interventions are deployed on the same time as this human becomes a member and on the next update of the human (including transmission and health system events) but not beyond that. If this attribute is not given, the simulated human is a member until death or some other option triggers removal. Input is rounded to the nearest time step.
Deployment
→ scenario → interventions → human → deployment
<deployment
[ name=string ]
>
IN THIS ORDER:
| ( <component ... /> )+
| ( <condition ... /> )*
| ( <continuous ... /> )*
| ( <timed ... /> )*
</deployment>
Documentation (element)
This element describes deployment of an intervention: which components are deployed, how humans are selected for deployment (via timed or age-based deployment) as well as a few additional restrictions (e.g. vaccine dosing restrictions).
All components deployed by this intervention are deployed to the same people (each timed or continuous deployment selects recipients and then gives each recipient all components of the intervention).
Attributes
Intervention name
name=string
Name of intervention
component
→ scenario → interventions → human → deployment → component
<component
id=string
/>
Documentation (type)
The list of components deployed to eligible humans.
Attributes
Identifier
id=string
The identifier (short name) of a component.
Condition
→ scenario → interventions → human → deployment → condition
<condition
measure=string
[ minValue=double ]
[ maxValue=double ]
initialState=boolean
/>
Documentation (element)
If conditions are specified, deployment of this intervention will only go ahead if all specified conditions are true. Condition statements are evaluated only during surveys, so deployment is enabled or disabled depending on the results of the most recent survey. So called unreported surveys can be used to reevaluate conditions without increasing granularity of output.
Conditions are evaluated for the whole population, not for individual age-groups or cohorts.
This affects all types of deployment.
Attributes
Measure
measure=string
The monitoring measure to test. Not all measures are available for use.
Minimum value
minValue=double
Minimum value. If specified, the measured variable must be greater than or equal to this value for the condition to be satisfied.
Maximum value
maxValue=double
Maximum value. If specified, the measured variable must be less than or equal to this value for the condition to be satisfied.
Initial state
initialState=boolean
Whether this condition is considered true or false before updated by a survey.
Age-based (continuous) deployment
→ scenario → interventions → human → deployment → continuous
<continuous>
IN THIS ORDER:
| [ <restrictToSubPop ... /> ]
| ( <deploy ... /> )+
</continuous>
Documentation (element)
List of ages at which deployment takes place (through EPI, post-natal and school-based programmes, etc.).
A sub-population restriction may be added as a property of the list of continuous deployments.
restrictToSubPop
→ scenario → interventions → human → deployment → continuous → restrictToSubPop
<restrictToSubPop
id=string
[ complement=boolean ] DEFAULT VALUE false
/>
Documentation (type)
If this element is specified, deployment is restricted to some sub-population (specified via the "id" attribute); otherwise the target population is the entire simulated population. Either way, other deployment restrictions (age, time, number of vaccine doeses) still apply.
Attributes
Sub-population identifier
id=string
The identifier (short name) of the sub-population (i.e. the "id" of some intervention component). Also see the "complement" attribute.
Complement
complement=boolean
Default value: false
If this is not specified or is false, deployment is restricted to the sub-population of people protected by the intervention component who's id is given. If complement is set to true, deployment is instead restricted to the complement of that sub-population, i.e. to those
deploy
→ scenario → interventions → human → deployment → continuous → deploy
<deploy
coverage=double
[ vaccMinPrevDoses=int ]
[ vaccMaxCumDoses=int ]
targetAgeYrs=double
[ begin=string ]
[ end=string ]
/>
Attributes
Coverage
coverage=double
Units: dimensionless Min: 0 Max: 1
Proportion of otherwise eligible individuals who will receive this deployment.
Vaccine min previous doses
vaccMinPrevDoses=int
Units: inoculations Min: 0
Applies to vaccines only: vaccine doses are only deployed by this deployment if the previous number of doses (for the component deployed) is at least this number. For example, if this is the second deployment opportunity for this vaccine and this value is 1, then this deployment cannot deploy the vaccine to individuals who did not receive the first deployment.
Vaccine max cumulative doses
vaccMaxCumDoses=int
Units: inoculations Min: 0
Applies to vaccines only: vaccine doses are only deployed by this deployment if the previous number of doses (for the component deployed) is less than this number.
Target age
targetAgeYrs=double
Units: Years Min: 0 Max: 100
Target age of intervention. Input is rounded to the nearest time step.
First time active
begin=string
Units: User defined (defauls to steps)
First time at which this deployment is active. If not specified, deployment starts at the beginning of the intervention period. See doc on intervention period and on monitoring/startDate for details of how times work. Can be specified in steps, days, years, or as a date (examples: 15t, 75d, 0.2y, 2000-03-16).
End step
end=string
Units: User defined (defauls to steps)
End of the period during which the intervention is active (to be exact, the first step of the intervention period at which the item becomes inactive). If not specified, deployment never ceases after starting during the simulation. See doc on intervention period and on monitoring/startDate for details of how times work. Can be specified in steps, days, years, or as a date (examples: 15t, 75d, 0.2y, 2000-03-16).
Mass (timed) deployment
→ scenario → interventions → human → deployment → timed
<timed>
IN THIS ORDER:
| [ <restrictToSubPop ... /> ]
| [ <cumulativeCoverage ... /> ]
| ( <deploy ... /> )+
</timed>
Documentation (element)
List of timed deployments of the intervention (that is, of deployment campaigns).
Cumulative deployment mode can be specified for all deployments in a timed list. To allow multiple cumulative deployment descriptions, the entire timed list may be repeated.
restrictToSubPop
→ scenario → interventions → human → deployment → timed → restrictToSubPop
<restrictToSubPop
id=string
[ complement=boolean ] DEFAULT VALUE false
/>
Documentation (type)
If this element is specified, deployment is restricted to some sub-population (specified via the "id" attribute); otherwise the target population is the entire simulated population. Either way, other deployment restrictions (age, time, number of vaccine doeses) still apply.
Attributes
Sub-population identifier
id=string
The identifier (short name) of the sub-population (i.e. the "id" of some intervention component). Also see the "complement" attribute.
Complement
complement=boolean
Default value: false
If this is not specified or is false, deployment is restricted to the sub-population of people protected by the intervention component who's id is given. If complement is set to true, deployment is instead restricted to the complement of that sub-population, i.e. to those
Cumulative coverage
→ scenario → interventions → human → deployment → timed → cumulativeCoverage
<cumulativeCoverage
component=string
/>
Documentation (element)
If this element is not specified, standard deployment occurs, where a portion of the population as given by the coverage property of this campaign is selected, and interventions are deployed to all of these people (regardless of previous coverage).
If this attribute is specified, instead, the population is divided into two sets: those who are a member of a certain sub-population and those who are not (see "subPopRemoval" element). If the proportion of people in the first set is less than the desired coverage, then the proportion of people from the second set needed to increase total coverage to the desired coverage is calculated. This proportion is then used as the probablity of selection from the second set into a third set of people who then receive all interventions deployed by this campaign.
Note that selection is stochastic so the final coverage level may not be exactly that desired. Note also that the component used when selecting people need not actually be one of the components deployed by this intervention, although that is the intended use case.
Attributes
Component identifier
component=string
The identifier (short name) of the component used when selecting people.
deploy
→ scenario → interventions → human → deployment → timed → deploy
<deploy
coverage=double
[ vaccMinPrevDoses=int ]
[ vaccMaxCumDoses=int ]
time=string
[ maxAge=double ]
[ minAge=double ] DEFAULT VALUE 0
[ repeatStep=string ]
[ repeatEnd=string ]
/>
Attributes
Coverage
coverage=double
Units: dimensionless Min: 0 Max: 1
Proportion of otherwise eligible individuals who will receive this deployment.
Vaccine min previous doses
vaccMinPrevDoses=int
Units: inoculations Min: 0
Applies to vaccines only: vaccine doses are only deployed by this deployment if the previous number of doses (for the component deployed) is at least this number. For example, if this is the second deployment opportunity for this vaccine and this value is 1, then this deployment cannot deploy the vaccine to individuals who did not receive the first deployment.
Vaccine max cumulative doses
vaccMaxCumDoses=int
Units: inoculations Min: 0
Applies to vaccines only: vaccine doses are only deployed by this deployment if the previous number of doses (for the component deployed) is less than this number.
Time
time=string
Units: User defined (defauls to steps) Min: 0
Time at which this deployment occurs. See doc on intervention period and on monitoring/startDate for details of how times work. Can be specified in steps, days, years, or as a date (examples: 15t, 75d, 0.2y, 2000-03-16).
Maximum age of eligible individuals
maxAge=double
Units: Years Min: 0
Maximum age of eligible individuals (defaults to no limit). Input is rounded to the nearest time step.
Minimum age of eligible individuals
minAge=double
Units: Years Min: 0
Default value: 0
Minimum age of eligible individuals (defaults to 0). Input is rounded to the nearest time step.
Step of repetition
repeatStep=string
Units: User defined
See repeatEnd's documentation.
End of repetition (exclusive)
repeatEnd=string
Units: User defined
Either both repeatStep and repeatEnd should be present or neither. If present, the deployment is repeated every repeatStep timesteps (i.e. if t0 is the initial time and x is repeatStep, depolyments are done at times t0, t0+x, t0+2*x, ...), ending before repeatEnd (final repetition is the one before repeatEnd). Note that repeatEnd may be specified as a date but repeatStep must be a duration (days, steps or years).
Health system description
→ scenario → healthSystem
<healthSystem>
IN THIS ORDER:
| EXACTLY ONE OF:
| | <EventScheduler ... />
| | <ImmediateOutcomes ... />
| | <DecisionTree5Day ... />
| <CFR ... />
| <pSequelaeInpatient ... />
</healthSystem>
Documentation (element)
Description of health system.
Documentation (type)
Description of case management system, used to specify the initial model or a replacement (an intervention). Encompasses case management data and some other data required to derive case outcomes.
Contains a sub-element describing the particular health-system in use. Health system data is here defined as data used to decide on a treatment strategy, given a case requiring treatment.
Transmission and vector bionomics
→ scenario → entomology
<entomology
name=string
mode=("forced" or "dynamic")
[ scaledAnnualEIR=double ]
>
IN THIS ORDER:
| EXACTLY ONE OF:
| | <nonVector ... />
| | <vector ... />
</entomology>
Documentation (element)
Description of entomological data
Attributes
Entomology dataset name
name=string
Name of entomology data
Transmission model mode
mode=("forced" or "dynamic")
Transmission simulation mode: may be forced (in which case interventions and changes to human infectiousness cannot affect EIR) or dynamic (in which the above can affect EIR). The full vector model is only used in dynamic mode. This can not be changed by interventions, except for the changeEIR intervention for the non-vector model which replaces the EIR with a new description (used in forced mode).
Override annual EIR
scaledAnnualEIR=double
Units: Infectious bites per adult per year
If set, the annual EIR (for all species of vector) is scaled to this level; can be omitted if not needed.
Transmission setting (vector control not enabled)
→ scenario → entomology → nonVector
<nonVector
eipDuration=int
>
IN THIS ORDER:
| ( <EIRDaily ... /> )+
</nonVector>
Documentation (element)
Description of transmission setting for models without vector control interventions (included for backward compatibility)
Attributes
Duration of sporogony
eipDuration=int
Units: Days
The duration of sporogony in days
Transmission setting (vector control enabled)
→ scenario → entomology → vector
<vector>
IN THIS ORDER:
| ( <anopheles ... /> )+
| ( <nonHumanHosts ... /> )*
</vector>
Documentation (element)
Parameters of the transmission model
anopheles
→ scenario → entomology → vector → anopheles
<anopheles
mosquito=string
propInfected=double
propInfectious=double
>
IN THIS ORDER:
| <seasonality ... />
| <mosq ... />
| [ <lifeCycle ... /> ]
| [ <simpleMPD ... /> ]
| ( <nonHumanHosts ... /> )*
</anopheles>
Documentation (type)
Description of input EIR for one specific vector species in terms of a Fourier approximation to the ln of the EIR during the burn in period
Attributes
Identifier for this anopheles species
mosquito=string
Identifier for this anopheles species
Initial estimate of proportion of mosquitoes infected (ρ_O)
propInfected=double
Units: Proportion Min: 0 Max: 1
Initial guess of the proportion of mosquitoes which are infected, o: O_v(t) = o*N_v(t). Only used as a starting value.
Initial estimate of proportion of mosquitoes infectious (ρ_S)
propInfectious=double
Units: Proportion Min: 0 Max: 1
Initial estimate of the proportion of mosquitoes which are infectious, s: S_v(t) = s*N_v(t). Used as a starting value and then fit.
Seasonality of transmission
→ scenario → entomology → vector → anopheles → seasonality
<seasonality
input=("EIR")
[ annualEIR=double ]
>
IN THIS ORDER:
| EXACTLY ONE OF:
| | <fourierSeries ... />
| | <monthlyValues ... />
| | <dailyValues ... />
</seasonality>
Documentation (element)
Specifies the seasonality of transmission and optionally the level of annual transmission.
Attributes
Seasonality input
input=("EIR")
Specify what seasonality measure is given. At the moment, only EIR is supported, but in the future, all the below should be supported. EIR: seasonality of entomological inoculations is input. Units: entomological inoculations per adult per annum. hostSeeking: seasonality of densities of flying host-seeking mosquitoes is input (in the model this is notated N_v). Units: mosquitoes. emergence: seasonality of emergence pupa into adults. Units: mosquitoes. larvalResources: seasonality of larval resources. Units: X.
Annual EIR
annualEIR=double
Units: Inoculations per adult per annum Min: 0
If this attribute is included, EIR for this species is scaled to this level. Note that if the scaledAnnualEIR attribute of the entomology element is also used, EIR is scaled again, making this attribute the EIR relative to other species. With some seasonality inputs, this attribute is optional, in which case (if scaledAnnualEIR is also not specified) transmission depends on all parameters of the vector. With some seasonality inputs, however, this parameter must be specified.
Fourier approximation to pre-intervention EIR
→ scenario → entomology → vector → anopheles → seasonality → fourierSeries
<fourierSeries
EIRRotateAngle=double
>
IN THIS ORDER:
| ( <coeffic ... /> )*
</fourierSeries>
Documentation (element)
Units: Infectious bites per adult per day
Seasonality is reproduced from the exponential of a fourier series specified by the following coefficients. Note that the a0 term is not needed; the annualEIR attribute of the seasonality element should be used to scale EIR instead.
Attributes
Rotation angle defining the origin of the Fourier approximation to ln (EIR)
EIRRotateAngle=double
Units: Radians
Rotation angle defining the origin of the Fourier approximation to ln (EIR)
Pair of Fourier coefficients
→ scenario → entomology → vector → anopheles → seasonality → fourierSeries → coeffic
<coeffic
a=double
b=double
/>
Documentation (element)
A pair of Fourier series coefficients. The first element specifies a1 and b1, the second a2 and b2, etc. Any number (from 0 up) of pairs may be given.
Attributes
a_n parameter of Fourier approximation to ln(EIR)
a=double
a_n parameter of Fourier approximation to ln(EIR) for some natural number n.
b_n parameter of Fourier approximation to ln(EIR)
b=double
b_n parameter of Fourier approximation to ln(EIR) for some natural number n.
List of monthly values
→ scenario → entomology → vector → anopheles → seasonality → monthlyValues
<monthlyValues
smoothing=("none" or "fourier")
>
IN THIS ORDER:
| ( <value ... /> ){12,12}
</monthlyValues>
Documentation (element)
Description of seasonality from monthly values. Multiple smoothing methods are possible (see smoothing attribute).
List should contain twelve entries: January to December.
Attributes
Smoothing function
smoothing=("none" or "fourier")
How the monthly values are converted into a daily sequence of values:
- none: no smoothing (step function)
- Fourier: a Fourier series (with terms up to a2/b2) is fit to the sequence of monthly values and used to generate a smoothed list of daily values.
Monthly value
→ scenario → entomology → vector → anopheles → seasonality → monthlyValues → value
<value>
double
</value>
Documentation (element)
Units: (see "seasonality input" parameter)
Monthly value
List of daily values
→ scenario → entomology → vector → anopheles → seasonality → dailyValues
<dailyValues>
IN THIS ORDER:
| ( <value ... /> ){365,365}
</dailyValues>
Documentation (element)
Description of seasonality from daily values.
List should contain 365 entries: 1st January to 31st December.
Daily value
→ scenario → entomology → vector → anopheles → seasonality → dailyValues → value
<value>
double
</value>
Documentation (element)
Units: (see "seasonality input" parameter)
Daily value
Mosquito feeding cycle parameters
→ scenario → entomology → vector → anopheles → mosq
<mosq
minInfectedThreshold=double
>
IN ANY ORDER:
| <mosqRestDuration ... />
| <extrinsicIncubationPeriod ... />
| <mosqLaidEggsSameDayProportion ... />
| <mosqSeekingDuration ... />
| <mosqSurvivalFeedingCycleProbability ... />
| <availabilityVariance ... />
| <mosqProbBiting ... />
| <mosqProbFindRestSite ... />
| <mosqProbResting ... />
| <mosqProbOvipositing ... />
| <mosqHumanBloodIndex ... />
</mosq>
- mosqRestDuration
- extrinsicIncubationPeriod
- mosqLaidEggsSameDayProportion
- mosqSeekingDuration
- mosqSurvivalFeedingCycleProbability
- availabilityVariance
- mosqProbBiting
- mosqProbFindRestSite
- mosqProbResting
- mosqProbOvipositing
- mosqHumanBloodIndex
Documentation (element)
Parameters describing the feeding cycle and human mosquito interaction of a single species of anopheles mosquito.
Attributes
Mininum infected threshold for mosquitos
minInfectedThreshold=double
Min: 0
If less than this many mosquitoes remain infected, transmission is interrupted.
Duration of the resting period of the vector
→ scenario → entomology → vector → anopheles → mosq → mosqRestDuration
<mosqRestDuration
value=int
/>
Documentation (element)
Units: Days
name:Duration of the resting period of the vector (days);
Attributes
Input parameter value
value=int
An integer value.
Extrinsic incubation period
→ scenario → entomology → vector → anopheles → mosq → extrinsicIncubationPeriod
<extrinsicIncubationPeriod
value=int
/>
Documentation (element)
Units: Days
name:Extrinsic incubation period (days)
Attributes
Input parameter value
value=int
An integer value.
Proportion of mosquitoes host seeking on same day as ovipositing
→ scenario → entomology → vector → anopheles → mosq → mosqLaidEggsSameDayProportion
<mosqLaidEggsSameDayProportion
value=double
/>
Documentation (element)
Units: Proportion
Proportion of mosquitoes host seeking on same day as ovipositing
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Duration of the host-seeking period of the vector
→ scenario → entomology → vector → anopheles → mosq → mosqSeekingDuration
<mosqSeekingDuration
value=double
/>
Documentation (element)
Units: Days
Duration of the host-seeking period of the vector (days)
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Probability that the mosquito survives the feeding cycle
→ scenario → entomology → vector → anopheles → mosq → mosqSurvivalFeedingCycleProbability
<mosqSurvivalFeedingCycleProbability
value=double
/>
Documentation (element)
Units: Proportion
Probability that the mosquito survives the feeding cycle
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Variance in human availability rate
→ scenario → entomology → vector → anopheles → mosq → availabilityVariance
<availabilityVariance
value=double
/>
Documentation (element)
Variance in availability rate of humans to mosquitoes. The mean rate is calculated based on other parameters.
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Probability that the mosquito succesfully bites chosen host
→ scenario → entomology → vector → anopheles → mosq → mosqProbBiting
<mosqProbBiting
mean=double
variance=double
/>
Documentation (element)
Probability that the mosquito succesfully bites chosen host
Documentation (type)
Parameters of a normal distribution, provided as mean and variance.
Variates are sampled from Be(α,β) where α and β are determined from the mean and variance as follows: let v be the variance and c=mean/(1-mean). Then we set α=cβ and β=((c+1)²v - c)/((c+1)³v).
Attributes
mean
mean=double
Units: none
The mean of the beta distribution (must be in the open range (0,1)).
variance
variance=double
Units: none
The standard deviation of variates.
Probability that the mosquito escapes host and finds a resting place after biting
→ scenario → entomology → vector → anopheles → mosq → mosqProbFindRestSite
<mosqProbFindRestSite
mean=double
variance=double
/>
Documentation (element)
Probability that the mosquito escapes host and finds a resting place after biting
Documentation (type)
Parameters of a normal distribution, provided as mean and variance.
Variates are sampled from Be(α,β) where α and β are determined from the mean and variance as follows: let v be the variance and c=mean/(1-mean). Then we set α=cβ and β=((c+1)²v - c)/((c+1)³v).
Attributes
mean
mean=double
Units: none
The mean of the beta distribution (must be in the open range (0,1)).
variance
variance=double
Units: none
The standard deviation of variates.
Probability of mosquito successfully resting after finding a resting site
→ scenario → entomology → vector → anopheles → mosq → mosqProbResting
<mosqProbResting
mean=double
variance=double
/>
Documentation (element)
Probability of mosquito successfully resting after finding a resting site
Documentation (type)
Parameters of a normal distribution, provided as mean and variance.
Variates are sampled from Be(α,β) where α and β are determined from the mean and variance as follows: let v be the variance and c=mean/(1-mean). Then we set α=cβ and β=((c+1)²v - c)/((c+1)³v).
Attributes
mean
mean=double
Units: none
The mean of the beta distribution (must be in the open range (0,1)).
variance
variance=double
Units: none
The standard deviation of variates.
Probability of a mosquito successfully laying eggs given that it has rested
→ scenario → entomology → vector → anopheles → mosq → mosqProbOvipositing
<mosqProbOvipositing
value=double
/>
Documentation (element)
Probability of a mosquito successfully laying eggs given that it has rested
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Human blood index
→ scenario → entomology → vector → anopheles → mosq → mosqHumanBloodIndex
<mosqHumanBloodIndex
value=double
/>
Documentation (element)
Units: Proportion
The proportion of resting mosquitoes which fed on human blood during the last feed.
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Mosquito life cycle parameters
→ scenario → entomology → vector → anopheles → lifeCycle
<lifeCycle
[ estimatedLarvalResources=double ] DEFAULT VALUE 1e8
>
IN ANY ORDER:
| <eggStage ... />
| <larvalStage ... />
| <pupalStage ... />
| <femaleEggsLaidByOviposit ... />
</lifeCycle>
Documentation (element)
Parameters describing the life-cycle of this species of mosquito
Attributes
Estimate of larval resources
estimatedLarvalResources=double
Units: X
Default value: 1e8
An estimate of mean annual availability of resources to larvae. Used to get the resource usage fitting algorithm going; if the algorithm fails to fit the resource availability then tweaking this parameter may help. In other cases tweaking this parameter shouldn't be necessary. Default value is 10⁸ (1e8). Units are arbitrary but must be the same as those used by the resourceUsage parameter.
Egg stage
→ scenario → entomology → vector → anopheles → lifeCycle → eggStage
<eggStage
duration=int
survival=double
/>
Documentation (element)
Parameters for the egg stage of development
Documentation (type)
Parameters associated with a mosquito development stage.
Attributes
Duration
duration=int
Units: Days
Duration of the stage (i.e. length of time mosquito is an egg/larva/pupa).
Probability of survival
survival=double
Units: Proportion
Probability that mosquito survives this size (probability of egg hatching, a larva becoming a pupa or a pupa emerging as an adult, at the start of that stage).
larvalStage
→ scenario → entomology → vector → anopheles → lifeCycle → larvalStage
<larvalStage>
</larvalStage>
Documentation (type)
Parameters for the larval stage of development
Documentation (base type)
Parameters associated with a mosquito development stage.
Daily development
→ scenario → entomology → vector → anopheles → lifeCycle → larvalStage → daily
<daily
resourceUsage=double
effectCompetition=double
/>
Documentation (element)
List of parameters which apply during the larval stage of development. List length must equal stage duration, with first item corresponding to first 24 hours after hatching, second item to hours 24-48, and so on.
Attributes
Resource usage
resourceUsage=double
Units: X
Resource usage during larval stage of development. Units are arbitrary.
Effect of competition
effectCompetition=double
Units: none
Effect of competition over resources on development.
Pupal stage
→ scenario → entomology → vector → anopheles → lifeCycle → pupalStage
<pupalStage
duration=int
survival=double
/>
Documentation (element)
Parameters for the pupal stage of development
Documentation (type)
Parameters associated with a mosquito development stage.
Attributes
Duration
duration=int
Units: Days
Duration of the stage (i.e. length of time mosquito is an egg/larva/pupa).
Probability of survival
survival=double
Units: Proportion
Probability that mosquito survives this size (probability of egg hatching, a larva becoming a pupa or a pupa emerging as an adult, at the start of that stage).
Eggs laid by ovipositing mosquito
→ scenario → entomology → vector → anopheles → lifeCycle → femaleEggsLaidByOviposit
<femaleEggsLaidByOviposit
value=double
/>
Documentation (element)
Units: Eggs per feeding cycle
The total number of female eggs laid by a female mosquito at the conclusion to a feeding cycle.
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Simple Mosq-Pop-Dynamics parameters
→ scenario → entomology → vector → anopheles → simpleMPD
<simpleMPD>
IN ANY ORDER:
| <developmentDuration ... />
| <developmentSurvival ... />
| <femaleEggsLaidByOviposit ... />
</simpleMPD>
Documentation (element)
Parameters describing the simple mosquito population dynamics model.
This is a simpler version of the life-cycle model, requiring less parameters and with much simpler initialisation.
Duration
→ scenario → entomology → vector → anopheles → simpleMPD → developmentDuration
<developmentDuration
value=int
/>
Documentation (element)
Units: Days Min: 1
Duration from egg laying to emergence in days.
Attributes
Input parameter value
value=int
An integer value.
Probability of survival
→ scenario → entomology → vector → anopheles → simpleMPD → developmentSurvival
<developmentSurvival
value=double
/>
Documentation (element)
Units: Proportion Min: 0 Max: 1
Probability that mosquito survives from the egg being laid to emergence, given no resouce limitations (no density constraints).
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Eggs laid by ovipositing mosquito
→ scenario → entomology → vector → anopheles → simpleMPD → femaleEggsLaidByOviposit
<femaleEggsLaidByOviposit
value=double
/>
Documentation (element)
Units: Eggs per feeding cycle
The total number of female eggs laid by a female mosquito at the conclusion to a feeding cycle.
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Alternative (non-human) host paramters
→ scenario → entomology → vector → anopheles → nonHumanHosts
<nonHumanHosts
name=string
>
IN ANY ORDER:
| <mosqRelativeEntoAvailability ... />
| <mosqProbBiting ... />
| <mosqProbFindRestSite ... />
| <mosqProbResting ... />
</nonHumanHosts>
Documentation (element)
Min: 0
Non human host parameters, per type of host (must match up with non-species-specific parameters).
Attributes
Identifier for this category of non-human hosts
name=string
Identifier for this category of non-human hosts
Relative availability of non-human host (ξ_i)
→ scenario → entomology → vector → anopheles → nonHumanHosts → mosqRelativeEntoAvailability
<mosqRelativeEntoAvailability
value=double
/>
Documentation (element)
Units: Proportion
Relative availability of the population of non-human hosts of type i to other non-human hosts; the sum of this across all non-human hosts must be 1.
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Probability of mosquito successfully biting host
→ scenario → entomology → vector → anopheles → nonHumanHosts → mosqProbBiting
<mosqProbBiting
value=double
/>
Documentation (element)
Units: Proportion
Probability of mosquito successfully biting host
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Probability that the mosquito escapes host and finds a resting place after biting
→ scenario → entomology → vector → anopheles → nonHumanHosts → mosqProbFindRestSite
<mosqProbFindRestSite
value=double
/>
Documentation (element)
Units: Proportion
Probability that the mosquito escapes host and finds a resting place after biting
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Probability of mosquito successfully resting after finding a resting site
→ scenario → entomology → vector → anopheles → nonHumanHosts → mosqProbResting
<mosqProbResting
value=double
/>
Documentation (element)
Units: Proportion
Probability of mosquito successfully resting after finding a resting site
Attributes
Input parameter value
value=double
A double-precision floating-point value.
nonHumanHosts
→ scenario → entomology → vector → nonHumanHosts
<nonHumanHosts
name=string
number=double
/>
Attributes
Species of alternative host
name=string
Name of this species of non human hosts (must match up with those described per anopheles section).
Population size of non-human host species
number=double
Units: Animals
Population size of this non-human host. Note: the availability of the population of this type of non-human host is determined by mosqRelativeEntoAvailability and mosqHumanBloodIndex. NHHs are not modelled individually, thus this parameter is not used. It might be useful in the future if there is ever an intervention to change the number of non-human hosts.
Parasite genetics
<parasiteGenetics
samplingMode=("initial" or "tracking")
>
IN THIS ORDER:
| ( <locus ... /> )+
</parasiteGenetics>
Documentation (element)
A specification of genotypes of infection parasites.
May be omitted; in this case there is no modelling of genetic differences of infections (resistance, fitness).
Attributes
samplingMode
samplingMode=("initial" or "tracking")
This controls how genotypes are determined for new infections during the intervention period. Prior to this (in initialisation phases), genotypes are always sampled using the specified initial frequencies. Mode "initial" continues to sample genotypes using initial frequencies (i.e. independent of the success of parent generations of parasites). Mode "tracking" samples genotypes based on the success parent generations of parasites have in infecting mosquitoes, tracked per genotype. It is possible that in the future a recombination option will be added to this list, however designing a suitable model is not trivial.
Locus
→ scenario → parasiteGenetics → locus
<locus
name=string
>
IN THIS ORDER:
| ( <allele ... /> )+
</locus>
Documentation (element)
Describes a locus, or a point at which an infection may vary. The genotype of an infection is determined by choosing one allele at each locus. Initial frequencies of alleles are specified independently for each locus, but subsequent infections are selected according to success of genotypes.
Alleles at loci can affect fitness and resistance to any number of drugs.
Attributes
Name of locus
name=string
Name of the Locus
Allele
→ scenario → parasiteGenetics → locus → allele
<allele
name=string
initialFrequency=double
fitness=double
/>
Documentation (element)
Describes an allele, or one possible genetic option of multiple at one point of variance.
Attributes
Name
name=string
Name of the allele; used to refer to it elsewhere.
Initial frequency
initialFrequency=double
Specification of how commonly this allele occurs during warmup relative to other alleles of the same locus. During the simulation's initialisation phases, the frequency at which each allele of each locus occurs is fixed. After the initialisation phase, frequency of alleles is modelled as an emergent property of the success of genotypes.
Fitness factor
fitness=double
Fitness factor of the allele. This is multiplication factor used to speed up or slow down replication of parasites. For example, if a genotype has an allele with a fitness factor of 1 at one locus and another allele with a fitness factor of 0.8 at a second locus, then the parasites with the genotype will replicate 20% slower than the baseline.
Drug parameters (PK, PD and usage)
→ scenario → pharmacology
<pharmacology>
IN THIS ORDER:
| <treatments ... />
| <drugs ... />
</pharmacology>
Documentation (element)
Drug model parameters and drug usage parameters
Documentation (type)
A library of drug related data for the PK/PD model.
Treatments library
→ scenario → pharmacology → treatments
<treatments>
IN THIS ORDER:
| ( <schedule ... /> )+
| ( <dosages ... /> )+
</treatments>
Documentation (element)
A library of drug deployment schedules and dosages.
schedule
→ scenario → pharmacology → treatments → schedule
<schedule
name=string
>
IN THIS ORDER:
| ( <medicate ... /> )*
</schedule>
Documentation (type)
A schedule for the administration of drugs in a course of treatment.
Note that dose sizes are multiplied by some multiplier (see dosages) and the times of all doses may be delayed.
Attributes
Name
name=string
Name for referring to this deployment schedule
medicate
→ scenario → pharmacology → treatments → schedule → medicate
<medicate
drug=string
mg=double
hour=double
/>
Attributes
drug
drug=string
Abbreviated name of drug compound
Drug dose (mg with multiplier)
mg=double
Units: mg per something
Quantity of drug compound in mg per something. A separate dosage table must be used when medicating, which may specify multipliers of this number based on patient age or weight.
Time of administration
hour=double
Units: Hours Min: 0
Number of hours past start of timestep this drug dose is administered at (first dose should be at hour 0).
dosages
→ scenario → pharmacology → treatments → dosages
<dosages
name=string
>
IN THIS ORDER:
| EXACTLY ONE OF:
| | ( <age ... /> )+
| | ( <bodymass ... /> )+
| | <multiply ... />
</dosages>
Documentation (type)
A table for selecting a dose size. There are several ways this can work: using the patient's age or body mass in a look-up table to get a multplier, or directly using body mass as the multiplier.
The doses specified in "mg" in the treatment schedule are then multiplied by this multiplier.
Attributes
Name
name=string
Name for referring to this dosage table
Look-up table (age)
→ scenario → pharmacology → treatments → dosages → age
<age
lowerbound=double
dose_mult=double
/>
Documentation (element)
Select dose multiplier from a look-up table using the patient's age.
Documentation (type)
A look-up table which uses patient age (in years) or weight (in kg) to find a multiplier.
Attributes
Lower bound (inclusive)
lowerbound=double
Units: years or kg Min: 0
Dose multiplier
dose_mult=double
Min: 0
The dose size given in the schedule (in "mg") is multiplied by this value for patients falling into this range when this dosage table is used.
Look-up table (weight)
→ scenario → pharmacology → treatments → dosages → bodymass
<bodymass
lowerbound=double
dose_mult=double
/>
Documentation (element)
Select dose multiplier from a look-up table using the patient's body mass.
Documentation (type)
A look-up table which uses patient age (in years) or weight (in kg) to find a multiplier.
Attributes
Lower bound (inclusive)
lowerbound=double
Units: years or kg Min: 0
Dose multiplier
dose_mult=double
Min: 0
The dose size given in the schedule (in "mg") is multiplied by this value for patients falling into this range when this dosage table is used.
Multiply dose
→ scenario → pharmacology → treatments → dosages → multiply
<multiply
by=("kg")
/>
Documentation (element)
Multiply the dose by some quantity, such as patient weight.
Attributes
By what?
by=("kg")
Quantity to multiply the dose by. Only option is "kg" (patient weight in kg).
Drug library
→ scenario → pharmacology → drugs
<drugs>
IN THIS ORDER:
| ( <drug ... /> )+
</drugs>
Documentation (element)
A library of drug PK/PD data.
drug
→ scenario → pharmacology → drugs → drug
<drug
abbrev=string
>
IN THIS ORDER:
| <PD ... />
| <PK ... />
</drug>
Documentation (type)
A drug description with PK/PD parameters.
Attributes
abbrev
abbrev=string
PD
→ scenario → pharmacology → drugs → drug → PD
<PD
[ locus=string ]
>
IN THIS ORDER:
| ( <phenotype ... /> )+
</PD>
Attributes
Locus
locus=string
Optional; if present specifies the locus corresponding to this drug's PD phenotypes: each phenotype must then match one of that locus's alleles. Otherwise the drug should specify only one phenotype. There is currently a one-to-many correspondance between loci and drugs.
PD parameters for some allele / resistance phenotype
→ scenario → pharmacology → drugs → drug → PD → phenotype
<phenotype
[ name=string ]
>
IN THIS ORDER:
| ( <restriction ... /> )*
| <max_killing_rate ... />
| <IC50 ... />
| <slope ... />
</phenotype>
Documentation (element)
Pharmaco-Dynamic parameters for some resistance phenotype.
To model resistance to this drug, describe multiple infection phenotypes (with respect to these PD parameters) and list one or more "restrict" elements for each phenotype.
Loci are specified elsewhere. Multiple loci may influence the action of a single drug and each locus may influence multiple drugs.
Attributes
Name of phenotype
name=string
Name of the phenotype; for documentation use only.
Restrict phenotype applicability to certain alleles
→ scenario → pharmacology → drugs → drug → PD → phenotype → restriction
<restriction
onLocus=string
toAllele=string
/>
Documentation (element)
Specifies the mapping from genotype to phenotype. For each drug type, if only one phenotype is present, restrictions need not be specified, but otherwise restrictions must be specified.
The set of loci affecting phenotypes of this drug's action must be fixed for any drug type. Each phenotype must list, for each of these loci, a restriction to one or more alleles under the locus.
Attributes
Locus relevant to the mapping of alleles to this phenotype
onLocus=string
A locus under which only a restricted set of alleles map to this phenotype.
Alleles mapping to this phenotype
toAllele=string
One allele of a locus upon which phenotype choice depends. If multiple alleles under this locus should map to the same phenotype, repeat the whole "restriction onLocus..." element.
Maximal parasite killing rate
→ scenario → pharmacology → drugs → drug → PD → phenotype → max_killing_rate
<max_killing_rate>
double
</max_killing_rate>
Documentation (element)
Units: 1/days Min: 0
k1 — Maximal parasite killing rate.
IC50
→ scenario → pharmacology → drugs → drug → PD → phenotype → IC50
<IC50
[ sigma=double ] DEFAULT VALUE 0
>
double
</IC50>
Documentation (element)
Units: mg/l Min: 0
Half maximal effect concentration. If sigma > 0, the IC50 is sampled for each infection from a log-normal distribution with mean of this value and the sigma value specified, i.e. X ~ log N( log(mean) - s^2 / 2, s^2 ) .
Attributes
Sigma parameter for per-infection variation of IC50
sigma=double
Default value: 0
Distribution parameter describing per-infection variation of IC50. If zero or not specified, the IC50 is not sampled. See documentation of parent element.
Slope of effect curve
→ scenario → pharmacology → drugs → drug → PD → phenotype → slope
<slope>
double
</slope>
Documentation (element)
Units: dimensionless
n — Slope of the concentration effect curve
PK
→ scenario → pharmacology → drugs → drug → PK
<PK>
IN THIS ORDER:
| <negligible_concentration ... />
| EXACTLY ONE OF:
| | <half_life ... />
| | IN THIS ORDER:
| | | <k ... />
| | | <m_exponent ... />
| [ <k_a ... /> ]
| [ <conversion ... /> ]
| <vol_dist ... />
| [ <compartment2 ... /> ]
| [ <compartment3 ... /> ]
</PK>
Drug concentration considered negligible
→ scenario → pharmacology → drugs → drug → PK → negligible_concentration
<negligible_concentration>
double
</negligible_concentration>
Documentation (element)
Units: mg/l Min: 0
Concentration below which drug's effects are deemed negligible and can be removed from simulation.
drug half-life
→ scenario → pharmacology → drugs → drug → PK → half_life
<half_life>
double
</half_life>
Documentation (element)
Units: days Min: 0
Used to calculate elimination rate λ, calculated as λ = ln(2) / half_life. The basic form of decay is C(t) = C0 * exp(-λ*t).
Alternatively, elimination rate can be specified via k and m_exponent.
Constant associated with elimination rate (k)
→ scenario → pharmacology → drugs → drug → PK → k
<k
mean=double
[ cv=double ]
distr=("lnorm" or "const")
/>
Documentation (element)
Units: day^-1 Min: 0
Constant used to calculate the elimination rate λ, which is calculated as λ = k / (body_mass ^ m_exponent), where body_mass is the patient's weight in kg and m_exponent is the next parameter. The basic form of decay is C(t) = C0 * exp(-λ*t).
If sigma > 0, k is sampled per-human from the log-normal distribution: ln N( ln(mean) - σ^2 / 2, σ^2).
Alternatively, elimination rate can be specified via half_life.
Documentation (type)
Parameters of some distribution. The mean is that provided and the standard deviation is cv*mean.
Log-normal: σ = cv * mean ; μ = ln(mean) - σ² / 2 ; X ~ ln N( μ, σ² ) ; equivalent R sample: rlnorm(1, log(mean) - ((cv * mean)^2) / 2, cv * mean).
Attributes
mean
mean=double
Units: (same as base units)
The mean of the distribution.
Coefficient of variance
cv=double
Units: unitless
Coefficient of variance (mean * cv gives standard deviation). Must be specified when distribution is not constant.
Distribution
distr=("lnorm" or "const")
Selects the distribution to use. const: constant (no distribution). Setting cv=0 has the same behaviour. lnorm: log-normal distribution
Constant associated with elimination rate (m_exponent)
→ scenario → pharmacology → drugs → drug → PK → m_exponent
<m_exponent>
double
</m_exponent>
Documentation (element)
Units: day^-1 Min: 0
Constant used to calculate the elimination rate λ, which is calculated as λ = k / (body_mass ^ m_exponent), where body_mass is the patient's weight in kg and k is the previous parameter. The basic form of decay is C(t) = C0 * exp(-λ*t).
Alternatively, elimination rate can be specified via half_life.
Note that in the case of a conversion model, this applies to both the elimination and the conversion rates.
Absorption rate constant (k_a)
→ scenario → pharmacology → drugs → drug → PK → k_a
<k_a
mean=double
[ cv=double ]
distr=("lnorm" or "const")
/>
Documentation (element)
Min: 0
Absorption rate parameter. Not allowed for one compartment models, but required for two and three compartment models and one compartment with conversion model (for the parent drug only).
Documentation (type)
Parameters of some distribution. The mean is that provided and the standard deviation is cv*mean.
Log-normal: σ = cv * mean ; μ = ln(mean) - σ² / 2 ; X ~ ln N( μ, σ² ) ; equivalent R sample: rlnorm(1, log(mean) - ((cv * mean)^2) / 2, cv * mean).
Attributes
mean
mean=double
Units: (same as base units)
The mean of the distribution.
Coefficient of variance
cv=double
Units: unitless
Coefficient of variance (mean * cv gives standard deviation). Must be specified when distribution is not constant.
Distribution
distr=("lnorm" or "const")
Selects the distribution to use. const: constant (no distribution). Setting cv=0 has the same behaviour. lnorm: log-normal distribution
Conversion parameters (parent drug)
→ scenario → pharmacology → drugs → drug → PK → conversion
<conversion>
IN ANY ORDER:
| <metabolite ... />
| <rate ... />
| <molRatio ... />
</conversion>
Documentation (element)
Configures the parent drug in a conversion model.
To use a conversion model, the parent drug should have this section defined as well as half-life or k (direct elimination; this may be zero) and k_a (absorption rate; this may be large).
The metabolite drug should define half-life or k (elimination of metabolite), but not k_a (absorption rate) or this section (conversion). It is not possible for the metabolite to itself undergo conversion with the current models.
Metabolite drug (abbreviation)
→ scenario → pharmacology → drugs → drug → PK → conversion → metabolite
<metabolite>
string
</metabolite>
Documentation (element)
The abbreviation of the metabolite drug (e.g. "DHA" or "DHA_AR").
Rate of conversion
→ scenario → pharmacology → drugs → drug → PK → conversion → rate
<rate
mean=double
[ cv=double ]
distr=("lnorm" or "const")
/>
Documentation (element)
Rate of conversion of parent drug to metabolite.
Documentation (type)
Parameters of some distribution. The mean is that provided and the standard deviation is cv*mean.
Log-normal: σ = cv * mean ; μ = ln(mean) - σ² / 2 ; X ~ ln N( μ, σ² ) ; equivalent R sample: rlnorm(1, log(mean) - ((cv * mean)^2) / 2, cv * mean).
Attributes
mean
mean=double
Units: (same as base units)
The mean of the distribution.
Coefficient of variance
cv=double
Units: unitless
Coefficient of variance (mean * cv gives standard deviation). Must be specified when distribution is not constant.
Distribution
distr=("lnorm" or "const")
Selects the distribution to use. const: constant (no distribution). Setting cv=0 has the same behaviour. lnorm: log-normal distribution
Molecular weight ratio
→ scenario → pharmacology → drugs → drug → PK → conversion → molRatio
<molRatio>
double
</molRatio>
Documentation (element)
Ratio of molecular weights: molecular weight of the metabolite divided by molecular weight of the parent.
Volume of Distribution (Vd)
→ scenario → pharmacology → drugs → drug → PK → vol_dist
<vol_dist
[ sigma=double ] DEFAULT VALUE 0
>
double
</vol_dist>
Documentation (element)
Units: l/kg Min: 0
Volume of Distribution
Attributes
Sigma parameter for per-human variation of Vd
sigma=double
Default value: 0
Distribution parameter describing per-human variation of volume of distribution. If zero or not specified, the parameter is not sampled. See documentation of parent element.
Second compartment parameters
→ scenario → pharmacology → drugs → drug → PK → compartment2
<compartment2>
IN ANY ORDER:
| <a12 ... />
| <a21 ... />
</compartment2>
Documentation (element)
Optional element specifying conversion parameters to- and from- a second compartment.
Absorption rate to compartment 2 (a12)
→ scenario → pharmacology → drugs → drug → PK → compartment2 → a12
<a12
mean=double
[ cv=double ]
distr=("lnorm" or "const")
/>
Documentation (element)
Units: day^-1 Min: 0
Absorption rate from the central compartment to the first periphery compartment (2). The parameter k12 = a12 / m where m is the body mass (kg).
It is sampled per-patient when sigma > 0.
Documentation (type)
Parameters of some distribution. The mean is that provided and the standard deviation is cv*mean.
Log-normal: σ = cv * mean ; μ = ln(mean) - σ² / 2 ; X ~ ln N( μ, σ² ) ; equivalent R sample: rlnorm(1, log(mean) - ((cv * mean)^2) / 2, cv * mean).
Attributes
mean
mean=double
Units: (same as base units)
The mean of the distribution.
Coefficient of variance
cv=double
Units: unitless
Coefficient of variance (mean * cv gives standard deviation). Must be specified when distribution is not constant.
Distribution
distr=("lnorm" or "const")
Selects the distribution to use. const: constant (no distribution). Setting cv=0 has the same behaviour. lnorm: log-normal distribution
Absorption rate from compartment 2 (a21)
→ scenario → pharmacology → drugs → drug → PK → compartment2 → a21
<a21
mean=double
[ cv=double ]
distr=("lnorm" or "const")
/>
Documentation (element)
Units: day^-1 Min: 0
Absorption rate from the first periphery compartment (2) to the central compartment. The parameter k21 = a21 / m where m is the body mass (kg).
It is sampled per-patient when sigma > 0.
Documentation (type)
Parameters of some distribution. The mean is that provided and the standard deviation is cv*mean.
Log-normal: σ = cv * mean ; μ = ln(mean) - σ² / 2 ; X ~ ln N( μ, σ² ) ; equivalent R sample: rlnorm(1, log(mean) - ((cv * mean)^2) / 2, cv * mean).
Attributes
mean
mean=double
Units: (same as base units)
The mean of the distribution.
Coefficient of variance
cv=double
Units: unitless
Coefficient of variance (mean * cv gives standard deviation). Must be specified when distribution is not constant.
Distribution
distr=("lnorm" or "const")
Selects the distribution to use. const: constant (no distribution). Setting cv=0 has the same behaviour. lnorm: log-normal distribution
Third compartment parameters
→ scenario → pharmacology → drugs → drug → PK → compartment3
<compartment3>
IN ANY ORDER:
| <a13 ... />
| <a31 ... />
</compartment3>
Documentation (element)
Optional element specifying conversion parameters to- and from- a third compartment.
Absorption rate to compartment 3 (a13)
→ scenario → pharmacology → drugs → drug → PK → compartment3 → a13
<a13
mean=double
[ cv=double ]
distr=("lnorm" or "const")
/>
Documentation (element)
Units: day^-1 Min: 0
Absorption rate from the central compartment to the second periphery compartment (3). The parameter k13 = a13 / m where m is the body mass (kg).
It is sampled per-patient when sigma > 0.
Documentation (type)
Parameters of some distribution. The mean is that provided and the standard deviation is cv*mean.
Log-normal: σ = cv * mean ; μ = ln(mean) - σ² / 2 ; X ~ ln N( μ, σ² ) ; equivalent R sample: rlnorm(1, log(mean) - ((cv * mean)^2) / 2, cv * mean).
Attributes
mean
mean=double
Units: (same as base units)
The mean of the distribution.
Coefficient of variance
cv=double
Units: unitless
Coefficient of variance (mean * cv gives standard deviation). Must be specified when distribution is not constant.
Distribution
distr=("lnorm" or "const")
Selects the distribution to use. const: constant (no distribution). Setting cv=0 has the same behaviour. lnorm: log-normal distribution
Absorption rate from compartment 3 (a31)
→ scenario → pharmacology → drugs → drug → PK → compartment3 → a31
<a31
mean=double
[ cv=double ]
distr=("lnorm" or "const")
/>
Documentation (element)
Units: day^-1 Min: 0
Absorption rate from the second periphery compartment (3) to the central compartment. The parameter k31 = a31 / m where m is the body mass (kg).
It is sampled per-patient when sigma > 0.
Documentation (type)
Parameters of some distribution. The mean is that provided and the standard deviation is cv*mean.
Log-normal: σ = cv * mean ; μ = ln(mean) - σ² / 2 ; X ~ ln N( μ, σ² ) ; equivalent R sample: rlnorm(1, log(mean) - ((cv * mean)^2) / 2, cv * mean).
Attributes
mean
mean=double
Units: (same as base units)
The mean of the distribution.
Coefficient of variance
cv=double
Units: unitless
Coefficient of variance (mean * cv gives standard deviation). Must be specified when distribution is not constant.
Distribution
distr=("lnorm" or "const")
Selects the distribution to use. const: constant (no distribution). Setting cv=0 has the same behaviour. lnorm: log-normal distribution
Diagnostic parameters
→ scenario → diagnostics
<diagnostics>
IN THIS ORDER:
| ( <diagnostic ... /> )*
</diagnostics>
Documentation (element)
Diagnostic model parameters
diagnostic
→ scenario → diagnostics → diagnostic
<diagnostic
name=string
[ units=("Other" or "Garki" or "Malariatherapy") ]
>
IN THIS ORDER:
| EXACTLY ONE OF:
| | <deterministic ... />
| | <stochastic ... />
</diagnostic>
Attributes
Name of diagnostic
name=string
Name of this diagnostic (parameterisation). May be used elsewhere in the XML document to refer to this set of diagnostic parameters.
Parasite density units / methodology
units=("Other" or "Garki" or "Malariatherapy")
Parasite densities, as estimated according to standard microscopy methods, the Garki method, and as derived from Malariatherapy data are not equivalent. Internally, a "bias" factor is used to convert values estimated by one methods to values comparable with another (see AJTMHv75 supplement 2 pp20-21). This option allows specification of which methodology the density given in the diagnostic specification is measured with. Values allowed are: Malariatherapy, Garki and Other. If not specified, Other is assumed, unless the GARKI_DENSITY_BIAS model option is used, in which case this option must be specified.
Deterministic detection
→ scenario → diagnostics → diagnostic → deterministic
<deterministic
minDensity=double
/>
Documentation (element)
Specify that an artificial deterministic test is used: outcome is positive if parasite density is at least the minimum given.
Attributes
Minimum detectible density
minDensity=double
Units: parasites/microlitre Min: 0
The minimum density at which parasites can be detected. If 0, the test outcome is always positive.
Non-deterministic detection
→ scenario → diagnostics → diagnostic → stochastic
<stochastic
dens_50=double
specificity=double
/>
Documentation (element)
An improved model of detection which is non-deterministic, including false positive results as well as false negatives.
The probability of a positive outcome is modelled as 1 + s×(x/(x+d) - 1) where x is the parasite density, d is the density at which the test outcome has a 50% chance of being positive, and s is the probability of a positive outcome given no parasites (the specificity).
Some parameterisations:
Microscopy sensitivity/specificity data in Africa; Source: expert opinion — Allan Schapira dens_50 = 20.0 specificity = .75
RDT sensitivity/specificity for Plasmodium falciparum in Africa Source: Murray et al (Clinical Microbiological Reviews, Jan. 2008) dens_50 = 50.0; specificity = .942;
Attributes
Density 50
dens_50=double
Units: parasites/microlitre Min: 0
The density at which the test outcome has a 50% chance of being positive.
Specificity
specificity=double
Units: Dimensionless Min: 0 Max: 1
The probability of a positive test outcome in the absense of parasites.
Model options and parameters
<model>
IN ANY ORDER:
| <ModelOptions ... />
| <clinical ... />
| <human ... />
| [ <vivax ... /> ]
| <parameters ... />
</model>
Documentation (element)
Encapsulation of all parameters which describe the model according to which fitting is done.
Model Options
→ scenario → model → ModelOptions
<ModelOptions>
IN THIS ORDER:
| ( <option ... /> )*
</ModelOptions>
Documentation (element)
All model options (bug fixes, choices between models, etc.).
The list of recognised options can be found in the code at:
model/util/ModelOptions.h and should also be in the wiki.
clinical
<clinical
healthSystemMemory=string
>
IN ANY ORDER:
| [ <NeonatalMortality ... /> ]
| [ <NonMalariaFevers ... /> ]
</clinical>
Documentation (type)
Description of clinical parameters that are related to the health-system description, but which contain data that cannot be changed as part of an intervention and that are not restricted to treatment.
Attributes
Follow-up period during which recurrence is considered a treatment failure
healthSystemMemory=string
Units: User-defined (defaults to steps)
Follow-up period during which a recurrence is considered to be a treatment failure Can be specified in steps (e.g. 6t) or days (e.g. 28d).
Neonatal mortality parameters
→ scenario → model → clinical → NeonatalMortality
<NeonatalMortality
diagnostic=string
/>
Attributes
Diagnostic used to parameterise model
diagnostic=string
The name of a diagnostic used to parameterise the model. Neonatal mortality is derived from malaria patency of a certain sub-population of humans. This is the diagnostic used to asses patency for this purpose. If this is not specified, the monitoring diagnostic is used.
NonMalariaFevers
→ scenario → model → clinical → NonMalariaFevers
<NonMalariaFevers>
IN THIS ORDER:
| <incidence ... />
| [ <prNeedTreatmentNMF ... /> ]
| [ <prNeedTreatmentMF ... /> ]
</NonMalariaFevers>
Documentation (type)
Description of the incidence of non-malaria fever. Non-malaria fevers are only modelled if the NON_MALARIA_FEVERS option is used.
P(NMF)
→ scenario → model → clinical → NonMalariaFevers → incidence
<incidence
[ interpolation=("none" or "linear") ]
>
IN THIS ORDER:
| ( <group ... /> )+
</incidence>
Documentation (element)
Units: Dimensionless Min: 0.0 Max: 1.0
Probability that a non-malaria fever occurs given that no concurrent malaria fever occurs.
Attributes
interpolation
interpolation=("none" or "linear")
Interpolation algorithm. Normally it is desirable for age-based values to be continuous w.r.t. age. By default linear interpolation is used. With all algorithms except "none", the age groups are converted to a set of points centred within each age range. Extra points are added at each end (zero and infinity) to keep value constant at both ends of the function. A zero-length age group may be used as a kind of barrier to adjust the distribution; e.g. with age group boundaries at 15, 20 and 25 years, a (linear) spline would be drawn between ages 17.5 and 22.5, whereas with boundaries at 15, 20 and 20 years, a spline would be drawn between ages 17.5 and 20 years (may be desired if individuals are assumed to reach adult size at 20). Algorithms:
- none: input values are used directly
- linear: straight lines (on an age vs. value graph) are used to interpolate data points.
P(need treatment | NMF)
→ scenario → model → clinical → NonMalariaFevers → prNeedTreatmentNMF
<prNeedTreatmentNMF
[ interpolation=("none" or "linear") ]
>
IN THIS ORDER:
| ( <group ... /> )+
</prNeedTreatmentNMF>
Documentation (element)
Units: Dimensionless Min: 0 Max: 1
Probability that a non-malarial fever requires treatment with antibiotics (assuming fever is not induced by malaria, although concurrent parasites may be present).
Attributes
interpolation
interpolation=("none" or "linear")
Interpolation algorithm. Normally it is desirable for age-based values to be continuous w.r.t. age. By default linear interpolation is used. With all algorithms except "none", the age groups are converted to a set of points centred within each age range. Extra points are added at each end (zero and infinity) to keep value constant at both ends of the function. A zero-length age group may be used as a kind of barrier to adjust the distribution; e.g. with age group boundaries at 15, 20 and 25 years, a (linear) spline would be drawn between ages 17.5 and 22.5, whereas with boundaries at 15, 20 and 20 years, a spline would be drawn between ages 17.5 and 20 years (may be desired if individuals are assumed to reach adult size at 20). Algorithms:
- none: input values are used directly
- linear: straight lines (on an age vs. value graph) are used to interpolate data points.
P(need treatment | MF)
→ scenario → model → clinical → NonMalariaFevers → prNeedTreatmentMF
<prNeedTreatmentMF
[ interpolation=("none" or "linear") ]
>
IN THIS ORDER:
| ( <group ... /> )+
</prNeedTreatmentMF>
Documentation (element)
Units: Dimensionless Min: 0 Max: 1
Probability that a malaria fever needs treatment with antibiotics (assuming fever is induced by malaria, although concurrent bacteria may be present).
Meaning partially overlaps with separate model for comorbidity given malaria.
Attributes
interpolation
interpolation=("none" or "linear")
Interpolation algorithm. Normally it is desirable for age-based values to be continuous w.r.t. age. By default linear interpolation is used. With all algorithms except "none", the age groups are converted to a set of points centred within each age range. Extra points are added at each end (zero and infinity) to keep value constant at both ends of the function. A zero-length age group may be used as a kind of barrier to adjust the distribution; e.g. with age group boundaries at 15, 20 and 25 years, a (linear) spline would be drawn between ages 17.5 and 22.5, whereas with boundaries at 15, 20 and 20 years, a spline would be drawn between ages 17.5 and 20 years (may be desired if individuals are assumed to reach adult size at 20). Algorithms:
- none: input values are used directly
- linear: straight lines (on an age vs. value graph) are used to interpolate data points.
human
<human>
IN THIS ORDER:
| <availabilityToMosquitoes ... />
| [ <weight ... /> ]
</human>
Documentation (type)
Parameters of host models.
Availability to mosquitoes
→ scenario → model → human → availabilityToMosquitoes
<availabilityToMosquitoes
[ interpolation=("none" or "linear") ]
>
IN THIS ORDER:
| ( <group ... /> )+
</availabilityToMosquitoes>
Documentation (element)
Units: None Min: 0 Max: 1
Availability of humans to mosquitoes relative to an adult, categorized by age group
Attributes
interpolation
interpolation=("none" or "linear")
Interpolation algorithm. Normally it is desirable for age-based values to be continuous w.r.t. age. By default linear interpolation is used. With all algorithms except "none", the age groups are converted to a set of points centred within each age range. Extra points are added at each end (zero and infinity) to keep value constant at both ends of the function. A zero-length age group may be used as a kind of barrier to adjust the distribution; e.g. with age group boundaries at 15, 20 and 25 years, a (linear) spline would be drawn between ages 17.5 and 22.5, whereas with boundaries at 15, 20 and 20 years, a spline would be drawn between ages 17.5 and 20 years (may be desired if individuals are assumed to reach adult size at 20). Algorithms:
- none: input values are used directly
- linear: straight lines (on an age vs. value graph) are used to interpolate data points.
Weight
→ scenario → model → human → weight
<weight
[ interpolation=("none" or "linear") ]
multStdDev=double
>
IN THIS ORDER:
| ( <group ... /> )+
</weight>
Documentation (element)
Units: kg Min: 0
By age group data on human weight (mass).
Attributes
interpolation
interpolation=("none" or "linear")
Interpolation algorithm. Normally it is desirable for age-based values to be continuous w.r.t. age. By default linear interpolation is used. With all algorithms except "none", the age groups are converted to a set of points centred within each age range. Extra points are added at each end (zero and infinity) to keep value constant at both ends of the function. A zero-length age group may be used as a kind of barrier to adjust the distribution; e.g. with age group boundaries at 15, 20 and 25 years, a (linear) spline would be drawn between ages 17.5 and 22.5, whereas with boundaries at 15, 20 and 20 years, a spline would be drawn between ages 17.5 and 20 years (may be desired if individuals are assumed to reach adult size at 20). Algorithms:
- none: input values are used directly
- linear: straight lines (on an age vs. value graph) are used to interpolate data points.
Standard deviation
multStdDev=double
Units: None Min: 0
Each human is assigned a weight multiplier from a normal distribution with mean 1 and this standard deviation at birth. His/her weight is this multiplier times the mean from age distribution. A standard deviation of zero for no heterogeneity is valid; a rough value from Tanzanian data is 0.14.
Vivax model parameters
<vivax>
IN ANY ORDER:
| <probBloodStageInfectiousToMosq ... />
| <hypnozoiteRelease ... />
| <bloodStageProtectionLatency ... />
| <bloodStageLengthDays ... />
| <clinicalEvents ... />
</vivax>
- probBloodStageInfectiousToMosq
- hypnozoiteRelease
- bloodStageProtectionLatency
- bloodStageLengthDays
- clinicalEvents
Documentation (element)
This describes Vivax model parameters, and is required when using the VIVAX_SIMPLE_MODEL model option.
Probability of mosquito infection
→ scenario → model → vivax → probBloodStageInfectiousToMosq
<probBloodStageInfectiousToMosq
value=double
/>
Documentation (element)
Units: None Min: 0 Max: 1
The chance of a feeding mosquito becoming infected, given that the host is patent. (This may be adjusted by transmission-blocking vaccines.)
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Hypnozoite releases
→ scenario → model → vivax → hypnozoiteRelease
<hypnozoiteRelease
[ pSecondRelease=double ] DEFAULT VALUE 0
>
IN ANY ORDER:
| <numberHypnozoites ... />
| <firstRelease ... />
| [ <secondRelease ... /> ]
</hypnozoiteRelease>
Documentation (element)
Describes the number and times of hypnozoite releases.
Documentation (type)
This element defines probabilites when and how many hypnozoites are released from the liverstage into the blood.
The gap between the start of a new brood of hypnozoites and its release are defined as follows:
latentP + latentRelapseDays + randomReleaseDelay
randomReleaseDelay is based on one or two lognormal distributions, which are defined in firstRelease and optionally secondRelease.
You can define 2 release distributions, which get added together and represent the probability of hypnozoites which get released before winter (first release) or after (second release).
You can omit the secondRelease element if no release to the blood happens after winter.
Attributes
latent relapse days
pSecondRelease=double
Default value: 0
Probability of a second release. If undefined it is zero.
Number of Hypnozoites
→ scenario → model → vivax → hypnozoiteRelease → numberHypnozoites
<numberHypnozoites
max=int
base=double
/>
Documentation (element)
numberHypnozoites calculates the number of hypnozoites in the liver stage based on a base which is between 0 and 1.
This number is random based on the following distribution and normalized:
max ∑ (base ^ n) n = 0
Attributes
max
max=int
base
base=double
firstRelease
→ scenario → model → vivax → hypnozoiteRelease → firstRelease
<firstRelease
mu=double
sigma=double
latentRelapseDays=int
/>
Documentation (base type)
Parameters of a normal distribution.
Variates are sampled as: X ~ N( mu, sigma² ).
Attributes
mu
mu=double
Units: (same as base units)
The mean of the normal distribution.
sigma
sigma=double
Units: (same as base units)
The standard deviation of variates.
latent relapse days
latentRelapseDays=int
Usually 15 days or 10 days (3 or 2 5-day timesteps).
secondRelease
→ scenario → model → vivax → hypnozoiteRelease → secondRelease
<secondRelease
mu=double
sigma=double
latentRelapseDays=int
/>
Documentation (base type)
Parameters of a normal distribution.
Variates are sampled as: X ~ N( mu, sigma² ).
Attributes
mu
mu=double
Units: (same as base units)
The mean of the normal distribution.
sigma
sigma=double
Units: (same as base units)
The standard deviation of variates.
latent relapse days
latentRelapseDays=int
Usually 15 days or 10 days (3 or 2 5-day timesteps).
Blood stage protection latency
→ scenario → model → vivax → bloodStageProtectionLatency
<bloodStageProtectionLatency
value=double
/>
Documentation (element)
Min: 0
The length of time after expiry of a blood-stage infection during which relapses from the same brood are supressed by the immune system.
This is rounded to the nearest time-step.
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Blood stage length
→ scenario → model → vivax → bloodStageLengthDays
<bloodStageLengthDays
weibullScale=double
weibullShape=double
/>
Documentation (element)
Units: Days
Parameters used to sample the length of blood-stage infections from a Weibull distribution (scale parameter lambda, shape parameter k).
Attributes
weibullScale
weibullScale=double
weibullShape
weibullShape=double
clinicalEvents
→ scenario → model → vivax → clinicalEvents
<clinicalEvents>
IN THIS ORDER:
| <pPrimaryInfection ... />
| <pRelapseOne ... />
| <pRelapseTwoPlus ... />
| <pEventIsSevere ... />
</clinicalEvents>
Documentation (type)
This elements holds all information about probabilites for clinical events from infections and relapses.
pPrimaryInfection
→ scenario → model → vivax → clinicalEvents → pPrimaryInfection
<pPrimaryInfection
a=double
b=double
/>
Attributes
a
a=double
b
b=double
pRelapseOne
→ scenario → model → vivax → clinicalEvents → pRelapseOne
<pRelapseOne
a=double
b=double
/>
Attributes
a
a=double
b
b=double
pRelapseTwoPlus
→ scenario → model → vivax → clinicalEvents → pRelapseTwoPlus
<pRelapseTwoPlus
a=double
b=double
/>
Attributes
a
a=double
b
b=double
pEventIsSevere
→ scenario → model → vivax → clinicalEvents → pEventIsSevere
<pEventIsSevere
value=double
/>
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Parameters of the model of epidemiology
→ scenario → model → parameters
<parameters
interval=int
iseed=int
latentp=string
>
IN THIS ORDER:
| ( <parameter ... /> )+
</parameters>
Documentation (element)
Parameters of the epidemiological model
Attributes
Simulation step
interval=int
Units: Days
Simulation step
Random number seed
iseed=int
Units: Number
Seed for RNG
Pre-erythrocytic latent period
latentp=string
Units: User defined (default: steps) Min: 0 Max: 20
Pre-erythrocytic latent period Can be specified in steps (e.g. 3t) or days (e.g. 15d).
parameter
→ scenario → model → parameters → parameter
<parameter
[ name=string ]
number=int
value=double
[ include=boolean ]
/>
Attributes
Name of parameter
name=string
Units: string
Name of parameter
Parameter number
number=int
Units: Number Min: 1 Max: 100
Reference number of input parameter
Parameter value
value=double
Units: Number Min: 0
Parameter value
Sampling indicator
include=boolean
Units: Number Min: 0 Max: 1
True if parameter is to be sampled in optimization runs. Not used in simulator app.
Schema 36 documentation
Generated from: scenario_36.xsd
.
Key:
abc required (one)
[ def ] optional (zero or one)
( ghi )* any number (zero or more)
( jkl )+ at least one
( mno ){2,inf} two or more occurrences
Scenario
→ scenario
<scenario
schemaVersion=int
[ analysisNo=int ]
name=string
[ wuID=int ]
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:om="http://openmalaria.org/schema/scenario_36"
xsi:schemaLocation="http://openmalaria.org/schema/scenario_36 scenario_36.xsd"
>
IN ANY ORDER:
| <demography ... />
| <monitoring ... />
| <interventions ... />
| <healthSystem ... />
| <entomology ... />
| [ <parasiteGenetics ... /> ]
| [ <pharmacology ... /> ]
| [ <diagnostics ... /> ]
| <model ... />
</scenario>
- demography
- monitoring
- interventions
- healthSystem
- entomology
- parasiteGenetics
- pharmacology
- diagnostics
- model
Documentation (element)
Description of scenario
Attributes
Version of the xml schema
schemaVersion=int
Version of xml schema. If not equal to the current version an error is thrown. Use SchemaTranslator to update xml files.
Reference number of the analysis
analysisNo=int
Units: Number Min: 1 Max: 100000000
Unique identifier of scenario
Name of intervention
name=string
Name of intervention
Work unit identifier
wuID=int
Units: Number
Work unit ID. Obselete and no longer required.
Human age distribution
→ scenario → demography
<demography
name=string
popSize=int
maximumAgeYrs=double
[ growthRate=double ]
>
IN THIS ORDER:
| <ageGroup ... />
</demography>
Documentation (element)
Description of demography
Attributes
Name of demography data
name=string
Name of demography data
Population size
popSize=int
Units: Count Min: 1 Max: 100000
Population size
Maximum age of simulated humans
maximumAgeYrs=double
Units: Years Min: 0 Max: 100
Maximum age of simulated humans in years
Growth rate of human population
growthRate=double
Units: Number Min: 0 Max: 0
Growth rate of human population. (we should be able to implement this with non-zero values)
Age groups
→ scenario → demography → ageGroup
<ageGroup
lowerbound=double
>
IN THIS ORDER:
| ( <group ... /> )+
</ageGroup>
Documentation (element)
list of age groups included in demography
Documentation (type)
list of age groups included in demography or surveys
Attributes
Lower bound of age group
lowerbound=double
Units: Years Min: 0 Max: 100
Lower bound of age group
group
→ scenario → demography → ageGroup → group
<group
poppercent=double
upperbound=double
/>
Attributes
Percentage in age group
poppercent=double
Units: Percentage Min: 0 Max: 100
Percentage of human population in age group
Upper bound of age group
upperbound=double
Units: Years Min: 0 Max: 100
Upper bound of age group
Measures to be reported
→ scenario → monitoring
<monitoring
name=string
[ startDate=string ]
>
IN THIS ORDER:
| [ <continuous ... /> ]
| <SurveyOptions ... />
| <surveys ... />
| <ageGroup ... />
| [ <cohorts ... /> ]
</monitoring>
Documentation (element)
Description of surveys
Attributes
Name of monitoring settings
name=string
Name of monitoring settings
Start of monitoring
startDate=string
An optional date for the start of monitoring. If given, dates may be used to specify when other events (surveys, intervention deployments) occur; alternately times relative to the start of the intervention period may be used to specify event times. Setting this to 1st January of some year might simplify usage of dates, and putting the start a couple of years before the start of intervention deployment (along with some extra surveys) may be useful to check transmission stabilises to the expected pre-intervention levels. As an example, if this date is set to 2000-01-01, then the following event times are equivalent (assuming 1t=5d): 15t, 75d, 0.2y, 2000-03-16. Must be in the form YYYY-MM-DD, e.g. 2003-01-01.
continuous
→ scenario → monitoring → continuous
<continuous
period=string
[ duringInit=boolean ]
>
IN THIS ORDER:
| ( <option ... /> )*
</continuous>
Attributes
Delay between reports
period=string
Units: User defined (default: steps)
Delay between reports; typically one time step but can be greater. Can be specified in steps (e.g. 1t) or days (e.g. 5d).
During initialization
duringInit=boolean
Units: Days Min: 1 Max: unbounded
Also output during initialization. By default this is disabled (only intervention-period data is output). This should not be used for predictions, but can be useful for model validation. In this mode, 'simulation time' is output as the first column (in addition to 'timestep'), since 'timestep' is dis- continuous across the start of the intervention period.
option
→ scenario → monitoring → continuous → option
<option
name=string
[ value=boolean ] DEFAULT VALUE true
/>
Attributes
Option name
name=string
Name of an option (monitoring measure or model option).
Indicator of whether option is required
value=boolean
Default value: true
Option on/off switch (true/false). Specifying value="true" is the same as not specifying a value; specifying value="false" explicitly turns the option off. If an option is not mentioned at all, it is left at its default value (normally off, but in a few cases, such as some bug-fix options, on).
Name of quantity
→ scenario → monitoring → SurveyOptions
<SurveyOptions
[ onlyNewEpisode=boolean ] DEFAULT VALUE false
>
IN THIS ORDER:
| ( <option ... /> )*
</SurveyOptions>
Documentation (element)
List of all active survey options. See model/mon/OutputMeasures.h for a list of supported outputs. Should also be on the wiki.
Attributes
Report only for new cases
onlyNewEpisode=boolean
Default value: false
If set, some statistics exclude humans who have been treated in the recent past (precisely, when the time of last treatment was before the current step and no more than health-system-memory days/steps ago). This is a rough replacement for the REPORT_ONLY_AT_RISK option, with one difference: the maximum age of treatment for REPORT_ONLY_AT_RISK was fixed at 20 days. Affected measures include (as of version 35): nHost (0), nInfect(1), nExpectd (2), nPatent (3), sumLogPyrogenThres (4), sumlogDens (5), totalInfs (6), totalPatentInf (8), sumPyrogenThresh (10), nSubPopRemovalFirstEvent (62), sumAge (68), nInfectByGenotype (69), nPatentByGenotype (70), logDensByGenotype (71), nHostDrugConcNonZero (72), sumLogDrugConcNonZero (73).
option
→ scenario → monitoring → SurveyOptions → option
<option
name=string
[ value=boolean ] DEFAULT VALUE true
[ outputNumber=int ]
[ byAge=boolean ]
[ byCohort=boolean ]
[ bySpecies=boolean ]
[ byGenotype=boolean ]
[ byDrugType=boolean ]
/>
Attributes
Option name
name=string
Name of an option (monitoring measure or model option).
Indicator of whether option is required
value=boolean
Default value: true
Option on/off switch (true/false). Specifying value="true" is the same as not specifying a value; specifying value="false" explicitly turns the option off. If an option is not mentioned at all, it is left at its default value (normally off, but in a few cases, such as some bug-fix options, on).
Number identifying measure in output
outputNumber=int
Number identifying this monitoring measure in the output file (3rd column). Normally this is determined from the measure, but it can be set manually, e.g. for when the same measure is recorded twice (to accumulate across different categories).
Report by age category
byAge=boolean
If true, the measure is reported for each age category. If false, values are summed across all age categories and only the sum reported. If not specified, separate categories will be reported if the measure supports this.
Report by cohort
byCohort=boolean
If true, the measure is reported for each cohort separately. If false, values are summed across all cohorts and only the sum reported. If not specified, separate categories will be reported if the measure supports this.
Report by mosquito species
bySpecies=boolean
If true, the measure is reported for each mosquito species separately. If false, values are summed across all species and only the sum reported. If not specified, separate categories will be reported if the measure supports this.
Report by parasite genotype
byGenotype=boolean
If true, the measure is reported for each parasite genotype separately. If false, values are summed across all genotypes and only the sum reported. If not specified, separate categories will be reported if the measure supports this.
Report by drug type
byDrugType=boolean
If true, the measure is reported for each drug type separately. If false, values are summed across all drug types and only the sum reported. If not specified, separate categories will be reported if the measure supports this.
Survey times (time steps)
→ scenario → monitoring → surveys
<surveys
[ detectionLimit=double ]
[ diagnostic=string ]
>
IN THIS ORDER:
| ( <surveyTime ... /> )+
</surveys>
Documentation (element)
List of survey times
Attributes
Detection limit for parasitaemia
detectionLimit=double
Units: parasites/microlitre Min: 0
Deprecated: limit above which a human's infection is reported as patent. Alternative: do not specify this; instead specify "diagnostic".
Name of monitoring diagnostic
diagnostic=string
Name of a parameterised diagnostic to use in surveys (see scenario/diagnostics).
Survey time
→ scenario → monitoring → surveys → surveyTime
<surveyTime
[ repeatStep=string ]
[ repeatEnd=string ]
[ reported=boolean ] DEFAULT VALUE true
>
string
</surveyTime>
Documentation (element)
Units: User defined (defaults to steps) Min: 0
Time of a survey. A report will be made for those measures enabled under SurveyOptions. Reported data is either from the moment the survey is done (immediate data) or is collected over the time since the previous survey, or in some cases over a fixed time span (usually one year).
Times can be specified in time steps, starting from 0, or as a date (see monitoring/startDate), or in days (e.g. 15d) or years (e.g. 1y). Relative times mean the time since the start of the intervention period, and must be non-negative (zero is valid, but some measures, e.g. nUncomp, will be zero).
The simulation ends immediately after the last survey is taken.
Attributes
Step of repetition
repeatStep=string
Units: User defined
See repeatEnd's documentation.
End of repetition (exclusive)
repeatEnd=string
Units: User defined
Either both repeatStep and repeatEnd should be present or neither. If present, the survey is repeated every repeatStep timesteps (i.e. if t0 is the initial time and x is repeatStep, surveys are done at times t0, t0+x, t0+2*x, ...), ending before repeatEnd (final repetition is the one before repeatEnd). Note that repeatEnd may be specified as a date but repeatStep must be a duration (days, steps or years).
reported
reported=boolean
Default value: true
For normal surveys, reporting=true. If set false, quantities are measured but not reported. The reason for doing this is to update conditions set on reportable measures. Multiple surveys may be given here for the same date, e.g. if using "repeatStep" for both reporting and non-reporting surveys. These are combined such that a maximum of one survey is carried out per time-step, and the survey is reported if any of the listed surveys for this date is configured as "reporting". Note that adding non-reporting surveys will not affect value output by reported surveys, with the exception that generated psuedo-random numbers may be altered (specifically, when any stochastic diagnostics are used in surveys).
Age groups
→ scenario → monitoring → ageGroup
<ageGroup
lowerbound=double
>
IN THIS ORDER:
| ( <group ... /> )+
</ageGroup>
Documentation (element)
List of age groups included in demography or surveys
Attributes
lower bound of age group
lowerbound=double
Units: Years Min: 0 Max: 100
Lower bound of age group
group
→ scenario → monitoring → ageGroup → group
<group
upperbound=double
/>
Attributes
upper bound of age group
upperbound=double
Units: Years Min: 0 Max: 100
Upper bound of age group
Cohorts
→ scenario → monitoring → cohorts
<cohorts>
IN THIS ORDER:
| ( <subPop ... /> )+
</cohorts>
Documentation (element)
Allows the configuration of multiple cohorts (output segregated according to membership within specific sub-populations).
If this element is omitted, monitoring surveys cover the entire simulated human population.
It does not affect the "continuous" outputs (these never take cohorts into account).
Sub-population
→ scenario → monitoring → cohorts → subPop
<subPop
id=string
number=integer
/>
Documentation (element)
Consider a certain sup-population a cohort, and segregate outputs according to membership. Where multiple sub-populations are listed, segregate output according to all combinations of membership: e.g. if sub-populations A and B are listed, there will be outputs for "member of A and B", "member of A but not B", "B but not A" and "not a member of A or B". Listing n sub-populations implies 2^n sets of outputs (each is further segregated by age groups, survey times and enabled output measures, which could lead to excessive program memory usage and output file size).
To identify outputs, each sub-population has a power of two number as identifier (see "number" attribute). Each of the 2^n output sets is identified by a number: the output set is the output from humans who are members in some set of sub-populations (S1, S2, ...) and not members in some others (T1, T2, ...); the number identifying the set is the sum of the numbers identifying the sets S1, S2, etc.
In the output file, the output set is identified by multiplying this number by 1000 then adding it to the age group column.
Attributes
Sub-population identifier
id=string
Textual identifier for the sub-population (i.e. for an intervention component, since sub-populations are defined as the hosts an intervention component is deployed to).
Sub-population number
number=integer
Units: dimensionless Min: 1 Max: 2097152
Number identifying a sub-population; used to define identifiers of output sets. This number must be a power of 2 (i.e. 1, 2, 4, 8, ...). See documentation of subPop element.
Preventative interventions
<interventions
name=string
>
IN ANY ORDER:
| [ <changeHS ... /> ]
| [ <changeEIR ... /> ]
| [ <importedInfections ... /> ]
| [ <insertR_0Case ... /> ]
| [ <uninfectVectors ... /> ]
| [ <vectorPop ... /> ]
| [ <vectorTrap ... /> ]
| [ <human ... /> ]
</interventions>
Documentation (element)
List of interventions. Generally these are either point-time distributions of something to some subset of the population, or continuous-time distribution targetting individuals when they reach a certain age.
Attributes
Name of intervention set
name=string
Name of set of interventions
Change health system
→ scenario → interventions → changeHS
<changeHS
[ name=string ]
>
IN THIS ORDER:
| ( <timedDeployment ... /> )*
</changeHS>
Documentation (element)
Changes to the health system
Attributes
Name of intervention
name=string
Name of intervention
timedDeployment
→ scenario → interventions → changeHS → timedDeployment
<timedDeployment
time=string
>
IN THIS ORDER:
| EXACTLY ONE OF:
| | <EventScheduler ... />
| | <ImmediateOutcomes ... />
| | <DecisionTree5Day ... />
| <CFR ... />
| <pSequelaeInpatient ... />
</timedDeployment>
Documentation (type)
A complete replacement health system. Replaces all previous properties. (Health system can be replaced multiple times if necessary.)
Documentation (base type)
Description of case management system, used to specify the initial model or a replacement (an intervention). Encompasses case management data and some other data required to derive case outcomes.
Contains a sub-element describing the particular health-system in use. Health system data is here defined as data used to decide on a treatment strategy, given a case requiring treatment.
Attributes
Time
time=string
Units: User defined (defauls to steps) Min: 0
Time at which this replacement occurs. See doc on intervention period and on monitoring/startDate for details of how times work. Can be specified in steps, days, years, or as a date (examples: 15t, 75d, 0.2y, 2000-03-16).
EventScheduler
→ scenario → healthSystem → EventScheduler
<EventScheduler>
IN THIS ORDER:
| <uncomplicated ... />
| <complicated ... />
| <ClinicalOutcomes ... />
| [ <NonMalariaFevers ... /> ]
</EventScheduler>
uncomplicated
→ scenario → healthSystem → EventScheduler → uncomplicated
<uncomplicated
[ name=string ]
>
EXACTLY ONE OF:
| <multiple ... />
| <caseType ... />
| <diagnostic ... />
| <random ... />
| <age ... />
| <noTreatment ... />
| <treatFailure ... />
| ( <treatPKPD ... /> )+
| <treatSimple ... />
| ( <deploy ... /> )+
</uncomplicated>
Documentation (type)
Describes how "decisions" are made, both probabilistically and deterministically, and what actions are carried out.
Quantities may also be reported as a side effect of decisions made in the tree, for example the number of diagnostics used.
Attributes
Name
name=string
An optional piece of documentation attached to this node.
multiple
→ scenario → interventions → human → component → decisionTree → multiple
<multiple
[ name=string ]
>
IN THIS ORDER:
| ( <caseType ... /> )*
| ( <diagnostic ... /> )*
| ( <random ... /> )*
| ( <age ... /> )*
| ( <treatPKPD ... /> )*
| [ <treatSimple ... /> ]
| ( <deploy ... /> )*
</multiple>
Documentation (type)
A special node allowing multiple sub-trees to be evaluated.
This is different from an ordinary decision tree node in that:
a) multiple types of child can occur simultaneously (e.g. multiple types of treatment or treatment plus a 'random' sub-tree)
b) the 'noTreatment' and 'treatFailure' nodes are not allowed
Attributes
Name
name=string
An optional piece of documentation attached to this node.
caseType
→ scenario → interventions → human → component → decisionTree → multiple → caseType
<caseType
[ name=string ]
>
IN ANY ORDER:
| <firstLine ... />
| <secondLine ... />
</caseType>
Documentation (type)
A switch which choses a branch deterministically, based on whether the patient was treated recently (second line) or not (first line).
For uncomplicated cases only.
Attributes
Name
name=string
An optional piece of documentation attached to this node.
firstLine
→ scenario → interventions → human → component → decisionTree → multiple → caseType → firstLine
<firstLine
[ name=string ]
>
EXACTLY ONE OF:
| <multiple ... />
| <caseType ... />
| <diagnostic ... />
| <random ... />
| <age ... />
| <noTreatment ... />
| <treatFailure ... />
| ( <treatPKPD ... /> )+
| <treatSimple ... />
| ( <deploy ... /> )+
</firstLine>
Documentation (type)
Describes how "decisions" are made, both probabilistically and deterministically, and what actions are carried out.
Quantities may also be reported as a side effect of decisions made in the tree, for example the number of diagnostics used.
Attributes
Name
name=string
An optional piece of documentation attached to this node.
caseType
→ scenario → interventions → human → component → decisionTree → caseType
<caseType
[ name=string ]
>
IN ANY ORDER:
| <firstLine ... />
| <secondLine ... />
</caseType>
Documentation (type)
A switch which choses a branch deterministically, based on whether the patient was treated recently (second line) or not (first line).
For uncomplicated cases only.
Attributes
Name
name=string
An optional piece of documentation attached to this node.
secondLine
→ scenario → interventions → human → component → decisionTree → multiple → caseType → secondLine
<secondLine
[ name=string ]
>
EXACTLY ONE OF:
| <multiple ... />
| <caseType ... />
| <diagnostic ... />
| <random ... />
| <age ... />
| <noTreatment ... />
| <treatFailure ... />
| ( <treatPKPD ... /> )+
| <treatSimple ... />
| ( <deploy ... /> )+
</secondLine>
Documentation (type)
Describes how "decisions" are made, both probabilistically and deterministically, and what actions are carried out.
Quantities may also be reported as a side effect of decisions made in the tree, for example the number of diagnostics used.
Attributes
Name
name=string
An optional piece of documentation attached to this node.
diagnostic
→ scenario → interventions → human → component → decisionTree → diagnostic
<diagnostic
diagnostic=string
[ name=string ]
>
IN ANY ORDER:
| <positive ... />
| <negative ... />
</diagnostic>
Documentation (type)
A switch which choses a branch deterministically, based on the outcome of some type of diagnostic.
Attributes
Name of diagnostic
diagnostic=string
Should match the name of some parameterised diagnostic (see scenario/diagnostics).
Name
name=string
An optional piece of documentation attached to this node.
positive
→ scenario → interventions → human → component → decisionTree → multiple → diagnostic → positive
<positive
[ name=string ]
>
EXACTLY ONE OF:
| <multiple ... />
| <caseType ... />
| <diagnostic ... />
| <random ... />
| <age ... />
| <noTreatment ... />
| <treatFailure ... />
| ( <treatPKPD ... /> )+
| <treatSimple ... />
| ( <deploy ... /> )+
</positive>
Documentation (type)
Describes how "decisions" are made, both probabilistically and deterministically, and what actions are carried out.
Quantities may also be reported as a side effect of decisions made in the tree, for example the number of diagnostics used.
Attributes
Name
name=string
An optional piece of documentation attached to this node.
random
→ scenario → interventions → human → component → decisionTree → random
<random
[ name=string ]
>
IN THIS ORDER:
| ( <outcome ... /> )+
</random>
Documentation (type)
A switch which choses a branch randomly.
Each branch must be listed with a probability; the sum of all these probabilities must equal 1.
Attributes
Name
name=string
An optional piece of documentation attached to this node.
outcome
→ scenario → interventions → human → component → decisionTree → multiple → random → outcome
<outcome
[ name=string ]
p=double
>
EXACTLY ONE OF:
| <multiple ... />
| <caseType ... />
| <diagnostic ... />
| <random ... />
| <age ... />
| <noTreatment ... />
| <treatFailure ... />
| ( <treatPKPD ... /> )+
| <treatSimple ... />
| ( <deploy ... /> )+
</outcome>
Documentation (base type)
Describes how "decisions" are made, both probabilistically and deterministically, and what actions are carried out.
Quantities may also be reported as a side effect of decisions made in the tree, for example the number of diagnostics used.
Attributes
Name
name=string
An optional piece of documentation attached to this node.
Probability
p=double
Units: None Min: 0 Max: 1
Probability of selecting this outcome. The sum of probabilities across all outcomes must be 1.
age
→ scenario → interventions → human → component → decisionTree → age
<age
[ name=string ]
>
IN THIS ORDER:
| ( <age ... /> )+
</age>
Documentation (type)
A switch which choses a branch deterministically, based on the patient's age (in years).
Categories must uniquely cover all ages from birth, with no upper bound. Categories must be listed in order of age, increasing; the first must have lower bound 0. Upper bounds are equal to the lower bound of the next category, (but are exclusive where lower bounds are inclusive); the last category has no upper bound.
Attributes
Name
name=string
An optional piece of documentation attached to this node.
Age range
→ scenario → interventions → human → component → decisionTree → multiple → age → age
<age
[ name=string ]
lb=double
>
EXACTLY ONE OF:
| <multiple ... />
| <caseType ... />
| <diagnostic ... />
| <random ... />
| <age ... />
| <noTreatment ... />
| <treatFailure ... />
| ( <treatPKPD ... /> )+
| <treatSimple ... />
| ( <deploy ... /> )+
</age>
Documentation (element)
Describes a branch, selected for patients of a certain age.
Documentation (base type)
Describes how "decisions" are made, both probabilistically and deterministically, and what actions are carried out.
Quantities may also be reported as a side effect of decisions made in the tree, for example the number of diagnostics used.
Attributes
Name
name=string
An optional piece of documentation attached to this node.
Lower bound (inclusive)
lb=double
Min: 0
noTreatment
→ scenario → interventions → human → component → decisionTree → noTreatment
<noTreatment
[ name=string ]
/>
Documentation (type)
An end node doing nothing. This exists to explicitly state that no treatment happens and to prevent trees from accidentally being left incomplete.
Attributes
Name
name=string
An optional piece of documentation attached to this node.
treatFailure
→ scenario → interventions → human → component → decisionTree → treatFailure
<treatFailure
[ name=string ]
/>
Documentation (type)
An end node which reports treatment but does not change parasitalogical status. This allows correct labelling of second-line cases.
Attributes
Name
name=string
An optional piece of documentation attached to this node.
treatPKPD
→ scenario → interventions → human → component → decisionTree → treatPKPD
<treatPKPD
schedule=string
dosage=string
[ delay_h=double ] DEFAULT VALUE 0
/>
Documentation (type)
A command to administer drugs according to a given schedule and dosage table, optionally with a delay.
Attributes
Name of treatment schedule
schedule=string
The name of a schedule to use for treatment.
Name of dosage table
dosage=string
The name of a dosage table to use for treatment.
Delay (hours)
delay_h=double
Default value: 0
Optionally, this can be given to delay the start of treatment by a given number of hours. If not specified, treatment is not delayed. If a delay is given, all medications within the treatment schedule used are delayed by this number of hours.
treatSimple
→ scenario → interventions → human → component → decisionTree → treatSimple
<treatSimple
durationLiver=string
durationBlood=string
/>
Documentation (type)
Simple treatment model, targetting liver- and/or blood-stage infections. This is all-or-nothing treatment which, when deploymed, completely clears all infections of the targetted stages. This makes it unsuitable for modeling resistance, but suitable for use with simple infection models.
Infections are considered liver-stage when less than five days old and blood-stage after that. Effects are described independently for the two stages.
Attributes
Length of liver-stage effect
durationLiver=string
Units: User defined
Controls action on liver-stage infections. 0 means no action, -1 step is a compatibility option to act like treatment before schema version 32 (which removed infections retrospectively), 1 step or any duration which equals some whole number of steps n>0 means to clear all liver-stage infections found on the next 1 or n steps. Note on -1 compatibility option: the main difference to 1 step (clearing on the next timestep) is that parasite densities will be reduced immediately, and thus from the point of view of surveys and mass screen and treat interventions a peak in density which is immediately treated through case management will not be seen. Can be specified in steps (e.g. 1t, -1t) or days (e.g. 5d).
Length of blood-stage effect
durationBlood=string
Units: User defined
Controls action on blood-stage infections. 0 means no action, -1 step is a compatibility option to act like treatment before schema version 32 (which removed infections retrospectively), 1 step or any duration which equals some whole number of steps n>0 means to clear all blood-stage infections found on the next 1 or n steps. Note on -1 compatibility option: the main difference to 1 step (clearing on the next timestep) is that parasite densities will be reduced immediately, and thus from the point of view of surveys and mass screen and treat interventions a peak in density which is immediately treated through case management will not be seen. Can be specified in steps (e.g. 1t, -1t) or days (e.g. 5d).
deploy
→ scenario → interventions → human → component → decisionTree → deploy
<deploy
component=string
/>
Documentation (type)
Deploy one or more intervention components.
Attributes
Component identifier
component=string
The identifier (short name) of a component.
negative
→ scenario → interventions → human → component → decisionTree → multiple → diagnostic → negative
<negative
[ name=string ]
>
EXACTLY ONE OF:
| <multiple ... />
| <caseType ... />
| <diagnostic ... />
| <random ... />
| <age ... />
| <noTreatment ... />
| <treatFailure ... />
| ( <treatPKPD ... /> )+
| <treatSimple ... />
| ( <deploy ... /> )+
</negative>
Documentation (type)
Describes how "decisions" are made, both probabilistically and deterministically, and what actions are carried out.
Quantities may also be reported as a side effect of decisions made in the tree, for example the number of diagnostics used.
Attributes
Name
name=string
An optional piece of documentation attached to this node.
diagnostic
→ scenario → interventions → human → component → decisionTree → multiple → diagnostic
<diagnostic
diagnostic=string
[ name=string ]
>
IN ANY ORDER:
| <positive ... />
| <negative ... />
</diagnostic>
Documentation (type)
A switch which choses a branch deterministically, based on the outcome of some type of diagnostic.
Attributes
Name of diagnostic
diagnostic=string
Should match the name of some parameterised diagnostic (see scenario/diagnostics).
Name
name=string
An optional piece of documentation attached to this node.
random
→ scenario → interventions → human → component → decisionTree → multiple → random
<random
[ name=string ]
>
IN THIS ORDER:
| ( <outcome ... /> )+
</random>
Documentation (type)
A switch which choses a branch randomly.
Each branch must be listed with a probability; the sum of all these probabilities must equal 1.
Attributes
Name
name=string
An optional piece of documentation attached to this node.
age
→ scenario → interventions → human → component → decisionTree → multiple → age
<age
[ name=string ]
>
IN THIS ORDER:
| ( <age ... /> )+
</age>
Documentation (type)
A switch which choses a branch deterministically, based on the patient's age (in years).
Categories must uniquely cover all ages from birth, with no upper bound. Categories must be listed in order of age, increasing; the first must have lower bound 0. Upper bounds are equal to the lower bound of the next category, (but are exclusive where lower bounds are inclusive); the last category has no upper bound.
Attributes
Name
name=string
An optional piece of documentation attached to this node.
treatPKPD
→ scenario → interventions → human → component → decisionTree → multiple → treatPKPD
<treatPKPD
schedule=string
dosage=string
[ delay_h=double ] DEFAULT VALUE 0
/>
Documentation (type)
A command to administer drugs according to a given schedule and dosage table, optionally with a delay.
Attributes
Name of treatment schedule
schedule=string
The name of a schedule to use for treatment.
Name of dosage table
dosage=string
The name of a dosage table to use for treatment.
Delay (hours)
delay_h=double
Default value: 0
Optionally, this can be given to delay the start of treatment by a given number of hours. If not specified, treatment is not delayed. If a delay is given, all medications within the treatment schedule used are delayed by this number of hours.
treatSimple
→ scenario → interventions → human → component → decisionTree → multiple → treatSimple
<treatSimple
durationLiver=string
durationBlood=string
/>
Documentation (type)
Simple treatment model, targetting liver- and/or blood-stage infections. This is all-or-nothing treatment which, when deploymed, completely clears all infections of the targetted stages. This makes it unsuitable for modeling resistance, but suitable for use with simple infection models.
Infections are considered liver-stage when less than five days old and blood-stage after that. Effects are described independently for the two stages.
Attributes
Length of liver-stage effect
durationLiver=string
Units: User defined
Controls action on liver-stage infections. 0 means no action, -1 step is a compatibility option to act like treatment before schema version 32 (which removed infections retrospectively), 1 step or any duration which equals some whole number of steps n>0 means to clear all liver-stage infections found on the next 1 or n steps. Note on -1 compatibility option: the main difference to 1 step (clearing on the next timestep) is that parasite densities will be reduced immediately, and thus from the point of view of surveys and mass screen and treat interventions a peak in density which is immediately treated through case management will not be seen. Can be specified in steps (e.g. 1t, -1t) or days (e.g. 5d).
Length of blood-stage effect
durationBlood=string
Units: User defined
Controls action on blood-stage infections. 0 means no action, -1 step is a compatibility option to act like treatment before schema version 32 (which removed infections retrospectively), 1 step or any duration which equals some whole number of steps n>0 means to clear all blood-stage infections found on the next 1 or n steps. Note on -1 compatibility option: the main difference to 1 step (clearing on the next timestep) is that parasite densities will be reduced immediately, and thus from the point of view of surveys and mass screen and treat interventions a peak in density which is immediately treated through case management will not be seen. Can be specified in steps (e.g. 1t, -1t) or days (e.g. 5d).
deploy
→ scenario → interventions → human → component → decisionTree → multiple → deploy
<deploy
component=string
/>
Documentation (type)
Deploy one or more intervention components.
Attributes
Component identifier
component=string
The identifier (short name) of a component.
complicated
→ scenario → healthSystem → EventScheduler → complicated
<complicated
[ name=string ]
>
EXACTLY ONE OF:
| <multiple ... />
| <caseType ... />
| <diagnostic ... />
| <random ... />
| <age ... />
| <noTreatment ... />
| <treatFailure ... />
| ( <treatPKPD ... /> )+
| <treatSimple ... />
| ( <deploy ... /> )+
</complicated>
Documentation (type)
Describes how "decisions" are made, both probabilistically and deterministically, and what actions are carried out.
Quantities may also be reported as a side effect of decisions made in the tree, for example the number of diagnostics used.
Attributes
Name
name=string
An optional piece of documentation attached to this node.
ClinicalOutcomes
→ scenario → healthSystem → EventScheduler → ClinicalOutcomes
<ClinicalOutcomes>
IN THIS ORDER:
| <maxUCSeekingMemory ... />
| <uncomplicatedCaseDuration ... />
| <complicatedCaseDuration ... />
| <complicatedRiskDuration ... />
| ( <dailyPrImmUCTS ... /> )+
</ClinicalOutcomes>
- maxUCSeekingMemory
- uncomplicatedCaseDuration
- complicatedCaseDuration
- complicatedRiskDuration
- dailyPrImmUCTS
Documentation (type)
Description of base parameters of the clinical model.
Max UC treatment-seeking memory
→ scenario → healthSystem → EventScheduler → ClinicalOutcomes → maxUCSeekingMemory
<maxUCSeekingMemory>
int
</maxUCSeekingMemory>
Documentation (element)
Units: Days Min: 0 Max: unbounded
Maximum number of timesteps (including first day of case) that an individual with an uncomplicated case of malaria will remember he/she was sick before resetting.
Uncomplicated case duration
→ scenario → healthSystem → EventScheduler → ClinicalOutcomes → uncomplicatedCaseDuration
<uncomplicatedCaseDuration>
int
</uncomplicatedCaseDuration>
Documentation (element)
Units: Days Min: 1 Max: unbounded
Fixed length of an uncomplicated case of malarial or non-malarial sickness (from treatment seeking until return to life-as-usual). Usually 3.
Complicated case duration
→ scenario → healthSystem → EventScheduler → ClinicalOutcomes → complicatedCaseDuration
<complicatedCaseDuration>
int
</complicatedCaseDuration>
Documentation (element)
Units: Days Min: 1 Max: unbounded
Fixed length of a complicated or severe case of malaria (from treatment seeking until return to life-as-usual).
Complicated risk duration
→ scenario → healthSystem → EventScheduler → ClinicalOutcomes → complicatedRiskDuration
<complicatedRiskDuration>
int
</complicatedRiskDuration>
Documentation (element)
Units: Days Min: 1 Max: unbounded
Number of days for which humans are at risk of death during a severe or complicated case of malaria. Cannot be greater than the duration of a complicated case or less than 1 day.
Daily probability of immediate treatment seeking for uncomplicated cases
→ scenario → healthSystem → EventScheduler → ClinicalOutcomes → dailyPrImmUCTS
<dailyPrImmUCTS>
double
</dailyPrImmUCTS>
Documentation (element)
Units: Dimensionless Min: 0.0 Max: 1.0
It is sometimes desirable to model delays to treatment-seeking in uncomplicated cases. While treatment of drugs can be delayed within case management trees to provide a similar effect, this doesn't delay any of the decisions, including diagnostics using the current parasite density.
Instead a list of dailyPrImmUCTS elements can be used, describing successive daily probabilities of treatment (sum must be 1). For example, with a list of two elements with values 0.8 and 0.2, for 80% of UC cases the decision tree is evaluated immediately, and for 20% of cases evaluation is delayed by one day.
For no delay, use one element with a value of 1.
NonMalariaFevers
→ scenario → healthSystem → EventScheduler → NonMalariaFevers
<NonMalariaFevers>
IN THIS ORDER:
| <prTreatment ... />
| <effectNegativeTest ... />
| <effectPositiveTest ... />
| <effectNeed ... />
| <effectInformal ... />
| <CFR ... />
| <TreatmentEfficacy ... />
</NonMalariaFevers>
Documentation (type)
Description of non-malaria fever health-system modelling (treatment, outcomes and costing). Incidence is described by the model->clinical->NonMalariaFevers element. Non-malaria fevers are only modelled if the NON_MALARIA_FEVERS option is used.
As further explanation of the parameters below, we first take: β₀ = logit(P₀) - β₃·P(need), and then calculate the probability of antibiotic administration, P(AB), dependent on treatment seeking location. No seeking: P(AB) = 0 Informal sector: logit(P(AB)) = β₀ + β₄ Health facility: logit(P(AB)) = β₀ + β₁·I(neg) + β₂·I(pos) + β₃·I(need) (where I(X) is 1 when event X is true and 0 otherwise, logit(p)=log(p/(1-p)), event "need" is the event that death may occur without treatment, events "neg" and "pos" are the events that a malaria parasite diagnositic was used and indicated no parasites and parasites respectively).
P(treatment|no diagnostic)
→ scenario → healthSystem → EventScheduler → NonMalariaFevers → prTreatment
<prTreatment>
double
</prTreatment>
Documentation (element)
Units: Dimensionless Min: 0.0 Max: 1.0
Probability of a non-malaria fever being treated with an antibiotic given that no malaria diagnostic was used but independent of need. Symbol: P₀.
Effect of a negative test
→ scenario → healthSystem → EventScheduler → NonMalariaFevers → effectNegativeTest
<effectNegativeTest>
double
</effectNegativeTest>
Documentation (element)
The effect of a negative malaria diagnostic on the odds ratio of receiving antibiotics. Symbol: exp(β₁).
Effect of a positive test
→ scenario → healthSystem → EventScheduler → NonMalariaFevers → effectPositiveTest
<effectPositiveTest>
double
</effectPositiveTest>
Documentation (element)
The effect of a positive malaria diagnostic on the odds ratio of receiving antibiotics. Symbol: exp(β₂).
Effect of need
→ scenario → healthSystem → EventScheduler → NonMalariaFevers → effectNeed
<effectNeed>
double
</effectNeed>
Documentation (element)
The effect of needing antibiotic treatment on the odds ratio of receiving antibiotics. Symbol: exp(β₃).
Effect of informal provider
→ scenario → healthSystem → EventScheduler → NonMalariaFevers → effectInformal
<effectInformal>
double
</effectInformal>
Documentation (element)
The effect of seeking treatment from an informal provider (i.e. a provider untrained in NMF diagnosis) on the odds ratio of receiving antibiotics. Symbol: exp(β₄)
Case fatality rate
→ scenario → healthSystem → EventScheduler → NonMalariaFevers → CFR
<CFR
[ interpolation=("none" or "linear") ]
>
IN THIS ORDER:
| ( <group ... /> )+
</CFR>
Documentation (element)
Units: Dimensionless Min: 0.0 Max: 1.0
Base case fatality rate for non-malaria fevers (probability of death from a fever requiring antibiotic treatment given that no antibiotic treatment is received, per age-group).
Attributes
interpolation
interpolation=("none" or "linear")
Interpolation algorithm. Normally it is desirable for age-based values to be continuous w.r.t. age. By default linear interpolation is used. With all algorithms except "none", the age groups are converted to a set of points centred within each age range. Extra points are added at each end (zero and infinity) to keep value constant at both ends of the function. A zero-length age group may be used as a kind of barrier to adjust the distribution; e.g. with age group boundaries at 15, 20 and 25 years, a (linear) spline would be drawn between ages 17.5 and 22.5, whereas with boundaries at 15, 20 and 20 years, a spline would be drawn between ages 17.5 and 20 years (may be desired if individuals are assumed to reach adult size at 20). Algorithms:
- none: input values are used directly
- linear: straight lines (on an age vs. value graph) are used to interpolate data points.
age group
→ scenario → healthSystem → CFR → group
<group
value=double
lowerbound=double
/>
Documentation (element)
A series of values according to age groups, each specified with a lower-bound and a value. The first lower-bound specified must be zero; a final upper-bound of infinity is added to complete the last age group. At least one age group is required. Normally these are interpolated by a continuous function (see interpolation attribute).
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Lower bound
lowerbound=double
Units: Years Min: 0 Max: 100
Lower bound of age group
Treatment efficacy
→ scenario → healthSystem → EventScheduler → NonMalariaFevers → TreatmentEfficacy
<TreatmentEfficacy>
double
</TreatmentEfficacy>
Documentation (element)
Units: Dimensionless Min: 0.0 Max: 1.0
Probability that treatment would prevent a death (i.e. CFR is multiplied by one minus this when treatment occurs).
ImmediateOutcomes
→ scenario → healthSystem → ImmediateOutcomes
<ImmediateOutcomes
[ name=string ]
[ useDiagnosticUC=boolean ] DEFAULT VALUE false
>
IN ANY ORDER:
| <drugRegimen ... />
| <initialACR ... />
| <compliance ... />
| <nonCompliersEffective ... />
| <treatmentActions ... />
| <pSeekOfficialCareUncomplicated1 ... />
| <pSelfTreatUncomplicated ... />
| <pSeekOfficialCareUncomplicated2 ... />
| <pSeekOfficialCareSevere ... />
| [ <liverStageDrug ... /> ]
</ImmediateOutcomes>
- drugRegimen
- initialACR
- compliance
- nonCompliersEffective
- treatmentActions
- pSeekOfficialCareUncomplicated1
- pSelfTreatUncomplicated
- pSeekOfficialCareUncomplicated2
- pSeekOfficialCareSevere
- liverStageDrug
Documentation (type)
Description of "immediate outcomes" health system: Tediosi et al case management model (Case management as described in AJTMH 75 (suppl 2) pp90-103).
Attributes
Name of case management parameterisation
name=string
Name of health system
useDiagnosticUC
useDiagnosticUC=boolean
Default value: false
Description of drug regimen
→ scenario → healthSystem → ImmediateOutcomes → drugRegimen
<drugRegimen
firstLine=string
secondLine=string
inpatient=string
/>
Documentation (element)
Description of drug regimen.
Attributes
First line drug
firstLine=string
Units: Drug code
Code for first line drug
Second line drug
secondLine=string
Units: Drug code
Code for second line drug
Drug use for treating inpatients
inpatient=string
Units: Drug code
Code for drug used for treating inpatients
Initial cure rate
→ scenario → healthSystem → ImmediateOutcomes → initialACR
<initialACR>
IN THIS ORDER:
| [ <CQ ... /> ]
| [ <SP ... /> ]
| [ <AQ ... /> ]
| [ <SPAQ ... /> ]
| [ <ACT ... /> ]
| [ <QN ... /> ]
| <selfTreatment ... />
</initialACR>
Documentation (element)
Units: Dimensionless Min: 0.0 Max: 1.0
Initial cure rate
Chloroquine
→ scenario → healthSystem → ImmediateOutcomes → initialACR → CQ
<CQ
value=double
/>
Documentation (element)
Chloroquine
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Sulphadoxine-pyrimethamine
→ scenario → healthSystem → ImmediateOutcomes → initialACR → SP
<SP
value=double
/>
Documentation (element)
Sulphadoxine-pyrimethamine
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Amodiaquine
→ scenario → healthSystem → ImmediateOutcomes → initialACR → AQ
<AQ
value=double
/>
Documentation (element)
Amodiaquine
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Sulphadoxine-pyrimethamine/Amodiaquine
→ scenario → healthSystem → ImmediateOutcomes → initialACR → SPAQ
<SPAQ
value=double
/>
Documentation (element)
Sulphadoxine-pyrimethamine/Amodiaquine
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Artemisinine based combination therapy
→ scenario → healthSystem → ImmediateOutcomes → initialACR → ACT
<ACT
value=double
/>
Documentation (element)
Artemisinine combination therapy
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Quinine
→ scenario → healthSystem → ImmediateOutcomes → initialACR → QN
<QN
value=double
/>
Documentation (element)
Quinine
Attributes
Input parameter value
value=double
A double-precision floating-point value.
selfTreatment
→ scenario → healthSystem → ImmediateOutcomes → initialACR → selfTreatment
<selfTreatment
value=double
/>
Documentation (element)
Units: Dimensionless Min: 0 Max: 1name:P(self-treat)
Probability of self-treatment
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Adherence to treatment
→ scenario → healthSystem → ImmediateOutcomes → compliance
<compliance>
IN THIS ORDER:
| [ <CQ ... /> ]
| [ <SP ... /> ]
| [ <AQ ... /> ]
| [ <SPAQ ... /> ]
| [ <ACT ... /> ]
| [ <QN ... /> ]
| <selfTreatment ... />
</compliance>
Documentation (element)
Units: Dimensionless Min: 0.0 Max: 1.0
Adherence to treatment
Effectiveness of treatment in non-adherent patients
→ scenario → healthSystem → ImmediateOutcomes → nonCompliersEffective
<nonCompliersEffective>
IN THIS ORDER:
| [ <CQ ... /> ]
| [ <SP ... /> ]
| [ <AQ ... /> ]
| [ <SPAQ ... /> ]
| [ <ACT ... /> ]
| [ <QN ... /> ]
| <selfTreatment ... />
</nonCompliersEffective>
Documentation (element)
Units: Dimensionless Min: 0.0 Max: 1.0
Effectiveness of treatment for non-compliant patients
treatmentActions
→ scenario → healthSystem → ImmediateOutcomes → treatmentActions
<treatmentActions>
IN ANY ORDER:
| [ <CQ ... /> ]
| [ <SP ... /> ]
| [ <AQ ... /> ]
| [ <SPAQ ... /> ]
| [ <ACT ... /> ]
| [ <QN ... /> ]
</treatmentActions>
CQ
→ scenario → healthSystem → ImmediateOutcomes → treatmentActions → CQ
<CQ
[ name=string ]
>
IN THIS ORDER:
| ( <deploy ... /> )*
</CQ>
Documentation (type)
Describes the effects of the treatment, assuming this compliance/adherence/... option is selected. Effects are described in terms of a list of options, each of which acts independently but with all effects being activated simultaneously.
Documentation (base type)
Lists intervention components which are deployed according to some external trigger (for example, screening with a negative patency outcome or health-system treatment).
Components are referenced from one or more sub-lists. Each of these lists is deployed independently if and only if its age constraints are met by the human host and a random sample with the given probability of a positive outcome is positive.
Attributes
Name
name=string
Describes what this compliance option represents (e.g. "good compliance", "poor compliance with good drugs", ...).
deploy
→ scenario → healthSystem → ImmediateOutcomes → treatmentActions → CQ → deploy
<deploy
[ maxAge=double ]
[ minAge=double ] DEFAULT VALUE 0
[ p=double ] DEFAULT VALUE 1
>
IN THIS ORDER:
| ( <component ... /> )+
</deploy>
Attributes
Maximum age of eligible humans
maxAge=double
Units: Years Min: 0
Maximum age of eligible humans (defaults to no limit). Input is rounded to the nearest time step.
Minimum age of eligible humans
minAge=double
Units: Years Min: 0
Default value: 0
Minimum age of eligible humans (defaults to 0). Input is rounded to the nearest time step.
Probability of delivery to eligible humans
p=double
Units: dimensionless Min: 0 Max: 1
Default value: 1
Probability of this list of components being deployed, given that other constraints are met.
component
→ scenario → healthSystem → ImmediateOutcomes → treatmentActions → CQ → deploy → component
<component
id=string
/>
Documentation (type)
The list of components deployed to eligible humans.
Attributes
Identifier
id=string
The identifier (short name) of a component.
Prophylactic treatment
→ scenario → healthSystem → DecisionTree5Day → treatmentSevere → clearInfections
<clearInfections
timesteps=string
stage=("liver" or "blood" or "both")
/>
Documentation (element)
This clears infections according to several options: it can clear all blood stage infections, all liver stage infections or both, and it can act on multiple timesteps. To have a probability of no action add another treatment option (which does nothing) and set the probabilities of selection appropriately.
This allows immediate (legacy) or delayed action, a prophylactic period, and selection of which stages are targeted. It is a simple model but appropriate enough for use with the five day timestep when assuming no resistance and that drug failure is mainly caused by bad drugs or compliance.
The old treatment action for the five-day timestep model is essentially this, with immediateAction (timesteps=-1) and stage=both, except for the IPT model's SP action, which was more like with timesteps>1 and stage=blood.
Attributes
Length of effect
timesteps=string
Units: User defined (defaults to steps)
The number of timesteps during which this action remains in effect (e.g. 2 means clear infections during the next two timestep updates). Full clearance of the targeted stages occurs during this time. A special value of -1 means act immediately (retrospectively); this the old behaviour. A value of 1 means act on the next timestep only. Both of these can be thought of as a model for short-acting effective drug treatment; the main differences are that the latter means parasite densities will remain high from the point of view of surveys and diagnostics (i.e. mass screen and treat) used before the next timestep and that the latter will also remove infections starting the next timestep. Arguably the latter is a better model, but the differences are perhaps small, excepting where immediate treatment of fevers (i.e. through the health system) can hide high parasite densities from reporting and mass-screen-and-treat diagnostics. For use by interventions, the latter model has nicer behaviour in that the order of deployment of multiple interventions deployed at the same time does not matter, and that the former model retrospectively treats infections which may already have caused fever, thus may have a lower health impact than it should. It is recommended to use the new model (value 1, or greater than 1 if prophylactic effect is desired) unless wanting to emulate the old behaviour. Values of 0 or less than -1 are not allowed. Can be specified in steps (e.g. 1t, -1t) or days (e.g. 5d).
Target stage
stage=("liver" or "blood" or "both")
Controls whether liver-stage or blood-stage infections are cleared, or both. Infections are considered liver-stage for one 5-day timestep, blood-stage but pre-patent for some number of timesteps (latentp - 1), then start the patent blood stage. If stage is set to "liver", infections are only cleared during their first timestep; if stage is set to "blood", infections are cleared during pre-patent and patent blood stages; if stage is set to "both" all infections are cleared. The old behaviour (oddly considering the drugs it is meant to emulate) is to clear both stages, except for the IPT model of SP action, which cleared only patent blood-stage infections.
SP
→ scenario → healthSystem → ImmediateOutcomes → treatmentActions → SP
<SP
[ name=string ]
>
IN THIS ORDER:
| ( <deploy ... /> )*
</SP>
Documentation (type)
Describes the effects of the treatment, assuming this compliance/adherence/... option is selected. Effects are described in terms of a list of options, each of which acts independently but with all effects being activated simultaneously.
Documentation (base type)
Lists intervention components which are deployed according to some external trigger (for example, screening with a negative patency outcome or health-system treatment).
Components are referenced from one or more sub-lists. Each of these lists is deployed independently if and only if its age constraints are met by the human host and a random sample with the given probability of a positive outcome is positive.
Attributes
Name
name=string
Describes what this compliance option represents (e.g. "good compliance", "poor compliance with good drugs", ...).
AQ
→ scenario → healthSystem → ImmediateOutcomes → treatmentActions → AQ
<AQ
[ name=string ]
>
IN THIS ORDER:
| ( <deploy ... /> )*
</AQ>
Documentation (type)
Describes the effects of the treatment, assuming this compliance/adherence/... option is selected. Effects are described in terms of a list of options, each of which acts independently but with all effects being activated simultaneously.
Documentation (base type)
Lists intervention components which are deployed according to some external trigger (for example, screening with a negative patency outcome or health-system treatment).
Components are referenced from one or more sub-lists. Each of these lists is deployed independently if and only if its age constraints are met by the human host and a random sample with the given probability of a positive outcome is positive.
Attributes
Name
name=string
Describes what this compliance option represents (e.g. "good compliance", "poor compliance with good drugs", ...).
SPAQ
→ scenario → healthSystem → ImmediateOutcomes → treatmentActions → SPAQ
<SPAQ
[ name=string ]
>
IN THIS ORDER:
| ( <deploy ... /> )*
</SPAQ>
Documentation (type)
Describes the effects of the treatment, assuming this compliance/adherence/... option is selected. Effects are described in terms of a list of options, each of which acts independently but with all effects being activated simultaneously.
Documentation (base type)
Lists intervention components which are deployed according to some external trigger (for example, screening with a negative patency outcome or health-system treatment).
Components are referenced from one or more sub-lists. Each of these lists is deployed independently if and only if its age constraints are met by the human host and a random sample with the given probability of a positive outcome is positive.
Attributes
Name
name=string
Describes what this compliance option represents (e.g. "good compliance", "poor compliance with good drugs", ...).
ACT
→ scenario → healthSystem → ImmediateOutcomes → treatmentActions → ACT
<ACT
[ name=string ]
>
IN THIS ORDER:
| ( <deploy ... /> )*
</ACT>
Documentation (type)
Describes the effects of the treatment, assuming this compliance/adherence/... option is selected. Effects are described in terms of a list of options, each of which acts independently but with all effects being activated simultaneously.
Documentation (base type)
Lists intervention components which are deployed according to some external trigger (for example, screening with a negative patency outcome or health-system treatment).
Components are referenced from one or more sub-lists. Each of these lists is deployed independently if and only if its age constraints are met by the human host and a random sample with the given probability of a positive outcome is positive.
Attributes
Name
name=string
Describes what this compliance option represents (e.g. "good compliance", "poor compliance with good drugs", ...).
QN
→ scenario → healthSystem → ImmediateOutcomes → treatmentActions → QN
<QN
[ name=string ]
>
IN THIS ORDER:
| ( <deploy ... /> )*
</QN>
Documentation (type)
Describes the effects of the treatment, assuming this compliance/adherence/... option is selected. Effects are described in terms of a list of options, each of which acts independently but with all effects being activated simultaneously.
Documentation (base type)
Lists intervention components which are deployed according to some external trigger (for example, screening with a negative patency outcome or health-system treatment).
Components are referenced from one or more sub-lists. Each of these lists is deployed independently if and only if its age constraints are met by the human host and a random sample with the given probability of a positive outcome is positive.
Attributes
Name
name=string
Describes what this compliance option represents (e.g. "good compliance", "poor compliance with good drugs", ...).
Probability that a patient with uncomplicated disease seeks official care immediately.
→ scenario → healthSystem → ImmediateOutcomes → pSeekOfficialCareUncomplicated1
<pSeekOfficialCareUncomplicated1
value=double
/>
Documentation (element)
Units: Dimensionless Min: 0.0 Max: 1.0
Probability that a patient with newly incident uncomplicated disease seeks official care
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Probability that a patient with uncomplicated disease will self-treat.
→ scenario → healthSystem → ImmediateOutcomes → pSelfTreatUncomplicated
<pSelfTreatUncomplicated
value=double
/>
Documentation (element)
Units: Dimensionless Min: 0.0 Max: 1.0
Probability that a patient with uncomplicated disease without recent history of disease (i.e. first line) will self-treat.
Note that in second line cases there is no probability of self-treatment.
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Probability that a recurring patient seeks official care
→ scenario → healthSystem → ImmediateOutcomes → pSeekOfficialCareUncomplicated2
<pSeekOfficialCareUncomplicated2
value=double
/>
Documentation (element)
Units: Dimensionless Min: 0.0 Max: 1.0
Probability that a patient with recurrence of uncomplicated disease seeks official care
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Probability that a patient with severe disease obtains appropriate care
→ scenario → healthSystem → ImmediateOutcomes → pSeekOfficialCareSevere
<pSeekOfficialCareSevere
value=double
/>
Documentation (element)
Units: Dimensionless Min: 0.0 Max: 1.0
Probability that a patient with severe disease obtains appropriate care
Attributes
Input parameter value
value=double
A double-precision floating-point value.
liverStageDrug
→ scenario → healthSystem → ImmediateOutcomes → liverStageDrug
<liverStageDrug>
IN ANY ORDER:
| <pHumanCannotReceive ... />
| [ <ignoreCannotReceive ... /> ]
| [ <pUseUncomplicated ... /> ]
| <effectivenessOnUse ... />
</liverStageDrug>
Documentation (type)
Parameters for drug treatment which have an effect on the liver-stage of parasites (Primaquine and potentially Tafenoquine); for use with the Vivax model only.
Note: if this section is not listed, the following default values are assumed: pHumanCannotReceive=0, pUseUncomplicated=0, effectivenessOnUse=1.
Probability that human is incompatible with liver-stage drug treatment
→ scenario → healthSystem → ImmediateOutcomes → liverStageDrug → pHumanCannotReceive
<pHumanCannotReceive
value=double
/>
Documentation (element)
Units: Probability Min: 0 Max: 1
Chance that a human is determined to be unable to receive liver-stage drug treatment. Treatment is neither reported or given for such humans.
This is sampled once per human at birth.
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Ignore liver-stage drug treatment incompatibility
→ scenario → healthSystem → ImmediateOutcomes → liverStageDrug → ignoreCannotReceive
<ignoreCannotReceive
value=boolean
/>
Documentation (element)
If true, ignore pHumanCannotReceive and consider all humans eligible for treatment; if false (or not specified), do not treat those demed incompatible with liver-stage drug treatment.
The point of this is that pHumanCannotReceive cannot be altered by changeHS interventions, but this property can be.
Attributes
Input parameter value
value=boolean
A boolean value.
Prob use in UC case
→ scenario → healthSystem → ImmediateOutcomes → liverStageDrug → pUseUncomplicated
<pUseUncomplicated
value=double
/>
Documentation (element)
Units: Probability Min: 0 Max: 1
This feature is deprecated; it is suggested to use the "simple treatment" feature configured to clear liver-stage parasites, leaving this option unset or zero.
Chance of liver-stage drug treatment being used for routine treatment of an uncomplicated case.
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Effectiveness
→ scenario → healthSystem → ImmediateOutcomes → liverStageDrug → effectivenessOnUse
<effectivenessOnUse
value=double
/>
Documentation (element)
Units: Probability Min: 0 Max: 1
Chance that liver-stage drug treatment is effective.
On application, a random variable is sampled against this probability. If false, the treatment does nothing; if true, the treatment clears all liver stage parasites. Where effectiveness is longer than a single time step (prophylactic effect), this sample still only happens once (thus either no effect or all liver stages cleared over multiple steps).
Attributes
Input parameter value
value=double
A double-precision floating-point value.
DecisionTree5Day
→ scenario → healthSystem → DecisionTree5Day
<DecisionTree5Day
[ name=string ]
>
IN ANY ORDER:
| <pSeekOfficialCareUncomplicated1 ... />
| <pSelfTreatUncomplicated ... />
| <pSeekOfficialCareUncomplicated2 ... />
| <pSeekOfficialCareSevere ... />
| [ <liverStageDrug ... /> ]
| <treeUCOfficial ... />
| <treeUCSelfTreat ... />
| <cureRateSevere ... />
| <treatmentSevere ... />
</DecisionTree5Day>
- pSeekOfficialCareUncomplicated1
- pSelfTreatUncomplicated
- pSeekOfficialCareUncomplicated2
- pSeekOfficialCareSevere
- liverStageDrug
- treeUCOfficial
- treeUCSelfTreat
- cureRateSevere
- treatmentSevere
Documentation (type)
Description of the health system using the 5-day timestep with decision tree model: access is configured as in the Tediosi et al case management model (Case management as described in AJTMH 75 (suppl 2) pp90-103) while treatment decisions are configured via decision trees.
Besides greater flexibility, this allows treatment via PK/PD models.
Attributes
Name of case management parameterisation
name=string
Name of health system
Probability that a patient with uncomplicated disease seeks official care immediately.
→ scenario → healthSystem → DecisionTree5Day → pSeekOfficialCareUncomplicated1
<pSeekOfficialCareUncomplicated1
value=double
/>
Documentation (element)
Units: Dimensionless Min: 0.0 Max: 1.0
Probability that a patient with newly incident uncomplicated disease seeks official care
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Probability that a patient with uncomplicated disease will self-treat.
→ scenario → healthSystem → DecisionTree5Day → pSelfTreatUncomplicated
<pSelfTreatUncomplicated
value=double
/>
Documentation (element)
Units: Dimensionless Min: 0.0 Max: 1.0
Probability that a patient with uncomplicated disease without recent history of disease (i.e. first line) will self-treat.
Note that in second line cases there is no probability of self-treatment.
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Probability that a recurring patient seeks official care
→ scenario → healthSystem → DecisionTree5Day → pSeekOfficialCareUncomplicated2
<pSeekOfficialCareUncomplicated2
value=double
/>
Documentation (element)
Units: Dimensionless Min: 0.0 Max: 1.0
Probability that a patient with recurrence of uncomplicated disease seeks official care
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Probability that a patient with severe disease obtains appropriate care
→ scenario → healthSystem → DecisionTree5Day → pSeekOfficialCareSevere
<pSeekOfficialCareSevere
value=double
/>
Documentation (element)
Units: Dimensionless Min: 0.0 Max: 1.0
Probability that a patient with severe disease obtains appropriate care
Attributes
Input parameter value
value=double
A double-precision floating-point value.
liverStageDrug
→ scenario → healthSystem → DecisionTree5Day → liverStageDrug
<liverStageDrug>
IN ANY ORDER:
| <pHumanCannotReceive ... />
| [ <ignoreCannotReceive ... /> ]
| [ <pUseUncomplicated ... /> ]
| <effectivenessOnUse ... />
</liverStageDrug>
Documentation (type)
Parameters for drug treatment which have an effect on the liver-stage of parasites (Primaquine and potentially Tafenoquine); for use with the Vivax model only.
Note: if this section is not listed, the following default values are assumed: pHumanCannotReceive=0, pUseUncomplicated=0, effectivenessOnUse=1.
treeUCOfficial
→ scenario → healthSystem → DecisionTree5Day → treeUCOfficial
<treeUCOfficial
[ name=string ]
>
EXACTLY ONE OF:
| <multiple ... />
| <caseType ... />
| <diagnostic ... />
| <random ... />
| <age ... />
| <noTreatment ... />
| <treatFailure ... />
| ( <treatPKPD ... /> )+
| <treatSimple ... />
| ( <deploy ... /> )+
</treeUCOfficial>
Documentation (type)
Describes how "decisions" are made, both probabilistically and deterministically, and what actions are carried out.
Quantities may also be reported as a side effect of decisions made in the tree, for example the number of diagnostics used.
Attributes
Name
name=string
An optional piece of documentation attached to this node.
treeUCSelfTreat
→ scenario → healthSystem → DecisionTree5Day → treeUCSelfTreat
<treeUCSelfTreat
[ name=string ]
>
EXACTLY ONE OF:
| <multiple ... />
| <caseType ... />
| <diagnostic ... />
| <random ... />
| <age ... />
| <noTreatment ... />
| <treatFailure ... />
| ( <treatPKPD ... /> )+
| <treatSimple ... />
| ( <deploy ... /> )+
</treeUCSelfTreat>
Documentation (type)
Describes how "decisions" are made, both probabilistically and deterministically, and what actions are carried out.
Quantities may also be reported as a side effect of decisions made in the tree, for example the number of diagnostics used.
Attributes
Name
name=string
An optional piece of documentation attached to this node.
Cure rate (severe cases)
→ scenario → healthSystem → DecisionTree5Day → cureRateSevere
<cureRateSevere
value=double
/>
Documentation (element)
Min: 0 Max: 1
The probability of clearing parasites given access to appropriate (hospital) care, for a severe case.
Attributes
Input parameter value
value=double
A double-precision floating-point value.
treatmentSevere
→ scenario → healthSystem → DecisionTree5Day → treatmentSevere
<treatmentSevere
[ name=string ]
>
IN THIS ORDER:
| ( <deploy ... /> )*
</treatmentSevere>
Documentation (type)
Describes the effects of the treatment, assuming this compliance/adherence/... option is selected. Effects are described in terms of a list of options, each of which acts independently but with all effects being activated simultaneously.
Documentation (base type)
Lists intervention components which are deployed according to some external trigger (for example, screening with a negative patency outcome or health-system treatment).
Components are referenced from one or more sub-lists. Each of these lists is deployed independently if and only if its age constraints are met by the human host and a random sample with the given probability of a positive outcome is positive.
Attributes
Name
name=string
Describes what this compliance option represents (e.g. "good compliance", "poor compliance with good drugs", ...).
Case fatality rate for inpatients
→ scenario → healthSystem → CFR
<CFR
[ interpolation=("none" or "linear") ]
>
IN THIS ORDER:
| ( <group ... /> )+
</CFR>
Documentation (element)
Case fatality rate (probability of an inpatient fatality from a bout of severe malaria, per age-group).
Attributes
interpolation
interpolation=("none" or "linear")
Interpolation algorithm. Normally it is desirable for age-based values to be continuous w.r.t. age. By default linear interpolation is used. With all algorithms except "none", the age groups are converted to a set of points centred within each age range. Extra points are added at each end (zero and infinity) to keep value constant at both ends of the function. A zero-length age group may be used as a kind of barrier to adjust the distribution; e.g. with age group boundaries at 15, 20 and 25 years, a (linear) spline would be drawn between ages 17.5 and 22.5, whereas with boundaries at 15, 20 and 20 years, a spline would be drawn between ages 17.5 and 20 years (may be desired if individuals are assumed to reach adult size at 20). Algorithms:
- none: input values are used directly
- linear: straight lines (on an age vs. value graph) are used to interpolate data points.
Probabilities of sequelae in inpatients
→ scenario → healthSystem → pSequelaeInpatient
<pSequelaeInpatient
[ interpolation=("none" or "linear") ]
>
IN THIS ORDER:
| ( <group ... /> )+
</pSequelaeInpatient>
Documentation (element)
Units: Dimensionless
List of age-specific probabilities of sequelae in inpatients, during a severe bout of malaria.
Attributes
interpolation
interpolation=("none" or "linear")
Interpolation algorithm. Normally it is desirable for age-based values to be continuous w.r.t. age. By default linear interpolation is used. With all algorithms except "none", the age groups are converted to a set of points centred within each age range. Extra points are added at each end (zero and infinity) to keep value constant at both ends of the function. A zero-length age group may be used as a kind of barrier to adjust the distribution; e.g. with age group boundaries at 15, 20 and 25 years, a (linear) spline would be drawn between ages 17.5 and 22.5, whereas with boundaries at 15, 20 and 20 years, a spline would be drawn between ages 17.5 and 20 years (may be desired if individuals are assumed to reach adult size at 20). Algorithms:
- none: input values are used directly
- linear: straight lines (on an age vs. value graph) are used to interpolate data points.
Change transmission levels
→ scenario → interventions → changeEIR
<changeEIR
[ name=string ]
>
IN THIS ORDER:
| ( <timedDeployment ... /> )*
</changeEIR>
Documentation (element)
New description of transmission level for models not supporting vector control interventions. Use of this overrides previous transmission levels such that human infectiousness no longer has any feedback effect on transmission. Supplied EIR data must last until end of simulation.
Attributes
Name of intervention
name=string
Name of intervention
timedDeployment
→ scenario → interventions → changeEIR → timedDeployment
<timedDeployment
eipDuration=int
time=string
>
IN THIS ORDER:
| ( <EIRDaily ... /> )+
</timedDeployment>
Documentation (type)
Replacement transmission levels. Disables feedback of human infectiousness to mosquitoes on further mosquito to human transmission. Must last until end of simulation.
Attributes
Duration of sporogony
eipDuration=int
Units: Days
The duration of sporogony in days
Time
time=string
Units: User defined (defauls to steps) Min: 0
Time at which this replacement occurs. See doc on intervention period and on monitoring/startDate for details of how times work. Can be specified in steps, days, years, or as a date (examples: 15t, 75d, 0.2y, 2000-03-16).
EIRDaily
→ scenario → entomology → nonVector → EIRDaily
<EIRDaily
[ origin=string ]
>
double
</EIRDaily>
Documentation (type)
Units: Infectious bites per adult per day
In the non-vector model, EIR is input as a sequence of daily values. There must be at least one years' worth of entries (365), and if there are more, values are wrapped and averaged (i.e. value for first day of year is taken as the mean of values for days 0, 365+0, 2*365+0, etc.).
Attributes
Time origin of EIR sequence
origin=string
Imported infections
→ scenario → interventions → importedInfections
<importedInfections
[ name=string ]
>
IN THIS ORDER:
| <timed ... />
</importedInfections>
Documentation (element)
Models importation of P. falciparum infections directly into humans from an external source. This is infections, not inoculations or EIR being imported.
Attributes
Name of intervention
name=string
Name of intervention
Rate of importation
→ scenario → interventions → importedInfections → timed
<timed
[ period=string ] DEFAULT VALUE 0
>
IN THIS ORDER:
| ( <rate ... /> )+
</timed>
Documentation (element)
Rate of case importation, as a step function. Each value is valid until replaced by the next value.
Attributes
Period of repetition
period=string
Units: User defined (default: steps) Min: 0
Default value: 0
If period is 0 (or effectively infinite), the last specified value remains indefinitely in effect, otherwise the times of all values specified must be less than the period, and values are repeated modulo period (the step at time 'period+2t' has same value as the step at '2t', etc.). Can be specified in steps (e.g. 1t) or days (e.g. 365d).
rate
→ scenario → interventions → importedInfections → timed → rate
<rate
value=double
time=string
/>
Documentation (type)
Units: Imported cases per thousand people per year
A time-rate pair.
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Time of start
time=string
Units: User defined (defauls to steps) Min: 0
Time at which this importation rate becomes active. See doc on intervention period and on monitoring/startDate for details of how times work. Can be specified in steps, days, years, or as a date (examples: 15t, 75d, 0.2y, 2000-03-16).
Insert R_0 case
→ scenario → interventions → insertR_0Case
<insertR_0Case
[ name=string ]
>
IN THIS ORDER:
| ( <timedDeployment ... /> )*
</insertR_0Case>
Documentation (element)
Used to simulate R_0. First, infections should be eliminated, immunity removed, and the population given an effective transmission- blocking vaccine (not done by this intervention). Then this intervention may be used to: pick one human, infect him, administer a fully effective Preerythrocytic vaccine and remove transmission-blocking vaccine effect on this human. Thus only this one human will be a source of infections in an unprotected population, and will not reinfected himself.
Attributes
Name of intervention
name=string
Name of intervention
timedDeployment
→ scenario → interventions → insertR_0Case → timedDeployment
<timedDeployment
time=string
/>
Attributes
Time
time=string
Units: User defined (defauls to steps) Min: 0
Time at which this intervention occurs. See doc on intervention period and on monitoring/startDate for details of how times work. Can be specified in steps, days, years, or as a date (examples: 15t, 75d, 0.2y, 2000-03-16).
Uninfect vectors
→ scenario → interventions → uninfectVectors
<uninfectVectors
[ name=string ]
>
IN THIS ORDER:
| ( <timedDeployment ... /> )*
</uninfectVectors>
Documentation (element)
Units: List of elements
Removes all infections from mosquitoes -- resulting in zero EIR to humans, until such time that mosquitoes are re-infected and become infectious. Only efficacious in dynamic EIR mode (when changeEIR was not used).
Hypothetical, but potentially useful to simulate a setting starting from no infections, but with enough mosquitoes to reach a set equilibrium of exposure.
Attributes
Name of intervention
name=string
Name of intervention
timedDeployment
→ scenario → interventions → uninfectVectors → timedDeployment
<timedDeployment
time=string
/>
Attributes
Time
time=string
Units: User defined (defauls to steps) Min: 0
Time at which this intervention occurs. See doc on intervention period and on monitoring/startDate for details of how times work. Can be specified in steps, days, years, or as a date (examples: 15t, 75d, 0.2y, 2000-03-16).
Vector population intervention
→ scenario → interventions → vectorPop
<vectorPop>
IN THIS ORDER:
| ( <intervention ... /> )+
</vectorPop>
Documentation (element)
Units: List of elements
A list of parameterisations of generic vector host-inspecific interventions.
intervention
→ scenario → interventions → vectorPop → intervention
<intervention
name=string
>
IN THIS ORDER:
| <description ... />
| [ <timed ... /> ]
</intervention>
Documentation (type)
Units: List of elements
An intervention which may have various effects on the vector populations as a whole. (Not host specific.)
Multiple instances of this intervention class are allowed (multiple parameterisations, not just deployments).
Each instance may have multiple deployments. In this case the effects of each instance are independent (effects are combined) but the effects of multiple deployments of a single instance are not independent (only the latest deployment has any effect).
Attributes
Name of intervention
name=string
Name of intervention (e.g. larviciding, sugar bait).
description
→ scenario → interventions → vectorPop → intervention → description
<description>
IN THIS ORDER:
| ( <anopheles ... /> )+
</description>
anopheles
→ scenario → interventions → vectorPop → intervention → description → anopheles
<anopheles
mosquito=string
>
IN ANY ORDER:
| [ <seekingDeathRateIncrease ... /> ]
| [ <probDeathOvipositing ... /> ]
| [ <emergenceReduction ... /> ]
</anopheles>
Documentation (type)
Units: dimensionless Min: 0 Max: 1
Descriptions of the effects of vector interventions with per-species effects.
Attributes
Species/subspecies/variant name
mosquito=string
Name of the species/subspecies/variant.
Proportional increase in deaths while host searching
→ scenario → interventions → vectorPop → intervention → description → anopheles → seekingDeathRateIncrease
<seekingDeathRateIncrease
initial=double
>
IN THIS ORDER:
| <decay ... />
</seekingDeathRateIncrease>
Documentation (element)
Units: dimensionless
Describe an effect on the increase in the death rate while host seeking (mu_vA) due to this intervention.
Enter the rate increase (i.e. if rate increases to 120% of normal, give 0.2). New death rate while seeking is old × (1 + increase) where increase is this factor given. Must have increas ≥ -1.
Attributes
Initial proportion increase
initial=double
Units: dimensionless Min: -1 Max: inf
decay
→ scenario → interventions → vectorPop → intervention → description → anopheles → seekingDeathRateIncrease → decay
<decay
function=("constant" or "step" or "linear" or "exponential" or "weibull" or "hill" or "smooth-compact")
[ L=string ]
[ k=double ] DEFAULT VALUE 1.0
[ mu=double ] DEFAULT VALUE 0
[ sigma=double ] DEFAULT VALUE 0
/>
Documentation (type)
Specification of decay or survival of a parameter.
Attributes
function
function=("constant" or "step" or "linear" or "exponential" or "weibull" or "hill" or "smooth-compact")
Units: None Min: 0 Max: 1
Determines which decay function to use. Available decay functions, for age t in years: constant: 1 step: 1 for t less than L, otherwise 0 linear: 1 - t/L for t less than L, otherwise 0 exponential: exp( - t/L * log(2) ) weibull: exp( -(t/L)^k * log(2) ) hill: 1 / (1 + (t/L)^k) smooth-compact: exp( k - k / (1 - (t/L)^2) ) for t less than L, otherwise 0
L
L=string
Units: User-defined (defaults to years) Min: 0
(Time) scale parameter of distribution: this is either the age of complete decay (smooth-compact, step and linear functions) or the age at which the parameter has decayed to half its original value (exponential, weibull and hill). Not used when function="constant" (i.e. no decay). This value can be specified in years, days or steps (e.g. 2y, 180d or 100t). When the unit is not specified years are assumed. The value is used without rounding except when sampling an age of decay, when the rounding happens as late as possible.
k
k=double
Units: none Min: 0
Default value: 1.0
Shape parameter of distribution. If not specified, default value of 1 is used. Meaning depends on function; not used in some cases.
μ (mu)
mu=double
Min: 0
Default value: 0
If sigma is non-zero, heterogeneity of decay is introduced via a random variable sampled from the log-normal distribution with mu and sigma as specified. Both mu and sigma default to zero when not specified. The decay rate is multiplied by this variable (effectively, the half-life is divided by it). Note that with m=0, the median of the variable and the median value of L is unchanged, and thus the time at which the median decay amongst the population of decaying objects reaches half (assuming exponential, Weibull or Hill decay) is L. With m=-½σ² (negative half sigma squared) the mean of the variable will be 1 and mean of the half-life L, but the time at which mean decay of the population has reached half may not be L.
σ (sigma)
sigma=double
Min: 0
Default value: 0
If sigma is non-zero, heterogeneity of decay is introduced via a random variable sampled from the log-normal distribution with mu and sigma as specified. Both mu and sigma default to zero when not specified. The decay rate is multiplied by this variable (effectively, the half-life is divided by it).
Proportion ovipositing mosquitoes killed
→ scenario → interventions → vectorPop → intervention → description → anopheles → probDeathOvipositing
<probDeathOvipositing
initial=double
>
IN THIS ORDER:
| <decay ... />
</probDeathOvipositing>
Documentation (element)
Units: dimensionless
Describe an effect of increased mortality while ovipositing due to this intervention. Enter the probability of dying due to this intervention.
Attributes
Initial probability of killing
initial=double
Units: dimensionless Min: 0 Max: 1
decay
→ scenario → interventions → vectorPop → intervention → description → anopheles → probDeathOvipositing → decay
<decay
function=("constant" or "step" or "linear" or "exponential" or "weibull" or "hill" or "smooth-compact")
[ L=string ]
[ k=double ] DEFAULT VALUE 1.0
[ mu=double ] DEFAULT VALUE 0
[ sigma=double ] DEFAULT VALUE 0
/>
Documentation (type)
Specification of decay or survival of a parameter.
Attributes
function
function=("constant" or "step" or "linear" or "exponential" or "weibull" or "hill" or "smooth-compact")
Units: None Min: 0 Max: 1
Determines which decay function to use. Available decay functions, for age t in years: constant: 1 step: 1 for t less than L, otherwise 0 linear: 1 - t/L for t less than L, otherwise 0 exponential: exp( - t/L * log(2) ) weibull: exp( -(t/L)^k * log(2) ) hill: 1 / (1 + (t/L)^k) smooth-compact: exp( k - k / (1 - (t/L)^2) ) for t less than L, otherwise 0
L
L=string
Units: User-defined (defaults to years) Min: 0
(Time) scale parameter of distribution: this is either the age of complete decay (smooth-compact, step and linear functions) or the age at which the parameter has decayed to half its original value (exponential, weibull and hill). Not used when function="constant" (i.e. no decay). This value can be specified in years, days or steps (e.g. 2y, 180d or 100t). When the unit is not specified years are assumed. The value is used without rounding except when sampling an age of decay, when the rounding happens as late as possible.
k
k=double
Units: none Min: 0
Default value: 1.0
Shape parameter of distribution. If not specified, default value of 1 is used. Meaning depends on function; not used in some cases.
μ (mu)
mu=double
Min: 0
Default value: 0
If sigma is non-zero, heterogeneity of decay is introduced via a random variable sampled from the log-normal distribution with mu and sigma as specified. Both mu and sigma default to zero when not specified. The decay rate is multiplied by this variable (effectively, the half-life is divided by it). Note that with m=0, the median of the variable and the median value of L is unchanged, and thus the time at which the median decay amongst the population of decaying objects reaches half (assuming exponential, Weibull or Hill decay) is L. With m=-½σ² (negative half sigma squared) the mean of the variable will be 1 and mean of the half-life L, but the time at which mean decay of the population has reached half may not be L.
σ (sigma)
sigma=double
Min: 0
Default value: 0
If sigma is non-zero, heterogeneity of decay is introduced via a random variable sampled from the log-normal distribution with mu and sigma as specified. Both mu and sigma default to zero when not specified. The decay rate is multiplied by this variable (effectively, the half-life is divided by it).
Proportion of emerging pupa killed
→ scenario → interventions → vectorPop → intervention → description → anopheles → emergenceReduction
<emergenceReduction
initial=double
>
IN THIS ORDER:
| <decay ... />
</emergenceReduction>
Documentation (element)
Units: dimensionless
Describe an effect on emergence of pupa into adults: this value is the proportion of emerging pupa which are killed by this intervention.
This can be used as a crude way of modelling larviciding. It ca also be used to increase emergence by giving a negative value. The emergence rate is "old rate" × (1 - factor) where factor is the value given here; thus, for example, using -1 will double emergence.
Attributes
Initial proportion reduction
initial=double
Units: dimensionless Min: -inf Max: 1
decay
→ scenario → interventions → vectorPop → intervention → description → anopheles → emergenceReduction → decay
<decay
function=("constant" or "step" or "linear" or "exponential" or "weibull" or "hill" or "smooth-compact")
[ L=string ]
[ k=double ] DEFAULT VALUE 1.0
[ mu=double ] DEFAULT VALUE 0
[ sigma=double ] DEFAULT VALUE 0
/>
Documentation (type)
Specification of decay or survival of a parameter.
Attributes
function
function=("constant" or "step" or "linear" or "exponential" or "weibull" or "hill" or "smooth-compact")
Units: None Min: 0 Max: 1
Determines which decay function to use. Available decay functions, for age t in years: constant: 1 step: 1 for t less than L, otherwise 0 linear: 1 - t/L for t less than L, otherwise 0 exponential: exp( - t/L * log(2) ) weibull: exp( -(t/L)^k * log(2) ) hill: 1 / (1 + (t/L)^k) smooth-compact: exp( k - k / (1 - (t/L)^2) ) for t less than L, otherwise 0
L
L=string
Units: User-defined (defaults to years) Min: 0
(Time) scale parameter of distribution: this is either the age of complete decay (smooth-compact, step and linear functions) or the age at which the parameter has decayed to half its original value (exponential, weibull and hill). Not used when function="constant" (i.e. no decay). This value can be specified in years, days or steps (e.g. 2y, 180d or 100t). When the unit is not specified years are assumed. The value is used without rounding except when sampling an age of decay, when the rounding happens as late as possible.
k
k=double
Units: none Min: 0
Default value: 1.0
Shape parameter of distribution. If not specified, default value of 1 is used. Meaning depends on function; not used in some cases.
μ (mu)
mu=double
Min: 0
Default value: 0
If sigma is non-zero, heterogeneity of decay is introduced via a random variable sampled from the log-normal distribution with mu and sigma as specified. Both mu and sigma default to zero when not specified. The decay rate is multiplied by this variable (effectively, the half-life is divided by it). Note that with m=0, the median of the variable and the median value of L is unchanged, and thus the time at which the median decay amongst the population of decaying objects reaches half (assuming exponential, Weibull or Hill decay) is L. With m=-½σ² (negative half sigma squared) the mean of the variable will be 1 and mean of the half-life L, but the time at which mean decay of the population has reached half may not be L.
σ (sigma)
sigma=double
Min: 0
Default value: 0
If sigma is non-zero, heterogeneity of decay is introduced via a random variable sampled from the log-normal distribution with mu and sigma as specified. Both mu and sigma default to zero when not specified. The decay rate is multiplied by this variable (effectively, the half-life is divided by it).
Vector population intervention deployment
→ scenario → interventions → vectorPop → intervention → timed
<timed>
IN THIS ORDER:
| ( <deploy ... /> )+
</timed>
Documentation (element)
List of timed vector population intervention deployment
deploy
→ scenario → interventions → vectorPop → intervention → timed → deploy
<deploy
time=string
/>
Attributes
Time
time=string
Units: User defined (defauls to steps) Min: 0
Time at which this deployment occurs. See doc on intervention period and on monitoring/startDate for details of how times work. Can be specified in steps, days, years, or as a date (examples: 15t, 75d, 0.2y, 2000-03-16).
Baited trap
→ scenario → interventions → vectorTrap
<vectorTrap>
IN THIS ORDER:
| ( <intervention ... /> )+
</vectorTrap>
Documentation (element)
Traps attract and kill mosquitoes. They are modelled as a non-human-host where the probability of mosquitoes surviving feeding is zero (since otherwise the simulator would assume surviving mosquitoes have had a blood meal), and where this "host" is initially not present.
Model: each type of trap has has an initial availability relative to a human and a decay in availability. Each deployment has a fixed maximum lifespan, after which the traps from that deployment are removed (it is up to the user whether this is after availability is effectively zero or sooner, either coinciding with a redeployment or causing a reduction in overall effectiveness of traps).
intervention
→ scenario → interventions → vectorTrap → intervention
<intervention
[ name=string ]
>
IN THIS ORDER:
| ( <description ... /> )+
| [ <timed ... /> ]
</intervention>
Documentation (type)
Parameters and deployment of one type of trap. In case multiple types of trap are needed simultaneously, multiple elements can be used. Note that different types of trap do not interact except that all will attract mosquitoes.
Attributes
Descriptive name for type of trap
name=string
Optional name for this type of trap
Description
→ scenario → interventions → vectorTrap → intervention → description
<description
mosquito=string
>
IN THIS ORDER:
| <relativeAvailability ... />
| <decayOfAvailability ... />
</description>
Documentation (element)
Parameters associated with a vector trap intervention, per mosquito species.
Attributes
Species/subspecies/variant name
mosquito=string
Name of the species/subspecies/variant.
Initial relative availability
→ scenario → interventions → vectorTrap → intervention → description → relativeAvailability
<relativeAvailability
value=double
/>
Documentation (element)
Units: Proportion Min: 0 Max: inf
Describes the availiability of a trap to a host-seeking mosquito relative to an average unprotected adult.
I.e. if this parameter is 2, then each trap will on average attract twice as many mosquitoes as unprotected adults.
This is the initial availability; it may decay towards zero depending on the configured decay function.
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Decay of availability
→ scenario → interventions → vectorTrap → intervention → description → decayOfAvailability
<decayOfAvailability
function=("constant" or "step" or "linear" or "exponential" or "weibull" or "hill" or "smooth-compact")
[ L=string ]
[ k=double ] DEFAULT VALUE 1.0
[ mu=double ] DEFAULT VALUE 0
[ sigma=double ] DEFAULT VALUE 0
/>
Documentation (element)
Describes how availability decays to zero.
If decay heterogeneity/variance is used, there will be a sample once-per-deployment (i.e. all traps of the same deployment will be affected the same way). There is no support for variances between traps (except in this crude way, between deployments).
Documentation (type)
Specification of decay or survival of a parameter.
Attributes
function
function=("constant" or "step" or "linear" or "exponential" or "weibull" or "hill" or "smooth-compact")
Units: None Min: 0 Max: 1
Determines which decay function to use. Available decay functions, for age t in years: constant: 1 step: 1 for t less than L, otherwise 0 linear: 1 - t/L for t less than L, otherwise 0 exponential: exp( - t/L * log(2) ) weibull: exp( -(t/L)^k * log(2) ) hill: 1 / (1 + (t/L)^k) smooth-compact: exp( k - k / (1 - (t/L)^2) ) for t less than L, otherwise 0
L
L=string
Units: User-defined (defaults to years) Min: 0
(Time) scale parameter of distribution: this is either the age of complete decay (smooth-compact, step and linear functions) or the age at which the parameter has decayed to half its original value (exponential, weibull and hill). Not used when function="constant" (i.e. no decay). This value can be specified in years, days or steps (e.g. 2y, 180d or 100t). When the unit is not specified years are assumed. The value is used without rounding except when sampling an age of decay, when the rounding happens as late as possible.
k
k=double
Units: none Min: 0
Default value: 1.0
Shape parameter of distribution. If not specified, default value of 1 is used. Meaning depends on function; not used in some cases.
μ (mu)
mu=double
Min: 0
Default value: 0
If sigma is non-zero, heterogeneity of decay is introduced via a random variable sampled from the log-normal distribution with mu and sigma as specified. Both mu and sigma default to zero when not specified. The decay rate is multiplied by this variable (effectively, the half-life is divided by it). Note that with m=0, the median of the variable and the median value of L is unchanged, and thus the time at which the median decay amongst the population of decaying objects reaches half (assuming exponential, Weibull or Hill decay) is L. With m=-½σ² (negative half sigma squared) the mean of the variable will be 1 and mean of the half-life L, but the time at which mean decay of the population has reached half may not be L.
σ (sigma)
sigma=double
Min: 0
Default value: 0
If sigma is non-zero, heterogeneity of decay is introduced via a random variable sampled from the log-normal distribution with mu and sigma as specified. Both mu and sigma default to zero when not specified. The decay rate is multiplied by this variable (effectively, the half-life is divided by it).
Vector trap intervention deployment
→ scenario → interventions → vectorTrap → intervention → timed
<timed>
IN THIS ORDER:
| ( <deploy ... /> )*
</timed>
Documentation (element)
List of timed vector trap intervention deployment
deploy
→ scenario → interventions → vectorTrap → intervention → timed → deploy
<deploy
time=string
ratioToHumans=double
lifespan=string
/>
Attributes
Time
time=string
Units: User defined (defauls to steps) Min: 0
Time at which this deployment occurs. See doc on intervention period and on monitoring/startDate for details of how times work. Can be specified in steps, days, years, or as a date (examples: 15t, 75d, 0.2y, 2000-03-16).
Ratio to humans
ratioToHumans=double
Min: 0 Max: inf
The number of traps deployed, by this deployment, per adult human. E.g. if there are currently 100 traps and 1000 humans, then a ratio of 0.1 will increase the number of traps to 200.
Lifespan
lifespan=string
Units: Steps or Days or Years
Life of the trap until replaced or removed, e.g. "73t" or "1y". After this time period, these traps will be removed from the simulation. New deployments do not automatically remove old traps. Existing traps cannot be refurbished in the model. It may make sense to make the end-of-life coincide with a new deployment.
Human-specific interventions
→ scenario → interventions → human
<human>
IN THIS ORDER:
| ( <component ... /> )+
| ( <deployment ... /> )*
</human>
Documentation (element)
Encapsulates all interventions whose effects are specific to the human host: any interventions where target humans may be selected via population-coverage, age limits and sub-population membership.
Component
→ scenario → interventions → human → component
<component
id=string
[ name=string ]
>
IN THIS ORDER:
| EXACTLY ONE OF:
| | <screen ... />
| | <treatSimple ... />
| | <treatPKPD ... />
| | <decisionTree ... />
| | <PEV ... />
| | <BSV ... />
| | <TBV ... />
| | <ITN ... />
| | <IRS ... />
| | <GVI ... />
| | [ <recruitmentOnly ... /> ]
| | <clearImmunity ... />
| [ <subPopRemoval ... /> ]
</component>
- screen
- treatSimple
- treatPKPD
- decisionTree
- PEV
- BSV
- TBV
- ITN
- IRS
- GVI
- recruitmentOnly
- clearImmunity
- subPopRemoval
Documentation (element)
A parameterisation of an effect achieved by one component of an intervention. (An intervention is described as the effects of a set of components plus deployments of those components. This describes the components individually, not deployments or which components comprise an intervention.)
Each element describes one component: its effects, decay of the(se) effect(s), and related stuff (e.g. description of indirect decay and of usage levels).
Different interventions can deploy the same component to the same perso. In most cases this will just deploy a fresh instance (e.g. a new bed net will replace the old (nobody uses multiple bed nets), or a new drug dose will act on top of previous doses, or in the case of a vaccine, effect depends on the total number of previous inoculations (including from other interventions).
Where multiple components of the same type (but with different ids) are deployed (whether within a single intervention or by multiple interventions), they act independently (e.g. two bed nets deployed to a single host would act to reduce attractiveness or survival of mosquitoes biting that host twice — this may be useful to simulate some novel vector intervention since the two nets may have separate parameters).
Attributes
Component identifier
id=string
A short name or code identifying the intervention component (used to refer to this component when describing an intervention). Also the id of the sub-population defined as those hosts who have received this intervention and who haven't subsequently been removed from the sub-population.
Name of component
name=string
An informal name/description for the component
screen
→ scenario → interventions → human → component → screen
<screen
diagnostic=string
>
IN THIS ORDER:
| ( <positive ... /> )*
| ( <negative ... /> )*
</screen>
Documentation (type)
This can be combined with MDA to achieve mass screen and treat (MSAT) or other types of mass screening intervention.
When deployed to a host, this simulates a test of patent malaria (microscopy, RDT or some such), then triggers deployment of whichever intervention components are configured (deployments for both positive and negative test outcomes can be configured).
The use of the screening itself is reported (if enabled), but not the outcome. Deployment of interventions triggered by the screening may be reported, however.
Attributes
Name of diagnostic
diagnostic=string
Name of a parameterised diagnostic (see scenario/diagnostics).
positive
→ scenario → interventions → human → component → screen → positive
<positive
id=string
/>
Documentation (type)
The list of components deployed to eligible humans.
Attributes
Identifier
id=string
The identifier (short name) of a component.
negative
→ scenario → interventions → human → component → screen → negative
<negative
id=string
/>
Documentation (type)
The list of components deployed to eligible humans.
Attributes
Identifier
id=string
The identifier (short name) of a component.
treatSimple
→ scenario → interventions → human → component → treatSimple
<treatSimple
durationLiver=string
durationBlood=string
/>
Documentation (type)
Simple treatment model, targetting liver- and/or blood-stage infections. This is all-or-nothing treatment which, when deploymed, completely clears all infections of the targetted stages. This makes it unsuitable for modeling resistance, but suitable for use with simple infection models.
Infections are considered liver-stage when less than five days old and blood-stage after that. Effects are described independently for the two stages.
Attributes
Length of liver-stage effect
durationLiver=string
Units: User defined
Controls action on liver-stage infections. 0 means no action, -1 step is a compatibility option to act like treatment before schema version 32 (which removed infections retrospectively), 1 step or any duration which equals some whole number of steps n>0 means to clear all liver-stage infections found on the next 1 or n steps. Note on -1 compatibility option: the main difference to 1 step (clearing on the next timestep) is that parasite densities will be reduced immediately, and thus from the point of view of surveys and mass screen and treat interventions a peak in density which is immediately treated through case management will not be seen. Can be specified in steps (e.g. 1t, -1t) or days (e.g. 5d).
Length of blood-stage effect
durationBlood=string
Units: User defined
Controls action on blood-stage infections. 0 means no action, -1 step is a compatibility option to act like treatment before schema version 32 (which removed infections retrospectively), 1 step or any duration which equals some whole number of steps n>0 means to clear all blood-stage infections found on the next 1 or n steps. Note on -1 compatibility option: the main difference to 1 step (clearing on the next timestep) is that parasite densities will be reduced immediately, and thus from the point of view of surveys and mass screen and treat interventions a peak in density which is immediately treated through case management will not be seen. Can be specified in steps (e.g. 1t, -1t) or days (e.g. 5d).
treatPKPD
→ scenario → interventions → human → component → treatPKPD
<treatPKPD
schedule=string
dosage=string
[ delay_h=double ] DEFAULT VALUE 0
/>
Documentation (type)
A command to administer drugs according to a given schedule and dosage table, optionally with a delay.
Attributes
Name of treatment schedule
schedule=string
The name of a schedule to use for treatment.
Name of dosage table
dosage=string
The name of a dosage table to use for treatment.
Delay (hours)
delay_h=double
Default value: 0
Optionally, this can be given to delay the start of treatment by a given number of hours. If not specified, treatment is not delayed. If a delay is given, all medications within the treatment schedule used are delayed by this number of hours.
decisionTree
→ scenario → interventions → human → component → decisionTree
<decisionTree
[ name=string ]
>
EXACTLY ONE OF:
| <multiple ... />
| <caseType ... />
| <diagnostic ... />
| <random ... />
| <age ... />
| <noTreatment ... />
| <treatFailure ... />
| ( <treatPKPD ... /> )+
| <treatSimple ... />
| ( <deploy ... /> )+
</decisionTree>
Documentation (type)
Describes how "decisions" are made, both probabilistically and deterministically, and what actions are carried out.
Quantities may also be reported as a side effect of decisions made in the tree, for example the number of diagnostics used.
Attributes
Name
name=string
An optional piece of documentation attached to this node.
Vaccines
→ scenario → interventions → human → component → PEV
<PEV>
IN THIS ORDER:
| <decay ... />
| <efficacyB ... />
| ( <initialEfficacy ... /> )+
</PEV>
Documentation (element)
Pre-erythrocytic vaccine (PEV): prevents a proportion of infections from commencing.
Documentation (type)
Description of a vaccine's effect
Decay of effect
→ scenario → interventions → human → component → PEV → decay
<decay
function=("constant" or "step" or "linear" or "exponential" or "weibull" or "hill" or "smooth-compact")
[ L=string ]
[ k=double ] DEFAULT VALUE 1.0
[ mu=double ] DEFAULT VALUE 0
[ sigma=double ] DEFAULT VALUE 0
/>
Documentation (element)
Specification of decay of efficacy. Documentation: see DecayFunction type or https://github.com/SwissTPH/openmalaria/wiki/ModelDecayFunctions
Documentation (type)
Specification of decay or survival of a parameter.
Attributes
function
function=("constant" or "step" or "linear" or "exponential" or "weibull" or "hill" or "smooth-compact")
Units: None Min: 0 Max: 1
Determines which decay function to use. Available decay functions, for age t in years: constant: 1 step: 1 for t less than L, otherwise 0 linear: 1 - t/L for t less than L, otherwise 0 exponential: exp( - t/L * log(2) ) weibull: exp( -(t/L)^k * log(2) ) hill: 1 / (1 + (t/L)^k) smooth-compact: exp( k - k / (1 - (t/L)^2) ) for t less than L, otherwise 0
L
L=string
Units: User-defined (defaults to years) Min: 0
(Time) scale parameter of distribution: this is either the age of complete decay (smooth-compact, step and linear functions) or the age at which the parameter has decayed to half its original value (exponential, weibull and hill). Not used when function="constant" (i.e. no decay). This value can be specified in years, days or steps (e.g. 2y, 180d or 100t). When the unit is not specified years are assumed. The value is used without rounding except when sampling an age of decay, when the rounding happens as late as possible.
k
k=double
Units: none Min: 0
Default value: 1.0
Shape parameter of distribution. If not specified, default value of 1 is used. Meaning depends on function; not used in some cases.
μ (mu)
mu=double
Min: 0
Default value: 0
If sigma is non-zero, heterogeneity of decay is introduced via a random variable sampled from the log-normal distribution with mu and sigma as specified. Both mu and sigma default to zero when not specified. The decay rate is multiplied by this variable (effectively, the half-life is divided by it). Note that with m=0, the median of the variable and the median value of L is unchanged, and thus the time at which the median decay amongst the population of decaying objects reaches half (assuming exponential, Weibull or Hill decay) is L. With m=-½σ² (negative half sigma squared) the mean of the variable will be 1 and mean of the half-life L, but the time at which mean decay of the population has reached half may not be L.
σ (sigma)
sigma=double
Min: 0
Default value: 0
If sigma is non-zero, heterogeneity of decay is introduced via a random variable sampled from the log-normal distribution with mu and sigma as specified. Both mu and sigma default to zero when not specified. The decay rate is multiplied by this variable (effectively, the half-life is divided by it).
Variance parameter for vaccine efficacy
→ scenario → interventions → human → component → PEV → efficacyB
<efficacyB
value=double
/>
Documentation (element)
Units: Positive real Min: 0.001 Max: 1.00E+06
Measure of variation in vaccine efficacy: efficacy is sampled from a beta distribution with efficacyB its beta parameter and its alpha parameter fixed such that the mean is that given by initialEfficacy.
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Initial mean efficacy
→ scenario → interventions → human → component → PEV → initialEfficacy
<initialEfficacy
value=double
/>
Documentation (element)
Units: dimensionless Min: 0 Max: 1
Mean efficacy values before decay (see efficacyB and decay parameter descriptions for sampling and decay). The i-th value in this list is used for the efficacy of the vaccine after the i-th dose. Where more doses are given than there are values in this list, the last value is repeated.
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Vaccines
→ scenario → interventions → human → component → BSV
<BSV>
IN THIS ORDER:
| <decay ... />
| <efficacyB ... />
| ( <initialEfficacy ... /> )+
</BSV>
Documentation (element)
Blood-stage vaccine (BSV): acts as a killing factor on blood-stage parasites. Exact action depends on the within host model.
Documentation (type)
Description of a vaccine's effect
Vaccines
→ scenario → interventions → human → component → TBV
<TBV>
IN THIS ORDER:
| <decay ... />
| <efficacyB ... />
| ( <initialEfficacy ... /> )+
</TBV>
Documentation (element)
Transmission-blocking vaccine (TBV): one minus this scales the probability of transmission to mosquitoes
Documentation (type)
Description of a vaccine's effect
Bed nets
→ scenario → interventions → human → component → ITN
<ITN>
IN THIS ORDER:
| [ <usage ... /> ]
| <holeRate ... />
| <ripRate ... />
| <ripFactor ... />
| <initialInsecticide ... />
| <insecticideDecay ... />
| <attritionOfNets ... />
| ( <anophelesParams ... /> )+
</ITN>
- usage
- holeRate
- ripRate
- ripFactor
- initialInsecticide
- insecticideDecay
- attritionOfNets
- anophelesParams
Documentation (element)
Description of bed-net interventions (ITNs, LLINs).
Proportion of time nets are used by humans
→ scenario → interventions → human → component → ITN → usage
<usage
value=double
/>
Documentation (element)
Units: dimensionless Min: 0 Max: 1
Usage of nets by humans, from 0 to 1.
At the moment this is constant across humans and deterministic: relative attractiveness and survival factors are base*(1-usagepropActing) + intervention_factorusage*propActing.
See also "propActing" (proportion of bits for which net acts).
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Rate at which holes are made
→ scenario → interventions → human → component → ITN → holeRate
<holeRate
mean=double
sigma=double
/>
Documentation (element)
Units: Holes per annum Min: 0
The rate at which new holes are made in nets.
nHoles(t) = nHoles(t-1) + X where X~Pois(R/T) where T is the number of time-steps per year. R is sampled from log-normal: R ~ log N( log(mean)-sigma²/2, sigma² ) and is covariant with ripRate and insecticideDecay. (To be exact, a single Gaussian sample is taken, adjusted for each sigma then exponentiated.)
Documentation (type)
Parameters of a log-normal distribution.
Variates are sampled as: X ~ ln N( log(mean)-sigma²/2, sigma² ).
Equivalent R sample: rlnorm(n, log(m) - s*s/2, s)
Attributes
mean
mean=double
Units: (same as base units)
The mean of the lognormal distribution.
sigma
sigma=double
Sigma parameter of the lognormal distribution; sigma squared is the variance of the log of samples.
Rate at which holes are enlarged
→ scenario → interventions → human → component → ITN → ripRate
<ripRate
mean=double
sigma=double
/>
Documentation (element)
Units: Rips per existing hole per annum Min: 0
Each existing hole has a probability of being ripped bigger according to a Poisson process with this rate as (only) parameter.
New rips occur in a net at rate X~Pois(h×R/T) where h is the number of existing holes and T the number of time-steps per year. R is sampled from log-normal: R ~ log N( log(mean)-sigma²/2, sigma² ) and is covariant with holeRate and insecticideDecay. (To be exact, a single Gaussian sample is taken, adjusted for the each and sigma then exponentiated.)
Documentation (type)
Parameters of a log-normal distribution.
Variates are sampled as: X ~ ln N( log(mean)-sigma²/2, sigma² ).
Equivalent R sample: rlnorm(n, log(m) - s*s/2, s)
Attributes
mean
mean=double
Units: (same as base units)
The mean of the lognormal distribution.
sigma
sigma=double
Sigma parameter of the lognormal distribution; sigma squared is the variance of the log of samples.
Rip factor
→ scenario → interventions → human → component → ITN → ripFactor
<ripFactor
value=double
/>
Documentation (element)
Units: none Min: 0
This factor expresses how important rips are in increasing the hole.
The hole index of a net is h + F×x where h and x are the total numbers of holes and rips respectively and F is the rip factor.
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Initial insecticide
→ scenario → interventions → human → component → ITN → initialInsecticide
<initialInsecticide
mu=double
sigma=double
/>
Documentation (element)
Units: mg/m² Min: 0
The insecticide concentration of new nets is Gaussian distributed with mean "mu" and a standard deviation "sigma". The standard deviation should be small relative to the mean to avoid negative initial concentration. Any negative values sampled are set to 0.
Documentation (type)
Parameters of a normal distribution.
Variates are sampled as: X ~ N( mu, sigma² ).
Attributes
mu
mu=double
Units: (same as base units)
The mean of the normal distribution.
sigma
sigma=double
Units: (same as base units)
The standard deviation of variates.
Decay of insecticide
→ scenario → interventions → human → component → ITN → insecticideDecay
<insecticideDecay
function=("constant" or "step" or "linear" or "exponential" or "weibull" or "hill" or "smooth-compact")
[ L=string ]
[ k=double ] DEFAULT VALUE 1.0
[ mu=double ] DEFAULT VALUE 0
[ sigma=double ] DEFAULT VALUE 0
/>
Documentation (element)
Units: none
Decay curve for insecticide content of nets. Documentation: see DecayFunction type or https://github.com/SwissTPH/openmalaria/wiki/ModelDecayFunctions
The distribution of decay rates over nets is covariant with the distribution of ripRate and holeRate over nets. This distribution is generated by taking one sample per net from a Gaussian distribution with mean 0 and standard deviation 1. For each variable, the sample is multiplied by the respective sigma and a constant added such that, once exponentiated, the mean of the variable over nets is 1. The variable is then exponentiated and multiplied by the required mean rate for the respective variable.
Documentation (type)
Specification of decay or survival of a parameter.
Attributes
function
function=("constant" or "step" or "linear" or "exponential" or "weibull" or "hill" or "smooth-compact")
Units: None Min: 0 Max: 1
Determines which decay function to use. Available decay functions, for age t in years: constant: 1 step: 1 for t less than L, otherwise 0 linear: 1 - t/L for t less than L, otherwise 0 exponential: exp( - t/L * log(2) ) weibull: exp( -(t/L)^k * log(2) ) hill: 1 / (1 + (t/L)^k) smooth-compact: exp( k - k / (1 - (t/L)^2) ) for t less than L, otherwise 0
L
L=string
Units: User-defined (defaults to years) Min: 0
(Time) scale parameter of distribution: this is either the age of complete decay (smooth-compact, step and linear functions) or the age at which the parameter has decayed to half its original value (exponential, weibull and hill). Not used when function="constant" (i.e. no decay). This value can be specified in years, days or steps (e.g. 2y, 180d or 100t). When the unit is not specified years are assumed. The value is used without rounding except when sampling an age of decay, when the rounding happens as late as possible.
k
k=double
Units: none Min: 0
Default value: 1.0
Shape parameter of distribution. If not specified, default value of 1 is used. Meaning depends on function; not used in some cases.
μ (mu)
mu=double
Min: 0
Default value: 0
If sigma is non-zero, heterogeneity of decay is introduced via a random variable sampled from the log-normal distribution with mu and sigma as specified. Both mu and sigma default to zero when not specified. The decay rate is multiplied by this variable (effectively, the half-life is divided by it). Note that with m=0, the median of the variable and the median value of L is unchanged, and thus the time at which the median decay amongst the population of decaying objects reaches half (assuming exponential, Weibull or Hill decay) is L. With m=-½σ² (negative half sigma squared) the mean of the variable will be 1 and mean of the half-life L, but the time at which mean decay of the population has reached half may not be L.
σ (sigma)
sigma=double
Min: 0
Default value: 0
If sigma is non-zero, heterogeneity of decay is introduced via a random variable sampled from the log-normal distribution with mu and sigma as specified. Both mu and sigma default to zero when not specified. The decay rate is multiplied by this variable (effectively, the half-life is divided by it).
Attrition of nets
→ scenario → interventions → human → component → ITN → attritionOfNets
<attritionOfNets
function=("constant" or "step" or "linear" or "exponential" or "weibull" or "hill" or "smooth-compact")
[ L=string ]
[ k=double ] DEFAULT VALUE 1.0
[ mu=double ] DEFAULT VALUE 0
[ sigma=double ] DEFAULT VALUE 0
/>
Documentation (element)
Units: dimensionless
Specifies the rate at which nets are disposed of over time. Documentation: see DecayFunction type or https://github.com/SwissTPH/openmalaria/wiki/ModelDecayFunctions
In the current model, nets are disposed of randomly (no correlation with state of decay) such that the chance of each net surviving until age t is the value of this decay function at time t. Equivalently (where a large number of nets are distributed at the same time), the proportion of nets remaining in use should match this decay function over time.
Humans are removed from the intervention component's sub-population on disposal (attrition) of their nets. Currently this event is not reported.
Documentation (type)
Specification of decay or survival of a parameter.
Attributes
function
function=("constant" or "step" or "linear" or "exponential" or "weibull" or "hill" or "smooth-compact")
Units: None Min: 0 Max: 1
Determines which decay function to use. Available decay functions, for age t in years: constant: 1 step: 1 for t less than L, otherwise 0 linear: 1 - t/L for t less than L, otherwise 0 exponential: exp( - t/L * log(2) ) weibull: exp( -(t/L)^k * log(2) ) hill: 1 / (1 + (t/L)^k) smooth-compact: exp( k - k / (1 - (t/L)^2) ) for t less than L, otherwise 0
L
L=string
Units: User-defined (defaults to years) Min: 0
(Time) scale parameter of distribution: this is either the age of complete decay (smooth-compact, step and linear functions) or the age at which the parameter has decayed to half its original value (exponential, weibull and hill). Not used when function="constant" (i.e. no decay). This value can be specified in years, days or steps (e.g. 2y, 180d or 100t). When the unit is not specified years are assumed. The value is used without rounding except when sampling an age of decay, when the rounding happens as late as possible.
k
k=double
Units: none Min: 0
Default value: 1.0
Shape parameter of distribution. If not specified, default value of 1 is used. Meaning depends on function; not used in some cases.
μ (mu)
mu=double
Min: 0
Default value: 0
If sigma is non-zero, heterogeneity of decay is introduced via a random variable sampled from the log-normal distribution with mu and sigma as specified. Both mu and sigma default to zero when not specified. The decay rate is multiplied by this variable (effectively, the half-life is divided by it). Note that with m=0, the median of the variable and the median value of L is unchanged, and thus the time at which the median decay amongst the population of decaying objects reaches half (assuming exponential, Weibull or Hill decay) is L. With m=-½σ² (negative half sigma squared) the mean of the variable will be 1 and mean of the half-life L, but the time at which mean decay of the population has reached half may not be L.
σ (sigma)
sigma=double
Min: 0
Default value: 0
If sigma is non-zero, heterogeneity of decay is introduced via a random variable sampled from the log-normal distribution with mu and sigma as specified. Both mu and sigma default to zero when not specified. The decay rate is multiplied by this variable (effectively, the half-life is divided by it).
anophelesParams
→ scenario → interventions → human → component → ITN → anophelesParams
<anophelesParams
mosquito=string
[ propActive=double ] DEFAULT VALUE 1
>
IN THIS ORDER:
| EXACTLY ONE OF:
| | <deterrency ... />
| | <twoStageDeterrency ... />
| <preprandialKillingEffect ... />
| <postprandialKillingEffect ... />
</anophelesParams>
Attributes
Mosquito species
mosquito=string
Name of the affected anopheles-mosquito species.
Proportion of bites for which net acts
propActive=double
Units: dimensionless Min: 0 Max: 1
Default value: 1
The proportion of bites, when nets are in use, for which the net has any action whatsoever on the mosquito. At the moment this is constant across humans and deterministic: relative attractiveness and survival factors are base*(1-usagepropActing) + intervention_factorusage*propActing. See also "usage" (proportion of time nets are used by humans).
Relative attractiveness
→ scenario → interventions → human → component → ITN → anophelesParams → deterrency
<deterrency
insecticideFactor=double
insecticideScalingFactor=double
holeFactor=double
interactionFactor=double
holeScalingFactor=double
/>
Documentation (element)
Units: dimensionless Min: 0 Max: 1
Effect of net on attractiveness of humans to mosquitoes relative to an unprotected adult human. Parameterisations should take into account that mosquitoes do not always bite indoors.
Attractiveness of the human is multiplied by exp(log(H)×h + log(P)×p + log(I)×h×p where H, P and I are the hole, insecticide and interaction factors respectively, h=exp(-holeIndex×holeScalingFactor) and p=1−exp(-insecticideContent×insecticideScalingFactor).
Attributes
Insecticide factor
insecticideFactor=double
Units: none Max: 1
Value expected to be at least 0. Negative values are not necessarily invalid, but allow nets to increase transmission.
Insecticide scaling factor
insecticideScalingFactor=double
Units: none Min: 0
Hole factor
holeFactor=double
Units: none Max: 1
Value expected to be at least 0. Negative values are not necessarily invalid, but allow nets to increase transmission.
Interaction factor
interactionFactor=double
Units: none Max: 1
holeFactor + insecticideFactor + interactionFactor must not be greater than 1, and is expected to be at least 0. A negative value is not necessarily invalid, but allows nets to increase transmission.
Hole scaling factor
holeScalingFactor=double
Units: none Min: 0
Relative attractiveness
→ scenario → interventions → human → component → ITN → anophelesParams → twoStageDeterrency
<twoStageDeterrency>
IN ANY ORDER:
| <entering ... />
| <attacking ... />
</twoStageDeterrency>
Documentation (element)
Units: dimensionless
Effect of net on attractiveness of humans to mosquitoes relative to an unprotected adult human. Parameterisations should take into account that mosquitoes do not always bite indoors.
This deterrency model multiplies human attractiveness by pEnt×pAtt divided by a base factor to normalise the output to 1 when there are no nets.
RA (entering)
→ scenario → interventions → human → component → ITN → anophelesParams → twoStageDeterrency → entering
<entering
insecticideFactor=double
insecticideScalingFactor=double
/>
Documentation (element)
Units: dimensionless
pEnt represents the relative probability of entering due to ITNs: pEnt = exp(log(P)×p) where P is the insecticide factor and p=1−exp(-insecticideContent×insecticideScalingFactor).
Attributes
Insecticide factor
insecticideFactor=double
Units: none Max: 1
Value expected to be at least 0. Negative values are not necessarily invalid, but allow nets to increase transmission.
Insecticide scaling factor
insecticideScalingFactor=double
Units: none Min: 0
RA (attacking)
→ scenario → interventions → human → component → ITN → anophelesParams → twoStageDeterrency → attacking
<attacking
insecticideFactor=double
insecticideScalingFactor=double
holeFactor=double
interactionFactor=double
holeScalingFactor=double
baseFactor=double
/>
Documentation (element)
Units: dimensionless
pAtt represents the relative probability of attacking a human after entering a house due to ITNs (i.e. of feeding/dying vs. flying off): pAtt = B + H×h + P×p + I×h×p where B is the base (without net) probability; H, P and I are the hole, insecticide and interaction factors respectively, h=exp(-holeIndex×holeScalingFactor) and p=1−exp(-insecticideContent×insecticideScalingFactor).
Attributes
Insecticide factor
insecticideFactor=double
Units: none Max: 1
Value expected to be at least 0. Negative values are not necessarily invalid, but allow nets to increase transmission.
Insecticide scaling factor
insecticideScalingFactor=double
Units: none Min: 0
Hole factor
holeFactor=double
Units: none Max: 1
Value expected to be at least 0. Negative values are not necessarily invalid, but allow nets to increase transmission.
Interaction factor
interactionFactor=double
Units: none Max: 1
holeFactor + insecticideFactor + interactionFactor must not be greater than 1, and is expected to be at least 0. A negative value is not necessarily invalid, but allows nets to increase transmission.
Hole scaling factor
holeScalingFactor=double
Units: none Min: 0
Probability of mosquito death without intervention
baseFactor=double
Units: dimensionless
Pre-prandial killing effect
→ scenario → interventions → human → component → ITN → anophelesParams → preprandialKillingEffect
<preprandialKillingEffect
insecticideFactor=double
insecticideScalingFactor=double
holeFactor=double
interactionFactor=double
holeScalingFactor=double
baseFactor=double
/>
Documentation (element)
Units: dimensionless Min: 0 Max: 1
Effect of net on survival mosquitoes as they seek to bite a human after choosing that human, relative to the same person not sleeping under a net. Parameterisations should take into account that mosquitoes do not always bite indoors.
Killing proportion is calculated as K = B + H×h + P×p + I×h×p where B is the base (without net) probability of death, H, P and I are the hole, insecticide and interaction factors respectively, h=exp(-holeIndex×holeScalingFactor) and p=1−exp(-insecticideContent×insecticideScalingFactor).
Survival of mosquitoes is adjusted via multiplication by (1−K) / (1−B). To keep this in the range [0,1], we require that B+H ≤ 1, B+P ≤ 1, B+H+P+I ≤ 1, H ≥ 0, P ≥ 0 and H+P+I ≥ 0.
Attributes
Insecticide factor
insecticideFactor=double
Units: none Max: 1
Value expected to be at least 0. Negative values are not necessarily invalid, but allow nets to increase transmission.
Insecticide scaling factor
insecticideScalingFactor=double
Units: none Min: 0
Hole factor
holeFactor=double
Units: none Max: 1
Value expected to be at least 0. Negative values are not necessarily invalid, but allow nets to increase transmission.
Interaction factor
interactionFactor=double
Units: none Max: 1
holeFactor + insecticideFactor + interactionFactor must not be greater than 1, and is expected to be at least 0. A negative value is not necessarily invalid, but allows nets to increase transmission.
Hole scaling factor
holeScalingFactor=double
Units: none Min: 0
Probability of mosquito death without intervention
baseFactor=double
Units: dimensionless
Post-prandial killing effect
→ scenario → interventions → human → component → ITN → anophelesParams → postprandialKillingEffect
<postprandialKillingEffect
insecticideFactor=double
insecticideScalingFactor=double
holeFactor=double
interactionFactor=double
holeScalingFactor=double
baseFactor=double
/>
Documentation (element)
Units: dimensionless Min: 0 Max: 1
Effect of net on survival mosquitoes as they seek to escape from a human host and rest after a blood meal, relative to the same person not sleeping under a net. Parameterisations should take into account that mosquitoes do not always bite indoors.
Killing proportion is calculated as K = B + H×h + P×p + I×h×p where B is the base (without net) probability of death, H, P and I are the hole, insecticide and interaction factors respectively, h=exp(-holeIndex×holeScalingFactor) and p=1−exp(-insecticideContent×insecticideScalingFactor).
Survival of mosquitoes is adjusted via multiplication by (1−K) / (1−B). To keep this in the range [0,1], we require that B+H ≤ 1, B+P ≤ 1, B+H+P+I ≤ 1, H ≥ 0, P ≥ 0 and H+P+I ≥ 0.
Attributes
Insecticide factor
insecticideFactor=double
Units: none Max: 1
Value expected to be at least 0. Negative values are not necessarily invalid, but allow nets to increase transmission.
Insecticide scaling factor
insecticideScalingFactor=double
Units: none Min: 0
Hole factor
holeFactor=double
Units: none Max: 1
Value expected to be at least 0. Negative values are not necessarily invalid, but allow nets to increase transmission.
Interaction factor
interactionFactor=double
Units: none Max: 1
holeFactor + insecticideFactor + interactionFactor must not be greater than 1, and is expected to be at least 0. A negative value is not necessarily invalid, but allows nets to increase transmission.
Hole scaling factor
holeScalingFactor=double
Units: none Min: 0
Probability of mosquito death without intervention
baseFactor=double
Units: dimensionless
Indoor residual spraying
→ scenario → interventions → human → component → IRS
<IRS>
IN THIS ORDER:
| [ <usage ... /> ]
| <initialInsecticide ... />
| <insecticideDecay ... />
| ( <anophelesParams ... /> )+
</IRS>
Documentation (element)
Description of indoor residual spraying interventions.
Documentation (type)
Description of effect for the more complex and probably more realistic Briet model: IRS has three effects, whos strength is calculated as a function of surviving insecticide content.
Proportion of Indoor residual spraying (IRS) interventions
→ scenario → interventions → human → component → IRS → usage
<usage
value=double
/>
Documentation (element)
Units: dimensionless Min: 0 Max: 1
Usage of Indoor residual spraying (IRS) interventions, from 0 to 1.
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Initial insecticide
→ scenario → interventions → human → component → IRS → initialInsecticide
<initialInsecticide
mu=double
sigma=double
/>
Documentation (element)
Units: μg/cm² Min: 0
The insecticide concentration of IRS (at time of spraying) is Gaussian distributed with mean "mu" and a standard deviation "sigma". The standard deviation should be small relative to the mean to avoid negative initial concentration. Any negative values sampled are set to 0.
Documentation (type)
Parameters of a normal distribution.
Variates are sampled as: X ~ N( mu, sigma² ).
Attributes
mu
mu=double
Units: (same as base units)
The mean of the normal distribution.
sigma
sigma=double
Units: (same as base units)
The standard deviation of variates.
Decay of insecticide
→ scenario → interventions → human → component → IRS → insecticideDecay
<insecticideDecay
function=("constant" or "step" or "linear" or "exponential" or "weibull" or "hill" or "smooth-compact")
[ L=string ]
[ k=double ] DEFAULT VALUE 1.0
[ mu=double ] DEFAULT VALUE 0
[ sigma=double ] DEFAULT VALUE 0
/>
Documentation (element)
Units: none
Decay curve for insecticide content of IRS. Documentation: see DecayFunction type or https://github.com/SwissTPH/openmalaria/wiki/ModelDecayFunctions
Documentation (type)
Specification of decay or survival of a parameter.
Attributes
function
function=("constant" or "step" or "linear" or "exponential" or "weibull" or "hill" or "smooth-compact")
Units: None Min: 0 Max: 1
Determines which decay function to use. Available decay functions, for age t in years: constant: 1 step: 1 for t less than L, otherwise 0 linear: 1 - t/L for t less than L, otherwise 0 exponential: exp( - t/L * log(2) ) weibull: exp( -(t/L)^k * log(2) ) hill: 1 / (1 + (t/L)^k) smooth-compact: exp( k - k / (1 - (t/L)^2) ) for t less than L, otherwise 0
L
L=string
Units: User-defined (defaults to years) Min: 0
(Time) scale parameter of distribution: this is either the age of complete decay (smooth-compact, step and linear functions) or the age at which the parameter has decayed to half its original value (exponential, weibull and hill). Not used when function="constant" (i.e. no decay). This value can be specified in years, days or steps (e.g. 2y, 180d or 100t). When the unit is not specified years are assumed. The value is used without rounding except when sampling an age of decay, when the rounding happens as late as possible.
k
k=double
Units: none Min: 0
Default value: 1.0
Shape parameter of distribution. If not specified, default value of 1 is used. Meaning depends on function; not used in some cases.
μ (mu)
mu=double
Min: 0
Default value: 0
If sigma is non-zero, heterogeneity of decay is introduced via a random variable sampled from the log-normal distribution with mu and sigma as specified. Both mu and sigma default to zero when not specified. The decay rate is multiplied by this variable (effectively, the half-life is divided by it). Note that with m=0, the median of the variable and the median value of L is unchanged, and thus the time at which the median decay amongst the population of decaying objects reaches half (assuming exponential, Weibull or Hill decay) is L. With m=-½σ² (negative half sigma squared) the mean of the variable will be 1 and mean of the half-life L, but the time at which mean decay of the population has reached half may not be L.
σ (sigma)
sigma=double
Min: 0
Default value: 0
If sigma is non-zero, heterogeneity of decay is introduced via a random variable sampled from the log-normal distribution with mu and sigma as specified. Both mu and sigma default to zero when not specified. The decay rate is multiplied by this variable (effectively, the half-life is divided by it).
Per-mosquito species parameters
→ scenario → interventions → human → component → IRS → anophelesParams
<anophelesParams
mosquito=string
[ propActive=double ] DEFAULT VALUE 1
>
IN THIS ORDER:
| <deterrency ... />
| <preprandialKillingEffect ... />
| <postprandialKillingEffect ... />
</anophelesParams>
Attributes
Mosquito species
mosquito=string
Name of the affected anopheles-mosquito species.
Proportion of bites for which IRS acts
propActive=double
Units: dimensionless Min: 0 Max: 1
Default value: 1
The proportion of bites for which the IRS has any action whatsoever on the mosquito. At the moment this is constant across humans and deterministic: relative attractiveness and survival factors are base*(1-propActing) + intervention_factor*propActing.
Relative attractiveness
→ scenario → interventions → human → component → IRS → anophelesParams → deterrency
<deterrency
insecticideFactor=double
insecticideScalingFactor=double
/>
Documentation (element)
Units: dimensionless Min: 0 Max: 1
Effect of IRS on attractiveness of humans to mosquitoes relative to an unprotected adult human. Parameterisations should take into account that mosquitoes do not always bite indoors.
Attractiveness of the human is multiplied by exp(P×log(p)) where P is the insecticide factor, p=1−exp(-insecticideContent×insecticideScalingFactor).
Attributes
Insecticide factor
insecticideFactor=double
Units: none Max: 1
Value expected to be at least 0. Negative values are not necessarily invalid, but allow nets to increase transmission.
Insecticide scaling factor
insecticideScalingFactor=double
Units: none Min: 0
Pre-prandial killing effect
→ scenario → interventions → human → component → IRS → anophelesParams → preprandialKillingEffect
<preprandialKillingEffect
insecticideFactor=double
insecticideScalingFactor=double
baseFactor=double
/>
Documentation (element)
Units: dimensionless Min: 0 Max: 1
Effect of IRS on survival mosquitoes as they seek to bite a human after choosing that human, relative to the same person not protected by IRS. Parameterisations should take into account that mosquitoes do not always bite indoors. This parameter has been added since some data shows IRS to have a preprandial killing effect.
Killing proportion is calculated as K = B + P×p where B is the base (without protection) probability of death, and P is the insecticide factor, p=1−exp(-insecticideContent×insecticideScalingFactor).
Survival of mosquitoes is adjusted via multiplication by (1−K) / (1−B). To keep this in the range [0,1], we require that B+P ≤ 1 and P ≥ 0.
Attributes
Insecticide factor
insecticideFactor=double
Units: none Max: 1
Value expected to be at least 0. Negative values are not necessarily invalid, but allow nets to increase transmission.
Insecticide scaling factor
insecticideScalingFactor=double
Units: none Min: 0
Probability of mosquito death without intervention
baseFactor=double
Units: dimensionless
Post-prandial killing effect
→ scenario → interventions → human → component → IRS → anophelesParams → postprandialKillingEffect
<postprandialKillingEffect
insecticideFactor=double
insecticideScalingFactor=double
baseFactor=double
/>
Documentation (element)
Units: dimensionless Min: 0 Max: 1
Effect of IRS on survival mosquitoes as they seek to escape from a human host and rest after a blood meal, relative to the same person not protected by IRS. Parameterisations should take into account that mosquitoes do not always bite indoors.
Killing proportion is calculated as K = B + P×p where B is the base (without protection) probability of death, and P is the insecticide factor, p=1−exp(-insecticideContent×insecticideScalingFactor).
Survival of mosquitoes is adjusted via multiplication by (1−K) / (1−B). To keep this in the range [0,1], we require that B+P ≤ 1 and P ≥ 0.
Attributes
Insecticide factor
insecticideFactor=double
Units: none Max: 1
Value expected to be at least 0. Negative values are not necessarily invalid, but allow nets to increase transmission.
Insecticide scaling factor
insecticideScalingFactor=double
Units: none Min: 0
Probability of mosquito death without intervention
baseFactor=double
Units: dimensionless
Generic vector intervention
→ scenario → interventions → human → component → GVI
<GVI>
IN THIS ORDER:
| [ <usage ... /> ]
| <decay ... />
| ( <anophelesParams ... /> )+
</GVI>
Documentation (element)
Low-level description of intervention effects on vectors (i.e. mosquitoes). Can be used to describe simple ITN or IRS interventions (though more complex models are available for these interventions) or other interventions such as mosquito repellant or ivermectin.
Note that all actions of this intervention component will decay according to a single decay function. If independant decay is wanted, a separate component can be used for each action.
Proportion of generic vector interventions
→ scenario → interventions → human → component → GVI → usage
<usage
value=double
/>
Documentation (element)
Units: dimensionless Min: 0 Max: 1
Usage of Generic vector interventions, from 0 to 1.
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Decay
→ scenario → interventions → human → component → GVI → decay
<decay
function=("constant" or "step" or "linear" or "exponential" or "weibull" or "hill" or "smooth-compact")
[ L=string ]
[ k=double ] DEFAULT VALUE 1.0
[ mu=double ] DEFAULT VALUE 0
[ sigma=double ] DEFAULT VALUE 0
/>
Documentation (element)
Description of decay of all intervention effects. Documentation: see DecayFunction type or https://github.com/SwissTPH/openmalaria/wiki/ModelDecayFunctions
Documentation (type)
Specification of decay or survival of a parameter.
Attributes
function
function=("constant" or "step" or "linear" or "exponential" or "weibull" or "hill" or "smooth-compact")
Units: None Min: 0 Max: 1
Determines which decay function to use. Available decay functions, for age t in years: constant: 1 step: 1 for t less than L, otherwise 0 linear: 1 - t/L for t less than L, otherwise 0 exponential: exp( - t/L * log(2) ) weibull: exp( -(t/L)^k * log(2) ) hill: 1 / (1 + (t/L)^k) smooth-compact: exp( k - k / (1 - (t/L)^2) ) for t less than L, otherwise 0
L
L=string
Units: User-defined (defaults to years) Min: 0
(Time) scale parameter of distribution: this is either the age of complete decay (smooth-compact, step and linear functions) or the age at which the parameter has decayed to half its original value (exponential, weibull and hill). Not used when function="constant" (i.e. no decay). This value can be specified in years, days or steps (e.g. 2y, 180d or 100t). When the unit is not specified years are assumed. The value is used without rounding except when sampling an age of decay, when the rounding happens as late as possible.
k
k=double
Units: none Min: 0
Default value: 1.0
Shape parameter of distribution. If not specified, default value of 1 is used. Meaning depends on function; not used in some cases.
μ (mu)
mu=double
Min: 0
Default value: 0
If sigma is non-zero, heterogeneity of decay is introduced via a random variable sampled from the log-normal distribution with mu and sigma as specified. Both mu and sigma default to zero when not specified. The decay rate is multiplied by this variable (effectively, the half-life is divided by it). Note that with m=0, the median of the variable and the median value of L is unchanged, and thus the time at which the median decay amongst the population of decaying objects reaches half (assuming exponential, Weibull or Hill decay) is L. With m=-½σ² (negative half sigma squared) the mean of the variable will be 1 and mean of the half-life L, but the time at which mean decay of the population has reached half may not be L.
σ (sigma)
sigma=double
Min: 0
Default value: 0
If sigma is non-zero, heterogeneity of decay is introduced via a random variable sampled from the log-normal distribution with mu and sigma as specified. Both mu and sigma default to zero when not specified. The decay rate is multiplied by this variable (effectively, the half-life is divided by it).
Per-mosquito species parameters
→ scenario → interventions → human → component → GVI → anophelesParams
<anophelesParams
mosquito=string
[ propActive=double ] DEFAULT VALUE 1
>
IN THIS ORDER:
| [ <deterrency ... /> ]
| [ <preprandialKillingEffect ... /> ]
| [ <postprandialKillingEffect ... /> ]
</anophelesParams>
Attributes
Mosquito species
mosquito=string
Name of the affected anopheles-mosquito species.
Proportion of bites for which IRS acts
propActive=double
Units: dimensionless Min: 0 Max: 1
Default value: 1
The proportion of bites for which the IRS has any action whatsoever on the mosquito. At the moment this is constant across humans and deterministic: relative attractiveness and survival factors are base*(1-propActing) + intervention_factor*propActing.
Relative attractiveness
→ scenario → interventions → human → component → GVI → anophelesParams → deterrency
<deterrency
value=double
/>
Documentation (element)
Units: dimensionless Min: 0 Max: 1
Effect of IRS on attractiveness of humans to mosquitoes relative to an unprotected adult human. Parameterisations should take into account that mosquitoes do not always bite indoors.
Attractiveness of the human is multiplied this factor times survival of effect.
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Pre-prandial killing effect
→ scenario → interventions → human → component → GVI → anophelesParams → preprandialKillingEffect
<preprandialKillingEffect
value=double
/>
Documentation (element)
Units: dimensionless Min: 0 Max: 1
Effect of IRS on survival mosquitoes as they seek to bite a human after choosing that human, relative to the same person not protected by IRS. Parameterisations should take into account that mosquitoes do not always bite indoors. This parameter has been added since some data shows IRS to have a preprandial killing effect.
Killing proportion is this factor multiplied by survival of effect.
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Post-prandial killing effect
→ scenario → interventions → human → component → GVI → anophelesParams → postprandialKillingEffect
<postprandialKillingEffect
value=double
/>
Documentation (element)
Units: dimensionless Min: 0 Max: 1
Effect of IRS on survival mosquitoes as they seek to escape from a human host and rest after a blood meal, relative to the same person not protected by IRS. Parameterisations should take into account that mosquitoes do not always bite indoors.
Killing proportion is this factor multiplied by survival of effect.
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Recruitment only
→ scenario → interventions → human → component → recruitmentOnly
<recruitmentOnly/>
Documentation (element)
Recruitment of a host into a sub-population.
All human-targeting intervention deployments recruit simulated humans into a sub-population which can be used for the purposes of cumulative deployment, deployment only to a sub-population and defining a cohort. This pseudo-intervention can be used to define a sub-population without also deploying some intervention.
Clear Immunity
→ scenario → interventions → human → component → clearImmunity
<clearImmunity/>
Documentation (element)
Removes all exposure-related immunitsy gained over time by hosts without removing infections (or affecting the ability to gain immunity through exposure).
Hypothetical, but potentially useful to simulate scenarios with unprotected humans.
subPopRemoval
→ scenario → interventions → human → component → subPopRemoval
<subPopRemoval
[ onFirstBout=boolean ] DEFAULT VALUE false
[ onFirstTreatment=boolean ] DEFAULT VALUE false
[ onFirstInfection=boolean ] DEFAULT VALUE false
[ afterYears=double ]
/>
Documentation (type)
Each human intervention component corresponds to a sub-population: those who have received or are considered to be protected by the intervention component. Humans automatically become members of this sub-population when receiving an intervention component; this element controls how humans are removed from the sub-population.
ITN attrition also removes humans from sub-populations.
Note that sub-populations do not directly correspond to an intervention's effects: lack of effectiveness does not imply removal from the sub-population (except as explicitly configured here) and removal from the sub-population does not halt an intervention's effects.
Sub-populations may be used to define a cohort, to restrict deployment of other interventions and to use cumulative deployment mode. A sub- population may or may not correspond (roughly) to humans protected by some intervention.
Attributes
Time to first episode only
onFirstBout=boolean
Default value: false
If true, remove individuals from the sub-population at the start of the first episode (start of a clinical bout) since they were recruited into the sub-population. This is intended for cohort studies which measure time to the first episode, using active case detection. Reports delayed due to health-system memory are forced out when this occurs. Note that this can increase the number of uncomplicated cases reported across the entire population; for this reason reports are not forced on recruitment or most removal options. This does not prevent re-recruitment in the case that recruitment settings could conceivably recruit the same individual twice.
Time to first treatment only
onFirstTreatment=boolean
Default value: false
If true, remove individuals from the sub-population when they first seektreatment since they were recruited into the sub-population. This is intended for cohort studies which measure the time to first episode, using passive case detection. Reports delayed due to health-system memory are forced out when this occurs. Note that this can increase the number of uncomplicated cases reported across the entire population; for this reason reports are not forced on recruitment or most removal options. This does not prevent re-recruitment in the case that recruitment settings could conceivably recruit the same individual twice.
Time to first infection only
onFirstInfection=boolean
Default value: false
If true, remove individuals from the sub-population at completion of the first survey in which they present with a patent infection since they were recruited into the sub-population. This intended for cohort studies which measure time to the first infection, using active case detection. Reports delayed due to health-system memory are forced out when this occurs. Note that this can increase the number of uncomplicated cases reported across the entire population; for this reason reports are not forced on recruitment or most removal options. This does not prevent re-recruitment in the case that recruitment settings could conceivably recruit the same individual twice.
Remove from sub-population after
afterYears=double
Units: Years Min: 0
If given, membership to the sub-population of humans who have received this intervention component expires after the given number of years. Note that future deployments renew membership (e.g. if this parameter is 4 years and the intervention is redeployed 3 years from now, expiry happens after 7 years). This provides a crude way of modelling a cohort protected by some intervention. A few interventions provide more detailed ways of modelling expiry of protection. In any case, "expiry of protection" is an abstract concept and does not imply that all protection has ceased, even in the simulator. This may also be useful for cumulative deployment. Minimum duration is zero, which implies the human is effectively never a member of the sub-population; a duration of one timestep implies the human is a member of the sub-population while any futher interventions are deployed on the same time as this human becomes a member and on the next update of the human (including transmission and health system events) but not beyond that. If this attribute is not given, the simulated human is a member until death or some other option triggers removal. Input is rounded to the nearest time step.
Deployment
→ scenario → interventions → human → deployment
<deployment
[ name=string ]
>
IN THIS ORDER:
| ( <component ... /> )+
| ( <condition ... /> )*
| ( <continuous ... /> )*
| ( <timed ... /> )*
</deployment>
Documentation (element)
This element describes deployment of an intervention: which components are deployed, how humans are selected for deployment (via timed or age-based deployment) as well as a few additional restrictions (e.g. vaccine dosing restrictions).
All components deployed by this intervention are deployed to the same people (each timed or continuous deployment selects recipients and then gives each recipient all components of the intervention).
Attributes
Intervention name
name=string
Name of intervention
component
→ scenario → interventions → human → deployment → component
<component
id=string
/>
Documentation (type)
The list of components deployed to eligible humans.
Attributes
Identifier
id=string
The identifier (short name) of a component.
Condition
→ scenario → interventions → human → deployment → condition
<condition
measure=string
[ minValue=double ]
[ maxValue=double ]
initialState=boolean
/>
Documentation (element)
If conditions are specified, deployment of this intervention will only go ahead if all specified conditions are true. Condition statements are evaluated only during surveys, so deployment is enabled or disabled depending on the results of the most recent survey. So called unreported surveys can be used to reevaluate conditions without increasing granularity of output.
Conditions are evaluated for the whole population, not for individual age-groups or cohorts.
This affects all types of deployment.
Attributes
Measure
measure=string
The monitoring measure to test. Not all measures are available for use.
Minimum value
minValue=double
Minimum value. If specified, the measured variable must be greater than this value for the condition to be satisfied.
Maximum value
maxValue=double
Maximum value. If specified, the measured variable must be less than this value for the condition to be satisfied.
Initial state
initialState=boolean
Whether this condition is considered true or false before updated by a survey.
Age-based (continuous) deployment
→ scenario → interventions → human → deployment → continuous
<continuous>
IN THIS ORDER:
| [ <restrictToSubPop ... /> ]
| ( <deploy ... /> )+
</continuous>
Documentation (element)
List of ages at which deployment takes place (through EPI, post-natal and school-based programmes, etc.).
A sub-population restriction may be added as a property of the list of continuous deployments.
restrictToSubPop
→ scenario → interventions → human → deployment → continuous → restrictToSubPop
<restrictToSubPop
id=string
[ complement=boolean ] DEFAULT VALUE false
/>
Documentation (type)
If this element is specified, deployment is restricted to some sub-population (specified via the "id" attribute); otherwise the target population is the entire simulated population. Either way, other deployment restrictions (age, time, number of vaccine doeses) still apply.
Attributes
Sub-population identifier
id=string
The identifier (short name) of the sub-population (i.e. the "id" of some intervention component). Also see the "complement" attribute.
Complement
complement=boolean
Default value: false
If this is not specified or is false, deployment is restricted to the sub-population of people protected by the intervention component who's id is given. If complement is set to true, deployment is instead restricted to the complement of that sub-population, i.e. to those
deploy
→ scenario → interventions → human → deployment → continuous → deploy
<deploy
coverage=double
[ vaccMinPrevDoses=int ]
[ vaccMaxCumDoses=int ]
targetAgeYrs=double
[ begin=string ]
[ end=string ]
/>
Attributes
Coverage
coverage=double
Units: dimensionless Min: 0 Max: 1
Proportion of otherwise eligible individuals who will receive this deployment.
Vaccine min previous doses
vaccMinPrevDoses=int
Units: inoculations Min: 0
Applies to vaccines only: vaccine doses are only deployed by this deployment if the previous number of doses (for the component deployed) is at least this number. For example, if this is the second deployment opportunity for this vaccine and this value is 1, then this deployment cannot deploy the vaccine to individuals who did not receive the first deployment.
Vaccine max cumulative doses
vaccMaxCumDoses=int
Units: inoculations Min: 0
Applies to vaccines only: vaccine doses are only deployed by this deployment if the previous number of doses (for the component deployed) is less than this number.
Target age
targetAgeYrs=double
Units: Years Min: 0 Max: 100
Target age of intervention. Input is rounded to the nearest time step.
First time active
begin=string
Units: User defined (defauls to steps)
First time at which this deployment is active. If not specified, deployment starts at the beginning of the intervention period. See doc on intervention period and on monitoring/startDate for details of how times work. Can be specified in steps, days, years, or as a date (examples: 15t, 75d, 0.2y, 2000-03-16).
End step
end=string
Units: User defined (defauls to steps)
End of the period during which the intervention is active (to be exact, the first step of the intervention period at which the item becomes inactive). If not specified, deployment never ceases after starting during the simulation. See doc on intervention period and on monitoring/startDate for details of how times work. Can be specified in steps, days, years, or as a date (examples: 15t, 75d, 0.2y, 2000-03-16).
Mass (timed) deployment
→ scenario → interventions → human → deployment → timed
<timed>
IN THIS ORDER:
| [ <restrictToSubPop ... /> ]
| [ <cumulativeCoverage ... /> ]
| ( <deploy ... /> )+
</timed>
Documentation (element)
List of timed deployments of the intervention (that is, of deployment campaigns).
Cumulative deployment mode can be specified for all deployments in a timed list. To allow multiple cumulative deployment descriptions, the entire timed list may be repeated.
restrictToSubPop
→ scenario → interventions → human → deployment → timed → restrictToSubPop
<restrictToSubPop
id=string
[ complement=boolean ] DEFAULT VALUE false
/>
Documentation (type)
If this element is specified, deployment is restricted to some sub-population (specified via the "id" attribute); otherwise the target population is the entire simulated population. Either way, other deployment restrictions (age, time, number of vaccine doeses) still apply.
Attributes
Sub-population identifier
id=string
The identifier (short name) of the sub-population (i.e. the "id" of some intervention component). Also see the "complement" attribute.
Complement
complement=boolean
Default value: false
If this is not specified or is false, deployment is restricted to the sub-population of people protected by the intervention component who's id is given. If complement is set to true, deployment is instead restricted to the complement of that sub-population, i.e. to those
Cumulative coverage
→ scenario → interventions → human → deployment → timed → cumulativeCoverage
<cumulativeCoverage
component=string
/>
Documentation (element)
If this element is not specified, standard deployment occurs, where a portion of the population as given by the coverage property of this campaign is selected, and interventions are deployed to all of these people (regardless of previous coverage).
If this attribute is specified, instead, the population is divided into two sets: those who are a member of a certain sub-population and those who are not (see "subPopRemoval" element). If the proportion of people in the first set is less than the desired coverage, then the proportion of people from the second set needed to increase total coverage to the desired coverage is calculated. This proportion is then used as the probablity of selection from the second set into a third set of people who then receive all interventions deployed by this campaign.
Note that selection is stochastic so the final coverage level may not be exactly that desired. Note also that the component used when selecting people need not actually be one of the components deployed by this intervention, although that is the intended use case.
Attributes
Component identifier
component=string
The identifier (short name) of the component used when selecting people.
deploy
→ scenario → interventions → human → deployment → timed → deploy
<deploy
coverage=double
[ vaccMinPrevDoses=int ]
[ vaccMaxCumDoses=int ]
time=string
[ maxAge=double ]
[ minAge=double ] DEFAULT VALUE 0
[ repeatStep=string ]
[ repeatEnd=string ]
/>
Attributes
Coverage
coverage=double
Units: dimensionless Min: 0 Max: 1
Proportion of otherwise eligible individuals who will receive this deployment.
Vaccine min previous doses
vaccMinPrevDoses=int
Units: inoculations Min: 0
Applies to vaccines only: vaccine doses are only deployed by this deployment if the previous number of doses (for the component deployed) is at least this number. For example, if this is the second deployment opportunity for this vaccine and this value is 1, then this deployment cannot deploy the vaccine to individuals who did not receive the first deployment.
Vaccine max cumulative doses
vaccMaxCumDoses=int
Units: inoculations Min: 0
Applies to vaccines only: vaccine doses are only deployed by this deployment if the previous number of doses (for the component deployed) is less than this number.
Time
time=string
Units: User defined (defauls to steps) Min: 0
Time at which this deployment occurs. See doc on intervention period and on monitoring/startDate for details of how times work. Can be specified in steps, days, years, or as a date (examples: 15t, 75d, 0.2y, 2000-03-16).
Maximum age of eligible individuals
maxAge=double
Units: Years Min: 0
Maximum age of eligible individuals (defaults to no limit). Input is rounded to the nearest time step.
Minimum age of eligible individuals
minAge=double
Units: Years Min: 0
Default value: 0
Minimum age of eligible individuals (defaults to 0). Input is rounded to the nearest time step.
Step of repetition
repeatStep=string
Units: User defined
See repeatEnd's documentation.
End of repetition (exclusive)
repeatEnd=string
Units: User defined
Either both repeatStep and repeatEnd should be present or neither. If present, the deployment is repeated every repeatStep timesteps (i.e. if t0 is the initial time and x is repeatStep, depolyments are done at times t0, t0+x, t0+2*x, ...), ending before repeatEnd (final repetition is the one before repeatEnd). Note that repeatEnd may be specified as a date but repeatStep must be a duration (days, steps or years).
Health system description
→ scenario → healthSystem
<healthSystem>
IN THIS ORDER:
| EXACTLY ONE OF:
| | <EventScheduler ... />
| | <ImmediateOutcomes ... />
| | <DecisionTree5Day ... />
| <CFR ... />
| <pSequelaeInpatient ... />
</healthSystem>
Documentation (element)
Description of health system.
Documentation (type)
Description of case management system, used to specify the initial model or a replacement (an intervention). Encompasses case management data and some other data required to derive case outcomes.
Contains a sub-element describing the particular health-system in use. Health system data is here defined as data used to decide on a treatment strategy, given a case requiring treatment.
Transmission and vector bionomics
→ scenario → entomology
<entomology
name=string
mode=("forced" or "dynamic")
[ scaledAnnualEIR=double ]
>
IN THIS ORDER:
| EXACTLY ONE OF:
| | <nonVector ... />
| | <vector ... />
</entomology>
Documentation (element)
Description of entomological data
Attributes
Entomology dataset name
name=string
Name of entomology data
Transmission model mode
mode=("forced" or "dynamic")
Transmission simulation mode: may be forced (in which case interventions and changes to human infectiousness cannot affect EIR) or dynamic (in which the above can affect EIR). The full vector model is only used in dynamic mode. This can not be changed by interventions, except for the changeEIR intervention for the non-vector model which replaces the EIR with a new description (used in forced mode).
Override annual EIR
scaledAnnualEIR=double
Units: Infectious bites per adult per year
If set, the annual EIR (for all species of vector) is scaled to this level; can be omitted if not needed.
Transmission setting (vector control not enabled)
→ scenario → entomology → nonVector
<nonVector
eipDuration=int
>
IN THIS ORDER:
| ( <EIRDaily ... /> )+
</nonVector>
Documentation (element)
Description of transmission setting for models without vector control interventions (included for backward compatibility)
Attributes
Duration of sporogony
eipDuration=int
Units: Days
The duration of sporogony in days
Transmission setting (vector control enabled)
→ scenario → entomology → vector
<vector>
IN THIS ORDER:
| ( <anopheles ... /> )+
| ( <nonHumanHosts ... /> )*
</vector>
Documentation (element)
Parameters of the transmission model
anopheles
→ scenario → entomology → vector → anopheles
<anopheles
mosquito=string
propInfected=double
propInfectious=double
>
IN THIS ORDER:
| <seasonality ... />
| <mosq ... />
| [ <lifeCycle ... /> ]
| [ <simpleMPD ... /> ]
| ( <nonHumanHosts ... /> )*
</anopheles>
Documentation (type)
Description of input EIR for one specific vector species in terms of a Fourier approximation to the ln of the EIR during the burn in period
Attributes
Identifier for this anopheles species
mosquito=string
Identifier for this anopheles species
Initial estimate of proportion of mosquitoes infected (ρ_O)
propInfected=double
Units: Proportion Min: 0 Max: 1
Initial guess of the proportion of mosquitoes which are infected, o: O_v(t) = o*N_v(t). Only used as a starting value.
Initial estimate of proportion of mosquitoes infectious (ρ_S)
propInfectious=double
Units: Proportion Min: 0 Max: 1
Initial estimate of the proportion of mosquitoes which are infectious, s: S_v(t) = s*N_v(t). Used as a starting value and then fit.
Seasonality of transmission
→ scenario → entomology → vector → anopheles → seasonality
<seasonality
input=("EIR")
[ annualEIR=double ]
>
IN THIS ORDER:
| EXACTLY ONE OF:
| | <fourierSeries ... />
| | <monthlyValues ... />
| | <dailyValues ... />
</seasonality>
Documentation (element)
Specifies the seasonality of transmission and optionally the level of annual transmission.
Attributes
Seasonality input
input=("EIR")
Specify what seasonality measure is given. At the moment, only EIR is supported, but in the future, all the below should be supported. EIR: seasonality of entomological inoculations is input. Units: entomological inoculations per adult per annum. hostSeeking: seasonality of densities of flying host-seeking mosquitoes is input (in the model this is notated N_v). Units: mosquitoes. emergence: seasonality of emergence pupa into adults. Units: mosquitoes. larvalResources: seasonality of larval resources. Units: X.
Annual EIR
annualEIR=double
Units: Inoculations per adult per annum Min: 0
If this attribute is included, EIR for this species is scaled to this level. Note that if the scaledAnnualEIR attribute of the entomology element is also used, EIR is scaled again, making this attribute the EIR relative to other species. With some seasonality inputs, this attribute is optional, in which case (if scaledAnnualEIR is also not specified) transmission depends on all parameters of the vector. With some seasonality inputs, however, this parameter must be specified.
Fourier approximation to pre-intervention EIR
→ scenario → entomology → vector → anopheles → seasonality → fourierSeries
<fourierSeries
EIRRotateAngle=double
>
IN THIS ORDER:
| ( <coeffic ... /> )*
</fourierSeries>
Documentation (element)
Units: Infectious bites per adult per day
Seasonality is reproduced from the exponential of a fourier series specified by the following coefficients. Note that the a0 term is not needed; the annualEIR attribute of the seasonality element should be used to scale EIR instead.
Attributes
Rotation angle defining the origin of the Fourier approximation to ln (EIR)
EIRRotateAngle=double
Units: Radians
Rotation angle defining the origin of the Fourier approximation to ln (EIR)
Pair of Fourier coefficients
→ scenario → entomology → vector → anopheles → seasonality → fourierSeries → coeffic
<coeffic
a=double
b=double
/>
Documentation (element)
A pair of Fourier series coefficients. The first element specifies a1 and b1, the second a2 and b2, etc. Any number (from 0 up) of pairs may be given.
Attributes
a_n parameter of Fourier approximation to ln(EIR)
a=double
a_n parameter of Fourier approximation to ln(EIR) for some natural number n.
b_n parameter of Fourier approximation to ln(EIR)
b=double
b_n parameter of Fourier approximation to ln(EIR) for some natural number n.
List of monthly values
→ scenario → entomology → vector → anopheles → seasonality → monthlyValues
<monthlyValues
smoothing=("none" or "fourier")
>
IN THIS ORDER:
| ( <value ... /> ){12,12}
</monthlyValues>
Documentation (element)
Description of seasonality from monthly values. Multiple smoothing methods are possible (see smoothing attribute).
List should contain twelve entries: January to December.
Attributes
Smoothing function
smoothing=("none" or "fourier")
How the monthly values are converted into a daily sequence of values:
- none: no smoothing (step function)
- Fourier: a Fourier series (with terms up to a2/b2) is fit to the sequence of monthly values and used to generate a smoothed list of daily values.
Monthly value
→ scenario → entomology → vector → anopheles → seasonality → monthlyValues → value
<value>
double
</value>
Documentation (element)
Units: (see "seasonality input" parameter)
Monthly value
List of daily values
→ scenario → entomology → vector → anopheles → seasonality → dailyValues
<dailyValues>
IN THIS ORDER:
| ( <value ... /> ){365,365}
</dailyValues>
Documentation (element)
Description of seasonality from daily values.
List should contain 365 entries: 1st January to 31st December.
Daily value
→ scenario → entomology → vector → anopheles → seasonality → dailyValues → value
<value>
double
</value>
Documentation (element)
Units: (see "seasonality input" parameter)
Daily value
Mosquito feeding cycle parameters
→ scenario → entomology → vector → anopheles → mosq
<mosq
minInfectedThreshold=double
>
IN ANY ORDER:
| <mosqRestDuration ... />
| <extrinsicIncubationPeriod ... />
| <mosqLaidEggsSameDayProportion ... />
| <mosqSeekingDuration ... />
| <mosqSurvivalFeedingCycleProbability ... />
| <availabilityVariance ... />
| <mosqProbBiting ... />
| <mosqProbFindRestSite ... />
| <mosqProbResting ... />
| <mosqProbOvipositing ... />
| <mosqHumanBloodIndex ... />
</mosq>
- mosqRestDuration
- extrinsicIncubationPeriod
- mosqLaidEggsSameDayProportion
- mosqSeekingDuration
- mosqSurvivalFeedingCycleProbability
- availabilityVariance
- mosqProbBiting
- mosqProbFindRestSite
- mosqProbResting
- mosqProbOvipositing
- mosqHumanBloodIndex
Documentation (element)
Parameters describing the feeding cycle and human mosquito interaction of a single species of anopheles mosquito.
Attributes
Mininum infected threshold for mosquitos
minInfectedThreshold=double
Min: 0
If less than this many mosquitoes remain infected, transmission is interrupted.
Duration of the resting period of the vector
→ scenario → entomology → vector → anopheles → mosq → mosqRestDuration
<mosqRestDuration
value=int
/>
Documentation (element)
Units: Days
name:Duration of the resting period of the vector (days);
Attributes
Input parameter value
value=int
An integer value.
Extrinsic incubation period
→ scenario → entomology → vector → anopheles → mosq → extrinsicIncubationPeriod
<extrinsicIncubationPeriod
value=int
/>
Documentation (element)
Units: Days
name:Extrinsic incubation period (days)
Attributes
Input parameter value
value=int
An integer value.
Proportion of mosquitoes host seeking on same day as ovipositing
→ scenario → entomology → vector → anopheles → mosq → mosqLaidEggsSameDayProportion
<mosqLaidEggsSameDayProportion
value=double
/>
Documentation (element)
Units: Proportion
Proportion of mosquitoes host seeking on same day as ovipositing
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Duration of the host-seeking period of the vector
→ scenario → entomology → vector → anopheles → mosq → mosqSeekingDuration
<mosqSeekingDuration
value=double
/>
Documentation (element)
Units: Days
Duration of the host-seeking period of the vector (days)
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Probability that the mosquito survives the feeding cycle
→ scenario → entomology → vector → anopheles → mosq → mosqSurvivalFeedingCycleProbability
<mosqSurvivalFeedingCycleProbability
value=double
/>
Documentation (element)
Units: Proportion
Probability that the mosquito survives the feeding cycle
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Variance in human availability rate
→ scenario → entomology → vector → anopheles → mosq → availabilityVariance
<availabilityVariance
value=double
/>
Documentation (element)
Variance in availability rate of humans to mosquitoes. The mean rate is calculated based on other parameters.
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Probability that the mosquito succesfully bites chosen host
→ scenario → entomology → vector → anopheles → mosq → mosqProbBiting
<mosqProbBiting
mean=double
variance=double
/>
Documentation (element)
Probability that the mosquito succesfully bites chosen host
Documentation (type)
Parameters of a normal distribution, provided as mean and variance.
Variates are sampled from Be(α,β) where α and β are determined from the mean and variance as follows: let v be the variance and c=mean/(1-mean). Then we set α=cβ and β=((c+1)²v - c)/((c+1)³v).
Attributes
mean
mean=double
Units: none
The mean of the beta distribution (must be in the open range (0,1)).
variance
variance=double
Units: none
The standard deviation of variates.
Probability that the mosquito escapes host and finds a resting place after biting
→ scenario → entomology → vector → anopheles → mosq → mosqProbFindRestSite
<mosqProbFindRestSite
mean=double
variance=double
/>
Documentation (element)
Probability that the mosquito escapes host and finds a resting place after biting
Documentation (type)
Parameters of a normal distribution, provided as mean and variance.
Variates are sampled from Be(α,β) where α and β are determined from the mean and variance as follows: let v be the variance and c=mean/(1-mean). Then we set α=cβ and β=((c+1)²v - c)/((c+1)³v).
Attributes
mean
mean=double
Units: none
The mean of the beta distribution (must be in the open range (0,1)).
variance
variance=double
Units: none
The standard deviation of variates.
Probability of mosquito successfully resting after finding a resting site
→ scenario → entomology → vector → anopheles → mosq → mosqProbResting
<mosqProbResting
mean=double
variance=double
/>
Documentation (element)
Probability of mosquito successfully resting after finding a resting site
Documentation (type)
Parameters of a normal distribution, provided as mean and variance.
Variates are sampled from Be(α,β) where α and β are determined from the mean and variance as follows: let v be the variance and c=mean/(1-mean). Then we set α=cβ and β=((c+1)²v - c)/((c+1)³v).
Attributes
mean
mean=double
Units: none
The mean of the beta distribution (must be in the open range (0,1)).
variance
variance=double
Units: none
The standard deviation of variates.
Probability of a mosquito successfully laying eggs given that it has rested
→ scenario → entomology → vector → anopheles → mosq → mosqProbOvipositing
<mosqProbOvipositing
value=double
/>
Documentation (element)
Probability of a mosquito successfully laying eggs given that it has rested
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Human blood index
→ scenario → entomology → vector → anopheles → mosq → mosqHumanBloodIndex
<mosqHumanBloodIndex
value=double
/>
Documentation (element)
Units: Proportion
The proportion of resting mosquitoes which fed on human blood during the last feed.
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Mosquito life cycle parameters
→ scenario → entomology → vector → anopheles → lifeCycle
<lifeCycle
[ estimatedLarvalResources=double ] DEFAULT VALUE 1e8
>
IN ANY ORDER:
| <eggStage ... />
| <larvalStage ... />
| <pupalStage ... />
| <femaleEggsLaidByOviposit ... />
</lifeCycle>
Documentation (element)
Parameters describing the life-cycle of this species of mosquito
Attributes
Estimate of larval resources
estimatedLarvalResources=double
Units: X
Default value: 1e8
An estimate of mean annual availability of resources to larvae. Used to get the resource usage fitting algorithm going; if the algorithm fails to fit the resource availability then tweaking this parameter may help. In other cases tweaking this parameter shouldn't be necessary. Default value is 10⁸ (1e8). Units are arbitrary but must be the same as those used by the resourceUsage parameter.
Egg stage
→ scenario → entomology → vector → anopheles → lifeCycle → eggStage
<eggStage
duration=int
survival=double
/>
Documentation (element)
Parameters for the egg stage of development
Documentation (type)
Parameters associated with a mosquito development stage.
Attributes
Duration
duration=int
Units: Days
Duration of the stage (i.e. length of time mosquito is an egg/larva/pupa).
Probability of survival
survival=double
Units: Proportion
Probability that mosquito survives this size (probability of egg hatching, a larva becoming a pupa or a pupa emerging as an adult, at the start of that stage).
larvalStage
→ scenario → entomology → vector → anopheles → lifeCycle → larvalStage
<larvalStage>
</larvalStage>
Documentation (type)
Parameters for the larval stage of development
Documentation (base type)
Parameters associated with a mosquito development stage.
Daily development
→ scenario → entomology → vector → anopheles → lifeCycle → larvalStage → daily
<daily
resourceUsage=double
effectCompetition=double
/>
Documentation (element)
List of parameters which apply during the larval stage of development. List length must equal stage duration, with first item corresponding to first 24 hours after hatching, second item to hours 24-48, and so on.
Attributes
Resource usage
resourceUsage=double
Units: X
Resource usage during larval stage of development. Units are arbitrary.
Effect of competition
effectCompetition=double
Units: none
Effect of competition over resources on development.
Pupal stage
→ scenario → entomology → vector → anopheles → lifeCycle → pupalStage
<pupalStage
duration=int
survival=double
/>
Documentation (element)
Parameters for the pupal stage of development
Documentation (type)
Parameters associated with a mosquito development stage.
Attributes
Duration
duration=int
Units: Days
Duration of the stage (i.e. length of time mosquito is an egg/larva/pupa).
Probability of survival
survival=double
Units: Proportion
Probability that mosquito survives this size (probability of egg hatching, a larva becoming a pupa or a pupa emerging as an adult, at the start of that stage).
Eggs laid by ovipositing mosquito
→ scenario → entomology → vector → anopheles → lifeCycle → femaleEggsLaidByOviposit
<femaleEggsLaidByOviposit
value=double
/>
Documentation (element)
Units: Eggs per feeding cycle
The total number of female eggs laid by a female mosquito at the conclusion to a feeding cycle.
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Simple Mosq-Pop-Dynamics parameters
→ scenario → entomology → vector → anopheles → simpleMPD
<simpleMPD>
IN ANY ORDER:
| <developmentDuration ... />
| <developmentSurvival ... />
| <femaleEggsLaidByOviposit ... />
</simpleMPD>
Documentation (element)
Parameters describing the simple mosquito population dynamics model.
This is a simpler version of the life-cycle model, requiring less parameters and with much simpler initialisation.
Duration
→ scenario → entomology → vector → anopheles → simpleMPD → developmentDuration
<developmentDuration
value=int
/>
Documentation (element)
Units: Days Min: 1
Duration from egg laying to emergence in days.
Attributes
Input parameter value
value=int
An integer value.
Probability of survival
→ scenario → entomology → vector → anopheles → simpleMPD → developmentSurvival
<developmentSurvival
value=double
/>
Documentation (element)
Units: Proportion Min: 0 Max: 1
Probability that mosquito survives from the egg being laid to emergence, given no resouce limitations (no density constraints).
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Eggs laid by ovipositing mosquito
→ scenario → entomology → vector → anopheles → simpleMPD → femaleEggsLaidByOviposit
<femaleEggsLaidByOviposit
value=double
/>
Documentation (element)
Units: Eggs per feeding cycle
The total number of female eggs laid by a female mosquito at the conclusion to a feeding cycle.
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Alternative (non-human) host paramters
→ scenario → entomology → vector → anopheles → nonHumanHosts
<nonHumanHosts
name=string
>
IN ANY ORDER:
| <mosqRelativeEntoAvailability ... />
| <mosqProbBiting ... />
| <mosqProbFindRestSite ... />
| <mosqProbResting ... />
</nonHumanHosts>
Documentation (element)
Min: 0
Non human host parameters, per type of host (must match up with non-species-specific parameters).
Attributes
Identifier for this category of non-human hosts
name=string
Identifier for this category of non-human hosts
Relative availability of non-human host (ξ_i)
→ scenario → entomology → vector → anopheles → nonHumanHosts → mosqRelativeEntoAvailability
<mosqRelativeEntoAvailability
value=double
/>
Documentation (element)
Units: Proportion
Relative availability of non-human hosts of type i to other non-human hosts; the sum of this across all non-human hosts must be 1.
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Probability of mosquito successfully biting host
→ scenario → entomology → vector → anopheles → nonHumanHosts → mosqProbBiting
<mosqProbBiting
value=double
/>
Documentation (element)
Units: Proportion
Probability of mosquito successfully biting host
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Probability that the mosquito escapes host and finds a resting place after biting
→ scenario → entomology → vector → anopheles → nonHumanHosts → mosqProbFindRestSite
<mosqProbFindRestSite
value=double
/>
Documentation (element)
Units: Proportion
Probability that the mosquito escapes host and finds a resting place after biting
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Probability of mosquito successfully resting after finding a resting site
→ scenario → entomology → vector → anopheles → nonHumanHosts → mosqProbResting
<mosqProbResting
value=double
/>
Documentation (element)
Units: Proportion
Probability of mosquito successfully resting after finding a resting site
Attributes
Input parameter value
value=double
A double-precision floating-point value.
nonHumanHosts
→ scenario → entomology → vector → nonHumanHosts
<nonHumanHosts
name=string
number=double
/>
Attributes
Species of alternative host
name=string
Name of this species of non human hosts (must match up with those described per anopheles section).
Population size of alternative host species
number=double
Units: Number
Population size of this non-human host.
Parasite genetics
<parasiteGenetics
samplingMode=("initial" or "tracking")
>
IN THIS ORDER:
| ( <locus ... /> )+
</parasiteGenetics>
Documentation (element)
A specification of genotypes of infection parasites.
May be omitted; in this case there is no modelling of genetic differences of infections (resistance, fitness).
Attributes
samplingMode
samplingMode=("initial" or "tracking")
This controls how genotypes are determined for new infections during the intervention period. Prior to this (in initialisation phases), genotypes are always sampled using the specified initial frequencies. Mode "initial" continues to sample genotypes using initial frequencies (i.e. independent of the success of parent generations of parasites). Mode "tracking" samples genotypes based on the success parent generations of parasites have in infecting mosquitoes, tracked per genotype. It is possible that in the future a recombination option will be added to this list, however designing a suitable model is not trivial.
Locus
→ scenario → parasiteGenetics → locus
<locus
name=string
>
IN THIS ORDER:
| ( <allele ... /> )+
</locus>
Documentation (element)
Describes a locus, or a point at which an infection may vary. The genotype of an infection is determined by choosing one allele at each locus. Initial frequencies of alleles are specified independently for each locus, but subsequent infections are selected according to success of genotypes.
Alleles at loci can affect fitness and resistance to any number of drugs.
Attributes
Name of locus
name=string
Name of the Locus
Allele
→ scenario → parasiteGenetics → locus → allele
<allele
name=string
initialFrequency=double
fitness=double
/>
Documentation (element)
Describes an allele, or one possible genetic option of multiple at one point of variance.
Attributes
Name
name=string
Name of the allele; used to refer to it elsewhere.
Initial frequency
initialFrequency=double
Specification of how commonly this allele occurs during warmup relative to other alleles of the same locus. During the simulation's initialisation phases, the frequency at which each allele of each locus occurs is fixed. After the initialisation phase, frequency of alleles is modelled as an emergent property of the success of genotypes.
Fitness factor
fitness=double
Fitness factor of the allele. This is multiplication factor used to speed up or slow down replication of parasites. For example, if a genotype has an allele with a fitness factor of 1 at one locus and another allele with a fitness factor of 0.8 at a second locus, then the parasites with the genotype will replicate 20% slower than the baseline.
Drug parameters (PK, PD and usage)
→ scenario → pharmacology
<pharmacology>
IN THIS ORDER:
| <treatments ... />
| <drugs ... />
</pharmacology>
Documentation (element)
Drug model parameters and drug usage parameters
Documentation (type)
A library of drug related data for the PK/PD model.
Treatments library
→ scenario → pharmacology → treatments
<treatments>
IN THIS ORDER:
| ( <schedule ... /> )+
| ( <dosages ... /> )+
</treatments>
Documentation (element)
A library of drug deployment schedules and dosages.
schedule
→ scenario → pharmacology → treatments → schedule
<schedule
name=string
>
IN THIS ORDER:
| ( <medicate ... /> )*
</schedule>
Documentation (type)
A schedule for the administration of drugs in a course of treatment.
Note that dose sizes are multiplied by some multiplier (see dosages) and the times of all doses may be delayed.
Attributes
Name
name=string
Name for referring to this deployment schedule
medicate
→ scenario → pharmacology → treatments → schedule → medicate
<medicate
drug=string
mg=double
hour=double
/>
Attributes
drug
drug=string
Abbreviated name of drug compound
Drug dose (mg with multiplier)
mg=double
Units: mg per something
Quantity of drug compound in mg per something. A separate dosage table must be used when medicating, which may specify multipliers of this number based on patient age or weight.
Time of administration
hour=double
Units: Hours Min: 0
Number of hours past start of timestep this drug dose is administered at (first dose should be at hour 0).
dosages
→ scenario → pharmacology → treatments → dosages
<dosages
name=string
>
IN THIS ORDER:
| EXACTLY ONE OF:
| | ( <age ... /> )+
| | ( <bodymass ... /> )+
| | <multiply ... />
</dosages>
Documentation (type)
A table for selecting a dose size given an age.
Categories must uniquely cover all ages from birth, with no upper bound. Categories must be listed in order of age, increasing; the first must have lower bound 0. Upper bounds are equal to the lower bound of the next category, (but are exclusive where lower bounds are inclusive); the last category has no upper bound.
Attributes
Name
name=string
Name for referring to this dosage table
age
→ scenario → pharmacology → treatments → dosages → age
<age
lowerbound=double
dose_mult=double
/>
Documentation (type)
Gives a dose multiplier for an age or body mass range.
Attributes
Lower bound (inclusive)
lowerbound=double
Units: years Min: 0
Dose multiplier
dose_mult=double
Min: 0
The dose size given in the schedule (in mg) is multiplied by this value for patients falling into this age range when this dosage table is used.
bodymass
→ scenario → pharmacology → treatments → dosages → bodymass
<bodymass
lowerbound=double
dose_mult=double
/>
Documentation (type)
Gives a dose multiplier for an age or body mass range.
Attributes
Lower bound (inclusive)
lowerbound=double
Units: years Min: 0
Dose multiplier
dose_mult=double
Min: 0
The dose size given in the schedule (in mg) is multiplied by this value for patients falling into this age range when this dosage table is used.
Multiply dose
→ scenario → pharmacology → treatments → dosages → multiply
<multiply
by=("kg")
/>
Documentation (element)
Multiply the dose by some quantity, such as patient weight.
Attributes
By what?
by=("kg")
Quantity to multiply the dose by. Only option is "kg" (patient weight in kg).
Drug library
→ scenario → pharmacology → drugs
<drugs>
IN THIS ORDER:
| ( <drug ... /> )+
</drugs>
Documentation (element)
A library of drug PK/PD data.
drug
→ scenario → pharmacology → drugs → drug
<drug
abbrev=string
>
IN THIS ORDER:
| <PD ... />
| <PK ... />
</drug>
Documentation (type)
A drug description with PK/PD parameters.
Attributes
abbrev
abbrev=string
PD
→ scenario → pharmacology → drugs → drug → PD
<PD
[ locus=string ]
>
IN THIS ORDER:
| ( <phenotype ... /> )+
</PD>
Attributes
Locus
locus=string
Optional; if present specifies the locus corresponding to this drug's PD phenotypes: each phenotype must then match one of that locus's alleles. Otherwise the drug should specify only one phenotype. There is currently a one-to-many correspondance between loci and drugs.
PD parameters for some allele / resistance phenotype
→ scenario → pharmacology → drugs → drug → PD → phenotype
<phenotype
[ name=string ]
>
IN THIS ORDER:
| ( <restriction ... /> )*
| <max_killing_rate ... />
| <IC50 ... />
| <slope ... />
</phenotype>
Documentation (element)
Pharmaco-Dynamic parameters for some resistance phenotype.
To model resistance to this drug, describe multiple infection phenotypes (with respect to these PD parameters) and list one or more "restrict" elements for each phenotype.
Loci are specified elsewhere. Multiple loci may influence the action of a single drug and each locus may influence multiple drugs.
Attributes
Name of phenotype
name=string
Name of the phenotype; for documentation use only.
Restrict phenotype applicability to certain alleles
→ scenario → pharmacology → drugs → drug → PD → phenotype → restriction
<restriction
onLocus=string
toAllele=string
/>
Documentation (element)
Specifies the mapping from genotype to phenotype. For each drug type, if only one phenotype is present, restrictions need not be specified, but otherwise restrictions must be specified.
The set of loci affecting phenotypes of this drug's action must be fixed for any drug type. Each phenotype must list, for each of these loci, a restriction to one or more alleles under the locus.
Attributes
Locus relevant to the mapping of alleles to this phenotype
onLocus=string
A locus under which only a restricted set of alleles map to this phenotype.
Alleles mapping to this phenotype
toAllele=string
One allele of a locus upon which phenotype choice depends. If multiple alleles under this locus should map to the same phenotype, repeat the whole "restriction onLocus..." element.
Maximal parasite killing rate
→ scenario → pharmacology → drugs → drug → PD → phenotype → max_killing_rate
<max_killing_rate>
double
</max_killing_rate>
Documentation (element)
Units: 1/days Min: 0
k1 — Maximal parasite killing rate.
IC50
→ scenario → pharmacology → drugs → drug → PD → phenotype → IC50
<IC50
[ sigma=double ] DEFAULT VALUE 0
>
double
</IC50>
Documentation (element)
Units: mg/l Min: 0
Half maximal effect concentration. If sigma > 0, the IC50 is sampled for each infection from a log-normal distribution with mean of this value and the sigma value specified, i.e. X ~ log N( log(mean) - s^2 / 2, s^2 ) .
Attributes
Sigma parameter for per-infection variation of IC50
sigma=double
Default value: 0
Distribution parameter describing per-infection variation of IC50. If zero or not specified, the IC50 is not sampled. See documentation of parent element.
Slope of effect curve
→ scenario → pharmacology → drugs → drug → PD → phenotype → slope
<slope>
double
</slope>
Documentation (element)
Units: dimensionless
n — Slope of the concentration effect curve
PK
→ scenario → pharmacology → drugs → drug → PK
<PK>
IN THIS ORDER:
| <negligible_concentration ... />
| EXACTLY ONE OF:
| | <half_life ... />
| | IN THIS ORDER:
| | | <k ... />
| | | <m_exponent ... />
| [ <k_a ... /> ]
| [ <conversion ... /> ]
| <vol_dist ... />
| [ <compartment2 ... /> ]
| [ <compartment3 ... /> ]
</PK>
Drug concentration considered negligible
→ scenario → pharmacology → drugs → drug → PK → negligible_concentration
<negligible_concentration>
double
</negligible_concentration>
Documentation (element)
Units: mg/l Min: 0
Concentration below which drug's effects are deemed negligible and can be removed from simulation.
drug half-life
→ scenario → pharmacology → drugs → drug → PK → half_life
<half_life>
double
</half_life>
Documentation (element)
Units: days Min: 0
Used to calculate elimination rate λ, calculated as λ = ln(2) / half_life. The basic form of decay is C(t) = C0 * exp(-λ*t).
Alternatively, elimination rate can be specified via k and m_exponent.
Constant associated with elimination rate (k)
→ scenario → pharmacology → drugs → drug → PK → k
<k
mean=double
[ cv=double ]
distr=("lnorm" or "const")
/>
Documentation (element)
Units: day^-1 Min: 0
Constant used to calculate the elimination rate λ, which is calculated as λ = k / (body_mass ^ m_exponent), where body_mass is the patient's weight in kg and m_exponent is the next parameter. The basic form of decay is C(t) = C0 * exp(-λ*t).
If sigma > 0, k is sampled per-human from the log-normal distribution: ln N( ln(mean) - σ^2 / 2, σ^2).
Alternatively, elimination rate can be specified via half_life.
Documentation (type)
Parameters of some distribution. The mean is that provided and the standard deviation is cv*mean.
Log-normal: σ = cv * mean ; μ = ln(mean) - σ² / 2 ; X ~ ln N( μ, σ² ) ; equivalent R sample: rlnorm(1, log(mean) - ((cv * mean)^2) / 2, cv * mean).
Attributes
mean
mean=double
Units: (same as base units)
The mean of the distribution.
Coefficient of variance
cv=double
Units: unitless
Coefficient of variance (mean * cv gives standard deviation). Must be specified when distribution is not constant.
Distribution
distr=("lnorm" or "const")
Selects the distribution to use. const: constant (no distribution). Setting cv=0 has the same behaviour. lnorm: log-normal distribution
Constant associated with elimination rate (m_exponent)
→ scenario → pharmacology → drugs → drug → PK → m_exponent
<m_exponent>
double
</m_exponent>
Documentation (element)
Units: day^-1 Min: 0
Constant used to calculate the elimination rate λ, which is calculated as λ = k / (body_mass ^ m_exponent), where body_mass is the patient's weight in kg and k is the previous parameter. The basic form of decay is C(t) = C0 * exp(-λ*t).
Alternatively, elimination rate can be specified via half_life.
Note that in the case of a conversion model, this applies to both the elimination and the conversion rates.
Absorption rate constant (k_a)
→ scenario → pharmacology → drugs → drug → PK → k_a
<k_a
mean=double
[ cv=double ]
distr=("lnorm" or "const")
/>
Documentation (element)
Min: 0
Absorption rate parameter. Not allowed for one compartment models, but required for two and three compartment models and one compartment with conversion model (for the parent drug only).
Documentation (type)
Parameters of some distribution. The mean is that provided and the standard deviation is cv*mean.
Log-normal: σ = cv * mean ; μ = ln(mean) - σ² / 2 ; X ~ ln N( μ, σ² ) ; equivalent R sample: rlnorm(1, log(mean) - ((cv * mean)^2) / 2, cv * mean).
Attributes
mean
mean=double
Units: (same as base units)
The mean of the distribution.
Coefficient of variance
cv=double
Units: unitless
Coefficient of variance (mean * cv gives standard deviation). Must be specified when distribution is not constant.
Distribution
distr=("lnorm" or "const")
Selects the distribution to use. const: constant (no distribution). Setting cv=0 has the same behaviour. lnorm: log-normal distribution
Conversion parameters (parent drug)
→ scenario → pharmacology → drugs → drug → PK → conversion
<conversion>
IN ANY ORDER:
| <metabolite ... />
| <rate ... />
| <molRatio ... />
</conversion>
Documentation (element)
Configures the parent drug in a conversion model.
To use a conversion model, the parent drug should have this section defined as well as half-life or k (direct elimination; this may be zero) and k_a (absorption rate; this may be large).
The metabolite drug should define half-life or k (elimination of metabolite), but not k_a (absorption rate) or this section (conversion). It is not possible for the metabolite to itself undergo conversion with the current models.
Metabolite drug (abbreviation)
→ scenario → pharmacology → drugs → drug → PK → conversion → metabolite
<metabolite>
string
</metabolite>
Documentation (element)
The abbreviation of the metabolite drug (e.g. "DHA" or "DHA_AR").
Rate of conversion
→ scenario → pharmacology → drugs → drug → PK → conversion → rate
<rate
mean=double
[ cv=double ]
distr=("lnorm" or "const")
/>
Documentation (element)
Rate of conversion of parent drug to metabolite.
Documentation (type)
Parameters of some distribution. The mean is that provided and the standard deviation is cv*mean.
Log-normal: σ = cv * mean ; μ = ln(mean) - σ² / 2 ; X ~ ln N( μ, σ² ) ; equivalent R sample: rlnorm(1, log(mean) - ((cv * mean)^2) / 2, cv * mean).
Attributes
mean
mean=double
Units: (same as base units)
The mean of the distribution.
Coefficient of variance
cv=double
Units: unitless
Coefficient of variance (mean * cv gives standard deviation). Must be specified when distribution is not constant.
Distribution
distr=("lnorm" or "const")
Selects the distribution to use. const: constant (no distribution). Setting cv=0 has the same behaviour. lnorm: log-normal distribution
Molecular weight ratio
→ scenario → pharmacology → drugs → drug → PK → conversion → molRatio
<molRatio>
double
</molRatio>
Documentation (element)
Ratio of molecular weights: molecular weight of the metabolite divided by molecular weight of the parent.
Volume of Distribution (Vd)
→ scenario → pharmacology → drugs → drug → PK → vol_dist
<vol_dist
[ sigma=double ] DEFAULT VALUE 0
>
double
</vol_dist>
Documentation (element)
Units: l/kg Min: 0
Volume of Distribution
Attributes
Sigma parameter for per-human variation of Vd
sigma=double
Default value: 0
Distribution parameter describing per-human variation of volume of distribution. If zero or not specified, the parameter is not sampled. See documentation of parent element.
Second compartment parameters
→ scenario → pharmacology → drugs → drug → PK → compartment2
<compartment2>
IN ANY ORDER:
| <a12 ... />
| <a21 ... />
</compartment2>
Documentation (element)
Optional element specifying conversion parameters to- and from- a second compartment.
Absorption rate to compartment 2 (a12)
→ scenario → pharmacology → drugs → drug → PK → compartment2 → a12
<a12
mean=double
[ cv=double ]
distr=("lnorm" or "const")
/>
Documentation (element)
Units: day^-1 Min: 0
Absorption rate from the central compartment to the first periphery compartment (2). The parameter k12 = a12 / m where m is the body mass (kg).
It is sampled per-patient when sigma > 0.
Documentation (type)
Parameters of some distribution. The mean is that provided and the standard deviation is cv*mean.
Log-normal: σ = cv * mean ; μ = ln(mean) - σ² / 2 ; X ~ ln N( μ, σ² ) ; equivalent R sample: rlnorm(1, log(mean) - ((cv * mean)^2) / 2, cv * mean).
Attributes
mean
mean=double
Units: (same as base units)
The mean of the distribution.
Coefficient of variance
cv=double
Units: unitless
Coefficient of variance (mean * cv gives standard deviation). Must be specified when distribution is not constant.
Distribution
distr=("lnorm" or "const")
Selects the distribution to use. const: constant (no distribution). Setting cv=0 has the same behaviour. lnorm: log-normal distribution
Absorption rate from compartment 2 (a21)
→ scenario → pharmacology → drugs → drug → PK → compartment2 → a21
<a21
mean=double
[ cv=double ]
distr=("lnorm" or "const")
/>
Documentation (element)
Units: day^-1 Min: 0
Absorption rate from the first periphery compartment (2) to the central compartment. The parameter k21 = a21 / m where m is the body mass (kg).
It is sampled per-patient when sigma > 0.
Documentation (type)
Parameters of some distribution. The mean is that provided and the standard deviation is cv*mean.
Log-normal: σ = cv * mean ; μ = ln(mean) - σ² / 2 ; X ~ ln N( μ, σ² ) ; equivalent R sample: rlnorm(1, log(mean) - ((cv * mean)^2) / 2, cv * mean).
Attributes
mean
mean=double
Units: (same as base units)
The mean of the distribution.
Coefficient of variance
cv=double
Units: unitless
Coefficient of variance (mean * cv gives standard deviation). Must be specified when distribution is not constant.
Distribution
distr=("lnorm" or "const")
Selects the distribution to use. const: constant (no distribution). Setting cv=0 has the same behaviour. lnorm: log-normal distribution
Third compartment parameters
→ scenario → pharmacology → drugs → drug → PK → compartment3
<compartment3>
IN ANY ORDER:
| <a13 ... />
| <a31 ... />
</compartment3>
Documentation (element)
Optional element specifying conversion parameters to- and from- a third compartment.
Absorption rate to compartment 3 (a13)
→ scenario → pharmacology → drugs → drug → PK → compartment3 → a13
<a13
mean=double
[ cv=double ]
distr=("lnorm" or "const")
/>
Documentation (element)
Units: day^-1 Min: 0
Absorption rate from the central compartment to the second periphery compartment (3). The parameter k13 = a13 / m where m is the body mass (kg).
It is sampled per-patient when sigma > 0.
Documentation (type)
Parameters of some distribution. The mean is that provided and the standard deviation is cv*mean.
Log-normal: σ = cv * mean ; μ = ln(mean) - σ² / 2 ; X ~ ln N( μ, σ² ) ; equivalent R sample: rlnorm(1, log(mean) - ((cv * mean)^2) / 2, cv * mean).
Attributes
mean
mean=double
Units: (same as base units)
The mean of the distribution.
Coefficient of variance
cv=double
Units: unitless
Coefficient of variance (mean * cv gives standard deviation). Must be specified when distribution is not constant.
Distribution
distr=("lnorm" or "const")
Selects the distribution to use. const: constant (no distribution). Setting cv=0 has the same behaviour. lnorm: log-normal distribution
Absorption rate from compartment 3 (a31)
→ scenario → pharmacology → drugs → drug → PK → compartment3 → a31
<a31
mean=double
[ cv=double ]
distr=("lnorm" or "const")
/>
Documentation (element)
Units: day^-1 Min: 0
Absorption rate from the second periphery compartment (3) to the central compartment. The parameter k31 = a31 / m where m is the body mass (kg).
It is sampled per-patient when sigma > 0.
Documentation (type)
Parameters of some distribution. The mean is that provided and the standard deviation is cv*mean.
Log-normal: σ = cv * mean ; μ = ln(mean) - σ² / 2 ; X ~ ln N( μ, σ² ) ; equivalent R sample: rlnorm(1, log(mean) - ((cv * mean)^2) / 2, cv * mean).
Attributes
mean
mean=double
Units: (same as base units)
The mean of the distribution.
Coefficient of variance
cv=double
Units: unitless
Coefficient of variance (mean * cv gives standard deviation). Must be specified when distribution is not constant.
Distribution
distr=("lnorm" or "const")
Selects the distribution to use. const: constant (no distribution). Setting cv=0 has the same behaviour. lnorm: log-normal distribution
Diagnostic parameters
→ scenario → diagnostics
<diagnostics>
IN THIS ORDER:
| ( <diagnostic ... /> )*
</diagnostics>
Documentation (element)
Diagnostic model parameters
diagnostic
→ scenario → diagnostics → diagnostic
<diagnostic
name=string
[ units=("Other" or "Garki" or "Malariatherapy") ]
>
IN THIS ORDER:
| EXACTLY ONE OF:
| | <deterministic ... />
| | <stochastic ... />
</diagnostic>
Attributes
Name of diagnostic
name=string
Name of this diagnostic (parameterisation). May be used elsewhere in the XML document to refer to this set of diagnostic parameters.
Parasite density units / methodology
units=("Other" or "Garki" or "Malariatherapy")
Parasite densities, as estimated according to standard microscopy methods, the Garki method, and as derived from Malariatherapy data are not equivalent. Internally, a "bias" factor is used to convert values estimated by one methods to values comparable with another (see AJTMHv75 supplement 2 pp20-21). This option allows specification of which methodology the density given in the diagnostic specification is measured with. Values allowed are: Malariatherapy, Garki and Other. If not specified, Other is assumed, unless the GARKI_DENSITY_BIAS model option is used, in which case this option must be specified.
Deterministic detection
→ scenario → diagnostics → diagnostic → deterministic
<deterministic
minDensity=double
/>
Documentation (element)
Specify that an artificial deterministic test is used: outcome is positive if parasite density is at least the minimum given.
Attributes
Minimum detectible density
minDensity=double
Units: parasites/microlitre Min: 0
The minimum density at which parasites can be detected. If 0, the test outcome is always positive.
Non-deterministic detection
→ scenario → diagnostics → diagnostic → stochastic
<stochastic
dens_50=double
specificity=double
/>
Documentation (element)
An improved model of detection which is non-deterministic, including false positive results as well as false negatives.
The probability of a positive outcome is modelled as 1 + s×(x/(x+d) - 1) where x is the parasite density, d is the density at which the test outcome has a 50% chance of being positive, and s is the probability of a positive outcome given no parasites (the specificity).
Some parameterisations:
Microscopy sensitivity/specificity data in Africa; Source: expert opinion — Allan Schapira dens_50 = 20.0 specificity = .75
RDT sensitivity/specificity for Plasmodium falciparum in Africa Source: Murray et al (Clinical Microbiological Reviews, Jan. 2008) dens_50 = 50.0; specificity = .942;
Attributes
Density 50
dens_50=double
Units: parasites/microlitre Min: 0
The density at which the test outcome has a 50% chance of being positive.
Specificity
specificity=double
Units: Dimensionless Min: 0 Max: 1
The probability of a positive test outcome in the absense of parasites.
Model options and parameters
<model>
IN ANY ORDER:
| <ModelOptions ... />
| <clinical ... />
| <human ... />
| [ <vivax ... /> ]
| <parameters ... />
</model>
Documentation (element)
Encapsulation of all parameters which describe the model according to which fitting is done.
Model Options
→ scenario → model → ModelOptions
<ModelOptions>
IN THIS ORDER:
| ( <option ... /> )*
</ModelOptions>
Documentation (element)
All model options (bug fixes, choices between models, etc.).
The list of recognised options can be found in the code at:
model/util/ModelOptions.h and should also be in the wiki.
clinical
<clinical
healthSystemMemory=string
>
IN ANY ORDER:
| [ <NeonatalMortality ... /> ]
| [ <NonMalariaFevers ... /> ]
</clinical>
Documentation (type)
Description of clinical parameters that are related to the health-system description, but which contain data that cannot be changed as part of an intervention and that are not restricted to treatment.
Attributes
Follow-up period during which recurrence is considered a treatment failure
healthSystemMemory=string
Units: User-defined (defaults to steps)
Follow-up period during which a recurrence is considered to be a treatment failure Can be specified in steps (e.g. 6t) or days (e.g. 28d).
Neonatal mortality parameters
→ scenario → model → clinical → NeonatalMortality
<NeonatalMortality
diagnostic=string
/>
Attributes
Diagnostic used to parameterise model
diagnostic=string
The name of a diagnostic used to parameterise the model. Neonatal mortality is derived from malaria patency of a certain sub-population of humans. This is the diagnostic used to asses patency for this purpose. If this is not specified, the monitoring diagnostic is used.
NonMalariaFevers
→ scenario → model → clinical → NonMalariaFevers
<NonMalariaFevers>
IN THIS ORDER:
| <incidence ... />
| [ <prNeedTreatmentNMF ... /> ]
| [ <prNeedTreatmentMF ... /> ]
</NonMalariaFevers>
Documentation (type)
Description of the incidence of non-malaria fever. Non-malaria fevers are only modelled if the NON_MALARIA_FEVERS option is used.
P(NMF)
→ scenario → model → clinical → NonMalariaFevers → incidence
<incidence
[ interpolation=("none" or "linear") ]
>
IN THIS ORDER:
| ( <group ... /> )+
</incidence>
Documentation (element)
Units: Dimensionless Min: 0.0 Max: 1.0
Probability that a non-malaria fever occurs given that no concurrent malaria fever occurs.
Attributes
interpolation
interpolation=("none" or "linear")
Interpolation algorithm. Normally it is desirable for age-based values to be continuous w.r.t. age. By default linear interpolation is used. With all algorithms except "none", the age groups are converted to a set of points centred within each age range. Extra points are added at each end (zero and infinity) to keep value constant at both ends of the function. A zero-length age group may be used as a kind of barrier to adjust the distribution; e.g. with age group boundaries at 15, 20 and 25 years, a (linear) spline would be drawn between ages 17.5 and 22.5, whereas with boundaries at 15, 20 and 20 years, a spline would be drawn between ages 17.5 and 20 years (may be desired if individuals are assumed to reach adult size at 20). Algorithms:
- none: input values are used directly
- linear: straight lines (on an age vs. value graph) are used to interpolate data points.
P(need treatment | NMF)
→ scenario → model → clinical → NonMalariaFevers → prNeedTreatmentNMF
<prNeedTreatmentNMF
[ interpolation=("none" or "linear") ]
>
IN THIS ORDER:
| ( <group ... /> )+
</prNeedTreatmentNMF>
Documentation (element)
Units: Dimensionless Min: 0 Max: 1
Probability that a non-malarial fever requires treatment with antibiotics (assuming fever is not induced by malaria, although concurrent parasites may be present).
Attributes
interpolation
interpolation=("none" or "linear")
Interpolation algorithm. Normally it is desirable for age-based values to be continuous w.r.t. age. By default linear interpolation is used. With all algorithms except "none", the age groups are converted to a set of points centred within each age range. Extra points are added at each end (zero and infinity) to keep value constant at both ends of the function. A zero-length age group may be used as a kind of barrier to adjust the distribution; e.g. with age group boundaries at 15, 20 and 25 years, a (linear) spline would be drawn between ages 17.5 and 22.5, whereas with boundaries at 15, 20 and 20 years, a spline would be drawn between ages 17.5 and 20 years (may be desired if individuals are assumed to reach adult size at 20). Algorithms:
- none: input values are used directly
- linear: straight lines (on an age vs. value graph) are used to interpolate data points.
P(need treatment | MF)
→ scenario → model → clinical → NonMalariaFevers → prNeedTreatmentMF
<prNeedTreatmentMF
[ interpolation=("none" or "linear") ]
>
IN THIS ORDER:
| ( <group ... /> )+
</prNeedTreatmentMF>
Documentation (element)
Units: Dimensionless Min: 0 Max: 1
Probability that a malaria fever needs treatment with antibiotics (assuming fever is induced by malaria, although concurrent bacteria may be present).
Meaning partially overlaps with separate model for comorbidity given malaria.
Attributes
interpolation
interpolation=("none" or "linear")
Interpolation algorithm. Normally it is desirable for age-based values to be continuous w.r.t. age. By default linear interpolation is used. With all algorithms except "none", the age groups are converted to a set of points centred within each age range. Extra points are added at each end (zero and infinity) to keep value constant at both ends of the function. A zero-length age group may be used as a kind of barrier to adjust the distribution; e.g. with age group boundaries at 15, 20 and 25 years, a (linear) spline would be drawn between ages 17.5 and 22.5, whereas with boundaries at 15, 20 and 20 years, a spline would be drawn between ages 17.5 and 20 years (may be desired if individuals are assumed to reach adult size at 20). Algorithms:
- none: input values are used directly
- linear: straight lines (on an age vs. value graph) are used to interpolate data points.
human
<human>
IN THIS ORDER:
| <availabilityToMosquitoes ... />
| [ <weight ... /> ]
</human>
Documentation (type)
Parameters of host models.
Availability to mosquitoes
→ scenario → model → human → availabilityToMosquitoes
<availabilityToMosquitoes
[ interpolation=("none" or "linear") ]
>
IN THIS ORDER:
| ( <group ... /> )+
</availabilityToMosquitoes>
Documentation (element)
Units: None Min: 0 Max: 1
Availability of humans to mosquitoes relative to an adult, categorized by age group
Attributes
interpolation
interpolation=("none" or "linear")
Interpolation algorithm. Normally it is desirable for age-based values to be continuous w.r.t. age. By default linear interpolation is used. With all algorithms except "none", the age groups are converted to a set of points centred within each age range. Extra points are added at each end (zero and infinity) to keep value constant at both ends of the function. A zero-length age group may be used as a kind of barrier to adjust the distribution; e.g. with age group boundaries at 15, 20 and 25 years, a (linear) spline would be drawn between ages 17.5 and 22.5, whereas with boundaries at 15, 20 and 20 years, a spline would be drawn between ages 17.5 and 20 years (may be desired if individuals are assumed to reach adult size at 20). Algorithms:
- none: input values are used directly
- linear: straight lines (on an age vs. value graph) are used to interpolate data points.
Weight
→ scenario → model → human → weight
<weight
[ interpolation=("none" or "linear") ]
multStdDev=double
>
IN THIS ORDER:
| ( <group ... /> )+
</weight>
Documentation (element)
Units: kg Min: 0
By age group data on human weight (mass).
Attributes
interpolation
interpolation=("none" or "linear")
Interpolation algorithm. Normally it is desirable for age-based values to be continuous w.r.t. age. By default linear interpolation is used. With all algorithms except "none", the age groups are converted to a set of points centred within each age range. Extra points are added at each end (zero and infinity) to keep value constant at both ends of the function. A zero-length age group may be used as a kind of barrier to adjust the distribution; e.g. with age group boundaries at 15, 20 and 25 years, a (linear) spline would be drawn between ages 17.5 and 22.5, whereas with boundaries at 15, 20 and 20 years, a spline would be drawn between ages 17.5 and 20 years (may be desired if individuals are assumed to reach adult size at 20). Algorithms:
- none: input values are used directly
- linear: straight lines (on an age vs. value graph) are used to interpolate data points.
Standard deviation
multStdDev=double
Units: None Min: 0
Each human is assigned a weight multiplier from a normal distribution with mean 1 and this standard deviation at birth. His/her weight is this multiplier times the mean from age distribution. A standard deviation of zero for no heterogeneity is valid; a rough value from Tanzanian data is 0.14.
vivax
<vivax>
IN ANY ORDER:
| <probBloodStageInfectiousToMosq ... />
| <hypnozoiteRelease ... />
| <bloodStageProtectionLatency ... />
| <bloodStageLengthDays ... />
| <clinicalEvents ... />
</vivax>
- probBloodStageInfectiousToMosq
- hypnozoiteRelease
- bloodStageProtectionLatency
- bloodStageLengthDays
- clinicalEvents
probBloodStageInfectiousToMosq
→ scenario → model → vivax → probBloodStageInfectiousToMosq
<probBloodStageInfectiousToMosq
value=double
/>
Attributes
Input parameter value
value=double
A double-precision floating-point value.
hypnozoiteRelease
→ scenario → model → vivax → hypnozoiteRelease
<hypnozoiteRelease
[ pSecondRelease=double ] DEFAULT VALUE 0
>
IN ANY ORDER:
| <numberHypnozoites ... />
| <firstRelease ... />
| [ <secondRelease ... /> ]
</hypnozoiteRelease>
Documentation (type)
This element defines probabilites when and how many hypnozoites are released from the liverstage into the blood.
The gap between the start of a new brood of hypnozoites and its release are defined as follows:
latentP + latentRelapseDays + randomReleaseDelay
randomReleaseDelay is based on one or two lognormal distributions, which are defined in firstRelease and optionally secondRelease.
You can define 2 release distributions, which get added together and represent the probability of hypnozoites which get released before winter (first release) or after (second release).
You can omit the secondRelease element if no release to the blood happens after winter.
Attributes
latent relapse days
pSecondRelease=double
Default value: 0
Probability of a second release. If undefined it is zero.
Number of Hypnozoites
→ scenario → model → vivax → hypnozoiteRelease → numberHypnozoites
<numberHypnozoites
max=int
base=double
/>
Documentation (element)
numberHypnozoites calculates the number of hypnozoites in the liver stage based on a base which is between 0 and 1.
This number is random based on the following distribution and normalized:
max ∑ (base ^ n) n = 0
Attributes
max
max=int
base
base=double
firstRelease
→ scenario → model → vivax → hypnozoiteRelease → firstRelease
<firstRelease
mu=double
sigma=double
latentRelapseDays=int
/>
Documentation (base type)
Parameters of a normal distribution.
Variates are sampled as: X ~ N( mu, sigma² ).
Attributes
mu
mu=double
Units: (same as base units)
The mean of the normal distribution.
sigma
sigma=double
Units: (same as base units)
The standard deviation of variates.
latent relapse days
latentRelapseDays=int
Usually 15 days or 10 days (3 or 2 5-day timesteps).
secondRelease
→ scenario → model → vivax → hypnozoiteRelease → secondRelease
<secondRelease
mu=double
sigma=double
latentRelapseDays=int
/>
Documentation (base type)
Parameters of a normal distribution.
Variates are sampled as: X ~ N( mu, sigma² ).
Attributes
mu
mu=double
Units: (same as base units)
The mean of the normal distribution.
sigma
sigma=double
Units: (same as base units)
The standard deviation of variates.
latent relapse days
latentRelapseDays=int
Usually 15 days or 10 days (3 or 2 5-day timesteps).
bloodStageProtectionLatency
→ scenario → model → vivax → bloodStageProtectionLatency
<bloodStageProtectionLatency
value=double
/>
Attributes
Input parameter value
value=double
A double-precision floating-point value.
bloodStageLengthDays
→ scenario → model → vivax → bloodStageLengthDays
<bloodStageLengthDays
weibullScale=double
weibullShape=double
/>
Attributes
weibullScale
weibullScale=double
weibullShape
weibullShape=double
clinicalEvents
→ scenario → model → vivax → clinicalEvents
<clinicalEvents>
IN THIS ORDER:
| <pPrimaryInfection ... />
| <pRelapseOne ... />
| <pRelapseTwoPlus ... />
| <pEventIsSevere ... />
</clinicalEvents>
Documentation (type)
This elements holds all information about probabilites for clinical events from infections and relapses.
pPrimaryInfection
→ scenario → model → vivax → clinicalEvents → pPrimaryInfection
<pPrimaryInfection
a=double
b=double
/>
Attributes
a
a=double
b
b=double
pRelapseOne
→ scenario → model → vivax → clinicalEvents → pRelapseOne
<pRelapseOne
a=double
b=double
/>
Attributes
a
a=double
b
b=double
pRelapseTwoPlus
→ scenario → model → vivax → clinicalEvents → pRelapseTwoPlus
<pRelapseTwoPlus
a=double
b=double
/>
Attributes
a
a=double
b
b=double
pEventIsSevere
→ scenario → model → vivax → clinicalEvents → pEventIsSevere
<pEventIsSevere
value=double
/>
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Parameters of the model of epidemiology
→ scenario → model → parameters
<parameters
interval=int
iseed=int
latentp=string
>
IN THIS ORDER:
| ( <parameter ... /> )+
</parameters>
Documentation (element)
Parameters of the epidemiological model
Attributes
Simulation step
interval=int
Units: Days
Simulation step
Random number seed
iseed=int
Units: Number
Seed for RNG
Pre-erythrocytic latent period
latentp=string
Units: User defined (default: steps) Min: 0 Max: 20
Pre-erythrocytic latent period Can be specified in steps (e.g. 3t) or days (e.g. 15d).
parameter
→ scenario → model → parameters → parameter
<parameter
[ name=string ]
number=int
value=double
[ include=boolean ]
/>
Attributes
Name of parameter
name=string
Units: string
Name of parameter
Parameter number
number=int
Units: Number Min: 1 Max: 100
Reference number of input parameter
Parameter value
value=double
Units: Number Min: 0
Parameter value
Sampling indicator
include=boolean
Units: Number Min: 0 Max: 1
True if parameter is to be sampled in optimization runs. Not used in simulator app.
Schema 35 documentation
Generated from: scenario_35.xsd
.
Key:
abc required (one)
[ def ] optional (zero or one)
( ghi )* any number (zero or more)
( jkl )+ at least one
( mno ){2,inf} two or more occurrences
Scenario
→ scenario
<scenario
schemaVersion=int
[ analysisNo=int ]
name=string
[ wuID=int ]
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:om="http://openmalaria.org/schema/scenario_35"
xsi:schemaLocation="http://openmalaria.org/schema/scenario_35 scenario_35.xsd"
>
IN ANY ORDER:
| <demography ... />
| <monitoring ... />
| <interventions ... />
| <healthSystem ... />
| <entomology ... />
| [ <parasiteGenetics ... /> ]
| [ <pharmacology ... /> ]
| [ <diagnostics ... /> ]
| <model ... />
</scenario>
- demography
- monitoring
- interventions
- healthSystem
- entomology
- parasiteGenetics
- pharmacology
- diagnostics
- model
Documentation (element)
Description of scenario
Attributes
Version of the xml schema
schemaVersion=int
Version of xml schema. If not equal to the current version an error is thrown. Use SchemaTranslator to update xml files.
Reference number of the analysis
analysisNo=int
Units: Number Min: 1 Max: 100000000
Unique identifier of scenario
Name of intervention
name=string
Name of intervention
Work unit identifier
wuID=int
Units: Number
Work unit ID. Obselete and no longer required.
Human age distribution
→ scenario → demography
<demography
name=string
popSize=int
maximumAgeYrs=double
[ growthRate=double ]
>
IN THIS ORDER:
| <ageGroup ... />
</demography>
Documentation (element)
Description of demography
Attributes
Name of demography data
name=string
Name of demography data
Population size
popSize=int
Units: Count Min: 1 Max: 100000
Population size
Maximum age of simulated humans
maximumAgeYrs=double
Units: Years Min: 0 Max: 100
Maximum age of simulated humans in years
Growth rate of human population
growthRate=double
Units: Number Min: 0 Max: 0
Growth rate of human population. (we should be able to implement this with non-zero values)
Age groups
→ scenario → demography → ageGroup
<ageGroup
lowerbound=double
>
IN THIS ORDER:
| ( <group ... /> )+
</ageGroup>
Documentation (element)
list of age groups included in demography
Documentation (type)
list of age groups included in demography or surveys
Attributes
Lower bound of age group
lowerbound=double
Units: Years Min: 0 Max: 100
Lower bound of age group
group
→ scenario → demography → ageGroup → group
<group
poppercent=double
upperbound=double
/>
Attributes
Percentage in age group
poppercent=double
Units: Percentage Min: 0 Max: 100
Percentage of human population in age group
Upper bound of age group
upperbound=double
Units: Years Min: 0 Max: 100
Upper bound of age group
Measures to be reported
→ scenario → monitoring
<monitoring
name=string
[ startDate=string ]
>
IN THIS ORDER:
| [ <continuous ... /> ]
| <SurveyOptions ... />
| <surveys ... />
| <ageGroup ... />
| [ <cohorts ... /> ]
</monitoring>
Documentation (element)
Description of surveys
Attributes
Name of monitoring settings
name=string
Name of monitoring settings
Start of monitoring
startDate=string
An optional date for the start of monitoring. If given, dates may be used to specify when other events (surveys, intervention deployments) occur; alternately times relative to the start of the intervention period may be used to specify event times. Setting this to 1st January of some year might simplify usage of dates, and putting the start a couple of years before the start of intervention deployment (along with some extra surveys) may be useful to check transmission stabilises to the expected pre-intervention levels. As an example, if this date is set to 2000-01-01, then the following event times are equivalent (assuming 1t=5d): 15t, 75d, 0.2y, 2000-03-16. Must be in the form YYYY-MM-DD, e.g. 2003-01-01.
continuous
→ scenario → monitoring → continuous
<continuous
period=string
[ duringInit=boolean ]
>
IN THIS ORDER:
| ( <option ... /> )*
</continuous>
Attributes
Delay between reports
period=string
Units: User defined (default: steps)
Delay between reports; typically one time step but can be greater. Can be specified in steps (e.g. 1t) or days (e.g. 5d).
During initialization
duringInit=boolean
Units: Days Min: 1 Max: unbounded
Also output during initialization. By default this is disabled (only intervention-period data is output). This should not be used for predictions, but can be useful for model validation. In this mode, 'simulation time' is output as the first column (in addition to 'timestep'), since 'timestep' is dis- continuous across the start of the intervention period.
option
→ scenario → monitoring → continuous → option
<option
name=string
[ value=boolean ] DEFAULT VALUE true
/>
Attributes
Option name
name=string
Name of an option (monitoring measure or model option).
Indicator of whether option is required
value=boolean
Default value: true
Option on/off switch (true/false). Specifying value="true" is the same as not specifying a value; specifying value="false" explicitly turns the option off. If an option is not mentioned at all, it is left at its default value (normally off, but in a few cases, such as some bug-fix options, on).
Name of quantity
→ scenario → monitoring → SurveyOptions
<SurveyOptions>
IN THIS ORDER:
| ( <option ... /> )*
</SurveyOptions>
Documentation (element)
List of all active survey options. See model/mon/OutputMeasures.h for a list of supported outputs. Should also be on the wiki.
option
→ scenario → monitoring → SurveyOptions → option
<option
name=string
[ value=boolean ] DEFAULT VALUE true
[ outputNumber=int ]
[ byAge=boolean ]
[ byCohort=boolean ]
[ bySpecies=boolean ]
[ byGenotype=boolean ]
[ byDrugType=boolean ]
/>
Attributes
Option name
name=string
Name of an option (monitoring measure or model option).
Indicator of whether option is required
value=boolean
Default value: true
Option on/off switch (true/false). Specifying value="true" is the same as not specifying a value; specifying value="false" explicitly turns the option off. If an option is not mentioned at all, it is left at its default value (normally off, but in a few cases, such as some bug-fix options, on).
Number identifying measure in output
outputNumber=int
Number identifying this monitoring measure in the output file (3rd column). Normally this is determined from the measure, but it can be set manually, e.g. for when the same measure is recorded twice (to accumulate across different categories).
Report by age category
byAge=boolean
If true, the measure is reported for each age category. If false, values are summed across all age categories and only the sum reported. If not specified, separate categories will be reported if the measure supports this.
Report by cohort
byCohort=boolean
If true, the measure is reported for each cohort separately. If false, values are summed across all cohorts and only the sum reported. If not specified, separate categories will be reported if the measure supports this.
Report by mosquito species
bySpecies=boolean
If true, the measure is reported for each mosquito species separately. If false, values are summed across all species and only the sum reported. If not specified, separate categories will be reported if the measure supports this.
Report by parasite genotype
byGenotype=boolean
If true, the measure is reported for each parasite genotype separately. If false, values are summed across all genotypes and only the sum reported. If not specified, separate categories will be reported if the measure supports this.
Report by drug type
byDrugType=boolean
If true, the measure is reported for each drug type separately. If false, values are summed across all drug types and only the sum reported. If not specified, separate categories will be reported if the measure supports this.
Survey times (time steps)
→ scenario → monitoring → surveys
<surveys
[ detectionLimit=double ]
[ diagnostic=string ]
>
IN THIS ORDER:
| ( <surveyTime ... /> )+
</surveys>
Documentation (element)
List of survey times
Attributes
Detection limit for parasitaemia
detectionLimit=double
Units: parasites/microlitre Min: 0
Deprecated: limit above which a human's infection is reported as patent. Alternative: do not specify this; instead specify "diagnostic".
Name of monitoring diagnostic
diagnostic=string
Name of a parameterised diagnostic to use in surveys (see scenario/diagnostics).
Survey time
→ scenario → monitoring → surveys → surveyTime
<surveyTime
[ repeatStep=string ]
[ repeatEnd=string ]
[ reported=boolean ] DEFAULT VALUE true
>
string
</surveyTime>
Documentation (element)
Units: User defined (defaults to steps) Min: 0
Time of a survey. A report will be made for those measures enabled under SurveyOptions. Reported data is either from the moment the survey is done (immediate data) or is collected over the time since the previous survey, or in some cases over a fixed time span (usually one year).
Times can be specified in time steps, starting from 0, or as a date (see monitoring/startDate), or in days (e.g. 15d) or years (e.g. 1y). Relative times mean the time since the start of the intervention period, and must be non-negative (zero is valid, but some measures, e.g. nUncomp, will be zero).
The simulation ends immediately after the last survey is taken.
Attributes
Step of repetition
repeatStep=string
Units: User defined
See repeatEnd's documentation.
End of repetition (exclusive)
repeatEnd=string
Units: User defined
Either both repeatStep and repeatEnd should be present or neither. If present, the survey is repeated every repeatStep timesteps (i.e. if t0 is the initial time and x is repeatStep, surveys are done at times t0, t0+x, t0+2*x, ...), ending before repeatEnd (final repetition is the one before repeatEnd). Note that repeatEnd may be specified as a date but repeatStep must be a duration (days, steps or years).
reported
reported=boolean
Default value: true
For normal surveys, reporting=true. If set false, quantities are measured but not reported. The reason for doing this is to update conditions set on reportable measures. Multiple surveys may be given here for the same date, e.g. if using "repeatStep" for both reporting and non-reporting surveys. These are combined such that a maximum of one survey is carried out per time-step, and the survey is reported if any of the listed surveys for this date is configured as "reporting". Note that adding non-reporting surveys will not affect value output by reported surveys, with the exception that generated psuedo-random numbers may be altered (specifically, when any stochastic diagnostics are used in surveys).
Age groups
→ scenario → monitoring → ageGroup
<ageGroup
lowerbound=double
>
IN THIS ORDER:
| ( <group ... /> )+
</ageGroup>
Documentation (element)
List of age groups included in demography or surveys
Attributes
lower bound of age group
lowerbound=double
Units: Years Min: 0 Max: 100
Lower bound of age group
group
→ scenario → monitoring → ageGroup → group
<group
upperbound=double
/>
Attributes
upper bound of age group
upperbound=double
Units: Years Min: 0 Max: 100
Upper bound of age group
Cohorts
→ scenario → monitoring → cohorts
<cohorts>
IN THIS ORDER:
| ( <subPop ... /> )+
</cohorts>
Documentation (element)
Allows the configuration of multiple cohorts (output segregated according to membership within specific sub-populations).
If this element is omitted, monitoring surveys cover the entire simulated human population.
It does not affect the "continuous" outputs (these never take cohorts into account).
Sub-population
→ scenario → monitoring → cohorts → subPop
<subPop
id=string
number=integer
/>
Documentation (element)
Consider a certain sup-population a cohort, and segregate outputs according to membership. Where multiple sub-populations are listed, segregate output according to all combinations of membership: e.g. if sub-populations A and B are listed, there will be outputs for "member of A and B", "member of A but not B", "B but not A" and "not a member of A or B". Listing n sub-populations implies 2^n sets of outputs (each is further segregated by age groups, survey times and enabled output measures, which could lead to excessive program memory usage and output file size).
To identify outputs, each sub-population has a power of two number as identifier (see "number" attribute). Each of the 2^n output sets is identified by a number: the output set is the output from humans who are members in some set of sub-populations (S1, S2, ...) and not members in some others (T1, T2, ...); the number identifying the set is the sum of the numbers identifying the sets S1, S2, etc.
In the output file, the output set is identified by multiplying this number by 1000 then adding it to the age group column.
Attributes
Sub-population identifier
id=string
Textual identifier for the sub-population (i.e. for an intervention component, since sub-populations are defined as the hosts an intervention component is deployed to).
Sub-population number
number=integer
Units: dimensionless Min: 1 Max: 2097152
Number identifying a sub-population; used to define identifiers of output sets. This number must be a power of 2 (i.e. 1, 2, 4, 8, ...). See documentation of subPop element.
Preventative interventions
<interventions
name=string
>
IN ANY ORDER:
| [ <changeHS ... /> ]
| [ <changeEIR ... /> ]
| [ <importedInfections ... /> ]
| [ <insertR_0Case ... /> ]
| [ <uninfectVectors ... /> ]
| [ <vectorPop ... /> ]
| [ <human ... /> ]
</interventions>
Documentation (element)
List of interventions. Generally these are either point-time distributions of something to some subset of the population, or continuous-time distribution targetting individuals when they reach a certain age.
Attributes
Name of intervention set
name=string
Name of set of interventions
Change health system
→ scenario → interventions → changeHS
<changeHS
[ name=string ]
>
IN THIS ORDER:
| ( <timedDeployment ... /> )*
</changeHS>
Documentation (element)
Changes to the health system
Attributes
Name of intervention
name=string
Name of intervention
timedDeployment
→ scenario → interventions → changeHS → timedDeployment
<timedDeployment
time=string
>
IN THIS ORDER:
| EXACTLY ONE OF:
| | <EventScheduler ... />
| | <ImmediateOutcomes ... />
| | <DecisionTree5Day ... />
| <CFR ... />
| <pSequelaeInpatient ... />
</timedDeployment>
Documentation (type)
A complete replacement health system. Replaces all previous properties. (Health system can be replaced multiple times if necessary.)
Documentation (base type)
Description of case management system, used to specify the initial model or a replacement (an intervention). Encompasses case management data and some other data required to derive case outcomes.
Contains a sub-element describing the particular health-system in use. Health system data is here defined as data used to decide on a treatment strategy, given a case requiring treatment.
Attributes
Time
time=string
Units: User defined (defauls to steps) Min: 0
Time at which this replacement occurs. See doc on intervention period and on monitoring/startDate for details of how times work. Can be specified in steps, days, years, or as a date (examples: 15t, 75d, 0.2y, 2000-03-16).
EventScheduler
→ scenario → healthSystem → EventScheduler
<EventScheduler>
IN THIS ORDER:
| <uncomplicated ... />
| <complicated ... />
| <ClinicalOutcomes ... />
| [ <NonMalariaFevers ... /> ]
</EventScheduler>
uncomplicated
→ scenario → healthSystem → EventScheduler → uncomplicated
<uncomplicated
[ name=string ]
>
EXACTLY ONE OF:
| <multiple ... />
| <caseType ... />
| <diagnostic ... />
| <random ... />
| <age ... />
| <noTreatment ... />
| <treatFailure ... />
| ( <treatPKPD ... /> )+
| <treatSimple ... />
| ( <deploy ... /> )+
</uncomplicated>
Documentation (type)
Describes how "decisions" are made, both probabilistically and deterministically, and what actions are carried out.
Quantities may also be reported as a side effect of decisions made in the tree, for example the number of diagnostics used.
Attributes
Name
name=string
An optional piece of documentation attached to this node.
multiple
→ scenario → interventions → human → component → decisionTree → multiple
<multiple
[ name=string ]
>
IN THIS ORDER:
| ( <caseType ... /> )*
| ( <diagnostic ... /> )*
| ( <random ... /> )*
| ( <age ... /> )*
| ( <treatPKPD ... /> )*
| [ <treatSimple ... /> ]
| ( <deploy ... /> )*
</multiple>
Documentation (type)
A special node allowing multiple sub-trees to be evaluated.
This is different from an ordinary decision tree node in that:
a) multiple types of child can occur simultaneously (e.g. multiple types of treatment or treatment plus a 'random' sub-tree)
b) the 'noTreatment' and 'treatFailure' nodes are not allowed
Attributes
Name
name=string
An optional piece of documentation attached to this node.
caseType
→ scenario → interventions → human → component → decisionTree → multiple → caseType
<caseType
[ name=string ]
>
IN ANY ORDER:
| <firstLine ... />
| <secondLine ... />
</caseType>
Documentation (type)
A switch which choses a branch deterministically, based on whether the patient was treated recently (second line) or not (first line).
For uncomplicated cases only.
Attributes
Name
name=string
An optional piece of documentation attached to this node.
firstLine
→ scenario → interventions → human → component → decisionTree → multiple → caseType → firstLine
<firstLine
[ name=string ]
>
EXACTLY ONE OF:
| <multiple ... />
| <caseType ... />
| <diagnostic ... />
| <random ... />
| <age ... />
| <noTreatment ... />
| <treatFailure ... />
| ( <treatPKPD ... /> )+
| <treatSimple ... />
| ( <deploy ... /> )+
</firstLine>
Documentation (type)
Describes how "decisions" are made, both probabilistically and deterministically, and what actions are carried out.
Quantities may also be reported as a side effect of decisions made in the tree, for example the number of diagnostics used.
Attributes
Name
name=string
An optional piece of documentation attached to this node.
caseType
→ scenario → interventions → human → component → decisionTree → caseType
<caseType
[ name=string ]
>
IN ANY ORDER:
| <firstLine ... />
| <secondLine ... />
</caseType>
Documentation (type)
A switch which choses a branch deterministically, based on whether the patient was treated recently (second line) or not (first line).
For uncomplicated cases only.
Attributes
Name
name=string
An optional piece of documentation attached to this node.
secondLine
→ scenario → interventions → human → component → decisionTree → multiple → caseType → secondLine
<secondLine
[ name=string ]
>
EXACTLY ONE OF:
| <multiple ... />
| <caseType ... />
| <diagnostic ... />
| <random ... />
| <age ... />
| <noTreatment ... />
| <treatFailure ... />
| ( <treatPKPD ... /> )+
| <treatSimple ... />
| ( <deploy ... /> )+
</secondLine>
Documentation (type)
Describes how "decisions" are made, both probabilistically and deterministically, and what actions are carried out.
Quantities may also be reported as a side effect of decisions made in the tree, for example the number of diagnostics used.
Attributes
Name
name=string
An optional piece of documentation attached to this node.
diagnostic
→ scenario → interventions → human → component → decisionTree → diagnostic
<diagnostic
diagnostic=string
[ name=string ]
>
IN ANY ORDER:
| <positive ... />
| <negative ... />
</diagnostic>
Documentation (type)
A switch which choses a branch deterministically, based on the outcome of some type of diagnostic.
Attributes
Name of diagnostic
diagnostic=string
Should match the name of some parameterised diagnostic (see scenario/diagnostics).
Name
name=string
An optional piece of documentation attached to this node.
positive
→ scenario → interventions → human → component → decisionTree → multiple → diagnostic → positive
<positive
[ name=string ]
>
EXACTLY ONE OF:
| <multiple ... />
| <caseType ... />
| <diagnostic ... />
| <random ... />
| <age ... />
| <noTreatment ... />
| <treatFailure ... />
| ( <treatPKPD ... /> )+
| <treatSimple ... />
| ( <deploy ... /> )+
</positive>
Documentation (type)
Describes how "decisions" are made, both probabilistically and deterministically, and what actions are carried out.
Quantities may also be reported as a side effect of decisions made in the tree, for example the number of diagnostics used.
Attributes
Name
name=string
An optional piece of documentation attached to this node.
random
→ scenario → interventions → human → component → decisionTree → random
<random
[ name=string ]
>
IN THIS ORDER:
| ( <outcome ... /> )+
</random>
Documentation (type)
A switch which choses a branch randomly.
Each branch must be listed with a probability; the sum of all these probabilities must equal 1.
Attributes
Name
name=string
An optional piece of documentation attached to this node.
outcome
→ scenario → interventions → human → component → decisionTree → multiple → random → outcome
<outcome
[ name=string ]
p=double
>
EXACTLY ONE OF:
| <multiple ... />
| <caseType ... />
| <diagnostic ... />
| <random ... />
| <age ... />
| <noTreatment ... />
| <treatFailure ... />
| ( <treatPKPD ... /> )+
| <treatSimple ... />
| ( <deploy ... /> )+
</outcome>
Documentation (base type)
Describes how "decisions" are made, both probabilistically and deterministically, and what actions are carried out.
Quantities may also be reported as a side effect of decisions made in the tree, for example the number of diagnostics used.
Attributes
Name
name=string
An optional piece of documentation attached to this node.
Probability
p=double
Units: None Min: 0 Max: 1
Probability of selecting this outcome. The sum of probabilities across all outcomes must be 1.
age
→ scenario → interventions → human → component → decisionTree → age
<age
[ name=string ]
>
IN THIS ORDER:
| ( <age ... /> )+
</age>
Documentation (type)
A switch which choses a branch deterministically, based on the patient's age (in years).
Categories must uniquely cover all ages from birth, with no upper bound. Categories must be listed in order of age, increasing; the first must have lower bound 0. Upper bounds are equal to the lower bound of the next category, (but are exclusive where lower bounds are inclusive); the last category has no upper bound.
Attributes
Name
name=string
An optional piece of documentation attached to this node.
Age range
→ scenario → interventions → human → component → decisionTree → multiple → age → age
<age
[ name=string ]
lb=double
>
EXACTLY ONE OF:
| <multiple ... />
| <caseType ... />
| <diagnostic ... />
| <random ... />
| <age ... />
| <noTreatment ... />
| <treatFailure ... />
| ( <treatPKPD ... /> )+
| <treatSimple ... />
| ( <deploy ... /> )+
</age>
Documentation (element)
Describes a branch, selected for patients of a certain age.
Documentation (base type)
Describes how "decisions" are made, both probabilistically and deterministically, and what actions are carried out.
Quantities may also be reported as a side effect of decisions made in the tree, for example the number of diagnostics used.
Attributes
Name
name=string
An optional piece of documentation attached to this node.
Lower bound (inclusive)
lb=double
Min: 0
noTreatment
→ scenario → interventions → human → component → decisionTree → noTreatment
<noTreatment
[ name=string ]
/>
Documentation (type)
An end node doing nothing. This exists to explicitly state that no treatment happens and to prevent trees from accidentally being left incomplete.
Attributes
Name
name=string
An optional piece of documentation attached to this node.
treatFailure
→ scenario → interventions → human → component → decisionTree → treatFailure
<treatFailure
[ name=string ]
/>
Documentation (type)
An end node which reports treatment but does not change parasitalogical status. This allows correct labelling of second-line cases.
Attributes
Name
name=string
An optional piece of documentation attached to this node.
treatPKPD
→ scenario → interventions → human → component → decisionTree → treatPKPD
<treatPKPD
schedule=string
dosage=string
[ delay_h=double ] DEFAULT VALUE 0
/>
Documentation (type)
A command to administer drugs according to a given schedule and dosage table, optionally with a delay.
Attributes
Name of treatment schedule
schedule=string
The name of a schedule to use for treatment.
Name of dosage table
dosage=string
The name of a dosage table to use for treatment.
Delay (hours)
delay_h=double
Default value: 0
Optionally, this can be given to delay the start of treatment by a given number of hours. If not specified, treatment is not delayed. If a delay is given, all medications within the treatment schedule used are delayed by this number of hours.
treatSimple
→ scenario → interventions → human → component → decisionTree → treatSimple
<treatSimple
durationLiver=string
durationBlood=string
/>
Documentation (type)
Simple treatment model, targetting liver- and/or blood-stage infections. This is all-or-nothing treatment which, when deploymed, completely clears all infections of the targetted stages. This makes it unsuitable for modeling resistance, but suitable for use with simple infection models.
Infections are considered liver-stage when less than five days old and blood-stage after that. Effects are described independently for the two stages.
Attributes
Length of liver-stage effect
durationLiver=string
Units: User defined
Controls action on liver-stage infections. 0 means no action, -1 step is a compatibility option to act like treatment before schema version 32 (which removed infections retrospectively), 1 step or any duration which equals some whole number of steps n>0 means to clear all liver-stage infections found on the next 1 or n steps. Note on -1 compatibility option: the main difference to 1 step (clearing on the next timestep) is that parasite densities will be reduced immediately, and thus from the point of view of surveys and mass screen and treat interventions a peak in density which is immediately treated through case management will not be seen. Can be specified in steps (e.g. 1t, -1t) or days (e.g. 5d).
Length of blood-stage effect
durationBlood=string
Units: User defined
Controls action on blood-stage infections. 0 means no action, -1 step is a compatibility option to act like treatment before schema version 32 (which removed infections retrospectively), 1 step or any duration which equals some whole number of steps n>0 means to clear all blood-stage infections found on the next 1 or n steps. Note on -1 compatibility option: the main difference to 1 step (clearing on the next timestep) is that parasite densities will be reduced immediately, and thus from the point of view of surveys and mass screen and treat interventions a peak in density which is immediately treated through case management will not be seen. Can be specified in steps (e.g. 1t, -1t) or days (e.g. 5d).
deploy
→ scenario → interventions → human → component → decisionTree → deploy
<deploy
component=string
/>
Documentation (type)
Deploy one or more intervention components.
Attributes
Component identifier
component=string
The identifier (short name) of a component.
negative
→ scenario → interventions → human → component → decisionTree → multiple → diagnostic → negative
<negative
[ name=string ]
>
EXACTLY ONE OF:
| <multiple ... />
| <caseType ... />
| <diagnostic ... />
| <random ... />
| <age ... />
| <noTreatment ... />
| <treatFailure ... />
| ( <treatPKPD ... /> )+
| <treatSimple ... />
| ( <deploy ... /> )+
</negative>
Documentation (type)
Describes how "decisions" are made, both probabilistically and deterministically, and what actions are carried out.
Quantities may also be reported as a side effect of decisions made in the tree, for example the number of diagnostics used.
Attributes
Name
name=string
An optional piece of documentation attached to this node.
diagnostic
→ scenario → interventions → human → component → decisionTree → multiple → diagnostic
<diagnostic
diagnostic=string
[ name=string ]
>
IN ANY ORDER:
| <positive ... />
| <negative ... />
</diagnostic>
Documentation (type)
A switch which choses a branch deterministically, based on the outcome of some type of diagnostic.
Attributes
Name of diagnostic
diagnostic=string
Should match the name of some parameterised diagnostic (see scenario/diagnostics).
Name
name=string
An optional piece of documentation attached to this node.
random
→ scenario → interventions → human → component → decisionTree → multiple → random
<random
[ name=string ]
>
IN THIS ORDER:
| ( <outcome ... /> )+
</random>
Documentation (type)
A switch which choses a branch randomly.
Each branch must be listed with a probability; the sum of all these probabilities must equal 1.
Attributes
Name
name=string
An optional piece of documentation attached to this node.
age
→ scenario → interventions → human → component → decisionTree → multiple → age
<age
[ name=string ]
>
IN THIS ORDER:
| ( <age ... /> )+
</age>
Documentation (type)
A switch which choses a branch deterministically, based on the patient's age (in years).
Categories must uniquely cover all ages from birth, with no upper bound. Categories must be listed in order of age, increasing; the first must have lower bound 0. Upper bounds are equal to the lower bound of the next category, (but are exclusive where lower bounds are inclusive); the last category has no upper bound.
Attributes
Name
name=string
An optional piece of documentation attached to this node.
treatPKPD
→ scenario → interventions → human → component → decisionTree → multiple → treatPKPD
<treatPKPD
schedule=string
dosage=string
[ delay_h=double ] DEFAULT VALUE 0
/>
Documentation (type)
A command to administer drugs according to a given schedule and dosage table, optionally with a delay.
Attributes
Name of treatment schedule
schedule=string
The name of a schedule to use for treatment.
Name of dosage table
dosage=string
The name of a dosage table to use for treatment.
Delay (hours)
delay_h=double
Default value: 0
Optionally, this can be given to delay the start of treatment by a given number of hours. If not specified, treatment is not delayed. If a delay is given, all medications within the treatment schedule used are delayed by this number of hours.
treatSimple
→ scenario → interventions → human → component → decisionTree → multiple → treatSimple
<treatSimple
durationLiver=string
durationBlood=string
/>
Documentation (type)
Simple treatment model, targetting liver- and/or blood-stage infections. This is all-or-nothing treatment which, when deploymed, completely clears all infections of the targetted stages. This makes it unsuitable for modeling resistance, but suitable for use with simple infection models.
Infections are considered liver-stage when less than five days old and blood-stage after that. Effects are described independently for the two stages.
Attributes
Length of liver-stage effect
durationLiver=string
Units: User defined
Controls action on liver-stage infections. 0 means no action, -1 step is a compatibility option to act like treatment before schema version 32 (which removed infections retrospectively), 1 step or any duration which equals some whole number of steps n>0 means to clear all liver-stage infections found on the next 1 or n steps. Note on -1 compatibility option: the main difference to 1 step (clearing on the next timestep) is that parasite densities will be reduced immediately, and thus from the point of view of surveys and mass screen and treat interventions a peak in density which is immediately treated through case management will not be seen. Can be specified in steps (e.g. 1t, -1t) or days (e.g. 5d).
Length of blood-stage effect
durationBlood=string
Units: User defined
Controls action on blood-stage infections. 0 means no action, -1 step is a compatibility option to act like treatment before schema version 32 (which removed infections retrospectively), 1 step or any duration which equals some whole number of steps n>0 means to clear all blood-stage infections found on the next 1 or n steps. Note on -1 compatibility option: the main difference to 1 step (clearing on the next timestep) is that parasite densities will be reduced immediately, and thus from the point of view of surveys and mass screen and treat interventions a peak in density which is immediately treated through case management will not be seen. Can be specified in steps (e.g. 1t, -1t) or days (e.g. 5d).
deploy
→ scenario → interventions → human → component → decisionTree → multiple → deploy
<deploy
component=string
/>
Documentation (type)
Deploy one or more intervention components.
Attributes
Component identifier
component=string
The identifier (short name) of a component.
complicated
→ scenario → healthSystem → EventScheduler → complicated
<complicated
[ name=string ]
>
EXACTLY ONE OF:
| <multiple ... />
| <caseType ... />
| <diagnostic ... />
| <random ... />
| <age ... />
| <noTreatment ... />
| <treatFailure ... />
| ( <treatPKPD ... /> )+
| <treatSimple ... />
| ( <deploy ... /> )+
</complicated>
Documentation (type)
Describes how "decisions" are made, both probabilistically and deterministically, and what actions are carried out.
Quantities may also be reported as a side effect of decisions made in the tree, for example the number of diagnostics used.
Attributes
Name
name=string
An optional piece of documentation attached to this node.
ClinicalOutcomes
→ scenario → healthSystem → EventScheduler → ClinicalOutcomes
<ClinicalOutcomes>
IN THIS ORDER:
| <maxUCSeekingMemory ... />
| <uncomplicatedCaseDuration ... />
| <complicatedCaseDuration ... />
| <complicatedRiskDuration ... />
| ( <dailyPrImmUCTS ... /> )+
</ClinicalOutcomes>
- maxUCSeekingMemory
- uncomplicatedCaseDuration
- complicatedCaseDuration
- complicatedRiskDuration
- dailyPrImmUCTS
Documentation (type)
Description of base parameters of the clinical model.
Max UC treatment-seeking memory
→ scenario → healthSystem → EventScheduler → ClinicalOutcomes → maxUCSeekingMemory
<maxUCSeekingMemory>
int
</maxUCSeekingMemory>
Documentation (element)
Units: Days Min: 0 Max: unbounded
Maximum number of timesteps (including first day of case) that an individual with an uncomplicated case of malaria will remember he/she was sick before resetting.
Uncomplicated case duration
→ scenario → healthSystem → EventScheduler → ClinicalOutcomes → uncomplicatedCaseDuration
<uncomplicatedCaseDuration>
int
</uncomplicatedCaseDuration>
Documentation (element)
Units: Days Min: 1 Max: unbounded
Fixed length of an uncomplicated case of malarial or non-malarial sickness (from treatment seeking until return to life-as-usual). Usually 3.
Complicated case duration
→ scenario → healthSystem → EventScheduler → ClinicalOutcomes → complicatedCaseDuration
<complicatedCaseDuration>
int
</complicatedCaseDuration>
Documentation (element)
Units: Days Min: 1 Max: unbounded
Fixed length of a complicated or severe case of malaria (from treatment seeking until return to life-as-usual).
Complicated risk duration
→ scenario → healthSystem → EventScheduler → ClinicalOutcomes → complicatedRiskDuration
<complicatedRiskDuration>
int
</complicatedRiskDuration>
Documentation (element)
Units: Days Min: 1 Max: unbounded
Number of days for which humans are at risk of death during a severe or complicated case of malaria. Cannot be greater than the duration of a complicated case or less than 1 day.
Daily probability of immediate treatment seeking for uncomplicated cases
→ scenario → healthSystem → EventScheduler → ClinicalOutcomes → dailyPrImmUCTS
<dailyPrImmUCTS>
double
</dailyPrImmUCTS>
Documentation (element)
Units: Dimensionless Min: 0.0 Max: 1.0
It is sometimes desirable to model delays to treatment-seeking in uncomplicated cases. While treatment of drugs can be delayed within case management trees to provide a similar effect, this doesn't delay any of the decisions, including diagnostics using the current parasite density.
Instead a list of dailyPrImmUCTS elements can be used, describing successive daily probabilities of treatment (sum must be 1). For example, with a list of two elements with values 0.8 and 0.2, for 80% of UC cases the decision tree is evaluated immediately, and for 20% of cases evaluation is delayed by one day.
For no delay, use one element with a value of 1.
NonMalariaFevers
→ scenario → healthSystem → EventScheduler → NonMalariaFevers
<NonMalariaFevers>
IN THIS ORDER:
| <prTreatment ... />
| <effectNegativeTest ... />
| <effectPositiveTest ... />
| <effectNeed ... />
| <effectInformal ... />
| <CFR ... />
| <TreatmentEfficacy ... />
</NonMalariaFevers>
Documentation (type)
Description of non-malaria fever health-system modelling (treatment, outcomes and costing). Incidence is described by the model->clinical->NonMalariaFevers element. Non-malaria fevers are only modelled if the NON_MALARIA_FEVERS option is used.
As further explanation of the parameters below, we first take: β₀ = logit(P₀) - β₃·P(need), and then calculate the probability of antibiotic administration, P(AB), dependent on treatment seeking location. No seeking: P(AB) = 0 Informal sector: logit(P(AB)) = β₀ + β₄ Health facility: logit(P(AB)) = β₀ + β₁·I(neg) + β₂·I(pos) + β₃·I(need) (where I(X) is 1 when event X is true and 0 otherwise, logit(p)=log(p/(1-p)), event "need" is the event that death may occur without treatment, events "neg" and "pos" are the events that a malaria parasite diagnositic was used and indicated no parasites and parasites respectively).
P(treatment|no diagnostic)
→ scenario → healthSystem → EventScheduler → NonMalariaFevers → prTreatment
<prTreatment>
double
</prTreatment>
Documentation (element)
Units: Dimensionless Min: 0.0 Max: 1.0
Probability of a non-malaria fever being treated with an antibiotic given that no malaria diagnostic was used but independent of need. Symbol: P₀.
Effect of a negative test
→ scenario → healthSystem → EventScheduler → NonMalariaFevers → effectNegativeTest
<effectNegativeTest>
double
</effectNegativeTest>
Documentation (element)
The effect of a negative malaria diagnostic on the odds ratio of receiving antibiotics. Symbol: exp(β₁).
Effect of a positive test
→ scenario → healthSystem → EventScheduler → NonMalariaFevers → effectPositiveTest
<effectPositiveTest>
double
</effectPositiveTest>
Documentation (element)
The effect of a positive malaria diagnostic on the odds ratio of receiving antibiotics. Symbol: exp(β₂).
Effect of need
→ scenario → healthSystem → EventScheduler → NonMalariaFevers → effectNeed
<effectNeed>
double
</effectNeed>
Documentation (element)
The effect of needing antibiotic treatment on the odds ratio of receiving antibiotics. Symbol: exp(β₃).
Effect of informal provider
→ scenario → healthSystem → EventScheduler → NonMalariaFevers → effectInformal
<effectInformal>
double
</effectInformal>
Documentation (element)
The effect of seeking treatment from an informal provider (i.e. a provider untrained in NMF diagnosis) on the odds ratio of receiving antibiotics. Symbol: exp(β₄)
Case fatality rate
→ scenario → healthSystem → EventScheduler → NonMalariaFevers → CFR
<CFR
[ interpolation=("none" or "linear") ]
>
IN THIS ORDER:
| ( <group ... /> )+
</CFR>
Documentation (element)
Units: Dimensionless Min: 0.0 Max: 1.0
Base case fatality rate for non-malaria fevers (probability of death from a fever requiring antibiotic treatment given that no antibiotic treatment is received, per age-group).
Attributes
interpolation
interpolation=("none" or "linear")
Interpolation algorithm. Normally it is desirable for age-based values to be continuous w.r.t. age. By default linear interpolation is used. With all algorithms except "none", the age groups are converted to a set of points centred within each age range. Extra points are added at each end (zero and infinity) to keep value constant at both ends of the function. A zero-length age group may be used as a kind of barrier to adjust the distribution; e.g. with age group boundaries at 15, 20 and 25 years, a (linear) spline would be drawn between ages 17.5 and 22.5, whereas with boundaries at 15, 20 and 20 years, a spline would be drawn between ages 17.5 and 20 years (may be desired if individuals are assumed to reach adult size at 20). Algorithms:
- none: input values are used directly
- linear: straight lines (on an age vs. value graph) are used to interpolate data points.
age group
→ scenario → healthSystem → CFR → group
<group
value=double
lowerbound=double
/>
Documentation (element)
A series of values according to age groups, each specified with a lower-bound and a value. The first lower-bound specified must be zero; a final upper-bound of infinity is added to complete the last age group. At least one age group is required. Normally these are interpolated by a continuous function (see interpolation attribute).
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Lower bound
lowerbound=double
Units: Years Min: 0 Max: 100
Lower bound of age group
Treatment efficacy
→ scenario → healthSystem → EventScheduler → NonMalariaFevers → TreatmentEfficacy
<TreatmentEfficacy>
double
</TreatmentEfficacy>
Documentation (element)
Units: Dimensionless Min: 0.0 Max: 1.0
Probability that treatment would prevent a death (i.e. CFR is multiplied by one minus this when treatment occurs).
ImmediateOutcomes
→ scenario → healthSystem → ImmediateOutcomes
<ImmediateOutcomes
[ name=string ]
[ useDiagnosticUC=boolean ] DEFAULT VALUE false
>
IN ANY ORDER:
| <drugRegimen ... />
| <initialACR ... />
| <compliance ... />
| <nonCompliersEffective ... />
| <treatmentActions ... />
| <pSeekOfficialCareUncomplicated1 ... />
| <pSelfTreatUncomplicated ... />
| <pSeekOfficialCareUncomplicated2 ... />
| <pSeekOfficialCareSevere ... />
| [ <liverStageDrug ... /> ]
</ImmediateOutcomes>
- drugRegimen
- initialACR
- compliance
- nonCompliersEffective
- treatmentActions
- pSeekOfficialCareUncomplicated1
- pSelfTreatUncomplicated
- pSeekOfficialCareUncomplicated2
- pSeekOfficialCareSevere
- liverStageDrug
Documentation (type)
Description of "immediate outcomes" health system: Tediosi et al case management model (Case management as described in AJTMH 75 (suppl 2) pp90-103).
Attributes
Name of case management parameterisation
name=string
Name of health system
useDiagnosticUC
useDiagnosticUC=boolean
Default value: false
Description of drug regimen
→ scenario → healthSystem → ImmediateOutcomes → drugRegimen
<drugRegimen
firstLine=string
secondLine=string
inpatient=string
/>
Documentation (element)
Description of drug regimen.
Attributes
First line drug
firstLine=string
Units: Drug code
Code for first line drug
Second line drug
secondLine=string
Units: Drug code
Code for second line drug
Drug use for treating inpatients
inpatient=string
Units: Drug code
Code for drug used for treating inpatients
Initial cure rate
→ scenario → healthSystem → ImmediateOutcomes → initialACR
<initialACR>
IN THIS ORDER:
| [ <CQ ... /> ]
| [ <SP ... /> ]
| [ <AQ ... /> ]
| [ <SPAQ ... /> ]
| [ <ACT ... /> ]
| [ <QN ... /> ]
| <selfTreatment ... />
</initialACR>
Documentation (element)
Units: Dimensionless Min: 0.0 Max: 1.0
Initial cure rate
Chloroquine
→ scenario → healthSystem → ImmediateOutcomes → initialACR → CQ
<CQ
value=double
/>
Documentation (element)
Chloroquine
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Sulphadoxine-pyrimethamine
→ scenario → healthSystem → ImmediateOutcomes → initialACR → SP
<SP
value=double
/>
Documentation (element)
Sulphadoxine-pyrimethamine
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Amodiaquine
→ scenario → healthSystem → ImmediateOutcomes → initialACR → AQ
<AQ
value=double
/>
Documentation (element)
Amodiaquine
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Sulphadoxine-pyrimethamine/Amodiaquine
→ scenario → healthSystem → ImmediateOutcomes → initialACR → SPAQ
<SPAQ
value=double
/>
Documentation (element)
Sulphadoxine-pyrimethamine/Amodiaquine
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Artemisinine based combination therapy
→ scenario → healthSystem → ImmediateOutcomes → initialACR → ACT
<ACT
value=double
/>
Documentation (element)
Artemisinine combination therapy
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Quinine
→ scenario → healthSystem → ImmediateOutcomes → initialACR → QN
<QN
value=double
/>
Documentation (element)
Quinine
Attributes
Input parameter value
value=double
A double-precision floating-point value.
selfTreatment
→ scenario → healthSystem → ImmediateOutcomes → initialACR → selfTreatment
<selfTreatment
value=double
/>
Documentation (element)
Units: Dimensionless Min: 0 Max: 1name:P(self-treat)
Probability of self-treatment
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Adherence to treatment
→ scenario → healthSystem → ImmediateOutcomes → compliance
<compliance>
IN THIS ORDER:
| [ <CQ ... /> ]
| [ <SP ... /> ]
| [ <AQ ... /> ]
| [ <SPAQ ... /> ]
| [ <ACT ... /> ]
| [ <QN ... /> ]
| <selfTreatment ... />
</compliance>
Documentation (element)
Units: Dimensionless Min: 0.0 Max: 1.0
Adherence to treatment
Effectiveness of treatment in non-adherent patients
→ scenario → healthSystem → ImmediateOutcomes → nonCompliersEffective
<nonCompliersEffective>
IN THIS ORDER:
| [ <CQ ... /> ]
| [ <SP ... /> ]
| [ <AQ ... /> ]
| [ <SPAQ ... /> ]
| [ <ACT ... /> ]
| [ <QN ... /> ]
| <selfTreatment ... />
</nonCompliersEffective>
Documentation (element)
Units: Dimensionless Min: 0.0 Max: 1.0
Effectiveness of treatment for non-compliant patients
treatmentActions
→ scenario → healthSystem → ImmediateOutcomes → treatmentActions
<treatmentActions>
IN ANY ORDER:
| [ <CQ ... /> ]
| [ <SP ... /> ]
| [ <AQ ... /> ]
| [ <SPAQ ... /> ]
| [ <ACT ... /> ]
| [ <QN ... /> ]
</treatmentActions>
CQ
→ scenario → healthSystem → ImmediateOutcomes → treatmentActions → CQ
<CQ
[ name=string ]
>
IN THIS ORDER:
| ( <deploy ... /> )*
</CQ>
Documentation (type)
Describes the effects of the treatment, assuming this compliance/adherence/... option is selected. Effects are described in terms of a list of options, each of which acts independently but with all effects being activated simultaneously.
Documentation (base type)
Lists intervention components which are deployed according to some external trigger (for example, screening with a negative patency outcome or health-system treatment).
Components are referenced from one or more sub-lists. Each of these lists is deployed independently if and only if its age constraints are met by the human host and a random sample with the given probability of a positive outcome is positive.
Attributes
Name
name=string
Describes what this compliance option represents (e.g. "good compliance", "poor compliance with good drugs", ...).
deploy
→ scenario → healthSystem → ImmediateOutcomes → treatmentActions → CQ → deploy
<deploy
[ maxAge=double ]
[ minAge=double ] DEFAULT VALUE 0
[ p=double ] DEFAULT VALUE 1
>
IN THIS ORDER:
| ( <component ... /> )+
</deploy>
Attributes
Maximum age of eligible humans
maxAge=double
Units: Years Min: 0
Maximum age of eligible humans (defaults to no limit). Input is rounded to the nearest time step.
Minimum age of eligible humans
minAge=double
Units: Years Min: 0
Default value: 0
Minimum age of eligible humans (defaults to 0). Input is rounded to the nearest time step.
Probability of delivery to eligible humans
p=double
Units: dimensionless Min: 0 Max: 1
Default value: 1
Probability of this list of components being deployed, given that other constraints are met.
component
→ scenario → healthSystem → ImmediateOutcomes → treatmentActions → CQ → deploy → component
<component
id=string
/>
Documentation (type)
The list of components deployed to eligible humans.
Attributes
Identifier
id=string
The identifier (short name) of a component.
Prophylactic treatment
→ scenario → healthSystem → DecisionTree5Day → treatmentSevere → clearInfections
<clearInfections
timesteps=string
stage=("liver" or "blood" or "both")
/>
Documentation (element)
This clears infections according to several options: it can clear all blood stage infections, all liver stage infections or both, and it can act on multiple timesteps. To have a probability of no action add another treatment option (which does nothing) and set the probabilities of selection appropriately.
This allows immediate (legacy) or delayed action, a prophylactic period, and selection of which stages are targeted. It is a simple model but appropriate enough for use with the five day timestep when assuming no resistance and that drug failure is mainly caused by bad drugs or compliance.
The old treatment action for the five-day timestep model is essentially this, with immediateAction (timesteps=-1) and stage=both, except for the IPT model's SP action, which was more like with timesteps>1 and stage=blood.
Attributes
Length of effect
timesteps=string
Units: User defined (defaults to steps)
The number of timesteps during which this action remains in effect (e.g. 2 means clear infections during the next two timestep updates). Full clearance of the targeted stages occurs during this time. A special value of -1 means act immediately (retrospectively); this the old behaviour. A value of 1 means act on the next timestep only. Both of these can be thought of as a model for short-acting effective drug treatment; the main differences are that the latter means parasite densities will remain high from the point of view of surveys and diagnostics (i.e. mass screen and treat) used before the next timestep and that the latter will also remove infections starting the next timestep. Arguably the latter is a better model, but the differences are perhaps small, excepting where immediate treatment of fevers (i.e. through the health system) can hide high parasite densities from reporting and mass-screen-and-treat diagnostics. For use by interventions, the latter model has nicer behaviour in that the order of deployment of multiple interventions deployed at the same time does not matter, and that the former model retrospectively treats infections which may already have caused fever, thus may have a lower health impact than it should. It is recommended to use the new model (value 1, or greater than 1 if prophylactic effect is desired) unless wanting to emulate the old behaviour. Values of 0 or less than -1 are not allowed. Can be specified in steps (e.g. 1t, -1t) or days (e.g. 5d).
Target stage
stage=("liver" or "blood" or "both")
Controls whether liver-stage or blood-stage infections are cleared, or both. Infections are considered liver-stage for one 5-day timestep, blood-stage but pre-patent for some number of timesteps (latentp - 1), then start the patent blood stage. If stage is set to "liver", infections are only cleared during their first timestep; if stage is set to "blood", infections are cleared during pre-patent and patent blood stages; if stage is set to "both" all infections are cleared. The old behaviour (oddly considering the drugs it is meant to emulate) is to clear both stages, except for the IPT model of SP action, which cleared only patent blood-stage infections.
SP
→ scenario → healthSystem → ImmediateOutcomes → treatmentActions → SP
<SP
[ name=string ]
>
IN THIS ORDER:
| ( <deploy ... /> )*
</SP>
Documentation (type)
Describes the effects of the treatment, assuming this compliance/adherence/... option is selected. Effects are described in terms of a list of options, each of which acts independently but with all effects being activated simultaneously.
Documentation (base type)
Lists intervention components which are deployed according to some external trigger (for example, screening with a negative patency outcome or health-system treatment).
Components are referenced from one or more sub-lists. Each of these lists is deployed independently if and only if its age constraints are met by the human host and a random sample with the given probability of a positive outcome is positive.
Attributes
Name
name=string
Describes what this compliance option represents (e.g. "good compliance", "poor compliance with good drugs", ...).
AQ
→ scenario → healthSystem → ImmediateOutcomes → treatmentActions → AQ
<AQ
[ name=string ]
>
IN THIS ORDER:
| ( <deploy ... /> )*
</AQ>
Documentation (type)
Describes the effects of the treatment, assuming this compliance/adherence/... option is selected. Effects are described in terms of a list of options, each of which acts independently but with all effects being activated simultaneously.
Documentation (base type)
Lists intervention components which are deployed according to some external trigger (for example, screening with a negative patency outcome or health-system treatment).
Components are referenced from one or more sub-lists. Each of these lists is deployed independently if and only if its age constraints are met by the human host and a random sample with the given probability of a positive outcome is positive.
Attributes
Name
name=string
Describes what this compliance option represents (e.g. "good compliance", "poor compliance with good drugs", ...).
SPAQ
→ scenario → healthSystem → ImmediateOutcomes → treatmentActions → SPAQ
<SPAQ
[ name=string ]
>
IN THIS ORDER:
| ( <deploy ... /> )*
</SPAQ>
Documentation (type)
Describes the effects of the treatment, assuming this compliance/adherence/... option is selected. Effects are described in terms of a list of options, each of which acts independently but with all effects being activated simultaneously.
Documentation (base type)
Lists intervention components which are deployed according to some external trigger (for example, screening with a negative patency outcome or health-system treatment).
Components are referenced from one or more sub-lists. Each of these lists is deployed independently if and only if its age constraints are met by the human host and a random sample with the given probability of a positive outcome is positive.
Attributes
Name
name=string
Describes what this compliance option represents (e.g. "good compliance", "poor compliance with good drugs", ...).
ACT
→ scenario → healthSystem → ImmediateOutcomes → treatmentActions → ACT
<ACT
[ name=string ]
>
IN THIS ORDER:
| ( <deploy ... /> )*
</ACT>
Documentation (type)
Describes the effects of the treatment, assuming this compliance/adherence/... option is selected. Effects are described in terms of a list of options, each of which acts independently but with all effects being activated simultaneously.
Documentation (base type)
Lists intervention components which are deployed according to some external trigger (for example, screening with a negative patency outcome or health-system treatment).
Components are referenced from one or more sub-lists. Each of these lists is deployed independently if and only if its age constraints are met by the human host and a random sample with the given probability of a positive outcome is positive.
Attributes
Name
name=string
Describes what this compliance option represents (e.g. "good compliance", "poor compliance with good drugs", ...).
QN
→ scenario → healthSystem → ImmediateOutcomes → treatmentActions → QN
<QN
[ name=string ]
>
IN THIS ORDER:
| ( <deploy ... /> )*
</QN>
Documentation (type)
Describes the effects of the treatment, assuming this compliance/adherence/... option is selected. Effects are described in terms of a list of options, each of which acts independently but with all effects being activated simultaneously.
Documentation (base type)
Lists intervention components which are deployed according to some external trigger (for example, screening with a negative patency outcome or health-system treatment).
Components are referenced from one or more sub-lists. Each of these lists is deployed independently if and only if its age constraints are met by the human host and a random sample with the given probability of a positive outcome is positive.
Attributes
Name
name=string
Describes what this compliance option represents (e.g. "good compliance", "poor compliance with good drugs", ...).
Probability that a patient with uncomplicated disease seeks official care immediately.
→ scenario → healthSystem → ImmediateOutcomes → pSeekOfficialCareUncomplicated1
<pSeekOfficialCareUncomplicated1
value=double
/>
Documentation (element)
Units: Dimensionless Min: 0.0 Max: 1.0
Probability that a patient with newly incident uncomplicated disease seeks official care
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Probability that a patient with uncomplicated disease will self-treat.
→ scenario → healthSystem → ImmediateOutcomes → pSelfTreatUncomplicated
<pSelfTreatUncomplicated
value=double
/>
Documentation (element)
Units: Dimensionless Min: 0.0 Max: 1.0
Probability that a patient with uncomplicated disease without recent history of disease (i.e. first line) will self-treat.
Note that in second line cases there is no probability of self-treatment.
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Probability that a recurring patient seeks official care
→ scenario → healthSystem → ImmediateOutcomes → pSeekOfficialCareUncomplicated2
<pSeekOfficialCareUncomplicated2
value=double
/>
Documentation (element)
Units: Dimensionless Min: 0.0 Max: 1.0
Probability that a patient with recurrence of uncomplicated disease seeks official care
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Probability that a patient with severe disease obtains appropriate care
→ scenario → healthSystem → ImmediateOutcomes → pSeekOfficialCareSevere
<pSeekOfficialCareSevere
value=double
/>
Documentation (element)
Units: Dimensionless Min: 0.0 Max: 1.0
Probability that a patient with severe disease obtains appropriate care
Attributes
Input parameter value
value=double
A double-precision floating-point value.
liverStageDrug
→ scenario → healthSystem → ImmediateOutcomes → liverStageDrug
<liverStageDrug>
IN ANY ORDER:
| <pHumanCannotReceive ... />
| [ <ignoreCannotReceive ... /> ]
| [ <pUseUncomplicated ... /> ]
| <effectivenessOnUse ... />
</liverStageDrug>
Documentation (type)
Parameters for drug treatment which have an effect on the liver-stage of parasites (Primaquine and potentially Tafenoquine); for use with the Vivax model only.
Note: if this section is not listed, the following default values are assumed: pHumanCannotReceive=0, pUseUncomplicated=0, effectivenessOnUse=1.
Probability that human is incompatible with liver-stage drug treatment
→ scenario → healthSystem → ImmediateOutcomes → liverStageDrug → pHumanCannotReceive
<pHumanCannotReceive
value=double
/>
Documentation (element)
Units: Probability Min: 0 Max: 1
Chance that a human is determined to be unable to receive liver-stage drug treatment. Treatment is neither reported or given for such humans.
This is sampled once per human at birth.
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Ignore liver-stage drug treatment incompatibility
→ scenario → healthSystem → ImmediateOutcomes → liverStageDrug → ignoreCannotReceive
<ignoreCannotReceive
value=boolean
/>
Documentation (element)
If true, ignore pHumanCannotReceive and consider all humans eligible for treatment; if false (or not specified), do not treat those demed incompatible with liver-stage drug treatment.
The point of this is that pHumanCannotReceive cannot be altered by changeHS interventions, but this property can be.
Attributes
Input parameter value
value=boolean
A boolean value.
Prob use in UC case
→ scenario → healthSystem → ImmediateOutcomes → liverStageDrug → pUseUncomplicated
<pUseUncomplicated
value=double
/>
Documentation (element)
Units: Probability Min: 0 Max: 1
This feature is deprecated; it is suggested to use the "simple treatment" feature configured to clear liver-stage parasites, leaving this option unset or zero.
Chance of liver-stage drug treatment being used for routine treatment of an uncomplicated case.
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Effectiveness
→ scenario → healthSystem → ImmediateOutcomes → liverStageDrug → effectivenessOnUse
<effectivenessOnUse
value=double
/>
Documentation (element)
Units: Probability Min: 0 Max: 1
Chance that liver-stage drug treatment is effective.
On application, a random variable is sampled against this probability. If false, the treatment does nothing; if true, the treatment clears all liver stage parasites. Where effectiveness is longer than a single time step (prophylactic effect), this sample still only happens once (thus either no effect or all liver stages cleared over multiple steps).
Attributes
Input parameter value
value=double
A double-precision floating-point value.
DecisionTree5Day
→ scenario → healthSystem → DecisionTree5Day
<DecisionTree5Day
[ name=string ]
>
IN ANY ORDER:
| <pSeekOfficialCareUncomplicated1 ... />
| <pSelfTreatUncomplicated ... />
| <pSeekOfficialCareUncomplicated2 ... />
| <pSeekOfficialCareSevere ... />
| [ <liverStageDrug ... /> ]
| <treeUCOfficial ... />
| <treeUCSelfTreat ... />
| <cureRateSevere ... />
| <treatmentSevere ... />
</DecisionTree5Day>
- pSeekOfficialCareUncomplicated1
- pSelfTreatUncomplicated
- pSeekOfficialCareUncomplicated2
- pSeekOfficialCareSevere
- liverStageDrug
- treeUCOfficial
- treeUCSelfTreat
- cureRateSevere
- treatmentSevere
Documentation (type)
Description of the health system using the 5-day timestep with decision tree model: access is configured as in the Tediosi et al case management model (Case management as described in AJTMH 75 (suppl 2) pp90-103) while treatment decisions are configured via decision trees.
Besides greater flexibility, this allows treatment via PK/PD models.
Attributes
Name of case management parameterisation
name=string
Name of health system
Probability that a patient with uncomplicated disease seeks official care immediately.
→ scenario → healthSystem → DecisionTree5Day → pSeekOfficialCareUncomplicated1
<pSeekOfficialCareUncomplicated1
value=double
/>
Documentation (element)
Units: Dimensionless Min: 0.0 Max: 1.0
Probability that a patient with newly incident uncomplicated disease seeks official care
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Probability that a patient with uncomplicated disease will self-treat.
→ scenario → healthSystem → DecisionTree5Day → pSelfTreatUncomplicated
<pSelfTreatUncomplicated
value=double
/>
Documentation (element)
Units: Dimensionless Min: 0.0 Max: 1.0
Probability that a patient with uncomplicated disease without recent history of disease (i.e. first line) will self-treat.
Note that in second line cases there is no probability of self-treatment.
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Probability that a recurring patient seeks official care
→ scenario → healthSystem → DecisionTree5Day → pSeekOfficialCareUncomplicated2
<pSeekOfficialCareUncomplicated2
value=double
/>
Documentation (element)
Units: Dimensionless Min: 0.0 Max: 1.0
Probability that a patient with recurrence of uncomplicated disease seeks official care
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Probability that a patient with severe disease obtains appropriate care
→ scenario → healthSystem → DecisionTree5Day → pSeekOfficialCareSevere
<pSeekOfficialCareSevere
value=double
/>
Documentation (element)
Units: Dimensionless Min: 0.0 Max: 1.0
Probability that a patient with severe disease obtains appropriate care
Attributes
Input parameter value
value=double
A double-precision floating-point value.
liverStageDrug
→ scenario → healthSystem → DecisionTree5Day → liverStageDrug
<liverStageDrug>
IN ANY ORDER:
| <pHumanCannotReceive ... />
| [ <ignoreCannotReceive ... /> ]
| [ <pUseUncomplicated ... /> ]
| <effectivenessOnUse ... />
</liverStageDrug>
Documentation (type)
Parameters for drug treatment which have an effect on the liver-stage of parasites (Primaquine and potentially Tafenoquine); for use with the Vivax model only.
Note: if this section is not listed, the following default values are assumed: pHumanCannotReceive=0, pUseUncomplicated=0, effectivenessOnUse=1.
treeUCOfficial
→ scenario → healthSystem → DecisionTree5Day → treeUCOfficial
<treeUCOfficial
[ name=string ]
>
EXACTLY ONE OF:
| <multiple ... />
| <caseType ... />
| <diagnostic ... />
| <random ... />
| <age ... />
| <noTreatment ... />
| <treatFailure ... />
| ( <treatPKPD ... /> )+
| <treatSimple ... />
| ( <deploy ... /> )+
</treeUCOfficial>
Documentation (type)
Describes how "decisions" are made, both probabilistically and deterministically, and what actions are carried out.
Quantities may also be reported as a side effect of decisions made in the tree, for example the number of diagnostics used.
Attributes
Name
name=string
An optional piece of documentation attached to this node.
treeUCSelfTreat
→ scenario → healthSystem → DecisionTree5Day → treeUCSelfTreat
<treeUCSelfTreat
[ name=string ]
>
EXACTLY ONE OF:
| <multiple ... />
| <caseType ... />
| <diagnostic ... />
| <random ... />
| <age ... />
| <noTreatment ... />
| <treatFailure ... />
| ( <treatPKPD ... /> )+
| <treatSimple ... />
| ( <deploy ... /> )+
</treeUCSelfTreat>
Documentation (type)
Describes how "decisions" are made, both probabilistically and deterministically, and what actions are carried out.
Quantities may also be reported as a side effect of decisions made in the tree, for example the number of diagnostics used.
Attributes
Name
name=string
An optional piece of documentation attached to this node.
Cure rate (severe cases)
→ scenario → healthSystem → DecisionTree5Day → cureRateSevere
<cureRateSevere
value=double
/>
Documentation (element)
Min: 0 Max: 1
The probability of clearing parasites given access to appropriate (hospital) care, for a severe case.
Attributes
Input parameter value
value=double
A double-precision floating-point value.
treatmentSevere
→ scenario → healthSystem → DecisionTree5Day → treatmentSevere
<treatmentSevere
[ name=string ]
>
IN THIS ORDER:
| ( <deploy ... /> )*
</treatmentSevere>
Documentation (type)
Describes the effects of the treatment, assuming this compliance/adherence/... option is selected. Effects are described in terms of a list of options, each of which acts independently but with all effects being activated simultaneously.
Documentation (base type)
Lists intervention components which are deployed according to some external trigger (for example, screening with a negative patency outcome or health-system treatment).
Components are referenced from one or more sub-lists. Each of these lists is deployed independently if and only if its age constraints are met by the human host and a random sample with the given probability of a positive outcome is positive.
Attributes
Name
name=string
Describes what this compliance option represents (e.g. "good compliance", "poor compliance with good drugs", ...).
Case fatality rate for inpatients
→ scenario → healthSystem → CFR
<CFR
[ interpolation=("none" or "linear") ]
>
IN THIS ORDER:
| ( <group ... /> )+
</CFR>
Documentation (element)
Case fatality rate (probability of an inpatient fatality from a bout of severe malaria, per age-group).
Attributes
interpolation
interpolation=("none" or "linear")
Interpolation algorithm. Normally it is desirable for age-based values to be continuous w.r.t. age. By default linear interpolation is used. With all algorithms except "none", the age groups are converted to a set of points centred within each age range. Extra points are added at each end (zero and infinity) to keep value constant at both ends of the function. A zero-length age group may be used as a kind of barrier to adjust the distribution; e.g. with age group boundaries at 15, 20 and 25 years, a (linear) spline would be drawn between ages 17.5 and 22.5, whereas with boundaries at 15, 20 and 20 years, a spline would be drawn between ages 17.5 and 20 years (may be desired if individuals are assumed to reach adult size at 20). Algorithms:
- none: input values are used directly
- linear: straight lines (on an age vs. value graph) are used to interpolate data points.
Probabilities of sequelae in inpatients
→ scenario → healthSystem → pSequelaeInpatient
<pSequelaeInpatient
[ interpolation=("none" or "linear") ]
>
IN THIS ORDER:
| ( <group ... /> )+
</pSequelaeInpatient>
Documentation (element)
Units: Dimensionless
List of age-specific probabilities of sequelae in inpatients, during a severe bout of malaria.
Attributes
interpolation
interpolation=("none" or "linear")
Interpolation algorithm. Normally it is desirable for age-based values to be continuous w.r.t. age. By default linear interpolation is used. With all algorithms except "none", the age groups are converted to a set of points centred within each age range. Extra points are added at each end (zero and infinity) to keep value constant at both ends of the function. A zero-length age group may be used as a kind of barrier to adjust the distribution; e.g. with age group boundaries at 15, 20 and 25 years, a (linear) spline would be drawn between ages 17.5 and 22.5, whereas with boundaries at 15, 20 and 20 years, a spline would be drawn between ages 17.5 and 20 years (may be desired if individuals are assumed to reach adult size at 20). Algorithms:
- none: input values are used directly
- linear: straight lines (on an age vs. value graph) are used to interpolate data points.
Change transmission levels
→ scenario → interventions → changeEIR
<changeEIR
[ name=string ]
>
IN THIS ORDER:
| ( <timedDeployment ... /> )*
</changeEIR>
Documentation (element)
New description of transmission level for models not supporting vector control interventions. Use of this overrides previous transmission levels such that human infectiousness no longer has any feedback effect on transmission. Supplied EIR data must last until end of simulation.
Attributes
Name of intervention
name=string
Name of intervention
timedDeployment
→ scenario → interventions → changeEIR → timedDeployment
<timedDeployment
eipDuration=int
time=string
>
IN THIS ORDER:
| ( <EIRDaily ... /> )+
</timedDeployment>
Documentation (type)
Replacement transmission levels. Disables feedback of human infectiousness to mosquitoes on further mosquito to human transmission. Must last until end of simulation.
Attributes
Duration of sporogony
eipDuration=int
Units: Days
The duration of sporogony in days
Time
time=string
Units: User defined (defauls to steps) Min: 0
Time at which this replacement occurs. See doc on intervention period and on monitoring/startDate for details of how times work. Can be specified in steps, days, years, or as a date (examples: 15t, 75d, 0.2y, 2000-03-16).
EIRDaily
→ scenario → entomology → nonVector → EIRDaily
<EIRDaily
[ origin=string ]
>
double
</EIRDaily>
Documentation (type)
Units: Infectious bites per adult per day
In the non-vector model, EIR is input as a sequence of daily values. There must be at least one years' worth of entries (365), and if there are more, values are wrapped and averaged (i.e. value for first day of year is taken as the mean of values for days 0, 365+0, 2*365+0, etc.).
Attributes
Time origin of EIR sequence
origin=string
Imported infections
→ scenario → interventions → importedInfections
<importedInfections
[ name=string ]
>
IN THIS ORDER:
| <timed ... />
</importedInfections>
Documentation (element)
Models importation of P. falciparum infections directly into humans from an external source. This is infections, not inoculations or EIR being imported.
Attributes
Name of intervention
name=string
Name of intervention
Rate of importation
→ scenario → interventions → importedInfections → timed
<timed
[ period=string ] DEFAULT VALUE 0
>
IN THIS ORDER:
| ( <rate ... /> )+
</timed>
Documentation (element)
Rate of case importation, as a step function. Each value is valid until replaced by the next value.
Attributes
Period of repetition
period=string
Units: User defined (default: steps) Min: 0
Default value: 0
If period is 0 (or effectively infinite), the last specified value remains indefinitely in effect, otherwise the times of all values specified must be less than the period, and values are repeated modulo period (the step at time 'period+2t' has same value as the step at '2t', etc.). Can be specified in steps (e.g. 1t) or days (e.g. 365d).
rate
→ scenario → interventions → importedInfections → timed → rate
<rate
value=double
time=string
/>
Documentation (type)
Units: Imported cases per thousand people per year
A time-rate pair.
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Time of start
time=string
Units: User defined (defauls to steps) Min: 0
Time at which this importation rate becomes active. See doc on intervention period and on monitoring/startDate for details of how times work. Can be specified in steps, days, years, or as a date (examples: 15t, 75d, 0.2y, 2000-03-16).
Insert R_0 case
→ scenario → interventions → insertR_0Case
<insertR_0Case
[ name=string ]
>
IN THIS ORDER:
| ( <timedDeployment ... /> )*
</insertR_0Case>
Documentation (element)
Used to simulate R_0. First, infections should be eliminated, immunity removed, and the population given an effective transmission- blocking vaccine (not done by this intervention). Then this intervention may be used to: pick one human, infect him, administer a fully effective Preerythrocytic vaccine and remove transmission-blocking vaccine effect on this human. Thus only this one human will be a source of infections in an unprotected population, and will not reinfected himself.
Attributes
Name of intervention
name=string
Name of intervention
timedDeployment
→ scenario → interventions → insertR_0Case → timedDeployment
<timedDeployment
time=string
/>
Attributes
Time
time=string
Units: User defined (defauls to steps) Min: 0
Time at which this intervention occurs. See doc on intervention period and on monitoring/startDate for details of how times work. Can be specified in steps, days, years, or as a date (examples: 15t, 75d, 0.2y, 2000-03-16).
Uninfect vectors
→ scenario → interventions → uninfectVectors
<uninfectVectors
[ name=string ]
>
IN THIS ORDER:
| ( <timedDeployment ... /> )*
</uninfectVectors>
Documentation (element)
Units: List of elements
Removes all infections from mosquitoes -- resulting in zero EIR to humans, until such time that mosquitoes are re-infected and become infectious. Only efficacious in dynamic EIR mode (when changeEIR was not used).
Hypothetical, but potentially useful to simulate a setting starting from no infections, but with enough mosquitoes to reach a set equilibrium of exposure.
Attributes
Name of intervention
name=string
Name of intervention
timedDeployment
→ scenario → interventions → uninfectVectors → timedDeployment
<timedDeployment
time=string
/>
Attributes
Time
time=string
Units: User defined (defauls to steps) Min: 0
Time at which this intervention occurs. See doc on intervention period and on monitoring/startDate for details of how times work. Can be specified in steps, days, years, or as a date (examples: 15t, 75d, 0.2y, 2000-03-16).
Vector population intervention
→ scenario → interventions → vectorPop
<vectorPop>
IN THIS ORDER:
| ( <intervention ... /> )+
</vectorPop>
Documentation (element)
Units: List of elements
A list of parameterisations of generic vector host-inspecific interventions.
intervention
→ scenario → interventions → vectorPop → intervention
<intervention
name=string
>
IN THIS ORDER:
| <description ... />
| [ <timed ... /> ]
</intervention>
Documentation (type)
Units: List of elements
An intervention which may have various effects on the vector populations as a whole. (Not host specific.)
Multiple instances of this intervention class are allowed (multiple parameterisations, not just deployments).
Each instance may have multiple deployments. In this case the effects of each instance are independent (effects are combined) but the effects of multiple deployments of a single instance are not independent (only the latest deployment has any effect).
Attributes
Name of intervention
name=string
Name of intervention (e.g. larviciding, sugar bait).
description
→ scenario → interventions → vectorPop → intervention → description
<description>
IN THIS ORDER:
| ( <anopheles ... /> )+
</description>
anopheles
→ scenario → interventions → vectorPop → intervention → description → anopheles
<anopheles
mosquito=string
>
IN ANY ORDER:
| [ <seekingDeathRateIncrease ... /> ]
| [ <probDeathOvipositing ... /> ]
| [ <emergenceReduction ... /> ]
</anopheles>
Documentation (type)
Units: dimensionless Min: 0 Max: 1
Descriptions of the effects of vector interventions with per-species effects.
Attributes
Species/subspecies/variant name
mosquito=string
Name of the species/subspecies/variant.
Proportional increase in deaths while host searching
→ scenario → interventions → vectorPop → intervention → description → anopheles → seekingDeathRateIncrease
<seekingDeathRateIncrease
initial=double
>
IN THIS ORDER:
| <decay ... />
</seekingDeathRateIncrease>
Documentation (element)
Units: dimensionless
Describe an effect on the increase in the death rate while host seeking (mu_vA) due to this intervention.
Enter the rate increase (i.e. if rate increases to 120% of normal, give 0.2). New death rate while seeking is old × (1 + increase) where increase is this factor given. Must have increas ≥ -1.
Attributes
Initial proportion increase
initial=double
Units: dimensionless Min: -1 Max: inf
decay
→ scenario → interventions → vectorPop → intervention → description → anopheles → seekingDeathRateIncrease → decay
<decay
function=("constant" or "step" or "linear" or "exponential" or "weibull" or "hill" or "smooth-compact")
[ L=string ]
[ k=double ] DEFAULT VALUE 1.0
[ mu=double ] DEFAULT VALUE 0
[ sigma=double ] DEFAULT VALUE 0
/>
Documentation (type)
Specification of decay or survival of a parameter.
Attributes
function
function=("constant" or "step" or "linear" or "exponential" or "weibull" or "hill" or "smooth-compact")
Units: None Min: 0 Max: 1
Determines which decay function to use. Available decay functions, for age t in years: constant: 1 step: 1 for t less than L, otherwise 0 linear: 1 - t/L for t less than L, otherwise 0 exponential: exp( - t/L * log(2) ) weibull: exp( -(t/L)^k * log(2) ) hill: 1 / (1 + (t/L)^k) smooth-compact: exp( k - k / (1 - (t/L)^2) ) for t less than L, otherwise 0
L
L=string
Units: User-defined (defaults to years) Min: 0
(Time) scale parameter of distribution: this is either the age of complete decay (smooth-compact, step and linear functions) or the age at which the parameter has decayed to half its original value (exponential, weibull and hill). Not used when function="constant" (i.e. no decay). This value can be specified in years, days or steps (e.g. 2y, 180d or 100t). When the unit is not specified years are assumed. The value is used without rounding except when sampling an age of decay, when the rounding happens as late as possible.
k
k=double
Units: none Min: 0
Default value: 1.0
Shape parameter of distribution. If not specified, default value of 1 is used. Meaning depends on function; not used in some cases.
μ (mu)
mu=double
Min: 0
Default value: 0
If sigma is non-zero, heterogeneity of decay is introduced via a random variable sampled from the log-normal distribution with mu and sigma as specified. Both mu and sigma default to zero when not specified. The decay rate is multiplied by this variable (effectively, the half-life is divided by it). Note that with m=0, the median of the variable and the median value of L is unchanged, and thus the time at which the median decay amongst the population of decaying objects reaches half (assuming exponential, Weibull or Hill decay) is L. With m=-½σ² (negative half sigma squared) the mean of the variable will be 1 and mean of the half-life L, but the time at which mean decay of the population has reached half may not be L.
σ (sigma)
sigma=double
Min: 0
Default value: 0
If sigma is non-zero, heterogeneity of decay is introduced via a random variable sampled from the log-normal distribution with mu and sigma as specified. Both mu and sigma default to zero when not specified. The decay rate is multiplied by this variable (effectively, the half-life is divided by it).
Proportion ovipositing mosquitoes killed
→ scenario → interventions → vectorPop → intervention → description → anopheles → probDeathOvipositing
<probDeathOvipositing
initial=double
>
IN THIS ORDER:
| <decay ... />
</probDeathOvipositing>
Documentation (element)
Units: dimensionless
Describe an effect of increased mortality while ovipositing due to this intervention. Enter the probability of dying due to this intervention.
Attributes
Initial probability of killing
initial=double
Units: dimensionless Min: 0 Max: 1
decay
→ scenario → interventions → vectorPop → intervention → description → anopheles → probDeathOvipositing → decay
<decay
function=("constant" or "step" or "linear" or "exponential" or "weibull" or "hill" or "smooth-compact")
[ L=string ]
[ k=double ] DEFAULT VALUE 1.0
[ mu=double ] DEFAULT VALUE 0
[ sigma=double ] DEFAULT VALUE 0
/>
Documentation (type)
Specification of decay or survival of a parameter.
Attributes
function
function=("constant" or "step" or "linear" or "exponential" or "weibull" or "hill" or "smooth-compact")
Units: None Min: 0 Max: 1
Determines which decay function to use. Available decay functions, for age t in years: constant: 1 step: 1 for t less than L, otherwise 0 linear: 1 - t/L for t less than L, otherwise 0 exponential: exp( - t/L * log(2) ) weibull: exp( -(t/L)^k * log(2) ) hill: 1 / (1 + (t/L)^k) smooth-compact: exp( k - k / (1 - (t/L)^2) ) for t less than L, otherwise 0
L
L=string
Units: User-defined (defaults to years) Min: 0
(Time) scale parameter of distribution: this is either the age of complete decay (smooth-compact, step and linear functions) or the age at which the parameter has decayed to half its original value (exponential, weibull and hill). Not used when function="constant" (i.e. no decay). This value can be specified in years, days or steps (e.g. 2y, 180d or 100t). When the unit is not specified years are assumed. The value is used without rounding except when sampling an age of decay, when the rounding happens as late as possible.
k
k=double
Units: none Min: 0
Default value: 1.0
Shape parameter of distribution. If not specified, default value of 1 is used. Meaning depends on function; not used in some cases.
μ (mu)
mu=double
Min: 0
Default value: 0
If sigma is non-zero, heterogeneity of decay is introduced via a random variable sampled from the log-normal distribution with mu and sigma as specified. Both mu and sigma default to zero when not specified. The decay rate is multiplied by this variable (effectively, the half-life is divided by it). Note that with m=0, the median of the variable and the median value of L is unchanged, and thus the time at which the median decay amongst the population of decaying objects reaches half (assuming exponential, Weibull or Hill decay) is L. With m=-½σ² (negative half sigma squared) the mean of the variable will be 1 and mean of the half-life L, but the time at which mean decay of the population has reached half may not be L.
σ (sigma)
sigma=double
Min: 0
Default value: 0
If sigma is non-zero, heterogeneity of decay is introduced via a random variable sampled from the log-normal distribution with mu and sigma as specified. Both mu and sigma default to zero when not specified. The decay rate is multiplied by this variable (effectively, the half-life is divided by it).
Proportion of emerging pupa killed
→ scenario → interventions → vectorPop → intervention → description → anopheles → emergenceReduction
<emergenceReduction
initial=double
>
IN THIS ORDER:
| <decay ... />
</emergenceReduction>
Documentation (element)
Units: dimensionless
Describe an effect on emergence of pupa into adults: this value is the proportion of emerging pupa which are killed by this intervention.
This can be used as a crude way of modelling larviciding. It ca also be used to increase emergence by giving a negative value. The emergence rate is "old rate" × (1 - factor) where factor is the value given here; thus, for example, using -1 will double emergence.
Attributes
Initial proportion reduction
initial=double
Units: dimensionless Min: -inf Max: 1
decay
→ scenario → interventions → vectorPop → intervention → description → anopheles → emergenceReduction → decay
<decay
function=("constant" or "step" or "linear" or "exponential" or "weibull" or "hill" or "smooth-compact")
[ L=string ]
[ k=double ] DEFAULT VALUE 1.0
[ mu=double ] DEFAULT VALUE 0
[ sigma=double ] DEFAULT VALUE 0
/>
Documentation (type)
Specification of decay or survival of a parameter.
Attributes
function
function=("constant" or "step" or "linear" or "exponential" or "weibull" or "hill" or "smooth-compact")
Units: None Min: 0 Max: 1
Determines which decay function to use. Available decay functions, for age t in years: constant: 1 step: 1 for t less than L, otherwise 0 linear: 1 - t/L for t less than L, otherwise 0 exponential: exp( - t/L * log(2) ) weibull: exp( -(t/L)^k * log(2) ) hill: 1 / (1 + (t/L)^k) smooth-compact: exp( k - k / (1 - (t/L)^2) ) for t less than L, otherwise 0
L
L=string
Units: User-defined (defaults to years) Min: 0
(Time) scale parameter of distribution: this is either the age of complete decay (smooth-compact, step and linear functions) or the age at which the parameter has decayed to half its original value (exponential, weibull and hill). Not used when function="constant" (i.e. no decay). This value can be specified in years, days or steps (e.g. 2y, 180d or 100t). When the unit is not specified years are assumed. The value is used without rounding except when sampling an age of decay, when the rounding happens as late as possible.
k
k=double
Units: none Min: 0
Default value: 1.0
Shape parameter of distribution. If not specified, default value of 1 is used. Meaning depends on function; not used in some cases.
μ (mu)
mu=double
Min: 0
Default value: 0
If sigma is non-zero, heterogeneity of decay is introduced via a random variable sampled from the log-normal distribution with mu and sigma as specified. Both mu and sigma default to zero when not specified. The decay rate is multiplied by this variable (effectively, the half-life is divided by it). Note that with m=0, the median of the variable and the median value of L is unchanged, and thus the time at which the median decay amongst the population of decaying objects reaches half (assuming exponential, Weibull or Hill decay) is L. With m=-½σ² (negative half sigma squared) the mean of the variable will be 1 and mean of the half-life L, but the time at which mean decay of the population has reached half may not be L.
σ (sigma)
sigma=double
Min: 0
Default value: 0
If sigma is non-zero, heterogeneity of decay is introduced via a random variable sampled from the log-normal distribution with mu and sigma as specified. Both mu and sigma default to zero when not specified. The decay rate is multiplied by this variable (effectively, the half-life is divided by it).
Vector population intervention deployment
→ scenario → interventions → vectorPop → intervention → timed
<timed>
IN THIS ORDER:
| ( <deploy ... /> )+
</timed>
Documentation (element)
List of timed vector population intervention deployment
deploy
→ scenario → interventions → vectorPop → intervention → timed → deploy
<deploy
time=string
/>
Attributes
Time
time=string
Units: User defined (defauls to steps) Min: 0
Time at which this deployment occurs. See doc on intervention period and on monitoring/startDate for details of how times work. Can be specified in steps, days, years, or as a date (examples: 15t, 75d, 0.2y, 2000-03-16).
Human-specific interventions
→ scenario → interventions → human
<human>
IN THIS ORDER:
| ( <component ... /> )+
| ( <deployment ... /> )*
</human>
Documentation (element)
Encapsulates all interventions whose effects are specific to the human host: any interventions where target humans may be selected via population-coverage, age limits and sub-population membership.
Component
→ scenario → interventions → human → component
<component
id=string
[ name=string ]
>
IN THIS ORDER:
| EXACTLY ONE OF:
| | <screen ... />
| | <treatSimple ... />
| | <treatPKPD ... />
| | <decisionTree ... />
| | <PEV ... />
| | <BSV ... />
| | <TBV ... />
| | <ITN ... />
| | <IRS ... />
| | <GVI ... />
| | [ <recruitmentOnly ... /> ]
| | <clearImmunity ... />
| [ <subPopRemoval ... /> ]
</component>
- screen
- treatSimple
- treatPKPD
- decisionTree
- PEV
- BSV
- TBV
- ITN
- IRS
- GVI
- recruitmentOnly
- clearImmunity
- subPopRemoval
Documentation (element)
A parameterisation of an effect achieved by one component of an intervention. (An intervention is described as the effects of a set of components plus deployments of those components. This describes the components individually, not deployments or which components comprise an intervention.)
Each element describes one component: its effects, decay of the(se) effect(s), and related stuff (e.g. description of indirect decay and of usage levels).
Different interventions can deploy the same component to the same perso. In most cases this will just deploy a fresh instance (e.g. a new bed net will replace the old (nobody uses multiple bed nets), or a new drug dose will act on top of previous doses, or in the case of a vaccine, effect depends on the total number of previous inoculations (including from other interventions).
Where multiple components of the same type (but with different ids) are deployed (whether within a single intervention or by multiple interventions), they act independently (e.g. two bed nets deployed to a single host would act to reduce attractiveness or survival of mosquitoes biting that host twice — this may be useful to simulate some novel vector intervention since the two nets may have separate parameters).
Attributes
Component identifier
id=string
A short name or code identifying the intervention component (used to refer to this component when describing an intervention). Also the id of the sub-population defined as those hosts who have received this intervention and who haven't subsequently been removed from the sub-population.
Name of component
name=string
An informal name/description for the component
screen
→ scenario → interventions → human → component → screen
<screen
diagnostic=string
>
IN THIS ORDER:
| ( <positive ... /> )*
| ( <negative ... /> )*
</screen>
Documentation (type)
This can be combined with MDA to achieve mass screen and treat (MSAT) or other types of mass screening intervention.
When deployed to a host, this simulates a test of patent malaria (microscopy, RDT or some such), then triggers deployment of whichever intervention components are configured (deployments for both positive and negative test outcomes can be configured).
The use of the screening itself is reported (if enabled), but not the outcome. Deployment of interventions triggered by the screening may be reported, however.
Attributes
Name of diagnostic
diagnostic=string
Name of a parameterised diagnostic (see scenario/diagnostics).
positive
→ scenario → interventions → human → component → screen → positive
<positive
id=string
/>
Documentation (type)
The list of components deployed to eligible humans.
Attributes
Identifier
id=string
The identifier (short name) of a component.
negative
→ scenario → interventions → human → component → screen → negative
<negative
id=string
/>
Documentation (type)
The list of components deployed to eligible humans.
Attributes
Identifier
id=string
The identifier (short name) of a component.
treatSimple
→ scenario → interventions → human → component → treatSimple
<treatSimple
durationLiver=string
durationBlood=string
/>
Documentation (type)
Simple treatment model, targetting liver- and/or blood-stage infections. This is all-or-nothing treatment which, when deploymed, completely clears all infections of the targetted stages. This makes it unsuitable for modeling resistance, but suitable for use with simple infection models.
Infections are considered liver-stage when less than five days old and blood-stage after that. Effects are described independently for the two stages.
Attributes
Length of liver-stage effect
durationLiver=string
Units: User defined
Controls action on liver-stage infections. 0 means no action, -1 step is a compatibility option to act like treatment before schema version 32 (which removed infections retrospectively), 1 step or any duration which equals some whole number of steps n>0 means to clear all liver-stage infections found on the next 1 or n steps. Note on -1 compatibility option: the main difference to 1 step (clearing on the next timestep) is that parasite densities will be reduced immediately, and thus from the point of view of surveys and mass screen and treat interventions a peak in density which is immediately treated through case management will not be seen. Can be specified in steps (e.g. 1t, -1t) or days (e.g. 5d).
Length of blood-stage effect
durationBlood=string
Units: User defined
Controls action on blood-stage infections. 0 means no action, -1 step is a compatibility option to act like treatment before schema version 32 (which removed infections retrospectively), 1 step or any duration which equals some whole number of steps n>0 means to clear all blood-stage infections found on the next 1 or n steps. Note on -1 compatibility option: the main difference to 1 step (clearing on the next timestep) is that parasite densities will be reduced immediately, and thus from the point of view of surveys and mass screen and treat interventions a peak in density which is immediately treated through case management will not be seen. Can be specified in steps (e.g. 1t, -1t) or days (e.g. 5d).
treatPKPD
→ scenario → interventions → human → component → treatPKPD
<treatPKPD
schedule=string
dosage=string
[ delay_h=double ] DEFAULT VALUE 0
/>
Documentation (type)
A command to administer drugs according to a given schedule and dosage table, optionally with a delay.
Attributes
Name of treatment schedule
schedule=string
The name of a schedule to use for treatment.
Name of dosage table
dosage=string
The name of a dosage table to use for treatment.
Delay (hours)
delay_h=double
Default value: 0
Optionally, this can be given to delay the start of treatment by a given number of hours. If not specified, treatment is not delayed. If a delay is given, all medications within the treatment schedule used are delayed by this number of hours.
decisionTree
→ scenario → interventions → human → component → decisionTree
<decisionTree
[ name=string ]
>
EXACTLY ONE OF:
| <multiple ... />
| <caseType ... />
| <diagnostic ... />
| <random ... />
| <age ... />
| <noTreatment ... />
| <treatFailure ... />
| ( <treatPKPD ... /> )+
| <treatSimple ... />
| ( <deploy ... /> )+
</decisionTree>
Documentation (type)
Describes how "decisions" are made, both probabilistically and deterministically, and what actions are carried out.
Quantities may also be reported as a side effect of decisions made in the tree, for example the number of diagnostics used.
Attributes
Name
name=string
An optional piece of documentation attached to this node.
Vaccines
→ scenario → interventions → human → component → PEV
<PEV>
IN THIS ORDER:
| <decay ... />
| <efficacyB ... />
| ( <initialEfficacy ... /> )+
</PEV>
Documentation (element)
Pre-erythrocytic vaccine (PEV): prevents a proportion of infections from commencing.
Documentation (type)
Description of a vaccine's effect
Decay of effect
→ scenario → interventions → human → component → PEV → decay
<decay
function=("constant" or "step" or "linear" or "exponential" or "weibull" or "hill" or "smooth-compact")
[ L=string ]
[ k=double ] DEFAULT VALUE 1.0
[ mu=double ] DEFAULT VALUE 0
[ sigma=double ] DEFAULT VALUE 0
/>
Documentation (element)
Specification of decay of efficacy. Documentation: see DecayFunction type or https://github.com/SwissTPH/openmalaria/wiki/ModelDecayFunctions
Documentation (type)
Specification of decay or survival of a parameter.
Attributes
function
function=("constant" or "step" or "linear" or "exponential" or "weibull" or "hill" or "smooth-compact")
Units: None Min: 0 Max: 1
Determines which decay function to use. Available decay functions, for age t in years: constant: 1 step: 1 for t less than L, otherwise 0 linear: 1 - t/L for t less than L, otherwise 0 exponential: exp( - t/L * log(2) ) weibull: exp( -(t/L)^k * log(2) ) hill: 1 / (1 + (t/L)^k) smooth-compact: exp( k - k / (1 - (t/L)^2) ) for t less than L, otherwise 0
L
L=string
Units: User-defined (defaults to years) Min: 0
(Time) scale parameter of distribution: this is either the age of complete decay (smooth-compact, step and linear functions) or the age at which the parameter has decayed to half its original value (exponential, weibull and hill). Not used when function="constant" (i.e. no decay). This value can be specified in years, days or steps (e.g. 2y, 180d or 100t). When the unit is not specified years are assumed. The value is used without rounding except when sampling an age of decay, when the rounding happens as late as possible.
k
k=double
Units: none Min: 0
Default value: 1.0
Shape parameter of distribution. If not specified, default value of 1 is used. Meaning depends on function; not used in some cases.
μ (mu)
mu=double
Min: 0
Default value: 0
If sigma is non-zero, heterogeneity of decay is introduced via a random variable sampled from the log-normal distribution with mu and sigma as specified. Both mu and sigma default to zero when not specified. The decay rate is multiplied by this variable (effectively, the half-life is divided by it). Note that with m=0, the median of the variable and the median value of L is unchanged, and thus the time at which the median decay amongst the population of decaying objects reaches half (assuming exponential, Weibull or Hill decay) is L. With m=-½σ² (negative half sigma squared) the mean of the variable will be 1 and mean of the half-life L, but the time at which mean decay of the population has reached half may not be L.
σ (sigma)
sigma=double
Min: 0
Default value: 0
If sigma is non-zero, heterogeneity of decay is introduced via a random variable sampled from the log-normal distribution with mu and sigma as specified. Both mu and sigma default to zero when not specified. The decay rate is multiplied by this variable (effectively, the half-life is divided by it).
Variance parameter for vaccine efficacy
→ scenario → interventions → human → component → PEV → efficacyB
<efficacyB
value=double
/>
Documentation (element)
Units: Positive real Min: 0.001 Max: 1.00E+06
Measure of variation in vaccine efficacy: efficacy is sampled from a beta distribution with efficacyB its beta parameter and its alpha parameter fixed such that the mean is that given by initialEfficacy.
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Initial mean efficacy
→ scenario → interventions → human → component → PEV → initialEfficacy
<initialEfficacy
value=double
/>
Documentation (element)
Units: dimensionless Min: 0 Max: 1
Mean efficacy values before decay (see efficacyB and decay parameter descriptions for sampling and decay). The i-th value in this list is used for the efficacy of the vaccine after the i-th dose. Where more doses are given than there are values in this list, the last value is repeated.
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Vaccines
→ scenario → interventions → human → component → BSV
<BSV>
IN THIS ORDER:
| <decay ... />
| <efficacyB ... />
| ( <initialEfficacy ... /> )+
</BSV>
Documentation (element)
Blood-stage vaccine (BSV): acts as a killing factor on blood-stage parasites. Exact action depends on the within host model.
Documentation (type)
Description of a vaccine's effect
Vaccines
→ scenario → interventions → human → component → TBV
<TBV>
IN THIS ORDER:
| <decay ... />
| <efficacyB ... />
| ( <initialEfficacy ... /> )+
</TBV>
Documentation (element)
Transmission-blocking vaccine (TBV): one minus this scales the probability of transmission to mosquitoes
Documentation (type)
Description of a vaccine's effect
Bed nets
→ scenario → interventions → human → component → ITN
<ITN>
IN THIS ORDER:
| [ <usage ... /> ]
| <holeRate ... />
| <ripRate ... />
| <ripFactor ... />
| <initialInsecticide ... />
| <insecticideDecay ... />
| <attritionOfNets ... />
| ( <anophelesParams ... /> )+
</ITN>
- usage
- holeRate
- ripRate
- ripFactor
- initialInsecticide
- insecticideDecay
- attritionOfNets
- anophelesParams
Documentation (element)
Description of bed-net interventions (ITNs, LLINs).
Proportion of time nets are used by humans
→ scenario → interventions → human → component → ITN → usage
<usage
value=double
/>
Documentation (element)
Units: dimensionless Min: 0 Max: 1
Usage of nets by humans, from 0 to 1.
At the moment this is constant across humans and deterministic: relative attractiveness and survival factors are base*(1-usagepropActing) + intervention_factorusage*propActing.
See also "propActing" (proportion of bits for which net acts).
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Rate at which holes are made
→ scenario → interventions → human → component → ITN → holeRate
<holeRate
mean=double
sigma=double
/>
Documentation (element)
Units: Holes per annum Min: 0
The rate at which new holes are made in nets.
nHoles(t) = nHoles(t-1) + X where X~Pois(R/T) where T is the number of time-steps per year. R is sampled from log-normal: R ~ log N( log(mean)-sigma²/2, sigma² ) and is covariant with ripRate and insecticideDecay. (To be exact, a single Gaussian sample is taken, adjusted for each sigma then exponentiated.)
Documentation (type)
Parameters of a log-normal distribution.
Variates are sampled as: X ~ ln N( log(mean)-sigma²/2, sigma² ).
Equivalent R sample: rlnorm(n, log(m) - s*s/2, s)
Attributes
mean
mean=double
Units: (same as base units)
The mean of the lognormal distribution.
sigma
sigma=double
Sigma parameter of the lognormal distribution; sigma squared is the variance of the log of samples.
Rate at which holes are enlarged
→ scenario → interventions → human → component → ITN → ripRate
<ripRate
mean=double
sigma=double
/>
Documentation (element)
Units: Rips per existing hole per annum Min: 0
Each existing hole has a probability of being ripped bigger according to a Poisson process with this rate as (only) parameter.
New rips occur in a net at rate X~Pois(h×R/T) where h is the number of existing holes and T the number of time-steps per year. R is sampled from log-normal: R ~ log N( log(mean)-sigma²/2, sigma² ) and is covariant with holeRate and insecticideDecay. (To be exact, a single Gaussian sample is taken, adjusted for the each and sigma then exponentiated.)
Documentation (type)
Parameters of a log-normal distribution.
Variates are sampled as: X ~ ln N( log(mean)-sigma²/2, sigma² ).
Equivalent R sample: rlnorm(n, log(m) - s*s/2, s)
Attributes
mean
mean=double
Units: (same as base units)
The mean of the lognormal distribution.
sigma
sigma=double
Sigma parameter of the lognormal distribution; sigma squared is the variance of the log of samples.
Rip factor
→ scenario → interventions → human → component → ITN → ripFactor
<ripFactor
value=double
/>
Documentation (element)
Units: none Min: 0
This factor expresses how important rips are in increasing the hole.
The hole index of a net is h + F×x where h and x are the total numbers of holes and rips respectively and F is the rip factor.
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Initial insecticide
→ scenario → interventions → human → component → ITN → initialInsecticide
<initialInsecticide
mu=double
sigma=double
/>
Documentation (element)
Units: mg/m² Min: 0
The insecticide concentration of new nets is Gaussian distributed with mean "mu" and a standard deviation "sigma". The standard deviation should be small relative to the mean to avoid negative initial concentration. Any negative values sampled are set to 0.
Documentation (type)
Parameters of a normal distribution.
Variates are sampled as: X ~ N( mu, sigma² ).
Attributes
mu
mu=double
Units: (same as base units)
The mean of the normal distribution.
sigma
sigma=double
Units: (same as base units)
The standard deviation of variates.
Decay of insecticide
→ scenario → interventions → human → component → ITN → insecticideDecay
<insecticideDecay
function=("constant" or "step" or "linear" or "exponential" or "weibull" or "hill" or "smooth-compact")
[ L=string ]
[ k=double ] DEFAULT VALUE 1.0
[ mu=double ] DEFAULT VALUE 0
[ sigma=double ] DEFAULT VALUE 0
/>
Documentation (element)
Units: none
Decay curve for insecticide content of nets. Documentation: see DecayFunction type or https://github.com/SwissTPH/openmalaria/wiki/ModelDecayFunctions
The distribution of decay rates over nets is covariant with the distribution of ripRate and holeRate over nets. This distribution is generated by taking one sample per net from a Gaussian distribution with mean 0 and standard deviation 1. For each variable, the sample is multiplied by the respective sigma and a constant added such that, once exponentiated, the mean of the variable over nets is 1. The variable is then exponentiated and multiplied by the required mean rate for the respective variable.
Documentation (type)
Specification of decay or survival of a parameter.
Attributes
function
function=("constant" or "step" or "linear" or "exponential" or "weibull" or "hill" or "smooth-compact")
Units: None Min: 0 Max: 1
Determines which decay function to use. Available decay functions, for age t in years: constant: 1 step: 1 for t less than L, otherwise 0 linear: 1 - t/L for t less than L, otherwise 0 exponential: exp( - t/L * log(2) ) weibull: exp( -(t/L)^k * log(2) ) hill: 1 / (1 + (t/L)^k) smooth-compact: exp( k - k / (1 - (t/L)^2) ) for t less than L, otherwise 0
L
L=string
Units: User-defined (defaults to years) Min: 0
(Time) scale parameter of distribution: this is either the age of complete decay (smooth-compact, step and linear functions) or the age at which the parameter has decayed to half its original value (exponential, weibull and hill). Not used when function="constant" (i.e. no decay). This value can be specified in years, days or steps (e.g. 2y, 180d or 100t). When the unit is not specified years are assumed. The value is used without rounding except when sampling an age of decay, when the rounding happens as late as possible.
k
k=double
Units: none Min: 0
Default value: 1.0
Shape parameter of distribution. If not specified, default value of 1 is used. Meaning depends on function; not used in some cases.
μ (mu)
mu=double
Min: 0
Default value: 0
If sigma is non-zero, heterogeneity of decay is introduced via a random variable sampled from the log-normal distribution with mu and sigma as specified. Both mu and sigma default to zero when not specified. The decay rate is multiplied by this variable (effectively, the half-life is divided by it). Note that with m=0, the median of the variable and the median value of L is unchanged, and thus the time at which the median decay amongst the population of decaying objects reaches half (assuming exponential, Weibull or Hill decay) is L. With m=-½σ² (negative half sigma squared) the mean of the variable will be 1 and mean of the half-life L, but the time at which mean decay of the population has reached half may not be L.
σ (sigma)
sigma=double
Min: 0
Default value: 0
If sigma is non-zero, heterogeneity of decay is introduced via a random variable sampled from the log-normal distribution with mu and sigma as specified. Both mu and sigma default to zero when not specified. The decay rate is multiplied by this variable (effectively, the half-life is divided by it).
Attrition of nets
→ scenario → interventions → human → component → ITN → attritionOfNets
<attritionOfNets
function=("constant" or "step" or "linear" or "exponential" or "weibull" or "hill" or "smooth-compact")
[ L=string ]
[ k=double ] DEFAULT VALUE 1.0
[ mu=double ] DEFAULT VALUE 0
[ sigma=double ] DEFAULT VALUE 0
/>
Documentation (element)
Units: dimensionless
Specifies the rate at which nets are disposed of over time. Documentation: see DecayFunction type or https://github.com/SwissTPH/openmalaria/wiki/ModelDecayFunctions
In the current model, nets are disposed of randomly (no correlation with state of decay) such that the chance of each net surviving until age t is the value of this decay function at time t. Equivalently (where a large number of nets are distributed at the same time), the proportion of nets remaining in use should match this decay function over time.
Humans are removed from the intervention component's sub-population on disposal (attrition) of their nets. Currently this event is not reported.
Documentation (type)
Specification of decay or survival of a parameter.
Attributes
function
function=("constant" or "step" or "linear" or "exponential" or "weibull" or "hill" or "smooth-compact")
Units: None Min: 0 Max: 1
Determines which decay function to use. Available decay functions, for age t in years: constant: 1 step: 1 for t less than L, otherwise 0 linear: 1 - t/L for t less than L, otherwise 0 exponential: exp( - t/L * log(2) ) weibull: exp( -(t/L)^k * log(2) ) hill: 1 / (1 + (t/L)^k) smooth-compact: exp( k - k / (1 - (t/L)^2) ) for t less than L, otherwise 0
L
L=string
Units: User-defined (defaults to years) Min: 0
(Time) scale parameter of distribution: this is either the age of complete decay (smooth-compact, step and linear functions) or the age at which the parameter has decayed to half its original value (exponential, weibull and hill). Not used when function="constant" (i.e. no decay). This value can be specified in years, days or steps (e.g. 2y, 180d or 100t). When the unit is not specified years are assumed. The value is used without rounding except when sampling an age of decay, when the rounding happens as late as possible.
k
k=double
Units: none Min: 0
Default value: 1.0
Shape parameter of distribution. If not specified, default value of 1 is used. Meaning depends on function; not used in some cases.
μ (mu)
mu=double
Min: 0
Default value: 0
If sigma is non-zero, heterogeneity of decay is introduced via a random variable sampled from the log-normal distribution with mu and sigma as specified. Both mu and sigma default to zero when not specified. The decay rate is multiplied by this variable (effectively, the half-life is divided by it). Note that with m=0, the median of the variable and the median value of L is unchanged, and thus the time at which the median decay amongst the population of decaying objects reaches half (assuming exponential, Weibull or Hill decay) is L. With m=-½σ² (negative half sigma squared) the mean of the variable will be 1 and mean of the half-life L, but the time at which mean decay of the population has reached half may not be L.
σ (sigma)
sigma=double
Min: 0
Default value: 0
If sigma is non-zero, heterogeneity of decay is introduced via a random variable sampled from the log-normal distribution with mu and sigma as specified. Both mu and sigma default to zero when not specified. The decay rate is multiplied by this variable (effectively, the half-life is divided by it).
anophelesParams
→ scenario → interventions → human → component → ITN → anophelesParams
<anophelesParams
mosquito=string
[ propActive=double ] DEFAULT VALUE 1
>
IN THIS ORDER:
| EXACTLY ONE OF:
| | <deterrency ... />
| | <twoStageDeterrency ... />
| <preprandialKillingEffect ... />
| <postprandialKillingEffect ... />
</anophelesParams>
Attributes
Mosquito species
mosquito=string
Name of the affected anopheles-mosquito species.
Proportion of bites for which net acts
propActive=double
Units: dimensionless Min: 0 Max: 1
Default value: 1
The proportion of bites, when nets are in use, for which the net has any action whatsoever on the mosquito. At the moment this is constant across humans and deterministic: relative attractiveness and survival factors are base*(1-usagepropActing) + intervention_factorusage*propActing. See also "usage" (proportion of time nets are used by humans).
Relative attractiveness
→ scenario → interventions → human → component → ITN → anophelesParams → deterrency
<deterrency
insecticideFactor=double
insecticideScalingFactor=double
holeFactor=double
interactionFactor=double
holeScalingFactor=double
/>
Documentation (element)
Units: dimensionless Min: 0 Max: 1
Effect of net on attractiveness of humans to mosquitoes relative to an unprotected adult human. Parameterisations should take into account that mosquitoes do not always bite indoors.
Attractiveness of the human is multiplied by exp(log(H)×h + log(P)×p + log(I)×h×p where H, P and I are the hole, insecticide and interaction factors respectively, h=exp(-holeIndex×holeScalingFactor) and p=1−exp(-insecticideContent×insecticideScalingFactor).
Attributes
Insecticide factor
insecticideFactor=double
Units: none Max: 1
Value expected to be at least 0. Negative values are not necessarily invalid, but allow nets to increase transmission.
Insecticide scaling factor
insecticideScalingFactor=double
Units: none Min: 0
Hole factor
holeFactor=double
Units: none Max: 1
Value expected to be at least 0. Negative values are not necessarily invalid, but allow nets to increase transmission.
Interaction factor
interactionFactor=double
Units: none Max: 1
holeFactor + insecticideFactor + interactionFactor must not be greater than 1, and is expected to be at least 0. A negative value is not necessarily invalid, but allows nets to increase transmission.
Hole scaling factor
holeScalingFactor=double
Units: none Min: 0
Relative attractiveness
→ scenario → interventions → human → component → ITN → anophelesParams → twoStageDeterrency
<twoStageDeterrency>
IN ANY ORDER:
| <entering ... />
| <attacking ... />
</twoStageDeterrency>
Documentation (element)
Units: dimensionless
Effect of net on attractiveness of humans to mosquitoes relative to an unprotected adult human. Parameterisations should take into account that mosquitoes do not always bite indoors.
This deterrency model multiplies human attractiveness by pEnt×pAtt divided by a base factor to normalise the output to 1 when there are no nets.
RA (entering)
→ scenario → interventions → human → component → ITN → anophelesParams → twoStageDeterrency → entering
<entering
insecticideFactor=double
insecticideScalingFactor=double
/>
Documentation (element)
Units: dimensionless
pEnt represents the relative probability of entering due to ITNs: pEnt = exp(log(P)×p) where P is the insecticide factor and p=1−exp(-insecticideContent×insecticideScalingFactor).
Attributes
Insecticide factor
insecticideFactor=double
Units: none Max: 1
Value expected to be at least 0. Negative values are not necessarily invalid, but allow nets to increase transmission.
Insecticide scaling factor
insecticideScalingFactor=double
Units: none Min: 0
RA (attacking)
→ scenario → interventions → human → component → ITN → anophelesParams → twoStageDeterrency → attacking
<attacking
insecticideFactor=double
insecticideScalingFactor=double
holeFactor=double
interactionFactor=double
holeScalingFactor=double
baseFactor=double
/>
Documentation (element)
Units: dimensionless
pAtt represents the relative probability of attacking a human after entering a house due to ITNs (i.e. of feeding/dying vs. flying off): pAtt = B + H×h + P×p + I×h×p where B is the base (without net) probability; H, P and I are the hole, insecticide and interaction factors respectively, h=exp(-holeIndex×holeScalingFactor) and p=1−exp(-insecticideContent×insecticideScalingFactor).
Attributes
Insecticide factor
insecticideFactor=double
Units: none Max: 1
Value expected to be at least 0. Negative values are not necessarily invalid, but allow nets to increase transmission.
Insecticide scaling factor
insecticideScalingFactor=double
Units: none Min: 0
Hole factor
holeFactor=double
Units: none Max: 1
Value expected to be at least 0. Negative values are not necessarily invalid, but allow nets to increase transmission.
Interaction factor
interactionFactor=double
Units: none Max: 1
holeFactor + insecticideFactor + interactionFactor must not be greater than 1, and is expected to be at least 0. A negative value is not necessarily invalid, but allows nets to increase transmission.
Hole scaling factor
holeScalingFactor=double
Units: none Min: 0
Probability of mosquito death without intervention
baseFactor=double
Units: dimensionless
Pre-prandial killing effect
→ scenario → interventions → human → component → ITN → anophelesParams → preprandialKillingEffect
<preprandialKillingEffect
insecticideFactor=double
insecticideScalingFactor=double
holeFactor=double
interactionFactor=double
holeScalingFactor=double
baseFactor=double
/>
Documentation (element)
Units: dimensionless Min: 0 Max: 1
Effect of net on survival mosquitoes as they seek to bite a human after choosing that human, relative to the same person not sleeping under a net. Parameterisations should take into account that mosquitoes do not always bite indoors.
Killing proportion is calculated as K = B + H×h + P×p + I×h×p where B is the base (without net) probability of death, H, P and I are the hole, insecticide and interaction factors respectively, h=exp(-holeIndex×holeScalingFactor) and p=1−exp(-insecticideContent×insecticideScalingFactor).
Survival of mosquitoes is adjusted via multiplication by (1−K) / (1−B). To keep this in the range [0,1], we require that B+H ≤ 1, B+P ≤ 1, B+H+P+I ≤ 1, H ≥ 0, P ≥ 0 and H+P+I ≥ 0.
Attributes
Insecticide factor
insecticideFactor=double
Units: none Max: 1
Value expected to be at least 0. Negative values are not necessarily invalid, but allow nets to increase transmission.
Insecticide scaling factor
insecticideScalingFactor=double
Units: none Min: 0
Hole factor
holeFactor=double
Units: none Max: 1
Value expected to be at least 0. Negative values are not necessarily invalid, but allow nets to increase transmission.
Interaction factor
interactionFactor=double
Units: none Max: 1
holeFactor + insecticideFactor + interactionFactor must not be greater than 1, and is expected to be at least 0. A negative value is not necessarily invalid, but allows nets to increase transmission.
Hole scaling factor
holeScalingFactor=double
Units: none Min: 0
Probability of mosquito death without intervention
baseFactor=double
Units: dimensionless
Post-prandial killing effect
→ scenario → interventions → human → component → ITN → anophelesParams → postprandialKillingEffect
<postprandialKillingEffect
insecticideFactor=double
insecticideScalingFactor=double
holeFactor=double
interactionFactor=double
holeScalingFactor=double
baseFactor=double
/>
Documentation (element)
Units: dimensionless Min: 0 Max: 1
Effect of net on survival mosquitoes as they seek to escape from a human host and rest after a blood meal, relative to the same person not sleeping under a net. Parameterisations should take into account that mosquitoes do not always bite indoors.
Killing proportion is calculated as K = B + H×h + P×p + I×h×p where B is the base (without net) probability of death, H, P and I are the hole, insecticide and interaction factors respectively, h=exp(-holeIndex×holeScalingFactor) and p=1−exp(-insecticideContent×insecticideScalingFactor).
Survival of mosquitoes is adjusted via multiplication by (1−K) / (1−B). To keep this in the range [0,1], we require that B+H ≤ 1, B+P ≤ 1, B+H+P+I ≤ 1, H ≥ 0, P ≥ 0 and H+P+I ≥ 0.
Attributes
Insecticide factor
insecticideFactor=double
Units: none Max: 1
Value expected to be at least 0. Negative values are not necessarily invalid, but allow nets to increase transmission.
Insecticide scaling factor
insecticideScalingFactor=double
Units: none Min: 0
Hole factor
holeFactor=double
Units: none Max: 1
Value expected to be at least 0. Negative values are not necessarily invalid, but allow nets to increase transmission.
Interaction factor
interactionFactor=double
Units: none Max: 1
holeFactor + insecticideFactor + interactionFactor must not be greater than 1, and is expected to be at least 0. A negative value is not necessarily invalid, but allows nets to increase transmission.
Hole scaling factor
holeScalingFactor=double
Units: none Min: 0
Probability of mosquito death without intervention
baseFactor=double
Units: dimensionless
Indoor residual spraying
→ scenario → interventions → human → component → IRS
<IRS>
IN THIS ORDER:
| [ <usage ... /> ]
| <initialInsecticide ... />
| <insecticideDecay ... />
| ( <anophelesParams ... /> )+
</IRS>
Documentation (element)
Description of indoor residual spraying interventions.
Documentation (type)
Description of effect for the more complex and probably more realistic Briet model: IRS has three effects, whos strength is calculated as a function of surviving insecticide content.
Proportion of Indoor residual spraying (IRS) interventions
→ scenario → interventions → human → component → IRS → usage
<usage
value=double
/>
Documentation (element)
Units: dimensionless Min: 0 Max: 1
Usage of Indoor residual spraying (IRS) interventions, from 0 to 1.
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Initial insecticide
→ scenario → interventions → human → component → IRS → initialInsecticide
<initialInsecticide
mu=double
sigma=double
/>
Documentation (element)
Units: μg/cm² Min: 0
The insecticide concentration of IRS (at time of spraying) is Gaussian distributed with mean "mu" and a standard deviation "sigma". The standard deviation should be small relative to the mean to avoid negative initial concentration. Any negative values sampled are set to 0.
Documentation (type)
Parameters of a normal distribution.
Variates are sampled as: X ~ N( mu, sigma² ).
Attributes
mu
mu=double
Units: (same as base units)
The mean of the normal distribution.
sigma
sigma=double
Units: (same as base units)
The standard deviation of variates.
Decay of insecticide
→ scenario → interventions → human → component → IRS → insecticideDecay
<insecticideDecay
function=("constant" or "step" or "linear" or "exponential" or "weibull" or "hill" or "smooth-compact")
[ L=string ]
[ k=double ] DEFAULT VALUE 1.0
[ mu=double ] DEFAULT VALUE 0
[ sigma=double ] DEFAULT VALUE 0
/>
Documentation (element)
Units: none
Decay curve for insecticide content of IRS. Documentation: see DecayFunction type or https://github.com/SwissTPH/openmalaria/wiki/ModelDecayFunctions
Documentation (type)
Specification of decay or survival of a parameter.
Attributes
function
function=("constant" or "step" or "linear" or "exponential" or "weibull" or "hill" or "smooth-compact")
Units: None Min: 0 Max: 1
Determines which decay function to use. Available decay functions, for age t in years: constant: 1 step: 1 for t less than L, otherwise 0 linear: 1 - t/L for t less than L, otherwise 0 exponential: exp( - t/L * log(2) ) weibull: exp( -(t/L)^k * log(2) ) hill: 1 / (1 + (t/L)^k) smooth-compact: exp( k - k / (1 - (t/L)^2) ) for t less than L, otherwise 0
L
L=string
Units: User-defined (defaults to years) Min: 0
(Time) scale parameter of distribution: this is either the age of complete decay (smooth-compact, step and linear functions) or the age at which the parameter has decayed to half its original value (exponential, weibull and hill). Not used when function="constant" (i.e. no decay). This value can be specified in years, days or steps (e.g. 2y, 180d or 100t). When the unit is not specified years are assumed. The value is used without rounding except when sampling an age of decay, when the rounding happens as late as possible.
k
k=double
Units: none Min: 0
Default value: 1.0
Shape parameter of distribution. If not specified, default value of 1 is used. Meaning depends on function; not used in some cases.
μ (mu)
mu=double
Min: 0
Default value: 0
If sigma is non-zero, heterogeneity of decay is introduced via a random variable sampled from the log-normal distribution with mu and sigma as specified. Both mu and sigma default to zero when not specified. The decay rate is multiplied by this variable (effectively, the half-life is divided by it). Note that with m=0, the median of the variable and the median value of L is unchanged, and thus the time at which the median decay amongst the population of decaying objects reaches half (assuming exponential, Weibull or Hill decay) is L. With m=-½σ² (negative half sigma squared) the mean of the variable will be 1 and mean of the half-life L, but the time at which mean decay of the population has reached half may not be L.
σ (sigma)
sigma=double
Min: 0
Default value: 0
If sigma is non-zero, heterogeneity of decay is introduced via a random variable sampled from the log-normal distribution with mu and sigma as specified. Both mu and sigma default to zero when not specified. The decay rate is multiplied by this variable (effectively, the half-life is divided by it).
Per-mosquito species parameters
→ scenario → interventions → human → component → IRS → anophelesParams
<anophelesParams
mosquito=string
[ propActive=double ] DEFAULT VALUE 1
>
IN THIS ORDER:
| <deterrency ... />
| <preprandialKillingEffect ... />
| <postprandialKillingEffect ... />
</anophelesParams>
Attributes
Mosquito species
mosquito=string
Name of the affected anopheles-mosquito species.
Proportion of bites for which IRS acts
propActive=double
Units: dimensionless Min: 0 Max: 1
Default value: 1
The proportion of bites for which the IRS has any action whatsoever on the mosquito. At the moment this is constant across humans and deterministic: relative attractiveness and survival factors are base*(1-propActing) + intervention_factor*propActing.
Relative attractiveness
→ scenario → interventions → human → component → IRS → anophelesParams → deterrency
<deterrency
insecticideFactor=double
insecticideScalingFactor=double
/>
Documentation (element)
Units: dimensionless Min: 0 Max: 1
Effect of IRS on attractiveness of humans to mosquitoes relative to an unprotected adult human. Parameterisations should take into account that mosquitoes do not always bite indoors.
Attractiveness of the human is multiplied by exp(P×log(p)) where P is the insecticide factor, p=1−exp(-insecticideContent×insecticideScalingFactor).
Attributes
Insecticide factor
insecticideFactor=double
Units: none Max: 1
Value expected to be at least 0. Negative values are not necessarily invalid, but allow nets to increase transmission.
Insecticide scaling factor
insecticideScalingFactor=double
Units: none Min: 0
Pre-prandial killing effect
→ scenario → interventions → human → component → IRS → anophelesParams → preprandialKillingEffect
<preprandialKillingEffect
insecticideFactor=double
insecticideScalingFactor=double
baseFactor=double
/>
Documentation (element)
Units: dimensionless Min: 0 Max: 1
Effect of IRS on survival mosquitoes as they seek to bite a human after choosing that human, relative to the same person not protected by IRS. Parameterisations should take into account that mosquitoes do not always bite indoors. This parameter has been added since some data shows IRS to have a preprandial killing effect.
Killing proportion is calculated as K = B + P×p where B is the base (without protection) probability of death, and P is the insecticide factor, p=1−exp(-insecticideContent×insecticideScalingFactor).
Survival of mosquitoes is adjusted via multiplication by (1−K) / (1−B). To keep this in the range [0,1], we require that B+P ≤ 1 and P ≥ 0.
Attributes
Insecticide factor
insecticideFactor=double
Units: none Max: 1
Value expected to be at least 0. Negative values are not necessarily invalid, but allow nets to increase transmission.
Insecticide scaling factor
insecticideScalingFactor=double
Units: none Min: 0
Probability of mosquito death without intervention
baseFactor=double
Units: dimensionless
Post-prandial killing effect
→ scenario → interventions → human → component → IRS → anophelesParams → postprandialKillingEffect
<postprandialKillingEffect
insecticideFactor=double
insecticideScalingFactor=double
baseFactor=double
/>
Documentation (element)
Units: dimensionless Min: 0 Max: 1
Effect of IRS on survival mosquitoes as they seek to escape from a human host and rest after a blood meal, relative to the same person not protected by IRS. Parameterisations should take into account that mosquitoes do not always bite indoors.
Killing proportion is calculated as K = B + P×p where B is the base (without protection) probability of death, and P is the insecticide factor, p=1−exp(-insecticideContent×insecticideScalingFactor).
Survival of mosquitoes is adjusted via multiplication by (1−K) / (1−B). To keep this in the range [0,1], we require that B+P ≤ 1 and P ≥ 0.
Attributes
Insecticide factor
insecticideFactor=double
Units: none Max: 1
Value expected to be at least 0. Negative values are not necessarily invalid, but allow nets to increase transmission.
Insecticide scaling factor
insecticideScalingFactor=double
Units: none Min: 0
Probability of mosquito death without intervention
baseFactor=double
Units: dimensionless
Generic vector intervention
→ scenario → interventions → human → component → GVI
<GVI>
IN THIS ORDER:
| [ <usage ... /> ]
| <decay ... />
| ( <anophelesParams ... /> )+
</GVI>
Documentation (element)
Low-level description of intervention effects on vectors (i.e. mosquitoes). Can be used to describe simple ITN or IRS interventions (though more complex models are available for these interventions) or other interventions such as mosquito repellant or ivermectin.
Note that all actions of this intervention component will decay according to a single decay function. If independant decay is wanted, a separate component can be used for each action.
Proportion of generic vector interventions
→ scenario → interventions → human → component → GVI → usage
<usage
value=double
/>
Documentation (element)
Units: dimensionless Min: 0 Max: 1
Usage of Generic vector interventions, from 0 to 1.
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Decay
→ scenario → interventions → human → component → GVI → decay
<decay
function=("constant" or "step" or "linear" or "exponential" or "weibull" or "hill" or "smooth-compact")
[ L=string ]
[ k=double ] DEFAULT VALUE 1.0
[ mu=double ] DEFAULT VALUE 0
[ sigma=double ] DEFAULT VALUE 0
/>
Documentation (element)
Description of decay of all intervention effects. Documentation: see DecayFunction type or https://github.com/SwissTPH/openmalaria/wiki/ModelDecayFunctions
Documentation (type)
Specification of decay or survival of a parameter.
Attributes
function
function=("constant" or "step" or "linear" or "exponential" or "weibull" or "hill" or "smooth-compact")
Units: None Min: 0 Max: 1
Determines which decay function to use. Available decay functions, for age t in years: constant: 1 step: 1 for t less than L, otherwise 0 linear: 1 - t/L for t less than L, otherwise 0 exponential: exp( - t/L * log(2) ) weibull: exp( -(t/L)^k * log(2) ) hill: 1 / (1 + (t/L)^k) smooth-compact: exp( k - k / (1 - (t/L)^2) ) for t less than L, otherwise 0
L
L=string
Units: User-defined (defaults to years) Min: 0
(Time) scale parameter of distribution: this is either the age of complete decay (smooth-compact, step and linear functions) or the age at which the parameter has decayed to half its original value (exponential, weibull and hill). Not used when function="constant" (i.e. no decay). This value can be specified in years, days or steps (e.g. 2y, 180d or 100t). When the unit is not specified years are assumed. The value is used without rounding except when sampling an age of decay, when the rounding happens as late as possible.
k
k=double
Units: none Min: 0
Default value: 1.0
Shape parameter of distribution. If not specified, default value of 1 is used. Meaning depends on function; not used in some cases.
μ (mu)
mu=double
Min: 0
Default value: 0
If sigma is non-zero, heterogeneity of decay is introduced via a random variable sampled from the log-normal distribution with mu and sigma as specified. Both mu and sigma default to zero when not specified. The decay rate is multiplied by this variable (effectively, the half-life is divided by it). Note that with m=0, the median of the variable and the median value of L is unchanged, and thus the time at which the median decay amongst the population of decaying objects reaches half (assuming exponential, Weibull or Hill decay) is L. With m=-½σ² (negative half sigma squared) the mean of the variable will be 1 and mean of the half-life L, but the time at which mean decay of the population has reached half may not be L.
σ (sigma)
sigma=double
Min: 0
Default value: 0
If sigma is non-zero, heterogeneity of decay is introduced via a random variable sampled from the log-normal distribution with mu and sigma as specified. Both mu and sigma default to zero when not specified. The decay rate is multiplied by this variable (effectively, the half-life is divided by it).
Per-mosquito species parameters
→ scenario → interventions → human → component → GVI → anophelesParams
<anophelesParams
mosquito=string
[ propActive=double ] DEFAULT VALUE 1
>
IN THIS ORDER:
| [ <deterrency ... /> ]
| [ <preprandialKillingEffect ... /> ]
| [ <postprandialKillingEffect ... /> ]
</anophelesParams>
Attributes
Mosquito species
mosquito=string
Name of the affected anopheles-mosquito species.
Proportion of bites for which IRS acts
propActive=double
Units: dimensionless Min: 0 Max: 1
Default value: 1
The proportion of bites for which the IRS has any action whatsoever on the mosquito. At the moment this is constant across humans and deterministic: relative attractiveness and survival factors are base*(1-propActing) + intervention_factor*propActing.
Relative attractiveness
→ scenario → interventions → human → component → GVI → anophelesParams → deterrency
<deterrency
value=double
/>
Documentation (element)
Units: dimensionless Min: 0 Max: 1
Effect of IRS on attractiveness of humans to mosquitoes relative to an unprotected adult human. Parameterisations should take into account that mosquitoes do not always bite indoors.
Attractiveness of the human is multiplied this factor times survival of effect.
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Pre-prandial killing effect
→ scenario → interventions → human → component → GVI → anophelesParams → preprandialKillingEffect
<preprandialKillingEffect
value=double
/>
Documentation (element)
Units: dimensionless Min: 0 Max: 1
Effect of IRS on survival mosquitoes as they seek to bite a human after choosing that human, relative to the same person not protected by IRS. Parameterisations should take into account that mosquitoes do not always bite indoors. This parameter has been added since some data shows IRS to have a preprandial killing effect.
Killing proportion is this factor multiplied by survival of effect.
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Post-prandial killing effect
→ scenario → interventions → human → component → GVI → anophelesParams → postprandialKillingEffect
<postprandialKillingEffect
value=double
/>
Documentation (element)
Units: dimensionless Min: 0 Max: 1
Effect of IRS on survival mosquitoes as they seek to escape from a human host and rest after a blood meal, relative to the same person not protected by IRS. Parameterisations should take into account that mosquitoes do not always bite indoors.
Killing proportion is this factor multiplied by survival of effect.
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Recruitment only
→ scenario → interventions → human → component → recruitmentOnly
<recruitmentOnly/>
Documentation (element)
Recruitment of a host into a sub-population.
All human-targeting intervention deployments recruit simulated humans into a sub-population which can be used for the purposes of cumulative deployment, deployment only to a sub-population and defining a cohort. This pseudo-intervention can be used to define a sub-population without also deploying some intervention.
Clear Immunity
→ scenario → interventions → human → component → clearImmunity
<clearImmunity/>
Documentation (element)
Removes all exposure-related immunitsy gained over time by hosts without removing infections (or affecting the ability to gain immunity through exposure).
Hypothetical, but potentially useful to simulate scenarios with unprotected humans.
subPopRemoval
→ scenario → interventions → human → component → subPopRemoval
<subPopRemoval
[ onFirstBout=boolean ] DEFAULT VALUE false
[ onFirstTreatment=boolean ] DEFAULT VALUE false
[ onFirstInfection=boolean ] DEFAULT VALUE false
[ afterYears=double ]
/>
Documentation (type)
Each human intervention component corresponds to a sub-population: those who have received or are considered to be protected by the intervention component. Humans automatically become members of this sub-population when receiving an intervention component; this element controls how humans are removed from the sub-population.
ITN attrition also removes humans from sub-populations.
Note that sub-populations do not directly correspond to an intervention's effects: lack of effectiveness does not imply removal from the sub-population (except as explicitly configured here) and removal from the sub-population does not halt an intervention's effects.
Sub-populations may be used to define a cohort, to restrict deployment of other interventions and to use cumulative deployment mode. A sub- population may or may not correspond (roughly) to humans protected by some intervention.
Attributes
Time to first episode only
onFirstBout=boolean
Default value: false
If true, remove individuals from the sub-population at the start of the first episode (start of a clinical bout) since they were recruited into the sub-population. This is intended for cohort studies which measure time to the first episode, using active case detection. Reports delayed due to health-system memory are forced out when this occurs. Note that this can increase the number of uncomplicated cases reported across the entire population; for this reason reports are not forced on recruitment or most removal options. This does not prevent re-recruitment in the case that recruitment settings could conceivably recruit the same individual twice.
Time to first treatment only
onFirstTreatment=boolean
Default value: false
If true, remove individuals from the sub-population when they first seektreatment since they were recruited into the sub-population. This is intended for cohort studies which measure the time to first episode, using passive case detection. Reports delayed due to health-system memory are forced out when this occurs. Note that this can increase the number of uncomplicated cases reported across the entire population; for this reason reports are not forced on recruitment or most removal options. This does not prevent re-recruitment in the case that recruitment settings could conceivably recruit the same individual twice.
Time to first infection only
onFirstInfection=boolean
Default value: false
If true, remove individuals from the sub-population at completion of the first survey in which they present with a patent infection since they were recruited into the sub-population. This intended for cohort studies which measure time to the first infection, using active case detection. Reports delayed due to health-system memory are forced out when this occurs. Note that this can increase the number of uncomplicated cases reported across the entire population; for this reason reports are not forced on recruitment or most removal options. This does not prevent re-recruitment in the case that recruitment settings could conceivably recruit the same individual twice.
Remove from sub-population after
afterYears=double
Units: Years Min: 0
If given, membership to the sub-population of humans who have received this intervention component expires after the given number of years. Note that future deployments renew membership (e.g. if this parameter is 4 years and the intervention is redeployed 3 years from now, expiry happens after 7 years). This provides a crude way of modelling a cohort protected by some intervention. A few interventions provide more detailed ways of modelling expiry of protection. In any case, "expiry of protection" is an abstract concept and does not imply that all protection has ceased, even in the simulator. This may also be useful for cumulative deployment. Minimum duration is zero, which implies the human is effectively never a member of the sub-population; a duration of one timestep implies the human is a member of the sub-population while any futher interventions are deployed on the same time as this human becomes a member and on the next update of the human (including transmission and health system events) but not beyond that. If this attribute is not given, the simulated human is a member until death or some other option triggers removal. Input is rounded to the nearest time step.
Deployment
→ scenario → interventions → human → deployment
<deployment
[ name=string ]
>
IN THIS ORDER:
| ( <component ... /> )+
| ( <condition ... /> )*
| ( <continuous ... /> )*
| ( <timed ... /> )*
</deployment>
Documentation (element)
This element describes deployment of an intervention: which components are deployed, how humans are selected for deployment (via timed or age-based deployment) as well as a few additional restrictions (e.g. vaccine dosing restrictions).
All components deployed by this intervention are deployed to the same people (each timed or continuous deployment selects recipients and then gives each recipient all components of the intervention).
Attributes
Intervention name
name=string
Name of intervention
component
→ scenario → interventions → human → deployment → component
<component
id=string
/>
Documentation (type)
The list of components deployed to eligible humans.
Attributes
Identifier
id=string
The identifier (short name) of a component.
Condition
→ scenario → interventions → human → deployment → condition
<condition
measure=string
[ minValue=double ]
[ maxValue=double ]
initialState=boolean
/>
Documentation (element)
If conditions are specified, deployment of this intervention will only go ahead if all specified conditions are true. Condition statements are evaluated only during surveys, so deployment is enabled or disabled depending on the results of the most recent survey. So called unreported surveys can be used to reevaluate conditions without increasing granularity of output.
Conditions are evaluated for the whole population, not for individual age-groups or cohorts.
This affects all types of deployment.
Attributes
Measure
measure=string
The monitoring measure to test. Not all measures are available for use.
Minimum value
minValue=double
Minimum value. If specified, the measured variable must be greater than this value for the condition to be satisfied.
Maximum value
maxValue=double
Maximum value. If specified, the measured variable must be less than this value for the condition to be satisfied.
Initial state
initialState=boolean
Whether this condition is considered true or false before updated by a survey.
Age-based (continuous) deployment
→ scenario → interventions → human → deployment → continuous
<continuous>
IN THIS ORDER:
| [ <restrictToSubPop ... /> ]
| ( <deploy ... /> )+
</continuous>
Documentation (element)
List of ages at which deployment takes place (through EPI, post-natal and school-based programmes, etc.).
A sub-population restriction may be added as a property of the list of continuous deployments.
restrictToSubPop
→ scenario → interventions → human → deployment → continuous → restrictToSubPop
<restrictToSubPop
id=string
[ complement=boolean ] DEFAULT VALUE false
/>
Documentation (type)
If this element is specified, deployment is restricted to some sub-population (specified via the "id" attribute); otherwise the target population is the entire simulated population. Either way, other deployment restrictions (age, time, number of vaccine doeses) still apply.
Attributes
Sub-population identifier
id=string
The identifier (short name) of the sub-population (i.e. the "id" of some intervention component). Also see the "complement" attribute.
Complement
complement=boolean
Default value: false
If this is not specified or is false, deployment is restricted to the sub-population of people protected by the intervention component who's id is given. If complement is set to true, deployment is instead restricted to the complement of that sub-population, i.e. to those
deploy
→ scenario → interventions → human → deployment → continuous → deploy
<deploy
coverage=double
[ vaccMinPrevDoses=int ]
[ vaccMaxCumDoses=int ]
targetAgeYrs=double
[ begin=string ]
[ end=string ]
/>
Attributes
Coverage
coverage=double
Units: dimensionless Min: 0 Max: 1
Proportion of otherwise eligible individuals who will receive this deployment.
Vaccine min previous doses
vaccMinPrevDoses=int
Units: inoculations Min: 0
Applies to vaccines only: vaccine doses are only deployed by this deployment if the previous number of doses (for the component deployed) is at least this number. For example, if this is the second deployment opportunity for this vaccine and this value is 1, then this deployment cannot deploy the vaccine to individuals who did not receive the first deployment.
Vaccine max cumulative doses
vaccMaxCumDoses=int
Units: inoculations Min: 0
Applies to vaccines only: vaccine doses are only deployed by this deployment if the previous number of doses (for the component deployed) is less than this number.
Target age
targetAgeYrs=double
Units: Years Min: 0 Max: 100
Target age of intervention. Input is rounded to the nearest time step.
First time active
begin=string
Units: User defined (defauls to steps)
First time at which this deployment is active. If not specified, deployment starts at the beginning of the intervention period. See doc on intervention period and on monitoring/startDate for details of how times work. Can be specified in steps, days, years, or as a date (examples: 15t, 75d, 0.2y, 2000-03-16).
End step
end=string
Units: User defined (defauls to steps)
End of the period during which the intervention is active (to be exact, the first step of the intervention period at which the item becomes inactive). If not specified, deployment never ceases after starting during the simulation. See doc on intervention period and on monitoring/startDate for details of how times work. Can be specified in steps, days, years, or as a date (examples: 15t, 75d, 0.2y, 2000-03-16).
Mass (timed) deployment
→ scenario → interventions → human → deployment → timed
<timed>
IN THIS ORDER:
| [ <restrictToSubPop ... /> ]
| [ <cumulativeCoverage ... /> ]
| ( <deploy ... /> )+
</timed>
Documentation (element)
List of timed deployments of the intervention (that is, of deployment campaigns).
Cumulative deployment mode can be specified for all deployments in a timed list. To allow multiple cumulative deployment descriptions, the entire timed list may be repeated.
restrictToSubPop
→ scenario → interventions → human → deployment → timed → restrictToSubPop
<restrictToSubPop
id=string
[ complement=boolean ] DEFAULT VALUE false
/>
Documentation (type)
If this element is specified, deployment is restricted to some sub-population (specified via the "id" attribute); otherwise the target population is the entire simulated population. Either way, other deployment restrictions (age, time, number of vaccine doeses) still apply.
Attributes
Sub-population identifier
id=string
The identifier (short name) of the sub-population (i.e. the "id" of some intervention component). Also see the "complement" attribute.
Complement
complement=boolean
Default value: false
If this is not specified or is false, deployment is restricted to the sub-population of people protected by the intervention component who's id is given. If complement is set to true, deployment is instead restricted to the complement of that sub-population, i.e. to those
Cumulative coverage
→ scenario → interventions → human → deployment → timed → cumulativeCoverage
<cumulativeCoverage
component=string
/>
Documentation (element)
If this element is not specified, standard deployment occurs, where a portion of the population as given by the coverage property of this campaign is selected, and interventions are deployed to all of these people (regardless of previous coverage).
If this attribute is specified, instead, the population is divided into two sets: those who are a member of a certain sub-population and those who are not (see "subPopRemoval" element). If the proportion of people in the first set is less than the desired coverage, then the proportion of people from the second set needed to increase total coverage to the desired coverage is calculated. This proportion is then used as the probablity of selection from the second set into a third set of people who then receive all interventions deployed by this campaign.
Note that selection is stochastic so the final coverage level may not be exactly that desired. Note also that the component used when selecting people need not actually be one of the components deployed by this intervention, although that is the intended use case.
Attributes
Component identifier
component=string
The identifier (short name) of the component used when selecting people.
deploy
→ scenario → interventions → human → deployment → timed → deploy
<deploy
coverage=double
[ vaccMinPrevDoses=int ]
[ vaccMaxCumDoses=int ]
time=string
[ maxAge=double ]
[ minAge=double ] DEFAULT VALUE 0
[ repeatStep=string ]
[ repeatEnd=string ]
/>
Attributes
Coverage
coverage=double
Units: dimensionless Min: 0 Max: 1
Proportion of otherwise eligible individuals who will receive this deployment.
Vaccine min previous doses
vaccMinPrevDoses=int
Units: inoculations Min: 0
Applies to vaccines only: vaccine doses are only deployed by this deployment if the previous number of doses (for the component deployed) is at least this number. For example, if this is the second deployment opportunity for this vaccine and this value is 1, then this deployment cannot deploy the vaccine to individuals who did not receive the first deployment.
Vaccine max cumulative doses
vaccMaxCumDoses=int
Units: inoculations Min: 0
Applies to vaccines only: vaccine doses are only deployed by this deployment if the previous number of doses (for the component deployed) is less than this number.
Time
time=string
Units: User defined (defauls to steps) Min: 0
Time at which this deployment occurs. See doc on intervention period and on monitoring/startDate for details of how times work. Can be specified in steps, days, years, or as a date (examples: 15t, 75d, 0.2y, 2000-03-16).
Maximum age of eligible individuals
maxAge=double
Units: Years Min: 0
Maximum age of eligible individuals (defaults to no limit). Input is rounded to the nearest time step.
Minimum age of eligible individuals
minAge=double
Units: Years Min: 0
Default value: 0
Minimum age of eligible individuals (defaults to 0). Input is rounded to the nearest time step.
Step of repetition
repeatStep=string
Units: User defined
See repeatEnd's documentation.
End of repetition (exclusive)
repeatEnd=string
Units: User defined
Either both repeatStep and repeatEnd should be present or neither. If present, the deployment is repeated every repeatStep timesteps (i.e. if t0 is the initial time and x is repeatStep, depolyments are done at times t0, t0+x, t0+2*x, ...), ending before repeatEnd (final repetition is the one before repeatEnd). Note that repeatEnd may be specified as a date but repeatStep must be a duration (days, steps or years).
Health system description
→ scenario → healthSystem
<healthSystem>
IN THIS ORDER:
| EXACTLY ONE OF:
| | <EventScheduler ... />
| | <ImmediateOutcomes ... />
| | <DecisionTree5Day ... />
| <CFR ... />
| <pSequelaeInpatient ... />
</healthSystem>
Documentation (element)
Description of health system.
Documentation (type)
Description of case management system, used to specify the initial model or a replacement (an intervention). Encompasses case management data and some other data required to derive case outcomes.
Contains a sub-element describing the particular health-system in use. Health system data is here defined as data used to decide on a treatment strategy, given a case requiring treatment.
Transmission and vector bionomics
→ scenario → entomology
<entomology
name=string
mode=("forced" or "dynamic")
[ scaledAnnualEIR=double ]
>
IN THIS ORDER:
| EXACTLY ONE OF:
| | <nonVector ... />
| | <vector ... />
</entomology>
Documentation (element)
Description of entomological data
Attributes
Entomology dataset name
name=string
Name of entomology data
Transmission model mode
mode=("forced" or "dynamic")
Transmission simulation mode: may be forced (in which case interventions and changes to human infectiousness cannot affect EIR) or dynamic (in which the above can affect EIR). The full vector model is only used in dynamic mode. This can not be changed by interventions, except for the changeEIR intervention for the non-vector model which replaces the EIR with a new description (used in forced mode).
Override annual EIR
scaledAnnualEIR=double
Units: Infectious bites per adult per year
If set, the annual EIR (for all species of vector) is scaled to this level; can be omitted if not needed.
Transmission setting (vector control not enabled)
→ scenario → entomology → nonVector
<nonVector
eipDuration=int
>
IN THIS ORDER:
| ( <EIRDaily ... /> )+
</nonVector>
Documentation (element)
Description of transmission setting for models without vector control interventions (included for backward compatibility)
Attributes
Duration of sporogony
eipDuration=int
Units: Days
The duration of sporogony in days
Transmission setting (vector control enabled)
→ scenario → entomology → vector
<vector>
IN THIS ORDER:
| ( <anopheles ... /> )+
| ( <nonHumanHosts ... /> )*
</vector>
Documentation (element)
Parameters of the transmission model
anopheles
→ scenario → entomology → vector → anopheles
<anopheles
mosquito=string
propInfected=double
propInfectious=double
>
IN THIS ORDER:
| <seasonality ... />
| <mosq ... />
| [ <lifeCycle ... /> ]
| [ <simpleMPD ... /> ]
| ( <nonHumanHosts ... /> )*
</anopheles>
Documentation (type)
Description of input EIR for one specific vector species in terms of a Fourier approximation to the ln of the EIR during the burn in period
Attributes
Identifier for this anopheles species
mosquito=string
Identifier for this anopheles species
Initial estimate of proportion of mosquitoes infected (ρ_O)
propInfected=double
Units: Proportion Min: 0 Max: 1
Initial guess of the proportion of mosquitoes which are infected, o: O_v(t) = o*N_v(t). Only used as a starting value.
Initial estimate of proportion of mosquitoes infectious (ρ_S)
propInfectious=double
Units: Proportion Min: 0 Max: 1
Initial estimate of the proportion of mosquitoes which are infectious, s: S_v(t) = s*N_v(t). Used as a starting value and then fit.
Seasonality of transmission
→ scenario → entomology → vector → anopheles → seasonality
<seasonality
input=("EIR")
[ annualEIR=double ]
>
IN THIS ORDER:
| EXACTLY ONE OF:
| | <fourierSeries ... />
| | <monthlyValues ... />
| | <dailyValues ... />
</seasonality>
Documentation (element)
Specifies the seasonality of transmission and optionally the level of annual transmission.
Attributes
Seasonality input
input=("EIR")
Specify what seasonality measure is given. At the moment, only EIR is supported, but in the future, all the below should be supported. EIR: seasonality of entomological inoculations is input. Units: entomological inoculations per adult per annum. hostSeeking: seasonality of densities of flying host-seeking mosquitoes is input (in the model this is notated N_v). Units: mosquitoes. emergence: seasonality of emergence pupa into adults. Units: mosquitoes. larvalResources: seasonality of larval resources. Units: X.
Annual EIR
annualEIR=double
Units: Inoculations per adult per annum Min: 0
If this attribute is included, EIR for this species is scaled to this level. Note that if the scaledAnnualEIR attribute of the entomology element is also used, EIR is scaled again, making this attribute the EIR relative to other species. With some seasonality inputs, this attribute is optional, in which case (if scaledAnnualEIR is also not specified) transmission depends on all parameters of the vector. With some seasonality inputs, however, this parameter must be specified.
Fourier approximation to pre-intervention EIR
→ scenario → entomology → vector → anopheles → seasonality → fourierSeries
<fourierSeries
EIRRotateAngle=double
>
IN THIS ORDER:
| ( <coeffic ... /> )*
</fourierSeries>
Documentation (element)
Units: Infectious bites per adult per day
Seasonality is reproduced from the exponential of a fourier series specified by the following coefficients. Note that the a0 term is not needed; the annualEIR attribute of the seasonality element should be used to scale EIR instead.
Attributes
Rotation angle defining the origin of the Fourier approximation to ln (EIR)
EIRRotateAngle=double
Units: Radians
Rotation angle defining the origin of the Fourier approximation to ln (EIR)
Pair of Fourier coefficients
→ scenario → entomology → vector → anopheles → seasonality → fourierSeries → coeffic
<coeffic
a=double
b=double
/>
Documentation (element)
A pair of Fourier series coefficients. The first element specifies a1 and b1, the second a2 and b2, etc. Any number (from 0 up) of pairs may be given.
Attributes
a_n parameter of Fourier approximation to ln(EIR)
a=double
a_n parameter of Fourier approximation to ln(EIR) for some natural number n.
b_n parameter of Fourier approximation to ln(EIR)
b=double
b_n parameter of Fourier approximation to ln(EIR) for some natural number n.
List of monthly values
→ scenario → entomology → vector → anopheles → seasonality → monthlyValues
<monthlyValues
smoothing=("none" or "fourier")
>
IN THIS ORDER:
| ( <value ... /> ){12,12}
</monthlyValues>
Documentation (element)
Description of seasonality from monthly values. Multiple smoothing methods are possible (see smoothing attribute).
List should contain twelve entries: January to December.
Attributes
Smoothing function
smoothing=("none" or "fourier")
How the monthly values are converted into a daily sequence of values:
- none: no smoothing (step function)
- Fourier: a Fourier series (with terms up to a2/b2) is fit to the sequence of monthly values and used to generate a smoothed list of daily values.
Monthly value
→ scenario → entomology → vector → anopheles → seasonality → monthlyValues → value
<value>
double
</value>
Documentation (element)
Units: (see "seasonality input" parameter)
Monthly value
List of daily values
→ scenario → entomology → vector → anopheles → seasonality → dailyValues
<dailyValues>
IN THIS ORDER:
| ( <value ... /> ){365,365}
</dailyValues>
Documentation (element)
Description of seasonality from daily values.
List should contain 365 entries: 1st January to 31st December.
Daily value
→ scenario → entomology → vector → anopheles → seasonality → dailyValues → value
<value>
double
</value>
Documentation (element)
Units: (see "seasonality input" parameter)
Daily value
Mosquito feeding cycle parameters
→ scenario → entomology → vector → anopheles → mosq
<mosq
minInfectedThreshold=double
>
IN ANY ORDER:
| <mosqRestDuration ... />
| <extrinsicIncubationPeriod ... />
| <mosqLaidEggsSameDayProportion ... />
| <mosqSeekingDuration ... />
| <mosqSurvivalFeedingCycleProbability ... />
| <availabilityVariance ... />
| <mosqProbBiting ... />
| <mosqProbFindRestSite ... />
| <mosqProbResting ... />
| <mosqProbOvipositing ... />
| <mosqHumanBloodIndex ... />
</mosq>
- mosqRestDuration
- extrinsicIncubationPeriod
- mosqLaidEggsSameDayProportion
- mosqSeekingDuration
- mosqSurvivalFeedingCycleProbability
- availabilityVariance
- mosqProbBiting
- mosqProbFindRestSite
- mosqProbResting
- mosqProbOvipositing
- mosqHumanBloodIndex
Documentation (element)
Parameters describing the feeding cycle and human mosquito interaction of a single species of anopheles mosquito.
Attributes
Mininum infected threshold for mosquitos
minInfectedThreshold=double
Min: 0
If less than this many mosquitoes remain infected, transmission is interrupted.
Duration of the resting period of the vector
→ scenario → entomology → vector → anopheles → mosq → mosqRestDuration
<mosqRestDuration
value=int
/>
Documentation (element)
Units: Days
name:Duration of the resting period of the vector (days);
Attributes
Input parameter value
value=int
An integer value.
Extrinsic incubation period
→ scenario → entomology → vector → anopheles → mosq → extrinsicIncubationPeriod
<extrinsicIncubationPeriod
value=int
/>
Documentation (element)
Units: Days
name:Extrinsic incubation period (days)
Attributes
Input parameter value
value=int
An integer value.
Proportion of mosquitoes host seeking on same day as ovipositing
→ scenario → entomology → vector → anopheles → mosq → mosqLaidEggsSameDayProportion
<mosqLaidEggsSameDayProportion
value=double
/>
Documentation (element)
Units: Proportion
Proportion of mosquitoes host seeking on same day as ovipositing
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Duration of the host-seeking period of the vector
→ scenario → entomology → vector → anopheles → mosq → mosqSeekingDuration
<mosqSeekingDuration
value=double
/>
Documentation (element)
Units: Days
Duration of the host-seeking period of the vector (days)
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Probability that the mosquito survives the feeding cycle
→ scenario → entomology → vector → anopheles → mosq → mosqSurvivalFeedingCycleProbability
<mosqSurvivalFeedingCycleProbability
value=double
/>
Documentation (element)
Units: Proportion
Probability that the mosquito survives the feeding cycle
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Variance in human availability rate
→ scenario → entomology → vector → anopheles → mosq → availabilityVariance
<availabilityVariance
value=double
/>
Documentation (element)
Variance in availability rate of humans to mosquitoes. The mean rate is calculated based on other parameters.
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Probability that the mosquito succesfully bites chosen host
→ scenario → entomology → vector → anopheles → mosq → mosqProbBiting
<mosqProbBiting
mean=double
variance=double
/>
Documentation (element)
Probability that the mosquito succesfully bites chosen host
Documentation (type)
Parameters of a normal distribution, provided as mean and variance.
Variates are sampled from Be(α,β) where α and β are determined from the mean and variance as follows: let v be the variance and c=mean/(1-mean). Then we set α=cβ and β=((c+1)²v - c)/((c+1)³v).
Attributes
mean
mean=double
Units: none
The mean of the beta distribution (must be in the open range (0,1)).
variance
variance=double
Units: none
The standard deviation of variates.
Probability that the mosquito escapes host and finds a resting place after biting
→ scenario → entomology → vector → anopheles → mosq → mosqProbFindRestSite
<mosqProbFindRestSite
mean=double
variance=double
/>
Documentation (element)
Probability that the mosquito escapes host and finds a resting place after biting
Documentation (type)
Parameters of a normal distribution, provided as mean and variance.
Variates are sampled from Be(α,β) where α and β are determined from the mean and variance as follows: let v be the variance and c=mean/(1-mean). Then we set α=cβ and β=((c+1)²v - c)/((c+1)³v).
Attributes
mean
mean=double
Units: none
The mean of the beta distribution (must be in the open range (0,1)).
variance
variance=double
Units: none
The standard deviation of variates.
Probability of mosquito successfully resting after finding a resting site
→ scenario → entomology → vector → anopheles → mosq → mosqProbResting
<mosqProbResting
mean=double
variance=double
/>
Documentation (element)
Probability of mosquito successfully resting after finding a resting site
Documentation (type)
Parameters of a normal distribution, provided as mean and variance.
Variates are sampled from Be(α,β) where α and β are determined from the mean and variance as follows: let v be the variance and c=mean/(1-mean). Then we set α=cβ and β=((c+1)²v - c)/((c+1)³v).
Attributes
mean
mean=double
Units: none
The mean of the beta distribution (must be in the open range (0,1)).
variance
variance=double
Units: none
The standard deviation of variates.
Probability of a mosquito successfully laying eggs given that it has rested
→ scenario → entomology → vector → anopheles → mosq → mosqProbOvipositing
<mosqProbOvipositing
value=double
/>
Documentation (element)
Probability of a mosquito successfully laying eggs given that it has rested
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Human blood index
→ scenario → entomology → vector → anopheles → mosq → mosqHumanBloodIndex
<mosqHumanBloodIndex
value=double
/>
Documentation (element)
Units: Proportion
The proportion of resting mosquitoes which fed on human blood during the last feed.
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Mosquito life cycle parameters
→ scenario → entomology → vector → anopheles → lifeCycle
<lifeCycle
[ estimatedLarvalResources=double ] DEFAULT VALUE 1e8
>
IN ANY ORDER:
| <eggStage ... />
| <larvalStage ... />
| <pupalStage ... />
| <femaleEggsLaidByOviposit ... />
</lifeCycle>
Documentation (element)
Parameters describing the life-cycle of this species of mosquito
Attributes
Estimate of larval resources
estimatedLarvalResources=double
Units: X
Default value: 1e8
An estimate of mean annual availability of resources to larvae. Used to get the resource usage fitting algorithm going; if the algorithm fails to fit the resource availability then tweaking this parameter may help. In other cases tweaking this parameter shouldn't be necessary. Default value is 10⁸ (1e8). Units are arbitrary but must be the same as those used by the resourceUsage parameter.
Egg stage
→ scenario → entomology → vector → anopheles → lifeCycle → eggStage
<eggStage
duration=int
survival=double
/>
Documentation (element)
Parameters for the egg stage of development
Documentation (type)
Parameters associated with a mosquito development stage.
Attributes
Duration
duration=int
Units: Days
Duration of the stage (i.e. length of time mosquito is an egg/larva/pupa).
Probability of survival
survival=double
Units: Proportion
Probability that mosquito survives this size (probability of egg hatching, a larva becoming a pupa or a pupa emerging as an adult, at the start of that stage).
larvalStage
→ scenario → entomology → vector → anopheles → lifeCycle → larvalStage
<larvalStage>
</larvalStage>
Documentation (type)
Parameters for the larval stage of development
Documentation (base type)
Parameters associated with a mosquito development stage.
Daily development
→ scenario → entomology → vector → anopheles → lifeCycle → larvalStage → daily
<daily
resourceUsage=double
effectCompetition=double
/>
Documentation (element)
List of parameters which apply during the larval stage of development. List length must equal stage duration, with first item corresponding to first 24 hours after hatching, second item to hours 24-48, and so on.
Attributes
Resource usage
resourceUsage=double
Units: X
Resource usage during larval stage of development. Units are arbitrary.
Effect of competition
effectCompetition=double
Units: none
Effect of competition over resources on development.
Pupal stage
→ scenario → entomology → vector → anopheles → lifeCycle → pupalStage
<pupalStage
duration=int
survival=double
/>
Documentation (element)
Parameters for the pupal stage of development
Documentation (type)
Parameters associated with a mosquito development stage.
Attributes
Duration
duration=int
Units: Days
Duration of the stage (i.e. length of time mosquito is an egg/larva/pupa).
Probability of survival
survival=double
Units: Proportion
Probability that mosquito survives this size (probability of egg hatching, a larva becoming a pupa or a pupa emerging as an adult, at the start of that stage).
Eggs laid by ovipositing mosquito
→ scenario → entomology → vector → anopheles → lifeCycle → femaleEggsLaidByOviposit
<femaleEggsLaidByOviposit
value=double
/>
Documentation (element)
Units: Eggs per feeding cycle
The total number of female eggs laid by a female mosquito at the conclusion to a feeding cycle.
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Simple Mosq-Pop-Dynamics parameters
→ scenario → entomology → vector → anopheles → simpleMPD
<simpleMPD>
IN ANY ORDER:
| <developmentDuration ... />
| <developmentSurvival ... />
| <femaleEggsLaidByOviposit ... />
</simpleMPD>
Documentation (element)
Parameters describing the simple mosquito population dynamics model.
This is a simpler version of the life-cycle model, requiring less parameters and with much simpler initialisation.
Duration
→ scenario → entomology → vector → anopheles → simpleMPD → developmentDuration
<developmentDuration
value=int
/>
Documentation (element)
Units: Days Min: 1
Duration from egg laying to emergence in days.
Attributes
Input parameter value
value=int
An integer value.
Probability of survival
→ scenario → entomology → vector → anopheles → simpleMPD → developmentSurvival
<developmentSurvival
value=double
/>
Documentation (element)
Units: Proportion Min: 0 Max: 1
Probability that mosquito survives from the egg being laid to emergence, given no resouce limitations (no density constraints).
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Eggs laid by ovipositing mosquito
→ scenario → entomology → vector → anopheles → simpleMPD → femaleEggsLaidByOviposit
<femaleEggsLaidByOviposit
value=double
/>
Documentation (element)
Units: Eggs per feeding cycle
The total number of female eggs laid by a female mosquito at the conclusion to a feeding cycle.
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Alternative (non-human) host paramters
→ scenario → entomology → vector → anopheles → nonHumanHosts
<nonHumanHosts
name=string
>
IN ANY ORDER:
| <mosqRelativeEntoAvailability ... />
| <mosqProbBiting ... />
| <mosqProbFindRestSite ... />
| <mosqProbResting ... />
</nonHumanHosts>
Documentation (element)
Min: 0
Non human host parameters, per type of host (must match up with non-species-specific parameters).
Attributes
Identifier for this category of non-human hosts
name=string
Identifier for this category of non-human hosts
Relative availability of non-human host (ξ_i)
→ scenario → entomology → vector → anopheles → nonHumanHosts → mosqRelativeEntoAvailability
<mosqRelativeEntoAvailability
value=double
/>
Documentation (element)
Units: Proportion
Relative availability of non-human hosts of type i to other non-human hosts; the sum of this across all non-human hosts must be 1.
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Probability of mosquito successfully biting host
→ scenario → entomology → vector → anopheles → nonHumanHosts → mosqProbBiting
<mosqProbBiting
value=double
/>
Documentation (element)
Units: Proportion
Probability of mosquito successfully biting host
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Probability that the mosquito escapes host and finds a resting place after biting
→ scenario → entomology → vector → anopheles → nonHumanHosts → mosqProbFindRestSite
<mosqProbFindRestSite
value=double
/>
Documentation (element)
Units: Proportion
Probability that the mosquito escapes host and finds a resting place after biting
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Probability of mosquito successfully resting after finding a resting site
→ scenario → entomology → vector → anopheles → nonHumanHosts → mosqProbResting
<mosqProbResting
value=double
/>
Documentation (element)
Units: Proportion
Probability of mosquito successfully resting after finding a resting site
Attributes
Input parameter value
value=double
A double-precision floating-point value.
nonHumanHosts
→ scenario → entomology → vector → nonHumanHosts
<nonHumanHosts
name=string
number=double
/>
Attributes
Species of alternative host
name=string
Name of this species of non human hosts (must match up with those described per anopheles section).
Population size of alternative host species
number=double
Units: Number
Population size of this non-human host.
Parasite genetics
<parasiteGenetics
samplingMode=("initial" or "tracking")
>
IN THIS ORDER:
| ( <locus ... /> )+
</parasiteGenetics>
Documentation (element)
A specification of genotypes of infection parasites.
May be omitted; in this case there is no modelling of genetic differences of infections (resistance, fitness).
Attributes
samplingMode
samplingMode=("initial" or "tracking")
This controls how genotypes are determined for new infections during the intervention period. Prior to this (in initialisation phases), genotypes are always sampled using the specified initial frequencies. Mode "initial" continues to sample genotypes using initial frequencies (i.e. independent of the success of parent generations of parasites). Mode "tracking" samples genotypes based on the success parent generations of parasites have in infecting mosquitoes, tracked per genotype. It is possible that in the future a recombination option will be added to this list, however designing a suitable model is not trivial.
Locus
→ scenario → parasiteGenetics → locus
<locus
name=string
>
IN THIS ORDER:
| ( <allele ... /> )+
</locus>
Documentation (element)
Describes a locus, or a point at which an infection may vary. The genotype of an infection is determined by choosing one allele at each locus. Initial frequencies of alleles are specified independently for each locus, but subsequent infections are selected according to success of genotypes.
Alleles at loci can affect fitness and resistance to any number of drugs.
Attributes
Name of locus
name=string
Name of the Locus
Allele
→ scenario → parasiteGenetics → locus → allele
<allele
name=string
initialFrequency=double
fitness=double
/>
Documentation (element)
Describes an allele, or one possible genetic option of multiple at one point of variance.
Attributes
Name
name=string
Name of the allele; used to refer to it elsewhere.
Initial frequency
initialFrequency=double
Specification of how commonly this allele occurs during warmup relative to other alleles of the same locus. During the simulation's initialisation phases, the frequency at which each allele of each locus occurs is fixed. After the initialisation phase, frequency of alleles is modelled as an emergent property of the success of genotypes.
Fitness factor
fitness=double
Fitness factor of the allele. This is multiplication factor used to speed up or slow down replication of parasites. For example, if a genotype has an allele with a fitness factor of 1 at one locus and another allele with a fitness factor of 0.8 at a second locus, then the parasites with the genotype will replicate 20% slower than the baseline.
Drug parameters (PK, PD and usage)
→ scenario → pharmacology
<pharmacology>
IN THIS ORDER:
| <treatments ... />
| <drugs ... />
</pharmacology>
Documentation (element)
Drug model parameters and drug usage parameters
Documentation (type)
A library of drug related data for the PK/PD model.
Treatments library
→ scenario → pharmacology → treatments
<treatments>
IN THIS ORDER:
| ( <schedule ... /> )+
| ( <dosages ... /> )+
</treatments>
Documentation (element)
A library of drug deployment schedules and dosages.
schedule
→ scenario → pharmacology → treatments → schedule
<schedule
name=string
>
IN THIS ORDER:
| ( <medicate ... /> )*
</schedule>
Documentation (type)
A schedule for the administration of drugs in a course of treatment.
Note that dose sizes are multiplied by some multiplier (see dosages) and the times of all doses may be delayed.
Attributes
Name
name=string
Name for referring to this deployment schedule
medicate
→ scenario → pharmacology → treatments → schedule → medicate
<medicate
drug=string
mg=double
hour=double
/>
Attributes
drug
drug=string
Abbreviated name of drug compound
Drug dose (mg with multiplier)
mg=double
Units: mg per something
Quantity of drug compound in mg per something. A separate dosage table must be used when medicating, which may specify multipliers of this number based on patient age or weight.
Time of administration
hour=double
Units: Hours Min: 0
Number of hours past start of timestep this drug dose is administered at (first dose should be at hour 0).
dosages
→ scenario → pharmacology → treatments → dosages
<dosages
name=string
>
IN THIS ORDER:
| EXACTLY ONE OF:
| | ( <age ... /> )+
| | ( <bodymass ... /> )+
| | <multiply ... />
</dosages>
Documentation (type)
A table for selecting a dose size given an age.
Categories must uniquely cover all ages from birth, with no upper bound. Categories must be listed in order of age, increasing; the first must have lower bound 0. Upper bounds are equal to the lower bound of the next category, (but are exclusive where lower bounds are inclusive); the last category has no upper bound.
Attributes
Name
name=string
Name for referring to this dosage table
age
→ scenario → pharmacology → treatments → dosages → age
<age
lowerbound=double
dose_mult=double
/>
Documentation (type)
Gives a dose multiplier for an age or body mass range.
Attributes
Lower bound (inclusive)
lowerbound=double
Units: years Min: 0
Dose multiplier
dose_mult=double
Min: 0
The dose size given in the schedule (in mg) is multiplied by this value for patients falling into this age range when this dosage table is used.
bodymass
→ scenario → pharmacology → treatments → dosages → bodymass
<bodymass
lowerbound=double
dose_mult=double
/>
Documentation (type)
Gives a dose multiplier for an age or body mass range.
Attributes
Lower bound (inclusive)
lowerbound=double
Units: years Min: 0
Dose multiplier
dose_mult=double
Min: 0
The dose size given in the schedule (in mg) is multiplied by this value for patients falling into this age range when this dosage table is used.
Multiply dose
→ scenario → pharmacology → treatments → dosages → multiply
<multiply
by=("kg")
/>
Documentation (element)
Multiply the dose by some quantity, such as patient weight.
Attributes
By what?
by=("kg")
Quantity to multiply the dose by. Only option is "kg" (patient weight in kg).
Drug library
→ scenario → pharmacology → drugs
<drugs>
IN THIS ORDER:
| ( <drug ... /> )+
</drugs>
Documentation (element)
A library of drug PK/PD data.
drug
→ scenario → pharmacology → drugs → drug
<drug
abbrev=string
>
IN THIS ORDER:
| <PD ... />
| <PK ... />
</drug>
Documentation (type)
A drug description with PK/PD parameters.
Attributes
abbrev
abbrev=string
PD
→ scenario → pharmacology → drugs → drug → PD
<PD
[ locus=string ]
>
IN THIS ORDER:
| ( <phenotype ... /> )+
</PD>
Attributes
Locus
locus=string
Optional; if present specifies the locus corresponding to this drug's PD phenotypes: each phenotype must then match one of that locus's alleles. Otherwise the drug should specify only one phenotype. There is currently a one-to-many correspondance between loci and drugs.
PD parameters for some allele / resistance phenotype
→ scenario → pharmacology → drugs → drug → PD → phenotype
<phenotype
[ name=string ]
>
IN THIS ORDER:
| ( <restriction ... /> )*
| <max_killing_rate ... />
| <IC50 ... />
| <slope ... />
</phenotype>
Documentation (element)
Pharmaco-Dynamic parameters for some resistance phenotype.
To model resistance to this drug, describe multiple infection phenotypes (with respect to these PD parameters) and list one or more "restrict" elements for each phenotype.
Loci are specified elsewhere. Multiple loci may influence the action of a single drug and each locus may influence multiple drugs.
Attributes
Name of phenotype
name=string
Name of the phenotype; for documentation use only.
Restrict phenotype applicability to certain alleles
→ scenario → pharmacology → drugs → drug → PD → phenotype → restriction
<restriction
onLocus=string
toAllele=string
/>
Documentation (element)
Specifies the mapping from genotype to phenotype. For each drug type, if only one phenotype is present, restrictions need not be specified, but otherwise restrictions must be specified.
The set of loci affecting phenotypes of this drug's action must be fixed for any drug type. Each phenotype must list, for each of these loci, a restriction to one or more alleles under the locus.
Attributes
Locus relevant to the mapping of alleles to this phenotype
onLocus=string
A locus under which only a restricted set of alleles map to this phenotype.
Alleles mapping to this phenotype
toAllele=string
One allele of a locus upon which phenotype choice depends. If multiple alleles under this locus should map to the same phenotype, repeat the whole "restriction onLocus..." element.
Maximal parasite killing rate
→ scenario → pharmacology → drugs → drug → PD → phenotype → max_killing_rate
<max_killing_rate>
double
</max_killing_rate>
Documentation (element)
Units: 1/days Min: 0
k1 — Maximal parasite killing rate.
IC50
→ scenario → pharmacology → drugs → drug → PD → phenotype → IC50
<IC50
[ sigma=double ] DEFAULT VALUE 0
>
double
</IC50>
Documentation (element)
Units: mg/l Min: 0
Half maximal effect concentration. If sigma > 0, the IC50 is sampled for each infection from a log-normal distribution with mean of this value and the sigma value specified, i.e. X ~ log N( log(mean) - s^2 / 2, s^2 ) .
Attributes
Sigma parameter for per-infection variation of IC50
sigma=double
Default value: 0
Distribution parameter describing per-infection variation of IC50. If zero or not specified, the IC50 is not sampled. See documentation of parent element.
Slope of effect curve
→ scenario → pharmacology → drugs → drug → PD → phenotype → slope
<slope>
double
</slope>
Documentation (element)
Units: dimensionless
n — Slope of the concentration effect curve
PK
→ scenario → pharmacology → drugs → drug → PK
<PK>
IN THIS ORDER:
| <negligible_concentration ... />
| EXACTLY ONE OF:
| | <half_life ... />
| | IN THIS ORDER:
| | | <k ... />
| | | <m_exponent ... />
| [ <k_a ... /> ]
| [ <conversion ... /> ]
| <vol_dist ... />
| [ <compartment2 ... /> ]
| [ <compartment3 ... /> ]
</PK>
Drug concentration considered negligible
→ scenario → pharmacology → drugs → drug → PK → negligible_concentration
<negligible_concentration>
double
</negligible_concentration>
Documentation (element)
Units: mg/l Min: 0
Concentration below which drug's effects are deemed negligible and can be removed from simulation.
drug half-life
→ scenario → pharmacology → drugs → drug → PK → half_life
<half_life>
double
</half_life>
Documentation (element)
Units: days Min: 0
Used to calculate elimination rate λ, calculated as λ = ln(2) / half_life. The basic form of decay is C(t) = C0 * exp(-λ*t).
Alternatively, elimination rate can be specified via k and m_exponent.
Constant associated with elimination rate (k)
→ scenario → pharmacology → drugs → drug → PK → k
<k
mean=double
[ cv=double ]
distr=("lnorm" or "const")
/>
Documentation (element)
Units: day^-1 Min: 0
Constant used to calculate the elimination rate λ, which is calculated as λ = k / (body_mass ^ m_exponent), where body_mass is the patient's weight in kg and m_exponent is the next parameter. The basic form of decay is C(t) = C0 * exp(-λ*t).
If sigma > 0, k is sampled per-human from the log-normal distribution: ln N( ln(mean) - σ^2 / 2, σ^2).
Alternatively, elimination rate can be specified via half_life.
Documentation (type)
Parameters of some distribution. The mean is that provided and the standard deviation is cv*mean.
Log-normal: σ = cv * mean ; μ = ln(mean) - σ² / 2 ; X ~ ln N( μ, σ² ) ; equivalent R sample: rlnorm(1, log(mean) - ((cv * mean)^2) / 2, cv * mean).
Attributes
mean
mean=double
Units: (same as base units)
The mean of the distribution.
Coefficient of variance
cv=double
Units: unitless
Coefficient of variance (mean * cv gives standard deviation). Must be specified when distribution is not constant.
Distribution
distr=("lnorm" or "const")
Selects the distribution to use. const: constant (no distribution). Setting cv=0 has the same behaviour. lnorm: log-normal distribution
Constant associated with elimination rate (m_exponent)
→ scenario → pharmacology → drugs → drug → PK → m_exponent
<m_exponent>
double
</m_exponent>
Documentation (element)
Units: day^-1 Min: 0
Constant used to calculate the elimination rate λ, which is calculated as λ = k / (body_mass ^ m_exponent), where body_mass is the patient's weight in kg and k is the previous parameter. The basic form of decay is C(t) = C0 * exp(-λ*t).
Alternatively, elimination rate can be specified via half_life.
Note that in the case of a conversion model, this applies to both the elimination and the conversion rates.
Absorption rate constant (k_a)
→ scenario → pharmacology → drugs → drug → PK → k_a
<k_a
mean=double
[ cv=double ]
distr=("lnorm" or "const")
/>
Documentation (element)
Min: 0
Absorption rate parameter. Not allowed for one compartment models, but required for two and three compartment models and one compartment with conversion model (for the parent drug only).
Documentation (type)
Parameters of some distribution. The mean is that provided and the standard deviation is cv*mean.
Log-normal: σ = cv * mean ; μ = ln(mean) - σ² / 2 ; X ~ ln N( μ, σ² ) ; equivalent R sample: rlnorm(1, log(mean) - ((cv * mean)^2) / 2, cv * mean).
Attributes
mean
mean=double
Units: (same as base units)
The mean of the distribution.
Coefficient of variance
cv=double
Units: unitless
Coefficient of variance (mean * cv gives standard deviation). Must be specified when distribution is not constant.
Distribution
distr=("lnorm" or "const")
Selects the distribution to use. const: constant (no distribution). Setting cv=0 has the same behaviour. lnorm: log-normal distribution
Conversion parameters (parent drug)
→ scenario → pharmacology → drugs → drug → PK → conversion
<conversion>
IN ANY ORDER:
| <metabolite ... />
| <rate ... />
| <molRatio ... />
</conversion>
Documentation (element)
Configures the parent drug in a conversion model.
To use a conversion model, the parent drug should have this section defined as well as half-life or k (direct elimination; this may be zero) and k_a (absorption rate; this may be large).
The metabolite drug should define half-life or k (elimination of metabolite), but not k_a (absorption rate) or this section (conversion). It is not possible for the metabolite to itself undergo conversion with the current models.
Metabolite drug (abbreviation)
→ scenario → pharmacology → drugs → drug → PK → conversion → metabolite
<metabolite>
string
</metabolite>
Documentation (element)
The abbreviation of the metabolite drug (e.g. "DHA" or "DHA_AR").
Rate of conversion
→ scenario → pharmacology → drugs → drug → PK → conversion → rate
<rate
mean=double
[ cv=double ]
distr=("lnorm" or "const")
/>
Documentation (element)
Rate of conversion of parent drug to metabolite.
Documentation (type)
Parameters of some distribution. The mean is that provided and the standard deviation is cv*mean.
Log-normal: σ = cv * mean ; μ = ln(mean) - σ² / 2 ; X ~ ln N( μ, σ² ) ; equivalent R sample: rlnorm(1, log(mean) - ((cv * mean)^2) / 2, cv * mean).
Attributes
mean
mean=double
Units: (same as base units)
The mean of the distribution.
Coefficient of variance
cv=double
Units: unitless
Coefficient of variance (mean * cv gives standard deviation). Must be specified when distribution is not constant.
Distribution
distr=("lnorm" or "const")
Selects the distribution to use. const: constant (no distribution). Setting cv=0 has the same behaviour. lnorm: log-normal distribution
Molecular weight ratio
→ scenario → pharmacology → drugs → drug → PK → conversion → molRatio
<molRatio>
double
</molRatio>
Documentation (element)
Ratio of molecular weights: molecular weight of the metabolite divided by molecular weight of the parent.
Volume of Distribution (Vd)
→ scenario → pharmacology → drugs → drug → PK → vol_dist
<vol_dist
[ sigma=double ] DEFAULT VALUE 0
>
double
</vol_dist>
Documentation (element)
Units: l/kg Min: 0
Volume of Distribution
Attributes
Sigma parameter for per-human variation of Vd
sigma=double
Default value: 0
Distribution parameter describing per-human variation of volume of distribution. If zero or not specified, the parameter is not sampled. See documentation of parent element.
Second compartment parameters
→ scenario → pharmacology → drugs → drug → PK → compartment2
<compartment2>
IN ANY ORDER:
| <a12 ... />
| <a21 ... />
</compartment2>
Documentation (element)
Optional element specifying conversion parameters to- and from- a second compartment.
Absorption rate to compartment 2 (a12)
→ scenario → pharmacology → drugs → drug → PK → compartment2 → a12
<a12
mean=double
[ cv=double ]
distr=("lnorm" or "const")
/>
Documentation (element)
Units: day^-1 Min: 0
Absorption rate from the central compartment to the first periphery compartment (2). The parameter k12 = a12 / m where m is the body mass (kg).
It is sampled per-patient when sigma > 0.
Documentation (type)
Parameters of some distribution. The mean is that provided and the standard deviation is cv*mean.
Log-normal: σ = cv * mean ; μ = ln(mean) - σ² / 2 ; X ~ ln N( μ, σ² ) ; equivalent R sample: rlnorm(1, log(mean) - ((cv * mean)^2) / 2, cv * mean).
Attributes
mean
mean=double
Units: (same as base units)
The mean of the distribution.
Coefficient of variance
cv=double
Units: unitless
Coefficient of variance (mean * cv gives standard deviation). Must be specified when distribution is not constant.
Distribution
distr=("lnorm" or "const")
Selects the distribution to use. const: constant (no distribution). Setting cv=0 has the same behaviour. lnorm: log-normal distribution
Absorption rate from compartment 2 (a21)
→ scenario → pharmacology → drugs → drug → PK → compartment2 → a21
<a21
mean=double
[ cv=double ]
distr=("lnorm" or "const")
/>
Documentation (element)
Units: day^-1 Min: 0
Absorption rate from the first periphery compartment (2) to the central compartment. The parameter k21 = a21 / m where m is the body mass (kg).
It is sampled per-patient when sigma > 0.
Documentation (type)
Parameters of some distribution. The mean is that provided and the standard deviation is cv*mean.
Log-normal: σ = cv * mean ; μ = ln(mean) - σ² / 2 ; X ~ ln N( μ, σ² ) ; equivalent R sample: rlnorm(1, log(mean) - ((cv * mean)^2) / 2, cv * mean).
Attributes
mean
mean=double
Units: (same as base units)
The mean of the distribution.
Coefficient of variance
cv=double
Units: unitless
Coefficient of variance (mean * cv gives standard deviation). Must be specified when distribution is not constant.
Distribution
distr=("lnorm" or "const")
Selects the distribution to use. const: constant (no distribution). Setting cv=0 has the same behaviour. lnorm: log-normal distribution
Third compartment parameters
→ scenario → pharmacology → drugs → drug → PK → compartment3
<compartment3>
IN ANY ORDER:
| <a13 ... />
| <a31 ... />
</compartment3>
Documentation (element)
Optional element specifying conversion parameters to- and from- a third compartment.
Absorption rate to compartment 3 (a13)
→ scenario → pharmacology → drugs → drug → PK → compartment3 → a13
<a13
mean=double
[ cv=double ]
distr=("lnorm" or "const")
/>
Documentation (element)
Units: day^-1 Min: 0
Absorption rate from the central compartment to the second periphery compartment (3). The parameter k13 = a13 / m where m is the body mass (kg).
It is sampled per-patient when sigma > 0.
Documentation (type)
Parameters of some distribution. The mean is that provided and the standard deviation is cv*mean.
Log-normal: σ = cv * mean ; μ = ln(mean) - σ² / 2 ; X ~ ln N( μ, σ² ) ; equivalent R sample: rlnorm(1, log(mean) - ((cv * mean)^2) / 2, cv * mean).
Attributes
mean
mean=double
Units: (same as base units)
The mean of the distribution.
Coefficient of variance
cv=double
Units: unitless
Coefficient of variance (mean * cv gives standard deviation). Must be specified when distribution is not constant.
Distribution
distr=("lnorm" or "const")
Selects the distribution to use. const: constant (no distribution). Setting cv=0 has the same behaviour. lnorm: log-normal distribution
Absorption rate from compartment 3 (a31)
→ scenario → pharmacology → drugs → drug → PK → compartment3 → a31
<a31
mean=double
[ cv=double ]
distr=("lnorm" or "const")
/>
Documentation (element)
Units: day^-1 Min: 0
Absorption rate from the second periphery compartment (3) to the central compartment. The parameter k31 = a31 / m where m is the body mass (kg).
It is sampled per-patient when sigma > 0.
Documentation (type)
Parameters of some distribution. The mean is that provided and the standard deviation is cv*mean.
Log-normal: σ = cv * mean ; μ = ln(mean) - σ² / 2 ; X ~ ln N( μ, σ² ) ; equivalent R sample: rlnorm(1, log(mean) - ((cv * mean)^2) / 2, cv * mean).
Attributes
mean
mean=double
Units: (same as base units)
The mean of the distribution.
Coefficient of variance
cv=double
Units: unitless
Coefficient of variance (mean * cv gives standard deviation). Must be specified when distribution is not constant.
Distribution
distr=("lnorm" or "const")
Selects the distribution to use. const: constant (no distribution). Setting cv=0 has the same behaviour. lnorm: log-normal distribution
Diagnostic parameters
→ scenario → diagnostics
<diagnostics>
IN THIS ORDER:
| ( <diagnostic ... /> )*
</diagnostics>
Documentation (element)
Diagnostic model parameters
diagnostic
→ scenario → diagnostics → diagnostic
<diagnostic
name=string
[ units=("Other" or "Garki" or "Malariatherapy") ]
>
IN THIS ORDER:
| EXACTLY ONE OF:
| | <deterministic ... />
| | <stochastic ... />
</diagnostic>
Attributes
Name of diagnostic
name=string
Name of this diagnostic (parameterisation). May be used elsewhere in the XML document to refer to this set of diagnostic parameters.
Parasite density units / methodology
units=("Other" or "Garki" or "Malariatherapy")
Parasite densities, as estimated according to standard microscopy methods, the Garki method, and as derived from Malariatherapy data are not equivalent. Internally, a "bias" factor is used to convert values estimated by one methods to values comparable with another (see AJTMHv75 supplement 2 pp20-21). This option allows specification of which methodology the density given in the diagnostic specification is measured with. Values allowed are: Malariatherapy, Garki and Other. If not specified, Other is assumed, unless the GARKI_DENSITY_BIAS model option is used, in which case this option must be specified.
Deterministic detection
→ scenario → diagnostics → diagnostic → deterministic
<deterministic
minDensity=double
/>
Documentation (element)
Specify that an artificial deterministic test is used: outcome is positive if parasite density is at least the minimum given.
Attributes
Minimum detectible density
minDensity=double
Units: parasites/microlitre Min: 0
The minimum density at which parasites can be detected. If 0, the test outcome is always positive.
Non-deterministic detection
→ scenario → diagnostics → diagnostic → stochastic
<stochastic
dens_50=double
specificity=double
/>
Documentation (element)
An improved model of detection which is non-deterministic, including false positive results as well as false negatives.
The probability of a positive outcome is modelled as 1 + s×(x/(x+d) - 1) where x is the parasite density, d is the density at which the test outcome has a 50% chance of being positive, and s is the probability of a positive outcome given no parasites (the specificity).
Some parameterisations:
Microscopy sensitivity/specificity data in Africa; Source: expert opinion — Allan Schapira dens_50 = 20.0 specificity = .75
RDT sensitivity/specificity for Plasmodium falciparum in Africa Source: Murray et al (Clinical Microbiological Reviews, Jan. 2008) dens_50 = 50.0; specificity = .942;
Attributes
Density 50
dens_50=double
Units: parasites/microlitre Min: 0
The density at which the test outcome has a 50% chance of being positive.
Specificity
specificity=double
Units: Dimensionless Min: 0 Max: 1
The probability of a positive test outcome in the absense of parasites.
Model options and parameters
<model>
IN ANY ORDER:
| <ModelOptions ... />
| <clinical ... />
| <human ... />
| [ <vivax ... /> ]
| <parameters ... />
</model>
Documentation (element)
Encapsulation of all parameters which describe the model according to which fitting is done.
Model Options
→ scenario → model → ModelOptions
<ModelOptions>
IN THIS ORDER:
| ( <option ... /> )*
</ModelOptions>
Documentation (element)
All model options (bug fixes, choices between models, etc.).
The list of recognised options can be found in the code at:
model/util/ModelOptions.h and should also be in the wiki.
clinical
<clinical
healthSystemMemory=string
>
IN ANY ORDER:
| [ <NeonatalMortality ... /> ]
| [ <NonMalariaFevers ... /> ]
</clinical>
Documentation (type)
Description of clinical parameters that are related to the health-system description, but which contain data that cannot be changed as part of an intervention and that are not restricted to treatment.
Attributes
Follow-up period during which recurrence is considered a treatment failure
healthSystemMemory=string
Units: User-defined (defaults to steps)
Follow-up period during which a recurrence is considered to be a treatment failure Can be specified in steps (e.g. 6t) or days (e.g. 28d).
Neonatal mortality parameters
→ scenario → model → clinical → NeonatalMortality
<NeonatalMortality
diagnostic=string
/>
Attributes
Diagnostic used to parameterise model
diagnostic=string
The name of a diagnostic used to parameterise the model. Neonatal mortality is derived from malaria patency of a certain sub-population of humans. This is the diagnostic used to asses patency for this purpose. If this is not specified, the monitoring diagnostic is used.
NonMalariaFevers
→ scenario → model → clinical → NonMalariaFevers
<NonMalariaFevers>
IN THIS ORDER:
| <incidence ... />
| [ <prNeedTreatmentNMF ... /> ]
| [ <prNeedTreatmentMF ... /> ]
</NonMalariaFevers>
Documentation (type)
Description of the incidence of non-malaria fever. Non-malaria fevers are only modelled if the NON_MALARIA_FEVERS option is used.
P(NMF)
→ scenario → model → clinical → NonMalariaFevers → incidence
<incidence
[ interpolation=("none" or "linear") ]
>
IN THIS ORDER:
| ( <group ... /> )+
</incidence>
Documentation (element)
Units: Dimensionless Min: 0.0 Max: 1.0
Probability that a non-malaria fever occurs given that no concurrent malaria fever occurs.
Attributes
interpolation
interpolation=("none" or "linear")
Interpolation algorithm. Normally it is desirable for age-based values to be continuous w.r.t. age. By default linear interpolation is used. With all algorithms except "none", the age groups are converted to a set of points centred within each age range. Extra points are added at each end (zero and infinity) to keep value constant at both ends of the function. A zero-length age group may be used as a kind of barrier to adjust the distribution; e.g. with age group boundaries at 15, 20 and 25 years, a (linear) spline would be drawn between ages 17.5 and 22.5, whereas with boundaries at 15, 20 and 20 years, a spline would be drawn between ages 17.5 and 20 years (may be desired if individuals are assumed to reach adult size at 20). Algorithms:
- none: input values are used directly
- linear: straight lines (on an age vs. value graph) are used to interpolate data points.
P(need treatment | NMF)
→ scenario → model → clinical → NonMalariaFevers → prNeedTreatmentNMF
<prNeedTreatmentNMF
[ interpolation=("none" or "linear") ]
>
IN THIS ORDER:
| ( <group ... /> )+
</prNeedTreatmentNMF>
Documentation (element)
Units: Dimensionless Min: 0 Max: 1
Probability that a non-malarial fever requires treatment with antibiotics (assuming fever is not induced by malaria, although concurrent parasites may be present).
Attributes
interpolation
interpolation=("none" or "linear")
Interpolation algorithm. Normally it is desirable for age-based values to be continuous w.r.t. age. By default linear interpolation is used. With all algorithms except "none", the age groups are converted to a set of points centred within each age range. Extra points are added at each end (zero and infinity) to keep value constant at both ends of the function. A zero-length age group may be used as a kind of barrier to adjust the distribution; e.g. with age group boundaries at 15, 20 and 25 years, a (linear) spline would be drawn between ages 17.5 and 22.5, whereas with boundaries at 15, 20 and 20 years, a spline would be drawn between ages 17.5 and 20 years (may be desired if individuals are assumed to reach adult size at 20). Algorithms:
- none: input values are used directly
- linear: straight lines (on an age vs. value graph) are used to interpolate data points.
P(need treatment | MF)
→ scenario → model → clinical → NonMalariaFevers → prNeedTreatmentMF
<prNeedTreatmentMF
[ interpolation=("none" or "linear") ]
>
IN THIS ORDER:
| ( <group ... /> )+
</prNeedTreatmentMF>
Documentation (element)
Units: Dimensionless Min: 0 Max: 1
Probability that a malaria fever needs treatment with antibiotics (assuming fever is induced by malaria, although concurrent bacteria may be present).
Meaning partially overlaps with separate model for comorbidity given malaria.
Attributes
interpolation
interpolation=("none" or "linear")
Interpolation algorithm. Normally it is desirable for age-based values to be continuous w.r.t. age. By default linear interpolation is used. With all algorithms except "none", the age groups are converted to a set of points centred within each age range. Extra points are added at each end (zero and infinity) to keep value constant at both ends of the function. A zero-length age group may be used as a kind of barrier to adjust the distribution; e.g. with age group boundaries at 15, 20 and 25 years, a (linear) spline would be drawn between ages 17.5 and 22.5, whereas with boundaries at 15, 20 and 20 years, a spline would be drawn between ages 17.5 and 20 years (may be desired if individuals are assumed to reach adult size at 20). Algorithms:
- none: input values are used directly
- linear: straight lines (on an age vs. value graph) are used to interpolate data points.
human
<human>
IN THIS ORDER:
| <availabilityToMosquitoes ... />
| [ <weight ... /> ]
</human>
Documentation (type)
Parameters of host models.
Availability to mosquitoes
→ scenario → model → human → availabilityToMosquitoes
<availabilityToMosquitoes
[ interpolation=("none" or "linear") ]
>
IN THIS ORDER:
| ( <group ... /> )+
</availabilityToMosquitoes>
Documentation (element)
Units: None Min: 0 Max: 1
Availability of humans to mosquitoes relative to an adult, categorized by age group
Attributes
interpolation
interpolation=("none" or "linear")
Interpolation algorithm. Normally it is desirable for age-based values to be continuous w.r.t. age. By default linear interpolation is used. With all algorithms except "none", the age groups are converted to a set of points centred within each age range. Extra points are added at each end (zero and infinity) to keep value constant at both ends of the function. A zero-length age group may be used as a kind of barrier to adjust the distribution; e.g. with age group boundaries at 15, 20 and 25 years, a (linear) spline would be drawn between ages 17.5 and 22.5, whereas with boundaries at 15, 20 and 20 years, a spline would be drawn between ages 17.5 and 20 years (may be desired if individuals are assumed to reach adult size at 20). Algorithms:
- none: input values are used directly
- linear: straight lines (on an age vs. value graph) are used to interpolate data points.
Weight
→ scenario → model → human → weight
<weight
[ interpolation=("none" or "linear") ]
multStdDev=double
>
IN THIS ORDER:
| ( <group ... /> )+
</weight>
Documentation (element)
Units: kg Min: 0
By age group data on human weight (mass).
Attributes
interpolation
interpolation=("none" or "linear")
Interpolation algorithm. Normally it is desirable for age-based values to be continuous w.r.t. age. By default linear interpolation is used. With all algorithms except "none", the age groups are converted to a set of points centred within each age range. Extra points are added at each end (zero and infinity) to keep value constant at both ends of the function. A zero-length age group may be used as a kind of barrier to adjust the distribution; e.g. with age group boundaries at 15, 20 and 25 years, a (linear) spline would be drawn between ages 17.5 and 22.5, whereas with boundaries at 15, 20 and 20 years, a spline would be drawn between ages 17.5 and 20 years (may be desired if individuals are assumed to reach adult size at 20). Algorithms:
- none: input values are used directly
- linear: straight lines (on an age vs. value graph) are used to interpolate data points.
Standard deviation
multStdDev=double
Units: None Min: 0
Each human is assigned a weight multiplier from a normal distribution with mean 1 and this standard deviation at birth. His/her weight is this multiplier times the mean from age distribution. A standard deviation of zero for no heterogeneity is valid; a rough value from Tanzanian data is 0.14.
vivax
<vivax>
IN ANY ORDER:
| <probBloodStageInfectiousToMosq ... />
| <hypnozoiteRelease ... />
| <bloodStageProtectionLatency ... />
| <bloodStageLengthDays ... />
| <clinicalEvents ... />
</vivax>
- probBloodStageInfectiousToMosq
- hypnozoiteRelease
- bloodStageProtectionLatency
- bloodStageLengthDays
- clinicalEvents
probBloodStageInfectiousToMosq
→ scenario → model → vivax → probBloodStageInfectiousToMosq
<probBloodStageInfectiousToMosq
value=double
/>
Attributes
Input parameter value
value=double
A double-precision floating-point value.
hypnozoiteRelease
→ scenario → model → vivax → hypnozoiteRelease
<hypnozoiteRelease
[ pSecondRelease=double ] DEFAULT VALUE 0
>
IN ANY ORDER:
| <numberHypnozoites ... />
| <firstRelease ... />
| [ <secondRelease ... /> ]
</hypnozoiteRelease>
Documentation (type)
This element defines probabilites when and how many hypnozoites are released from the liverstage into the blood.
The gap between the start of a new brood of hypnozoites and its release are defined as follows:
latentP + latentRelapseDays + randomReleaseDelay
randomReleaseDelay is based on one or two lognormal distributions, which are defined in firstRelease and optionally secondRelease.
You can define 2 release distributions, which get added together and represent the probability of hypnozoites which get released before winter (first release) or after (second release).
You can omit the secondRelease element if no release to the blood happens after winter.
Attributes
latent relapse days
pSecondRelease=double
Default value: 0
Probability of a second release. If undefined it is zero.
Number of Hypnozoites
→ scenario → model → vivax → hypnozoiteRelease → numberHypnozoites
<numberHypnozoites
max=int
base=double
/>
Documentation (element)
numberHypnozoites calculates the number of hypnozoites in the liver stage based on a base which is between 0 and 1.
This number is random based on the following distribution and normalized:
max ∑ (base ^ n) n = 0
Attributes
max
max=int
base
base=double
firstRelease
→ scenario → model → vivax → hypnozoiteRelease → firstRelease
<firstRelease
mu=double
sigma=double
latentRelapseDays=int
/>
Documentation (base type)
Parameters of a normal distribution.
Variates are sampled as: X ~ N( mu, sigma² ).
Attributes
mu
mu=double
Units: (same as base units)
The mean of the normal distribution.
sigma
sigma=double
Units: (same as base units)
The standard deviation of variates.
latent relapse days
latentRelapseDays=int
Usually 15 days or 10 days (3 or 2 5-day timesteps).
secondRelease
→ scenario → model → vivax → hypnozoiteRelease → secondRelease
<secondRelease
mu=double
sigma=double
latentRelapseDays=int
/>
Documentation (base type)
Parameters of a normal distribution.
Variates are sampled as: X ~ N( mu, sigma² ).
Attributes
mu
mu=double
Units: (same as base units)
The mean of the normal distribution.
sigma
sigma=double
Units: (same as base units)
The standard deviation of variates.
latent relapse days
latentRelapseDays=int
Usually 15 days or 10 days (3 or 2 5-day timesteps).
bloodStageProtectionLatency
→ scenario → model → vivax → bloodStageProtectionLatency
<bloodStageProtectionLatency
value=double
/>
Attributes
Input parameter value
value=double
A double-precision floating-point value.
bloodStageLengthDays
→ scenario → model → vivax → bloodStageLengthDays
<bloodStageLengthDays
weibullScale=double
weibullShape=double
/>
Attributes
weibullScale
weibullScale=double
weibullShape
weibullShape=double
clinicalEvents
→ scenario → model → vivax → clinicalEvents
<clinicalEvents>
IN THIS ORDER:
| <pPrimaryInfection ... />
| <pRelapseOne ... />
| <pRelapseTwoPlus ... />
| <pEventIsSevere ... />
</clinicalEvents>
Documentation (type)
This elements holds all information about probabilites for clinical events from infections and relapses.
pPrimaryInfection
→ scenario → model → vivax → clinicalEvents → pPrimaryInfection
<pPrimaryInfection
a=double
b=double
/>
Attributes
a
a=double
b
b=double
pRelapseOne
→ scenario → model → vivax → clinicalEvents → pRelapseOne
<pRelapseOne
a=double
b=double
/>
Attributes
a
a=double
b
b=double
pRelapseTwoPlus
→ scenario → model → vivax → clinicalEvents → pRelapseTwoPlus
<pRelapseTwoPlus
a=double
b=double
/>
Attributes
a
a=double
b
b=double
pEventIsSevere
→ scenario → model → vivax → clinicalEvents → pEventIsSevere
<pEventIsSevere
value=double
/>
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Parameters of the model of epidemiology
→ scenario → model → parameters
<parameters
interval=int
iseed=int
latentp=string
>
IN THIS ORDER:
| ( <parameter ... /> )+
</parameters>
Documentation (element)
Parameters of the epidemiological model
Attributes
Simulation step
interval=int
Units: Days
Simulation step
Random number seed
iseed=int
Units: Number
Seed for RNG
Pre-erythrocytic latent period
latentp=string
Units: User defined (default: steps) Min: 0 Max: 20
Pre-erythrocytic latent period Can be specified in steps (e.g. 3t) or days (e.g. 15d).
parameter
→ scenario → model → parameters → parameter
<parameter
[ name=string ]
number=int
value=double
[ include=boolean ]
/>
Attributes
Name of parameter
name=string
Units: string
Name of parameter
Parameter number
number=int
Units: Number Min: 1 Max: 100
Reference number of input parameter
Parameter value
value=double
Units: Number Min: 0
Parameter value
Sampling indicator
include=boolean
Units: Number Min: 0 Max: 1
True if parameter is to be sampled in optimization runs. Not used in simulator app.
Schema 34 documentation
Generated from: scenario_34.xsd
.
Key:
abc required (one)
[ def ] optional (zero or one)
( ghi )* any number (zero or more)
( jkl )+ at least one
( mno ){2,inf} two or more occurrences
Scenario
→ scenario
<scenario
schemaVersion=int
[ analysisNo=int ]
name=string
[ wuID=int ]
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:om="http://openmalaria.org/schema/scenario_34"
xsi:schemaLocation="http://openmalaria.org/schema/scenario_34 scenario_34.xsd"
>
IN ANY ORDER:
| <demography ... />
| <monitoring ... />
| <interventions ... />
| <healthSystem ... />
| <entomology ... />
| [ <parasiteGenetics ... /> ]
| [ <pharmacology ... /> ]
| [ <diagnostics ... /> ]
| <model ... />
</scenario>
- demography
- monitoring
- interventions
- healthSystem
- entomology
- parasiteGenetics
- pharmacology
- diagnostics
- model
Documentation (element)
Description of scenario
Attributes
Version of the xml schema
schemaVersion=int
Version of xml schema. If not equal to the current version an error is thrown. Use SchemaTranslator to update xml files.
Reference number of the analysis
analysisNo=int
Units: Number Min: 1 Max: 100000000
Unique identifier of scenario
Name of intervention
name=string
Name of intervention
Work unit identifier
wuID=int
Units: Number
Work unit ID. Obselete and no longer required.
Human age distribution
→ scenario → demography
<demography
name=string
popSize=int
maximumAgeYrs=double
[ growthRate=double ]
>
IN THIS ORDER:
| <ageGroup ... />
</demography>
Documentation (element)
Description of demography
Attributes
Name of demography data
name=string
Name of demography data
Population size
popSize=int
Units: Count Min: 1 Max: 100000
Population size
Maximum age of simulated humans
maximumAgeYrs=double
Units: Years Min: 0 Max: 100
Maximum age of simulated humans in years
Growth rate of human population
growthRate=double
Units: Number Min: 0 Max: 0
Growth rate of human population. (we should be able to implement this with non-zero values)
Age groups
→ scenario → demography → ageGroup
<ageGroup
lowerbound=double
>
IN THIS ORDER:
| ( <group ... /> )+
</ageGroup>
Documentation (element)
list of age groups included in demography
Documentation (type)
list of age groups included in demography or surveys
Attributes
Lower bound of age group
lowerbound=double
Units: Years Min: 0 Max: 100
Lower bound of age group
group
→ scenario → demography → ageGroup → group
<group
poppercent=double
upperbound=double
/>
Attributes
Percentage in age group
poppercent=double
Units: Percentage Min: 0 Max: 100
Percentage of human population in age group
Upper bound of age group
upperbound=double
Units: Years Min: 0 Max: 100
Upper bound of age group
Measures to be reported
→ scenario → monitoring
<monitoring
name=string
[ startDate=string ]
>
IN THIS ORDER:
| [ <continuous ... /> ]
| <SurveyOptions ... />
| <surveys ... />
| <ageGroup ... />
| [ <cohorts ... /> ]
</monitoring>
Documentation (element)
Description of surveys
Attributes
Name of monitoring settings
name=string
Name of monitoring settings
Start of monitoring
startDate=string
An optional date for the start of monitoring. If given, dates may be used to specify when other events (surveys, intervention deployments) occur; alternately times relative to the start of the intervention period may be used to specify event times. Setting this to 1st January of some year might simplify usage of dates, and putting the start a couple of years before the start of intervention deployment (along with some extra surveys) may be useful to check transmission stabilises to the expected pre-intervention levels. As an example, if this date is set to 2000-01-01, then the following event times are equivalent (assuming 1t=5d): 15t, 75d, 0.2y, 2000-03-16. Must be in the form YYYY-MM-DD, e.g. 2003-01-01.
continuous
→ scenario → monitoring → continuous
<continuous
period=string
[ duringInit=boolean ]
>
IN THIS ORDER:
| ( <option ... /> )*
</continuous>
Attributes
Delay between reports
period=string
Units: User defined (default: steps)
Delay between reports; typically one time step but can be greater. Can be specified in steps (e.g. 1t) or days (e.g. 5d).
During initialization
duringInit=boolean
Units: Days Min: 1 Max: unbounded
Also output during initialization. By default this is disabled (only intervention-period data is output). This should not be used for predictions, but can be useful for model validation. In this mode, 'simulation time' is output as the first column (in addition to 'timestep'), since 'timestep' is dis- continuous across the start of the intervention period.
option
→ scenario → monitoring → continuous → option
<option
name=string
[ value=boolean ] DEFAULT VALUE true
/>
Attributes
Option name
name=string
Name of an option (monitoring measure or model option).
Indicator of whether option is required
value=boolean
Default value: true
Option on/off switch (true/false). Specifying value="true" is the same as not specifying a value; specifying value="false" explicitly turns the option off. If an option is not mentioned at all, it is left at its default value (normally off, but in a few cases, such as some bug-fix options, on).
Name of quantity
→ scenario → monitoring → SurveyOptions
<SurveyOptions>
IN THIS ORDER:
| ( <option ... /> )*
</SurveyOptions>
Documentation (element)
List of all active survey options. See model/mon/OutputMeasures.h for a list of supported outputs. Should also be on the wiki.
option
→ scenario → monitoring → SurveyOptions → option
<option
name=string
[ value=boolean ] DEFAULT VALUE true
[ outputNumber=int ]
[ byAge=boolean ]
[ byCohort=boolean ]
[ bySpecies=boolean ]
[ byGenotype=boolean ]
[ byDrugType=boolean ]
/>
Attributes
Option name
name=string
Name of an option (monitoring measure or model option).
Indicator of whether option is required
value=boolean
Default value: true
Option on/off switch (true/false). Specifying value="true" is the same as not specifying a value; specifying value="false" explicitly turns the option off. If an option is not mentioned at all, it is left at its default value (normally off, but in a few cases, such as some bug-fix options, on).
Number identifying measure in output
outputNumber=int
Number identifying this monitoring measure in the output file (3rd column). Normally this is determined from the measure, but it can be set manually, e.g. for when the same measure is recorded twice (to accumulate across different categories).
Report by age category
byAge=boolean
If true, the measure is reported for each age category. If false, values are summed across all age categories and only the sum reported. If not specified, separate categories will be reported if the measure supports this.
Report by cohort
byCohort=boolean
If true, the measure is reported for each cohort separately. If false, values are summed across all cohorts and only the sum reported. If not specified, separate categories will be reported if the measure supports this.
Report by mosquito species
bySpecies=boolean
If true, the measure is reported for each mosquito species separately. If false, values are summed across all species and only the sum reported. If not specified, separate categories will be reported if the measure supports this.
Report by parasite genotype
byGenotype=boolean
If true, the measure is reported for each parasite genotype separately. If false, values are summed across all genotypes and only the sum reported. If not specified, separate categories will be reported if the measure supports this.
Report by drug type
byDrugType=boolean
If true, the measure is reported for each drug type separately. If false, values are summed across all drug types and only the sum reported. If not specified, separate categories will be reported if the measure supports this.
Survey times (time steps)
→ scenario → monitoring → surveys
<surveys
[ detectionLimit=double ]
[ diagnostic=string ]
>
IN THIS ORDER:
| ( <surveyTime ... /> )+
</surveys>
Documentation (element)
List of survey times
Attributes
Detection limit for parasitaemia
detectionLimit=double
Units: parasites/microlitre Min: 0
Deprecated: limit above which a human's infection is reported as patent. Alternative: do not specify this; instead specify "diagnostic".
Name of monitoring diagnostic
diagnostic=string
Name of a parameterised diagnostic to use in surveys (see scenario/diagnostics).
Survey time
→ scenario → monitoring → surveys → surveyTime
<surveyTime
[ repeatStep=string ]
[ repeatEnd=string ]
>
string
</surveyTime>
Documentation (element)
Units: User defined (defaults to steps) Min: 0
Time of a survey. A report will be made for those measures enabled under SurveyOptions. Reported data is either from the moment the survey is done (immediate data) or is collected over the time since the previous survey, or in some cases over a fixed time span (usually one year).
Times can be specified in time steps, starting from 0, or as a date (see monitoring/startDate), or in days (e.g. 15d) or years (e.g. 1y). Relative times mean the time since the start of the intervention period, and must be non-negative (zero is valid, but some measures, e.g. nUncomp, will be zero).
The simulation ends immediately after the last survey is taken.
Attributes
Step of repetition
repeatStep=string
Units: User defined
See repeatEnd's documentation.
End of repetition (exclusive)
repeatEnd=string
Units: User defined
Either both repeatStep and repeatEnd should be present or neither. If present, the survey is repeated every repeatStep timesteps (i.e. if t0 is the initial time and x is repeatStep, surveys are done at times t0, t0+x, t0+2*x, ...), ending before repeatEnd (final repetition is the one before repeatEnd). Note that repeatEnd may be specified as a date but repeatStep must be a duration (days, steps or years).
Age groups
→ scenario → monitoring → ageGroup
<ageGroup
lowerbound=double
>
IN THIS ORDER:
| ( <group ... /> )+
</ageGroup>
Documentation (element)
List of age groups included in demography or surveys
Attributes
lower bound of age group
lowerbound=double
Units: Years Min: 0 Max: 100
Lower bound of age group
group
→ scenario → monitoring → ageGroup → group
<group
upperbound=double
/>
Attributes
upper bound of age group
upperbound=double
Units: Years Min: 0 Max: 100
Upper bound of age group
Cohorts
→ scenario → monitoring → cohorts
<cohorts>
IN THIS ORDER:
| ( <subPop ... /> )+
</cohorts>
Documentation (element)
Allows the configuration of multiple cohorts (output segregated according to membership within specific sub-populations).
If this element is omitted, monitoring surveys cover the entire simulated human population.
It does not affect the "continuous" outputs (these never take cohorts into account).
Sub-population
→ scenario → monitoring → cohorts → subPop
<subPop
id=string
number=integer
/>
Documentation (element)
Consider a certain sup-population a cohort, and segregate outputs according to membership. Where multiple sub-populations are listed, segregate output according to all combinations of membership: e.g. if sub-populations A and B are listed, there will be outputs for "member of A and B", "member of A but not B", "B but not A" and "not a member of A or B". Listing n sub-populations implies 2^n sets of outputs (each is further segregated by age groups, survey times and enabled output measures, which could lead to excessive program memory usage and output file size).
To identify outputs, each sub-population has a power of two number as identifier (see "number" attribute). Each of the 2^n output sets is identified by a number: the output set is the output from humans who are members in some set of sub-populations (S1, S2, ...) and not members in some others (T1, T2, ...); the number identifying the set is the sum of the numbers identifying the sets S1, S2, etc.
In the output file, the output set is identified by multiplying this number by 1000 then adding it to the age group column.
Attributes
Sub-population identifier
id=string
Textual identifier for the sub-population (i.e. for an intervention component, since sub-populations are defined as the hosts an intervention component is deployed to).
Sub-population number
number=integer
Units: dimensionless Min: 1 Max: 2097152
Number identifying a sub-population; used to define identifiers of output sets. This number must be a power of 2 (i.e. 1, 2, 4, 8, ...). See documentation of subPop element.
Preventative interventions
<interventions
name=string
>
IN ANY ORDER:
| [ <changeHS ... /> ]
| [ <changeEIR ... /> ]
| [ <importedInfections ... /> ]
| [ <insertR_0Case ... /> ]
| [ <uninfectVectors ... /> ]
| [ <vectorPop ... /> ]
| [ <human ... /> ]
</interventions>
Documentation (element)
List of interventions. Generally these are either point-time distributions of something to some subset of the population, or continuous-time distribution targetting individuals when they reach a certain age.
Attributes
Name of intervention set
name=string
Name of set of interventions
Change health system
→ scenario → interventions → changeHS
<changeHS
[ name=string ]
>
IN THIS ORDER:
| ( <timedDeployment ... /> )*
</changeHS>
Documentation (element)
Changes to the health system
Attributes
Name of intervention
name=string
Name of intervention
timedDeployment
→ scenario → interventions → changeHS → timedDeployment
<timedDeployment
time=string
>
IN THIS ORDER:
| EXACTLY ONE OF:
| | <EventScheduler ... />
| | <ImmediateOutcomes ... />
| | <DecisionTree5Day ... />
| <CFR ... />
| <pSequelaeInpatient ... />
</timedDeployment>
Documentation (type)
A complete replacement health system. Replaces all previous properties. (Health system can be replaced multiple times if necessary.)
Documentation (base type)
Description of case management system, used to specify the initial model or a replacement (an intervention). Encompasses case management data and some other data required to derive case outcomes.
Contains a sub-element describing the particular health-system in use. Health system data is here defined as data used to decide on a treatment strategy, given a case requiring treatment.
Attributes
Time
time=string
Units: User defined (defauls to steps) Min: 0
Time at which this replacement occurs. See doc on intervention period and on monitoring/startDate for details of how times work. Can be specified in steps, days, years, or as a date (examples: 15t, 75d, 0.2y, 2000-03-16).
EventScheduler
→ scenario → healthSystem → EventScheduler
<EventScheduler>
IN THIS ORDER:
| <uncomplicated ... />
| <complicated ... />
| <ClinicalOutcomes ... />
| [ <NonMalariaFevers ... /> ]
</EventScheduler>
uncomplicated
→ scenario → healthSystem → EventScheduler → uncomplicated
<uncomplicated
[ name=string ]
>
EXACTLY ONE OF:
| <multiple ... />
| <caseType ... />
| <diagnostic ... />
| <random ... />
| <age ... />
| <noTreatment ... />
| <treatFailure ... />
| ( <treatPKPD ... /> )+
| <treatSimple ... />
| ( <deploy ... /> )+
</uncomplicated>
Documentation (type)
Describes how "decisions" are made, both probabilistically and deterministically, and what actions are carried out.
Quantities may also be reported as a side effect of decisions made in the tree, for example the number of diagnostics used.
Attributes
Name
name=string
An optional piece of documentation attached to this node.
multiple
→ scenario → interventions → human → component → decisionTree → multiple
<multiple
[ name=string ]
>
IN THIS ORDER:
| ( <caseType ... /> )*
| ( <diagnostic ... /> )*
| ( <random ... /> )*
| ( <age ... /> )*
| ( <treatPKPD ... /> )*
| [ <treatSimple ... /> ]
| ( <deploy ... /> )*
</multiple>
Documentation (type)
A special node allowing multiple sub-trees to be evaluated.
This is different from an ordinary decision tree node in that:
a) multiple types of child can occur simultaneously (e.g. multiple types of treatment or treatment plus a 'random' sub-tree)
b) the 'noTreatment' and 'treatFailure' nodes are not allowed
Attributes
Name
name=string
An optional piece of documentation attached to this node.
caseType
→ scenario → interventions → human → component → decisionTree → multiple → caseType
<caseType
[ name=string ]
>
IN ANY ORDER:
| <firstLine ... />
| <secondLine ... />
</caseType>
Documentation (type)
A switch which choses a branch deterministically, based on whether the patient was treated recently (second line) or not (first line).
For uncomplicated cases only.
Attributes
Name
name=string
An optional piece of documentation attached to this node.
firstLine
→ scenario → interventions → human → component → decisionTree → multiple → caseType → firstLine
<firstLine
[ name=string ]
>
EXACTLY ONE OF:
| <multiple ... />
| <caseType ... />
| <diagnostic ... />
| <random ... />
| <age ... />
| <noTreatment ... />
| <treatFailure ... />
| ( <treatPKPD ... /> )+
| <treatSimple ... />
| ( <deploy ... /> )+
</firstLine>
Documentation (type)
Describes how "decisions" are made, both probabilistically and deterministically, and what actions are carried out.
Quantities may also be reported as a side effect of decisions made in the tree, for example the number of diagnostics used.
Attributes
Name
name=string
An optional piece of documentation attached to this node.
caseType
→ scenario → interventions → human → component → decisionTree → caseType
<caseType
[ name=string ]
>
IN ANY ORDER:
| <firstLine ... />
| <secondLine ... />
</caseType>
Documentation (type)
A switch which choses a branch deterministically, based on whether the patient was treated recently (second line) or not (first line).
For uncomplicated cases only.
Attributes
Name
name=string
An optional piece of documentation attached to this node.
secondLine
→ scenario → interventions → human → component → decisionTree → multiple → caseType → secondLine
<secondLine
[ name=string ]
>
EXACTLY ONE OF:
| <multiple ... />
| <caseType ... />
| <diagnostic ... />
| <random ... />
| <age ... />
| <noTreatment ... />
| <treatFailure ... />
| ( <treatPKPD ... /> )+
| <treatSimple ... />
| ( <deploy ... /> )+
</secondLine>
Documentation (type)
Describes how "decisions" are made, both probabilistically and deterministically, and what actions are carried out.
Quantities may also be reported as a side effect of decisions made in the tree, for example the number of diagnostics used.
Attributes
Name
name=string
An optional piece of documentation attached to this node.
diagnostic
→ scenario → interventions → human → component → decisionTree → diagnostic
<diagnostic
diagnostic=string
[ name=string ]
>
IN ANY ORDER:
| <positive ... />
| <negative ... />
</diagnostic>
Documentation (type)
A switch which choses a branch deterministically, based on the outcome of some type of diagnostic.
Attributes
Name of diagnostic
diagnostic=string
Should match the name of some parameterised diagnostic (see scenario/diagnostics).
Name
name=string
An optional piece of documentation attached to this node.
positive
→ scenario → interventions → human → component → decisionTree → multiple → diagnostic → positive
<positive
[ name=string ]
>
EXACTLY ONE OF:
| <multiple ... />
| <caseType ... />
| <diagnostic ... />
| <random ... />
| <age ... />
| <noTreatment ... />
| <treatFailure ... />
| ( <treatPKPD ... /> )+
| <treatSimple ... />
| ( <deploy ... /> )+
</positive>
Documentation (type)
Describes how "decisions" are made, both probabilistically and deterministically, and what actions are carried out.
Quantities may also be reported as a side effect of decisions made in the tree, for example the number of diagnostics used.
Attributes
Name
name=string
An optional piece of documentation attached to this node.
random
→ scenario → interventions → human → component → decisionTree → random
<random
[ name=string ]
>
IN THIS ORDER:
| ( <outcome ... /> )+
</random>
Documentation (type)
A switch which choses a branch randomly.
Each branch must be listed with a probability; the sum of all these probabilities must equal 1.
Attributes
Name
name=string
An optional piece of documentation attached to this node.
outcome
→ scenario → interventions → human → component → decisionTree → multiple → random → outcome
<outcome
[ name=string ]
p=double
>
EXACTLY ONE OF:
| <multiple ... />
| <caseType ... />
| <diagnostic ... />
| <random ... />
| <age ... />
| <noTreatment ... />
| <treatFailure ... />
| ( <treatPKPD ... /> )+
| <treatSimple ... />
| ( <deploy ... /> )+
</outcome>
Documentation (base type)
Describes how "decisions" are made, both probabilistically and deterministically, and what actions are carried out.
Quantities may also be reported as a side effect of decisions made in the tree, for example the number of diagnostics used.
Attributes
Name
name=string
An optional piece of documentation attached to this node.
Probability
p=double
Units: None Min: 0 Max: 1
Probability of selecting this outcome. The sum of probabilities across all outcomes must be 1.
age
→ scenario → interventions → human → component → decisionTree → age
<age
[ name=string ]
>
IN THIS ORDER:
| ( <age ... /> )+
</age>
Documentation (type)
A switch which choses a branch deterministically, based on the patient's age (in years).
Categories must uniquely cover all ages from birth, with no upper bound. Categories must be listed in order of age, increasing; the first must have lower bound 0. Upper bounds are equal to the lower bound of the next category, (but are exclusive where lower bounds are inclusive); the last category has no upper bound.
Attributes
Name
name=string
An optional piece of documentation attached to this node.
Age range
→ scenario → interventions → human → component → decisionTree → multiple → age → age
<age
[ name=string ]
lb=double
>
EXACTLY ONE OF:
| <multiple ... />
| <caseType ... />
| <diagnostic ... />
| <random ... />
| <age ... />
| <noTreatment ... />
| <treatFailure ... />
| ( <treatPKPD ... /> )+
| <treatSimple ... />
| ( <deploy ... /> )+
</age>
Documentation (element)
Describes a branch, selected for patients of a certain age.
Documentation (base type)
Describes how "decisions" are made, both probabilistically and deterministically, and what actions are carried out.
Quantities may also be reported as a side effect of decisions made in the tree, for example the number of diagnostics used.
Attributes
Name
name=string
An optional piece of documentation attached to this node.
Lower bound (inclusive)
lb=double
Min: 0
noTreatment
→ scenario → interventions → human → component → decisionTree → noTreatment
<noTreatment
[ name=string ]
/>
Documentation (type)
An end node doing nothing. This exists to explicitly state that no treatment happens and to prevent trees from accidentally being left incomplete.
Attributes
Name
name=string
An optional piece of documentation attached to this node.
treatFailure
→ scenario → interventions → human → component → decisionTree → treatFailure
<treatFailure
[ name=string ]
/>
Documentation (type)
An end node which reports treatment but does not change parasitalogical status. This allows correct labelling of second-line cases.
Attributes
Name
name=string
An optional piece of documentation attached to this node.
treatPKPD
→ scenario → interventions → human → component → decisionTree → treatPKPD
<treatPKPD
schedule=string
dosage=string
[ delay_h=double ] DEFAULT VALUE 0
/>
Documentation (type)
A command to administer drugs according to a given schedule and dosage table, optionally with a delay.
Attributes
Name of treatment schedule
schedule=string
The name of a schedule to use for treatment.
Name of dosage table
dosage=string
The name of a dosage table to use for treatment.
Delay (hours)
delay_h=double
Default value: 0
Optionally, this can be given to delay the start of treatment by a given number of hours. If not specified, treatment is not delayed. If a delay is given, all medications within the treatment schedule used are delayed by this number of hours.
treatSimple
→ scenario → interventions → human → component → decisionTree → treatSimple
<treatSimple
durationLiver=string
durationBlood=string
/>
Documentation (type)
Simple treatment model, targetting liver- and/or blood-stage infections. This is all-or-nothing treatment which, when deploymed, completely clears all infections of the targetted stages. This makes it unsuitable for modeling resistance, but suitable for use with simple infection models.
Infections are considered liver-stage when less than five days old and blood-stage after that. Effects are described independently for the two stages.
Attributes
Length of liver-stage effect
durationLiver=string
Units: User defined
Controls action on liver-stage infections. 0 means no action, -1 step is a compatibility option to act like treatment before schema version 32 (which removed infections retrospectively), 1 step or any duration which equals some whole number of steps n>0 means to clear all liver-stage infections found on the next 1 or n steps. Note on -1 compatibility option: the main difference to 1 step (clearing on the next timestep) is that parasite densities will be reduced immediately, and thus from the point of view of surveys and mass screen and treat interventions a peak in density which is immediately treated through case management will not be seen. Can be specified in steps (e.g. 1t, -1t) or days (e.g. 5d).
Length of blood-stage effect
durationBlood=string
Units: User defined
Controls action on blood-stage infections. 0 means no action, -1 step is a compatibility option to act like treatment before schema version 32 (which removed infections retrospectively), 1 step or any duration which equals some whole number of steps n>0 means to clear all blood-stage infections found on the next 1 or n steps. Note on -1 compatibility option: the main difference to 1 step (clearing on the next timestep) is that parasite densities will be reduced immediately, and thus from the point of view of surveys and mass screen and treat interventions a peak in density which is immediately treated through case management will not be seen. Can be specified in steps (e.g. 1t, -1t) or days (e.g. 5d).
deploy
→ scenario → interventions → human → component → decisionTree → deploy
<deploy
component=string
/>
Documentation (type)
Deploy one or more intervention components.
Attributes
Component identifier
component=string
The identifier (short name) of a component.
negative
→ scenario → interventions → human → component → decisionTree → multiple → diagnostic → negative
<negative
[ name=string ]
>
EXACTLY ONE OF:
| <multiple ... />
| <caseType ... />
| <diagnostic ... />
| <random ... />
| <age ... />
| <noTreatment ... />
| <treatFailure ... />
| ( <treatPKPD ... /> )+
| <treatSimple ... />
| ( <deploy ... /> )+
</negative>
Documentation (type)
Describes how "decisions" are made, both probabilistically and deterministically, and what actions are carried out.
Quantities may also be reported as a side effect of decisions made in the tree, for example the number of diagnostics used.
Attributes
Name
name=string
An optional piece of documentation attached to this node.
diagnostic
→ scenario → interventions → human → component → decisionTree → multiple → diagnostic
<diagnostic
diagnostic=string
[ name=string ]
>
IN ANY ORDER:
| <positive ... />
| <negative ... />
</diagnostic>
Documentation (type)
A switch which choses a branch deterministically, based on the outcome of some type of diagnostic.
Attributes
Name of diagnostic
diagnostic=string
Should match the name of some parameterised diagnostic (see scenario/diagnostics).
Name
name=string
An optional piece of documentation attached to this node.
random
→ scenario → interventions → human → component → decisionTree → multiple → random
<random
[ name=string ]
>
IN THIS ORDER:
| ( <outcome ... /> )+
</random>
Documentation (type)
A switch which choses a branch randomly.
Each branch must be listed with a probability; the sum of all these probabilities must equal 1.
Attributes
Name
name=string
An optional piece of documentation attached to this node.
age
→ scenario → interventions → human → component → decisionTree → multiple → age
<age
[ name=string ]
>
IN THIS ORDER:
| ( <age ... /> )+
</age>
Documentation (type)
A switch which choses a branch deterministically, based on the patient's age (in years).
Categories must uniquely cover all ages from birth, with no upper bound. Categories must be listed in order of age, increasing; the first must have lower bound 0. Upper bounds are equal to the lower bound of the next category, (but are exclusive where lower bounds are inclusive); the last category has no upper bound.
Attributes
Name
name=string
An optional piece of documentation attached to this node.
treatPKPD
→ scenario → interventions → human → component → decisionTree → multiple → treatPKPD
<treatPKPD
schedule=string
dosage=string
[ delay_h=double ] DEFAULT VALUE 0
/>
Documentation (type)
A command to administer drugs according to a given schedule and dosage table, optionally with a delay.
Attributes
Name of treatment schedule
schedule=string
The name of a schedule to use for treatment.
Name of dosage table
dosage=string
The name of a dosage table to use for treatment.
Delay (hours)
delay_h=double
Default value: 0
Optionally, this can be given to delay the start of treatment by a given number of hours. If not specified, treatment is not delayed. If a delay is given, all medications within the treatment schedule used are delayed by this number of hours.
treatSimple
→ scenario → interventions → human → component → decisionTree → multiple → treatSimple
<treatSimple
durationLiver=string
durationBlood=string
/>
Documentation (type)
Simple treatment model, targetting liver- and/or blood-stage infections. This is all-or-nothing treatment which, when deploymed, completely clears all infections of the targetted stages. This makes it unsuitable for modeling resistance, but suitable for use with simple infection models.
Infections are considered liver-stage when less than five days old and blood-stage after that. Effects are described independently for the two stages.
Attributes
Length of liver-stage effect
durationLiver=string
Units: User defined
Controls action on liver-stage infections. 0 means no action, -1 step is a compatibility option to act like treatment before schema version 32 (which removed infections retrospectively), 1 step or any duration which equals some whole number of steps n>0 means to clear all liver-stage infections found on the next 1 or n steps. Note on -1 compatibility option: the main difference to 1 step (clearing on the next timestep) is that parasite densities will be reduced immediately, and thus from the point of view of surveys and mass screen and treat interventions a peak in density which is immediately treated through case management will not be seen. Can be specified in steps (e.g. 1t, -1t) or days (e.g. 5d).
Length of blood-stage effect
durationBlood=string
Units: User defined
Controls action on blood-stage infections. 0 means no action, -1 step is a compatibility option to act like treatment before schema version 32 (which removed infections retrospectively), 1 step or any duration which equals some whole number of steps n>0 means to clear all blood-stage infections found on the next 1 or n steps. Note on -1 compatibility option: the main difference to 1 step (clearing on the next timestep) is that parasite densities will be reduced immediately, and thus from the point of view of surveys and mass screen and treat interventions a peak in density which is immediately treated through case management will not be seen. Can be specified in steps (e.g. 1t, -1t) or days (e.g. 5d).
deploy
→ scenario → interventions → human → component → decisionTree → multiple → deploy
<deploy
component=string
/>
Documentation (type)
Deploy one or more intervention components.
Attributes
Component identifier
component=string
The identifier (short name) of a component.
complicated
→ scenario → healthSystem → EventScheduler → complicated
<complicated
[ name=string ]
>
EXACTLY ONE OF:
| <multiple ... />
| <caseType ... />
| <diagnostic ... />
| <random ... />
| <age ... />
| <noTreatment ... />
| <treatFailure ... />
| ( <treatPKPD ... /> )+
| <treatSimple ... />
| ( <deploy ... /> )+
</complicated>
Documentation (type)
Describes how "decisions" are made, both probabilistically and deterministically, and what actions are carried out.
Quantities may also be reported as a side effect of decisions made in the tree, for example the number of diagnostics used.
Attributes
Name
name=string
An optional piece of documentation attached to this node.
ClinicalOutcomes
→ scenario → healthSystem → EventScheduler → ClinicalOutcomes
<ClinicalOutcomes>
IN THIS ORDER:
| <maxUCSeekingMemory ... />
| <uncomplicatedCaseDuration ... />
| <complicatedCaseDuration ... />
| <complicatedRiskDuration ... />
| ( <dailyPrImmUCTS ... /> )+
</ClinicalOutcomes>
- maxUCSeekingMemory
- uncomplicatedCaseDuration
- complicatedCaseDuration
- complicatedRiskDuration
- dailyPrImmUCTS
Documentation (type)
Description of base parameters of the clinical model.
Max UC treatment-seeking memory
→ scenario → healthSystem → EventScheduler → ClinicalOutcomes → maxUCSeekingMemory
<maxUCSeekingMemory>
int
</maxUCSeekingMemory>
Documentation (element)
Units: Days Min: 0 Max: unbounded
Maximum number of timesteps (including first day of case) that an individual with an uncomplicated case of malaria will remember he/she was sick before resetting.
Uncomplicated case duration
→ scenario → healthSystem → EventScheduler → ClinicalOutcomes → uncomplicatedCaseDuration
<uncomplicatedCaseDuration>
int
</uncomplicatedCaseDuration>
Documentation (element)
Units: Days Min: 1 Max: unbounded
Fixed length of an uncomplicated case of malarial or non-malarial sickness (from treatment seeking until return to life-as-usual). Usually 3.
Complicated case duration
→ scenario → healthSystem → EventScheduler → ClinicalOutcomes → complicatedCaseDuration
<complicatedCaseDuration>
int
</complicatedCaseDuration>
Documentation (element)
Units: Days Min: 1 Max: unbounded
Fixed length of a complicated or severe case of malaria (from treatment seeking until return to life-as-usual).
Complicated risk duration
→ scenario → healthSystem → EventScheduler → ClinicalOutcomes → complicatedRiskDuration
<complicatedRiskDuration>
int
</complicatedRiskDuration>
Documentation (element)
Units: Days Min: 1 Max: unbounded
Number of days for which humans are at risk of death during a severe or complicated case of malaria. Cannot be greater than the duration of a complicated case or less than 1 day.
Daily probability of immediate treatment seeking for uncomplicated cases
→ scenario → healthSystem → EventScheduler → ClinicalOutcomes → dailyPrImmUCTS
<dailyPrImmUCTS>
double
</dailyPrImmUCTS>
Documentation (element)
Units: Dimensionless Min: 0.0 Max: 1.0
It is sometimes desirable to model delays to treatment-seeking in uncomplicated cases. While treatment of drugs can be delayed within case management trees to provide a similar effect, this doesn't delay any of the decisions, including diagnostics using the current parasite density.
Instead a list of dailyPrImmUCTS elements can be used, describing successive daily probabilities of treatment (sum must be 1). For example, with a list of two elements with values 0.8 and 0.2, for 80% of UC cases the decision tree is evaluated immediately, and for 20% of cases evaluation is delayed by one day.
For no delay, use one element with a value of 1.
NonMalariaFevers
→ scenario → healthSystem → EventScheduler → NonMalariaFevers
<NonMalariaFevers>
IN THIS ORDER:
| <prTreatment ... />
| <effectNegativeTest ... />
| <effectPositiveTest ... />
| <effectNeed ... />
| <effectInformal ... />
| <CFR ... />
| <TreatmentEfficacy ... />
</NonMalariaFevers>
Documentation (type)
Description of non-malaria fever health-system modelling (treatment, outcomes and costing). Incidence is described by the model->clinical->NonMalariaFevers element. Non-malaria fevers are only modelled if the NON_MALARIA_FEVERS option is used.
As further explanation of the parameters below, we first take: β₀ = logit(P₀) - β₃·P(need), and then calculate the probability of antibiotic administration, P(AB), dependent on treatment seeking location. No seeking: P(AB) = 0 Informal sector: logit(P(AB)) = β₀ + β₄ Health facility: logit(P(AB)) = β₀ + β₁·I(neg) + β₂·I(pos) + β₃·I(need) (where I(X) is 1 when event X is true and 0 otherwise, logit(p)=log(p/(1-p)), event "need" is the event that death may occur without treatment, events "neg" and "pos" are the events that a malaria parasite diagnositic was used and indicated no parasites and parasites respectively).
P(treatment|no diagnostic)
→ scenario → healthSystem → EventScheduler → NonMalariaFevers → prTreatment
<prTreatment>
double
</prTreatment>
Documentation (element)
Units: Dimensionless Min: 0.0 Max: 1.0
Probability of a non-malaria fever being treated with an antibiotic given that no malaria diagnostic was used but independent of need. Symbol: P₀.
Effect of a negative test
→ scenario → healthSystem → EventScheduler → NonMalariaFevers → effectNegativeTest
<effectNegativeTest>
double
</effectNegativeTest>
Documentation (element)
The effect of a negative malaria diagnostic on the odds ratio of receiving antibiotics. Symbol: exp(β₁).
Effect of a positive test
→ scenario → healthSystem → EventScheduler → NonMalariaFevers → effectPositiveTest
<effectPositiveTest>
double
</effectPositiveTest>
Documentation (element)
The effect of a positive malaria diagnostic on the odds ratio of receiving antibiotics. Symbol: exp(β₂).
Effect of need
→ scenario → healthSystem → EventScheduler → NonMalariaFevers → effectNeed
<effectNeed>
double
</effectNeed>
Documentation (element)
The effect of needing antibiotic treatment on the odds ratio of receiving antibiotics. Symbol: exp(β₃).
Effect of informal provider
→ scenario → healthSystem → EventScheduler → NonMalariaFevers → effectInformal
<effectInformal>
double
</effectInformal>
Documentation (element)
The effect of seeking treatment from an informal provider (i.e. a provider untrained in NMF diagnosis) on the odds ratio of receiving antibiotics. Symbol: exp(β₄)
Case fatality rate
→ scenario → healthSystem → EventScheduler → NonMalariaFevers → CFR
<CFR
[ interpolation=("none" or "linear") ]
>
IN THIS ORDER:
| ( <group ... /> )+
</CFR>
Documentation (element)
Units: Dimensionless Min: 0.0 Max: 1.0
Base case fatality rate for non-malaria fevers (probability of death from a fever requiring antibiotic treatment given that no antibiotic treatment is received, per age-group).
Attributes
interpolation
interpolation=("none" or "linear")
Interpolation algorithm. Normally it is desirable for age-based values to be continuous w.r.t. age. By default linear interpolation is used. With all algorithms except "none", the age groups are converted to a set of points centred within each age range. Extra points are added at each end (zero and infinity) to keep value constant at both ends of the function. A zero-length age group may be used as a kind of barrier to adjust the distribution; e.g. with age group boundaries at 15, 20 and 25 years, a (linear) spline would be drawn between ages 17.5 and 22.5, whereas with boundaries at 15, 20 and 20 years, a spline would be drawn between ages 17.5 and 20 years (may be desired if individuals are assumed to reach adult size at 20). Algorithms:
- none: input values are used directly
- linear: straight lines (on an age vs. value graph) are used to interpolate data points.
age group
→ scenario → healthSystem → CFR → group
<group
value=double
lowerbound=double
/>
Documentation (element)
A series of values according to age groups, each specified with a lower-bound and a value. The first lower-bound specified must be zero; a final upper-bound of infinity is added to complete the last age group. At least one age group is required. Normally these are interpolated by a continuous function (see interpolation attribute).
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Lower bound
lowerbound=double
Units: Years Min: 0 Max: 100
Lower bound of age group
Treatment efficacy
→ scenario → healthSystem → EventScheduler → NonMalariaFevers → TreatmentEfficacy
<TreatmentEfficacy>
double
</TreatmentEfficacy>
Documentation (element)
Units: Dimensionless Min: 0.0 Max: 1.0
Probability that treatment would prevent a death (i.e. CFR is multiplied by one minus this when treatment occurs).
ImmediateOutcomes
→ scenario → healthSystem → ImmediateOutcomes
<ImmediateOutcomes
[ name=string ]
[ useDiagnosticUC=boolean ] DEFAULT VALUE false
>
IN ANY ORDER:
| <drugRegimen ... />
| <initialACR ... />
| <compliance ... />
| <nonCompliersEffective ... />
| <treatmentActions ... />
| <pSeekOfficialCareUncomplicated1 ... />
| <pSelfTreatUncomplicated ... />
| <pSeekOfficialCareUncomplicated2 ... />
| <pSeekOfficialCareSevere ... />
| [ <liverStageDrug ... /> ]
</ImmediateOutcomes>
- drugRegimen
- initialACR
- compliance
- nonCompliersEffective
- treatmentActions
- pSeekOfficialCareUncomplicated1
- pSelfTreatUncomplicated
- pSeekOfficialCareUncomplicated2
- pSeekOfficialCareSevere
- liverStageDrug
Documentation (type)
Description of "immediate outcomes" health system: Tediosi et al case management model (Case management as described in AJTMH 75 (suppl 2) pp90-103).
Attributes
Name of case management parameterisation
name=string
Name of health system
useDiagnosticUC
useDiagnosticUC=boolean
Default value: false
Description of drug regimen
→ scenario → healthSystem → ImmediateOutcomes → drugRegimen
<drugRegimen
firstLine=string
secondLine=string
inpatient=string
/>
Documentation (element)
Description of drug regimen.
Attributes
First line drug
firstLine=string
Units: Drug code
Code for first line drug
Second line drug
secondLine=string
Units: Drug code
Code for second line drug
Drug use for treating inpatients
inpatient=string
Units: Drug code
Code for drug used for treating inpatients
Initial cure rate
→ scenario → healthSystem → ImmediateOutcomes → initialACR
<initialACR>
IN THIS ORDER:
| [ <CQ ... /> ]
| [ <SP ... /> ]
| [ <AQ ... /> ]
| [ <SPAQ ... /> ]
| [ <ACT ... /> ]
| [ <QN ... /> ]
| <selfTreatment ... />
</initialACR>
Documentation (element)
Units: Dimensionless Min: 0.0 Max: 1.0
Initial cure rate
Chloroquine
→ scenario → healthSystem → ImmediateOutcomes → initialACR → CQ
<CQ
value=double
/>
Documentation (element)
Chloroquine
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Sulphadoxine-pyrimethamine
→ scenario → healthSystem → ImmediateOutcomes → initialACR → SP
<SP
value=double
/>
Documentation (element)
Sulphadoxine-pyrimethamine
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Amodiaquine
→ scenario → healthSystem → ImmediateOutcomes → initialACR → AQ
<AQ
value=double
/>
Documentation (element)
Amodiaquine
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Sulphadoxine-pyrimethamine/Amodiaquine
→ scenario → healthSystem → ImmediateOutcomes → initialACR → SPAQ
<SPAQ
value=double
/>
Documentation (element)
Sulphadoxine-pyrimethamine/Amodiaquine
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Artemisinine based combination therapy
→ scenario → healthSystem → ImmediateOutcomes → initialACR → ACT
<ACT
value=double
/>
Documentation (element)
Artemisinine combination therapy
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Quinine
→ scenario → healthSystem → ImmediateOutcomes → initialACR → QN
<QN
value=double
/>
Documentation (element)
Quinine
Attributes
Input parameter value
value=double
A double-precision floating-point value.
selfTreatment
→ scenario → healthSystem → ImmediateOutcomes → initialACR → selfTreatment
<selfTreatment
value=double
/>
Documentation (element)
Units: Dimensionless Min: 0 Max: 1name:P(self-treat)
Probability of self-treatment
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Adherence to treatment
→ scenario → healthSystem → ImmediateOutcomes → compliance
<compliance>
IN THIS ORDER:
| [ <CQ ... /> ]
| [ <SP ... /> ]
| [ <AQ ... /> ]
| [ <SPAQ ... /> ]
| [ <ACT ... /> ]
| [ <QN ... /> ]
| <selfTreatment ... />
</compliance>
Documentation (element)
Units: Dimensionless Min: 0.0 Max: 1.0
Adherence to treatment
Effectiveness of treatment in non-adherent patients
→ scenario → healthSystem → ImmediateOutcomes → nonCompliersEffective
<nonCompliersEffective>
IN THIS ORDER:
| [ <CQ ... /> ]
| [ <SP ... /> ]
| [ <AQ ... /> ]
| [ <SPAQ ... /> ]
| [ <ACT ... /> ]
| [ <QN ... /> ]
| <selfTreatment ... />
</nonCompliersEffective>
Documentation (element)
Units: Dimensionless Min: 0.0 Max: 1.0
Effectiveness of treatment for non-compliant patients
treatmentActions
→ scenario → healthSystem → ImmediateOutcomes → treatmentActions
<treatmentActions>
IN ANY ORDER:
| [ <CQ ... /> ]
| [ <SP ... /> ]
| [ <AQ ... /> ]
| [ <SPAQ ... /> ]
| [ <ACT ... /> ]
| [ <QN ... /> ]
</treatmentActions>
CQ
→ scenario → healthSystem → ImmediateOutcomes → treatmentActions → CQ
<CQ
[ name=string ]
>
IN THIS ORDER:
| ( <deploy ... /> )*
</CQ>
Documentation (type)
Describes the effects of the treatment, assuming this compliance/adherence/... option is selected. Effects are described in terms of a list of options, each of which acts independently but with all effects being activated simultaneously.
Documentation (base type)
Lists intervention components which are deployed according to some external trigger (for example, screening with a negative patency outcome or health-system treatment).
Components are referenced from one or more sub-lists. Each of these lists is deployed independently if and only if its age constraints are met by the human host and a random sample with the given probability of a positive outcome is positive.
Attributes
Name
name=string
Describes what this compliance option represents (e.g. "good compliance", "poor compliance with good drugs", ...).
deploy
→ scenario → healthSystem → ImmediateOutcomes → treatmentActions → CQ → deploy
<deploy
[ maxAge=double ]
[ minAge=double ] DEFAULT VALUE 0
[ p=double ] DEFAULT VALUE 1
>
IN THIS ORDER:
| ( <component ... /> )+
</deploy>
Attributes
Maximum age of eligible humans
maxAge=double
Units: Years Min: 0
Maximum age of eligible humans (defaults to no limit). Input is rounded to the nearest time step.
Minimum age of eligible humans
minAge=double
Units: Years Min: 0
Default value: 0
Minimum age of eligible humans (defaults to 0). Input is rounded to the nearest time step.
Probability of delivery to eligible humans
p=double
Units: dimensionless Min: 0 Max: 1
Default value: 1
Probability of this list of components being deployed, given that other constraints are met.
component
→ scenario → healthSystem → ImmediateOutcomes → treatmentActions → CQ → deploy → component
<component
id=string
/>
Documentation (type)
The list of components deployed to eligible humans.
Attributes
Identifier
id=string
The identifier (short name) of a component.
Prophylactic treatment
→ scenario → healthSystem → DecisionTree5Day → treatmentSevere → clearInfections
<clearInfections
timesteps=string
stage=("liver" or "blood" or "both")
/>
Documentation (element)
This clears infections according to several options: it can clear all blood stage infections, all liver stage infections or both, and it can act on multiple timesteps. To have a probability of no action add another treatment option (which does nothing) and set the probabilities of selection appropriately.
This allows immediate (legacy) or delayed action, a prophylactic period, and selection of which stages are targeted. It is a simple model but appropriate enough for use with the five day timestep when assuming no resistance and that drug failure is mainly caused by bad drugs or compliance.
The old treatment action for the five-day timestep model is essentially this, with immediateAction (timesteps=-1) and stage=both, except for the IPT model's SP action, which was more like with timesteps>1 and stage=blood.
Attributes
Length of effect
timesteps=string
Units: User defined (defaults to steps)
The number of timesteps during which this action remains in effect (e.g. 2 means clear infections during the next two timestep updates). Full clearance of the targeted stages occurs during this time. A special value of -1 means act immediately (retrospectively); this the old behaviour. A value of 1 means act on the next timestep only. Both of these can be thought of as a model for short-acting effective drug treatment; the main differences are that the latter means parasite densities will remain high from the point of view of surveys and diagnostics (i.e. mass screen and treat) used before the next timestep and that the latter will also remove infections starting the next timestep. Arguably the latter is a better model, but the differences are perhaps small, excepting where immediate treatment of fevers (i.e. through the health system) can hide high parasite densities from reporting and mass-screen-and-treat diagnostics. For use by interventions, the latter model has nicer behaviour in that the order of deployment of multiple interventions deployed at the same time does not matter, and that the former model retrospectively treats infections which may already have caused fever, thus may have a lower health impact than it should. It is recommended to use the new model (value 1, or greater than 1 if prophylactic effect is desired) unless wanting to emulate the old behaviour. Values of 0 or less than -1 are not allowed. Can be specified in steps (e.g. 1t, -1t) or days (e.g. 5d).
Target stage
stage=("liver" or "blood" or "both")
Controls whether liver-stage or blood-stage infections are cleared, or both. Infections are considered liver-stage for one 5-day timestep, blood-stage but pre-patent for some number of timesteps (latentp - 1), then start the patent blood stage. If stage is set to "liver", infections are only cleared during their first timestep; if stage is set to "blood", infections are cleared during pre-patent and patent blood stages; if stage is set to "both" all infections are cleared. The old behaviour (oddly considering the drugs it is meant to emulate) is to clear both stages, except for the IPT model of SP action, which cleared only patent blood-stage infections.
SP
→ scenario → healthSystem → ImmediateOutcomes → treatmentActions → SP
<SP
[ name=string ]
>
IN THIS ORDER:
| ( <deploy ... /> )*
</SP>
Documentation (type)
Describes the effects of the treatment, assuming this compliance/adherence/... option is selected. Effects are described in terms of a list of options, each of which acts independently but with all effects being activated simultaneously.
Documentation (base type)
Lists intervention components which are deployed according to some external trigger (for example, screening with a negative patency outcome or health-system treatment).
Components are referenced from one or more sub-lists. Each of these lists is deployed independently if and only if its age constraints are met by the human host and a random sample with the given probability of a positive outcome is positive.
Attributes
Name
name=string
Describes what this compliance option represents (e.g. "good compliance", "poor compliance with good drugs", ...).
AQ
→ scenario → healthSystem → ImmediateOutcomes → treatmentActions → AQ
<AQ
[ name=string ]
>
IN THIS ORDER:
| ( <deploy ... /> )*
</AQ>
Documentation (type)
Describes the effects of the treatment, assuming this compliance/adherence/... option is selected. Effects are described in terms of a list of options, each of which acts independently but with all effects being activated simultaneously.
Documentation (base type)
Lists intervention components which are deployed according to some external trigger (for example, screening with a negative patency outcome or health-system treatment).
Components are referenced from one or more sub-lists. Each of these lists is deployed independently if and only if its age constraints are met by the human host and a random sample with the given probability of a positive outcome is positive.
Attributes
Name
name=string
Describes what this compliance option represents (e.g. "good compliance", "poor compliance with good drugs", ...).
SPAQ
→ scenario → healthSystem → ImmediateOutcomes → treatmentActions → SPAQ
<SPAQ
[ name=string ]
>
IN THIS ORDER:
| ( <deploy ... /> )*
</SPAQ>
Documentation (type)
Describes the effects of the treatment, assuming this compliance/adherence/... option is selected. Effects are described in terms of a list of options, each of which acts independently but with all effects being activated simultaneously.
Documentation (base type)
Lists intervention components which are deployed according to some external trigger (for example, screening with a negative patency outcome or health-system treatment).
Components are referenced from one or more sub-lists. Each of these lists is deployed independently if and only if its age constraints are met by the human host and a random sample with the given probability of a positive outcome is positive.
Attributes
Name
name=string
Describes what this compliance option represents (e.g. "good compliance", "poor compliance with good drugs", ...).
ACT
→ scenario → healthSystem → ImmediateOutcomes → treatmentActions → ACT
<ACT
[ name=string ]
>
IN THIS ORDER:
| ( <deploy ... /> )*
</ACT>
Documentation (type)
Describes the effects of the treatment, assuming this compliance/adherence/... option is selected. Effects are described in terms of a list of options, each of which acts independently but with all effects being activated simultaneously.
Documentation (base type)
Lists intervention components which are deployed according to some external trigger (for example, screening with a negative patency outcome or health-system treatment).
Components are referenced from one or more sub-lists. Each of these lists is deployed independently if and only if its age constraints are met by the human host and a random sample with the given probability of a positive outcome is positive.
Attributes
Name
name=string
Describes what this compliance option represents (e.g. "good compliance", "poor compliance with good drugs", ...).
QN
→ scenario → healthSystem → ImmediateOutcomes → treatmentActions → QN
<QN
[ name=string ]
>
IN THIS ORDER:
| ( <deploy ... /> )*
</QN>
Documentation (type)
Describes the effects of the treatment, assuming this compliance/adherence/... option is selected. Effects are described in terms of a list of options, each of which acts independently but with all effects being activated simultaneously.
Documentation (base type)
Lists intervention components which are deployed according to some external trigger (for example, screening with a negative patency outcome or health-system treatment).
Components are referenced from one or more sub-lists. Each of these lists is deployed independently if and only if its age constraints are met by the human host and a random sample with the given probability of a positive outcome is positive.
Attributes
Name
name=string
Describes what this compliance option represents (e.g. "good compliance", "poor compliance with good drugs", ...).
Probability that a patient with uncomplicated disease seeks official care immediately.
→ scenario → healthSystem → ImmediateOutcomes → pSeekOfficialCareUncomplicated1
<pSeekOfficialCareUncomplicated1
value=double
/>
Documentation (element)
Units: Dimensionless Min: 0.0 Max: 1.0
Probability that a patient with newly incident uncomplicated disease seeks official care
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Probability that a patient with uncomplicated disease will self-treat.
→ scenario → healthSystem → ImmediateOutcomes → pSelfTreatUncomplicated
<pSelfTreatUncomplicated
value=double
/>
Documentation (element)
Units: Dimensionless Min: 0.0 Max: 1.0
Probability that a patient with uncomplicated disease without recent history of disease (i.e. first line) will self-treat.
Note that in second line cases there is no probability of self-treatment.
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Probability that a recurring patient seeks official care
→ scenario → healthSystem → ImmediateOutcomes → pSeekOfficialCareUncomplicated2
<pSeekOfficialCareUncomplicated2
value=double
/>
Documentation (element)
Units: Dimensionless Min: 0.0 Max: 1.0
Probability that a patient with recurrence of uncomplicated disease seeks official care
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Probability that a patient with severe disease obtains appropriate care
→ scenario → healthSystem → ImmediateOutcomes → pSeekOfficialCareSevere
<pSeekOfficialCareSevere
value=double
/>
Documentation (element)
Units: Dimensionless Min: 0.0 Max: 1.0
Probability that a patient with severe disease obtains appropriate care
Attributes
Input parameter value
value=double
A double-precision floating-point value.
liverStageDrug
→ scenario → healthSystem → ImmediateOutcomes → liverStageDrug
<liverStageDrug>
IN ANY ORDER:
| <pHumanCannotReceive ... />
| [ <ignoreCannotReceive ... /> ]
| [ <pUseUncomplicated ... /> ]
| <effectivenessOnUse ... />
</liverStageDrug>
Documentation (type)
Parameters for drug treatment which have an effect on the liver-stage of parasites (Primaquine and potentially Tafenoquine); for use with the Vivax model only.
Note: if this section is not listed, the following default values are assumed: pHumanCannotReceive=0, pUseUncomplicated=0, effectivenessOnUse=1.
Probability that human is incompatible with liver-stage drug treatment
→ scenario → healthSystem → ImmediateOutcomes → liverStageDrug → pHumanCannotReceive
<pHumanCannotReceive
value=double
/>
Documentation (element)
Units: Probability Min: 0 Max: 1
Chance that a human is determined to be unable to receive liver-stage drug treatment. Treatment is neither reported or given for such humans.
This is sampled once per human at birth.
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Ignore liver-stage drug treatment incompatibility
→ scenario → healthSystem → ImmediateOutcomes → liverStageDrug → ignoreCannotReceive
<ignoreCannotReceive
value=boolean
/>
Documentation (element)
If true, ignore pHumanCannotReceive and consider all humans eligible for treatment; if false (or not specified), do not treat those demed incompatible with liver-stage drug treatment.
The point of this is that pHumanCannotReceive cannot be altered by changeHS interventions, but this property can be.
Attributes
Input parameter value
value=boolean
A boolean value.
Prob use in UC case
→ scenario → healthSystem → ImmediateOutcomes → liverStageDrug → pUseUncomplicated
<pUseUncomplicated
value=double
/>
Documentation (element)
Units: Probability Min: 0 Max: 1
This feature is deprecated; it is suggested to use the "simple treatment" feature configured to clear liver-stage parasites, leaving this option unset or zero.
Chance of liver-stage drug treatment being used for routine treatment of an uncomplicated case.
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Effectiveness
→ scenario → healthSystem → ImmediateOutcomes → liverStageDrug → effectivenessOnUse
<effectivenessOnUse
value=double
/>
Documentation (element)
Units: Probability Min: 0 Max: 1
Chance that liver-stage drug treatment is effective.
On application, a random variable is sampled against this probability. If false, the treatment does nothing; if true, the treatment clears all liver stage parasites. Where effectiveness is longer than a single time step (prophylactic effect), this sample still only happens once (thus either no effect or all liver stages cleared over multiple steps).
Attributes
Input parameter value
value=double
A double-precision floating-point value.
DecisionTree5Day
→ scenario → healthSystem → DecisionTree5Day
<DecisionTree5Day
[ name=string ]
>
IN ANY ORDER:
| <pSeekOfficialCareUncomplicated1 ... />
| <pSelfTreatUncomplicated ... />
| <pSeekOfficialCareUncomplicated2 ... />
| <pSeekOfficialCareSevere ... />
| [ <liverStageDrug ... /> ]
| <treeUCOfficial ... />
| <treeUCSelfTreat ... />
| <cureRateSevere ... />
| <treatmentSevere ... />
</DecisionTree5Day>
- pSeekOfficialCareUncomplicated1
- pSelfTreatUncomplicated
- pSeekOfficialCareUncomplicated2
- pSeekOfficialCareSevere
- liverStageDrug
- treeUCOfficial
- treeUCSelfTreat
- cureRateSevere
- treatmentSevere
Documentation (type)
Description of the health system using the 5-day timestep with decision tree model: access is configured as in the Tediosi et al case management model (Case management as described in AJTMH 75 (suppl 2) pp90-103) while treatment decisions are configured via decision trees.
Besides greater flexibility, this allows treatment via PK/PD models.
Attributes
Name of case management parameterisation
name=string
Name of health system
Probability that a patient with uncomplicated disease seeks official care immediately.
→ scenario → healthSystem → DecisionTree5Day → pSeekOfficialCareUncomplicated1
<pSeekOfficialCareUncomplicated1
value=double
/>
Documentation (element)
Units: Dimensionless Min: 0.0 Max: 1.0
Probability that a patient with newly incident uncomplicated disease seeks official care
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Probability that a patient with uncomplicated disease will self-treat.
→ scenario → healthSystem → DecisionTree5Day → pSelfTreatUncomplicated
<pSelfTreatUncomplicated
value=double
/>
Documentation (element)
Units: Dimensionless Min: 0.0 Max: 1.0
Probability that a patient with uncomplicated disease without recent history of disease (i.e. first line) will self-treat.
Note that in second line cases there is no probability of self-treatment.
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Probability that a recurring patient seeks official care
→ scenario → healthSystem → DecisionTree5Day → pSeekOfficialCareUncomplicated2
<pSeekOfficialCareUncomplicated2
value=double
/>
Documentation (element)
Units: Dimensionless Min: 0.0 Max: 1.0
Probability that a patient with recurrence of uncomplicated disease seeks official care
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Probability that a patient with severe disease obtains appropriate care
→ scenario → healthSystem → DecisionTree5Day → pSeekOfficialCareSevere
<pSeekOfficialCareSevere
value=double
/>
Documentation (element)
Units: Dimensionless Min: 0.0 Max: 1.0
Probability that a patient with severe disease obtains appropriate care
Attributes
Input parameter value
value=double
A double-precision floating-point value.
liverStageDrug
→ scenario → healthSystem → DecisionTree5Day → liverStageDrug
<liverStageDrug>
IN ANY ORDER:
| <pHumanCannotReceive ... />
| [ <ignoreCannotReceive ... /> ]
| [ <pUseUncomplicated ... /> ]
| <effectivenessOnUse ... />
</liverStageDrug>
Documentation (type)
Parameters for drug treatment which have an effect on the liver-stage of parasites (Primaquine and potentially Tafenoquine); for use with the Vivax model only.
Note: if this section is not listed, the following default values are assumed: pHumanCannotReceive=0, pUseUncomplicated=0, effectivenessOnUse=1.
treeUCOfficial
→ scenario → healthSystem → DecisionTree5Day → treeUCOfficial
<treeUCOfficial
[ name=string ]
>
EXACTLY ONE OF:
| <multiple ... />
| <caseType ... />
| <diagnostic ... />
| <random ... />
| <age ... />
| <noTreatment ... />
| <treatFailure ... />
| ( <treatPKPD ... /> )+
| <treatSimple ... />
| ( <deploy ... /> )+
</treeUCOfficial>
Documentation (type)
Describes how "decisions" are made, both probabilistically and deterministically, and what actions are carried out.
Quantities may also be reported as a side effect of decisions made in the tree, for example the number of diagnostics used.
Attributes
Name
name=string
An optional piece of documentation attached to this node.
treeUCSelfTreat
→ scenario → healthSystem → DecisionTree5Day → treeUCSelfTreat
<treeUCSelfTreat
[ name=string ]
>
EXACTLY ONE OF:
| <multiple ... />
| <caseType ... />
| <diagnostic ... />
| <random ... />
| <age ... />
| <noTreatment ... />
| <treatFailure ... />
| ( <treatPKPD ... /> )+
| <treatSimple ... />
| ( <deploy ... /> )+
</treeUCSelfTreat>
Documentation (type)
Describes how "decisions" are made, both probabilistically and deterministically, and what actions are carried out.
Quantities may also be reported as a side effect of decisions made in the tree, for example the number of diagnostics used.
Attributes
Name
name=string
An optional piece of documentation attached to this node.
Cure rate (severe cases)
→ scenario → healthSystem → DecisionTree5Day → cureRateSevere
<cureRateSevere
value=double
/>
Documentation (element)
Min: 0 Max: 1
The probability of clearing parasites given access to appropriate (hospital) care, for a severe case.
Attributes
Input parameter value
value=double
A double-precision floating-point value.
treatmentSevere
→ scenario → healthSystem → DecisionTree5Day → treatmentSevere
<treatmentSevere
[ name=string ]
>
IN THIS ORDER:
| ( <deploy ... /> )*
</treatmentSevere>
Documentation (type)
Describes the effects of the treatment, assuming this compliance/adherence/... option is selected. Effects are described in terms of a list of options, each of which acts independently but with all effects being activated simultaneously.
Documentation (base type)
Lists intervention components which are deployed according to some external trigger (for example, screening with a negative patency outcome or health-system treatment).
Components are referenced from one or more sub-lists. Each of these lists is deployed independently if and only if its age constraints are met by the human host and a random sample with the given probability of a positive outcome is positive.
Attributes
Name
name=string
Describes what this compliance option represents (e.g. "good compliance", "poor compliance with good drugs", ...).
Case fatality rate for inpatients
→ scenario → healthSystem → CFR
<CFR
[ interpolation=("none" or "linear") ]
>
IN THIS ORDER:
| ( <group ... /> )+
</CFR>
Documentation (element)
Case fatality rate (probability of an inpatient fatality from a bout of severe malaria, per age-group).
Attributes
interpolation
interpolation=("none" or "linear")
Interpolation algorithm. Normally it is desirable for age-based values to be continuous w.r.t. age. By default linear interpolation is used. With all algorithms except "none", the age groups are converted to a set of points centred within each age range. Extra points are added at each end (zero and infinity) to keep value constant at both ends of the function. A zero-length age group may be used as a kind of barrier to adjust the distribution; e.g. with age group boundaries at 15, 20 and 25 years, a (linear) spline would be drawn between ages 17.5 and 22.5, whereas with boundaries at 15, 20 and 20 years, a spline would be drawn between ages 17.5 and 20 years (may be desired if individuals are assumed to reach adult size at 20). Algorithms:
- none: input values are used directly
- linear: straight lines (on an age vs. value graph) are used to interpolate data points.
Probabilities of sequelae in inpatients
→ scenario → healthSystem → pSequelaeInpatient
<pSequelaeInpatient
[ interpolation=("none" or "linear") ]
>
IN THIS ORDER:
| ( <group ... /> )+
</pSequelaeInpatient>
Documentation (element)
Units: Dimensionless
List of age-specific probabilities of sequelae in inpatients, during a severe bout of malaria.
Attributes
interpolation
interpolation=("none" or "linear")
Interpolation algorithm. Normally it is desirable for age-based values to be continuous w.r.t. age. By default linear interpolation is used. With all algorithms except "none", the age groups are converted to a set of points centred within each age range. Extra points are added at each end (zero and infinity) to keep value constant at both ends of the function. A zero-length age group may be used as a kind of barrier to adjust the distribution; e.g. with age group boundaries at 15, 20 and 25 years, a (linear) spline would be drawn between ages 17.5 and 22.5, whereas with boundaries at 15, 20 and 20 years, a spline would be drawn between ages 17.5 and 20 years (may be desired if individuals are assumed to reach adult size at 20). Algorithms:
- none: input values are used directly
- linear: straight lines (on an age vs. value graph) are used to interpolate data points.
Change transmission levels
→ scenario → interventions → changeEIR
<changeEIR
[ name=string ]
>
IN THIS ORDER:
| ( <timedDeployment ... /> )*
</changeEIR>
Documentation (element)
New description of transmission level for models not supporting vector control interventions. Use of this overrides previous transmission levels such that human infectiousness no longer has any feedback effect on transmission. Supplied EIR data must last until end of simulation.
Attributes
Name of intervention
name=string
Name of intervention
timedDeployment
→ scenario → interventions → changeEIR → timedDeployment
<timedDeployment
eipDuration=int
time=string
>
IN THIS ORDER:
| ( <EIRDaily ... /> )+
</timedDeployment>
Documentation (type)
Replacement transmission levels. Disables feedback of human infectiousness to mosquitoes on further mosquito to human transmission. Must last until end of simulation.
Attributes
Duration of sporogony
eipDuration=int
Units: Days
The duration of sporogony in days
Time
time=string
Units: User defined (defauls to steps) Min: 0
Time at which this replacement occurs. See doc on intervention period and on monitoring/startDate for details of how times work. Can be specified in steps, days, years, or as a date (examples: 15t, 75d, 0.2y, 2000-03-16).
EIRDaily
→ scenario → entomology → nonVector → EIRDaily
<EIRDaily
[ origin=string ]
>
double
</EIRDaily>
Documentation (type)
Units: Infectious bites per adult per day
In the non-vector model, EIR is input as a sequence of daily values. There must be at least one years' worth of entries (365), and if there are more, values are wrapped and averaged (i.e. value for first day of year is taken as the mean of values for days 0, 365+0, 2*365+0, etc.).
Attributes
Time origin of EIR sequence
origin=string
Imported infections
→ scenario → interventions → importedInfections
<importedInfections
[ name=string ]
>
IN THIS ORDER:
| <timed ... />
</importedInfections>
Documentation (element)
Models importation of P. falciparum infections directly into humans from an external source. This is infections, not inoculations or EIR being imported.
Attributes
Name of intervention
name=string
Name of intervention
Rate of importation
→ scenario → interventions → importedInfections → timed
<timed
[ period=string ] DEFAULT VALUE 0
>
IN THIS ORDER:
| ( <rate ... /> )+
</timed>
Documentation (element)
Rate of case importation, as a step function. Each value is valid until replaced by the next value.
Attributes
Period of repetition
period=string
Units: User defined (default: steps) Min: 0
Default value: 0
If period is 0 (or effectively infinite), the last specified value remains indefinitely in effect, otherwise the times of all values specified must be less than the period, and values are repeated modulo period (the step at time 'period+2t' has same value as the step at '2t', etc.). Can be specified in steps (e.g. 1t) or days (e.g. 365d).
rate
→ scenario → interventions → importedInfections → timed → rate
<rate
value=double
time=string
/>
Documentation (type)
Units: Imported cases per thousand people per year
A time-rate pair.
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Time of start
time=string
Units: User defined (defauls to steps) Min: 0
Time at which this importation rate becomes active. See doc on intervention period and on monitoring/startDate for details of how times work. Can be specified in steps, days, years, or as a date (examples: 15t, 75d, 0.2y, 2000-03-16).
Insert R_0 case
→ scenario → interventions → insertR_0Case
<insertR_0Case
[ name=string ]
>
IN THIS ORDER:
| ( <timedDeployment ... /> )*
</insertR_0Case>
Documentation (element)
Used to simulate R_0. First, infections should be eliminated, immunity removed, and the population given an effective transmission- blocking vaccine (not done by this intervention). Then this intervention may be used to: pick one human, infect him, administer a fully effective Preerythrocytic vaccine and remove transmission-blocking vaccine effect on this human. Thus only this one human will be a source of infections in an unprotected population, and will not reinfected himself.
Attributes
Name of intervention
name=string
Name of intervention
timedDeployment
→ scenario → interventions → insertR_0Case → timedDeployment
<timedDeployment
time=string
/>
Attributes
Time
time=string
Units: User defined (defauls to steps) Min: 0
Time at which this intervention occurs. See doc on intervention period and on monitoring/startDate for details of how times work. Can be specified in steps, days, years, or as a date (examples: 15t, 75d, 0.2y, 2000-03-16).
Uninfect vectors
→ scenario → interventions → uninfectVectors
<uninfectVectors
[ name=string ]
>
IN THIS ORDER:
| ( <timedDeployment ... /> )*
</uninfectVectors>
Documentation (element)
Units: List of elements
Removes all infections from mosquitoes -- resulting in zero EIR to humans, until such time that mosquitoes are re-infected and become infectious. Only efficacious in dynamic EIR mode (when changeEIR was not used).
Hypothetical, but potentially useful to simulate a setting starting from no infections, but with enough mosquitoes to reach a set equilibrium of exposure.
Attributes
Name of intervention
name=string
Name of intervention
timedDeployment
→ scenario → interventions → uninfectVectors → timedDeployment
<timedDeployment
time=string
/>
Attributes
Time
time=string
Units: User defined (defauls to steps) Min: 0
Time at which this intervention occurs. See doc on intervention period and on monitoring/startDate for details of how times work. Can be specified in steps, days, years, or as a date (examples: 15t, 75d, 0.2y, 2000-03-16).
Vector population intervention
→ scenario → interventions → vectorPop
<vectorPop>
IN THIS ORDER:
| ( <intervention ... /> )+
</vectorPop>
Documentation (element)
Units: List of elements
A list of parameterisations of generic vector host-inspecific interventions.
intervention
→ scenario → interventions → vectorPop → intervention
<intervention
name=string
>
IN THIS ORDER:
| <description ... />
| [ <timed ... /> ]
</intervention>
Documentation (type)
Units: List of elements
An intervention which may have various effects on the vector populations as a whole. (Not host specific.)
Multiple instances of this intervention class are allowed (multiple parameterisations, not just deployments).
Each instance may have multiple deployments. In this case the effects of each instance are independent (effects are combined) but the effects of multiple deployments of a single instance are not independent (only the latest deployment has any effect).
Attributes
Name of intervention
name=string
Name of intervention (e.g. larviciding, sugar bait).
description
→ scenario → interventions → vectorPop → intervention → description
<description>
IN THIS ORDER:
| ( <anopheles ... /> )+
</description>
anopheles
→ scenario → interventions → vectorPop → intervention → description → anopheles
<anopheles
mosquito=string
>
IN ANY ORDER:
| [ <seekingDeathRateIncrease ... /> ]
| [ <probDeathOvipositing ... /> ]
| [ <emergenceReduction ... /> ]
</anopheles>
Documentation (type)
Units: dimensionless Min: 0 Max: 1
Descriptions of the effects of vector interventions with per-species effects.
Attributes
Species/subspecies/variant name
mosquito=string
Name of the species/subspecies/variant.
Proportional increase in deaths while host searching
→ scenario → interventions → vectorPop → intervention → description → anopheles → seekingDeathRateIncrease
<seekingDeathRateIncrease
initial=double
>
IN THIS ORDER:
| <decay ... />
</seekingDeathRateIncrease>
Documentation (element)
Units: dimensionless
Describe an effect on the increase in the death rate while host seeking (mu_vA) due to this intervention.
Enter the rate increase (i.e. if rate increases to 120% of normal, give 0.2). New death rate while seeking is old × (1 + increase) where increase is this factor given. Must have increas ≥ -1.
Attributes
Initial proportion increase
initial=double
Units: dimensionless Min: -1 Max: inf
decay
→ scenario → interventions → vectorPop → intervention → description → anopheles → seekingDeathRateIncrease → decay
<decay
function=("constant" or "step" or "linear" or "exponential" or "weibull" or "hill" or "smooth-compact")
[ L=string ]
[ k=double ] DEFAULT VALUE 1.0
[ mu=double ] DEFAULT VALUE 0
[ sigma=double ] DEFAULT VALUE 0
/>
Documentation (type)
Specification of decay or survival of a parameter.
Attributes
function
function=("constant" or "step" or "linear" or "exponential" or "weibull" or "hill" or "smooth-compact")
Units: None Min: 0 Max: 1
Determines which decay function to use. Available decay functions, for age t in years: constant: 1 step: 1 for t less than L, otherwise 0 linear: 1 - t/L for t less than L, otherwise 0 exponential: exp( - t/L * log(2) ) weibull: exp( -(t/L)^k * log(2) ) hill: 1 / (1 + (t/L)^k) smooth-compact: exp( k - k / (1 - (t/L)^2) ) for t less than L, otherwise 0
L
L=string
Units: User-defined (defaults to years) Min: 0
(Time) scale parameter of distribution: this is either the age of complete decay (smooth-compact, step and linear functions) or the age at which the parameter has decayed to half its original value (exponential, weibull and hill). Not used when function="constant" (i.e. no decay). This value can be specified in years, days or steps (e.g. 2y, 180d or 100t). When the unit is not specified years are assumed. The value is used without rounding except when sampling an age of decay, when the rounding happens as late as possible.
k
k=double
Units: none Min: 0
Default value: 1.0
Shape parameter of distribution. If not specified, default value of 1 is used. Meaning depends on function; not used in some cases.
μ (mu)
mu=double
Min: 0
Default value: 0
If sigma is non-zero, heterogeneity of decay is introduced via a random variable sampled from the log-normal distribution with mu and sigma as specified. Both mu and sigma default to zero when not specified. The decay rate is multiplied by this variable (effectively, the half-life is divided by it). Note that with m=0, the median of the variable and the median value of L is unchanged, and thus the time at which the median decay amongst the population of decaying objects reaches half (assuming exponential, Weibull or Hill decay) is L. With m=-½σ² (negative half sigma squared) the mean of the variable will be 1 and mean of the half-life L, but the time at which mean decay of the population has reached half may not be L.
σ (sigma)
sigma=double
Min: 0
Default value: 0
If sigma is non-zero, heterogeneity of decay is introduced via a random variable sampled from the log-normal distribution with mu and sigma as specified. Both mu and sigma default to zero when not specified. The decay rate is multiplied by this variable (effectively, the half-life is divided by it).
Proportion ovipositing mosquitoes killed
→ scenario → interventions → vectorPop → intervention → description → anopheles → probDeathOvipositing
<probDeathOvipositing
initial=double
>
IN THIS ORDER:
| <decay ... />
</probDeathOvipositing>
Documentation (element)
Units: dimensionless
Describe an effect of increased mortality while ovipositing due to this intervention. Enter the probability of dying due to this intervention.
Attributes
Initial probability of killing
initial=double
Units: dimensionless Min: 0 Max: 1
decay
→ scenario → interventions → vectorPop → intervention → description → anopheles → probDeathOvipositing → decay
<decay
function=("constant" or "step" or "linear" or "exponential" or "weibull" or "hill" or "smooth-compact")
[ L=string ]
[ k=double ] DEFAULT VALUE 1.0
[ mu=double ] DEFAULT VALUE 0
[ sigma=double ] DEFAULT VALUE 0
/>
Documentation (type)
Specification of decay or survival of a parameter.
Attributes
function
function=("constant" or "step" or "linear" or "exponential" or "weibull" or "hill" or "smooth-compact")
Units: None Min: 0 Max: 1
Determines which decay function to use. Available decay functions, for age t in years: constant: 1 step: 1 for t less than L, otherwise 0 linear: 1 - t/L for t less than L, otherwise 0 exponential: exp( - t/L * log(2) ) weibull: exp( -(t/L)^k * log(2) ) hill: 1 / (1 + (t/L)^k) smooth-compact: exp( k - k / (1 - (t/L)^2) ) for t less than L, otherwise 0
L
L=string
Units: User-defined (defaults to years) Min: 0
(Time) scale parameter of distribution: this is either the age of complete decay (smooth-compact, step and linear functions) or the age at which the parameter has decayed to half its original value (exponential, weibull and hill). Not used when function="constant" (i.e. no decay). This value can be specified in years, days or steps (e.g. 2y, 180d or 100t). When the unit is not specified years are assumed. The value is used without rounding except when sampling an age of decay, when the rounding happens as late as possible.
k
k=double
Units: none Min: 0
Default value: 1.0
Shape parameter of distribution. If not specified, default value of 1 is used. Meaning depends on function; not used in some cases.
μ (mu)
mu=double
Min: 0
Default value: 0
If sigma is non-zero, heterogeneity of decay is introduced via a random variable sampled from the log-normal distribution with mu and sigma as specified. Both mu and sigma default to zero when not specified. The decay rate is multiplied by this variable (effectively, the half-life is divided by it). Note that with m=0, the median of the variable and the median value of L is unchanged, and thus the time at which the median decay amongst the population of decaying objects reaches half (assuming exponential, Weibull or Hill decay) is L. With m=-½σ² (negative half sigma squared) the mean of the variable will be 1 and mean of the half-life L, but the time at which mean decay of the population has reached half may not be L.
σ (sigma)
sigma=double
Min: 0
Default value: 0
If sigma is non-zero, heterogeneity of decay is introduced via a random variable sampled from the log-normal distribution with mu and sigma as specified. Both mu and sigma default to zero when not specified. The decay rate is multiplied by this variable (effectively, the half-life is divided by it).
Proportion of emerging pupa killed
→ scenario → interventions → vectorPop → intervention → description → anopheles → emergenceReduction
<emergenceReduction
initial=double
>
IN THIS ORDER:
| <decay ... />
</emergenceReduction>
Documentation (element)
Units: dimensionless
Describe an effect on emergence of pupa into adults: this value is the proportion of emerging pupa which are killed by this intervention.
This can be used as a crude way of modelling larviciding. It ca also be used to increase emergence by giving a negative value. The emergence rate is "old rate" × (1 - factor) where factor is the value given here; thus, for example, using -1 will double emergence.
Attributes
Initial proportion reduction
initial=double
Units: dimensionless Min: -inf Max: 1
decay
→ scenario → interventions → vectorPop → intervention → description → anopheles → emergenceReduction → decay
<decay
function=("constant" or "step" or "linear" or "exponential" or "weibull" or "hill" or "smooth-compact")
[ L=string ]
[ k=double ] DEFAULT VALUE 1.0
[ mu=double ] DEFAULT VALUE 0
[ sigma=double ] DEFAULT VALUE 0
/>
Documentation (type)
Specification of decay or survival of a parameter.
Attributes
function
function=("constant" or "step" or "linear" or "exponential" or "weibull" or "hill" or "smooth-compact")
Units: None Min: 0 Max: 1
Determines which decay function to use. Available decay functions, for age t in years: constant: 1 step: 1 for t less than L, otherwise 0 linear: 1 - t/L for t less than L, otherwise 0 exponential: exp( - t/L * log(2) ) weibull: exp( -(t/L)^k * log(2) ) hill: 1 / (1 + (t/L)^k) smooth-compact: exp( k - k / (1 - (t/L)^2) ) for t less than L, otherwise 0
L
L=string
Units: User-defined (defaults to years) Min: 0
(Time) scale parameter of distribution: this is either the age of complete decay (smooth-compact, step and linear functions) or the age at which the parameter has decayed to half its original value (exponential, weibull and hill). Not used when function="constant" (i.e. no decay). This value can be specified in years, days or steps (e.g. 2y, 180d or 100t). When the unit is not specified years are assumed. The value is used without rounding except when sampling an age of decay, when the rounding happens as late as possible.
k
k=double
Units: none Min: 0
Default value: 1.0
Shape parameter of distribution. If not specified, default value of 1 is used. Meaning depends on function; not used in some cases.
μ (mu)
mu=double
Min: 0
Default value: 0
If sigma is non-zero, heterogeneity of decay is introduced via a random variable sampled from the log-normal distribution with mu and sigma as specified. Both mu and sigma default to zero when not specified. The decay rate is multiplied by this variable (effectively, the half-life is divided by it). Note that with m=0, the median of the variable and the median value of L is unchanged, and thus the time at which the median decay amongst the population of decaying objects reaches half (assuming exponential, Weibull or Hill decay) is L. With m=-½σ² (negative half sigma squared) the mean of the variable will be 1 and mean of the half-life L, but the time at which mean decay of the population has reached half may not be L.
σ (sigma)
sigma=double
Min: 0
Default value: 0
If sigma is non-zero, heterogeneity of decay is introduced via a random variable sampled from the log-normal distribution with mu and sigma as specified. Both mu and sigma default to zero when not specified. The decay rate is multiplied by this variable (effectively, the half-life is divided by it).
Vector population intervention deployment
→ scenario → interventions → vectorPop → intervention → timed
<timed>
IN THIS ORDER:
| ( <deploy ... /> )+
</timed>
Documentation (element)
List of timed vector population intervention deployment
deploy
→ scenario → interventions → vectorPop → intervention → timed → deploy
<deploy
time=string
/>
Attributes
Time
time=string
Units: User defined (defauls to steps) Min: 0
Time at which this deployment occurs. See doc on intervention period and on monitoring/startDate for details of how times work. Can be specified in steps, days, years, or as a date (examples: 15t, 75d, 0.2y, 2000-03-16).
Human-specific interventions
→ scenario → interventions → human
<human>
IN THIS ORDER:
| ( <component ... /> )+
| ( <deployment ... /> )*
</human>
Documentation (element)
Encapsulates all interventions whose effects are specific to the human host: any interventions where target humans may be selected via population-coverage, age limits and sub-population membership.
Component
→ scenario → interventions → human → component
<component
id=string
[ name=string ]
>
IN THIS ORDER:
| EXACTLY ONE OF:
| | <screen ... />
| | <treatSimple ... />
| | <treatPKPD ... />
| | <decisionTree ... />
| | <PEV ... />
| | <BSV ... />
| | <TBV ... />
| | <ITN ... />
| | <IRS ... />
| | <GVI ... />
| | [ <recruitmentOnly ... /> ]
| | <clearImmunity ... />
| [ <subPopRemoval ... /> ]
</component>
- screen
- treatSimple
- treatPKPD
- decisionTree
- PEV
- BSV
- TBV
- ITN
- IRS
- GVI
- recruitmentOnly
- clearImmunity
- subPopRemoval
Documentation (element)
A parameterisation of an effect achieved by one component of an intervention. (An intervention is described as the effects of a set of components plus deployments of those components. This describes the components individually, not deployments or which components comprise an intervention.)
Each element describes one component: its effects, decay of the(se) effect(s), and related stuff (e.g. description of indirect decay and of usage levels).
Different interventions can deploy the same component to the same perso. In most cases this will just deploy a fresh instance (e.g. a new bed net will replace the old (nobody uses multiple bed nets), or a new drug dose will act on top of previous doses, or in the case of a vaccine, effect depends on the total number of previous inoculations (including from other interventions).
Where multiple components of the same type (but with different ids) are deployed (whether within a single intervention or by multiple interventions), they act independently (e.g. two bed nets deployed to a single host would act to reduce attractiveness or survival of mosquitoes biting that host twice — this may be useful to simulate some novel vector intervention since the two nets may have separate parameters).
Attributes
Component identifier
id=string
A short name or code identifying the intervention component (used to refer to this component when describing an intervention). Also the id of the sub-population defined as those hosts who have received this intervention and who haven't subsequently been removed from the sub-population.
Name of component
name=string
An informal name/description for the component
screen
→ scenario → interventions → human → component → screen
<screen
diagnostic=string
>
IN THIS ORDER:
| ( <positive ... /> )*
| ( <negative ... /> )*
</screen>
Documentation (type)
This can be combined with MDA to achieve mass screen and treat (MSAT) or other types of mass screening intervention.
When deployed to a host, this simulates a test of patent malaria (microscopy, RDT or some such), then triggers deployment of whichever intervention components are configured (deployments for both positive and negative test outcomes can be configured).
The use of the screening itself is reported (if enabled), but not the outcome. Deployment of interventions triggered by the screening may be reported, however.
Attributes
Name of diagnostic
diagnostic=string
Name of a parameterised diagnostic (see scenario/diagnostics).
positive
→ scenario → interventions → human → component → screen → positive
<positive
id=string
/>
Documentation (type)
The list of components deployed to eligible humans.
Attributes
Identifier
id=string
The identifier (short name) of a component.
negative
→ scenario → interventions → human → component → screen → negative
<negative
id=string
/>
Documentation (type)
The list of components deployed to eligible humans.
Attributes
Identifier
id=string
The identifier (short name) of a component.
treatSimple
→ scenario → interventions → human → component → treatSimple
<treatSimple
durationLiver=string
durationBlood=string
/>
Documentation (type)
Simple treatment model, targetting liver- and/or blood-stage infections. This is all-or-nothing treatment which, when deploymed, completely clears all infections of the targetted stages. This makes it unsuitable for modeling resistance, but suitable for use with simple infection models.
Infections are considered liver-stage when less than five days old and blood-stage after that. Effects are described independently for the two stages.
Attributes
Length of liver-stage effect
durationLiver=string
Units: User defined
Controls action on liver-stage infections. 0 means no action, -1 step is a compatibility option to act like treatment before schema version 32 (which removed infections retrospectively), 1 step or any duration which equals some whole number of steps n>0 means to clear all liver-stage infections found on the next 1 or n steps. Note on -1 compatibility option: the main difference to 1 step (clearing on the next timestep) is that parasite densities will be reduced immediately, and thus from the point of view of surveys and mass screen and treat interventions a peak in density which is immediately treated through case management will not be seen. Can be specified in steps (e.g. 1t, -1t) or days (e.g. 5d).
Length of blood-stage effect
durationBlood=string
Units: User defined
Controls action on blood-stage infections. 0 means no action, -1 step is a compatibility option to act like treatment before schema version 32 (which removed infections retrospectively), 1 step or any duration which equals some whole number of steps n>0 means to clear all blood-stage infections found on the next 1 or n steps. Note on -1 compatibility option: the main difference to 1 step (clearing on the next timestep) is that parasite densities will be reduced immediately, and thus from the point of view of surveys and mass screen and treat interventions a peak in density which is immediately treated through case management will not be seen. Can be specified in steps (e.g. 1t, -1t) or days (e.g. 5d).
treatPKPD
→ scenario → interventions → human → component → treatPKPD
<treatPKPD
schedule=string
dosage=string
[ delay_h=double ] DEFAULT VALUE 0
/>
Documentation (type)
A command to administer drugs according to a given schedule and dosage table, optionally with a delay.
Attributes
Name of treatment schedule
schedule=string
The name of a schedule to use for treatment.
Name of dosage table
dosage=string
The name of a dosage table to use for treatment.
Delay (hours)
delay_h=double
Default value: 0
Optionally, this can be given to delay the start of treatment by a given number of hours. If not specified, treatment is not delayed. If a delay is given, all medications within the treatment schedule used are delayed by this number of hours.
decisionTree
→ scenario → interventions → human → component → decisionTree
<decisionTree
[ name=string ]
>
EXACTLY ONE OF:
| <multiple ... />
| <caseType ... />
| <diagnostic ... />
| <random ... />
| <age ... />
| <noTreatment ... />
| <treatFailure ... />
| ( <treatPKPD ... /> )+
| <treatSimple ... />
| ( <deploy ... /> )+
</decisionTree>
Documentation (type)
Describes how "decisions" are made, both probabilistically and deterministically, and what actions are carried out.
Quantities may also be reported as a side effect of decisions made in the tree, for example the number of diagnostics used.
Attributes
Name
name=string
An optional piece of documentation attached to this node.
Vaccines
→ scenario → interventions → human → component → PEV
<PEV>
IN THIS ORDER:
| <decay ... />
| <efficacyB ... />
| ( <initialEfficacy ... /> )+
</PEV>
Documentation (element)
Pre-erythrocytic vaccine (PEV): prevents a proportion of infections from commencing.
Documentation (type)
Description of a vaccine's effect
Decay of effect
→ scenario → interventions → human → component → PEV → decay
<decay
function=("constant" or "step" or "linear" or "exponential" or "weibull" or "hill" or "smooth-compact")
[ L=string ]
[ k=double ] DEFAULT VALUE 1.0
[ mu=double ] DEFAULT VALUE 0
[ sigma=double ] DEFAULT VALUE 0
/>
Documentation (element)
Specification of decay of efficacy. Documentation: see DecayFunction type or https://github.com/SwissTPH/openmalaria/wiki/ModelDecayFunctions
Documentation (type)
Specification of decay or survival of a parameter.
Attributes
function
function=("constant" or "step" or "linear" or "exponential" or "weibull" or "hill" or "smooth-compact")
Units: None Min: 0 Max: 1
Determines which decay function to use. Available decay functions, for age t in years: constant: 1 step: 1 for t less than L, otherwise 0 linear: 1 - t/L for t less than L, otherwise 0 exponential: exp( - t/L * log(2) ) weibull: exp( -(t/L)^k * log(2) ) hill: 1 / (1 + (t/L)^k) smooth-compact: exp( k - k / (1 - (t/L)^2) ) for t less than L, otherwise 0
L
L=string
Units: User-defined (defaults to years) Min: 0
(Time) scale parameter of distribution: this is either the age of complete decay (smooth-compact, step and linear functions) or the age at which the parameter has decayed to half its original value (exponential, weibull and hill). Not used when function="constant" (i.e. no decay). This value can be specified in years, days or steps (e.g. 2y, 180d or 100t). When the unit is not specified years are assumed. The value is used without rounding except when sampling an age of decay, when the rounding happens as late as possible.
k
k=double
Units: none Min: 0
Default value: 1.0
Shape parameter of distribution. If not specified, default value of 1 is used. Meaning depends on function; not used in some cases.
μ (mu)
mu=double
Min: 0
Default value: 0
If sigma is non-zero, heterogeneity of decay is introduced via a random variable sampled from the log-normal distribution with mu and sigma as specified. Both mu and sigma default to zero when not specified. The decay rate is multiplied by this variable (effectively, the half-life is divided by it). Note that with m=0, the median of the variable and the median value of L is unchanged, and thus the time at which the median decay amongst the population of decaying objects reaches half (assuming exponential, Weibull or Hill decay) is L. With m=-½σ² (negative half sigma squared) the mean of the variable will be 1 and mean of the half-life L, but the time at which mean decay of the population has reached half may not be L.
σ (sigma)
sigma=double
Min: 0
Default value: 0
If sigma is non-zero, heterogeneity of decay is introduced via a random variable sampled from the log-normal distribution with mu and sigma as specified. Both mu and sigma default to zero when not specified. The decay rate is multiplied by this variable (effectively, the half-life is divided by it).
Variance parameter for vaccine efficacy
→ scenario → interventions → human → component → PEV → efficacyB
<efficacyB
value=double
/>
Documentation (element)
Units: Positive real Min: 0.001 Max: 1.00E+06
Measure of variation in vaccine efficacy: efficacy is sampled from a beta distribution with efficacyB its beta parameter and its alpha parameter fixed such that the mean is that given by initialEfficacy.
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Initial mean efficacy
→ scenario → interventions → human → component → PEV → initialEfficacy
<initialEfficacy
value=double
/>
Documentation (element)
Units: dimensionless Min: 0 Max: 1
Mean efficacy values before decay (see efficacyB and decay parameter descriptions for sampling and decay). The i-th value in this list is used for the efficacy of the vaccine after the i-th dose. Where more doses are given than there are values in this list, the last value is repeated.
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Vaccines
→ scenario → interventions → human → component → BSV
<BSV>
IN THIS ORDER:
| <decay ... />
| <efficacyB ... />
| ( <initialEfficacy ... /> )+
</BSV>
Documentation (element)
Blood-stage vaccine (BSV): acts as a killing factor on blood-stage parasites. Exact action depends on the within host model.
Documentation (type)
Description of a vaccine's effect
Vaccines
→ scenario → interventions → human → component → TBV
<TBV>
IN THIS ORDER:
| <decay ... />
| <efficacyB ... />
| ( <initialEfficacy ... /> )+
</TBV>
Documentation (element)
Transmission-blocking vaccine (TBV): one minus this scales the probability of transmission to mosquitoes
Documentation (type)
Description of a vaccine's effect
Bed nets
→ scenario → interventions → human → component → ITN
<ITN>
IN THIS ORDER:
| [ <usage ... /> ]
| <holeRate ... />
| <ripRate ... />
| <ripFactor ... />
| <initialInsecticide ... />
| <insecticideDecay ... />
| <attritionOfNets ... />
| ( <anophelesParams ... /> )+
</ITN>
- usage
- holeRate
- ripRate
- ripFactor
- initialInsecticide
- insecticideDecay
- attritionOfNets
- anophelesParams
Documentation (element)
Description of bed-net interventions (ITNs, LLINs).
Proportion of time nets are used by humans
→ scenario → interventions → human → component → ITN → usage
<usage
value=double
/>
Documentation (element)
Units: dimensionless Min: 0 Max: 1
Usage of nets by humans, from 0 to 1.
At the moment this is constant across humans and deterministic: relative attractiveness and survival factors are base*(1-usagepropActing) + intervention_factorusage*propActing.
See also "propActing" (proportion of bits for which net acts).
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Rate at which holes are made
→ scenario → interventions → human → component → ITN → holeRate
<holeRate
mean=double
sigma=double
/>
Documentation (element)
Units: Holes per annum Min: 0
The rate at which new holes are made in nets.
nHoles(t) = nHoles(t-1) + X where X~Pois(R/T) where T is the number of time-steps per year. R is sampled from log-normal: R ~ log N( log(mean)-sigma²/2, sigma² ) and is covariant with ripRate and insecticideDecay. (To be exact, a single Gaussian sample is taken, adjusted for each sigma then exponentiated.)
Documentation (type)
Parameters of a log-normal distribution.
Variates are sampled as: X ~ ln N( log(mean)-sigma²/2, sigma² ).
Equivalent R sample: rlnorm(n, log(m) - s*s/2, s)
Attributes
mean
mean=double
Units: (same as base units)
The mean of the lognormal distribution.
sigma
sigma=double
Sigma parameter of the lognormal distribution; sigma squared is the variance of the log of samples.
Rate at which holes are enlarged
→ scenario → interventions → human → component → ITN → ripRate
<ripRate
mean=double
sigma=double
/>
Documentation (element)
Units: Rips per existing hole per annum Min: 0
Each existing hole has a probability of being ripped bigger according to a Poisson process with this rate as (only) parameter.
New rips occur in a net at rate X~Pois(h×R/T) where h is the number of existing holes and T the number of time-steps per year. R is sampled from log-normal: R ~ log N( log(mean)-sigma²/2, sigma² ) and is covariant with holeRate and insecticideDecay. (To be exact, a single Gaussian sample is taken, adjusted for the each and sigma then exponentiated.)
Documentation (type)
Parameters of a log-normal distribution.
Variates are sampled as: X ~ ln N( log(mean)-sigma²/2, sigma² ).
Equivalent R sample: rlnorm(n, log(m) - s*s/2, s)
Attributes
mean
mean=double
Units: (same as base units)
The mean of the lognormal distribution.
sigma
sigma=double
Sigma parameter of the lognormal distribution; sigma squared is the variance of the log of samples.
Rip factor
→ scenario → interventions → human → component → ITN → ripFactor
<ripFactor
value=double
/>
Documentation (element)
Units: none Min: 0
This factor expresses how important rips are in increasing the hole.
The hole index of a net is h + F×x where h and x are the total numbers of holes and rips respectively and F is the rip factor.
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Initial insecticide
→ scenario → interventions → human → component → ITN → initialInsecticide
<initialInsecticide
mu=double
sigma=double
/>
Documentation (element)
Units: mg/m² Min: 0
The insecticide concentration of new nets is Gaussian distributed with mean "mu" and a standard deviation "sigma". The standard deviation should be small relative to the mean to avoid negative initial concentration. Any negative values sampled are set to 0.
Documentation (type)
Parameters of a normal distribution.
Variates are sampled as: X ~ N( mu, sigma² ).
Attributes
mu
mu=double
Units: (same as base units)
The mean of the normal distribution.
sigma
sigma=double
Units: (same as base units)
The standard deviation of variates.
Decay of insecticide
→ scenario → interventions → human → component → ITN → insecticideDecay
<insecticideDecay
function=("constant" or "step" or "linear" or "exponential" or "weibull" or "hill" or "smooth-compact")
[ L=string ]
[ k=double ] DEFAULT VALUE 1.0
[ mu=double ] DEFAULT VALUE 0
[ sigma=double ] DEFAULT VALUE 0
/>
Documentation (element)
Units: none
Decay curve for insecticide content of nets. Documentation: see DecayFunction type or https://github.com/SwissTPH/openmalaria/wiki/ModelDecayFunctions
The distribution of decay rates over nets is covariant with the distribution of ripRate and holeRate over nets. This distribution is generated by taking one sample per net from a Gaussian distribution with mean 0 and standard deviation 1. For each variable, the sample is multiplied by the respective sigma and a constant added such that, once exponentiated, the mean of the variable over nets is 1. The variable is then exponentiated and multiplied by the required mean rate for the respective variable.
Documentation (type)
Specification of decay or survival of a parameter.
Attributes
function
function=("constant" or "step" or "linear" or "exponential" or "weibull" or "hill" or "smooth-compact")
Units: None Min: 0 Max: 1
Determines which decay function to use. Available decay functions, for age t in years: constant: 1 step: 1 for t less than L, otherwise 0 linear: 1 - t/L for t less than L, otherwise 0 exponential: exp( - t/L * log(2) ) weibull: exp( -(t/L)^k * log(2) ) hill: 1 / (1 + (t/L)^k) smooth-compact: exp( k - k / (1 - (t/L)^2) ) for t less than L, otherwise 0
L
L=string
Units: User-defined (defaults to years) Min: 0
(Time) scale parameter of distribution: this is either the age of complete decay (smooth-compact, step and linear functions) or the age at which the parameter has decayed to half its original value (exponential, weibull and hill). Not used when function="constant" (i.e. no decay). This value can be specified in years, days or steps (e.g. 2y, 180d or 100t). When the unit is not specified years are assumed. The value is used without rounding except when sampling an age of decay, when the rounding happens as late as possible.
k
k=double
Units: none Min: 0
Default value: 1.0
Shape parameter of distribution. If not specified, default value of 1 is used. Meaning depends on function; not used in some cases.
μ (mu)
mu=double
Min: 0
Default value: 0
If sigma is non-zero, heterogeneity of decay is introduced via a random variable sampled from the log-normal distribution with mu and sigma as specified. Both mu and sigma default to zero when not specified. The decay rate is multiplied by this variable (effectively, the half-life is divided by it). Note that with m=0, the median of the variable and the median value of L is unchanged, and thus the time at which the median decay amongst the population of decaying objects reaches half (assuming exponential, Weibull or Hill decay) is L. With m=-½σ² (negative half sigma squared) the mean of the variable will be 1 and mean of the half-life L, but the time at which mean decay of the population has reached half may not be L.
σ (sigma)
sigma=double
Min: 0
Default value: 0
If sigma is non-zero, heterogeneity of decay is introduced via a random variable sampled from the log-normal distribution with mu and sigma as specified. Both mu and sigma default to zero when not specified. The decay rate is multiplied by this variable (effectively, the half-life is divided by it).
Attrition of nets
→ scenario → interventions → human → component → ITN → attritionOfNets
<attritionOfNets
function=("constant" or "step" or "linear" or "exponential" or "weibull" or "hill" or "smooth-compact")
[ L=string ]
[ k=double ] DEFAULT VALUE 1.0
[ mu=double ] DEFAULT VALUE 0
[ sigma=double ] DEFAULT VALUE 0
/>
Documentation (element)
Units: dimensionless
Specifies the rate at which nets are disposed of over time. Documentation: see DecayFunction type or https://github.com/SwissTPH/openmalaria/wiki/ModelDecayFunctions
In the current model, nets are disposed of randomly (no correlation with state of decay) such that the chance of each net surviving until age t is the value of this decay function at time t. Equivalently (where a large number of nets are distributed at the same time), the proportion of nets remaining in use should match this decay function over time.
Humans are removed from the intervention component's sub-population on disposal (attrition) of their nets. Currently this event is not reported.
Documentation (type)
Specification of decay or survival of a parameter.
Attributes
function
function=("constant" or "step" or "linear" or "exponential" or "weibull" or "hill" or "smooth-compact")
Units: None Min: 0 Max: 1
Determines which decay function to use. Available decay functions, for age t in years: constant: 1 step: 1 for t less than L, otherwise 0 linear: 1 - t/L for t less than L, otherwise 0 exponential: exp( - t/L * log(2) ) weibull: exp( -(t/L)^k * log(2) ) hill: 1 / (1 + (t/L)^k) smooth-compact: exp( k - k / (1 - (t/L)^2) ) for t less than L, otherwise 0
L
L=string
Units: User-defined (defaults to years) Min: 0
(Time) scale parameter of distribution: this is either the age of complete decay (smooth-compact, step and linear functions) or the age at which the parameter has decayed to half its original value (exponential, weibull and hill). Not used when function="constant" (i.e. no decay). This value can be specified in years, days or steps (e.g. 2y, 180d or 100t). When the unit is not specified years are assumed. The value is used without rounding except when sampling an age of decay, when the rounding happens as late as possible.
k
k=double
Units: none Min: 0
Default value: 1.0
Shape parameter of distribution. If not specified, default value of 1 is used. Meaning depends on function; not used in some cases.
μ (mu)
mu=double
Min: 0
Default value: 0
If sigma is non-zero, heterogeneity of decay is introduced via a random variable sampled from the log-normal distribution with mu and sigma as specified. Both mu and sigma default to zero when not specified. The decay rate is multiplied by this variable (effectively, the half-life is divided by it). Note that with m=0, the median of the variable and the median value of L is unchanged, and thus the time at which the median decay amongst the population of decaying objects reaches half (assuming exponential, Weibull or Hill decay) is L. With m=-½σ² (negative half sigma squared) the mean of the variable will be 1 and mean of the half-life L, but the time at which mean decay of the population has reached half may not be L.
σ (sigma)
sigma=double
Min: 0
Default value: 0
If sigma is non-zero, heterogeneity of decay is introduced via a random variable sampled from the log-normal distribution with mu and sigma as specified. Both mu and sigma default to zero when not specified. The decay rate is multiplied by this variable (effectively, the half-life is divided by it).
anophelesParams
→ scenario → interventions → human → component → ITN → anophelesParams
<anophelesParams
mosquito=string
[ propActive=double ] DEFAULT VALUE 1
>
IN THIS ORDER:
| EXACTLY ONE OF:
| | <deterrency ... />
| | <twoStageDeterrency ... />
| <preprandialKillingEffect ... />
| <postprandialKillingEffect ... />
</anophelesParams>
Attributes
Mosquito species
mosquito=string
Name of the affected anopheles-mosquito species.
Proportion of bites for which net acts
propActive=double
Units: dimensionless Min: 0 Max: 1
Default value: 1
The proportion of bites, when nets are in use, for which the net has any action whatsoever on the mosquito. At the moment this is constant across humans and deterministic: relative attractiveness and survival factors are base*(1-usagepropActing) + intervention_factorusage*propActing. See also "usage" (proportion of time nets are used by humans).
Relative attractiveness
→ scenario → interventions → human → component → ITN → anophelesParams → deterrency
<deterrency
insecticideFactor=double
insecticideScalingFactor=double
holeFactor=double
interactionFactor=double
holeScalingFactor=double
/>
Documentation (element)
Units: dimensionless Min: 0 Max: 1
Effect of net on attractiveness of humans to mosquitoes relative to an unprotected adult human. Parameterisations should take into account that mosquitoes do not always bite indoors.
Attractiveness of the human is multiplied by exp(log(H)×h + log(P)×p + log(I)×h×p where H, P and I are the hole, insecticide and interaction factors respectively, h=exp(-holeIndex×holeScalingFactor) and p=1−exp(-insecticideContent×insecticideScalingFactor).
Attributes
Insecticide factor
insecticideFactor=double
Units: none Max: 1
Value expected to be at least 0. Negative values are not necessarily invalid, but allow nets to increase transmission.
Insecticide scaling factor
insecticideScalingFactor=double
Units: none Min: 0
Hole factor
holeFactor=double
Units: none Max: 1
Value expected to be at least 0. Negative values are not necessarily invalid, but allow nets to increase transmission.
Interaction factor
interactionFactor=double
Units: none Max: 1
holeFactor + insecticideFactor + interactionFactor must not be greater than 1, and is expected to be at least 0. A negative value is not necessarily invalid, but allows nets to increase transmission.
Hole scaling factor
holeScalingFactor=double
Units: none Min: 0
Relative attractiveness
→ scenario → interventions → human → component → ITN → anophelesParams → twoStageDeterrency
<twoStageDeterrency>
IN ANY ORDER:
| <entering ... />
| <attacking ... />
</twoStageDeterrency>
Documentation (element)
Units: dimensionless
Effect of net on attractiveness of humans to mosquitoes relative to an unprotected adult human. Parameterisations should take into account that mosquitoes do not always bite indoors.
This deterrency model multiplies human attractiveness by pEnt×pAtt divided by a base factor to normalise the output to 1 when there are no nets.
RA (entering)
→ scenario → interventions → human → component → ITN → anophelesParams → twoStageDeterrency → entering
<entering
insecticideFactor=double
insecticideScalingFactor=double
/>
Documentation (element)
Units: dimensionless
pEnt represents the relative probability of entering due to ITNs: pEnt = exp(log(P)×p) where P is the insecticide factor and p=1−exp(-insecticideContent×insecticideScalingFactor).
Attributes
Insecticide factor
insecticideFactor=double
Units: none Max: 1
Value expected to be at least 0. Negative values are not necessarily invalid, but allow nets to increase transmission.
Insecticide scaling factor
insecticideScalingFactor=double
Units: none Min: 0
RA (attacking)
→ scenario → interventions → human → component → ITN → anophelesParams → twoStageDeterrency → attacking
<attacking
insecticideFactor=double
insecticideScalingFactor=double
holeFactor=double
interactionFactor=double
holeScalingFactor=double
baseFactor=double
/>
Documentation (element)
Units: dimensionless
pAtt represents the relative probability of attacking a human after entering a house due to ITNs (i.e. of feeding/dying vs. flying off): pAtt = B + H×h + P×p + I×h×p where B is the base (without net) probability; H, P and I are the hole, insecticide and interaction factors respectively, h=exp(-holeIndex×holeScalingFactor) and p=1−exp(-insecticideContent×insecticideScalingFactor).
Attributes
Insecticide factor
insecticideFactor=double
Units: none Max: 1
Value expected to be at least 0. Negative values are not necessarily invalid, but allow nets to increase transmission.
Insecticide scaling factor
insecticideScalingFactor=double
Units: none Min: 0
Hole factor
holeFactor=double
Units: none Max: 1
Value expected to be at least 0. Negative values are not necessarily invalid, but allow nets to increase transmission.
Interaction factor
interactionFactor=double
Units: none Max: 1
holeFactor + insecticideFactor + interactionFactor must not be greater than 1, and is expected to be at least 0. A negative value is not necessarily invalid, but allows nets to increase transmission.
Hole scaling factor
holeScalingFactor=double
Units: none Min: 0
Probability of mosquito death without intervention
baseFactor=double
Units: dimensionless
Pre-prandial killing effect
→ scenario → interventions → human → component → ITN → anophelesParams → preprandialKillingEffect
<preprandialKillingEffect
insecticideFactor=double
insecticideScalingFactor=double
holeFactor=double
interactionFactor=double
holeScalingFactor=double
baseFactor=double
/>
Documentation (element)
Units: dimensionless Min: 0 Max: 1
Effect of net on survival mosquitoes as they seek to bite a human after choosing that human, relative to the same person not sleeping under a net. Parameterisations should take into account that mosquitoes do not always bite indoors.
Killing proportion is calculated as K = B + H×h + P×p + I×h×p where B is the base (without net) probability of death, H, P and I are the hole, insecticide and interaction factors respectively, h=exp(-holeIndex×holeScalingFactor) and p=1−exp(-insecticideContent×insecticideScalingFactor).
Survival of mosquitoes is adjusted via multiplication by (1−K) / (1−B). To keep this in the range [0,1], we require that B+H ≤ 1, B+P ≤ 1, B+H+P+I ≤ 1, H ≥ 0, P ≥ 0 and H+P+I ≥ 0.
Attributes
Insecticide factor
insecticideFactor=double
Units: none Max: 1
Value expected to be at least 0. Negative values are not necessarily invalid, but allow nets to increase transmission.
Insecticide scaling factor
insecticideScalingFactor=double
Units: none Min: 0
Hole factor
holeFactor=double
Units: none Max: 1
Value expected to be at least 0. Negative values are not necessarily invalid, but allow nets to increase transmission.
Interaction factor
interactionFactor=double
Units: none Max: 1
holeFactor + insecticideFactor + interactionFactor must not be greater than 1, and is expected to be at least 0. A negative value is not necessarily invalid, but allows nets to increase transmission.
Hole scaling factor
holeScalingFactor=double
Units: none Min: 0
Probability of mosquito death without intervention
baseFactor=double
Units: dimensionless
Post-prandial killing effect
→ scenario → interventions → human → component → ITN → anophelesParams → postprandialKillingEffect
<postprandialKillingEffect
insecticideFactor=double
insecticideScalingFactor=double
holeFactor=double
interactionFactor=double
holeScalingFactor=double
baseFactor=double
/>
Documentation (element)
Units: dimensionless Min: 0 Max: 1
Effect of net on survival mosquitoes as they seek to escape from a human host and rest after a blood meal, relative to the same person not sleeping under a net. Parameterisations should take into account that mosquitoes do not always bite indoors.
Killing proportion is calculated as K = B + H×h + P×p + I×h×p where B is the base (without net) probability of death, H, P and I are the hole, insecticide and interaction factors respectively, h=exp(-holeIndex×holeScalingFactor) and p=1−exp(-insecticideContent×insecticideScalingFactor).
Survival of mosquitoes is adjusted via multiplication by (1−K) / (1−B). To keep this in the range [0,1], we require that B+H ≤ 1, B+P ≤ 1, B+H+P+I ≤ 1, H ≥ 0, P ≥ 0 and H+P+I ≥ 0.
Attributes
Insecticide factor
insecticideFactor=double
Units: none Max: 1
Value expected to be at least 0. Negative values are not necessarily invalid, but allow nets to increase transmission.
Insecticide scaling factor
insecticideScalingFactor=double
Units: none Min: 0
Hole factor
holeFactor=double
Units: none Max: 1
Value expected to be at least 0. Negative values are not necessarily invalid, but allow nets to increase transmission.
Interaction factor
interactionFactor=double
Units: none Max: 1
holeFactor + insecticideFactor + interactionFactor must not be greater than 1, and is expected to be at least 0. A negative value is not necessarily invalid, but allows nets to increase transmission.
Hole scaling factor
holeScalingFactor=double
Units: none Min: 0
Probability of mosquito death without intervention
baseFactor=double
Units: dimensionless
Indoor residual spraying
→ scenario → interventions → human → component → IRS
<IRS>
IN THIS ORDER:
| [ <usage ... /> ]
| <initialInsecticide ... />
| <insecticideDecay ... />
| ( <anophelesParams ... /> )+
</IRS>
Documentation (element)
Description of indoor residual spraying interventions.
Documentation (type)
Description of effect for the more complex and probably more realistic Briet model: IRS has three effects, whos strength is calculated as a function of surviving insecticide content.
Proportion of Indoor residual spraying (IRS) interventions
→ scenario → interventions → human → component → IRS → usage
<usage
value=double
/>
Documentation (element)
Units: dimensionless Min: 0 Max: 1
Usage of Indoor residual spraying (IRS) interventions, from 0 to 1.
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Initial insecticide
→ scenario → interventions → human → component → IRS → initialInsecticide
<initialInsecticide
mu=double
sigma=double
/>
Documentation (element)
Units: μg/cm² Min: 0
The insecticide concentration of IRS (at time of spraying) is Gaussian distributed with mean "mu" and a standard deviation "sigma". The standard deviation should be small relative to the mean to avoid negative initial concentration. Any negative values sampled are set to 0.
Documentation (type)
Parameters of a normal distribution.
Variates are sampled as: X ~ N( mu, sigma² ).
Attributes
mu
mu=double
Units: (same as base units)
The mean of the normal distribution.
sigma
sigma=double
Units: (same as base units)
The standard deviation of variates.
Decay of insecticide
→ scenario → interventions → human → component → IRS → insecticideDecay
<insecticideDecay
function=("constant" or "step" or "linear" or "exponential" or "weibull" or "hill" or "smooth-compact")
[ L=string ]
[ k=double ] DEFAULT VALUE 1.0
[ mu=double ] DEFAULT VALUE 0
[ sigma=double ] DEFAULT VALUE 0
/>
Documentation (element)
Units: none
Decay curve for insecticide content of IRS. Documentation: see DecayFunction type or https://github.com/SwissTPH/openmalaria/wiki/ModelDecayFunctions
Documentation (type)
Specification of decay or survival of a parameter.
Attributes
function
function=("constant" or "step" or "linear" or "exponential" or "weibull" or "hill" or "smooth-compact")
Units: None Min: 0 Max: 1
Determines which decay function to use. Available decay functions, for age t in years: constant: 1 step: 1 for t less than L, otherwise 0 linear: 1 - t/L for t less than L, otherwise 0 exponential: exp( - t/L * log(2) ) weibull: exp( -(t/L)^k * log(2) ) hill: 1 / (1 + (t/L)^k) smooth-compact: exp( k - k / (1 - (t/L)^2) ) for t less than L, otherwise 0
L
L=string
Units: User-defined (defaults to years) Min: 0
(Time) scale parameter of distribution: this is either the age of complete decay (smooth-compact, step and linear functions) or the age at which the parameter has decayed to half its original value (exponential, weibull and hill). Not used when function="constant" (i.e. no decay). This value can be specified in years, days or steps (e.g. 2y, 180d or 100t). When the unit is not specified years are assumed. The value is used without rounding except when sampling an age of decay, when the rounding happens as late as possible.
k
k=double
Units: none Min: 0
Default value: 1.0
Shape parameter of distribution. If not specified, default value of 1 is used. Meaning depends on function; not used in some cases.
μ (mu)
mu=double
Min: 0
Default value: 0
If sigma is non-zero, heterogeneity of decay is introduced via a random variable sampled from the log-normal distribution with mu and sigma as specified. Both mu and sigma default to zero when not specified. The decay rate is multiplied by this variable (effectively, the half-life is divided by it). Note that with m=0, the median of the variable and the median value of L is unchanged, and thus the time at which the median decay amongst the population of decaying objects reaches half (assuming exponential, Weibull or Hill decay) is L. With m=-½σ² (negative half sigma squared) the mean of the variable will be 1 and mean of the half-life L, but the time at which mean decay of the population has reached half may not be L.
σ (sigma)
sigma=double
Min: 0
Default value: 0
If sigma is non-zero, heterogeneity of decay is introduced via a random variable sampled from the log-normal distribution with mu and sigma as specified. Both mu and sigma default to zero when not specified. The decay rate is multiplied by this variable (effectively, the half-life is divided by it).
Per-mosquito species parameters
→ scenario → interventions → human → component → IRS → anophelesParams
<anophelesParams
mosquito=string
[ propActive=double ] DEFAULT VALUE 1
>
IN THIS ORDER:
| <deterrency ... />
| <preprandialKillingEffect ... />
| <postprandialKillingEffect ... />
</anophelesParams>
Attributes
Mosquito species
mosquito=string
Name of the affected anopheles-mosquito species.
Proportion of bites for which IRS acts
propActive=double
Units: dimensionless Min: 0 Max: 1
Default value: 1
The proportion of bites for which the IRS has any action whatsoever on the mosquito. At the moment this is constant across humans and deterministic: relative attractiveness and survival factors are base*(1-propActing) + intervention_factor*propActing.
Relative attractiveness
→ scenario → interventions → human → component → IRS → anophelesParams → deterrency
<deterrency
insecticideFactor=double
insecticideScalingFactor=double
/>
Documentation (element)
Units: dimensionless Min: 0 Max: 1
Effect of IRS on attractiveness of humans to mosquitoes relative to an unprotected adult human. Parameterisations should take into account that mosquitoes do not always bite indoors.
Attractiveness of the human is multiplied by exp(P×log(p)) where P is the insecticide factor, p=1−exp(-insecticideContent×insecticideScalingFactor).
Attributes
Insecticide factor
insecticideFactor=double
Units: none Max: 1
Value expected to be at least 0. Negative values are not necessarily invalid, but allow nets to increase transmission.
Insecticide scaling factor
insecticideScalingFactor=double
Units: none Min: 0
Pre-prandial killing effect
→ scenario → interventions → human → component → IRS → anophelesParams → preprandialKillingEffect
<preprandialKillingEffect
insecticideFactor=double
insecticideScalingFactor=double
baseFactor=double
/>
Documentation (element)
Units: dimensionless Min: 0 Max: 1
Effect of IRS on survival mosquitoes as they seek to bite a human after choosing that human, relative to the same person not protected by IRS. Parameterisations should take into account that mosquitoes do not always bite indoors. This parameter has been added since some data shows IRS to have a preprandial killing effect.
Killing proportion is calculated as K = B + P×p where B is the base (without protection) probability of death, and P is the insecticide factor, p=1−exp(-insecticideContent×insecticideScalingFactor).
Survival of mosquitoes is adjusted via multiplication by (1−K) / (1−B). To keep this in the range [0,1], we require that B+P ≤ 1 and P ≥ 0.
Attributes
Insecticide factor
insecticideFactor=double
Units: none Max: 1
Value expected to be at least 0. Negative values are not necessarily invalid, but allow nets to increase transmission.
Insecticide scaling factor
insecticideScalingFactor=double
Units: none Min: 0
Probability of mosquito death without intervention
baseFactor=double
Units: dimensionless
Post-prandial killing effect
→ scenario → interventions → human → component → IRS → anophelesParams → postprandialKillingEffect
<postprandialKillingEffect
insecticideFactor=double
insecticideScalingFactor=double
baseFactor=double
/>
Documentation (element)
Units: dimensionless Min: 0 Max: 1
Effect of IRS on survival mosquitoes as they seek to escape from a human host and rest after a blood meal, relative to the same person not protected by IRS. Parameterisations should take into account that mosquitoes do not always bite indoors.
Killing proportion is calculated as K = B + P×p where B is the base (without protection) probability of death, and P is the insecticide factor, p=1−exp(-insecticideContent×insecticideScalingFactor).
Survival of mosquitoes is adjusted via multiplication by (1−K) / (1−B). To keep this in the range [0,1], we require that B+P ≤ 1 and P ≥ 0.
Attributes
Insecticide factor
insecticideFactor=double
Units: none Max: 1
Value expected to be at least 0. Negative values are not necessarily invalid, but allow nets to increase transmission.
Insecticide scaling factor
insecticideScalingFactor=double
Units: none Min: 0
Probability of mosquito death without intervention
baseFactor=double
Units: dimensionless
Generic vector intervention
→ scenario → interventions → human → component → GVI
<GVI>
IN THIS ORDER:
| [ <usage ... /> ]
| <decay ... />
| ( <anophelesParams ... /> )+
</GVI>
Documentation (element)
Low-level description of intervention effects on vectors (i.e. mosquitoes). Can be used to describe simple ITN or IRS interventions (though more complex models are available for these interventions) or other interventions such as mosquito repellant or ivermectin.
Note that all actions of this intervention component will decay according to a single decay function. If independant decay is wanted, a separate component can be used for each action.
Proportion of generic vector interventions
→ scenario → interventions → human → component → GVI → usage
<usage
value=double
/>
Documentation (element)
Units: dimensionless Min: 0 Max: 1
Usage of Generic vector interventions, from 0 to 1.
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Decay
→ scenario → interventions → human → component → GVI → decay
<decay
function=("constant" or "step" or "linear" or "exponential" or "weibull" or "hill" or "smooth-compact")
[ L=string ]
[ k=double ] DEFAULT VALUE 1.0
[ mu=double ] DEFAULT VALUE 0
[ sigma=double ] DEFAULT VALUE 0
/>
Documentation (element)
Description of decay of all intervention effects. Documentation: see DecayFunction type or https://github.com/SwissTPH/openmalaria/wiki/ModelDecayFunctions
Documentation (type)
Specification of decay or survival of a parameter.
Attributes
function
function=("constant" or "step" or "linear" or "exponential" or "weibull" or "hill" or "smooth-compact")
Units: None Min: 0 Max: 1
Determines which decay function to use. Available decay functions, for age t in years: constant: 1 step: 1 for t less than L, otherwise 0 linear: 1 - t/L for t less than L, otherwise 0 exponential: exp( - t/L * log(2) ) weibull: exp( -(t/L)^k * log(2) ) hill: 1 / (1 + (t/L)^k) smooth-compact: exp( k - k / (1 - (t/L)^2) ) for t less than L, otherwise 0
L
L=string
Units: User-defined (defaults to years) Min: 0
(Time) scale parameter of distribution: this is either the age of complete decay (smooth-compact, step and linear functions) or the age at which the parameter has decayed to half its original value (exponential, weibull and hill). Not used when function="constant" (i.e. no decay). This value can be specified in years, days or steps (e.g. 2y, 180d or 100t). When the unit is not specified years are assumed. The value is used without rounding except when sampling an age of decay, when the rounding happens as late as possible.
k
k=double
Units: none Min: 0
Default value: 1.0
Shape parameter of distribution. If not specified, default value of 1 is used. Meaning depends on function; not used in some cases.
μ (mu)
mu=double
Min: 0
Default value: 0
If sigma is non-zero, heterogeneity of decay is introduced via a random variable sampled from the log-normal distribution with mu and sigma as specified. Both mu and sigma default to zero when not specified. The decay rate is multiplied by this variable (effectively, the half-life is divided by it). Note that with m=0, the median of the variable and the median value of L is unchanged, and thus the time at which the median decay amongst the population of decaying objects reaches half (assuming exponential, Weibull or Hill decay) is L. With m=-½σ² (negative half sigma squared) the mean of the variable will be 1 and mean of the half-life L, but the time at which mean decay of the population has reached half may not be L.
σ (sigma)
sigma=double
Min: 0
Default value: 0
If sigma is non-zero, heterogeneity of decay is introduced via a random variable sampled from the log-normal distribution with mu and sigma as specified. Both mu and sigma default to zero when not specified. The decay rate is multiplied by this variable (effectively, the half-life is divided by it).
Per-mosquito species parameters
→ scenario → interventions → human → component → GVI → anophelesParams
<anophelesParams
mosquito=string
[ propActive=double ] DEFAULT VALUE 1
>
IN THIS ORDER:
| [ <deterrency ... /> ]
| [ <preprandialKillingEffect ... /> ]
| [ <postprandialKillingEffect ... /> ]
</anophelesParams>
Attributes
Mosquito species
mosquito=string
Name of the affected anopheles-mosquito species.
Proportion of bites for which IRS acts
propActive=double
Units: dimensionless Min: 0 Max: 1
Default value: 1
The proportion of bites for which the IRS has any action whatsoever on the mosquito. At the moment this is constant across humans and deterministic: relative attractiveness and survival factors are base*(1-propActing) + intervention_factor*propActing.
Relative attractiveness
→ scenario → interventions → human → component → GVI → anophelesParams → deterrency
<deterrency
value=double
/>
Documentation (element)
Units: dimensionless Min: 0 Max: 1
Effect of IRS on attractiveness of humans to mosquitoes relative to an unprotected adult human. Parameterisations should take into account that mosquitoes do not always bite indoors.
Attractiveness of the human is multiplied this factor times survival of effect.
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Pre-prandial killing effect
→ scenario → interventions → human → component → GVI → anophelesParams → preprandialKillingEffect
<preprandialKillingEffect
value=double
/>
Documentation (element)
Units: dimensionless Min: 0 Max: 1
Effect of IRS on survival mosquitoes as they seek to bite a human after choosing that human, relative to the same person not protected by IRS. Parameterisations should take into account that mosquitoes do not always bite indoors. This parameter has been added since some data shows IRS to have a preprandial killing effect.
Killing proportion is this factor multiplied by survival of effect.
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Post-prandial killing effect
→ scenario → interventions → human → component → GVI → anophelesParams → postprandialKillingEffect
<postprandialKillingEffect
value=double
/>
Documentation (element)
Units: dimensionless Min: 0 Max: 1
Effect of IRS on survival mosquitoes as they seek to escape from a human host and rest after a blood meal, relative to the same person not protected by IRS. Parameterisations should take into account that mosquitoes do not always bite indoors.
Killing proportion is this factor multiplied by survival of effect.
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Recruitment only
→ scenario → interventions → human → component → recruitmentOnly
<recruitmentOnly/>
Documentation (element)
Recruitment of a host into a sub-population.
All human-targeting intervention deployments recruit simulated humans into a sub-population which can be used for the purposes of cumulative deployment, deployment only to a sub-population and defining a cohort. This pseudo-intervention can be used to define a sub-population without also deploying some intervention.
Clear Immunity
→ scenario → interventions → human → component → clearImmunity
<clearImmunity/>
Documentation (element)
Removes all exposure-related immunitsy gained over time by hosts without removing infections (or affecting the ability to gain immunity through exposure).
Hypothetical, but potentially useful to simulate scenarios with unprotected humans.
subPopRemoval
→ scenario → interventions → human → component → subPopRemoval
<subPopRemoval
[ onFirstBout=boolean ] DEFAULT VALUE false
[ onFirstTreatment=boolean ] DEFAULT VALUE false
[ onFirstInfection=boolean ] DEFAULT VALUE false
[ afterYears=double ]
/>
Documentation (type)
Each human intervention component corresponds to a sub-population: those who have received or are considered to be protected by the intervention component. Humans automatically become members of this sub-population when receiving an intervention component; this element controls how humans are removed from the sub-population.
ITN attrition also removes humans from sub-populations.
Note that sub-populations do not directly correspond to an intervention's effects: lack of effectiveness does not imply removal from the sub-population (except as explicitly configured here) and removal from the sub-population does not halt an intervention's effects.
Sub-populations may be used to define a cohort, to restrict deployment of other interventions and to use cumulative deployment mode. A sub- population may or may not correspond (roughly) to humans protected by some intervention.
Attributes
Time to first episode only
onFirstBout=boolean
Default value: false
If true, remove individuals from the sub-population at the start of the first episode (start of a clinical bout) since they were recruited into the sub-population. This is intended for cohort studies which measure time to the first episode, using active case detection. Reports delayed due to health-system memory are forced out when this occurs. Note that this can increase the number of uncomplicated cases reported across the entire population; for this reason reports are not forced on recruitment or most removal options. This does not prevent re-recruitment in the case that recruitment settings could conceivably recruit the same individual twice.
Time to first treatment only
onFirstTreatment=boolean
Default value: false
If true, remove individuals from the sub-population when they first seektreatment since they were recruited into the sub-population. This is intended for cohort studies which measure the time to first episode, using passive case detection. Reports delayed due to health-system memory are forced out when this occurs. Note that this can increase the number of uncomplicated cases reported across the entire population; for this reason reports are not forced on recruitment or most removal options. This does not prevent re-recruitment in the case that recruitment settings could conceivably recruit the same individual twice.
Time to first infection only
onFirstInfection=boolean
Default value: false
If true, remove individuals from the sub-population at completion of the first survey in which they present with a patent infection since they were recruited into the sub-population. This intended for cohort studies which measure time to the first infection, using active case detection. Reports delayed due to health-system memory are forced out when this occurs. Note that this can increase the number of uncomplicated cases reported across the entire population; for this reason reports are not forced on recruitment or most removal options. This does not prevent re-recruitment in the case that recruitment settings could conceivably recruit the same individual twice.
Remove from sub-population after
afterYears=double
Units: Years Min: 0
If given, membership to the sub-population of humans who have received this intervention component expires after the given number of years. Note that future deployments renew membership (e.g. if this parameter is 4 years and the intervention is redeployed 3 years from now, expiry happens after 7 years). This provides a crude way of modelling a cohort protected by some intervention. A few interventions provide more detailed ways of modelling expiry of protection. In any case, "expiry of protection" is an abstract concept and does not imply that all protection has ceased, even in the simulator. This may also be useful for cumulative deployment. Minimum duration is zero, which implies the human is effectively never a member of the sub-population; a duration of one timestep implies the human is a member of the sub-population while any futher interventions are deployed on the same time as this human becomes a member and on the next update of the human (including transmission and health system events) but not beyond that. If this attribute is not given, the simulated human is a member until death or some other option triggers removal. Input is rounded to the nearest time step.
Deployment
→ scenario → interventions → human → deployment
<deployment
[ name=string ]
>
IN THIS ORDER:
| ( <component ... /> )+
| ( <continuous ... /> )*
| ( <timed ... /> )*
</deployment>
Documentation (element)
This element describes deployment of an intervention: which components are deployed, how humans are selected for deployment (via timed or age-based deployment) as well as a few additional restrictions (e.g. vaccine dosing restrictions).
All components deployed by this intervention are deployed to the same people (each timed or continuous deployment selects recipients and then gives each recipient all components of the intervention).
Attributes
Intervention name
name=string
Name of intervention
component
→ scenario → interventions → human → deployment → component
<component
id=string
/>
Documentation (type)
The list of components deployed to eligible humans.
Attributes
Identifier
id=string
The identifier (short name) of a component.
Age-based (continuous) deployment
→ scenario → interventions → human → deployment → continuous
<continuous>
IN THIS ORDER:
| [ <restrictToSubPop ... /> ]
| ( <deploy ... /> )+
</continuous>
Documentation (element)
List of ages at which deployment takes place (through EPI, post-natal and school-based programmes, etc.).
A sub-population restriction may be added as a property of the list of continuous deployments.
restrictToSubPop
→ scenario → interventions → human → deployment → continuous → restrictToSubPop
<restrictToSubPop
id=string
[ complement=boolean ] DEFAULT VALUE false
/>
Documentation (type)
If this element is specified, deployment is restricted to some sub-population (specified via the "id" attribute); otherwise the target population is the entire simulated population. Either way, other deployment restrictions (age, time, number of vaccine doeses) still apply.
Attributes
Sub-population identifier
id=string
The identifier (short name) of the sub-population (i.e. the "id" of some intervention component). Also see the "complement" attribute.
Complement
complement=boolean
Default value: false
If this is not specified or is false, deployment is restricted to the sub-population of people protected by the intervention component who's id is given. If complement is set to true, deployment is instead restricted to the complement of that sub-population, i.e. to those
deploy
→ scenario → interventions → human → deployment → continuous → deploy
<deploy
coverage=double
[ vaccMinPrevDoses=int ]
[ vaccMaxCumDoses=int ]
targetAgeYrs=double
[ begin=string ]
[ end=string ]
/>
Attributes
Coverage
coverage=double
Units: dimensionless Min: 0 Max: 1
Proportion of otherwise eligible individuals who will receive this deployment.
Vaccine min previous doses
vaccMinPrevDoses=int
Units: inoculations Min: 0
Applies to vaccines only: vaccine doses are only deployed by this deployment if the previous number of doses (for the component deployed) is at least this number. For example, if this is the second deployment opportunity for this vaccine and this value is 1, then this deployment cannot deploy the vaccine to individuals who did not receive the first deployment.
Vaccine max cumulative doses
vaccMaxCumDoses=int
Units: inoculations Min: 0
Applies to vaccines only: vaccine doses are only deployed by this deployment if the previous number of doses (for the component deployed) is less than this number.
Target age
targetAgeYrs=double
Units: Years Min: 0 Max: 100
Target age of intervention. Input is rounded to the nearest time step.
First time active
begin=string
Units: User defined (defauls to steps)
First time at which this deployment is active. If not specified, deployment starts at the beginning of the intervention period. See doc on intervention period and on monitoring/startDate for details of how times work. Can be specified in steps, days, years, or as a date (examples: 15t, 75d, 0.2y, 2000-03-16).
End step
end=string
Units: User defined (defauls to steps)
End of the period during which the intervention is active (to be exact, the first step of the intervention period at which the item becomes inactive). If not specified, deployment never ceases after starting during the simulation. See doc on intervention period and on monitoring/startDate for details of how times work. Can be specified in steps, days, years, or as a date (examples: 15t, 75d, 0.2y, 2000-03-16).
Mass (timed) deployment
→ scenario → interventions → human → deployment → timed
<timed>
IN THIS ORDER:
| [ <restrictToSubPop ... /> ]
| [ <cumulativeCoverage ... /> ]
| ( <deploy ... /> )+
</timed>
Documentation (element)
List of timed deployments of the intervention (that is, of deployment campaigns).
Cumulative deployment mode can be specified for all deployments in a timed list. To allow multiple cumulative deployment descriptions, the entire timed list may be repeated.
restrictToSubPop
→ scenario → interventions → human → deployment → timed → restrictToSubPop
<restrictToSubPop
id=string
[ complement=boolean ] DEFAULT VALUE false
/>
Documentation (type)
If this element is specified, deployment is restricted to some sub-population (specified via the "id" attribute); otherwise the target population is the entire simulated population. Either way, other deployment restrictions (age, time, number of vaccine doeses) still apply.
Attributes
Sub-population identifier
id=string
The identifier (short name) of the sub-population (i.e. the "id" of some intervention component). Also see the "complement" attribute.
Complement
complement=boolean
Default value: false
If this is not specified or is false, deployment is restricted to the sub-population of people protected by the intervention component who's id is given. If complement is set to true, deployment is instead restricted to the complement of that sub-population, i.e. to those
Cumulative coverage
→ scenario → interventions → human → deployment → timed → cumulativeCoverage
<cumulativeCoverage
component=string
/>
Documentation (element)
If this element is not specified, standard deployment occurs, where a portion of the population as given by the coverage property of this campaign is selected, and interventions are deployed to all of these people (regardless of previous coverage).
If this attribute is specified, instead, the population is divided into two sets: those who are a member of a certain sub-population and those who are not (see "subPopRemoval" element). If the proportion of people in the first set is less than the desired coverage, then the proportion of people from the second set needed to increase total coverage to the desired coverage is calculated. This proportion is then used as the probablity of selection from the second set into a third set of people who then receive all interventions deployed by this campaign.
Note that selection is stochastic so the final coverage level may not be exactly that desired. Note also that the component used when selecting people need not actually be one of the components deployed by this intervention, although that is the intended use case.
Attributes
Component identifier
component=string
The identifier (short name) of the component used when selecting people.
deploy
→ scenario → interventions → human → deployment → timed → deploy
<deploy
coverage=double
[ vaccMinPrevDoses=int ]
[ vaccMaxCumDoses=int ]
time=string
[ maxAge=double ]
[ minAge=double ] DEFAULT VALUE 0
/>
Attributes
Coverage
coverage=double
Units: dimensionless Min: 0 Max: 1
Proportion of otherwise eligible individuals who will receive this deployment.
Vaccine min previous doses
vaccMinPrevDoses=int
Units: inoculations Min: 0
Applies to vaccines only: vaccine doses are only deployed by this deployment if the previous number of doses (for the component deployed) is at least this number. For example, if this is the second deployment opportunity for this vaccine and this value is 1, then this deployment cannot deploy the vaccine to individuals who did not receive the first deployment.
Vaccine max cumulative doses
vaccMaxCumDoses=int
Units: inoculations Min: 0
Applies to vaccines only: vaccine doses are only deployed by this deployment if the previous number of doses (for the component deployed) is less than this number.
Time
time=string
Units: User defined (defauls to steps) Min: 0
Time at which this deployment occurs. See doc on intervention period and on monitoring/startDate for details of how times work. Can be specified in steps, days, years, or as a date (examples: 15t, 75d, 0.2y, 2000-03-16).
Maximum age of eligible individuals
maxAge=double
Units: Years Min: 0
Maximum age of eligible individuals (defaults to no limit). Input is rounded to the nearest time step.
Minimum age of eligible individuals
minAge=double
Units: Years Min: 0
Default value: 0
Minimum age of eligible individuals (defaults to 0). Input is rounded to the nearest time step.
Health system description
→ scenario → healthSystem
<healthSystem>
IN THIS ORDER:
| EXACTLY ONE OF:
| | <EventScheduler ... />
| | <ImmediateOutcomes ... />
| | <DecisionTree5Day ... />
| <CFR ... />
| <pSequelaeInpatient ... />
</healthSystem>
Documentation (element)
Description of health system.
Documentation (type)
Description of case management system, used to specify the initial model or a replacement (an intervention). Encompasses case management data and some other data required to derive case outcomes.
Contains a sub-element describing the particular health-system in use. Health system data is here defined as data used to decide on a treatment strategy, given a case requiring treatment.
Transmission and vector bionomics
→ scenario → entomology
<entomology
name=string
mode=("forced" or "dynamic")
[ scaledAnnualEIR=double ]
>
IN THIS ORDER:
| EXACTLY ONE OF:
| | <nonVector ... />
| | <vector ... />
</entomology>
Documentation (element)
Description of entomological data
Attributes
Entomology dataset name
name=string
Name of entomology data
Transmission model mode
mode=("forced" or "dynamic")
Transmission simulation mode: may be forced (in which case interventions and changes to human infectiousness cannot affect EIR) or dynamic (in which the above can affect EIR). The full vector model is only used in dynamic mode. This can not be changed by interventions, except for the changeEIR intervention for the non-vector model which replaces the EIR with a new description (used in forced mode).
Override annual EIR
scaledAnnualEIR=double
Units: Infectious bites per adult per year
If set, the annual EIR (for all species of vector) is scaled to this level; can be omitted if not needed.
Transmission setting (vector control not enabled)
→ scenario → entomology → nonVector
<nonVector
eipDuration=int
>
IN THIS ORDER:
| ( <EIRDaily ... /> )+
</nonVector>
Documentation (element)
Description of transmission setting for models without vector control interventions (included for backward compatibility)
Attributes
Duration of sporogony
eipDuration=int
Units: Days
The duration of sporogony in days
Transmission setting (vector control enabled)
→ scenario → entomology → vector
<vector>
IN THIS ORDER:
| ( <anopheles ... /> )+
| ( <nonHumanHosts ... /> )*
</vector>
Documentation (element)
Parameters of the transmission model
anopheles
→ scenario → entomology → vector → anopheles
<anopheles
mosquito=string
propInfected=double
propInfectious=double
>
IN THIS ORDER:
| <seasonality ... />
| <mosq ... />
| [ <lifeCycle ... /> ]
| [ <simpleMPD ... /> ]
| ( <nonHumanHosts ... /> )*
</anopheles>
Documentation (type)
Description of input EIR for one specific vector species in terms of a Fourier approximation to the ln of the EIR during the burn in period
Attributes
Identifier for this anopheles species
mosquito=string
Identifier for this anopheles species
Initial estimate of proportion of mosquitoes infected (ρ_O)
propInfected=double
Units: Proportion Min: 0 Max: 1
Initial guess of the proportion of mosquitoes which are infected, o: O_v(t) = o*N_v(t). Only used as a starting value.
Initial estimate of proportion of mosquitoes infectious (ρ_S)
propInfectious=double
Units: Proportion Min: 0 Max: 1
Initial estimate of the proportion of mosquitoes which are infectious, s: S_v(t) = s*N_v(t). Used as a starting value and then fit.
Seasonality of transmission
→ scenario → entomology → vector → anopheles → seasonality
<seasonality
input=("EIR")
[ annualEIR=double ]
>
IN THIS ORDER:
| EXACTLY ONE OF:
| | <fourierSeries ... />
| | <monthlyValues ... />
| | <dailyValues ... />
</seasonality>
Documentation (element)
Specifies the seasonality of transmission and optionally the level of annual transmission.
Attributes
Seasonality input
input=("EIR")
Specify what seasonality measure is given. At the moment, only EIR is supported, but in the future, all the below should be supported. EIR: seasonality of entomological inoculations is input. Units: entomological inoculations per adult per annum. hostSeeking: seasonality of densities of flying host-seeking mosquitoes is input (in the model this is notated N_v). Units: mosquitoes. emergence: seasonality of emergence pupa into adults. Units: mosquitoes. larvalResources: seasonality of larval resources. Units: X.
Annual EIR
annualEIR=double
Units: Inoculations per adult per annum Min: 0
If this attribute is included, EIR for this species is scaled to this level. Note that if the scaledAnnualEIR attribute of the entomology element is also used, EIR is scaled again, making this attribute the EIR relative to other species. With some seasonality inputs, this attribute is optional, in which case (if scaledAnnualEIR is also not specified) transmission depends on all parameters of the vector. With some seasonality inputs, however, this parameter must be specified.
Fourier approximation to pre-intervention EIR
→ scenario → entomology → vector → anopheles → seasonality → fourierSeries
<fourierSeries
EIRRotateAngle=double
>
IN THIS ORDER:
| ( <coeffic ... /> )*
</fourierSeries>
Documentation (element)
Units: Infectious bites per adult per day
Seasonality is reproduced from the exponential of a fourier series specified by the following coefficients. Note that the a0 term is not needed; the annualEIR attribute of the seasonality element should be used to scale EIR instead.
Attributes
Rotation angle defining the origin of the Fourier approximation to ln (EIR)
EIRRotateAngle=double
Units: Radians
Rotation angle defining the origin of the Fourier approximation to ln (EIR)
Pair of Fourier coefficients
→ scenario → entomology → vector → anopheles → seasonality → fourierSeries → coeffic
<coeffic
a=double
b=double
/>
Documentation (element)
A pair of Fourier series coefficients. The first element specifies a1 and b1, the second a2 and b2, etc. Any number (from 0 up) of pairs may be given.
Attributes
a_n parameter of Fourier approximation to ln(EIR)
a=double
a_n parameter of Fourier approximation to ln(EIR) for some natural number n.
b_n parameter of Fourier approximation to ln(EIR)
b=double
b_n parameter of Fourier approximation to ln(EIR) for some natural number n.
List of monthly values
→ scenario → entomology → vector → anopheles → seasonality → monthlyValues
<monthlyValues
smoothing=("none" or "fourier")
>
IN THIS ORDER:
| ( <value ... /> ){12,12}
</monthlyValues>
Documentation (element)
Description of seasonality from monthly values. Multiple smoothing methods are possible (see smoothing attribute).
List should contain twelve entries: January to December.
Attributes
Smoothing function
smoothing=("none" or "fourier")
How the monthly values are converted into a daily sequence of values:
- none: no smoothing (step function)
- Fourier: a Fourier series (with terms up to a2/b2) is fit to the sequence of monthly values and used to generate a smoothed list of daily values.
Monthly value
→ scenario → entomology → vector → anopheles → seasonality → monthlyValues → value
<value>
double
</value>
Documentation (element)
Units: (see "seasonality input" parameter)
Monthly value
List of daily values
→ scenario → entomology → vector → anopheles → seasonality → dailyValues
<dailyValues>
IN THIS ORDER:
| ( <value ... /> ){365,365}
</dailyValues>
Documentation (element)
Description of seasonality from daily values.
List should contain 365 entries: 1st January to 31st December.
Daily value
→ scenario → entomology → vector → anopheles → seasonality → dailyValues → value
<value>
double
</value>
Documentation (element)
Units: (see "seasonality input" parameter)
Daily value
Mosquito feeding cycle parameters
→ scenario → entomology → vector → anopheles → mosq
<mosq
minInfectedThreshold=double
>
IN ANY ORDER:
| <mosqRestDuration ... />
| <extrinsicIncubationPeriod ... />
| <mosqLaidEggsSameDayProportion ... />
| <mosqSeekingDuration ... />
| <mosqSurvivalFeedingCycleProbability ... />
| <availabilityVariance ... />
| <mosqProbBiting ... />
| <mosqProbFindRestSite ... />
| <mosqProbResting ... />
| <mosqProbOvipositing ... />
| <mosqHumanBloodIndex ... />
</mosq>
- mosqRestDuration
- extrinsicIncubationPeriod
- mosqLaidEggsSameDayProportion
- mosqSeekingDuration
- mosqSurvivalFeedingCycleProbability
- availabilityVariance
- mosqProbBiting
- mosqProbFindRestSite
- mosqProbResting
- mosqProbOvipositing
- mosqHumanBloodIndex
Documentation (element)
Parameters describing the feeding cycle and human mosquito interaction of a single species of anopheles mosquito.
Attributes
Mininum infected threshold for mosquitos
minInfectedThreshold=double
Min: 0
If less than this many mosquitoes remain infected, transmission is interrupted.
Duration of the resting period of the vector
→ scenario → entomology → vector → anopheles → mosq → mosqRestDuration
<mosqRestDuration
value=int
/>
Documentation (element)
Units: Days
name:Duration of the resting period of the vector (days);
Attributes
Input parameter value
value=int
An integer value.
Extrinsic incubation period
→ scenario → entomology → vector → anopheles → mosq → extrinsicIncubationPeriod
<extrinsicIncubationPeriod
value=int
/>
Documentation (element)
Units: Days
name:Extrinsic incubation period (days)
Attributes
Input parameter value
value=int
An integer value.
Proportion of mosquitoes host seeking on same day as ovipositing
→ scenario → entomology → vector → anopheles → mosq → mosqLaidEggsSameDayProportion
<mosqLaidEggsSameDayProportion
value=double
/>
Documentation (element)
Units: Proportion
Proportion of mosquitoes host seeking on same day as ovipositing
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Duration of the host-seeking period of the vector
→ scenario → entomology → vector → anopheles → mosq → mosqSeekingDuration
<mosqSeekingDuration
value=double
/>
Documentation (element)
Units: Days
Duration of the host-seeking period of the vector (days)
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Probability that the mosquito survives the feeding cycle
→ scenario → entomology → vector → anopheles → mosq → mosqSurvivalFeedingCycleProbability
<mosqSurvivalFeedingCycleProbability
value=double
/>
Documentation (element)
Units: Proportion
Probability that the mosquito survives the feeding cycle
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Variance in human availability rate
→ scenario → entomology → vector → anopheles → mosq → availabilityVariance
<availabilityVariance
value=double
/>
Documentation (element)
Variance in availability rate of humans to mosquitoes. The mean rate is calculated based on other parameters.
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Probability that the mosquito succesfully bites chosen host
→ scenario → entomology → vector → anopheles → mosq → mosqProbBiting
<mosqProbBiting
mean=double
variance=double
/>
Documentation (element)
Probability that the mosquito succesfully bites chosen host
Documentation (type)
Parameters of a normal distribution, provided as mean and variance.
Variates are sampled from Be(α,β) where α and β are determined from the mean and variance as follows: let v be the variance and c=mean/(1-mean). Then we set α=cβ and β=((c+1)²v - c)/((c+1)³v).
Attributes
mean
mean=double
Units: none
The mean of the beta distribution (must be in the open range (0,1)).
variance
variance=double
Units: none
The standard deviation of variates.
Probability that the mosquito escapes host and finds a resting place after biting
→ scenario → entomology → vector → anopheles → mosq → mosqProbFindRestSite
<mosqProbFindRestSite
mean=double
variance=double
/>
Documentation (element)
Probability that the mosquito escapes host and finds a resting place after biting
Documentation (type)
Parameters of a normal distribution, provided as mean and variance.
Variates are sampled from Be(α,β) where α and β are determined from the mean and variance as follows: let v be the variance and c=mean/(1-mean). Then we set α=cβ and β=((c+1)²v - c)/((c+1)³v).
Attributes
mean
mean=double
Units: none
The mean of the beta distribution (must be in the open range (0,1)).
variance
variance=double
Units: none
The standard deviation of variates.
Probability of mosquito successfully resting after finding a resting site
→ scenario → entomology → vector → anopheles → mosq → mosqProbResting
<mosqProbResting
mean=double
variance=double
/>
Documentation (element)
Probability of mosquito successfully resting after finding a resting site
Documentation (type)
Parameters of a normal distribution, provided as mean and variance.
Variates are sampled from Be(α,β) where α and β are determined from the mean and variance as follows: let v be the variance and c=mean/(1-mean). Then we set α=cβ and β=((c+1)²v - c)/((c+1)³v).
Attributes
mean
mean=double
Units: none
The mean of the beta distribution (must be in the open range (0,1)).
variance
variance=double
Units: none
The standard deviation of variates.
Probability of a mosquito successfully laying eggs given that it has rested
→ scenario → entomology → vector → anopheles → mosq → mosqProbOvipositing
<mosqProbOvipositing
value=double
/>
Documentation (element)
Probability of a mosquito successfully laying eggs given that it has rested
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Human blood index
→ scenario → entomology → vector → anopheles → mosq → mosqHumanBloodIndex
<mosqHumanBloodIndex
value=double
/>
Documentation (element)
Units: Proportion
The proportion of resting mosquitoes which fed on human blood during the last feed.
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Mosquito life cycle parameters
→ scenario → entomology → vector → anopheles → lifeCycle
<lifeCycle
[ estimatedLarvalResources=double ] DEFAULT VALUE 1e8
>
IN ANY ORDER:
| <eggStage ... />
| <larvalStage ... />
| <pupalStage ... />
| <femaleEggsLaidByOviposit ... />
</lifeCycle>
Documentation (element)
Parameters describing the life-cycle of this species of mosquito
Attributes
Estimate of larval resources
estimatedLarvalResources=double
Units: X
Default value: 1e8
An estimate of mean annual availability of resources to larvae. Used to get the resource usage fitting algorithm going; if the algorithm fails to fit the resource availability then tweaking this parameter may help. In other cases tweaking this parameter shouldn't be necessary. Default value is 10⁸ (1e8). Units are arbitrary but must be the same as those used by the resourceUsage parameter.
Egg stage
→ scenario → entomology → vector → anopheles → lifeCycle → eggStage
<eggStage
duration=int
survival=double
/>
Documentation (element)
Parameters for the egg stage of development
Documentation (type)
Parameters associated with a mosquito development stage.
Attributes
Duration
duration=int
Units: Days
Duration of the stage (i.e. length of time mosquito is an egg/larva/pupa).
Probability of survival
survival=double
Units: Proportion
Probability that mosquito survives this size (probability of egg hatching, a larva becoming a pupa or a pupa emerging as an adult, at the start of that stage).
larvalStage
→ scenario → entomology → vector → anopheles → lifeCycle → larvalStage
<larvalStage>
</larvalStage>
Documentation (type)
Parameters for the larval stage of development
Documentation (base type)
Parameters associated with a mosquito development stage.
Daily development
→ scenario → entomology → vector → anopheles → lifeCycle → larvalStage → daily
<daily
resourceUsage=double
effectCompetition=double
/>
Documentation (element)
List of parameters which apply during the larval stage of development. List length must equal stage duration, with first item corresponding to first 24 hours after hatching, second item to hours 24-48, and so on.
Attributes
Resource usage
resourceUsage=double
Units: X
Resource usage during larval stage of development. Units are arbitrary.
Effect of competition
effectCompetition=double
Units: none
Effect of competition over resources on development.
Pupal stage
→ scenario → entomology → vector → anopheles → lifeCycle → pupalStage
<pupalStage
duration=int
survival=double
/>
Documentation (element)
Parameters for the pupal stage of development
Documentation (type)
Parameters associated with a mosquito development stage.
Attributes
Duration
duration=int
Units: Days
Duration of the stage (i.e. length of time mosquito is an egg/larva/pupa).
Probability of survival
survival=double
Units: Proportion
Probability that mosquito survives this size (probability of egg hatching, a larva becoming a pupa or a pupa emerging as an adult, at the start of that stage).
Eggs laid by ovipositing mosquito
→ scenario → entomology → vector → anopheles → lifeCycle → femaleEggsLaidByOviposit
<femaleEggsLaidByOviposit
value=double
/>
Documentation (element)
Units: Eggs per feeding cycle
The total number of female eggs laid by a female mosquito at the conclusion to a feeding cycle.
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Simple Mosq-Pop-Dynamics parameters
→ scenario → entomology → vector → anopheles → simpleMPD
<simpleMPD>
IN ANY ORDER:
| <developmentDuration ... />
| <developmentSurvival ... />
| <femaleEggsLaidByOviposit ... />
</simpleMPD>
Documentation (element)
Parameters describing the simple mosquito population dynamics model.
This is a simpler version of the life-cycle model, requiring less parameters and with much simpler initialisation.
Duration
→ scenario → entomology → vector → anopheles → simpleMPD → developmentDuration
<developmentDuration
value=int
/>
Documentation (element)
Units: Days Min: 1
Duration from egg laying to emergence in days.
Attributes
Input parameter value
value=int
An integer value.
Probability of survival
→ scenario → entomology → vector → anopheles → simpleMPD → developmentSurvival
<developmentSurvival
value=double
/>
Documentation (element)
Units: Proportion Min: 0 Max: 1
Probability that mosquito survives from the egg being laid to emergence, given no resouce limitations (no density constraints).
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Eggs laid by ovipositing mosquito
→ scenario → entomology → vector → anopheles → simpleMPD → femaleEggsLaidByOviposit
<femaleEggsLaidByOviposit
value=double
/>
Documentation (element)
Units: Eggs per feeding cycle
The total number of female eggs laid by a female mosquito at the conclusion to a feeding cycle.
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Alternative (non-human) host paramters
→ scenario → entomology → vector → anopheles → nonHumanHosts
<nonHumanHosts
name=string
>
IN ANY ORDER:
| <mosqRelativeEntoAvailability ... />
| <mosqProbBiting ... />
| <mosqProbFindRestSite ... />
| <mosqProbResting ... />
</nonHumanHosts>
Documentation (element)
Min: 0
Non human host parameters, per type of host (must match up with non-species-specific parameters).
Attributes
Identifier for this category of non-human hosts
name=string
Identifier for this category of non-human hosts
Relative availability of non-human host (ξ_i)
→ scenario → entomology → vector → anopheles → nonHumanHosts → mosqRelativeEntoAvailability
<mosqRelativeEntoAvailability
value=double
/>
Documentation (element)
Units: Proportion
Relative availability of non-human hosts of type i to other non-human hosts; the sum of this across all non-human hosts must be 1.
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Probability of mosquito successfully biting host
→ scenario → entomology → vector → anopheles → nonHumanHosts → mosqProbBiting
<mosqProbBiting
value=double
/>
Documentation (element)
Units: Proportion
Probability of mosquito successfully biting host
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Probability that the mosquito escapes host and finds a resting place after biting
→ scenario → entomology → vector → anopheles → nonHumanHosts → mosqProbFindRestSite
<mosqProbFindRestSite
value=double
/>
Documentation (element)
Units: Proportion
Probability that the mosquito escapes host and finds a resting place after biting
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Probability of mosquito successfully resting after finding a resting site
→ scenario → entomology → vector → anopheles → nonHumanHosts → mosqProbResting
<mosqProbResting
value=double
/>
Documentation (element)
Units: Proportion
Probability of mosquito successfully resting after finding a resting site
Attributes
Input parameter value
value=double
A double-precision floating-point value.
nonHumanHosts
→ scenario → entomology → vector → nonHumanHosts
<nonHumanHosts
name=string
number=double
/>
Attributes
Species of alternative host
name=string
Name of this species of non human hosts (must match up with those described per anopheles section).
Population size of alternative host species
number=double
Units: Number
Population size of this non-human host.
Parasite genetics
<parasiteGenetics
samplingMode=("initial" or "tracking")
>
IN THIS ORDER:
| ( <locus ... /> )+
</parasiteGenetics>
Documentation (element)
A specification of genotypes of infection parasites.
May be omitted; in this case there is no modelling of genetic differences of infections (resistance, fitness).
Attributes
samplingMode
samplingMode=("initial" or "tracking")
This controls how genotypes are determined for new infections during the intervention period. Prior to this (in initialisation phases), genotypes are always sampled using the specified initial frequencies. Mode "initial" continues to sample genotypes using initial frequencies (i.e. independent of the success of parent generations of parasites). Mode "tracking" samples genotypes based on the success parent generations of parasites have in infecting mosquitoes, tracked per genotype. It is possible that in the future a recombination option will be added to this list, however designing a suitable model is not trivial.
Locus
→ scenario → parasiteGenetics → locus
<locus
name=string
>
IN THIS ORDER:
| ( <allele ... /> )+
</locus>
Documentation (element)
Describes a locus, or a point at which an infection may vary. The genotype of an infection is determined by choosing one allele at each locus. Initial frequencies of alleles are specified independently for each locus, but subsequent infections are selected according to success of genotypes.
Alleles at loci can affect fitness and resistance to any number of drugs.
Attributes
Name of locus
name=string
Name of the Locus
Allele
→ scenario → parasiteGenetics → locus → allele
<allele
name=string
initialFrequency=double
fitness=double
/>
Documentation (element)
Describes an allele, or one possible genetic option of multiple at one point of variance.
Attributes
Name
name=string
Name of the allele; used to refer to it elsewhere.
Initial frequency
initialFrequency=double
Specification of how commonly this allele occurs during warmup relative to other alleles of the same locus. During the simulation's initialisation phases, the frequency at which each allele of each locus occurs is fixed. After the initialisation phase, frequency of alleles is modelled as an emergent property of the success of genotypes.
Fitness factor
fitness=double
Fitness factor of the allele. This is multiplication factor used to speed up or slow down replication of parasites. For example, if a genotype has an allele with a fitness factor of 1 at one locus and another allele with a fitness factor of 0.8 at a second locus, then the parasites with the genotype will replicate 20% slower than the baseline.
Drug parameters (PK, PD and usage)
→ scenario → pharmacology
<pharmacology>
IN THIS ORDER:
| <treatments ... />
| <drugs ... />
</pharmacology>
Documentation (element)
Drug model parameters and drug usage parameters
Documentation (type)
A library of drug related data for the PK/PD model.
Treatments library
→ scenario → pharmacology → treatments
<treatments>
IN THIS ORDER:
| ( <schedule ... /> )+
| ( <dosages ... /> )+
</treatments>
Documentation (element)
A library of drug deployment schedules and dosages.
schedule
→ scenario → pharmacology → treatments → schedule
<schedule
name=string
>
IN THIS ORDER:
| ( <medicate ... /> )*
</schedule>
Documentation (type)
A schedule for the administration of drugs in a course of treatment.
Note that dose sizes are multiplied by some multiplier (see dosages) and the times of all doses may be delayed.
Attributes
Name
name=string
Name for referring to this deployment schedule
medicate
→ scenario → pharmacology → treatments → schedule → medicate
<medicate
drug=string
mg=double
hour=double
/>
Attributes
drug
drug=string
Abbreviated name of drug compound
Drug dose (mg with multiplier)
mg=double
Units: mg per something
Quantity of drug compound in mg per something. A separate dosage table must be used when medicating, which may specify multipliers of this number based on patient age or weight.
Time of administration
hour=double
Units: Hours Min: 0
Number of hours past start of timestep this drug dose is administered at (first dose should be at hour 0).
dosages
→ scenario → pharmacology → treatments → dosages
<dosages
name=string
>
IN THIS ORDER:
| EXACTLY ONE OF:
| | ( <age ... /> )+
| | ( <bodymass ... /> )+
| | <multiply ... />
</dosages>
Documentation (type)
A table for selecting a dose size given an age.
Categories must uniquely cover all ages from birth, with no upper bound. Categories must be listed in order of age, increasing; the first must have lower bound 0. Upper bounds are equal to the lower bound of the next category, (but are exclusive where lower bounds are inclusive); the last category has no upper bound.
Attributes
Name
name=string
Name for referring to this dosage table
age
→ scenario → pharmacology → treatments → dosages → age
<age
lowerbound=double
dose_mult=double
/>
Documentation (type)
Gives a dose multiplier for an age or body mass range.
Attributes
Lower bound (inclusive)
lowerbound=double
Units: years Min: 0
Dose multiplier
dose_mult=double
Min: 0
The dose size given in the schedule (in mg) is multiplied by this value for patients falling into this age range when this dosage table is used.
bodymass
→ scenario → pharmacology → treatments → dosages → bodymass
<bodymass
lowerbound=double
dose_mult=double
/>
Documentation (type)
Gives a dose multiplier for an age or body mass range.
Attributes
Lower bound (inclusive)
lowerbound=double
Units: years Min: 0
Dose multiplier
dose_mult=double
Min: 0
The dose size given in the schedule (in mg) is multiplied by this value for patients falling into this age range when this dosage table is used.
Multiply dose
→ scenario → pharmacology → treatments → dosages → multiply
<multiply
by=("kg")
/>
Documentation (element)
Multiply the dose by some quantity, such as patient weight.
Attributes
By what?
by=("kg")
Quantity to multiply the dose by. Only option is "kg" (patient weight in kg).
Drug library
→ scenario → pharmacology → drugs
<drugs>
IN THIS ORDER:
| ( <drug ... /> )+
</drugs>
Documentation (element)
A library of drug PK/PD data.
drug
→ scenario → pharmacology → drugs → drug
<drug
abbrev=string
>
IN THIS ORDER:
| <PD ... />
| <PK ... />
</drug>
Documentation (type)
A drug description with PK/PD parameters.
Attributes
abbrev
abbrev=string
PD
→ scenario → pharmacology → drugs → drug → PD
<PD
[ locus=string ]
>
IN THIS ORDER:
| ( <phenotype ... /> )+
</PD>
Attributes
Locus
locus=string
Optional; if present specifies the locus corresponding to this drug's PD phenotypes: each phenotype must then match one of that locus's alleles. Otherwise the drug should specify only one phenotype. There is currently a one-to-many correspondance between loci and drugs.
PD parameters for some allele / resistance phenotype
→ scenario → pharmacology → drugs → drug → PD → phenotype
<phenotype
[ name=string ]
>
IN THIS ORDER:
| ( <restriction ... /> )*
| <max_killing_rate ... />
| <IC50 ... />
| <slope ... />
</phenotype>
Documentation (element)
Pharmaco-Dynamic parameters for some resistance phenotype.
To model resistance to this drug, describe multiple infection phenotypes (with respect to these PD parameters) and list one or more "restrict" elements for each phenotype.
Loci are specified elsewhere. Multiple loci may influence the action of a single drug and each locus may influence multiple drugs.
Attributes
Name of phenotype
name=string
Name of the phenotype; for documentation use only.
Restrict phenotype applicability to certain alleles
→ scenario → pharmacology → drugs → drug → PD → phenotype → restriction
<restriction
onLocus=string
toAllele=string
/>
Documentation (element)
Specifies the mapping from genotype to phenotype. For each drug type, if only one phenotype is present, restrictions need not be specified, but otherwise restrictions must be specified.
The set of loci affecting phenotypes of this drug's action must be fixed for any drug type. Each phenotype must list, for each of these loci, a restriction to one or more alleles under the locus.
Attributes
Locus relevant to the mapping of alleles to this phenotype
onLocus=string
A locus under which only a restricted set of alleles map to this phenotype.
Alleles mapping to this phenotype
toAllele=string
One allele of a locus upon which phenotype choice depends. If multiple alleles under this locus should map to the same phenotype, repeat the whole "restriction onLocus..." element.
Maximal parasite killing rate
→ scenario → pharmacology → drugs → drug → PD → phenotype → max_killing_rate
<max_killing_rate>
double
</max_killing_rate>
Documentation (element)
Units: 1/days Min: 0
k1 — Maximal parasite killing rate.
IC50
→ scenario → pharmacology → drugs → drug → PD → phenotype → IC50
<IC50
[ sigma=double ] DEFAULT VALUE 0
>
double
</IC50>
Documentation (element)
Units: mg/l Min: 0
Half maximal effect concentration. If sigma > 0, the IC50 is sampled for each infection from a log-normal distribution with mean of this value and the sigma value specified, i.e. X ~ log N( log(mean) - s^2 / 2, s^2 ) .
Attributes
Sigma parameter for per-infection variation of IC50
sigma=double
Default value: 0
Distribution parameter describing per-infection variation of IC50. If zero or not specified, the IC50 is not sampled. See documentation of parent element.
Slope of effect curve
→ scenario → pharmacology → drugs → drug → PD → phenotype → slope
<slope>
double
</slope>
Documentation (element)
Units: dimensionless
n — Slope of the concentration effect curve
PK
→ scenario → pharmacology → drugs → drug → PK
<PK>
IN THIS ORDER:
| <negligible_concentration ... />
| EXACTLY ONE OF:
| | <half_life ... />
| | IN THIS ORDER:
| | | <k ... />
| | | <m_exponent ... />
| [ <k_a ... /> ]
| [ <conversion ... /> ]
| <vol_dist ... />
| [ <compartment2 ... /> ]
| [ <compartment3 ... /> ]
</PK>
Drug concentration considered negligible
→ scenario → pharmacology → drugs → drug → PK → negligible_concentration
<negligible_concentration>
double
</negligible_concentration>
Documentation (element)
Units: mg/l Min: 0
Concentration below which drug's effects are deemed negligible and can be removed from simulation.
drug half-life
→ scenario → pharmacology → drugs → drug → PK → half_life
<half_life>
double
</half_life>
Documentation (element)
Units: days Min: 0
Used to calculate elimination rate λ, calculated as λ = ln(2) / half_life. The basic form of decay is C(t) = C0 * exp(-λ*t).
Alternatively, elimination rate can be specified via k and m_exponent.
Constant associated with elimination rate (k)
→ scenario → pharmacology → drugs → drug → PK → k
<k
mean=double
[ cv=double ]
distr=("lnorm" or "const")
/>
Documentation (element)
Units: day^-1 Min: 0
Constant used to calculate the elimination rate λ, which is calculated as λ = k / (body_mass ^ m_exponent), where body_mass is the patient's weight in kg and m_exponent is the next parameter. The basic form of decay is C(t) = C0 * exp(-λ*t).
If sigma > 0, k is sampled per-human from the log-normal distribution: ln N( ln(mean) - σ^2 / 2, σ^2).
Alternatively, elimination rate can be specified via half_life.
Documentation (type)
Parameters of some distribution. The mean is that provided and the standard deviation is cv*mean.
Log-normal: σ = cv * mean ; μ = ln(mean) - σ² / 2 ; X ~ ln N( μ, σ² ) ; equivalent R sample: rlnorm(1, log(mean) - ((cv * mean)^2) / 2, cv * mean).
Attributes
mean
mean=double
Units: (same as base units)
The mean of the distribution.
Coefficient of variance
cv=double
Units: unitless
Coefficient of variance (mean * cv gives standard deviation). Must be specified when distribution is not constant.
Distribution
distr=("lnorm" or "const")
Selects the distribution to use. const: constant (no distribution). Setting cv=0 has the same behaviour. lnorm: log-normal distribution
Constant associated with elimination rate (m_exponent)
→ scenario → pharmacology → drugs → drug → PK → m_exponent
<m_exponent>
double
</m_exponent>
Documentation (element)
Units: day^-1 Min: 0
Constant used to calculate the elimination rate λ, which is calculated as λ = k / (body_mass ^ m_exponent), where body_mass is the patient's weight in kg and k is the previous parameter. The basic form of decay is C(t) = C0 * exp(-λ*t).
Alternatively, elimination rate can be specified via half_life.
Note that in the case of a conversion model, this applies to both the elimination and the conversion rates.
Absorption rate constant (k_a)
→ scenario → pharmacology → drugs → drug → PK → k_a
<k_a
mean=double
[ cv=double ]
distr=("lnorm" or "const")
/>
Documentation (element)
Min: 0
Absorption rate parameter. Not allowed for one compartment models, but required for two and three compartment models and one compartment with conversion model (for the parent drug only).
Documentation (type)
Parameters of some distribution. The mean is that provided and the standard deviation is cv*mean.
Log-normal: σ = cv * mean ; μ = ln(mean) - σ² / 2 ; X ~ ln N( μ, σ² ) ; equivalent R sample: rlnorm(1, log(mean) - ((cv * mean)^2) / 2, cv * mean).
Attributes
mean
mean=double
Units: (same as base units)
The mean of the distribution.
Coefficient of variance
cv=double
Units: unitless
Coefficient of variance (mean * cv gives standard deviation). Must be specified when distribution is not constant.
Distribution
distr=("lnorm" or "const")
Selects the distribution to use. const: constant (no distribution). Setting cv=0 has the same behaviour. lnorm: log-normal distribution
Conversion parameters (parent drug)
→ scenario → pharmacology → drugs → drug → PK → conversion
<conversion>
IN ANY ORDER:
| <metabolite ... />
| <rate ... />
| <molRatio ... />
</conversion>
Documentation (element)
Configures the parent drug in a conversion model.
To use a conversion model, the parent drug should have this section defined as well as half-life or k (direct elimination; this may be zero) and k_a (absorption rate; this may be large).
The metabolite drug should define half-life or k (elimination of metabolite), but not k_a (absorption rate) or this section (conversion). It is not possible for the metabolite to itself undergo conversion with the current models.
Metabolite drug (abbreviation)
→ scenario → pharmacology → drugs → drug → PK → conversion → metabolite
<metabolite>
string
</metabolite>
Documentation (element)
The abbreviation of the metabolite drug (e.g. "DHA" or "DHA_AR").
Rate of conversion
→ scenario → pharmacology → drugs → drug → PK → conversion → rate
<rate
mean=double
[ cv=double ]
distr=("lnorm" or "const")
/>
Documentation (element)
Rate of conversion of parent drug to metabolite.
Documentation (type)
Parameters of some distribution. The mean is that provided and the standard deviation is cv*mean.
Log-normal: σ = cv * mean ; μ = ln(mean) - σ² / 2 ; X ~ ln N( μ, σ² ) ; equivalent R sample: rlnorm(1, log(mean) - ((cv * mean)^2) / 2, cv * mean).
Attributes
mean
mean=double
Units: (same as base units)
The mean of the distribution.
Coefficient of variance
cv=double
Units: unitless
Coefficient of variance (mean * cv gives standard deviation). Must be specified when distribution is not constant.
Distribution
distr=("lnorm" or "const")
Selects the distribution to use. const: constant (no distribution). Setting cv=0 has the same behaviour. lnorm: log-normal distribution
Molecular weight ratio
→ scenario → pharmacology → drugs → drug → PK → conversion → molRatio
<molRatio>
double
</molRatio>
Documentation (element)
Ratio of molecular weights: molecular weight of the metabolite divided by molecular weight of the parent.
Volume of Distribution (Vd)
→ scenario → pharmacology → drugs → drug → PK → vol_dist
<vol_dist
[ sigma=double ] DEFAULT VALUE 0
>
double
</vol_dist>
Documentation (element)
Units: l/kg Min: 0
Volume of Distribution
Attributes
Sigma parameter for per-human variation of Vd
sigma=double
Default value: 0
Distribution parameter describing per-human variation of volume of distribution. If zero or not specified, the parameter is not sampled. See documentation of parent element.
Second compartment parameters
→ scenario → pharmacology → drugs → drug → PK → compartment2
<compartment2>
IN ANY ORDER:
| <a12 ... />
| <a21 ... />
</compartment2>
Documentation (element)
Optional element specifying conversion parameters to- and from- a second compartment.
Absorption rate to compartment 2 (a12)
→ scenario → pharmacology → drugs → drug → PK → compartment2 → a12
<a12
mean=double
[ cv=double ]
distr=("lnorm" or "const")
/>
Documentation (element)
Units: day^-1 Min: 0
Absorption rate from the central compartment to the first periphery compartment (2). The parameter k12 = a12 / m where m is the body mass (kg).
It is sampled per-patient when sigma > 0.
Documentation (type)
Parameters of some distribution. The mean is that provided and the standard deviation is cv*mean.
Log-normal: σ = cv * mean ; μ = ln(mean) - σ² / 2 ; X ~ ln N( μ, σ² ) ; equivalent R sample: rlnorm(1, log(mean) - ((cv * mean)^2) / 2, cv * mean).
Attributes
mean
mean=double
Units: (same as base units)
The mean of the distribution.
Coefficient of variance
cv=double
Units: unitless
Coefficient of variance (mean * cv gives standard deviation). Must be specified when distribution is not constant.
Distribution
distr=("lnorm" or "const")
Selects the distribution to use. const: constant (no distribution). Setting cv=0 has the same behaviour. lnorm: log-normal distribution
Absorption rate from compartment 2 (a21)
→ scenario → pharmacology → drugs → drug → PK → compartment2 → a21
<a21
mean=double
[ cv=double ]
distr=("lnorm" or "const")
/>
Documentation (element)
Units: day^-1 Min: 0
Absorption rate from the first periphery compartment (2) to the central compartment. The parameter k21 = a21 / m where m is the body mass (kg).
It is sampled per-patient when sigma > 0.
Documentation (type)
Parameters of some distribution. The mean is that provided and the standard deviation is cv*mean.
Log-normal: σ = cv * mean ; μ = ln(mean) - σ² / 2 ; X ~ ln N( μ, σ² ) ; equivalent R sample: rlnorm(1, log(mean) - ((cv * mean)^2) / 2, cv * mean).
Attributes
mean
mean=double
Units: (same as base units)
The mean of the distribution.
Coefficient of variance
cv=double
Units: unitless
Coefficient of variance (mean * cv gives standard deviation). Must be specified when distribution is not constant.
Distribution
distr=("lnorm" or "const")
Selects the distribution to use. const: constant (no distribution). Setting cv=0 has the same behaviour. lnorm: log-normal distribution
Third compartment parameters
→ scenario → pharmacology → drugs → drug → PK → compartment3
<compartment3>
IN ANY ORDER:
| <a13 ... />
| <a31 ... />
</compartment3>
Documentation (element)
Optional element specifying conversion parameters to- and from- a third compartment.
Absorption rate to compartment 3 (a13)
→ scenario → pharmacology → drugs → drug → PK → compartment3 → a13
<a13
mean=double
[ cv=double ]
distr=("lnorm" or "const")
/>
Documentation (element)
Units: day^-1 Min: 0
Absorption rate from the central compartment to the second periphery compartment (3). The parameter k13 = a13 / m where m is the body mass (kg).
It is sampled per-patient when sigma > 0.
Documentation (type)
Parameters of some distribution. The mean is that provided and the standard deviation is cv*mean.
Log-normal: σ = cv * mean ; μ = ln(mean) - σ² / 2 ; X ~ ln N( μ, σ² ) ; equivalent R sample: rlnorm(1, log(mean) - ((cv * mean)^2) / 2, cv * mean).
Attributes
mean
mean=double
Units: (same as base units)
The mean of the distribution.
Coefficient of variance
cv=double
Units: unitless
Coefficient of variance (mean * cv gives standard deviation). Must be specified when distribution is not constant.
Distribution
distr=("lnorm" or "const")
Selects the distribution to use. const: constant (no distribution). Setting cv=0 has the same behaviour. lnorm: log-normal distribution
Absorption rate from compartment 3 (a31)
→ scenario → pharmacology → drugs → drug → PK → compartment3 → a31
<a31
mean=double
[ cv=double ]
distr=("lnorm" or "const")
/>
Documentation (element)
Units: day^-1 Min: 0
Absorption rate from the second periphery compartment (3) to the central compartment. The parameter k31 = a31 / m where m is the body mass (kg).
It is sampled per-patient when sigma > 0.
Documentation (type)
Parameters of some distribution. The mean is that provided and the standard deviation is cv*mean.
Log-normal: σ = cv * mean ; μ = ln(mean) - σ² / 2 ; X ~ ln N( μ, σ² ) ; equivalent R sample: rlnorm(1, log(mean) - ((cv * mean)^2) / 2, cv * mean).
Attributes
mean
mean=double
Units: (same as base units)
The mean of the distribution.
Coefficient of variance
cv=double
Units: unitless
Coefficient of variance (mean * cv gives standard deviation). Must be specified when distribution is not constant.
Distribution
distr=("lnorm" or "const")
Selects the distribution to use. const: constant (no distribution). Setting cv=0 has the same behaviour. lnorm: log-normal distribution
Diagnostic parameters
→ scenario → diagnostics
<diagnostics>
IN THIS ORDER:
| ( <diagnostic ... /> )*
</diagnostics>
Documentation (element)
Diagnostic model parameters
diagnostic
→ scenario → diagnostics → diagnostic
<diagnostic
name=string
[ units=("Other" or "Garki" or "Malariatherapy") ]
>
IN THIS ORDER:
| EXACTLY ONE OF:
| | <deterministic ... />
| | <stochastic ... />
</diagnostic>
Attributes
Name of diagnostic
name=string
Name of this diagnostic (parameterisation). May be used elsewhere in the XML document to refer to this set of diagnostic parameters.
Parasite density units / methodology
units=("Other" or "Garki" or "Malariatherapy")
Parasite densities, as estimated according to standard microscopy methods, the Garki method, and as derived from Malariatherapy data are not equivalent. Internally, a "bias" factor is used to convert values estimated by one methods to values comparable with another (see AJTMHv75 supplement 2 pp20-21). This option allows specification of which methodology the density given in the diagnostic specification is measured with. Values allowed are: Malariatherapy, Garki and Other. If not specified, Other is assumed, unless the GARKI_DENSITY_BIAS model option is used, in which case this option must be specified.
Deterministic detection
→ scenario → diagnostics → diagnostic → deterministic
<deterministic
minDensity=double
/>
Documentation (element)
Specify that an artificial deterministic test is used: outcome is positive if parasite density is at least the minimum given.
Attributes
Minimum detectible density
minDensity=double
Units: parasites/microlitre Min: 0
The minimum density at which parasites can be detected. If 0, the test outcome is always positive.
Non-deterministic detection
→ scenario → diagnostics → diagnostic → stochastic
<stochastic
dens_50=double
specificity=double
/>
Documentation (element)
An improved model of detection which is non-deterministic, including false positive results as well as false negatives.
The probability of a positive outcome is modelled as 1 + s×(x/(x+d) - 1) where x is the parasite density, d is the density at which the test outcome has a 50% chance of being positive, and s is the probability of a positive outcome given no parasites (the specificity).
Some parameterisations:
Microscopy sensitivity/specificity data in Africa; Source: expert opinion — Allan Schapira dens_50 = 20.0 specificity = .75
RDT sensitivity/specificity for Plasmodium falciparum in Africa Source: Murray et al (Clinical Microbiological Reviews, Jan. 2008) dens_50 = 50.0; specificity = .942;
Attributes
Density 50
dens_50=double
Units: parasites/microlitre Min: 0
The density at which the test outcome has a 50% chance of being positive.
Specificity
specificity=double
Units: Dimensionless Min: 0 Max: 1
The probability of a positive test outcome in the absense of parasites.
Model options and parameters
<model>
IN ANY ORDER:
| <ModelOptions ... />
| <clinical ... />
| <human ... />
| [ <vivax ... /> ]
| <parameters ... />
</model>
Documentation (element)
Encapsulation of all parameters which describe the model according to which fitting is done.
Model Options
→ scenario → model → ModelOptions
<ModelOptions>
IN THIS ORDER:
| ( <option ... /> )*
</ModelOptions>
Documentation (element)
All model options (bug fixes, choices between models, etc.).
The list of recognised options can be found in the code at:
model/util/ModelOptions.h and should also be in the wiki.
clinical
<clinical
healthSystemMemory=string
>
IN ANY ORDER:
| [ <NeonatalMortality ... /> ]
| [ <NonMalariaFevers ... /> ]
</clinical>
Documentation (type)
Description of clinical parameters that are related to the health-system description, but which contain data that cannot be changed as part of an intervention and that are not restricted to treatment.
Attributes
Follow-up period during which recurrence is considered a treatment failure
healthSystemMemory=string
Units: User-defined (defaults to steps)
Follow-up period during which a recurrence is considered to be a treatment failure Can be specified in steps (e.g. 6t) or days (e.g. 28d).
Neonatal mortality parameters
→ scenario → model → clinical → NeonatalMortality
<NeonatalMortality
diagnostic=string
/>
Attributes
Diagnostic used to parameterise model
diagnostic=string
The name of a diagnostic used to parameterise the model. Neonatal mortality is derived from malaria patency of a certain sub-population of humans. This is the diagnostic used to asses patency for this purpose. If this is not specified, the monitoring diagnostic is used.
NonMalariaFevers
→ scenario → model → clinical → NonMalariaFevers
<NonMalariaFevers>
IN THIS ORDER:
| <incidence ... />
| [ <prNeedTreatmentNMF ... /> ]
| [ <prNeedTreatmentMF ... /> ]
</NonMalariaFevers>
Documentation (type)
Description of the incidence of non-malaria fever. Non-malaria fevers are only modelled if the NON_MALARIA_FEVERS option is used.
P(NMF)
→ scenario → model → clinical → NonMalariaFevers → incidence
<incidence
[ interpolation=("none" or "linear") ]
>
IN THIS ORDER:
| ( <group ... /> )+
</incidence>
Documentation (element)
Units: Dimensionless Min: 0.0 Max: 1.0
Probability that a non-malaria fever occurs given that no concurrent malaria fever occurs.
Attributes
interpolation
interpolation=("none" or "linear")
Interpolation algorithm. Normally it is desirable for age-based values to be continuous w.r.t. age. By default linear interpolation is used. With all algorithms except "none", the age groups are converted to a set of points centred within each age range. Extra points are added at each end (zero and infinity) to keep value constant at both ends of the function. A zero-length age group may be used as a kind of barrier to adjust the distribution; e.g. with age group boundaries at 15, 20 and 25 years, a (linear) spline would be drawn between ages 17.5 and 22.5, whereas with boundaries at 15, 20 and 20 years, a spline would be drawn between ages 17.5 and 20 years (may be desired if individuals are assumed to reach adult size at 20). Algorithms:
- none: input values are used directly
- linear: straight lines (on an age vs. value graph) are used to interpolate data points.
P(need treatment | NMF)
→ scenario → model → clinical → NonMalariaFevers → prNeedTreatmentNMF
<prNeedTreatmentNMF
[ interpolation=("none" or "linear") ]
>
IN THIS ORDER:
| ( <group ... /> )+
</prNeedTreatmentNMF>
Documentation (element)
Units: Dimensionless Min: 0 Max: 1
Probability that a non-malarial fever requires treatment with antibiotics (assuming fever is not induced by malaria, although concurrent parasites may be present).
Attributes
interpolation
interpolation=("none" or "linear")
Interpolation algorithm. Normally it is desirable for age-based values to be continuous w.r.t. age. By default linear interpolation is used. With all algorithms except "none", the age groups are converted to a set of points centred within each age range. Extra points are added at each end (zero and infinity) to keep value constant at both ends of the function. A zero-length age group may be used as a kind of barrier to adjust the distribution; e.g. with age group boundaries at 15, 20 and 25 years, a (linear) spline would be drawn between ages 17.5 and 22.5, whereas with boundaries at 15, 20 and 20 years, a spline would be drawn between ages 17.5 and 20 years (may be desired if individuals are assumed to reach adult size at 20). Algorithms:
- none: input values are used directly
- linear: straight lines (on an age vs. value graph) are used to interpolate data points.
P(need treatment | MF)
→ scenario → model → clinical → NonMalariaFevers → prNeedTreatmentMF
<prNeedTreatmentMF
[ interpolation=("none" or "linear") ]
>
IN THIS ORDER:
| ( <group ... /> )+
</prNeedTreatmentMF>
Documentation (element)
Units: Dimensionless Min: 0 Max: 1
Probability that a malaria fever needs treatment with antibiotics (assuming fever is induced by malaria, although concurrent bacteria may be present).
Meaning partially overlaps with separate model for comorbidity given malaria.
Attributes
interpolation
interpolation=("none" or "linear")
Interpolation algorithm. Normally it is desirable for age-based values to be continuous w.r.t. age. By default linear interpolation is used. With all algorithms except "none", the age groups are converted to a set of points centred within each age range. Extra points are added at each end (zero and infinity) to keep value constant at both ends of the function. A zero-length age group may be used as a kind of barrier to adjust the distribution; e.g. with age group boundaries at 15, 20 and 25 years, a (linear) spline would be drawn between ages 17.5 and 22.5, whereas with boundaries at 15, 20 and 20 years, a spline would be drawn between ages 17.5 and 20 years (may be desired if individuals are assumed to reach adult size at 20). Algorithms:
- none: input values are used directly
- linear: straight lines (on an age vs. value graph) are used to interpolate data points.
human
<human>
IN THIS ORDER:
| <availabilityToMosquitoes ... />
| [ <weight ... /> ]
</human>
Documentation (type)
Parameters of host models.
Availability to mosquitoes
→ scenario → model → human → availabilityToMosquitoes
<availabilityToMosquitoes
[ interpolation=("none" or "linear") ]
>
IN THIS ORDER:
| ( <group ... /> )+
</availabilityToMosquitoes>
Documentation (element)
Units: None Min: 0 Max: 1
Availability of humans to mosquitoes relative to an adult, categorized by age group
Attributes
interpolation
interpolation=("none" or "linear")
Interpolation algorithm. Normally it is desirable for age-based values to be continuous w.r.t. age. By default linear interpolation is used. With all algorithms except "none", the age groups are converted to a set of points centred within each age range. Extra points are added at each end (zero and infinity) to keep value constant at both ends of the function. A zero-length age group may be used as a kind of barrier to adjust the distribution; e.g. with age group boundaries at 15, 20 and 25 years, a (linear) spline would be drawn between ages 17.5 and 22.5, whereas with boundaries at 15, 20 and 20 years, a spline would be drawn between ages 17.5 and 20 years (may be desired if individuals are assumed to reach adult size at 20). Algorithms:
- none: input values are used directly
- linear: straight lines (on an age vs. value graph) are used to interpolate data points.
Weight
→ scenario → model → human → weight
<weight
[ interpolation=("none" or "linear") ]
multStdDev=double
>
IN THIS ORDER:
| ( <group ... /> )+
</weight>
Documentation (element)
Units: kg Min: 0
By age group data on human weight (mass).
Attributes
interpolation
interpolation=("none" or "linear")
Interpolation algorithm. Normally it is desirable for age-based values to be continuous w.r.t. age. By default linear interpolation is used. With all algorithms except "none", the age groups are converted to a set of points centred within each age range. Extra points are added at each end (zero and infinity) to keep value constant at both ends of the function. A zero-length age group may be used as a kind of barrier to adjust the distribution; e.g. with age group boundaries at 15, 20 and 25 years, a (linear) spline would be drawn between ages 17.5 and 22.5, whereas with boundaries at 15, 20 and 20 years, a spline would be drawn between ages 17.5 and 20 years (may be desired if individuals are assumed to reach adult size at 20). Algorithms:
- none: input values are used directly
- linear: straight lines (on an age vs. value graph) are used to interpolate data points.
Standard deviation
multStdDev=double
Units: None Min: 0
Each human is assigned a weight multiplier from a normal distribution with mean 1 and this standard deviation at birth. His/her weight is this multiplier times the mean from age distribution. A standard deviation of zero for no heterogeneity is valid; a rough value from Tanzanian data is 0.14.
vivax
<vivax>
IN ANY ORDER:
| <probBloodStageInfectiousToMosq ... />
| <hypnozoiteRelease ... />
| <bloodStageProtectionLatency ... />
| <bloodStageLengthDays ... />
| <clinicalEvents ... />
</vivax>
- probBloodStageInfectiousToMosq
- hypnozoiteRelease
- bloodStageProtectionLatency
- bloodStageLengthDays
- clinicalEvents
probBloodStageInfectiousToMosq
→ scenario → model → vivax → probBloodStageInfectiousToMosq
<probBloodStageInfectiousToMosq
value=double
/>
Attributes
Input parameter value
value=double
A double-precision floating-point value.
hypnozoiteRelease
→ scenario → model → vivax → hypnozoiteRelease
<hypnozoiteRelease
[ pSecondRelease=double ] DEFAULT VALUE 0
>
IN ANY ORDER:
| <numberHypnozoites ... />
| <firstRelease ... />
| [ <secondRelease ... /> ]
</hypnozoiteRelease>
Documentation (type)
This element defines probabilites when and how many hypnozoites are released from the liverstage into the blood.
The gap between the start of a new brood of hypnozoites and its release are defined as follows:
latentP + latentRelapseDays + randomReleaseDelay
randomReleaseDelay is based on one or two lognormal distributions, which are defined in firstRelease and optionally secondRelease.
You can define 2 release distributions, which get added together and represent the probability of hypnozoites which get released before winter (first release) or after (second release).
You can omit the secondRelease element if no release to the blood happens after winter.
Attributes
latent relapse days
pSecondRelease=double
Default value: 0
Probability of a second release. If undefined it is zero.
Number of Hypnozoites
→ scenario → model → vivax → hypnozoiteRelease → numberHypnozoites
<numberHypnozoites
max=int
base=double
/>
Documentation (element)
numberHypnozoites calculates the number of hypnozoites in the liver stage based on a base which is between 0 and 1.
This number is random based on the following distribution and normalized:
max ∑ (base ^ n) n = 0
Attributes
max
max=int
base
base=double
firstRelease
→ scenario → model → vivax → hypnozoiteRelease → firstRelease
<firstRelease
mu=double
sigma=double
latentRelapseDays=int
/>
Documentation (base type)
Parameters of a normal distribution.
Variates are sampled as: X ~ N( mu, sigma² ).
Attributes
mu
mu=double
Units: (same as base units)
The mean of the normal distribution.
sigma
sigma=double
Units: (same as base units)
The standard deviation of variates.
latent relapse days
latentRelapseDays=int
Usually 15 days or 10 days (3 or 2 5-day timesteps).
secondRelease
→ scenario → model → vivax → hypnozoiteRelease → secondRelease
<secondRelease
mu=double
sigma=double
latentRelapseDays=int
/>
Documentation (base type)
Parameters of a normal distribution.
Variates are sampled as: X ~ N( mu, sigma² ).
Attributes
mu
mu=double
Units: (same as base units)
The mean of the normal distribution.
sigma
sigma=double
Units: (same as base units)
The standard deviation of variates.
latent relapse days
latentRelapseDays=int
Usually 15 days or 10 days (3 or 2 5-day timesteps).
bloodStageProtectionLatency
→ scenario → model → vivax → bloodStageProtectionLatency
<bloodStageProtectionLatency
value=double
/>
Attributes
Input parameter value
value=double
A double-precision floating-point value.
bloodStageLengthDays
→ scenario → model → vivax → bloodStageLengthDays
<bloodStageLengthDays
weibullScale=double
weibullShape=double
/>
Attributes
weibullScale
weibullScale=double
weibullShape
weibullShape=double
clinicalEvents
→ scenario → model → vivax → clinicalEvents
<clinicalEvents>
IN THIS ORDER:
| <pPrimaryInfection ... />
| <pRelapseOne ... />
| <pRelapseTwoPlus ... />
| <pEventIsSevere ... />
</clinicalEvents>
Documentation (type)
This elements holds all information about probabilites for clinical events from infections and relapses.
pPrimaryInfection
→ scenario → model → vivax → clinicalEvents → pPrimaryInfection
<pPrimaryInfection
a=double
b=double
/>
Attributes
a
a=double
b
b=double
pRelapseOne
→ scenario → model → vivax → clinicalEvents → pRelapseOne
<pRelapseOne
a=double
b=double
/>
Attributes
a
a=double
b
b=double
pRelapseTwoPlus
→ scenario → model → vivax → clinicalEvents → pRelapseTwoPlus
<pRelapseTwoPlus
a=double
b=double
/>
Attributes
a
a=double
b
b=double
pEventIsSevere
→ scenario → model → vivax → clinicalEvents → pEventIsSevere
<pEventIsSevere
value=double
/>
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Parameters of the model of epidemiology
→ scenario → model → parameters
<parameters
interval=int
iseed=int
latentp=string
>
IN THIS ORDER:
| ( <parameter ... /> )+
</parameters>
Documentation (element)
Parameters of the epidemiological model
Attributes
Simulation step
interval=int
Units: Days
Simulation step
Random number seed
iseed=int
Units: Number
Seed for RNG
Pre-erythrocytic latent period
latentp=string
Units: User defined (default: steps) Min: 0 Max: 20
Pre-erythrocytic latent period Can be specified in steps (e.g. 3t) or days (e.g. 15d).
parameter
→ scenario → model → parameters → parameter
<parameter
[ name=string ]
number=int
value=double
[ include=boolean ]
/>
Attributes
Name of parameter
name=string
Units: string
Name of parameter
Parameter number
number=int
Units: Number Min: 1 Max: 100
Reference number of input parameter
Parameter value
value=double
Units: Number Min: 0
Parameter value
Sampling indicator
include=boolean
Units: Number Min: 0 Max: 1
True if parameter is to be sampled in optimization runs. Not used in simulator app.
Schema 33 documentation
Generated from: scenario_33.xsd
.
Key:
abc required (one)
[ def ] optional (zero or one)
( ghi )* any number (zero or more)
( jkl )+ at least one
( mno ){2,inf} two or more occurrences
Scenario
→ scenario
<scenario
schemaVersion=int
[ analysisNo=int ]
name=string
[ wuID=int ]
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:om="http://openmalaria.org/schema/scenario_33"
xsi:schemaLocation="http://openmalaria.org/schema/scenario_33 scenario_33.xsd"
>
IN ANY ORDER:
| <demography ... />
| <monitoring ... />
| <interventions ... />
| <healthSystem ... />
| <entomology ... />
| [ <parasiteGenetics ... /> ]
| [ <pharmacology ... /> ]
| [ <diagnostics ... /> ]
| <model ... />
</scenario>
- demography
- monitoring
- interventions
- healthSystem
- entomology
- parasiteGenetics
- pharmacology
- diagnostics
- model
Documentation (element)
Description of scenario
Attributes
Version of the xml schema
schemaVersion=int
Version of xml schema. If not equal to the current version an error is thrown. Use SchemaTranslator to update xml files.
Reference number of the analysis
analysisNo=int
Units: Number Min: 1 Max: 100000000
Unique identifier of scenario
Name of intervention
name=string
Name of intervention
Work unit identifier
wuID=int
Units: Number
Work unit ID. Obselete and no longer required.
Human age distribution
→ scenario → demography
<demography
name=string
popSize=int
maximumAgeYrs=double
[ growthRate=double ]
>
IN THIS ORDER:
| <ageGroup ... />
</demography>
Documentation (element)
Description of demography
Attributes
Name of demography data
name=string
Name of demography data
Population size
popSize=int
Units: Count Min: 1 Max: 100000
Population size
Maximum age of simulated humans
maximumAgeYrs=double
Units: Years Min: 0 Max: 100
Maximum age of simulated humans in years
Growth rate of human population
growthRate=double
Units: Number Min: 0 Max: 0
Growth rate of human population. (we should be able to implement this with non-zero values)
Age groups
→ scenario → demography → ageGroup
<ageGroup
lowerbound=double
>
IN THIS ORDER:
| ( <group ... /> )+
</ageGroup>
Documentation (element)
list of age groups included in demography
Documentation (type)
list of age groups included in demography or surveys
Attributes
Lower bound of age group
lowerbound=double
Units: Years Min: 0 Max: 100
Lower bound of age group
group
→ scenario → demography → ageGroup → group
<group
poppercent=double
upperbound=double
/>
Attributes
Percentage in age group
poppercent=double
Units: Percentage Min: 0 Max: 100
Percentage of human population in age group
Upper bound of age group
upperbound=double
Units: Years Min: 0 Max: 100
Upper bound of age group
Measures to be reported
→ scenario → monitoring
<monitoring
name=string
[ startDate=string ]
>
IN THIS ORDER:
| [ <continuous ... /> ]
| <SurveyOptions ... />
| <surveys ... />
| <ageGroup ... />
| [ <cohorts ... /> ]
</monitoring>
Documentation (element)
Description of surveys
Attributes
Name of monitoring settings
name=string
Name of monitoring settings
Start of monitoring
startDate=string
An optional date for the start of monitoring. If given, dates may be used to specify when other events (surveys, intervention deployments) occur; alternately times relative to the start of the intervention period may be used to specify event times. Setting this to 1st January of some year might simplify usage of dates, and putting the start a couple of years before the start of intervention deployment (along with some extra surveys) may be useful to check transmission stabilises to the expected pre-intervention levels. As an example, if this date is set to 2000-01-01, then the following event times are equivalent (assuming 1t=5d): 15t, 75d, 0.2y, 2000-03-16. Must be in the form YYYY-MM-DD, e.g. 2003-01-01.
continuous
→ scenario → monitoring → continuous
<continuous
period=string
[ duringInit=boolean ]
>
IN THIS ORDER:
| ( <option ... /> )*
</continuous>
Attributes
Delay between reports
period=string
Units: User defined (default: steps)
Delay between reports; typically one time step but can be greater. Can be specified in steps (e.g. 1t) or days (e.g. 5d).
During initialization
duringInit=boolean
Units: Days Min: 1 Max: unbounded
Also output during initialization. By default this is disabled (only intervention-period data is output). This should not be used for predictions, but can be useful for model validation. In this mode, 'simulation time' is output as the first column (in addition to 'timestep'), since 'timestep' is dis- continuous across the start of the intervention period.
option
→ scenario → monitoring → continuous → option
<option
name=string
[ value=boolean ] DEFAULT VALUE true
/>
Attributes
Option name
name=string
Name of an option (monitoring measure or model option).
Indicator of whether option is required
value=boolean
Default value: true
Option on/off switch (true/false). Specifying value="true" is the same as not specifying a value; specifying value="false" explicitly turns the option off. If an option is not mentioned at all, it is left at its default value (normally off, but in a few cases, such as some bug-fix options, on).
Name of quantity
→ scenario → monitoring → SurveyOptions
<SurveyOptions>
IN THIS ORDER:
| ( <option ... /> )*
</SurveyOptions>
Documentation (element)
List of all active survey options. See include/Survey.h for a list of supported outputs. Should also be on the wiki.
option
→ scenario → monitoring → SurveyOptions → option
<option
name=string
[ value=boolean ] DEFAULT VALUE true
[ outputNumber=int ]
[ byAge=boolean ]
[ byCohort=boolean ]
[ bySpecies=boolean ]
[ byGenotype=boolean ]
[ byDrugType=boolean ]
/>
Attributes
Option name
name=string
Name of an option (monitoring measure or model option).
Indicator of whether option is required
value=boolean
Default value: true
Option on/off switch (true/false). Specifying value="true" is the same as not specifying a value; specifying value="false" explicitly turns the option off. If an option is not mentioned at all, it is left at its default value (normally off, but in a few cases, such as some bug-fix options, on).
Number identifying measure in output
outputNumber=int
Number identifying this monitoring measure in the output file (3rd column). Normally this is determined from the measure, but it can be set manually, e.g. for when the same measure is recorded twice (to accumulate across different categories).
Report by age category
byAge=boolean
If true, the measure is reported for each age category. If false, values are summed across all age categories and only the sum reported. If not specified, separate categories will be reported if the measure supports this.
Report by cohort
byCohort=boolean
If true, the measure is reported for each cohort separately. If false, values are summed across all cohorts and only the sum reported. If not specified, separate categories will be reported if the measure supports this.
Report by mosquito species
bySpecies=boolean
If true, the measure is reported for each mosquito species separately. If false, values are summed across all species and only the sum reported. If not specified, separate categories will be reported if the measure supports this.
Report by parasite genotype
byGenotype=boolean
If true, the measure is reported for each parasite genotype separately. If false, values are summed across all genotypes and only the sum reported. If not specified, separate categories will be reported if the measure supports this.
Report by drug type
byDrugType=boolean
If true, the measure is reported for each drug type separately. If false, values are summed across all drug types and only the sum reported. If not specified, separate categories will be reported if the measure supports this.
Survey times (time steps)
→ scenario → monitoring → surveys
<surveys
[ detectionLimit=double ]
[ diagnostic=string ]
>
IN THIS ORDER:
| ( <surveyTime ... /> )+
</surveys>
Documentation (element)
Units: list of elements
List of survey times
Attributes
Detection limit for parasitaemia
detectionLimit=double
Units: parasites/microlitre Min: 0
Deprecated: limit above which a human's infection is reported as patent. Alternative: do not specify this; instead specify "diagnostic".
Name of monitoring diagnostic
diagnostic=string
Name of a parameterised diagnostic to use in surveys (see scenario/diagnostics).
Survey time
→ scenario → monitoring → surveys → surveyTime
<surveyTime
[ repeatStep=string ]
[ repeatEnd=string ]
>
string
</surveyTime>
Documentation (element)
Units: User defined (defaults to steps) Min: 0
Time of a survey. A report will be made for those measures enabled under SurveyOptions. Reported data is either from the moment the survey is done (immediate data) or is collected over the time since the previous survey, or in some cases over a fixed time span (usually one year).
Times can be specified in time steps, starting from 0, or as a date (see monitoring/startDate), or in days (e.g. 15d) or years (e.g. 1y). Relative times mean the time since the start of the intervention period, and must be non-negative (zero is valid, but some measures, e.g. nUncomp, will be zero).
The simulation ends immediately after the last survey is taken.
Attributes
Step of repetition
repeatStep=string
Units: User defined
See repeatEnd's documentation.
End of repetition (exclusive)
repeatEnd=string
Units: User defined
Either both repeatStep and repeatEnd should be present or neither. If present, the survey is repeated every repeatStep timesteps (i.e. if t0 is the initial time and x is repeatStep, surveys are done at times t0, t0+x, t0+2*x, ...), ending before repeatEnd (final repetition is the one before repeatEnd). Note that repeatEnd may be specified as a date but repeatStep must be a duration (days, steps or years).
Age groups
→ scenario → monitoring → ageGroup
<ageGroup
lowerbound=double
>
IN THIS ORDER:
| ( <group ... /> )+
</ageGroup>
Documentation (element)
List of age groups included in demography or surveys
Attributes
lower bound of age group
lowerbound=double
Units: Years Min: 0 Max: 100
Lower bound of age group
group
→ scenario → monitoring → ageGroup → group
<group
upperbound=double
/>
Attributes
upper bound of age group
upperbound=double
Units: Years Min: 0 Max: 100
Upper bound of age group
Cohorts
→ scenario → monitoring → cohorts
<cohorts>
IN THIS ORDER:
| ( <subPop ... /> )+
</cohorts>
Documentation (element)
Allows the configuration of multiple cohorts (output segregated according to membership within specific sub-populations).
If this element is omitted, monitoring surveys cover the entire simulated human population.
It does not affect the "continuous" outputs (these never take cohorts into account).
Sub-population
→ scenario → monitoring → cohorts → subPop
<subPop
id=string
number=integer
/>
Documentation (element)
Consider a certain sup-population a cohort, and segregate outputs according to membership. Where multiple sub-populations are listed, segregate output according to all combinations of membership: e.g. if sub-populations A and B are listed, there will be outputs for "member of A and B", "member of A but not B", "B but not A" and "not a member of A or B". Listing n sub-populations implies 2^n sets of outputs (each is further segregated by age groups, survey times and enabled output measures, which could lead to excessive program memory usage and output file size).
To identify outputs, each sub-population has a power of two number as identifier (see "number" attribute). Each of the 2^n output sets is identified by a number: the output set is the output from humans who are members in some set of sub-populations (S1, S2, ...) and not members in some others (T1, T2, ...); the number identifying the set is the sum of the numbers identifying the sets S1, S2, etc.
In the output file, the output set is identified by multiplying this number by 1000 then adding it to the age group column.
Attributes
Sub-population identifier
id=string
Textual identifier for the sub-population (i.e. for an intervention component, since sub-populations are defined as the hosts an intervention component is deployed to).
Sub-population number
number=integer
Units: dimensionless Min: 1 Max: 2097152
Number identifying a sub-population; used to define identifiers of output sets. This number must be a power of 2 (i.e. 1, 2, 4, 8, ...). See documentation of subPop element.
Preventative interventions
<interventions
name=string
>
IN ANY ORDER:
| [ <changeHS ... /> ]
| [ <changeEIR ... /> ]
| [ <importedInfections ... /> ]
| [ <insertR_0Case ... /> ]
| [ <uninfectVectors ... /> ]
| [ <vectorPop ... /> ]
| [ <human ... /> ]
</interventions>
Documentation (element)
List of interventions. Generally these are either point-time distributions of something to some subset of the population, or continuous-time distribution targetting individuals when they reach a certain age.
Attributes
Name of intervention set
name=string
Name of set of interventions
Change health system
→ scenario → interventions → changeHS
<changeHS
[ name=string ]
>
IN THIS ORDER:
| ( <timedDeployment ... /> )*
</changeHS>
Documentation (element)
Changes to the health system
Attributes
Name of intervention
name=string
Name of intervention
timedDeployment
→ scenario → interventions → changeHS → timedDeployment
<timedDeployment
time=string
>
IN THIS ORDER:
| EXACTLY ONE OF:
| | <EventScheduler ... />
| | <ImmediateOutcomes ... />
| | <DecisionTree5Day ... />
| <CFR ... />
| <pSequelaeInpatient ... />
</timedDeployment>
Documentation (type)
A complete replacement health system. Replaces all previous properties. (Health system can be replaced multiple times if necessary.)
Documentation (base type)
Description of case management system, used to specify the initial model or a replacement (an intervention). Encompasses case management data and some other data required to derive case outcomes.
Contains a sub-element describing the particular health-system in use. Health system data is here defined as data used to decide on a treatment strategy, given a case requiring treatment.
Attributes
Time
time=string
Units: User defined (defauls to steps) Min: 0
Time at which this replacement occurs. See doc on intervention period and on monitoring/startDate for details of how times work. Can be specified in steps, days, years, or as a date (examples: 15t, 75d, 0.2y, 2000-03-16).
EventScheduler
→ scenario → healthSystem → EventScheduler
<EventScheduler>
IN THIS ORDER:
| <uncomplicated ... />
| <complicated ... />
| <ClinicalOutcomes ... />
| [ <NonMalariaFevers ... /> ]
</EventScheduler>
uncomplicated
→ scenario → healthSystem → EventScheduler → uncomplicated
<uncomplicated
[ name=string ]
>
EXACTLY ONE OF:
| <multiple ... />
| <caseType ... />
| <diagnostic ... />
| <random ... />
| <age ... />
| <noTreatment ... />
| <treatFailure ... />
| ( <treatPKPD ... /> )+
| <treatSimple ... />
| ( <deploy ... /> )+
</uncomplicated>
Documentation (type)
Describes how "decisions" are made, both probabilistically and deterministically, and what actions are carried out.
Quantities may also be reported as a side effect of decisions made in the tree, for example the number of diagnostics used.
Attributes
Name
name=string
An optional piece of documentation attached to this node.
multiple
→ scenario → interventions → human → component → decisionTree → multiple
<multiple
[ name=string ]
>
IN THIS ORDER:
| ( <caseType ... /> )*
| ( <diagnostic ... /> )*
| ( <random ... /> )*
| ( <age ... /> )*
| ( <treatPKPD ... /> )*
| [ <treatSimple ... /> ]
| ( <deploy ... /> )*
</multiple>
Documentation (type)
A special node allowing multiple sub-trees to be evaluated.
This is different from an ordinary decision tree node in that:
a) multiple types of child can occur simultaneously (e.g. multiple types of treatment or treatment plus a 'random' sub-tree)
b) the 'noTreatment' and 'treatFailure' nodes are not allowed
Attributes
Name
name=string
An optional piece of documentation attached to this node.
caseType
→ scenario → interventions → human → component → decisionTree → multiple → caseType
<caseType
[ name=string ]
>
IN ANY ORDER:
| <firstLine ... />
| <secondLine ... />
</caseType>
Documentation (type)
A switch which choses a branch deterministically, based on whether the patient was treated recently (second line) or not (first line).
For uncomplicated cases only.
Attributes
Name
name=string
An optional piece of documentation attached to this node.
firstLine
→ scenario → interventions → human → component → decisionTree → multiple → caseType → firstLine
<firstLine
[ name=string ]
>
EXACTLY ONE OF:
| <multiple ... />
| <caseType ... />
| <diagnostic ... />
| <random ... />
| <age ... />
| <noTreatment ... />
| <treatFailure ... />
| ( <treatPKPD ... /> )+
| <treatSimple ... />
| ( <deploy ... /> )+
</firstLine>
Documentation (type)
Describes how "decisions" are made, both probabilistically and deterministically, and what actions are carried out.
Quantities may also be reported as a side effect of decisions made in the tree, for example the number of diagnostics used.
Attributes
Name
name=string
An optional piece of documentation attached to this node.
caseType
→ scenario → interventions → human → component → decisionTree → caseType
<caseType
[ name=string ]
>
IN ANY ORDER:
| <firstLine ... />
| <secondLine ... />
</caseType>
Documentation (type)
A switch which choses a branch deterministically, based on whether the patient was treated recently (second line) or not (first line).
For uncomplicated cases only.
Attributes
Name
name=string
An optional piece of documentation attached to this node.
secondLine
→ scenario → interventions → human → component → decisionTree → multiple → caseType → secondLine
<secondLine
[ name=string ]
>
EXACTLY ONE OF:
| <multiple ... />
| <caseType ... />
| <diagnostic ... />
| <random ... />
| <age ... />
| <noTreatment ... />
| <treatFailure ... />
| ( <treatPKPD ... /> )+
| <treatSimple ... />
| ( <deploy ... /> )+
</secondLine>
Documentation (type)
Describes how "decisions" are made, both probabilistically and deterministically, and what actions are carried out.
Quantities may also be reported as a side effect of decisions made in the tree, for example the number of diagnostics used.
Attributes
Name
name=string
An optional piece of documentation attached to this node.
diagnostic
→ scenario → interventions → human → component → decisionTree → diagnostic
<diagnostic
diagnostic=string
[ name=string ]
>
IN ANY ORDER:
| <positive ... />
| <negative ... />
</diagnostic>
Documentation (type)
A switch which choses a branch deterministically, based on the outcome of some type of diagnostic.
Attributes
Name of diagnostic
diagnostic=string
Should match the name of some parameterised diagnostic (see scenario/diagnostics).
Name
name=string
An optional piece of documentation attached to this node.
positive
→ scenario → interventions → human → component → decisionTree → multiple → diagnostic → positive
<positive
[ name=string ]
>
EXACTLY ONE OF:
| <multiple ... />
| <caseType ... />
| <diagnostic ... />
| <random ... />
| <age ... />
| <noTreatment ... />
| <treatFailure ... />
| ( <treatPKPD ... /> )+
| <treatSimple ... />
| ( <deploy ... /> )+
</positive>
Documentation (type)
Describes how "decisions" are made, both probabilistically and deterministically, and what actions are carried out.
Quantities may also be reported as a side effect of decisions made in the tree, for example the number of diagnostics used.
Attributes
Name
name=string
An optional piece of documentation attached to this node.
random
→ scenario → interventions → human → component → decisionTree → random
<random
[ name=string ]
>
IN THIS ORDER:
| ( <outcome ... /> )+
</random>
Documentation (type)
A switch which choses a branch randomly.
Each branch must be listed with a probability; the sum of all these probabilities must equal 1.
Attributes
Name
name=string
An optional piece of documentation attached to this node.
outcome
→ scenario → interventions → human → component → decisionTree → multiple → random → outcome
<outcome
[ name=string ]
p=double
>
EXACTLY ONE OF:
| <multiple ... />
| <caseType ... />
| <diagnostic ... />
| <random ... />
| <age ... />
| <noTreatment ... />
| <treatFailure ... />
| ( <treatPKPD ... /> )+
| <treatSimple ... />
| ( <deploy ... /> )+
</outcome>
Documentation (base type)
Describes how "decisions" are made, both probabilistically and deterministically, and what actions are carried out.
Quantities may also be reported as a side effect of decisions made in the tree, for example the number of diagnostics used.
Attributes
Name
name=string
An optional piece of documentation attached to this node.
Probability
p=double
Units: None Min: 0 Max: 1
Probability of selecting this outcome. The sum of probabilities across all outcomes must be 1.
age
→ scenario → interventions → human → component → decisionTree → age
<age
[ name=string ]
>
IN THIS ORDER:
| ( <age ... /> )+
</age>
Documentation (type)
A switch which choses a branch deterministically, based on the patient's age (in years).
Categories must uniquely cover all ages from birth, with no upper bound. Categories must be listed in order of age, increasing; the first must have lower bound 0. Upper bounds are equal to the lower bound of the next category, (but are exclusive where lower bounds are inclusive); the last category has no upper bound.
Attributes
Name
name=string
An optional piece of documentation attached to this node.
Age range
→ scenario → interventions → human → component → decisionTree → multiple → age → age
<age
[ name=string ]
lb=double
>
EXACTLY ONE OF:
| <multiple ... />
| <caseType ... />
| <diagnostic ... />
| <random ... />
| <age ... />
| <noTreatment ... />
| <treatFailure ... />
| ( <treatPKPD ... /> )+
| <treatSimple ... />
| ( <deploy ... /> )+
</age>
Documentation (element)
Describes a branch, selected for patients of a certain age.
Documentation (base type)
Describes how "decisions" are made, both probabilistically and deterministically, and what actions are carried out.
Quantities may also be reported as a side effect of decisions made in the tree, for example the number of diagnostics used.
Attributes
Name
name=string
An optional piece of documentation attached to this node.
Lower bound (inclusive)
lb=double
Min: 0
noTreatment
→ scenario → interventions → human → component → decisionTree → noTreatment
<noTreatment
[ name=string ]
/>
Documentation (type)
An end node doing nothing. This exists to explicitly state that no treatment happens and to prevent trees from accidentally being left incomplete.
Attributes
Name
name=string
An optional piece of documentation attached to this node.
treatFailure
→ scenario → interventions → human → component → decisionTree → treatFailure
<treatFailure
[ name=string ]
/>
Documentation (type)
An end node which reports treatment but does not change parasitalogical status. This allows correct labelling of second-line cases.
Attributes
Name
name=string
An optional piece of documentation attached to this node.
treatPKPD
→ scenario → interventions → human → component → decisionTree → treatPKPD
<treatPKPD
schedule=string
dosage=string
[ delay_h=double ] DEFAULT VALUE 0
/>
Documentation (type)
A command to administer drugs according to a given schedule and dosage table, optionally with a delay.
Attributes
Name of treatment schedule
schedule=string
The name of a schedule to use for treatment.
Name of dosage table
dosage=string
The name of a dosage table to use for treatment.
Delay (hours)
delay_h=double
Default value: 0
Optionally, this can be given to delay the start of treatment by a given number of hours. If not specified, treatment is not delayed. If a delay is given, all medications within the treatment schedule used are delayed by this number of hours.
treatSimple
→ scenario → interventions → human → component → decisionTree → treatSimple
<treatSimple
durationLiver=string
durationBlood=string
/>
Documentation (type)
Simple treatment model, targetting liver- and/or blood-stage infections. This is all-or-nothing treatment which, when deploymed, completely clears all infections of the targetted stages. This makes it unsuitable for modeling resistance, but suitable for use with simple infection models.
Infections are considered liver-stage when less than five days old and blood-stage after that. Effects are described independently for the two stages.
Attributes
Length of liver-stage effect
durationLiver=string
Units: User defined
Controls action on liver-stage infections. 0 means no action, -1 step is a compatibility option to act like treatment before schema version 32 (which removed infections retrospectively), 1 step or any duration which equals some whole number of steps n>0 means to clear all liver-stage infections found on the next 1 or n steps. Note on -1 compatibility option: the main difference to 1 step (clearing on the next timestep) is that parasite densities will be reduced immediately, and thus from the point of view of surveys and mass screen and treat interventions a peak in density which is immediately treated through case management will not be seen. Can be specified in steps (e.g. 1t, -1t) or days (e.g. 5d).
Length of blood-stage effect
durationBlood=string
Units: User defined
Controls action on blood-stage infections. 0 means no action, -1 step is a compatibility option to act like treatment before schema version 32 (which removed infections retrospectively), 1 step or any duration which equals some whole number of steps n>0 means to clear all blood-stage infections found on the next 1 or n steps. Note on -1 compatibility option: the main difference to 1 step (clearing on the next timestep) is that parasite densities will be reduced immediately, and thus from the point of view of surveys and mass screen and treat interventions a peak in density which is immediately treated through case management will not be seen. Can be specified in steps (e.g. 1t, -1t) or days (e.g. 5d).
deploy
→ scenario → interventions → human → component → decisionTree → deploy
<deploy
component=string
/>
Documentation (type)
Deploy one or more intervention components.
Attributes
Component identifier
component=string
The identifier (short name) of a component.
negative
→ scenario → interventions → human → component → decisionTree → multiple → diagnostic → negative
<negative
[ name=string ]
>
EXACTLY ONE OF:
| <multiple ... />
| <caseType ... />
| <diagnostic ... />
| <random ... />
| <age ... />
| <noTreatment ... />
| <treatFailure ... />
| ( <treatPKPD ... /> )+
| <treatSimple ... />
| ( <deploy ... /> )+
</negative>
Documentation (type)
Describes how "decisions" are made, both probabilistically and deterministically, and what actions are carried out.
Quantities may also be reported as a side effect of decisions made in the tree, for example the number of diagnostics used.
Attributes
Name
name=string
An optional piece of documentation attached to this node.
diagnostic
→ scenario → interventions → human → component → decisionTree → multiple → diagnostic
<diagnostic
diagnostic=string
[ name=string ]
>
IN ANY ORDER:
| <positive ... />
| <negative ... />
</diagnostic>
Documentation (type)
A switch which choses a branch deterministically, based on the outcome of some type of diagnostic.
Attributes
Name of diagnostic
diagnostic=string
Should match the name of some parameterised diagnostic (see scenario/diagnostics).
Name
name=string
An optional piece of documentation attached to this node.
random
→ scenario → interventions → human → component → decisionTree → multiple → random
<random
[ name=string ]
>
IN THIS ORDER:
| ( <outcome ... /> )+
</random>
Documentation (type)
A switch which choses a branch randomly.
Each branch must be listed with a probability; the sum of all these probabilities must equal 1.
Attributes
Name
name=string
An optional piece of documentation attached to this node.
age
→ scenario → interventions → human → component → decisionTree → multiple → age
<age
[ name=string ]
>
IN THIS ORDER:
| ( <age ... /> )+
</age>
Documentation (type)
A switch which choses a branch deterministically, based on the patient's age (in years).
Categories must uniquely cover all ages from birth, with no upper bound. Categories must be listed in order of age, increasing; the first must have lower bound 0. Upper bounds are equal to the lower bound of the next category, (but are exclusive where lower bounds are inclusive); the last category has no upper bound.
Attributes
Name
name=string
An optional piece of documentation attached to this node.
treatPKPD
→ scenario → interventions → human → component → decisionTree → multiple → treatPKPD
<treatPKPD
schedule=string
dosage=string
[ delay_h=double ] DEFAULT VALUE 0
/>
Documentation (type)
A command to administer drugs according to a given schedule and dosage table, optionally with a delay.
Attributes
Name of treatment schedule
schedule=string
The name of a schedule to use for treatment.
Name of dosage table
dosage=string
The name of a dosage table to use for treatment.
Delay (hours)
delay_h=double
Default value: 0
Optionally, this can be given to delay the start of treatment by a given number of hours. If not specified, treatment is not delayed. If a delay is given, all medications within the treatment schedule used are delayed by this number of hours.
treatSimple
→ scenario → interventions → human → component → decisionTree → multiple → treatSimple
<treatSimple
durationLiver=string
durationBlood=string
/>
Documentation (type)
Simple treatment model, targetting liver- and/or blood-stage infections. This is all-or-nothing treatment which, when deploymed, completely clears all infections of the targetted stages. This makes it unsuitable for modeling resistance, but suitable for use with simple infection models.
Infections are considered liver-stage when less than five days old and blood-stage after that. Effects are described independently for the two stages.
Attributes
Length of liver-stage effect
durationLiver=string
Units: User defined
Controls action on liver-stage infections. 0 means no action, -1 step is a compatibility option to act like treatment before schema version 32 (which removed infections retrospectively), 1 step or any duration which equals some whole number of steps n>0 means to clear all liver-stage infections found on the next 1 or n steps. Note on -1 compatibility option: the main difference to 1 step (clearing on the next timestep) is that parasite densities will be reduced immediately, and thus from the point of view of surveys and mass screen and treat interventions a peak in density which is immediately treated through case management will not be seen. Can be specified in steps (e.g. 1t, -1t) or days (e.g. 5d).
Length of blood-stage effect
durationBlood=string
Units: User defined
Controls action on blood-stage infections. 0 means no action, -1 step is a compatibility option to act like treatment before schema version 32 (which removed infections retrospectively), 1 step or any duration which equals some whole number of steps n>0 means to clear all blood-stage infections found on the next 1 or n steps. Note on -1 compatibility option: the main difference to 1 step (clearing on the next timestep) is that parasite densities will be reduced immediately, and thus from the point of view of surveys and mass screen and treat interventions a peak in density which is immediately treated through case management will not be seen. Can be specified in steps (e.g. 1t, -1t) or days (e.g. 5d).
deploy
→ scenario → interventions → human → component → decisionTree → multiple → deploy
<deploy
component=string
/>
Documentation (type)
Deploy one or more intervention components.
Attributes
Component identifier
component=string
The identifier (short name) of a component.
complicated
→ scenario → healthSystem → EventScheduler → complicated
<complicated
[ name=string ]
>
EXACTLY ONE OF:
| <multiple ... />
| <caseType ... />
| <diagnostic ... />
| <random ... />
| <age ... />
| <noTreatment ... />
| <treatFailure ... />
| ( <treatPKPD ... /> )+
| <treatSimple ... />
| ( <deploy ... /> )+
</complicated>
Documentation (type)
Describes how "decisions" are made, both probabilistically and deterministically, and what actions are carried out.
Quantities may also be reported as a side effect of decisions made in the tree, for example the number of diagnostics used.
Attributes
Name
name=string
An optional piece of documentation attached to this node.
ClinicalOutcomes
→ scenario → healthSystem → EventScheduler → ClinicalOutcomes
<ClinicalOutcomes>
IN THIS ORDER:
| <maxUCSeekingMemory ... />
| <uncomplicatedCaseDuration ... />
| <complicatedCaseDuration ... />
| <complicatedRiskDuration ... />
| ( <dailyPrImmUCTS ... /> )+
</ClinicalOutcomes>
- maxUCSeekingMemory
- uncomplicatedCaseDuration
- complicatedCaseDuration
- complicatedRiskDuration
- dailyPrImmUCTS
Documentation (type)
Description of base parameters of the clinical model.
Max UC treatment-seeking memory
→ scenario → healthSystem → EventScheduler → ClinicalOutcomes → maxUCSeekingMemory
<maxUCSeekingMemory>
int
</maxUCSeekingMemory>
Documentation (element)
Units: Days Min: 0 Max: unbounded
Maximum number of timesteps (including first day of case) that an individual with an uncomplicated case of malaria will remember he/she was sick before resetting.
Uncomplicated case duration
→ scenario → healthSystem → EventScheduler → ClinicalOutcomes → uncomplicatedCaseDuration
<uncomplicatedCaseDuration>
int
</uncomplicatedCaseDuration>
Documentation (element)
Units: Days Min: 1 Max: unbounded
Fixed length of an uncomplicated case of malarial or non-malarial sickness (from treatment seeking until return to life-as-usual). Usually 3.
Complicated case duration
→ scenario → healthSystem → EventScheduler → ClinicalOutcomes → complicatedCaseDuration
<complicatedCaseDuration>
int
</complicatedCaseDuration>
Documentation (element)
Units: Days Min: 1 Max: unbounded
Fixed length of a complicated or severe case of malaria (from treatment seeking until return to life-as-usual).
Complicated risk duration
→ scenario → healthSystem → EventScheduler → ClinicalOutcomes → complicatedRiskDuration
<complicatedRiskDuration>
int
</complicatedRiskDuration>
Documentation (element)
Units: Days Min: 1 Max: unbounded
Number of days for which humans are at risk of death during a severe or complicated case of malaria. Cannot be greater than the duration of a complicated case or less than 1 day.
Daily probability of immediate treatment seeking for uncomplicated cases
→ scenario → healthSystem → EventScheduler → ClinicalOutcomes → dailyPrImmUCTS
<dailyPrImmUCTS>
double
</dailyPrImmUCTS>
Documentation (element)
Units: Dimensionless Min: 0.0 Max: 1.0
It is sometimes desirable to model delays to treatment-seeking in uncomplicated cases. While treatment of drugs can be delayed within case management trees to provide a similar effect, this doesn't delay any of the decisions, including diagnostics using the current parasite density.
Instead a list of dailyPrImmUCTS elements can be used, describing successive daily probabilities of treatment (sum must be 1). For example, with a list of two elements with values 0.8 and 0.2, for 80% of UC cases the decision tree is evaluated immediately, and for 20% of cases evaluation is delayed by one day.
For no delay, use one element with a value of 1.
NonMalariaFevers
→ scenario → healthSystem → EventScheduler → NonMalariaFevers
<NonMalariaFevers>
IN THIS ORDER:
| <prTreatment ... />
| <effectNegativeTest ... />
| <effectPositiveTest ... />
| <effectNeed ... />
| <effectInformal ... />
| <CFR ... />
| <TreatmentEfficacy ... />
</NonMalariaFevers>
Documentation (type)
Description of non-malaria fever health-system modelling (treatment, outcomes and costing). Incidence is described by the model->clinical->NonMalariaFevers element. Non-malaria fevers are only modelled if the NON_MALARIA_FEVERS option is used.
As further explanation of the parameters below, we first take: β₀ = logit(P₀) - β₃·P(need), and then calculate the probability of antibiotic administration, P(AB), dependent on treatment seeking location. No seeking: P(AB) = 0 Informal sector: logit(P(AB)) = β₀ + β₄ Health facility: logit(P(AB)) = β₀ + β₁·I(neg) + β₂·I(pos) + β₃·I(need) (where I(X) is 1 when event X is true and 0 otherwise, logit(p)=log(p/(1-p)), event "need" is the event that death may occur without treatment, events "neg" and "pos" are the events that a malaria parasite diagnositic was used and indicated no parasites and parasites respectively).
P(treatment|no diagnostic)
→ scenario → healthSystem → EventScheduler → NonMalariaFevers → prTreatment
<prTreatment>
double
</prTreatment>
Documentation (element)
Units: Dimensionless Min: 0.0 Max: 1.0
Probability of a non-malaria fever being treated with an antibiotic given that no malaria diagnostic was used but independent of need. Symbol: P₀.
Effect of a negative test
→ scenario → healthSystem → EventScheduler → NonMalariaFevers → effectNegativeTest
<effectNegativeTest>
double
</effectNegativeTest>
Documentation (element)
The effect of a negative malaria diagnostic on the odds ratio of receiving antibiotics. Symbol: exp(β₁).
Effect of a positive test
→ scenario → healthSystem → EventScheduler → NonMalariaFevers → effectPositiveTest
<effectPositiveTest>
double
</effectPositiveTest>
Documentation (element)
The effect of a positive malaria diagnostic on the odds ratio of receiving antibiotics. Symbol: exp(β₂).
Effect of need
→ scenario → healthSystem → EventScheduler → NonMalariaFevers → effectNeed
<effectNeed>
double
</effectNeed>
Documentation (element)
The effect of needing antibiotic treatment on the odds ratio of receiving antibiotics. Symbol: exp(β₃).
Effect of informal provider
→ scenario → healthSystem → EventScheduler → NonMalariaFevers → effectInformal
<effectInformal>
double
</effectInformal>
Documentation (element)
The effect of seeking treatment from an informal provider (i.e. a provider untrained in NMF diagnosis) on the odds ratio of receiving antibiotics. Symbol: exp(β₄)
Case fatality rate
→ scenario → healthSystem → EventScheduler → NonMalariaFevers → CFR
<CFR
[ interpolation=("none" or "linear") ]
>
IN THIS ORDER:
| ( <group ... /> )+
</CFR>
Documentation (element)
Units: Dimensionless Min: 0.0 Max: 1.0
Base case fatality rate for non-malaria fevers (probability of death from a fever requiring antibiotic treatment given that no antibiotic treatment is received, per age-group).
Attributes
interpolation
interpolation=("none" or "linear")
Interpolation algorithm. Normally it is desirable for age-based values to be continuous w.r.t. age. By default linear interpolation is used. With all algorithms except "none", the age groups are converted to a set of points centred within each age range. Extra points are added at each end (zero and infinity) to keep value constant at both ends of the function. A zero-length age group may be used as a kind of barrier to adjust the distribution; e.g. with age group boundaries at 15, 20 and 25 years, a (linear) spline would be drawn between ages 17.5 and 22.5, whereas with boundaries at 15, 20 and 20 years, a spline would be drawn between ages 17.5 and 20 years (may be desired if individuals are assumed to reach adult size at 20). Algorithms:
- none: input values are used directly
- linear: straight lines (on an age vs. value graph) are used to interpolate data points.
age group
→ scenario → healthSystem → CFR → group
<group
value=double
lowerbound=double
/>
Documentation (element)
A series of values according to age groups, each specified with a lower-bound and a value. The first lower-bound specified must be zero; a final upper-bound of infinity is added to complete the last age group. At least one age group is required. Normally these are interpolated by a continuous function (see interpolation attribute).
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Lower bound
lowerbound=double
Units: Years Min: 0 Max: 100
Lower bound of age group
Treatment efficacy
→ scenario → healthSystem → EventScheduler → NonMalariaFevers → TreatmentEfficacy
<TreatmentEfficacy>
double
</TreatmentEfficacy>
Documentation (element)
Units: Dimensionless Min: 0.0 Max: 1.0
Probability that treatment would prevent a death (i.e. CFR is multiplied by one minus this when treatment occurs).
ImmediateOutcomes
→ scenario → healthSystem → ImmediateOutcomes
<ImmediateOutcomes
[ name=string ]
[ useDiagnosticUC=boolean ] DEFAULT VALUE false
>
IN ANY ORDER:
| <drugRegimen ... />
| <initialACR ... />
| <compliance ... />
| <nonCompliersEffective ... />
| <treatmentActions ... />
| <pSeekOfficialCareUncomplicated1 ... />
| <pSelfTreatUncomplicated ... />
| <pSeekOfficialCareUncomplicated2 ... />
| <pSeekOfficialCareSevere ... />
| [ <primaquine ... /> ]
</ImmediateOutcomes>
- drugRegimen
- initialACR
- compliance
- nonCompliersEffective
- treatmentActions
- pSeekOfficialCareUncomplicated1
- pSelfTreatUncomplicated
- pSeekOfficialCareUncomplicated2
- pSeekOfficialCareSevere
- primaquine
Documentation (type)
Description of "immediate outcomes" health system: Tediosi et al case management model (Case management as described in AJTMH 75 (suppl 2) pp90-103).
Attributes
Name of case management parameterisation
name=string
Name of health system
useDiagnosticUC
useDiagnosticUC=boolean
Default value: false
Description of drug regimen
→ scenario → healthSystem → ImmediateOutcomes → drugRegimen
<drugRegimen
firstLine=string
secondLine=string
inpatient=string
/>
Documentation (element)
Description of drug regimen.
Attributes
First line drug
firstLine=string
Units: Drug code
Code for first line drug
Second line drug
secondLine=string
Units: Drug code
Code for second line drug
Drug use for treating inpatients
inpatient=string
Units: Drug code
Code for drug used for treating inpatients
Initial cure rate
→ scenario → healthSystem → ImmediateOutcomes → initialACR
<initialACR>
IN THIS ORDER:
| [ <CQ ... /> ]
| [ <SP ... /> ]
| [ <AQ ... /> ]
| [ <SPAQ ... /> ]
| [ <ACT ... /> ]
| [ <QN ... /> ]
| <selfTreatment ... />
</initialACR>
Documentation (element)
Units: Dimensionless Min: 0.0 Max: 1.0
Initial cure rate
Chloroquine
→ scenario → healthSystem → ImmediateOutcomes → initialACR → CQ
<CQ
value=double
/>
Documentation (element)
Chloroquine
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Sulphadoxine-pyrimethamine
→ scenario → healthSystem → ImmediateOutcomes → initialACR → SP
<SP
value=double
/>
Documentation (element)
Sulphadoxine-pyrimethamine
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Amodiaquine
→ scenario → healthSystem → ImmediateOutcomes → initialACR → AQ
<AQ
value=double
/>
Documentation (element)
Amodiaquine
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Sulphadoxine-pyrimethamine/Amodiaquine
→ scenario → healthSystem → ImmediateOutcomes → initialACR → SPAQ
<SPAQ
value=double
/>
Documentation (element)
Sulphadoxine-pyrimethamine/Amodiaquine
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Artemisinine based combination therapy
→ scenario → healthSystem → ImmediateOutcomes → initialACR → ACT
<ACT
value=double
/>
Documentation (element)
Artemisinine combination therapy
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Quinine
→ scenario → healthSystem → ImmediateOutcomes → initialACR → QN
<QN
value=double
/>
Documentation (element)
Quinine
Attributes
Input parameter value
value=double
A double-precision floating-point value.
selfTreatment
→ scenario → healthSystem → ImmediateOutcomes → initialACR → selfTreatment
<selfTreatment
value=double
/>
Documentation (element)
Units: Dimensionless Min: 0 Max: 1name:P(self-treat)
Probability of self-treatment
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Adherence to treatment
→ scenario → healthSystem → ImmediateOutcomes → compliance
<compliance>
IN THIS ORDER:
| [ <CQ ... /> ]
| [ <SP ... /> ]
| [ <AQ ... /> ]
| [ <SPAQ ... /> ]
| [ <ACT ... /> ]
| [ <QN ... /> ]
| <selfTreatment ... />
</compliance>
Documentation (element)
Units: Dimensionless Min: 0.0 Max: 1.0
Adherence to treatment
Effectiveness of treatment in non-adherent patients
→ scenario → healthSystem → ImmediateOutcomes → nonCompliersEffective
<nonCompliersEffective>
IN THIS ORDER:
| [ <CQ ... /> ]
| [ <SP ... /> ]
| [ <AQ ... /> ]
| [ <SPAQ ... /> ]
| [ <ACT ... /> ]
| [ <QN ... /> ]
| <selfTreatment ... />
</nonCompliersEffective>
Documentation (element)
Units: Dimensionless Min: 0.0 Max: 1.0
Effectiveness of treatment for non-compliant patients
treatmentActions
→ scenario → healthSystem → ImmediateOutcomes → treatmentActions
<treatmentActions>
IN ANY ORDER:
| [ <CQ ... /> ]
| [ <SP ... /> ]
| [ <AQ ... /> ]
| [ <SPAQ ... /> ]
| [ <ACT ... /> ]
| [ <QN ... /> ]
</treatmentActions>
CQ
→ scenario → healthSystem → ImmediateOutcomes → treatmentActions → CQ
<CQ
[ name=string ]
>
IN THIS ORDER:
| ( <deploy ... /> )*
</CQ>
Documentation (type)
Describes the effects of the treatment, assuming this compliance/adherence/... option is selected. Effects are described in terms of a list of options, each of which acts independently but with all effects being activated simultaneously.
Documentation (base type)
Lists intervention components which are deployed according to some external trigger (for example, screening with a negative patency outcome or health-system treatment).
Components are referenced from one or more sub-lists. Each of these lists is deployed independently if and only if its age constraints are met by the human host and a random sample with the given probability of a positive outcome is positive.
Attributes
Name
name=string
Describes what this compliance option represents (e.g. "good compliance", "poor compliance with good drugs", ...).
deploy
→ scenario → healthSystem → ImmediateOutcomes → treatmentActions → CQ → deploy
<deploy
[ maxAge=double ]
[ minAge=double ] DEFAULT VALUE 0
[ p=double ] DEFAULT VALUE 1
>
IN THIS ORDER:
| ( <component ... /> )+
</deploy>
Attributes
Maximum age of eligible humans
maxAge=double
Units: Years Min: 0
Maximum age of eligible humans (defaults to no limit). Input is rounded to the nearest time step.
Minimum age of eligible humans
minAge=double
Units: Years Min: 0
Default value: 0
Minimum age of eligible humans (defaults to 0). Input is rounded to the nearest time step.
Probability of delivery to eligible humans
p=double
Units: dimensionless Min: 0 Max: 1
Default value: 1
Probability of this list of components being deployed, given that other constraints are met.
component
→ scenario → healthSystem → ImmediateOutcomes → treatmentActions → CQ → deploy → component
<component
id=string
/>
Documentation (type)
The list of components deployed to eligible humans.
Attributes
Identifier
id=string
The identifier (short name) of a component.
Prophylactic treatment
→ scenario → healthSystem → DecisionTree5Day → treatmentSevere → clearInfections
<clearInfections
timesteps=string
stage=("liver" or "blood" or "both")
/>
Documentation (element)
This clears infections according to several options: it can clear all blood stage infections, all liver stage infections or both, and it can act on multiple timesteps. To have a probability of no action add another treatment option (which does nothing) and set the probabilities of selection appropriately.
This allows immediate (legacy) or delayed action, a prophylactic period, and selection of which stages are targeted. It is a simple model but appropriate enough for use with the five day timestep when assuming no resistance and that drug failure is mainly caused by bad drugs or compliance.
The old treatment action for the five-day timestep model is essentially this, with immediateAction (timesteps=-1) and stage=both, except for the IPT model's SP action, which was more like with timesteps>1 and stage=blood.
Attributes
Length of effect
timesteps=string
Units: User defined (defaults to steps)
The number of timesteps during which this action remains in effect (e.g. 2 means clear infections during the next two timestep updates). Full clearance of the targeted stages occurs during this time. A special value of -1 means act immediately (retrospectively); this the old behaviour. A value of 1 means act on the next timestep only. Both of these can be thought of as a model for short-acting effective drug treatment; the main differences are that the latter means parasite densities will remain high from the point of view of surveys and diagnostics (i.e. mass screen and treat) used before the next timestep and that the latter will also remove infections starting the next timestep. Arguably the latter is a better model, but the differences are perhaps small, excepting where immediate treatment of fevers (i.e. through the health system) can hide high parasite densities from reporting and mass-screen-and-treat diagnostics. For use by interventions, the latter model has nicer behaviour in that the order of deployment of multiple interventions deployed at the same time does not matter, and that the former model retrospectively treats infections which may already have caused fever, thus may have a lower health impact than it should. It is recommended to use the new model (value 1, or greater than 1 if prophylactic effect is desired) unless wanting to emulate the old behaviour. Values of 0 or less than -1 are not allowed. Can be specified in steps (e.g. 1t, -1t) or days (e.g. 5d).
Target stage
stage=("liver" or "blood" or "both")
Controls whether liver-stage or blood-stage infections are cleared, or both. Infections are considered liver-stage for one 5-day timestep, blood-stage but pre-patent for some number of timesteps (latentp - 1), then start the patent blood stage. If stage is set to "liver", infections are only cleared during their first timestep; if stage is set to "blood", infections are cleared during pre-patent and patent blood stages; if stage is set to "both" all infections are cleared. The old behaviour (oddly considering the drugs it is meant to emulate) is to clear both stages, except for the IPT model of SP action, which cleared only patent blood-stage infections.
SP
→ scenario → healthSystem → ImmediateOutcomes → treatmentActions → SP
<SP
[ name=string ]
>
IN THIS ORDER:
| ( <deploy ... /> )*
</SP>
Documentation (type)
Describes the effects of the treatment, assuming this compliance/adherence/... option is selected. Effects are described in terms of a list of options, each of which acts independently but with all effects being activated simultaneously.
Documentation (base type)
Lists intervention components which are deployed according to some external trigger (for example, screening with a negative patency outcome or health-system treatment).
Components are referenced from one or more sub-lists. Each of these lists is deployed independently if and only if its age constraints are met by the human host and a random sample with the given probability of a positive outcome is positive.
Attributes
Name
name=string
Describes what this compliance option represents (e.g. "good compliance", "poor compliance with good drugs", ...).
AQ
→ scenario → healthSystem → ImmediateOutcomes → treatmentActions → AQ
<AQ
[ name=string ]
>
IN THIS ORDER:
| ( <deploy ... /> )*
</AQ>
Documentation (type)
Describes the effects of the treatment, assuming this compliance/adherence/... option is selected. Effects are described in terms of a list of options, each of which acts independently but with all effects being activated simultaneously.
Documentation (base type)
Lists intervention components which are deployed according to some external trigger (for example, screening with a negative patency outcome or health-system treatment).
Components are referenced from one or more sub-lists. Each of these lists is deployed independently if and only if its age constraints are met by the human host and a random sample with the given probability of a positive outcome is positive.
Attributes
Name
name=string
Describes what this compliance option represents (e.g. "good compliance", "poor compliance with good drugs", ...).
SPAQ
→ scenario → healthSystem → ImmediateOutcomes → treatmentActions → SPAQ
<SPAQ
[ name=string ]
>
IN THIS ORDER:
| ( <deploy ... /> )*
</SPAQ>
Documentation (type)
Describes the effects of the treatment, assuming this compliance/adherence/... option is selected. Effects are described in terms of a list of options, each of which acts independently but with all effects being activated simultaneously.
Documentation (base type)
Lists intervention components which are deployed according to some external trigger (for example, screening with a negative patency outcome or health-system treatment).
Components are referenced from one or more sub-lists. Each of these lists is deployed independently if and only if its age constraints are met by the human host and a random sample with the given probability of a positive outcome is positive.
Attributes
Name
name=string
Describes what this compliance option represents (e.g. "good compliance", "poor compliance with good drugs", ...).
ACT
→ scenario → healthSystem → ImmediateOutcomes → treatmentActions → ACT
<ACT
[ name=string ]
>
IN THIS ORDER:
| ( <deploy ... /> )*
</ACT>
Documentation (type)
Describes the effects of the treatment, assuming this compliance/adherence/... option is selected. Effects are described in terms of a list of options, each of which acts independently but with all effects being activated simultaneously.
Documentation (base type)
Lists intervention components which are deployed according to some external trigger (for example, screening with a negative patency outcome or health-system treatment).
Components are referenced from one or more sub-lists. Each of these lists is deployed independently if and only if its age constraints are met by the human host and a random sample with the given probability of a positive outcome is positive.
Attributes
Name
name=string
Describes what this compliance option represents (e.g. "good compliance", "poor compliance with good drugs", ...).
QN
→ scenario → healthSystem → ImmediateOutcomes → treatmentActions → QN
<QN
[ name=string ]
>
IN THIS ORDER:
| ( <deploy ... /> )*
</QN>
Documentation (type)
Describes the effects of the treatment, assuming this compliance/adherence/... option is selected. Effects are described in terms of a list of options, each of which acts independently but with all effects being activated simultaneously.
Documentation (base type)
Lists intervention components which are deployed according to some external trigger (for example, screening with a negative patency outcome or health-system treatment).
Components are referenced from one or more sub-lists. Each of these lists is deployed independently if and only if its age constraints are met by the human host and a random sample with the given probability of a positive outcome is positive.
Attributes
Name
name=string
Describes what this compliance option represents (e.g. "good compliance", "poor compliance with good drugs", ...).
Probability that a patient with uncomplicated disease seeks official care immediately.
→ scenario → healthSystem → ImmediateOutcomes → pSeekOfficialCareUncomplicated1
<pSeekOfficialCareUncomplicated1
value=double
/>
Documentation (element)
Units: Dimensionless Min: 0.0 Max: 1.0
Probability that a patient with newly incident uncomplicated disease seeks official care
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Probability that a patient with uncomplicated disease will self-treat.
→ scenario → healthSystem → ImmediateOutcomes → pSelfTreatUncomplicated
<pSelfTreatUncomplicated
value=double
/>
Documentation (element)
Units: Dimensionless Min: 0.0 Max: 1.0
Probability that a patient with uncomplicated disease without recent history of disease (i.e. first line) will self-treat.
Note that in second line cases there is no probability of self-treatment.
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Probability that a recurring patient seeks official care
→ scenario → healthSystem → ImmediateOutcomes → pSeekOfficialCareUncomplicated2
<pSeekOfficialCareUncomplicated2
value=double
/>
Documentation (element)
Units: Dimensionless Min: 0.0 Max: 1.0
Probability that a patient with recurrence of uncomplicated disease seeks official care
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Probability that a patient with severe disease obtains appropriate care
→ scenario → healthSystem → ImmediateOutcomes → pSeekOfficialCareSevere
<pSeekOfficialCareSevere
value=double
/>
Documentation (element)
Units: Dimensionless Min: 0.0 Max: 1.0
Probability that a patient with severe disease obtains appropriate care
Attributes
Input parameter value
value=double
A double-precision floating-point value.
primaquine
→ scenario → healthSystem → ImmediateOutcomes → primaquine
<primaquine>
IN ANY ORDER:
| <pHumanCannotReceive ... />
| <pUseUncomplicated ... />
| <effectivenessOnUse ... />
</primaquine>
pHumanCannotReceive
→ scenario → healthSystem → ImmediateOutcomes → primaquine → pHumanCannotReceive
<pHumanCannotReceive
value=double
/>
Attributes
Input parameter value
value=double
A double-precision floating-point value.
pUseUncomplicated
→ scenario → healthSystem → ImmediateOutcomes → primaquine → pUseUncomplicated
<pUseUncomplicated
value=double
/>
Attributes
Input parameter value
value=double
A double-precision floating-point value.
effectivenessOnUse
→ scenario → healthSystem → ImmediateOutcomes → primaquine → effectivenessOnUse
<effectivenessOnUse
value=double
/>
Attributes
Input parameter value
value=double
A double-precision floating-point value.
DecisionTree5Day
→ scenario → healthSystem → DecisionTree5Day
<DecisionTree5Day
[ name=string ]
>
IN ANY ORDER:
| <pSeekOfficialCareUncomplicated1 ... />
| <pSelfTreatUncomplicated ... />
| <pSeekOfficialCareUncomplicated2 ... />
| <pSeekOfficialCareSevere ... />
| [ <primaquine ... /> ]
| <treeUCOfficial ... />
| <treeUCSelfTreat ... />
| <cureRateSevere ... />
| <treatmentSevere ... />
</DecisionTree5Day>
- pSeekOfficialCareUncomplicated1
- pSelfTreatUncomplicated
- pSeekOfficialCareUncomplicated2
- pSeekOfficialCareSevere
- primaquine
- treeUCOfficial
- treeUCSelfTreat
- cureRateSevere
- treatmentSevere
Documentation (type)
Description of the health system using the 5-day timestep with decision tree model: access is configured as in the Tediosi et al case management model (Case management as described in AJTMH 75 (suppl 2) pp90-103) while treatment decisions are configured via decision trees.
Besides greater flexibility, this allows treatment via PK/PD models.
Attributes
Name of case management parameterisation
name=string
Name of health system
Probability that a patient with uncomplicated disease seeks official care immediately.
→ scenario → healthSystem → DecisionTree5Day → pSeekOfficialCareUncomplicated1
<pSeekOfficialCareUncomplicated1
value=double
/>
Documentation (element)
Units: Dimensionless Min: 0.0 Max: 1.0
Probability that a patient with newly incident uncomplicated disease seeks official care
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Probability that a patient with uncomplicated disease will self-treat.
→ scenario → healthSystem → DecisionTree5Day → pSelfTreatUncomplicated
<pSelfTreatUncomplicated
value=double
/>
Documentation (element)
Units: Dimensionless Min: 0.0 Max: 1.0
Probability that a patient with uncomplicated disease without recent history of disease (i.e. first line) will self-treat.
Note that in second line cases there is no probability of self-treatment.
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Probability that a recurring patient seeks official care
→ scenario → healthSystem → DecisionTree5Day → pSeekOfficialCareUncomplicated2
<pSeekOfficialCareUncomplicated2
value=double
/>
Documentation (element)
Units: Dimensionless Min: 0.0 Max: 1.0
Probability that a patient with recurrence of uncomplicated disease seeks official care
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Probability that a patient with severe disease obtains appropriate care
→ scenario → healthSystem → DecisionTree5Day → pSeekOfficialCareSevere
<pSeekOfficialCareSevere
value=double
/>
Documentation (element)
Units: Dimensionless Min: 0.0 Max: 1.0
Probability that a patient with severe disease obtains appropriate care
Attributes
Input parameter value
value=double
A double-precision floating-point value.
primaquine
→ scenario → healthSystem → DecisionTree5Day → primaquine
<primaquine>
IN ANY ORDER:
| <pHumanCannotReceive ... />
| <pUseUncomplicated ... />
| <effectivenessOnUse ... />
</primaquine>
treeUCOfficial
→ scenario → healthSystem → DecisionTree5Day → treeUCOfficial
<treeUCOfficial
[ name=string ]
>
EXACTLY ONE OF:
| <multiple ... />
| <caseType ... />
| <diagnostic ... />
| <random ... />
| <age ... />
| <noTreatment ... />
| <treatFailure ... />
| ( <treatPKPD ... /> )+
| <treatSimple ... />
| ( <deploy ... /> )+
</treeUCOfficial>
Documentation (type)
Describes how "decisions" are made, both probabilistically and deterministically, and what actions are carried out.
Quantities may also be reported as a side effect of decisions made in the tree, for example the number of diagnostics used.
Attributes
Name
name=string
An optional piece of documentation attached to this node.
treeUCSelfTreat
→ scenario → healthSystem → DecisionTree5Day → treeUCSelfTreat
<treeUCSelfTreat
[ name=string ]
>
EXACTLY ONE OF:
| <multiple ... />
| <caseType ... />
| <diagnostic ... />
| <random ... />
| <age ... />
| <noTreatment ... />
| <treatFailure ... />
| ( <treatPKPD ... /> )+
| <treatSimple ... />
| ( <deploy ... /> )+
</treeUCSelfTreat>
Documentation (type)
Describes how "decisions" are made, both probabilistically and deterministically, and what actions are carried out.
Quantities may also be reported as a side effect of decisions made in the tree, for example the number of diagnostics used.
Attributes
Name
name=string
An optional piece of documentation attached to this node.
Cure rate (severe cases)
→ scenario → healthSystem → DecisionTree5Day → cureRateSevere
<cureRateSevere
value=double
/>
Documentation (element)
Min: 0 Max: 1
The probability of clearing parasites given access to appropriate (hospital) care, for a severe case.
Attributes
Input parameter value
value=double
A double-precision floating-point value.
treatmentSevere
→ scenario → healthSystem → DecisionTree5Day → treatmentSevere
<treatmentSevere
[ name=string ]
>
IN THIS ORDER:
| ( <deploy ... /> )*
</treatmentSevere>
Documentation (type)
Describes the effects of the treatment, assuming this compliance/adherence/... option is selected. Effects are described in terms of a list of options, each of which acts independently but with all effects being activated simultaneously.
Documentation (base type)
Lists intervention components which are deployed according to some external trigger (for example, screening with a negative patency outcome or health-system treatment).
Components are referenced from one or more sub-lists. Each of these lists is deployed independently if and only if its age constraints are met by the human host and a random sample with the given probability of a positive outcome is positive.
Attributes
Name
name=string
Describes what this compliance option represents (e.g. "good compliance", "poor compliance with good drugs", ...).
Case fatality rate for inpatients
→ scenario → healthSystem → CFR
<CFR
[ interpolation=("none" or "linear") ]
>
IN THIS ORDER:
| ( <group ... /> )+
</CFR>
Documentation (element)
Case fatality rate (probability of an inpatient fatality from a bout of severe malaria, per age-group).
Attributes
interpolation
interpolation=("none" or "linear")
Interpolation algorithm. Normally it is desirable for age-based values to be continuous w.r.t. age. By default linear interpolation is used. With all algorithms except "none", the age groups are converted to a set of points centred within each age range. Extra points are added at each end (zero and infinity) to keep value constant at both ends of the function. A zero-length age group may be used as a kind of barrier to adjust the distribution; e.g. with age group boundaries at 15, 20 and 25 years, a (linear) spline would be drawn between ages 17.5 and 22.5, whereas with boundaries at 15, 20 and 20 years, a spline would be drawn between ages 17.5 and 20 years (may be desired if individuals are assumed to reach adult size at 20). Algorithms:
- none: input values are used directly
- linear: straight lines (on an age vs. value graph) are used to interpolate data points.
Probabilities of sequelae in inpatients
→ scenario → healthSystem → pSequelaeInpatient
<pSequelaeInpatient
[ interpolation=("none" or "linear") ]
>
IN THIS ORDER:
| ( <group ... /> )+
</pSequelaeInpatient>
Documentation (element)
Units: Dimensionless
List of age-specific probabilities of sequelae in inpatients, during a severe bout of malaria.
Attributes
interpolation
interpolation=("none" or "linear")
Interpolation algorithm. Normally it is desirable for age-based values to be continuous w.r.t. age. By default linear interpolation is used. With all algorithms except "none", the age groups are converted to a set of points centred within each age range. Extra points are added at each end (zero and infinity) to keep value constant at both ends of the function. A zero-length age group may be used as a kind of barrier to adjust the distribution; e.g. with age group boundaries at 15, 20 and 25 years, a (linear) spline would be drawn between ages 17.5 and 22.5, whereas with boundaries at 15, 20 and 20 years, a spline would be drawn between ages 17.5 and 20 years (may be desired if individuals are assumed to reach adult size at 20). Algorithms:
- none: input values are used directly
- linear: straight lines (on an age vs. value graph) are used to interpolate data points.
Change transmission levels
→ scenario → interventions → changeEIR
<changeEIR
[ name=string ]
>
IN THIS ORDER:
| ( <timedDeployment ... /> )*
</changeEIR>
Documentation (element)
New description of transmission level for models not supporting vector control interventions. Use of this overrides previous transmission levels such that human infectiousness no longer has any feedback effect on transmission. Supplied EIR data must last until end of simulation.
Attributes
Name of intervention
name=string
Name of intervention
timedDeployment
→ scenario → interventions → changeEIR → timedDeployment
<timedDeployment
eipDuration=int
time=string
>
IN THIS ORDER:
| ( <EIRDaily ... /> )+
</timedDeployment>
Documentation (type)
Replacement transmission levels. Disables feedback of human infectiousness to mosquitoes on further mosquito to human transmission. Must last until end of simulation.
Attributes
Duration of sporogony
eipDuration=int
Units: Days
The duration of sporogony in days
Time
time=string
Units: User defined (defauls to steps) Min: 0
Time at which this replacement occurs. See doc on intervention period and on monitoring/startDate for details of how times work. Can be specified in steps, days, years, or as a date (examples: 15t, 75d, 0.2y, 2000-03-16).
EIRDaily
→ scenario → entomology → nonVector → EIRDaily
<EIRDaily
[ origin=string ]
>
double
</EIRDaily>
Documentation (type)
Units: Infectious bites per adult per day
In the non-vector model, EIR is input as a sequence of daily values. There must be at least one years' worth of entries (365), and if there are more, values are wrapped and averaged (i.e. value for first day of year is taken as the mean of values for days 0, 365+0, 2*365+0, etc.).
Attributes
Time origin of EIR sequence
origin=string
Imported infections
→ scenario → interventions → importedInfections
<importedInfections
[ name=string ]
>
IN THIS ORDER:
| <timed ... />
</importedInfections>
Documentation (element)
Models importation of P. falciparum infections directly into humans from an external source. This is infections, not inoculations or EIR being imported.
Attributes
Name of intervention
name=string
Name of intervention
Rate of importation
→ scenario → interventions → importedInfections → timed
<timed
[ period=string ] DEFAULT VALUE 0
>
IN THIS ORDER:
| ( <rate ... /> )+
</timed>
Documentation (element)
Rate of case importation, as a step function. Each value is valid until replaced by the next value.
Attributes
Period of repetition
period=string
Units: User defined (default: steps) Min: 0
Default value: 0
If period is 0 (or effectively infinite), the last specified value remains indefinitely in effect, otherwise the times of all values specified must be less than the period, and values are repeated modulo period (the step at time 'period+2t' has same value as the step at '2t', etc.). Can be specified in steps (e.g. 1t) or days (e.g. 365d).
rate
→ scenario → interventions → importedInfections → timed → rate
<rate
value=double
time=string
/>
Documentation (type)
Units: Imported cases per thousand people per year
A time-rate pair.
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Time of start
time=string
Units: User defined (defauls to steps) Min: 0
Time at which this importation rate becomes active. See doc on intervention period and on monitoring/startDate for details of how times work. Can be specified in steps, days, years, or as a date (examples: 15t, 75d, 0.2y, 2000-03-16).
Insert R_0 case
→ scenario → interventions → insertR_0Case
<insertR_0Case
[ name=string ]
>
IN THIS ORDER:
| ( <timedDeployment ... /> )*
</insertR_0Case>
Documentation (element)
Used to simulate R_0. First, infections should be eliminated, immunity removed, and the population given an effective transmission- blocking vaccine (not done by this intervention). Then this intervention may be used to: pick one human, infect him, administer a fully effective Preerythrocytic vaccine and remove transmission-blocking vaccine effect on this human. Thus only this one human will be a source of infections in an unprotected population, and will not reinfected himself.
Attributes
Name of intervention
name=string
Name of intervention
timedDeployment
→ scenario → interventions → insertR_0Case → timedDeployment
<timedDeployment
time=string
/>
Attributes
Time
time=string
Units: User defined (defauls to steps) Min: 0
Time at which this intervention occurs. See doc on intervention period and on monitoring/startDate for details of how times work. Can be specified in steps, days, years, or as a date (examples: 15t, 75d, 0.2y, 2000-03-16).
Uninfect vectors
→ scenario → interventions → uninfectVectors
<uninfectVectors
[ name=string ]
>
IN THIS ORDER:
| ( <timedDeployment ... /> )*
</uninfectVectors>
Documentation (element)
Units: List of elements
Removes all infections from mosquitoes -- resulting in zero EIR to humans, until such time that mosquitoes are re-infected and become infectious. Only efficacious in dynamic EIR mode (when changeEIR was not used).
Hypothetical, but potentially useful to simulate a setting starting from no infections, but with enough mosquitoes to reach a set equilibrium of exposure.
Attributes
Name of intervention
name=string
Name of intervention
timedDeployment
→ scenario → interventions → uninfectVectors → timedDeployment
<timedDeployment
time=string
/>
Attributes
Time
time=string
Units: User defined (defauls to steps) Min: 0
Time at which this intervention occurs. See doc on intervention period and on monitoring/startDate for details of how times work. Can be specified in steps, days, years, or as a date (examples: 15t, 75d, 0.2y, 2000-03-16).
Vector population intervention
→ scenario → interventions → vectorPop
<vectorPop>
IN THIS ORDER:
| ( <intervention ... /> )+
</vectorPop>
Documentation (element)
Units: List of elements
A list of parameterisations of generic vector host-inspecific interventions.
intervention
→ scenario → interventions → vectorPop → intervention
<intervention
name=string
>
IN THIS ORDER:
| <description ... />
| [ <timed ... /> ]
</intervention>
Documentation (type)
Units: List of elements
An intervention which may have various effects on the vector populations as a whole. (Not host specific.)
Multiple instances of this intervention class are allowed (multiple parameterisations, not just deployments).
Each instance may have multiple deployments. In this case the effects of each instance are independent (effects are combined) but the effects of multiple deployments of a single instance are not independent (only the latest deployment has any effect).
Attributes
Name of intervention
name=string
Name of intervention (e.g. larviciding, sugar bait).
description
→ scenario → interventions → vectorPop → intervention → description
<description>
IN THIS ORDER:
| ( <anopheles ... /> )+
</description>
anopheles
→ scenario → interventions → vectorPop → intervention → description → anopheles
<anopheles
mosquito=string
>
IN ANY ORDER:
| [ <seekingDeathRateIncrease ... /> ]
| [ <probDeathOvipositing ... /> ]
| [ <emergenceReduction ... /> ]
</anopheles>
Documentation (type)
Units: dimensionless Min: 0 Max: 1
Descriptions of the effects of vector interventions with per-species effects.
Attributes
Species/subspecies/variant name
mosquito=string
Name of the species/subspecies/variant.
Proportional increase in deaths while host searching
→ scenario → interventions → vectorPop → intervention → description → anopheles → seekingDeathRateIncrease
<seekingDeathRateIncrease
initial=double
>
IN THIS ORDER:
| <decay ... />
</seekingDeathRateIncrease>
Documentation (element)
Units: dimensionless
Describe an effect on the increase in the death rate while host seeking (mu_vA) due to this intervention.
Enter the rate increase (i.e. if rate increases to 120% of normal, give 0.2). New death rate while seeking is old × (1 + increase) where increase is this factor given. Must have increas ≥ -1.
Attributes
Initial proportion increase
initial=double
Units: dimensionless Min: -1 Max: inf
decay
→ scenario → interventions → vectorPop → intervention → description → anopheles → seekingDeathRateIncrease → decay
<decay
function=("constant" or "step" or "linear" or "exponential" or "weibull" or "hill" or "smooth-compact")
[ L=string ]
[ k=double ] DEFAULT VALUE 1.0
[ mu=double ] DEFAULT VALUE 0
[ sigma=double ] DEFAULT VALUE 0
/>
Documentation (type)
Specification of decay or survival of a parameter.
Attributes
function
function=("constant" or "step" or "linear" or "exponential" or "weibull" or "hill" or "smooth-compact")
Units: None Min: 0 Max: 1
Determines which decay function to use. Available decay functions, for age t in years: constant: 1 step: 1 for t less than L, otherwise 0 linear: 1 - t/L for t less than L, otherwise 0 exponential: exp( - t/L * log(2) ) weibull: exp( -(t/L)^k * log(2) ) hill: 1 / (1 + (t/L)^k) smooth-compact: exp( k - k / (1 - (t/L)^2) ) for t less than L, otherwise 0
L
L=string
Units: User-defined (defaults to years) Min: 0
(Time) scale parameter of distribution: this is either the age of complete decay (smooth-compact, step and linear functions) or the age at which the parameter has decayed to half its original value (exponential, weibull and hill). Not used when function="constant" (i.e. no decay). This value can be specified in years, days or steps (e.g. 2y, 180d or 100t). When the unit is not specified years are assumed. The value is used without rounding except when sampling an age of decay, when the rounding happens as late as possible.
k
k=double
Units: none Min: 0
Default value: 1.0
Shape parameter of distribution. If not specified, default value of 1 is used. Meaning depends on function; not used in some cases.
μ (mu)
mu=double
Min: 0
Default value: 0
If sigma is non-zero, heterogeneity of decay is introduced via a random variable sampled from the log-normal distribution with mu and sigma as specified. Both mu and sigma default to zero when not specified. The decay rate is multiplied by this variable (effectively, the half-life is divided by it). Note that with m=0, the median of the variable and the median value of L is unchanged, and thus the time at which the median decay amongst the population of decaying objects reaches half (assuming exponential, Weibull or Hill decay) is L. With m=-½σ² (negative half sigma squared) the mean of the variable will be 1 and mean of the half-life L, but the time at which mean decay of the population has reached half may not be L.
σ (sigma)
sigma=double
Min: 0
Default value: 0
If sigma is non-zero, heterogeneity of decay is introduced via a random variable sampled from the log-normal distribution with mu and sigma as specified. Both mu and sigma default to zero when not specified. The decay rate is multiplied by this variable (effectively, the half-life is divided by it).
Proportion ovipositing mosquitoes killed
→ scenario → interventions → vectorPop → intervention → description → anopheles → probDeathOvipositing
<probDeathOvipositing
initial=double
>
IN THIS ORDER:
| <decay ... />
</probDeathOvipositing>
Documentation (element)
Units: dimensionless
Describe an effect of increased mortality while ovipositing due to this intervention. Enter the probability of dying due to this intervention.
Attributes
Initial probability of killing
initial=double
Units: dimensionless Min: 0 Max: 1
decay
→ scenario → interventions → vectorPop → intervention → description → anopheles → probDeathOvipositing → decay
<decay
function=("constant" or "step" or "linear" or "exponential" or "weibull" or "hill" or "smooth-compact")
[ L=string ]
[ k=double ] DEFAULT VALUE 1.0
[ mu=double ] DEFAULT VALUE 0
[ sigma=double ] DEFAULT VALUE 0
/>
Documentation (type)
Specification of decay or survival of a parameter.
Attributes
function
function=("constant" or "step" or "linear" or "exponential" or "weibull" or "hill" or "smooth-compact")
Units: None Min: 0 Max: 1
Determines which decay function to use. Available decay functions, for age t in years: constant: 1 step: 1 for t less than L, otherwise 0 linear: 1 - t/L for t less than L, otherwise 0 exponential: exp( - t/L * log(2) ) weibull: exp( -(t/L)^k * log(2) ) hill: 1 / (1 + (t/L)^k) smooth-compact: exp( k - k / (1 - (t/L)^2) ) for t less than L, otherwise 0
L
L=string
Units: User-defined (defaults to years) Min: 0
(Time) scale parameter of distribution: this is either the age of complete decay (smooth-compact, step and linear functions) or the age at which the parameter has decayed to half its original value (exponential, weibull and hill). Not used when function="constant" (i.e. no decay). This value can be specified in years, days or steps (e.g. 2y, 180d or 100t). When the unit is not specified years are assumed. The value is used without rounding except when sampling an age of decay, when the rounding happens as late as possible.
k
k=double
Units: none Min: 0
Default value: 1.0
Shape parameter of distribution. If not specified, default value of 1 is used. Meaning depends on function; not used in some cases.
μ (mu)
mu=double
Min: 0
Default value: 0
If sigma is non-zero, heterogeneity of decay is introduced via a random variable sampled from the log-normal distribution with mu and sigma as specified. Both mu and sigma default to zero when not specified. The decay rate is multiplied by this variable (effectively, the half-life is divided by it). Note that with m=0, the median of the variable and the median value of L is unchanged, and thus the time at which the median decay amongst the population of decaying objects reaches half (assuming exponential, Weibull or Hill decay) is L. With m=-½σ² (negative half sigma squared) the mean of the variable will be 1 and mean of the half-life L, but the time at which mean decay of the population has reached half may not be L.
σ (sigma)
sigma=double
Min: 0
Default value: 0
If sigma is non-zero, heterogeneity of decay is introduced via a random variable sampled from the log-normal distribution with mu and sigma as specified. Both mu and sigma default to zero when not specified. The decay rate is multiplied by this variable (effectively, the half-life is divided by it).
Proportion of emerging pupa killed
→ scenario → interventions → vectorPop → intervention → description → anopheles → emergenceReduction
<emergenceReduction
initial=double
>
IN THIS ORDER:
| <decay ... />
</emergenceReduction>
Documentation (element)
Units: dimensionless
Describe an effect on emergence of pupa into adults: this value is the proportion of emerging pupa which are killed by this intervention.
This can be used as a crude way of modelling larviciding. It ca also be used to increase emergence by giving a negative value. The emergence rate is "old rate" × (1 - factor) where factor is the value given here; thus, for example, using -1 will double emergence.
Attributes
Initial proportion reduction
initial=double
Units: dimensionless Min: -inf Max: 1
decay
→ scenario → interventions → vectorPop → intervention → description → anopheles → emergenceReduction → decay
<decay
function=("constant" or "step" or "linear" or "exponential" or "weibull" or "hill" or "smooth-compact")
[ L=string ]
[ k=double ] DEFAULT VALUE 1.0
[ mu=double ] DEFAULT VALUE 0
[ sigma=double ] DEFAULT VALUE 0
/>
Documentation (type)
Specification of decay or survival of a parameter.
Attributes
function
function=("constant" or "step" or "linear" or "exponential" or "weibull" or "hill" or "smooth-compact")
Units: None Min: 0 Max: 1
Determines which decay function to use. Available decay functions, for age t in years: constant: 1 step: 1 for t less than L, otherwise 0 linear: 1 - t/L for t less than L, otherwise 0 exponential: exp( - t/L * log(2) ) weibull: exp( -(t/L)^k * log(2) ) hill: 1 / (1 + (t/L)^k) smooth-compact: exp( k - k / (1 - (t/L)^2) ) for t less than L, otherwise 0
L
L=string
Units: User-defined (defaults to years) Min: 0
(Time) scale parameter of distribution: this is either the age of complete decay (smooth-compact, step and linear functions) or the age at which the parameter has decayed to half its original value (exponential, weibull and hill). Not used when function="constant" (i.e. no decay). This value can be specified in years, days or steps (e.g. 2y, 180d or 100t). When the unit is not specified years are assumed. The value is used without rounding except when sampling an age of decay, when the rounding happens as late as possible.
k
k=double
Units: none Min: 0
Default value: 1.0
Shape parameter of distribution. If not specified, default value of 1 is used. Meaning depends on function; not used in some cases.
μ (mu)
mu=double
Min: 0
Default value: 0
If sigma is non-zero, heterogeneity of decay is introduced via a random variable sampled from the log-normal distribution with mu and sigma as specified. Both mu and sigma default to zero when not specified. The decay rate is multiplied by this variable (effectively, the half-life is divided by it). Note that with m=0, the median of the variable and the median value of L is unchanged, and thus the time at which the median decay amongst the population of decaying objects reaches half (assuming exponential, Weibull or Hill decay) is L. With m=-½σ² (negative half sigma squared) the mean of the variable will be 1 and mean of the half-life L, but the time at which mean decay of the population has reached half may not be L.
σ (sigma)
sigma=double
Min: 0
Default value: 0
If sigma is non-zero, heterogeneity of decay is introduced via a random variable sampled from the log-normal distribution with mu and sigma as specified. Both mu and sigma default to zero when not specified. The decay rate is multiplied by this variable (effectively, the half-life is divided by it).
Vector population intervention deployment
→ scenario → interventions → vectorPop → intervention → timed
<timed>
IN THIS ORDER:
| ( <deploy ... /> )+
</timed>
Documentation (element)
List of timed vector population intervention deployment
deploy
→ scenario → interventions → vectorPop → intervention → timed → deploy
<deploy
time=string
/>
Attributes
Time
time=string
Units: User defined (defauls to steps) Min: 0
Time at which this deployment occurs. See doc on intervention period and on monitoring/startDate for details of how times work. Can be specified in steps, days, years, or as a date (examples: 15t, 75d, 0.2y, 2000-03-16).
Human-specific interventions
→ scenario → interventions → human
<human>
IN THIS ORDER:
| ( <component ... /> )+
| ( <deployment ... /> )*
</human>
Documentation (element)
Encapsulates all interventions whose effects are specific to the human host: any interventions where target humans may be selected via population-coverage, age limits and sub-population membership.
Component
→ scenario → interventions → human → component
<component
id=string
[ name=string ]
>
IN THIS ORDER:
| EXACTLY ONE OF:
| | <screen ... />
| | <treatSimple ... />
| | <treatPKPD ... />
| | <decisionTree ... />
| | <PEV ... />
| | <BSV ... />
| | <TBV ... />
| | <ITN ... />
| | <IRS ... />
| | <GVI ... />
| | [ <recruitmentOnly ... /> ]
| | <clearImmunity ... />
| [ <subPopRemoval ... /> ]
</component>
- screen
- treatSimple
- treatPKPD
- decisionTree
- PEV
- BSV
- TBV
- ITN
- IRS
- GVI
- recruitmentOnly
- clearImmunity
- subPopRemoval
Documentation (element)
A parameterisation of an effect achieved by one component of an intervention. (An intervention is described as the effects of a set of components plus deployments of those components. This describes the components individually, not deployments or which components comprise an intervention.)
Each element describes one component: its effects, decay of the(se) effect(s), and related stuff (e.g. description of indirect decay and of usage levels).
Different interventions can deploy the same component to the same perso. In most cases this will just deploy a fresh instance (e.g. a new bed net will replace the old (nobody uses multiple bed nets), or a new drug dose will act on top of previous doses, or in the case of a vaccine, effect depends on the total number of previous inoculations (including from other interventions).
Where multiple components of the same type (but with different ids) are deployed (whether within a single intervention or by multiple interventions), they act independently (e.g. two bed nets deployed to a single host would act to reduce attractiveness or survival of mosquitoes biting that host twice — this may be useful to simulate some novel vector intervention since the two nets may have separate parameters).
Attributes
Component identifier
id=string
A short name or code identifying the intervention component (used to refer to this component when describing an intervention). Also the id of the sub-population defined as those hosts who have received this intervention and who haven't subsequently been removed from the sub-population.
Name of component
name=string
An informal name/description for the component
screen
→ scenario → interventions → human → component → screen
<screen
diagnostic=string
>
IN THIS ORDER:
| ( <positive ... /> )*
| ( <negative ... /> )*
</screen>
Documentation (type)
This can be combined with MDA to achieve mass screen and treat (MSAT) or other types of mass screening intervention.
When deployed to a host, this simulates a test of patent malaria (microscopy, RDT or some such), then triggers deployment of whichever intervention components are configured (deployments for both positive and negative test outcomes can be configured).
The use of the screening itself is reported (if enabled), but not the outcome. Deployment of interventions triggered by the screening may be reported, however.
Attributes
Name of diagnostic
diagnostic=string
Name of a parameterised diagnostic (see scenario/diagnostics).
positive
→ scenario → interventions → human → component → screen → positive
<positive
id=string
/>
Documentation (type)
The list of components deployed to eligible humans.
Attributes
Identifier
id=string
The identifier (short name) of a component.
negative
→ scenario → interventions → human → component → screen → negative
<negative
id=string
/>
Documentation (type)
The list of components deployed to eligible humans.
Attributes
Identifier
id=string
The identifier (short name) of a component.
treatSimple
→ scenario → interventions → human → component → treatSimple
<treatSimple
durationLiver=string
durationBlood=string
/>
Documentation (type)
Simple treatment model, targetting liver- and/or blood-stage infections. This is all-or-nothing treatment which, when deploymed, completely clears all infections of the targetted stages. This makes it unsuitable for modeling resistance, but suitable for use with simple infection models.
Infections are considered liver-stage when less than five days old and blood-stage after that. Effects are described independently for the two stages.
Attributes
Length of liver-stage effect
durationLiver=string
Units: User defined
Controls action on liver-stage infections. 0 means no action, -1 step is a compatibility option to act like treatment before schema version 32 (which removed infections retrospectively), 1 step or any duration which equals some whole number of steps n>0 means to clear all liver-stage infections found on the next 1 or n steps. Note on -1 compatibility option: the main difference to 1 step (clearing on the next timestep) is that parasite densities will be reduced immediately, and thus from the point of view of surveys and mass screen and treat interventions a peak in density which is immediately treated through case management will not be seen. Can be specified in steps (e.g. 1t, -1t) or days (e.g. 5d).
Length of blood-stage effect
durationBlood=string
Units: User defined
Controls action on blood-stage infections. 0 means no action, -1 step is a compatibility option to act like treatment before schema version 32 (which removed infections retrospectively), 1 step or any duration which equals some whole number of steps n>0 means to clear all blood-stage infections found on the next 1 or n steps. Note on -1 compatibility option: the main difference to 1 step (clearing on the next timestep) is that parasite densities will be reduced immediately, and thus from the point of view of surveys and mass screen and treat interventions a peak in density which is immediately treated through case management will not be seen. Can be specified in steps (e.g. 1t, -1t) or days (e.g. 5d).
treatPKPD
→ scenario → interventions → human → component → treatPKPD
<treatPKPD
schedule=string
dosage=string
[ delay_h=double ] DEFAULT VALUE 0
/>
Documentation (type)
A command to administer drugs according to a given schedule and dosage table, optionally with a delay.
Attributes
Name of treatment schedule
schedule=string
The name of a schedule to use for treatment.
Name of dosage table
dosage=string
The name of a dosage table to use for treatment.
Delay (hours)
delay_h=double
Default value: 0
Optionally, this can be given to delay the start of treatment by a given number of hours. If not specified, treatment is not delayed. If a delay is given, all medications within the treatment schedule used are delayed by this number of hours.
decisionTree
→ scenario → interventions → human → component → decisionTree
<decisionTree
[ name=string ]
>
EXACTLY ONE OF:
| <multiple ... />
| <caseType ... />
| <diagnostic ... />
| <random ... />
| <age ... />
| <noTreatment ... />
| <treatFailure ... />
| ( <treatPKPD ... /> )+
| <treatSimple ... />
| ( <deploy ... /> )+
</decisionTree>
Documentation (type)
Describes how "decisions" are made, both probabilistically and deterministically, and what actions are carried out.
Quantities may also be reported as a side effect of decisions made in the tree, for example the number of diagnostics used.
Attributes
Name
name=string
An optional piece of documentation attached to this node.
Vaccines
→ scenario → interventions → human → component → PEV
<PEV>
IN THIS ORDER:
| <decay ... />
| <efficacyB ... />
| ( <initialEfficacy ... /> )+
</PEV>
Documentation (element)
Pre-erythrocytic vaccine (PEV): prevents a proportion of infections from commencing.
Documentation (type)
Description of a vaccine's effect
Decay of effect
→ scenario → interventions → human → component → PEV → decay
<decay
function=("constant" or "step" or "linear" or "exponential" or "weibull" or "hill" or "smooth-compact")
[ L=string ]
[ k=double ] DEFAULT VALUE 1.0
[ mu=double ] DEFAULT VALUE 0
[ sigma=double ] DEFAULT VALUE 0
/>
Documentation (element)
Specification of decay of efficacy. Documentation: see DecayFunction type or https://github.com/SwissTPH/openmalaria/wiki/ModelDecayFunctions
Documentation (type)
Specification of decay or survival of a parameter.
Attributes
function
function=("constant" or "step" or "linear" or "exponential" or "weibull" or "hill" or "smooth-compact")
Units: None Min: 0 Max: 1
Determines which decay function to use. Available decay functions, for age t in years: constant: 1 step: 1 for t less than L, otherwise 0 linear: 1 - t/L for t less than L, otherwise 0 exponential: exp( - t/L * log(2) ) weibull: exp( -(t/L)^k * log(2) ) hill: 1 / (1 + (t/L)^k) smooth-compact: exp( k - k / (1 - (t/L)^2) ) for t less than L, otherwise 0
L
L=string
Units: User-defined (defaults to years) Min: 0
(Time) scale parameter of distribution: this is either the age of complete decay (smooth-compact, step and linear functions) or the age at which the parameter has decayed to half its original value (exponential, weibull and hill). Not used when function="constant" (i.e. no decay). This value can be specified in years, days or steps (e.g. 2y, 180d or 100t). When the unit is not specified years are assumed. The value is used without rounding except when sampling an age of decay, when the rounding happens as late as possible.
k
k=double
Units: none Min: 0
Default value: 1.0
Shape parameter of distribution. If not specified, default value of 1 is used. Meaning depends on function; not used in some cases.
μ (mu)
mu=double
Min: 0
Default value: 0
If sigma is non-zero, heterogeneity of decay is introduced via a random variable sampled from the log-normal distribution with mu and sigma as specified. Both mu and sigma default to zero when not specified. The decay rate is multiplied by this variable (effectively, the half-life is divided by it). Note that with m=0, the median of the variable and the median value of L is unchanged, and thus the time at which the median decay amongst the population of decaying objects reaches half (assuming exponential, Weibull or Hill decay) is L. With m=-½σ² (negative half sigma squared) the mean of the variable will be 1 and mean of the half-life L, but the time at which mean decay of the population has reached half may not be L.
σ (sigma)
sigma=double
Min: 0
Default value: 0
If sigma is non-zero, heterogeneity of decay is introduced via a random variable sampled from the log-normal distribution with mu and sigma as specified. Both mu and sigma default to zero when not specified. The decay rate is multiplied by this variable (effectively, the half-life is divided by it).
Variance parameter for vaccine efficacy
→ scenario → interventions → human → component → PEV → efficacyB
<efficacyB
value=double
/>
Documentation (element)
Units: Positive real Min: 0.001 Max: 1.00E+06
Measure of variation in vaccine efficacy: efficacy is sampled from a beta distribution with efficacyB its beta parameter and its alpha parameter fixed such that the mean is that given by initialEfficacy.
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Initial mean efficacy
→ scenario → interventions → human → component → PEV → initialEfficacy
<initialEfficacy
value=double
/>
Documentation (element)
Units: dimensionless Min: 0 Max: 1
Mean efficacy values before decay (see efficacyB and decay parameter descriptions for sampling and decay). The i-th value in this list is used for the efficacy of the vaccine after the i-th dose. Where more doses are given than there are values in this list, the last value is repeated.
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Vaccines
→ scenario → interventions → human → component → BSV
<BSV>
IN THIS ORDER:
| <decay ... />
| <efficacyB ... />
| ( <initialEfficacy ... /> )+
</BSV>
Documentation (element)
Blood-stage vaccine (BSV): acts as a killing factor on blood-stage parasites. Exact action depends on the within host model.
Documentation (type)
Description of a vaccine's effect
Vaccines
→ scenario → interventions → human → component → TBV
<TBV>
IN THIS ORDER:
| <decay ... />
| <efficacyB ... />
| ( <initialEfficacy ... /> )+
</TBV>
Documentation (element)
Transmission-blocking vaccine (TBV): one minus this scales the probability of transmission to mosquitoes
Documentation (type)
Description of a vaccine's effect
Bed nets
→ scenario → interventions → human → component → ITN
<ITN>
IN THIS ORDER:
| <usage ... />
| <holeRate ... />
| <ripRate ... />
| <ripFactor ... />
| <initialInsecticide ... />
| <insecticideDecay ... />
| <attritionOfNets ... />
| ( <anophelesParams ... /> )+
</ITN>
- usage
- holeRate
- ripRate
- ripFactor
- initialInsecticide
- insecticideDecay
- attritionOfNets
- anophelesParams
Documentation (element)
Description of bed-net interventions (ITNs, LLINs).
Proportion of time nets are used by humans
→ scenario → interventions → human → component → ITN → usage
<usage
value=double
/>
Documentation (element)
Units: dimensionless Min: 0 Max: 1
Usage of nets by humans, from 0 to 1.
At the moment this is constant across humans and deterministic: relative attractiveness and survival factors are base*(1-usagepropActing) + intervention_factorusage*propActing.
See also "propActing" (proportion of bits for which net acts).
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Rate at which holes are made
→ scenario → interventions → human → component → ITN → holeRate
<holeRate
mean=double
sigma=double
/>
Documentation (element)
Units: Holes per annum Min: 0
The rate at which new holes are made in nets.
nHoles(t) = nHoles(t-1) + X where X~Pois(R/T) where T is the number of time-steps per year. R is sampled from log-normal: R ~ log N( log(mean)-sigma²/2, sigma² ) and is covariant with ripRate and insecticideDecay. (To be exact, a single Gaussian sample is taken, adjusted for each sigma then exponentiated.)
Documentation (type)
Parameters of a log-normal distribution.
Variates are sampled as: X ~ log N( log(mean)-sigma²/2, sigma² ).
Attributes
mean
mean=double
Units: (same as base units)
The mean of the lognormal distribution.
sigma
sigma=double
Sigma parameter of the lognormal distribution; sigma squared is the variance of the log of samples.
Rate at which holes are enlarged
→ scenario → interventions → human → component → ITN → ripRate
<ripRate
mean=double
sigma=double
/>
Documentation (element)
Units: Rips per existing hole per annum Min: 0
Each existing hole has a probability of being ripped bigger according to a Poisson process with this rate as (only) parameter.
New rips occur in a net at rate X~Pois(h×R/T) where h is the number of existing holes and T the number of time-steps per year. R is sampled from log-normal: R ~ log N( log(mean)-sigma²/2, sigma² ) and is covariant with holeRate and insecticideDecay. (To be exact, a single Gaussian sample is taken, adjusted for the each and sigma then exponentiated.)
Documentation (type)
Parameters of a log-normal distribution.
Variates are sampled as: X ~ log N( log(mean)-sigma²/2, sigma² ).
Attributes
mean
mean=double
Units: (same as base units)
The mean of the lognormal distribution.
sigma
sigma=double
Sigma parameter of the lognormal distribution; sigma squared is the variance of the log of samples.
Rip factor
→ scenario → interventions → human → component → ITN → ripFactor
<ripFactor
value=double
/>
Documentation (element)
Units: none Min: 0
This factor expresses how important rips are in increasing the hole.
The hole index of a net is h + F×x where h and x are the total numbers of holes and rips respectively and F is the rip factor.
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Initial insecticide
→ scenario → interventions → human → component → ITN → initialInsecticide
<initialInsecticide
mu=double
sigma=double
/>
Documentation (element)
Units: mg/m² Min: 0
The insecticide concentration of new nets is Gaussian distributed with mean "mu" and a standard deviation "sigma". The standard deviation should be small relative to the mean to avoid negative initial concentration. Any negative values sampled are set to 0.
Documentation (type)
Parameters of a normal distribution.
Variates are sampled as: X ~ N( mu, sigma² ).
Attributes
mu
mu=double
Units: (same as base units)
The mean of the normal distribution.
sigma
sigma=double
Units: (same as base units)
The standard deviation of variates.
Decay of insecticide
→ scenario → interventions → human → component → ITN → insecticideDecay
<insecticideDecay
function=("constant" or "step" or "linear" or "exponential" or "weibull" or "hill" or "smooth-compact")
[ L=string ]
[ k=double ] DEFAULT VALUE 1.0
[ mu=double ] DEFAULT VALUE 0
[ sigma=double ] DEFAULT VALUE 0
/>
Documentation (element)
Units: none
Decay curve for insecticide content of nets. Documentation: see DecayFunction type or https://github.com/SwissTPH/openmalaria/wiki/ModelDecayFunctions
The distribution of decay rates over nets is covariant with the distribution of ripRate and holeRate over nets. This distribution is generated by taking one sample per net from a Gaussian distribution with mean 0 and standard deviation 1. For each variable, the sample is multiplied by the respective sigma and a constant added such that, once exponentiated, the mean of the variable over nets is 1. The variable is then exponentiated and multiplied by the required mean rate for the respective variable.
Documentation (type)
Specification of decay or survival of a parameter.
Attributes
function
function=("constant" or "step" or "linear" or "exponential" or "weibull" or "hill" or "smooth-compact")
Units: None Min: 0 Max: 1
Determines which decay function to use. Available decay functions, for age t in years: constant: 1 step: 1 for t less than L, otherwise 0 linear: 1 - t/L for t less than L, otherwise 0 exponential: exp( - t/L * log(2) ) weibull: exp( -(t/L)^k * log(2) ) hill: 1 / (1 + (t/L)^k) smooth-compact: exp( k - k / (1 - (t/L)^2) ) for t less than L, otherwise 0
L
L=string
Units: User-defined (defaults to years) Min: 0
(Time) scale parameter of distribution: this is either the age of complete decay (smooth-compact, step and linear functions) or the age at which the parameter has decayed to half its original value (exponential, weibull and hill). Not used when function="constant" (i.e. no decay). This value can be specified in years, days or steps (e.g. 2y, 180d or 100t). When the unit is not specified years are assumed. The value is used without rounding except when sampling an age of decay, when the rounding happens as late as possible.
k
k=double
Units: none Min: 0
Default value: 1.0
Shape parameter of distribution. If not specified, default value of 1 is used. Meaning depends on function; not used in some cases.
μ (mu)
mu=double
Min: 0
Default value: 0
If sigma is non-zero, heterogeneity of decay is introduced via a random variable sampled from the log-normal distribution with mu and sigma as specified. Both mu and sigma default to zero when not specified. The decay rate is multiplied by this variable (effectively, the half-life is divided by it). Note that with m=0, the median of the variable and the median value of L is unchanged, and thus the time at which the median decay amongst the population of decaying objects reaches half (assuming exponential, Weibull or Hill decay) is L. With m=-½σ² (negative half sigma squared) the mean of the variable will be 1 and mean of the half-life L, but the time at which mean decay of the population has reached half may not be L.
σ (sigma)
sigma=double
Min: 0
Default value: 0
If sigma is non-zero, heterogeneity of decay is introduced via a random variable sampled from the log-normal distribution with mu and sigma as specified. Both mu and sigma default to zero when not specified. The decay rate is multiplied by this variable (effectively, the half-life is divided by it).
Attrition of nets
→ scenario → interventions → human → component → ITN → attritionOfNets
<attritionOfNets
function=("constant" or "step" or "linear" or "exponential" or "weibull" or "hill" or "smooth-compact")
[ L=string ]
[ k=double ] DEFAULT VALUE 1.0
[ mu=double ] DEFAULT VALUE 0
[ sigma=double ] DEFAULT VALUE 0
/>
Documentation (element)
Units: dimensionless
Specifies the rate at which nets are disposed of over time. Documentation: see DecayFunction type or https://github.com/SwissTPH/openmalaria/wiki/ModelDecayFunctions
In the current model, nets are disposed of randomly (no correlation with state of decay) such that the chance of each net surviving until age t is the value of this decay function at time t. Equivalently (where a large number of nets are distributed at the same time), the proportion of nets remaining in use should match this decay function over time.
Humans are removed from the intervention component's sub-population on disposal (attrition) of their nets. Currently this event is not reported.
Documentation (type)
Specification of decay or survival of a parameter.
Attributes
function
function=("constant" or "step" or "linear" or "exponential" or "weibull" or "hill" or "smooth-compact")
Units: None Min: 0 Max: 1
Determines which decay function to use. Available decay functions, for age t in years: constant: 1 step: 1 for t less than L, otherwise 0 linear: 1 - t/L for t less than L, otherwise 0 exponential: exp( - t/L * log(2) ) weibull: exp( -(t/L)^k * log(2) ) hill: 1 / (1 + (t/L)^k) smooth-compact: exp( k - k / (1 - (t/L)^2) ) for t less than L, otherwise 0
L
L=string
Units: User-defined (defaults to years) Min: 0
(Time) scale parameter of distribution: this is either the age of complete decay (smooth-compact, step and linear functions) or the age at which the parameter has decayed to half its original value (exponential, weibull and hill). Not used when function="constant" (i.e. no decay). This value can be specified in years, days or steps (e.g. 2y, 180d or 100t). When the unit is not specified years are assumed. The value is used without rounding except when sampling an age of decay, when the rounding happens as late as possible.
k
k=double
Units: none Min: 0
Default value: 1.0
Shape parameter of distribution. If not specified, default value of 1 is used. Meaning depends on function; not used in some cases.
μ (mu)
mu=double
Min: 0
Default value: 0
If sigma is non-zero, heterogeneity of decay is introduced via a random variable sampled from the log-normal distribution with mu and sigma as specified. Both mu and sigma default to zero when not specified. The decay rate is multiplied by this variable (effectively, the half-life is divided by it). Note that with m=0, the median of the variable and the median value of L is unchanged, and thus the time at which the median decay amongst the population of decaying objects reaches half (assuming exponential, Weibull or Hill decay) is L. With m=-½σ² (negative half sigma squared) the mean of the variable will be 1 and mean of the half-life L, but the time at which mean decay of the population has reached half may not be L.
σ (sigma)
sigma=double
Min: 0
Default value: 0
If sigma is non-zero, heterogeneity of decay is introduced via a random variable sampled from the log-normal distribution with mu and sigma as specified. Both mu and sigma default to zero when not specified. The decay rate is multiplied by this variable (effectively, the half-life is divided by it).
anophelesParams
→ scenario → interventions → human → component → ITN → anophelesParams
<anophelesParams
mosquito=string
[ propActive=double ] DEFAULT VALUE 1
>
IN THIS ORDER:
| EXACTLY ONE OF:
| | <deterrency ... />
| | <twoStageDeterrency ... />
| <preprandialKillingEffect ... />
| <postprandialKillingEffect ... />
</anophelesParams>
Attributes
Mosquito species
mosquito=string
Name of the affected anopheles-mosquito species.
Proportion of bites for which net acts
propActive=double
Units: dimensionless Min: 0 Max: 1
Default value: 1
The proportion of bites, when nets are in use, for which the net has any action whatsoever on the mosquito. At the moment this is constant across humans and deterministic: relative attractiveness and survival factors are base*(1-usagepropActing) + intervention_factorusage*propActing. See also "usage" (proportion of time nets are used by humans).
Relative attractiveness
→ scenario → interventions → human → component → ITN → anophelesParams → deterrency
<deterrency
insecticideFactor=double
insecticideScalingFactor=double
holeFactor=double
interactionFactor=double
holeScalingFactor=double
/>
Documentation (element)
Units: dimensionless Min: 0 Max: 1
Effect of net on attractiveness of humans to mosquitoes relative to an unprotected adult human. Parameterisations should take into account that mosquitoes do not always bite indoors.
Attractiveness of the human is multiplied by exp(log(H)×h + log(P)×p + log(I)×h×p where H, P and I are the hole, insecticide and interaction factors respectively, h=exp(-holeIndex×holeScalingFactor) and p=1−exp(-insecticideContent×insecticideScalingFactor).
Attributes
Insecticide factor
insecticideFactor=double
Units: none Max: 1
Value expected to be at least 0. Negative values are not necessarily invalid, but allow nets to increase transmission.
Insecticide scaling factor
insecticideScalingFactor=double
Units: none Min: 0
Hole factor
holeFactor=double
Units: none Max: 1
Value expected to be at least 0. Negative values are not necessarily invalid, but allow nets to increase transmission.
Interaction factor
interactionFactor=double
Units: none Max: 1
holeFactor + insecticideFactor + interactionFactor must not be greater than 1, and is expected to be at least 0. A negative value is not necessarily invalid, but allows nets to increase transmission.
Hole scaling factor
holeScalingFactor=double
Units: none Min: 0
Relative attractiveness
→ scenario → interventions → human → component → ITN → anophelesParams → twoStageDeterrency
<twoStageDeterrency>
IN ANY ORDER:
| <entering ... />
| <attacking ... />
</twoStageDeterrency>
Documentation (element)
Units: dimensionless
Effect of net on attractiveness of humans to mosquitoes relative to an unprotected adult human. Parameterisations should take into account that mosquitoes do not always bite indoors.
This deterrency model multiplies human attractiveness by pEnt×pAtt divided by a base factor to normalise the output to 1 when there are no nets.
RA (entering)
→ scenario → interventions → human → component → ITN → anophelesParams → twoStageDeterrency → entering
<entering
insecticideFactor=double
insecticideScalingFactor=double
/>
Documentation (element)
Units: dimensionless
pEnt represents the relative probability of entering due to ITNs: pEnt = exp(log(P)×p) where P is the insecticide factor and p=1−exp(-insecticideContent×insecticideScalingFactor).
Attributes
Insecticide factor
insecticideFactor=double
Units: none Max: 1
Value expected to be at least 0. Negative values are not necessarily invalid, but allow nets to increase transmission.
Insecticide scaling factor
insecticideScalingFactor=double
Units: none Min: 0
RA (attacking)
→ scenario → interventions → human → component → ITN → anophelesParams → twoStageDeterrency → attacking
<attacking
insecticideFactor=double
insecticideScalingFactor=double
holeFactor=double
interactionFactor=double
holeScalingFactor=double
baseFactor=double
/>
Documentation (element)
Units: dimensionless
pAtt represents the relative probability of attacking a human after entering a house due to ITNs (i.e. of feeding/dying vs. flying off): pAtt = B + H×h + P×p + I×h×p where B is the base (without net) probability; H, P and I are the hole, insecticide and interaction factors respectively, h=exp(-holeIndex×holeScalingFactor) and p=1−exp(-insecticideContent×insecticideScalingFactor).
Attributes
Insecticide factor
insecticideFactor=double
Units: none Max: 1
Value expected to be at least 0. Negative values are not necessarily invalid, but allow nets to increase transmission.
Insecticide scaling factor
insecticideScalingFactor=double
Units: none Min: 0
Hole factor
holeFactor=double
Units: none Max: 1
Value expected to be at least 0. Negative values are not necessarily invalid, but allow nets to increase transmission.
Interaction factor
interactionFactor=double
Units: none Max: 1
holeFactor + insecticideFactor + interactionFactor must not be greater than 1, and is expected to be at least 0. A negative value is not necessarily invalid, but allows nets to increase transmission.
Hole scaling factor
holeScalingFactor=double
Units: none Min: 0
Probability of mosquito death without intervention
baseFactor=double
Units: dimensionless
Pre-prandial killing effect
→ scenario → interventions → human → component → ITN → anophelesParams → preprandialKillingEffect
<preprandialKillingEffect
insecticideFactor=double
insecticideScalingFactor=double
holeFactor=double
interactionFactor=double
holeScalingFactor=double
baseFactor=double
/>
Documentation (element)
Units: dimensionless Min: 0 Max: 1
Effect of net on survival mosquitoes as they seek to bite a human after choosing that human, relative to the same person not sleeping under a net. Parameterisations should take into account that mosquitoes do not always bite indoors.
Killing proportion is calculated as K = B + H×h + P×p + I×h×p where B is the base (without net) probability of death, H, P and I are the hole, insecticide and interaction factors respectively, h=exp(-holeIndex×holeScalingFactor) and p=1−exp(-insecticideContent×insecticideScalingFactor).
Survival of mosquitoes is adjusted via multiplication by (1−K) / (1−B). To keep this in the range [0,1], we require that B+H ≤ 1, B+P ≤ 1, B+H+P+I ≤ 1, H ≥ 0, P ≥ 0 and H+P+I ≥ 0.
Attributes
Insecticide factor
insecticideFactor=double
Units: none Max: 1
Value expected to be at least 0. Negative values are not necessarily invalid, but allow nets to increase transmission.
Insecticide scaling factor
insecticideScalingFactor=double
Units: none Min: 0
Hole factor
holeFactor=double
Units: none Max: 1
Value expected to be at least 0. Negative values are not necessarily invalid, but allow nets to increase transmission.
Interaction factor
interactionFactor=double
Units: none Max: 1
holeFactor + insecticideFactor + interactionFactor must not be greater than 1, and is expected to be at least 0. A negative value is not necessarily invalid, but allows nets to increase transmission.
Hole scaling factor
holeScalingFactor=double
Units: none Min: 0
Probability of mosquito death without intervention
baseFactor=double
Units: dimensionless
Post-prandial killing effect
→ scenario → interventions → human → component → ITN → anophelesParams → postprandialKillingEffect
<postprandialKillingEffect
insecticideFactor=double
insecticideScalingFactor=double
holeFactor=double
interactionFactor=double
holeScalingFactor=double
baseFactor=double
/>
Documentation (element)
Units: dimensionless Min: 0 Max: 1
Effect of net on survival mosquitoes as they seek to escape from a human host and rest after a blood meal, relative to the same person not sleeping under a net. Parameterisations should take into account that mosquitoes do not always bite indoors.
Killing proportion is calculated as K = B + H×h + P×p + I×h×p where B is the base (without net) probability of death, H, P and I are the hole, insecticide and interaction factors respectively, h=exp(-holeIndex×holeScalingFactor) and p=1−exp(-insecticideContent×insecticideScalingFactor).
Survival of mosquitoes is adjusted via multiplication by (1−K) / (1−B). To keep this in the range [0,1], we require that B+H ≤ 1, B+P ≤ 1, B+H+P+I ≤ 1, H ≥ 0, P ≥ 0 and H+P+I ≥ 0.
Attributes
Insecticide factor
insecticideFactor=double
Units: none Max: 1
Value expected to be at least 0. Negative values are not necessarily invalid, but allow nets to increase transmission.
Insecticide scaling factor
insecticideScalingFactor=double
Units: none Min: 0
Hole factor
holeFactor=double
Units: none Max: 1
Value expected to be at least 0. Negative values are not necessarily invalid, but allow nets to increase transmission.
Interaction factor
interactionFactor=double
Units: none Max: 1
holeFactor + insecticideFactor + interactionFactor must not be greater than 1, and is expected to be at least 0. A negative value is not necessarily invalid, but allows nets to increase transmission.
Hole scaling factor
holeScalingFactor=double
Units: none Min: 0
Probability of mosquito death without intervention
baseFactor=double
Units: dimensionless
Indoor residual spraying
→ scenario → interventions → human → component → IRS
<IRS>
IN THIS ORDER:
| <initialInsecticide ... />
| <insecticideDecay ... />
| ( <anophelesParams ... /> )+
</IRS>
Documentation (element)
Description of indoor residual spraying interventions.
Documentation (type)
Description of effect for the more complex and probably more realistic Briet model: IRS has three effects, whos strength is calculated as a function of surviving insecticide content.
Initial insecticide
→ scenario → interventions → human → component → IRS → initialInsecticide
<initialInsecticide
mu=double
sigma=double
/>
Documentation (element)
Units: μg/cm² Min: 0
The insecticide concentration of IRS (at time of spraying) is Gaussian distributed with mean "mu" and a standard deviation "sigma". The standard deviation should be small relative to the mean to avoid negative initial concentration. Any negative values sampled are set to 0.
Documentation (type)
Parameters of a normal distribution.
Variates are sampled as: X ~ N( mu, sigma² ).
Attributes
mu
mu=double
Units: (same as base units)
The mean of the normal distribution.
sigma
sigma=double
Units: (same as base units)
The standard deviation of variates.
Decay of insecticide
→ scenario → interventions → human → component → IRS → insecticideDecay
<insecticideDecay
function=("constant" or "step" or "linear" or "exponential" or "weibull" or "hill" or "smooth-compact")
[ L=string ]
[ k=double ] DEFAULT VALUE 1.0
[ mu=double ] DEFAULT VALUE 0
[ sigma=double ] DEFAULT VALUE 0
/>
Documentation (element)
Units: none
Decay curve for insecticide content of IRS. Documentation: see DecayFunction type or https://github.com/SwissTPH/openmalaria/wiki/ModelDecayFunctions
Documentation (type)
Specification of decay or survival of a parameter.
Attributes
function
function=("constant" or "step" or "linear" or "exponential" or "weibull" or "hill" or "smooth-compact")
Units: None Min: 0 Max: 1
Determines which decay function to use. Available decay functions, for age t in years: constant: 1 step: 1 for t less than L, otherwise 0 linear: 1 - t/L for t less than L, otherwise 0 exponential: exp( - t/L * log(2) ) weibull: exp( -(t/L)^k * log(2) ) hill: 1 / (1 + (t/L)^k) smooth-compact: exp( k - k / (1 - (t/L)^2) ) for t less than L, otherwise 0
L
L=string
Units: User-defined (defaults to years) Min: 0
(Time) scale parameter of distribution: this is either the age of complete decay (smooth-compact, step and linear functions) or the age at which the parameter has decayed to half its original value (exponential, weibull and hill). Not used when function="constant" (i.e. no decay). This value can be specified in years, days or steps (e.g. 2y, 180d or 100t). When the unit is not specified years are assumed. The value is used without rounding except when sampling an age of decay, when the rounding happens as late as possible.
k
k=double
Units: none Min: 0
Default value: 1.0
Shape parameter of distribution. If not specified, default value of 1 is used. Meaning depends on function; not used in some cases.
μ (mu)
mu=double
Min: 0
Default value: 0
If sigma is non-zero, heterogeneity of decay is introduced via a random variable sampled from the log-normal distribution with mu and sigma as specified. Both mu and sigma default to zero when not specified. The decay rate is multiplied by this variable (effectively, the half-life is divided by it). Note that with m=0, the median of the variable and the median value of L is unchanged, and thus the time at which the median decay amongst the population of decaying objects reaches half (assuming exponential, Weibull or Hill decay) is L. With m=-½σ² (negative half sigma squared) the mean of the variable will be 1 and mean of the half-life L, but the time at which mean decay of the population has reached half may not be L.
σ (sigma)
sigma=double
Min: 0
Default value: 0
If sigma is non-zero, heterogeneity of decay is introduced via a random variable sampled from the log-normal distribution with mu and sigma as specified. Both mu and sigma default to zero when not specified. The decay rate is multiplied by this variable (effectively, the half-life is divided by it).
Per-mosquito species parameters
→ scenario → interventions → human → component → IRS → anophelesParams
<anophelesParams
mosquito=string
[ propActive=double ] DEFAULT VALUE 1
>
IN THIS ORDER:
| <deterrency ... />
| <preprandialKillingEffect ... />
| <postprandialKillingEffect ... />
</anophelesParams>
Attributes
Mosquito species
mosquito=string
Name of the affected anopheles-mosquito species.
Proportion of bites for which IRS acts
propActive=double
Units: dimensionless Min: 0 Max: 1
Default value: 1
The proportion of bites for which the IRS has any action whatsoever on the mosquito. At the moment this is constant across humans and deterministic: relative attractiveness and survival factors are base*(1-propActing) + intervention_factor*propActing.
Relative attractiveness
→ scenario → interventions → human → component → IRS → anophelesParams → deterrency
<deterrency
insecticideFactor=double
insecticideScalingFactor=double
/>
Documentation (element)
Units: dimensionless Min: 0 Max: 1
Effect of IRS on attractiveness of humans to mosquitoes relative to an unprotected adult human. Parameterisations should take into account that mosquitoes do not always bite indoors.
Attractiveness of the human is multiplied by exp(P×log(p)) where P is the insecticide factor, p=1−exp(-insecticideContent×insecticideScalingFactor).
Attributes
Insecticide factor
insecticideFactor=double
Units: none Max: 1
Value expected to be at least 0. Negative values are not necessarily invalid, but allow nets to increase transmission.
Insecticide scaling factor
insecticideScalingFactor=double
Units: none Min: 0
Pre-prandial killing effect
→ scenario → interventions → human → component → IRS → anophelesParams → preprandialKillingEffect
<preprandialKillingEffect
insecticideFactor=double
insecticideScalingFactor=double
baseFactor=double
/>
Documentation (element)
Units: dimensionless Min: 0 Max: 1
Effect of IRS on survival mosquitoes as they seek to bite a human after choosing that human, relative to the same person not protected by IRS. Parameterisations should take into account that mosquitoes do not always bite indoors. This parameter has been added since some data shows IRS to have a preprandial killing effect.
Killing proportion is calculated as K = B + P×p where B is the base (without protection) probability of death, and P is the insecticide factor, p=1−exp(-insecticideContent×insecticideScalingFactor).
Survival of mosquitoes is adjusted via multiplication by (1−K) / (1−B). To keep this in the range [0,1], we require that B+P ≤ 1 and P ≥ 0.
Attributes
Insecticide factor
insecticideFactor=double
Units: none Max: 1
Value expected to be at least 0. Negative values are not necessarily invalid, but allow nets to increase transmission.
Insecticide scaling factor
insecticideScalingFactor=double
Units: none Min: 0
Probability of mosquito death without intervention
baseFactor=double
Units: dimensionless
Post-prandial killing effect
→ scenario → interventions → human → component → IRS → anophelesParams → postprandialKillingEffect
<postprandialKillingEffect
insecticideFactor=double
insecticideScalingFactor=double
baseFactor=double
/>
Documentation (element)
Units: dimensionless Min: 0 Max: 1
Effect of IRS on survival mosquitoes as they seek to escape from a human host and rest after a blood meal, relative to the same person not protected by IRS. Parameterisations should take into account that mosquitoes do not always bite indoors.
Killing proportion is calculated as K = B + P×p where B is the base (without protection) probability of death, and P is the insecticide factor, p=1−exp(-insecticideContent×insecticideScalingFactor).
Survival of mosquitoes is adjusted via multiplication by (1−K) / (1−B). To keep this in the range [0,1], we require that B+P ≤ 1 and P ≥ 0.
Attributes
Insecticide factor
insecticideFactor=double
Units: none Max: 1
Value expected to be at least 0. Negative values are not necessarily invalid, but allow nets to increase transmission.
Insecticide scaling factor
insecticideScalingFactor=double
Units: none Min: 0
Probability of mosquito death without intervention
baseFactor=double
Units: dimensionless
Generic vector intervention
→ scenario → interventions → human → component → GVI
<GVI>
IN THIS ORDER:
| <decay ... />
| ( <anophelesParams ... /> )+
</GVI>
Documentation (element)
Low-level description of intervention effects on vectors (i.e. mosquitoes). Can be used to describe simple ITN or IRS interventions (though more complex models are available for these interventions) or other interventions such as mosquito repellant or ivermectin.
Note that all actions of this intervention component will decay according to a single decay function. If independant decay is wanted, a separate component can be used for each action.
Decay
→ scenario → interventions → human → component → GVI → decay
<decay
function=("constant" or "step" or "linear" or "exponential" or "weibull" or "hill" or "smooth-compact")
[ L=string ]
[ k=double ] DEFAULT VALUE 1.0
[ mu=double ] DEFAULT VALUE 0
[ sigma=double ] DEFAULT VALUE 0
/>
Documentation (element)
Description of decay of all intervention effects. Documentation: see DecayFunction type or https://github.com/SwissTPH/openmalaria/wiki/ModelDecayFunctions
Documentation (type)
Specification of decay or survival of a parameter.
Attributes
function
function=("constant" or "step" or "linear" or "exponential" or "weibull" or "hill" or "smooth-compact")
Units: None Min: 0 Max: 1
Determines which decay function to use. Available decay functions, for age t in years: constant: 1 step: 1 for t less than L, otherwise 0 linear: 1 - t/L for t less than L, otherwise 0 exponential: exp( - t/L * log(2) ) weibull: exp( -(t/L)^k * log(2) ) hill: 1 / (1 + (t/L)^k) smooth-compact: exp( k - k / (1 - (t/L)^2) ) for t less than L, otherwise 0
L
L=string
Units: User-defined (defaults to years) Min: 0
(Time) scale parameter of distribution: this is either the age of complete decay (smooth-compact, step and linear functions) or the age at which the parameter has decayed to half its original value (exponential, weibull and hill). Not used when function="constant" (i.e. no decay). This value can be specified in years, days or steps (e.g. 2y, 180d or 100t). When the unit is not specified years are assumed. The value is used without rounding except when sampling an age of decay, when the rounding happens as late as possible.
k
k=double
Units: none Min: 0
Default value: 1.0
Shape parameter of distribution. If not specified, default value of 1 is used. Meaning depends on function; not used in some cases.
μ (mu)
mu=double
Min: 0
Default value: 0
If sigma is non-zero, heterogeneity of decay is introduced via a random variable sampled from the log-normal distribution with mu and sigma as specified. Both mu and sigma default to zero when not specified. The decay rate is multiplied by this variable (effectively, the half-life is divided by it). Note that with m=0, the median of the variable and the median value of L is unchanged, and thus the time at which the median decay amongst the population of decaying objects reaches half (assuming exponential, Weibull or Hill decay) is L. With m=-½σ² (negative half sigma squared) the mean of the variable will be 1 and mean of the half-life L, but the time at which mean decay of the population has reached half may not be L.
σ (sigma)
sigma=double
Min: 0
Default value: 0
If sigma is non-zero, heterogeneity of decay is introduced via a random variable sampled from the log-normal distribution with mu and sigma as specified. Both mu and sigma default to zero when not specified. The decay rate is multiplied by this variable (effectively, the half-life is divided by it).
Per-mosquito species parameters
→ scenario → interventions → human → component → GVI → anophelesParams
<anophelesParams
mosquito=string
[ propActive=double ] DEFAULT VALUE 1
>
IN THIS ORDER:
| [ <deterrency ... /> ]
| [ <preprandialKillingEffect ... /> ]
| [ <postprandialKillingEffect ... /> ]
</anophelesParams>
Attributes
Mosquito species
mosquito=string
Name of the affected anopheles-mosquito species.
Proportion of bites for which IRS acts
propActive=double
Units: dimensionless Min: 0 Max: 1
Default value: 1
The proportion of bites for which the IRS has any action whatsoever on the mosquito. At the moment this is constant across humans and deterministic: relative attractiveness and survival factors are base*(1-propActing) + intervention_factor*propActing.
Relative attractiveness
→ scenario → interventions → human → component → GVI → anophelesParams → deterrency
<deterrency
value=double
/>
Documentation (element)
Units: dimensionless Min: 0 Max: 1
Effect of IRS on attractiveness of humans to mosquitoes relative to an unprotected adult human. Parameterisations should take into account that mosquitoes do not always bite indoors.
Attractiveness of the human is multiplied this factor times survival of effect.
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Pre-prandial killing effect
→ scenario → interventions → human → component → GVI → anophelesParams → preprandialKillingEffect
<preprandialKillingEffect
value=double
/>
Documentation (element)
Units: dimensionless Min: 0 Max: 1
Effect of IRS on survival mosquitoes as they seek to bite a human after choosing that human, relative to the same person not protected by IRS. Parameterisations should take into account that mosquitoes do not always bite indoors. This parameter has been added since some data shows IRS to have a preprandial killing effect.
Killing proportion is this factor multiplied by survival of effect.
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Post-prandial killing effect
→ scenario → interventions → human → component → GVI → anophelesParams → postprandialKillingEffect
<postprandialKillingEffect
value=double
/>
Documentation (element)
Units: dimensionless Min: 0 Max: 1
Effect of IRS on survival mosquitoes as they seek to escape from a human host and rest after a blood meal, relative to the same person not protected by IRS. Parameterisations should take into account that mosquitoes do not always bite indoors.
Killing proportion is this factor multiplied by survival of effect.
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Recruitment only
→ scenario → interventions → human → component → recruitmentOnly
<recruitmentOnly/>
Documentation (element)
Recruitment of a host into a sub-population.
All human-targeting intervention deployments recruit simulated humans into a sub-population which can be used for the purposes of cumulative deployment, deployment only to a sub-population and defining a cohort. This pseudo-intervention can be used to define a sub-population without also deploying some intervention.
Clear Immunity
→ scenario → interventions → human → component → clearImmunity
<clearImmunity/>
Documentation (element)
Removes all exposure-related immunitsy gained over time by hosts without removing infections (or affecting the ability to gain immunity through exposure).
Hypothetical, but potentially useful to simulate scenarios with unprotected humans.
subPopRemoval
→ scenario → interventions → human → component → subPopRemoval
<subPopRemoval
[ onFirstBout=boolean ] DEFAULT VALUE false
[ onFirstTreatment=boolean ] DEFAULT VALUE false
[ onFirstInfection=boolean ] DEFAULT VALUE false
[ afterYears=double ]
/>
Documentation (type)
Each human intervention component corresponds to a sub-population: those who have received or are considered to be protected by the intervention component. Humans automatically become members of this sub-population when receiving an intervention component; this element controls how humans are removed from the sub-population.
ITN attrition also removes humans from sub-populations.
Note that sub-populations do not directly correspond to an intervention's effects: lack of effectiveness does not imply removal from the sub-population (except as explicitly configured here) and removal from the sub-population does not halt an intervention's effects.
Sub-populations may be used to define a cohort, to restrict deployment of other interventions and to use cumulative deployment mode. A sub- population may or may not correspond (roughly) to humans protected by some intervention.
Attributes
Time to first episode only
onFirstBout=boolean
Default value: false
If true, remove individuals from the sub-population at the start of the first episode (start of a clinical bout) since they were recruited into the sub-population. This is intended for cohort studies which measure time to the first episode, using active case detection. Reports delayed due to health-system memory are forced out when this occurs. Note that this can increase the number of uncomplicated cases reported across the entire population; for this reason reports are not forced on recruitment or most removal options. This does not prevent re-recruitment in the case that recruitment settings could conceivably recruit the same individual twice.
Time to first treatment only
onFirstTreatment=boolean
Default value: false
If true, remove individuals from the sub-population when they first seektreatment since they were recruited into the sub-population. This is intended for cohort studies which measure the time to first episode, using passive case detection. Reports delayed due to health-system memory are forced out when this occurs. Note that this can increase the number of uncomplicated cases reported across the entire population; for this reason reports are not forced on recruitment or most removal options. This does not prevent re-recruitment in the case that recruitment settings could conceivably recruit the same individual twice.
Time to first infection only
onFirstInfection=boolean
Default value: false
If true, remove individuals from the sub-population at completion of the first survey in which they present with a patent infection since they were recruited into the sub-population. This intended for cohort studies which measure time to the first infection, using active case detection. Reports delayed due to health-system memory are forced out when this occurs. Note that this can increase the number of uncomplicated cases reported across the entire population; for this reason reports are not forced on recruitment or most removal options. This does not prevent re-recruitment in the case that recruitment settings could conceivably recruit the same individual twice.
Remove from sub-population after
afterYears=double
Units: Years Min: 0
If given, membership to the sub-population of humans who have received this intervention component expires after the given number of years. Note that future deployments renew membership (e.g. if this parameter is 4 years and the intervention is redeployed 3 years from now, expiry happens after 7 years). This provides a crude way of modelling a cohort protected by some intervention. A few interventions provide more detailed ways of modelling expiry of protection. In any case, "expiry of protection" is an abstract concept and does not imply that all protection has ceased, even in the simulator. This may also be useful for cumulative deployment. Minimum duration is zero, which implies the human is effectively never a member of the sub-population; a duration of one timestep implies the human is a member of the sub-population while any futher interventions are deployed on the same time as this human becomes a member and on the next update of the human (including transmission and health system events) but not beyond that. If this attribute is not given, the simulated human is a member until death or some other option triggers removal. Input is rounded to the nearest time step.
Deployment
→ scenario → interventions → human → deployment
<deployment
[ name=string ]
>
IN THIS ORDER:
| ( <component ... /> )+
| ( <continuous ... /> )*
| ( <timed ... /> )*
</deployment>
Documentation (element)
This element describes deployment of an intervention: which components are deployed, how humans are selected for deployment (via timed or age-based deployment) as well as a few additional restrictions (e.g. vaccine dosing restrictions).
All components deployed by this intervention are deployed to the same people (each timed or continuous deployment selects recipients and then gives each recipient all components of the intervention).
Attributes
Intervention name
name=string
Name of intervention
component
→ scenario → interventions → human → deployment → component
<component
id=string
/>
Documentation (type)
The list of components deployed to eligible humans.
Attributes
Identifier
id=string
The identifier (short name) of a component.
Age-based (continuous) deployment
→ scenario → interventions → human → deployment → continuous
<continuous>
IN THIS ORDER:
| [ <restrictToSubPop ... /> ]
| ( <deploy ... /> )+
</continuous>
Documentation (element)
List of ages at which deployment takes place (through EPI, post-natal and school-based programmes, etc.).
A sub-population restriction may be added as a property of the list of continuous deployments.
restrictToSubPop
→ scenario → interventions → human → deployment → continuous → restrictToSubPop
<restrictToSubPop
id=string
[ complement=boolean ] DEFAULT VALUE false
/>
Documentation (type)
If this element is specified, deployment is restricted to some sub-population (specified via the "id" attribute); otherwise the target population is the entire simulated population. Either way, other deployment restrictions (age, time, number of vaccine doeses) still apply.
Attributes
Sub-population identifier
id=string
The identifier (short name) of the sub-population (i.e. the "id" of some intervention component). Also see the "complement" attribute.
Complement
complement=boolean
Default value: false
If this is not specified or is false, deployment is restricted to the sub-population of people protected by the intervention component who's id is given. If complement is set to true, deployment is instead restricted to the complement of that sub-population, i.e. to those
deploy
→ scenario → interventions → human → deployment → continuous → deploy
<deploy
coverage=double
[ vaccMinPrevDoses=int ]
[ vaccMaxCumDoses=int ]
targetAgeYrs=double
[ begin=string ]
[ end=string ]
/>
Attributes
Coverage
coverage=double
Units: dimensionless Min: 0 Max: 1
Proportion of otherwise eligible individuals who will receive this deployment.
Vaccine min previous doses
vaccMinPrevDoses=int
Units: inoculations Min: 0
Applies to vaccines only: vaccine doses are only deployed by this deployment if the previous number of doses (for the component deployed) is at least this number. For example, if this is the second deployment opportunity for this vaccine and this value is 1, then this deployment cannot deploy the vaccine to individuals who did not receive the first deployment.
Vaccine max cumulative doses
vaccMaxCumDoses=int
Units: inoculations Min: 0
Applies to vaccines only: vaccine doses are only deployed by this deployment if the previous number of doses (for the component deployed) is less than this number.
Target age
targetAgeYrs=double
Units: Years Min: 0 Max: 100
Target age of intervention. Input is rounded to the nearest time step.
First time active
begin=string
Units: User defined (defauls to steps)
First time at which this deployment is active. If not specified, deployment starts at the beginning of the intervention period. See doc on intervention period and on monitoring/startDate for details of how times work. Can be specified in steps, days, years, or as a date (examples: 15t, 75d, 0.2y, 2000-03-16).
End step
end=string
Units: User defined (defauls to steps)
End of the period during which the intervention is active (to be exact, the first step of the intervention period at which the item becomes inactive). If not specified, deployment never ceases after starting during the simulation. See doc on intervention period and on monitoring/startDate for details of how times work. Can be specified in steps, days, years, or as a date (examples: 15t, 75d, 0.2y, 2000-03-16).
Mass (timed) deployment
→ scenario → interventions → human → deployment → timed
<timed>
IN THIS ORDER:
| [ <restrictToSubPop ... /> ]
| [ <cumulativeCoverage ... /> ]
| ( <deploy ... /> )+
</timed>
Documentation (element)
List of timed deployments of the intervention (that is, of deployment campaigns).
Cumulative deployment mode can be specified for all deployments in a timed list. To allow multiple cumulative deployment descriptions, the entire timed list may be repeated.
restrictToSubPop
→ scenario → interventions → human → deployment → timed → restrictToSubPop
<restrictToSubPop
id=string
[ complement=boolean ] DEFAULT VALUE false
/>
Documentation (type)
If this element is specified, deployment is restricted to some sub-population (specified via the "id" attribute); otherwise the target population is the entire simulated population. Either way, other deployment restrictions (age, time, number of vaccine doeses) still apply.
Attributes
Sub-population identifier
id=string
The identifier (short name) of the sub-population (i.e. the "id" of some intervention component). Also see the "complement" attribute.
Complement
complement=boolean
Default value: false
If this is not specified or is false, deployment is restricted to the sub-population of people protected by the intervention component who's id is given. If complement is set to true, deployment is instead restricted to the complement of that sub-population, i.e. to those
Cumulative coverage
→ scenario → interventions → human → deployment → timed → cumulativeCoverage
<cumulativeCoverage
component=string
/>
Documentation (element)
If this element is not specified, standard deployment occurs, where a portion of the population as given by the coverage property of this campaign is selected, and interventions are deployed to all of these people (regardless of previous coverage).
If this attribute is specified, instead, the population is divided into two sets: those who are a member of a certain sub-population and those who are not (see "subPopRemoval" element). If the proportion of people in the first set is less than the desired coverage, then the proportion of people from the second set needed to increase total coverage to the desired coverage is calculated. This proportion is then used as the probablity of selection from the second set into a third set of people who then receive all interventions deployed by this campaign.
Note that selection is stochastic so the final coverage level may not be exactly that desired. Note also that the component used when selecting people need not actually be one of the components deployed by this intervention, although that is the intended use case.
Attributes
Component identifier
component=string
The identifier (short name) of the component used when selecting people.
deploy
→ scenario → interventions → human → deployment → timed → deploy
<deploy
coverage=double
[ vaccMinPrevDoses=int ]
[ vaccMaxCumDoses=int ]
time=string
[ maxAge=double ]
[ minAge=double ] DEFAULT VALUE 0
/>
Attributes
Coverage
coverage=double
Units: dimensionless Min: 0 Max: 1
Proportion of otherwise eligible individuals who will receive this deployment.
Vaccine min previous doses
vaccMinPrevDoses=int
Units: inoculations Min: 0
Applies to vaccines only: vaccine doses are only deployed by this deployment if the previous number of doses (for the component deployed) is at least this number. For example, if this is the second deployment opportunity for this vaccine and this value is 1, then this deployment cannot deploy the vaccine to individuals who did not receive the first deployment.
Vaccine max cumulative doses
vaccMaxCumDoses=int
Units: inoculations Min: 0
Applies to vaccines only: vaccine doses are only deployed by this deployment if the previous number of doses (for the component deployed) is less than this number.
Time
time=string
Units: User defined (defauls to steps) Min: 0
Time at which this deployment occurs. See doc on intervention period and on monitoring/startDate for details of how times work. Can be specified in steps, days, years, or as a date (examples: 15t, 75d, 0.2y, 2000-03-16).
Maximum age of eligible individuals
maxAge=double
Units: Years Min: 0
Maximum age of eligible individuals (defaults to no limit). Input is rounded to the nearest time step.
Minimum age of eligible individuals
minAge=double
Units: Years Min: 0
Default value: 0
Minimum age of eligible individuals (defaults to 0). Input is rounded to the nearest time step.
Health system description
→ scenario → healthSystem
<healthSystem>
IN THIS ORDER:
| EXACTLY ONE OF:
| | <EventScheduler ... />
| | <ImmediateOutcomes ... />
| | <DecisionTree5Day ... />
| <CFR ... />
| <pSequelaeInpatient ... />
</healthSystem>
Documentation (element)
Description of health system.
Documentation (type)
Description of case management system, used to specify the initial model or a replacement (an intervention). Encompasses case management data and some other data required to derive case outcomes.
Contains a sub-element describing the particular health-system in use. Health system data is here defined as data used to decide on a treatment strategy, given a case requiring treatment.
Transmission and vector bionomics
→ scenario → entomology
<entomology
name=string
mode=("forced" or "dynamic")
[ scaledAnnualEIR=double ]
>
IN THIS ORDER:
| EXACTLY ONE OF:
| | <nonVector ... />
| | <vector ... />
</entomology>
Documentation (element)
Description of entomological data
Attributes
Entomology dataset name
name=string
Name of entomology data
Transmission model mode
mode=("forced" or "dynamic")
Transmission simulation mode: may be forced (in which case interventions and changes to human infectiousness cannot affect EIR) or dynamic (in which the above can affect EIR). The full vector model is only used in dynamic mode. This can not be changed by interventions, except for the changeEIR intervention for the non-vector model which replaces the EIR with a new description (used in forced mode).
Override annual EIR
scaledAnnualEIR=double
Units: Infectious bites per adult per year
If set, the annual EIR (for all species of vector) is scaled to this level; can be omitted if not needed.
Transmission setting (vector control not enabled)
→ scenario → entomology → nonVector
<nonVector
eipDuration=int
>
IN THIS ORDER:
| ( <EIRDaily ... /> )+
</nonVector>
Documentation (element)
Description of transmission setting for models without vector control interventions (included for backward compatibility)
Attributes
Duration of sporogony
eipDuration=int
Units: Days
The duration of sporogony in days
Transmission setting (vector control enabled)
→ scenario → entomology → vector
<vector>
IN THIS ORDER:
| ( <anopheles ... /> )+
| ( <nonHumanHosts ... /> )*
</vector>
Documentation (element)
Parameters of the transmission model
anopheles
→ scenario → entomology → vector → anopheles
<anopheles
mosquito=string
propInfected=double
propInfectious=double
>
IN THIS ORDER:
| <seasonality ... />
| <mosq ... />
| [ <lifeCycle ... /> ]
| [ <simpleMPD ... /> ]
| ( <nonHumanHosts ... /> )*
</anopheles>
Documentation (type)
Description of input EIR for one specific vector species in terms of a Fourier approximation to the ln of the EIR during the burn in period
Attributes
Identifier for this anopheles species
mosquito=string
Identifier for this anopheles species
Initial estimate of proportion of mosquitoes infected (ρ_O)
propInfected=double
Units: Proportion Min: 0 Max: 1
Initial guess of the proportion of mosquitoes which are infected, o: O_v(t) = o*N_v(t). Only used as a starting value.
Initial estimate of proportion of mosquitoes infectious (ρ_S)
propInfectious=double
Units: Proportion Min: 0 Max: 1
Initial estimate of the proportion of mosquitoes which are infectious, s: S_v(t) = s*N_v(t). Used as a starting value and then fit.
Seasonality of transmission
→ scenario → entomology → vector → anopheles → seasonality
<seasonality
input=("EIR")
[ annualEIR=double ]
>
IN THIS ORDER:
| EXACTLY ONE OF:
| | <fourierSeries ... />
| | <monthlyValues ... />
| | <dailyValues ... />
</seasonality>
Documentation (element)
Specifies the seasonality of transmission and optionally the level of annual transmission.
Attributes
Seasonality input
input=("EIR")
Specify what seasonality measure is given. At the moment, only EIR is supported, but in the future, all the below should be supported. EIR: seasonality of entomological inoculations is input. Units: entomological inoculations per adult per annum. hostSeeking: seasonality of densities of flying host-seeking mosquitoes is input (in the model this is notated N_v). Units: mosquitoes. emergence: seasonality of emergence pupa into adults. Units: mosquitoes. larvalResources: seasonality of larval resources. Units: X.
Annual EIR
annualEIR=double
Units: Inoculations per adult per annum Min: 0
If this attribute is included, EIR for this species is scaled to this level. Note that if the scaledAnnualEIR attribute of the entomology element is also used, EIR is scaled again, making this attribute the EIR relative to other species. With some seasonality inputs, this attribute is optional, in which case (if scaledAnnualEIR is also not specified) transmission depends on all parameters of the vector. With some seasonality inputs, however, this parameter must be specified.
Fourier approximation to pre-intervention EIR
→ scenario → entomology → vector → anopheles → seasonality → fourierSeries
<fourierSeries
EIRRotateAngle=double
>
IN THIS ORDER:
| ( <coeffic ... /> )*
</fourierSeries>
Documentation (element)
Units: Infectious bites per adult per day
Seasonality is reproduced from the exponential of a fourier series specified by the following coefficients. Note that the a0 term is not needed; the annualEIR attribute of the seasonality element should be used to scale EIR instead.
Attributes
Rotation angle defining the origin of the Fourier approximation to ln (EIR)
EIRRotateAngle=double
Units: Radians
Rotation angle defining the origin of the Fourier approximation to ln (EIR)
Pair of Fourier coefficients
→ scenario → entomology → vector → anopheles → seasonality → fourierSeries → coeffic
<coeffic
a=double
b=double
/>
Documentation (element)
A pair of Fourier series coefficients. The first element specifies a1 and b1, the second a2 and b2, etc. Any number (from 0 up) of pairs may be given.
Attributes
a_n parameter of Fourier approximation to ln(EIR)
a=double
a_n parameter of Fourier approximation to ln(EIR) for some natural number n.
b_n parameter of Fourier approximation to ln(EIR)
b=double
b_n parameter of Fourier approximation to ln(EIR) for some natural number n.
List of monthly values
→ scenario → entomology → vector → anopheles → seasonality → monthlyValues
<monthlyValues
smoothing=("none" or "fourier")
>
IN THIS ORDER:
| ( <value ... /> ){12,12}
</monthlyValues>
Documentation (element)
Description of seasonality from monthly values. Multiple smoothing methods are possible (see smoothing attribute).
List should contain twelve entries: January to December.
Attributes
Smoothing function
smoothing=("none" or "fourier")
How the monthly values are converted into a daily sequence of values:
- none: no smoothing (step function)
- Fourier: a Fourier series (with terms up to a2/b2) is fit to the sequence of monthly values and used to generate a smoothed list of daily values.
Monthly value
→ scenario → entomology → vector → anopheles → seasonality → monthlyValues → value
<value>
double
</value>
Documentation (element)
Units: (see "seasonality input" parameter)
Monthly value
List of daily values
→ scenario → entomology → vector → anopheles → seasonality → dailyValues
<dailyValues>
IN THIS ORDER:
| ( <value ... /> ){365,365}
</dailyValues>
Documentation (element)
Description of seasonality from daily values.
List should contain 365 entries: 1st January to 31st December.
Daily value
→ scenario → entomology → vector → anopheles → seasonality → dailyValues → value
<value>
double
</value>
Documentation (element)
Units: (see "seasonality input" parameter)
Daily value
Mosquito feeding cycle parameters
→ scenario → entomology → vector → anopheles → mosq
<mosq
minInfectedThreshold=double
>
IN ANY ORDER:
| <mosqRestDuration ... />
| <extrinsicIncubationPeriod ... />
| <mosqLaidEggsSameDayProportion ... />
| <mosqSeekingDuration ... />
| <mosqSurvivalFeedingCycleProbability ... />
| <availabilityVariance ... />
| <mosqProbBiting ... />
| <mosqProbFindRestSite ... />
| <mosqProbResting ... />
| <mosqProbOvipositing ... />
| <mosqHumanBloodIndex ... />
</mosq>
- mosqRestDuration
- extrinsicIncubationPeriod
- mosqLaidEggsSameDayProportion
- mosqSeekingDuration
- mosqSurvivalFeedingCycleProbability
- availabilityVariance
- mosqProbBiting
- mosqProbFindRestSite
- mosqProbResting
- mosqProbOvipositing
- mosqHumanBloodIndex
Documentation (element)
Parameters describing the feeding cycle and human mosquito interaction of a single species of anopheles mosquito.
Attributes
Mininum infected threshold for mosquitos
minInfectedThreshold=double
Min: 0
If less than this many mosquitoes remain infected, transmission is interrupted.
Duration of the resting period of the vector
→ scenario → entomology → vector → anopheles → mosq → mosqRestDuration
<mosqRestDuration
value=int
/>
Documentation (element)
Units: Days
name:Duration of the resting period of the vector (days);
Attributes
Input parameter value
value=int
An integer value.
Extrinsic incubation period
→ scenario → entomology → vector → anopheles → mosq → extrinsicIncubationPeriod
<extrinsicIncubationPeriod
value=int
/>
Documentation (element)
Units: Days
name:Extrinsic incubation period (days)
Attributes
Input parameter value
value=int
An integer value.
Proportion of mosquitoes host seeking on same day as ovipositing
→ scenario → entomology → vector → anopheles → mosq → mosqLaidEggsSameDayProportion
<mosqLaidEggsSameDayProportion
value=double
/>
Documentation (element)
Units: Proportion
Proportion of mosquitoes host seeking on same day as ovipositing
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Duration of the host-seeking period of the vector
→ scenario → entomology → vector → anopheles → mosq → mosqSeekingDuration
<mosqSeekingDuration
value=double
/>
Documentation (element)
Units: Days
Duration of the host-seeking period of the vector (days)
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Probability that the mosquito survives the feeding cycle
→ scenario → entomology → vector → anopheles → mosq → mosqSurvivalFeedingCycleProbability
<mosqSurvivalFeedingCycleProbability
value=double
/>
Documentation (element)
Units: Proportion
Probability that the mosquito survives the feeding cycle
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Variance in human availability rate
→ scenario → entomology → vector → anopheles → mosq → availabilityVariance
<availabilityVariance
value=double
/>
Documentation (element)
Variance in availability rate of humans to mosquitoes. The mean rate is calculated based on other parameters.
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Probability that the mosquito succesfully bites chosen host
→ scenario → entomology → vector → anopheles → mosq → mosqProbBiting
<mosqProbBiting
mean=double
variance=double
/>
Documentation (element)
Probability that the mosquito succesfully bites chosen host
Documentation (type)
Parameters of a normal distribution, provided as mean and variance.
Variates are sampled from Be(α,β) where α and β are determined from the mean and variance as follows: let v be the variance and c=mean/(1-mean). Then we set α=cβ and β=((c+1)²v - c)/((c+1)³v).
Attributes
mean
mean=double
Units: none
The mean of the beta distribution (must be in the open range (0,1)).
variance
variance=double
Units: none
The standard deviation of variates.
Probability that the mosquito escapes host and finds a resting place after biting
→ scenario → entomology → vector → anopheles → mosq → mosqProbFindRestSite
<mosqProbFindRestSite
mean=double
variance=double
/>
Documentation (element)
Probability that the mosquito escapes host and finds a resting place after biting
Documentation (type)
Parameters of a normal distribution, provided as mean and variance.
Variates are sampled from Be(α,β) where α and β are determined from the mean and variance as follows: let v be the variance and c=mean/(1-mean). Then we set α=cβ and β=((c+1)²v - c)/((c+1)³v).
Attributes
mean
mean=double
Units: none
The mean of the beta distribution (must be in the open range (0,1)).
variance
variance=double
Units: none
The standard deviation of variates.
Probability of mosquito successfully resting after finding a resting site
→ scenario → entomology → vector → anopheles → mosq → mosqProbResting
<mosqProbResting
mean=double
variance=double
/>
Documentation (element)
Probability of mosquito successfully resting after finding a resting site
Documentation (type)
Parameters of a normal distribution, provided as mean and variance.
Variates are sampled from Be(α,β) where α and β are determined from the mean and variance as follows: let v be the variance and c=mean/(1-mean). Then we set α=cβ and β=((c+1)²v - c)/((c+1)³v).
Attributes
mean
mean=double
Units: none
The mean of the beta distribution (must be in the open range (0,1)).
variance
variance=double
Units: none
The standard deviation of variates.
Probability of a mosquito successfully laying eggs given that it has rested
→ scenario → entomology → vector → anopheles → mosq → mosqProbOvipositing
<mosqProbOvipositing
value=double
/>
Documentation (element)
Probability of a mosquito successfully laying eggs given that it has rested
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Human blood index
→ scenario → entomology → vector → anopheles → mosq → mosqHumanBloodIndex
<mosqHumanBloodIndex
value=double
/>
Documentation (element)
Units: Proportion
The proportion of resting mosquitoes which fed on human blood during the last feed.
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Mosquito life cycle parameters
→ scenario → entomology → vector → anopheles → lifeCycle
<lifeCycle
[ estimatedLarvalResources=double ] DEFAULT VALUE 1e8
>
IN ANY ORDER:
| <eggStage ... />
| <larvalStage ... />
| <pupalStage ... />
| <femaleEggsLaidByOviposit ... />
</lifeCycle>
Documentation (element)
Parameters describing the life-cycle of this species of mosquito
Attributes
Estimate of larval resources
estimatedLarvalResources=double
Units: X
Default value: 1e8
An estimate of mean annual availability of resources to larvae. Used to get the resource usage fitting algorithm going; if the algorithm fails to fit the resource availability then tweaking this parameter may help. In other cases tweaking this parameter shouldn't be necessary. Default value is 10⁸ (1e8). Units are arbitrary but must be the same as those used by the resourceUsage parameter.
Egg stage
→ scenario → entomology → vector → anopheles → lifeCycle → eggStage
<eggStage
duration=int
survival=double
/>
Documentation (element)
Parameters for the egg stage of development
Documentation (type)
Parameters associated with a mosquito development stage.
Attributes
Duration
duration=int
Units: Days
Duration of the stage (i.e. length of time mosquito is an egg/larva/pupa).
Probability of survival
survival=double
Units: Proportion
Probability that mosquito survives this size (probability of egg hatching, a larva becoming a pupa or a pupa emerging as an adult, at the start of that stage).
larvalStage
→ scenario → entomology → vector → anopheles → lifeCycle → larvalStage
<larvalStage>
</larvalStage>
Documentation (type)
Parameters for the larval stage of development
Documentation (base type)
Parameters associated with a mosquito development stage.
Daily development
→ scenario → entomology → vector → anopheles → lifeCycle → larvalStage → daily
<daily
resourceUsage=double
effectCompetition=double
/>
Documentation (element)
List of parameters which apply during the larval stage of development. List length must equal stage duration, with first item corresponding to first 24 hours after hatching, second item to hours 24-48, and so on.
Attributes
Resource usage
resourceUsage=double
Units: X
Resource usage during larval stage of development. Units are arbitrary.
Effect of competition
effectCompetition=double
Units: none
Effect of competition over resources on development.
Pupal stage
→ scenario → entomology → vector → anopheles → lifeCycle → pupalStage
<pupalStage
duration=int
survival=double
/>
Documentation (element)
Parameters for the pupal stage of development
Documentation (type)
Parameters associated with a mosquito development stage.
Attributes
Duration
duration=int
Units: Days
Duration of the stage (i.e. length of time mosquito is an egg/larva/pupa).
Probability of survival
survival=double
Units: Proportion
Probability that mosquito survives this size (probability of egg hatching, a larva becoming a pupa or a pupa emerging as an adult, at the start of that stage).
Eggs laid by ovipositing mosquito
→ scenario → entomology → vector → anopheles → lifeCycle → femaleEggsLaidByOviposit
<femaleEggsLaidByOviposit
value=double
/>
Documentation (element)
Units: Eggs per feeding cycle
The total number of female eggs laid by a female mosquito at the conclusion to a feeding cycle.
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Simple Mosq-Pop-Dynamics parameters
→ scenario → entomology → vector → anopheles → simpleMPD
<simpleMPD>
IN ANY ORDER:
| <developmentDuration ... />
| <developmentSurvival ... />
| <femaleEggsLaidByOviposit ... />
</simpleMPD>
Documentation (element)
Parameters describing the simple mosquito population dynamics model.
This is a simpler version of the life-cycle model, requiring less parameters and with much simpler initialisation.
Duration
→ scenario → entomology → vector → anopheles → simpleMPD → developmentDuration
<developmentDuration
value=int
/>
Documentation (element)
Units: Days Min: 1
Duration from egg laying to emergence in days.
Attributes
Input parameter value
value=int
An integer value.
Probability of survival
→ scenario → entomology → vector → anopheles → simpleMPD → developmentSurvival
<developmentSurvival
value=double
/>
Documentation (element)
Units: Proportion Min: 0 Max: 1
Probability that mosquito survives from the egg being laid to emergence, given no resouce limitations (no density constraints).
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Eggs laid by ovipositing mosquito
→ scenario → entomology → vector → anopheles → simpleMPD → femaleEggsLaidByOviposit
<femaleEggsLaidByOviposit
value=double
/>
Documentation (element)
Units: Eggs per feeding cycle
The total number of female eggs laid by a female mosquito at the conclusion to a feeding cycle.
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Alternative (non-human) host paramters
→ scenario → entomology → vector → anopheles → nonHumanHosts
<nonHumanHosts
name=string
>
IN ANY ORDER:
| <mosqRelativeEntoAvailability ... />
| <mosqProbBiting ... />
| <mosqProbFindRestSite ... />
| <mosqProbResting ... />
</nonHumanHosts>
Documentation (element)
Min: 0
Non human host parameters, per type of host (must match up with non-species-specific parameters).
Attributes
Identifier for this category of non-human hosts
name=string
Identifier for this category of non-human hosts
Relative availability of non-human host (ξ_i)
→ scenario → entomology → vector → anopheles → nonHumanHosts → mosqRelativeEntoAvailability
<mosqRelativeEntoAvailability
value=double
/>
Documentation (element)
Units: Proportion
Relative availability of non-human hosts of type i to other non-human hosts; the sum of this across all non-human hosts must be 1.
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Probability of mosquito successfully biting host
→ scenario → entomology → vector → anopheles → nonHumanHosts → mosqProbBiting
<mosqProbBiting
value=double
/>
Documentation (element)
Units: Proportion
Probability of mosquito successfully biting host
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Probability that the mosquito escapes host and finds a resting place after biting
→ scenario → entomology → vector → anopheles → nonHumanHosts → mosqProbFindRestSite
<mosqProbFindRestSite
value=double
/>
Documentation (element)
Units: Proportion
Probability that the mosquito escapes host and finds a resting place after biting
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Probability of mosquito successfully resting after finding a resting site
→ scenario → entomology → vector → anopheles → nonHumanHosts → mosqProbResting
<mosqProbResting
value=double
/>
Documentation (element)
Units: Proportion
Probability of mosquito successfully resting after finding a resting site
Attributes
Input parameter value
value=double
A double-precision floating-point value.
nonHumanHosts
→ scenario → entomology → vector → nonHumanHosts
<nonHumanHosts
name=string
number=double
/>
Attributes
Species of alternative host
name=string
Name of this species of non human hosts (must match up with those described per anopheles section).
Population size of alternative host species
number=double
Units: Number
Population size of this non-human host.
Parasite genetics
<parasiteGenetics
samplingMode=("initial" or "tracking")
>
IN THIS ORDER:
| ( <locus ... /> )+
</parasiteGenetics>
Documentation (element)
A specification of genotypes of infection parasites.
May be omitted; in this case there is no modelling of genetic differences of infections (resistance, fitness).
Attributes
samplingMode
samplingMode=("initial" or "tracking")
This controls how genotypes are determined for new infections during the intervention period. Prior to this (in initialisation phases), genotypes are always sampled using the specified initial frequencies. Mode "initial" continues to sample genotypes using initial frequencies (i.e. independent of the success of parent generations of parasites). Mode "tracking" samples genotypes based on the success parent generations of parasites have in infecting mosquitoes, tracked per genotype. It is possible that in the future a recombination option will be added to this list, however designing a suitable model is not trivial.
Locus
→ scenario → parasiteGenetics → locus
<locus
name=string
>
IN THIS ORDER:
| ( <allele ... /> )+
</locus>
Documentation (element)
Describes a locus, or a point at which an infection may vary. The genotype of an infection is determined by choosing one allele at each locus. Initial frequencies of alleles are specified independently for each locus, but subsequent infections are selected according to success of genotypes.
Alleles at loci can affect fitness and resistance to any number of drugs.
Attributes
Name of locus
name=string
Name of the Locus
Allele
→ scenario → parasiteGenetics → locus → allele
<allele
name=string
initialFrequency=double
fitness=double
/>
Documentation (element)
Describes an allele, or one possible genetic option of multiple at one point of variance.
Attributes
Name
name=string
Name of the allele; used to refer to it elsewhere.
Initial frequency
initialFrequency=double
Specification of how commonly this allele occurs during warmup relative to other alleles of the same locus. During the simulation's initialisation phases, the frequency at which each allele of each locus occurs is fixed. After the initialisation phase, frequency of alleles is modelled as an emergent property of the success of genotypes.
Fitness factor
fitness=double
Fitness factor of the allele. This is multiplication factor used to speed up or slow down replication of parasites. For example, if a genotype has an allele with a fitness factor of 1 at one locus and another allele with a fitness factor of 0.8 at a second locus, then the parasites with the genotype will replicate 20% slower than the baseline.
Drug parameters (PK, PD and usage)
→ scenario → pharmacology
<pharmacology>
IN THIS ORDER:
| <treatments ... />
| <drugs ... />
</pharmacology>
Documentation (element)
Drug model parameters and drug usage parameters
Documentation (type)
A library of drug related data for the PK/PD model.
Treatments library
→ scenario → pharmacology → treatments
<treatments>
IN THIS ORDER:
| ( <schedule ... /> )+
| ( <dosages ... /> )+
</treatments>
Documentation (element)
A library of drug deployment schedules and dosages.
schedule
→ scenario → pharmacology → treatments → schedule
<schedule
name=string
>
IN THIS ORDER:
| ( <medicate ... /> )*
</schedule>
Documentation (type)
A schedule for the administration of drugs in a course of treatment.
Note that dose sizes are multiplied by some multiplier (see dosages) and the times of all doses may be delayed.
Attributes
Name
name=string
Name for referring to this deployment schedule
medicate
→ scenario → pharmacology → treatments → schedule → medicate
<medicate
drug=string
mg=double
hour=double
[ duration=double ]
/>
Attributes
drug
drug=string
Abbreviated name of drug compound
Drug dose
mg=double
Units: mg or mg/kg
Quantity of drug compound. For oral doses, this should be given in mg, using a separate dosage table to adjust for age/weight. For IV treatment, this should be given in mg/kg without a dosage table.
Time of administration
hour=double
Units: Hours Min: 0
Number of hours past start of timestep this drug dose is administered at (first dose should be at hour 0).
Duration of administration
duration=double
Units: Hours Min: 0
If this attribute is given, use IV administration instead of orally. Specifies the number of hours during which the dose is administered.
dosages
→ scenario → pharmacology → treatments → dosages
<dosages
name=string
>
IN THIS ORDER:
| EXACTLY ONE OF:
| | ( <age ... /> )+
| | ( <bodymass ... /> )+
</dosages>
Documentation (type)
A table for selecting a dose size given an age.
Categories must uniquely cover all ages from birth, with no upper bound. Categories must be listed in order of age, increasing; the first must have lower bound 0. Upper bounds are equal to the lower bound of the next category, (but are exclusive where lower bounds are inclusive); the last category has no upper bound.
Attributes
Name
name=string
Name for referring to this dosage table
age
→ scenario → pharmacology → treatments → dosages → age
<age
lowerbound=double
dose_mult=double
/>
Documentation (type)
Gives a dose multiplier for an age or body mass range.
Attributes
Lower bound (inclusive)
lowerbound=double
Units: years Min: 0
Dose multiplier
dose_mult=double
Min: 0
The dose size given in the schedule (in mg) is multiplied by this value for patients falling into this age range when this dosage table is used.
bodymass
→ scenario → pharmacology → treatments → dosages → bodymass
<bodymass
lowerbound=double
dose_mult=double
/>
Documentation (type)
Gives a dose multiplier for an age or body mass range.
Attributes
Lower bound (inclusive)
lowerbound=double
Units: years Min: 0
Dose multiplier
dose_mult=double
Min: 0
The dose size given in the schedule (in mg) is multiplied by this value for patients falling into this age range when this dosage table is used.
Drug library
→ scenario → pharmacology → drugs
<drugs>
IN THIS ORDER:
| ( <drug ... /> )+
</drugs>
Documentation (element)
A library of drug PK/PD data.
drug
→ scenario → pharmacology → drugs → drug
<drug
abbrev=string
>
IN THIS ORDER:
| <PD ... />
| <PK ... />
</drug>
Documentation (type)
A drug description with PK/PD parameters.
Attributes
abbrev
abbrev=string
PD
→ scenario → pharmacology → drugs → drug → PD
<PD
[ locus=string ]
>
IN THIS ORDER:
| ( <phenotype ... /> )+
</PD>
Attributes
Locus
locus=string
Optional; if present specifies the locus corresponding to this drug's PD phenotypes: each phenotype must then match one of that locus's alleles. Otherwise the drug should specify only one phenotype. There is currently a one-to-many correspondance between loci and drugs.
PD parameters for some allele / resistance phenotype
→ scenario → pharmacology → drugs → drug → PD → phenotype
<phenotype
[ name=string ]
>
IN THIS ORDER:
| ( <restriction ... /> )*
| <max_killing_rate ... />
| <IC50 ... />
| <slope ... />
</phenotype>
Documentation (element)
Pharmaco-Dynamic parameters for some resistance phenotype.
To model resistance to this drug, describe multiple infection phenotypes (with respect to these PD parameters) and list one or more "restrict" elements for each phenotype.
Loci are specified elsewhere. Multiple loci may influence the action of a single drug and each locus may influence multiple drugs.
Attributes
Name of phenotype
name=string
Name of the phenotype; for documentation use only.
Restrict phenotype applicability to certain alleles
→ scenario → pharmacology → drugs → drug → PD → phenotype → restriction
<restriction
onLocus=string
toAllele=string
/>
Documentation (element)
Specifies the mapping from genotype to phenotype. For each drug type, if only one phenotype is present, restrictions need not be specified, but otherwise restrictions must be specified.
The set of loci affecting phenotypes of this drug's action must be fixed for any drug type. Each phenotype must list, for each of these loci, a restriction to one or more alleles under the locus.
Attributes
Locus relevant to the mapping of alleles to this phenotype
onLocus=string
A locus under which only a restricted set of alleles map to this phenotype.
Alleles mapping to this phenotype
toAllele=string
One allele of a locus upon which phenotype choice depends. If multiple alleles under this locus should map to the same phenotype, repeat the whole "restriction onLocus..." element.
Maximal parasite killing rate
→ scenario → pharmacology → drugs → drug → PD → phenotype → max_killing_rate
<max_killing_rate>
double
</max_killing_rate>
Documentation (element)
Units: 1/days Min: 0
k1 — Maximal parasite killing rate.
IC50
→ scenario → pharmacology → drugs → drug → PD → phenotype → IC50
<IC50>
double
</IC50>
Documentation (element)
Units: mg/l Min: 0
Half maximal effect concentration.
Slope of effect curve
→ scenario → pharmacology → drugs → drug → PD → phenotype → slope
<slope>
double
</slope>
Documentation (element)
Units: dimensionless
n — Slope of the concentration effect curve
PK
→ scenario → pharmacology → drugs → drug → PK
<PK>
IN THIS ORDER:
| <negligible_concentration ... />
| <half_life ... />
| <vol_dist ... />
</PK>
Drug concentration considered negligible
→ scenario → pharmacology → drugs → drug → PK → negligible_concentration
<negligible_concentration>
double
</negligible_concentration>
Documentation (element)
Units: mg/l Min: 0
Concentration below which drug's effects are deemed negligible and can be removed from simulation.
drug half-life
→ scenario → pharmacology → drugs → drug → PK → half_life
<half_life>
double
</half_life>
Documentation (element)
Units: days Min: 0
Used to calculate elimination rate (which is: ln(2) / half_life).
Volume of Distribution
→ scenario → pharmacology → drugs → drug → PK → vol_dist
<vol_dist>
double
</vol_dist>
Documentation (element)
Units: l/kg Min: 0
Volume of Distribution
Diagnostic parameters
→ scenario → diagnostics
<diagnostics>
IN THIS ORDER:
| ( <diagnostic ... /> )*
</diagnostics>
Documentation (element)
Diagnostic model parameters
diagnostic
→ scenario → diagnostics → diagnostic
<diagnostic
name=string
[ units=("Other" or "Garki" or "Malariatherapy") ]
>
IN THIS ORDER:
| EXACTLY ONE OF:
| | <deterministic ... />
| | <stochastic ... />
</diagnostic>
Attributes
Name of diagnostic
name=string
Name of this diagnostic (parameterisation). May be used elsewhere in the XML document to refer to this set of diagnostic parameters.
Parasite density units / methodology
units=("Other" or "Garki" or "Malariatherapy")
Parasite densities, as estimated according to standard microscopy methods, the Garki method, and as derived from Malariatherapy data are not equivalent. Internally, a "bias" factor is used to convert values estimated by one methods to values comparable with another (see AJTMHv75 supplement 2 pp20-21). This option allows specification of which methodology the density given in the diagnostic specification is measured with. Values allowed are: Malariatherapy, Garki and Other. If not specified, Other is assumed, unless the GARKI_DENSITY_BIAS model option is used, in which case this option must be specified.
Deterministic detection
→ scenario → diagnostics → diagnostic → deterministic
<deterministic
minDensity=double
/>
Documentation (element)
Specify that an artificial deterministic test is used: outcome is positive if parasite density is at least the minimum given.
Attributes
Minimum detectible density
minDensity=double
Units: parasites/microlitre Min: 0
The minimum density at which parasites can be detected. If 0, the test outcome is always positive.
Non-deterministic detection
→ scenario → diagnostics → diagnostic → stochastic
<stochastic
dens_50=double
specificity=double
/>
Documentation (element)
An improved model of detection which is non-deterministic, including false positive results as well as false negatives.
The probability of a positive outcome is modelled as 1 + s×(x/(x+d) - 1) where x is the parasite density, d is the density at which the test outcome has a 50% chance of being positive, and s is the probability of a positive outcome given no parasites (the specificity).
Some parameterisations:
Microscopy sensitivity/specificity data in Africa; Source: expert opinion — Allan Schapira dens_50 = 20.0 specificity = .75
RDT sensitivity/specificity for Plasmodium falciparum in Africa Source: Murray et al (Clinical Microbiological Reviews, Jan. 2008) dens_50 = 50.0; specificity = .942;
Attributes
Density 50
dens_50=double
Units: parasites/microlitre Min: 0
The density at which the test outcome has a 50% chance of being positive.
Specificity
specificity=double
Units: Dimensionless Min: 0 Max: 1
The probability of a positive test outcome in the absense of parasites.
Model options and parameters
<model>
IN ANY ORDER:
| <ModelOptions ... />
| <clinical ... />
| <human ... />
| [ <vivax ... /> ]
| <parameters ... />
</model>
Documentation (element)
Encapsulation of all parameters which describe the model according to which fitting is done.
Model Options
→ scenario → model → ModelOptions
<ModelOptions>
IN THIS ORDER:
| ( <option ... /> )*
</ModelOptions>
Documentation (element)
All model options (bug fixes, choices between models, etc.).
The list of recognised options can be found in the code at:
include/util/ModelOptions.h and should also be in the wiki.
clinical
<clinical
healthSystemMemory=string
>
IN ANY ORDER:
| [ <NeonatalMortality ... /> ]
| [ <NonMalariaFevers ... /> ]
</clinical>
Documentation (type)
Description of clinical parameters that are related to the health-system description, but which contain data that cannot be changed as part of an intervention and that are not restricted to treatment.
Attributes
Follow-up period during which recurrence is considered a treatment failure
healthSystemMemory=string
Units: User-defined (defaults to steps)
Follow-up period during which a recurrence is considered to be a treatment failure Can be specified in steps (e.g. 6t) or days (e.g. 28d).
Neonatal mortality parameters
→ scenario → model → clinical → NeonatalMortality
<NeonatalMortality
diagnostic=string
/>
Attributes
Diagnostic used to parameterise model
diagnostic=string
The name of a diagnostic used to parameterise the model. Neonatal mortality is derived from malaria patency of a certain sub-population of humans. This is the diagnostic used to asses patency for this purpose. If this is not specified, the monitoring diagnostic is used.
NonMalariaFevers
→ scenario → model → clinical → NonMalariaFevers
<NonMalariaFevers>
IN THIS ORDER:
| <incidence ... />
| [ <prNeedTreatmentNMF ... /> ]
| [ <prNeedTreatmentMF ... /> ]
</NonMalariaFevers>
Documentation (type)
Description of the incidence of non-malaria fever. Non-malaria fevers are only modelled if the NON_MALARIA_FEVERS option is used.
P(NMF)
→ scenario → model → clinical → NonMalariaFevers → incidence
<incidence
[ interpolation=("none" or "linear") ]
>
IN THIS ORDER:
| ( <group ... /> )+
</incidence>
Documentation (element)
Units: Dimensionless Min: 0.0 Max: 1.0
Probability that a non-malaria fever occurs given that no concurrent malaria fever occurs.
Attributes
interpolation
interpolation=("none" or "linear")
Interpolation algorithm. Normally it is desirable for age-based values to be continuous w.r.t. age. By default linear interpolation is used. With all algorithms except "none", the age groups are converted to a set of points centred within each age range. Extra points are added at each end (zero and infinity) to keep value constant at both ends of the function. A zero-length age group may be used as a kind of barrier to adjust the distribution; e.g. with age group boundaries at 15, 20 and 25 years, a (linear) spline would be drawn between ages 17.5 and 22.5, whereas with boundaries at 15, 20 and 20 years, a spline would be drawn between ages 17.5 and 20 years (may be desired if individuals are assumed to reach adult size at 20). Algorithms:
- none: input values are used directly
- linear: straight lines (on an age vs. value graph) are used to interpolate data points.
P(need treatment | NMF)
→ scenario → model → clinical → NonMalariaFevers → prNeedTreatmentNMF
<prNeedTreatmentNMF
[ interpolation=("none" or "linear") ]
>
IN THIS ORDER:
| ( <group ... /> )+
</prNeedTreatmentNMF>
Documentation (element)
Units: Dimensionless Min: 0 Max: 1
Probability that a non-malarial fever requires treatment with antibiotics (assuming fever is not induced by malaria, although concurrent parasites may be present).
Attributes
interpolation
interpolation=("none" or "linear")
Interpolation algorithm. Normally it is desirable for age-based values to be continuous w.r.t. age. By default linear interpolation is used. With all algorithms except "none", the age groups are converted to a set of points centred within each age range. Extra points are added at each end (zero and infinity) to keep value constant at both ends of the function. A zero-length age group may be used as a kind of barrier to adjust the distribution; e.g. with age group boundaries at 15, 20 and 25 years, a (linear) spline would be drawn between ages 17.5 and 22.5, whereas with boundaries at 15, 20 and 20 years, a spline would be drawn between ages 17.5 and 20 years (may be desired if individuals are assumed to reach adult size at 20). Algorithms:
- none: input values are used directly
- linear: straight lines (on an age vs. value graph) are used to interpolate data points.
P(need treatment | MF)
→ scenario → model → clinical → NonMalariaFevers → prNeedTreatmentMF
<prNeedTreatmentMF
[ interpolation=("none" or "linear") ]
>
IN THIS ORDER:
| ( <group ... /> )+
</prNeedTreatmentMF>
Documentation (element)
Units: Dimensionless Min: 0 Max: 1
Probability that a malaria fever needs treatment with antibiotics (assuming fever is induced by malaria, although concurrent bacteria may be present).
Meaning partially overlaps with separate model for comorbidity given malaria.
Attributes
interpolation
interpolation=("none" or "linear")
Interpolation algorithm. Normally it is desirable for age-based values to be continuous w.r.t. age. By default linear interpolation is used. With all algorithms except "none", the age groups are converted to a set of points centred within each age range. Extra points are added at each end (zero and infinity) to keep value constant at both ends of the function. A zero-length age group may be used as a kind of barrier to adjust the distribution; e.g. with age group boundaries at 15, 20 and 25 years, a (linear) spline would be drawn between ages 17.5 and 22.5, whereas with boundaries at 15, 20 and 20 years, a spline would be drawn between ages 17.5 and 20 years (may be desired if individuals are assumed to reach adult size at 20). Algorithms:
- none: input values are used directly
- linear: straight lines (on an age vs. value graph) are used to interpolate data points.
human
<human>
IN THIS ORDER:
| <availabilityToMosquitoes ... />
| [ <weight ... /> ]
</human>
Documentation (type)
Parameters of host models.
Availability to mosquitoes
→ scenario → model → human → availabilityToMosquitoes
<availabilityToMosquitoes
[ interpolation=("none" or "linear") ]
>
IN THIS ORDER:
| ( <group ... /> )+
</availabilityToMosquitoes>
Documentation (element)
Units: None Min: 0 Max: 1
Availability of humans to mosquitoes relative to an adult, categorized by age group
Attributes
interpolation
interpolation=("none" or "linear")
Interpolation algorithm. Normally it is desirable for age-based values to be continuous w.r.t. age. By default linear interpolation is used. With all algorithms except "none", the age groups are converted to a set of points centred within each age range. Extra points are added at each end (zero and infinity) to keep value constant at both ends of the function. A zero-length age group may be used as a kind of barrier to adjust the distribution; e.g. with age group boundaries at 15, 20 and 25 years, a (linear) spline would be drawn between ages 17.5 and 22.5, whereas with boundaries at 15, 20 and 20 years, a spline would be drawn between ages 17.5 and 20 years (may be desired if individuals are assumed to reach adult size at 20). Algorithms:
- none: input values are used directly
- linear: straight lines (on an age vs. value graph) are used to interpolate data points.
Weight
→ scenario → model → human → weight
<weight
[ interpolation=("none" or "linear") ]
multStdDev=double
>
IN THIS ORDER:
| ( <group ... /> )+
</weight>
Documentation (element)
Units: kg Min: 0
By age group data on human weight (mass).
Attributes
interpolation
interpolation=("none" or "linear")
Interpolation algorithm. Normally it is desirable for age-based values to be continuous w.r.t. age. By default linear interpolation is used. With all algorithms except "none", the age groups are converted to a set of points centred within each age range. Extra points are added at each end (zero and infinity) to keep value constant at both ends of the function. A zero-length age group may be used as a kind of barrier to adjust the distribution; e.g. with age group boundaries at 15, 20 and 25 years, a (linear) spline would be drawn between ages 17.5 and 22.5, whereas with boundaries at 15, 20 and 20 years, a spline would be drawn between ages 17.5 and 20 years (may be desired if individuals are assumed to reach adult size at 20). Algorithms:
- none: input values are used directly
- linear: straight lines (on an age vs. value graph) are used to interpolate data points.
Standard deviation
multStdDev=double
Units: None Min: 0
Each human is assigned a weight multiplier from a normal distribution with mean 1 and this standard deviation at birth. His/her weight is this multiplier times the mean from age distribution. A standard deviation of zero for no heterogeneity is valid; a rough value from Tanzanian data is 0.14.
vivax
<vivax>
IN ANY ORDER:
| <probBloodStageInfectiousToMosq ... />
| <numberHypnozoites ... />
| <hypnozoiteReleaseDelayDays ... />
| <bloodStageProtectionLatency ... />
| <bloodStageLengthDays ... />
| <pEventPrimary ... />
| <pEventSecondary ... />
| <pEventIsSevere ... />
</vivax>
- probBloodStageInfectiousToMosq
- numberHypnozoites
- hypnozoiteReleaseDelayDays
- bloodStageProtectionLatency
- bloodStageLengthDays
- pEventPrimary
- pEventSecondary
- pEventIsSevere
probBloodStageInfectiousToMosq
→ scenario → model → vivax → probBloodStageInfectiousToMosq
<probBloodStageInfectiousToMosq
value=double
/>
Attributes
Input parameter value
value=double
A double-precision floating-point value.
numberHypnozoites
→ scenario → model → vivax → numberHypnozoites
<numberHypnozoites
max=int
base=double
/>
Attributes
max
max=int
base
base=double
hypnozoiteReleaseDelayDays
→ scenario → model → vivax → hypnozoiteReleaseDelayDays
<hypnozoiteReleaseDelayDays
min=double
mu=double
sigma=double
/>
Attributes
min
min=double
mu
mu=double
sigma
sigma=double
bloodStageProtectionLatency
→ scenario → model → vivax → bloodStageProtectionLatency
<bloodStageProtectionLatency
value=double
/>
Attributes
Input parameter value
value=double
A double-precision floating-point value.
bloodStageLengthDays
→ scenario → model → vivax → bloodStageLengthDays
<bloodStageLengthDays
weibullScale=double
weibullShape=double
/>
Attributes
weibullScale
weibullScale=double
weibullShape
weibullShape=double
pEventPrimary
→ scenario → model → vivax → pEventPrimary
<pEventPrimary
a=double
b=double
/>
Attributes
a
a=double
b
b=double
pEventSecondary
→ scenario → model → vivax → pEventSecondary
<pEventSecondary
a=double
b=double
/>
Attributes
a
a=double
b
b=double
pEventIsSevere
→ scenario → model → vivax → pEventIsSevere
<pEventIsSevere
value=double
/>
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Parameters of the model of epidemiology
→ scenario → model → parameters
<parameters
interval=int
iseed=int
latentp=string
>
IN THIS ORDER:
| ( <parameter ... /> )+
</parameters>
Documentation (element)
Parameters of the epidemiological model
Attributes
Simulation step
interval=int
Units: Days
Simulation step
Random number seed
iseed=int
Units: Number
Seed for RNG
Pre-erythrocytic latent period
latentp=string
Units: User defined (default: steps) Min: 0 Max: 20
Pre-erythrocytic latent period Can be specified in steps (e.g. 3t) or days (e.g. 15d).
parameter
→ scenario → model → parameters → parameter
<parameter
name=string
number=int
value=double
[ include=boolean ]
/>
Attributes
Name of parameter
name=string
Units: string
Name of parameter
Parameter number
number=int
Units: Number Min: 1 Max: 100
Reference number of input parameter
Parameter value
value=double
Units: Number Min: 0
Parameter value
Sampling indicator
include=boolean
Units: Number Min: 0 Max: 1
True if parameter is to be sampled in optimization runs. Not used in simulator app.
Schema 32 documentation
Generated from: scenario_32.xsd
.
Key:
abc required (one)
[ def ] optional (zero or one)
( ghi )* any number (zero or more)
( jkl )+ at least one
( mno ){2,inf} two or more occurrences
Scenario
→ scenario
<scenario
schemaVersion=int
[ analysisNo=int ]
name=string
[ wuID=int ]
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:om="http://openmalaria.org/schema/scenario_32"
xsi:schemaLocation="http://openmalaria.org/schema/scenario_32 scenario_32.xsd"
>
IN ANY ORDER:
| <demography ... />
| <monitoring ... />
| <interventions ... />
| <healthSystem ... />
| <entomology ... />
| [ <pharmacology ... /> ]
| <model ... />
</scenario>
Documentation (element)
Description of scenario
Attributes
Version of the xml schema
schemaVersion=int
Version of xml schema. If not equal to the current version an error is thrown. Use SchemaTranslator to update xml files.
Reference number of the analysis
analysisNo=int
Units: Number Min: 1 Max: 100000000
Unique identifier of scenario
Name of intervention
name=string
Name of intervention
Work unit identifier
wuID=int
Units: Number Min: 1 Max: 100000000
Work unit ID. Only used to validate checkpointing, to prevent checkpoint cheats.
Human age distribution
→ scenario → demography
<demography
name=string
popSize=int
maximumAgeYrs=double
[ growthRate=double ]
>
IN THIS ORDER:
| <ageGroup ... />
</demography>
Documentation (element)
Description of demography
Attributes
Name of demography data
name=string
Name of demography data
Population size
popSize=int
Units: Count Min: 1 Max: 100000
Population size
Maximum age of simulated humans
maximumAgeYrs=double
Units: Years Min: 0 Max: 100
Maximum age of simulated humans in years
Growth rate of human population
growthRate=double
Units: Number Min: 0 Max: 0
Growth rate of human population. (we should be able to implement this with non-zero values)
Age groups
→ scenario → demography → ageGroup
<ageGroup
lowerbound=double
>
IN THIS ORDER:
| ( <group ... /> )+
</ageGroup>
Documentation (element)
list of age groups included in demography
Documentation (type)
list of age groups included in demography or surveys
Attributes
Lower bound of age group
lowerbound=double
Units: Years Min: 0 Max: 100
Lower bound of age group
group
→ scenario → demography → ageGroup → group
<group
poppercent=double
upperbound=double
/>
Attributes
Percentage in age group
poppercent=double
Units: Percentage Min: 0 Max: 100
Percentage of human population in age group
Upper bound of age group
upperbound=double
Units: Years Min: 0 Max: 100
Upper bound of age group
Measures to be reported
→ scenario → monitoring
<monitoring
name=string
>
IN THIS ORDER:
| [ <continuous ... /> ]
| <SurveyOptions ... />
| <surveys ... />
| <ageGroup ... />
| [ <cohorts ... /> ]
</monitoring>
Documentation (element)
Description of surveys
Attributes
Name of monitoring information
name=string
Name of monitoring data
continuous
→ scenario → monitoring → continuous
<continuous
period=int
[ duringInit=boolean ]
>
IN THIS ORDER:
| ( <option ... /> )*
</continuous>
Attributes
Days between reports
period=int
Units: Days Min: 1 Max: unbounded
Number of timesteps between reports.
During initialization
duringInit=boolean
Units: Days Min: 1 Max: unbounded
Also output during initialization. By default this is disabled (only intervention-period data is output). This should not be used for predictions, but can be useful for model validation. In this mode, 'simulation time' is output as the first column (in addition to 'timestep'), since 'timestep' is dis- continuous across the start of the intervention period.
option
→ scenario → monitoring → continuous → option
<option
name=string
[ value=boolean ] DEFAULT VALUE true
/>
Attributes
Model options required
name=string
Options define different model structures. Option name. Must be one of a strictly defined set. Options are not required to be listed if their default value is desired.
Indicator of whether option is required
value=boolean
Default value: true
Option value (true/false). Each option has a default value used if the option is not listed (usually false but sometimes true).
Name of quantity
→ scenario → monitoring → SurveyOptions
<SurveyOptions>
IN THIS ORDER:
| ( <option ... /> )*
</SurveyOptions>
Documentation (element)
List of all active survey options. See include/Survey.h for a list of supported outputs. Should also be on the wiki.
Survey times (time steps)
→ scenario → monitoring → surveys
<surveys
detectionLimit=double
>
IN THIS ORDER:
| ( <surveyTime ... /> )+
</surveys>
Documentation (element)
Units: list of elements
List of survey times
Attributes
Detection limit for parasitaemia
detectionLimit=double
Units: parasites/microlitre Min: 0
Limit above which a human's infection is reported as patent.
Survey time
→ scenario → monitoring → surveys → surveyTime
<surveyTime>
int
</surveyTime>
Documentation (element)
Units: Number Min: 0
Survey time; 0 means just before start of main sim and is a valid survey-point. Reported data is either from a point-time survey (immediate data) or is collected over the previous year(data from previous timesteps-per-year period). Simulation will end immediately after last survey is taken.
Age groups
→ scenario → monitoring → ageGroup
<ageGroup
lowerbound=double
>
IN THIS ORDER:
| ( <group ... /> )+
</ageGroup>
Documentation (element)
List of age groups included in demography or surveys
Attributes
lower bound of age group
lowerbound=double
Units: Years Min: 0 Max: 100
Lower bound of age group
group
→ scenario → monitoring → ageGroup → group
<group
upperbound=double
/>
Attributes
upper bound of age group
upperbound=double
Units: Years Min: 0 Max: 100
Upper bound of age group
Cohorts
→ scenario → monitoring → cohorts
<cohorts>
IN THIS ORDER:
| ( <subPop ... /> )+
</cohorts>
Documentation (element)
Allows the configuration of multiple cohorts (output segregated according to membership within specific sub-populations).
If this element is omitted, monitoring surveys cover the entire simulated human population.
It does not affect the "continuous" outputs (these never take cohorts into account).
Sub-population
→ scenario → monitoring → cohorts → subPop
<subPop
id=string
number=integer
/>
Documentation (element)
Consider a certain sup-population a cohort, and segregate outputs according to membership. Where multiple sub-populations are listed, segregate output according to all combinations of membership: e.g. if sub-populations A and B are listed, there will be outputs for "member of A and B", "member of A but not B", "B but not A" and "not a member of A or B". Listing n sub-populations implies 2^n sets of outputs (each is further segregated by age groups, survey times and enabled output measures, which could lead to excessive program memory usage and output file size).
To identify outputs, each sub-population has a power of two number as identifier (see "number" attribute). Each of the 2^n output sets is identified by a number: the output set is the output from humans who are members in some set of sub-populations (S1, S2, ...) and not members in some others (T1, T2, ...); the number identifying the set is the sum of the numbers identifying the sets S1, S2, etc.
In the output file, the output set is identified by multiplying this number by 1000 then adding it to the age group column.
Attributes
Sub-population identifier
id=string
Textual identifier for the sub-population (i.e. for an intervention component, since sub-populations are defined as the hosts an intervention component is deployed to).
Sub-population number
number=integer
Units: dimensionless Min: 1 Max: 2097152
Number identifying a sub-population; used to define identifiers of output sets. This number must be a power of 2 (i.e. 1, 2, 4, 8, ...). See documentation of subPop element.
Preventative interventions
<interventions
name=string
>
IN ANY ORDER:
| [ <changeHS ... /> ]
| [ <changeEIR ... /> ]
| [ <importedInfections ... /> ]
| [ <insertR_0Case ... /> ]
| [ <uninfectVectors ... /> ]
| [ <vectorPop ... /> ]
| [ <human ... /> ]
</interventions>
Documentation (element)
List of interventions. Generally these are either point-time distributions of something to some subset of the population, or continuous-time distribution targetting individuals when they reach a certain age.
Attributes
Name of intervention set
name=string
Name of set of interventions
Change health system
→ scenario → interventions → changeHS
<changeHS
[ name=string ]
>
IN THIS ORDER:
| ( <timedDeployment ... /> )*
</changeHS>
Documentation (element)
Changes to the health system
Attributes
Name of intervention
name=string
Name of intervention
timedDeployment
→ scenario → interventions → changeHS → timedDeployment
<timedDeployment
time=int
>
IN THIS ORDER:
| EXACTLY ONE OF:
| | <EventScheduler ... />
| | <ImmediateOutcomes ... />
| <CFR ... />
| <pSequelaeInpatient ... />
</timedDeployment>
Documentation (type)
A complete replacement health system. Replaces all previous properties. (Health system can be replaced multiple times if necessary.)
Documentation (base type)
Description of case management system, used to specify the initial model or a replacement (an intervention). Encompasses case management data and some other data required to derive case outcomes.
Contains a sub-element describing the particular health-system in use. Health system data is here defined as data used to decide on a treatment strategy, given a case requiring treatment.
Attributes
Time
time=int
Units: time-steps Min: 0
Time-step at which this replacement occurs, starting from 0, the first intervention-period time-step.
EventScheduler
→ scenario → healthSystem → EventScheduler
<EventScheduler>
IN THIS ORDER:
| <uncomplicated ... />
| <complicated ... />
| <ClinicalOutcomes ... />
| [ <NonMalariaFevers ... /> ]
</EventScheduler>
uncomplicated
→ scenario → healthSystem → EventScheduler → uncomplicated
<uncomplicated>
IN THIS ORDER:
| <decisions ... />
| <treatments ... />
</uncomplicated>
Documentation (type)
A set of decisions and a set of treatments.
decisions
→ scenario → interventions → human → component → MDA1D → decisions
<decisions>
IN THIS ORDER:
| ( <decision ... /> )*
</decisions>
Documentation (type)
Description of decisions for a case management tree. A generic view of this tree would be that each decision is deterministic, or based on probabilities which may depend on other decisions. Probabilistic decisions are described here.
In general, each decision has a name, a defined set of outcome values, and a set of dependent decisions mentioned by name. The following decisions, with their associated outcomes, are provided by the code (and may not be included here):
- case (uncomplicated only): Returns "UC1" if there is no recent history of a malarial case, or "UC2" if there is.
- result: Dependent on decision "test", this performs a parasite density test. Output is one of "none" (no test performed), "positive", "negative".
The following decisions must be described here:
- test (uncomplicated only): Outputs must be "none", "microscopy" or "RDT" to describe which test the "result" decision uses.
- treatment: Describes which treatment to use. Values aren't restricted but must match up with a treatment described in the corresponding "treatments" section.
- hospitalisation (complicated only): none, immediate or delayed.
decision
→ scenario → interventions → human → component → MDA1D → decisions → decision
<decision
name=string
depends=string
values=string
>
string
</decision>
Documentation (type)
A decision describes rules for choosing between a set of values.
Lexically, it can contain symbols matching "[_.a-zA-Z0-9]+", round brackets: (), braces: {} and colons. Whitespace is ignored except to separate symbols.
Syntactically, it must match one TREE, where SYMBOL is a symbol described above. (Here, "x|y" means x or y, "x+" means x occurs once or more, brackets show grouping.) TREE := BRANCH_SET | OUTCOME BRANCH_SET := BRANCH+ BRANCH := DECISION '(' VALUE ')' ( ':' OUTCOME | '{' TREE '}' ) OUTCOME, DECISION, VALUE := SYMBOL
For each BRANCH_SET each BRANCH must result in the same DECISION. The DECISION must be one of the dependencies mentioned in "depends". This may be:
- another decision, in which case the VALUE immediately following in brackets must correspond to one of its output values. The BRANCH_SET immediately containing this BRANCH must represent each output value of the same decision exactly once, and no parent BRANCH_SET may be for the same DECISION.
- "p": this entry indicates a probabilistic decision. Where the value is a probability, the sum of all values for the BRANCH_SET must be 1 and the decision must be associated directly with OUTCOMEs (not sub-TREEs).
- "age": this entry indicates an age-test. The VALUE must have the form "a-b", indicating that this branch will be taken for individuals aged such that a <= age < b, where a,b are non-negative real numbers or the special value "inf", and a <= b. All VALUEs in the BRANCH_SET must cover all possible (non-negative real) ages, with no overlap (hence, smallest a must be 0 and greatest b must be inf).
Semantically, each OUTCOME must be one of the values associated with this decision.
Attributes
Name of decision
name=string
The name of this decision. The name must match the regular expression "[_a-zA-Z0-9]+"; that is it can only contain letters, digits and _ characters (no spaces, punctuation, etc.).
Preceding decisions
depends=string
A comma-separated list of decisions that must have already been evaluated before the current decision can be evaluated. May be empty. Each decision must be hard-coded or described here. Can include the special decisions "p" and "age", though "age" cannot be combined with any other dependency.
Outcome values
values=string
A comma-separated list of outcome values this decision may have. The name of each value must be of the same form as decision names (i.e. only contain letters, digits and _ characters).
treatments
→ scenario → interventions → human → component → MDA1D → treatments
<treatments>
IN THIS ORDER:
| ( <treatment ... /> )*
</treatments>
Documentation (type)
A list of drug treatment tables. Each should have a name corresponding to one of the "drug" decision's values.
treatment
→ scenario → interventions → human → component → MDA1D → treatments → treatment
<treatment
name=string
>
IN THIS ORDER:
| <schedule ... />
| ( <modifier ... /> )*
</treatment>
Documentation (type)
A description of a base treatment schedule that includes modifiers to handle delays, quality variations, etc.
Attributes
Treatment administered
name=string
Units: string
Name corresponding to one of the drug decision's output values.
schedule
→ scenario → interventions → human → component → MDA1D → treatments → treatment → schedule
<schedule>
IN THIS ORDER:
| ( <medicate ... /> )*
</schedule>
Documentation (type)
The base (unmodified)schedule of drugs administered for this treatment.
medicate
→ scenario → interventions → human → component → MDA1D → treatments → treatment → schedule → medicate
<medicate
drug=string
mg=double
hour=double
[ duration=double ]
/>
Attributes
drug
drug=string
Abbreviated name of drug compound
drug dose
mg=double
Units: mg
Quantity of drug compound
Time of administration
hour=double
Units: Hours Min: 0
Number of hours past start of timestep this drug dose is administered at (first dose should be at hour 0).
Duration of administration
duration=double
Units: Hours Min: 0
If this attribute is given, use IV administration instead of orally. Specifies the number of hours during which the dose is administered.
modifier
→ scenario → interventions → human → component → MDA1D → treatments → treatment → modifier
<modifier
decision=string
>
EXACTLY ONE OF:
| ( <multiplyQty ... /> )*
| ( <delay ... /> )*
| ( <selectTimeRange ... /> )*
</modifier>
Documentation (type)
Units: Choice of elements
A modifier for this treatment, according to the outputs of a decision.
The "decision" attribute must be the name of a known decision. Then, there must be a set of multipyQty, delay or selectTimeRange sub-elements, each of which corresponds to one value output of the decision.
Attributes
Decision
decision=string
Units: string
Specifies the decision that this modifier acts on.
Active ingredient multipliers
→ scenario → interventions → human → component → MDA1D → treatments → treatment → modifier → multiplyQty
<multiplyQty
value=string
effect=string
[ affectsCost=boolean ]
/>
Documentation (element)
Units: Comma-separated list of values
Multiplies the quantity of active ingredients of drugs administered.
The "drugs" attribute is a comma-separated list of all active ingredients administered in the base schedule (each must be listed once) and the content of this element is a comma- separated list of multipliers for each active ingredient, listed in the same order as in the "drugs" attribute. For example, with drugs="A,B" and content="0.5,1" the quantity of drug A is halved while that of B is unchanged.
Attributes
Value of decision
value=string
Specifies a value of the decision to act on.
List of drugs affected
effect=string
Comma-separated list of the effect the modifier has on each drug, in the form DRUG1(EFFECT1),DRUG2(EFFECT2), etc.
Affects cost?
affectsCost=boolean
Units: None
Does this affect the cost? If false, the effective drug usage (w.r.t. cost)is unaffected by this modifier; if true it is. Defaults to true (if omitted). Is meaningless for delays.
Active ingredient delays
→ scenario → interventions → human → component → MDA1D → treatments → treatment → modifier → delay
<delay
value=string
effect=string
[ affectsCost=boolean ]
/>
Documentation (element)
Units: Comma-separated list of values
Delays administration of drugs listed in the base schedule by so many hours.
The "drugs" attribute is a comma-separated list of all active ingredients administered in the base schedule (each must be listed once) and the content of this element is a comma- separated list of delays (in hours) for each active ingredient, listed in the same order as in the "drugs" attribute. E.g. with drugs="A,B" and content "0,6", drug A is administered as in the base schedule while drug B is administered 6 hours later than specified.
Attributes
Value of decision
value=string
Specifies a value of the decision to act on.
List of drugs affected
effect=string
Comma-separated list of the effect the modifier has on each drug, in the form DRUG1(EFFECT1),DRUG2(EFFECT2), etc.
Affects cost?
affectsCost=boolean
Units: None
Does this affect the cost? If false, the effective drug usage (w.r.t. cost)is unaffected by this modifier; if true it is. Defaults to true (if omitted). Is meaningless for delays.
Active ingredient time-ranges
→ scenario → interventions → human → component → MDA1D → treatments → treatment → modifier → selectTimeRange
<selectTimeRange
value=string
effect=string
[ affectsCost=boolean ]
/>
Documentation (element)
Selects which drug doses to administer according to time of administration (before times are modified by delays). Half-open interval: [x,y)
The "drugs" attribute is a comma-separated list of all active ingredients administered in the base schedule (each must be listed once) and the content of this element is a comma- separated list of time-ranges (in hours) for each active ingredient, listed in the same order as in the "drugs" attribute. The time-ranges should be of the form x-y and are interpreted as the half-open interval [x,y); that is a drug listed with time t will only be administered if x <= t < y.
Attributes
Value of decision
value=string
Specifies a value of the decision to act on.
List of drugs affected
effect=string
Comma-separated list of the effect the modifier has on each drug, in the form DRUG1(EFFECT1),DRUG2(EFFECT2), etc.
Affects cost?
affectsCost=boolean
Units: None
Does this affect the cost? If false, the effective drug usage (w.r.t. cost)is unaffected by this modifier; if true it is. Defaults to true (if omitted). Is meaningless for delays.
complicated
→ scenario → healthSystem → EventScheduler → complicated
<complicated>
IN THIS ORDER:
| <decisions ... />
| <treatments ... />
</complicated>
Documentation (type)
A set of decisions and a set of treatments.
ClinicalOutcomes
→ scenario → healthSystem → EventScheduler → ClinicalOutcomes
<ClinicalOutcomes>
IN THIS ORDER:
| <maxUCSeekingMemory ... />
| <uncomplicatedCaseDuration ... />
| <complicatedCaseDuration ... />
| <complicatedRiskDuration ... />
| ( <dailyPrImmUCTS ... /> )+
</ClinicalOutcomes>
- maxUCSeekingMemory
- uncomplicatedCaseDuration
- complicatedCaseDuration
- complicatedRiskDuration
- dailyPrImmUCTS
Documentation (type)
Description of base parameters of the clinical model.
Max UC treatment-seeking memory
→ scenario → healthSystem → EventScheduler → ClinicalOutcomes → maxUCSeekingMemory
<maxUCSeekingMemory>
int
</maxUCSeekingMemory>
Documentation (element)
Units: Days Min: 0 Max: unbounded
Maximum number of timesteps (including first day of case) that an individual with an uncomplicated case of malaria will remember he/she was sick before resetting.
Uncomplicated case duration
→ scenario → healthSystem → EventScheduler → ClinicalOutcomes → uncomplicatedCaseDuration
<uncomplicatedCaseDuration>
int
</uncomplicatedCaseDuration>
Documentation (element)
Units: Days Min: 1 Max: unbounded
Fixed length of an uncomplicated case of malarial or non-malarial sickness (from treatment seeking until return to life-as-usual). Usually 3.
Complicated case duration
→ scenario → healthSystem → EventScheduler → ClinicalOutcomes → complicatedCaseDuration
<complicatedCaseDuration>
int
</complicatedCaseDuration>
Documentation (element)
Units: Days Min: 1 Max: unbounded
Fixed length of a complicated or severe case of malaria (from treatment seeking until return to life-as-usual).
Complicated risk duration
→ scenario → healthSystem → EventScheduler → ClinicalOutcomes → complicatedRiskDuration
<complicatedRiskDuration>
int
</complicatedRiskDuration>
Documentation (element)
Units: Days Min: 1 Max: unbounded
Number of days for which humans are at risk of death during a severe or complicated case of malaria. Cannot be greater than the duration of a complicated case or less than 1 day.
Daily probability of immediate treatment seeking for uncomplicated cases
→ scenario → healthSystem → EventScheduler → ClinicalOutcomes → dailyPrImmUCTS
<dailyPrImmUCTS>
double
</dailyPrImmUCTS>
Documentation (element)
Units: Dimensionless Min: 0.0 Max: 1.0
It is sometimes desirable to model delays to treatment-seeking in uncomplicated cases. While treatment of drugs can be delayed within case management trees to provide a similar effect, this doesn't delay any of the decisions, including diagnostics using the current parasite density.
Instead a list of dailyPrImmUCTS elements can be used, describing successive daily probabilities of treatment (sum must be 1). For example, with a list of two elements with values 0.8 and 0.2, for 80% of UC cases the decision tree is evaluated immediately, and for 20% of cases evaluation is delayed by one day.
For no delay, use one element with a value of 1.
NonMalariaFevers
→ scenario → healthSystem → EventScheduler → NonMalariaFevers
<NonMalariaFevers>
IN THIS ORDER:
| <prTreatment ... />
| <effectNegativeTest ... />
| <effectPositiveTest ... />
| <effectNeed ... />
| <effectInformal ... />
| <CFR ... />
| <TreatmentEfficacy ... />
</NonMalariaFevers>
Documentation (type)
Description of non-malaria fever health-system modelling (treatment, outcomes and costing). Incidence is described by the model->clinical->NonMalariaFevers element. Non-malaria fevers are only modelled if the NON_MALARIA_FEVERS option is used.
As further explanation of the parameters below, we first take: β₀ = logit(P₀) - β₃·P(need), and then calculate the probability of antibiotic administration, P(AB), dependent on treatment seeking location. No seeking: P(AB) = 0 Informal sector: logit(P(AB)) = β₀ + β₄ Health facility: logit(P(AB)) = β₀ + β₁·I(neg) + β₂·I(pos) + β₃·I(need) (where I(X) is 1 when event X is true and 0 otherwise, logit(p)=log(p/(1-p)), event "need" is the event that death may occur without treatment, events "neg" and "pos" are the events that a malaria parasite diagnositic was used and indicated no parasites and parasites respectively).
P(treatment|no diagnostic)
→ scenario → healthSystem → EventScheduler → NonMalariaFevers → prTreatment
<prTreatment>
double
</prTreatment>
Documentation (element)
Units: Dimensionless Min: 0.0 Max: 1.0
Probability of a non-malaria fever being treated with an antibiotic given that no malaria diagnostic was used but independent of need. Symbol: P₀.
Effect of a negative test
→ scenario → healthSystem → EventScheduler → NonMalariaFevers → effectNegativeTest
<effectNegativeTest>
double
</effectNegativeTest>
Documentation (element)
The effect of a negative malaria diagnostic on the odds ratio of receiving antibiotics. Symbol: exp(β₁).
Effect of a positive test
→ scenario → healthSystem → EventScheduler → NonMalariaFevers → effectPositiveTest
<effectPositiveTest>
double
</effectPositiveTest>
Documentation (element)
The effect of a positive malaria diagnostic on the odds ratio of receiving antibiotics. Symbol: exp(β₂).
Effect of need
→ scenario → healthSystem → EventScheduler → NonMalariaFevers → effectNeed
<effectNeed>
double
</effectNeed>
Documentation (element)
The effect of needing antibiotic treatment on the odds ratio of receiving antibiotics. Symbol: exp(β₃).
Effect of informal provider
→ scenario → healthSystem → EventScheduler → NonMalariaFevers → effectInformal
<effectInformal>
double
</effectInformal>
Documentation (element)
The effect of seeking treatment from an informal provider (i.e. a provider untrained in NMF diagnosis) on the odds ratio of receiving antibiotics. Symbol: exp(β₄)
Case fatality rate
→ scenario → healthSystem → EventScheduler → NonMalariaFevers → CFR
<CFR
[ interpolation=("none" or "linear") ]
>
IN THIS ORDER:
| ( <group ... /> )+
</CFR>
Documentation (element)
Units: Dimensionless Min: 0.0 Max: 1.0
Base case fatality rate for non-malaria fevers (probability of death from a fever requiring antibiotic treatment given that no antibiotic treatment is received, per age-group).
Attributes
interpolation
interpolation=("none" or "linear")
Interpolation algorithm. Normally it is desirable for age-based values to be continuous w.r.t. age. By default linear interpolation is used. With all algorithms except "none", the age groups are converted to a set of points centred within each age range. Extra points are added at each end (zero and infinity) to keep value constant at both ends of the function. A zero-length age group may be used as a kind of barrier to adjust the distribution; e.g. with age group boundaries at 15, 20 and 25 years, a (linear) spline would be drawn between ages 17.5 and 22.5, whereas with boundaries at 15, 20 and 20 years, a spline would be drawn between ages 17.5 and 20 years (may be desired if individuals are assumed to reach adult size at 20). Algorithms:
- none: input values are used directly
- linear: straight lines (on an age vs. value graph) are used to interpolate data points.
age group
→ scenario → healthSystem → CFR → group
<group
value=double
lowerbound=double
/>
Documentation (element)
A series of values according to age groups, each specified with a lower-bound and a value. The first lower-bound specified must be zero; a final upper-bound of infinity is added to complete the last age group. At least one age group is required. Normally these are interpolated by a continuous function (see interpolation attribute).
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Lower bound
lowerbound=double
Units: Years Min: 0 Max: 100
Lower bound of age group
Treatment efficacy
→ scenario → healthSystem → EventScheduler → NonMalariaFevers → TreatmentEfficacy
<TreatmentEfficacy>
double
</TreatmentEfficacy>
Documentation (element)
Units: Dimensionless Min: 0.0 Max: 1.0
Probability that treatment would prevent a death (i.e. CFR is multiplied by one minus this when treatment occurs).
ImmediateOutcomes
→ scenario → healthSystem → ImmediateOutcomes
<ImmediateOutcomes
name=string
[ useDiagnosticUC=boolean ] DEFAULT VALUE false
>
IN THIS ORDER:
| <drugRegimen ... />
| <initialACR ... />
| <compliance ... />
| <nonCompliersEffective ... />
| <treatmentActions ... />
| <pSeekOfficialCareUncomplicated1 ... />
| <pSelfTreatUncomplicated ... />
| <pSeekOfficialCareUncomplicated2 ... />
| <pSeekOfficialCareSevere ... />
| [ <primaquine ... /> ]
</ImmediateOutcomes>
- drugRegimen
- initialACR
- compliance
- nonCompliersEffective
- treatmentActions
- pSeekOfficialCareUncomplicated1
- pSelfTreatUncomplicated
- pSeekOfficialCareUncomplicated2
- pSeekOfficialCareSevere
- primaquine
Documentation (type)
Description of "immediate outcomes" health system: Tediosi et al case management model (Case management as described in AJTMH 75 (suppl 2) pp90-103).
Attributes
Case Management model
name=string
Name of health system
useDiagnosticUC
useDiagnosticUC=boolean
Default value: false
Description of drug regimen
→ scenario → healthSystem → ImmediateOutcomes → drugRegimen
<drugRegimen
firstLine=string
secondLine=string
inpatient=string
/>
Documentation (element)
Description of drug regimen.
Attributes
First line drug
firstLine=string
Units: Drug code
Code for first line drug
Second line drug
secondLine=string
Units: Drug code
Code for second line drug
Drug use for treating inpatients
inpatient=string
Units: Drug code
Code for drug used for treating inpatients
Initial cure rate
→ scenario → healthSystem → ImmediateOutcomes → initialACR
<initialACR>
IN THIS ORDER:
| [ <CQ ... /> ]
| [ <SP ... /> ]
| [ <AQ ... /> ]
| [ <SPAQ ... /> ]
| [ <ACT ... /> ]
| [ <QN ... /> ]
| <selfTreatment ... />
</initialACR>
Documentation (element)
Units: Dimensionless Min: 0.0 Max: 1.0
Initial cure rate
Chloroquine
→ scenario → healthSystem → ImmediateOutcomes → initialACR → CQ
<CQ
value=double
/>
Documentation (element)
Chloroquine
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Sulphadoxine-pyrimethamine
→ scenario → healthSystem → ImmediateOutcomes → initialACR → SP
<SP
value=double
/>
Documentation (element)
Sulphadoxine-pyrimethamine
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Amodiaquine
→ scenario → healthSystem → ImmediateOutcomes → initialACR → AQ
<AQ
value=double
/>
Documentation (element)
Amodiaquine
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Sulphadoxine-pyrimethamine/Amodiaquine
→ scenario → healthSystem → ImmediateOutcomes → initialACR → SPAQ
<SPAQ
value=double
/>
Documentation (element)
Sulphadoxine-pyrimethamine/Amodiaquine
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Artemisinine combination therapy
→ scenario → healthSystem → ImmediateOutcomes → initialACR → ACT
<ACT
value=double
/>
Documentation (element)
Artemisinine combination therapy
Attributes
Input parameter value
value=double
A double-precision floating-point value.
QN
→ scenario → healthSystem → ImmediateOutcomes → initialACR → QN
<QN
value=double
/>
Documentation (element)
Quinine
Attributes
Input parameter value
value=double
A double-precision floating-point value.
selfTreatment
→ scenario → healthSystem → ImmediateOutcomes → initialACR → selfTreatment
<selfTreatment
value=double
/>
Documentation (element)
Units: Dimensionless Min: 0 Max: 1name:P(self-treat)
Probability of self-treatment
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Adherence to treatment
→ scenario → healthSystem → ImmediateOutcomes → compliance
<compliance>
IN THIS ORDER:
| [ <CQ ... /> ]
| [ <SP ... /> ]
| [ <AQ ... /> ]
| [ <SPAQ ... /> ]
| [ <ACT ... /> ]
| [ <QN ... /> ]
| <selfTreatment ... />
</compliance>
Documentation (element)
Units: Dimensionless Min: 0.0 Max: 1.0
Adherence to treatment
Effectiveness of treatment in non-adherent patients
→ scenario → healthSystem → ImmediateOutcomes → nonCompliersEffective
<nonCompliersEffective>
IN THIS ORDER:
| [ <CQ ... /> ]
| [ <SP ... /> ]
| [ <AQ ... /> ]
| [ <SPAQ ... /> ]
| [ <ACT ... /> ]
| [ <QN ... /> ]
| <selfTreatment ... />
</nonCompliersEffective>
Documentation (element)
Units: Dimensionless Min: 0.0 Max: 1.0
Effectiveness of treatment for non-compliant patients
treatmentActions
→ scenario → healthSystem → ImmediateOutcomes → treatmentActions
<treatmentActions>
IN ANY ORDER:
| [ <CQ ... /> ]
| [ <SP ... /> ]
| [ <AQ ... /> ]
| [ <SPAQ ... /> ]
| [ <ACT ... /> ]
| [ <QN ... /> ]
</treatmentActions>
CQ
→ scenario → healthSystem → ImmediateOutcomes → treatmentActions → CQ
<CQ
[ name=string ]
>
IN THIS ORDER:
| ( <deploy ... /> )*
</CQ>
Documentation (type)
Describes the effects of the treatment, assuming this compliance/adherence/... option is selected. Effects are described in terms of a list of options, each of which acts independently but with all effects being activated simultaneously.
Documentation (base type)
Lists intervention components which are deployed according to some external trigger (for example, screening with a negative patency outcome or health-system treatment).
Components are referenced from one or more sub-lists. Each of these lists is deployed independently if and only if its age constraints are met by the human host and a random sample with the given probability of a positive outcome is positive.
Attributes
Name
name=string
Describes what this compliance option represents (e.g. "good compliance", "poor compliance with good drugs", ...).
deploy
→ scenario → interventions → human → component → screen → positive → deploy
<deploy
[ maxAge=double ]
[ minAge=double ] DEFAULT VALUE 0
[ p=double ] DEFAULT VALUE 1
>
IN THIS ORDER:
| ( <component ... /> )+
</deploy>
Attributes
Maximum age of eligible humans
maxAge=double
Units: Years Min: 0
Maximum age of eligible humans (defaults to no limit)
Minimum age of eligible humans
minAge=double
Units: Years Min: 0
Default value: 0
Minimum age of eligible humans (defaults to 0)
Probability of delivery to eligible humans
p=double
Units: dimensionless Min: 0 Max: 1
Default value: 1
Probability of this list of components being deployed, given that other constraints are met.
component
→ scenario → interventions → human → component → screen → positive → deploy → component
<component
id=string
/>
Documentation (type)
The list of components deployed to eligible humans.
Attributes
Identifier
id=string
The identifier (short name) of a component.
Prophylactic treatment
→ scenario → healthSystem → ImmediateOutcomes → treatmentActions → CQ → clearInfections
<clearInfections
timesteps=int
stage=("liver" or "blood" or "both")
/>
Documentation (element)
This clears infections according to several options: it can clear all blood stage infections, all liver stage infections or both, and it can act on multiple timesteps. To have a probability of no action add another treatment option (which does nothing) and set the probabilities of selection appropriately.
This allows immediate (legacy) or delayed action, a prophylactic period, and selection of which stages are targeted. It is a simple model but appropriate enough for use with the five day timestep when assuming no resistance and that drug failure is mainly caused by bad drugs or compliance.
The old treatment action for the five-day timestep model is essentially this, with immediateAction (timesteps=-1) and stage=both, except for the IPT model's SP action, which was more like with timesteps>1 and stage=blood.
Attributes
Length of effect
timesteps=int
Units: Timesteps Min: -1
The number of timesteps during which this action remains in effect (e.g. 2 means clear infections during the next two timestep updates). Full clearance of the targeted stages occurs during this time. A special value of -1 means act immediately (retrospectively); this the old behaviour. A value of 1 means act on the next timestep only. Both of these can be thought of as a model for short-acting effective drug treatment; the main differences are that the latter means parasite densities will remain high from the point of view of surveys and diagnostics (i.e. mass screen and treat) used before the next timestep and that the latter will also remove infections starting the next timestep. Arguably the latter is a better model, but the differences are perhaps small, excepting where immediate treatment of fevers (i.e. through the health system) can hide high parasite densities from reporting and mass-screen-and-treat diagnostics. For use by interventions, the latter model has nicer behaviour in that the order of deployment of multiple interventions deployed at the same time does not matter, and that the former model retrospectively treats infections which may already have caused fever, thus may have a lower health impact than it should. It is recommended to use the new model (value 1, or greater than 1 if prophylactic effect is desired) unless wanting to emulate the old behaviour. Values of 0 or less than -1 are not allowed.
Target stage
stage=("liver" or "blood" or "both")
Controls whether liver-stage or blood-stage infections are cleared, or both. Infections are considered liver-stage for one 5-day timestep, blood-stage but pre-patent for some number of timesteps (latentp - 1), then start the patent blood stage. If stage is set to "liver", infections are only cleared during their first timestep; if stage is set to "blood", infections are cleared during pre-patent and patent blood stages; if stage is set to "both" all infections are cleared. The old behaviour (oddly considering the drugs it is meant to emulate) is to clear both stages, except for the IPT model of SP action, which cleared only patent blood-stage infections.
SP
→ scenario → healthSystem → ImmediateOutcomes → treatmentActions → SP
<SP
[ name=string ]
>
IN THIS ORDER:
| ( <deploy ... /> )*
</SP>
Documentation (type)
Describes the effects of the treatment, assuming this compliance/adherence/... option is selected. Effects are described in terms of a list of options, each of which acts independently but with all effects being activated simultaneously.
Documentation (base type)
Lists intervention components which are deployed according to some external trigger (for example, screening with a negative patency outcome or health-system treatment).
Components are referenced from one or more sub-lists. Each of these lists is deployed independently if and only if its age constraints are met by the human host and a random sample with the given probability of a positive outcome is positive.
Attributes
Name
name=string
Describes what this compliance option represents (e.g. "good compliance", "poor compliance with good drugs", ...).
AQ
→ scenario → healthSystem → ImmediateOutcomes → treatmentActions → AQ
<AQ
[ name=string ]
>
IN THIS ORDER:
| ( <deploy ... /> )*
</AQ>
Documentation (type)
Describes the effects of the treatment, assuming this compliance/adherence/... option is selected. Effects are described in terms of a list of options, each of which acts independently but with all effects being activated simultaneously.
Documentation (base type)
Lists intervention components which are deployed according to some external trigger (for example, screening with a negative patency outcome or health-system treatment).
Components are referenced from one or more sub-lists. Each of these lists is deployed independently if and only if its age constraints are met by the human host and a random sample with the given probability of a positive outcome is positive.
Attributes
Name
name=string
Describes what this compliance option represents (e.g. "good compliance", "poor compliance with good drugs", ...).
SPAQ
→ scenario → healthSystem → ImmediateOutcomes → treatmentActions → SPAQ
<SPAQ
[ name=string ]
>
IN THIS ORDER:
| ( <deploy ... /> )*
</SPAQ>
Documentation (type)
Describes the effects of the treatment, assuming this compliance/adherence/... option is selected. Effects are described in terms of a list of options, each of which acts independently but with all effects being activated simultaneously.
Documentation (base type)
Lists intervention components which are deployed according to some external trigger (for example, screening with a negative patency outcome or health-system treatment).
Components are referenced from one or more sub-lists. Each of these lists is deployed independently if and only if its age constraints are met by the human host and a random sample with the given probability of a positive outcome is positive.
Attributes
Name
name=string
Describes what this compliance option represents (e.g. "good compliance", "poor compliance with good drugs", ...).
ACT
→ scenario → healthSystem → ImmediateOutcomes → treatmentActions → ACT
<ACT
[ name=string ]
>
IN THIS ORDER:
| ( <deploy ... /> )*
</ACT>
Documentation (type)
Describes the effects of the treatment, assuming this compliance/adherence/... option is selected. Effects are described in terms of a list of options, each of which acts independently but with all effects being activated simultaneously.
Documentation (base type)
Lists intervention components which are deployed according to some external trigger (for example, screening with a negative patency outcome or health-system treatment).
Components are referenced from one or more sub-lists. Each of these lists is deployed independently if and only if its age constraints are met by the human host and a random sample with the given probability of a positive outcome is positive.
Attributes
Name
name=string
Describes what this compliance option represents (e.g. "good compliance", "poor compliance with good drugs", ...).
QN
→ scenario → healthSystem → ImmediateOutcomes → treatmentActions → QN
<QN
[ name=string ]
>
IN THIS ORDER:
| ( <deploy ... /> )*
</QN>
Documentation (type)
Describes the effects of the treatment, assuming this compliance/adherence/... option is selected. Effects are described in terms of a list of options, each of which acts independently but with all effects being activated simultaneously.
Documentation (base type)
Lists intervention components which are deployed according to some external trigger (for example, screening with a negative patency outcome or health-system treatment).
Components are referenced from one or more sub-lists. Each of these lists is deployed independently if and only if its age constraints are met by the human host and a random sample with the given probability of a positive outcome is positive.
Attributes
Name
name=string
Describes what this compliance option represents (e.g. "good compliance", "poor compliance with good drugs", ...).
Probability that a patient with uncomplicated disease seeks official care immediately.
→ scenario → healthSystem → ImmediateOutcomes → pSeekOfficialCareUncomplicated1
<pSeekOfficialCareUncomplicated1
value=double
/>
Documentation (element)
Units: Dimensionless Min: 0.0 Max: 1.0
Probability that a patient with newly incident uncomplicated disease seeks official care
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Probability that a patient with uncomplicated disease will self-treat.
→ scenario → healthSystem → ImmediateOutcomes → pSelfTreatUncomplicated
<pSelfTreatUncomplicated
value=double
/>
Documentation (element)
Units: Dimensionless Min: 0.0 Max: 1.0
Probability that a patient with uncomplicated disease will self-treat
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Probability that a recurring patient seeks official care
→ scenario → healthSystem → ImmediateOutcomes → pSeekOfficialCareUncomplicated2
<pSeekOfficialCareUncomplicated2
value=double
/>
Documentation (element)
Units: Dimensionless Min: 0.0 Max: 1.0
Probability that a patient with recurrence of uncomplicated disease seeks official care
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Probability that a patient with severe disease obtains appropriate care
→ scenario → healthSystem → ImmediateOutcomes → pSeekOfficialCareSevere
<pSeekOfficialCareSevere
value=double
/>
Documentation (element)
Units: Dimensionless Min: 0.0 Max: 1.0
Probability that a patient with severe disease obtains appropriate care
Attributes
Input parameter value
value=double
A double-precision floating-point value.
primaquine
→ scenario → healthSystem → ImmediateOutcomes → primaquine
<primaquine>
IN ANY ORDER:
| <pHumanCannotReceive ... />
| <pUseUncomplicated ... />
| <effectivenessOnUse ... />
</primaquine>
pHumanCannotReceive
→ scenario → healthSystem → ImmediateOutcomes → primaquine → pHumanCannotReceive
<pHumanCannotReceive
value=double
/>
Attributes
Input parameter value
value=double
A double-precision floating-point value.
pUseUncomplicated
→ scenario → healthSystem → ImmediateOutcomes → primaquine → pUseUncomplicated
<pUseUncomplicated
value=double
/>
Attributes
Input parameter value
value=double
A double-precision floating-point value.
effectivenessOnUse
→ scenario → healthSystem → ImmediateOutcomes → primaquine → effectivenessOnUse
<effectivenessOnUse
value=double
/>
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Case fatality rate for inpatients
→ scenario → healthSystem → CFR
<CFR
[ interpolation=("none" or "linear") ]
>
IN THIS ORDER:
| ( <group ... /> )+
</CFR>
Documentation (element)
Case fatality rate (probability of an inpatient fatality from a bout of severe malaria, per age-group).
Attributes
interpolation
interpolation=("none" or "linear")
Interpolation algorithm. Normally it is desirable for age-based values to be continuous w.r.t. age. By default linear interpolation is used. With all algorithms except "none", the age groups are converted to a set of points centred within each age range. Extra points are added at each end (zero and infinity) to keep value constant at both ends of the function. A zero-length age group may be used as a kind of barrier to adjust the distribution; e.g. with age group boundaries at 15, 20 and 25 years, a (linear) spline would be drawn between ages 17.5 and 22.5, whereas with boundaries at 15, 20 and 20 years, a spline would be drawn between ages 17.5 and 20 years (may be desired if individuals are assumed to reach adult size at 20). Algorithms:
- none: input values are used directly
- linear: straight lines (on an age vs. value graph) are used to interpolate data points.
Probabilities of sequelae in inpatients
→ scenario → healthSystem → pSequelaeInpatient
<pSequelaeInpatient
[ interpolation=("none" or "linear") ]
>
IN THIS ORDER:
| ( <group ... /> )+
</pSequelaeInpatient>
Documentation (element)
Units: Dimensionless
List of age-specific probabilities of sequelae in inpatients, during a severe bout of malaria.
Attributes
interpolation
interpolation=("none" or "linear")
Interpolation algorithm. Normally it is desirable for age-based values to be continuous w.r.t. age. By default linear interpolation is used. With all algorithms except "none", the age groups are converted to a set of points centred within each age range. Extra points are added at each end (zero and infinity) to keep value constant at both ends of the function. A zero-length age group may be used as a kind of barrier to adjust the distribution; e.g. with age group boundaries at 15, 20 and 25 years, a (linear) spline would be drawn between ages 17.5 and 22.5, whereas with boundaries at 15, 20 and 20 years, a spline would be drawn between ages 17.5 and 20 years (may be desired if individuals are assumed to reach adult size at 20). Algorithms:
- none: input values are used directly
- linear: straight lines (on an age vs. value graph) are used to interpolate data points.
Change transmission levels
→ scenario → interventions → changeEIR
<changeEIR
[ name=string ]
>
IN THIS ORDER:
| ( <timedDeployment ... /> )*
</changeEIR>
Documentation (element)
New description of transmission level for models not supporting vector control interventions. Use of this overrides previous transmission levels such that human infectiousness no longer has any feedback effect on transmission. Supplied EIR data must last until end of simulation.
Attributes
Name of intervention
name=string
Name of intervention
timedDeployment
→ scenario → interventions → changeEIR → timedDeployment
<timedDeployment
eipDuration=int
time=int
>
IN THIS ORDER:
| ( <EIRDaily ... /> )+
</timedDeployment>
Documentation (type)
Replacement transmission levels. Disables feedback of human infectiousness to mosquitoes on further mosquito to human transmission. Must last until end of simulation.
Attributes
Duration of sporogony
eipDuration=int
Units: Days
The duration of sporogony in days
Time
time=int
Units: time-steps Min: 0
Time-step at which this replacement occurs, starting from 0, the first intervention-period time-step.
EIRDaily
→ scenario → entomology → nonVector → EIRDaily
<EIRDaily
[ origin=string ]
>
double
</EIRDaily>
Documentation (type)
Units: Infectious bites per adult per day
In the non-vector model, EIR is input as a sequence of daily values. There must be at least one years' worth of entries (365), and if there are more, values are wrapped and averaged (i.e. value for first day of year is taken as the mean of values for days 0, 365+0, 2*365+0, etc.).
Attributes
Time origin of EIR sequence
origin=string
Imported infections
→ scenario → interventions → importedInfections
<importedInfections
[ name=string ]
>
IN THIS ORDER:
| <timed ... />
</importedInfections>
Documentation (element)
Models importation of P. falciparum infections directly into humans from an external source. This is infections, not inoculations or EIR being imported.
Attributes
Name of intervention
name=string
Name of intervention
Rate of importation
→ scenario → interventions → importedInfections → timed
<timed
[ period=int ] DEFAULT VALUE 0
>
IN THIS ORDER:
| ( <rate ... /> )+
</timed>
Documentation (element)
Rate of case importation, as a step function. Each value is valid until replaced by the next value.
Attributes
Period of repetition
period=int
Units: time-steps Min: 0
Default value: 0
If period is 0 (or effectively infinite), the last specified value remains indefinitely in effect, otherwise the times of all values specified must be less than the period, and values are repeated modulo period (timestep period+2 has same value as timestep 2, etc.).
rate
→ scenario → interventions → importedInfections → timed → rate
<rate
value=double
time=int
/>
Documentation (type)
Units: Imported cases per thousand people per year
A time-rate pair.
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Time
time=int
Units: time-steps Min: 0
Insert R_0 case
→ scenario → interventions → insertR_0Case
<insertR_0Case
[ name=string ]
>
IN THIS ORDER:
| ( <timedDeployment ... /> )*
</insertR_0Case>
Documentation (element)
Used to simulate R_0. First, infections should be eliminated, immunity removed, and the population given an effective transmission- blocking vaccine (not done by this intervention). Then this intervention may be used to: pick one human, infect him, administer a fully effective Preerythrocytic vaccine and remove transmission-blocking vaccine effect on this human. Thus only this one human will be a source of infections in an unprotected population, and will not reinfected himself.
Attributes
Name of intervention
name=string
Name of intervention
timedDeployment
→ scenario → interventions → insertR_0Case → timedDeployment
<timedDeployment
time=int
/>
Attributes
Time
time=int
Units: time-steps Min: 0
Time-step at which this intervention occurs, starting from 0, the first intervention-period time-step.
Uninfect vectors
→ scenario → interventions → uninfectVectors
<uninfectVectors
[ name=string ]
>
IN THIS ORDER:
| ( <timedDeployment ... /> )*
</uninfectVectors>
Documentation (element)
Units: List of elements
Removes all infections from mosquitoes -- resulting in zero EIR to humans, until such time that mosquitoes are re-infected and become infectious. Only efficacious in dynamic EIR mode (when changeEIR was not used).
Hypothetical, but potentially useful to simulate a setting starting from no infections, but with enough mosquitoes to reach a set equilibrium of exposure.
Attributes
Name of intervention
name=string
Name of intervention
timedDeployment
→ scenario → interventions → uninfectVectors → timedDeployment
<timedDeployment
time=int
/>
Attributes
Time
time=int
Units: time-steps Min: 0
Time-step at which this intervention occurs, starting from 0, the first intervention-period time-step.
Vector population intervention
→ scenario → interventions → vectorPop
<vectorPop>
IN THIS ORDER:
| ( <intervention ... /> )+
</vectorPop>
Documentation (element)
Units: List of elements
A list of parameterisations of generic vector host-inspecific interventions.
intervention
→ scenario → interventions → vectorPop → intervention
<intervention
name=string
>
IN THIS ORDER:
| <description ... />
| [ <timed ... /> ]
</intervention>
Documentation (type)
Units: List of elements
An intervention which may have various effects on the vector populations as a whole. (Not host specific.)
Multiple instances of this intervention class are allowed (multiple parameterisations, not just deployments).
Each instance may have multiple deployments. In this case the effects of each instance are independent (effects are combined) but the effects of multiple deployments of a single instance are not independent (only the latest deployment has any effect).
Attributes
Name of intervention
name=string
Name of intervention (e.g. larviciding, sugar bait).
description
→ scenario → interventions → vectorPop → intervention → description
<description>
IN THIS ORDER:
| ( <anopheles ... /> )+
</description>
anopheles
→ scenario → interventions → vectorPop → intervention → description → anopheles
<anopheles
mosquito=string
>
IN ANY ORDER:
| [ <seekingDeathRateIncrease ... /> ]
| [ <probDeathOvipositing ... /> ]
| [ <emergenceReduction ... /> ]
</anopheles>
Documentation (type)
Units: dimensionless Min: 0 Max: 1
Descriptions of the effects of vector interventions with per-species effects.
Attributes
Species/subspecies/variant name
mosquito=string
Name of the species/subspecies/variant.
Proportional increase in deaths while host searching
→ scenario → interventions → vectorPop → intervention → description → anopheles → seekingDeathRateIncrease
<seekingDeathRateIncrease
initial=double
>
IN THIS ORDER:
| <decay ... />
</seekingDeathRateIncrease>
Documentation (element)
Units: dimensionless
Describe an effect on the increase in the death rate while host seeking (mu_vA) due to this intervention.
Enter the rate increase (i.e. if rate increases to 120% of normal, give 0.2). New death rate while seeking is old × (1 + increase) where increase is this factor given. Must have increas ≥ -1.
Attributes
Initial proportion increase
initial=double
Units: dimensionless Min: -1 Max: inf
decay
→ scenario → interventions → vectorPop → intervention → description → anopheles → seekingDeathRateIncrease → decay
<decay
function=("constant" or "step" or "linear" or "exponential" or "weibull" or "hill" or "smooth-compact")
L=double
[ k=double ] DEFAULT VALUE 1.0
[ mu=double ] DEFAULT VALUE 0
[ sigma=double ] DEFAULT VALUE 0
/>
Documentation (type)
Specification of decay or survival of a parameter.
Attributes
function
function=("constant" or "step" or "linear" or "exponential" or "weibull" or "hill" or "smooth-compact")
Units: None Min: 0 Max: 1
Determines which decay function to use. Available decay functions, for age t in years: constant: 1 step: 1 for t less than L, otherwise 0 linear: 1 - t/L for t less than L, otherwise 0 exponential: exp( - t/L * log(2) ) weibull: exp( -(t/L)^k * log(2) ) hill: 1 / (1 + (t/L)^k) smooth-compact: exp( k - k / (1 - (t/L)^2) ) for t less than L, otherwise 0
L
L=double
Units: Years Min: 0
Scale parameter of distribution. With the smooth-compact (smooth function with compact support), step and linear functions, this is the age at which the parameter has decayed to 0; with the other three functions, this is the age at which the parameter has decayed to half its original value. Not used for constant decay (though must be specified anyway).
k
k=double
Units: none Min: 0
Default value: 1.0
Shape parameter of distribution. If not specified, default value of 1 is used. Meaning depends on function; not used in some cases.
μ (mu)
mu=double
Min: 0
Default value: 0
If sigma is non-zero, heterogeneity of decay is introduced via a random variable sampled from the log-normal distribution with mu and sigma as specified. Both mu and sigma default to zero when not specified. The decay rate is multiplied by this variable (effectively, the half-life is divided by it). Note that with m=0, the median of the variable and the median value of L is unchanged, and thus the time at which the median decay amongst the population of decaying objects reaches half (assuming exponential, Weibull or Hill decay) is L. With m=-½σ² (negative half sigma squared) the mean of the variable will be 1 and mean of the half-life L, but the time at which mean decay of the population has reached half may not be L.
σ (sigma)
sigma=double
Min: 0
Default value: 0
If sigma is non-zero, heterogeneity of decay is introduced via a random variable sampled from the log-normal distribution with mu and sigma as specified. Both mu and sigma default to zero when not specified. The decay rate is multiplied by this variable (effectively, the half-life is divided by it).
Proportion ovipositing mosquitoes killed
→ scenario → interventions → vectorPop → intervention → description → anopheles → probDeathOvipositing
<probDeathOvipositing
initial=double
>
IN THIS ORDER:
| <decay ... />
</probDeathOvipositing>
Documentation (element)
Units: dimensionless
Describe an effect of increased mortality while ovipositing due to this intervention. Enter the probability of dying due to this intervention.
Attributes
Initial probability of killing
initial=double
Units: dimensionless Min: 0 Max: 1
decay
→ scenario → interventions → vectorPop → intervention → description → anopheles → probDeathOvipositing → decay
<decay
function=("constant" or "step" or "linear" or "exponential" or "weibull" or "hill" or "smooth-compact")
L=double
[ k=double ] DEFAULT VALUE 1.0
[ mu=double ] DEFAULT VALUE 0
[ sigma=double ] DEFAULT VALUE 0
/>
Documentation (type)
Specification of decay or survival of a parameter.
Attributes
function
function=("constant" or "step" or "linear" or "exponential" or "weibull" or "hill" or "smooth-compact")
Units: None Min: 0 Max: 1
Determines which decay function to use. Available decay functions, for age t in years: constant: 1 step: 1 for t less than L, otherwise 0 linear: 1 - t/L for t less than L, otherwise 0 exponential: exp( - t/L * log(2) ) weibull: exp( -(t/L)^k * log(2) ) hill: 1 / (1 + (t/L)^k) smooth-compact: exp( k - k / (1 - (t/L)^2) ) for t less than L, otherwise 0
L
L=double
Units: Years Min: 0
Scale parameter of distribution. With the smooth-compact (smooth function with compact support), step and linear functions, this is the age at which the parameter has decayed to 0; with the other three functions, this is the age at which the parameter has decayed to half its original value. Not used for constant decay (though must be specified anyway).
k
k=double
Units: none Min: 0
Default value: 1.0
Shape parameter of distribution. If not specified, default value of 1 is used. Meaning depends on function; not used in some cases.
μ (mu)
mu=double
Min: 0
Default value: 0
If sigma is non-zero, heterogeneity of decay is introduced via a random variable sampled from the log-normal distribution with mu and sigma as specified. Both mu and sigma default to zero when not specified. The decay rate is multiplied by this variable (effectively, the half-life is divided by it). Note that with m=0, the median of the variable and the median value of L is unchanged, and thus the time at which the median decay amongst the population of decaying objects reaches half (assuming exponential, Weibull or Hill decay) is L. With m=-½σ² (negative half sigma squared) the mean of the variable will be 1 and mean of the half-life L, but the time at which mean decay of the population has reached half may not be L.
σ (sigma)
sigma=double
Min: 0
Default value: 0
If sigma is non-zero, heterogeneity of decay is introduced via a random variable sampled from the log-normal distribution with mu and sigma as specified. Both mu and sigma default to zero when not specified. The decay rate is multiplied by this variable (effectively, the half-life is divided by it).
Proportion of emerging pupa killed
→ scenario → interventions → vectorPop → intervention → description → anopheles → emergenceReduction
<emergenceReduction
initial=double
>
IN THIS ORDER:
| <decay ... />
</emergenceReduction>
Documentation (element)
Units: dimensionless
Describe an effect on emergence of pupa into adults: this value is the proportion of emerging pupa which are killed by this intervention.
This can be used as a crude way of modelling larviciding. It ca also be used to increase emergence by giving a negative value. The emergence rate is "old rate" × (1 - factor) where factor is the value given here; thus, for example, using -1 will double emergence.
Attributes
Initial proportion reduction
initial=double
Units: dimensionless Min: -inf Max: 1
decay
→ scenario → interventions → vectorPop → intervention → description → anopheles → emergenceReduction → decay
<decay
function=("constant" or "step" or "linear" or "exponential" or "weibull" or "hill" or "smooth-compact")
L=double
[ k=double ] DEFAULT VALUE 1.0
[ mu=double ] DEFAULT VALUE 0
[ sigma=double ] DEFAULT VALUE 0
/>
Documentation (type)
Specification of decay or survival of a parameter.
Attributes
function
function=("constant" or "step" or "linear" or "exponential" or "weibull" or "hill" or "smooth-compact")
Units: None Min: 0 Max: 1
Determines which decay function to use. Available decay functions, for age t in years: constant: 1 step: 1 for t less than L, otherwise 0 linear: 1 - t/L for t less than L, otherwise 0 exponential: exp( - t/L * log(2) ) weibull: exp( -(t/L)^k * log(2) ) hill: 1 / (1 + (t/L)^k) smooth-compact: exp( k - k / (1 - (t/L)^2) ) for t less than L, otherwise 0
L
L=double
Units: Years Min: 0
Scale parameter of distribution. With the smooth-compact (smooth function with compact support), step and linear functions, this is the age at which the parameter has decayed to 0; with the other three functions, this is the age at which the parameter has decayed to half its original value. Not used for constant decay (though must be specified anyway).
k
k=double
Units: none Min: 0
Default value: 1.0
Shape parameter of distribution. If not specified, default value of 1 is used. Meaning depends on function; not used in some cases.
μ (mu)
mu=double
Min: 0
Default value: 0
If sigma is non-zero, heterogeneity of decay is introduced via a random variable sampled from the log-normal distribution with mu and sigma as specified. Both mu and sigma default to zero when not specified. The decay rate is multiplied by this variable (effectively, the half-life is divided by it). Note that with m=0, the median of the variable and the median value of L is unchanged, and thus the time at which the median decay amongst the population of decaying objects reaches half (assuming exponential, Weibull or Hill decay) is L. With m=-½σ² (negative half sigma squared) the mean of the variable will be 1 and mean of the half-life L, but the time at which mean decay of the population has reached half may not be L.
σ (sigma)
sigma=double
Min: 0
Default value: 0
If sigma is non-zero, heterogeneity of decay is introduced via a random variable sampled from the log-normal distribution with mu and sigma as specified. Both mu and sigma default to zero when not specified. The decay rate is multiplied by this variable (effectively, the half-life is divided by it).
Vector population intervention deployment
→ scenario → interventions → vectorPop → intervention → timed
<timed>
IN THIS ORDER:
| ( <deploy ... /> )+
</timed>
Documentation (element)
List of timed vector population intervention deployment
deploy
→ scenario → interventions → vectorPop → intervention → timed → deploy
<deploy
time=int
/>
Attributes
Time
time=int
Units: time-steps Min: 0
Time-step at which this intervention occurs, starting from 0, the first intervention-period time-step.
Human-specific interventions
→ scenario → interventions → human
<human>
IN THIS ORDER:
| ( <component ... /> )+
| ( <deployment ... /> )*
</human>
Documentation (element)
Encapsulates all interventions whose effects are specific to the human host: any interventions where target humans may be selected via population-coverage, age limits and sub-population membership.
Component
→ scenario → interventions → human → component
<component
id=string
[ name=string ]
>
IN THIS ORDER:
| EXACTLY ONE OF:
| | <screen ... />
| | <MDA ... />
| | <MDA1D ... />
| | <PEV ... />
| | <BSV ... />
| | <TBV ... />
| | <ITN ... />
| | <IRS ... />
| | <GVI ... />
| | [ <recruitmentOnly ... /> ]
| | <clearImmunity ... />
| [ <subPopRemoval ... /> ]
</component>
Documentation (element)
A parameterisation of an effect achieved by one component of an intervention. (An intervention is described as the effects of a set of components plus deployments of those components. This describes the components individually, not deployments or which components comprise an intervention.)
Each element describes one component: its effects, decay of the(se) effect(s), and related stuff (e.g. description of indirect decay and of usage levels).
Different interventions can deploy the same component to the same perso. In most cases this will just deploy a fresh instance (e.g. a new bed net will replace the old (nobody uses multiple bed nets), or a new drug dose will act on top of previous doses, or in the case of a vaccine, effect depends on the total number of previous inoculations (including from other interventions).
Where multiple components of the same type (but with different ids) are deployed (whether within a single intervention or by multiple interventions), they act independently (e.g. two bed nets deployed to a single host would act to reduce attractiveness or survival of mosquitoes biting that host twice — this may be useful to simulate some novel vector intervention since the two nets may have separate parameters).
Attributes
Component identifier
id=string
A short name or code identifying the intervention component (used to refer to this component when describing an intervention). Also the id of the sub-population defined as those hosts who have received this intervention and who haven't subsequently been removed from the sub-population.
Name of component
name=string
An informal name/description for the component
screen
→ scenario → interventions → human → component → screen
<screen>
IN THIS ORDER:
| <diagnostic ... />
| <positive ... />
| <negative ... />
</screen>
Documentation (type)
This can be combined with MDA to achieve mass screen and treat (MSAT) or other types of mass screening intervention.
When deployed to a host, this simulates a test of patent malaria (microscopy, RDT or some such), then triggers deployment of whichever intervention components are configured (deployments for both positive and negative test outcomes can be configured).
The use of the screening itself is reported (if enabled), but not the outcome. Deployment of interventions triggered by the screening may be reported, however.
Diagnostic
→ scenario → interventions → human → component → screen → diagnostic
<diagnostic>
IN THIS ORDER:
| EXACTLY ONE OF:
| | <deterministic ... />
| | <stochastic ... />
</diagnostic>
Documentation (element)
Description of the diagnostic test used by the screening.
Deterministic detection
→ scenario → interventions → human → component → screen → diagnostic → deterministic
<deterministic
minDensity=double
/>
Documentation (element)
Specify that an artificial deterministic test is used: drugs are administered if parasite density is at least the minimum given.
Attributes
Minimum detectible density
minDensity=double
Units: parasites/microlitre Min: 0
The minimum density at which parasites can be detected. If 0, the test outcome is always positive.
Non-deterministic detection
→ scenario → interventions → human → component → screen → diagnostic → stochastic
<stochastic
dens_50=double
specificity=double
/>
Documentation (element)
An improved model of detection which is non-deterministic, including false positive results as well as false negatives.
The probability of a positive outcome is modelled as 1 + s×(x/(x+d) - 1) where x is the parasite density, d is the density at which the test outcome has a 50% chance of being positive, and s is the probability of a positive outcome given no parasites (the specificity).
Some parameterisations:
Microscopy sensitivity/specificity data in Africa; Source: expert opinion — Allan Schapira dens_50 = 20.0 specificity = .75
RDT sensitivity/specificity for Plasmodium falciparum in Africa Source: Murray et al (Clinical Microbiological Reviews, Jan. 2008) dens_50 = 50.0; specificity = .942;
Attributes
Density 50
dens_50=double
Units: parasites/microlitre Min: 0
The density at which the test outcome has a 50% chance of being positive.
Specificity
specificity=double
Units: Dimensionless Min: 0 Max: 1
The probability of a positive test outcome in the absense of parasites.
positive
→ scenario → interventions → human → component → screen → positive
<positive>
IN THIS ORDER:
| ( <deploy ... /> )*
</positive>
Documentation (type)
Lists intervention components which are deployed according to some external trigger (for example, screening with a negative patency outcome or health-system treatment).
Components are referenced from one or more sub-lists. Each of these lists is deployed independently if and only if its age constraints are met by the human host and a random sample with the given probability of a positive outcome is positive.
negative
→ scenario → interventions → human → component → screen → negative
<negative>
IN THIS ORDER:
| ( <deploy ... /> )*
</negative>
Documentation (type)
Lists intervention components which are deployed according to some external trigger (for example, screening with a negative patency outcome or health-system treatment).
Components are referenced from one or more sub-lists. Each of these lists is deployed independently if and only if its age constraints are met by the human host and a random sample with the given probability of a positive outcome is positive.
MDA
→ scenario → interventions → human → component → MDA
<MDA>
IN THIS ORDER:
| <effects ... />
</MDA>
Documentation (type)
Description of treatment deployed as an intervention (treatment is usually a simple model of a drug's action, thus when deployed on mass or via screening this becomes part of a mass drug administration (MDA) or mass screen-and-treat (MSAT) intervention. For historical reasons this is called "MDA" in the XML, not "treatment".
For the 1-day timestep models, a more detailed model of drug action and more flexible model of deployment decisions are available; see MDA1D.
The model of action of this intervention is to select one option from a list of treatment options (randomly when multiple are available) then carry out the treatment option's actions (which may be to do nothing).
Treatment options
→ scenario → interventions → human → component → MDA → effects
<effects>
IN THIS ORDER:
| ( <option ... /> )+
</effects>
Documentation (element)
A list of treatment options. When treatment is to be given, one option will be selected randomly (according to the "pSelection" probability of selection parameters given), and the actions of that option enacted.
Multiple options are intended to allow simulation of drug failure and varying patient adherence. An option may do nothing.
option
→ scenario → interventions → human → component → MDA → effects → option
<option
[ name=string ]
pSelection=double
>
IN THIS ORDER:
| ( <deploy ... /> )*
</option>
Documentation (base type)
Describes the effects of the treatment, assuming this compliance/adherence/... option is selected. Effects are described in terms of a list of options, each of which acts independently but with all effects being activated simultaneously.
Documentation (base type)
Lists intervention components which are deployed according to some external trigger (for example, screening with a negative patency outcome or health-system treatment).
Components are referenced from one or more sub-lists. Each of these lists is deployed independently if and only if its age constraints are met by the human host and a random sample with the given probability of a positive outcome is positive.
Attributes
Name
name=string
Describes what this compliance option represents (e.g. "good compliance", "poor compliance with good drugs", ...).
Probability of selection
pSelection=double
Units: dimensionless Min: 0 Max: 1
The probability of selection of this treatment option. The sum of probabilities of all options in the list should be 1.
Mass drug administration (with decision tree and drug PK/PD model)
→ scenario → interventions → human → component → MDA1D
<MDA1D>
IN THIS ORDER:
| <decisions ... />
| <treatments ... />
</MDA1D>
Documentation (element)
Description of a MDA/MSAT intervention (Mass Screen and Treat is just Mass Drug Administration with a diagnostic).
This MDA/MSAT model piggy-backs the 1-day timestep case management and drug models, and thus is only available when using a 1-day timestep.
Description of treatment type used by mass treatment option of one-day case management model. Can be used to describe one-size-fits-all mass drug dosing, age-based mass drug dosing and screen-and-treat. Number of treatments given can be reported by the nMDAs option.
Documentation (type)
A set of decisions and a set of treatments.
Vaccines
→ scenario → interventions → human → component → PEV
<PEV>
IN THIS ORDER:
| <decay ... />
| <efficacyB ... />
| ( <initialEfficacy ... /> )+
</PEV>
Documentation (element)
Pre-erythrocytic vaccine (PEV): prevents a proportion of infections from commencing.
Documentation (type)
Description of a vaccine's effect
Decay of effect
→ scenario → interventions → human → component → PEV → decay
<decay
function=("constant" or "step" or "linear" or "exponential" or "weibull" or "hill" or "smooth-compact")
L=double
[ k=double ] DEFAULT VALUE 1.0
[ mu=double ] DEFAULT VALUE 0
[ sigma=double ] DEFAULT VALUE 0
/>
Documentation (element)
Specification of decay of efficacy. Documentation: see DecayFunction type or https://github.com/SwissTPH/openmalaria/wiki/ModelDecayFunctions
Documentation (type)
Specification of decay or survival of a parameter.
Attributes
function
function=("constant" or "step" or "linear" or "exponential" or "weibull" or "hill" or "smooth-compact")
Units: None Min: 0 Max: 1
Determines which decay function to use. Available decay functions, for age t in years: constant: 1 step: 1 for t less than L, otherwise 0 linear: 1 - t/L for t less than L, otherwise 0 exponential: exp( - t/L * log(2) ) weibull: exp( -(t/L)^k * log(2) ) hill: 1 / (1 + (t/L)^k) smooth-compact: exp( k - k / (1 - (t/L)^2) ) for t less than L, otherwise 0
L
L=double
Units: Years Min: 0
Scale parameter of distribution. With the smooth-compact (smooth function with compact support), step and linear functions, this is the age at which the parameter has decayed to 0; with the other three functions, this is the age at which the parameter has decayed to half its original value. Not used for constant decay (though must be specified anyway).
k
k=double
Units: none Min: 0
Default value: 1.0
Shape parameter of distribution. If not specified, default value of 1 is used. Meaning depends on function; not used in some cases.
μ (mu)
mu=double
Min: 0
Default value: 0
If sigma is non-zero, heterogeneity of decay is introduced via a random variable sampled from the log-normal distribution with mu and sigma as specified. Both mu and sigma default to zero when not specified. The decay rate is multiplied by this variable (effectively, the half-life is divided by it). Note that with m=0, the median of the variable and the median value of L is unchanged, and thus the time at which the median decay amongst the population of decaying objects reaches half (assuming exponential, Weibull or Hill decay) is L. With m=-½σ² (negative half sigma squared) the mean of the variable will be 1 and mean of the half-life L, but the time at which mean decay of the population has reached half may not be L.
σ (sigma)
sigma=double
Min: 0
Default value: 0
If sigma is non-zero, heterogeneity of decay is introduced via a random variable sampled from the log-normal distribution with mu and sigma as specified. Both mu and sigma default to zero when not specified. The decay rate is multiplied by this variable (effectively, the half-life is divided by it).
Variance parameter for vaccine efficacy
→ scenario → interventions → human → component → PEV → efficacyB
<efficacyB
value=double
/>
Documentation (element)
Units: Positive real Min: 0.001 Max: 1.00E+06
Measure of variation in vaccine efficacy: efficacy is sampled from a beta distribution with efficacyB its beta parameter and its alpha parameter fixed such that the mean is that given by initialEfficacy.
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Initial mean efficacy
→ scenario → interventions → human → component → PEV → initialEfficacy
<initialEfficacy
value=double
/>
Documentation (element)
Units: dimensionless Min: 0 Max: 1
Mean efficacy values before decay (see efficacyB and decay parameter descriptions for sampling and decay). The i-th value in this list is used for the efficacy of the vaccine after the i-th dose. Where more doses are given than there are values in this list, the last value is repeated.
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Vaccines
→ scenario → interventions → human → component → BSV
<BSV>
IN THIS ORDER:
| <decay ... />
| <efficacyB ... />
| ( <initialEfficacy ... /> )+
</BSV>
Documentation (element)
Blood-stage vaccine (BSV): acts as a killing factor on blood-stage parasites. Exact action depends on the within host model.
Documentation (type)
Description of a vaccine's effect
Vaccines
→ scenario → interventions → human → component → TBV
<TBV>
IN THIS ORDER:
| <decay ... />
| <efficacyB ... />
| ( <initialEfficacy ... /> )+
</TBV>
Documentation (element)
Transmission-blocking vaccine (TBV): one minus this scales the probability of transmission to mosquitoes
Documentation (type)
Description of a vaccine's effect
Bed nets
→ scenario → interventions → human → component → ITN
<ITN>
IN THIS ORDER:
| <usage ... />
| <holeRate ... />
| <ripRate ... />
| <ripFactor ... />
| <initialInsecticide ... />
| <insecticideDecay ... />
| <attritionOfNets ... />
| ( <anophelesParams ... /> )+
</ITN>
- usage
- holeRate
- ripRate
- ripFactor
- initialInsecticide
- insecticideDecay
- attritionOfNets
- anophelesParams
Documentation (element)
Description of bed-net interventions (ITNs, LLINs).
Proportion of time nets are used by humans
→ scenario → interventions → human → component → ITN → usage
<usage
value=double
/>
Documentation (element)
Units: dimensionless Min: 0 Max: 1
Usage of nets by humans, from 0 to 1.
At the moment this is constant across humans and deterministic: relative attractiveness and survival factors are base*(1-usagepropActing) + intervention_factorusage*propActing.
See also "propActing" (proportion of bits for which net acts).
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Rate at which holes are made
→ scenario → interventions → human → component → ITN → holeRate
<holeRate
mean=double
sigma=double
/>
Documentation (element)
Units: Holes per annum Min: 0
The rate at which new holes are made in nets.
nHoles(t) = nHoles(t-1) + X where X~Pois(R/T) where T is the number of time-steps per year. R is sampled from log-normal: R ~ log N( log(mean)-sigma²/2, sigma² ) and is covariant with ripRate and insecticideDecay. (To be exact, a single Gaussian sample is taken, adjusted for each sigma then exponentiated.)
Documentation (type)
Parameters of a log-normal distribution.
Variates are sampled as: X ~ log N( log(mean)-sigma²/2, sigma² ).
Attributes
mean
mean=double
Units: (same as base units)
The mean of the lognormal distribution.
sigma
sigma=double
Sigma parameter of the lognormal distribution; sigma squared is the variance of the log of samples.
Rate at which holes are enlarged
→ scenario → interventions → human → component → ITN → ripRate
<ripRate
mean=double
sigma=double
/>
Documentation (element)
Units: Rips per existing hole per annum Min: 0
Each existing hole has a probability of being ripped bigger according to a Poisson process with this rate as (only) parameter.
New rips occur in a net at rate X~Pois(h×R/T) where h is the number of existing holes and T the number of time-steps per year. R is sampled from log-normal: R ~ log N( log(mean)-sigma²/2, sigma² ) and is covariant with holeRate and insecticideDecay. (To be exact, a single Gaussian sample is taken, adjusted for the each and sigma then exponentiated.)
Documentation (type)
Parameters of a log-normal distribution.
Variates are sampled as: X ~ log N( log(mean)-sigma²/2, sigma² ).
Attributes
mean
mean=double
Units: (same as base units)
The mean of the lognormal distribution.
sigma
sigma=double
Sigma parameter of the lognormal distribution; sigma squared is the variance of the log of samples.
Rip factor
→ scenario → interventions → human → component → ITN → ripFactor
<ripFactor
value=double
/>
Documentation (element)
Units: none Min: 0
This factor expresses how important rips are in increasing the hole.
The hole index of a net is h + F×x where h and x are the total numbers of holes and rips respectively and F is the rip factor.
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Initial insecticide
→ scenario → interventions → human → component → ITN → initialInsecticide
<initialInsecticide
mu=double
sigma=double
/>
Documentation (element)
Units: mg/m² Min: 0
The insecticide concentration of new nets is Gaussian distributed with mean "mu" and a standard deviation "sigma". The standard deviation should be small relative to the mean to avoid negative initial concentration. Any negative values sampled are set to 0.
Documentation (type)
Parameters of a normal distribution.
Variates are sampled as: X ~ N( mu, sigma² ).
Attributes
mu
mu=double
Units: (same as base units)
The mean of the normal distribution.
sigma
sigma=double
Units: (same as base units)
The standard deviation of variates.
Decay of insecticide
→ scenario → interventions → human → component → ITN → insecticideDecay
<insecticideDecay
function=("constant" or "step" or "linear" or "exponential" or "weibull" or "hill" or "smooth-compact")
L=double
[ k=double ] DEFAULT VALUE 1.0
[ mu=double ] DEFAULT VALUE 0
[ sigma=double ] DEFAULT VALUE 0
/>
Documentation (element)
Units: none
Decay curve for insecticide content of nets. Documentation: see DecayFunction type or https://github.com/SwissTPH/openmalaria/wiki/ModelDecayFunctions
The distribution of decay rates over nets is covariant with the distribution of ripRate and holeRate over nets. This distribution is generated by taking one sample per net from a Gaussian distribution with mean 0 and standard deviation 1. For each variable, the sample is multiplied by the respective sigma and a constant added such that, once exponentiated, the mean of the variable over nets is 1. The variable is then exponentiated and multiplied by the required mean rate for the respective variable.
Documentation (type)
Specification of decay or survival of a parameter.
Attributes
function
function=("constant" or "step" or "linear" or "exponential" or "weibull" or "hill" or "smooth-compact")
Units: None Min: 0 Max: 1
Determines which decay function to use. Available decay functions, for age t in years: constant: 1 step: 1 for t less than L, otherwise 0 linear: 1 - t/L for t less than L, otherwise 0 exponential: exp( - t/L * log(2) ) weibull: exp( -(t/L)^k * log(2) ) hill: 1 / (1 + (t/L)^k) smooth-compact: exp( k - k / (1 - (t/L)^2) ) for t less than L, otherwise 0
L
L=double
Units: Years Min: 0
Scale parameter of distribution. With the smooth-compact (smooth function with compact support), step and linear functions, this is the age at which the parameter has decayed to 0; with the other three functions, this is the age at which the parameter has decayed to half its original value. Not used for constant decay (though must be specified anyway).
k
k=double
Units: none Min: 0
Default value: 1.0
Shape parameter of distribution. If not specified, default value of 1 is used. Meaning depends on function; not used in some cases.
μ (mu)
mu=double
Min: 0
Default value: 0
If sigma is non-zero, heterogeneity of decay is introduced via a random variable sampled from the log-normal distribution with mu and sigma as specified. Both mu and sigma default to zero when not specified. The decay rate is multiplied by this variable (effectively, the half-life is divided by it). Note that with m=0, the median of the variable and the median value of L is unchanged, and thus the time at which the median decay amongst the population of decaying objects reaches half (assuming exponential, Weibull or Hill decay) is L. With m=-½σ² (negative half sigma squared) the mean of the variable will be 1 and mean of the half-life L, but the time at which mean decay of the population has reached half may not be L.
σ (sigma)
sigma=double
Min: 0
Default value: 0
If sigma is non-zero, heterogeneity of decay is introduced via a random variable sampled from the log-normal distribution with mu and sigma as specified. Both mu and sigma default to zero when not specified. The decay rate is multiplied by this variable (effectively, the half-life is divided by it).
Attrition of nets
→ scenario → interventions → human → component → ITN → attritionOfNets
<attritionOfNets
function=("constant" or "step" or "linear" or "exponential" or "weibull" or "hill" or "smooth-compact")
L=double
[ k=double ] DEFAULT VALUE 1.0
[ mu=double ] DEFAULT VALUE 0
[ sigma=double ] DEFAULT VALUE 0
/>
Documentation (element)
Units: dimensionless
Specifies the rate at which nets are disposed of over time. Documentation: see DecayFunction type or https://github.com/SwissTPH/openmalaria/wiki/ModelDecayFunctions
In the current model, nets are disposed of randomly (no correlation with state of decay) such that the chance of each net surviving until age t is the value of this decay function at time t. Equivalently (where a large number of nets are distributed at the same time), the proportion of nets remaining in use should match this decay function over time.
Humans are removed from the intervention component's sub-population on disposal (attrition) of their nets. Currently this event is not reported.
Documentation (type)
Specification of decay or survival of a parameter.
Attributes
function
function=("constant" or "step" or "linear" or "exponential" or "weibull" or "hill" or "smooth-compact")
Units: None Min: 0 Max: 1
Determines which decay function to use. Available decay functions, for age t in years: constant: 1 step: 1 for t less than L, otherwise 0 linear: 1 - t/L for t less than L, otherwise 0 exponential: exp( - t/L * log(2) ) weibull: exp( -(t/L)^k * log(2) ) hill: 1 / (1 + (t/L)^k) smooth-compact: exp( k - k / (1 - (t/L)^2) ) for t less than L, otherwise 0
L
L=double
Units: Years Min: 0
Scale parameter of distribution. With the smooth-compact (smooth function with compact support), step and linear functions, this is the age at which the parameter has decayed to 0; with the other three functions, this is the age at which the parameter has decayed to half its original value. Not used for constant decay (though must be specified anyway).
k
k=double
Units: none Min: 0
Default value: 1.0
Shape parameter of distribution. If not specified, default value of 1 is used. Meaning depends on function; not used in some cases.
μ (mu)
mu=double
Min: 0
Default value: 0
If sigma is non-zero, heterogeneity of decay is introduced via a random variable sampled from the log-normal distribution with mu and sigma as specified. Both mu and sigma default to zero when not specified. The decay rate is multiplied by this variable (effectively, the half-life is divided by it). Note that with m=0, the median of the variable and the median value of L is unchanged, and thus the time at which the median decay amongst the population of decaying objects reaches half (assuming exponential, Weibull or Hill decay) is L. With m=-½σ² (negative half sigma squared) the mean of the variable will be 1 and mean of the half-life L, but the time at which mean decay of the population has reached half may not be L.
σ (sigma)
sigma=double
Min: 0
Default value: 0
If sigma is non-zero, heterogeneity of decay is introduced via a random variable sampled from the log-normal distribution with mu and sigma as specified. Both mu and sigma default to zero when not specified. The decay rate is multiplied by this variable (effectively, the half-life is divided by it).
anophelesParams
→ scenario → interventions → human → component → ITN → anophelesParams
<anophelesParams
mosquito=string
[ propActive=double ] DEFAULT VALUE 1
>
IN THIS ORDER:
| EXACTLY ONE OF:
| | <deterrency ... />
| | <twoStageDeterrency ... />
| <preprandialKillingEffect ... />
| <postprandialKillingEffect ... />
</anophelesParams>
Attributes
Mosquito species
mosquito=string
Name of the affected anopheles-mosquito species.
Proportion of bites for which net acts
propActive=double
Units: dimensionless Min: 0 Max: 1
Default value: 1
The proportion of bites, when nets are in use, for which the net has any action whatsoever on the mosquito. At the moment this is constant across humans and deterministic: relative attractiveness and survival factors are base*(1-usagepropActing) + intervention_factorusage*propActing. See also "usage" (proportion of time nets are used by humans).
Relative attractiveness
→ scenario → interventions → human → component → ITN → anophelesParams → deterrency
<deterrency
insecticideFactor=double
insecticideScalingFactor=double
holeFactor=double
interactionFactor=double
holeScalingFactor=double
/>
Documentation (element)
Units: dimensionless Min: 0 Max: 1
Effect of net on attractiveness of humans to mosquitoes relative to an unprotected adult human. Parameterisations should take into account that mosquitoes do not always bite indoors.
Attractiveness of the human is multiplied by exp(log(H)×h + log(P)×p + log(I)×h×p where H, P and I are the hole, insecticide and interaction factors respectively, h=exp(-holeIndex×holeScalingFactor) and p=1−exp(-insecticideContent×insecticideScalingFactor).
Attributes
Insecticide factor
insecticideFactor=double
Units: none Max: 1
Value expected to be at least 0. Negative values are not necessarily invalid, but allow nets to increase transmission.
Insecticide scaling factor
insecticideScalingFactor=double
Units: none Min: 0
Hole factor
holeFactor=double
Units: none Max: 1
Value expected to be at least 0. Negative values are not necessarily invalid, but allow nets to increase transmission.
Interaction factor
interactionFactor=double
Units: none Max: 1
holeFactor + insecticideFactor + interactionFactor must not be greater than 1, and is expected to be at least 0. A negative value is not necessarily invalid, but allows nets to increase transmission.
Hole scaling factor
holeScalingFactor=double
Units: none Min: 0
Relative attractiveness
→ scenario → interventions → human → component → ITN → anophelesParams → twoStageDeterrency
<twoStageDeterrency>
IN ANY ORDER:
| <entering ... />
| <attacking ... />
</twoStageDeterrency>
Documentation (element)
Units: dimensionless
Effect of net on attractiveness of humans to mosquitoes relative to an unprotected adult human. Parameterisations should take into account that mosquitoes do not always bite indoors.
This deterrency model multiplies human attractiveness by pEnt×pAtt divided by a base factor to normalise the output to 1 when there are no nets.
RA (entering)
→ scenario → interventions → human → component → ITN → anophelesParams → twoStageDeterrency → entering
<entering
insecticideFactor=double
insecticideScalingFactor=double
/>
Documentation (element)
Units: dimensionless
pEnt represents the relative probability of entering due to ITNs: pEnt = exp(log(P)×p) where P is the insecticide factor and p=1−exp(-insecticideContent×insecticideScalingFactor).
Attributes
Insecticide factor
insecticideFactor=double
Units: none Max: 1
Value expected to be at least 0. Negative values are not necessarily invalid, but allow nets to increase transmission.
Insecticide scaling factor
insecticideScalingFactor=double
Units: none Min: 0
RA (attacking)
→ scenario → interventions → human → component → ITN → anophelesParams → twoStageDeterrency → attacking
<attacking
insecticideFactor=double
insecticideScalingFactor=double
holeFactor=double
interactionFactor=double
holeScalingFactor=double
baseFactor=double
/>
Documentation (element)
Units: dimensionless
pAtt represents the relative probability of attacking a human after entering a house due to ITNs (i.e. of feeding/dying vs. flying off): pAtt = B + H×h + P×p + I×h×p where B is the base (without net) probability; H, P and I are the hole, insecticide and interaction factors respectively, h=exp(-holeIndex×holeScalingFactor) and p=1−exp(-insecticideContent×insecticideScalingFactor).
Attributes
Insecticide factor
insecticideFactor=double
Units: none Max: 1
Value expected to be at least 0. Negative values are not necessarily invalid, but allow nets to increase transmission.
Insecticide scaling factor
insecticideScalingFactor=double
Units: none Min: 0
Hole factor
holeFactor=double
Units: none Max: 1
Value expected to be at least 0. Negative values are not necessarily invalid, but allow nets to increase transmission.
Interaction factor
interactionFactor=double
Units: none Max: 1
holeFactor + insecticideFactor + interactionFactor must not be greater than 1, and is expected to be at least 0. A negative value is not necessarily invalid, but allows nets to increase transmission.
Hole scaling factor
holeScalingFactor=double
Units: none Min: 0
Probability of mosquito death without intervention
baseFactor=double
Units: dimensionless
Pre-prandial killing effect
→ scenario → interventions → human → component → ITN → anophelesParams → preprandialKillingEffect
<preprandialKillingEffect
insecticideFactor=double
insecticideScalingFactor=double
holeFactor=double
interactionFactor=double
holeScalingFactor=double
baseFactor=double
/>
Documentation (element)
Units: dimensionless Min: 0 Max: 1
Effect of net on survival mosquitoes as they seek to bite a human after choosing that human, relative to the same person not sleeping under a net. Parameterisations should take into account that mosquitoes do not always bite indoors.
Killing proportion is calculated as K = B + H×h + P×p + I×h×p where B is the base (without net) probability of death, H, P and I are the hole, insecticide and interaction factors respectively, h=exp(-holeIndex×holeScalingFactor) and p=1−exp(-insecticideContent×insecticideScalingFactor).
Survival of mosquitoes is adjusted via multiplication by (1−K) / (1−B). To keep this in the range [0,1], we require that B+H ≤ 1, B+P ≤ 1, B+H+P+I ≤ 1, H ≥ 0, P ≥ 0 and H+P+I ≥ 0.
Attributes
Insecticide factor
insecticideFactor=double
Units: none Max: 1
Value expected to be at least 0. Negative values are not necessarily invalid, but allow nets to increase transmission.
Insecticide scaling factor
insecticideScalingFactor=double
Units: none Min: 0
Hole factor
holeFactor=double
Units: none Max: 1
Value expected to be at least 0. Negative values are not necessarily invalid, but allow nets to increase transmission.
Interaction factor
interactionFactor=double
Units: none Max: 1
holeFactor + insecticideFactor + interactionFactor must not be greater than 1, and is expected to be at least 0. A negative value is not necessarily invalid, but allows nets to increase transmission.
Hole scaling factor
holeScalingFactor=double
Units: none Min: 0
Probability of mosquito death without intervention
baseFactor=double
Units: dimensionless
Post-prandial killing effect
→ scenario → interventions → human → component → ITN → anophelesParams → postprandialKillingEffect
<postprandialKillingEffect
insecticideFactor=double
insecticideScalingFactor=double
holeFactor=double
interactionFactor=double
holeScalingFactor=double
baseFactor=double
/>
Documentation (element)
Units: dimensionless Min: 0 Max: 1
Effect of net on survival mosquitoes as they seek to escape from a human host and rest after a blood meal, relative to the same person not sleeping under a net. Parameterisations should take into account that mosquitoes do not always bite indoors.
Killing proportion is calculated as K = B + H×h + P×p + I×h×p where B is the base (without net) probability of death, H, P and I are the hole, insecticide and interaction factors respectively, h=exp(-holeIndex×holeScalingFactor) and p=1−exp(-insecticideContent×insecticideScalingFactor).
Survival of mosquitoes is adjusted via multiplication by (1−K) / (1−B). To keep this in the range [0,1], we require that B+H ≤ 1, B+P ≤ 1, B+H+P+I ≤ 1, H ≥ 0, P ≥ 0 and H+P+I ≥ 0.
Attributes
Insecticide factor
insecticideFactor=double
Units: none Max: 1
Value expected to be at least 0. Negative values are not necessarily invalid, but allow nets to increase transmission.
Insecticide scaling factor
insecticideScalingFactor=double
Units: none Min: 0
Hole factor
holeFactor=double
Units: none Max: 1
Value expected to be at least 0. Negative values are not necessarily invalid, but allow nets to increase transmission.
Interaction factor
interactionFactor=double
Units: none Max: 1
holeFactor + insecticideFactor + interactionFactor must not be greater than 1, and is expected to be at least 0. A negative value is not necessarily invalid, but allows nets to increase transmission.
Hole scaling factor
holeScalingFactor=double
Units: none Min: 0
Probability of mosquito death without intervention
baseFactor=double
Units: dimensionless
Indoor residual spraying
→ scenario → interventions → human → component → IRS
<IRS>
IN THIS ORDER:
| <initialInsecticide ... />
| <insecticideDecay ... />
| ( <anophelesParams ... /> )+
</IRS>
Documentation (element)
Description of indoor residual spraying interventions.
Documentation (type)
Description of effect for the more complex and probably more realistic Briet model: IRS has three effects, whos strength is calculated as a function of surviving insecticide content.
Initial insecticide
→ scenario → interventions → human → component → IRS → initialInsecticide
<initialInsecticide
mu=double
sigma=double
/>
Documentation (element)
Units: μg/cm² Min: 0
The insecticide concentration of IRS (at time of spraying) is Gaussian distributed with mean "mu" and a standard deviation "sigma". The standard deviation should be small relative to the mean to avoid negative initial concentration. Any negative values sampled are set to 0.
Documentation (type)
Parameters of a normal distribution.
Variates are sampled as: X ~ N( mu, sigma² ).
Attributes
mu
mu=double
Units: (same as base units)
The mean of the normal distribution.
sigma
sigma=double
Units: (same as base units)
The standard deviation of variates.
Decay of insecticide
→ scenario → interventions → human → component → IRS → insecticideDecay
<insecticideDecay
function=("constant" or "step" or "linear" or "exponential" or "weibull" or "hill" or "smooth-compact")
L=double
[ k=double ] DEFAULT VALUE 1.0
[ mu=double ] DEFAULT VALUE 0
[ sigma=double ] DEFAULT VALUE 0
/>
Documentation (element)
Units: none
Decay curve for insecticide content of IRS. Documentation: see DecayFunction type or https://github.com/SwissTPH/openmalaria/wiki/ModelDecayFunctions
Documentation (type)
Specification of decay or survival of a parameter.
Attributes
function
function=("constant" or "step" or "linear" or "exponential" or "weibull" or "hill" or "smooth-compact")
Units: None Min: 0 Max: 1
Determines which decay function to use. Available decay functions, for age t in years: constant: 1 step: 1 for t less than L, otherwise 0 linear: 1 - t/L for t less than L, otherwise 0 exponential: exp( - t/L * log(2) ) weibull: exp( -(t/L)^k * log(2) ) hill: 1 / (1 + (t/L)^k) smooth-compact: exp( k - k / (1 - (t/L)^2) ) for t less than L, otherwise 0
L
L=double
Units: Years Min: 0
Scale parameter of distribution. With the smooth-compact (smooth function with compact support), step and linear functions, this is the age at which the parameter has decayed to 0; with the other three functions, this is the age at which the parameter has decayed to half its original value. Not used for constant decay (though must be specified anyway).
k
k=double
Units: none Min: 0
Default value: 1.0
Shape parameter of distribution. If not specified, default value of 1 is used. Meaning depends on function; not used in some cases.
μ (mu)
mu=double
Min: 0
Default value: 0
If sigma is non-zero, heterogeneity of decay is introduced via a random variable sampled from the log-normal distribution with mu and sigma as specified. Both mu and sigma default to zero when not specified. The decay rate is multiplied by this variable (effectively, the half-life is divided by it). Note that with m=0, the median of the variable and the median value of L is unchanged, and thus the time at which the median decay amongst the population of decaying objects reaches half (assuming exponential, Weibull or Hill decay) is L. With m=-½σ² (negative half sigma squared) the mean of the variable will be 1 and mean of the half-life L, but the time at which mean decay of the population has reached half may not be L.
σ (sigma)
sigma=double
Min: 0
Default value: 0
If sigma is non-zero, heterogeneity of decay is introduced via a random variable sampled from the log-normal distribution with mu and sigma as specified. Both mu and sigma default to zero when not specified. The decay rate is multiplied by this variable (effectively, the half-life is divided by it).
Per-mosquito species parameters
→ scenario → interventions → human → component → IRS → anophelesParams
<anophelesParams
mosquito=string
[ propActive=double ] DEFAULT VALUE 1
>
IN THIS ORDER:
| <deterrency ... />
| <preprandialKillingEffect ... />
| <postprandialKillingEffect ... />
</anophelesParams>
Attributes
Mosquito species
mosquito=string
Name of the affected anopheles-mosquito species.
Proportion of bites for which IRS acts
propActive=double
Units: dimensionless Min: 0 Max: 1
Default value: 1
The proportion of bites for which the IRS has any action whatsoever on the mosquito. At the moment this is constant across humans and deterministic: relative attractiveness and survival factors are base*(1-propActing) + intervention_factor*propActing.
Relative attractiveness
→ scenario → interventions → human → component → IRS → anophelesParams → deterrency
<deterrency
insecticideFactor=double
insecticideScalingFactor=double
/>
Documentation (element)
Units: dimensionless Min: 0 Max: 1
Effect of IRS on attractiveness of humans to mosquitoes relative to an unprotected adult human. Parameterisations should take into account that mosquitoes do not always bite indoors.
Attractiveness of the human is multiplied by exp(P×log(p)) where P is the insecticide factor, p=1−exp(-insecticideContent×insecticideScalingFactor).
Attributes
Insecticide factor
insecticideFactor=double
Units: none Max: 1
Value expected to be at least 0. Negative values are not necessarily invalid, but allow nets to increase transmission.
Insecticide scaling factor
insecticideScalingFactor=double
Units: none Min: 0
Pre-prandial killing effect
→ scenario → interventions → human → component → IRS → anophelesParams → preprandialKillingEffect
<preprandialKillingEffect
insecticideFactor=double
insecticideScalingFactor=double
baseFactor=double
/>
Documentation (element)
Units: dimensionless Min: 0 Max: 1
Effect of IRS on survival mosquitoes as they seek to bite a human after choosing that human, relative to the same person not protected by IRS. Parameterisations should take into account that mosquitoes do not always bite indoors. This parameter has been added since some data shows IRS to have a preprandial killing effect.
Killing proportion is calculated as K = B + P×p where B is the base (without protection) probability of death, and P is the insecticide factor, p=1−exp(-insecticideContent×insecticideScalingFactor).
Survival of mosquitoes is adjusted via multiplication by (1−K) / (1−B). To keep this in the range [0,1], we require that B+P ≤ 1 and P ≥ 0.
Attributes
Insecticide factor
insecticideFactor=double
Units: none Max: 1
Value expected to be at least 0. Negative values are not necessarily invalid, but allow nets to increase transmission.
Insecticide scaling factor
insecticideScalingFactor=double
Units: none Min: 0
Probability of mosquito death without intervention
baseFactor=double
Units: dimensionless
Post-prandial killing effect
→ scenario → interventions → human → component → IRS → anophelesParams → postprandialKillingEffect
<postprandialKillingEffect
insecticideFactor=double
insecticideScalingFactor=double
baseFactor=double
/>
Documentation (element)
Units: dimensionless Min: 0 Max: 1
Effect of IRS on survival mosquitoes as they seek to escape from a human host and rest after a blood meal, relative to the same person not protected by IRS. Parameterisations should take into account that mosquitoes do not always bite indoors.
Killing proportion is calculated as K = B + P×p where B is the base (without protection) probability of death, and P is the insecticide factor, p=1−exp(-insecticideContent×insecticideScalingFactor).
Survival of mosquitoes is adjusted via multiplication by (1−K) / (1−B). To keep this in the range [0,1], we require that B+P ≤ 1 and P ≥ 0.
Attributes
Insecticide factor
insecticideFactor=double
Units: none Max: 1
Value expected to be at least 0. Negative values are not necessarily invalid, but allow nets to increase transmission.
Insecticide scaling factor
insecticideScalingFactor=double
Units: none Min: 0
Probability of mosquito death without intervention
baseFactor=double
Units: dimensionless
Generic vector intervention
→ scenario → interventions → human → component → GVI
<GVI>
IN THIS ORDER:
| <decay ... />
| ( <anophelesParams ... /> )+
</GVI>
Documentation (element)
Low-level description of intervention effects on vectors (i.e. mosquitoes). Can be used to describe simple ITN or IRS interventions (though more complex models are available for these interventions) or other interventions such as mosquito repellant or ivermectin.
Note that all actions of this intervention component will decay according to a single decay function. If independant decay is wanted, a separate component can be used for each action.
Decay
→ scenario → interventions → human → component → GVI → decay
<decay
function=("constant" or "step" or "linear" or "exponential" or "weibull" or "hill" or "smooth-compact")
L=double
[ k=double ] DEFAULT VALUE 1.0
[ mu=double ] DEFAULT VALUE 0
[ sigma=double ] DEFAULT VALUE 0
/>
Documentation (element)
Description of decay of all intervention effects. Documentation: see DecayFunction type or https://github.com/SwissTPH/openmalaria/wiki/ModelDecayFunctions
Documentation (type)
Specification of decay or survival of a parameter.
Attributes
function
function=("constant" or "step" or "linear" or "exponential" or "weibull" or "hill" or "smooth-compact")
Units: None Min: 0 Max: 1
Determines which decay function to use. Available decay functions, for age t in years: constant: 1 step: 1 for t less than L, otherwise 0 linear: 1 - t/L for t less than L, otherwise 0 exponential: exp( - t/L * log(2) ) weibull: exp( -(t/L)^k * log(2) ) hill: 1 / (1 + (t/L)^k) smooth-compact: exp( k - k / (1 - (t/L)^2) ) for t less than L, otherwise 0
L
L=double
Units: Years Min: 0
Scale parameter of distribution. With the smooth-compact (smooth function with compact support), step and linear functions, this is the age at which the parameter has decayed to 0; with the other three functions, this is the age at which the parameter has decayed to half its original value. Not used for constant decay (though must be specified anyway).
k
k=double
Units: none Min: 0
Default value: 1.0
Shape parameter of distribution. If not specified, default value of 1 is used. Meaning depends on function; not used in some cases.
μ (mu)
mu=double
Min: 0
Default value: 0
If sigma is non-zero, heterogeneity of decay is introduced via a random variable sampled from the log-normal distribution with mu and sigma as specified. Both mu and sigma default to zero when not specified. The decay rate is multiplied by this variable (effectively, the half-life is divided by it). Note that with m=0, the median of the variable and the median value of L is unchanged, and thus the time at which the median decay amongst the population of decaying objects reaches half (assuming exponential, Weibull or Hill decay) is L. With m=-½σ² (negative half sigma squared) the mean of the variable will be 1 and mean of the half-life L, but the time at which mean decay of the population has reached half may not be L.
σ (sigma)
sigma=double
Min: 0
Default value: 0
If sigma is non-zero, heterogeneity of decay is introduced via a random variable sampled from the log-normal distribution with mu and sigma as specified. Both mu and sigma default to zero when not specified. The decay rate is multiplied by this variable (effectively, the half-life is divided by it).
Per-mosquito species parameters
→ scenario → interventions → human → component → GVI → anophelesParams
<anophelesParams
mosquito=string
[ propActive=double ] DEFAULT VALUE 1
>
IN THIS ORDER:
| [ <deterrency ... /> ]
| [ <preprandialKillingEffect ... /> ]
| [ <postprandialKillingEffect ... /> ]
</anophelesParams>
Attributes
Mosquito species
mosquito=string
Name of the affected anopheles-mosquito species.
Proportion of bites for which IRS acts
propActive=double
Units: dimensionless Min: 0 Max: 1
Default value: 1
The proportion of bites for which the IRS has any action whatsoever on the mosquito. At the moment this is constant across humans and deterministic: relative attractiveness and survival factors are base*(1-propActing) + intervention_factor*propActing.
Relative attractiveness
→ scenario → interventions → human → component → GVI → anophelesParams → deterrency
<deterrency
value=double
/>
Documentation (element)
Units: dimensionless Min: 0 Max: 1
Effect of IRS on attractiveness of humans to mosquitoes relative to an unprotected adult human. Parameterisations should take into account that mosquitoes do not always bite indoors.
Attractiveness of the human is multiplied this factor times survival of effect.
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Pre-prandial killing effect
→ scenario → interventions → human → component → GVI → anophelesParams → preprandialKillingEffect
<preprandialKillingEffect
value=double
/>
Documentation (element)
Units: dimensionless Min: 0 Max: 1
Effect of IRS on survival mosquitoes as they seek to bite a human after choosing that human, relative to the same person not protected by IRS. Parameterisations should take into account that mosquitoes do not always bite indoors. This parameter has been added since some data shows IRS to have a preprandial killing effect.
Killing proportion is this factor multiplied by survival of effect.
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Post-prandial killing effect
→ scenario → interventions → human → component → GVI → anophelesParams → postprandialKillingEffect
<postprandialKillingEffect
value=double
/>
Documentation (element)
Units: dimensionless Min: 0 Max: 1
Effect of IRS on survival mosquitoes as they seek to escape from a human host and rest after a blood meal, relative to the same person not protected by IRS. Parameterisations should take into account that mosquitoes do not always bite indoors.
Killing proportion is this factor multiplied by survival of effect.
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Recruitment only
→ scenario → interventions → human → component → recruitmentOnly
<recruitmentOnly/>
Documentation (element)
Recruitment of a host into a sub-population.
All human-targeting intervention deployments recruit simulated humans into a sub-population which can be used for the purposes of cumulative deployment, deployment only to a sub-population and defining a cohort. This pseudo-intervention can be used to define a sub-population without also deploying some intervention.
Clear Immunity
→ scenario → interventions → human → component → clearImmunity
<clearImmunity/>
Documentation (element)
Removes all exposure-related immunitsy gained over time by hosts without removing infections (or affecting the ability to gain immunity through exposure).
Hypothetical, but potentially useful to simulate scenarios with unprotected humans.
subPopRemoval
→ scenario → interventions → human → component → subPopRemoval
<subPopRemoval
[ onFirstBout=boolean ] DEFAULT VALUE false
[ onFirstTreatment=boolean ] DEFAULT VALUE false
[ onFirstInfection=boolean ] DEFAULT VALUE false
[ afterYears=double ]
/>
Documentation (type)
Each human intervention component corresponds to a sub-population: those who have received or are considered to be protected by the intervention component. Humans automatically become members of this sub-population when receiving an intervention component; this element controls how humans are removed from the sub-population.
ITN attrition also removes humans from sub-populations.
Note that sub-populations do not directly correspond to an intervention's effects: lack of effectiveness does not imply removal from the sub-population (except as explicitly configured here) and removal from the sub-population does not halt an intervention's effects.
Sub-populations may be used to define a cohort, to restrict deployment of other interventions and to use cumulative deployment mode. A sub- population may or may not correspond (roughly) to humans protected by some intervention.
Attributes
Time to first episode only
onFirstBout=boolean
Default value: false
If true, remove individuals from the sub-population at the start of the first episode (start of a clinical bout) since they were recruited into the sub-population. This is intended for cohort studies which measure time to the first episode, using active case detection. Reports delayed due to health-system memory are forced out when this occurs. Note that this can increase the number of uncomplicated cases reported across the entire population; for this reason reports are not forced on recruitment or most removal options. This does not prevent re-recruitment in the case that recruitment settings could conceivably recruit the same individual twice.
Time to first treatment only
onFirstTreatment=boolean
Default value: false
If true, remove individuals from the sub-population when they first seektreatment since they were recruited into the sub-population. This is intended for cohort studies which measure the time to first episode, using passive case detection. Reports delayed due to health-system memory are forced out when this occurs. Note that this can increase the number of uncomplicated cases reported across the entire population; for this reason reports are not forced on recruitment or most removal options. This does not prevent re-recruitment in the case that recruitment settings could conceivably recruit the same individual twice.
Time to first infection only
onFirstInfection=boolean
Default value: false
If true, remove individuals from the sub-population at completion of the first survey in which they present with a patent infection since they were recruited into the sub-population. This intended for cohort studies which measure time to the first infection, using active case detection. Reports delayed due to health-system memory are forced out when this occurs. Note that this can increase the number of uncomplicated cases reported across the entire population; for this reason reports are not forced on recruitment or most removal options. This does not prevent re-recruitment in the case that recruitment settings could conceivably recruit the same individual twice.
Remove from sub-population after
afterYears=double
Units: Years Min: 0
If given, membership to the sub-population of humans who have received this intervention component expires after the given number of years. Note that future deployments renew membership (e.g. if this parameter is 4 years and the intervention is redeployed 3 years from now, expiry happens after 7 years). This provides a crude way of modelling a cohort protected by some intervention. A few interventions provide more detailed ways of modelling expiry of protection. In any case, "expiry of protection" is an abstract concept and does not imply that all protection has ceased, even in the simulator. This may also be useful for cumulative deployment. Minimum duration is zero, which implies the human is effectively never a member of the sub-population; a duration of one timestep implies the human is a member of the sub-population while any futher interventions are deployed on the same time as this human becomes a member and on the next update of the human (including transmission and health system events) but not beyond that. If this attribute is not given, the simulated human is a member until death or some other option triggers removal.
Deployment
→ scenario → interventions → human → deployment
<deployment
[ name=string ]
>
IN THIS ORDER:
| ( <component ... /> )+
| ( <continuous ... /> )*
| ( <timed ... /> )*
</deployment>
Documentation (element)
This element describes deployment of an intervention: which components are deployed, how humans are selected for deployment (via timed or age-based deployment) as well as a few additional restrictions (e.g. vaccine dosing restrictions).
All components deployed by this intervention are deployed to the same people (each timed or continuous deployment selects recipients and then gives each recipient all components of the intervention).
Attributes
Intervention name
name=string
Name of intervention
component
→ scenario → interventions → human → deployment → component
<component
id=string
/>
Documentation (type)
The list of components deployed to eligible humans.
Attributes
Identifier
id=string
The identifier (short name) of a component.
Age-based (continuous) deployment
→ scenario → interventions → human → deployment → continuous
<continuous>
IN THIS ORDER:
| [ <restrictToSubPop ... /> ]
| ( <deploy ... /> )+
</continuous>
Documentation (element)
List of ages at which deployment takes place (through EPI, post-natal and school-based programmes, etc.).
A sub-population restriction may be added as a property of the list of continuous deployments.
restrictToSubPop
→ scenario → interventions → human → deployment → continuous → restrictToSubPop
<restrictToSubPop
id=string
[ complement=boolean ] DEFAULT VALUE false
/>
Documentation (type)
If this element is specified, deployment is restricted to some sub-population (specified via the "id" attribute); otherwise the target population is the entire simulated population. Either way, other deployment restrictions (age, time, number of vaccine doeses) still apply.
Attributes
Sub-population identifier
id=string
The identifier (short name) of the sub-population (i.e. the "id" of some intervention component). Also see the "complement" attribute.
Complement
complement=boolean
Default value: false
If this is not specified or is false, deployment is restricted to the sub-population of people protected by the intervention component who's id is given. If complement is set to true, deployment is instead restricted to the complement of that sub-population, i.e. to those
deploy
→ scenario → interventions → human → deployment → continuous → deploy
<deploy
coverage=double
[ vaccMinPrevDoses=int ]
[ vaccMaxCumDoses=int ]
targetAgeYrs=double
[ begin=int ] DEFAULT VALUE 0
[ end=int ] DEFAULT VALUE 2147483647
/>
Attributes
Coverage
coverage=double
Units: dimensionless Min: 0 Max: 1
Proportion of otherwise eligible individuals who will receive this deployment.
Vaccine min previous doses
vaccMinPrevDoses=int
Units: inoculations Min: 0
Applies to vaccines only: vaccine doses are only deployed by this deployment if the previous number of doses (for the component deployed) is at least this number. For example, if this is the second deployment opportunity for this vaccine and this value is 1, then this deployment cannot deploy the vaccine to individuals who did not receive the first deployment.
Vaccine max cumulative doses
vaccMaxCumDoses=int
Units: inoculations Min: 0
Applies to vaccines only: vaccine doses are only deployed by this deployment if the previous number of doses (for the component deployed) is less than this number.
Target age
targetAgeYrs=double
Units: Years Min: 0 Max: 100
Target age of intervention
First timestep active
begin=int
Units: Timesteps Min: 0 Max: 2147483647
Default value: 0
First timestep (from 0 at the beginning of the intervention period) this item is active. Defaults to 0.
End timestep
end=int
Units: Timesteps Min: 0 Max: 2147483647
Default value: 2147483647
End of the period during which the intervention is active (to be exact, the first timestep of the intervention period at which the item becomes inactive). Defaults to 2147483647.
Mass (timed) deployment
→ scenario → interventions → human → deployment → timed
<timed>
IN THIS ORDER:
| [ <restrictToSubPop ... /> ]
| [ <cumulativeCoverage ... /> ]
| ( <deploy ... /> )+
</timed>
Documentation (element)
List of timed deployments of the intervention (that is, of deployment campaigns).
Cumulative deployment mode can be specified for all deployments in a timed list. To allow multiple cumulative deployment descriptions, the entire timed list may be repeated.
restrictToSubPop
→ scenario → interventions → human → deployment → timed → restrictToSubPop
<restrictToSubPop
id=string
[ complement=boolean ] DEFAULT VALUE false
/>
Documentation (type)
If this element is specified, deployment is restricted to some sub-population (specified via the "id" attribute); otherwise the target population is the entire simulated population. Either way, other deployment restrictions (age, time, number of vaccine doeses) still apply.
Attributes
Sub-population identifier
id=string
The identifier (short name) of the sub-population (i.e. the "id" of some intervention component). Also see the "complement" attribute.
Complement
complement=boolean
Default value: false
If this is not specified or is false, deployment is restricted to the sub-population of people protected by the intervention component who's id is given. If complement is set to true, deployment is instead restricted to the complement of that sub-population, i.e. to those
Cumulative coverage
→ scenario → interventions → human → deployment → timed → cumulativeCoverage
<cumulativeCoverage
component=string
/>
Documentation (element)
If this element is not specified, standard deployment occurs, where a portion of the population as given by the coverage property of this campaign is selected, and interventions are deployed to all of these people (regardless of previous coverage).
If this attribute is specified, instead, the population is divided into two sets: those who are a member of a certain sub-population and those who are not (see "subPopRemoval" element). If the proportion of people in the first set is less than the desired coverage, then the proportion of people from the second set needed to increase total coverage to the desired coverage is calculated. This proportion is then used as the probablity of selection from the second set into a third set of people who then receive all interventions deployed by this campaign.
Note that selection is stochastic so the final coverage level may not be exactly that desired. Note also that the component used when selecting people need not actually be one of the components deployed by this intervention, although that is the intended use case.
Attributes
Component identifier
component=string
The identifier (short name) of the component used when selecting people.
deploy
→ scenario → interventions → human → deployment → timed → deploy
<deploy
coverage=double
[ vaccMinPrevDoses=int ]
[ vaccMaxCumDoses=int ]
time=int
[ maxAge=double ]
[ minAge=double ] DEFAULT VALUE 0
/>
Attributes
Coverage
coverage=double
Units: dimensionless Min: 0 Max: 1
Proportion of otherwise eligible individuals who will receive this deployment.
Vaccine min previous doses
vaccMinPrevDoses=int
Units: inoculations Min: 0
Applies to vaccines only: vaccine doses are only deployed by this deployment if the previous number of doses (for the component deployed) is at least this number. For example, if this is the second deployment opportunity for this vaccine and this value is 1, then this deployment cannot deploy the vaccine to individuals who did not receive the first deployment.
Vaccine max cumulative doses
vaccMaxCumDoses=int
Units: inoculations Min: 0
Applies to vaccines only: vaccine doses are only deployed by this deployment if the previous number of doses (for the component deployed) is less than this number.
Time
time=int
Units: time-steps Min: 0
Time-step at which this intervention occurs, starting from 0, the first intervention-period time-step.
Maximum age of eligible individuals
maxAge=double
Units: Years Min: 0
Maximum age of eligible individuals (defaults to no limit)
Minimum age of eligible individuals
minAge=double
Units: Years Min: 0
Default value: 0
Minimum age of eligible individuals (defaults to 0)
Health system description
→ scenario → healthSystem
<healthSystem>
IN THIS ORDER:
| EXACTLY ONE OF:
| | <EventScheduler ... />
| | <ImmediateOutcomes ... />
| <CFR ... />
| <pSequelaeInpatient ... />
</healthSystem>
Documentation (element)
Description of health system.
Documentation (type)
Description of case management system, used to specify the initial model or a replacement (an intervention). Encompasses case management data and some other data required to derive case outcomes.
Contains a sub-element describing the particular health-system in use. Health system data is here defined as data used to decide on a treatment strategy, given a case requiring treatment.
Transmission and vector bionomics
→ scenario → entomology
<entomology
name=string
mode=("forced" or "dynamic")
[ scaledAnnualEIR=double ]
>
IN THIS ORDER:
| EXACTLY ONE OF:
| | <nonVector ... />
| | <vector ... />
</entomology>
Documentation (element)
Description of entomological data
Attributes
Entomology dataset name
name=string
Name of entomology data
Transmission model mode
mode=("forced" or "dynamic")
Transmission simulation mode: may be forced (in which case interventions and changes to human infectiousness cannot affect EIR) or dynamic (in which the above can affect EIR). The full vector model is only used in dynamic mode. This can not be changed by interventions, except for the changeEIR intervention for the non-vector model which replaces the EIR with a new description (used in forced mode).
Override annual EIR
scaledAnnualEIR=double
Units: Infectious bites per adult per year
If set, the annual EIR (for all species of vector) is scaled to this level; can be omitted if not needed.
Transmission setting (vector control not enabled)
→ scenario → entomology → nonVector
<nonVector
eipDuration=int
>
IN THIS ORDER:
| ( <EIRDaily ... /> )+
</nonVector>
Documentation (element)
Description of transmission setting for models without vector control interventions (included for backward compatibility)
Attributes
Duration of sporogony
eipDuration=int
Units: Days
The duration of sporogony in days
Transmission setting (vector control enabled)
→ scenario → entomology → vector
<vector>
IN THIS ORDER:
| ( <anopheles ... /> )+
| ( <nonHumanHosts ... /> )*
</vector>
Documentation (element)
Parameters of the transmission model
anopheles
→ scenario → entomology → vector → anopheles
<anopheles
mosquito=string
propInfected=double
propInfectious=double
>
IN THIS ORDER:
| <seasonality ... />
| <mosq ... />
| [ <lifeCycle ... /> ]
| [ <simpleMPD ... /> ]
| ( <nonHumanHosts ... /> )*
</anopheles>
Documentation (type)
Description of input EIR for one specific vector species in terms of a Fourier approximation to the ln of the EIR during the burn in period
Attributes
Identifier for this anopheles species
mosquito=string
Identifier for this anopheles species
Initial estimate of proportion of mosquitoes infected (ρ_O)
propInfected=double
Units: Proportion Min: 0 Max: 1
Initial guess of the proportion of mosquitoes which are infected, o: O_v(t) = o*N_v(t). Only used as a starting value.
Initial estimate of proportion of mosquitoes infectious (ρ_S)
propInfectious=double
Units: Proportion Min: 0 Max: 1
Initial estimate of the proportion of mosquitoes which are infectious, s: S_v(t) = s*N_v(t). Used as a starting value and then fit.
Seasonality of transmission
→ scenario → entomology → vector → anopheles → seasonality
<seasonality
input=("EIR")
[ annualEIR=double ]
>
IN THIS ORDER:
| EXACTLY ONE OF:
| | <fourierSeries ... />
| | <monthlyValues ... />
| | <dailyValues ... />
</seasonality>
Documentation (element)
Specifies the seasonality of transmission and optionally the level of annual transmission.
Attributes
Seasonality input
input=("EIR")
Specify what seasonality measure is given. At the moment, only EIR is supported, but in the future, all the below should be supported. EIR: seasonality of entomological inoculations is input. Units: entomological inoculations per adult per annum. hostSeeking: seasonality of densities of flying host-seeking mosquitoes is input (in the model this is notated N_v). Units: mosquitoes. emergence: seasonality of emergence pupa into adults. Units: mosquitoes. larvalResources: seasonality of larval resources. Units: X.
Annual EIR
annualEIR=double
Units: Inoculations per adult per annum Min: 0
If this attribute is included, EIR for this species is scaled to this level. Note that if the scaledAnnualEIR attribute of the entomology element is also used, EIR is scaled again, making this attribute the EIR relative to other species. With some seasonality inputs, this attribute is optional, in which case (if scaledAnnualEIR is also not specified) transmission depends on all parameters of the vector. With some seasonality inputs, however, this parameter must be specified.
Fourier approximation to pre-intervention EIR
→ scenario → entomology → vector → anopheles → seasonality → fourierSeries
<fourierSeries
EIRRotateAngle=double
>
IN THIS ORDER:
| ( <coeffic ... /> )*
</fourierSeries>
Documentation (element)
Units: Infectious bites per adult per day
Seasonality is reproduced from the exponential of a fourier series specified by the following coefficients. Note that the a0 term is not needed; the annualEIR attribute of the seasonality element should be used to scale EIR instead.
Attributes
Rotation angle defining the origin of the Fourier approximation to ln (EIR)
EIRRotateAngle=double
Units: Radians
Rotation angle defining the origin of the Fourier approximation to ln (EIR)
Pair of Fourier coefficients
→ scenario → entomology → vector → anopheles → seasonality → fourierSeries → coeffic
<coeffic
a=double
b=double
/>
Documentation (element)
A pair of Fourier series coefficients. The first element specifies a1 and b1, the second a2 and b2, etc. Any number (from 0 up) of pairs may be given.
Attributes
a_n parameter of Fourier approximation to ln(EIR)
a=double
a_n parameter of Fourier approximation to ln(EIR) for some natural number n.
b_n parameter of Fourier approximation to ln(EIR)
b=double
b_n parameter of Fourier approximation to ln(EIR) for some natural number n.
List of monthly values
→ scenario → entomology → vector → anopheles → seasonality → monthlyValues
<monthlyValues
smoothing=("none" or "fourier")
>
IN THIS ORDER:
| ( <value ... /> ){12,12}
</monthlyValues>
Documentation (element)
Description of seasonality from monthly values. Multiple smoothing methods are possible (see smoothing attribute).
List should contain twelve entries: January to December.
Attributes
Smoothing function
smoothing=("none" or "fourier")
How the monthly values are converted into a daily sequence of values:
- none: no smoothing (step function)
- Fourier: a Fourier series (with terms up to a2/b2) is fit to the sequence of monthly values and used to generate a smoothed list of daily values.
Monthly value
→ scenario → entomology → vector → anopheles → seasonality → monthlyValues → value
<value>
double
</value>
Documentation (element)
Units: (see "seasonality input" parameter)
Monthly value
List of daily values
→ scenario → entomology → vector → anopheles → seasonality → dailyValues
<dailyValues>
IN THIS ORDER:
| ( <value ... /> ){365,365}
</dailyValues>
Documentation (element)
Description of seasonality from daily values.
List should contain 365 entries: 1st January to 31st December.
Daily value
→ scenario → entomology → vector → anopheles → seasonality → dailyValues → value
<value>
double
</value>
Documentation (element)
Units: (see "seasonality input" parameter)
Daily value
Mosquito feeding cycle parameters
→ scenario → entomology → vector → anopheles → mosq
<mosq
minInfectedThreshold=double
>
IN ANY ORDER:
| <mosqRestDuration ... />
| <extrinsicIncubationPeriod ... />
| <mosqLaidEggsSameDayProportion ... />
| <mosqSeekingDuration ... />
| <mosqSurvivalFeedingCycleProbability ... />
| <availabilityVariance ... />
| <mosqProbBiting ... />
| <mosqProbFindRestSite ... />
| <mosqProbResting ... />
| <mosqProbOvipositing ... />
| <mosqHumanBloodIndex ... />
</mosq>
- mosqRestDuration
- extrinsicIncubationPeriod
- mosqLaidEggsSameDayProportion
- mosqSeekingDuration
- mosqSurvivalFeedingCycleProbability
- availabilityVariance
- mosqProbBiting
- mosqProbFindRestSite
- mosqProbResting
- mosqProbOvipositing
- mosqHumanBloodIndex
Documentation (element)
Parameters describing the feeding cycle and human mosquito interaction of a single species of anopheles mosquito.
Attributes
Mininum infected threshold for mosquitos
minInfectedThreshold=double
Min: 0
If less than this many mosquitoes remain infected, transmission is interrupted.
Duration of the resting period of the vector
→ scenario → entomology → vector → anopheles → mosq → mosqRestDuration
<mosqRestDuration
value=int
/>
Documentation (element)
Units: Days
name:Duration of the resting period of the vector (days);
Attributes
Input parameter value
value=int
An integer value.
Extrinsic incubation period
→ scenario → entomology → vector → anopheles → mosq → extrinsicIncubationPeriod
<extrinsicIncubationPeriod
value=int
/>
Documentation (element)
Units: Days
name:Extrinsic incubation period (days)
Attributes
Input parameter value
value=int
An integer value.
Proportion of mosquitoes host seeking on same day as ovipositing
→ scenario → entomology → vector → anopheles → mosq → mosqLaidEggsSameDayProportion
<mosqLaidEggsSameDayProportion
value=double
/>
Documentation (element)
Units: Proportion
Proportion of mosquitoes host seeking on same day as ovipositing
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Duration of the host-seeking period of the vector
→ scenario → entomology → vector → anopheles → mosq → mosqSeekingDuration
<mosqSeekingDuration
value=double
/>
Documentation (element)
Units: Days
Duration of the host-seeking period of the vector (days)
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Probability that the mosquito survives the feeding cycle
→ scenario → entomology → vector → anopheles → mosq → mosqSurvivalFeedingCycleProbability
<mosqSurvivalFeedingCycleProbability
value=double
/>
Documentation (element)
Units: Proportion
Probability that the mosquito survives the feeding cycle
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Variance in human availability rate
→ scenario → entomology → vector → anopheles → mosq → availabilityVariance
<availabilityVariance
value=double
/>
Documentation (element)
Variance in availability rate of humans to mosquitoes. The mean rate is calculated based on other parameters.
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Probability that the mosquito succesfully bites chosen host
→ scenario → entomology → vector → anopheles → mosq → mosqProbBiting
<mosqProbBiting
mean=double
variance=double
/>
Documentation (element)
Probability that the mosquito succesfully bites chosen host
Documentation (type)
Parameters of a normal distribution, provided as mean and variance.
Variates are sampled from Be(α,β) where α and β are determined from the mean and variance as follows: let v be the variance and c=mean/(1-mean). Then we set α=cβ and β=((c+1)²v - c)/((c+1)³v).
Attributes
mean
mean=double
Units: none
The mean of the beta distribution (must be in the open range (0,1)).
variance
variance=double
Units: none
The standard deviation of variates.
Probability that the mosquito escapes host and finds a resting place after biting
→ scenario → entomology → vector → anopheles → mosq → mosqProbFindRestSite
<mosqProbFindRestSite
mean=double
variance=double
/>
Documentation (element)
Probability that the mosquito escapes host and finds a resting place after biting
Documentation (type)
Parameters of a normal distribution, provided as mean and variance.
Variates are sampled from Be(α,β) where α and β are determined from the mean and variance as follows: let v be the variance and c=mean/(1-mean). Then we set α=cβ and β=((c+1)²v - c)/((c+1)³v).
Attributes
mean
mean=double
Units: none
The mean of the beta distribution (must be in the open range (0,1)).
variance
variance=double
Units: none
The standard deviation of variates.
Probability of mosquito successfully resting after finding a resting site
→ scenario → entomology → vector → anopheles → mosq → mosqProbResting
<mosqProbResting
mean=double
variance=double
/>
Documentation (element)
Probability of mosquito successfully resting after finding a resting site
Documentation (type)
Parameters of a normal distribution, provided as mean and variance.
Variates are sampled from Be(α,β) where α and β are determined from the mean and variance as follows: let v be the variance and c=mean/(1-mean). Then we set α=cβ and β=((c+1)²v - c)/((c+1)³v).
Attributes
mean
mean=double
Units: none
The mean of the beta distribution (must be in the open range (0,1)).
variance
variance=double
Units: none
The standard deviation of variates.
Probability of a mosquito successfully laying eggs given that it has rested
→ scenario → entomology → vector → anopheles → mosq → mosqProbOvipositing
<mosqProbOvipositing
value=double
/>
Documentation (element)
Probability of a mosquito successfully laying eggs given that it has rested
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Human blood index
→ scenario → entomology → vector → anopheles → mosq → mosqHumanBloodIndex
<mosqHumanBloodIndex
value=double
/>
Documentation (element)
Units: Proportion
The proportion of resting mosquitoes which fed on human blood during the last feed.
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Mosquito life cycle parameters
→ scenario → entomology → vector → anopheles → lifeCycle
<lifeCycle
[ estimatedLarvalResources=double ] DEFAULT VALUE 1e8
>
IN ANY ORDER:
| <eggStage ... />
| <larvalStage ... />
| <pupalStage ... />
| <femaleEggsLaidByOviposit ... />
</lifeCycle>
Documentation (element)
Parameters describing the life-cycle of this species of mosquito
Attributes
Estimate of larval resources
estimatedLarvalResources=double
Units: X
Default value: 1e8
An estimate of mean annual availability of resources to larvae. Used to get the resource usage fitting algorithm going; if the algorithm fails to fit the resource availability then tweaking this parameter may help. In other cases tweaking this parameter shouldn't be necessary. Default value is 10⁸ (1e8). Units are arbitrary but must be the same as those used by the resourceUsage parameter.
Egg stage
→ scenario → entomology → vector → anopheles → lifeCycle → eggStage
<eggStage
duration=int
survival=double
/>
Documentation (element)
Parameters for the egg stage of development
Documentation (type)
Parameters associated with a mosquito development stage.
Attributes
Duration
duration=int
Units: Days
Duration of the stage (i.e. length of time mosquito is an egg/larva/pupa).
Probability of survival
survival=double
Units: Proportion
Probability that mosquito survives this size (probability of egg hatching, a larva becoming a pupa or a pupa emerging as an adult, at the start of that stage).
larvalStage
→ scenario → entomology → vector → anopheles → lifeCycle → larvalStage
<larvalStage>
</larvalStage>
Documentation (type)
Parameters for the larval stage of development
Documentation (base type)
Parameters associated with a mosquito development stage.
Daily development
→ scenario → entomology → vector → anopheles → lifeCycle → larvalStage → daily
<daily
resourceUsage=double
effectCompetition=double
/>
Documentation (element)
List of parameters which apply during the larval stage of development. List length must equal stage duration, with first item corresponding to first 24 hours after hatching, second item to hours 24-48, and so on.
Attributes
Resource usage
resourceUsage=double
Units: X
Resource usage during larval stage of development. Units are arbitrary.
Effect of competition
effectCompetition=double
Units: none
Effect of competition over resources on development.
Pupal stage
→ scenario → entomology → vector → anopheles → lifeCycle → pupalStage
<pupalStage
duration=int
survival=double
/>
Documentation (element)
Parameters for the pupal stage of development
Documentation (type)
Parameters associated with a mosquito development stage.
Attributes
Duration
duration=int
Units: Days
Duration of the stage (i.e. length of time mosquito is an egg/larva/pupa).
Probability of survival
survival=double
Units: Proportion
Probability that mosquito survives this size (probability of egg hatching, a larva becoming a pupa or a pupa emerging as an adult, at the start of that stage).
Eggs laid by ovipositing mosquito
→ scenario → entomology → vector → anopheles → lifeCycle → femaleEggsLaidByOviposit
<femaleEggsLaidByOviposit
value=double
/>
Documentation (element)
Units: Eggs per feeding cycle
The total number of female eggs laid by a female mosquito at the conclusion to a feeding cycle.
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Simple Mosq-Pop-Dynamics parameters
→ scenario → entomology → vector → anopheles → simpleMPD
<simpleMPD>
IN ANY ORDER:
| <developmentDuration ... />
| <developmentSurvival ... />
| <femaleEggsLaidByOviposit ... />
</simpleMPD>
Documentation (element)
Parameters describing the simple mosquito population dynamics model.
This is a simpler version of the life-cycle model, requiring less parameters and with much simpler initialisation.
Duration
→ scenario → entomology → vector → anopheles → simpleMPD → developmentDuration
<developmentDuration
value=int
/>
Documentation (element)
Units: Days Min: 1
Duration from egg laying to emergence in days.
Attributes
Input parameter value
value=int
An integer value.
Probability of survival
→ scenario → entomology → vector → anopheles → simpleMPD → developmentSurvival
<developmentSurvival
value=double
/>
Documentation (element)
Units: Proportion Min: 0 Max: 1
Probability that mosquito survives from the egg being laid to emergence, given no resouce limitations (no density constraints).
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Eggs laid by ovipositing mosquito
→ scenario → entomology → vector → anopheles → simpleMPD → femaleEggsLaidByOviposit
<femaleEggsLaidByOviposit
value=double
/>
Documentation (element)
Units: Eggs per feeding cycle
The total number of female eggs laid by a female mosquito at the conclusion to a feeding cycle.
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Alternative (non-human) host paramters
→ scenario → entomology → vector → anopheles → nonHumanHosts
<nonHumanHosts
name=string
>
IN ANY ORDER:
| <mosqRelativeEntoAvailability ... />
| <mosqProbBiting ... />
| <mosqProbFindRestSite ... />
| <mosqProbResting ... />
</nonHumanHosts>
Documentation (element)
Min: 0
Non human host parameters, per type of host (must match up with non-species-specific parameters).
Attributes
Identifier for this category of non-human hosts
name=string
Identifier for this category of non-human hosts
Relative availability of non-human host (ξ_i)
→ scenario → entomology → vector → anopheles → nonHumanHosts → mosqRelativeEntoAvailability
<mosqRelativeEntoAvailability
value=double
/>
Documentation (element)
Units: Proportion
Relative availability of non-human hosts of type i to other non-human hosts; the sum of this across all non-human hosts must be 1.
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Probability of mosquito successfully biting host
→ scenario → entomology → vector → anopheles → nonHumanHosts → mosqProbBiting
<mosqProbBiting
value=double
/>
Documentation (element)
Units: Proportion
Probability of mosquito successfully biting host
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Probability that the mosquito escapes host and finds a resting place after biting
→ scenario → entomology → vector → anopheles → nonHumanHosts → mosqProbFindRestSite
<mosqProbFindRestSite
value=double
/>
Documentation (element)
Units: Proportion
Probability that the mosquito escapes host and finds a resting place after biting
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Probability of mosquito successfully resting after finding a resting site
→ scenario → entomology → vector → anopheles → nonHumanHosts → mosqProbResting
<mosqProbResting
value=double
/>
Documentation (element)
Units: Proportion
Probability of mosquito successfully resting after finding a resting site
Attributes
Input parameter value
value=double
A double-precision floating-point value.
nonHumanHosts
→ scenario → entomology → vector → nonHumanHosts
<nonHumanHosts
name=string
number=double
/>
Attributes
Species of alternative host
name=string
Name of this species of non human hosts (must match up with those described per anopheles section).
Population size of alternative host species
number=double
Units: Number
Population size of this non-human host.
Pharmacokinetics and pharmacodynamics
→ scenario → pharmacology
<pharmacology>
IN THIS ORDER:
| ( <drug ... /> )+
</pharmacology>
Documentation (element)
Drug model parameters
Library of drug parameters
→ scenario → pharmacology → drug
<drug
abbrev=string
>
IN THIS ORDER:
| <PD ... />
| <PK ... />
</drug>
Documentation (element)
Sequence of drug descriptions forming a library of drug parameters.
Attributes
abbrev
abbrev=string
PD
→ scenario → pharmacology → drug → PD
<PD>
IN THIS ORDER:
| ( <allele ... /> )+
</PD>
PD parameters per allele
→ scenario → pharmacology → drug → PD → allele
<allele
name=string
>
IN THIS ORDER:
| <initial_frequency ... />
| <max_killing_rate ... />
| <IC50 ... />
| <slope ... />
</allele>
Documentation (element)
PD parameters per allele, plus initial frequency of each allele.
Note: we assume a one-to-one correspondance of drugs to loci, hence each drug has an independent set of alleles here.
Attributes
name
name=string
Relative frequency
→ scenario → pharmacology → drug → PD → allele → initial_frequency
<initial_frequency>
double
</initial_frequency>
Documentation (element)
Units: dimensionless Min: 0
Frequency, relative to the total frequency of all alleles for this drug/locus.
Maximal parasite killing rate
→ scenario → pharmacology → drug → PD → allele → max_killing_rate
<max_killing_rate>
double
</max_killing_rate>
Documentation (element)
Units: 1/days Min: 0
k1 — Maximal parasite killing rate.
IC50
→ scenario → pharmacology → drug → PD → allele → IC50
<IC50>
double
</IC50>
Documentation (element)
Units: mg/l Min: 0
Half maximal effect concentration.
Slope of effect curve
→ scenario → pharmacology → drug → PD → allele → slope
<slope>
double
</slope>
Documentation (element)
n — Slope of the concentration effect curve
PK
→ scenario → pharmacology → drug → PK
<PK>
IN THIS ORDER:
| <negligible_concentration ... />
| <half_life ... />
| <vol_dist ... />
</PK>
Drug concentration considered negligible
→ scenario → pharmacology → drug → PK → negligible_concentration
<negligible_concentration>
double
</negligible_concentration>
Documentation (element)
Units: mg/l Min: 0
Concentration below which drug's effects are deemed negligible and can be removed from simulation.
drug half-life
→ scenario → pharmacology → drug → PK → half_life
<half_life>
double
</half_life>
Documentation (element)
Units: days Min: 0
Used to calculate elimination rate (which is: ln(2) / half_life).
Volume of Distribution
→ scenario → pharmacology → drug → PK → vol_dist
<vol_dist>
double
</vol_dist>
Documentation (element)
Units: l/kg Min: 0
Volume of Distribution
Model options and parameters
<model>
IN ANY ORDER:
| <ModelOptions ... />
| <clinical ... />
| <human ... />
| [ <vivax ... /> ]
| <parameters ... />
</model>
Documentation (element)
Encapsulation of all parameters which describe the model according to which fitting is done.
Model Options
→ scenario → model → ModelOptions
<ModelOptions>
IN THIS ORDER:
| ( <option ... /> )*
</ModelOptions>
Documentation (element)
All model options (bug fixes, choices between models, etc.).
The list of recognised options can be found in the code at:
include/util/ModelOptions.h and should also be in the wiki.
clinical
<clinical
healthSystemMemory=int
>
IN THIS ORDER:
| [ <NonMalariaFevers ... /> ]
</clinical>
Documentation (type)
Description of clinical parameters that are related to the health-system description, but which contain data that cannot be changed as part of an intervention and that are not restricted to treatment.
Attributes
Follow-up period during which recurrence is treated as a failure
healthSystemMemory=int
Units: Time steps Min: 1 Max: 100
Follow-up period during which a recurrence is considered to be a treatment failure
NonMalariaFevers
→ scenario → model → clinical → NonMalariaFevers
<NonMalariaFevers>
IN THIS ORDER:
| <incidence ... />
| [ <prNeedTreatmentNMF ... /> ]
| [ <prNeedTreatmentMF ... /> ]
</NonMalariaFevers>
Documentation (type)
Description of the incidence of non-malaria fever. Non-malaria fevers are only modelled if the NON_MALARIA_FEVERS option is used.
P(NMF)
→ scenario → model → clinical → NonMalariaFevers → incidence
<incidence
[ interpolation=("none" or "linear") ]
>
IN THIS ORDER:
| ( <group ... /> )+
</incidence>
Documentation (element)
Units: Dimensionless Min: 0.0 Max: 1.0
Probability that a non-malaria fever occurs given that no concurrent malaria fever occurs.
Attributes
interpolation
interpolation=("none" or "linear")
Interpolation algorithm. Normally it is desirable for age-based values to be continuous w.r.t. age. By default linear interpolation is used. With all algorithms except "none", the age groups are converted to a set of points centred within each age range. Extra points are added at each end (zero and infinity) to keep value constant at both ends of the function. A zero-length age group may be used as a kind of barrier to adjust the distribution; e.g. with age group boundaries at 15, 20 and 25 years, a (linear) spline would be drawn between ages 17.5 and 22.5, whereas with boundaries at 15, 20 and 20 years, a spline would be drawn between ages 17.5 and 20 years (may be desired if individuals are assumed to reach adult size at 20). Algorithms:
- none: input values are used directly
- linear: straight lines (on an age vs. value graph) are used to interpolate data points.
P(need treatment | NMF)
→ scenario → model → clinical → NonMalariaFevers → prNeedTreatmentNMF
<prNeedTreatmentNMF
[ interpolation=("none" or "linear") ]
>
IN THIS ORDER:
| ( <group ... /> )+
</prNeedTreatmentNMF>
Documentation (element)
Units: Dimensionless Min: 0 Max: 1
Probability that a non-malarial fever requires treatment with antibiotics (assuming fever is not induced by malaria, although concurrent parasites may be present).
Attributes
interpolation
interpolation=("none" or "linear")
Interpolation algorithm. Normally it is desirable for age-based values to be continuous w.r.t. age. By default linear interpolation is used. With all algorithms except "none", the age groups are converted to a set of points centred within each age range. Extra points are added at each end (zero and infinity) to keep value constant at both ends of the function. A zero-length age group may be used as a kind of barrier to adjust the distribution; e.g. with age group boundaries at 15, 20 and 25 years, a (linear) spline would be drawn between ages 17.5 and 22.5, whereas with boundaries at 15, 20 and 20 years, a spline would be drawn between ages 17.5 and 20 years (may be desired if individuals are assumed to reach adult size at 20). Algorithms:
- none: input values are used directly
- linear: straight lines (on an age vs. value graph) are used to interpolate data points.
P(need treatment | MF)
→ scenario → model → clinical → NonMalariaFevers → prNeedTreatmentMF
<prNeedTreatmentMF
[ interpolation=("none" or "linear") ]
>
IN THIS ORDER:
| ( <group ... /> )+
</prNeedTreatmentMF>
Documentation (element)
Units: Dimensionless Min: 0 Max: 1
Probability that a malaria fever needs treatment with antibiotics (assuming fever is induced by malaria, although concurrent bacteria may be present).
Meaning partially overlaps with separate model for comorbidity given malaria.
Attributes
interpolation
interpolation=("none" or "linear")
Interpolation algorithm. Normally it is desirable for age-based values to be continuous w.r.t. age. By default linear interpolation is used. With all algorithms except "none", the age groups are converted to a set of points centred within each age range. Extra points are added at each end (zero and infinity) to keep value constant at both ends of the function. A zero-length age group may be used as a kind of barrier to adjust the distribution; e.g. with age group boundaries at 15, 20 and 25 years, a (linear) spline would be drawn between ages 17.5 and 22.5, whereas with boundaries at 15, 20 and 20 years, a spline would be drawn between ages 17.5 and 20 years (may be desired if individuals are assumed to reach adult size at 20). Algorithms:
- none: input values are used directly
- linear: straight lines (on an age vs. value graph) are used to interpolate data points.
human
<human>
IN THIS ORDER:
| <availabilityToMosquitoes ... />
| [ <weight ... /> ]
</human>
Documentation (type)
Parameters of host models.
Availability to mosquitoes
→ scenario → model → human → availabilityToMosquitoes
<availabilityToMosquitoes
[ interpolation=("none" or "linear") ]
>
IN THIS ORDER:
| ( <group ... /> )+
</availabilityToMosquitoes>
Documentation (element)
Units: None Min: 0 Max: 1
Availability of humans to mosquitoes relative to an adult, categorized by age group
Attributes
interpolation
interpolation=("none" or "linear")
Interpolation algorithm. Normally it is desirable for age-based values to be continuous w.r.t. age. By default linear interpolation is used. With all algorithms except "none", the age groups are converted to a set of points centred within each age range. Extra points are added at each end (zero and infinity) to keep value constant at both ends of the function. A zero-length age group may be used as a kind of barrier to adjust the distribution; e.g. with age group boundaries at 15, 20 and 25 years, a (linear) spline would be drawn between ages 17.5 and 22.5, whereas with boundaries at 15, 20 and 20 years, a spline would be drawn between ages 17.5 and 20 years (may be desired if individuals are assumed to reach adult size at 20). Algorithms:
- none: input values are used directly
- linear: straight lines (on an age vs. value graph) are used to interpolate data points.
Weight
→ scenario → model → human → weight
<weight
[ interpolation=("none" or "linear") ]
multStdDev=double
>
IN THIS ORDER:
| ( <group ... /> )+
</weight>
Documentation (element)
Units: kg Min: 0
By age group data on human weight (mass).
Attributes
interpolation
interpolation=("none" or "linear")
Interpolation algorithm. Normally it is desirable for age-based values to be continuous w.r.t. age. By default linear interpolation is used. With all algorithms except "none", the age groups are converted to a set of points centred within each age range. Extra points are added at each end (zero and infinity) to keep value constant at both ends of the function. A zero-length age group may be used as a kind of barrier to adjust the distribution; e.g. with age group boundaries at 15, 20 and 25 years, a (linear) spline would be drawn between ages 17.5 and 22.5, whereas with boundaries at 15, 20 and 20 years, a spline would be drawn between ages 17.5 and 20 years (may be desired if individuals are assumed to reach adult size at 20). Algorithms:
- none: input values are used directly
- linear: straight lines (on an age vs. value graph) are used to interpolate data points.
Standard deviation
multStdDev=double
Units: None Min: 0
Each human is assigned a weight multiplier from a normal distribution with mean 1 and this standard deviation at birth. His/her weight is this multiplier times the mean from age distribution. A standard deviation of zero for no heterogeneity is valid; a rough value from Tanzanian data is 0.14.
vivax
<vivax>
IN ANY ORDER:
| <probBloodStageInfectiousToMosq ... />
| <numberHypnozoites ... />
| <hypnozoiteReleaseDelayDays ... />
| <bloodStageProtectionLatency ... />
| <bloodStageLengthDays ... />
| <pEventPrimary ... />
| <pEventSecondary ... />
| <pEventIsSevere ... />
</vivax>
- probBloodStageInfectiousToMosq
- numberHypnozoites
- hypnozoiteReleaseDelayDays
- bloodStageProtectionLatency
- bloodStageLengthDays
- pEventPrimary
- pEventSecondary
- pEventIsSevere
probBloodStageInfectiousToMosq
→ scenario → model → vivax → probBloodStageInfectiousToMosq
<probBloodStageInfectiousToMosq
value=double
/>
Attributes
Input parameter value
value=double
A double-precision floating-point value.
numberHypnozoites
→ scenario → model → vivax → numberHypnozoites
<numberHypnozoites
max=int
base=double
/>
Attributes
max
max=int
base
base=double
hypnozoiteReleaseDelayDays
→ scenario → model → vivax → hypnozoiteReleaseDelayDays
<hypnozoiteReleaseDelayDays
min=double
mu=double
sigma=double
/>
Attributes
min
min=double
mu
mu=double
sigma
sigma=double
bloodStageProtectionLatency
→ scenario → model → vivax → bloodStageProtectionLatency
<bloodStageProtectionLatency
value=double
/>
Attributes
Input parameter value
value=double
A double-precision floating-point value.
bloodStageLengthDays
→ scenario → model → vivax → bloodStageLengthDays
<bloodStageLengthDays
weibullScale=double
weibullShape=double
/>
Attributes
weibullScale
weibullScale=double
weibullShape
weibullShape=double
pEventPrimary
→ scenario → model → vivax → pEventPrimary
<pEventPrimary
a=double
b=double
/>
Attributes
a
a=double
b
b=double
pEventSecondary
→ scenario → model → vivax → pEventSecondary
<pEventSecondary
a=double
b=double
/>
Attributes
a
a=double
b
b=double
pEventIsSevere
→ scenario → model → vivax → pEventIsSevere
<pEventIsSevere
value=double
/>
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Parameters of the model of epidemiology
→ scenario → model → parameters
<parameters
interval=int
iseed=int
latentp=int
>
IN THIS ORDER:
| ( <parameter ... /> )+
</parameters>
Documentation (element)
Parameters of the epidemiological model
Attributes
Simulation step
interval=int
Units: Days
Simulation step
Random number seed
iseed=int
Units: Number
Seed for RNG
Pre-erythrocytic latent period
latentp=int
Units: Time steps Min: 0 Max: 20
pre-erythrocytic latent period, in time steps
parameter
→ scenario → model → parameters → parameter
<parameter
name=string
number=int
value=double
[ include=boolean ]
/>
Attributes
Name of parameter
name=string
Units: string
Name of parameter
Parameter number
number=int
Units: Number Min: 1 Max: 100
Reference number of input parameter
Parameter value
value=double
Units: Number Min: 0
Parameter value
Sampling indicator
include=boolean
Units: Number Min: 0 Max: 1
True if parameter is to be sampled in optimization runs. Not used in simulator app.
Schema 31 documentation
Generated from: scenario_31.xsd
.
Key:
abc required (one)
[ def ] optional (zero or one)
( ghi )* any number (zero or more)
( jkl )+ at least one
( mno ){2,inf} two or more occurrences
Scenario
→ scenario
<scenario
schemaVersion=int
analysisNo=int
name=string
wuID=int
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:noNamespaceSchemaLocation="scenario_31.xsd"
>
IN ANY ORDER:
| <demography ... />
| <monitoring ... />
| <interventions ... />
| <healthSystem ... />
| <entomology ... />
| [ <pharmacology ... /> ]
| <model ... />
</scenario>
Documentation (element)
Description of scenario
Attributes
Version of the xml schema
schemaVersion=int
Version of xml schema. If not equal to the current version an error is thrown. Use SchemaTranslator to update xml files.
Reference number of the analysis
analysisNo=int
Units: Number Min: 1 Max: 100000000
Unique identifier of scenario
Name of intervention
name=string
Name of intervention
Work unit identifier
wuID=int
Units: Number Min: 1 Max: 100000000
Work unit ID. Only used to validate checkpointing, to prevent checkpoint cheats.
Human age distribution
→ scenario → demography
<demography
name=string
popSize=int
maximumAgeYrs=double
[ growthRate=double ]
>
IN THIS ORDER:
| <ageGroup ... />
</demography>
Documentation (element)
Description of demography
Attributes
Name of demography data
name=string
Name of demography data
Population size
popSize=int
Units: Count Min: 1 Max: 100000
Population size
Maximum age of simulated humans
maximumAgeYrs=double
Units: Years Min: 0 Max: 100
Maximum age of simulated humans in years
Growth rate of human population
growthRate=double
Units: Number Min: 0 Max: 0
Growth rate of human population. (we should be able to implement this with non-zero values)
Age groups
→ scenario → demography → ageGroup
<ageGroup
lowerbound=double
>
IN THIS ORDER:
| ( <group ... /> )+
</ageGroup>
Documentation (element)
list of age groups included in demography
Documentation (type)
list of age groups included in demography or surveys
Attributes
Lower bound of age group
lowerbound=double
Units: Years Min: 0 Max: 100
Lower bound of age group
group
→ scenario → demography → ageGroup → group
<group
poppercent=double
upperbound=double
/>
Attributes
Percentage in age group
poppercent=double
Units: Percentage Min: 0 Max: 100
Percentage of human population in age group
Upper bound of age group
upperbound=double
Units: Years Min: 0 Max: 100
Upper bound of age group
Measures to be reported
→ scenario → monitoring
<monitoring
name=string
[ cohortOnly=boolean ]
[ firstBoutOnly=boolean ]
[ firstTreatmentOnly=boolean ]
[ firstInfectionOnly=boolean ]
>
IN THIS ORDER:
| [ <continuous ... /> ]
| <SurveyOptions ... />
| <surveys ... />
| <ageGroup ... />
</monitoring>
Documentation (element)
Description of surveys
Attributes
Name of monitoring information
name=string
Name of monitoring data
Survey only cohort
cohortOnly=boolean
If true, for many output measures, the output comes only from individuals in the cohort; otherwise output is from the entire population. Does not need to be specified if no cohort-selecting "interventions" are present.
Time to first episode only
firstBoutOnly=boolean
If true, remove individuals from the cohort at the start of the first episode (start of a clinical bout) since they were recruited into the cohort. This is intended for cohort studies that intend to measure time to first episode, using active case detection.
Time to first treatment only
firstTreatmentOnly=boolean
If true, remove individuals from the cohort when they first seek treatment since they were recruited into the cohort. This is intended for cohort studies that intend to measure time to first episode, using passive case detection.
Time to first infection only
firstInfectionOnly=boolean
If true, remove individuals from the cohort at completion of the first survey in which they present with a patent infection since they were recruited into the cohort. This intended for cohort studies that intend to measure time to first infection, using active case detection.
continuous
→ scenario → monitoring → continuous
<continuous
period=int
[ duringInit=boolean ]
>
IN THIS ORDER:
| ( <option ... /> )*
</continuous>
Attributes
Days between reports
period=int
Units: Days Min: 1 Max: unbounded
Number of timesteps between reports.
During initialization
duringInit=boolean
Units: Days Min: 1 Max: unbounded
Also output during initialization. By default this is disabled (only intervention-period data is output). This should not be used for predictions, but can be useful for model validation. In this mode, 'simulation time' is output as the first column (in addition to 'timestep'), since 'timestep' is dis- continuous across the start of the intervention period.
option
→ scenario → monitoring → continuous → option
<option
name=string
[ value=boolean ] DEFAULT VALUE true
/>
Attributes
Model options required
name=string
Options define different model structures. Option name. Must be one of a strictly defined set. Options are not required to be listed if their default value is desired.
Indicator of whether option is required
value=boolean
Default value: true
Option value (true/false). Each option has a default value used if the option is not listed (usually false but sometimes true).
Name of quantity
→ scenario → monitoring → SurveyOptions
<SurveyOptions>
IN THIS ORDER:
| ( <option ... /> )*
</SurveyOptions>
Documentation (element)
List of all active survey options. See include/Survey.h for a list of supported outputs. Should also be on the wiki.
Survey times (time steps)
→ scenario → monitoring → surveys
<surveys
detectionLimit=double
>
IN THIS ORDER:
| ( <surveyTime ... /> )+
</surveys>
Documentation (element)
Units: list of elements
List of survey times
Attributes
Detection limit for parasitaemia
detectionLimit=double
Units: parasites/microlitre Min: 0
Limit above which a human's infection is reported as patent.
Survey time
→ scenario → monitoring → surveys → surveyTime
<surveyTime>
int
</surveyTime>
Documentation (element)
Units: Number Min: 0
Survey time; 0 means just before start of main sim and is a valid survey-point. Reported data is either from a point-time survey (immediate data) or is collected over the previous year(data from previous timesteps-per-year period). Simulation will end immediately after last survey is taken.
Age groups
→ scenario → monitoring → ageGroup
<ageGroup
lowerbound=double
>
IN THIS ORDER:
| ( <group ... /> )+
</ageGroup>
Documentation (element)
List of age groups included in demography or surveys
Documentation (type)
List of age groups included in surveys
Attributes
lower bound of age group
lowerbound=double
Units: Years Min: 0 Max: 100
Lower bound of age group
group
→ scenario → monitoring → ageGroup → group
<group
upperbound=double
/>
Attributes
upper bound of age group
upperbound=double
Units: Years Min: 0 Max: 100
Upper bound of age group
Preventative interventions
<interventions
name=string
>
IN ANY ORDER:
| [ <changeHS ... /> ]
| [ <changeEIR ... /> ]
| [ <MDA ... /> ]
| [ <vaccine ... /> ]
| [ <IPT ... /> ]
| [ <ITN ... /> ]
| [ <IRS ... /> ]
| [ <vectorDeterrent ... /> ]
| [ <cohort ... /> ]
| [ <importedInfections ... /> ]
| [ <immuneSuppression ... /> ]
| [ <insertR_0Case ... /> ]
| [ <uninfectVectors ... /> ]
| [ <vectorPop ... /> ]
</interventions>
- changeHS
- changeEIR
- MDA
- vaccine
- IPT
- ITN
- IRS
- vectorDeterrent
- cohort
- importedInfections
- immuneSuppression
- insertR_0Case
- uninfectVectors
- vectorPop
Documentation (element)
List of interventions. Generally these are either point-time distributions of something to some subset of the population, or continuous-time distribution targetting individuals when they reach a certain age.
Attributes
Intervention
name=string
Name of set of interventions
Change health system
→ scenario → interventions → changeHS
<changeHS
[ name=string ]
>
IN THIS ORDER:
| ( <timedDeployment ... /> )*
</changeHS>
Documentation (element)
Changes to the health system
Attributes
Name of intervention
name=string
Name of intervention
timedDeployment
→ scenario → interventions → changeHS → timedDeployment
<timedDeployment
time=int
>
IN THIS ORDER:
| EXACTLY ONE OF:
| | <EventScheduler ... />
| | <ImmediateOutcomes ... />
| <CFR ... />
| <pSequelaeInpatient ... />
</timedDeployment>
Documentation (type)
A complete replacement health system. Replaces all previous properties. (Health system can be replaced multiple times if necessary.)
Documentation (base type)
Description of case management system, used to specify the initial model or a replacement (an intervention). Encompasses case management data and some other data required to derive case outcomes.
Contains a sub-element describing the particular health-system in use. Health system data is here defined as data used to decide on a treatment strategy, given a case requiring treatment.
Attributes
Time
time=int
Units: time-steps Min: 0
Time-step at which this replacement occurs, starting from 0, the first intervention-period time-step.
EventScheduler
→ scenario → healthSystem → EventScheduler
<EventScheduler>
IN THIS ORDER:
| <uncomplicated ... />
| <complicated ... />
| <ClinicalOutcomes ... />
| [ <NonMalariaFevers ... /> ]
</EventScheduler>
uncomplicated
→ scenario → healthSystem → EventScheduler → uncomplicated
<uncomplicated>
IN THIS ORDER:
| <decisions ... />
| <treatments ... />
</uncomplicated>
Documentation (type)
A set of decisions and a set of treatments.
decisions
→ scenario → interventions → MDA → description → decisions
<decisions>
IN THIS ORDER:
| ( <decision ... /> )*
</decisions>
Documentation (type)
Description of decisions for a case management tree. A generic view of this tree would be that each decision is deterministic, or based on probabilities which may depend on other decisions. Probabilistic decisions are described here.
In general, each decision has a name, a defined set of outcome values, and a set of dependent decisions mentioned by name. The following decisions, with their associated outcomes, are provided by the code (and may not be included here):
- case (uncomplicated only): Returns "UC1" if there is no recent history of a malarial case, or "UC2" if there is.
- result: Dependent on decision "test", this performs a parasite density test. Output is one of "none" (no test performed), "positive", "negative".
The following decisions must be described here:
- test (uncomplicated only): Outputs must be "none", "microscopy" or "RDT" to describe which test the "result" decision uses.
- treatment: Describes which treatment to use. Values aren't restricted but must match up with a treatment described in the corresponding "treatments" section.
- hospitalisation (complicated only): none, immediate or delayed.
decision
→ scenario → interventions → MDA → description → decisions → decision
<decision
name=string
depends=string
values=string
>
string
</decision>
Documentation (type)
A decision describes rules for choosing between a set of values.
Lexically, it can contain symbols matching "[_.a-zA-Z0-9]+", round brackets: (), braces: {} and colons. Whitespace is ignored except to separate symbols.
Syntactically, it must match one TREE, where SYMBOL is a symbol described above. (Here, "x|y" means x or y, "x+" means x occurs once or more, brackets show grouping.) TREE := BRANCH_SET | OUTCOME BRANCH_SET := BRANCH+ BRANCH := DECISION '(' VALUE ')' ( ':' OUTCOME | '{' TREE '}' ) OUTCOME, DECISION, VALUE := SYMBOL
For each BRANCH_SET each BRANCH must result in the same DECISION. The DECISION must be one of the dependencies mentioned in "depends". This may be:
- another decision, in which case the VALUE immediately following in brackets must correspond to one of its output values. The BRANCH_SET immediately containing this BRANCH must represent each output value of the same decision exactly once, and no parent BRANCH_SET may be for the same DECISION.
- "p": this entry indicates a probabilistic decision. Where the value is a probability, the sum of all values for the BRANCH_SET must be 1 and the decision must be associated directly with OUTCOMEs (not sub-TREEs).
- "age": this entry indicates an age-test. The VALUE must have the form "a-b", indicating that this branch will be taken for individuals aged such that a <= age < b, where a,b are non-negative real numbers or the special value "inf", and a <= b. All VALUEs in the BRANCH_SET must cover all possible (non-negative real) ages, with no overlap (hence, smallest a must be 0 and greatest b must be inf).
Semantically, each OUTCOME must be one of the values associated with this decision.
Attributes
Name of decision
name=string
The name of this decision. The name must match the regular expression "[_a-zA-Z0-9]+"; that is it can only contain letters, digits and _ characters (no spaces, punctuation, etc.).
Preceding decisions
depends=string
A comma-separated list of decisions that must have already been evaluated before the current decision can be evaluated. May be empty. Each decision must be hard-coded or described here. Can include the special decisions "p" and "age", though "age" cannot be combined with any other dependency.
Outcome values
values=string
A comma-separated list of outcome values this decision may have. The name of each value must be of the same form as decision names (i.e. only contain letters, digits and _ characters).
treatments
→ scenario → interventions → MDA → description → treatments
<treatments>
IN THIS ORDER:
| ( <treatment ... /> )*
</treatments>
Documentation (type)
A list of drug treatment tables. Each should have a name corresponding to one of the "drug" decision's values.
treatment
→ scenario → interventions → MDA → description → treatments → treatment
<treatment
name=string
>
IN THIS ORDER:
| <schedule ... />
| ( <modifier ... /> )*
</treatment>
Documentation (type)
A description of a base treatment schedule that includes modifiers to handle delays, quality variations, etc.
Attributes
Treatment administered
name=string
Units: string
Name corresponding to one of the drug decision's output values.
schedule
→ scenario → interventions → MDA → description → treatments → treatment → schedule
<schedule>
IN THIS ORDER:
| ( <medicate ... /> )*
</schedule>
Documentation (type)
The base (unmodified)schedule of drugs administered for this treatment.
medicate
→ scenario → interventions → MDA → description → treatments → treatment → schedule → medicate
<medicate
drug=string
mg=double
hour=double
[ duration=double ]
/>
Attributes
drug
drug=string
Abbreviated name of drug compound
drug dose
mg=double
Units: mg
Quantity of drug compound
Time of administration
hour=double
Units: Hours Min: 0
Number of hours past start of timestep this drug dose is administered at (first dose should be at hour 0).
Duration of administration
duration=double
Units: Hours Min: 0
If this attribute is given, use IV administration instead of orally. Specifies the number of hours during which the dose is administered.
modifier
→ scenario → interventions → MDA → description → treatments → treatment → modifier
<modifier
decision=string
>
EXACTLY ONE OF:
| ( <multiplyQty ... /> )*
| ( <delay ... /> )*
| ( <selectTimeRange ... /> )*
</modifier>
Documentation (type)
Units: Choice of elements
A modifier for this treatment, according to the outputs of a decision.
The "decision" attribute must be the name of a known decision. Then, there must be a set of multipyQty, delay or selectTimeRange sub-elements, each of which corresponds to one value output of the decision.
Attributes
Decision
decision=string
Units: string
Specifies the decision that this modifier acts on.
Active ingredient multipliers
→ scenario → interventions → MDA → description → treatments → treatment → modifier → multiplyQty
<multiplyQty
value=string
effect=string
[ affectsCost=boolean ]
/>
Documentation (element)
Units: Comma-separated list of values
Multiplies the quantity of active ingredients of drugs administered.
The "drugs" attribute is a comma-separated list of all active ingredients administered in the base schedule (each must be listed once) and the content of this element is a comma- separated list of multipliers for each active ingredient, listed in the same order as in the "drugs" attribute. For example, with drugs="A,B" and content="0.5,1" the quantity of drug A is halved while that of B is unchanged.
Attributes
Value of decision
value=string
Specifies a value of the decision to act on.
List of drugs affected
effect=string
Comma-separated list of the effect the modifier has on each drug, in the form DRUG1(EFFECT1),DRUG2(EFFECT2), etc.
Affects cost?
affectsCost=boolean
Units: None
Does this affect the cost? If false, the effective drug usage (w.r.t. cost)is unaffected by this modifier; if true it is. Defaults to true (if omitted). Is meaningless for delays.
Active ingredient delays
→ scenario → interventions → MDA → description → treatments → treatment → modifier → delay
<delay
value=string
effect=string
[ affectsCost=boolean ]
/>
Documentation (element)
Units: Comma-separated list of values
Delays administration of drugs listed in the base schedule by so many hours.
The "drugs" attribute is a comma-separated list of all active ingredients administered in the base schedule (each must be listed once) and the content of this element is a comma- separated list of delays (in hours) for each active ingredient, listed in the same order as in the "drugs" attribute. E.g. with drugs="A,B" and content "0,6", drug A is administered as in the base schedule while drug B is administered 6 hours later than specified.
Attributes
Value of decision
value=string
Specifies a value of the decision to act on.
List of drugs affected
effect=string
Comma-separated list of the effect the modifier has on each drug, in the form DRUG1(EFFECT1),DRUG2(EFFECT2), etc.
Affects cost?
affectsCost=boolean
Units: None
Does this affect the cost? If false, the effective drug usage (w.r.t. cost)is unaffected by this modifier; if true it is. Defaults to true (if omitted). Is meaningless for delays.
Active ingredient time-ranges
→ scenario → interventions → MDA → description → treatments → treatment → modifier → selectTimeRange
<selectTimeRange
value=string
effect=string
[ affectsCost=boolean ]
/>
Documentation (element)
Selects which drug doses to administer according to time of administration (before times are modified by delays). Half-open interval: [x,y)
The "drugs" attribute is a comma-separated list of all active ingredients administered in the base schedule (each must be listed once) and the content of this element is a comma- separated list of time-ranges (in hours) for each active ingredient, listed in the same order as in the "drugs" attribute. The time-ranges should be of the form x-y and are interpreted as the half-open interval [x,y); that is a drug listed with time t will only be administered if x <= t < y.
Attributes
Value of decision
value=string
Specifies a value of the decision to act on.
List of drugs affected
effect=string
Comma-separated list of the effect the modifier has on each drug, in the form DRUG1(EFFECT1),DRUG2(EFFECT2), etc.
Affects cost?
affectsCost=boolean
Units: None
Does this affect the cost? If false, the effective drug usage (w.r.t. cost)is unaffected by this modifier; if true it is. Defaults to true (if omitted). Is meaningless for delays.
complicated
→ scenario → healthSystem → EventScheduler → complicated
<complicated>
IN THIS ORDER:
| <decisions ... />
| <treatments ... />
</complicated>
Documentation (type)
A set of decisions and a set of treatments.
ClinicalOutcomes
→ scenario → healthSystem → EventScheduler → ClinicalOutcomes
<ClinicalOutcomes>
IN THIS ORDER:
| <maxUCSeekingMemory ... />
| <uncomplicatedCaseDuration ... />
| <complicatedCaseDuration ... />
| <complicatedRiskDuration ... />
| ( <dailyPrImmUCTS ... /> )+
</ClinicalOutcomes>
- maxUCSeekingMemory
- uncomplicatedCaseDuration
- complicatedCaseDuration
- complicatedRiskDuration
- dailyPrImmUCTS
Documentation (type)
Description of base parameters of the clinical model.
Max UC treatment-seeking memory
→ scenario → healthSystem → EventScheduler → ClinicalOutcomes → maxUCSeekingMemory
<maxUCSeekingMemory>
int
</maxUCSeekingMemory>
Documentation (element)
Units: Days Min: 0 Max: unbounded
Maximum number of timesteps (including first day of case) that an individual with an uncomplicated case of malaria will remember he/she was sick before resetting.
Uncomplicated case duration
→ scenario → healthSystem → EventScheduler → ClinicalOutcomes → uncomplicatedCaseDuration
<uncomplicatedCaseDuration>
int
</uncomplicatedCaseDuration>
Documentation (element)
Units: Days Min: 1 Max: unbounded
Fixed length of an uncomplicated case of malarial or non-malarial sickness (from treatment seeking until return to life-as-usual). Usually 3.
Complicated case duration
→ scenario → healthSystem → EventScheduler → ClinicalOutcomes → complicatedCaseDuration
<complicatedCaseDuration>
int
</complicatedCaseDuration>
Documentation (element)
Units: Days Min: 1 Max: unbounded
Fixed length of a complicated or severe case of malaria (from treatment seeking until return to life-as-usual).
Complicated risk duration
→ scenario → healthSystem → EventScheduler → ClinicalOutcomes → complicatedRiskDuration
<complicatedRiskDuration>
int
</complicatedRiskDuration>
Documentation (element)
Units: Days Min: 1 Max: unbounded
Number of days for which humans are at risk of death during a severe or complicated case of malaria. Cannot be greater than the duration of a complicated case or less than 1 day.
Daily probability of immediate treatment seeking for uncomplicated cases
→ scenario → healthSystem → EventScheduler → ClinicalOutcomes → dailyPrImmUCTS
<dailyPrImmUCTS>
double
</dailyPrImmUCTS>
Documentation (element)
Units: Dimensionless Min: 0.0 Max: 1.0
It is sometimes desirable to model delays to treatment-seeking in uncomplicated cases. While treatment of drugs can be delayed within case management trees to provide a similar effect, this doesn't delay any of the decisions, including diagnostics using the current parasite density.
Instead a list of dailyPrImmUCTS elements can be used, describing successive daily probabilities of treatment (sum must be 1). For example, with a list of two elements with values 0.8 and 0.2, for 80% of UC cases the decision tree is evaluated immediately, and for 20% of cases evaluation is delayed by one day.
For no delay, use one element with a value of 1.
NonMalariaFevers
→ scenario → healthSystem → EventScheduler → NonMalariaFevers
<NonMalariaFevers>
IN THIS ORDER:
| <prTreatment ... />
| <effectNegativeTest ... />
| <effectPositiveTest ... />
| <effectNeed ... />
| <effectInformal ... />
| <CFR ... />
| <TreatmentEfficacy ... />
</NonMalariaFevers>
Documentation (type)
Description of non-malaria fever health-system modelling (treatment, outcomes and costing). Incidence is described by the model->clinical->NonMalariaFevers element. Non-malaria fevers are only modelled if the NON_MALARIA_FEVERS option is used.
As further explanation of the parameters below, we first take: β₀ = logit(P₀) - β₃·P(need), and then calculate the probability of antibiotic administration, P(AB), dependent on treatment seeking location. No seeking: P(AB) = 0 Informal sector: logit(P(AB)) = β₀ + β₄ Health facility: logit(P(AB)) = β₀ + β₁·I(neg) + β₂·I(pos) + β₃·I(need) (where I(X) is 1 when event X is true and 0 otherwise, logit(p)=log(p/(1-p)), event "need" is the event that death may occur without treatment, events "neg" and "pos" are the events that a malaria parasite diagnositic was used and indicated no parasites and parasites respectively).
P(treatment|no diagnostic)
→ scenario → healthSystem → EventScheduler → NonMalariaFevers → prTreatment
<prTreatment>
double
</prTreatment>
Documentation (element)
Units: Dimensionless Min: 0.0 Max: 1.0
Probability of a non-malaria fever being treated with an antibiotic given that no malaria diagnostic was used but independent of need. Symbol: P₀.
Effect of a negative test
→ scenario → healthSystem → EventScheduler → NonMalariaFevers → effectNegativeTest
<effectNegativeTest>
double
</effectNegativeTest>
Documentation (element)
The effect of a negative malaria diagnostic on the odds ratio of receiving antibiotics. Symbol: exp(β₁).
Effect of a positive test
→ scenario → healthSystem → EventScheduler → NonMalariaFevers → effectPositiveTest
<effectPositiveTest>
double
</effectPositiveTest>
Documentation (element)
The effect of a positive malaria diagnostic on the odds ratio of receiving antibiotics. Symbol: exp(β₂).
Effect of need
→ scenario → healthSystem → EventScheduler → NonMalariaFevers → effectNeed
<effectNeed>
double
</effectNeed>
Documentation (element)
The effect of needing antibiotic treatment on the odds ratio of receiving antibiotics. Symbol: exp(β₃).
Effect of informal provider
→ scenario → healthSystem → EventScheduler → NonMalariaFevers → effectInformal
<effectInformal>
double
</effectInformal>
Documentation (element)
The effect of seeking treatment from an informal provider (i.e. a provider untrained in NMF diagnosis) on the odds ratio of receiving antibiotics. Symbol: exp(β₄)
Case fatality rate
→ scenario → healthSystem → EventScheduler → NonMalariaFevers → CFR
<CFR
[ interpolation=("none" or "linear") ]
>
IN THIS ORDER:
| ( <group ... /> )+
</CFR>
Documentation (element)
Units: Dimensionless Min: 0.0 Max: 1.0
Base case fatality rate for non-malaria fevers (probability of death from a fever requiring antibiotic treatment given that no antibiotic treatment is received, per age-group).
Attributes
interpolation
interpolation=("none" or "linear")
Interpolation algorithm. Normally it is desirable for age-based values to be continuous w.r.t. age. By default linear interpolation is used. With all algorithms except "none", the age groups are converted to a set of points centred within each age range. Extra points are added at each end (zero and infinity) to keep value constant at both ends of the function. A zero-length age group may be used as a kind of barrier to adjust the distribution; e.g. with age group boundaries at 15, 20 and 25 years, a (linear) spline would be drawn between ages 17.5 and 22.5, whereas with boundaries at 15, 20 and 20 years, a spline would be drawn between ages 17.5 and 20 years (may be desired if individuals are assumed to reach adult size at 20). Algorithms:
- none: input values are used directly
- linear: straight lines (on an age vs. value graph) are used to interpolate data points.
age group
→ scenario → healthSystem → CFR → group
<group
value=double
lowerbound=double
/>
Documentation (element)
A series of values according to age groups, each specified with a lower-bound and a value. The first lower-bound specified must be zero; a final upper-bound of infinity is added to complete the last age group. At least one age group is required. Normally these are interpolated by a continuous function (see interpolation attribute).
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Lower bound
lowerbound=double
Units: Years Min: 0 Max: 100
Lower bound of age group
Treatment efficacy
→ scenario → healthSystem → EventScheduler → NonMalariaFevers → TreatmentEfficacy
<TreatmentEfficacy>
double
</TreatmentEfficacy>
Documentation (element)
Units: Dimensionless Min: 0.0 Max: 1.0
Probability that treatment would prevent a death (i.e. CFR is multiplied by one minus this when treatment occurs).
ImmediateOutcomes
→ scenario → healthSystem → ImmediateOutcomes
<ImmediateOutcomes
name=string
>
IN THIS ORDER:
| <drugRegimen ... />
| <initialACR ... />
| <compliance ... />
| <nonCompliersEffective ... />
| <pSeekOfficialCareUncomplicated1 ... />
| <pSelfTreatUncomplicated ... />
| <pSeekOfficialCareUncomplicated2 ... />
| <pSeekOfficialCareSevere ... />
</ImmediateOutcomes>
- drugRegimen
- initialACR
- compliance
- nonCompliersEffective
- pSeekOfficialCareUncomplicated1
- pSelfTreatUncomplicated
- pSeekOfficialCareUncomplicated2
- pSeekOfficialCareSevere
Documentation (type)
Description of "immediate outcomes" health system: Tediosi et al case management model (Case management as described in AJTMH 75 (suppl 2) pp90-103).
Attributes
Case Management model
name=string
Name of health system
Description of drug regimen
→ scenario → healthSystem → ImmediateOutcomes → drugRegimen
<drugRegimen
firstLine=string
secondLine=string
inpatient=string
/>
Documentation (element)
Description of drug regimen.
Attributes
First line drug
firstLine=string
Units: Drug code
Code for first line drug
Second line drug
secondLine=string
Units: Drug code
Code for second line drug
Drug use for treating inpatients
inpatient=string
Units: Drug code
Code for drug used for treating inpatients
Initial cure rate
→ scenario → healthSystem → ImmediateOutcomes → initialACR
<initialACR>
IN THIS ORDER:
| [ <CQ ... /> ]
| [ <SP ... /> ]
| [ <AQ ... /> ]
| [ <SPAQ ... /> ]
| [ <ACT ... /> ]
| [ <QN ... /> ]
| <selfTreatment ... />
</initialACR>
Documentation (element)
Units: Dimensionless Min: 0.0 Max: 1.0
Initial cure rate
Chloroquine
→ scenario → healthSystem → ImmediateOutcomes → initialACR → CQ
<CQ
value=double
/>
Documentation (element)
Chloroquine
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Sulphadoxine-pyrimethamine
→ scenario → healthSystem → ImmediateOutcomes → initialACR → SP
<SP
value=double
/>
Documentation (element)
Sulphadoxine-pyrimethamine
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Amodiaquine
→ scenario → healthSystem → ImmediateOutcomes → initialACR → AQ
<AQ
value=double
/>
Documentation (element)
Amodiaquine
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Sulphadoxine-pyrimethamine/Amodiaquine
→ scenario → healthSystem → ImmediateOutcomes → initialACR → SPAQ
<SPAQ
value=double
/>
Documentation (element)
Sulphadoxine-pyrimethamine/Amodiaquine
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Artemisinine combination therapy
→ scenario → healthSystem → ImmediateOutcomes → initialACR → ACT
<ACT
value=double
/>
Documentation (element)
Artemisinine combination therapy
Attributes
Input parameter value
value=double
A double-precision floating-point value.
QN
→ scenario → healthSystem → ImmediateOutcomes → initialACR → QN
<QN
value=double
/>
Documentation (element)
Quinine
Attributes
Input parameter value
value=double
A double-precision floating-point value.
selfTreatment
→ scenario → healthSystem → ImmediateOutcomes → initialACR → selfTreatment
<selfTreatment
value=double
/>
Documentation (element)
Units: Dimensionless Min: 0 Max: 1name:P(self-treat)
Probability of self-treatment
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Adherence to treatment
→ scenario → healthSystem → ImmediateOutcomes → compliance
<compliance>
IN THIS ORDER:
| [ <CQ ... /> ]
| [ <SP ... /> ]
| [ <AQ ... /> ]
| [ <SPAQ ... /> ]
| [ <ACT ... /> ]
| [ <QN ... /> ]
| <selfTreatment ... />
</compliance>
Documentation (element)
Units: Dimensionless Min: 0.0 Max: 1.0
Adherence to treatment
Effectiveness of treatment in non-adherent patients
→ scenario → healthSystem → ImmediateOutcomes → nonCompliersEffective
<nonCompliersEffective>
IN THIS ORDER:
| [ <CQ ... /> ]
| [ <SP ... /> ]
| [ <AQ ... /> ]
| [ <SPAQ ... /> ]
| [ <ACT ... /> ]
| [ <QN ... /> ]
| <selfTreatment ... />
</nonCompliersEffective>
Documentation (element)
Units: Dimensionless Min: 0.0 Max: 1.0
Effectiveness of treatment for non-compliant patients
Probability that a patient with uncomplicated disease seeks official care immediately.
→ scenario → healthSystem → ImmediateOutcomes → pSeekOfficialCareUncomplicated1
<pSeekOfficialCareUncomplicated1
value=double
/>
Documentation (element)
Units: Dimensionless Min: 0.0 Max: 1.0
Probability that a patient with newly incident uncomplicated disease seeks official care
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Probability that a patient with uncomplicated disease will self-treat.
→ scenario → healthSystem → ImmediateOutcomes → pSelfTreatUncomplicated
<pSelfTreatUncomplicated
value=double
/>
Documentation (element)
Units: Dimensionless Min: 0.0 Max: 1.0
Probability that a patient with uncomplicated disease will self-treat
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Probability that a recurring patient seeks official care
→ scenario → healthSystem → ImmediateOutcomes → pSeekOfficialCareUncomplicated2
<pSeekOfficialCareUncomplicated2
value=double
/>
Documentation (element)
Units: Dimensionless Min: 0.0 Max: 1.0
Probability that a patient with recurrence of uncomplicated disease seeks official care
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Probability that a patient with severe disease obtains appropriate care
→ scenario → healthSystem → ImmediateOutcomes → pSeekOfficialCareSevere
<pSeekOfficialCareSevere
value=double
/>
Documentation (element)
Units: Dimensionless Min: 0.0 Max: 1.0
Probability that a patient with severe disease obtains appropriate care
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Case fatality rate for inpatients
→ scenario → healthSystem → CFR
<CFR
[ interpolation=("none" or "linear") ]
>
IN THIS ORDER:
| ( <group ... /> )+
</CFR>
Documentation (element)
Case fatality rate (probability of an inpatient fatality from a bout of severe malaria, per age-group).
Attributes
interpolation
interpolation=("none" or "linear")
Interpolation algorithm. Normally it is desirable for age-based values to be continuous w.r.t. age. By default linear interpolation is used. With all algorithms except "none", the age groups are converted to a set of points centred within each age range. Extra points are added at each end (zero and infinity) to keep value constant at both ends of the function. A zero-length age group may be used as a kind of barrier to adjust the distribution; e.g. with age group boundaries at 15, 20 and 25 years, a (linear) spline would be drawn between ages 17.5 and 22.5, whereas with boundaries at 15, 20 and 20 years, a spline would be drawn between ages 17.5 and 20 years (may be desired if individuals are assumed to reach adult size at 20). Algorithms:
- none: input values are used directly
- linear: straight lines (on an age vs. value graph) are used to interpolate data points.
Probabilities of sequelae in inpatients
→ scenario → healthSystem → pSequelaeInpatient
<pSequelaeInpatient
[ interpolation=("none" or "linear") ]
>
IN THIS ORDER:
| ( <group ... /> )+
</pSequelaeInpatient>
Documentation (element)
Units: Dimensionless
List of age-specific probabilities of sequelae in inpatients, during a severe bout of malaria.
Attributes
interpolation
interpolation=("none" or "linear")
Interpolation algorithm. Normally it is desirable for age-based values to be continuous w.r.t. age. By default linear interpolation is used. With all algorithms except "none", the age groups are converted to a set of points centred within each age range. Extra points are added at each end (zero and infinity) to keep value constant at both ends of the function. A zero-length age group may be used as a kind of barrier to adjust the distribution; e.g. with age group boundaries at 15, 20 and 25 years, a (linear) spline would be drawn between ages 17.5 and 22.5, whereas with boundaries at 15, 20 and 20 years, a spline would be drawn between ages 17.5 and 20 years (may be desired if individuals are assumed to reach adult size at 20). Algorithms:
- none: input values are used directly
- linear: straight lines (on an age vs. value graph) are used to interpolate data points.
Change transmission levels
→ scenario → interventions → changeEIR
<changeEIR
[ name=string ]
>
IN THIS ORDER:
| ( <timedDeployment ... /> )*
</changeEIR>
Documentation (element)
New description of transmission level for models not supporting vector control interventions. Use of this overrides previous transmission levels such that human infectiousness no longer has any feedback effect on transmission. Supplied EIR data must last until end of simulation.
Attributes
Name of intervention
name=string
Name of intervention
timedDeployment
→ scenario → interventions → changeEIR → timedDeployment
<timedDeployment
eipDuration=int
time=int
>
IN THIS ORDER:
| ( <EIRDaily ... /> )+
</timedDeployment>
Documentation (type)
Replacement transmission levels. Disables feedback of human infectiousness to mosquitoes on further mosquito to human transmission. Must last until end of simulation.
Attributes
Duration of sporogony
eipDuration=int
Units: Days
The duration of sporogony in days
Time
time=int
Units: time-steps Min: 0
Time-step at which this replacement occurs, starting from 0, the first intervention-period time-step.
EIRDaily
→ scenario → entomology → nonVector → EIRDaily
<EIRDaily
[ origin=string ]
>
double
</EIRDaily>
Documentation (type)
Units: Infectious bites per adult per day
In the non-vector model, EIR is input as a sequence of daily values. There must be at least one years' worth of entries (365), and if there are more, values are wrapped and averaged (i.e. value for first day of year is taken as the mean of values for days 0, 365+0, 2*365+0, etc.).
Attributes
Time origin of EIR sequence
origin=string
Mass drug administration
→ scenario → interventions → MDA
<MDA
[ name=string ]
>
IN THIS ORDER:
| EXACTLY ONE OF:
| | [ <diagnostic ... /> ]
| | [ <description ... /> ]
| [ <timed ... /> ]
</MDA>
Documentation (element)
Description and deployment of MDA interventions (can also be configured as screen and treat or intermittent preventative treatment with 1-day time-step models).
Currently neither diagnostic nor description need be provided for 5-day timestep model; this may change in the future.
Attributes
Name of intervention
name=string
Name of intervention
Diagnostic (5-day)
→ scenario → interventions → MDA → diagnostic
<diagnostic>
IN THIS ORDER:
| EXACTLY ONE OF:
| | <deterministic ... />
| | <stochastic ... />
</diagnostic>
Documentation (element)
Description of diagnostic used by mass treatment option of five-day case management model — may be used to model MDA without diagnostic or MSAT.
Drugs are administered whenever the test outcome is positive.
Deterministic detection
→ scenario → interventions → MDA → diagnostic → deterministic
<deterministic
minDensity=double
/>
Documentation (element)
Specify that an artificial deterministic test is used: drugs are administered if parasite density is at least the minimum given.
Attributes
Minimum detectible density
minDensity=double
Units: parasites/microlitre Min: 0
The minimum density at which parasites can be detected. If 0, the test outcome is always positive.
Non-deterministic detection
→ scenario → interventions → MDA → diagnostic → stochastic
<stochastic
dens_50=double
specificity=double
/>
Documentation (element)
An improved model of detection which is non-deterministic, including false positive results as well as false negatives.
The probability of a positive outcome is modelled as 1 + s×(x/(x+d) - 1) where x is the parasite density, d is the density at which the test outcome has a 50% chance of being positive, and s is the probability of a positive outcome given no parasites (the specificity).
Some parameterisations:
Microscopy sensitivity/specificity data in Africa; Source: expert opinion — Allan Schapira dens_50 = 20.0 specificity = .75
RDT sensitivity/specificity for Plasmodium falciparum in Africa Source: Murray et al (Clinical Microbiological Reviews, Jan. 2008) dens_50 = 50.0; specificity = .942;
Attributes
Density 50
dens_50=double
Units: parasites/microlitre Min: 0
The density at which the test outcome has a 50% chance of being positive.
Specificity
specificity=double
Units: Dimensionless Min: 0 Max: 1
The probability of a positive test outcome in the absense of parasites.
Diagnostic and treatment (1-day)
→ scenario → interventions → MDA → description
<description
[ name=string ]
>
IN THIS ORDER:
| <decisions ... />
| <treatments ... />
</description>
Documentation (element)
Description of treatment type used by mass treatment option of one-day case management model. Can be used to describe one-size-fits-all mass drug dosing, age-based mass drug dosing and screen-and-treat. Number of treatments given can be reported by the nMDAs option.
Documentation (base type)
A set of decisions and a set of treatments.
Attributes
Intervention
name=string
Name of set of interventions
Mass administration
→ scenario → interventions → MDA → timed
<timed>
IN THIS ORDER:
| ( <deploy ... /> )+
</timed>
Documentation (element)
List of timed deployments of mass-drug-administration.
deploy
→ scenario → interventions → MDA → timed → deploy
<deploy
time=int
[ maxAge=double ] DEFAULT VALUE 100
[ minAge=double ] DEFAULT VALUE 0
coverage=double
[ cohort=boolean ] DEFAULT VALUE false
/>
Attributes
Time
time=int
Units: time-steps Min: 0
Time-step at which this intervention occurs, starting from 0, the first intervention-period time-step.
Maximum age of eligible individuals
maxAge=double
Units: Years Min: 0 Max: 100
Default value: 100
Maximum age of eligible individuals (defaults to 100)
Minimum age of eligible individuals
minAge=double
Units: Years Min: 0 Max: 100
Default value: 0
Minimum age of eligible individuals (defaults to 0)
Coverage
coverage=double
Units: dimensionless Min: 0 Max: 1
Coverage of intervention
Cohort only
cohort=boolean
Units: dimensionless Min: 0 Max: 1
Default value: false
Restrict distribution to chosen cohort.
Vaccines
→ scenario → interventions → vaccine
<vaccine
[ name=string ]
>
IN THIS ORDER:
| ( <description ... /> ){0,3}
| [ <continuous ... /> ]
| [ <timed ... /> ]
</vaccine>
Documentation (element)
Description and deployment of vaccine interventions.
Attributes
Name of intervention
name=string
Name of intervention
description
→ scenario → interventions → vaccine → description
<description
vaccineType=("PEV" or "BSV" or "TBV")
[ name=string ]
>
IN THIS ORDER:
| <decay ... />
| <efficacyB ... />
| ( <initialEfficacy ... /> )+
</description>
Documentation (type)
List of vaccine descriptions
Attributes
Type of vaccine
vaccineType=("PEV" or "BSV" or "TBV")
Units: Code
Type of vaccine
Vaccine
name=string
Name of vaccine
Decay of effect
→ scenario → interventions → vaccine → description → decay
<decay
function=("constant" or "step" or "linear" or "exponential" or "weibull" or "hill" or "smooth-compact")
L=double
[ k=double ] DEFAULT VALUE 1.0
[ mu=double ] DEFAULT VALUE 0
[ sigma=double ] DEFAULT VALUE 0
/>
Documentation (element)
Specification of decay of efficacy. Documentation: see DecayFunction type or https://github.com/SwissTPH/openmalaria/wiki/ModelDecayFunctions
Documentation (type)
Specification of decay or survival of a parameter.
Attributes
function
function=("constant" or "step" or "linear" or "exponential" or "weibull" or "hill" or "smooth-compact")
Units: None Min: 0 Max: 1
Determines which decay function to use. Available decay functions, for age t in years: constant: 1 step: 1 for t less than L, otherwise 0 linear: 1 - t/L for t less than L, otherwise 0 exponential: exp( - t/L * log(2) ) weibull: exp( -(t/L)^k * log(2) ) hill: 1 / (1 + (t/L)^k) smooth-compact: exp( k - k / (1 - (t/L)^2) ) for t less than L, otherwise 0
L
L=double
Units: Years Min: 0
Scale parameter of distribution. With the smooth-compact (smooth function with compact support), step and linear functions, this is the age at which the parameter has decayed to 0; with the other three functions, this is the age at which the parameter has decayed to half its original value. Not used for constant decay (though must be specified anyway).
k
k=double
Units: none Min: 0
Default value: 1.0
Shape parameter of distribution. If not specified, default value of 1 is used. Meaning depends on function; not used in some cases.
μ (mu)
mu=double
Min: 0
Default value: 0
If sigma is non-zero, heterogeneity of decay is introduced via a random variable sampled from the log-normal distribution with mu and sigma as specified. Both mu and sigma default to zero when not specified. The decay rate is multiplied by this variable (effectively, the half-life is divided by it). Note that with m=0, the median of the variable and the median value of L is unchanged, and thus the time at which the median decay amongst the population of decaying objects reaches half (assuming exponential, Weibull or Hill decay) is L. With m=-½σ² (negative half sigma squared) the mean of the variable will be 1 and mean of the half-life L, but the time at which mean decay of the population has reached half may not be L.
σ (sigma)
sigma=double
Min: 0
Default value: 0
If sigma is non-zero, heterogeneity of decay is introduced via a random variable sampled from the log-normal distribution with mu and sigma as specified. Both mu and sigma default to zero when not specified. The decay rate is multiplied by this variable (effectively, the half-life is divided by it).
Variance parameter for vaccine efficacy
→ scenario → interventions → vaccine → description → efficacyB
<efficacyB
value=double
/>
Documentation (element)
Units: Positive real Min: 0.001 Max: 1.00E+06
Measure of variation in vaccine efficacy: efficacy is sampled from a beta distribution with efficacyB its beta parameter and its alpha parameter fixed such that the mean is that given by initialEfficacy.
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Initial mean efficacy
→ scenario → interventions → vaccine → description → initialEfficacy
<initialEfficacy
value=double
/>
Documentation (element)
Units: dimensionless Min: 0 Max: 1
Mean efficacy values before decay (see efficacyB and decay parameter descriptions for sampling and decay). The i-th value in this list is used for the efficacy of the vaccine after the i-th dose. Where more doses are given than there are values in this list, the last value is repeated.
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Age-based vaccination
→ scenario → interventions → vaccine → continuous
<continuous>
IN THIS ORDER:
| ( <deploy ... /> )+
</continuous>
Documentation (element)
List of ages at which vaccination takes place (through EPI, post-natal and school-based programmes, etc.).
deploy
→ scenario → interventions → vaccine → continuous → deploy
<deploy
targetAgeYrs=double
coverage=double
[ cohort=boolean ] DEFAULT VALUE false
[ begin=int ] DEFAULT VALUE 0
[ end=int ] DEFAULT VALUE 2147483647
/>
Attributes
Target age
targetAgeYrs=double
Units: Years Min: 0 Max: 100
Target age of intervention
Proportion covered
coverage=double
Units: dimensionless Min: 0 Max: 1
Coverage of intervention
Cohort only
cohort=boolean
Units: dimensionless Min: 0 Max: 1
Default value: false
Restrict distribution to chosen cohort (default: false).
First timestep active
begin=int
Units: Timesteps Min: 0 Max: 2147483647
Default value: 0
First timestep (from 0 at the beginning of the intervention period) this item is active. Defaults to 0.
End timestep
end=int
Units: Timesteps Min: 0 Max: 2147483647
Default value: 2147483647
End of the period during which the intervention is active (to be exact, the first timestep of the intervention period at which the item becomes inactive). Defaults to 2147483647.
Mass vaccination
→ scenario → interventions → vaccine → timed
<timed>
IN THIS ORDER:
| ( <deploy ... /> )+
</timed>
Documentation (element)
List of timed mass vaccinations in the communitsy
deploy
→ scenario → interventions → vaccine → timed → deploy
<deploy
time=int
[ maxAge=double ] DEFAULT VALUE 100
[ minAge=double ] DEFAULT VALUE 0
coverage=double
[ cohort=boolean ] DEFAULT VALUE false
[ cumulativeWithMaxAge=double ]
/>
Attributes
Time
time=int
Units: time-steps Min: 0
Time-step at which this intervention occurs, starting from 0, the first intervention-period time-step.
Maximum age of eligible individuals
maxAge=double
Units: Years Min: 0 Max: 100
Default value: 100
Maximum age of eligible individuals (defaults to 100)
Minimum age of eligible individuals
minAge=double
Units: Years Min: 0 Max: 100
Default value: 0
Minimum age of eligible individuals (defaults to 0)
Coverage
coverage=double
Units: dimensionless Min: 0 Max: 1
Coverage of intervention
Cohort only
cohort=boolean
Units: dimensionless Min: 0 Max: 1
Default value: false
Restrict distribution to chosen cohort.
Cumulative deployment: maximum age
cumulativeWithMaxAge=double
Units: Years Min: 0
If present, activate cumulate deployment mode where intervention is only deployed to individuals not already considered protected in sufficient quantity to bring the total proportion of people covered up to level described by "coverage". Individuals are considered already protected by this intervention when the age of the last net/dose/etc. received is less than "maximum age" (this attribute) years old (i.e. when timeLastDeployment+maximumAge>currentTimeStep).
Intermittent preventative treatment
→ scenario → interventions → IPT
<IPT
[ name=string ]
>
IN THIS ORDER:
| <description ... />
| [ <continuous ... /> ]
| [ <timed ... /> ]
</IPT>
Documentation (element)
Description and deployment of IPT interventions.
Attributes
Name of intervention
name=string
Name of intervention
description
→ scenario → interventions → IPT → description
<description
iptiEffect=int
[ name=string ]
>
IN THIS ORDER:
| ( <infGenotype ... /> )+
</description>
Attributes
Description of ipti effect
iptiEffect=int
Description of ipti effect
IPT name
name=string
Name of IPT intervention
infGenotype
→ scenario → interventions → IPT → description → infGenotype
<infGenotype
name=string
freq=double
ACR=double
proph=int
tolPeriod=int
atten=double
/>
Attributes
Age specific intervention
name=string
Name of age specific intervention
Frequency
freq=double
Units: dimensionless Min: 0 Max: 1
Frequency of parasite genotype as a proportion (total of all genotypes must add to 1).
ACR
ACR=double
Units: dimensionless Min: 0 Max: 1
Adequate clinical response (probability of effective cure)
Prophylactic period
proph=int
Units: time-step
Prophylactic period
Tolerance period
tolPeriod=int
Units: time steps
Tolerance period
Tolerance period
atten=double
Units: dimensionless Min: 1 Max: inf
Attenuation factor (i.e. divisor for density during period of effect)
Age-based IPT deployment
→ scenario → interventions → IPT → continuous
<continuous>
IN THIS ORDER:
| ( <deploy ... /> )+
</continuous>
Documentation (element)
List of ages at which IPTi/IPTc deployment takes place (through EPI, post-natal and school-based programmes, etc.).
Mass IPT administration
→ scenario → interventions → IPT → timed
<timed>
IN THIS ORDER:
| ( <deploy ... /> )+
</timed>
Documentation (element)
List of timed IPTi/IPTc distribution
Bed nets
→ scenario → interventions → ITN
<ITN
[ name=string ]
>
IN THIS ORDER:
| <description ... />
| [ <continuous ... /> ]
| [ <timed ... /> ]
</ITN>
Documentation (element)
Description and deployment of bed-net interventions (ITNs, LLINs).
Attributes
Name of intervention
name=string
Name of intervention
description
→ scenario → interventions → ITN → description
<description>
IN THIS ORDER:
| <usage ... />
| <holeRate ... />
| <ripRate ... />
| <ripFactor ... />
| <initialInsecticide ... />
| <insecticideDecay ... />
| <attritionOfNets ... />
| ( <anophelesParams ... /> )+
</description>
- usage
- holeRate
- ripRate
- ripFactor
- initialInsecticide
- insecticideDecay
- attritionOfNets
- anophelesParams
Proportion of time nets are used by humans
→ scenario → interventions → ITN → description → usage
<usage
value=double
/>
Documentation (element)
Units: dimensionless Min: 0 Max: 1
Usage of nets by humans, from 0 to 1.
At the moment this is constant across humans and deterministic: relative attractiveness and survival factors are base*(1-usagepropActing) + intervention_factorusage*propActing.
See also "propActing" (proportion of bits for which net acts).
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Rate at which holes are made
→ scenario → interventions → ITN → description → holeRate
<holeRate
mean=double
sigma=double
/>
Documentation (element)
Units: Holes per annum Min: 0
The rate at which new holes are made in nets.
nHoles(t) = nHoles(t-1) + X where X~Pois(R/T) where T is the number of time-steps per year. R is sampled from log-normal: R ~ log N( log(mean)-sigma²/2, sigma² ) and is covariant with ripRate and insecticideDecay. (To be exact, a single Gaussian sample is taken, adjusted for each sigma then exponentiated.)
Documentation (type)
Parameters of a log-normal distribution.
Variates are sampled as: X ~ log N( log(mean)-sigma²/2, sigma² ).
Attributes
mean
mean=double
Units: (same as base units)
The mean of the lognormal distribution.
sigma
sigma=double
Sigma parameter of the lognormal distribution; sigma squared is the variance of the log of samples.
Rate at which holes are enlarged
→ scenario → interventions → ITN → description → ripRate
<ripRate
mean=double
sigma=double
/>
Documentation (element)
Units: Rips per existing hole per annum Min: 0
Each existing hole has a probability of being ripped bigger according to a Poisson process with this rate as (only) parameter.
New rips occur in a net at rate X~Pois(h×R/T) where h is the number of existing holes and T the number of time-steps per year. R is sampled from log-normal: R ~ log N( log(mean)-sigma²/2, sigma² ) and is covariant with holeRate and insecticideDecay. (To be exact, a single Gaussian sample is taken, adjusted for the each and sigma then exponentiated.)
Documentation (type)
Parameters of a log-normal distribution.
Variates are sampled as: X ~ log N( log(mean)-sigma²/2, sigma² ).
Attributes
mean
mean=double
Units: (same as base units)
The mean of the lognormal distribution.
sigma
sigma=double
Sigma parameter of the lognormal distribution; sigma squared is the variance of the log of samples.
Rip factor
→ scenario → interventions → ITN → description → ripFactor
<ripFactor
value=double
/>
Documentation (element)
Units: none Min: 0
This factor expresses how important rips are in increasing the hole.
The hole index of a net is h + F×x where h and x are the total numbers of holes and rips respectively and F is the rip factor.
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Initial insecticide
→ scenario → interventions → ITN → description → initialInsecticide
<initialInsecticide
mu=double
sigma=double
/>
Documentation (element)
Units: mg/m² Min: 0
The insecticide concentration of new nets is Gaussian distributed with mean "mu" and a standard deviation "sigma". The standard deviation should be small relative to the mean to avoid negative initial concentration. Any negative values sampled are set to 0.
Documentation (type)
Parameters of a normal distribution.
Variates are sampled as: X ~ N( mu, sigma² ).
Attributes
mu
mu=double
Units: (same as base units)
The mean of the normal distribution.
sigma
sigma=double
Units: (same as base units)
The standard deviation of variates.
Decay of insecticide
→ scenario → interventions → ITN → description → insecticideDecay
<insecticideDecay
function=("constant" or "step" or "linear" or "exponential" or "weibull" or "hill" or "smooth-compact")
L=double
[ k=double ] DEFAULT VALUE 1.0
[ mu=double ] DEFAULT VALUE 0
[ sigma=double ] DEFAULT VALUE 0
/>
Documentation (element)
Units: none
Decay curve for insecticide content of nets. Documentation: see DecayFunction type or https://github.com/SwissTPH/openmalaria/wiki/ModelDecayFunctions
The distribution of decay rates over nets is covariant with the distribution of ripRate and holeRate over nets. This distribution is generated by taking one sample per net from a Gaussian distribution with mean 0 and standard deviation 1. For each variable, the sample is multiplied by the respective sigma and a constant added such that, once exponentiated, the mean of the variable over nets is 1. The variable is then exponentiated and multiplied by the required mean rate for the respective variable.
Documentation (type)
Specification of decay or survival of a parameter.
Attributes
function
function=("constant" or "step" or "linear" or "exponential" or "weibull" or "hill" or "smooth-compact")
Units: None Min: 0 Max: 1
Determines which decay function to use. Available decay functions, for age t in years: constant: 1 step: 1 for t less than L, otherwise 0 linear: 1 - t/L for t less than L, otherwise 0 exponential: exp( - t/L * log(2) ) weibull: exp( -(t/L)^k * log(2) ) hill: 1 / (1 + (t/L)^k) smooth-compact: exp( k - k / (1 - (t/L)^2) ) for t less than L, otherwise 0
L
L=double
Units: Years Min: 0
Scale parameter of distribution. With the smooth-compact (smooth function with compact support), step and linear functions, this is the age at which the parameter has decayed to 0; with the other three functions, this is the age at which the parameter has decayed to half its original value. Not used for constant decay (though must be specified anyway).
k
k=double
Units: none Min: 0
Default value: 1.0
Shape parameter of distribution. If not specified, default value of 1 is used. Meaning depends on function; not used in some cases.
μ (mu)
mu=double
Min: 0
Default value: 0
If sigma is non-zero, heterogeneity of decay is introduced via a random variable sampled from the log-normal distribution with mu and sigma as specified. Both mu and sigma default to zero when not specified. The decay rate is multiplied by this variable (effectively, the half-life is divided by it). Note that with m=0, the median of the variable and the median value of L is unchanged, and thus the time at which the median decay amongst the population of decaying objects reaches half (assuming exponential, Weibull or Hill decay) is L. With m=-½σ² (negative half sigma squared) the mean of the variable will be 1 and mean of the half-life L, but the time at which mean decay of the population has reached half may not be L.
σ (sigma)
sigma=double
Min: 0
Default value: 0
If sigma is non-zero, heterogeneity of decay is introduced via a random variable sampled from the log-normal distribution with mu and sigma as specified. Both mu and sigma default to zero when not specified. The decay rate is multiplied by this variable (effectively, the half-life is divided by it).
Attrition of nets
→ scenario → interventions → ITN → description → attritionOfNets
<attritionOfNets
function=("constant" or "step" or "linear" or "exponential" or "weibull" or "hill" or "smooth-compact")
L=double
[ k=double ] DEFAULT VALUE 1.0
[ mu=double ] DEFAULT VALUE 0
[ sigma=double ] DEFAULT VALUE 0
/>
Documentation (element)
Units: dimensionless
Specifies the rate at which nets are disposed of over time. Documentation: see DecayFunction type or https://github.com/SwissTPH/openmalaria/wiki/ModelDecayFunctions
In the current model, nets are disposed of randomly (no correlation with state of decay) such that the chance of each net surviving until age t is the value of this decay function at time t. Equivalently (where a large number of nets are distributed at the same time), the proportion of nets remaining in use should match this decay function over time.
Documentation (type)
Specification of decay or survival of a parameter.
Attributes
function
function=("constant" or "step" or "linear" or "exponential" or "weibull" or "hill" or "smooth-compact")
Units: None Min: 0 Max: 1
Determines which decay function to use. Available decay functions, for age t in years: constant: 1 step: 1 for t less than L, otherwise 0 linear: 1 - t/L for t less than L, otherwise 0 exponential: exp( - t/L * log(2) ) weibull: exp( -(t/L)^k * log(2) ) hill: 1 / (1 + (t/L)^k) smooth-compact: exp( k - k / (1 - (t/L)^2) ) for t less than L, otherwise 0
L
L=double
Units: Years Min: 0
Scale parameter of distribution. With the smooth-compact (smooth function with compact support), step and linear functions, this is the age at which the parameter has decayed to 0; with the other three functions, this is the age at which the parameter has decayed to half its original value. Not used for constant decay (though must be specified anyway).
k
k=double
Units: none Min: 0
Default value: 1.0
Shape parameter of distribution. If not specified, default value of 1 is used. Meaning depends on function; not used in some cases.
μ (mu)
mu=double
Min: 0
Default value: 0
If sigma is non-zero, heterogeneity of decay is introduced via a random variable sampled from the log-normal distribution with mu and sigma as specified. Both mu and sigma default to zero when not specified. The decay rate is multiplied by this variable (effectively, the half-life is divided by it). Note that with m=0, the median of the variable and the median value of L is unchanged, and thus the time at which the median decay amongst the population of decaying objects reaches half (assuming exponential, Weibull or Hill decay) is L. With m=-½σ² (negative half sigma squared) the mean of the variable will be 1 and mean of the half-life L, but the time at which mean decay of the population has reached half may not be L.
σ (sigma)
sigma=double
Min: 0
Default value: 0
If sigma is non-zero, heterogeneity of decay is introduced via a random variable sampled from the log-normal distribution with mu and sigma as specified. Both mu and sigma default to zero when not specified. The decay rate is multiplied by this variable (effectively, the half-life is divided by it).
anophelesParams
→ scenario → interventions → ITN → description → anophelesParams
<anophelesParams
mosquito=string
[ propActive=double ] DEFAULT VALUE 1
>
IN THIS ORDER:
| EXACTLY ONE OF:
| | <deterrency ... />
| | <twoStageDeterrency ... />
| <preprandialKillingEffect ... />
| <postprandialKillingEffect ... />
</anophelesParams>
Attributes
Mosquito species
mosquito=string
Name of the affected anopheles-mosquito species.
Proportion of bites for which net acts
propActive=double
Units: dimensionless Min: 0 Max: 1
Default value: 1
The proportion of bites, when nets are in use, for which the net has any action whatsoever on the mosquito. At the moment this is constant across humans and deterministic: relative attractiveness and survival factors are base*(1-usagepropActing) + intervention_factorusage*propActing. See also "usage" (proportion of time nets are used by humans).
Relative attractiveness
→ scenario → interventions → ITN → description → anophelesParams → deterrency
<deterrency
insecticideFactor=double
insecticideScalingFactor=double
holeFactor=double
interactionFactor=double
holeScalingFactor=double
/>
Documentation (element)
Units: dimensionless Min: 0 Max: 1
Effect of net on attractiveness of humans to mosquitoes relative to an unprotected adult human. Parameterisations should take into account that mosquitoes do not always bite indoors.
Attractiveness of the human is multiplied by exp(log(H)×h + log(P)×p + log(I)×h×p where H, P and I are the hole, insecticide and interaction factors respectively, h=exp(-holeIndex×holeScalingFactor) and p=1−exp(-insecticideContent×insecticideScalingFactor).
Attributes
Insecticide factor
insecticideFactor=double
Units: none Max: 1
Value expected to be at least 0. Negative values are not necessarily invalid, but allow nets to increase transmission.
Insecticide scaling factor
insecticideScalingFactor=double
Units: none Min: 0
Hole factor
holeFactor=double
Units: none Max: 1
Value expected to be at least 0. Negative values are not necessarily invalid, but allow nets to increase transmission.
Interaction factor
interactionFactor=double
Units: none Max: 1
holeFactor + insecticideFactor + interactionFactor must not be greater than 1, and is expected to be at least 0. A negative value is not necessarily invalid, but allows nets to increase transmission.
Hole scaling factor
holeScalingFactor=double
Units: none Min: 0
Relative attractiveness
→ scenario → interventions → ITN → description → anophelesParams → twoStageDeterrency
<twoStageDeterrency>
IN ANY ORDER:
| <entering ... />
| <attacking ... />
</twoStageDeterrency>
Documentation (element)
Units: dimensionless
Effect of net on attractiveness of humans to mosquitoes relative to an unprotected adult human. Parameterisations should take into account that mosquitoes do not always bite indoors.
This deterrency model multiplies human attractiveness by pEnt×pAtt divided by a base factor to normalise the output to 1 when there are no nets.
RA (entering)
→ scenario → interventions → ITN → description → anophelesParams → twoStageDeterrency → entering
<entering
insecticideFactor=double
insecticideScalingFactor=double
/>
Documentation (element)
Units: dimensionless
pEnt represents the relative probability of entering due to ITNs: pEnt = exp(log(P)×p) where P is the insecticide factor and p=1−exp(-insecticideContent×insecticideScalingFactor).
Attributes
Insecticide factor
insecticideFactor=double
Units: none Max: 1
Value expected to be at least 0. Negative values are not necessarily invalid, but allow nets to increase transmission.
Insecticide scaling factor
insecticideScalingFactor=double
Units: none Min: 0
RA (attacking)
→ scenario → interventions → ITN → description → anophelesParams → twoStageDeterrency → attacking
<attacking
insecticideFactor=double
insecticideScalingFactor=double
holeFactor=double
interactionFactor=double
holeScalingFactor=double
baseFactor=double
/>
Documentation (element)
Units: dimensionless
pAtt represents the relative probability of attacking a human after entering a house due to ITNs (i.e. of feeding/dying vs. flying off): pAtt = B + H×h + P×p + I×h×p where B is the base (without net) probability; H, P and I are the hole, insecticide and interaction factors respectively, h=exp(-holeIndex×holeScalingFactor) and p=1−exp(-insecticideContent×insecticideScalingFactor).
Attributes
Insecticide factor
insecticideFactor=double
Units: none Max: 1
Value expected to be at least 0. Negative values are not necessarily invalid, but allow nets to increase transmission.
Insecticide scaling factor
insecticideScalingFactor=double
Units: none Min: 0
Hole factor
holeFactor=double
Units: none Max: 1
Value expected to be at least 0. Negative values are not necessarily invalid, but allow nets to increase transmission.
Interaction factor
interactionFactor=double
Units: none Max: 1
holeFactor + insecticideFactor + interactionFactor must not be greater than 1, and is expected to be at least 0. A negative value is not necessarily invalid, but allows nets to increase transmission.
Hole scaling factor
holeScalingFactor=double
Units: none Min: 0
Probability of mosquito death without intervention
baseFactor=double
Units: dimensionless
Pre-prandial killing effect
→ scenario → interventions → ITN → description → anophelesParams → preprandialKillingEffect
<preprandialKillingEffect
insecticideFactor=double
insecticideScalingFactor=double
holeFactor=double
interactionFactor=double
holeScalingFactor=double
baseFactor=double
/>
Documentation (element)
Units: dimensionless Min: 0 Max: 1
Effect of net on survival mosquitoes as they seek to bite a human after choosing that human, relative to the same person not sleeping under a net. Parameterisations should take into account that mosquitoes do not always bite indoors.
Killing proportion is calculated as K = B + H×h + P×p + I×h×p where B is the base (without net) probability of death, H, P and I are the hole, insecticide and interaction factors respectively, h=exp(-holeIndex×holeScalingFactor) and p=1−exp(-insecticideContent×insecticideScalingFactor).
Survival of mosquitoes is adjusted via multiplication by (1−K) / (1−B). To keep this in the range [0,1], we require that B+H ≤ 1, B+P ≤ 1, B+H+P+I ≤ 1, H ≥ 0, P ≥ 0 and H+P+I ≥ 0.
Attributes
Insecticide factor
insecticideFactor=double
Units: none Max: 1
Value expected to be at least 0. Negative values are not necessarily invalid, but allow nets to increase transmission.
Insecticide scaling factor
insecticideScalingFactor=double
Units: none Min: 0
Hole factor
holeFactor=double
Units: none Max: 1
Value expected to be at least 0. Negative values are not necessarily invalid, but allow nets to increase transmission.
Interaction factor
interactionFactor=double
Units: none Max: 1
holeFactor + insecticideFactor + interactionFactor must not be greater than 1, and is expected to be at least 0. A negative value is not necessarily invalid, but allows nets to increase transmission.
Hole scaling factor
holeScalingFactor=double
Units: none Min: 0
Probability of mosquito death without intervention
baseFactor=double
Units: dimensionless
Post-prandial killing effect
→ scenario → interventions → ITN → description → anophelesParams → postprandialKillingEffect
<postprandialKillingEffect
insecticideFactor=double
insecticideScalingFactor=double
holeFactor=double
interactionFactor=double
holeScalingFactor=double
baseFactor=double
/>
Documentation (element)
Units: dimensionless Min: 0 Max: 1
Effect of net on survival mosquitoes as they seek to escape from a human host and rest after a blood meal, relative to the same person not sleeping under a net. Parameterisations should take into account that mosquitoes do not always bite indoors.
Killing proportion is calculated as K = B + H×h + P×p + I×h×p where B is the base (without net) probability of death, H, P and I are the hole, insecticide and interaction factors respectively, h=exp(-holeIndex×holeScalingFactor) and p=1−exp(-insecticideContent×insecticideScalingFactor).
Survival of mosquitoes is adjusted via multiplication by (1−K) / (1−B). To keep this in the range [0,1], we require that B+H ≤ 1, B+P ≤ 1, B+H+P+I ≤ 1, H ≥ 0, P ≥ 0 and H+P+I ≥ 0.
Attributes
Insecticide factor
insecticideFactor=double
Units: none Max: 1
Value expected to be at least 0. Negative values are not necessarily invalid, but allow nets to increase transmission.
Insecticide scaling factor
insecticideScalingFactor=double
Units: none Min: 0
Hole factor
holeFactor=double
Units: none Max: 1
Value expected to be at least 0. Negative values are not necessarily invalid, but allow nets to increase transmission.
Interaction factor
interactionFactor=double
Units: none Max: 1
holeFactor + insecticideFactor + interactionFactor must not be greater than 1, and is expected to be at least 0. A negative value is not necessarily invalid, but allows nets to increase transmission.
Hole scaling factor
holeScalingFactor=double
Units: none Min: 0
Probability of mosquito death without intervention
baseFactor=double
Units: dimensionless
Age-based bed-net deployment
→ scenario → interventions → ITN → continuous
<continuous>
IN THIS ORDER:
| ( <deploy ... /> )+
</continuous>
Documentation (element)
List of ages at which bed-net deployment takes place (through EPI, post-natal and school-based programmes, etc.).
Mass ITN deployment
→ scenario → interventions → ITN → timed
<timed>
IN THIS ORDER:
| ( <deploy ... /> )+
</timed>
Documentation (element)
List of timed ITN deployment in the communitsy
Indoor residual spraying
→ scenario → interventions → IRS
<IRS
[ name=string ]
>
IN THIS ORDER:
| EXACTLY ONE OF:
| | <description ... />
| | <description_v2 ... />
| [ <timed ... /> ]
</IRS>
Documentation (element)
Description and deployment of indoor insecticide interventions (IRS, durable wall linings, insecticide-treated-paint, etc.)
User must choose between using
Attributes
Name of intervention
name=string
Name of intervention
description
→ scenario → interventions → IRS → description
<description>
IN THIS ORDER:
| <decay ... />
| ( <anophelesParams ... /> )+
</description>
Documentation (type)
Description of effect for the simple model: IRS has three effects, whos strength is calculated as the product of an input parameter and "survival of effect", which is given by a decay function.
Decay
→ scenario → interventions → IRS → description → decay
<decay
function=("constant" or "step" or "linear" or "exponential" or "weibull" or "hill" or "smooth-compact")
L=double
[ k=double ] DEFAULT VALUE 1.0
[ mu=double ] DEFAULT VALUE 0
[ sigma=double ] DEFAULT VALUE 0
/>
Documentation (element)
Description of decay of IRS. Documentation: see DecayFunction type or https://github.com/SwissTPH/openmalaria/wiki/ModelDecayFunctions
Documentation (type)
Specification of decay or survival of a parameter.
Attributes
function
function=("constant" or "step" or "linear" or "exponential" or "weibull" or "hill" or "smooth-compact")
Units: None Min: 0 Max: 1
Determines which decay function to use. Available decay functions, for age t in years: constant: 1 step: 1 for t less than L, otherwise 0 linear: 1 - t/L for t less than L, otherwise 0 exponential: exp( - t/L * log(2) ) weibull: exp( -(t/L)^k * log(2) ) hill: 1 / (1 + (t/L)^k) smooth-compact: exp( k - k / (1 - (t/L)^2) ) for t less than L, otherwise 0
L
L=double
Units: Years Min: 0
Scale parameter of distribution. With the smooth-compact (smooth function with compact support), step and linear functions, this is the age at which the parameter has decayed to 0; with the other three functions, this is the age at which the parameter has decayed to half its original value. Not used for constant decay (though must be specified anyway).
k
k=double
Units: none Min: 0
Default value: 1.0
Shape parameter of distribution. If not specified, default value of 1 is used. Meaning depends on function; not used in some cases.
μ (mu)
mu=double
Min: 0
Default value: 0
If sigma is non-zero, heterogeneity of decay is introduced via a random variable sampled from the log-normal distribution with mu and sigma as specified. Both mu and sigma default to zero when not specified. The decay rate is multiplied by this variable (effectively, the half-life is divided by it). Note that with m=0, the median of the variable and the median value of L is unchanged, and thus the time at which the median decay amongst the population of decaying objects reaches half (assuming exponential, Weibull or Hill decay) is L. With m=-½σ² (negative half sigma squared) the mean of the variable will be 1 and mean of the half-life L, but the time at which mean decay of the population has reached half may not be L.
σ (sigma)
sigma=double
Min: 0
Default value: 0
If sigma is non-zero, heterogeneity of decay is introduced via a random variable sampled from the log-normal distribution with mu and sigma as specified. Both mu and sigma default to zero when not specified. The decay rate is multiplied by this variable (effectively, the half-life is divided by it).
Per-mosquito species parameters
→ scenario → interventions → IRS → description → anophelesParams
<anophelesParams
mosquito=string
[ propActive=double ] DEFAULT VALUE 1
>
IN THIS ORDER:
| <deterrency ... />
| <preprandialKillingEffect ... />
| <postprandialKillingEffect ... />
</anophelesParams>
Attributes
Mosquito species
mosquito=string
Name of the affected anopheles-mosquito species.
Proportion of bites for which IRS acts
propActive=double
Units: dimensionless Min: 0 Max: 1
Default value: 1
The proportion of bites for which the IRS has any action whatsoever on the mosquito. At the moment this is constant across humans and deterministic: relative attractiveness and survival factors are base*(1-propActing) + intervention_factor*propActing.
Relative attractiveness
→ scenario → interventions → IRS → description → anophelesParams → deterrency
<deterrency
value=double
/>
Documentation (element)
Units: dimensionless Min: 0 Max: 1
Effect of IRS on attractiveness of humans to mosquitoes relative to an unprotected adult human. Parameterisations should take into account that mosquitoes do not always bite indoors.
Attractiveness of the human is multiplied this factor times survival of effect.
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Pre-prandial killing effect
→ scenario → interventions → IRS → description → anophelesParams → preprandialKillingEffect
<preprandialKillingEffect
value=double
/>
Documentation (element)
Units: dimensionless Min: 0 Max: 1
Effect of IRS on survival mosquitoes as they seek to bite a human after choosing that human, relative to the same person not protected by IRS. Parameterisations should take into account that mosquitoes do not always bite indoors. This parameter has been added since some data shows IRS to have a preprandial killing effect.
Killing proportion is this factor multiplied by survival of effect.
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Post-prandial killing effect
→ scenario → interventions → IRS → description → anophelesParams → postprandialKillingEffect
<postprandialKillingEffect
value=double
/>
Documentation (element)
Units: dimensionless Min: 0 Max: 1
Effect of IRS on survival mosquitoes as they seek to escape from a human host and rest after a blood meal, relative to the same person not protected by IRS. Parameterisations should take into account that mosquitoes do not always bite indoors.
Killing proportion is this factor multiplied by survival of effect.
Attributes
Input parameter value
value=double
A double-precision floating-point value.
description_v2
→ scenario → interventions → IRS → description_v2
<description_v2>
IN THIS ORDER:
| <initialInsecticide ... />
| <insecticideDecay ... />
| ( <anophelesParams ... /> )+
</description_v2>
Documentation (type)
Description of effect for the more complex and probably more realistic Briet model: IRS has three effects, whos strength is calculated as a function of surviving insecticide content.
Initial insecticide
→ scenario → interventions → IRS → description_v2 → initialInsecticide
<initialInsecticide
mu=double
sigma=double
/>
Documentation (element)
Units: μg/cm² Min: 0
The insecticide concentration of IRS (at time of spraying) is Gaussian distributed with mean "mu" and a standard deviation "sigma". The standard deviation should be small relative to the mean to avoid negative initial concentration. Any negative values sampled are set to 0.
Documentation (type)
Parameters of a normal distribution.
Variates are sampled as: X ~ N( mu, sigma² ).
Attributes
mu
mu=double
Units: (same as base units)
The mean of the normal distribution.
sigma
sigma=double
Units: (same as base units)
The standard deviation of variates.
Decay of insecticide
→ scenario → interventions → IRS → description_v2 → insecticideDecay
<insecticideDecay
function=("constant" or "step" or "linear" or "exponential" or "weibull" or "hill" or "smooth-compact")
L=double
[ k=double ] DEFAULT VALUE 1.0
[ mu=double ] DEFAULT VALUE 0
[ sigma=double ] DEFAULT VALUE 0
/>
Documentation (element)
Units: none
Decay curve for insecticide content of IRS. Documentation: see DecayFunction type or https://github.com/SwissTPH/openmalaria/wiki/ModelDecayFunctions
Documentation (type)
Specification of decay or survival of a parameter.
Attributes
function
function=("constant" or "step" or "linear" or "exponential" or "weibull" or "hill" or "smooth-compact")
Units: None Min: 0 Max: 1
Determines which decay function to use. Available decay functions, for age t in years: constant: 1 step: 1 for t less than L, otherwise 0 linear: 1 - t/L for t less than L, otherwise 0 exponential: exp( - t/L * log(2) ) weibull: exp( -(t/L)^k * log(2) ) hill: 1 / (1 + (t/L)^k) smooth-compact: exp( k - k / (1 - (t/L)^2) ) for t less than L, otherwise 0
L
L=double
Units: Years Min: 0
Scale parameter of distribution. With the smooth-compact (smooth function with compact support), step and linear functions, this is the age at which the parameter has decayed to 0; with the other three functions, this is the age at which the parameter has decayed to half its original value. Not used for constant decay (though must be specified anyway).
k
k=double
Units: none Min: 0
Default value: 1.0
Shape parameter of distribution. If not specified, default value of 1 is used. Meaning depends on function; not used in some cases.
μ (mu)
mu=double
Min: 0
Default value: 0
If sigma is non-zero, heterogeneity of decay is introduced via a random variable sampled from the log-normal distribution with mu and sigma as specified. Both mu and sigma default to zero when not specified. The decay rate is multiplied by this variable (effectively, the half-life is divided by it). Note that with m=0, the median of the variable and the median value of L is unchanged, and thus the time at which the median decay amongst the population of decaying objects reaches half (assuming exponential, Weibull or Hill decay) is L. With m=-½σ² (negative half sigma squared) the mean of the variable will be 1 and mean of the half-life L, but the time at which mean decay of the population has reached half may not be L.
σ (sigma)
sigma=double
Min: 0
Default value: 0
If sigma is non-zero, heterogeneity of decay is introduced via a random variable sampled from the log-normal distribution with mu and sigma as specified. Both mu and sigma default to zero when not specified. The decay rate is multiplied by this variable (effectively, the half-life is divided by it).
Per-mosquito species parameters
→ scenario → interventions → IRS → description_v2 → anophelesParams
<anophelesParams
mosquito=string
[ propActive=double ] DEFAULT VALUE 1
>
IN THIS ORDER:
| <deterrency ... />
| <preprandialKillingEffect ... />
| <postprandialKillingEffect ... />
</anophelesParams>
Attributes
Mosquito species
mosquito=string
Name of the affected anopheles-mosquito species.
Proportion of bites for which IRS acts
propActive=double
Units: dimensionless Min: 0 Max: 1
Default value: 1
The proportion of bites for which the IRS has any action whatsoever on the mosquito. At the moment this is constant across humans and deterministic: relative attractiveness and survival factors are base*(1-propActing) + intervention_factor*propActing.
Relative attractiveness
→ scenario → interventions → IRS → description_v2 → anophelesParams → deterrency
<deterrency
insecticideFactor=double
insecticideScalingFactor=double
/>
Documentation (element)
Units: dimensionless Min: 0 Max: 1
Effect of IRS on attractiveness of humans to mosquitoes relative to an unprotected adult human. Parameterisations should take into account that mosquitoes do not always bite indoors.
Attractiveness of the human is multiplied by exp(P×log(p)) where P is the insecticide factor, p=1−exp(-insecticideContent×insecticideScalingFactor).
Attributes
Insecticide factor
insecticideFactor=double
Units: none Max: 1
Value expected to be at least 0. Negative values are not necessarily invalid, but allow nets to increase transmission.
Insecticide scaling factor
insecticideScalingFactor=double
Units: none Min: 0
Pre-prandial killing effect
→ scenario → interventions → IRS → description_v2 → anophelesParams → preprandialKillingEffect
<preprandialKillingEffect
insecticideFactor=double
insecticideScalingFactor=double
baseFactor=double
/>
Documentation (element)
Units: dimensionless Min: 0 Max: 1
Effect of IRS on survival mosquitoes as they seek to bite a human after choosing that human, relative to the same person not protected by IRS. Parameterisations should take into account that mosquitoes do not always bite indoors. This parameter has been added since some data shows IRS to have a preprandial killing effect.
Killing proportion is calculated as K = B + P×p where B is the base (without protection) probability of death, and P is the insecticide factor, p=1−exp(-insecticideContent×insecticideScalingFactor).
Survival of mosquitoes is adjusted via multiplication by (1−K) / (1−B). To keep this in the range [0,1], we require that B+P ≤ 1 and P ≥ 0.
Attributes
Insecticide factor
insecticideFactor=double
Units: none Max: 1
Value expected to be at least 0. Negative values are not necessarily invalid, but allow nets to increase transmission.
Insecticide scaling factor
insecticideScalingFactor=double
Units: none Min: 0
Probability of mosquito death without intervention
baseFactor=double
Units: dimensionless
Post-prandial killing effect
→ scenario → interventions → IRS → description_v2 → anophelesParams → postprandialKillingEffect
<postprandialKillingEffect
insecticideFactor=double
insecticideScalingFactor=double
baseFactor=double
/>
Documentation (element)
Units: dimensionless Min: 0 Max: 1
Effect of IRS on survival mosquitoes as they seek to escape from a human host and rest after a blood meal, relative to the same person not protected by IRS. Parameterisations should take into account that mosquitoes do not always bite indoors.
Killing proportion is calculated as K = B + P×p where B is the base (without protection) probability of death, and P is the insecticide factor, p=1−exp(-insecticideContent×insecticideScalingFactor).
Survival of mosquitoes is adjusted via multiplication by (1−K) / (1−B). To keep this in the range [0,1], we require that B+P ≤ 1 and P ≥ 0.
Attributes
Insecticide factor
insecticideFactor=double
Units: none Max: 1
Value expected to be at least 0. Negative values are not necessarily invalid, but allow nets to increase transmission.
Insecticide scaling factor
insecticideScalingFactor=double
Units: none Min: 0
Probability of mosquito death without intervention
baseFactor=double
Units: dimensionless
Mass IRS deployment
→ scenario → interventions → IRS → timed
<timed>
IN THIS ORDER:
| ( <deploy ... /> )+
</timed>
Documentation (element)
List of timed IRS deployment in the communitsy
Vector deterrents
→ scenario → interventions → vectorDeterrent
<vectorDeterrent
[ name=string ]
>
IN THIS ORDER:
| <decay ... />
| ( <anophelesParams ... /> )+
| [ <timed ... /> ]
</vectorDeterrent>
Documentation (element)
Description and deployment of interventions affecting only human-mosquito availability (deterrents).
Attributes
Name of intervention
name=string
Name of intervention
Decay
→ scenario → interventions → vectorDeterrent → decay
<decay
function=("constant" or "step" or "linear" or "exponential" or "weibull" or "hill" or "smooth-compact")
L=double
[ k=double ] DEFAULT VALUE 1.0
[ mu=double ] DEFAULT VALUE 0
[ sigma=double ] DEFAULT VALUE 0
/>
Documentation (element)
Description of decay of vector deterrent. Documentation: see DecayFunction type or https://github.com/SwissTPH/openmalaria/wiki/ModelDecayFunctions
Documentation (type)
Specification of decay or survival of a parameter.
Attributes
function
function=("constant" or "step" or "linear" or "exponential" or "weibull" or "hill" or "smooth-compact")
Units: None Min: 0 Max: 1
Determines which decay function to use. Available decay functions, for age t in years: constant: 1 step: 1 for t less than L, otherwise 0 linear: 1 - t/L for t less than L, otherwise 0 exponential: exp( - t/L * log(2) ) weibull: exp( -(t/L)^k * log(2) ) hill: 1 / (1 + (t/L)^k) smooth-compact: exp( k - k / (1 - (t/L)^2) ) for t less than L, otherwise 0
L
L=double
Units: Years Min: 0
Scale parameter of distribution. With the smooth-compact (smooth function with compact support), step and linear functions, this is the age at which the parameter has decayed to 0; with the other three functions, this is the age at which the parameter has decayed to half its original value. Not used for constant decay (though must be specified anyway).
k
k=double
Units: none Min: 0
Default value: 1.0
Shape parameter of distribution. If not specified, default value of 1 is used. Meaning depends on function; not used in some cases.
μ (mu)
mu=double
Min: 0
Default value: 0
If sigma is non-zero, heterogeneity of decay is introduced via a random variable sampled from the log-normal distribution with mu and sigma as specified. Both mu and sigma default to zero when not specified. The decay rate is multiplied by this variable (effectively, the half-life is divided by it). Note that with m=0, the median of the variable and the median value of L is unchanged, and thus the time at which the median decay amongst the population of decaying objects reaches half (assuming exponential, Weibull or Hill decay) is L. With m=-½σ² (negative half sigma squared) the mean of the variable will be 1 and mean of the half-life L, but the time at which mean decay of the population has reached half may not be L.
σ (sigma)
sigma=double
Min: 0
Default value: 0
If sigma is non-zero, heterogeneity of decay is introduced via a random variable sampled from the log-normal distribution with mu and sigma as specified. Both mu and sigma default to zero when not specified. The decay rate is multiplied by this variable (effectively, the half-life is divided by it).
anophelesParams
→ scenario → interventions → vectorDeterrent → anophelesParams
<anophelesParams
mosquito=string
>
IN THIS ORDER:
| <deterrency ... />
</anophelesParams>
Documentation (type)
Units: dimensionless Min: 0 Max: 1
Descriptions of initial effectiveness of each of the effects of interventions. Decay is specified by a separate element (ITNDecay etc.)
Attributes
Mosquito species
mosquito=string
Name of the affected anopheles-mosquito species.
Deterrency
→ scenario → interventions → vectorDeterrent → anophelesParams → deterrency
<deterrency
value=double
/>
Documentation (element)
Units: dimensionless Min: 0 Max: 1
One minus this multiplies the host's availability.
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Mass deployment
→ scenario → interventions → vectorDeterrent → timed
<timed>
IN THIS ORDER:
| ( <deploy ... /> )+
</timed>
Documentation (element)
List of timed mosquito deterrent deployment in the communitsy
Cohort recruitment
→ scenario → interventions → cohort
<cohort
[ name=string ]
>
IN THIS ORDER:
| [ <continuous ... /> ]
| [ <timed ... /> ]
</cohort>
Documentation (element)
Recruitment of cohort as a pseudo-intervention.
Attributes
Name of intervention
name=string
Name of intervention
Age-based cohort recruitment
→ scenario → interventions → cohort → continuous
<continuous>
IN THIS ORDER:
| ( <deploy ... /> )+
</continuous>
Documentation (element)
List of ages at which cohort recruitment takes place.
Mass cohort selection
→ scenario → interventions → cohort → timed
<timed>
IN THIS ORDER:
| ( <deploy ... /> )+
</timed>
Documentation (element)
List of times of mass cohort selection.
Imported infections
→ scenario → interventions → importedInfections
<importedInfections
[ name=string ]
>
IN THIS ORDER:
| <timed ... />
</importedInfections>
Documentation (element)
Models importation of P. falciparum infections directly into humans from an external source. This is infections, not inoculations or EIR being imported.
Attributes
Name of intervention
name=string
Name of intervention
Rate of importation
→ scenario → interventions → importedInfections → timed
<timed
[ period=int ] DEFAULT VALUE 0
>
IN THIS ORDER:
| ( <rate ... /> )+
</timed>
Documentation (element)
Rate of case importation, as a step function. Each value is valid until replaced by the next value.
Attributes
Period of repetition
period=int
Units: time-steps Min: 0
Default value: 0
If period is 0 (or effectively infinite), the last specified value remains indefinitely in effect, otherwise the times of all values specified must be less than the period, and values are repeated modulo period (timestep period+2 has same value as timestep 2, etc.).
rate
→ scenario → interventions → importedInfections → timed → rate
<rate
value=double
time=int
/>
Documentation (type)
Units: Imported cases per thousand people per year
A time-rate pair.
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Time
time=int
Units: time-steps Min: 0
Immune suppression
→ scenario → interventions → immuneSuppression
<immuneSuppression>
IN THIS ORDER:
| [ <timed ... /> ]
</immuneSuppression>
Documentation (element)
Removes all exposure-related immunitsy gained over time by hosts without removing infections.
Hypothetical, but potentially useful to simulate scenarios with unprotected humans.
timed
→ scenario → interventions → immuneSuppression → timed
<timed>
IN THIS ORDER:
| ( <deploy ... /> )+
</timed>
Insert R_0 case
→ scenario → interventions → insertR_0Case
<insertR_0Case>
IN THIS ORDER:
| ( <timedDeployment ... /> )*
</insertR_0Case>
Documentation (element)
Used to simulate R_0. First, infections should be eliminated, immunitsy removed, and the population given an effective transmission- blocking vaccine (not done by this intervention). Then this intervention may be used to: pick one human, infect him, administer a fully effective Preerythrocytic vaccine and remove transmission-blocking vaccine effect on this human. Thus only this one human will be a source of infections in an unprotected population, and will not reinfected himself.
timedDeployment
→ scenario → interventions → insertR_0Case → timedDeployment
<timedDeployment
time=int
/>
Attributes
Time
time=int
Units: time-steps Min: 0
Time-step at which this intervention occurs, starting from 0, the first intervention-period time-step.
Uninfect vectors
→ scenario → interventions → uninfectVectors
<uninfectVectors>
IN THIS ORDER:
| ( <timedDeployment ... /> )*
</uninfectVectors>
Documentation (element)
Units: List of elements
Removes all infections from mosquitoes -- resulting in zero EIR to humans, until such time that mosquitoes are re-infected and become infectious. Only effectious in dynamic EIR mode (when changeEIR was not used).
Hypothetical, but potentially useful to simulate a setting starting from no infections, but with enough mosquitoes to reach a set equilibrium of exposure.
timedDeployment
→ scenario → interventions → uninfectVectors → timedDeployment
<timedDeployment
time=int
/>
Attributes
Time
time=int
Units: time-steps Min: 0
Time-step at which this intervention occurs, starting from 0, the first intervention-period time-step.
Vector population intervention
→ scenario → interventions → vectorPop
<vectorPop>
IN THIS ORDER:
| ( <intervention ... /> )+
</vectorPop>
Documentation (element)
Units: List of elements
A list of parameterisations of generic vector host-inspecific interventions.
intervention
→ scenario → interventions → vectorPop → intervention
<intervention
name=string
>
IN THIS ORDER:
| <description ... />
| [ <timed ... /> ]
</intervention>
Documentation (type)
Units: List of elements
An intervention which may have various effects on the vector populations as a whole. (Not host specific.)
Multiple instances of this intervention class are allowed (multiple parameterisations, not just deployments).
Each instance may have multiple deployments. In this case the effects of each instance are independent (effects are combined) but the effects of multiple deployments of a single instance are not independent (only the latest deployment has any effect).
Attributes
Name of intervention
name=string
Name of intervention (e.g. larviciding, sugar bait).
description
→ scenario → interventions → vectorPop → intervention → description
<description>
IN THIS ORDER:
| ( <anopheles ... /> )+
</description>
anopheles
→ scenario → interventions → vectorPop → intervention → description → anopheles
<anopheles
mosquito=string
>
IN ANY ORDER:
| [ <seekingDeathRateIncrease ... /> ]
| [ <probDeathOvipositing ... /> ]
| [ <emergenceReduction ... /> ]
</anopheles>
Documentation (type)
Units: dimensionless Min: 0 Max: 1
Descriptions of initial effectiveness of the effects of vector population interventions.
Attributes
Mosquito species
mosquito=string
Name of the affected anopheles-mosquito species.
Proportional increase in deaths while host searching
→ scenario → interventions → vectorPop → intervention → description → anopheles → seekingDeathRateIncrease
<seekingDeathRateIncrease
initial=double
>
IN THIS ORDER:
| <decay ... />
</seekingDeathRateIncrease>
Documentation (element)
Units: dimensionless
Describe an effect on the increase in the death rate while host seeking (mu_vA) due to this intervention.
Enter the rate increase (i.e. if rate increases to 120% of normal, give 0.2).
Attributes
Initial proportion increase
initial=double
Units: dimensionless Min: 0 Max: inf
decay
→ scenario → interventions → vectorPop → intervention → description → anopheles → seekingDeathRateIncrease → decay
<decay
function=("constant" or "step" or "linear" or "exponential" or "weibull" or "hill" or "smooth-compact")
L=double
[ k=double ] DEFAULT VALUE 1.0
[ mu=double ] DEFAULT VALUE 0
[ sigma=double ] DEFAULT VALUE 0
/>
Documentation (type)
Specification of decay or survival of a parameter.
Attributes
function
function=("constant" or "step" or "linear" or "exponential" or "weibull" or "hill" or "smooth-compact")
Units: None Min: 0 Max: 1
Determines which decay function to use. Available decay functions, for age t in years: constant: 1 step: 1 for t less than L, otherwise 0 linear: 1 - t/L for t less than L, otherwise 0 exponential: exp( - t/L * log(2) ) weibull: exp( -(t/L)^k * log(2) ) hill: 1 / (1 + (t/L)^k) smooth-compact: exp( k - k / (1 - (t/L)^2) ) for t less than L, otherwise 0
L
L=double
Units: Years Min: 0
Scale parameter of distribution. With the smooth-compact (smooth function with compact support), step and linear functions, this is the age at which the parameter has decayed to 0; with the other three functions, this is the age at which the parameter has decayed to half its original value. Not used for constant decay (though must be specified anyway).
k
k=double
Units: none Min: 0
Default value: 1.0
Shape parameter of distribution. If not specified, default value of 1 is used. Meaning depends on function; not used in some cases.
μ (mu)
mu=double
Min: 0
Default value: 0
If sigma is non-zero, heterogeneity of decay is introduced via a random variable sampled from the log-normal distribution with mu and sigma as specified. Both mu and sigma default to zero when not specified. The decay rate is multiplied by this variable (effectively, the half-life is divided by it). Note that with m=0, the median of the variable and the median value of L is unchanged, and thus the time at which the median decay amongst the population of decaying objects reaches half (assuming exponential, Weibull or Hill decay) is L. With m=-½σ² (negative half sigma squared) the mean of the variable will be 1 and mean of the half-life L, but the time at which mean decay of the population has reached half may not be L.
σ (sigma)
sigma=double
Min: 0
Default value: 0
If sigma is non-zero, heterogeneity of decay is introduced via a random variable sampled from the log-normal distribution with mu and sigma as specified. Both mu and sigma default to zero when not specified. The decay rate is multiplied by this variable (effectively, the half-life is divided by it).
Proportion ovipositing mosquitoes killed
→ scenario → interventions → vectorPop → intervention → description → anopheles → probDeathOvipositing
<probDeathOvipositing
initial=double
>
IN THIS ORDER:
| <decay ... />
</probDeathOvipositing>
Documentation (element)
Units: dimensionless
Describe an effect of increased mortality while ovipositing due to this intervention. Enter the probability of dying due to this intervention.
Attributes
Initial probability of killing
initial=double
Units: dimensionless Min: 0 Max: 1
decay
→ scenario → interventions → vectorPop → intervention → description → anopheles → probDeathOvipositing → decay
<decay
function=("constant" or "step" or "linear" or "exponential" or "weibull" or "hill" or "smooth-compact")
L=double
[ k=double ] DEFAULT VALUE 1.0
[ mu=double ] DEFAULT VALUE 0
[ sigma=double ] DEFAULT VALUE 0
/>
Documentation (type)
Specification of decay or survival of a parameter.
Attributes
function
function=("constant" or "step" or "linear" or "exponential" or "weibull" or "hill" or "smooth-compact")
Units: None Min: 0 Max: 1
Determines which decay function to use. Available decay functions, for age t in years: constant: 1 step: 1 for t less than L, otherwise 0 linear: 1 - t/L for t less than L, otherwise 0 exponential: exp( - t/L * log(2) ) weibull: exp( -(t/L)^k * log(2) ) hill: 1 / (1 + (t/L)^k) smooth-compact: exp( k - k / (1 - (t/L)^2) ) for t less than L, otherwise 0
L
L=double
Units: Years Min: 0
Scale parameter of distribution. With the smooth-compact (smooth function with compact support), step and linear functions, this is the age at which the parameter has decayed to 0; with the other three functions, this is the age at which the parameter has decayed to half its original value. Not used for constant decay (though must be specified anyway).
k
k=double
Units: none Min: 0
Default value: 1.0
Shape parameter of distribution. If not specified, default value of 1 is used. Meaning depends on function; not used in some cases.
μ (mu)
mu=double
Min: 0
Default value: 0
If sigma is non-zero, heterogeneity of decay is introduced via a random variable sampled from the log-normal distribution with mu and sigma as specified. Both mu and sigma default to zero when not specified. The decay rate is multiplied by this variable (effectively, the half-life is divided by it). Note that with m=0, the median of the variable and the median value of L is unchanged, and thus the time at which the median decay amongst the population of decaying objects reaches half (assuming exponential, Weibull or Hill decay) is L. With m=-½σ² (negative half sigma squared) the mean of the variable will be 1 and mean of the half-life L, but the time at which mean decay of the population has reached half may not be L.
σ (sigma)
sigma=double
Min: 0
Default value: 0
If sigma is non-zero, heterogeneity of decay is introduced via a random variable sampled from the log-normal distribution with mu and sigma as specified. Both mu and sigma default to zero when not specified. The decay rate is multiplied by this variable (effectively, the half-life is divided by it).
Proportion of emerging pupa killed
→ scenario → interventions → vectorPop → intervention → description → anopheles → emergenceReduction
<emergenceReduction
initial=double
>
IN THIS ORDER:
| <decay ... />
</emergenceReduction>
Documentation (element)
Units: dimensionless
Describe an effect on emergence of pupa into adults: this value is the proportion of emerging pupa which are killed by this intervention.
This can be used as a crude way of modelling larviciding.
Attributes
Initial proportion reduction
initial=double
Units: dimensionless Min: 0 Max: 1
decay
→ scenario → interventions → vectorPop → intervention → description → anopheles → emergenceReduction → decay
<decay
function=("constant" or "step" or "linear" or "exponential" or "weibull" or "hill" or "smooth-compact")
L=double
[ k=double ] DEFAULT VALUE 1.0
[ mu=double ] DEFAULT VALUE 0
[ sigma=double ] DEFAULT VALUE 0
/>
Documentation (type)
Specification of decay or survival of a parameter.
Attributes
function
function=("constant" or "step" or "linear" or "exponential" or "weibull" or "hill" or "smooth-compact")
Units: None Min: 0 Max: 1
Determines which decay function to use. Available decay functions, for age t in years: constant: 1 step: 1 for t less than L, otherwise 0 linear: 1 - t/L for t less than L, otherwise 0 exponential: exp( - t/L * log(2) ) weibull: exp( -(t/L)^k * log(2) ) hill: 1 / (1 + (t/L)^k) smooth-compact: exp( k - k / (1 - (t/L)^2) ) for t less than L, otherwise 0
L
L=double
Units: Years Min: 0
Scale parameter of distribution. With the smooth-compact (smooth function with compact support), step and linear functions, this is the age at which the parameter has decayed to 0; with the other three functions, this is the age at which the parameter has decayed to half its original value. Not used for constant decay (though must be specified anyway).
k
k=double
Units: none Min: 0
Default value: 1.0
Shape parameter of distribution. If not specified, default value of 1 is used. Meaning depends on function; not used in some cases.
μ (mu)
mu=double
Min: 0
Default value: 0
If sigma is non-zero, heterogeneity of decay is introduced via a random variable sampled from the log-normal distribution with mu and sigma as specified. Both mu and sigma default to zero when not specified. The decay rate is multiplied by this variable (effectively, the half-life is divided by it). Note that with m=0, the median of the variable and the median value of L is unchanged, and thus the time at which the median decay amongst the population of decaying objects reaches half (assuming exponential, Weibull or Hill decay) is L. With m=-½σ² (negative half sigma squared) the mean of the variable will be 1 and mean of the half-life L, but the time at which mean decay of the population has reached half may not be L.
σ (sigma)
sigma=double
Min: 0
Default value: 0
If sigma is non-zero, heterogeneity of decay is introduced via a random variable sampled from the log-normal distribution with mu and sigma as specified. Both mu and sigma default to zero when not specified. The decay rate is multiplied by this variable (effectively, the half-life is divided by it).
Vector population intervention deployment
→ scenario → interventions → vectorPop → intervention → timed
<timed>
IN THIS ORDER:
| ( <deploy ... /> )+
</timed>
Documentation (element)
List of timed vector population intervention deployment
deploy
→ scenario → interventions → vectorPop → intervention → timed → deploy
<deploy
time=int
/>
Attributes
Time
time=int
Units: time-steps Min: 0
Time-step at which this intervention occurs, starting from 0, the first intervention-period time-step.
Health system description
→ scenario → healthSystem
<healthSystem>
IN THIS ORDER:
| EXACTLY ONE OF:
| | <EventScheduler ... />
| | <ImmediateOutcomes ... />
| <CFR ... />
| <pSequelaeInpatient ... />
</healthSystem>
Documentation (element)
Description of health system.
Documentation (type)
Description of case management system, used to specify the initial model or a replacement (an intervention). Encompasses case management data and some other data required to derive case outcomes.
Contains a sub-element describing the particular health-system in use. Health system data is here defined as data used to decide on a treatment strategy, given a case requiring treatment.
Transmission and vector bionomics
→ scenario → entomology
<entomology
name=string
mode=("forced" or "dynamic")
[ scaledAnnualEIR=double ]
>
IN THIS ORDER:
| EXACTLY ONE OF:
| | <nonVector ... />
| | <vector ... />
</entomology>
Documentation (element)
Description of entomological data
Attributes
Entomology dataset name
name=string
Name of entomology data
Transmission model mode
mode=("forced" or "dynamic")
Transmission simulation mode: may be forced (in which case interventions and changes to human infectiousness cannot affect EIR) or dynamic (in which the above can affect EIR). The full vector model is only used in dynamic mode. This can not be changed by interventions, except for the changeEIR intervention for the non-vector model which replaces the EIR with a new description (used in forced mode).
Override annual EIR
scaledAnnualEIR=double
Units: Infectious bites per adult per year
If set, the annual EIR (for all species of vector) is scaled to this level; can be omitted if not needed.
Transmission setting (vector control not enabled)
→ scenario → entomology → nonVector
<nonVector
eipDuration=int
>
IN THIS ORDER:
| ( <EIRDaily ... /> )+
</nonVector>
Documentation (element)
Description of transmission setting for models without vector control interventions (included for backward compatibility)
Attributes
Duration of sporogony
eipDuration=int
Units: Days
The duration of sporogony in days
Transmission setting (vector control enabled)
→ scenario → entomology → vector
<vector>
IN THIS ORDER:
| ( <anopheles ... /> )+
| ( <nonHumanHosts ... /> )*
</vector>
Documentation (element)
Parameters of the transmission model
anopheles
→ scenario → entomology → vector → anopheles
<anopheles
mosquito=string
propInfected=double
propInfectious=double
>
IN THIS ORDER:
| <seasonality ... />
| <mosq ... />
| [ <lifeCycle ... /> ]
| [ <simpleMPD ... /> ]
| ( <nonHumanHosts ... /> )*
</anopheles>
Documentation (type)
Description of input EIR for one specific vector species in terms of a Fourier approximation to the ln of the EIR during the burn in period
Attributes
Identifier for this anopheles species
mosquito=string
Identifier for this anopheles species
Initial estimate of proportion of mosquitoes infected (ρ_O)
propInfected=double
Units: Proportion Min: 0 Max: 1
Initial guess of the proportion of mosquitoes which are infected, o: O_v(t) = o*N_v(t). Only used as a starting value.
Initial estimate of proportion of mosquitoes infectious (ρ_S)
propInfectious=double
Units: Proportion Min: 0 Max: 1
Initial estimate of the proportion of mosquitoes which are infectious, s: S_v(t) = s*N_v(t). Used as a starting value and then fit.
Seasonality of transmission
→ scenario → entomology → vector → anopheles → seasonality
<seasonality
input=("EIR")
[ annualEIR=double ]
>
IN THIS ORDER:
| EXACTLY ONE OF:
| | <fourierSeries ... />
| | <monthlyValues ... />
| | <dailyValues ... />
</seasonality>
Documentation (element)
Specifies the seasonality of transmission and optionally the level of annual transmission.
Attributes
Seasonality input
input=("EIR")
Specify what seasonality measure is given. At the moment, only EIR is supported, but in the future, all the below should be supported. EIR: seasonality of entomological inoculations is input. Units: entomological inoculations per adult per annum. hostSeeking: seasonality of densities of flying host-seeking mosquitoes is input (in the model this is notated N_v). Units: mosquitoes. emergence: seasonality of emergence pupa into adults. Units: mosquitoes. larvalResources: seasonality of larval resources. Units: X.
Annual EIR
annualEIR=double
Units: Inoculations per adult per annum Min: 0
If this attribute is included, EIR for this species is scaled to this level. Note that if the scaledAnnualEIR attribute of the entomology element is also used, EIR is scaled again, making this attribute the EIR relative to other species. With some seasonality inputs, this attribute is optional, in which case (if scaledAnnualEIR is also not specified) transmission depends on all parameters of the vector. With some seasonality inputs, however, this parameter must be specified.
Fourier approximation to pre-intervention EIR
→ scenario → entomology → vector → anopheles → seasonality → fourierSeries
<fourierSeries
EIRRotateAngle=double
>
IN THIS ORDER:
| ( <coeffic ... /> )*
</fourierSeries>
Documentation (element)
Units: Infectious bites per adult per day
Seasonality is reproduced from the exponential of a fourier series specified by the following coefficients. Note that the a0 term is not needed; the annualEIR attribute of the seasonality element should be used to scale EIR instead.
Attributes
Rotation angle defining the origin of the Fourier approximation to ln (EIR)
EIRRotateAngle=double
Units: Radians
Rotation angle defining the origin of the Fourier approximation to ln (EIR)
Pair of Fourier coefficients
→ scenario → entomology → vector → anopheles → seasonality → fourierSeries → coeffic
<coeffic
a=double
b=double
/>
Documentation (element)
A pair of Fourier series coefficients. The first element specifies a1 and b1, the second a2 and b2, etc. Any number (from 0 up) of pairs may be given.
Attributes
a_n parameter of Fourier approximation to ln(EIR)
a=double
a_n parameter of Fourier approximation to ln(EIR) for some natural number n.
b_n parameter of Fourier approximation to ln(EIR)
b=double
b_n parameter of Fourier approximation to ln(EIR) for some natural number n.
List of monthly values
→ scenario → entomology → vector → anopheles → seasonality → monthlyValues
<monthlyValues
smoothing=("none" or "fourier")
>
IN THIS ORDER:
| ( <value ... /> ){12,12}
</monthlyValues>
Documentation (element)
Description of seasonality from monthly values. Multiple smoothing methods are possible (see smoothing attribute).
List should contain twelve entries: January to December.
Attributes
Smoothing function
smoothing=("none" or "fourier")
How the monthly values are converted into a daily sequence of values:
- none: no smoothing (step function)
- Fourier: a Fourier series (with terms up to a2/b2) is fit to the sequence of monthly values and used to generate a smoothed list of daily values.
Monthly value
→ scenario → entomology → vector → anopheles → seasonality → monthlyValues → value
<value>
double
</value>
Documentation (element)
Units: (see "seasonality input" parameter)
Monthly value
List of daily values
→ scenario → entomology → vector → anopheles → seasonality → dailyValues
<dailyValues>
IN THIS ORDER:
| ( <value ... /> ){365,365}
</dailyValues>
Documentation (element)
Description of seasonality from daily values.
List should contain 365 entries: 1st January to 31st December.
Daily value
→ scenario → entomology → vector → anopheles → seasonality → dailyValues → value
<value>
double
</value>
Documentation (element)
Units: (see "seasonality input" parameter)
Daily value
Mosquito feeding cycle parameters
→ scenario → entomology → vector → anopheles → mosq
<mosq
minInfectedThreshold=double
>
IN ANY ORDER:
| <mosqRestDuration ... />
| <extrinsicIncubationPeriod ... />
| <mosqLaidEggsSameDayProportion ... />
| <mosqSeekingDuration ... />
| <mosqSurvivalFeedingCycleProbability ... />
| <availabilityVariance ... />
| <mosqProbBiting ... />
| <mosqProbFindRestSite ... />
| <mosqProbResting ... />
| <mosqProbOvipositing ... />
| <mosqHumanBloodIndex ... />
</mosq>
- mosqRestDuration
- extrinsicIncubationPeriod
- mosqLaidEggsSameDayProportion
- mosqSeekingDuration
- mosqSurvivalFeedingCycleProbability
- availabilityVariance
- mosqProbBiting
- mosqProbFindRestSite
- mosqProbResting
- mosqProbOvipositing
- mosqHumanBloodIndex
Documentation (element)
Parameters describing the feeding cycle and human mosquito interaction of a single species of anopheles mosquito.
Attributes
Mininum infected threshold for mosquitos
minInfectedThreshold=double
Min: 0
If less than this many mosquitoes remain infected, transmission is interrupted.
Duration of the resting period of the vector
→ scenario → entomology → vector → anopheles → mosq → mosqRestDuration
<mosqRestDuration
value=int
/>
Documentation (element)
Units: Days
name:Duration of the resting period of the vector (days);
Attributes
Input parameter value
value=int
An integer value.
Extrinsic incubation period
→ scenario → entomology → vector → anopheles → mosq → extrinsicIncubationPeriod
<extrinsicIncubationPeriod
value=int
/>
Documentation (element)
Units: Days
name:Extrinsic incubation period (days)
Attributes
Input parameter value
value=int
An integer value.
Proportion of mosquitoes host seeking on same day as ovipositing
→ scenario → entomology → vector → anopheles → mosq → mosqLaidEggsSameDayProportion
<mosqLaidEggsSameDayProportion
value=double
/>
Documentation (element)
Units: Proportion
Proportion of mosquitoes host seeking on same day as ovipositing
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Duration of the host-seeking period of the vector
→ scenario → entomology → vector → anopheles → mosq → mosqSeekingDuration
<mosqSeekingDuration
value=double
/>
Documentation (element)
Units: Days
Duration of the host-seeking period of the vector (days)
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Probability that the mosquito survives the feeding cycle
→ scenario → entomology → vector → anopheles → mosq → mosqSurvivalFeedingCycleProbability
<mosqSurvivalFeedingCycleProbability
value=double
/>
Documentation (element)
Units: Proportion
Probability that the mosquito survives the feeding cycle
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Variance in human availability rate
→ scenario → entomology → vector → anopheles → mosq → availabilityVariance
<availabilityVariance
value=double
/>
Documentation (element)
Variance in availability rate of humans to mosquitoes. The mean rate is calculated based on other parameters.
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Probability that the mosquito succesfully bites chosen host
→ scenario → entomology → vector → anopheles → mosq → mosqProbBiting
<mosqProbBiting
mean=double
variance=double
/>
Documentation (element)
Probability that the mosquito succesfully bites chosen host
Documentation (type)
Parameters of a normal distribution, provided as mean and variance.
Variates are sampled from Be(α,β) where α and β are determined from the mean and variance as follows: let v be the variance and c=mean/(1-mean). Then we set α=cβ and β=((c+1)²v - c)/((c+1)³v).
Attributes
mean
mean=double
Units: none
The mean of the beta distribution (must be in the open range (0,1)).
variance
variance=double
Units: none
The standard deviation of variates.
Probability that the mosquito escapes host and finds a resting place after biting
→ scenario → entomology → vector → anopheles → mosq → mosqProbFindRestSite
<mosqProbFindRestSite
mean=double
variance=double
/>
Documentation (element)
Probability that the mosquito escapes host and finds a resting place after biting
Documentation (type)
Parameters of a normal distribution, provided as mean and variance.
Variates are sampled from Be(α,β) where α and β are determined from the mean and variance as follows: let v be the variance and c=mean/(1-mean). Then we set α=cβ and β=((c+1)²v - c)/((c+1)³v).
Attributes
mean
mean=double
Units: none
The mean of the beta distribution (must be in the open range (0,1)).
variance
variance=double
Units: none
The standard deviation of variates.
Probability of mosquito successfully resting after finding a resting site
→ scenario → entomology → vector → anopheles → mosq → mosqProbResting
<mosqProbResting
mean=double
variance=double
/>
Documentation (element)
Probability of mosquito successfully resting after finding a resting site
Documentation (type)
Parameters of a normal distribution, provided as mean and variance.
Variates are sampled from Be(α,β) where α and β are determined from the mean and variance as follows: let v be the variance and c=mean/(1-mean). Then we set α=cβ and β=((c+1)²v - c)/((c+1)³v).
Attributes
mean
mean=double
Units: none
The mean of the beta distribution (must be in the open range (0,1)).
variance
variance=double
Units: none
The standard deviation of variates.
Probability of a mosquito successfully laying eggs given that it has rested
→ scenario → entomology → vector → anopheles → mosq → mosqProbOvipositing
<mosqProbOvipositing
value=double
/>
Documentation (element)
Probability of a mosquito successfully laying eggs given that it has rested
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Human blood index
→ scenario → entomology → vector → anopheles → mosq → mosqHumanBloodIndex
<mosqHumanBloodIndex
value=double
/>
Documentation (element)
Units: Proportion
The proportion of resting mosquitoes which fed on human blood during the last feed.
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Mosquito life cycle parameters
→ scenario → entomology → vector → anopheles → lifeCycle
<lifeCycle
[ estimatedLarvalResources=double ] DEFAULT VALUE 1e8
>
IN ANY ORDER:
| <eggStage ... />
| <larvalStage ... />
| <pupalStage ... />
| <femaleEggsLaidByOviposit ... />
</lifeCycle>
Documentation (element)
Parameters describing the life-cycle of this species of mosquito
Attributes
Estimate of larval resources
estimatedLarvalResources=double
Units: X
Default value: 1e8
An estimate of mean annual availability of resources to larvae. Used to get the resource usage fitting algorithm going; if the algorithm fails to fit the resource availability then tweaking this parameter may help. In other cases tweaking this parameter shouldn't be necessary. Default value is 10⁸ (1e8). Units are arbitrary but must be the same as those used by the resourceUsage parameter.
Egg stage
→ scenario → entomology → vector → anopheles → lifeCycle → eggStage
<eggStage
duration=int
survival=double
/>
Documentation (element)
Parameters for the egg stage of development
Documentation (type)
Parameters associated with a mosquito development stage.
Attributes
Duration
duration=int
Units: Days
Duration of the stage (i.e. length of time mosquito is an egg/larva/pupa).
Probability of survival
survival=double
Units: Proportion
Probability that mosquito survives this size (probability of egg hatching, a larva becoming a pupa or a pupa emerging as an adult, at the start of that stage).
larvalStage
→ scenario → entomology → vector → anopheles → lifeCycle → larvalStage
<larvalStage>
</larvalStage>
Documentation (type)
Parameters for the larval stage of development
Documentation (base type)
Parameters associated with a mosquito development stage.
Daily development
→ scenario → entomology → vector → anopheles → lifeCycle → larvalStage → daily
<daily
resourceUsage=double
effectCompetition=double
/>
Documentation (element)
List of parameters which apply during the larval stage of development. List length must equal stage duration, with first item corresponding to first 24 hours after hatching, second item to hours 24-48, and so on.
Attributes
Resource usage
resourceUsage=double
Units: X
Resource usage during larval stage of development. Units are arbitrary.
Effect of competition
effectCompetition=double
Units: none
Effect of competition over resources on development.
Pupal stage
→ scenario → entomology → vector → anopheles → lifeCycle → pupalStage
<pupalStage
duration=int
survival=double
/>
Documentation (element)
Parameters for the pupal stage of development
Documentation (type)
Parameters associated with a mosquito development stage.
Attributes
Duration
duration=int
Units: Days
Duration of the stage (i.e. length of time mosquito is an egg/larva/pupa).
Probability of survival
survival=double
Units: Proportion
Probability that mosquito survives this size (probability of egg hatching, a larva becoming a pupa or a pupa emerging as an adult, at the start of that stage).
Eggs laid by ovipositing mosquito
→ scenario → entomology → vector → anopheles → lifeCycle → femaleEggsLaidByOviposit
<femaleEggsLaidByOviposit
value=double
/>
Documentation (element)
Units: Eggs per feeding cycle
The total number of female eggs laid by a female mosquito at the conclusion to a feeding cycle.
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Simple Mosq-Pop-Dynamics parameters
→ scenario → entomology → vector → anopheles → simpleMPD
<simpleMPD>
IN ANY ORDER:
| <developmentDuration ... />
| <developmentSurvival ... />
| <femaleEggsLaidByOviposit ... />
</simpleMPD>
Documentation (element)
Parameters describing the simple mosquito population dynamics model.
This is a simpler version of the life-cycle model, requiring less parameters and with much simpler initialisation.
Duration
→ scenario → entomology → vector → anopheles → simpleMPD → developmentDuration
<developmentDuration
value=int
/>
Documentation (element)
Units: Days Min: 1
Duration from egg laying to emergence in days.
Attributes
Input parameter value
value=int
An integer value.
Probability of survival
→ scenario → entomology → vector → anopheles → simpleMPD → developmentSurvival
<developmentSurvival
value=double
/>
Documentation (element)
Units: Proportion Min: 0 Max: 1
Probability that mosquito survives from the egg being laid to emergence, given no resouce limitations (no density constraints).
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Eggs laid by ovipositing mosquito
→ scenario → entomology → vector → anopheles → simpleMPD → femaleEggsLaidByOviposit
<femaleEggsLaidByOviposit
value=double
/>
Documentation (element)
Units: Eggs per feeding cycle
The total number of female eggs laid by a female mosquito at the conclusion to a feeding cycle.
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Alternative (non-human) host paramters
→ scenario → entomology → vector → anopheles → nonHumanHosts
<nonHumanHosts
name=string
>
IN ANY ORDER:
| <mosqRelativeEntoAvailability ... />
| <mosqProbBiting ... />
| <mosqProbFindRestSite ... />
| <mosqProbResting ... />
</nonHumanHosts>
Documentation (element)
Min: 0
Non human host parameters, per type of host (must match up with non-species-specific parameters).
Attributes
Identifier for this category of non-human hosts
name=string
Identifier for this category of non-human hosts
Relative availability of non-human host (ξ_i)
→ scenario → entomology → vector → anopheles → nonHumanHosts → mosqRelativeEntoAvailability
<mosqRelativeEntoAvailability
value=double
/>
Documentation (element)
Units: Proportion
Relative availability of non-human hosts of type i to other non-human hosts; the sum of this across all non-human hosts must be 1.
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Probability of mosquito successfully biting host
→ scenario → entomology → vector → anopheles → nonHumanHosts → mosqProbBiting
<mosqProbBiting
value=double
/>
Documentation (element)
Units: Proportion
Probability of mosquito successfully biting host
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Probability that the mosquito escapes host and finds a resting place after biting
→ scenario → entomology → vector → anopheles → nonHumanHosts → mosqProbFindRestSite
<mosqProbFindRestSite
value=double
/>
Documentation (element)
Units: Proportion
Probability that the mosquito escapes host and finds a resting place after biting
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Probability of mosquito successfully resting after finding a resting site
→ scenario → entomology → vector → anopheles → nonHumanHosts → mosqProbResting
<mosqProbResting
value=double
/>
Documentation (element)
Units: Proportion
Probability of mosquito successfully resting after finding a resting site
Attributes
Input parameter value
value=double
A double-precision floating-point value.
nonHumanHosts
→ scenario → entomology → vector → nonHumanHosts
<nonHumanHosts
name=string
number=double
/>
Attributes
Species of alternative host
name=string
Name of this species of non human hosts (must match up with those described per anopheles section).
Population size of alternative host species
number=double
Units: Number
Population size of this non-human host.
Pharmacokinetics and pharmacodynamics
→ scenario → pharmacology
<pharmacology>
IN THIS ORDER:
| ( <drug ... /> )+
</pharmacology>
Documentation (element)
Drug model parameters
Library of drug parameters
→ scenario → pharmacology → drug
<drug
abbrev=string
>
IN THIS ORDER:
| <PD ... />
| <PK ... />
</drug>
Documentation (element)
Sequence of drug descriptions forming a library of drug parameters.
Attributes
abbrev
abbrev=string
PD
→ scenario → pharmacology → drug → PD
<PD>
IN THIS ORDER:
| ( <allele ... /> )+
</PD>
PD parameters per allele
→ scenario → pharmacology → drug → PD → allele
<allele
name=string
>
IN THIS ORDER:
| <initial_frequency ... />
| <max_killing_rate ... />
| <IC50 ... />
| <slope ... />
</allele>
Documentation (element)
PD parameters per allele, plus initial frequency of each allele.
Note: we assume a one-to-one correspondance of drugs to loci, hence each drug has an independent set of alleles here.
Attributes
name
name=string
Relative frequency
→ scenario → pharmacology → drug → PD → allele → initial_frequency
<initial_frequency>
double
</initial_frequency>
Documentation (element)
Units: dimensionless Min: 0
Frequency, relative to the total frequency of all alleles for this drug/locus.
Maximal parasite killing rate
→ scenario → pharmacology → drug → PD → allele → max_killing_rate
<max_killing_rate>
double
</max_killing_rate>
Documentation (element)
Units: 1/days Min: 0
k1 — Maximal parasite killing rate.
IC50
→ scenario → pharmacology → drug → PD → allele → IC50
<IC50>
double
</IC50>
Documentation (element)
Units: mg/l Min: 0
Half maximal effect concentration.
Slope of effect curve
→ scenario → pharmacology → drug → PD → allele → slope
<slope>
double
</slope>
Documentation (element)
n — Slope of the concentration effect curve
PK
→ scenario → pharmacology → drug → PK
<PK>
IN THIS ORDER:
| <negligible_concentration ... />
| <half_life ... />
| <vol_dist ... />
</PK>
Drug concentration considered negligible
→ scenario → pharmacology → drug → PK → negligible_concentration
<negligible_concentration>
double
</negligible_concentration>
Documentation (element)
Units: mg/l Min: 0
Concentration below which drug's effects are deemed negligible and can be removed from simulation.
drug half-life
→ scenario → pharmacology → drug → PK → half_life
<half_life>
double
</half_life>
Documentation (element)
Units: days Min: 0
Used to calculate elimination rate (which is: ln(2) / half_life).
Volume of Distribution
→ scenario → pharmacology → drug → PK → vol_dist
<vol_dist>
double
</vol_dist>
Documentation (element)
Units: l/kg Min: 0
Volume of Distribution
Model options and parameters
<model>
IN ANY ORDER:
| <ModelOptions ... />
| <clinical ... />
| <human ... />
| <parameters ... />
</model>
Documentation (element)
Encapsulation of all parameters which describe the model according to which fitting is done.
Model Options
→ scenario → model → ModelOptions
<ModelOptions>
IN THIS ORDER:
| ( <option ... /> )*
</ModelOptions>
Documentation (element)
All model options (bug fixes, choices between models, etc.).
The list of recognised options can be found in the code at:
include/util/ModelOptions.h and should also be in the wiki.
clinical
<clinical
healthSystemMemory=int
>
IN THIS ORDER:
| [ <NonMalariaFevers ... /> ]
</clinical>
Documentation (type)
Description of clinical parameters that are related to the health-system description, but which contain data that cannot be changed as part of an intervention and that are not restricted to treatment.
Attributes
Follow-up period during which recurrence is treated as a failure
healthSystemMemory=int
Units: Time steps Min: 1 Max: 100
Follow-up period during which a recurrence is considered to be a treatment failure
NonMalariaFevers
→ scenario → model → clinical → NonMalariaFevers
<NonMalariaFevers>
IN THIS ORDER:
| <incidence ... />
| <prNeedTreatmentNMF ... />
| <prNeedTreatmentMF ... />
</NonMalariaFevers>
Documentation (type)
Description of the incidence of non-malaria fever. Non-malaria fevers are only modelled if the NON_MALARIA_FEVERS option is used.
P(NMF)
→ scenario → model → clinical → NonMalariaFevers → incidence
<incidence
[ interpolation=("none" or "linear") ]
>
IN THIS ORDER:
| ( <group ... /> )+
</incidence>
Documentation (element)
Units: Dimensionless Min: 0.0 Max: 1.0
Probability that a non-malaria fever occurs given that no concurrent malaria fever occurs.
Attributes
interpolation
interpolation=("none" or "linear")
Interpolation algorithm. Normally it is desirable for age-based values to be continuous w.r.t. age. By default linear interpolation is used. With all algorithms except "none", the age groups are converted to a set of points centred within each age range. Extra points are added at each end (zero and infinity) to keep value constant at both ends of the function. A zero-length age group may be used as a kind of barrier to adjust the distribution; e.g. with age group boundaries at 15, 20 and 25 years, a (linear) spline would be drawn between ages 17.5 and 22.5, whereas with boundaries at 15, 20 and 20 years, a spline would be drawn between ages 17.5 and 20 years (may be desired if individuals are assumed to reach adult size at 20). Algorithms:
- none: input values are used directly
- linear: straight lines (on an age vs. value graph) are used to interpolate data points.
P(need treatment | NMF)
→ scenario → model → clinical → NonMalariaFevers → prNeedTreatmentNMF
<prNeedTreatmentNMF
[ interpolation=("none" or "linear") ]
>
IN THIS ORDER:
| ( <group ... /> )+
</prNeedTreatmentNMF>
Documentation (element)
Units: Dimensionless Min: 0 Max: 1
Probability that a non-malarial fever requires treatment with antibiotics (assuming fever is not induced by malaria, although concurrent parasites may be present).
Attributes
interpolation
interpolation=("none" or "linear")
Interpolation algorithm. Normally it is desirable for age-based values to be continuous w.r.t. age. By default linear interpolation is used. With all algorithms except "none", the age groups are converted to a set of points centred within each age range. Extra points are added at each end (zero and infinity) to keep value constant at both ends of the function. A zero-length age group may be used as a kind of barrier to adjust the distribution; e.g. with age group boundaries at 15, 20 and 25 years, a (linear) spline would be drawn between ages 17.5 and 22.5, whereas with boundaries at 15, 20 and 20 years, a spline would be drawn between ages 17.5 and 20 years (may be desired if individuals are assumed to reach adult size at 20). Algorithms:
- none: input values are used directly
- linear: straight lines (on an age vs. value graph) are used to interpolate data points.
P(need treatment | MF)
→ scenario → model → clinical → NonMalariaFevers → prNeedTreatmentMF
<prNeedTreatmentMF
[ interpolation=("none" or "linear") ]
>
IN THIS ORDER:
| ( <group ... /> )+
</prNeedTreatmentMF>
Documentation (element)
Units: Dimensionless Min: 0 Max: 1
Probability that a malaria fever needs treatment with antibiotics (assuming fever is induced by malaria, although concurrent bacteria may be present).
Meaning partially overlaps with separate model for comorbidity given malaria.
Attributes
interpolation
interpolation=("none" or "linear")
Interpolation algorithm. Normally it is desirable for age-based values to be continuous w.r.t. age. By default linear interpolation is used. With all algorithms except "none", the age groups are converted to a set of points centred within each age range. Extra points are added at each end (zero and infinity) to keep value constant at both ends of the function. A zero-length age group may be used as a kind of barrier to adjust the distribution; e.g. with age group boundaries at 15, 20 and 25 years, a (linear) spline would be drawn between ages 17.5 and 22.5, whereas with boundaries at 15, 20 and 20 years, a spline would be drawn between ages 17.5 and 20 years (may be desired if individuals are assumed to reach adult size at 20). Algorithms:
- none: input values are used directly
- linear: straight lines (on an age vs. value graph) are used to interpolate data points.
human
<human>
IN THIS ORDER:
| <availabilityToMosquitoes ... />
| [ <weight ... /> ]
</human>
Documentation (type)
Parameters of host models.
Availability to mosquitoes
→ scenario → model → human → availabilityToMosquitoes
<availabilityToMosquitoes
[ interpolation=("none" or "linear") ]
>
IN THIS ORDER:
| ( <group ... /> )+
</availabilityToMosquitoes>
Documentation (element)
Units: None Min: 0 Max: 1
Availability of humans to mosquitoes relative to an adult, categorized by age group
Attributes
interpolation
interpolation=("none" or "linear")
Interpolation algorithm. Normally it is desirable for age-based values to be continuous w.r.t. age. By default linear interpolation is used. With all algorithms except "none", the age groups are converted to a set of points centred within each age range. Extra points are added at each end (zero and infinity) to keep value constant at both ends of the function. A zero-length age group may be used as a kind of barrier to adjust the distribution; e.g. with age group boundaries at 15, 20 and 25 years, a (linear) spline would be drawn between ages 17.5 and 22.5, whereas with boundaries at 15, 20 and 20 years, a spline would be drawn between ages 17.5 and 20 years (may be desired if individuals are assumed to reach adult size at 20). Algorithms:
- none: input values are used directly
- linear: straight lines (on an age vs. value graph) are used to interpolate data points.
Weight
→ scenario → model → human → weight
<weight
[ interpolation=("none" or "linear") ]
multStdDev=double
>
IN THIS ORDER:
| ( <group ... /> )+
</weight>
Documentation (element)
Units: kg Min: 0
By age group data on human weight (mass).
Attributes
interpolation
interpolation=("none" or "linear")
Interpolation algorithm. Normally it is desirable for age-based values to be continuous w.r.t. age. By default linear interpolation is used. With all algorithms except "none", the age groups are converted to a set of points centred within each age range. Extra points are added at each end (zero and infinity) to keep value constant at both ends of the function. A zero-length age group may be used as a kind of barrier to adjust the distribution; e.g. with age group boundaries at 15, 20 and 25 years, a (linear) spline would be drawn between ages 17.5 and 22.5, whereas with boundaries at 15, 20 and 20 years, a spline would be drawn between ages 17.5 and 20 years (may be desired if individuals are assumed to reach adult size at 20). Algorithms:
- none: input values are used directly
- linear: straight lines (on an age vs. value graph) are used to interpolate data points.
Standard deviation
multStdDev=double
Units: None Min: 0
Each human is assigned a weight multiplier from a normal distribution with mean 1 and this standard deviation at birth. His/her weight is this multiplier times the mean from age distribution. A standard deviation of zero for no heterogeneity is valid; a rough value from Tanzanian data is 0.14.
Parameters of the model of epidemiology
→ scenario → model → parameters
<parameters
interval=int
iseed=int
latentp=int
>
IN THIS ORDER:
| ( <parameter ... /> )+
</parameters>
Documentation (element)
Parameters of the epidemiological model
Attributes
Simulation step
interval=int
Units: Days
Simulation step
Random number seed
iseed=int
Units: Number
Seed for RNG
Pre-erythrocytic latent period
latentp=int
Units: Time steps Min: 0 Max: 20
pre-erythrocytic latent period, in time steps
parameter
→ scenario → model → parameters → parameter
<parameter
name=string
number=int
value=double
[ include=boolean ]
/>
Attributes
Name of parameter
name=string
Units: string
Name of parameter
Parameter number
number=int
Units: Number Min: 1 Max: 100
Reference number of input parameter
Parameter value
value=double
Units: Number Min: 0
Parameter value
Sampling indicator
include=boolean
Units: Number Min: 0 Max: 1
True if parameter is to be sampled in optimization runs. Not used in simulator app.
Schema 30 documentation
Generated from: scenario_30.xsd
.
Key:
abc required (one)
[ def ] optional (zero or one)
( ghi )* any number (zero or more)
( jkl )+ at least one
( mno ){2,inf} two or more occurrences
Scenario
→ scenario
<scenario
schemaVersion=int
analysisNo=int
name=string
wuID=int
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:noNamespaceSchemaLocation="scenario_30.xsd"
>
IN ANY ORDER:
| <demography ... />
| <monitoring ... />
| <interventions ... />
| <healthSystem ... />
| <entomology ... />
| [ <pharmacology ... /> ]
| <model ... />
</scenario>
Documentation (element)
Units: List of elements
Description of scenario
Attributes
Version of the xml schema
schemaVersion=int
Version of xml schema. If not equal to the current version an error is thrown. Use SchemaTranslator to update xml files.
Reference number of the analysis
analysisNo=int
Units: Number Min: 1 Max: 100000000
Unique identifier of scenario
Name of intervention
name=string
Units: string
Name of intervention
Work unit identifier
wuID=int
Units: Number Min: 1 Max: 100000000
Work unit ID. Only used to validate checkpointing, to prevent checkpoint cheats.
Human age distribution
→ scenario → demography
<demography
name=string
popSize=int
maximumAgeYrs=double
[ growthRate=double ]
>
IN THIS ORDER:
| <ageGroup ... />
</demography>
Documentation (element)
Units: List of elements
Description of demography
Attributes
Name of demography data
name=string
Units: string
Name of demography data
Population size
popSize=int
Units: Count Min: 1 Max: 100000
Population size
Maximum age of simulated humans
maximumAgeYrs=double
Units: years Min: 0 Max: 100
Maximum age of simulated humans in years.
Growth rate of human population
growthRate=double
Units: Number Min: 0 Max: 0
Growth rate of human population. (we should be able to implement this with non-zero values)
Age groups
→ scenario → demography → ageGroup
<ageGroup
lowerbound=double
>
IN THIS ORDER:
| ( <group ... /> )+
</ageGroup>
Documentation (element)
Units: List of elements
List of age groups included in demography
Documentation (type)
Units: List of elements
List of age groups included in demography or surveys
Attributes
lower bound of age group
lowerbound=double
Units: Years Min: 0 Max: 100
Lower bound of age group
group
→ scenario → demography → ageGroup → group
<group
poppercent=double
upperbound=double
/>
Attributes
Percentage in age group
poppercent=double
Percentage of human population in age group
upper bound of age group
upperbound=double
Units: Years Min: 0 Max: 100
Upper bound of age group
Measures to be reported
→ scenario → monitoring
<monitoring
name=string
[ cohortOnly=boolean ]
[ firstBoutOnly=boolean ]
[ firstTreatmentOnly=boolean ]
[ firstInfectionOnly=boolean ]
>
IN THIS ORDER:
| [ <continuous ... /> ]
| <SurveyOptions ... />
| <surveys ... />
| <ageGroup ... />
</monitoring>
Documentation (element)
Units: List of elements
Description of surveys
Attributes
Name of monitoring information
name=string
Units: string
Name of monitoring data
Survey only cohort
cohortOnly=boolean
If true, for many output measures, the output comes only from individuals in the cohort; otherwise output is from the entire population. Does not need to be specified if no cohort-selecting "interventions" are present.
Time to first episode only
firstBoutOnly=boolean
If true, remove individuals from the cohort at the start of the first episode (start of a clinical bout) since they were recruited into the cohort. This is intended for cohort studies that intend to measure time to first episode, using active case detection.
Time to first treatment only
firstTreatmentOnly=boolean
If true, remove individuals from the cohort when they first seek treatment since they were recruited into the cohort. This is intended for cohort studies that intend to measure time to first episode, using passive case detection.
Time to first infection only
firstInfectionOnly=boolean
If true, remove individuals from the cohort at completion of the first survey in which they present with a patent infection since they were recruited into the cohort. This intended for cohort studies that intend to measure time to first infection, using active case detection.
continuous
→ scenario → monitoring → continuous
<continuous
period=int
[ duringInit=boolean ]
>
IN THIS ORDER:
| ( <option ... /> )*
</continuous>
Attributes
Days between reports
period=int
Units: Days Min: 1 Max: unbounded
Number of timesteps between reports.
During initialization
duringInit=boolean
Units: Days Min: 1 Max: unbounded
Also output during initialization. By default this is disabled (only intervention-period data is output). This should not be used for predictions, but can be useful for model validation. In this mode, 'simulation time' is output as the first column (in addition to 'timestep'), since 'timestep' is dis- continuous across the start of the intervention period.
option
→ scenario → monitoring → continuous → option
<option
name=string
[ value=boolean ] DEFAULT VALUE true
/>
Attributes
Model options required
name=string
Options define different model structures. Option name. Must be one of a strictly defined set. Options are not required to be listed if their default value is desired.
Indicator of whether option is required
value=boolean
Default value: true
Option value (true/false). Each option has a default value used if the option is not listed (usually false but sometimes true).
Name of quantity
→ scenario → monitoring → SurveyOptions
<SurveyOptions>
IN THIS ORDER:
| ( <option ... /> )*
</SurveyOptions>
Documentation (element)
List of all active survey options. See include/Survey.h for a list of supported outputs. Should also be on the wiki.
Survey times (time steps)
→ scenario → monitoring → surveys
<surveys
detectionLimit=double
>
IN THIS ORDER:
| ( <surveyTime ... /> )+
</surveys>
Documentation (element)
Units: List of elements
List of survey times
Attributes
Detection limit for parasitaemia
detectionLimit=double
Units: parasites/microlitre Min: 0
Limit above which a human's infection is reported as patent.
Survey time
→ scenario → monitoring → surveys → surveyTime
<surveyTime>
int
</surveyTime>
Documentation (element)
Units: Number Min: 0
Survey time; 0 means just before start of main sim and is a valid survey-point. Reported data is either from a point-time survey (immediate data) or is collected over the previous year (data from previous timesteps-per-year period). Simulation will end immediately after last survey is taken.
Age groups
→ scenario → monitoring → ageGroup
<ageGroup
lowerbound=double
>
IN THIS ORDER:
| ( <group ... /> )+
</ageGroup>
Documentation (element)
Units: List of elements
List of age groups included in demography or surveys
Documentation (type)
Units: List of elements
List of age groups included in surveys
Attributes
lower bound of age group
lowerbound=double
Units: Years Min: 0 Max: 100
Lower bound of age group
group
→ scenario → monitoring → ageGroup → group
<group
upperbound=double
/>
Attributes
upper bound of age group
upperbound=double
Units: Years Min: 0 Max: 100
Upper bound of age group
Preventative interventions
<interventions
name=string
>
IN ANY ORDER:
| [ <changeHS ... /> ]
| [ <changeEIR ... /> ]
| [ <MDA ... /> ]
| [ <vaccine ... /> ]
| [ <IPT ... /> ]
| [ <ITN ... /> ]
| [ <IRS ... /> ]
| [ <vectorDeterrent ... /> ]
| [ <cohort ... /> ]
| [ <importedInfections ... /> ]
| [ <immuneSuppression ... /> ]
| [ <insertR_0Case ... /> ]
| [ <uninfectVectors ... /> ]
| [ <larviciding ... /> ]
</interventions>
- changeHS
- changeEIR
- MDA
- vaccine
- IPT
- ITN
- IRS
- vectorDeterrent
- cohort
- importedInfections
- immuneSuppression
- insertR_0Case
- uninfectVectors
- larviciding
Documentation (element)
Units: List of elements
List of interventions. Generally these are either point-time distributions of something to some subset of the population, or continuous-time distribution targetting individuals when they reach a certain age.
Attributes
Intervention
name=string
Units: string
Name of set of interventions
Change health system
→ scenario → interventions → changeHS
<changeHS
[ name=string ]
>
IN THIS ORDER:
| ( <timedDeployment ... /> )*
</changeHS>
Documentation (element)
Changes to the health system
Attributes
Name of intervention
name=string
Units: string
Name of intervention
timedDeployment
→ scenario → interventions → changeHS → timedDeployment
<timedDeployment
time=int
>
IN THIS ORDER:
| EXACTLY ONE OF:
| | <EventScheduler ... />
| | <ImmediateOutcomes ... />
| <CFR ... />
| <pSequelaeInpatient ... />
</timedDeployment>
Documentation (type)
A complete replacement health system. Replaces all previous properties. (Health system can be replaced multiple times if necessary.)
Documentation (base type)
Units: List of elements
Description of case management system, used to specify the initial model or a replacement (an intervention). Encompasses case management data and some other data required to derive case outcomes.
Contains a sub-element describing the particular health-system in use. Health system data is here defined as data used to decide on a treatment strategy, given a case requiring treatment.
Attributes
Time
time=int
Units: time-steps Min: 0
Time-step at which this replacement occurs, starting from 0, the first intervention-period time-step.
EventScheduler
→ scenario → healthSystem → EventScheduler
<EventScheduler>
IN THIS ORDER:
| <uncomplicated ... />
| <complicated ... />
| <ClinicalOutcomes ... />
| [ <NonMalariaFevers ... /> ]
</EventScheduler>
uncomplicated
→ scenario → healthSystem → EventScheduler → uncomplicated
<uncomplicated>
IN THIS ORDER:
| <decisions ... />
| <treatments ... />
</uncomplicated>
Documentation (type)
Units: List of elements
A set of decisions and a set of treatments.
decisions
→ scenario → interventions → MDA → description → decisions
<decisions>
IN THIS ORDER:
| ( <decision ... /> )*
</decisions>
Documentation (type)
Description of decisions for a case management tree. A generic view of this tree would be that each decision is deterministic, or based on probabilities which may depend on other decisions. Probabilistic decisions are described here.
In general, each decision has a name, a defined set of outcome values, and a set of dependent decisions mentioned by name. The following decisions, with their associated outcomes, are provided by the code (and may not be included here):
- case (uncomplicated only): Returns "UC1" if there is no recent history of a malarial case, or "UC2" if there is.
- result: Dependent on decision "test", this performs a parasite density test. Output is one of "none" (no test performed), "positive", "negative".
The following decisions must be described here:
- test (uncomplicated only): Outputs must be "none", "microscopy" or "RDT" to describe which test the "result" decision uses.
- treatment: Describes which treatment to use. Values aren't restricted but must match up with a treatment described in the corresponding "treatments" section.
- hospitalisation (complicated only): none, immediate or delayed.
decision
→ scenario → interventions → MDA → description → decisions → decision
<decision
name=string
depends=string
values=string
>
string
</decision>
Documentation (type)
A decision describes how to choose between a set of values.
Lexically, it can contain symbols matching "[_.a-zA-Z0-9]+", round brackets: (), braces: {} and colons. Whitespace is ignored except to separate symbols.
Syntactically, it must match one TREE, where SYMBOL is a symbol described above. (Here, "x|y" means x or y, "x+" means x occurs once or more, brackets show grouping.) TREE := BRANCH_SET | OUTCOME BRANCH_SET := BRANCH+ BRANCH := DECISION '(' VALUE ')' ( ':' OUTCOME | '{' TREE '}' ) OUTCOME, DECISION, VALUE := SYMBOL
For each BRANCH_SET each BRANCH must have the same DECISION. This DECISION must be one of the dependencies mentioned in "depends". This may be:
- another decision, in which case the VALUE immediately following in brackets must correspond to one of its output values. The BRANCH_SET immediately containing this BRANCH must represent each output value of the same decision exactly once, and no parent BRANCH_SET may be for the same DECISION.
- "p": this indicates a probabilistic decision. In this case the value is a probability, the sum of all values for the BRANCH_SET must be 1 and the decision must be associated directly with OUTCOMEs (not sub-TREEs).
- "age": this indicates an age-test. The VALUE must have the form "a-b", indicating that this branch will be taken for individuals aged such that a <= age < b, where a,b are non-negative real numbers or the special value "inf", and a <= b. All VALUEs in the BRANCH_SET must cover all possible (non-negative real) ages, with no overlap (hence, smallest a must be 0 and greatest b must be inf).
Semantically, each OUTCOME must be one of the values associated with this decision.
Attributes
Name of decision
name=string
The name of this decision. The name must match the regular expression "[_a-zA-Z0-9]+"; that is it can only contain letters, digits and _ characters (no spaces, punctuation, etc.).
Preceding decisions
depends=string
A comma-separated list of decisions that must have already been evaluated before this decision can be evaluated. Can be empty. Each must be hard-coded or described here. Can include the special decisions "p" and "age", though "age" cannot be combined with any other dependency.
Outcome values
values=string
A comma-separated list of outcome values this decision may have. The name of each value must be of the same form as decision names (i.e. only contain letters, digits and _ characters).
treatments
→ scenario → interventions → MDA → description → treatments
<treatments>
IN THIS ORDER:
| ( <treatment ... /> )*
</treatments>
Documentation (type)
Units: string
A list of drug treatment tables. Each should have a name corresponding to one of the "drug" decision's values.
treatment
→ scenario → interventions → MDA → description → treatments → treatment
<treatment
name=string
>
IN THIS ORDER:
| <schedule ... />
| ( <modifier ... /> )*
</treatment>
Documentation (type)
Units: List of elements
A description of a base treatment schedule along with modifiers to handle delays, quality variations, etc.
Attributes
Treatment administered
name=string
Units: string
Name corresponding to one of the drug decision's output values.
schedule
→ scenario → interventions → MDA → description → treatments → treatment → schedule
<schedule>
IN THIS ORDER:
| ( <medicate ... /> )*
</schedule>
Documentation (type)
Units: List of elements
The base (unmodified) schedule of drugs administered for this treatment.
medicate
→ scenario → interventions → MDA → description → treatments → treatment → schedule → medicate
<medicate
drug=string
mg=double
hour=double
[ duration=double ]
/>
Attributes
drug
drug=string
Units: string
Abbreviated name of drug compound
drug dose
mg=double
Units: mg
Quantity of drug compound
time of administration
hour=double
Units: hours Min: 0
Number of hours past start of timestep this drug dose is administered at (first dose should be at hour 0).
duration of administration
duration=double
Units: hours Min: 0
If this attribute is given, use IV administration instead of orally. Specifies the number of hours over which the dose is administered.
modifier
→ scenario → interventions → MDA → description → treatments → treatment → modifier
<modifier
decision=string
>
EXACTLY ONE OF:
| ( <multiplyQty ... /> )*
| ( <delay ... /> )*
| ( <selectTimeRange ... /> )*
</modifier>
Documentation (type)
Units: Choice of elements
A modifier for this treatment, according to the outputs of a decision.
The "decision" attribute must be the name of a known decision. Then, there must be a set of multipyQty, delay or selectTimeRange sub-elements, each of which corresponds to one value output of the decision.
Attributes
decision
decision=string
Units: string
Specifies the decision that this modifier acts on.
Active ingredient multipliers
→ scenario → interventions → MDA → description → treatments → treatment → modifier → multiplyQty
<multiplyQty
value=string
effect=string
[ affectsCost=boolean ]
/>
Documentation (element)
Units: Comma separated list of values
Multiplies the quantity of active ingredients of drugs administered.
The "drugs" attribute is a comma-separated list of all active ingredients administered in the base schedule (each must be listed once) and the content of this element is a comma- separated list of multipliers for each active ingredient, listed in the same order as in the "drugs" attribute. E.g. with drugs="A,B" and content "0.5,1" the quantity of drug A is halved while that of B is unchanged.
Attributes
value of decision
value=string
Units: string
Specifies a value of the decision to act on.
List of drugs affected
effect=string
Units: string
Comma-separated list of the effect the modifier has on each drug, in the form DRUG1(EFFECT1),DRUG2(EFFECT2), etc.
Affects cost?
affectsCost=boolean
Units: none
Does this affect the cost? If false, the effective drug usage (w.r.t. cost) is unaffected by this modifier; if true it is. Defaults to true (if omitted). Is meaningless for delays.
Active ingredient delays
→ scenario → interventions → MDA → description → treatments → treatment → modifier → delay
<delay
value=string
effect=string
[ affectsCost=boolean ]
/>
Documentation (element)
Units: Comma separated list of values
Delays administration of drugs listed in the base schedule by so many hours.
The "drugs" attribute is a comma-separated list of all active ingredients administered in the base schedule (each must be listed once) and the content of this element is a comma- separated list of delays (in hours) for each active ingredient, listed in the same order as in the "drugs" attribute. E.g. with drugs="A,B" and content "0,6", drug A is administered as in the base schedule while drug B is administered 6 hours later than specified.
Attributes
value of decision
value=string
Units: string
Specifies a value of the decision to act on.
List of drugs affected
effect=string
Units: string
Comma-separated list of the effect the modifier has on each drug, in the form DRUG1(EFFECT1),DRUG2(EFFECT2), etc.
Affects cost?
affectsCost=boolean
Units: none
Does this affect the cost? If false, the effective drug usage (w.r.t. cost) is unaffected by this modifier; if true it is. Defaults to true (if omitted). Is meaningless for delays.
Active ingredient time-ranges
→ scenario → interventions → MDA → description → treatments → treatment → modifier → selectTimeRange
<selectTimeRange
value=string
effect=string
[ affectsCost=boolean ]
/>
Documentation (element)
Units: Comma separated list of values
Selects which drug doses to administer according to time of administration (before times are modified by delays). Half-open interval: [x,y)
The "drugs" attribute is a comma-separated list of all active ingredients administered in the base schedule (each must be listed once) and the content of this element is a comma- separated list of time-ranges (in hours) for each active ingredient, listed in the same order as in the "drugs" attribute. The time-ranges should be of the form x-y and are interpreted as the half-open interval [x,y); that is a drug listed with time t will only be administered if x <= t < y.
Attributes
value of decision
value=string
Units: string
Specifies a value of the decision to act on.
List of drugs affected
effect=string
Units: string
Comma-separated list of the effect the modifier has on each drug, in the form DRUG1(EFFECT1),DRUG2(EFFECT2), etc.
Affects cost?
affectsCost=boolean
Units: none
Does this affect the cost? If false, the effective drug usage (w.r.t. cost) is unaffected by this modifier; if true it is. Defaults to true (if omitted). Is meaningless for delays.
complicated
→ scenario → healthSystem → EventScheduler → complicated
<complicated>
IN THIS ORDER:
| <decisions ... />
| <treatments ... />
</complicated>
Documentation (type)
Units: List of elements
A set of decisions and a set of treatments.
ClinicalOutcomes
→ scenario → healthSystem → EventScheduler → ClinicalOutcomes
<ClinicalOutcomes>
IN THIS ORDER:
| <maxUCSeekingMemory ... />
| <uncomplicatedCaseDuration ... />
| <complicatedCaseDuration ... />
| <complicatedRiskDuration ... />
| ( <dailyPrImmUCTS ... /> )+
</ClinicalOutcomes>
- maxUCSeekingMemory
- uncomplicatedCaseDuration
- complicatedCaseDuration
- complicatedRiskDuration
- dailyPrImmUCTS
Documentation (type)
Description of base parameters of the clinical model.
Max UC treatment-seeking memory
→ scenario → healthSystem → EventScheduler → ClinicalOutcomes → maxUCSeekingMemory
<maxUCSeekingMemory>
int
</maxUCSeekingMemory>
Documentation (element)
Units: days Min: 0 Max: unbounded
Maximum number of timesteps (including first of case) an individual will remember they are sick before resetting.
Uncomplicated case duration
→ scenario → healthSystem → EventScheduler → ClinicalOutcomes → uncomplicatedCaseDuration
<uncomplicatedCaseDuration>
int
</uncomplicatedCaseDuration>
Documentation (element)
Units: days Min: 1 Max: unbounded
Fixed length of an uncomplicated case of malarial/non-malarial sickness (from treatment seeking until return to life-as-usual). Usually 3.
Complicated case duration
→ scenario → healthSystem → EventScheduler → ClinicalOutcomes → complicatedCaseDuration
<complicatedCaseDuration>
int
</complicatedCaseDuration>
Documentation (element)
Units: days Min: 1 Max: unbounded
Fixed length of a complicated/severe case of malaria (from treatment seeking until return to life-as-usual).
Complicated risk duration
→ scenario → healthSystem → EventScheduler → ClinicalOutcomes → complicatedRiskDuration
<complicatedRiskDuration>
int
</complicatedRiskDuration>
Documentation (element)
Units: days Min: 1 Max: unbounded
Number of days for which humans are at risk of death during a severe or complicated case of malaria. Cannot be greater than the duration of a complicated case or less than 1 day.
Daily probability of immediate treatment seeking for uncomplicated cases
→ scenario → healthSystem → EventScheduler → ClinicalOutcomes → dailyPrImmUCTS
<dailyPrImmUCTS>
double
</dailyPrImmUCTS>
Documentation (element)
Units: none Min: 0 Max: 1
It is sometimes desirable to model delays to treatment seeking in uncomplicated cases. While treatment of drugs can be delayed within case management trees to provide a similar effect, this doesn't delay any of the decisions, including diagnostics using the current parasite density.
Instead a list of dailyPrImmUCTS elements can be used, describing successive daily probabilities of treatment (sum must be 1). For example, with a list of two elements with values 0.8 and 0.2, for 80% of UC cases the decision tree is evaluated immediately, and for 20% of cases evaluation is delayed by one day.
For no delay, use one element with a value of 1.
NonMalariaFevers
→ scenario → healthSystem → EventScheduler → NonMalariaFevers
<NonMalariaFevers>
IN THIS ORDER:
| <prTreatment ... />
| <effectNegativeTest ... />
| <effectPositiveTest ... />
| <effectNeed ... />
| <effectInformal ... />
| <CFR ... />
| <TreatmentEfficacy ... />
</NonMalariaFevers>
Documentation (type)
Description of non-malaria fever health-system modelling (treatment, outcomes and costing). Incidence is described by the model->clinical->NonMalariaFevers element. Non-malaria fevers are only modelled if the NON_MALARIA_FEVERS option is used.
As further explanation of the parameters below, we first take: β₀ = logit(P₀) - β₃·P(need), and then calculate the probability of antibiotic administration, P(AB), dependent on treatment seeking location. No seeking: P(AB) = 0 Informal sector: logit(P(AB)) = β₀ + β₄ Health facility: logit(P(AB)) = β₀ + β₁·I(neg) + β₂·I(pos) + β₃·I(need) (where I(X) is 1 when event X is true and 0 otherwise, logit(p)=log(p/(1-p)), event "need" is the event that death may occur without treatment, events "neg" and "pos" are the events that a malaria parasite diagnositic was used and indicated no parasites and parasites respectively).
P(treatment|no diagnostic)
→ scenario → healthSystem → EventScheduler → NonMalariaFevers → prTreatment
<prTreatment>
double
</prTreatment>
Documentation (element)
Units: none Min: 0 Max: 1
Probability of a non-malaria fever being treated with an antibiotic given that no malaria diagnostic was used but independent of need. Symbol: P₀.
Effect of a negative test
→ scenario → healthSystem → EventScheduler → NonMalariaFevers → effectNegativeTest
<effectNegativeTest>
double
</effectNegativeTest>
Documentation (element)
The effect of a negative malaria diagnostic on the odds ratio of receiving antibiotics. Symbol: exp(β₁).
Effect of a positive test
→ scenario → healthSystem → EventScheduler → NonMalariaFevers → effectPositiveTest
<effectPositiveTest>
double
</effectPositiveTest>
Documentation (element)
The effect of a positive malaria diagnostic on the odds ratio of receiving antibiotics. Symbol: exp(β₂).
Effect of need
→ scenario → healthSystem → EventScheduler → NonMalariaFevers → effectNeed
<effectNeed>
double
</effectNeed>
Documentation (element)
The effect of needing antibiotic treatment on the odds ratio of receiving antibiotics. Symbol: exp(β₃).
Effect of informal provider
→ scenario → healthSystem → EventScheduler → NonMalariaFevers → effectInformal
<effectInformal>
double
</effectInformal>
Documentation (element)
The effect of seeking treatment from an informal provider (i.e. a provider untrained in NMF diagnosis) on the odds ratio of receiving antibiotics. Symbol: exp(β₄)
Case fatality rate
→ scenario → healthSystem → EventScheduler → NonMalariaFevers → CFR
<CFR
[ interpolation=("none" or "linear") ]
>
IN THIS ORDER:
| ( <group ... /> )+
</CFR>
Documentation (element)
Units: none Min: 0 Max: 1
Base case fatality rate for non-malaria fevers (probability of death from a fever requiring antibiotic treatment given that no antibiotic treatment is received, per age-group).
Attributes
interpolation
interpolation=("none" or "linear")
Units: none
Interpolation algorithm. Normally it is desirable for age-based values to be continuous w.r.t. age. By default linear interpolation is used. With all algorithms except "none", the age groups are converted to a set of points centred within each age range. Extra points are added at each end (zero and infinity) to keep value constant at both ends of the function. A zero-length age group may be used as a kind of barrier to adjust the distribution; e.g. with age group boundaries at 15, 20 and 25 years, a (linear) spline would be drawn between ages 17.5 and 22.5, whereas with boundaries at 15, 20 and 20 years, a spline would be drawn between ages 17.5 and 20 years (may be desired if individuals are assumed to reach adult size at 20). Algorithms:
- none: input values are used directly
- linear: straight lines (on an age vs. value graph) are used to interpolate data points.
age group
→ scenario → healthSystem → CFR → group
<group
value=double
lowerbound=double
/>
Documentation (element)
A series of values according to age groups, each specified with a lower-bound and a value. The first lower-bound specified must be zero; a final upper-bound of infinity is added to complete the last age group. At least one age group is required. Normally these are interpolated by a continuous function (see interpolation attribute).
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Lower bound
lowerbound=double
Units: Years Min: 0 Max: 100
Lower bound of age group
Treatment efficacy
→ scenario → healthSystem → EventScheduler → NonMalariaFevers → TreatmentEfficacy
<TreatmentEfficacy>
double
</TreatmentEfficacy>
Documentation (element)
Units: none Min: 0 Max: 1
Probability that treatment would prevent a death (i.e. CFR is multiplied by one minus this when treatment occurs).
ImmediateOutcomes
→ scenario → healthSystem → ImmediateOutcomes
<ImmediateOutcomes
name=string
>
IN THIS ORDER:
| <drugRegimen ... />
| <initialACR ... />
| <compliance ... />
| <nonCompliersEffective ... />
| <pSeekOfficialCareUncomplicated1 ... />
| <pSelfTreatUncomplicated ... />
| <pSeekOfficialCareUncomplicated2 ... />
| <pSeekOfficialCareSevere ... />
</ImmediateOutcomes>
- drugRegimen
- initialACR
- compliance
- nonCompliersEffective
- pSeekOfficialCareUncomplicated1
- pSelfTreatUncomplicated
- pSeekOfficialCareUncomplicated2
- pSeekOfficialCareSevere
Documentation (type)
Units: List of elements
Description of "immediate outcomes" health system: Tediosi et al case management model (Case management as described in AJTMH 75 (suppl 2) pp90-103).
Attributes
Case Management model
name=string
Units: string
Name of health system
Description of drug regimen
→ scenario → healthSystem → ImmediateOutcomes → drugRegimen
<drugRegimen
firstLine=string
secondLine=string
inpatient=string
/>
Documentation (element)
Units: List of elements
Description of drug regimen
Attributes
First line drug
firstLine=string
Units: Drug code
Code for first line drug
Second line drug
secondLine=string
Units: Drug code
Code for second line drug
Drug use for treating inpatients
inpatient=string
Units: Drug code
Code for drug used for treating inpatients
Initial cure rate
→ scenario → healthSystem → ImmediateOutcomes → initialACR
<initialACR>
IN THIS ORDER:
| [ <CQ ... /> ]
| [ <SP ... /> ]
| [ <AQ ... /> ]
| [ <SPAQ ... /> ]
| [ <ACT ... /> ]
| [ <QN ... /> ]
| <selfTreatment ... />
</initialACR>
Documentation (element)
Units: Proportion Min: 0 Max: 1
Initial cure rate
Chloroquine
→ scenario → healthSystem → ImmediateOutcomes → initialACR → CQ
<CQ
value=double
/>
Documentation (element)
Units: List of elements
Chloroquine
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Sulphadoxine-pyrimethamine
→ scenario → healthSystem → ImmediateOutcomes → initialACR → SP
<SP
value=double
/>
Documentation (element)
Units: List of elements
Sulphadoxine-pyrimethamine
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Amodiaquine
→ scenario → healthSystem → ImmediateOutcomes → initialACR → AQ
<AQ
value=double
/>
Documentation (element)
Units: List of elements
Amodiaquine
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Sulphadoxine-pyrimethamine/Amodiaquine
→ scenario → healthSystem → ImmediateOutcomes → initialACR → SPAQ
<SPAQ
value=double
/>
Documentation (element)
Units: List of elements
Sulphadoxine-pyrimethamine/Amodiaquine
Attributes
Input parameter value
value=double
A double-precision floating-point value.
ACT
→ scenario → healthSystem → ImmediateOutcomes → initialACR → ACT
<ACT
value=double
/>
Documentation (element)
Units: List of elements
Artemisinine combination therapy
Attributes
Input parameter value
value=double
A double-precision floating-point value.
QN
→ scenario → healthSystem → ImmediateOutcomes → initialACR → QN
<QN
value=double
/>
Documentation (element)
Units: List of elements
Quinine
Attributes
Input parameter value
value=double
A double-precision floating-point value.
selfTreatment
→ scenario → healthSystem → ImmediateOutcomes → initialACR → selfTreatment
<selfTreatment
value=double
/>
Documentation (element)
Units: Proportion Min: 0 Max: 1
Probability of self-treatment
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Adherence to treatment
→ scenario → healthSystem → ImmediateOutcomes → compliance
<compliance>
IN THIS ORDER:
| [ <CQ ... /> ]
| [ <SP ... /> ]
| [ <AQ ... /> ]
| [ <SPAQ ... /> ]
| [ <ACT ... /> ]
| [ <QN ... /> ]
| <selfTreatment ... />
</compliance>
Documentation (element)
Units: Proportion Min: 0 Max: 1
Adherence to treatment
Effectiveness of treatment in non-adherent patients
→ scenario → healthSystem → ImmediateOutcomes → nonCompliersEffective
<nonCompliersEffective>
IN THIS ORDER:
| [ <CQ ... /> ]
| [ <SP ... /> ]
| [ <AQ ... /> ]
| [ <SPAQ ... /> ]
| [ <ACT ... /> ]
| [ <QN ... /> ]
| <selfTreatment ... />
</nonCompliersEffective>
Documentation (element)
Units: Proportion Min: 0 Max: 1
Effectiveness of treatment of non compliers
Probability that a patient with uncomplicated disease seeks official care immediately
→ scenario → healthSystem → ImmediateOutcomes → pSeekOfficialCareUncomplicated1
<pSeekOfficialCareUncomplicated1
value=double
/>
Documentation (element)
Units: Proportion Min: 0 Max: 1
Probability that a patient with newly incident uncomplicated disease seeks official care
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Probability that a patient with uncomplicated disease self-treats
→ scenario → healthSystem → ImmediateOutcomes → pSelfTreatUncomplicated
<pSelfTreatUncomplicated
value=double
/>
Documentation (element)
Units: Proportion Min: 0 Max: 1
Probability that a patient with uncomplicated disease self-treats
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Probability that a recurring patient seeks official care
→ scenario → healthSystem → ImmediateOutcomes → pSeekOfficialCareUncomplicated2
<pSeekOfficialCareUncomplicated2
value=double
/>
Documentation (element)
Units: Proportion Min: 0 Max: 1
Probability that a patient with recurrence of uncomplicated disease seeks official care
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Probability that a patient with severe disease obtains appropriate care
→ scenario → healthSystem → ImmediateOutcomes → pSeekOfficialCareSevere
<pSeekOfficialCareSevere
value=double
/>
Documentation (element)
Units: Proportion Min: 0 Max: 1
Probability that a patient with severe disease obtains appropriate care
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Case fatality rate in inpatients
→ scenario → healthSystem → CFR
<CFR
[ interpolation=("none" or "linear") ]
>
IN THIS ORDER:
| ( <group ... /> )+
</CFR>
Documentation (element)
Units: List of elements
Case fatality rate (probability of an inpatient fatality from a bout of severe malaria, per age-group).
Attributes
interpolation
interpolation=("none" or "linear")
Units: none
Interpolation algorithm. Normally it is desirable for age-based values to be continuous w.r.t. age. By default linear interpolation is used. With all algorithms except "none", the age groups are converted to a set of points centred within each age range. Extra points are added at each end (zero and infinity) to keep value constant at both ends of the function. A zero-length age group may be used as a kind of barrier to adjust the distribution; e.g. with age group boundaries at 15, 20 and 25 years, a (linear) spline would be drawn between ages 17.5 and 22.5, whereas with boundaries at 15, 20 and 20 years, a spline would be drawn between ages 17.5 and 20 years (may be desired if individuals are assumed to reach adult size at 20). Algorithms:
- none: input values are used directly
- linear: straight lines (on an age vs. value graph) are used to interpolate data points.
Probabilities of sequelae in inpatients
→ scenario → healthSystem → pSequelaeInpatient
<pSequelaeInpatient
[ interpolation=("none" or "linear") ]
>
IN THIS ORDER:
| ( <group ... /> )+
</pSequelaeInpatient>
Documentation (element)
Units: List of elements
List of age specific probabilities of sequelae in inpatients, during a severe bout.
Attributes
interpolation
interpolation=("none" or "linear")
Units: none
Interpolation algorithm. Normally it is desirable for age-based values to be continuous w.r.t. age. By default linear interpolation is used. With all algorithms except "none", the age groups are converted to a set of points centred within each age range. Extra points are added at each end (zero and infinity) to keep value constant at both ends of the function. A zero-length age group may be used as a kind of barrier to adjust the distribution; e.g. with age group boundaries at 15, 20 and 25 years, a (linear) spline would be drawn between ages 17.5 and 22.5, whereas with boundaries at 15, 20 and 20 years, a spline would be drawn between ages 17.5 and 20 years (may be desired if individuals are assumed to reach adult size at 20). Algorithms:
- none: input values are used directly
- linear: straight lines (on an age vs. value graph) are used to interpolate data points.
Change transmission levels
→ scenario → interventions → changeEIR
<changeEIR
[ name=string ]
>
IN THIS ORDER:
| ( <timedDeployment ... /> )*
</changeEIR>
Documentation (element)
New description of transmission level for models not supporting vector control interventions. Use of this overrides previous transmission levels such that human infectiousness no longer has any feedback effect on transmission. Supplied EIR data must last until end of simulation.
Attributes
Name of intervention
name=string
Units: string
Name of intervention
timedDeployment
→ scenario → interventions → changeEIR → timedDeployment
<timedDeployment
eipDuration=int
time=int
>
IN THIS ORDER:
| ( <EIRDaily ... /> )+
</timedDeployment>
Documentation (type)
Replacement transmission levels. Disables feedback of human infectiousness to mosquitoes on further mosquito to human transmission. Must last until end of simulation.
Attributes
Duration of sporogony (days)
eipDuration=int
The duration of sporogony in days
Time
time=int
Units: time-steps Min: 0
Time-step at which this replacement occurs, starting from 0, the first intervention-period time-step.
EIRDaily
→ scenario → entomology → nonVector → EIRDaily
<EIRDaily
[ origin=string ]
>
double
</EIRDaily>
Documentation (type)
Units: Infectious bites per adult per day
In the non-vector model, EIR is input as a sequence of daily values. There must be at least a years' worth of entries (365), and if there are more, values are wrapped and averaged (i.e. value for first day of year is taken as the mean of values for days 0, 365+0, 2*365+0, etc.).
Attributes
Time origin of EIR sequence
origin=string
Mass drug administration
→ scenario → interventions → MDA
<MDA
[ name=string ]
>
IN THIS ORDER:
| EXACTLY ONE OF:
| | [ <diagnostic ... /> ]
| | [ <description ... /> ]
| [ <timed ... /> ]
</MDA>
Documentation (element)
Description and deployment of MDA interventions (can also be configured as screen and treat or intermittent preventative treatment with 1-day time-step models).
Currently neither diagnostic nor description need be provided for 5-day timestep model; this may change in the future.
Attributes
Name of intervention
name=string
Units: string
Name of intervention
Diagnostic (5-day)
→ scenario → interventions → MDA → diagnostic
<diagnostic>
IN THIS ORDER:
| EXACTLY ONE OF:
| | <deterministic ... />
| | <stochastic ... />
</diagnostic>
Documentation (element)
Description of diagnostic used by mass treatment option of five-day case management model — may be used to model MDA without diagnostic or MSAT.
Drugs are administered whenever the test outcome is positive.
Deterministic detection
→ scenario → interventions → MDA → diagnostic → deterministic
<deterministic
minDensity=double
/>
Documentation (element)
Specify that an artificial deterministic test is used: drugs are administered if parasite density is at least the minimum given.
Attributes
Minimum detectible density
minDensity=double
Units: parasites/microlitre Min: 0
The minimum density at which parasites can be detected. If 0, the test outcome is always positive.
Non-deterministic detection
→ scenario → interventions → MDA → diagnostic → stochastic
<stochastic
dens_50=double
specificity=double
/>
Documentation (element)
An improved model of detection which is non-deterministic, including false positive results as well as false negatives.
The probability of a positive outcome is modelled as 1 + s×(x/(x+d) - 1) where x is the parasite density, d is the density at which the test outcome has a 50% chance of being positive, and s is the probability of a positive outcome given no parasites (the specificity).
Some parameterisations:
Microscopy sensitivity/specificity data in Africa; Source: expert opinion — Allan Schapira dens_50 = 20.0 specificity = .75
RDT sensitivity/specificity for Plasmodium falciparum in Africa Source: Murray et al (Clinical Microbiological Reviews, Jan. 2008) dens_50 = 50.0; specificity = .942;
Attributes
Density 50
dens_50=double
Units: parasites/microlitre Min: 0
The density at which the test outcome has a 50% chance of being positive.
Specificity
specificity=double
Units: none Min: 0 Max: 1
The probability of a positive test outcome in the absense of parasites.
Diagnostic and treatment (1-day)
→ scenario → interventions → MDA → description
<description
[ name=string ]
>
IN THIS ORDER:
| <decisions ... />
| <treatments ... />
</description>
Documentation (element)
Description of treatment type used by mass treatment option of one-day case management model. Can be used to describe one-size-fits-all mass drug dosing, age-based mass drug dosing and screen-and-treat. Number of treatments given can be reported by the nMDAs option.
Documentation (base type)
Units: List of elements
A set of decisions and a set of treatments.
Attributes
Intervention
name=string
Units: string
Name of set of interventions
Mass administration
→ scenario → interventions → MDA → timed
<timed>
IN THIS ORDER:
| ( <deploy ... /> )+
</timed>
Documentation (element)
List of timed deployments of mass-drug-administration.
deploy
→ scenario → interventions → MDA → timed → deploy
<deploy
time=int
[ maxAge=double ] DEFAULT VALUE 100
[ minAge=double ] DEFAULT VALUE 0
coverage=double
[ cohort=boolean ] DEFAULT VALUE false
/>
Attributes
Time
time=int
Units: time-steps Min: 0
Time-step at which this intervention occurs, starting from 0, the first intervention-period time-step.
Maximum age of eligible individuals
maxAge=double
Units: Years Min: 0 Max: 100
Default value: 100
Maximum age of eligible individuals (defaults to 100)
Minimum age of eligible individuals
minAge=double
Units: Years Min: 0 Max: 100
Default value: 0
Minimum age of eligible individuals (defaults to 0)
Coverage
coverage=double
Units: Proportion Min: 0 Max: 1
Coverage of intervention
Cohort only
cohort=boolean
Units: Proportion Min: 0 Max: 1
Default value: false
Restrict distribution to chosen cohort.
Vaccines
→ scenario → interventions → vaccine
<vaccine
[ name=string ]
>
IN THIS ORDER:
| ( <description ... /> ){0,3}
| [ <continuous ... /> ]
| [ <timed ... /> ]
</vaccine>
Documentation (element)
Description and deployment of vaccine interventions.
Attributes
Name of intervention
name=string
Units: string
Name of intervention
description
→ scenario → interventions → vaccine → description
<description
vaccineType=("PEV" or "BSV" or "TBV")
[ name=string ]
>
IN THIS ORDER:
| <decay ... />
| <efficacyB ... />
| ( <initialEfficacy ... /> )+
</description>
Documentation (type)
List of vaccine descriptions
Attributes
Type of vaccine
vaccineType=("PEV" or "BSV" or "TBV")
Units: Code
Type of vaccine
Vaccine
name=string
Units: string
Name of vaccine
Decay of effect
→ scenario → interventions → vaccine → description → decay
<decay
function=("constant" or "step" or "linear" or "exponential" or "weibull" or "hill" or "smooth-compact")
L=double
[ k=double ] DEFAULT VALUE 1.0
[ mu=double ] DEFAULT VALUE 0
[ sigma=double ] DEFAULT VALUE 0
/>
Documentation (element)
Specification of decay of efficacy. Documentation: see DecayFunction type or https://github.com/SwissTPH/openmalaria/wiki/ModelDecayFunctions
Documentation (type)
Specification of decay or survival of a parameter.
Attributes
function
function=("constant" or "step" or "linear" or "exponential" or "weibull" or "hill" or "smooth-compact")
Units: None Min: 0 Max: 1
Determines which decay function to use. Available decay functions, for age t in years: constant: 1 step: 1 for t less than L, otherwise 0 linear: 1 - t/L for t less than L, otherwise 0 exponential: exp( - t/L * log(2) ) weibull: exp( -(t/L)^k * log(2) ) hill: 1 / (1 + (t/L)^k) smooth-compact: exp( k - k / (1 - (t/L)^2) ) for t less than L, otherwise 0
L
L=double
Units: Years Min: 0
Scale parameter of distribution. With the smooth-compact (smooth function with compact support), step and linear functions, this is the age at which the parameter has decayed to 0; with the other three functions, this is the age at which the parameter has decayed to half its original value. Not used for constant decay (though must be specified anyway).
k
k=double
Units: none Min: 0
Default value: 1.0
Shape parameter of distribution. If not specified, default value of 1 is used. Meaning depends on function; not used in some cases.
μ (mu)
mu=double
Min: 0
Default value: 0
If sigma is non-zero, heterogeneity of decay is introduced via a random variable sampled from the log-normal distribution with mu and sigma as specified. Both mu and sigma default to zero when not specified. The decay rate is multiplied by this variable (effectively, the half-life is divided by it). Note that with m=0, the median of the variable and the median value of L is unchanged, and thus the time at which the median decay amongst the population of decaying objects reaches half (assuming exponential, Weibull or Hill decay) is L. With m=-½σ² (negative half sigma squared) the mean of the variable will be 1 and mean of the half-life L, but the time at which mean decay of the population has reached half may not be L.
σ (sigma)
sigma=double
Min: 0
Default value: 0
If sigma is non-zero, heterogeneity of decay is introduced via a random variable sampled from the log-normal distribution with mu and sigma as specified. Both mu and sigma default to zero when not specified. The decay rate is multiplied by this variable (effectively, the half-life is divided by it).
Variance parameter for vaccine efficacy
→ scenario → interventions → vaccine → description → efficacyB
<efficacyB
value=double
/>
Documentation (element)
Units: Positive real Min: 0.001 Max: 1.00E+06
Measure of variation in vaccine efficacy: efficacy is sampled from a beta distribution with efficacyB its beta parameter and its alpha parameter fixed such that the mean is that given by initialEfficacy.
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Initial mean efficacy
→ scenario → interventions → vaccine → description → initialEfficacy
<initialEfficacy
value=double
/>
Documentation (element)
Units: Proportion Min: 0 Max: 1
Mean efficacy values before decay (see efficacyB and decay parameter descriptions for sampling and decay). The i-th value in this list is used for the efficacy of the vaccine after the i-th dose. Where more doses are given than there are values in this list, the last value is repeated.
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Age-based vaccination
→ scenario → interventions → vaccine → continuous
<continuous>
IN THIS ORDER:
| ( <deploy ... /> )+
</continuous>
Documentation (element)
List of ages at which vaccination takes place (through EPI, post-natal and school-based programmes, etc.).
deploy
→ scenario → interventions → vaccine → continuous → deploy
<deploy
targetAgeYrs=double
coverage=double
[ cohort=boolean ] DEFAULT VALUE false
[ begin=int ] DEFAULT VALUE 0
[ end=int ] DEFAULT VALUE 2147483647
/>
Attributes
Target age
targetAgeYrs=double
Units: Years Min: 0 Max: 100
Target age of intervention
Proportion covered
coverage=double
Units: Proportion Min: 0 Max: 1
Coverage of intervention
Cohort only
cohort=boolean
Units: Proportion Min: 0 Max: 1
Default value: false
Restrict distribution to chosen cohort (default: false).
First timestep active
begin=int
Units: Timesteps Min: 0 Max: 2147483647
Default value: 0
First timestep (from 0 at the beginning of the intervention period) this item is active. Defaults to 0.
End timestep
end=int
Units: Timesteps Min: 0 Max: 2147483647
Default value: 2147483647
End of the period during which the intervention is active (to be exact, the first timestep of the intervention period at which the item becomes inactive). Defaults to 2147483647.
Mass vaccination
→ scenario → interventions → vaccine → timed
<timed>
IN THIS ORDER:
| ( <deploy ... /> )+
</timed>
Documentation (element)
List of timed mass vaccinations in the community
deploy
→ scenario → interventions → vaccine → timed → deploy
<deploy
time=int
[ maxAge=double ] DEFAULT VALUE 100
[ minAge=double ] DEFAULT VALUE 0
coverage=double
[ cohort=boolean ] DEFAULT VALUE false
[ cumulativeWithMaxAge=double ]
/>
Attributes
Time
time=int
Units: time-steps Min: 0
Time-step at which this intervention occurs, starting from 0, the first intervention-period time-step.
Maximum age of eligible individuals
maxAge=double
Units: Years Min: 0 Max: 100
Default value: 100
Maximum age of eligible individuals (defaults to 100)
Minimum age of eligible individuals
minAge=double
Units: Years Min: 0 Max: 100
Default value: 0
Minimum age of eligible individuals (defaults to 0)
Coverage
coverage=double
Units: Proportion Min: 0 Max: 1
Coverage of intervention
Cohort only
cohort=boolean
Units: Proportion Min: 0 Max: 1
Default value: false
Restrict distribution to chosen cohort.
Cumulative deployment: maximum age
cumulativeWithMaxAge=double
Units: Years Min: 0
If present, activate cumulate deployment mode where intervention is only deployed to individuals not already considered protected in sufficient quantity to bring the total proportion of people covered up to level described by "coverage". Individuals are considered already protected by this intervention when the age of the last net/dose/etc. received is less than "maximum age" (this attribute) years old (i.e. when timeLastDeployment+maximumAge>currentTimeStep).
Intermittent preventative treatment
→ scenario → interventions → IPT
<IPT
[ name=string ]
>
IN THIS ORDER:
| <description ... />
| [ <continuous ... /> ]
| [ <timed ... /> ]
</IPT>
Documentation (element)
Description and deployment of IPT interventions.
Attributes
Name of intervention
name=string
Units: string
Name of intervention
description
→ scenario → interventions → IPT → description
<description
iptiEffect=int
[ name=string ]
>
IN THIS ORDER:
| ( <infGenotype ... /> )+
</description>
Attributes
Description of ipti effect
iptiEffect=int
Units: List of Elementes
Description of ipti effect
IPT name
name=string
Units: string
Name of IPT intervention
infGenotype
→ scenario → interventions → IPT → description → infGenotype
<infGenotype
name=string
freq=double
ACR=double
proph=int
tolPeriod=int
atten=double
/>
Attributes
Age specific intervention
name=string
Units: string
Name of age specific intervention
Frequency
freq=double
Frequency of parasite genotype
ACR
ACR=double
Adequate clinical response (proportion)
Prophylactic period
proph=int
Prophylactic period
Tolerance period
tolPeriod=int
Tolerance period
Tolerance period
atten=double
Tolerance period
Age-based IPT deployment
→ scenario → interventions → IPT → continuous
<continuous>
IN THIS ORDER:
| ( <deploy ... /> )+
</continuous>
Documentation (element)
List of ages at which IPTi/IPTc deployment takes place (through EPI, post-natal and school-based programmes, etc.).
Mass IPT administration
→ scenario → interventions → IPT → timed
<timed>
IN THIS ORDER:
| ( <deploy ... /> )+
</timed>
Documentation (element)
List of timed IPTi/IPTc distribution
Bed nets
→ scenario → interventions → ITN
<ITN
[ name=string ]
>
IN THIS ORDER:
| <description ... />
| [ <continuous ... /> ]
| [ <timed ... /> ]
</ITN>
Documentation (element)
Description and deployment of bed-net interventions (ITNs, LLINs).
Attributes
Name of intervention
name=string
Units: string
Name of intervention
description
→ scenario → interventions → ITN → description
<description>
IN THIS ORDER:
| <usage ... />
| <holeRate ... />
| <ripRate ... />
| <ripFactor ... />
| <initialInsecticide ... />
| <insecticideDecay ... />
| <attritionOfNets ... />
| ( <anophelesParams ... /> )+
</description>
- usage
- holeRate
- ripRate
- ripFactor
- initialInsecticide
- insecticideDecay
- attritionOfNets
- anophelesParams
Proportion of time nets are used by humans
→ scenario → interventions → ITN → description → usage
<usage
value=double
/>
Documentation (element)
Units: none Min: 0 Max: 1
Usage of nets by humans, from 0 to 1.
At the moment this is constant across humans and deterministic: relative attractiveness and survival factors are base*(1-usagepropActing) + intervention_factorusage*propActing.
See also "propActing" (proportion of bits for which net acts).
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Rate at which holes are made
→ scenario → interventions → ITN → description → holeRate
<holeRate
mean=double
sigma=double
/>
Documentation (element)
Units: Holes per annum Min: 0
The rate at which new holes are made in nets.
nHoles(t) = nHoles(t-1) + X where X~Pois(R/T) where T is the number of time-steps per year. R is sampled from log-normal: R ~ log N( log(mean)-sigma²/2, sigma² ) and is covariant with ripRate and insecticideDecay. (To be exact, a single Gaussian sample is taken, adjusted for each sigma then exponentiated.)
Documentation (type)
Parameters of a log-normal distribution.
Variates are sampled as: X ~ log N( log(mean)-sigma²/2, sigma² ).
Attributes
mean
mean=double
Units: (same as base units)
The mean of the lognormal distribution.
sigma
sigma=double
Sigma parameter of the lognormal distribution; sigma squared is the variance of the log of samples.
Rate at which holes are enlarged
→ scenario → interventions → ITN → description → ripRate
<ripRate
mean=double
sigma=double
/>
Documentation (element)
Units: Rips per existing hole per annum Min: 0
Each existing hole has a probability of being ripped bigger according to a Poisson process with this rate as (only) parameter.
New rips occur in a net at rate X~Pois(h×R/T) where h is the number of existing holes and T the number of time-steps per year. R is sampled from log-normal: R ~ log N( log(mean)-sigma²/2, sigma² ) and is covariant with holeRate and insecticideDecay. (To be exact, a single Gaussian sample is taken, adjusted for the each and sigma then exponentiated.)
Documentation (type)
Parameters of a log-normal distribution.
Variates are sampled as: X ~ log N( log(mean)-sigma²/2, sigma² ).
Attributes
mean
mean=double
Units: (same as base units)
The mean of the lognormal distribution.
sigma
sigma=double
Sigma parameter of the lognormal distribution; sigma squared is the variance of the log of samples.
Rip factor
→ scenario → interventions → ITN → description → ripFactor
<ripFactor
value=double
/>
Documentation (element)
Units: none Min: 0
This factor expresses how important rips are in increasing the hole.
The hole index of a net is h + F×x where h and x are the total numbers of holes and rips respectively and F is the rip factor.
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Initial insecticide
→ scenario → interventions → ITN → description → initialInsecticide
<initialInsecticide
mu=double
sigma=double
/>
Documentation (element)
Units: mg/m² Min: 0
The insecticide concentration of new nets is Gaussian distributed with mean "mu" and a standard deviation "sigma". The standard deviation should be small relative to the mean to avoid negative initial concentration. Any negative values sampled are set to 0.
Documentation (type)
Parameters of a normal distribution.
Variates are sampled as: X ~ N( mu, sigma² ).
Attributes
mu
mu=double
Units: (same as base units)
The mean of the normal distribution.
sigma
sigma=double
Units: (same as base units)
The standard deviation of variates.
Decay of insecticide
→ scenario → interventions → ITN → description → insecticideDecay
<insecticideDecay
function=("constant" or "step" or "linear" or "exponential" or "weibull" or "hill" or "smooth-compact")
L=double
[ k=double ] DEFAULT VALUE 1.0
[ mu=double ] DEFAULT VALUE 0
[ sigma=double ] DEFAULT VALUE 0
/>
Documentation (element)
Units: none
Decay curve for insecticide content of nets. Documentation: see DecayFunction type or https://github.com/SwissTPH/openmalaria/wiki/ModelDecayFunctions
The distribution of decay rates over nets is covariant with the distribution of ripRate and holeRate over nets. This distribution is generated by taking one sample per net from a Gaussian distribution with mean 0 and standard deviation 1. For each variable, the sample is multiplied by the respective sigma and a constant added such that, once exponentiated, the mean of the variable over nets is 1. The variable is then exponentiated and multiplied by the required mean rate for the respective variable.
Documentation (type)
Specification of decay or survival of a parameter.
Attributes
function
function=("constant" or "step" or "linear" or "exponential" or "weibull" or "hill" or "smooth-compact")
Units: None Min: 0 Max: 1
Determines which decay function to use. Available decay functions, for age t in years: constant: 1 step: 1 for t less than L, otherwise 0 linear: 1 - t/L for t less than L, otherwise 0 exponential: exp( - t/L * log(2) ) weibull: exp( -(t/L)^k * log(2) ) hill: 1 / (1 + (t/L)^k) smooth-compact: exp( k - k / (1 - (t/L)^2) ) for t less than L, otherwise 0
L
L=double
Units: Years Min: 0
Scale parameter of distribution. With the smooth-compact (smooth function with compact support), step and linear functions, this is the age at which the parameter has decayed to 0; with the other three functions, this is the age at which the parameter has decayed to half its original value. Not used for constant decay (though must be specified anyway).
k
k=double
Units: none Min: 0
Default value: 1.0
Shape parameter of distribution. If not specified, default value of 1 is used. Meaning depends on function; not used in some cases.
μ (mu)
mu=double
Min: 0
Default value: 0
If sigma is non-zero, heterogeneity of decay is introduced via a random variable sampled from the log-normal distribution with mu and sigma as specified. Both mu and sigma default to zero when not specified. The decay rate is multiplied by this variable (effectively, the half-life is divided by it). Note that with m=0, the median of the variable and the median value of L is unchanged, and thus the time at which the median decay amongst the population of decaying objects reaches half (assuming exponential, Weibull or Hill decay) is L. With m=-½σ² (negative half sigma squared) the mean of the variable will be 1 and mean of the half-life L, but the time at which mean decay of the population has reached half may not be L.
σ (sigma)
sigma=double
Min: 0
Default value: 0
If sigma is non-zero, heterogeneity of decay is introduced via a random variable sampled from the log-normal distribution with mu and sigma as specified. Both mu and sigma default to zero when not specified. The decay rate is multiplied by this variable (effectively, the half-life is divided by it).
Attrition of nets
→ scenario → interventions → ITN → description → attritionOfNets
<attritionOfNets
function=("constant" or "step" or "linear" or "exponential" or "weibull" or "hill" or "smooth-compact")
L=double
[ k=double ] DEFAULT VALUE 1.0
[ mu=double ] DEFAULT VALUE 0
[ sigma=double ] DEFAULT VALUE 0
/>
Documentation (element)
Units: none
Specifies the rate at which nets are disposed of over time. Documentation: see DecayFunction type or https://github.com/SwissTPH/openmalaria/wiki/ModelDecayFunctions
In the current model, nets are disposed of randomly (no correlation with state of decay) such that the chance of each net surviving until age t is the value of this decay function at time t. Equivalently (where a large number of nets are distributed at the same time), the proportion of nets remaining in use should match this decay function over time.
Documentation (type)
Specification of decay or survival of a parameter.
Attributes
function
function=("constant" or "step" or "linear" or "exponential" or "weibull" or "hill" or "smooth-compact")
Units: None Min: 0 Max: 1
Determines which decay function to use. Available decay functions, for age t in years: constant: 1 step: 1 for t less than L, otherwise 0 linear: 1 - t/L for t less than L, otherwise 0 exponential: exp( - t/L * log(2) ) weibull: exp( -(t/L)^k * log(2) ) hill: 1 / (1 + (t/L)^k) smooth-compact: exp( k - k / (1 - (t/L)^2) ) for t less than L, otherwise 0
L
L=double
Units: Years Min: 0
Scale parameter of distribution. With the smooth-compact (smooth function with compact support), step and linear functions, this is the age at which the parameter has decayed to 0; with the other three functions, this is the age at which the parameter has decayed to half its original value. Not used for constant decay (though must be specified anyway).
k
k=double
Units: none Min: 0
Default value: 1.0
Shape parameter of distribution. If not specified, default value of 1 is used. Meaning depends on function; not used in some cases.
μ (mu)
mu=double
Min: 0
Default value: 0
If sigma is non-zero, heterogeneity of decay is introduced via a random variable sampled from the log-normal distribution with mu and sigma as specified. Both mu and sigma default to zero when not specified. The decay rate is multiplied by this variable (effectively, the half-life is divided by it). Note that with m=0, the median of the variable and the median value of L is unchanged, and thus the time at which the median decay amongst the population of decaying objects reaches half (assuming exponential, Weibull or Hill decay) is L. With m=-½σ² (negative half sigma squared) the mean of the variable will be 1 and mean of the half-life L, but the time at which mean decay of the population has reached half may not be L.
σ (sigma)
sigma=double
Min: 0
Default value: 0
If sigma is non-zero, heterogeneity of decay is introduced via a random variable sampled from the log-normal distribution with mu and sigma as specified. Both mu and sigma default to zero when not specified. The decay rate is multiplied by this variable (effectively, the half-life is divided by it).
anophelesParams
→ scenario → interventions → ITN → description → anophelesParams
<anophelesParams
mosquito=string
[ propActive=double ] DEFAULT VALUE 1
>
IN THIS ORDER:
| <deterrency ... />
| <preprandialKillingEffect ... />
| <postprandialKillingEffect ... />
</anophelesParams>
Attributes
Mosquito species
mosquito=string
Name of the affected anopheles-mosquito species.
Proportion of bites for which net acts
propActive=double
Units: none Min: 0 Max: 1
Default value: 1
The proportion of bites, when nets are in use, for which the net has any action whatsoever on the mosquito. At the moment this is constant across humans and deterministic: relative attractiveness and survival factors are base*(1-usagepropActing) + intervention_factorusage*propActing. See also "usage" (proportion of time nets are used by humans).
Relative attractiveness
→ scenario → interventions → ITN → description → anophelesParams → deterrency
<deterrency
insecticideFactor=double
insecticideScalingFactor=double
holeFactor=double
interactionFactor=double
holeScalingFactor=double
/>
Documentation (element)
Units: none Min: 0 Max: 1
Effect of net on attractiveness of humans to mosquitoes relative to an unprotected adult human. Parameterisations should take into account that mosquitoes do not always bite indoors.
Attractiveness of the human is multiplied by exp(log(H)×h + log(P)×p + log(I)×h×p where H, P and I are the hole, insecticide and interaction factors respectively, h=exp(-holeIndex×holeScalingFactor) and p=1−exp(-insecticideContent×insecticideScalingFactor).
Attributes
Insecticide factor
insecticideFactor=double
Units: none Max: 1
Value expected to be at least 0. Negative values are not necessarily invalid, but allow nets to increase transmission.
Insecticide scaling factor
insecticideScalingFactor=double
Units: none Min: 0
Hole factor
holeFactor=double
Units: none Max: 1
Value expected to be at least 0. Negative values are not necessarily invalid, but allow nets to increase transmission.
Interaction factor
interactionFactor=double
Units: none Max: 1
holeFactor + insecticideFactor + interactionFactor must not be greater than 1, and is expected to be at least 0. A negative value is not necessarily invalid, but allows nets to increase transmission.
Hole scaling factor
holeScalingFactor=double
Units: none Min: 0
Pre-prandial killing effect
→ scenario → interventions → ITN → description → anophelesParams → preprandialKillingEffect
<preprandialKillingEffect
insecticideFactor=double
insecticideScalingFactor=double
holeFactor=double
interactionFactor=double
holeScalingFactor=double
baseFactor=double
/>
Documentation (element)
Units: none Min: 0 Max: 1
Effect of net on survival mosquitoes as they seek to bite a human after choosing that human, relative to the same person not sleeping under a net. Parameterisations should take into account that mosquitoes do not always bite indoors.
Killing proportion is calculated as K = B + H×h + P×p + I×h×p where B is the base (without net) probability of death, H, P and I are the hole, insecticide and interaction factors respectively, h=exp(-holeIndex×holeScalingFactor) and p=1−exp(-insecticideContent×insecticideScalingFactor).
Survival of mosquitoes is adjusted via multiplication by (1−K) / (1−B). To keep this in the range [0,1], we require that B+H ≤ 1, B+P ≤ 1, B+H+P+I ≤ 1, H ≥ 0, P ≥ 0 and H+P+I ≥ 0.
Attributes
Insecticide factor
insecticideFactor=double
Units: none Max: 1
Value expected to be at least 0. Negative values are not necessarily invalid, but allow nets to increase transmission.
Insecticide scaling factor
insecticideScalingFactor=double
Units: none Min: 0
Hole factor
holeFactor=double
Units: none Max: 1
Value expected to be at least 0. Negative values are not necessarily invalid, but allow nets to increase transmission.
Interaction factor
interactionFactor=double
Units: none Max: 1
holeFactor + insecticideFactor + interactionFactor must not be greater than 1, and is expected to be at least 0. A negative value is not necessarily invalid, but allows nets to increase transmission.
Hole scaling factor
holeScalingFactor=double
Units: none Min: 0
Probability of mosquito death without intervention
baseFactor=double
Units: none
Post-prandial killing effect
→ scenario → interventions → ITN → description → anophelesParams → postprandialKillingEffect
<postprandialKillingEffect
insecticideFactor=double
insecticideScalingFactor=double
holeFactor=double
interactionFactor=double
holeScalingFactor=double
baseFactor=double
/>
Documentation (element)
Units: none Min: 0 Max: 1
Effect of net on survival mosquitoes as they seek to escape from a human host and rest after a blood meal, relative to the same person not sleeping under a net. Parameterisations should take into account that mosquitoes do not always bite indoors.
Killing proportion is calculated as K = B + H×h + P×p + I×h×p where B is the base (without net) probability of death, H, P and I are the hole, insecticide and interaction factors respectively, h=exp(-holeIndex×holeScalingFactor) and p=1−exp(-insecticideContent×insecticideScalingFactor).
Survival of mosquitoes is adjusted via multiplication by (1−K) / (1−B). To keep this in the range [0,1], we require that B+H ≤ 1, B+P ≤ 1, B+H+P+I ≤ 1, H ≥ 0, P ≥ 0 and H+P+I ≥ 0.
Attributes
Insecticide factor
insecticideFactor=double
Units: none Max: 1
Value expected to be at least 0. Negative values are not necessarily invalid, but allow nets to increase transmission.
Insecticide scaling factor
insecticideScalingFactor=double
Units: none Min: 0
Hole factor
holeFactor=double
Units: none Max: 1
Value expected to be at least 0. Negative values are not necessarily invalid, but allow nets to increase transmission.
Interaction factor
interactionFactor=double
Units: none Max: 1
holeFactor + insecticideFactor + interactionFactor must not be greater than 1, and is expected to be at least 0. A negative value is not necessarily invalid, but allows nets to increase transmission.
Hole scaling factor
holeScalingFactor=double
Units: none Min: 0
Probability of mosquito death without intervention
baseFactor=double
Units: none
Age-based bed-net deployment
→ scenario → interventions → ITN → continuous
<continuous>
IN THIS ORDER:
| ( <deploy ... /> )+
</continuous>
Documentation (element)
List of ages at which bed-net deployment takes place (through EPI, post-natal and school-based programmes, etc.).
Mass ITN deployment
→ scenario → interventions → ITN → timed
<timed>
IN THIS ORDER:
| ( <deploy ... /> )+
</timed>
Documentation (element)
List of timed ITN deployment in the community
Indoor residual spraying
→ scenario → interventions → IRS
<IRS
[ name=string ]
>
IN THIS ORDER:
| EXACTLY ONE OF:
| | <description ... />
| | <description_v2 ... />
| [ <timed ... /> ]
</IRS>
Documentation (element)
Description and deployment of indoor insecticide interventions (IRS, durable wall linings, insecticide-treated-paint, etc.)
User must choose between using
Attributes
Name of intervention
name=string
Units: string
Name of intervention
description
→ scenario → interventions → IRS → description
<description>
IN THIS ORDER:
| <decay ... />
| ( <anophelesParams ... /> )+
</description>
Documentation (type)
Description of effect for the simple model: IRS has three effects, whos strength is calculated as the product of an input parameter and "survival of effect", which is given by a decay function.
Decay
→ scenario → interventions → IRS → description → decay
<decay
function=("constant" or "step" or "linear" or "exponential" or "weibull" or "hill" or "smooth-compact")
L=double
[ k=double ] DEFAULT VALUE 1.0
[ mu=double ] DEFAULT VALUE 0
[ sigma=double ] DEFAULT VALUE 0
/>
Documentation (element)
Description of decay of IRS. Documentation: see DecayFunction type or https://github.com/SwissTPH/openmalaria/wiki/ModelDecayFunctions
Documentation (type)
Specification of decay or survival of a parameter.
Attributes
function
function=("constant" or "step" or "linear" or "exponential" or "weibull" or "hill" or "smooth-compact")
Units: None Min: 0 Max: 1
Determines which decay function to use. Available decay functions, for age t in years: constant: 1 step: 1 for t less than L, otherwise 0 linear: 1 - t/L for t less than L, otherwise 0 exponential: exp( - t/L * log(2) ) weibull: exp( -(t/L)^k * log(2) ) hill: 1 / (1 + (t/L)^k) smooth-compact: exp( k - k / (1 - (t/L)^2) ) for t less than L, otherwise 0
L
L=double
Units: Years Min: 0
Scale parameter of distribution. With the smooth-compact (smooth function with compact support), step and linear functions, this is the age at which the parameter has decayed to 0; with the other three functions, this is the age at which the parameter has decayed to half its original value. Not used for constant decay (though must be specified anyway).
k
k=double
Units: none Min: 0
Default value: 1.0
Shape parameter of distribution. If not specified, default value of 1 is used. Meaning depends on function; not used in some cases.
μ (mu)
mu=double
Min: 0
Default value: 0
If sigma is non-zero, heterogeneity of decay is introduced via a random variable sampled from the log-normal distribution with mu and sigma as specified. Both mu and sigma default to zero when not specified. The decay rate is multiplied by this variable (effectively, the half-life is divided by it). Note that with m=0, the median of the variable and the median value of L is unchanged, and thus the time at which the median decay amongst the population of decaying objects reaches half (assuming exponential, Weibull or Hill decay) is L. With m=-½σ² (negative half sigma squared) the mean of the variable will be 1 and mean of the half-life L, but the time at which mean decay of the population has reached half may not be L.
σ (sigma)
sigma=double
Min: 0
Default value: 0
If sigma is non-zero, heterogeneity of decay is introduced via a random variable sampled from the log-normal distribution with mu and sigma as specified. Both mu and sigma default to zero when not specified. The decay rate is multiplied by this variable (effectively, the half-life is divided by it).
Per-mosquito species parameters
→ scenario → interventions → IRS → description → anophelesParams
<anophelesParams
mosquito=string
[ propActive=double ] DEFAULT VALUE 1
>
IN THIS ORDER:
| <deterrency ... />
| <preprandialKillingEffect ... />
| <postprandialKillingEffect ... />
</anophelesParams>
Attributes
Mosquito species
mosquito=string
Name of the affected anopheles-mosquito species.
Proportion of bites for which IRS acts
propActive=double
Units: none Min: 0 Max: 1
Default value: 1
The proportion of bites for which the IRS has any action whatsoever on the mosquito. At the moment this is constant across humans and deterministic: relative attractiveness and survival factors are base*(1-propActing) + intervention_factor*propActing.
Relative attractiveness
→ scenario → interventions → IRS → description → anophelesParams → deterrency
<deterrency
value=double
/>
Documentation (element)
Units: none Min: 0 Max: 1
Effect of IRS on attractiveness of humans to mosquitoes relative to an unprotected adult human. Parameterisations should take into account that mosquitoes do not always bite indoors.
Attractiveness of the human is multiplied this factor times survival of effect.
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Pre-prandial killing effect
→ scenario → interventions → IRS → description → anophelesParams → preprandialKillingEffect
<preprandialKillingEffect
value=double
/>
Documentation (element)
Units: none Min: 0 Max: 1
Effect of IRS on survival mosquitoes as they seek to bite a human after choosing that human, relative to the same person not protected by IRS. Parameterisations should take into account that mosquitoes do not always bite indoors. This parameter has been added since some data shows IRS to have a preprandial killing effect.
Killing proportion is this factor multiplied by survival of effect.
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Post-prandial killing effect
→ scenario → interventions → IRS → description → anophelesParams → postprandialKillingEffect
<postprandialKillingEffect
value=double
/>
Documentation (element)
Units: none Min: 0 Max: 1
Effect of IRS on survival mosquitoes as they seek to escape from a human host and rest after a blood meal, relative to the same person not protected by IRS. Parameterisations should take into account that mosquitoes do not always bite indoors.
Killing proportion is this factor multiplied by survival of effect.
Attributes
Input parameter value
value=double
A double-precision floating-point value.
description_v2
→ scenario → interventions → IRS → description_v2
<description_v2>
IN THIS ORDER:
| <initialInsecticide ... />
| <insecticideDecay ... />
| ( <anophelesParams ... /> )+
</description_v2>
Documentation (type)
Description of effect for the more complex and probably more realistic Briet model: IRS has three effects, whos strength is calculated as a function of surviving insecticide content.
Initial insecticide
→ scenario → interventions → IRS → description_v2 → initialInsecticide
<initialInsecticide
mu=double
sigma=double
/>
Documentation (element)
Units: μg/cm² Min: 0
The insecticide concentration of IRS (at time of spraying) is Gaussian distributed with mean "mu" and a standard deviation "sigma". The standard deviation should be small relative to the mean to avoid negative initial concentration. Any negative values sampled are set to 0.
Documentation (type)
Parameters of a normal distribution.
Variates are sampled as: X ~ N( mu, sigma² ).
Attributes
mu
mu=double
Units: (same as base units)
The mean of the normal distribution.
sigma
sigma=double
Units: (same as base units)
The standard deviation of variates.
Decay of insecticide
→ scenario → interventions → IRS → description_v2 → insecticideDecay
<insecticideDecay
function=("constant" or "step" or "linear" or "exponential" or "weibull" or "hill" or "smooth-compact")
L=double
[ k=double ] DEFAULT VALUE 1.0
[ mu=double ] DEFAULT VALUE 0
[ sigma=double ] DEFAULT VALUE 0
/>
Documentation (element)
Units: none
Decay curve for insecticide content of IRS. Documentation: see DecayFunction type or https://github.com/SwissTPH/openmalaria/wiki/ModelDecayFunctions
Documentation (type)
Specification of decay or survival of a parameter.
Attributes
function
function=("constant" or "step" or "linear" or "exponential" or "weibull" or "hill" or "smooth-compact")
Units: None Min: 0 Max: 1
Determines which decay function to use. Available decay functions, for age t in years: constant: 1 step: 1 for t less than L, otherwise 0 linear: 1 - t/L for t less than L, otherwise 0 exponential: exp( - t/L * log(2) ) weibull: exp( -(t/L)^k * log(2) ) hill: 1 / (1 + (t/L)^k) smooth-compact: exp( k - k / (1 - (t/L)^2) ) for t less than L, otherwise 0
L
L=double
Units: Years Min: 0
Scale parameter of distribution. With the smooth-compact (smooth function with compact support), step and linear functions, this is the age at which the parameter has decayed to 0; with the other three functions, this is the age at which the parameter has decayed to half its original value. Not used for constant decay (though must be specified anyway).
k
k=double
Units: none Min: 0
Default value: 1.0
Shape parameter of distribution. If not specified, default value of 1 is used. Meaning depends on function; not used in some cases.
μ (mu)
mu=double
Min: 0
Default value: 0
If sigma is non-zero, heterogeneity of decay is introduced via a random variable sampled from the log-normal distribution with mu and sigma as specified. Both mu and sigma default to zero when not specified. The decay rate is multiplied by this variable (effectively, the half-life is divided by it). Note that with m=0, the median of the variable and the median value of L is unchanged, and thus the time at which the median decay amongst the population of decaying objects reaches half (assuming exponential, Weibull or Hill decay) is L. With m=-½σ² (negative half sigma squared) the mean of the variable will be 1 and mean of the half-life L, but the time at which mean decay of the population has reached half may not be L.
σ (sigma)
sigma=double
Min: 0
Default value: 0
If sigma is non-zero, heterogeneity of decay is introduced via a random variable sampled from the log-normal distribution with mu and sigma as specified. Both mu and sigma default to zero when not specified. The decay rate is multiplied by this variable (effectively, the half-life is divided by it).
Per-mosquito species parameters
→ scenario → interventions → IRS → description_v2 → anophelesParams
<anophelesParams
mosquito=string
[ propActive=double ] DEFAULT VALUE 1
>
IN THIS ORDER:
| <deterrency ... />
| <preprandialKillingEffect ... />
| <postprandialKillingEffect ... />
</anophelesParams>
Attributes
Mosquito species
mosquito=string
Name of the affected anopheles-mosquito species.
Proportion of bites for which IRS acts
propActive=double
Units: none Min: 0 Max: 1
Default value: 1
The proportion of bites for which the IRS has any action whatsoever on the mosquito. At the moment this is constant across humans and deterministic: relative attractiveness and survival factors are base*(1-propActing) + intervention_factor*propActing.
Relative attractiveness
→ scenario → interventions → IRS → description_v2 → anophelesParams → deterrency
<deterrency
insecticideFactor=double
insecticideScalingFactor=double
/>
Documentation (element)
Units: none Min: 0 Max: 1
Effect of IRS on attractiveness of humans to mosquitoes relative to an unprotected adult human. Parameterisations should take into account that mosquitoes do not always bite indoors.
Attractiveness of the human is multiplied by exp(P×log(p)) where P is the insecticide factor, p=1−exp(-insecticideContent×insecticideScalingFactor).
Attributes
Insecticide factor
insecticideFactor=double
Units: none Max: 1
Value expected to be at least 0. Negative values are not necessarily invalid, but allow nets to increase transmission.
Insecticide scaling factor
insecticideScalingFactor=double
Units: none Min: 0
Pre-prandial killing effect
→ scenario → interventions → IRS → description_v2 → anophelesParams → preprandialKillingEffect
<preprandialKillingEffect
insecticideFactor=double
insecticideScalingFactor=double
baseFactor=double
/>
Documentation (element)
Units: none Min: 0 Max: 1
Effect of IRS on survival mosquitoes as they seek to bite a human after choosing that human, relative to the same person not protected by IRS. Parameterisations should take into account that mosquitoes do not always bite indoors. This parameter has been added since some data shows IRS to have a preprandial killing effect.
Killing proportion is calculated as K = B + P×p where B is the base (without protection) probability of death, and P is the insecticide factor, p=1−exp(-insecticideContent×insecticideScalingFactor).
Survival of mosquitoes is adjusted via multiplication by (1−K) / (1−B). To keep this in the range [0,1], we require that B+P ≤ 1 and P ≥ 0.
Attributes
Insecticide factor
insecticideFactor=double
Units: none Max: 1
Value expected to be at least 0. Negative values are not necessarily invalid, but allow nets to increase transmission.
Insecticide scaling factor
insecticideScalingFactor=double
Units: none Min: 0
Probability of mosquito death without intervention
baseFactor=double
Units: none
Post-prandial killing effect
→ scenario → interventions → IRS → description_v2 → anophelesParams → postprandialKillingEffect
<postprandialKillingEffect
insecticideFactor=double
insecticideScalingFactor=double
baseFactor=double
/>
Documentation (element)
Units: none Min: 0 Max: 1
Effect of IRS on survival mosquitoes as they seek to escape from a human host and rest after a blood meal, relative to the same person not protected by IRS. Parameterisations should take into account that mosquitoes do not always bite indoors.
Killing proportion is calculated as K = B + P×p where B is the base (without protection) probability of death, and P is the insecticide factor, p=1−exp(-insecticideContent×insecticideScalingFactor).
Survival of mosquitoes is adjusted via multiplication by (1−K) / (1−B). To keep this in the range [0,1], we require that B+P ≤ 1 and P ≥ 0.
Attributes
Insecticide factor
insecticideFactor=double
Units: none Max: 1
Value expected to be at least 0. Negative values are not necessarily invalid, but allow nets to increase transmission.
Insecticide scaling factor
insecticideScalingFactor=double
Units: none Min: 0
Probability of mosquito death without intervention
baseFactor=double
Units: none
Mass IRS deployment
→ scenario → interventions → IRS → timed
<timed>
IN THIS ORDER:
| ( <deploy ... /> )+
</timed>
Documentation (element)
List of timed IRS deployment in the community
Vector deterrents
→ scenario → interventions → vectorDeterrent
<vectorDeterrent
[ name=string ]
>
IN THIS ORDER:
| <decay ... />
| ( <anophelesParams ... /> )+
| [ <timed ... /> ]
</vectorDeterrent>
Documentation (element)
Description and deployment of interventions affecting only human-mosquito availability (deterrents).
Attributes
Name of intervention
name=string
Units: string
Name of intervention
Decay
→ scenario → interventions → vectorDeterrent → decay
<decay
function=("constant" or "step" or "linear" or "exponential" or "weibull" or "hill" or "smooth-compact")
L=double
[ k=double ] DEFAULT VALUE 1.0
[ mu=double ] DEFAULT VALUE 0
[ sigma=double ] DEFAULT VALUE 0
/>
Documentation (element)
Description of decay of vector deterrent. Documentation: see DecayFunction type or https://github.com/SwissTPH/openmalaria/wiki/ModelDecayFunctions
Documentation (type)
Specification of decay or survival of a parameter.
Attributes
function
function=("constant" or "step" or "linear" or "exponential" or "weibull" or "hill" or "smooth-compact")
Units: None Min: 0 Max: 1
Determines which decay function to use. Available decay functions, for age t in years: constant: 1 step: 1 for t less than L, otherwise 0 linear: 1 - t/L for t less than L, otherwise 0 exponential: exp( - t/L * log(2) ) weibull: exp( -(t/L)^k * log(2) ) hill: 1 / (1 + (t/L)^k) smooth-compact: exp( k - k / (1 - (t/L)^2) ) for t less than L, otherwise 0
L
L=double
Units: Years Min: 0
Scale parameter of distribution. With the smooth-compact (smooth function with compact support), step and linear functions, this is the age at which the parameter has decayed to 0; with the other three functions, this is the age at which the parameter has decayed to half its original value. Not used for constant decay (though must be specified anyway).
k
k=double
Units: none Min: 0
Default value: 1.0
Shape parameter of distribution. If not specified, default value of 1 is used. Meaning depends on function; not used in some cases.
μ (mu)
mu=double
Min: 0
Default value: 0
If sigma is non-zero, heterogeneity of decay is introduced via a random variable sampled from the log-normal distribution with mu and sigma as specified. Both mu and sigma default to zero when not specified. The decay rate is multiplied by this variable (effectively, the half-life is divided by it). Note that with m=0, the median of the variable and the median value of L is unchanged, and thus the time at which the median decay amongst the population of decaying objects reaches half (assuming exponential, Weibull or Hill decay) is L. With m=-½σ² (negative half sigma squared) the mean of the variable will be 1 and mean of the half-life L, but the time at which mean decay of the population has reached half may not be L.
σ (sigma)
sigma=double
Min: 0
Default value: 0
If sigma is non-zero, heterogeneity of decay is introduced via a random variable sampled from the log-normal distribution with mu and sigma as specified. Both mu and sigma default to zero when not specified. The decay rate is multiplied by this variable (effectively, the half-life is divided by it).
anophelesParams
→ scenario → interventions → vectorDeterrent → anophelesParams
<anophelesParams
mosquito=string
>
IN THIS ORDER:
| <deterrency ... />
</anophelesParams>
Documentation (type)
Units: None Min: 0 Max: 1
Descriptions of initial effectiveness of each of the effects of interventions. Decay is specified by a separate element (ITNDecay etc.)
Attributes
Mosquito species
mosquito=string
Name of the affected anopheles-mosquito species.
Deterrency
→ scenario → interventions → vectorDeterrent → anophelesParams → deterrency
<deterrency
value=double
/>
Documentation (element)
Units: None Min: 0 Max: 1
One minus this multiplies the host's availability.
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Mass deployment
→ scenario → interventions → vectorDeterrent → timed
<timed>
IN THIS ORDER:
| ( <deploy ... /> )+
</timed>
Documentation (element)
List of timed mosquito deterrent deployment in the community
Cohort recruitment
→ scenario → interventions → cohort
<cohort
[ name=string ]
>
IN THIS ORDER:
| [ <continuous ... /> ]
| [ <timed ... /> ]
</cohort>
Documentation (element)
Recruitment of cohort as a pseudo-intervention.
Attributes
Name of intervention
name=string
Units: string
Name of intervention
Age-based cohort recruitment
→ scenario → interventions → cohort → continuous
<continuous>
IN THIS ORDER:
| ( <deploy ... /> )+
</continuous>
Documentation (element)
List of ages at which cohort recruitment takes place.
Mass cohort selection
→ scenario → interventions → cohort → timed
<timed>
IN THIS ORDER:
| ( <deploy ... /> )+
</timed>
Documentation (element)
List of times of mass cohort selection.
Imported infections
→ scenario → interventions → importedInfections
<importedInfections
[ name=string ]
>
IN THIS ORDER:
| <timed ... />
</importedInfections>
Documentation (element)
Models importation of P. falciparum infections directly into humans from an external source. This is infections, not inoculations or EIR being imported.
Attributes
Name of intervention
name=string
Units: string
Name of intervention
Rate of importation
→ scenario → interventions → importedInfections → timed
<timed
[ period=int ] DEFAULT VALUE 0
>
IN THIS ORDER:
| ( <rate ... /> )+
</timed>
Documentation (element)
Rate of case importation, as a step function. Each value is valid until replaced by the next value.
Attributes
Period of repetition
period=int
Units: time-steps Min: 0
Default value: 0
If period is 0 (or effectively infinite), the last specified value remains indefinitely in effect, otherwise the times of all values specified must be less than the period, and values are repeated modulo period (timestep period+2 has same value as timestep 2, etc.).
rate
→ scenario → interventions → importedInfections → timed → rate
<rate
value=double
time=int
/>
Documentation (type)
Units: Imported cases per thousand people per year
A time-rate pair.
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Time
time=int
Units: time-steps Min: 0
Immune suppression
→ scenario → interventions → immuneSuppression
<immuneSuppression>
IN THIS ORDER:
| [ <timed ... /> ]
</immuneSuppression>
Documentation (element)
Removes all exposure-related immunity gained over time by hosts without removing infections.
Hypothetical, but potentially useful to simulate scenarios with unprotected humans.
timed
→ scenario → interventions → immuneSuppression → timed
<timed>
IN THIS ORDER:
| ( <deploy ... /> )+
</timed>
Insert R_0 case
→ scenario → interventions → insertR_0Case
<insertR_0Case>
IN THIS ORDER:
| ( <timedDeployment ... /> )*
</insertR_0Case>
Documentation (element)
Used to simulate R_0. First, infections should be eliminated, immunity removed, and the population given an effective transmission- blocking vaccine (not done by this intervention). Then this intervention may be used to: pick one human, infect him, administer a fully effective Preerythrocytic vaccine and remove transmission-blocking vaccine effect on this human. Thus only this one human will be a source of infections in an unprotected population, and will not reinfected himself.
timedDeployment
→ scenario → interventions → insertR_0Case → timedDeployment
<timedDeployment
time=int
/>
Attributes
Time
time=int
Units: time-steps Min: 0
Time-step at which this intervention occurs, starting from 0, the first intervention-period time-step.
Uninfect vectors
→ scenario → interventions → uninfectVectors
<uninfectVectors>
IN THIS ORDER:
| ( <timedDeployment ... /> )*
</uninfectVectors>
Documentation (element)
Units: List of elements
Removes all infections from mosquitoes -- resulting in zero EIR to humans, until such time that mosquitoes are re-infected and become infectious. Only effectious in dynamic EIR mode (when changeEIR was not used).
Hypothetical, but potentially useful to simulate a setting starting from no infections, but with enough mosquitoes to reach a set equilibrium of exposure.
timedDeployment
→ scenario → interventions → uninfectVectors → timedDeployment
<timedDeployment
time=int
/>
Attributes
Time
time=int
Units: time-steps Min: 0
Time-step at which this intervention occurs, starting from 0, the first intervention-period time-step.
Simple larviciding intervention
→ scenario → interventions → larviciding
<larviciding
[ name=string ]
>
IN THIS ORDER:
| <description ... />
| [ <timed ... /> ]
</larviciding>
Documentation (element)
Units: List of elements
Simple larviciding intervention description.
Attributes
Name of intervention
name=string
Units: string
Name of intervention
description
→ scenario → interventions → larviciding → description
<description>
IN THIS ORDER:
| ( <anopheles ... /> )+
</description>
anopheles
→ scenario → interventions → larviciding → description → anopheles
<anopheles
mosquito=string
>
IN THIS ORDER:
| <duration ... />
| <effectiveness ... />
</anopheles>
Documentation (type)
Units: None Min: 0 Max: 1
Descriptions of initial effectiveness of the effects of larviciding interventions.
Attributes
Mosquito species
mosquito=string
Name of the affected anopheles-mosquito species.
Duration
→ scenario → interventions → larviciding → description → anopheles → duration
<duration
value=int
/>
Documentation (element)
Units: time-steps
Specifies how long the larviciding is effective
Attributes
Input parameter value
value=int
An integer value.
Effectiveness
→ scenario → interventions → larviciding → description → anopheles → effectiveness
<effectiveness
value=double
/>
Documentation (element)
Units: None Min: 0 Max: 1
Give the proportion of larvae killed by the larviciding
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Larviciding deployment
→ scenario → interventions → larviciding → timed
<timed>
IN THIS ORDER:
| ( <deploy ... /> )+
</timed>
Documentation (element)
List of timed mosquito larviding deployment
deploy
→ scenario → interventions → larviciding → timed → deploy
<deploy
time=int
/>
Attributes
Time
time=int
Units: time-steps Min: 0
Time-step at which this intervention occurs, starting from 0, the first intervention-period time-step.
Health system description
→ scenario → healthSystem
<healthSystem>
IN THIS ORDER:
| EXACTLY ONE OF:
| | <EventScheduler ... />
| | <ImmediateOutcomes ... />
| <CFR ... />
| <pSequelaeInpatient ... />
</healthSystem>
Documentation (element)
Units: List of elements
Description of health system.
Documentation (type)
Units: List of elements
Description of case management system, used to specify the initial model or a replacement (an intervention). Encompasses case management data and some other data required to derive case outcomes.
Contains a sub-element describing the particular health-system in use. Health system data is here defined as data used to decide on a treatment strategy, given a case requiring treatment.
Transmission and vector bionomics
→ scenario → entomology
<entomology
name=string
mode=("forced" or "dynamic")
[ scaledAnnualEIR=double ]
>
IN THIS ORDER:
| EXACTLY ONE OF:
| | <nonVector ... />
| | <vector ... />
</entomology>
Documentation (element)
Units: List of elements
Description of entomological data
Attributes
Entomology dataset
name=string
Units: string
Name of entomology data
Transmission model mode
mode=("forced" or "dynamic")
Transmission simulation mode: may be forced (in which case interventions and changes to human infectiousness cannot affect EIR) or dynamic (in which the above can affect EIR). The full vector model is only used in dynamic mode. This can not be changed by interventions, except for the changeEIR intervention for the non-vector model which replaces the EIR with a new description (used in forced mode).
Override annual EIR
scaledAnnualEIR=double
Units: Infectious bites per adult per year
If set, the annual EIR (for all species of vector) is scaled to this level; can be omitted if not needed.
Transmission setting (vector control not enabled)
→ scenario → entomology → nonVector
<nonVector
eipDuration=int
>
IN THIS ORDER:
| ( <EIRDaily ... /> )+
</nonVector>
Documentation (element)
Units: List of elements
Description of transmission setting for models without vector control interventions (included for backward compatibility)
Attributes
Duration of sporogony (days)
eipDuration=int
The duration of sporogony in days
Transmission setting (vector control enabled)
→ scenario → entomology → vector
<vector>
IN THIS ORDER:
| ( <anopheles ... /> )+
| ( <nonHumanHosts ... /> )*
</vector>
Documentation (element)
Units: List of elements
Parameters of the transmission model.
anopheles
→ scenario → entomology → vector → anopheles
<anopheles
mosquito=string
propInfected=double
propInfectious=double
>
IN THIS ORDER:
| <seasonality ... />
| <mosq ... />
| [ <lifeCycle ... /> ]
| ( <nonHumanHosts ... /> )*
</anopheles>
Documentation (type)
Description of input EIR for one specific vector species in terms of a Fourier approximation to the ln of the EIR during the burn in period
Attributes
Identifier for this anopheles species
mosquito=string
Identifier for this anopheles species
Initial guess of proportion of mosquitoes infected (ρ_O)
propInfected=double
Units: Proportion Min: 0 Max: 1
Initial guess of the proportion of mosquitoes which are infected, o: O_v(t) = o*N_v(t). Only used as a starting value.
Initial guess of proportion of mosquitoes infectious (ρ_S)
propInfectious=double
Units: Proportion Min: 0 Max: 1
Initial guess of the proportion of mosquitoes which are infectious, s: S_v(t) = s*N_v(t). Used as a starting value and then fit.
Seasonality of transmission
→ scenario → entomology → vector → anopheles → seasonality
<seasonality
input=("EIR")
[ annualEIR=double ]
>
IN THIS ORDER:
| EXACTLY ONE OF:
| | <fourierSeries ... />
| | <monthlyValues ... />
| | <dailyValues ... />
</seasonality>
Documentation (element)
Some specifier for the seasonality of transmission and optionally the level of annual transmission.
Attributes
Seasonality input
input=("EIR")
Specify what seasonality measure is given. At the moment, only EIR is supported, but in the future, all the below should be supported. EIR: seasonality of entomological inoculations is input. Units: entomological inoculations per adult per annum. hostSeeking: seasonality of densities of flying host-seeking mosquitoes is input (in the model this is notated N_v). Units: mosquitoes. emergence: seasonality of emergence pupa into adults. Units: mosquitoes. larvalResources: seasonality of larval resources. Units: X.
Annual EIR
annualEIR=double
Units: inoculations per adult per annum Min: 0
If this attribute is included, EIR for this species is scaled to this level. Note that if the scaledAnnualEIR attribute of the entomology element is also used, EIR is scaled again, making this attribute the EIR relative to other species. With some seasonality inputs, this attribute is optional, in which case (if scaledAnnualEIR is also not specified) transmission depends on all parameters of the vector. With some seasonality inputs, however, this parameter must be specified.
Fourier approximation to pre-intervention EIR
→ scenario → entomology → vector → anopheles → seasonality → fourierSeries
<fourierSeries
EIRRotateAngle=double
>
IN THIS ORDER:
| ( <coeffic ... /> )*
</fourierSeries>
Documentation (element)
Units: Infectious bites per adult per day
Seasonality is reproduced from the exponential of a fourier series specified by the following coefficients. Note that the a0 term is not needed; the annualEIR attribute of the seasonality element should be used to scale EIR instead.
Attributes
Rotation angle defining the origin of the Fourier approximation to ln (EIR)
EIRRotateAngle=double
Units: radians
Rotation angle defining the origin of the Fourier approximation to ln (EIR)
Pair of Fourier coefficients
→ scenario → entomology → vector → anopheles → seasonality → fourierSeries → coeffic
<coeffic
a=double
b=double
/>
Documentation (element)
Units: none
A pair of Fourier series coefficients. The first element specifies a1 and b1, the second a2 and b2, etc. Any number (from 0 up) of pairs may be given.
Attributes
a_n parameter of Fourier approximation to ln(EIR)
a=double
a_n parameter of Fourier approximation to ln(EIR) for some natural number n.
b_n parameter of Fourier approximation to ln(EIR)
b=double
b_n parameter of Fourier approximation to ln(EIR) for some natural number n.
List of montly values
→ scenario → entomology → vector → anopheles → seasonality → monthlyValues
<monthlyValues
smoothing=("none" or "fourier")
>
IN THIS ORDER:
| ( <value ... /> ){12,12}
</monthlyValues>
Documentation (element)
Description of seasonality from monthly values. Multiple smoothing methods are possible (see smoothing attribute).
List should contain twelve entries: January to December.
Attributes
Smoothing function
smoothing=("none" or "fourier")
How the monthly values are converted into a daily sequence of values:
- none: no smoothing (step function)
- fourier: a Fourier series (with terms up to a2/b2) is fit to the sequence of monthly values and used to generate a smoothed list of daily values.
Monthly value
→ scenario → entomology → vector → anopheles → seasonality → monthlyValues → value
<value>
double
</value>
Documentation (element)
Units: (see "seasonality input" parameter)
Monthly value
List of daily values
→ scenario → entomology → vector → anopheles → seasonality → dailyValues
<dailyValues>
IN THIS ORDER:
| ( <value ... /> ){365,365}
</dailyValues>
Documentation (element)
Description of seasonality from daily values.
List should contain 365 entries: 1st January to 31st December.
Daily value
→ scenario → entomology → vector → anopheles → seasonality → dailyValues → value
<value>
double
</value>
Documentation (element)
Units: (see "seasonality input" parameter)
Daily value
Mosquito feeding cycle parameters
→ scenario → entomology → vector → anopheles → mosq
<mosq
minInfectedThreshold=double
>
IN ANY ORDER:
| <mosqRestDuration ... />
| <extrinsicIncubationPeriod ... />
| <mosqLaidEggsSameDayProportion ... />
| <mosqSeekingDuration ... />
| <mosqSurvivalFeedingCycleProbability ... />
| <availabilityVariance ... />
| <mosqProbBiting ... />
| <mosqProbFindRestSite ... />
| <mosqProbResting ... />
| <mosqProbOvipositing ... />
| <mosqHumanBloodIndex ... />
</mosq>
- mosqRestDuration
- extrinsicIncubationPeriod
- mosqLaidEggsSameDayProportion
- mosqSeekingDuration
- mosqSurvivalFeedingCycleProbability
- availabilityVariance
- mosqProbBiting
- mosqProbFindRestSite
- mosqProbResting
- mosqProbOvipositing
- mosqHumanBloodIndex
Documentation (element)
Units: List of elements
Parameters describing the feeding cycle and human mosquito interaction of a single species of anopheles mosquito.
Attributes
Min infected threshold
minInfectedThreshold=double
Min: 0
If less than this many mosquitoes remain infected, transmission is interrupted.
Duration of the resting period of the vector (days)
→ scenario → entomology → vector → anopheles → mosq → mosqRestDuration
<mosqRestDuration
value=int
/>
Documentation (element)
name:Duration of the resting period of the vector (days);
Attributes
Input parameter value
value=int
An integer value.
Extrinsic incubation period (days)
→ scenario → entomology → vector → anopheles → mosq → extrinsicIncubationPeriod
<extrinsicIncubationPeriod
value=int
/>
Documentation (element)
name:Extrinsic incubation period (days)
Attributes
Input parameter value
value=int
An integer value.
Proportion of mosquitoes host seeking on same day as ovipositing
→ scenario → entomology → vector → anopheles → mosq → mosqLaidEggsSameDayProportion
<mosqLaidEggsSameDayProportion
value=double
/>
Documentation (element)
Proportion of mosquitoes host seeking on same day as ovipositing
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Duration of the host-seeking period of the vector (days)
→ scenario → entomology → vector → anopheles → mosq → mosqSeekingDuration
<mosqSeekingDuration
value=double
/>
Documentation (element)
Duration of the host-seeking period of the vector (days)
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Probability that the mosquito survives the feeding cycle
→ scenario → entomology → vector → anopheles → mosq → mosqSurvivalFeedingCycleProbability
<mosqSurvivalFeedingCycleProbability
value=double
/>
Documentation (element)
Probability that the mosquito survives the feeding cycle
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Variance in human availability rate
→ scenario → entomology → vector → anopheles → mosq → availabilityVariance
<availabilityVariance
value=double
/>
Documentation (element)
Variance in availability rate of humans to mosquitoes. The mean rate is calculated based on other parameters.
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Probability that the mosquito succesfully bites chosen host
→ scenario → entomology → vector → anopheles → mosq → mosqProbBiting
<mosqProbBiting
mean=double
variance=double
/>
Documentation (element)
Probability that the mosquito succesfully bites chosen host
Documentation (type)
Parameters of a normal distribution, provided as mean and variance.
Variates are sampled from Be(α,β) where α and β are determined from the mean and variance as follows: let v be the variance and c=mean/(1-mean). Then we set α=cβ and β=((c+1)²v - c)/((c+1)³v).
Attributes
mean
mean=double
Units: none
The mean of the beta distribution (must be in the open range (0,1)).
variance
variance=double
Units: none
The standard deviation of variates.
Probability that the mosquito escapes host and finds a resting place after biting
→ scenario → entomology → vector → anopheles → mosq → mosqProbFindRestSite
<mosqProbFindRestSite
mean=double
variance=double
/>
Documentation (element)
Probability that the mosquito escapes host and finds a resting place after biting
Documentation (type)
Parameters of a normal distribution, provided as mean and variance.
Variates are sampled from Be(α,β) where α and β are determined from the mean and variance as follows: let v be the variance and c=mean/(1-mean). Then we set α=cβ and β=((c+1)²v - c)/((c+1)³v).
Attributes
mean
mean=double
Units: none
The mean of the beta distribution (must be in the open range (0,1)).
variance
variance=double
Units: none
The standard deviation of variates.
Probability of mosquito successfully resting after finding a resting site
→ scenario → entomology → vector → anopheles → mosq → mosqProbResting
<mosqProbResting
mean=double
variance=double
/>
Documentation (element)
Probability of mosquito successfully resting after finding a resting site
Documentation (type)
Parameters of a normal distribution, provided as mean and variance.
Variates are sampled from Be(α,β) where α and β are determined from the mean and variance as follows: let v be the variance and c=mean/(1-mean). Then we set α=cβ and β=((c+1)²v - c)/((c+1)³v).
Attributes
mean
mean=double
Units: none
The mean of the beta distribution (must be in the open range (0,1)).
variance
variance=double
Units: none
The standard deviation of variates.
Probability of a mosquito successfully laying eggs given that it has rested
→ scenario → entomology → vector → anopheles → mosq → mosqProbOvipositing
<mosqProbOvipositing
value=double
/>
Documentation (element)
Probability of a mosquito successfully laying eggs given that it has rested
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Human blood index
→ scenario → entomology → vector → anopheles → mosq → mosqHumanBloodIndex
<mosqHumanBloodIndex
value=double
/>
Documentation (element)
The proportion of resting mosquitoes which fed on human blood during the last feed.
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Mosquito life cycle parameters
→ scenario → entomology → vector → anopheles → lifeCycle
<lifeCycle
[ estimatedLarvalResources=double ] DEFAULT VALUE 1e8
>
IN ANY ORDER:
| <eggStage ... />
| <larvalStage ... />
| <pupalStage ... />
| <femaleEggsLaidByOviposit ... />
</lifeCycle>
Documentation (element)
Parameters describing the life-cycle of this species of mosquito
Attributes
Estimate of larval resources
estimatedLarvalResources=double
Units: X
Default value: 1e8
An estimate of mean annual availability of resources to larvae. Used to set the resource usage fitting algorithm going; if this algorithm fails to fit the resource availability then tweaking this parameter may help. In other cases tweaking this parameter shouldn't be necessary. Default value is 10⁸ (1e8). Units are arbitrary but the same as those used by the resourceUsage parameter.
Egg stage
→ scenario → entomology → vector → anopheles → lifeCycle → eggStage
<eggStage
duration=int
survival=double
/>
Documentation (element)
Parameters for the egg stage of development
Documentation (type)
Parameters associated with a mosquito development stage.
Attributes
Duration
duration=int
Duration of the stage (i.e. length of time mosquito is an egg/larva/pupa).
Probability of survival
survival=double
Probability that mosquito survives this size (probability of egg hatching, a larva becoming a pupa or a pupa emerging as an adult, at the start of that stage).
larvalStage
→ scenario → entomology → vector → anopheles → lifeCycle → larvalStage
<larvalStage>
</larvalStage>
Documentation (type)
Parameters for the larval stage of development
Documentation (base type)
Parameters associated with a mosquito development stage.
Daily development
→ scenario → entomology → vector → anopheles → lifeCycle → larvalStage → daily
<daily
resourceUsage=double
effectCompetition=double
/>
Documentation (element)
List of parameters which apply during the larval stage of development. List length must equal stage duration, with first item corresponding to first 24 hours after hatching, second item to hours 24-48, and so on.
Attributes
Resource usage
resourceUsage=double
Units: X
Resource usage over larval stage of development. Units are arbitrary.
Effect competition
effectCompetition=double
Units: none
Effect of competition over resources on development.
Pupal stage
→ scenario → entomology → vector → anopheles → lifeCycle → pupalStage
<pupalStage
duration=int
survival=double
/>
Documentation (element)
Parameters for the pupal stage of development
Documentation (type)
Parameters associated with a mosquito development stage.
Attributes
Duration
duration=int
Duration of the stage (i.e. length of time mosquito is an egg/larva/pupa).
Probability of survival
survival=double
Probability that mosquito survives this size (probability of egg hatching, a larva becoming a pupa or a pupa emerging as an adult, at the start of that stage).
Eggs laid by ovipositing mosquito
→ scenario → entomology → vector → anopheles → lifeCycle → femaleEggsLaidByOviposit
<femaleEggsLaidByOviposit
value=double
/>
Documentation (element)
The total number of female eggs laid by a female mosquito at the conclusion to a feeding cycle.
Attributes
Input parameter value
value=double
A double-precision floating-point value.
nonHumanHosts
→ scenario → entomology → vector → anopheles → nonHumanHosts
<nonHumanHosts
name=string
>
IN ANY ORDER:
| <mosqRelativeEntoAvailability ... />
| <mosqProbBiting ... />
| <mosqProbFindRestSite ... />
| <mosqProbResting ... />
</nonHumanHosts>
Documentation (element)
Units: List of elements
Non human host parameters, per type of host (must match up with non-species-specific parameters).
Attributes
Identifier for this category of non-human hosts
name=string
Identifier for this category of non-human hosts
Relative availability of non-human host (ξ_i)
→ scenario → entomology → vector → anopheles → nonHumanHosts → mosqRelativeEntoAvailability
<mosqRelativeEntoAvailability
value=double
/>
Documentation (element)
Relative availability of non-human hosts of type i to other non-human hosts; the sum of this across all non-human hosts must be 1.
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Probability of mosquito successfully biting host
→ scenario → entomology → vector → anopheles → nonHumanHosts → mosqProbBiting
<mosqProbBiting
value=double
/>
Documentation (element)
Probability of mosquito successfully biting host
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Probability that the mosquito escapes host and finds a resting place after biting
→ scenario → entomology → vector → anopheles → nonHumanHosts → mosqProbFindRestSite
<mosqProbFindRestSite
value=double
/>
Documentation (element)
Probability that the mosquito escapes host and finds a resting place after biting
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Probability of mosquito successfully resting after finding a resting site
→ scenario → entomology → vector → anopheles → nonHumanHosts → mosqProbResting
<mosqProbResting
value=double
/>
Documentation (element)
Probability of mosquito successfully resting after finding a resting site
Attributes
Input parameter value
value=double
A double-precision floating-point value.
nonHumanHosts
→ scenario → entomology → vector → nonHumanHosts
<nonHumanHosts
name=string
number=double
/>
Attributes
Species of alternative host
name=string
Name of this species of non human hosts (must match up with those described per anopheles section).
number
number=double
Population size of this non-human host.
Pharmacokinetics and pharmacodynamics
→ scenario → pharmacology
<pharmacology>
IN THIS ORDER:
| ( <drug ... /> )+
</pharmacology>
Documentation (element)
Units: List of elements
Drug model parameters
Library of drug parameters
→ scenario → pharmacology → drug
<drug
abbrev=string
>
IN THIS ORDER:
| <PD ... />
| <PK ... />
</drug>
Documentation (element)
Sequence of drug descriptions forming a library of drug parameters.
Attributes
abbrev
abbrev=string
PD
→ scenario → pharmacology → drug → PD
<PD>
IN THIS ORDER:
| ( <allele ... /> )+
</PD>
PD parameters per allele
→ scenario → pharmacology → drug → PD → allele
<allele
name=string
>
IN THIS ORDER:
| <initial_frequency ... />
| <max_killing_rate ... />
| <IC50 ... />
| <slope ... />
</allele>
Documentation (element)
PD parameters per allele, plus initial frequency of each allele.
Note: we assume a one-to-one correspondance of drugs to loci, hence each drug has an independent set of alleles here.
Attributes
name
name=string
Relative frequency
→ scenario → pharmacology → drug → PD → allele → initial_frequency
<initial_frequency>
double
</initial_frequency>
Documentation (element)
Units: relative frequency Min: 0
Frequency, relative to the total frequency of all alleles for this drug/locus.
Maximal parasite killing rate
→ scenario → pharmacology → drug → PD → allele → max_killing_rate
<max_killing_rate>
double
</max_killing_rate>
Documentation (element)
Units: 1/days Min: 0
k1 — Maximal parasite killing rate.
IC50
→ scenario → pharmacology → drug → PD → allele → IC50
<IC50>
double
</IC50>
Documentation (element)
Units: mg/l Min: 0
Half maximal effect concentration.
Slope of effect curve
→ scenario → pharmacology → drug → PD → allele → slope
<slope>
double
</slope>
Documentation (element)
Units: no units
n — Slope of the concentration effect curve
PK
→ scenario → pharmacology → drug → PK
<PK>
IN THIS ORDER:
| <negligible_concentration ... />
| <half_life ... />
| <vol_dist ... />
</PK>
Drug concentration considered negligible
→ scenario → pharmacology → drug → PK → negligible_concentration
<negligible_concentration>
double
</negligible_concentration>
Documentation (element)
Units: mg/l Min: 0
Concentration below which drug's effects are deemed negligible and can be removed from simulation.
drug half-life
→ scenario → pharmacology → drug → PK → half_life
<half_life>
double
</half_life>
Documentation (element)
Units: days Min: 0
Used to calculate elimination rate (which is: ln(2) / half_life).
Volume of Distribution
→ scenario → pharmacology → drug → PK → vol_dist
<vol_dist>
double
</vol_dist>
Documentation (element)
Units: l/kg Min: 0
Volume of Distribution
Model options and parameters
<model>
IN ANY ORDER:
| <ModelOptions ... />
| <clinical ... />
| <human ... />
| <parameters ... />
</model>
Documentation (element)
Units: List of elements
Encapsulation of all parameters which describe the model according to which fitting is done.
Model Options
→ scenario → model → ModelOptions
<ModelOptions>
IN THIS ORDER:
| ( <option ... /> )*
</ModelOptions>
Documentation (element)
Units: List of elements
All model options (bug fixes, choices between models, etc.).
The list of recognised options can be found in the code at:
include/util/ModelOptions.h and should also be in the wiki.
clinical
<clinical
healthSystemMemory=int
>
IN THIS ORDER:
| [ <NonMalariaFevers ... /> ]
</clinical>
Documentation (type)
Units: List of elements
Description of clinical parameters.
This is related to the health-system description, but contains data which can't be changed as part of an intervention and is not restricted to treatment.
Attributes
Follow-up period during which recurrence is treated as a failure
healthSystemMemory=int
Units: Time steps Min: 1 Max: 100
Follow-up period during which a recurrence is considered to be a treatment failure
NonMalariaFevers
→ scenario → model → clinical → NonMalariaFevers
<NonMalariaFevers>
IN THIS ORDER:
| <incidence ... />
| <prNeedTreatmentNMF ... />
| <prNeedTreatmentMF ... />
</NonMalariaFevers>
Documentation (type)
Description of non-malaria fever incidence. Non-malaria fevers are only modelled if the NON_MALARIA_FEVERS option is used.
P(NMF)
→ scenario → model → clinical → NonMalariaFevers → incidence
<incidence
[ interpolation=("none" or "linear") ]
>
IN THIS ORDER:
| ( <group ... /> )+
</incidence>
Documentation (element)
Units: none Min: 0 Max: 1
Probability that a non-malaria fever occurs given that no concurrent malaria fever occurs.
Attributes
interpolation
interpolation=("none" or "linear")
Units: none
Interpolation algorithm. Normally it is desirable for age-based values to be continuous w.r.t. age. By default linear interpolation is used. With all algorithms except "none", the age groups are converted to a set of points centred within each age range. Extra points are added at each end (zero and infinity) to keep value constant at both ends of the function. A zero-length age group may be used as a kind of barrier to adjust the distribution; e.g. with age group boundaries at 15, 20 and 25 years, a (linear) spline would be drawn between ages 17.5 and 22.5, whereas with boundaries at 15, 20 and 20 years, a spline would be drawn between ages 17.5 and 20 years (may be desired if individuals are assumed to reach adult size at 20). Algorithms:
- none: input values are used directly
- linear: straight lines (on an age vs. value graph) are used to interpolate data points.
P(need treatment | NMF)
→ scenario → model → clinical → NonMalariaFevers → prNeedTreatmentNMF
<prNeedTreatmentNMF
[ interpolation=("none" or "linear") ]
>
IN THIS ORDER:
| ( <group ... /> )+
</prNeedTreatmentNMF>
Documentation (element)
Units: none Min: 0 Max: 1
Probability that a non-malaria fever needs treatment with antibiotics (assuming fever is not induced by malaria, although concurrent parasites may be present).
Attributes
interpolation
interpolation=("none" or "linear")
Units: none
Interpolation algorithm. Normally it is desirable for age-based values to be continuous w.r.t. age. By default linear interpolation is used. With all algorithms except "none", the age groups are converted to a set of points centred within each age range. Extra points are added at each end (zero and infinity) to keep value constant at both ends of the function. A zero-length age group may be used as a kind of barrier to adjust the distribution; e.g. with age group boundaries at 15, 20 and 25 years, a (linear) spline would be drawn between ages 17.5 and 22.5, whereas with boundaries at 15, 20 and 20 years, a spline would be drawn between ages 17.5 and 20 years (may be desired if individuals are assumed to reach adult size at 20). Algorithms:
- none: input values are used directly
- linear: straight lines (on an age vs. value graph) are used to interpolate data points.
P(need treatment | MF)
→ scenario → model → clinical → NonMalariaFevers → prNeedTreatmentMF
<prNeedTreatmentMF
[ interpolation=("none" or "linear") ]
>
IN THIS ORDER:
| ( <group ... /> )+
</prNeedTreatmentMF>
Documentation (element)
Units: none Min: 0 Max: 1
Probability that a malaria fever needs treatment with antibiotics (assuming fever is induced by malaria, although concurrent bacteria may be present).
Meaning partially overlaps with separate model for comorbidity given malaria.
Attributes
interpolation
interpolation=("none" or "linear")
Units: none
Interpolation algorithm. Normally it is desirable for age-based values to be continuous w.r.t. age. By default linear interpolation is used. With all algorithms except "none", the age groups are converted to a set of points centred within each age range. Extra points are added at each end (zero and infinity) to keep value constant at both ends of the function. A zero-length age group may be used as a kind of barrier to adjust the distribution; e.g. with age group boundaries at 15, 20 and 25 years, a (linear) spline would be drawn between ages 17.5 and 22.5, whereas with boundaries at 15, 20 and 20 years, a spline would be drawn between ages 17.5 and 20 years (may be desired if individuals are assumed to reach adult size at 20). Algorithms:
- none: input values are used directly
- linear: straight lines (on an age vs. value graph) are used to interpolate data points.
human
<human>
IN THIS ORDER:
| <availabilityToMosquitoes ... />
| [ <weight ... /> ]
</human>
Documentation (type)
Parameters of host models.
Availability to mosquitoes
→ scenario → model → human → availabilityToMosquitoes
<availabilityToMosquitoes
[ interpolation=("none" or "linear") ]
>
IN THIS ORDER:
| ( <group ... /> )+
</availabilityToMosquitoes>
Documentation (element)
Units: None Min: 0 Max: 1
By age group data on availability of humans to mosquitoes relative to an adult.
Attributes
interpolation
interpolation=("none" or "linear")
Units: none
Interpolation algorithm. Normally it is desirable for age-based values to be continuous w.r.t. age. By default linear interpolation is used. With all algorithms except "none", the age groups are converted to a set of points centred within each age range. Extra points are added at each end (zero and infinity) to keep value constant at both ends of the function. A zero-length age group may be used as a kind of barrier to adjust the distribution; e.g. with age group boundaries at 15, 20 and 25 years, a (linear) spline would be drawn between ages 17.5 and 22.5, whereas with boundaries at 15, 20 and 20 years, a spline would be drawn between ages 17.5 and 20 years (may be desired if individuals are assumed to reach adult size at 20). Algorithms:
- none: input values are used directly
- linear: straight lines (on an age vs. value graph) are used to interpolate data points.
Weight
→ scenario → model → human → weight
<weight
[ interpolation=("none" or "linear") ]
multStdDev=double
>
IN THIS ORDER:
| ( <group ... /> )+
</weight>
Documentation (element)
Units: kg Min: 0
By age group data on human weight (mass).
Attributes
interpolation
interpolation=("none" or "linear")
Units: none
Interpolation algorithm. Normally it is desirable for age-based values to be continuous w.r.t. age. By default linear interpolation is used. With all algorithms except "none", the age groups are converted to a set of points centred within each age range. Extra points are added at each end (zero and infinity) to keep value constant at both ends of the function. A zero-length age group may be used as a kind of barrier to adjust the distribution; e.g. with age group boundaries at 15, 20 and 25 years, a (linear) spline would be drawn between ages 17.5 and 22.5, whereas with boundaries at 15, 20 and 20 years, a spline would be drawn between ages 17.5 and 20 years (may be desired if individuals are assumed to reach adult size at 20). Algorithms:
- none: input values are used directly
- linear: straight lines (on an age vs. value graph) are used to interpolate data points.
Standard deviation
multStdDev=double
Units: None Min: 0
Each human is assigned a weight multiplier from a normal distribution with mean 1 and this standard deviation at birth. His/her weight is this multiplier times the mean from age distribution. A standard deviation of zero for no heterogeneity is valid; a rough value from Tanzanian data is 0.14.
Parameters of the model of epidemiology
→ scenario → model → parameters
<parameters
interval=int
iseed=int
latentp=int
>
IN THIS ORDER:
| ( <parameter ... /> )+
</parameters>
Documentation (element)
Units: List of elements
Parameters of the epidemiological model
Attributes
Simulation step
interval=int
Units: Days
Simulation step
Random number seed
iseed=int
Units: Number
Seed for RNG
Pre-erythrocytic latent period
latentp=int
Units: Time steps Min: 0 Max: 20
pre-erythrocytic latent period, in time steps
parameter
→ scenario → model → parameters → parameter
<parameter
name=string
number=int
value=double
[ include=boolean ]
/>
Attributes
Name of parameter
name=string
Units: string
Name of parameter
Parameter number
number=int
Units: Number Min: 1 Max: 100
Reference number of input parameter
Parameter value
value=double
Units: Number Min: 0
Parameter value
Sampling indicator
include=boolean
Units: Number Min: 0 Max: 1
True if parameter is to be sampled in optimization runs. Not used in simulator app.
Schema 30-3 documentation
Generated from: scenario_30_3.xsd
.
Key:
abc required (one)
[ def ] optional (zero or one)
( ghi )* any number (zero or more)
( jkl )+ at least one
( mno ){2,inf} two or more occurrences
Scenario
→ scenario
<scenario
schemaVersion=int
analysisNo=int
name=string
wuID=int
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:noNamespaceSchemaLocation="scenario_30_3.xsd"
>
IN ANY ORDER:
| <demography ... />
| <monitoring ... />
| <interventions ... />
| <healthSystem ... />
| <entomology ... />
| [ <pharmacology ... /> ]
| <model ... />
</scenario>
Documentation (element)
Description of scenario
Attributes
Version of the xml schema
schemaVersion=int
Version of xml schema. If not equal to the current version an error is thrown. Use SchemaTranslator to update xml files.
Reference number of the analysis
analysisNo=int
Units: Number Min: 1 Max: 100000000
Unique identifier of scenario
Name of intervention
name=string
Name of intervention
Work unit identifier
wuID=int
Units: Number Min: 1 Max: 100000000
Work unit ID. Only used to validate checkpointing, to prevent checkpoint cheats.
Human age distribution
→ scenario → demography
<demography
name=string
popSize=int
maximumAgeYrs=double
[ growthRate=double ]
>
IN THIS ORDER:
| <ageGroup ... />
</demography>
Documentation (element)
Description of demography
Attributes
Name of demography data
name=string
Name of demography data
Population size
popSize=int
Units: Count Min: 1 Max: 100000
Population size
Maximum age of simulated humans
maximumAgeYrs=double
Units: Years Min: 0 Max: 100
Maximum age of simulated humans in years
Growth rate of human population
growthRate=double
Units: Number Min: 0 Max: 0
Growth rate of human population. (we should be able to implement this with non-zero values)
Age groups
→ scenario → demography → ageGroup
<ageGroup
lowerbound=double
>
IN THIS ORDER:
| ( <group ... /> )+
</ageGroup>
Documentation (element)
list of age groups included in demography
Documentation (type)
list of age groups included in demography or surveys
Attributes
Lower bound of age group
lowerbound=double
Units: Years Min: 0 Max: 100
Lower bound of age group
group
→ scenario → demography → ageGroup → group
<group
poppercent=double
upperbound=double
/>
Attributes
Percentage in age group
poppercent=double
Units: Percentage Min: 0 Max: 100
Percentage of human population in age group
Upper bound of age group
upperbound=double
Units: Years Min: 0 Max: 100
Upper bound of age group
Measures to be reported
→ scenario → monitoring
<monitoring
name=string
[ cohortOnly=boolean ]
[ firstBoutOnly=boolean ]
[ firstTreatmentOnly=boolean ]
[ firstInfectionOnly=boolean ]
>
IN THIS ORDER:
| [ <continuous ... /> ]
| <SurveyOptions ... />
| <surveys ... />
| <ageGroup ... />
</monitoring>
Documentation (element)
Description of surveys
Attributes
Name of monitoring information
name=string
Name of monitoring data
Survey only cohort
cohortOnly=boolean
If true, for many output measures, the output comes only from individuals in the cohort; otherwise output is from the entire population. Does not need to be specified if no cohort-selecting "interventions" are present.
Time to first episode only
firstBoutOnly=boolean
If true, remove individuals from the cohort at the start of the first episode (start of a clinical bout) since they were recruited into the cohort. This is intended for cohort studies that intend to measure time to first episode, using active case detection.
Time to first treatment only
firstTreatmentOnly=boolean
If true, remove individuals from the cohort when they first seek treatment since they were recruited into the cohort. This is intended for cohort studies that intend to measure time to first episode, using passive case detection.
Time to first infection only
firstInfectionOnly=boolean
If true, remove individuals from the cohort at completion of the first survey in which they present with a patent infection since they were recruited into the cohort. This intended for cohort studies that intend to measure time to first infection, using active case detection.
continuous
→ scenario → monitoring → continuous
<continuous
period=int
[ duringInit=boolean ]
>
IN THIS ORDER:
| ( <option ... /> )*
</continuous>
Attributes
Days between reports
period=int
Units: Days Min: 1 Max: unbounded
Number of timesteps between reports.
During initialization
duringInit=boolean
Units: Days Min: 1 Max: unbounded
Also output during initialization. By default this is disabled (only intervention-period data is output). This should not be used for predictions, but can be useful for model validation. In this mode, 'simulation time' is output as the first column (in addition to 'timestep'), since 'timestep' is dis- continuous across the start of the intervention period.
option
→ scenario → monitoring → continuous → option
<option
name=string
[ value=boolean ] DEFAULT VALUE true
/>
Attributes
Model options required
name=string
Options define different model structures. Option name. Must be one of a strictly defined set. Options are not required to be listed if their default value is desired.
Indicator of whether option is required
value=boolean
Default value: true
Option value (true/false). Each option has a default value used if the option is not listed (usually false but sometimes true).
Name of quantity
→ scenario → monitoring → SurveyOptions
<SurveyOptions>
IN THIS ORDER:
| ( <option ... /> )*
</SurveyOptions>
Documentation (element)
List of all active survey options. See include/Survey.h for a list of supported outputs. Should also be on the wiki.
Survey times (time steps)
→ scenario → monitoring → surveys
<surveys
detectionLimit=double
>
IN THIS ORDER:
| ( <surveyTime ... /> )+
</surveys>
Documentation (element)
Units: list of elements
List of survey times
Attributes
Detection limit for parasitaemia
detectionLimit=double
Units: parasites/microlitre Min: 0
Limit above which a human's infection is reported as patent.
Survey time
→ scenario → monitoring → surveys → surveyTime
<surveyTime>
int
</surveyTime>
Documentation (element)
Units: Number Min: 0
Survey time; 0 means just before start of main sim and is a valid survey-point. Reported data is either from a point-time survey (immediate data) or is collected over the previous year(data from previous timesteps-per-year period). Simulation will end immediately after last survey is taken.
Age groups
→ scenario → monitoring → ageGroup
<ageGroup
lowerbound=double
>
IN THIS ORDER:
| ( <group ... /> )+
</ageGroup>
Documentation (element)
List of age groups included in demography or surveys
Documentation (type)
List of age groups included in surveys
Attributes
lower bound of age group
lowerbound=double
Units: Years Min: 0 Max: 100
Lower bound of age group
group
→ scenario → monitoring → ageGroup → group
<group
upperbound=double
/>
Attributes
upper bound of age group
upperbound=double
Units: Years Min: 0 Max: 100
Upper bound of age group
Preventative interventions
<interventions
name=string
>
IN ANY ORDER:
| [ <changeHS ... /> ]
| [ <changeEIR ... /> ]
| [ <MDA ... /> ]
| [ <vaccine ... /> ]
| [ <IPT ... /> ]
| [ <ITN ... /> ]
| [ <IRS ... /> ]
| [ <vectorDeterrent ... /> ]
| [ <cohort ... /> ]
| [ <importedInfections ... /> ]
| [ <immuneSuppression ... /> ]
| [ <insertR_0Case ... /> ]
| [ <uninfectVectors ... /> ]
| [ <larviciding ... /> ]
</interventions>
- changeHS
- changeEIR
- MDA
- vaccine
- IPT
- ITN
- IRS
- vectorDeterrent
- cohort
- importedInfections
- immuneSuppression
- insertR_0Case
- uninfectVectors
- larviciding
Documentation (element)
List of interventions. Generally these are either point-time distributions of something to some subset of the population, or continuous-time distribution targetting individuals when they reach a certain age.
Attributes
Intervention
name=string
Name of set of interventions
Change health system
→ scenario → interventions → changeHS
<changeHS
[ name=string ]
>
IN THIS ORDER:
| ( <timedDeployment ... /> )*
</changeHS>
Documentation (element)
Changes to the health system
Attributes
Name of intervention
name=string
Name of intervention
timedDeployment
→ scenario → interventions → changeHS → timedDeployment
<timedDeployment
time=int
>
IN THIS ORDER:
| EXACTLY ONE OF:
| | <EventScheduler ... />
| | <ImmediateOutcomes ... />
| <CFR ... />
| <pSequelaeInpatient ... />
</timedDeployment>
Documentation (type)
A complete replacement health system. Replaces all previous properties. (Health system can be replaced multiple times if necessary.)
Documentation (base type)
Description of case management system, used to specify the initial model or a replacement (an intervention). Encompasses case management data and some other data required to derive case outcomes.
Contains a sub-element describing the particular health-system in use. Health system data is here defined as data used to decide on a treatment strategy, given a case requiring treatment.
Attributes
Time
time=int
Units: time-steps Min: 0
Time-step at which this replacement occurs, starting from 0, the first intervention-period time-step.
EventScheduler
→ scenario → healthSystem → EventScheduler
<EventScheduler>
IN THIS ORDER:
| <uncomplicated ... />
| <complicated ... />
| <ClinicalOutcomes ... />
| [ <NonMalariaFevers ... /> ]
</EventScheduler>
uncomplicated
→ scenario → healthSystem → EventScheduler → uncomplicated
<uncomplicated>
IN THIS ORDER:
| <decisions ... />
| <treatments ... />
</uncomplicated>
Documentation (type)
A set of decisions and a set of treatments.
decisions
→ scenario → interventions → MDA → description → decisions
<decisions>
IN THIS ORDER:
| ( <decision ... /> )*
</decisions>
Documentation (type)
Description of decisions for a case management tree. A generic view of this tree would be that each decision is deterministic, or based on probabilities which may depend on other decisions. Probabilistic decisions are described here.
In general, each decision has a name, a defined set of outcome values, and a set of dependent decisions mentioned by name. The following decisions, with their associated outcomes, are provided by the code (and may not be included here):
- case (uncomplicated only): Returns "UC1" if there is no recent history of a malarial case, or "UC2" if there is.
- result: Dependent on decision "test", this performs a parasite density test. Output is one of "none" (no test performed), "positive", "negative".
The following decisions must be described here:
- test (uncomplicated only): Outputs must be "none", "microscopy" or "RDT" to describe which test the "result" decision uses.
- treatment: Describes which treatment to use. Values aren't restricted but must match up with a treatment described in the corresponding "treatments" section.
- hospitalisation (complicated only): none, immediate or delayed.
decision
→ scenario → interventions → MDA → description → decisions → decision
<decision
name=string
depends=string
values=string
>
string
</decision>
Documentation (type)
A decision describes rules for choosing between a set of values.
Lexically, it can contain symbols matching "[_.a-zA-Z0-9]+", round brackets: (), braces: {} and colons. Whitespace is ignored except to separate symbols.
Syntactically, it must match one TREE, where SYMBOL is a symbol described above. (Here, "x|y" means x or y, "x+" means x occurs once or more, brackets show grouping.) TREE := BRANCH_SET | OUTCOME BRANCH_SET := BRANCH+ BRANCH := DECISION '(' VALUE ')' ( ':' OUTCOME | '{' TREE '}' ) OUTCOME, DECISION, VALUE := SYMBOL
For each BRANCH_SET each BRANCH must result in the same DECISION. The DECISION must be one of the dependencies mentioned in "depends". This may be:
- another decision, in which case the VALUE immediately following in brackets must correspond to one of its output values. The BRANCH_SET immediately containing this BRANCH must represent each output value of the same decision exactly once, and no parent BRANCH_SET may be for the same DECISION.
- "p": this entry indicates a probabilistic decision. Where the value is a probability, the sum of all values for the BRANCH_SET must be 1 and the decision must be associated directly with OUTCOMEs (not sub-TREEs).
- "age": this entry indicates an age-test. The VALUE must have the form "a-b", indicating that this branch will be taken for individuals aged such that a <= age < b, where a,b are non-negative real numbers or the special value "inf", and a <= b. All VALUEs in the BRANCH_SET must cover all possible (non-negative real) ages, with no overlap (hence, smallest a must be 0 and greatest b must be inf).
Semantically, each OUTCOME must be one of the values associated with this decision.
Attributes
Name of decision
name=string
The name of this decision. The name must match the regular expression "[_a-zA-Z0-9]+"; that is it can only contain letters, digits and _ characters (no spaces, punctuation, etc.).
Preceding decisions
depends=string
A comma-separated list of decisions that must have already been evaluated before the current decision can be evaluated. May be empty. Each decision must be hard-coded or described here. Can include the special decisions "p" and "age", though "age" cannot be combined with any other dependency.
Outcome values
values=string
A comma-separated list of outcome values this decision may have. The name of each value must be of the same form as decision names (i.e. only contain letters, digits and _ characters).
treatments
→ scenario → interventions → MDA → description → treatments
<treatments>
IN THIS ORDER:
| ( <treatment ... /> )*
</treatments>
Documentation (type)
A list of drug treatment tables. Each should have a name corresponding to one of the "drug" decision's values.
treatment
→ scenario → interventions → MDA → description → treatments → treatment
<treatment
name=string
>
IN THIS ORDER:
| <schedule ... />
| ( <modifier ... /> )*
</treatment>
Documentation (type)
A description of a base treatment schedule that includes modifiers to handle delays, quality variations, etc.
Attributes
Treatment administered
name=string
Units: string
Name corresponding to one of the drug decision's output values.
schedule
→ scenario → interventions → MDA → description → treatments → treatment → schedule
<schedule>
IN THIS ORDER:
| ( <medicate ... /> )*
</schedule>
Documentation (type)
The base (unmodified)schedule of drugs administered for this treatment.
medicate
→ scenario → interventions → MDA → description → treatments → treatment → schedule → medicate
<medicate
drug=string
mg=double
hour=double
[ duration=double ]
/>
Attributes
drug
drug=string
Abbreviated name of drug compound
drug dose
mg=double
Units: mg
Quantity of drug compound
Time of administration
hour=double
Units: Hours Min: 0
Number of hours past start of timestep this drug dose is administered at (first dose should be at hour 0).
Duration of administration
duration=double
Units: Hours Min: 0
If this attribute is given, use IV administration instead of orally. Specifies the number of hours during which the dose is administered.
modifier
→ scenario → interventions → MDA → description → treatments → treatment → modifier
<modifier
decision=string
>
EXACTLY ONE OF:
| ( <multiplyQty ... /> )*
| ( <delay ... /> )*
| ( <selectTimeRange ... /> )*
</modifier>
Documentation (type)
Units: Choice of elements
A modifier for this treatment, according to the outputs of a decision.
The "decision" attribute must be the name of a known decision. Then, there must be a set of multipyQty, delay or selectTimeRange sub-elements, each of which corresponds to one value output of the decision.
Attributes
Decision
decision=string
Units: string
Specifies the decision that this modifier acts on.
Active ingredient multipliers
→ scenario → interventions → MDA → description → treatments → treatment → modifier → multiplyQty
<multiplyQty
value=string
effect=string
[ affectsCost=boolean ]
/>
Documentation (element)
Units: Comma-separated list of values
Multiplies the quantity of active ingredients of drugs administered.
The "drugs" attribute is a comma-separated list of all active ingredients administered in the base schedule (each must be listed once) and the content of this element is a comma- separated list of multipliers for each active ingredient, listed in the same order as in the "drugs" attribute. For example, with drugs="A,B" and content="0.5,1" the quantity of drug A is halved while that of B is unchanged.
Attributes
Value of decision
value=string
Specifies a value of the decision to act on.
List of drugs affected
effect=string
Comma-separated list of the effect the modifier has on each drug, in the form DRUG1(EFFECT1),DRUG2(EFFECT2), etc.
Affects cost?
affectsCost=boolean
Units: None
Does this affect the cost? If false, the effective drug usage (w.r.t. cost)is unaffected by this modifier; if true it is. Defaults to true (if omitted). Is meaningless for delays.
Active ingredient delays
→ scenario → interventions → MDA → description → treatments → treatment → modifier → delay
<delay
value=string
effect=string
[ affectsCost=boolean ]
/>
Documentation (element)
Units: Comma-separated list of values
Delays administration of drugs listed in the base schedule by so many hours.
The "drugs" attribute is a comma-separated list of all active ingredients administered in the base schedule (each must be listed once) and the content of this element is a comma- separated list of delays (in hours) for each active ingredient, listed in the same order as in the "drugs" attribute. E.g. with drugs="A,B" and content "0,6", drug A is administered as in the base schedule while drug B is administered 6 hours later than specified.
Attributes
Value of decision
value=string
Specifies a value of the decision to act on.
List of drugs affected
effect=string
Comma-separated list of the effect the modifier has on each drug, in the form DRUG1(EFFECT1),DRUG2(EFFECT2), etc.
Affects cost?
affectsCost=boolean
Units: None
Does this affect the cost? If false, the effective drug usage (w.r.t. cost)is unaffected by this modifier; if true it is. Defaults to true (if omitted). Is meaningless for delays.
Active ingredient time-ranges
→ scenario → interventions → MDA → description → treatments → treatment → modifier → selectTimeRange
<selectTimeRange
value=string
effect=string
[ affectsCost=boolean ]
/>
Documentation (element)
Selects which drug doses to administer according to time of administration (before times are modified by delays). Half-open interval: [x,y)
The "drugs" attribute is a comma-separated list of all active ingredients administered in the base schedule (each must be listed once) and the content of this element is a comma- separated list of time-ranges (in hours) for each active ingredient, listed in the same order as in the "drugs" attribute. The time-ranges should be of the form x-y and are interpreted as the half-open interval [x,y); that is a drug listed with time t will only be administered if x <= t < y.
Attributes
Value of decision
value=string
Specifies a value of the decision to act on.
List of drugs affected
effect=string
Comma-separated list of the effect the modifier has on each drug, in the form DRUG1(EFFECT1),DRUG2(EFFECT2), etc.
Affects cost?
affectsCost=boolean
Units: None
Does this affect the cost? If false, the effective drug usage (w.r.t. cost)is unaffected by this modifier; if true it is. Defaults to true (if omitted). Is meaningless for delays.
complicated
→ scenario → healthSystem → EventScheduler → complicated
<complicated>
IN THIS ORDER:
| <decisions ... />
| <treatments ... />
</complicated>
Documentation (type)
A set of decisions and a set of treatments.
ClinicalOutcomes
→ scenario → healthSystem → EventScheduler → ClinicalOutcomes
<ClinicalOutcomes>
IN THIS ORDER:
| <maxUCSeekingMemory ... />
| <uncomplicatedCaseDuration ... />
| <complicatedCaseDuration ... />
| <complicatedRiskDuration ... />
| ( <dailyPrImmUCTS ... /> )+
</ClinicalOutcomes>
- maxUCSeekingMemory
- uncomplicatedCaseDuration
- complicatedCaseDuration
- complicatedRiskDuration
- dailyPrImmUCTS
Documentation (type)
Description of base parameters of the clinical model.
Max UC treatment-seeking memory
→ scenario → healthSystem → EventScheduler → ClinicalOutcomes → maxUCSeekingMemory
<maxUCSeekingMemory>
int
</maxUCSeekingMemory>
Documentation (element)
Units: Days Min: 0 Max: unbounded
Maximum number of timesteps (including first day of case) that an individual with an uncomplicated case of malaria will remember he/she was sick before resetting.
Uncomplicated case duration
→ scenario → healthSystem → EventScheduler → ClinicalOutcomes → uncomplicatedCaseDuration
<uncomplicatedCaseDuration>
int
</uncomplicatedCaseDuration>
Documentation (element)
Units: Days Min: 1 Max: unbounded
Fixed length of an uncomplicated case of malarial or non-malarial sickness (from treatment seeking until return to life-as-usual). Usually 3.
Complicated case duration
→ scenario → healthSystem → EventScheduler → ClinicalOutcomes → complicatedCaseDuration
<complicatedCaseDuration>
int
</complicatedCaseDuration>
Documentation (element)
Units: Days Min: 1 Max: unbounded
Fixed length of a complicated or severe case of malaria (from treatment seeking until return to life-as-usual).
Complicated risk duration
→ scenario → healthSystem → EventScheduler → ClinicalOutcomes → complicatedRiskDuration
<complicatedRiskDuration>
int
</complicatedRiskDuration>
Documentation (element)
Units: Days Min: 1 Max: unbounded
Number of days for which humans are at risk of death during a severe or complicated case of malaria. Cannot be greater than the duration of a complicated case or less than 1 day.
Daily probability of immediate treatment seeking for uncomplicated cases
→ scenario → healthSystem → EventScheduler → ClinicalOutcomes → dailyPrImmUCTS
<dailyPrImmUCTS>
double
</dailyPrImmUCTS>
Documentation (element)
Units: Dimensionless Min: 0.0 Max: 1.0
It is sometimes desirable to model delays to treatment-seeking in uncomplicated cases. While treatment of drugs can be delayed within case management trees to provide a similar effect, this doesn't delay any of the decisions, including diagnostics using the current parasite density.
Instead a list of dailyPrImmUCTS elements can be used, describing successive daily probabilities of treatment (sum must be 1). For example, with a list of two elements with values 0.8 and 0.2, for 80% of UC cases the decision tree is evaluated immediately, and for 20% of cases evaluation is delayed by one day.
For no delay, use one element with a value of 1.
NonMalariaFevers
→ scenario → healthSystem → EventScheduler → NonMalariaFevers
<NonMalariaFevers>
IN THIS ORDER:
| <prTreatment ... />
| <effectNegativeTest ... />
| <effectPositiveTest ... />
| <effectNeed ... />
| <effectInformal ... />
| <CFR ... />
| <TreatmentEfficacy ... />
</NonMalariaFevers>
Documentation (type)
Description of non-malaria fever health-system modelling (treatment, outcomes and costing). Incidence is described by the model->clinical->NonMalariaFevers element. Non-malaria fevers are only modelled if the NON_MALARIA_FEVERS option is used.
As further explanation of the parameters below, we first take: β₀ = logit(P₀) - β₃·P(need), and then calculate the probability of antibiotic administration, P(AB), dependent on treatment seeking location. No seeking: P(AB) = 0 Informal sector: logit(P(AB)) = β₀ + β₄ Health facility: logit(P(AB)) = β₀ + β₁·I(neg) + β₂·I(pos) + β₃·I(need) (where I(X) is 1 when event X is true and 0 otherwise, logit(p)=log(p/(1-p)), event "need" is the event that death may occur without treatment, events "neg" and "pos" are the events that a malaria parasite diagnositic was used and indicated no parasites and parasites respectively).
P(treatment|no diagnostic)
→ scenario → healthSystem → EventScheduler → NonMalariaFevers → prTreatment
<prTreatment>
double
</prTreatment>
Documentation (element)
Units: Dimensionless Min: 0.0 Max: 1.0
Probability of a non-malaria fever being treated with an antibiotic given that no malaria diagnostic was used but independent of need. Symbol: P₀.
Effect of a negative test
→ scenario → healthSystem → EventScheduler → NonMalariaFevers → effectNegativeTest
<effectNegativeTest>
double
</effectNegativeTest>
Documentation (element)
The effect of a negative malaria diagnostic on the odds ratio of receiving antibiotics. Symbol: exp(β₁).
Effect of a positive test
→ scenario → healthSystem → EventScheduler → NonMalariaFevers → effectPositiveTest
<effectPositiveTest>
double
</effectPositiveTest>
Documentation (element)
The effect of a positive malaria diagnostic on the odds ratio of receiving antibiotics. Symbol: exp(β₂).
Effect of need
→ scenario → healthSystem → EventScheduler → NonMalariaFevers → effectNeed
<effectNeed>
double
</effectNeed>
Documentation (element)
The effect of needing antibiotic treatment on the odds ratio of receiving antibiotics. Symbol: exp(β₃).
Effect of informal provider
→ scenario → healthSystem → EventScheduler → NonMalariaFevers → effectInformal
<effectInformal>
double
</effectInformal>
Documentation (element)
The effect of seeking treatment from an informal provider (i.e. a provider untrained in NMF diagnosis) on the odds ratio of receiving antibiotics. Symbol: exp(β₄)
Case fatality rate
→ scenario → healthSystem → EventScheduler → NonMalariaFevers → CFR
<CFR
[ interpolation=("none" or "linear") ]
>
IN THIS ORDER:
| ( <group ... /> )+
</CFR>
Documentation (element)
Units: Dimensionless Min: 0.0 Max: 1.0
Base case fatality rate for non-malaria fevers (probability of death from a fever requiring antibiotic treatment given that no antibiotic treatment is received, per age-group).
Attributes
interpolation
interpolation=("none" or "linear")
Interpolation algorithm. Normally it is desirable for age-based values to be continuous w.r.t. age. By default linear interpolation is used. With all algorithms except "none", the age groups are converted to a set of points centred within each age range. Extra points are added at each end (zero and infinity) to keep value constant at both ends of the function. A zero-length age group may be used as a kind of barrier to adjust the distribution; e.g. with age group boundaries at 15, 20 and 25 years, a (linear) spline would be drawn between ages 17.5 and 22.5, whereas with boundaries at 15, 20 and 20 years, a spline would be drawn between ages 17.5 and 20 years (may be desired if individuals are assumed to reach adult size at 20). Algorithms:
- none: input values are used directly
- linear: straight lines (on an age vs. value graph) are used to interpolate data points.
age group
→ scenario → healthSystem → CFR → group
<group
value=double
lowerbound=double
/>
Documentation (element)
A series of values according to age groups, each specified with a lower-bound and a value. The first lower-bound specified must be zero; a final upper-bound of infinity is added to complete the last age group. At least one age group is required. Normally these are interpolated by a continuous function (see interpolation attribute).
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Lower bound
lowerbound=double
Units: Years Min: 0 Max: 100
Lower bound of age group
Treatment efficacy
→ scenario → healthSystem → EventScheduler → NonMalariaFevers → TreatmentEfficacy
<TreatmentEfficacy>
double
</TreatmentEfficacy>
Documentation (element)
Units: Dimensionless Min: 0.0 Max: 1.0
Probability that treatment would prevent a death (i.e. CFR is multiplied by one minus this when treatment occurs).
ImmediateOutcomes
→ scenario → healthSystem → ImmediateOutcomes
<ImmediateOutcomes
name=string
>
IN THIS ORDER:
| <drugRegimen ... />
| <initialACR ... />
| <compliance ... />
| <nonCompliersEffective ... />
| <pSeekOfficialCareUncomplicated1 ... />
| <pSelfTreatUncomplicated ... />
| <pSeekOfficialCareUncomplicated2 ... />
| <pSeekOfficialCareSevere ... />
</ImmediateOutcomes>
- drugRegimen
- initialACR
- compliance
- nonCompliersEffective
- pSeekOfficialCareUncomplicated1
- pSelfTreatUncomplicated
- pSeekOfficialCareUncomplicated2
- pSeekOfficialCareSevere
Documentation (type)
Description of "immediate outcomes" health system: Tediosi et al case management model (Case management as described in AJTMH 75 (suppl 2) pp90-103).
Attributes
Case Management model
name=string
Name of health system
Description of drug regimen
→ scenario → healthSystem → ImmediateOutcomes → drugRegimen
<drugRegimen
firstLine=string
secondLine=string
inpatient=string
/>
Documentation (element)
Description of drug regimen.
Attributes
First line drug
firstLine=string
Units: Drug code
Code for first line drug
Second line drug
secondLine=string
Units: Drug code
Code for second line drug
Drug use for treating inpatients
inpatient=string
Units: Drug code
Code for drug used for treating inpatients
Initial cure rate
→ scenario → healthSystem → ImmediateOutcomes → initialACR
<initialACR>
IN THIS ORDER:
| [ <CQ ... /> ]
| [ <SP ... /> ]
| [ <AQ ... /> ]
| [ <SPAQ ... /> ]
| [ <ACT ... /> ]
| [ <QN ... /> ]
| <selfTreatment ... />
</initialACR>
Documentation (element)
Units: Dimensionless Min: 0.0 Max: 1.0
Initial cure rate
Chloroquine
→ scenario → healthSystem → ImmediateOutcomes → initialACR → CQ
<CQ
value=double
/>
Documentation (element)
Chloroquine
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Sulphadoxine-pyrimethamine
→ scenario → healthSystem → ImmediateOutcomes → initialACR → SP
<SP
value=double
/>
Documentation (element)
Sulphadoxine-pyrimethamine
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Amodiaquine
→ scenario → healthSystem → ImmediateOutcomes → initialACR → AQ
<AQ
value=double
/>
Documentation (element)
Amodiaquine
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Sulphadoxine-pyrimethamine/Amodiaquine
→ scenario → healthSystem → ImmediateOutcomes → initialACR → SPAQ
<SPAQ
value=double
/>
Documentation (element)
Sulphadoxine-pyrimethamine/Amodiaquine
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Artemisinine combination therapy
→ scenario → healthSystem → ImmediateOutcomes → initialACR → ACT
<ACT
value=double
/>
Documentation (element)
Artemisinine combination therapy
Attributes
Input parameter value
value=double
A double-precision floating-point value.
QN
→ scenario → healthSystem → ImmediateOutcomes → initialACR → QN
<QN
value=double
/>
Documentation (element)
Quinine
Attributes
Input parameter value
value=double
A double-precision floating-point value.
selfTreatment
→ scenario → healthSystem → ImmediateOutcomes → initialACR → selfTreatment
<selfTreatment
value=double
/>
Documentation (element)
Units: Dimensionless Min: 0 Max: 1name:P(self-treat)
Probability of self-treatment
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Adherence to treatment
→ scenario → healthSystem → ImmediateOutcomes → compliance
<compliance>
IN THIS ORDER:
| [ <CQ ... /> ]
| [ <SP ... /> ]
| [ <AQ ... /> ]
| [ <SPAQ ... /> ]
| [ <ACT ... /> ]
| [ <QN ... /> ]
| <selfTreatment ... />
</compliance>
Documentation (element)
Units: Dimensionless Min: 0.0 Max: 1.0
Adherence to treatment
Effectiveness of treatment in non-adherent patients
→ scenario → healthSystem → ImmediateOutcomes → nonCompliersEffective
<nonCompliersEffective>
IN THIS ORDER:
| [ <CQ ... /> ]
| [ <SP ... /> ]
| [ <AQ ... /> ]
| [ <SPAQ ... /> ]
| [ <ACT ... /> ]
| [ <QN ... /> ]
| <selfTreatment ... />
</nonCompliersEffective>
Documentation (element)
Units: Dimensionless Min: 0.0 Max: 1.0
Effectiveness of treatment for non-compliant patients
Probability that a patient with uncomplicated disease seeks official care immediately.
→ scenario → healthSystem → ImmediateOutcomes → pSeekOfficialCareUncomplicated1
<pSeekOfficialCareUncomplicated1
value=double
/>
Documentation (element)
Units: Dimensionless Min: 0.0 Max: 1.0
Probability that a patient with newly incident uncomplicated disease seeks official care
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Probability that a patient with uncomplicated disease will self-treat.
→ scenario → healthSystem → ImmediateOutcomes → pSelfTreatUncomplicated
<pSelfTreatUncomplicated
value=double
/>
Documentation (element)
Units: Dimensionless Min: 0.0 Max: 1.0
Probability that a patient with uncomplicated disease will self-treat
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Probability that a recurring patient seeks official care
→ scenario → healthSystem → ImmediateOutcomes → pSeekOfficialCareUncomplicated2
<pSeekOfficialCareUncomplicated2
value=double
/>
Documentation (element)
Units: Dimensionless Min: 0.0 Max: 1.0
Probability that a patient with recurrence of uncomplicated disease seeks official care
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Probability that a patient with severe disease obtains appropriate care
→ scenario → healthSystem → ImmediateOutcomes → pSeekOfficialCareSevere
<pSeekOfficialCareSevere
value=double
/>
Documentation (element)
Units: Dimensionless Min: 0.0 Max: 1.0
Probability that a patient with severe disease obtains appropriate care
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Case fatality rate for inpatients
→ scenario → healthSystem → CFR
<CFR
[ interpolation=("none" or "linear") ]
>
IN THIS ORDER:
| ( <group ... /> )+
</CFR>
Documentation (element)
Case fatality rate (probability of an inpatient fatality from a bout of severe malaria, per age-group).
Attributes
interpolation
interpolation=("none" or "linear")
Interpolation algorithm. Normally it is desirable for age-based values to be continuous w.r.t. age. By default linear interpolation is used. With all algorithms except "none", the age groups are converted to a set of points centred within each age range. Extra points are added at each end (zero and infinity) to keep value constant at both ends of the function. A zero-length age group may be used as a kind of barrier to adjust the distribution; e.g. with age group boundaries at 15, 20 and 25 years, a (linear) spline would be drawn between ages 17.5 and 22.5, whereas with boundaries at 15, 20 and 20 years, a spline would be drawn between ages 17.5 and 20 years (may be desired if individuals are assumed to reach adult size at 20). Algorithms:
- none: input values are used directly
- linear: straight lines (on an age vs. value graph) are used to interpolate data points.
Probabilities of sequelae in inpatients
→ scenario → healthSystem → pSequelaeInpatient
<pSequelaeInpatient
[ interpolation=("none" or "linear") ]
>
IN THIS ORDER:
| ( <group ... /> )+
</pSequelaeInpatient>
Documentation (element)
Units: Dimensionless
List of age-specific probabilities of sequelae in inpatients, during a severe bout of malaria.
Attributes
interpolation
interpolation=("none" or "linear")
Interpolation algorithm. Normally it is desirable for age-based values to be continuous w.r.t. age. By default linear interpolation is used. With all algorithms except "none", the age groups are converted to a set of points centred within each age range. Extra points are added at each end (zero and infinity) to keep value constant at both ends of the function. A zero-length age group may be used as a kind of barrier to adjust the distribution; e.g. with age group boundaries at 15, 20 and 25 years, a (linear) spline would be drawn between ages 17.5 and 22.5, whereas with boundaries at 15, 20 and 20 years, a spline would be drawn between ages 17.5 and 20 years (may be desired if individuals are assumed to reach adult size at 20). Algorithms:
- none: input values are used directly
- linear: straight lines (on an age vs. value graph) are used to interpolate data points.
Change transmission levels
→ scenario → interventions → changeEIR
<changeEIR
[ name=string ]
>
IN THIS ORDER:
| ( <timedDeployment ... /> )*
</changeEIR>
Documentation (element)
New description of transmission level for models not supporting vector control interventions. Use of this overrides previous transmission levels such that human infectiousness no longer has any feedback effect on transmission. Supplied EIR data must last until end of simulation.
Attributes
Name of intervention
name=string
Name of intervention
timedDeployment
→ scenario → interventions → changeEIR → timedDeployment
<timedDeployment
eipDuration=int
time=int
>
IN THIS ORDER:
| ( <EIRDaily ... /> )+
</timedDeployment>
Documentation (type)
Replacement transmission levels. Disables feedback of human infectiousness to mosquitoes on further mosquito to human transmission. Must last until end of simulation.
Attributes
Duration of sporogony
eipDuration=int
Units: Days
The duration of sporogony in days
Time
time=int
Units: time-steps Min: 0
Time-step at which this replacement occurs, starting from 0, the first intervention-period time-step.
EIRDaily
→ scenario → entomology → nonVector → EIRDaily
<EIRDaily
[ origin=string ]
>
double
</EIRDaily>
Documentation (type)
Units: Infectious bites per adult per day
In the non-vector model, EIR is input as a sequence of daily values. There must be at least one years' worth of entries (365), and if there are more, values are wrapped and averaged (i.e. value for first day of year is taken as the mean of values for days 0, 365+0, 2*365+0, etc.).
Attributes
Time origin of EIR sequence
origin=string
Mass drug administration
→ scenario → interventions → MDA
<MDA
[ name=string ]
>
IN THIS ORDER:
| EXACTLY ONE OF:
| | [ <diagnostic ... /> ]
| | [ <description ... /> ]
| [ <timed ... /> ]
</MDA>
Documentation (element)
Description and deployment of MDA interventions (can also be configured as screen and treat or intermittent preventative treatment with 1-day time-step models).
Currently neither diagnostic nor description need be provided for 5-day timestep model; this may change in the future.
Attributes
Name of intervention
name=string
Name of intervention
Diagnostic (5-day)
→ scenario → interventions → MDA → diagnostic
<diagnostic>
IN THIS ORDER:
| EXACTLY ONE OF:
| | <deterministic ... />
| | <stochastic ... />
</diagnostic>
Documentation (element)
Description of diagnostic used by mass treatment option of five-day case management model — may be used to model MDA without diagnostic or MSAT.
Drugs are administered whenever the test outcome is positive.
Deterministic detection
→ scenario → interventions → MDA → diagnostic → deterministic
<deterministic
minDensity=double
/>
Documentation (element)
Specify that an artificial deterministic test is used: drugs are administered if parasite density is at least the minimum given.
Attributes
Minimum detectible density
minDensity=double
Units: parasites/microlitre Min: 0
The minimum density at which parasites can be detected. If 0, the test outcome is always positive.
Non-deterministic detection
→ scenario → interventions → MDA → diagnostic → stochastic
<stochastic
dens_50=double
specificity=double
/>
Documentation (element)
An improved model of detection which is non-deterministic, including false positive results as well as false negatives.
The probability of a positive outcome is modelled as 1 + s×(x/(x+d) - 1) where x is the parasite density, d is the density at which the test outcome has a 50% chance of being positive, and s is the probability of a positive outcome given no parasites (the specificity).
Some parameterisations:
Microscopy sensitivity/specificity data in Africa; Source: expert opinion — Allan Schapira dens_50 = 20.0 specificity = .75
RDT sensitivity/specificity for Plasmodium falciparum in Africa Source: Murray et al (Clinical Microbiological Reviews, Jan. 2008) dens_50 = 50.0; specificity = .942;
Attributes
Density 50
dens_50=double
Units: parasites/microlitre Min: 0
The density at which the test outcome has a 50% chance of being positive.
Specificity
specificity=double
Units: Dimensionless Min: 0 Max: 1
The probability of a positive test outcome in the absense of parasites.
Diagnostic and treatment (1-day)
→ scenario → interventions → MDA → description
<description
[ name=string ]
>
IN THIS ORDER:
| <decisions ... />
| <treatments ... />
</description>
Documentation (element)
Description of treatment type used by mass treatment option of one-day case management model. Can be used to describe one-size-fits-all mass drug dosing, age-based mass drug dosing and screen-and-treat. Number of treatments given can be reported by the nMDAs option.
Documentation (base type)
A set of decisions and a set of treatments.
Attributes
Intervention
name=string
Name of set of interventions
Mass administration
→ scenario → interventions → MDA → timed
<timed>
IN THIS ORDER:
| ( <deploy ... /> )+
</timed>
Documentation (element)
List of timed deployments of mass-drug-administration.
deploy
→ scenario → interventions → MDA → timed → deploy
<deploy
time=int
[ maxAge=double ] DEFAULT VALUE 100
[ minAge=double ] DEFAULT VALUE 0
coverage=double
[ cohort=boolean ] DEFAULT VALUE false
/>
Attributes
Time
time=int
Units: time-steps Min: 0
Time-step at which this intervention occurs, starting from 0, the first intervention-period time-step.
Maximum age of eligible individuals
maxAge=double
Units: Years Min: 0 Max: 100
Default value: 100
Maximum age of eligible individuals (defaults to 100)
Minimum age of eligible individuals
minAge=double
Units: Years Min: 0 Max: 100
Default value: 0
Minimum age of eligible individuals (defaults to 0)
Coverage
coverage=double
Units: dimensionless Min: 0 Max: 1
Coverage of intervention
Cohort only
cohort=boolean
Units: dimensionless Min: 0 Max: 1
Default value: false
Restrict distribution to chosen cohort.
Vaccines
→ scenario → interventions → vaccine
<vaccine
[ name=string ]
>
IN THIS ORDER:
| ( <description ... /> ){0,3}
| [ <continuous ... /> ]
| [ <timed ... /> ]
</vaccine>
Documentation (element)
Description and deployment of vaccine interventions.
Attributes
Name of intervention
name=string
Name of intervention
description
→ scenario → interventions → vaccine → description
<description
vaccineType=("PEV" or "BSV" or "TBV")
[ name=string ]
>
IN THIS ORDER:
| <decay ... />
| <efficacyB ... />
| ( <initialEfficacy ... /> )+
</description>
Documentation (type)
List of vaccine descriptions
Attributes
Type of vaccine
vaccineType=("PEV" or "BSV" or "TBV")
Units: Code
Type of vaccine
Vaccine
name=string
Name of vaccine
Decay of effect
→ scenario → interventions → vaccine → description → decay
<decay
function=("constant" or "step" or "linear" or "exponential" or "weibull" or "hill" or "smooth-compact")
L=double
[ k=double ] DEFAULT VALUE 1.0
[ mu=double ] DEFAULT VALUE 0
[ sigma=double ] DEFAULT VALUE 0
/>
Documentation (element)
Specification of decay of efficacy. Documentation: see DecayFunction type or https://github.com/SwissTPH/openmalaria/wiki/ModelDecayFunctions
Documentation (type)
Specification of decay or survival of a parameter.
Attributes
function
function=("constant" or "step" or "linear" or "exponential" or "weibull" or "hill" or "smooth-compact")
Units: None Min: 0 Max: 1
Determines which decay function to use. Available decay functions, for age t in years: constant: 1 step: 1 for t less than L, otherwise 0 linear: 1 - t/L for t less than L, otherwise 0 exponential: exp( - t/L * log(2) ) weibull: exp( -(t/L)^k * log(2) ) hill: 1 / (1 + (t/L)^k) smooth-compact: exp( k - k / (1 - (t/L)^2) ) for t less than L, otherwise 0
L
L=double
Units: Years Min: 0
Scale parameter of distribution. With the smooth-compact (smooth function with compact support), step and linear functions, this is the age at which the parameter has decayed to 0; with the other three functions, this is the age at which the parameter has decayed to half its original value. Not used for constant decay (though must be specified anyway).
k
k=double
Units: none Min: 0
Default value: 1.0
Shape parameter of distribution. If not specified, default value of 1 is used. Meaning depends on function; not used in some cases.
μ (mu)
mu=double
Min: 0
Default value: 0
If sigma is non-zero, heterogeneity of decay is introduced via a random variable sampled from the log-normal distribution with mu and sigma as specified. Both mu and sigma default to zero when not specified. The decay rate is multiplied by this variable (effectively, the half-life is divided by it). Note that with m=0, the median of the variable and the median value of L is unchanged, and thus the time at which the median decay amongst the population of decaying objects reaches half (assuming exponential, Weibull or Hill decay) is L. With m=-½σ² (negative half sigma squared) the mean of the variable will be 1 and mean of the half-life L, but the time at which mean decay of the population has reached half may not be L.
σ (sigma)
sigma=double
Min: 0
Default value: 0
If sigma is non-zero, heterogeneity of decay is introduced via a random variable sampled from the log-normal distribution with mu and sigma as specified. Both mu and sigma default to zero when not specified. The decay rate is multiplied by this variable (effectively, the half-life is divided by it).
Variance parameter for vaccine efficacy
→ scenario → interventions → vaccine → description → efficacyB
<efficacyB
value=double
/>
Documentation (element)
Units: Positive real Min: 0.001 Max: 1.00E+06
Measure of variation in vaccine efficacy: efficacy is sampled from a beta distribution with efficacyB its beta parameter and its alpha parameter fixed such that the mean is that given by initialEfficacy.
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Initial mean efficacy
→ scenario → interventions → vaccine → description → initialEfficacy
<initialEfficacy
value=double
/>
Documentation (element)
Units: dimensionless Min: 0 Max: 1
Mean efficacy values before decay (see efficacyB and decay parameter descriptions for sampling and decay). The i-th value in this list is used for the efficacy of the vaccine after the i-th dose. Where more doses are given than there are values in this list, the last value is repeated.
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Age-based vaccination
→ scenario → interventions → vaccine → continuous
<continuous>
IN THIS ORDER:
| ( <deploy ... /> )+
</continuous>
Documentation (element)
List of ages at which vaccination takes place (through EPI, post-natal and school-based programmes, etc.).
deploy
→ scenario → interventions → vaccine → continuous → deploy
<deploy
targetAgeYrs=double
coverage=double
[ cohort=boolean ] DEFAULT VALUE false
[ begin=int ] DEFAULT VALUE 0
[ end=int ] DEFAULT VALUE 2147483647
/>
Attributes
Target age
targetAgeYrs=double
Units: Years Min: 0 Max: 100
Target age of intervention
Proportion covered
coverage=double
Units: dimensionless Min: 0 Max: 1
Coverage of intervention
Cohort only
cohort=boolean
Units: dimensionless Min: 0 Max: 1
Default value: false
Restrict distribution to chosen cohort (default: false).
First timestep active
begin=int
Units: Timesteps Min: 0 Max: 2147483647
Default value: 0
First timestep (from 0 at the beginning of the intervention period) this item is active. Defaults to 0.
End timestep
end=int
Units: Timesteps Min: 0 Max: 2147483647
Default value: 2147483647
End of the period during which the intervention is active (to be exact, the first timestep of the intervention period at which the item becomes inactive). Defaults to 2147483647.
Mass vaccination
→ scenario → interventions → vaccine → timed
<timed>
IN THIS ORDER:
| ( <deploy ... /> )+
</timed>
Documentation (element)
List of timed mass vaccinations in the communitsy
deploy
→ scenario → interventions → vaccine → timed → deploy
<deploy
time=int
[ maxAge=double ] DEFAULT VALUE 100
[ minAge=double ] DEFAULT VALUE 0
coverage=double
[ cohort=boolean ] DEFAULT VALUE false
[ cumulativeWithMaxAge=double ]
/>
Attributes
Time
time=int
Units: time-steps Min: 0
Time-step at which this intervention occurs, starting from 0, the first intervention-period time-step.
Maximum age of eligible individuals
maxAge=double
Units: Years Min: 0 Max: 100
Default value: 100
Maximum age of eligible individuals (defaults to 100)
Minimum age of eligible individuals
minAge=double
Units: Years Min: 0 Max: 100
Default value: 0
Minimum age of eligible individuals (defaults to 0)
Coverage
coverage=double
Units: dimensionless Min: 0 Max: 1
Coverage of intervention
Cohort only
cohort=boolean
Units: dimensionless Min: 0 Max: 1
Default value: false
Restrict distribution to chosen cohort.
Cumulative deployment: maximum age
cumulativeWithMaxAge=double
Units: Years Min: 0
If present, activate cumulate deployment mode where intervention is only deployed to individuals not already considered protected in sufficient quantity to bring the total proportion of people covered up to level described by "coverage". Individuals are considered already protected by this intervention when the age of the last net/dose/etc. received is less than "maximum age" (this attribute) years old (i.e. when timeLastDeployment+maximumAge>currentTimeStep).
Intermittent preventative treatment
→ scenario → interventions → IPT
<IPT
[ name=string ]
>
IN THIS ORDER:
| <description ... />
| [ <continuous ... /> ]
| [ <timed ... /> ]
</IPT>
Documentation (element)
Description and deployment of IPT interventions.
Attributes
Name of intervention
name=string
Name of intervention
description
→ scenario → interventions → IPT → description
<description
iptiEffect=int
[ name=string ]
>
IN THIS ORDER:
| ( <infGenotype ... /> )+
</description>
Attributes
Description of ipti effect
iptiEffect=int
Description of ipti effect
IPT name
name=string
Name of IPT intervention
infGenotype
→ scenario → interventions → IPT → description → infGenotype
<infGenotype
name=string
freq=double
ACR=double
proph=int
tolPeriod=int
atten=double
/>
Attributes
Age specific intervention
name=string
Name of age specific intervention
Frequency
freq=double
Frequency of parasite genotype
ACR
ACR=double
Units: dimensionless Min: 0, max:1.0
Adequate clinical response (proportion)
Prophylactic period
proph=int
Units: time-step
Prophylactic period
Tolerance period
tolPeriod=int
Units: time-step
Tolerance period
Tolerance period
atten=double
Units: time-step
Tolerance period
Age-based IPT deployment
→ scenario → interventions → IPT → continuous
<continuous>
IN THIS ORDER:
| ( <deploy ... /> )+
</continuous>
Documentation (element)
List of ages at which IPTi/IPTc deployment takes place (through EPI, post-natal and school-based programmes, etc.).
Mass IPT administration
→ scenario → interventions → IPT → timed
<timed>
IN THIS ORDER:
| ( <deploy ... /> )+
</timed>
Documentation (element)
List of timed IPTi/IPTc distribution
Bed nets
→ scenario → interventions → ITN
<ITN
[ name=string ]
>
IN THIS ORDER:
| <description ... />
| [ <continuous ... /> ]
| [ <timed ... /> ]
</ITN>
Documentation (element)
Description and deployment of bed-net interventions (ITNs, LLINs).
Attributes
Name of intervention
name=string
Name of intervention
description
→ scenario → interventions → ITN → description
<description>
IN THIS ORDER:
| <usage ... />
| <holeRate ... />
| <ripRate ... />
| <ripFactor ... />
| <initialInsecticide ... />
| <insecticideDecay ... />
| <attritionOfNets ... />
| ( <anophelesParams ... /> )+
</description>
- usage
- holeRate
- ripRate
- ripFactor
- initialInsecticide
- insecticideDecay
- attritionOfNets
- anophelesParams
Proportion of time nets are used by humans
→ scenario → interventions → ITN → description → usage
<usage
value=double
/>
Documentation (element)
Units: dimensionless Min: 0 Max: 1
Usage of nets by humans, from 0 to 1.
At the moment this is constant across humans and deterministic: relative attractiveness and survival factors are base*(1-usagepropActing) + intervention_factorusage*propActing.
See also "propActing" (proportion of bits for which net acts).
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Rate at which holes are made
→ scenario → interventions → ITN → description → holeRate
<holeRate
mean=double
sigma=double
/>
Documentation (element)
Units: Holes per annum Min: 0
The rate at which new holes are made in nets.
nHoles(t) = nHoles(t-1) + X where X~Pois(R/T) where T is the number of time-steps per year. R is sampled from log-normal: R ~ log N( log(mean)-sigma²/2, sigma² ) and is covariant with ripRate and insecticideDecay. (To be exact, a single Gaussian sample is taken, adjusted for each sigma then exponentiated.)
Documentation (type)
Parameters of a log-normal distribution.
Variates are sampled as: X ~ log N( log(mean)-sigma²/2, sigma² ).
Attributes
mean
mean=double
Units: (same as base units)
The mean of the lognormal distribution.
sigma
sigma=double
Sigma parameter of the lognormal distribution; sigma squared is the variance of the log of samples.
Rate at which holes are enlarged
→ scenario → interventions → ITN → description → ripRate
<ripRate
mean=double
sigma=double
/>
Documentation (element)
Units: Rips per existing hole per annum Min: 0
Each existing hole has a probability of being ripped bigger according to a Poisson process with this rate as (only) parameter.
New rips occur in a net at rate X~Pois(h×R/T) where h is the number of existing holes and T the number of time-steps per year. R is sampled from log-normal: R ~ log N( log(mean)-sigma²/2, sigma² ) and is covariant with holeRate and insecticideDecay. (To be exact, a single Gaussian sample is taken, adjusted for the each and sigma then exponentiated.)
Documentation (type)
Parameters of a log-normal distribution.
Variates are sampled as: X ~ log N( log(mean)-sigma²/2, sigma² ).
Attributes
mean
mean=double
Units: (same as base units)
The mean of the lognormal distribution.
sigma
sigma=double
Sigma parameter of the lognormal distribution; sigma squared is the variance of the log of samples.
Rip factor
→ scenario → interventions → ITN → description → ripFactor
<ripFactor
value=double
/>
Documentation (element)
Units: none Min: 0
This factor expresses how important rips are in increasing the hole.
The hole index of a net is h + F×x where h and x are the total numbers of holes and rips respectively and F is the rip factor.
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Initial insecticide
→ scenario → interventions → ITN → description → initialInsecticide
<initialInsecticide
mu=double
sigma=double
/>
Documentation (element)
Units: mg/m² Min: 0
The insecticide concentration of new nets is Gaussian distributed with mean "mu" and a standard deviation "sigma". The standard deviation should be small relative to the mean to avoid negative initial concentration. Any negative values sampled are set to 0.
Documentation (type)
Parameters of a normal distribution.
Variates are sampled as: X ~ N( mu, sigma² ).
Attributes
mu
mu=double
Units: (same as base units)
The mean of the normal distribution.
sigma
sigma=double
Units: (same as base units)
The standard deviation of variates.
Decay of insecticide
→ scenario → interventions → ITN → description → insecticideDecay
<insecticideDecay
function=("constant" or "step" or "linear" or "exponential" or "weibull" or "hill" or "smooth-compact")
L=double
[ k=double ] DEFAULT VALUE 1.0
[ mu=double ] DEFAULT VALUE 0
[ sigma=double ] DEFAULT VALUE 0
/>
Documentation (element)
Units: none
Decay curve for insecticide content of nets. Documentation: see DecayFunction type or https://github.com/SwissTPH/openmalaria/wiki/ModelDecayFunctions
The distribution of decay rates over nets is covariant with the distribution of ripRate and holeRate over nets. This distribution is generated by taking one sample per net from a Gaussian distribution with mean 0 and standard deviation 1. For each variable, the sample is multiplied by the respective sigma and a constant added such that, once exponentiated, the mean of the variable over nets is 1. The variable is then exponentiated and multiplied by the required mean rate for the respective variable.
Documentation (type)
Specification of decay or survival of a parameter.
Attributes
function
function=("constant" or "step" or "linear" or "exponential" or "weibull" or "hill" or "smooth-compact")
Units: None Min: 0 Max: 1
Determines which decay function to use. Available decay functions, for age t in years: constant: 1 step: 1 for t less than L, otherwise 0 linear: 1 - t/L for t less than L, otherwise 0 exponential: exp( - t/L * log(2) ) weibull: exp( -(t/L)^k * log(2) ) hill: 1 / (1 + (t/L)^k) smooth-compact: exp( k - k / (1 - (t/L)^2) ) for t less than L, otherwise 0
L
L=double
Units: Years Min: 0
Scale parameter of distribution. With the smooth-compact (smooth function with compact support), step and linear functions, this is the age at which the parameter has decayed to 0; with the other three functions, this is the age at which the parameter has decayed to half its original value. Not used for constant decay (though must be specified anyway).
k
k=double
Units: none Min: 0
Default value: 1.0
Shape parameter of distribution. If not specified, default value of 1 is used. Meaning depends on function; not used in some cases.
μ (mu)
mu=double
Min: 0
Default value: 0
If sigma is non-zero, heterogeneity of decay is introduced via a random variable sampled from the log-normal distribution with mu and sigma as specified. Both mu and sigma default to zero when not specified. The decay rate is multiplied by this variable (effectively, the half-life is divided by it). Note that with m=0, the median of the variable and the median value of L is unchanged, and thus the time at which the median decay amongst the population of decaying objects reaches half (assuming exponential, Weibull or Hill decay) is L. With m=-½σ² (negative half sigma squared) the mean of the variable will be 1 and mean of the half-life L, but the time at which mean decay of the population has reached half may not be L.
σ (sigma)
sigma=double
Min: 0
Default value: 0
If sigma is non-zero, heterogeneity of decay is introduced via a random variable sampled from the log-normal distribution with mu and sigma as specified. Both mu and sigma default to zero when not specified. The decay rate is multiplied by this variable (effectively, the half-life is divided by it).
Attrition of nets
→ scenario → interventions → ITN → description → attritionOfNets
<attritionOfNets
function=("constant" or "step" or "linear" or "exponential" or "weibull" or "hill" or "smooth-compact")
L=double
[ k=double ] DEFAULT VALUE 1.0
[ mu=double ] DEFAULT VALUE 0
[ sigma=double ] DEFAULT VALUE 0
/>
Documentation (element)
Units: dimensionless
Specifies the rate at which nets are disposed of over time. Documentation: see DecayFunction type or https://github.com/SwissTPH/openmalaria/wiki/ModelDecayFunctions
In the current model, nets are disposed of randomly (no correlation with state of decay) such that the chance of each net surviving until age t is the value of this decay function at time t. Equivalently (where a large number of nets are distributed at the same time), the proportion of nets remaining in use should match this decay function over time.
Documentation (type)
Specification of decay or survival of a parameter.
Attributes
function
function=("constant" or "step" or "linear" or "exponential" or "weibull" or "hill" or "smooth-compact")
Units: None Min: 0 Max: 1
Determines which decay function to use. Available decay functions, for age t in years: constant: 1 step: 1 for t less than L, otherwise 0 linear: 1 - t/L for t less than L, otherwise 0 exponential: exp( - t/L * log(2) ) weibull: exp( -(t/L)^k * log(2) ) hill: 1 / (1 + (t/L)^k) smooth-compact: exp( k - k / (1 - (t/L)^2) ) for t less than L, otherwise 0
L
L=double
Units: Years Min: 0
Scale parameter of distribution. With the smooth-compact (smooth function with compact support), step and linear functions, this is the age at which the parameter has decayed to 0; with the other three functions, this is the age at which the parameter has decayed to half its original value. Not used for constant decay (though must be specified anyway).
k
k=double
Units: none Min: 0
Default value: 1.0
Shape parameter of distribution. If not specified, default value of 1 is used. Meaning depends on function; not used in some cases.
μ (mu)
mu=double
Min: 0
Default value: 0
If sigma is non-zero, heterogeneity of decay is introduced via a random variable sampled from the log-normal distribution with mu and sigma as specified. Both mu and sigma default to zero when not specified. The decay rate is multiplied by this variable (effectively, the half-life is divided by it). Note that with m=0, the median of the variable and the median value of L is unchanged, and thus the time at which the median decay amongst the population of decaying objects reaches half (assuming exponential, Weibull or Hill decay) is L. With m=-½σ² (negative half sigma squared) the mean of the variable will be 1 and mean of the half-life L, but the time at which mean decay of the population has reached half may not be L.
σ (sigma)
sigma=double
Min: 0
Default value: 0
If sigma is non-zero, heterogeneity of decay is introduced via a random variable sampled from the log-normal distribution with mu and sigma as specified. Both mu and sigma default to zero when not specified. The decay rate is multiplied by this variable (effectively, the half-life is divided by it).
anophelesParams
→ scenario → interventions → ITN → description → anophelesParams
<anophelesParams
mosquito=string
[ propActive=double ] DEFAULT VALUE 1
>
IN THIS ORDER:
| EXACTLY ONE OF:
| | <deterrency ... />
| | <twoStageDeterrency ... />
| <preprandialKillingEffect ... />
| <postprandialKillingEffect ... />
</anophelesParams>
Attributes
Mosquito species
mosquito=string
Name of the affected anopheles-mosquito species.
Proportion of bites for which net acts
propActive=double
Units: dimensionless Min: 0 Max: 1
Default value: 1
The proportion of bites, when nets are in use, for which the net has any action whatsoever on the mosquito. At the moment this is constant across humans and deterministic: relative attractiveness and survival factors are base*(1-usagepropActing) + intervention_factorusage*propActing. See also "usage" (proportion of time nets are used by humans).
Relative attractiveness
→ scenario → interventions → ITN → description → anophelesParams → deterrency
<deterrency
insecticideFactor=double
insecticideScalingFactor=double
holeFactor=double
interactionFactor=double
holeScalingFactor=double
/>
Documentation (element)
Units: dimensionless Min: 0 Max: 1
Effect of net on attractiveness of humans to mosquitoes relative to an unprotected adult human. Parameterisations should take into account that mosquitoes do not always bite indoors.
Attractiveness of the human is multiplied by exp(log(H)×h + log(P)×p + log(I)×h×p where H, P and I are the hole, insecticide and interaction factors respectively, h=exp(-holeIndex×holeScalingFactor) and p=1−exp(-insecticideContent×insecticideScalingFactor).
Attributes
Insecticide factor
insecticideFactor=double
Units: none Max: 1
Value expected to be at least 0. Negative values are not necessarily invalid, but allow nets to increase transmission.
Insecticide scaling factor
insecticideScalingFactor=double
Units: none Min: 0
Hole factor
holeFactor=double
Units: none Max: 1
Value expected to be at least 0. Negative values are not necessarily invalid, but allow nets to increase transmission.
Interaction factor
interactionFactor=double
Units: none Max: 1
holeFactor + insecticideFactor + interactionFactor must not be greater than 1, and is expected to be at least 0. A negative value is not necessarily invalid, but allows nets to increase transmission.
Hole scaling factor
holeScalingFactor=double
Units: none Min: 0
Relative attractiveness
→ scenario → interventions → ITN → description → anophelesParams → twoStageDeterrency
<twoStageDeterrency>
IN ANY ORDER:
| <entering ... />
| <attacking ... />
</twoStageDeterrency>
Documentation (element)
Units: dimensionless
Effect of net on attractiveness of humans to mosquitoes relative to an unprotected adult human. Parameterisations should take into account that mosquitoes do not always bite indoors.
This deterrency model multiplies human attractiveness by pEnt×pAtt divided by a base factor to normalise the output to 1 when there are no nets.
RA (entering)
→ scenario → interventions → ITN → description → anophelesParams → twoStageDeterrency → entering
<entering
insecticideFactor=double
insecticideScalingFactor=double
/>
Documentation (element)
Units: dimensionless
pEnt represents the relative probability of entering due to ITNs: pEnt = exp(log(P)×p) where P is the insecticide factor and p=1−exp(-insecticideContent×insecticideScalingFactor).
Attributes
Insecticide factor
insecticideFactor=double
Units: none Max: 1
Value expected to be at least 0. Negative values are not necessarily invalid, but allow nets to increase transmission.
Insecticide scaling factor
insecticideScalingFactor=double
Units: none Min: 0
RA (attacking)
→ scenario → interventions → ITN → description → anophelesParams → twoStageDeterrency → attacking
<attacking
insecticideFactor=double
insecticideScalingFactor=double
holeFactor=double
interactionFactor=double
holeScalingFactor=double
baseFactor=double
/>
Documentation (element)
Units: dimensionless
pAtt represents the relative probability of attacking a human after entering a house due to ITNs (i.e. of feeding/dying vs. flying off): pAtt = B + H×h + P×p + I×h×p where B is the base (without net) probability; H, P and I are the hole, insecticide and interaction factors respectively, h=exp(-holeIndex×holeScalingFactor) and p=1−exp(-insecticideContent×insecticideScalingFactor).
Attributes
Insecticide factor
insecticideFactor=double
Units: none Max: 1
Value expected to be at least 0. Negative values are not necessarily invalid, but allow nets to increase transmission.
Insecticide scaling factor
insecticideScalingFactor=double
Units: none Min: 0
Hole factor
holeFactor=double
Units: none Max: 1
Value expected to be at least 0. Negative values are not necessarily invalid, but allow nets to increase transmission.
Interaction factor
interactionFactor=double
Units: none Max: 1
holeFactor + insecticideFactor + interactionFactor must not be greater than 1, and is expected to be at least 0. A negative value is not necessarily invalid, but allows nets to increase transmission.
Hole scaling factor
holeScalingFactor=double
Units: none Min: 0
Probability of mosquito death without intervention
baseFactor=double
Units: dimensionless
Pre-prandial killing effect
→ scenario → interventions → ITN → description → anophelesParams → preprandialKillingEffect
<preprandialKillingEffect
insecticideFactor=double
insecticideScalingFactor=double
holeFactor=double
interactionFactor=double
holeScalingFactor=double
baseFactor=double
/>
Documentation (element)
Units: dimensionless Min: 0 Max: 1
Effect of net on survival mosquitoes as they seek to bite a human after choosing that human, relative to the same person not sleeping under a net. Parameterisations should take into account that mosquitoes do not always bite indoors.
Killing proportion is calculated as K = B + H×h + P×p + I×h×p where B is the base (without net) probability of death, H, P and I are the hole, insecticide and interaction factors respectively, h=exp(-holeIndex×holeScalingFactor) and p=1−exp(-insecticideContent×insecticideScalingFactor).
Survival of mosquitoes is adjusted via multiplication by (1−K) / (1−B). To keep this in the range [0,1], we require that B+H ≤ 1, B+P ≤ 1, B+H+P+I ≤ 1, H ≥ 0, P ≥ 0 and H+P+I ≥ 0.
Attributes
Insecticide factor
insecticideFactor=double
Units: none Max: 1
Value expected to be at least 0. Negative values are not necessarily invalid, but allow nets to increase transmission.
Insecticide scaling factor
insecticideScalingFactor=double
Units: none Min: 0
Hole factor
holeFactor=double
Units: none Max: 1
Value expected to be at least 0. Negative values are not necessarily invalid, but allow nets to increase transmission.
Interaction factor
interactionFactor=double
Units: none Max: 1
holeFactor + insecticideFactor + interactionFactor must not be greater than 1, and is expected to be at least 0. A negative value is not necessarily invalid, but allows nets to increase transmission.
Hole scaling factor
holeScalingFactor=double
Units: none Min: 0
Probability of mosquito death without intervention
baseFactor=double
Units: dimensionless
Post-prandial killing effect
→ scenario → interventions → ITN → description → anophelesParams → postprandialKillingEffect
<postprandialKillingEffect
insecticideFactor=double
insecticideScalingFactor=double
holeFactor=double
interactionFactor=double
holeScalingFactor=double
baseFactor=double
/>
Documentation (element)
Units: dimensionless Min: 0 Max: 1
Effect of net on survival mosquitoes as they seek to escape from a human host and rest after a blood meal, relative to the same person not sleeping under a net. Parameterisations should take into account that mosquitoes do not always bite indoors.
Killing proportion is calculated as K = B + H×h + P×p + I×h×p where B is the base (without net) probability of death, H, P and I are the hole, insecticide and interaction factors respectively, h=exp(-holeIndex×holeScalingFactor) and p=1−exp(-insecticideContent×insecticideScalingFactor).
Survival of mosquitoes is adjusted via multiplication by (1−K) / (1−B). To keep this in the range [0,1], we require that B+H ≤ 1, B+P ≤ 1, B+H+P+I ≤ 1, H ≥ 0, P ≥ 0 and H+P+I ≥ 0.
Attributes
Insecticide factor
insecticideFactor=double
Units: none Max: 1
Value expected to be at least 0. Negative values are not necessarily invalid, but allow nets to increase transmission.
Insecticide scaling factor
insecticideScalingFactor=double
Units: none Min: 0
Hole factor
holeFactor=double
Units: none Max: 1
Value expected to be at least 0. Negative values are not necessarily invalid, but allow nets to increase transmission.
Interaction factor
interactionFactor=double
Units: none Max: 1
holeFactor + insecticideFactor + interactionFactor must not be greater than 1, and is expected to be at least 0. A negative value is not necessarily invalid, but allows nets to increase transmission.
Hole scaling factor
holeScalingFactor=double
Units: none Min: 0
Probability of mosquito death without intervention
baseFactor=double
Units: dimensionless
Age-based bed-net deployment
→ scenario → interventions → ITN → continuous
<continuous>
IN THIS ORDER:
| ( <deploy ... /> )+
</continuous>
Documentation (element)
List of ages at which bed-net deployment takes place (through EPI, post-natal and school-based programmes, etc.).
Mass ITN deployment
→ scenario → interventions → ITN → timed
<timed>
IN THIS ORDER:
| ( <deploy ... /> )+
</timed>
Documentation (element)
List of timed ITN deployment in the communitsy
Indoor residual spraying
→ scenario → interventions → IRS
<IRS
[ name=string ]
>
IN THIS ORDER:
| EXACTLY ONE OF:
| | <description ... />
| | <description_v2 ... />
| [ <timed ... /> ]
</IRS>
Documentation (element)
Description and deployment of indoor insecticide interventions (IRS, durable wall linings, insecticide-treated-paint, etc.)
User must choose between using
Attributes
Name of intervention
name=string
Name of intervention
description
→ scenario → interventions → IRS → description
<description>
IN THIS ORDER:
| <decay ... />
| ( <anophelesParams ... /> )+
</description>
Documentation (type)
Description of effect for the simple model: IRS has three effects, whos strength is calculated as the product of an input parameter and "survival of effect", which is given by a decay function.
Decay
→ scenario → interventions → IRS → description → decay
<decay
function=("constant" or "step" or "linear" or "exponential" or "weibull" or "hill" or "smooth-compact")
L=double
[ k=double ] DEFAULT VALUE 1.0
[ mu=double ] DEFAULT VALUE 0
[ sigma=double ] DEFAULT VALUE 0
/>
Documentation (element)
Description of decay of IRS. Documentation: see DecayFunction type or https://github.com/SwissTPH/openmalaria/wiki/ModelDecayFunctions
Documentation (type)
Specification of decay or survival of a parameter.
Attributes
function
function=("constant" or "step" or "linear" or "exponential" or "weibull" or "hill" or "smooth-compact")
Units: None Min: 0 Max: 1
Determines which decay function to use. Available decay functions, for age t in years: constant: 1 step: 1 for t less than L, otherwise 0 linear: 1 - t/L for t less than L, otherwise 0 exponential: exp( - t/L * log(2) ) weibull: exp( -(t/L)^k * log(2) ) hill: 1 / (1 + (t/L)^k) smooth-compact: exp( k - k / (1 - (t/L)^2) ) for t less than L, otherwise 0
L
L=double
Units: Years Min: 0
Scale parameter of distribution. With the smooth-compact (smooth function with compact support), step and linear functions, this is the age at which the parameter has decayed to 0; with the other three functions, this is the age at which the parameter has decayed to half its original value. Not used for constant decay (though must be specified anyway).
k
k=double
Units: none Min: 0
Default value: 1.0
Shape parameter of distribution. If not specified, default value of 1 is used. Meaning depends on function; not used in some cases.
μ (mu)
mu=double
Min: 0
Default value: 0
If sigma is non-zero, heterogeneity of decay is introduced via a random variable sampled from the log-normal distribution with mu and sigma as specified. Both mu and sigma default to zero when not specified. The decay rate is multiplied by this variable (effectively, the half-life is divided by it). Note that with m=0, the median of the variable and the median value of L is unchanged, and thus the time at which the median decay amongst the population of decaying objects reaches half (assuming exponential, Weibull or Hill decay) is L. With m=-½σ² (negative half sigma squared) the mean of the variable will be 1 and mean of the half-life L, but the time at which mean decay of the population has reached half may not be L.
σ (sigma)
sigma=double
Min: 0
Default value: 0
If sigma is non-zero, heterogeneity of decay is introduced via a random variable sampled from the log-normal distribution with mu and sigma as specified. Both mu and sigma default to zero when not specified. The decay rate is multiplied by this variable (effectively, the half-life is divided by it).
Per-mosquito species parameters
→ scenario → interventions → IRS → description → anophelesParams
<anophelesParams
mosquito=string
[ propActive=double ] DEFAULT VALUE 1
>
IN THIS ORDER:
| <deterrency ... />
| <preprandialKillingEffect ... />
| <postprandialKillingEffect ... />
</anophelesParams>
Attributes
Mosquito species
mosquito=string
Name of the affected anopheles-mosquito species.
Proportion of bites for which IRS acts
propActive=double
Units: dimensionless Min: 0 Max: 1
Default value: 1
The proportion of bites for which the IRS has any action whatsoever on the mosquito. At the moment this is constant across humans and deterministic: relative attractiveness and survival factors are base*(1-propActing) + intervention_factor*propActing.
Relative attractiveness
→ scenario → interventions → IRS → description → anophelesParams → deterrency
<deterrency
value=double
/>
Documentation (element)
Units: dimensionless Min: 0 Max: 1
Effect of IRS on attractiveness of humans to mosquitoes relative to an unprotected adult human. Parameterisations should take into account that mosquitoes do not always bite indoors.
Attractiveness of the human is multiplied this factor times survival of effect.
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Pre-prandial killing effect
→ scenario → interventions → IRS → description → anophelesParams → preprandialKillingEffect
<preprandialKillingEffect
value=double
/>
Documentation (element)
Units: dimensionless Min: 0 Max: 1
Effect of IRS on survival mosquitoes as they seek to bite a human after choosing that human, relative to the same person not protected by IRS. Parameterisations should take into account that mosquitoes do not always bite indoors. This parameter has been added since some data shows IRS to have a preprandial killing effect.
Killing proportion is this factor multiplied by survival of effect.
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Post-prandial killing effect
→ scenario → interventions → IRS → description → anophelesParams → postprandialKillingEffect
<postprandialKillingEffect
value=double
/>
Documentation (element)
Units: dimensionless Min: 0 Max: 1
Effect of IRS on survival mosquitoes as they seek to escape from a human host and rest after a blood meal, relative to the same person not protected by IRS. Parameterisations should take into account that mosquitoes do not always bite indoors.
Killing proportion is this factor multiplied by survival of effect.
Attributes
Input parameter value
value=double
A double-precision floating-point value.
description_v2
→ scenario → interventions → IRS → description_v2
<description_v2>
IN THIS ORDER:
| <initialInsecticide ... />
| <insecticideDecay ... />
| ( <anophelesParams ... /> )+
</description_v2>
Documentation (type)
Description of effect for the more complex and probably more realistic Briet model: IRS has three effects, whos strength is calculated as a function of surviving insecticide content.
Initial insecticide
→ scenario → interventions → IRS → description_v2 → initialInsecticide
<initialInsecticide
mu=double
sigma=double
/>
Documentation (element)
Units: μg/cm² Min: 0
The insecticide concentration of IRS (at time of spraying) is Gaussian distributed with mean "mu" and a standard deviation "sigma". The standard deviation should be small relative to the mean to avoid negative initial concentration. Any negative values sampled are set to 0.
Documentation (type)
Parameters of a normal distribution.
Variates are sampled as: X ~ N( mu, sigma² ).
Attributes
mu
mu=double
Units: (same as base units)
The mean of the normal distribution.
sigma
sigma=double
Units: (same as base units)
The standard deviation of variates.
Decay of insecticide
→ scenario → interventions → IRS → description_v2 → insecticideDecay
<insecticideDecay
function=("constant" or "step" or "linear" or "exponential" or "weibull" or "hill" or "smooth-compact")
L=double
[ k=double ] DEFAULT VALUE 1.0
[ mu=double ] DEFAULT VALUE 0
[ sigma=double ] DEFAULT VALUE 0
/>
Documentation (element)
Units: none
Decay curve for insecticide content of IRS. Documentation: see DecayFunction type or https://github.com/SwissTPH/openmalaria/wiki/ModelDecayFunctions
Documentation (type)
Specification of decay or survival of a parameter.
Attributes
function
function=("constant" or "step" or "linear" or "exponential" or "weibull" or "hill" or "smooth-compact")
Units: None Min: 0 Max: 1
Determines which decay function to use. Available decay functions, for age t in years: constant: 1 step: 1 for t less than L, otherwise 0 linear: 1 - t/L for t less than L, otherwise 0 exponential: exp( - t/L * log(2) ) weibull: exp( -(t/L)^k * log(2) ) hill: 1 / (1 + (t/L)^k) smooth-compact: exp( k - k / (1 - (t/L)^2) ) for t less than L, otherwise 0
L
L=double
Units: Years Min: 0
Scale parameter of distribution. With the smooth-compact (smooth function with compact support), step and linear functions, this is the age at which the parameter has decayed to 0; with the other three functions, this is the age at which the parameter has decayed to half its original value. Not used for constant decay (though must be specified anyway).
k
k=double
Units: none Min: 0
Default value: 1.0
Shape parameter of distribution. If not specified, default value of 1 is used. Meaning depends on function; not used in some cases.
μ (mu)
mu=double
Min: 0
Default value: 0
If sigma is non-zero, heterogeneity of decay is introduced via a random variable sampled from the log-normal distribution with mu and sigma as specified. Both mu and sigma default to zero when not specified. The decay rate is multiplied by this variable (effectively, the half-life is divided by it). Note that with m=0, the median of the variable and the median value of L is unchanged, and thus the time at which the median decay amongst the population of decaying objects reaches half (assuming exponential, Weibull or Hill decay) is L. With m=-½σ² (negative half sigma squared) the mean of the variable will be 1 and mean of the half-life L, but the time at which mean decay of the population has reached half may not be L.
σ (sigma)
sigma=double
Min: 0
Default value: 0
If sigma is non-zero, heterogeneity of decay is introduced via a random variable sampled from the log-normal distribution with mu and sigma as specified. Both mu and sigma default to zero when not specified. The decay rate is multiplied by this variable (effectively, the half-life is divided by it).
Per-mosquito species parameters
→ scenario → interventions → IRS → description_v2 → anophelesParams
<anophelesParams
mosquito=string
[ propActive=double ] DEFAULT VALUE 1
>
IN THIS ORDER:
| <deterrency ... />
| <preprandialKillingEffect ... />
| <postprandialKillingEffect ... />
</anophelesParams>
Attributes
Mosquito species
mosquito=string
Name of the affected anopheles-mosquito species.
Proportion of bites for which IRS acts
propActive=double
Units: dimensionless Min: 0 Max: 1
Default value: 1
The proportion of bites for which the IRS has any action whatsoever on the mosquito. At the moment this is constant across humans and deterministic: relative attractiveness and survival factors are base*(1-propActing) + intervention_factor*propActing.
Relative attractiveness
→ scenario → interventions → IRS → description_v2 → anophelesParams → deterrency
<deterrency
insecticideFactor=double
insecticideScalingFactor=double
/>
Documentation (element)
Units: dimensionless Min: 0 Max: 1
Effect of IRS on attractiveness of humans to mosquitoes relative to an unprotected adult human. Parameterisations should take into account that mosquitoes do not always bite indoors.
Attractiveness of the human is multiplied by exp(P×log(p)) where P is the insecticide factor, p=1−exp(-insecticideContent×insecticideScalingFactor).
Attributes
Insecticide factor
insecticideFactor=double
Units: none Max: 1
Value expected to be at least 0. Negative values are not necessarily invalid, but allow nets to increase transmission.
Insecticide scaling factor
insecticideScalingFactor=double
Units: none Min: 0
Pre-prandial killing effect
→ scenario → interventions → IRS → description_v2 → anophelesParams → preprandialKillingEffect
<preprandialKillingEffect
insecticideFactor=double
insecticideScalingFactor=double
baseFactor=double
/>
Documentation (element)
Units: dimensionless Min: 0 Max: 1
Effect of IRS on survival mosquitoes as they seek to bite a human after choosing that human, relative to the same person not protected by IRS. Parameterisations should take into account that mosquitoes do not always bite indoors. This parameter has been added since some data shows IRS to have a preprandial killing effect.
Killing proportion is calculated as K = B + P×p where B is the base (without protection) probability of death, and P is the insecticide factor, p=1−exp(-insecticideContent×insecticideScalingFactor).
Survival of mosquitoes is adjusted via multiplication by (1−K) / (1−B). To keep this in the range [0,1], we require that B+P ≤ 1 and P ≥ 0.
Attributes
Insecticide factor
insecticideFactor=double
Units: none Max: 1
Value expected to be at least 0. Negative values are not necessarily invalid, but allow nets to increase transmission.
Insecticide scaling factor
insecticideScalingFactor=double
Units: none Min: 0
Probability of mosquito death without intervention
baseFactor=double
Units: dimensionless
Post-prandial killing effect
→ scenario → interventions → IRS → description_v2 → anophelesParams → postprandialKillingEffect
<postprandialKillingEffect
insecticideFactor=double
insecticideScalingFactor=double
baseFactor=double
/>
Documentation (element)
Units: dimensionless Min: 0 Max: 1
Effect of IRS on survival mosquitoes as they seek to escape from a human host and rest after a blood meal, relative to the same person not protected by IRS. Parameterisations should take into account that mosquitoes do not always bite indoors.
Killing proportion is calculated as K = B + P×p where B is the base (without protection) probability of death, and P is the insecticide factor, p=1−exp(-insecticideContent×insecticideScalingFactor).
Survival of mosquitoes is adjusted via multiplication by (1−K) / (1−B). To keep this in the range [0,1], we require that B+P ≤ 1 and P ≥ 0.
Attributes
Insecticide factor
insecticideFactor=double
Units: none Max: 1
Value expected to be at least 0. Negative values are not necessarily invalid, but allow nets to increase transmission.
Insecticide scaling factor
insecticideScalingFactor=double
Units: none Min: 0
Probability of mosquito death without intervention
baseFactor=double
Units: dimensionless
Mass IRS deployment
→ scenario → interventions → IRS → timed
<timed>
IN THIS ORDER:
| ( <deploy ... /> )+
</timed>
Documentation (element)
List of timed IRS deployment in the communitsy
Vector deterrents
→ scenario → interventions → vectorDeterrent
<vectorDeterrent
[ name=string ]
>
IN THIS ORDER:
| <decay ... />
| ( <anophelesParams ... /> )+
| [ <timed ... /> ]
</vectorDeterrent>
Documentation (element)
Description and deployment of interventions affecting only human-mosquito availability (deterrents).
Attributes
Name of intervention
name=string
Name of intervention
Decay
→ scenario → interventions → vectorDeterrent → decay
<decay
function=("constant" or "step" or "linear" or "exponential" or "weibull" or "hill" or "smooth-compact")
L=double
[ k=double ] DEFAULT VALUE 1.0
[ mu=double ] DEFAULT VALUE 0
[ sigma=double ] DEFAULT VALUE 0
/>
Documentation (element)
Description of decay of vector deterrent. Documentation: see DecayFunction type or https://github.com/SwissTPH/openmalaria/wiki/ModelDecayFunctions
Documentation (type)
Specification of decay or survival of a parameter.
Attributes
function
function=("constant" or "step" or "linear" or "exponential" or "weibull" or "hill" or "smooth-compact")
Units: None Min: 0 Max: 1
Determines which decay function to use. Available decay functions, for age t in years: constant: 1 step: 1 for t less than L, otherwise 0 linear: 1 - t/L for t less than L, otherwise 0 exponential: exp( - t/L * log(2) ) weibull: exp( -(t/L)^k * log(2) ) hill: 1 / (1 + (t/L)^k) smooth-compact: exp( k - k / (1 - (t/L)^2) ) for t less than L, otherwise 0
L
L=double
Units: Years Min: 0
Scale parameter of distribution. With the smooth-compact (smooth function with compact support), step and linear functions, this is the age at which the parameter has decayed to 0; with the other three functions, this is the age at which the parameter has decayed to half its original value. Not used for constant decay (though must be specified anyway).
k
k=double
Units: none Min: 0
Default value: 1.0
Shape parameter of distribution. If not specified, default value of 1 is used. Meaning depends on function; not used in some cases.
μ (mu)
mu=double
Min: 0
Default value: 0
If sigma is non-zero, heterogeneity of decay is introduced via a random variable sampled from the log-normal distribution with mu and sigma as specified. Both mu and sigma default to zero when not specified. The decay rate is multiplied by this variable (effectively, the half-life is divided by it). Note that with m=0, the median of the variable and the median value of L is unchanged, and thus the time at which the median decay amongst the population of decaying objects reaches half (assuming exponential, Weibull or Hill decay) is L. With m=-½σ² (negative half sigma squared) the mean of the variable will be 1 and mean of the half-life L, but the time at which mean decay of the population has reached half may not be L.
σ (sigma)
sigma=double
Min: 0
Default value: 0
If sigma is non-zero, heterogeneity of decay is introduced via a random variable sampled from the log-normal distribution with mu and sigma as specified. Both mu and sigma default to zero when not specified. The decay rate is multiplied by this variable (effectively, the half-life is divided by it).
anophelesParams
→ scenario → interventions → vectorDeterrent → anophelesParams
<anophelesParams
mosquito=string
>
IN THIS ORDER:
| <deterrency ... />
</anophelesParams>
Documentation (type)
Units: dimensionless Min: 0 Max: 1
Descriptions of initial effectiveness of each of the effects of interventions. Decay is specified by a separate element (ITNDecay etc.)
Attributes
Mosquito species
mosquito=string
Name of the affected anopheles-mosquito species.
Deterrency
→ scenario → interventions → vectorDeterrent → anophelesParams → deterrency
<deterrency
value=double
/>
Documentation (element)
Units: dimensionless Min: 0 Max: 1
One minus this multiplies the host's availability.
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Mass deployment
→ scenario → interventions → vectorDeterrent → timed
<timed>
IN THIS ORDER:
| ( <deploy ... /> )+
</timed>
Documentation (element)
List of timed mosquito deterrent deployment in the communitsy
Cohort recruitment
→ scenario → interventions → cohort
<cohort
[ name=string ]
>
IN THIS ORDER:
| [ <continuous ... /> ]
| [ <timed ... /> ]
</cohort>
Documentation (element)
Recruitment of cohort as a pseudo-intervention.
Attributes
Name of intervention
name=string
Name of intervention
Age-based cohort recruitment
→ scenario → interventions → cohort → continuous
<continuous>
IN THIS ORDER:
| ( <deploy ... /> )+
</continuous>
Documentation (element)
List of ages at which cohort recruitment takes place.
Mass cohort selection
→ scenario → interventions → cohort → timed
<timed>
IN THIS ORDER:
| ( <deploy ... /> )+
</timed>
Documentation (element)
List of times of mass cohort selection.
Imported infections
→ scenario → interventions → importedInfections
<importedInfections
[ name=string ]
>
IN THIS ORDER:
| <timed ... />
</importedInfections>
Documentation (element)
Models importation of P. falciparum infections directly into humans from an external source. This is infections, not inoculations or EIR being imported.
Attributes
Name of intervention
name=string
Name of intervention
Rate of importation
→ scenario → interventions → importedInfections → timed
<timed
[ period=int ] DEFAULT VALUE 0
>
IN THIS ORDER:
| ( <rate ... /> )+
</timed>
Documentation (element)
Rate of case importation, as a step function. Each value is valid until replaced by the next value.
Attributes
Period of repetition
period=int
Units: time-steps Min: 0
Default value: 0
If period is 0 (or effectively infinite), the last specified value remains indefinitely in effect, otherwise the times of all values specified must be less than the period, and values are repeated modulo period (timestep period+2 has same value as timestep 2, etc.).
rate
→ scenario → interventions → importedInfections → timed → rate
<rate
value=double
time=int
/>
Documentation (type)
Units: Imported cases per thousand people per year
A time-rate pair.
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Time
time=int
Units: time-steps Min: 0
Immune suppression
→ scenario → interventions → immuneSuppression
<immuneSuppression>
IN THIS ORDER:
| [ <timed ... /> ]
</immuneSuppression>
Documentation (element)
Removes all exposure-related immunitsy gained over time by hosts without removing infections.
Hypothetical, but potentially useful to simulate scenarios with unprotected humans.
timed
→ scenario → interventions → immuneSuppression → timed
<timed>
IN THIS ORDER:
| ( <deploy ... /> )+
</timed>
Insert R_0 case
→ scenario → interventions → insertR_0Case
<insertR_0Case>
IN THIS ORDER:
| ( <timedDeployment ... /> )*
</insertR_0Case>
Documentation (element)
Used to simulate R_0. First, infections should be eliminated, immunitsy removed, and the population given an effective transmission- blocking vaccine (not done by this intervention). Then this intervention may be used to: pick one human, infect him, administer a fully effective Preerythrocytic vaccine and remove transmission-blocking vaccine effect on this human. Thus only this one human will be a source of infections in an unprotected population, and will not reinfected himself.
timedDeployment
→ scenario → interventions → insertR_0Case → timedDeployment
<timedDeployment
time=int
/>
Attributes
Time
time=int
Units: time-steps Min: 0
Time-step at which this intervention occurs, starting from 0, the first intervention-period time-step.
Uninfect vectors
→ scenario → interventions → uninfectVectors
<uninfectVectors>
IN THIS ORDER:
| ( <timedDeployment ... /> )*
</uninfectVectors>
Documentation (element)
Units: List of elements
Removes all infections from mosquitoes -- resulting in zero EIR to humans, until such time that mosquitoes are re-infected and become infectious. Only effectious in dynamic EIR mode (when changeEIR was not used).
Hypothetical, but potentially useful to simulate a setting starting from no infections, but with enough mosquitoes to reach a set equilibrium of exposure.
timedDeployment
→ scenario → interventions → uninfectVectors → timedDeployment
<timedDeployment
time=int
/>
Attributes
Time
time=int
Units: time-steps Min: 0
Time-step at which this intervention occurs, starting from 0, the first intervention-period time-step.
Simple larviciding intervention
→ scenario → interventions → larviciding
<larviciding
[ name=string ]
>
IN THIS ORDER:
| <description ... />
| [ <timed ... /> ]
</larviciding>
Documentation (element)
Units: List of elements
Simple larviciding intervention description.
Attributes
Name of intervention
name=string
Name of intervention
description
→ scenario → interventions → larviciding → description
<description>
IN THIS ORDER:
| ( <anopheles ... /> )+
</description>
anopheles
→ scenario → interventions → larviciding → description → anopheles
<anopheles
mosquito=string
>
IN THIS ORDER:
| <duration ... />
| <effectiveness ... />
</anopheles>
Documentation (type)
Units: dimensionless Min: 0 Max: 1
Descriptions of initial effectiveness of the effects of larviciding interventions.
Attributes
Mosquito species
mosquito=string
Name of the affected anopheles-mosquito species.
Duration
→ scenario → interventions → larviciding → description → anopheles → duration
<duration
value=int
/>
Documentation (element)
Units: time-steps
Specifies how long the larviciding is effective
Attributes
Input parameter value
value=int
An integer value.
Effectiveness
→ scenario → interventions → larviciding → description → anopheles → effectiveness
<effectiveness
value=double
/>
Documentation (element)
Units: dimensionless Min: 0 Max: 1
Give the proportion of larvae killed by the larviciding
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Larviciding deployment
→ scenario → interventions → larviciding → timed
<timed>
IN THIS ORDER:
| ( <deploy ... /> )+
</timed>
Documentation (element)
List of timed mosquito larviding deployment
deploy
→ scenario → interventions → larviciding → timed → deploy
<deploy
time=int
/>
Attributes
Time
time=int
Units: time-steps Min: 0
Time-step at which this intervention occurs, starting from 0, the first intervention-period time-step.
Health system description
→ scenario → healthSystem
<healthSystem>
IN THIS ORDER:
| EXACTLY ONE OF:
| | <EventScheduler ... />
| | <ImmediateOutcomes ... />
| <CFR ... />
| <pSequelaeInpatient ... />
</healthSystem>
Documentation (element)
Description of health system.
Documentation (type)
Description of case management system, used to specify the initial model or a replacement (an intervention). Encompasses case management data and some other data required to derive case outcomes.
Contains a sub-element describing the particular health-system in use. Health system data is here defined as data used to decide on a treatment strategy, given a case requiring treatment.
Transmission and vector bionomics
→ scenario → entomology
<entomology
name=string
mode=("forced" or "dynamic")
[ scaledAnnualEIR=double ]
>
IN THIS ORDER:
| EXACTLY ONE OF:
| | <nonVector ... />
| | <vector ... />
</entomology>
Documentation (element)
Description of entomological data
Attributes
Entomology dataset name
name=string
Name of entomology data
Transmission model mode
mode=("forced" or "dynamic")
Transmission simulation mode: may be forced (in which case interventions and changes to human infectiousness cannot affect EIR) or dynamic (in which the above can affect EIR). The full vector model is only used in dynamic mode. This can not be changed by interventions, except for the changeEIR intervention for the non-vector model which replaces the EIR with a new description (used in forced mode).
Override annual EIR
scaledAnnualEIR=double
Units: Infectious bites per adult per year
If set, the annual EIR (for all species of vector) is scaled to this level; can be omitted if not needed.
Transmission setting (vector control not enabled)
→ scenario → entomology → nonVector
<nonVector
eipDuration=int
>
IN THIS ORDER:
| ( <EIRDaily ... /> )+
</nonVector>
Documentation (element)
Description of transmission setting for models without vector control interventions (included for backward compatibility)
Attributes
Duration of sporogony
eipDuration=int
Units: Days
The duration of sporogony in days
Transmission setting (vector control enabled)
→ scenario → entomology → vector
<vector>
IN THIS ORDER:
| ( <anopheles ... /> )+
| ( <nonHumanHosts ... /> )*
</vector>
Documentation (element)
Parameters of the transmission model
anopheles
→ scenario → entomology → vector → anopheles
<anopheles
mosquito=string
propInfected=double
propInfectious=double
>
IN THIS ORDER:
| <seasonality ... />
| <mosq ... />
| [ <lifeCycle ... /> ]
| [ <simpleMPD ... /> ]
| ( <nonHumanHosts ... /> )*
</anopheles>
Documentation (type)
Description of input EIR for one specific vector species in terms of a Fourier approximation to the ln of the EIR during the burn in period
Attributes
Identifier for this anopheles species
mosquito=string
Identifier for this anopheles species
Initial estimate of proportion of mosquitoes infected (ρ_O)
propInfected=double
Units: Proportion Min: 0 Max: 1
Initial guess of the proportion of mosquitoes which are infected, o: O_v(t) = o*N_v(t). Only used as a starting value.
Initial estimate of proportion of mosquitoes infectious (ρ_S)
propInfectious=double
Units: Proportion Min: 0 Max: 1
Initial estimate of the proportion of mosquitoes which are infectious, s: S_v(t) = s*N_v(t). Used as a starting value and then fit.
Seasonality of transmission
→ scenario → entomology → vector → anopheles → seasonality
<seasonality
input=("EIR")
[ annualEIR=double ]
>
IN THIS ORDER:
| EXACTLY ONE OF:
| | <fourierSeries ... />
| | <monthlyValues ... />
| | <dailyValues ... />
</seasonality>
Documentation (element)
Specifies the seasonality of transmission and optionally the level of annual transmission.
Attributes
Seasonality input
input=("EIR")
Specify what seasonality measure is given. At the moment, only EIR is supported, but in the future, all the below should be supported. EIR: seasonality of entomological inoculations is input. Units: entomological inoculations per adult per annum. hostSeeking: seasonality of densities of flying host-seeking mosquitoes is input (in the model this is notated N_v). Units: mosquitoes. emergence: seasonality of emergence pupa into adults. Units: mosquitoes. larvalResources: seasonality of larval resources. Units: X.
Annual EIR
annualEIR=double
Units: Inoculations per adult per annum Min: 0
If this attribute is included, EIR for this species is scaled to this level. Note that if the scaledAnnualEIR attribute of the entomology element is also used, EIR is scaled again, making this attribute the EIR relative to other species. With some seasonality inputs, this attribute is optional, in which case (if scaledAnnualEIR is also not specified) transmission depends on all parameters of the vector. With some seasonality inputs, however, this parameter must be specified.
Fourier approximation to pre-intervention EIR
→ scenario → entomology → vector → anopheles → seasonality → fourierSeries
<fourierSeries
EIRRotateAngle=double
>
IN THIS ORDER:
| ( <coeffic ... /> )*
</fourierSeries>
Documentation (element)
Units: Infectious bites per adult per day
Seasonality is reproduced from the exponential of a fourier series specified by the following coefficients. Note that the a0 term is not needed; the annualEIR attribute of the seasonality element should be used to scale EIR instead.
Attributes
Rotation angle defining the origin of the Fourier approximation to ln (EIR)
EIRRotateAngle=double
Units: Radians
Rotation angle defining the origin of the Fourier approximation to ln (EIR)
Pair of Fourier coefficients
→ scenario → entomology → vector → anopheles → seasonality → fourierSeries → coeffic
<coeffic
a=double
b=double
/>
Documentation (element)
A pair of Fourier series coefficients. The first element specifies a1 and b1, the second a2 and b2, etc. Any number (from 0 up) of pairs may be given.
Attributes
a_n parameter of Fourier approximation to ln(EIR)
a=double
a_n parameter of Fourier approximation to ln(EIR) for some natural number n.
b_n parameter of Fourier approximation to ln(EIR)
b=double
b_n parameter of Fourier approximation to ln(EIR) for some natural number n.
List of monthly values
→ scenario → entomology → vector → anopheles → seasonality → monthlyValues
<monthlyValues
smoothing=("none" or "fourier")
>
IN THIS ORDER:
| ( <value ... /> ){12,12}
</monthlyValues>
Documentation (element)
Description of seasonality from monthly values. Multiple smoothing methods are possible (see smoothing attribute).
List should contain twelve entries: January to December.
Attributes
Smoothing function
smoothing=("none" or "fourier")
How the monthly values are converted into a daily sequence of values:
- none: no smoothing (step function)
- Fourier: a Fourier series (with terms up to a2/b2) is fit to the sequence of monthly values and used to generate a smoothed list of daily values.
Monthly value
→ scenario → entomology → vector → anopheles → seasonality → monthlyValues → value
<value>
double
</value>
Documentation (element)
Units: (see "seasonality input" parameter)
Monthly value
List of daily values
→ scenario → entomology → vector → anopheles → seasonality → dailyValues
<dailyValues>
IN THIS ORDER:
| ( <value ... /> ){365,365}
</dailyValues>
Documentation (element)
Description of seasonality from daily values.
List should contain 365 entries: 1st January to 31st December.
Daily value
→ scenario → entomology → vector → anopheles → seasonality → dailyValues → value
<value>
double
</value>
Documentation (element)
Units: (see "seasonality input" parameter)
Daily value
Mosquito feeding cycle parameters
→ scenario → entomology → vector → anopheles → mosq
<mosq
minInfectedThreshold=double
>
IN ANY ORDER:
| <mosqRestDuration ... />
| <extrinsicIncubationPeriod ... />
| <mosqLaidEggsSameDayProportion ... />
| <mosqSeekingDuration ... />
| <mosqSurvivalFeedingCycleProbability ... />
| <availabilityVariance ... />
| <mosqProbBiting ... />
| <mosqProbFindRestSite ... />
| <mosqProbResting ... />
| <mosqProbOvipositing ... />
| <mosqHumanBloodIndex ... />
</mosq>
- mosqRestDuration
- extrinsicIncubationPeriod
- mosqLaidEggsSameDayProportion
- mosqSeekingDuration
- mosqSurvivalFeedingCycleProbability
- availabilityVariance
- mosqProbBiting
- mosqProbFindRestSite
- mosqProbResting
- mosqProbOvipositing
- mosqHumanBloodIndex
Documentation (element)
Parameters describing the feeding cycle and human mosquito interaction of a single species of anopheles mosquito.
Attributes
Mininum infected threshold for mosquitos
minInfectedThreshold=double
Min: 0
If less than this many mosquitoes remain infected, transmission is interrupted.
Duration of the resting period of the vector
→ scenario → entomology → vector → anopheles → mosq → mosqRestDuration
<mosqRestDuration
value=int
/>
Documentation (element)
Units: Days
name:Duration of the resting period of the vector (days);
Attributes
Input parameter value
value=int
An integer value.
Extrinsic incubation period
→ scenario → entomology → vector → anopheles → mosq → extrinsicIncubationPeriod
<extrinsicIncubationPeriod
value=int
/>
Documentation (element)
Units: Days
name:Extrinsic incubation period (days)
Attributes
Input parameter value
value=int
An integer value.
Proportion of mosquitoes host seeking on same day as ovipositing
→ scenario → entomology → vector → anopheles → mosq → mosqLaidEggsSameDayProportion
<mosqLaidEggsSameDayProportion
value=double
/>
Documentation (element)
Units: Proportion
Proportion of mosquitoes host seeking on same day as ovipositing
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Duration of the host-seeking period of the vector
→ scenario → entomology → vector → anopheles → mosq → mosqSeekingDuration
<mosqSeekingDuration
value=double
/>
Documentation (element)
Units: Days
Duration of the host-seeking period of the vector (days)
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Probability that the mosquito survives the feeding cycle
→ scenario → entomology → vector → anopheles → mosq → mosqSurvivalFeedingCycleProbability
<mosqSurvivalFeedingCycleProbability
value=double
/>
Documentation (element)
Units: Proportion
Probability that the mosquito survives the feeding cycle
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Variance in human availability rate
→ scenario → entomology → vector → anopheles → mosq → availabilityVariance
<availabilityVariance
value=double
/>
Documentation (element)
Variance in availability rate of humans to mosquitoes. The mean rate is calculated based on other parameters.
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Probability that the mosquito succesfully bites chosen host
→ scenario → entomology → vector → anopheles → mosq → mosqProbBiting
<mosqProbBiting
mean=double
variance=double
/>
Documentation (element)
Probability that the mosquito succesfully bites chosen host
Documentation (type)
Parameters of a normal distribution, provided as mean and variance.
Variates are sampled from Be(α,β) where α and β are determined from the mean and variance as follows: let v be the variance and c=mean/(1-mean). Then we set α=cβ and β=((c+1)²v - c)/((c+1)³v).
Attributes
mean
mean=double
Units: none
The mean of the beta distribution (must be in the open range (0,1)).
variance
variance=double
Units: none
The standard deviation of variates.
Probability that the mosquito escapes host and finds a resting place after biting
→ scenario → entomology → vector → anopheles → mosq → mosqProbFindRestSite
<mosqProbFindRestSite
mean=double
variance=double
/>
Documentation (element)
Probability that the mosquito escapes host and finds a resting place after biting
Documentation (type)
Parameters of a normal distribution, provided as mean and variance.
Variates are sampled from Be(α,β) where α and β are determined from the mean and variance as follows: let v be the variance and c=mean/(1-mean). Then we set α=cβ and β=((c+1)²v - c)/((c+1)³v).
Attributes
mean
mean=double
Units: none
The mean of the beta distribution (must be in the open range (0,1)).
variance
variance=double
Units: none
The standard deviation of variates.
Probability of mosquito successfully resting after finding a resting site
→ scenario → entomology → vector → anopheles → mosq → mosqProbResting
<mosqProbResting
mean=double
variance=double
/>
Documentation (element)
Probability of mosquito successfully resting after finding a resting site
Documentation (type)
Parameters of a normal distribution, provided as mean and variance.
Variates are sampled from Be(α,β) where α and β are determined from the mean and variance as follows: let v be the variance and c=mean/(1-mean). Then we set α=cβ and β=((c+1)²v - c)/((c+1)³v).
Attributes
mean
mean=double
Units: none
The mean of the beta distribution (must be in the open range (0,1)).
variance
variance=double
Units: none
The standard deviation of variates.
Probability of a mosquito successfully laying eggs given that it has rested
→ scenario → entomology → vector → anopheles → mosq → mosqProbOvipositing
<mosqProbOvipositing
value=double
/>
Documentation (element)
Probability of a mosquito successfully laying eggs given that it has rested
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Human blood index
→ scenario → entomology → vector → anopheles → mosq → mosqHumanBloodIndex
<mosqHumanBloodIndex
value=double
/>
Documentation (element)
Units: Proportion
The proportion of resting mosquitoes which fed on human blood during the last feed.
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Mosquito life cycle parameters
→ scenario → entomology → vector → anopheles → lifeCycle
<lifeCycle
[ estimatedLarvalResources=double ] DEFAULT VALUE 1e8
>
IN ANY ORDER:
| <eggStage ... />
| <larvalStage ... />
| <pupalStage ... />
| <femaleEggsLaidByOviposit ... />
</lifeCycle>
Documentation (element)
Parameters describing the life-cycle of this species of mosquito
Attributes
Estimate of larval resources
estimatedLarvalResources=double
Units: X
Default value: 1e8
An estimate of mean annual availability of resources to larvae. Used to get the resource usage fitting algorithm going; if the algorithm fails to fit the resource availability then tweaking this parameter may help. In other cases tweaking this parameter shouldn't be necessary. Default value is 10⁸ (1e8). Units are arbitrary but must be the same as those used by the resourceUsage parameter.
Egg stage
→ scenario → entomology → vector → anopheles → lifeCycle → eggStage
<eggStage
duration=int
survival=double
/>
Documentation (element)
Parameters for the egg stage of development
Documentation (type)
Parameters associated with a mosquito development stage.
Attributes
Duration
duration=int
Units: Days
Duration of the stage (i.e. length of time mosquito is an egg/larva/pupa).
Probability of survival
survival=double
Units: Proportion
Probability that mosquito survives this size (probability of egg hatching, a larva becoming a pupa or a pupa emerging as an adult, at the start of that stage).
larvalStage
→ scenario → entomology → vector → anopheles → lifeCycle → larvalStage
<larvalStage>
</larvalStage>
Documentation (type)
Parameters for the larval stage of development
Documentation (base type)
Parameters associated with a mosquito development stage.
Daily development
→ scenario → entomology → vector → anopheles → lifeCycle → larvalStage → daily
<daily
resourceUsage=double
effectCompetition=double
/>
Documentation (element)
List of parameters which apply during the larval stage of development. List length must equal stage duration, with first item corresponding to first 24 hours after hatching, second item to hours 24-48, and so on.
Attributes
Resource usage
resourceUsage=double
Units: X
Resource usage during larval stage of development. Units are arbitrary.
Effect of competition
effectCompetition=double
Units: none
Effect of competition over resources on development.
Pupal stage
→ scenario → entomology → vector → anopheles → lifeCycle → pupalStage
<pupalStage
duration=int
survival=double
/>
Documentation (element)
Parameters for the pupal stage of development
Documentation (type)
Parameters associated with a mosquito development stage.
Attributes
Duration
duration=int
Units: Days
Duration of the stage (i.e. length of time mosquito is an egg/larva/pupa).
Probability of survival
survival=double
Units: Proportion
Probability that mosquito survives this size (probability of egg hatching, a larva becoming a pupa or a pupa emerging as an adult, at the start of that stage).
Eggs laid by ovipositing mosquito
→ scenario → entomology → vector → anopheles → lifeCycle → femaleEggsLaidByOviposit
<femaleEggsLaidByOviposit
value=double
/>
Documentation (element)
Units: Eggs per feeding cycle
The total number of female eggs laid by a female mosquito at the conclusion to a feeding cycle.
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Simple Mosq-Pop-Dynamics parameters
→ scenario → entomology → vector → anopheles → simpleMPD
<simpleMPD>
IN ANY ORDER:
| <developmentDuration ... />
| <developmentSurvival ... />
| <femaleEggsLaidByOviposit ... />
</simpleMPD>
Documentation (element)
Parameters describing the simple mosquito population dynamics model.
This is a simpler version of the life-cycle model, requiring less parameters and with much simpler initialisation.
Duration
→ scenario → entomology → vector → anopheles → simpleMPD → developmentDuration
<developmentDuration
value=int
/>
Documentation (element)
Units: Days Min: 1
Duration from egg laying to emergence in days.
Attributes
Input parameter value
value=int
An integer value.
Probability of survival
→ scenario → entomology → vector → anopheles → simpleMPD → developmentSurvival
<developmentSurvival
value=double
/>
Documentation (element)
Units: Proportion Min: 0 Max: 1
Probability that mosquito survives from the egg being laid to emergence, given no resouce limitations (no density constraints).
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Eggs laid by ovipositing mosquito
→ scenario → entomology → vector → anopheles → simpleMPD → femaleEggsLaidByOviposit
<femaleEggsLaidByOviposit
value=double
/>
Documentation (element)
Units: Eggs per feeding cycle
The total number of female eggs laid by a female mosquito at the conclusion to a feeding cycle.
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Alternative (non-human) host paramters
→ scenario → entomology → vector → anopheles → nonHumanHosts
<nonHumanHosts
name=string
>
IN ANY ORDER:
| <mosqRelativeEntoAvailability ... />
| <mosqProbBiting ... />
| <mosqProbFindRestSite ... />
| <mosqProbResting ... />
</nonHumanHosts>
Documentation (element)
Min: 0
Non human host parameters, per type of host (must match up with non-species-specific parameters).
Attributes
Identifier for this category of non-human hosts
name=string
Identifier for this category of non-human hosts
Relative availability of non-human host (ξ_i)
→ scenario → entomology → vector → anopheles → nonHumanHosts → mosqRelativeEntoAvailability
<mosqRelativeEntoAvailability
value=double
/>
Documentation (element)
Units: Proportion
Relative availability of non-human hosts of type i to other non-human hosts; the sum of this across all non-human hosts must be 1.
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Probability of mosquito successfully biting host
→ scenario → entomology → vector → anopheles → nonHumanHosts → mosqProbBiting
<mosqProbBiting
value=double
/>
Documentation (element)
Units: Proportion
Probability of mosquito successfully biting host
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Probability that the mosquito escapes host and finds a resting place after biting
→ scenario → entomology → vector → anopheles → nonHumanHosts → mosqProbFindRestSite
<mosqProbFindRestSite
value=double
/>
Documentation (element)
Units: Proportion
Probability that the mosquito escapes host and finds a resting place after biting
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Probability of mosquito successfully resting after finding a resting site
→ scenario → entomology → vector → anopheles → nonHumanHosts → mosqProbResting
<mosqProbResting
value=double
/>
Documentation (element)
Units: Proportion
Probability of mosquito successfully resting after finding a resting site
Attributes
Input parameter value
value=double
A double-precision floating-point value.
nonHumanHosts
→ scenario → entomology → vector → nonHumanHosts
<nonHumanHosts
name=string
number=double
/>
Attributes
Species of alternative host
name=string
Name of this species of non human hosts (must match up with those described per anopheles section).
Population size of alternative host species
number=double
Units: Number
Population size of this non-human host.
Pharmacokinetics and pharmacodynamics
→ scenario → pharmacology
<pharmacology>
IN THIS ORDER:
| ( <drug ... /> )+
</pharmacology>
Documentation (element)
Drug model parameters
Library of drug parameters
→ scenario → pharmacology → drug
<drug
abbrev=string
>
IN THIS ORDER:
| <PD ... />
| <PK ... />
</drug>
Documentation (element)
Sequence of drug descriptions forming a library of drug parameters.
Attributes
abbrev
abbrev=string
PD
→ scenario → pharmacology → drug → PD
<PD>
IN THIS ORDER:
| ( <allele ... /> )+
</PD>
PD parameters per allele
→ scenario → pharmacology → drug → PD → allele
<allele
name=string
>
IN THIS ORDER:
| <initial_frequency ... />
| <max_killing_rate ... />
| <IC50 ... />
| <slope ... />
</allele>
Documentation (element)
PD parameters per allele, plus initial frequency of each allele.
Note: we assume a one-to-one correspondance of drugs to loci, hence each drug has an independent set of alleles here.
Attributes
name
name=string
Relative frequency
→ scenario → pharmacology → drug → PD → allele → initial_frequency
<initial_frequency>
double
</initial_frequency>
Documentation (element)
Units: dimensionless Min: 0
Frequency, relative to the total frequency of all alleles for this drug/locus.
Maximal parasite killing rate
→ scenario → pharmacology → drug → PD → allele → max_killing_rate
<max_killing_rate>
double
</max_killing_rate>
Documentation (element)
Units: 1/days Min: 0
k1 — Maximal parasite killing rate.
IC50
→ scenario → pharmacology → drug → PD → allele → IC50
<IC50>
double
</IC50>
Documentation (element)
Units: mg/l Min: 0
Half maximal effect concentration.
Slope of effect curve
→ scenario → pharmacology → drug → PD → allele → slope
<slope>
double
</slope>
Documentation (element)
n — Slope of the concentration effect curve
PK
→ scenario → pharmacology → drug → PK
<PK>
IN THIS ORDER:
| <negligible_concentration ... />
| <half_life ... />
| <vol_dist ... />
</PK>
Drug concentration considered negligible
→ scenario → pharmacology → drug → PK → negligible_concentration
<negligible_concentration>
double
</negligible_concentration>
Documentation (element)
Units: mg/l Min: 0
Concentration below which drug's effects are deemed negligible and can be removed from simulation.
drug half-life
→ scenario → pharmacology → drug → PK → half_life
<half_life>
double
</half_life>
Documentation (element)
Units: days Min: 0
Used to calculate elimination rate (which is: ln(2) / half_life).
Volume of Distribution
→ scenario → pharmacology → drug → PK → vol_dist
<vol_dist>
double
</vol_dist>
Documentation (element)
Units: l/kg Min: 0
Volume of Distribution
Model options and parameters
<model>
IN ANY ORDER:
| <ModelOptions ... />
| <clinical ... />
| <human ... />
| <parameters ... />
</model>
Documentation (element)
Encapsulation of all parameters which describe the model according to which fitting is done.
Model Options
→ scenario → model → ModelOptions
<ModelOptions>
IN THIS ORDER:
| ( <option ... /> )*
</ModelOptions>
Documentation (element)
All model options (bug fixes, choices between models, etc.).
The list of recognised options can be found in the code at:
include/util/ModelOptions.h and should also be in the wiki.
clinical
<clinical
healthSystemMemory=int
>
IN THIS ORDER:
| [ <NonMalariaFevers ... /> ]
</clinical>
Documentation (type)
Description of clinical parameters that are related to the health-system description, but which contain data that cannot be changed as part of an intervention and that are not restricted to treatment.
Attributes
Follow-up period during which recurrence is treated as a failure
healthSystemMemory=int
Units: Time steps Min: 1 Max: 100
Follow-up period during which a recurrence is considered to be a treatment failure
NonMalariaFevers
→ scenario → model → clinical → NonMalariaFevers
<NonMalariaFevers>
IN THIS ORDER:
| <incidence ... />
| <prNeedTreatmentNMF ... />
| <prNeedTreatmentMF ... />
</NonMalariaFevers>
Documentation (type)
Description of the incidence of non-malaria fever. Non-malaria fevers are only modelled if the NON_MALARIA_FEVERS option is used.
P(NMF)
→ scenario → model → clinical → NonMalariaFevers → incidence
<incidence
[ interpolation=("none" or "linear") ]
>
IN THIS ORDER:
| ( <group ... /> )+
</incidence>
Documentation (element)
Units: Dimensionless Min: 0.0 Max: 1.0
Probability that a non-malaria fever occurs given that no concurrent malaria fever occurs.
Attributes
interpolation
interpolation=("none" or "linear")
Interpolation algorithm. Normally it is desirable for age-based values to be continuous w.r.t. age. By default linear interpolation is used. With all algorithms except "none", the age groups are converted to a set of points centred within each age range. Extra points are added at each end (zero and infinity) to keep value constant at both ends of the function. A zero-length age group may be used as a kind of barrier to adjust the distribution; e.g. with age group boundaries at 15, 20 and 25 years, a (linear) spline would be drawn between ages 17.5 and 22.5, whereas with boundaries at 15, 20 and 20 years, a spline would be drawn between ages 17.5 and 20 years (may be desired if individuals are assumed to reach adult size at 20). Algorithms:
- none: input values are used directly
- linear: straight lines (on an age vs. value graph) are used to interpolate data points.
P(need treatment | NMF)
→ scenario → model → clinical → NonMalariaFevers → prNeedTreatmentNMF
<prNeedTreatmentNMF
[ interpolation=("none" or "linear") ]
>
IN THIS ORDER:
| ( <group ... /> )+
</prNeedTreatmentNMF>
Documentation (element)
Units: Dimensionless Min: 0 Max: 1
Probability that a non-malarial fever requires treatment with antibiotics (assuming fever is not induced by malaria, although concurrent parasites may be present).
Attributes
interpolation
interpolation=("none" or "linear")
Interpolation algorithm. Normally it is desirable for age-based values to be continuous w.r.t. age. By default linear interpolation is used. With all algorithms except "none", the age groups are converted to a set of points centred within each age range. Extra points are added at each end (zero and infinity) to keep value constant at both ends of the function. A zero-length age group may be used as a kind of barrier to adjust the distribution; e.g. with age group boundaries at 15, 20 and 25 years, a (linear) spline would be drawn between ages 17.5 and 22.5, whereas with boundaries at 15, 20 and 20 years, a spline would be drawn between ages 17.5 and 20 years (may be desired if individuals are assumed to reach adult size at 20). Algorithms:
- none: input values are used directly
- linear: straight lines (on an age vs. value graph) are used to interpolate data points.
P(need treatment | MF)
→ scenario → model → clinical → NonMalariaFevers → prNeedTreatmentMF
<prNeedTreatmentMF
[ interpolation=("none" or "linear") ]
>
IN THIS ORDER:
| ( <group ... /> )+
</prNeedTreatmentMF>
Documentation (element)
Units: Dimensionless Min: 0 Max: 1
Probability that a malaria fever needs treatment with antibiotics (assuming fever is induced by malaria, although concurrent bacteria may be present).
Meaning partially overlaps with separate model for comorbidity given malaria.
Attributes
interpolation
interpolation=("none" or "linear")
Interpolation algorithm. Normally it is desirable for age-based values to be continuous w.r.t. age. By default linear interpolation is used. With all algorithms except "none", the age groups are converted to a set of points centred within each age range. Extra points are added at each end (zero and infinity) to keep value constant at both ends of the function. A zero-length age group may be used as a kind of barrier to adjust the distribution; e.g. with age group boundaries at 15, 20 and 25 years, a (linear) spline would be drawn between ages 17.5 and 22.5, whereas with boundaries at 15, 20 and 20 years, a spline would be drawn between ages 17.5 and 20 years (may be desired if individuals are assumed to reach adult size at 20). Algorithms:
- none: input values are used directly
- linear: straight lines (on an age vs. value graph) are used to interpolate data points.
human
<human>
IN THIS ORDER:
| <availabilityToMosquitoes ... />
| [ <weight ... /> ]
</human>
Documentation (type)
Parameters of host models.
Availability to mosquitoes
→ scenario → model → human → availabilityToMosquitoes
<availabilityToMosquitoes
[ interpolation=("none" or "linear") ]
>
IN THIS ORDER:
| ( <group ... /> )+
</availabilityToMosquitoes>
Documentation (element)
Units: None Min: 0 Max: 1
Availability of humans to mosquitoes relative to an adult, categorized by age group
Attributes
interpolation
interpolation=("none" or "linear")
Interpolation algorithm. Normally it is desirable for age-based values to be continuous w.r.t. age. By default linear interpolation is used. With all algorithms except "none", the age groups are converted to a set of points centred within each age range. Extra points are added at each end (zero and infinity) to keep value constant at both ends of the function. A zero-length age group may be used as a kind of barrier to adjust the distribution; e.g. with age group boundaries at 15, 20 and 25 years, a (linear) spline would be drawn between ages 17.5 and 22.5, whereas with boundaries at 15, 20 and 20 years, a spline would be drawn between ages 17.5 and 20 years (may be desired if individuals are assumed to reach adult size at 20). Algorithms:
- none: input values are used directly
- linear: straight lines (on an age vs. value graph) are used to interpolate data points.
Weight
→ scenario → model → human → weight
<weight
[ interpolation=("none" or "linear") ]
multStdDev=double
>
IN THIS ORDER:
| ( <group ... /> )+
</weight>
Documentation (element)
Units: kg Min: 0
By age group data on human weight (mass).
Attributes
interpolation
interpolation=("none" or "linear")
Interpolation algorithm. Normally it is desirable for age-based values to be continuous w.r.t. age. By default linear interpolation is used. With all algorithms except "none", the age groups are converted to a set of points centred within each age range. Extra points are added at each end (zero and infinity) to keep value constant at both ends of the function. A zero-length age group may be used as a kind of barrier to adjust the distribution; e.g. with age group boundaries at 15, 20 and 25 years, a (linear) spline would be drawn between ages 17.5 and 22.5, whereas with boundaries at 15, 20 and 20 years, a spline would be drawn between ages 17.5 and 20 years (may be desired if individuals are assumed to reach adult size at 20). Algorithms:
- none: input values are used directly
- linear: straight lines (on an age vs. value graph) are used to interpolate data points.
Standard deviation
multStdDev=double
Units: None Min: 0
Each human is assigned a weight multiplier from a normal distribution with mean 1 and this standard deviation at birth. His/her weight is this multiplier times the mean from age distribution. A standard deviation of zero for no heterogeneity is valid; a rough value from Tanzanian data is 0.14.
Parameters of the model of epidemiology
→ scenario → model → parameters
<parameters
interval=int
iseed=int
latentp=int
>
IN THIS ORDER:
| ( <parameter ... /> )+
</parameters>
Documentation (element)
Parameters of the epidemiological model
Attributes
Simulation step
interval=int
Units: Days
Simulation step
Random number seed
iseed=int
Units: Number
Seed for RNG
Pre-erythrocytic latent period
latentp=int
Units: Time steps Min: 0 Max: 20
pre-erythrocytic latent period, in time steps
parameter
→ scenario → model → parameters → parameter
<parameter
name=string
number=int
value=double
[ include=boolean ]
/>
Attributes
Name of parameter
name=string
Units: string
Name of parameter
Parameter number
number=int
Units: Number Min: 1 Max: 100
Reference number of input parameter
Parameter value
value=double
Units: Number Min: 0
Parameter value
Sampling indicator
include=boolean
Units: Number Min: 0 Max: 1
True if parameter is to be sampled in optimization runs. Not used in simulator app.
Schema 29 documentation
Generated from: scenario_29.xsd
.
Key:
abc required (one)
[ def ] optional (zero or one)
( ghi )* any number (zero or more)
( jkl )+ at least one
( mno ){2,inf} two or more occurrences
Scenario
→ scenario
<scenario
schemaVersion=int
analysisNo=int
name=string
wuID=int
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:noNamespaceSchemaLocation="scenario_29.xsd"
>
IN ANY ORDER:
| <demography ... />
| <monitoring ... />
| <interventions ... />
| <healthSystem ... />
| <entomology ... />
| [ <pharmacology ... /> ]
| <model ... />
</scenario>
Documentation (element)
Units: List of elements
Description of scenario
Attributes
Version of the xml schema
schemaVersion=int
Version of xml schema. If not equal to the current version an error is thrown. Use SchemaTranslator to update xml files.
Reference number of the analysis
analysisNo=int
Units: Number Min: 1 Max: 100000000
Unique identifier of scenario
Name of intervention
name=string
Units: string
Name of intervention
Work unit identifier
wuID=int
Units: Number Min: 1 Max: 100000000
Work unit ID. Only used to validate checkpointing, to prevent checkpoint cheats.
Human age distribution
→ scenario → demography
<demography
name=string
popSize=int
maximumAgeYrs=double
[ growthRate=double ]
>
IN THIS ORDER:
| <ageGroup ... />
</demography>
Documentation (element)
Units: List of elements
Description of demography
Attributes
Name of demography data
name=string
Units: string
Name of demography data
Population size
popSize=int
Units: Count Min: 1 Max: 100000
Population size
Maximum age of simulated humans
maximumAgeYrs=double
Units: years Min: 0 Max: 100
Maximum age of simulated humans in years.
Growth rate of human population
growthRate=double
Units: Number Min: 0 Max: 0
Growth rate of human population. (we should be able to implement this with non-zero values)
Age groups
→ scenario → demography → ageGroup
<ageGroup
lowerbound=double
>
IN THIS ORDER:
| ( <group ... /> )+
</ageGroup>
Documentation (element)
Units: List of elements
List of age groups included in demography
Documentation (type)
Units: List of elements
List of age groups included in demography or surveys
Attributes
lower bound of age group
lowerbound=double
Units: Years Min: 0 Max: 100
Lower bound of age group
group
→ scenario → demography → ageGroup → group
<group
poppercent=double
upperbound=double
/>
Attributes
Percentage in age group
poppercent=double
Percentage of human population in age group
upper bound of age group
upperbound=double
Units: Years Min: 0 Max: 100
Upper bound of age group
Measures to be reported
→ scenario → monitoring
<monitoring
name=string
[ cohortOnly=boolean ]
[ firstBoutOnly=boolean ]
[ firstTreatmentOnly=boolean ]
[ firstInfectionOnly=boolean ]
>
IN THIS ORDER:
| [ <continuous ... /> ]
| <SurveyOptions ... />
| <surveys ... />
| <ageGroup ... />
</monitoring>
Documentation (element)
Units: List of elements
Description of surveys
Attributes
Name of monitoring information
name=string
Units: string
Name of monitoring data
Survey only cohort
cohortOnly=boolean
If true, for many output measures, the output comes only from individuals in the cohort; otherwise output is from the entire population. Does not need to be specified if no cohort-selecting "interventions" are present.
Time to first episode only
firstBoutOnly=boolean
If true, remove individuals from the cohort at the start of the first episode (start of a clinical bout) since they were recruited into the cohort. This is intended for cohort studies that intend to measure time to first episode, using active case detection.
Time to first treatment only
firstTreatmentOnly=boolean
If true, remove individuals from the cohort when they first seek treatment since they were recruited into the cohort. This is intended for cohort studies that intend to measure time to first episode, using passive case detection.
Time to first infection only
firstInfectionOnly=boolean
If true, remove individuals from the cohort at completion of the first survey in which they present with a patent infection since they were recruited into the cohort. This intended for cohort studies that intend to measure time to first infection, using active case detection.
continuous
→ scenario → monitoring → continuous
<continuous
period=int
[ duringInit=boolean ]
>
IN THIS ORDER:
| ( <option ... /> )*
</continuous>
Attributes
Days between reports
period=int
Units: Days Min: 1 Max: unbounded
Number of timesteps between reports.
During initialization
duringInit=boolean
Units: Days Min: 1 Max: unbounded
Also output during initialization. By default this is disabled (only intervention-period data is output). This should not be used for predictions, but can be useful for model validation. In this mode, 'simulation time' is output as the first column (in addition to 'timestep'), since 'timestep' is dis- continuous across the start of the intervention period.
option
→ scenario → monitoring → continuous → option
<option
name=string
[ value=boolean ] DEFAULT VALUE true
/>
Attributes
Model options required
name=string
Options define different model structures. Option name. Must be one of a strictly defined set. Options are not required to be listed if their default value is desired.
Indicator of whether option is required
value=boolean
Default value: true
Option value (true/false). Each option has a default value used if the option is not listed (usually false but sometimes true).
Name of quantity
→ scenario → monitoring → SurveyOptions
<SurveyOptions>
IN THIS ORDER:
| ( <option ... /> )*
</SurveyOptions>
Documentation (element)
List of all active survey options. See include/Survey.h for a list of supported outputs. Should also be on the wiki.
Survey times (time steps)
→ scenario → monitoring → surveys
<surveys
detectionLimit=double
>
IN THIS ORDER:
| ( <surveyTime ... /> )+
</surveys>
Documentation (element)
Units: List of elements
List of survey times
Attributes
Detection limit for parasitaemia
detectionLimit=double
Units: parasites/microlitre Min: 0
Limit above which a human's infection is reported as patent.
Survey time
→ scenario → monitoring → surveys → surveyTime
<surveyTime>
int
</surveyTime>
Documentation (element)
Units: Number Min: 0
Survey time; 0 means just before start of main sim and is a valid survey-point. Reported data is either from a point-time survey (immediate data) or is collected over the previous year (data from previous timesteps-per-year period). Simulation will end immediately after last survey is taken.
Age groups
→ scenario → monitoring → ageGroup
<ageGroup
lowerbound=double
>
IN THIS ORDER:
| ( <group ... /> )+
</ageGroup>
Documentation (element)
Units: List of elements
List of age groups included in demography or surveys
Documentation (type)
Units: List of elements
List of age groups included in surveys
Attributes
lower bound of age group
lowerbound=double
Units: Years Min: 0 Max: 100
Lower bound of age group
group
→ scenario → monitoring → ageGroup → group
<group
upperbound=double
/>
Attributes
upper bound of age group
upperbound=double
Units: Years Min: 0 Max: 100
Upper bound of age group
Preventative interventions
<interventions
name=string
>
IN ANY ORDER:
| [ <changeHS ... /> ]
| [ <changeEIR ... /> ]
| [ <MDA ... /> ]
| [ <vaccine ... /> ]
| [ <IPT ... /> ]
| [ <ITN ... /> ]
| [ <IRS ... /> ]
| [ <vectorDeterrent ... /> ]
| [ <cohort ... /> ]
| [ <importedInfections ... /> ]
| [ <immuneSuppression ... /> ]
| [ <insertR_0Case ... /> ]
| [ <uninfectVectors ... /> ]
| [ <larviciding ... /> ]
</interventions>
- changeHS
- changeEIR
- MDA
- vaccine
- IPT
- ITN
- IRS
- vectorDeterrent
- cohort
- importedInfections
- immuneSuppression
- insertR_0Case
- uninfectVectors
- larviciding
Documentation (element)
Units: List of elements
List of interventions. Generally these are either point-time distributions of something to some subset of the population, or continuous-time distribution targetting individuals when they reach a certain age.
Attributes
Intervention
name=string
Units: string
Name of set of interventions
Change health system
→ scenario → interventions → changeHS
<changeHS
[ name=string ]
>
IN THIS ORDER:
| ( <timed ... /> )*
</changeHS>
Documentation (element)
Changes to the health system
Attributes
Name of intervention
name=string
Units: string
Name of intervention
timed
→ scenario → interventions → changeHS → timed
<timed
time=int
>
IN THIS ORDER:
| EXACTLY ONE OF:
| | <EventScheduler ... />
| | <ImmediateOutcomes ... />
| <CFR ... />
| <pSequelaeInpatient ... />
</timed>
Documentation (type)
A complete replacement health system. Replaces all previous properties. (Health system can be replaced multiple times if necessary.)
Documentation (base type)
Units: List of elements
Description of case management system, used to specify the initial model or a replacement (an intervention). Encompasses case management data and some other data required to derive case outcomes.
Contains a sub-element describing the particular health-system in use. Health system data is here defined as data used to decide on a treatment strategy, given a case requiring treatment.
Attributes
Time
time=int
Units: time-steps Min: 0
Time-step at which this replacement occurs, starting from 0, the first intervention-period time-step.
EventScheduler
→ scenario → healthSystem → EventScheduler
<EventScheduler>
IN THIS ORDER:
| <uncomplicated ... />
| <complicated ... />
| <ClinicalOutcomes ... />
| [ <NonMalariaFevers ... /> ]
</EventScheduler>
uncomplicated
→ scenario → healthSystem → EventScheduler → uncomplicated
<uncomplicated>
IN THIS ORDER:
| <decisions ... />
| <treatments ... />
</uncomplicated>
Documentation (type)
Units: List of elements
A set of decisions and a set of treatments.
decisions
→ scenario → interventions → MDA → description → decisions
<decisions>
IN THIS ORDER:
| ( <decision ... /> )*
</decisions>
Documentation (type)
Description of decisions for a case management tree. A generic view of this tree would be that each decision is deterministic, or based on probabilities which may depend on other decisions. Probabilistic decisions are described here.
In general, each decision has a name, a defined set of outcome values, and a set of dependent decisions mentioned by name. The following decisions, with their associated outcomes, are provided by the code (and may not be included here):
- case (uncomplicated only): Returns "UC1" if there is no recent history of a malarial case, or "UC2" if there is.
- result: Dependent on decision "test", this performs a parasite density test. Output is one of "none" (no test performed), "positive", "negative".
The following decisions must be described here:
- test (uncomplicated only): Outputs must be "none", "microscopy" or "RDT" to describe which test the "result" decision uses.
- treatment: Describes which treatment to use. Values aren't restricted but must match up with a treatment described in the corresponding "treatments" section.
- hospitalisation (complicated only): none, immediate or delayed.
decision
→ scenario → interventions → MDA → description → decisions → decision
<decision
name=string
depends=string
values=string
>
string
</decision>
Documentation (type)
A decision describes how to choose between a set of values.
Lexically, it can contain symbols matching "[_.a-zA-Z0-9]+", round brackets: (), braces: {} and colons. Whitespace is ignored except to separate symbols.
Syntactically, it must match one TREE, where SYMBOL is a symbol described above. (Here, "x|y" means x or y, "x+" means x occurs once or more, brackets show grouping.) TREE := BRANCH_SET | OUTCOME BRANCH_SET := BRANCH+ BRANCH := DECISION '(' VALUE ')' ( ':' OUTCOME | '{' TREE '}' ) OUTCOME, DECISION, VALUE := SYMBOL
For each BRANCH_SET each BRANCH must have the same DECISION. This DECISION must be one of the dependencies mentioned in "depends". This may be:
- another decision, in which case the VALUE immediately following in brackets must correspond to one of its output values. The BRANCH_SET immediately containing this BRANCH must represent each output value of the same decision exactly once, and no parent BRANCH_SET may be for the same DECISION.
- "p": this indicates a probabilistic decision. In this case the value is a probability, the sum of all values for the BRANCH_SET must be 1 and the decision must be associated directly with OUTCOMEs (not sub-TREEs).
- "age": this indicates an age-test. The VALUE must have the form "a-b", indicating that this branch will be taken for individuals aged such that a <= age < b, where a,b are non-negative real numbers or the special value "inf", and a <= b. All VALUEs in the BRANCH_SET must cover all possible (non-negative real) ages, with no overlap (hence, smallest a must be 0 and greatest b must be inf).
Semantically, each OUTCOME must be one of the values associated with this decision.
Attributes
Name of decision
name=string
The name of this decision. The name must match the regular expression "[_a-zA-Z0-9]+"; that is it can only contain letters, digits and _ characters (no spaces, punctuation, etc.).
Preceding decisions
depends=string
A comma-separated list of decisions that must have already been evaluated before this decision can be evaluated. Can be empty. Each must be hard-coded or described here. Can include the special decisions "p" and "age", though "age" cannot be combined with any other dependency.
Outcome values
values=string
A comma-separated list of outcome values this decision may have. The name of each value must be of the same form as decision names (i.e. only contain letters, digits and _ characters).
treatments
→ scenario → interventions → MDA → description → treatments
<treatments>
IN THIS ORDER:
| ( <treatment ... /> )*
</treatments>
Documentation (type)
Units: string
A list of drug treatment tables. Each should have a name corresponding to one of the "drug" decision's values.
treatment
→ scenario → interventions → MDA → description → treatments → treatment
<treatment
name=string
>
IN THIS ORDER:
| <schedule ... />
| ( <modifier ... /> )*
</treatment>
Documentation (type)
Units: List of elements
A description of a base treatment schedule along with modifiers to handle delays, quality variations, etc.
Attributes
Treatment administered
name=string
Units: string
Name corresponding to one of the drug decision's output values.
schedule
→ scenario → interventions → MDA → description → treatments → treatment → schedule
<schedule>
IN THIS ORDER:
| ( <medicate ... /> )*
</schedule>
Documentation (type)
Units: List of elements
The base (unmodified) schedule of drugs administered for this treatment.
medicate
→ scenario → interventions → MDA → description → treatments → treatment → schedule → medicate
<medicate
drug=string
mg=double
hour=double
[ duration=double ]
/>
Attributes
drug
drug=string
Units: string
Abbreviated name of drug compound
drug dose
mg=double
Units: mg
Quantity of drug compound
time of administration
hour=double
Units: hours Min: 0
Number of hours past start of timestep this drug dose is administered at (first dose should be at hour 0).
duration of administration
duration=double
Units: hours Min: 0
If this attribute is given, use IV administration instead of orally. Specifies the number of hours over which the dose is administered.
modifier
→ scenario → interventions → MDA → description → treatments → treatment → modifier
<modifier
decision=string
>
EXACTLY ONE OF:
| ( <multiplyQty ... /> )*
| ( <delay ... /> )*
| ( <selectTimeRange ... /> )*
</modifier>
Documentation (type)
Units: Choice of elements
A modifier for this treatment, according to the outputs of a decision.
The "decision" attribute must be the name of a known decision. Then, there must be a set of multipyQty, delay or selectTimeRange sub-elements, each of which corresponds to one value output of the decision.
Attributes
decision
decision=string
Units: string
Specifies the decision that this modifier acts on.
Active ingredient multipliers
→ scenario → interventions → MDA → description → treatments → treatment → modifier → multiplyQty
<multiplyQty
value=string
effect=string
[ affectsCost=boolean ]
/>
Documentation (element)
Units: Comma separated list of values
Multiplies the quantity of active ingredients of drugs administered.
The "drugs" attribute is a comma-separated list of all active ingredients administered in the base schedule (each must be listed once) and the content of this element is a comma- separated list of multipliers for each active ingredient, listed in the same order as in the "drugs" attribute. E.g. with drugs="A,B" and content "0.5,1" the quantity of drug A is halved while that of B is unchanged.
Attributes
value of decision
value=string
Units: string
Specifies a value of the decision to act on.
List of drugs affected
effect=string
Units: string
Comma-separated list of the effect the modifier has on each drug, in the form DRUG1(EFFECT1),DRUG2(EFFECT2), etc.
Affects cost?
affectsCost=boolean
Units: none
Does this affect the cost? If false, the effective drug usage (w.r.t. cost) is unaffected by this modifier; if true it is. Defaults to true (if omitted). Is meaningless for delays.
Active ingredient delays
→ scenario → interventions → MDA → description → treatments → treatment → modifier → delay
<delay
value=string
effect=string
[ affectsCost=boolean ]
/>
Documentation (element)
Units: Comma separated list of values
Delays administration of drugs listed in the base schedule by so many hours.
The "drugs" attribute is a comma-separated list of all active ingredients administered in the base schedule (each must be listed once) and the content of this element is a comma- separated list of delays (in hours) for each active ingredient, listed in the same order as in the "drugs" attribute. E.g. with drugs="A,B" and content "0,6", drug A is administered as in the base schedule while drug B is administered 6 hours later than specified.
Attributes
value of decision
value=string
Units: string
Specifies a value of the decision to act on.
List of drugs affected
effect=string
Units: string
Comma-separated list of the effect the modifier has on each drug, in the form DRUG1(EFFECT1),DRUG2(EFFECT2), etc.
Affects cost?
affectsCost=boolean
Units: none
Does this affect the cost? If false, the effective drug usage (w.r.t. cost) is unaffected by this modifier; if true it is. Defaults to true (if omitted). Is meaningless for delays.
Active ingredient time-ranges
→ scenario → interventions → MDA → description → treatments → treatment → modifier → selectTimeRange
<selectTimeRange
value=string
effect=string
[ affectsCost=boolean ]
/>
Documentation (element)
Units: Comma separated list of values
Selects which drug doses to administer according to time of administration (before times are modified by delays). Half-open interval: [x,y)
The "drugs" attribute is a comma-separated list of all active ingredients administered in the base schedule (each must be listed once) and the content of this element is a comma- separated list of time-ranges (in hours) for each active ingredient, listed in the same order as in the "drugs" attribute. The time-ranges should be of the form x-y and are interpreted as the half-open interval [x,y); that is a drug listed with time t will only be administered if x <= t < y.
Attributes
value of decision
value=string
Units: string
Specifies a value of the decision to act on.
List of drugs affected
effect=string
Units: string
Comma-separated list of the effect the modifier has on each drug, in the form DRUG1(EFFECT1),DRUG2(EFFECT2), etc.
Affects cost?
affectsCost=boolean
Units: none
Does this affect the cost? If false, the effective drug usage (w.r.t. cost) is unaffected by this modifier; if true it is. Defaults to true (if omitted). Is meaningless for delays.
complicated
→ scenario → healthSystem → EventScheduler → complicated
<complicated>
IN THIS ORDER:
| <decisions ... />
| <treatments ... />
</complicated>
Documentation (type)
Units: List of elements
A set of decisions and a set of treatments.
ClinicalOutcomes
→ scenario → healthSystem → EventScheduler → ClinicalOutcomes
<ClinicalOutcomes>
IN THIS ORDER:
| <maxUCSeekingMemory ... />
| <uncomplicatedCaseDuration ... />
| <complicatedCaseDuration ... />
| <complicatedRiskDuration ... />
| ( <dailyPrImmUCTS ... /> )+
</ClinicalOutcomes>
- maxUCSeekingMemory
- uncomplicatedCaseDuration
- complicatedCaseDuration
- complicatedRiskDuration
- dailyPrImmUCTS
Documentation (type)
Description of base parameters of the clinical model.
Max UC treatment-seeking memory
→ scenario → healthSystem → EventScheduler → ClinicalOutcomes → maxUCSeekingMemory
<maxUCSeekingMemory>
int
</maxUCSeekingMemory>
Documentation (element)
Units: days Min: 0 Max: unbounded
Maximum number of timesteps (including first of case) an individual will remember they are sick before resetting.
Uncomplicated case duration
→ scenario → healthSystem → EventScheduler → ClinicalOutcomes → uncomplicatedCaseDuration
<uncomplicatedCaseDuration>
int
</uncomplicatedCaseDuration>
Documentation (element)
Units: days Min: 1 Max: unbounded
Fixed length of an uncomplicated case of malarial/non-malarial sickness (from treatment seeking until return to life-as-usual). Usually 3.
Complicated case duration
→ scenario → healthSystem → EventScheduler → ClinicalOutcomes → complicatedCaseDuration
<complicatedCaseDuration>
int
</complicatedCaseDuration>
Documentation (element)
Units: days Min: 1 Max: unbounded
Fixed length of a complicated/severe case of malaria (from treatment seeking until return to life-as-usual).
Complicated risk duration
→ scenario → healthSystem → EventScheduler → ClinicalOutcomes → complicatedRiskDuration
<complicatedRiskDuration>
int
</complicatedRiskDuration>
Documentation (element)
Units: days Min: 1 Max: unbounded
Number of days for which humans are at risk of death during a severe or complicated case of malaria. Cannot be greater than the duration of a complicated case or less than 1 day.
Daily probability of immediate treatment seeking for uncomplicated cases
→ scenario → healthSystem → EventScheduler → ClinicalOutcomes → dailyPrImmUCTS
<dailyPrImmUCTS>
double
</dailyPrImmUCTS>
Documentation (element)
Units: none Min: 0 Max: 1
It is sometimes desirable to model delays to treatment seeking in uncomplicated cases. While treatment of drugs can be delayed within case management trees to provide a similar effect, this doesn't delay any of the decisions, including diagnostics using the current parasite density.
Instead a list of dailyPrImmUCTS elements can be used, describing successive daily probabilities of treatment (sum must be 1). For example, with a list of two elements with values 0.8 and 0.2, for 80% of UC cases the decision tree is evaluated immediately, and for 20% of cases evaluation is delayed by one day.
For no delay, use one element with a value of 1.
NonMalariaFevers
→ scenario → healthSystem → EventScheduler → NonMalariaFevers
<NonMalariaFevers>
IN THIS ORDER:
| <prTreatment ... />
| <effectNegativeTest ... />
| <effectPositiveTest ... />
| <effectNeed ... />
| <effectInformal ... />
| <CFR ... />
| <TreatmentEfficacy ... />
</NonMalariaFevers>
Documentation (type)
Description of non-malaria fever health-system modelling (treatment, outcomes and costing). Incidence is described by the model->clinical->NonMalariaFevers element. Non-malaria fevers are only modelled if the NON_MALARIA_FEVERS option is used.
As further explanation of the parameters below, we first take: β₀ = logit(P₀) - β₃·P(need), and then calculate the probability of antibiotic administration, P(AB), dependent on treatment seeking location. No seeking: P(AB) = 0 Informal sector: logit(P(AB)) = β₀ + β₄ Health facility: logit(P(AB)) = β₀ + β₁·I(neg) + β₂·I(pos) + β₃·I(need) (where I(X) is 1 when event X is true and 0 otherwise, logit(p)=log(p/(1-p)), event "need" is the event that death may occur without treatment, events "neg" and "pos" are the events that a malaria parasite diagnositic was used and indicated no parasites and parasites respectively).
P(treatment|no diagnostic)
→ scenario → healthSystem → EventScheduler → NonMalariaFevers → prTreatment
<prTreatment>
double
</prTreatment>
Documentation (element)
Units: none Min: 0 Max: 1
Probability of a non-malaria fever being treated with an antibiotic given that no malaria diagnostic was used but independent of need. Symbol: P₀.
Effect of a negative test
→ scenario → healthSystem → EventScheduler → NonMalariaFevers → effectNegativeTest
<effectNegativeTest>
double
</effectNegativeTest>
Documentation (element)
The effect of a negative malaria diagnostic on the odds ratio of receiving antibiotics. Symbol: exp(β₁).
Effect of a positive test
→ scenario → healthSystem → EventScheduler → NonMalariaFevers → effectPositiveTest
<effectPositiveTest>
double
</effectPositiveTest>
Documentation (element)
The effect of a positive malaria diagnostic on the odds ratio of receiving antibiotics. Symbol: exp(β₂).
Effect of need
→ scenario → healthSystem → EventScheduler → NonMalariaFevers → effectNeed
<effectNeed>
double
</effectNeed>
Documentation (element)
The effect of needing antibiotic treatment on the odds ratio of receiving antibiotics. Symbol: exp(β₃).
Effect of informal provider
→ scenario → healthSystem → EventScheduler → NonMalariaFevers → effectInformal
<effectInformal>
double
</effectInformal>
Documentation (element)
The effect of seeking treatment from an informal provider (i.e. a provider untrained in NMF diagnosis) on the odds ratio of receiving antibiotics. Symbol: exp(β₄)
Case fatality rate
→ scenario → healthSystem → EventScheduler → NonMalariaFevers → CFR
<CFR
[ interpolation=("none" or "linear") ]
>
IN THIS ORDER:
| ( <group ... /> )+
</CFR>
Documentation (element)
Units: none Min: 0 Max: 1
Base case fatality rate for non-malaria fevers (probability of death from a fever requiring antibiotic treatment given that no antibiotic treatment is received, per age-group).
Attributes
interpolation
interpolation=("none" or "linear")
Units: none
Interpolation algorithm. Normally it is desirable for age-based values to be continuous w.r.t. age. By default linear interpolation is used. With all algorithms except "none", the age groups are converted to a set of points centred within each age range. Extra points are added at each end (zero and infinity) to keep value constant at both ends of the function. A zero-length age group may be used as a kind of barrier to adjust the distribution; e.g. with age group boundaries at 15, 20 and 25 years, a (linear) spline would be drawn between ages 17.5 and 22.5, whereas with boundaries at 15, 20 and 20 years, a spline would be drawn between ages 17.5 and 20 years (may be desired if individuals are assumed to reach adult size at 20). Algorithms:
- none: input values are used directly
- linear: straight lines (on an age vs. value graph) are used to interpolate data points.
age group
→ scenario → healthSystem → CFR → group
<group
value=double
lowerbound=double
/>
Documentation (element)
A series of values according to age groups, each specified with a lower-bound and a value. The first lower-bound specified must be zero; a final upper-bound of infinity is added to complete the last age group. At least one age group is required. Normally these are interpolated by a continuous function (see interpolation attribute).
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Lower bound
lowerbound=double
Units: Years Min: 0 Max: 100
Lower bound of age group
Treatment efficacy
→ scenario → healthSystem → EventScheduler → NonMalariaFevers → TreatmentEfficacy
<TreatmentEfficacy>
double
</TreatmentEfficacy>
Documentation (element)
Units: none Min: 0 Max: 1
Probability that treatment would prevent a death (i.e. CFR is multiplied by one minus this when treatment occurs).
ImmediateOutcomes
→ scenario → healthSystem → ImmediateOutcomes
<ImmediateOutcomes
name=string
>
IN THIS ORDER:
| <drugRegimen ... />
| <initialACR ... />
| <compliance ... />
| <nonCompliersEffective ... />
| <pSeekOfficialCareUncomplicated1 ... />
| <pSelfTreatUncomplicated ... />
| <pSeekOfficialCareUncomplicated2 ... />
| <pSeekOfficialCareSevere ... />
</ImmediateOutcomes>
- drugRegimen
- initialACR
- compliance
- nonCompliersEffective
- pSeekOfficialCareUncomplicated1
- pSelfTreatUncomplicated
- pSeekOfficialCareUncomplicated2
- pSeekOfficialCareSevere
Documentation (type)
Units: List of elements
Description of "immediate outcomes" health system: Tediosi et al case management model (Case management as described in AJTMH 75 (suppl 2) pp90-103).
Attributes
Case Management model
name=string
Units: string
Name of health system
Description of drug regimen
→ scenario → healthSystem → ImmediateOutcomes → drugRegimen
<drugRegimen
firstLine=string
secondLine=string
inpatient=string
/>
Documentation (element)
Units: List of elements
Description of drug regimen
Attributes
First line drug
firstLine=string
Units: Drug code
Code for first line drug
Second line drug
secondLine=string
Units: Drug code
Code for second line drug
Drug use for treating inpatients
inpatient=string
Units: Drug code
Code for drug used for treating inpatients
Initial cure rate
→ scenario → healthSystem → ImmediateOutcomes → initialACR
<initialACR>
IN THIS ORDER:
| [ <CQ ... /> ]
| [ <SP ... /> ]
| [ <AQ ... /> ]
| [ <SPAQ ... /> ]
| [ <ACT ... /> ]
| [ <QN ... /> ]
| <selfTreatment ... />
</initialACR>
Documentation (element)
Units: Proportion Min: 0 Max: 1
Initial cure rate
Chloroquine
→ scenario → healthSystem → ImmediateOutcomes → initialACR → CQ
<CQ
value=double
/>
Documentation (element)
Units: List of elements
Chloroquine
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Sulphadoxine-pyrimethamine
→ scenario → healthSystem → ImmediateOutcomes → initialACR → SP
<SP
value=double
/>
Documentation (element)
Units: List of elements
Sulphadoxine-pyrimethamine
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Amodiaquine
→ scenario → healthSystem → ImmediateOutcomes → initialACR → AQ
<AQ
value=double
/>
Documentation (element)
Units: List of elements
Amodiaquine
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Sulphadoxine-pyrimethamine/Amodiaquine
→ scenario → healthSystem → ImmediateOutcomes → initialACR → SPAQ
<SPAQ
value=double
/>
Documentation (element)
Units: List of elements
Sulphadoxine-pyrimethamine/Amodiaquine
Attributes
Input parameter value
value=double
A double-precision floating-point value.
ACT
→ scenario → healthSystem → ImmediateOutcomes → initialACR → ACT
<ACT
value=double
/>
Documentation (element)
Units: List of elements
Artemisinine combination therapy
Attributes
Input parameter value
value=double
A double-precision floating-point value.
QN
→ scenario → healthSystem → ImmediateOutcomes → initialACR → QN
<QN
value=double
/>
Documentation (element)
Units: List of elements
Quinine
Attributes
Input parameter value
value=double
A double-precision floating-point value.
selfTreatment
→ scenario → healthSystem → ImmediateOutcomes → initialACR → selfTreatment
<selfTreatment
value=double
/>
Documentation (element)
Units: Proportion Min: 0 Max: 1
Probability of self-treatment
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Adherence to treatment
→ scenario → healthSystem → ImmediateOutcomes → compliance
<compliance>
IN THIS ORDER:
| [ <CQ ... /> ]
| [ <SP ... /> ]
| [ <AQ ... /> ]
| [ <SPAQ ... /> ]
| [ <ACT ... /> ]
| [ <QN ... /> ]
| <selfTreatment ... />
</compliance>
Documentation (element)
Units: Proportion Min: 0 Max: 1
Adherence to treatment
Effectiveness of treatment in non-adherent patients
→ scenario → healthSystem → ImmediateOutcomes → nonCompliersEffective
<nonCompliersEffective>
IN THIS ORDER:
| [ <CQ ... /> ]
| [ <SP ... /> ]
| [ <AQ ... /> ]
| [ <SPAQ ... /> ]
| [ <ACT ... /> ]
| [ <QN ... /> ]
| <selfTreatment ... />
</nonCompliersEffective>
Documentation (element)
Units: Proportion Min: 0 Max: 1
Effectiveness of treatment of non compliers
Probability that a patient with uncomplicated disease seeks official care immediately
→ scenario → healthSystem → ImmediateOutcomes → pSeekOfficialCareUncomplicated1
<pSeekOfficialCareUncomplicated1
value=double
/>
Documentation (element)
Units: Proportion Min: 0 Max: 1
Probability that a patient with newly incident uncomplicated disease seeks official care
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Probability that a patient with uncomplicated disease self-treats
→ scenario → healthSystem → ImmediateOutcomes → pSelfTreatUncomplicated
<pSelfTreatUncomplicated
value=double
/>
Documentation (element)
Units: Proportion Min: 0 Max: 1
Probability that a patient with uncomplicated disease self-treats
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Probability that a recurring patient seeks official care
→ scenario → healthSystem → ImmediateOutcomes → pSeekOfficialCareUncomplicated2
<pSeekOfficialCareUncomplicated2
value=double
/>
Documentation (element)
Units: Proportion Min: 0 Max: 1
Probability that a patient with recurrence of uncomplicated disease seeks official care
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Probability that a patient with severe disease obtains appropriate care
→ scenario → healthSystem → ImmediateOutcomes → pSeekOfficialCareSevere
<pSeekOfficialCareSevere
value=double
/>
Documentation (element)
Units: Proportion Min: 0 Max: 1
Probability that a patient with severe disease obtains appropriate care
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Case fatality rate in inpatients
→ scenario → healthSystem → CFR
<CFR
[ interpolation=("none" or "linear") ]
>
IN THIS ORDER:
| ( <group ... /> )+
</CFR>
Documentation (element)
Units: List of elements
Case fatality rate (probability of an inpatient fatality from a bout of severe malaria, per age-group).
Attributes
interpolation
interpolation=("none" or "linear")
Units: none
Interpolation algorithm. Normally it is desirable for age-based values to be continuous w.r.t. age. By default linear interpolation is used. With all algorithms except "none", the age groups are converted to a set of points centred within each age range. Extra points are added at each end (zero and infinity) to keep value constant at both ends of the function. A zero-length age group may be used as a kind of barrier to adjust the distribution; e.g. with age group boundaries at 15, 20 and 25 years, a (linear) spline would be drawn between ages 17.5 and 22.5, whereas with boundaries at 15, 20 and 20 years, a spline would be drawn between ages 17.5 and 20 years (may be desired if individuals are assumed to reach adult size at 20). Algorithms:
- none: input values are used directly
- linear: straight lines (on an age vs. value graph) are used to interpolate data points.
Probabilities of sequelae in inpatients
→ scenario → healthSystem → pSequelaeInpatient
<pSequelaeInpatient
[ interpolation=("none" or "linear") ]
>
IN THIS ORDER:
| ( <group ... /> )+
</pSequelaeInpatient>
Documentation (element)
Units: List of elements
List of age specific probabilities of sequelae in inpatients, during a severe bout.
Attributes
interpolation
interpolation=("none" or "linear")
Units: none
Interpolation algorithm. Normally it is desirable for age-based values to be continuous w.r.t. age. By default linear interpolation is used. With all algorithms except "none", the age groups are converted to a set of points centred within each age range. Extra points are added at each end (zero and infinity) to keep value constant at both ends of the function. A zero-length age group may be used as a kind of barrier to adjust the distribution; e.g. with age group boundaries at 15, 20 and 25 years, a (linear) spline would be drawn between ages 17.5 and 22.5, whereas with boundaries at 15, 20 and 20 years, a spline would be drawn between ages 17.5 and 20 years (may be desired if individuals are assumed to reach adult size at 20). Algorithms:
- none: input values are used directly
- linear: straight lines (on an age vs. value graph) are used to interpolate data points.
Change transmission levels
→ scenario → interventions → changeEIR
<changeEIR
[ name=string ]
>
IN THIS ORDER:
| ( <timed ... /> )*
</changeEIR>
Documentation (element)
New description of transmission level for models not supporting vector control interventions. Use of this overrides previous transmission levels such that human infectiousness no longer has any feedback effect on transmission. Supplied EIR data must last until end of simulation.
Attributes
Name of intervention
name=string
Units: string
Name of intervention
timed
→ scenario → interventions → changeEIR → timed
<timed
eipDuration=int
time=int
>
IN THIS ORDER:
| ( <EIRDaily ... /> )+
</timed>
Documentation (type)
Replacement transmission levels. Disables feedback of human infectiousness to mosquitoes on further mosquito to human transmission. Must last until end of simulation.
Attributes
Duration of sporogony (days)
eipDuration=int
The duration of sporogony in days
Time
time=int
Units: time-steps Min: 0
Time-step at which this replacement occurs, starting from 0, the first intervention-period time-step.
EIRDaily
→ scenario → entomology → nonVector → EIRDaily
<EIRDaily
[ origin=string ]
>
double
</EIRDaily>
Documentation (type)
Units: Infectious bites per adult per day
In the non-vector model, EIR is input as a sequence of daily values. There must be at least a years' worth of entries (365), and if there are more, values are wrapped and averaged (i.e. value for first day of year is taken as the mean of values for days 0, 365+0, 2*365+0, etc.).
Attributes
Time origin of EIR sequence
origin=string
Mass drug administration
→ scenario → interventions → MDA
<MDA
[ name=string ]
>
IN THIS ORDER:
| EXACTLY ONE OF:
| | [ <diagnostic ... /> ]
| | [ <description ... /> ]
| ( <timed ... /> )*
</MDA>
Documentation (element)
Description and deployment of MDA interventions (can also be configured as screen and treat or intermittent preventative treatment with 1-day time-step models).
Currently neither diagnostic nor description need be provided for 5-day timestep model; this may change in the future.
Attributes
Name of intervention
name=string
Units: string
Name of intervention
Diagnostic (5-day)
→ scenario → interventions → MDA → diagnostic
<diagnostic>
IN THIS ORDER:
| EXACTLY ONE OF:
| | <deterministic ... />
| | <stochastic ... />
</diagnostic>
Documentation (element)
Description of diagnostic used by mass treatment option of five-day case management model — may be used to model MDA without diagnostic or MSAT.
Drugs are administered whenever the test outcome is positive.
Deterministic detection
→ scenario → interventions → MDA → diagnostic → deterministic
<deterministic
minDensity=double
/>
Documentation (element)
Specify that an artificial deterministic test is used: drugs are administered if parasite density is at least the minimum given.
Attributes
Minimum detectible density
minDensity=double
Units: parasites/microlitre Min: 0
The minimum density at which parasites can be detected. If 0, the test outcome is always positive.
Non-deterministic detection
→ scenario → interventions → MDA → diagnostic → stochastic
<stochastic
dens_50=double
specificity=double
/>
Documentation (element)
An improved model of detection which is non-deterministic, including false positive results as well as false negatives.
The probability of a positive outcome is modelled as 1 + s×(x/(x+d) - 1) where x is the parasite density, d is the density at which the test outcome has a 50% chance of being positive, and s is the probability of a positive outcome given no parasites (the specificity).
Some parameterisations:
Microscopy sensitivity/specificity data in Africa; Source: expert opinion — Allan Schapira dens_50 = 20.0 specificity = .75
RDT sensitivity/specificity for Plasmodium falciparum in Africa Source: Murray et al (Clinical Microbiological Reviews, Jan. 2008) dens_50 = 50.0; specificity = .942;
Attributes
Density 50
dens_50=double
Units: parasites/microlitre Min: 0
The density at which the test outcome has a 50% chance of being positive.
Specificity
specificity=double
Units: none Min: 0 Max: 1
The probability of a positive test outcome in the absense of parasites.
Diagnostic and treatment (1-day)
→ scenario → interventions → MDA → description
<description
[ name=string ]
>
IN THIS ORDER:
| <decisions ... />
| <treatments ... />
</description>
Documentation (element)
Description of treatment type used by mass treatment option of one-day case management model. Can be used to describe one-size-fits-all mass drug dosing, age-based mass drug dosing and screen-and-treat. Number of treatments given can be reported by the nMDAs option.
Documentation (base type)
Units: List of elements
A set of decisions and a set of treatments.
Attributes
Intervention
name=string
Units: string
Name of set of interventions
Mass administration
→ scenario → interventions → MDA → timed
<timed
time=int
[ maxAge=double ] DEFAULT VALUE 100
[ minAge=double ] DEFAULT VALUE 0
coverage=double
[ cohort=boolean ] DEFAULT VALUE false
/>
Documentation (element)
List of timed deployments of mass-drug-administration.
Attributes
Time
time=int
Units: time-steps Min: 0
Time-step at which this intervention occurs, starting from 0, the first intervention-period time-step.
Maximum age of eligible individuals
maxAge=double
Units: Years Min: 0 Max: 100
Default value: 100
Maximum age of eligible individuals (defaults to 100)
Minimum age of eligible individuals
minAge=double
Units: Years Min: 0 Max: 100
Default value: 0
Minimum age of eligible individuals (defaults to 0)
Coverage
coverage=double
Units: Proportion Min: 0 Max: 1
Coverage of intervention
Cohort only
cohort=boolean
Units: Proportion Min: 0 Max: 1
Default value: false
Restrict distribution to chosen cohort.
Vaccines
→ scenario → interventions → vaccine
<vaccine
[ name=string ]
>
IN THIS ORDER:
| ( <description ... /> ){0,3}
| ( <continuous ... /> )*
| ( <timed ... /> )*
</vaccine>
Documentation (element)
Description and deployment of vaccine interventions.
Attributes
Name of intervention
name=string
Units: string
Name of intervention
description
→ scenario → interventions → vaccine → description
<description
vaccineType=("PEV" or "BSV" or "TBV")
[ name=string ]
>
IN THIS ORDER:
| <decay ... />
| <efficacyB ... />
| ( <initialEfficacy ... /> )+
</description>
Documentation (type)
List of vaccine descriptions
Attributes
Type of vaccine
vaccineType=("PEV" or "BSV" or "TBV")
Units: Code
Type of vaccine
Vaccine
name=string
Units: string
Name of vaccine
Decay of effect
→ scenario → interventions → vaccine → description → decay
<decay
function=("constant" or "step" or "linear" or "exponential" or "weibull" or "hill" or "smooth-compact")
L=double
[ k=double ] DEFAULT VALUE 1.0
[ mu=double ] DEFAULT VALUE 0
[ sigma=double ] DEFAULT VALUE 0
/>
Documentation (element)
Specification of decay of efficacy
Documentation (type)
Specification of decay or survival of a parameter.
Attributes
function
function=("constant" or "step" or "linear" or "exponential" or "weibull" or "hill" or "smooth-compact")
Units: None Min: 0 Max: 1
Determines which decay function to use. Available decay functions, for age t in years: constant: 1 step: 1 for t less than L, otherwise 0 linear: 1 - t/L for t less than L, otherwise 0 exponential: exp( - t/L * log(2) ) weibull: exp( -(t/L)^k * log(2) ) hill: 1 / (1 + (t/L)^k) smooth-compact: exp( k - k / (1 - (t/L)^2) ) for t less than L, otherwise 0
L
L=double
Units: Years Min: 0
Scale parameter of distribution. With the smooth-compact (smooth function with compact support), step and linear functions, this is the age at which the parameter has decayed to 0; with the other three functions, this is the age at which the parameter has decayed to half its original value. Not used for constant decay (though must be specified anyway).
k
k=double
Units: none Min: 0
Default value: 1.0
Shape parameter of distribution. If not specified, default value of 1 is used. Meaning depends on function; not used in some cases.
μ (mu)
mu=double
Min: 0
Default value: 0
If sigma is non-zero, heterogeneity of decay is introduced via a random variable sampled from the log-normal distribution with mu and sigma as specified. Both mu and sigma default to zero when not specified. The decay rate is multiplied by this variable (effectively, the half-life is divided by it). Note that with m=0, the median of the variable and the median value of L is unchanged, and thus the time at which the median decay amongst the population of decaying objects reaches half (assuming exponential, Weibull or Hill decay) is L. With m=-½σ² (negative half sigma squared) the mean of the variable will be 1 and mean of the half-life L, but the time at which mean decay of the population has reached half may not be L.
σ (sigma)
sigma=double
Min: 0
Default value: 0
If sigma is non-zero, heterogeneity of decay is introduced via a random variable sampled from the log-normal distribution with mu and sigma as specified. Both mu and sigma default to zero when not specified. The decay rate is multiplied by this variable (effectively, the half-life is divided by it).
Variance parameter for vaccine efficacy
→ scenario → interventions → vaccine → description → efficacyB
<efficacyB
value=double
/>
Documentation (element)
Units: Positive real Min: 0.001 Max: 1.00E+06
Measure of variation in vaccine efficacy
Attributes
Input parameter value
value=double
A double-precision floating-point value.
initialEfficacy
→ scenario → interventions → vaccine → description → initialEfficacy
<initialEfficacy
value=double
/>
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Age-based vaccination
→ scenario → interventions → vaccine → continuous
<continuous
targetAgeYrs=double
coverage=double
[ cohort=boolean ] DEFAULT VALUE false
[ begin=int ] DEFAULT VALUE 0
[ end=int ] DEFAULT VALUE 2147483647
/>
Documentation (element)
List of ages at which vaccination takes place (through EPI, post-natal and school-based programmes, etc.).
Attributes
Target age
targetAgeYrs=double
Units: Years Min: 0 Max: 100
Target age of intervention
Proportion covered
coverage=double
Units: Proportion Min: 0 Max: 1
Coverage of intervention
Cohort only
cohort=boolean
Units: Proportion Min: 0 Max: 1
Default value: false
Restrict distribution to chosen cohort (default: false).
First timestep active
begin=int
Units: Timesteps Min: 0 Max: 2147483647
Default value: 0
First timestep (from 0 at the beginning of the intervention period) this item is active. Defaults to 0.
End timestep
end=int
Units: Timesteps Min: 0 Max: 2147483647
Default value: 2147483647
End of the period during which the intervention is active (to be exact, the first timestep of the intervention period at which the item becomes inactive). Defaults to 2147483647.
Mass vaccination
→ scenario → interventions → vaccine → timed
<timed
time=int
[ maxAge=double ] DEFAULT VALUE 100
[ minAge=double ] DEFAULT VALUE 0
coverage=double
[ cohort=boolean ] DEFAULT VALUE false
[ cumulativeWithMaxAge=double ]
/>
Documentation (element)
List of timed mass vaccinations in the community
Attributes
Time
time=int
Units: time-steps Min: 0
Time-step at which this intervention occurs, starting from 0, the first intervention-period time-step.
Maximum age of eligible individuals
maxAge=double
Units: Years Min: 0 Max: 100
Default value: 100
Maximum age of eligible individuals (defaults to 100)
Minimum age of eligible individuals
minAge=double
Units: Years Min: 0 Max: 100
Default value: 0
Minimum age of eligible individuals (defaults to 0)
Coverage
coverage=double
Units: Proportion Min: 0 Max: 1
Coverage of intervention
Cohort only
cohort=boolean
Units: Proportion Min: 0 Max: 1
Default value: false
Restrict distribution to chosen cohort.
Cumulative deployment: maximum age
cumulativeWithMaxAge=double
Units: Years Min: 0
If present, activate cumulate deployment mode where intervention is only deployed to individuals not already considered protected in sufficient quantity to bring the total proportion of people covered up to level described by "coverage". Individuals are considered already protected by this intervention when the age of the last net/dose/etc. received is less than "maximum age" (this attribute) years old (i.e. when timeLastDeployment+maximumAge>currentTimeStep).
Intermittent preventative treatment
→ scenario → interventions → IPT
<IPT
[ name=string ]
>
IN THIS ORDER:
| <description ... />
| ( <continuous ... /> )*
| ( <timed ... /> )*
</IPT>
Documentation (element)
Description and deployment of IPT interventions.
Attributes
Name of intervention
name=string
Units: string
Name of intervention
description
→ scenario → interventions → IPT → description
<description
iptiEffect=int
[ name=string ]
>
IN THIS ORDER:
| ( <infGenotype ... /> )+
</description>
Attributes
Description of ipti effect
iptiEffect=int
Units: List of Elementes
Description of ipti effect
IPT name
name=string
Units: string
Name of IPT intervention
infGenotype
→ scenario → interventions → IPT → description → infGenotype
<infGenotype
name=string
freq=double
ACR=double
proph=int
tolPeriod=int
atten=double
/>
Attributes
Age specific intervention
name=string
Units: string
Name of age specific intervention
Frequency
freq=double
Frequency of parasite genotype
ACR
ACR=double
Adequate clinical response (proportion)
Prophylactic period
proph=int
Prophylactic period
Tolerance period
tolPeriod=int
Tolerance period
Tolerance period
atten=double
Tolerance period
Age-based IPT deployment
→ scenario → interventions → IPT → continuous
<continuous
targetAgeYrs=double
coverage=double
[ cohort=boolean ] DEFAULT VALUE false
[ begin=int ] DEFAULT VALUE 0
[ end=int ] DEFAULT VALUE 2147483647
/>
Documentation (element)
List of ages at which IPTi/IPTc deployment takes place (through EPI, post-natal and school-based programmes, etc.).
Attributes
Target age
targetAgeYrs=double
Units: Years Min: 0 Max: 100
Target age of intervention
Proportion covered
coverage=double
Units: Proportion Min: 0 Max: 1
Coverage of intervention
Cohort only
cohort=boolean
Units: Proportion Min: 0 Max: 1
Default value: false
Restrict distribution to chosen cohort (default: false).
First timestep active
begin=int
Units: Timesteps Min: 0 Max: 2147483647
Default value: 0
First timestep (from 0 at the beginning of the intervention period) this item is active. Defaults to 0.
End timestep
end=int
Units: Timesteps Min: 0 Max: 2147483647
Default value: 2147483647
End of the period during which the intervention is active (to be exact, the first timestep of the intervention period at which the item becomes inactive). Defaults to 2147483647.
Mass IPT administration
→ scenario → interventions → IPT → timed
<timed
time=int
[ maxAge=double ] DEFAULT VALUE 100
[ minAge=double ] DEFAULT VALUE 0
coverage=double
[ cohort=boolean ] DEFAULT VALUE false
[ cumulativeWithMaxAge=double ]
/>
Documentation (element)
List of timed IPTi/IPTc distribution
Attributes
Time
time=int
Units: time-steps Min: 0
Time-step at which this intervention occurs, starting from 0, the first intervention-period time-step.
Maximum age of eligible individuals
maxAge=double
Units: Years Min: 0 Max: 100
Default value: 100
Maximum age of eligible individuals (defaults to 100)
Minimum age of eligible individuals
minAge=double
Units: Years Min: 0 Max: 100
Default value: 0
Minimum age of eligible individuals (defaults to 0)
Coverage
coverage=double
Units: Proportion Min: 0 Max: 1
Coverage of intervention
Cohort only
cohort=boolean
Units: Proportion Min: 0 Max: 1
Default value: false
Restrict distribution to chosen cohort.
Cumulative deployment: maximum age
cumulativeWithMaxAge=double
Units: Years Min: 0
If present, activate cumulate deployment mode where intervention is only deployed to individuals not already considered protected in sufficient quantity to bring the total proportion of people covered up to level described by "coverage". Individuals are considered already protected by this intervention when the age of the last net/dose/etc. received is less than "maximum age" (this attribute) years old (i.e. when timeLastDeployment+maximumAge>currentTimeStep).
Bed nets
→ scenario → interventions → ITN
<ITN
[ name=string ]
>
IN THIS ORDER:
| <description ... />
| ( <continuous ... /> )*
| ( <timed ... /> )*
</ITN>
Documentation (element)
Description and deployment of bed-net interventions (ITNs, LLINs).
Attributes
Name of intervention
name=string
Units: string
Name of intervention
description
→ scenario → interventions → ITN → description
<description>
IN THIS ORDER:
| <usage ... />
| <holeRate ... />
| <ripRate ... />
| <ripFactor ... />
| <initialInsecticide ... />
| <insecticideDecay ... />
| <attritionOfNets ... />
| ( <anophelesParams ... /> )+
</description>
- usage
- holeRate
- ripRate
- ripFactor
- initialInsecticide
- insecticideDecay
- attritionOfNets
- anophelesParams
Usage level of nets by humans
→ scenario → interventions → ITN → description → usage
<usage
value=double
/>
Documentation (element)
Units: none Min: 0 Max: 0
The proportion of the time during the night that humans use nets while indoors (fixed parameter).
At the moment this is constant across humans and deterministic: relative attractiveness and survival factors are base*(1-usagem) + intervention_factorusage*m where m is the proportion of time mosquitoes bite while humans are indoors.
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Rate at which holes are made
→ scenario → interventions → ITN → description → holeRate
<holeRate
mean=double
sigma=double
/>
Documentation (element)
Units: Holes per annum Min: 0
The rate at which new holes are made in nets.
nHoles(t) = nHoles(t-1) + X where X~Pois(R/T) where T is the number of time-steps per year. R is sampled from log-normal: R ~ log N( log(mean)-sigma²/2, sigma² ) and is covariant with ripRate and insecticideDecay. (To be exact, a single Gaussian sample is taken, adjusted for each sigma then exponentiated.)
Documentation (type)
Parameters of a log-normal distribution.
Variates are sampled as: X ~ log N( log(mean)-sigma²/2, sigma² ).
Attributes
mean
mean=double
Units: (same as base units)
The mean of the lognormal distribution.
sigma
sigma=double
Sigma parameter of the lognormal distribution; sigma squared is the variance of the log of samples.
Rate at which holes are enlarged
→ scenario → interventions → ITN → description → ripRate
<ripRate
mean=double
sigma=double
/>
Documentation (element)
Units: Rips per existing hole per annum Min: 0
Each existing hole has a probability of being ripped bigger according to a Poisson process with this rate as (only) parameter.
New rips occur in a net at rate X~Pois(h×R/T) where h is the number of existing holes and T the number of time-steps per year. R is sampled from log-normal: R ~ log N( log(mean)-sigma²/2, sigma² ) and is covariant with holeRate and insecticideDecay. (To be exact, a single Gaussian sample is taken, adjusted for the each and sigma then exponentiated.)
Documentation (type)
Parameters of a log-normal distribution.
Variates are sampled as: X ~ log N( log(mean)-sigma²/2, sigma² ).
Attributes
mean
mean=double
Units: (same as base units)
The mean of the lognormal distribution.
sigma
sigma=double
Sigma parameter of the lognormal distribution; sigma squared is the variance of the log of samples.
Rip factor
→ scenario → interventions → ITN → description → ripFactor
<ripFactor
value=double
/>
Documentation (element)
Units: none Min: 0
This factor expresses how important rips are in increasing the hole.
The hole index of a net is h + F×x where h and x are the total numbers of holes and rips respectively and F is the rip factor.
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Initial insecticide
→ scenario → interventions → ITN → description → initialInsecticide
<initialInsecticide
mu=double
sigma=double
/>
Documentation (element)
Units: mg/m² Min: 0
The insecticide concentration of new nets is Gaussian distributed with mean "mu" and a standard deviation "sigma". The standard deviation should be small relative to the mean to avoid negative initial concentration. Any negative values sampled are set to 0.
Documentation (type)
Parameters of a normal distribution.
Variates are sampled as: X ~ N( mu, sigma² ).
Attributes
mu
mu=double
Units: (same as base units)
The mean of the normal distribution.
sigma
sigma=double
Units: (same as base units)
The standard deviation of variates.
Decay of insecticide
→ scenario → interventions → ITN → description → insecticideDecay
<insecticideDecay
function=("constant" or "step" or "linear" or "exponential" or "weibull" or "hill" or "smooth-compact")
L=double
[ k=double ] DEFAULT VALUE 1.0
[ mu=double ] DEFAULT VALUE 0
[ sigma=double ] DEFAULT VALUE 0
/>
Documentation (element)
Units: none
Decay curve for insecticide content of nets.
The distribution of decay rates over nets is covariant with the distribution of ripRate and holeRate over nets. This distribution is generated by taking one sample per net from a Gaussian distribution with mean 0 and standard deviation 1. For each variable, the sample is multiplied by the respective sigma and a constant added such that, once exponentiated, the mean of the variable over nets is 1. The variable is then exponentiated and multiplied by the required mean rate for the respective variable.
Documentation (type)
Specification of decay or survival of a parameter.
Attributes
function
function=("constant" or "step" or "linear" or "exponential" or "weibull" or "hill" or "smooth-compact")
Units: None Min: 0 Max: 1
Determines which decay function to use. Available decay functions, for age t in years: constant: 1 step: 1 for t less than L, otherwise 0 linear: 1 - t/L for t less than L, otherwise 0 exponential: exp( - t/L * log(2) ) weibull: exp( -(t/L)^k * log(2) ) hill: 1 / (1 + (t/L)^k) smooth-compact: exp( k - k / (1 - (t/L)^2) ) for t less than L, otherwise 0
L
L=double
Units: Years Min: 0
Scale parameter of distribution. With the smooth-compact (smooth function with compact support), step and linear functions, this is the age at which the parameter has decayed to 0; with the other three functions, this is the age at which the parameter has decayed to half its original value. Not used for constant decay (though must be specified anyway).
k
k=double
Units: none Min: 0
Default value: 1.0
Shape parameter of distribution. If not specified, default value of 1 is used. Meaning depends on function; not used in some cases.
μ (mu)
mu=double
Min: 0
Default value: 0
If sigma is non-zero, heterogeneity of decay is introduced via a random variable sampled from the log-normal distribution with mu and sigma as specified. Both mu and sigma default to zero when not specified. The decay rate is multiplied by this variable (effectively, the half-life is divided by it). Note that with m=0, the median of the variable and the median value of L is unchanged, and thus the time at which the median decay amongst the population of decaying objects reaches half (assuming exponential, Weibull or Hill decay) is L. With m=-½σ² (negative half sigma squared) the mean of the variable will be 1 and mean of the half-life L, but the time at which mean decay of the population has reached half may not be L.
σ (sigma)
sigma=double
Min: 0
Default value: 0
If sigma is non-zero, heterogeneity of decay is introduced via a random variable sampled from the log-normal distribution with mu and sigma as specified. Both mu and sigma default to zero when not specified. The decay rate is multiplied by this variable (effectively, the half-life is divided by it).
Attrition of nets
→ scenario → interventions → ITN → description → attritionOfNets
<attritionOfNets
function=("constant" or "step" or "linear" or "exponential" or "weibull" or "hill" or "smooth-compact")
L=double
[ k=double ] DEFAULT VALUE 1.0
[ mu=double ] DEFAULT VALUE 0
[ sigma=double ] DEFAULT VALUE 0
/>
Documentation (element)
Units: none
Specifies the rate at which nets are disposed of over time.
In the current model, nets are disposed of randomly (no correlation with state of decay) such that the chance of each net surviving until age t is the value of this decay function at time t. Equivalently (where a large number of nets are distributed at the same time), the proportion of nets remaining in use should match this decay function over time.
Documentation (type)
Specification of decay or survival of a parameter.
Attributes
function
function=("constant" or "step" or "linear" or "exponential" or "weibull" or "hill" or "smooth-compact")
Units: None Min: 0 Max: 1
Determines which decay function to use. Available decay functions, for age t in years: constant: 1 step: 1 for t less than L, otherwise 0 linear: 1 - t/L for t less than L, otherwise 0 exponential: exp( - t/L * log(2) ) weibull: exp( -(t/L)^k * log(2) ) hill: 1 / (1 + (t/L)^k) smooth-compact: exp( k - k / (1 - (t/L)^2) ) for t less than L, otherwise 0
L
L=double
Units: Years Min: 0
Scale parameter of distribution. With the smooth-compact (smooth function with compact support), step and linear functions, this is the age at which the parameter has decayed to 0; with the other three functions, this is the age at which the parameter has decayed to half its original value. Not used for constant decay (though must be specified anyway).
k
k=double
Units: none Min: 0
Default value: 1.0
Shape parameter of distribution. If not specified, default value of 1 is used. Meaning depends on function; not used in some cases.
μ (mu)
mu=double
Min: 0
Default value: 0
If sigma is non-zero, heterogeneity of decay is introduced via a random variable sampled from the log-normal distribution with mu and sigma as specified. Both mu and sigma default to zero when not specified. The decay rate is multiplied by this variable (effectively, the half-life is divided by it). Note that with m=0, the median of the variable and the median value of L is unchanged, and thus the time at which the median decay amongst the population of decaying objects reaches half (assuming exponential, Weibull or Hill decay) is L. With m=-½σ² (negative half sigma squared) the mean of the variable will be 1 and mean of the half-life L, but the time at which mean decay of the population has reached half may not be L.
σ (sigma)
sigma=double
Min: 0
Default value: 0
If sigma is non-zero, heterogeneity of decay is introduced via a random variable sampled from the log-normal distribution with mu and sigma as specified. Both mu and sigma default to zero when not specified. The decay rate is multiplied by this variable (effectively, the half-life is divided by it).
anophelesParams
→ scenario → interventions → ITN → description → anophelesParams
<anophelesParams
mosquito=string
>
IN THIS ORDER:
| <deterrency ... />
| <preprandialKillingEffect ... />
| <postprandialKillingEffect ... />
</anophelesParams>
Attributes
Mosquito species
mosquito=string
Name of the affected anopheles-mosquito species.
Relative attractiveness
→ scenario → interventions → ITN → description → anophelesParams → deterrency
<deterrency
holeFactor=double
insecticideFactor=double
interactionFactor=double
holeScalingFactor=double
insecticideScalingFactor=double
/>
Documentation (element)
Units: none Min: 0 Max: 1
Effect of net on attractiveness of humans to mosquitoes relative to an unprotected adult human. Parameterisations should take into account that mosquitoes do not always bite indoors.
Attractiveness of the human is multiplied by exp(log(H)×h + log(P)×p + log(I)×h×p where H, P and I are the hole, insecticide and interaction factors respectively, h=exp(-holeIndex×holeScalingFactor) and p=1−exp(-insecticideContent×insecticideScalingFactor).
Attributes
Hole factor
holeFactor=double
Units: none Max: 1
Value expected to be at least 0. Negative values are not necessarily invalid, but allow nets to increase transmission.
Insecticide factor
insecticideFactor=double
Units: none Max: 1
Value expected to be at least 0. Negative values are not necessarily invalid, but allow nets to increase transmission.
Interaction factor
interactionFactor=double
Units: none Max: 1
holeFactor + insecticideFactor + interactionFactor must not be greater than 1, and is expected to be at least 0. A negative value is not necessarily invalid, but allows nets to increase transmission.
Hole scaling factor
holeScalingFactor=double
Units: none Min: 0
Insecticide scaling factor
insecticideScalingFactor=double
Units: none Min: 0
Pre-prandial killing effect
→ scenario → interventions → ITN → description → anophelesParams → preprandialKillingEffect
<preprandialKillingEffect
holeFactor=double
insecticideFactor=double
interactionFactor=double
holeScalingFactor=double
insecticideScalingFactor=double
baseFactor=double
/>
Documentation (element)
Units: none Min: 0 Max: 1
Effect of net on survival mosquitoes as they seek to bite a human after choosing that human relative to the same person not sleeping under a net. Parameterisations should take into account that mosquitoes do not always bite indoors.
Killing proportion is calculated as K = B + H×h + P×p + I×h×p where B is the base (without net) probability of death, H, P and I are the hole, insecticide and interaction factors respectively, h=exp(-holeIndex×holeScalingFactor) and p=1−exp(-insecticideContent×insecticideScalingFactor).
Survival of mosquitoes is adjusted via multiplication by (1−K) / (1−B). To keep this in the range [0,1], we require that B+H ≤ 1, B+P ≤ 1, B+H+P+I ≤ 1, H ≥ 0, P ≥ 0 and H+P+I ≥ 0.
Attributes
Hole factor
holeFactor=double
Units: none Max: 1
Value expected to be at least 0. Negative values are not necessarily invalid, but allow nets to increase transmission.
Insecticide factor
insecticideFactor=double
Units: none Max: 1
Value expected to be at least 0. Negative values are not necessarily invalid, but allow nets to increase transmission.
Interaction factor
interactionFactor=double
Units: none Max: 1
holeFactor + insecticideFactor + interactionFactor must not be greater than 1, and is expected to be at least 0. A negative value is not necessarily invalid, but allows nets to increase transmission.
Hole scaling factor
holeScalingFactor=double
Units: none Min: 0
Insecticide scaling factor
insecticideScalingFactor=double
Units: none Min: 0
Probability of mosquito death without intervention
baseFactor=double
Units: none
Post-prandial killing effect
→ scenario → interventions → ITN → description → anophelesParams → postprandialKillingEffect
<postprandialKillingEffect
holeFactor=double
insecticideFactor=double
interactionFactor=double
holeScalingFactor=double
insecticideScalingFactor=double
baseFactor=double
/>
Documentation (element)
Units: none Min: 0 Max: 1
Effect of net on survival mosquitoes as they seek to escape from a human host after a blood meal, relative to the same person not sleeping under a net. Parameterisations should take into account that mosquitoes do not always bite indoors.
Killing proportion is calculated as K = B + H×h + P×p + I×h×p where B is the base (without net) probability of death, H, P and I are the hole, insecticide and interaction factors respectively, h=exp(-holeIndex×holeScalingFactor) and p=1−exp(-insecticideContent×insecticideScalingFactor).
Survival of mosquitoes is adjusted via multiplication by (1−K) / (1−B). To keep this in the range [0,1], we require that B+H ≤ 1, B+P ≤ 1, B+H+P+I ≤ 1, H ≥ 0, P ≥ 0 and H+P+I ≥ 0.
Attributes
Hole factor
holeFactor=double
Units: none Max: 1
Value expected to be at least 0. Negative values are not necessarily invalid, but allow nets to increase transmission.
Insecticide factor
insecticideFactor=double
Units: none Max: 1
Value expected to be at least 0. Negative values are not necessarily invalid, but allow nets to increase transmission.
Interaction factor
interactionFactor=double
Units: none Max: 1
holeFactor + insecticideFactor + interactionFactor must not be greater than 1, and is expected to be at least 0. A negative value is not necessarily invalid, but allows nets to increase transmission.
Hole scaling factor
holeScalingFactor=double
Units: none Min: 0
Insecticide scaling factor
insecticideScalingFactor=double
Units: none Min: 0
Probability of mosquito death without intervention
baseFactor=double
Units: none
Age-based bed-net deployment
→ scenario → interventions → ITN → continuous
<continuous
targetAgeYrs=double
coverage=double
[ cohort=boolean ] DEFAULT VALUE false
[ begin=int ] DEFAULT VALUE 0
[ end=int ] DEFAULT VALUE 2147483647
/>
Documentation (element)
List of ages at which bed-net deployment takes place (through EPI, post-natal and school-based programmes, etc.).
Attributes
Target age
targetAgeYrs=double
Units: Years Min: 0 Max: 100
Target age of intervention
Proportion covered
coverage=double
Units: Proportion Min: 0 Max: 1
Coverage of intervention
Cohort only
cohort=boolean
Units: Proportion Min: 0 Max: 1
Default value: false
Restrict distribution to chosen cohort (default: false).
First timestep active
begin=int
Units: Timesteps Min: 0 Max: 2147483647
Default value: 0
First timestep (from 0 at the beginning of the intervention period) this item is active. Defaults to 0.
End timestep
end=int
Units: Timesteps Min: 0 Max: 2147483647
Default value: 2147483647
End of the period during which the intervention is active (to be exact, the first timestep of the intervention period at which the item becomes inactive). Defaults to 2147483647.
Mass ITN deployment
→ scenario → interventions → ITN → timed
<timed
time=int
[ maxAge=double ] DEFAULT VALUE 100
[ minAge=double ] DEFAULT VALUE 0
coverage=double
[ cohort=boolean ] DEFAULT VALUE false
[ cumulativeWithMaxAge=double ]
/>
Documentation (element)
List of timed ITN deployment in the community
Attributes
Time
time=int
Units: time-steps Min: 0
Time-step at which this intervention occurs, starting from 0, the first intervention-period time-step.
Maximum age of eligible individuals
maxAge=double
Units: Years Min: 0 Max: 100
Default value: 100
Maximum age of eligible individuals (defaults to 100)
Minimum age of eligible individuals
minAge=double
Units: Years Min: 0 Max: 100
Default value: 0
Minimum age of eligible individuals (defaults to 0)
Coverage
coverage=double
Units: Proportion Min: 0 Max: 1
Coverage of intervention
Cohort only
cohort=boolean
Units: Proportion Min: 0 Max: 1
Default value: false
Restrict distribution to chosen cohort.
Cumulative deployment: maximum age
cumulativeWithMaxAge=double
Units: Years Min: 0
If present, activate cumulate deployment mode where intervention is only deployed to individuals not already considered protected in sufficient quantity to bring the total proportion of people covered up to level described by "coverage". Individuals are considered already protected by this intervention when the age of the last net/dose/etc. received is less than "maximum age" (this attribute) years old (i.e. when timeLastDeployment+maximumAge>currentTimeStep).
Indoor residual spraying
→ scenario → interventions → IRS
<IRS
[ name=string ]
>
IN THIS ORDER:
| <decay ... />
| ( <anophelesParams ... /> )+
| ( <timed ... /> )*
</IRS>
Documentation (element)
Description and deployment of indoor insecticide interventions (IRS, durable wall linings, insecticide-treated-paint, etc.)
Attributes
Name of intervention
name=string
Units: string
Name of intervention
decay
→ scenario → interventions → IRS → decay
<decay
function=("constant" or "step" or "linear" or "exponential" or "weibull" or "hill" or "smooth-compact")
L=double
[ k=double ] DEFAULT VALUE 1.0
[ mu=double ] DEFAULT VALUE 0
[ sigma=double ] DEFAULT VALUE 0
/>
Documentation (type)
Specification of decay or survival of a parameter.
Attributes
function
function=("constant" or "step" or "linear" or "exponential" or "weibull" or "hill" or "smooth-compact")
Units: None Min: 0 Max: 1
Determines which decay function to use. Available decay functions, for age t in years: constant: 1 step: 1 for t less than L, otherwise 0 linear: 1 - t/L for t less than L, otherwise 0 exponential: exp( - t/L * log(2) ) weibull: exp( -(t/L)^k * log(2) ) hill: 1 / (1 + (t/L)^k) smooth-compact: exp( k - k / (1 - (t/L)^2) ) for t less than L, otherwise 0
L
L=double
Units: Years Min: 0
Scale parameter of distribution. With the smooth-compact (smooth function with compact support), step and linear functions, this is the age at which the parameter has decayed to 0; with the other three functions, this is the age at which the parameter has decayed to half its original value. Not used for constant decay (though must be specified anyway).
k
k=double
Units: none Min: 0
Default value: 1.0
Shape parameter of distribution. If not specified, default value of 1 is used. Meaning depends on function; not used in some cases.
μ (mu)
mu=double
Min: 0
Default value: 0
If sigma is non-zero, heterogeneity of decay is introduced via a random variable sampled from the log-normal distribution with mu and sigma as specified. Both mu and sigma default to zero when not specified. The decay rate is multiplied by this variable (effectively, the half-life is divided by it). Note that with m=0, the median of the variable and the median value of L is unchanged, and thus the time at which the median decay amongst the population of decaying objects reaches half (assuming exponential, Weibull or Hill decay) is L. With m=-½σ² (negative half sigma squared) the mean of the variable will be 1 and mean of the half-life L, but the time at which mean decay of the population has reached half may not be L.
σ (sigma)
sigma=double
Min: 0
Default value: 0
If sigma is non-zero, heterogeneity of decay is introduced via a random variable sampled from the log-normal distribution with mu and sigma as specified. Both mu and sigma default to zero when not specified. The decay rate is multiplied by this variable (effectively, the half-life is divided by it).
anophelesParams
→ scenario → interventions → IRS → anophelesParams
<anophelesParams>
IN THIS ORDER:
| <deterrency ... />
</anophelesParams>
Documentation (base type)
Units: None Min: 0 Max: 1
Descriptions of initial effectiveness of each of the effects of interventions. Decay is specified by a separate element (ITNDecay etc.)
Deterrency
→ scenario → interventions → IRS → anophelesParams → deterrency
<deterrency
value=double
/>
Documentation (element)
Units: None Min: 0 Max: 1
One minus this multiplies the host's availability.
Attributes
Input parameter value
value=double
A double-precision floating-point value.
killing effect
→ scenario → interventions → IRS → anophelesParams → killingEffect
<killingEffect
value=double
/>
Documentation (element)
Units: None Min: 0 Max: 1
One minus this multiplies the survival rate of resting mosquitoes.
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Mass IRS deployment
→ scenario → interventions → IRS → timed
<timed
time=int
[ maxAge=double ] DEFAULT VALUE 100
[ minAge=double ] DEFAULT VALUE 0
coverage=double
[ cohort=boolean ] DEFAULT VALUE false
[ cumulativeWithMaxAge=double ]
/>
Documentation (element)
List of timed IRS deployment in the community
Attributes
Time
time=int
Units: time-steps Min: 0
Time-step at which this intervention occurs, starting from 0, the first intervention-period time-step.
Maximum age of eligible individuals
maxAge=double
Units: Years Min: 0 Max: 100
Default value: 100
Maximum age of eligible individuals (defaults to 100)
Minimum age of eligible individuals
minAge=double
Units: Years Min: 0 Max: 100
Default value: 0
Minimum age of eligible individuals (defaults to 0)
Coverage
coverage=double
Units: Proportion Min: 0 Max: 1
Coverage of intervention
Cohort only
cohort=boolean
Units: Proportion Min: 0 Max: 1
Default value: false
Restrict distribution to chosen cohort.
Cumulative deployment: maximum age
cumulativeWithMaxAge=double
Units: Years Min: 0
If present, activate cumulate deployment mode where intervention is only deployed to individuals not already considered protected in sufficient quantity to bring the total proportion of people covered up to level described by "coverage". Individuals are considered already protected by this intervention when the age of the last net/dose/etc. received is less than "maximum age" (this attribute) years old (i.e. when timeLastDeployment+maximumAge>currentTimeStep).
Vector deterrents
→ scenario → interventions → vectorDeterrent
<vectorDeterrent
[ name=string ]
>
IN THIS ORDER:
| <decay ... />
| ( <anophelesParams ... /> )+
| ( <timed ... /> )*
</vectorDeterrent>
Documentation (element)
Description and deployment of interventions affecting only human-mosquito availability (deterrents).
Attributes
Name of intervention
name=string
Units: string
Name of intervention
decay
→ scenario → interventions → vectorDeterrent → decay
<decay
function=("constant" or "step" or "linear" or "exponential" or "weibull" or "hill" or "smooth-compact")
L=double
[ k=double ] DEFAULT VALUE 1.0
[ mu=double ] DEFAULT VALUE 0
[ sigma=double ] DEFAULT VALUE 0
/>
Documentation (type)
Specification of decay or survival of a parameter.
Attributes
function
function=("constant" or "step" or "linear" or "exponential" or "weibull" or "hill" or "smooth-compact")
Units: None Min: 0 Max: 1
Determines which decay function to use. Available decay functions, for age t in years: constant: 1 step: 1 for t less than L, otherwise 0 linear: 1 - t/L for t less than L, otherwise 0 exponential: exp( - t/L * log(2) ) weibull: exp( -(t/L)^k * log(2) ) hill: 1 / (1 + (t/L)^k) smooth-compact: exp( k - k / (1 - (t/L)^2) ) for t less than L, otherwise 0
L
L=double
Units: Years Min: 0
Scale parameter of distribution. With the smooth-compact (smooth function with compact support), step and linear functions, this is the age at which the parameter has decayed to 0; with the other three functions, this is the age at which the parameter has decayed to half its original value. Not used for constant decay (though must be specified anyway).
k
k=double
Units: none Min: 0
Default value: 1.0
Shape parameter of distribution. If not specified, default value of 1 is used. Meaning depends on function; not used in some cases.
μ (mu)
mu=double
Min: 0
Default value: 0
If sigma is non-zero, heterogeneity of decay is introduced via a random variable sampled from the log-normal distribution with mu and sigma as specified. Both mu and sigma default to zero when not specified. The decay rate is multiplied by this variable (effectively, the half-life is divided by it). Note that with m=0, the median of the variable and the median value of L is unchanged, and thus the time at which the median decay amongst the population of decaying objects reaches half (assuming exponential, Weibull or Hill decay) is L. With m=-½σ² (negative half sigma squared) the mean of the variable will be 1 and mean of the half-life L, but the time at which mean decay of the population has reached half may not be L.
σ (sigma)
sigma=double
Min: 0
Default value: 0
If sigma is non-zero, heterogeneity of decay is introduced via a random variable sampled from the log-normal distribution with mu and sigma as specified. Both mu and sigma default to zero when not specified. The decay rate is multiplied by this variable (effectively, the half-life is divided by it).
anophelesParams
→ scenario → interventions → vectorDeterrent → anophelesParams
<anophelesParams
mosquito=string
>
IN THIS ORDER:
| <deterrency ... />
</anophelesParams>
Documentation (type)
Units: None Min: 0 Max: 1
Descriptions of initial effectiveness of each of the effects of interventions. Decay is specified by a separate element (ITNDecay etc.)
Attributes
Mosquito species
mosquito=string
Name of the affected anopheles-mosquito species.
Mass deployment
→ scenario → interventions → vectorDeterrent → timed
<timed
time=int
[ maxAge=double ] DEFAULT VALUE 100
[ minAge=double ] DEFAULT VALUE 0
coverage=double
[ cohort=boolean ] DEFAULT VALUE false
[ cumulativeWithMaxAge=double ]
/>
Documentation (element)
List of timed mosquito deterrent deployment in the community
Attributes
Time
time=int
Units: time-steps Min: 0
Time-step at which this intervention occurs, starting from 0, the first intervention-period time-step.
Maximum age of eligible individuals
maxAge=double
Units: Years Min: 0 Max: 100
Default value: 100
Maximum age of eligible individuals (defaults to 100)
Minimum age of eligible individuals
minAge=double
Units: Years Min: 0 Max: 100
Default value: 0
Minimum age of eligible individuals (defaults to 0)
Coverage
coverage=double
Units: Proportion Min: 0 Max: 1
Coverage of intervention
Cohort only
cohort=boolean
Units: Proportion Min: 0 Max: 1
Default value: false
Restrict distribution to chosen cohort.
Cumulative deployment: maximum age
cumulativeWithMaxAge=double
Units: Years Min: 0
If present, activate cumulate deployment mode where intervention is only deployed to individuals not already considered protected in sufficient quantity to bring the total proportion of people covered up to level described by "coverage". Individuals are considered already protected by this intervention when the age of the last net/dose/etc. received is less than "maximum age" (this attribute) years old (i.e. when timeLastDeployment+maximumAge>currentTimeStep).
Cohort recruitment
→ scenario → interventions → cohort
<cohort
[ name=string ]
>
IN THIS ORDER:
| ( <continuous ... /> )*
| ( <timed ... /> )*
</cohort>
Documentation (element)
Recruitment of cohort as a pseudo-intervention.
Attributes
Name of intervention
name=string
Units: string
Name of intervention
Age-based cohort recruitment
→ scenario → interventions → cohort → continuous
<continuous
targetAgeYrs=double
coverage=double
[ cohort=boolean ] DEFAULT VALUE false
[ begin=int ] DEFAULT VALUE 0
[ end=int ] DEFAULT VALUE 2147483647
/>
Documentation (element)
List of ages at which cohort recruitment takes place.
Attributes
Target age
targetAgeYrs=double
Units: Years Min: 0 Max: 100
Target age of intervention
Proportion covered
coverage=double
Units: Proportion Min: 0 Max: 1
Coverage of intervention
Cohort only
cohort=boolean
Units: Proportion Min: 0 Max: 1
Default value: false
Restrict distribution to chosen cohort (default: false).
First timestep active
begin=int
Units: Timesteps Min: 0 Max: 2147483647
Default value: 0
First timestep (from 0 at the beginning of the intervention period) this item is active. Defaults to 0.
End timestep
end=int
Units: Timesteps Min: 0 Max: 2147483647
Default value: 2147483647
End of the period during which the intervention is active (to be exact, the first timestep of the intervention period at which the item becomes inactive). Defaults to 2147483647.
Mass cohort selection
→ scenario → interventions → cohort → timed
<timed
time=int
[ maxAge=double ] DEFAULT VALUE 100
[ minAge=double ] DEFAULT VALUE 0
coverage=double
[ cohort=boolean ] DEFAULT VALUE false
[ cumulativeWithMaxAge=double ]
/>
Documentation (element)
List of times of mass cohort selection.
Attributes
Time
time=int
Units: time-steps Min: 0
Time-step at which this intervention occurs, starting from 0, the first intervention-period time-step.
Maximum age of eligible individuals
maxAge=double
Units: Years Min: 0 Max: 100
Default value: 100
Maximum age of eligible individuals (defaults to 100)
Minimum age of eligible individuals
minAge=double
Units: Years Min: 0 Max: 100
Default value: 0
Minimum age of eligible individuals (defaults to 0)
Coverage
coverage=double
Units: Proportion Min: 0 Max: 1
Coverage of intervention
Cohort only
cohort=boolean
Units: Proportion Min: 0 Max: 1
Default value: false
Restrict distribution to chosen cohort.
Cumulative deployment: maximum age
cumulativeWithMaxAge=double
Units: Years Min: 0
If present, activate cumulate deployment mode where intervention is only deployed to individuals not already considered protected in sufficient quantity to bring the total proportion of people covered up to level described by "coverage". Individuals are considered already protected by this intervention when the age of the last net/dose/etc. received is less than "maximum age" (this attribute) years old (i.e. when timeLastDeployment+maximumAge>currentTimeStep).
Imported infections
→ scenario → interventions → importedInfections
<importedInfections
[ name=string ]
>
IN THIS ORDER:
| <timed ... />
</importedInfections>
Documentation (element)
Models importation of P. falciparum infections directly into humans from an external source. This is infections, not inoculations or EIR being imported.
Attributes
Name of intervention
name=string
Units: string
Name of intervention
Rate of importation
→ scenario → interventions → importedInfections → timed
<timed
[ period=int ] DEFAULT VALUE 0
>
IN THIS ORDER:
| ( <rate ... /> )+
</timed>
Documentation (element)
Rate of case importation, as a step function. Each value is valid until replaced by the next value.
Attributes
Period of repetition
period=int
Units: time-steps Min: 0
Default value: 0
If period is 0 (or effectively infinite), the last specified value remains indefinitely in effect, otherwise the times of all values specified must be less than the period, and values are repeated modulo period (timestep period+2 has same value as timestep 2, etc.).
rate
→ scenario → interventions → importedInfections → timed → rate
<rate
value=double
time=int
/>
Documentation (type)
Units: Imported cases per thousand people per year
A time-rate pair.
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Time
time=int
Units: time-steps Min: 0
Immune suppression
→ scenario → interventions → immuneSuppression
<immuneSuppression>
IN THIS ORDER:
| ( <timed ... /> )*
</immuneSuppression>
Documentation (element)
Removes all exposure-related immunity gained over time by hosts without removing infections.
Hypothetical, but potentially useful to simulate scenarios with unprotected humans.
timed
→ scenario → interventions → immuneSuppression → timed
<timed
time=int
[ maxAge=double ] DEFAULT VALUE 100
[ minAge=double ] DEFAULT VALUE 0
coverage=double
[ cohort=boolean ] DEFAULT VALUE false
/>
Attributes
Time
time=int
Units: time-steps Min: 0
Time-step at which this intervention occurs, starting from 0, the first intervention-period time-step.
Maximum age of eligible individuals
maxAge=double
Units: Years Min: 0 Max: 100
Default value: 100
Maximum age of eligible individuals (defaults to 100)
Minimum age of eligible individuals
minAge=double
Units: Years Min: 0 Max: 100
Default value: 0
Minimum age of eligible individuals (defaults to 0)
Coverage
coverage=double
Units: Proportion Min: 0 Max: 1
Coverage of intervention
Cohort only
cohort=boolean
Units: Proportion Min: 0 Max: 1
Default value: false
Restrict distribution to chosen cohort.
Insert R_0 case
→ scenario → interventions → insertR_0Case
<insertR_0Case>
IN THIS ORDER:
| ( <timed ... /> )*
</insertR_0Case>
Documentation (element)
Used to simulate R_0. First, infections should be eliminated, immunity removed, and the population given an effective transmission- blocking vaccine (not done by this intervention). Then this intervention may be used to: pick one human, infect him, administer a fully effective Preerythrocytic vaccine and remove transmission-blocking vaccine effect on this human. Thus only this one human will be a source of infections in an unprotected population, and will not reinfected himself.
timed
→ scenario → interventions → insertR_0Case → timed
<timed
time=int
/>
Attributes
Time
time=int
Units: time-steps Min: 0
Time-step at which this intervention occurs, starting from 0, the first intervention-period time-step.
Uninfect vectors
→ scenario → interventions → uninfectVectors
<uninfectVectors>
IN THIS ORDER:
| ( <timed ... /> )*
</uninfectVectors>
Documentation (element)
Units: List of elements
Removes all infections from mosquitoes -- resulting in zero EIR to humans, until such time that mosquitoes are re-infected and become infectious. Only effectious in dynamic EIR mode (when changeEIR was not used).
Hypothetical, but potentially useful to simulate a setting starting from no infections, but with enough mosquitoes to reach a set equilibrium of exposure.
timed
→ scenario → interventions → uninfectVectors → timed
<timed
time=int
/>
Attributes
Time
time=int
Units: time-steps Min: 0
Time-step at which this intervention occurs, starting from 0, the first intervention-period time-step.
Simple larviciding intervention
→ scenario → interventions → larviciding
<larviciding
[ name=string ]
>
IN THIS ORDER:
| ( <anopheles ... /> )+
</larviciding>
Documentation (element)
Units: List of elements
Simple larviciding intervention description.
Attributes
Name of intervention
name=string
Units: string
Name of intervention
anopheles
→ scenario → interventions → larviciding → anopheles
<anopheles
mosquito=string
effectiveness=double
duration=int
/>
Attributes
Mosquito to be larvicided
mosquito=string
Mosquito to be larvicided
Proportionate reduction in emergence
effectiveness=double
Units: none Min: 0 Max: 1
Proportional reduction in emergence rate
Duration of activity
duration=int
Units: days Min: 0 Max: inf
Number of days for which the intervention is active.
Health system description
→ scenario → healthSystem
<healthSystem>
IN THIS ORDER:
| EXACTLY ONE OF:
| | <EventScheduler ... />
| | <ImmediateOutcomes ... />
| <CFR ... />
| <pSequelaeInpatient ... />
</healthSystem>
Documentation (element)
Units: List of elements
Description of health system.
Documentation (type)
Units: List of elements
Description of case management system, used to specify the initial model or a replacement (an intervention). Encompasses case management data and some other data required to derive case outcomes.
Contains a sub-element describing the particular health-system in use. Health system data is here defined as data used to decide on a treatment strategy, given a case requiring treatment.
Transmission and vector bionomics
→ scenario → entomology
<entomology
name=string
mode=("2" or "4")
[ annualEIR=double ]
>
IN THIS ORDER:
| EXACTLY ONE OF:
| | <nonVector ... />
| | <vector ... />
</entomology>
Documentation (element)
Units: List of elements
Description of entomological data
Attributes
Entomology dataset
name=string
Units: string
Name of entomology data
Transmission simulation mode
mode=("2" or "4")
Units: Code
Transmission simulation mode -- enter dynamic mode (4) or forced mode (2) at start of intervention period. Mode 3 (transient EIR from data provided as intervention) is set when intervention data is applied, and is no longer a valid value to specify here.
Override annual EIR
annualEIR=double
Units: Infectious bites per adult per year
If set, overrides the annual EIR by scaling it to this level. If ommitted, EIR levels are as specified elsewhere.
Transmission setting (vector control not enabled)
→ scenario → entomology → nonVector
<nonVector
eipDuration=int
>
IN THIS ORDER:
| ( <EIRDaily ... /> )+
</nonVector>
Documentation (element)
Units: List of elements
Description of transmission setting for models without vector control interventions (included for backward compatibility)
Attributes
Duration of sporogony (days)
eipDuration=int
The duration of sporogony in days
Transmission setting (vector control enabled)
→ scenario → entomology → vector
<vector>
IN THIS ORDER:
| ( <anopheles ... /> )+
| ( <nonHumanHosts ... /> )*
</vector>
Documentation (element)
Units: List of elements
Parameters of the transmission model.
anopheles
→ scenario → entomology → vector → anopheles
<anopheles
mosquito=string
propInfected=double
propInfectious=double
>
IN THIS ORDER:
| EXACTLY ONE OF:
| | <EIR ... />
| | <monthlyEIR ... />
| <mosq ... />
| ( <nonHumanHosts ... /> )*
</anopheles>
Documentation (type)
Description of input EIR for one specific vector species in terms of a Fourier approximation to the ln of the EIR during the burn in period
Attributes
Identifier for this anopheles species
mosquito=string
Identifier for this anopheles species
Initial guess of proportion of mosquitoes infected (ρ_O)
propInfected=double
Units: Proportion Min: 0 Max: 1
Initial guess of the proportion of mosquitoes which are infected, o: O_v(t) = o*N_v(t). Only used as a starting value.
Initial guess of proportion of mosquitoes infectious (ρ_S)
propInfectious=double
Units: Proportion Min: 0 Max: 1
Initial guess of the proportion of mosquitoes which are infectious, s: S_v(t) = s*N_v(t). Used as a starting value and then fit.
Fourier approximation to pre-intervention EIR
→ scenario → entomology → vector → anopheles → EIR
<EIR
a0=double
a1=double
b1=double
a2=double
b2=double
EIRRotateAngle=double
/>
Documentation (element)
Units: Infectious bites per adult per day
Description of target entomological inoculation rate as a Fourier series. This is used to estimate a suitible vector emergence rate. The annual (target) EIR is thus the exponent of the fourier series with these parameters, with period scaled to 365 days.
Attributes
a0 parameter of Fourier approximation to ln(EIR)
a0=double
a0 parameter of Fourier approximation to ln(EIR)
a1 parameter of Fourier approximation to ln(EIR)
a1=double
a1 parameter of Fourier approximation to ln(EIR)
b1 parameter of Fourier approximation to ln(EIR)
b1=double
b1 parameter of Fourier approximation to ln(EIR)
a2 parameter of Fourier approximation to ln(EIR)
a2=double
a2 parameter of Fourier approximation to ln(EIR)
b2 parameter of Fourier approximation to ln(EIR)
b2=double
b2 parameter of Fourier approximation to ln(EIR)
Rotation angle defining the origin of the Fourier approximation to ln (EIR)
EIRRotateAngle=double
Units: radians
Rotation angle defining the origin of the Fourier approximation to ln (EIR)
Monthly values for pre-intervention EIR
→ scenario → entomology → vector → anopheles → monthlyEIR
<monthlyEIR
annualEIR=double
>
IN THIS ORDER:
| ( <item ... /> ){12,12}
</monthlyEIR>
Documentation (element)
Units: Infectious bites per adult per month
Description of target entomological inoculation rate as monthly values plus an annual override (monthly values are scaled to fit the annual EIR described). This is used to estimate a suitible vector emergence rate. The annual (target) EIR is derived from a Fourier series fit to these monthly values (used as a smoothing factor). List should contain twelve entries: January to December.
Attributes
Annual EIR
annualEIR=double
Units: Infectious bites per adult per year Min: 0
Scales the monthly values to give this annual innoculation rate.
Monthly pre-intervention EIR
→ scenario → entomology → vector → anopheles → monthlyEIR → item
<item>
double
</item>
Documentation (element)
Units: Inoculations per person per month
Inoculations per person per month
Vector Species
→ scenario → entomology → vector → anopheles → mosq
<mosq
mosqRestDuration=int
extrinsicIncubationPeriod=int
mosqLaidEggsSameDayProportion=double
mosqSeekingDuration=double
mosqSurvivalFeedingCycleProbability=double
mosqProbBiting=double
mosqProbFindRestSite=double
mosqProbResting=double
mosqProbOvipositing=double
mosqHumanBloodIndex=double
minInfectedThreshold=double
/>
Documentation (element)
Units: List of elements
Vector species
Attributes
Duration of the resting period of the vector (days)
mosqRestDuration=int
name:Duration of the resting period of the vector (days);
Extrinsic incubation period (days)
extrinsicIncubationPeriod=int
name:Extrinsic incubation period (days)
Proportion of mosquitoes host seeking on same day as ovipositing
mosqLaidEggsSameDayProportion=double
Proportion of mosquitoes host seeking on same day as ovipositing
Duration of the host-seeking period of the vector (days)
mosqSeekingDuration=double
Duration of the host-seeking period of the vector (days)
Probability that the mosquito survives the feeding cycle
mosqSurvivalFeedingCycleProbability=double
Probability that the mosquito survives the feeding cycle
Probability that the mosquito succesfully bites chosen host
mosqProbBiting=double
Probability that the mosquito succesfully bites chosen host
Probability that the mosquito escapes host and finds a resting place after biting
mosqProbFindRestSite=double
Probability that the mosquito escapes host and finds a resting place after biting
Probability of mosquito successfully resting after finding a resting site
mosqProbResting=double
Probability of mosquito successfully resting after finding a resting site
Probability of a mosquito successfully laying eggs given that it has rested
mosqProbOvipositing=double
Probability of a mosquito successfully laying eggs given that it has rested
Human blood index
mosqHumanBloodIndex=double
The proportion of resting mosquitoes which fed on human blood during the last feed.
Min infected threshold
minInfectedThreshold=double
Min: 0
If less than this many mosquitoes remain infected, transmission is interrupted.
nonHumanHosts
→ scenario → entomology → vector → anopheles → nonHumanHosts
<nonHumanHosts
name=string
mosqRelativeEntoAvailability=double
mosqProbBiting=double
mosqProbFindRestSite=double
mosqProbResting=double
/>
Documentation (element)
Units: List of elements
Non human host parameters, per type of host (must match up with non-species-specific parameters).
Attributes
Identifier for this category of non-human hosts
name=string
Identifier for this category of non-human hosts
Relative availability of nonhuman hosts of type i (to other nonhuman hosts)
mosqRelativeEntoAvailability=double
Relative availability of nonhuman hosts of type i (to other nonhuman hosts)
Probability of mosquito successfully biting host
mosqProbBiting=double
Probability of mosquito successfully biting host
Probability that the mosquito escapes host and finds a resting place after biting
mosqProbFindRestSite=double
Probability that the mosquito escapes host and finds a resting place after biting
Probability of mosquito successfully resting after finding a resting site
mosqProbResting=double
Probability of mosquito successfully resting after finding a resting site
nonHumanHosts
→ scenario → entomology → vector → nonHumanHosts
<nonHumanHosts
name=string
number=double
/>
Attributes
Species of alternative host
name=string
Units: List of elements
Name of this species of non human hosts (must match up with those described per anopheles section)
number
number=double
Pharmacokinetics and pharmacodynamics
→ scenario → pharmacology
<pharmacology>
IN THIS ORDER:
| ( <drug ... /> )+
</pharmacology>
Documentation (element)
Units: List of elements
Drug model parameters
Library of drug parameters
→ scenario → pharmacology → drug
<drug
abbrev=string
>
IN THIS ORDER:
| <PD ... />
| <PK ... />
</drug>
Documentation (element)
Sequence of drug descriptions forming a library of drug parameters.
Attributes
abbrev
abbrev=string
PD
→ scenario → pharmacology → drug → PD
<PD>
IN THIS ORDER:
| ( <allele ... /> )+
</PD>
PD parameters per allele
→ scenario → pharmacology → drug → PD → allele
<allele
name=string
>
IN THIS ORDER:
| <initial_frequency ... />
| <max_killing_rate ... />
| <IC50 ... />
| <slope ... />
</allele>
Documentation (element)
PD parameters per allele, plus initial frequency of each allele.
Note: we assume a one-to-one correspondance of drugs to loci, hence each drug has an independent set of alleles here.
Attributes
name
name=string
Relative frequency
→ scenario → pharmacology → drug → PD → allele → initial_frequency
<initial_frequency>
double
</initial_frequency>
Documentation (element)
Units: relative frequency Min: 0
Frequency, relative to the total frequency of all alleles for this drug/locus.
Maximal parasite killing rate
→ scenario → pharmacology → drug → PD → allele → max_killing_rate
<max_killing_rate>
double
</max_killing_rate>
Documentation (element)
Units: 1/days Min: 0
k1 — Maximal parasite killing rate.
IC50
→ scenario → pharmacology → drug → PD → allele → IC50
<IC50>
double
</IC50>
Documentation (element)
Units: mg/l Min: 0
Half maximal effect concentration.
Slope of effect curve
→ scenario → pharmacology → drug → PD → allele → slope
<slope>
double
</slope>
Documentation (element)
Units: no units
n — Slope of the concentration effect curve
PK
→ scenario → pharmacology → drug → PK
<PK>
IN THIS ORDER:
| <negligible_concentration ... />
| <half_life ... />
| <vol_dist ... />
</PK>
Drug concentration considered negligible
→ scenario → pharmacology → drug → PK → negligible_concentration
<negligible_concentration>
double
</negligible_concentration>
Documentation (element)
Units: mg/l Min: 0
Concentration below which drug's effects are deemed negligible and can be removed from simulation.
drug half-life
→ scenario → pharmacology → drug → PK → half_life
<half_life>
double
</half_life>
Documentation (element)
Units: days Min: 0
Used to calculate elimination rate (which is: ln(2) / half_life).
Volume of Distribution
→ scenario → pharmacology → drug → PK → vol_dist
<vol_dist>
double
</vol_dist>
Documentation (element)
Units: l/kg Min: 0
Volume of Distribution
Model options and parameters
<model>
IN ANY ORDER:
| <ModelOptions ... />
| <clinical ... />
| <human ... />
| <parameters ... />
</model>
Documentation (element)
Units: List of elements
Encapsulation of all parameters which describe the model according to which fitting is done.
Model Options
→ scenario → model → ModelOptions
<ModelOptions>
IN THIS ORDER:
| ( <option ... /> )*
</ModelOptions>
Documentation (element)
Units: List of elements
All model options (bug fixes, choices between models, etc.).
The list of recognised options can be found in the code at:
include/util/ModelOptions.h and should also be in the wiki.
clinical
<clinical
healthSystemMemory=int
>
IN THIS ORDER:
| [ <NonMalariaFevers ... /> ]
</clinical>
Documentation (type)
Units: List of elements
Description of clinical parameters.
This is related to the health-system description, but contains data which can't be changed as part of an intervention and is not restricted to treatment.
Attributes
Follow-up period during which recurrence is treated as a failure
healthSystemMemory=int
Units: Time steps Min: 1 Max: 100
Follow-up period during which a recurrence is considered to be a treatment failure
NonMalariaFevers
→ scenario → model → clinical → NonMalariaFevers
<NonMalariaFevers>
IN THIS ORDER:
| <incidence ... />
| <prNeedTreatmentNMF ... />
| <prNeedTreatmentMF ... />
</NonMalariaFevers>
Documentation (type)
Description of non-malaria fever incidence. Non-malaria fevers are only modelled if the NON_MALARIA_FEVERS option is used.
P(NMF)
→ scenario → model → clinical → NonMalariaFevers → incidence
<incidence
[ interpolation=("none" or "linear") ]
>
IN THIS ORDER:
| ( <group ... /> )+
</incidence>
Documentation (element)
Units: none Min: 0 Max: 1
Probability that a non-malaria fever occurs given that no concurrent malaria fever occurs.
Attributes
interpolation
interpolation=("none" or "linear")
Units: none
Interpolation algorithm. Normally it is desirable for age-based values to be continuous w.r.t. age. By default linear interpolation is used. With all algorithms except "none", the age groups are converted to a set of points centred within each age range. Extra points are added at each end (zero and infinity) to keep value constant at both ends of the function. A zero-length age group may be used as a kind of barrier to adjust the distribution; e.g. with age group boundaries at 15, 20 and 25 years, a (linear) spline would be drawn between ages 17.5 and 22.5, whereas with boundaries at 15, 20 and 20 years, a spline would be drawn between ages 17.5 and 20 years (may be desired if individuals are assumed to reach adult size at 20). Algorithms:
- none: input values are used directly
- linear: straight lines (on an age vs. value graph) are used to interpolate data points.
P(need treatment | NMF)
→ scenario → model → clinical → NonMalariaFevers → prNeedTreatmentNMF
<prNeedTreatmentNMF
[ interpolation=("none" or "linear") ]
>
IN THIS ORDER:
| ( <group ... /> )+
</prNeedTreatmentNMF>
Documentation (element)
Units: none Min: 0 Max: 1
Probability that a non-malaria fever needs treatment with antibiotics (assuming fever is not induced by malaria, although concurrent parasites may be present).
Attributes
interpolation
interpolation=("none" or "linear")
Units: none
Interpolation algorithm. Normally it is desirable for age-based values to be continuous w.r.t. age. By default linear interpolation is used. With all algorithms except "none", the age groups are converted to a set of points centred within each age range. Extra points are added at each end (zero and infinity) to keep value constant at both ends of the function. A zero-length age group may be used as a kind of barrier to adjust the distribution; e.g. with age group boundaries at 15, 20 and 25 years, a (linear) spline would be drawn between ages 17.5 and 22.5, whereas with boundaries at 15, 20 and 20 years, a spline would be drawn between ages 17.5 and 20 years (may be desired if individuals are assumed to reach adult size at 20). Algorithms:
- none: input values are used directly
- linear: straight lines (on an age vs. value graph) are used to interpolate data points.
P(need treatment | MF)
→ scenario → model → clinical → NonMalariaFevers → prNeedTreatmentMF
<prNeedTreatmentMF
[ interpolation=("none" or "linear") ]
>
IN THIS ORDER:
| ( <group ... /> )+
</prNeedTreatmentMF>
Documentation (element)
Units: none Min: 0 Max: 1
Probability that a malaria fever needs treatment with antibiotics (assuming fever is induced by malaria, although concurrent bacteria may be present).
Meaning partially overlaps with separate model for comorbidity given malaria.
Attributes
interpolation
interpolation=("none" or "linear")
Units: none
Interpolation algorithm. Normally it is desirable for age-based values to be continuous w.r.t. age. By default linear interpolation is used. With all algorithms except "none", the age groups are converted to a set of points centred within each age range. Extra points are added at each end (zero and infinity) to keep value constant at both ends of the function. A zero-length age group may be used as a kind of barrier to adjust the distribution; e.g. with age group boundaries at 15, 20 and 25 years, a (linear) spline would be drawn between ages 17.5 and 22.5, whereas with boundaries at 15, 20 and 20 years, a spline would be drawn between ages 17.5 and 20 years (may be desired if individuals are assumed to reach adult size at 20). Algorithms:
- none: input values are used directly
- linear: straight lines (on an age vs. value graph) are used to interpolate data points.
human
<human>
IN THIS ORDER:
| <availabilityToMosquitoes ... />
| [ <weight ... /> ]
</human>
Documentation (type)
Parameters of host models.
Availability to mosquitoes
→ scenario → model → human → availabilityToMosquitoes
<availabilityToMosquitoes
[ interpolation=("none" or "linear") ]
>
IN THIS ORDER:
| ( <group ... /> )+
</availabilityToMosquitoes>
Documentation (element)
Units: None Min: 0 Max: 1
By age group data on availability of humans to mosquitoes relative to an adult.
Attributes
interpolation
interpolation=("none" or "linear")
Units: none
Interpolation algorithm. Normally it is desirable for age-based values to be continuous w.r.t. age. By default linear interpolation is used. With all algorithms except "none", the age groups are converted to a set of points centred within each age range. Extra points are added at each end (zero and infinity) to keep value constant at both ends of the function. A zero-length age group may be used as a kind of barrier to adjust the distribution; e.g. with age group boundaries at 15, 20 and 25 years, a (linear) spline would be drawn between ages 17.5 and 22.5, whereas with boundaries at 15, 20 and 20 years, a spline would be drawn between ages 17.5 and 20 years (may be desired if individuals are assumed to reach adult size at 20). Algorithms:
- none: input values are used directly
- linear: straight lines (on an age vs. value graph) are used to interpolate data points.
Weight
→ scenario → model → human → weight
<weight
[ interpolation=("none" or "linear") ]
multStdDev=double
>
IN THIS ORDER:
| ( <group ... /> )+
</weight>
Documentation (element)
Units: kg Min: 0
By age group data on human weight (mass).
Attributes
interpolation
interpolation=("none" or "linear")
Units: none
Interpolation algorithm. Normally it is desirable for age-based values to be continuous w.r.t. age. By default linear interpolation is used. With all algorithms except "none", the age groups are converted to a set of points centred within each age range. Extra points are added at each end (zero and infinity) to keep value constant at both ends of the function. A zero-length age group may be used as a kind of barrier to adjust the distribution; e.g. with age group boundaries at 15, 20 and 25 years, a (linear) spline would be drawn between ages 17.5 and 22.5, whereas with boundaries at 15, 20 and 20 years, a spline would be drawn between ages 17.5 and 20 years (may be desired if individuals are assumed to reach adult size at 20). Algorithms:
- none: input values are used directly
- linear: straight lines (on an age vs. value graph) are used to interpolate data points.
Standard deviation
multStdDev=double
Units: None Min: 0
Each human is assigned a weight multiplier from a normal distribution with mean 1 and this standard deviation at birth. His/her weight is this multiplier times the mean from age distribution. A standard deviation of zero for no heterogeneity is valid; a rough value from Tanzanian data is 0.14.
Parameters of the model of epidemiology
→ scenario → model → parameters
<parameters
interval=int
iseed=int
latentp=int
>
IN THIS ORDER:
| ( <parameter ... /> )+
</parameters>
Documentation (element)
Units: List of elements
Parameters of the epidemiological model
Attributes
Simulation step
interval=int
Units: Days
Simulation step
Random number seed
iseed=int
Units: Number
Seed for RNG
Pre-erythrocytic latent period
latentp=int
Units: Time steps Min: 0 Max: 20
pre-erythrocytic latent period, in time steps
parameter
→ scenario → model → parameters → parameter
<parameter
name=string
number=int
value=double
[ include=boolean ]
/>
Attributes
Name of parameter
name=string
Units: string
Name of parameter
Parameter number
number=int
Units: Number Min: 1 Max: 100
Reference number of input parameter
Parameter value
value=double
Units: Number Min: 0
Parameter value
Sampling indicator
include=boolean
Units: Number Min: 0 Max: 1
True if parameter is to be sampled in optimization runs. Not used in simulator app.
Schema 28 documentation
Generated from: scenario_28.xsd
.
Key:
abc required (one)
[ def ] optional (zero or one)
( ghi )* any number (zero or more)
( jkl )+ at least one
( mno ){2,inf} two or more occurrences
Scenario
→ scenario
<scenario
schemaVersion=int
analysisNo=int
name=string
wuID=int
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:noNamespaceSchemaLocation="scenario_28.xsd"
>
IN ANY ORDER:
| <demography ... />
| <monitoring ... />
| <interventions ... />
| <healthSystem ... />
| <entomology ... />
| [ <pharmacology ... /> ]
| <model ... />
</scenario>
Documentation (element)
Units: List of elements
Description of scenario
Attributes
Version of the xml schema
schemaVersion=int
Version of xml schema. If not equal to the current version an error is thrown. Use SchemaTranslator to update xml files.
Reference number of the analysis
analysisNo=int
Units: Number Min: 1 Max: 100000000
Unique identifier of scenario
Name of intervention
name=string
Units: string
Name of intervention
Work unit identifier
wuID=int
Units: Number Min: 1 Max: 100000000
Work unit ID. Only used to validate checkpointing, to prevent checkpoint cheats.
Human age distribution
→ scenario → demography
<demography
name=string
popSize=int
maximumAgeYrs=double
[ growthRate=double ]
>
IN THIS ORDER:
| <ageGroup ... />
</demography>
Documentation (element)
Units: List of elements
Description of demography
Attributes
Name of demography data
name=string
Units: string
Name of demography data
Population size
popSize=int
Units: Count Min: 1 Max: 100000
Population size
Maximum age of simulated humans
maximumAgeYrs=double
Units: years Min: 0 Max: 100
Maximum age of simulated humans in years.
Growth rate of human population
growthRate=double
Units: Number Min: 0 Max: 0
Growth rate of human population. (we should be able to implement this with non-zero values)
Age groups
→ scenario → demography → ageGroup
<ageGroup
lowerbound=double
>
IN THIS ORDER:
| ( <group ... /> )+
</ageGroup>
Documentation (element)
Units: List of elements
List of age groups included in demography
Documentation (type)
Units: List of elements
List of age groups included in demography or surveys
Attributes
lower bound of age group
lowerbound=double
Units: Years Min: 0 Max: 100
Lower bound of age group
group
→ scenario → demography → ageGroup → group
<group
poppercent=double
upperbound=double
/>
Attributes
Percentage in age group
poppercent=double
Percentage of human population in age group
upper bound of age group
upperbound=double
Units: Years Min: 0 Max: 100
Upper bound of age group
Measures to be reported
→ scenario → monitoring
<monitoring
name=string
[ cohortOnly=boolean ]
[ firstBoutOnly=boolean ]
[ firstTreatmentOnly=boolean ]
[ firstInfectionOnly=boolean ]
>
IN THIS ORDER:
| [ <continuous ... /> ]
| <SurveyOptions ... />
| <surveys ... />
| <ageGroup ... />
</monitoring>
Documentation (element)
Units: List of elements
Description of surveys
Attributes
Name of monitoring information
name=string
Units: string
Name of monitoring data
Survey only cohort
cohortOnly=boolean
If true, for many output measures, the output comes only from individuals in the cohort; otherwise output is from the entire population. Does not need to be specified if no cohort-selecting "interventions" are present.
Time to first episode only
firstBoutOnly=boolean
If true, remove individuals from the cohort at the start of the first episode (start of a clinical bout) since they were recruited into the cohort. This is intended for cohort studies that intend to measure time to first episode, using active case detection.
Time to first treatment only
firstTreatmentOnly=boolean
If true, remove individuals from the cohort when they first seek treatment since they were recruited into the cohort. This is intended for cohort studies that intend to measure time to first episode, using passive case detection.
Time to first infection only
firstInfectionOnly=boolean
If true, remove individuals from the cohort at completion of the first survey in which they present with a patent infection since they were recruited into the cohort. This intended for cohort studies that intend to measure time to first infection, using active case detection.
continuous
→ scenario → monitoring → continuous
<continuous
period=int
[ duringInit=boolean ]
>
IN THIS ORDER:
| ( <option ... /> )*
</continuous>
Attributes
Days between reports
period=int
Units: Days Min: 1 Max: unbounded
Number of timesteps between reports.
During initialization
duringInit=boolean
Units: Days Min: 1 Max: unbounded
Also output during initialization. By default this is disabled (only intervention-period data is output). This should not be used for predictions, but can be useful for model validation. In this mode, 'simulation time' is output as the first column (in addition to 'timestep'), since 'timestep' is dis- continuous across the start of the intervention period.
option
→ scenario → monitoring → continuous → option
<option
name=string
[ value=boolean ] DEFAULT VALUE true
/>
Attributes
Model options required
name=string
Options define different model structures. Option name. Must be one of a strictly defined set. Options are not required to be listed if their default value is desired.
Indicator of whether option is required
value=boolean
Default value: true
Option value (true/false). Each option has a default value used if the option is not listed (usually false but sometimes true).
Name of quantity
→ scenario → monitoring → SurveyOptions
<SurveyOptions>
IN THIS ORDER:
| ( <option ... /> )*
</SurveyOptions>
Documentation (element)
List of all active survey options. See include/Survey.h for a list of supported outputs. Should also be on the wiki.
Survey times (time steps)
→ scenario → monitoring → surveys
<surveys
detectionLimit=double
>
IN THIS ORDER:
| ( <surveyTime ... /> )+
</surveys>
Documentation (element)
Units: List of elements
List of survey times
Attributes
Detection limit for parasitaemia
detectionLimit=double
Units: parasites/micolitre Min: 0 Max: 1000
Detection limit for parasitemia
Survey time
→ scenario → monitoring → surveys → surveyTime
<surveyTime>
int
</surveyTime>
Documentation (element)
Units: Number Min: 0
Survey time; 0 means just before start of main sim and is a valid survey-point. Reported data is either from a point-time survey (immediate data) or is collected over the previous year (data from previous timesteps-per-year period). Simulation will end immediately after last survey is taken.
Age groups
→ scenario → monitoring → ageGroup
<ageGroup
lowerbound=double
>
IN THIS ORDER:
| ( <group ... /> )+
</ageGroup>
Documentation (element)
Units: List of elements
List of age groups included in demography or surveys
Documentation (type)
Units: List of elements
List of age groups included in surveys
Attributes
lower bound of age group
lowerbound=double
Units: Years Min: 0 Max: 100
Lower bound of age group
group
→ scenario → monitoring → ageGroup → group
<group
upperbound=double
/>
Attributes
upper bound of age group
upperbound=double
Units: Years Min: 0 Max: 100
Upper bound of age group
Preventative interventions
<interventions
name=string
>
IN ANY ORDER:
| [ <changeHS ... /> ]
| [ <changeEIR ... /> ]
| [ <MDA ... /> ]
| [ <vaccine ... /> ]
| [ <IPT ... /> ]
| [ <ITN ... /> ]
| [ <IRS ... /> ]
| [ <vectorDeterrent ... /> ]
| [ <cohort ... /> ]
| [ <importedInfections ... /> ]
| [ <immuneSuppression ... /> ]
| [ <insertR_0Case ... /> ]
| [ <uninfectVectors ... /> ]
| [ <larviciding ... /> ]
</interventions>
- changeHS
- changeEIR
- MDA
- vaccine
- IPT
- ITN
- IRS
- vectorDeterrent
- cohort
- importedInfections
- immuneSuppression
- insertR_0Case
- uninfectVectors
- larviciding
Documentation (element)
Units: List of elements
List of interventions. Generally these are either point-time distributions of something to some subset of the population, or continuous-time distribution targetting individuals when they reach a certain age.
Attributes
Intervention
name=string
Units: string
Name of set of interventions
Change health system
→ scenario → interventions → changeHS
<changeHS
[ name=string ]
>
IN THIS ORDER:
| ( <timed ... /> )*
</changeHS>
Documentation (element)
Changes to the health system
Attributes
Name of intervention
name=string
Units: string
Name of intervention
timed
→ scenario → interventions → changeHS → timed
<timed
time=int
>
IN THIS ORDER:
| EXACTLY ONE OF:
| | <EventScheduler ... />
| | <ImmediateOutcomes ... />
| <CFR ... />
| <pSequelaeInpatient ... />
</timed>
Documentation (type)
A complete replacement health system. Replaces all previous properties. (Health system can be replaced multiple times if necessary.)
Documentation (base type)
Units: List of elements
Description of case management system, used to specify the initial model or a replacement (an intervention). Encompasses case management data and some other data required to derive case outcomes.
Contains a sub-element describing the particular health-system in use. Health system data is here defined as data used to decide on a treatment strategy, given a case requiring treatment.
Attributes
Time
time=int
Units: time-steps Min: 0
Time-step at which this replacement occurs, starting from 0, the first intervention-period time-step.
EventScheduler
→ scenario → healthSystem → EventScheduler
<EventScheduler>
IN THIS ORDER:
| <uncomplicated ... />
| <complicated ... />
| <ClinicalOutcomes ... />
| [ <NonMalariaFevers ... /> ]
</EventScheduler>
uncomplicated
→ scenario → healthSystem → EventScheduler → uncomplicated
<uncomplicated>
IN THIS ORDER:
| <decisions ... />
| <treatments ... />
</uncomplicated>
Documentation (type)
Units: List of elements
A set of decisions and a set of treatments.
decisions
→ scenario → interventions → MDA → description → decisions
<decisions>
IN THIS ORDER:
| ( <decision ... /> )*
</decisions>
Documentation (type)
Description of decisions for a case management tree. A generic view of this tree would be that each decision is deterministic, or based on probabilities which may depend on other decisions. Probabilistic decisions are described here.
In general, each decision has a name, a defined set of outcome values, and a set of dependent decisions mentioned by name. The following decisions, with their associated outcomes, are provided by the code (and may not be included here):
- case (uncomplicated only): Returns "UC1" if there is no recent history of a malarial case, or "UC2" if there is.
- result: Dependent on decision "test", this performs a parasite density test. Output is one of "none" (no test performed), "positive", "negative".
The following decisions must be described here:
- test (uncomplicated only): Outputs must be "none", "microscopy" or "RDT" to describe which test the "result" decision uses.
- treatment: Describes which treatment to use. Values aren't restricted but must match up with a treatment described in the corresponding "treatments" section.
- hospitalisation (complicated only): none, immediate or delayed.
decision
→ scenario → interventions → MDA → description → decisions → decision
<decision
name=string
depends=string
values=string
>
string
</decision>
Documentation (type)
A decision describes how to choose between a set of values.
Lexically, it can contain symbols matching "[_.a-zA-Z0-9]+", round brackets: (), braces: {} and colons. Whitespace is ignored except to separate symbols.
Syntactically, it must match one TREE, where SYMBOL is a symbol described above. (Here, "x|y" means x or y, "x+" means x occurs once or more, brackets show grouping.) TREE := BRANCH_SET | OUTCOME BRANCH_SET := BRANCH+ BRANCH := DECISION '(' VALUE ')' ( ':' OUTCOME | '{' TREE '}' ) OUTCOME, DECISION, VALUE := SYMBOL
For each BRANCH_SET each BRANCH must have the same DECISION. This DECISION must be one of the dependencies mentioned in "depends". This may be:
- another decision, in which case the VALUE immediately following in brackets must correspond to one of its output values. The BRANCH_SET immediately containing this BRANCH must represent each output value of the same decision exactly once, and no parent BRANCH_SET may be for the same DECISION.
- "p": this indicates a probabilistic decision. In this case the value is a probability, the sum of all values for the BRANCH_SET must be 1 and the decision must be associated directly with OUTCOMEs (not sub-TREEs).
- "age": this indicates an age-test. The VALUE must have the form "a-b", indicating that this branch will be taken for individuals aged such that a <= age < b, where a,b are non-negative real numbers or the special value "inf", and a <= b. All VALUEs in the BRANCH_SET must cover all possible (non-negative real) ages, with no overlap (hence, smallest a must be 0 and greatest b must be inf).
Semantically, each OUTCOME must be one of the values associated with this decision.
Attributes
Name of decision
name=string
The name of this decision. The name must match the regular expression "[_a-zA-Z0-9]+"; that is it can only contain letters, digits and _ characters (no spaces, punctuation, etc.).
Preceding decisions
depends=string
A comma-separated list of decisions that must have already been evaluated before this decision can be evaluated. Can be empty. Each must be hard-coded or described here. Can include the special decisions "p" and "age", though "age" cannot be combined with any other dependency.
Outcome values
values=string
A comma-separated list of outcome values this decision may have. The name of each value must be of the same form as decision names (i.e. only contain letters, digits and _ characters).
treatments
→ scenario → interventions → MDA → description → treatments
<treatments>
IN THIS ORDER:
| ( <treatment ... /> )*
</treatments>
Documentation (type)
Units: string
A list of drug treatment tables. Each should have a name corresponding to one of the "drug" decision's values.
treatment
→ scenario → interventions → MDA → description → treatments → treatment
<treatment
name=string
>
IN THIS ORDER:
| <schedule ... />
| ( <modifier ... /> )*
</treatment>
Documentation (type)
Units: List of elements
A description of a base treatment schedule along with modifiers to handle delays, quality variations, etc.
Attributes
Treatment administered
name=string
Units: string
Name corresponding to one of the drug decision's output values.
schedule
→ scenario → interventions → MDA → description → treatments → treatment → schedule
<schedule>
IN THIS ORDER:
| ( <medicate ... /> )*
</schedule>
Documentation (type)
Units: List of elements
The base (unmodified) schedule of drugs administered for this treatment.
medicate
→ scenario → interventions → MDA → description → treatments → treatment → schedule → medicate
<medicate
drug=string
mg=double
hour=double
[ duration=double ]
/>
Attributes
drug
drug=string
Units: string
Abbreviated name of drug compound
drug dose
mg=double
Units: mg
Quantity of drug compound
time of administration
hour=double
Units: hours Min: 0
Number of hours past start of timestep this drug dose is administered at (first dose should be at hour 0).
duration of administration
duration=double
Units: hours Min: 0
If this attribute is given, use IV administration instead of orally. Specifies the number of hours over which the dose is administered.
modifier
→ scenario → interventions → MDA → description → treatments → treatment → modifier
<modifier
decision=string
>
EXACTLY ONE OF:
| ( <multiplyQty ... /> )*
| ( <delay ... /> )*
| ( <selectTimeRange ... /> )*
</modifier>
Documentation (type)
Units: Choice of elements
A modifier for this treatment, according to the outputs of a decision.
The "decision" attribute must be the name of a known decision. Then, there must be a set of multipyQty, delay or selectTimeRange sub-elements, each of which corresponds to one value output of the decision.
Attributes
decision
decision=string
Units: string
Specifies the decision that this modifier acts on.
Active ingredient multipliers
→ scenario → interventions → MDA → description → treatments → treatment → modifier → multiplyQty
<multiplyQty
value=string
effect=string
[ affectsCost=boolean ]
/>
Documentation (element)
Units: Comma separated list of values
Multiplies the quantity of active ingredients of drugs administered.
The "drugs" attribute is a comma-separated list of all active ingredients administered in the base schedule (each must be listed once) and the content of this element is a comma- separated list of multipliers for each active ingredient, listed in the same order as in the "drugs" attribute. E.g. with drugs="A,B" and content "0.5,1" the quantity of drug A is halved while that of B is unchanged.
Attributes
value of decision
value=string
Units: string
Specifies a value of the decision to act on.
List of drugs affected
effect=string
Units: string
Comma-separated list of the effect the modifier has on each drug, in the form DRUG1(EFFECT1),DRUG2(EFFECT2), etc.
Affects cost?
affectsCost=boolean
Units: none
Does this affect the cost? If false, the effective drug usage (w.r.t. cost) is unaffected by this modifier; if true it is. Defaults to true (if omitted). Is meaningless for delays.
Active ingredient delays
→ scenario → interventions → MDA → description → treatments → treatment → modifier → delay
<delay
value=string
effect=string
[ affectsCost=boolean ]
/>
Documentation (element)
Units: Comma separated list of values
Delays administration of drugs listed in the base schedule by so many hours.
The "drugs" attribute is a comma-separated list of all active ingredients administered in the base schedule (each must be listed once) and the content of this element is a comma- separated list of delays (in hours) for each active ingredient, listed in the same order as in the "drugs" attribute. E.g. with drugs="A,B" and content "0,6", drug A is administered as in the base schedule while drug B is administered 6 hours later than specified.
Attributes
value of decision
value=string
Units: string
Specifies a value of the decision to act on.
List of drugs affected
effect=string
Units: string
Comma-separated list of the effect the modifier has on each drug, in the form DRUG1(EFFECT1),DRUG2(EFFECT2), etc.
Affects cost?
affectsCost=boolean
Units: none
Does this affect the cost? If false, the effective drug usage (w.r.t. cost) is unaffected by this modifier; if true it is. Defaults to true (if omitted). Is meaningless for delays.
Active ingredient time-ranges
→ scenario → interventions → MDA → description → treatments → treatment → modifier → selectTimeRange
<selectTimeRange
value=string
effect=string
[ affectsCost=boolean ]
/>
Documentation (element)
Units: Comma separated list of values
Selects which drug doses to administer according to time of administration (before times are modified by delays). Half-open interval: [x,y)
The "drugs" attribute is a comma-separated list of all active ingredients administered in the base schedule (each must be listed once) and the content of this element is a comma- separated list of time-ranges (in hours) for each active ingredient, listed in the same order as in the "drugs" attribute. The time-ranges should be of the form x-y and are interpreted as the half-open interval [x,y); that is a drug listed with time t will only be administered if x <= t < y.
Attributes
value of decision
value=string
Units: string
Specifies a value of the decision to act on.
List of drugs affected
effect=string
Units: string
Comma-separated list of the effect the modifier has on each drug, in the form DRUG1(EFFECT1),DRUG2(EFFECT2), etc.
Affects cost?
affectsCost=boolean
Units: none
Does this affect the cost? If false, the effective drug usage (w.r.t. cost) is unaffected by this modifier; if true it is. Defaults to true (if omitted). Is meaningless for delays.
complicated
→ scenario → healthSystem → EventScheduler → complicated
<complicated>
IN THIS ORDER:
| <decisions ... />
| <treatments ... />
</complicated>
Documentation (type)
Units: List of elements
A set of decisions and a set of treatments.
ClinicalOutcomes
→ scenario → healthSystem → EventScheduler → ClinicalOutcomes
<ClinicalOutcomes>
IN THIS ORDER:
| <maxUCSeekingMemory ... />
| <uncomplicatedCaseDuration ... />
| <complicatedCaseDuration ... />
| <complicatedRiskDuration ... />
| ( <dailyPrImmUCTS ... /> )+
</ClinicalOutcomes>
- maxUCSeekingMemory
- uncomplicatedCaseDuration
- complicatedCaseDuration
- complicatedRiskDuration
- dailyPrImmUCTS
Documentation (type)
Description of base parameters of the clinical model.
Max UC treatment-seeking memory
→ scenario → healthSystem → EventScheduler → ClinicalOutcomes → maxUCSeekingMemory
<maxUCSeekingMemory>
int
</maxUCSeekingMemory>
Documentation (element)
Units: days Min: 0 Max: unbounded
Maximum number of timesteps (including first of case) an individual will remember they are sick before resetting.
Uncomplicated case duration
→ scenario → healthSystem → EventScheduler → ClinicalOutcomes → uncomplicatedCaseDuration
<uncomplicatedCaseDuration>
int
</uncomplicatedCaseDuration>
Documentation (element)
Units: days Min: 1 Max: unbounded
Fixed length of an uncomplicated case of malarial/non-malarial sickness (from treatment seeking until return to life-as-usual). Usually 3.
Complicated case duration
→ scenario → healthSystem → EventScheduler → ClinicalOutcomes → complicatedCaseDuration
<complicatedCaseDuration>
int
</complicatedCaseDuration>
Documentation (element)
Units: days Min: 1 Max: unbounded
Fixed length of a complicated/severe case of malaria (from treatment seeking until return to life-as-usual).
Complicated risk duration
→ scenario → healthSystem → EventScheduler → ClinicalOutcomes → complicatedRiskDuration
<complicatedRiskDuration>
int
</complicatedRiskDuration>
Documentation (element)
Units: days Min: 1 Max: unbounded
Number of days for which humans are at risk of death during a severe or complicated case of malaria. Cannot be greater than the duration of a complicated case or less than 1 day.
Daily probability of immediate treatment seeking for uncomplicated cases
→ scenario → healthSystem → EventScheduler → ClinicalOutcomes → dailyPrImmUCTS
<dailyPrImmUCTS>
double
</dailyPrImmUCTS>
Documentation (element)
Units: none Min: 0 Max: 1
It is sometimes desirable to model delays to treatment seeking in uncomplicated cases. While treatment of drugs can be delayed within case management trees to provide a similar effect, this doesn't delay any of the decisions, including diagnostics using the current parasite density.
Instead a list of dailyPrImmUCTS elements can be used, describing successive daily probabilities of treatment (sum must be 1). For example, with a list of two elements with values 0.8 and 0.2, for 80% of UC cases the decision tree is evaluated immediately, and for 20% of cases evaluation is delayed by one day.
For no delay, use one element with a value of 1.
NonMalariaFevers
→ scenario → healthSystem → EventScheduler → NonMalariaFevers
<NonMalariaFevers>
IN THIS ORDER:
| <prTreatment ... />
| <effectNegativeTest ... />
| <effectPositiveTest ... />
| <effectNeed ... />
| <effectInformal ... />
| <CFR ... />
| <TreatmentEfficacy ... />
</NonMalariaFevers>
Documentation (type)
Description of non-malaria fever health-system modelling (treatment, outcomes and costing). Incidence is described by the model->clinical->NonMalariaFevers element. Non-malaria fevers are only modelled if the NON_MALARIA_FEVERS option is used.
As further explanation of the parameters below, we first take: β₀ = logit(P₀) - β₃·P(need), and then calculate the probability of antibiotic administration, P(AB), dependent on treatment seeking location. No seeking: P(AB) = 0 Informal sector: logit(P(AB)) = β₀ + β₄ Health facility: logit(P(AB)) = β₀ + β₁·I(neg) + β₂·I(pos) + β₃·I(need) (where I(X) is 1 when event X is true and 0 otherwise, logit(p)=log(p/(1-p)), event "need" is the event that death may occur without treatment, events "neg" and "pos" are the events that a malaria parasite diagnositic was used and indicated no parasites and parasites respectively).
P(treatment|no diagnostic)
→ scenario → healthSystem → EventScheduler → NonMalariaFevers → prTreatment
<prTreatment>
double
</prTreatment>
Documentation (element)
Units: none Min: 0 Max: 1
Probability of a non-malaria fever being treated with an antibiotic given that no malaria diagnostic was used but independent of need. Symbol: P₀.
Effect of a negative test
→ scenario → healthSystem → EventScheduler → NonMalariaFevers → effectNegativeTest
<effectNegativeTest>
double
</effectNegativeTest>
Documentation (element)
The effect of a negative malaria diagnostic on the odds ratio of receiving antibiotics. Symbol: exp(β₁).
Effect of a positive test
→ scenario → healthSystem → EventScheduler → NonMalariaFevers → effectPositiveTest
<effectPositiveTest>
double
</effectPositiveTest>
Documentation (element)
The effect of a positive malaria diagnostic on the odds ratio of receiving antibiotics. Symbol: exp(β₂).
Effect of need
→ scenario → healthSystem → EventScheduler → NonMalariaFevers → effectNeed
<effectNeed>
double
</effectNeed>
Documentation (element)
The effect of needing antibiotic treatment on the odds ratio of receiving antibiotics. Symbol: exp(β₃).
Effect of informal provider
→ scenario → healthSystem → EventScheduler → NonMalariaFevers → effectInformal
<effectInformal>
double
</effectInformal>
Documentation (element)
The effect of seeking treatment from an informal provider (i.e. a provider untrained in NMF diagnosis) on the odds ratio of receiving antibiotics. Symbol: exp(β₄)
Case fatality rate
→ scenario → healthSystem → EventScheduler → NonMalariaFevers → CFR
<CFR
[ interpolation=("none" or "linear") ] DEFAULT VALUE linear
>
IN THIS ORDER:
| ( <group ... /> )+
</CFR>
Documentation (element)
Units: none Min: 0 Max: 1
Base case fatality rate for non-malaria fevers (probability of death from a fever requiring antibiotic treatment given that no antibiotic treatment is received, per age-group).
Attributes
interpolation
interpolation=("none" or "linear")
Units: none
Default value: linear
Interpolation algorithm. Normally it is desirable for age-based values to be continuous w.r.t. age. By default linear interpolation is used. With all algorithms except "none", the age groups are converted to a set of points centred within each age range. Extra points are added at each end (zero and infinity) to keep value constant at both ends of the function. A zero-length age group may be used as a kind of barrier to adjust the distribution; e.g. with age group boundaries at 15, 20 and 25 years, a (linear) spline would be drawn between ages 17.5 and 22.5, whereas with boundaries at 15, 20 and 20 years, a spline would be drawn between ages 17.5 and 20 years (may be desired if individuals are assumed to reach adult size at 20). Algorithms:
- none: input values are used directly
- linear: straight lines (on an age vs. value graph) are used to interpolate data points.
age group
→ scenario → healthSystem → CFR → group
<group
value=double
lowerbound=double
/>
Documentation (element)
A series of values according to age groups, each specified with a lower-bound and a value. The first lower-bound specified must be zero; a final upper-bound of infinity is added to complete the last age group. At least one age group is required. Normally these are interpolated by a continuous function (see interpolation attribute).
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Lower bound
lowerbound=double
Units: Years Min: 0 Max: 100
Lower bound of age group
Treatment efficacy
→ scenario → healthSystem → EventScheduler → NonMalariaFevers → TreatmentEfficacy
<TreatmentEfficacy>
double
</TreatmentEfficacy>
Documentation (element)
Units: none Min: 0 Max: 1
Probability that treatment would prevent a death (i.e. CFR is multiplied by one minus this when treatment occurs).
ImmediateOutcomes
→ scenario → healthSystem → ImmediateOutcomes
<ImmediateOutcomes
name=string
>
IN THIS ORDER:
| <drugRegimen ... />
| <initialACR ... />
| <compliance ... />
| <nonCompliersEffective ... />
| <pSeekOfficialCareUncomplicated1 ... />
| <pSelfTreatUncomplicated ... />
| <pSeekOfficialCareUncomplicated2 ... />
| <pSeekOfficialCareSevere ... />
</ImmediateOutcomes>
- drugRegimen
- initialACR
- compliance
- nonCompliersEffective
- pSeekOfficialCareUncomplicated1
- pSelfTreatUncomplicated
- pSeekOfficialCareUncomplicated2
- pSeekOfficialCareSevere
Documentation (type)
Units: List of elements
Description of "immediate outcomes" health system: Tediosi et al case management model (Case management as described in AJTMH 75 (suppl 2) pp90-103).
Attributes
Case Management model
name=string
Units: string
Name of health system
Description of drug regimen
→ scenario → healthSystem → ImmediateOutcomes → drugRegimen
<drugRegimen
firstLine=string
secondLine=string
inpatient=string
/>
Documentation (element)
Units: List of elements
Description of drug regimen
Attributes
First line drug
firstLine=string
Units: Drug code
Code for first line drug
Second line drug
secondLine=string
Units: Drug code
Code for second line drug
Drug use for treating inpatients
inpatient=string
Units: Drug code
Code for drug used for treating inpatients
Initial cure rate
→ scenario → healthSystem → ImmediateOutcomes → initialACR
<initialACR>
IN THIS ORDER:
| [ <CQ ... /> ]
| [ <SP ... /> ]
| [ <AQ ... /> ]
| [ <SPAQ ... /> ]
| [ <ACT ... /> ]
| [ <QN ... /> ]
| <selfTreatment ... />
</initialACR>
Documentation (element)
Units: Proportion Min: 0 Max: 1
Initial cure rate
Chloroquine
→ scenario → healthSystem → ImmediateOutcomes → initialACR → CQ
<CQ
value=double
/>
Documentation (element)
Units: List of elements
Chloroquine
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Sulphadoxine-pyrimethamine
→ scenario → healthSystem → ImmediateOutcomes → initialACR → SP
<SP
value=double
/>
Documentation (element)
Units: List of elements
Sulphadoxine-pyrimethamine
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Amodiaquine
→ scenario → healthSystem → ImmediateOutcomes → initialACR → AQ
<AQ
value=double
/>
Documentation (element)
Units: List of elements
Amodiaquine
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Sulphadoxine-pyrimethamine/Amodiaquine
→ scenario → healthSystem → ImmediateOutcomes → initialACR → SPAQ
<SPAQ
value=double
/>
Documentation (element)
Units: List of elements
Sulphadoxine-pyrimethamine/Amodiaquine
Attributes
Input parameter value
value=double
A double-precision floating-point value.
ACT
→ scenario → healthSystem → ImmediateOutcomes → initialACR → ACT
<ACT
value=double
/>
Documentation (element)
Units: List of elements
Artemisinine combination therapy
Attributes
Input parameter value
value=double
A double-precision floating-point value.
QN
→ scenario → healthSystem → ImmediateOutcomes → initialACR → QN
<QN
value=double
/>
Documentation (element)
Units: List of elements
Quinine
Attributes
Input parameter value
value=double
A double-precision floating-point value.
selfTreatment
→ scenario → healthSystem → ImmediateOutcomes → initialACR → selfTreatment
<selfTreatment
value=double
/>
Documentation (element)
Units: Proportion Min: 0 Max: 1
Probability of self-treatment
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Adherence to treatment
→ scenario → healthSystem → ImmediateOutcomes → compliance
<compliance>
IN THIS ORDER:
| [ <CQ ... /> ]
| [ <SP ... /> ]
| [ <AQ ... /> ]
| [ <SPAQ ... /> ]
| [ <ACT ... /> ]
| [ <QN ... /> ]
| <selfTreatment ... />
</compliance>
Documentation (element)
Units: Proportion Min: 0 Max: 1
Adherence to treatment
Effectiveness of treatment in non-adherent patients
→ scenario → healthSystem → ImmediateOutcomes → nonCompliersEffective
<nonCompliersEffective>
IN THIS ORDER:
| [ <CQ ... /> ]
| [ <SP ... /> ]
| [ <AQ ... /> ]
| [ <SPAQ ... /> ]
| [ <ACT ... /> ]
| [ <QN ... /> ]
| <selfTreatment ... />
</nonCompliersEffective>
Documentation (element)
Units: Proportion Min: 0 Max: 1
Effectiveness of treatment of non compliers
Probability that a patient with uncomplicated disease seeks official care immediately
→ scenario → healthSystem → ImmediateOutcomes → pSeekOfficialCareUncomplicated1
<pSeekOfficialCareUncomplicated1
value=double
/>
Documentation (element)
Units: Proportion Min: 0 Max: 1
Probability that a patient with newly incident uncomplicated disease seeks official care
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Probability that a patient with uncomplicated disease self-treats
→ scenario → healthSystem → ImmediateOutcomes → pSelfTreatUncomplicated
<pSelfTreatUncomplicated
value=double
/>
Documentation (element)
Units: Proportion Min: 0 Max: 1
Probability that a patient with uncomplicated disease self-treats
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Probability that a recurring patient seeks official care
→ scenario → healthSystem → ImmediateOutcomes → pSeekOfficialCareUncomplicated2
<pSeekOfficialCareUncomplicated2
value=double
/>
Documentation (element)
Units: Proportion Min: 0 Max: 1
Probability that a patient with recurrence of uncomplicated disease seeks official care
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Probability that a patient with severe disease obtains appropriate care
→ scenario → healthSystem → ImmediateOutcomes → pSeekOfficialCareSevere
<pSeekOfficialCareSevere
value=double
/>
Documentation (element)
Units: Proportion Min: 0 Max: 1
Probability that a patient with severe disease obtains appropriate care
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Case fatality rate in inpatients
→ scenario → healthSystem → CFR
<CFR
[ interpolation=("none" or "linear") ] DEFAULT VALUE linear
>
IN THIS ORDER:
| ( <group ... /> )+
</CFR>
Documentation (element)
Units: List of elements
Case fatality rate (probability of an inpatient fatality from a bout of severe malaria, per age-group).
Attributes
interpolation
interpolation=("none" or "linear")
Units: none
Default value: linear
Interpolation algorithm. Normally it is desirable for age-based values to be continuous w.r.t. age. By default linear interpolation is used. With all algorithms except "none", the age groups are converted to a set of points centred within each age range. Extra points are added at each end (zero and infinity) to keep value constant at both ends of the function. A zero-length age group may be used as a kind of barrier to adjust the distribution; e.g. with age group boundaries at 15, 20 and 25 years, a (linear) spline would be drawn between ages 17.5 and 22.5, whereas with boundaries at 15, 20 and 20 years, a spline would be drawn between ages 17.5 and 20 years (may be desired if individuals are assumed to reach adult size at 20). Algorithms:
- none: input values are used directly
- linear: straight lines (on an age vs. value graph) are used to interpolate data points.
Probabilities of sequelae in inpatients
→ scenario → healthSystem → pSequelaeInpatient
<pSequelaeInpatient
[ interpolation=("none" or "linear") ] DEFAULT VALUE linear
>
IN THIS ORDER:
| ( <group ... /> )+
</pSequelaeInpatient>
Documentation (element)
Units: List of elements
List of age specific probabilities of sequelae in inpatients, during a severe bout.
Attributes
interpolation
interpolation=("none" or "linear")
Units: none
Default value: linear
Interpolation algorithm. Normally it is desirable for age-based values to be continuous w.r.t. age. By default linear interpolation is used. With all algorithms except "none", the age groups are converted to a set of points centred within each age range. Extra points are added at each end (zero and infinity) to keep value constant at both ends of the function. A zero-length age group may be used as a kind of barrier to adjust the distribution; e.g. with age group boundaries at 15, 20 and 25 years, a (linear) spline would be drawn between ages 17.5 and 22.5, whereas with boundaries at 15, 20 and 20 years, a spline would be drawn between ages 17.5 and 20 years (may be desired if individuals are assumed to reach adult size at 20). Algorithms:
- none: input values are used directly
- linear: straight lines (on an age vs. value graph) are used to interpolate data points.
Change transmission levels
→ scenario → interventions → changeEIR
<changeEIR
[ name=string ]
>
IN THIS ORDER:
| ( <timed ... /> )*
</changeEIR>
Documentation (element)
New description of transmission level for models not supporting vector control interventions. Use of this overrides previous transmission levels such that human infectiousness no longer has any feedback effect on transmission. Supplied EIR data must last until end of simulation.
Attributes
Name of intervention
name=string
Units: string
Name of intervention
timed
→ scenario → interventions → changeEIR → timed
<timed
eipDuration=int
time=int
>
IN THIS ORDER:
| ( <EIRDaily ... /> )+
</timed>
Documentation (type)
Replacement transmission levels. Disables feedback of human infectiousness to mosquitoes on further mosquito to human transmission. Must last until end of simulation.
Attributes
Duration of sporogony (days)
eipDuration=int
The duration of sporogony in days
Time
time=int
Units: time-steps Min: 0
Time-step at which this replacement occurs, starting from 0, the first intervention-period time-step.
EIRDaily
→ scenario → entomology → nonVector → EIRDaily
<EIRDaily
[ origin=string ]
>
double
</EIRDaily>
Documentation (type)
Units: Infectious bites per adult per day
In the non-vector model, EIR is input as a sequence of daily values. There must be at least a years' worth of entries (365), and if there are more, values are wrapped and averaged (i.e. value for first day of year is taken as the mean of values for days 0, 365+0, 2*365+0, etc.).
Attributes
Time origin of EIR sequence
origin=string
Mass drug administration
→ scenario → interventions → MDA
<MDA
[ name=string ]
>
IN THIS ORDER:
| [ <description ... /> ]
| ( <timed ... /> )*
</MDA>
Documentation (element)
Description and deployment of MDA interventions (can also be configured as screen and treat or intermittent preventative treatment with 1-day time-step models).
Attributes
Name of intervention
name=string
Units: string
Name of intervention
Description of MDA
→ scenario → interventions → MDA → description
<description
[ name=string ]
>
IN THIS ORDER:
| <decisions ... />
| <treatments ... />
</description>
Documentation (element)
Description of treatment type used by mass treatment option of one-day case management model. Can be used to describe one-size-fits-all mass drug dosing, age-based mass drug dosing and screen-and-treat. Number of treatments given can be reported by the nMDAs option.
Documentation (base type)
Units: List of elements
A set of decisions and a set of treatments.
Attributes
Intervention
name=string
Units: string
Name of set of interventions
Mass administration
→ scenario → interventions → MDA → timed
<timed
time=int
[ maxAge=double ] DEFAULT VALUE 100
[ minAge=double ] DEFAULT VALUE 0
coverage=double
[ cohort=boolean ] DEFAULT VALUE false
/>
Documentation (element)
List of timed deployments of mass-drug-administration.
Attributes
Time
time=int
Units: time-steps Min: 0
Time-step at which this intervention occurs, starting from 0, the first intervention-period time-step.
Maximum age of eligible individuals
maxAge=double
Units: Years Min: 0 Max: 100
Default value: 100
Maximum age of eligible individuals (defaults to 100)
Minimum age of eligible individuals
minAge=double
Units: Years Min: 0 Max: 100
Default value: 0
Minimum age of eligible individuals (defaults to 0)
Coverage
coverage=double
Units: Proportion Min: 0 Max: 1
Coverage of intervention
Cohort only
cohort=boolean
Units: Proportion Min: 0 Max: 1
Default value: false
Restrict distribution to chosen cohort.
Vaccines
→ scenario → interventions → vaccine
<vaccine
[ name=string ]
>
IN THIS ORDER:
| ( <description ... /> ){0,3}
| ( <continuous ... /> )*
| ( <timed ... /> )*
</vaccine>
Documentation (element)
Description and deployment of vaccine interventions.
Attributes
Name of intervention
name=string
Units: string
Name of intervention
description
→ scenario → interventions → vaccine → description
<description
vaccineType=("PEV" or "BSV" or "TBV")
[ name=string ]
>
IN THIS ORDER:
| <decay ... />
| <efficacyB ... />
| ( <initialEfficacy ... /> )+
</description>
Documentation (type)
List of vaccine descriptions
Attributes
Type of vaccine
vaccineType=("PEV" or "BSV" or "TBV")
Units: Code
Type of vaccine
Vaccine
name=string
Units: string
Name of vaccine
Decay of effect
→ scenario → interventions → vaccine → description → decay
<decay
function=("constant" or "step" or "linear" or "exponential" or "weibull" or "hill" or "smooth-compact")
L=double
[ k=double ] DEFAULT VALUE 1.0
[ sigma=double ] DEFAULT VALUE 0
/>
Documentation (element)
Specification of decay of efficacy
Documentation (type)
Specification of decay or survival of a parameter.
Attributes
function
function=("constant" or "step" or "linear" or "exponential" or "weibull" or "hill" or "smooth-compact")
Units: None Min: 0 Max: 1
Determines which decay function to use. Available decay functions, for age t in years: constant: 1 step: 1 for t less than L, otherwise 0 linear: 1 - t/L for t less than L, otherwise 0 exponential: exp( - t/L * log(2) ) weibull: exp( -(t/L)^k * log(2) ) hill: 1 / (1 + (t/L)^k) smooth-compact: exp( k - k / (1 - (t/L)^2) ) for t less than L, otherwise 0
L
L=double
Units: Years Min: 0
Scale parameter of distribution. With the smooth-compact (smooth function with compact support), step and linear functions, this is the age at which the parameter has decayed to 0; with the other three functions, this is the age at which the parameter has decayed to half its original value. Not used for constant decay (though must be specified anyway).
k
k=double
Units: none Min: 0
Default value: 1.0
Shape parameter of distribution. If not specified, default value of 1 is used. Meaning depends on function; not used in some cases.
σ (sigma)
sigma=double
Units: none Min: 0
Default value: 0
If non-zero, heterogeneity of decay is introduced via a variate sampled from the log-normal distribution with mu zero (i.e. median is 1) and this sigma. Age is then divided by this variate before being passed to the decay function.
Variance parameter for vaccine efficacy
→ scenario → interventions → vaccine → description → efficacyB
<efficacyB
value=double
/>
Documentation (element)
Units: Positive real Min: 0.001 Max: 1.00E+06
Measure of variation in vaccine efficacy
Attributes
Input parameter value
value=double
A double-precision floating-point value.
initialEfficacy
→ scenario → interventions → vaccine → description → initialEfficacy
<initialEfficacy
value=double
/>
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Age-based vaccination
→ scenario → interventions → vaccine → continuous
<continuous
targetAgeYrs=double
coverage=double
[ cohort=boolean ] DEFAULT VALUE false
[ begin=int ] DEFAULT VALUE 0
[ end=int ] DEFAULT VALUE 2147483647
/>
Documentation (element)
List of ages at which vaccination takes place (through EPI, post-natal and school-based programmes, etc.).
Attributes
Target age
targetAgeYrs=double
Units: Years Min: 0 Max: 100
Target age of intervention
Proportion covered
coverage=double
Units: Proportion Min: 0 Max: 1
Coverage of intervention
Cohort only
cohort=boolean
Units: Proportion Min: 0 Max: 1
Default value: false
Restrict distribution to chosen cohort (default: false).
First timestep active
begin=int
Units: Timesteps Min: 0 Max: 2147483647
Default value: 0
First timestep (from 0 at the beginning of the intervention period) this item is active. Defaults to 0.
End timestep
end=int
Units: Timesteps Min: 0 Max: 2147483647
Default value: 2147483647
End of the period during which the intervention is active (to be exact, the first timestep of the intervention period at which the item becomes inactive). Defaults to 2147483647.
Mass vaccination
→ scenario → interventions → vaccine → timed
<timed
time=int
[ maxAge=double ] DEFAULT VALUE 100
[ minAge=double ] DEFAULT VALUE 0
coverage=double
[ cohort=boolean ] DEFAULT VALUE false
[ cumulativeWithMaxAge=double ]
/>
Documentation (element)
List of timed mass vaccinations in the community
Attributes
Time
time=int
Units: time-steps Min: 0
Time-step at which this intervention occurs, starting from 0, the first intervention-period time-step.
Maximum age of eligible individuals
maxAge=double
Units: Years Min: 0 Max: 100
Default value: 100
Maximum age of eligible individuals (defaults to 100)
Minimum age of eligible individuals
minAge=double
Units: Years Min: 0 Max: 100
Default value: 0
Minimum age of eligible individuals (defaults to 0)
Coverage
coverage=double
Units: Proportion Min: 0 Max: 1
Coverage of intervention
Cohort only
cohort=boolean
Units: Proportion Min: 0 Max: 1
Default value: false
Restrict distribution to chosen cohort.
Cumulative deployment: maximum age
cumulativeWithMaxAge=double
Units: Years Min: 0
If present, activate cumulate deployment mode where intervention is only deployed to individuals not already considered protected in sufficient quantity to bring the total proportion of people covered up to level described by "coverage". Individuals are considered already protected by this intervention when the age of the last net/dose/etc. received is less than "maximum age" (this attribute) years old (i.e. when timeLastDeployment+maximumAge>currentTimeStep).
Intermittent preventative treatment
→ scenario → interventions → IPT
<IPT
[ name=string ]
>
IN THIS ORDER:
| <description ... />
| ( <continuous ... /> )*
| ( <timed ... /> )*
</IPT>
Documentation (element)
Description and deployment of IPT interventions.
Attributes
Name of intervention
name=string
Units: string
Name of intervention
description
→ scenario → interventions → IPT → description
<description
iptiEffect=int
[ name=string ]
>
IN THIS ORDER:
| ( <infGenotype ... /> )+
</description>
Attributes
Description of ipti effect
iptiEffect=int
Units: List of Elementes
Description of ipti effect
IPT name
name=string
Units: string
Name of IPT intervention
infGenotype
→ scenario → interventions → IPT → description → infGenotype
<infGenotype
name=string
freq=double
ACR=double
proph=int
tolPeriod=int
atten=double
/>
Attributes
Age specific intervention
name=string
Units: string
Name of age specific intervention
Frequency
freq=double
Frequency of parasite genotype
ACR
ACR=double
Adequate clinical response (proportion)
Prophylactic period
proph=int
Prophylactic period
Tolerance period
tolPeriod=int
Tolerance period
Tolerance period
atten=double
Tolerance period
Age-based IPT deployment
→ scenario → interventions → IPT → continuous
<continuous
targetAgeYrs=double
coverage=double
[ cohort=boolean ] DEFAULT VALUE false
[ begin=int ] DEFAULT VALUE 0
[ end=int ] DEFAULT VALUE 2147483647
/>
Documentation (element)
List of ages at which IPTi/IPTc deployment takes place (through EPI, post-natal and school-based programmes, etc.).
Attributes
Target age
targetAgeYrs=double
Units: Years Min: 0 Max: 100
Target age of intervention
Proportion covered
coverage=double
Units: Proportion Min: 0 Max: 1
Coverage of intervention
Cohort only
cohort=boolean
Units: Proportion Min: 0 Max: 1
Default value: false
Restrict distribution to chosen cohort (default: false).
First timestep active
begin=int
Units: Timesteps Min: 0 Max: 2147483647
Default value: 0
First timestep (from 0 at the beginning of the intervention period) this item is active. Defaults to 0.
End timestep
end=int
Units: Timesteps Min: 0 Max: 2147483647
Default value: 2147483647
End of the period during which the intervention is active (to be exact, the first timestep of the intervention period at which the item becomes inactive). Defaults to 2147483647.
Mass IPT administration
→ scenario → interventions → IPT → timed
<timed
time=int
[ maxAge=double ] DEFAULT VALUE 100
[ minAge=double ] DEFAULT VALUE 0
coverage=double
[ cohort=boolean ] DEFAULT VALUE false
[ cumulativeWithMaxAge=double ]
/>
Documentation (element)
List of timed IPTi/IPTc distribution
Attributes
Time
time=int
Units: time-steps Min: 0
Time-step at which this intervention occurs, starting from 0, the first intervention-period time-step.
Maximum age of eligible individuals
maxAge=double
Units: Years Min: 0 Max: 100
Default value: 100
Maximum age of eligible individuals (defaults to 100)
Minimum age of eligible individuals
minAge=double
Units: Years Min: 0 Max: 100
Default value: 0
Minimum age of eligible individuals (defaults to 0)
Coverage
coverage=double
Units: Proportion Min: 0 Max: 1
Coverage of intervention
Cohort only
cohort=boolean
Units: Proportion Min: 0 Max: 1
Default value: false
Restrict distribution to chosen cohort.
Cumulative deployment: maximum age
cumulativeWithMaxAge=double
Units: Years Min: 0
If present, activate cumulate deployment mode where intervention is only deployed to individuals not already considered protected in sufficient quantity to bring the total proportion of people covered up to level described by "coverage". Individuals are considered already protected by this intervention when the age of the last net/dose/etc. received is less than "maximum age" (this attribute) years old (i.e. when timeLastDeployment+maximumAge>currentTimeStep).
Bed nets
→ scenario → interventions → ITN
<ITN
[ name=string ]
>
IN THIS ORDER:
| <decay ... />
| ( <anophelesParams ... /> )+
| ( <continuous ... /> )*
| ( <timed ... /> )*
</ITN>
Documentation (element)
Description and deployment of bed-net interventions (ITNs, LLINs).
Attributes
Name of intervention
name=string
Units: string
Name of intervention
decay
→ scenario → interventions → ITN → decay
<decay
function=("constant" or "step" or "linear" or "exponential" or "weibull" or "hill" or "smooth-compact")
L=double
[ k=double ] DEFAULT VALUE 1.0
[ sigma=double ] DEFAULT VALUE 0
/>
Documentation (type)
Specification of decay or survival of a parameter.
Attributes
function
function=("constant" or "step" or "linear" or "exponential" or "weibull" or "hill" or "smooth-compact")
Units: None Min: 0 Max: 1
Determines which decay function to use. Available decay functions, for age t in years: constant: 1 step: 1 for t less than L, otherwise 0 linear: 1 - t/L for t less than L, otherwise 0 exponential: exp( - t/L * log(2) ) weibull: exp( -(t/L)^k * log(2) ) hill: 1 / (1 + (t/L)^k) smooth-compact: exp( k - k / (1 - (t/L)^2) ) for t less than L, otherwise 0
L
L=double
Units: Years Min: 0
Scale parameter of distribution. With the smooth-compact (smooth function with compact support), step and linear functions, this is the age at which the parameter has decayed to 0; with the other three functions, this is the age at which the parameter has decayed to half its original value. Not used for constant decay (though must be specified anyway).
k
k=double
Units: none Min: 0
Default value: 1.0
Shape parameter of distribution. If not specified, default value of 1 is used. Meaning depends on function; not used in some cases.
σ (sigma)
sigma=double
Units: none Min: 0
Default value: 0
If non-zero, heterogeneity of decay is introduced via a variate sampled from the log-normal distribution with mu zero (i.e. median is 1) and this sigma. Age is then divided by this variate before being passed to the decay function.
anophelesParams
→ scenario → interventions → ITN → anophelesParams
<anophelesParams
mosquito=string
>
IN THIS ORDER:
| <deterrency ... />
</anophelesParams>
Documentation (base type)
Units: None Min: 0 Max: 1
Descriptions of initial effectiveness of each of the effects of interventions. Decay is specified by a separate element (ITNDecay etc.)
Attributes
Mosquito species
mosquito=string
Name of the affected anopheles-mosquito species.
Deterrency
→ scenario → interventions → ITN → anophelesParams → deterrency
<deterrency
value=double
/>
Documentation (element)
Units: None Min: 0 Max: 1
One minus this multiplies the host's availability.
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Pre-prandial killing effect
→ scenario → interventions → ITN → anophelesParams → preprandialKillingEffect
<preprandialKillingEffect
value=double
/>
Documentation (element)
Units: None Min: 0 Max: 1
One minus this multiplies the survival rate of mosquitoes attempting to bite a host.
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Post-prandial killing effect
→ scenario → interventions → ITN → anophelesParams → postprandialKillingEffect
<postprandialKillingEffect
value=double
/>
Documentation (element)
Units: None Min: 0 Max: 1
One minus this multiplies the survival rate of mosquitoes attempting to escape after biting a host.
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Age-based bed-net deployment
→ scenario → interventions → ITN → continuous
<continuous
targetAgeYrs=double
coverage=double
[ cohort=boolean ] DEFAULT VALUE false
[ begin=int ] DEFAULT VALUE 0
[ end=int ] DEFAULT VALUE 2147483647
/>
Documentation (element)
List of ages at which bed-net deployment takes place (through EPI, post-natal and school-based programmes, etc.).
Attributes
Target age
targetAgeYrs=double
Units: Years Min: 0 Max: 100
Target age of intervention
Proportion covered
coverage=double
Units: Proportion Min: 0 Max: 1
Coverage of intervention
Cohort only
cohort=boolean
Units: Proportion Min: 0 Max: 1
Default value: false
Restrict distribution to chosen cohort (default: false).
First timestep active
begin=int
Units: Timesteps Min: 0 Max: 2147483647
Default value: 0
First timestep (from 0 at the beginning of the intervention period) this item is active. Defaults to 0.
End timestep
end=int
Units: Timesteps Min: 0 Max: 2147483647
Default value: 2147483647
End of the period during which the intervention is active (to be exact, the first timestep of the intervention period at which the item becomes inactive). Defaults to 2147483647.
Mass ITN deployment
→ scenario → interventions → ITN → timed
<timed
time=int
[ maxAge=double ] DEFAULT VALUE 100
[ minAge=double ] DEFAULT VALUE 0
coverage=double
[ cohort=boolean ] DEFAULT VALUE false
[ cumulativeWithMaxAge=double ]
/>
Documentation (element)
List of timed ITN deployment in the community
Attributes
Time
time=int
Units: time-steps Min: 0
Time-step at which this intervention occurs, starting from 0, the first intervention-period time-step.
Maximum age of eligible individuals
maxAge=double
Units: Years Min: 0 Max: 100
Default value: 100
Maximum age of eligible individuals (defaults to 100)
Minimum age of eligible individuals
minAge=double
Units: Years Min: 0 Max: 100
Default value: 0
Minimum age of eligible individuals (defaults to 0)
Coverage
coverage=double
Units: Proportion Min: 0 Max: 1
Coverage of intervention
Cohort only
cohort=boolean
Units: Proportion Min: 0 Max: 1
Default value: false
Restrict distribution to chosen cohort.
Cumulative deployment: maximum age
cumulativeWithMaxAge=double
Units: Years Min: 0
If present, activate cumulate deployment mode where intervention is only deployed to individuals not already considered protected in sufficient quantity to bring the total proportion of people covered up to level described by "coverage". Individuals are considered already protected by this intervention when the age of the last net/dose/etc. received is less than "maximum age" (this attribute) years old (i.e. when timeLastDeployment+maximumAge>currentTimeStep).
Indoor residual spraying
→ scenario → interventions → IRS
<IRS
[ name=string ]
>
IN THIS ORDER:
| <decay ... />
| ( <anophelesParams ... /> )+
| ( <timed ... /> )*
</IRS>
Documentation (element)
Description and deployment of indoor insecticide interventions (IRS, durable wall linings, insecticide-treated-paint, etc.)
Attributes
Name of intervention
name=string
Units: string
Name of intervention
decay
→ scenario → interventions → IRS → decay
<decay
function=("constant" or "step" or "linear" or "exponential" or "weibull" or "hill" or "smooth-compact")
L=double
[ k=double ] DEFAULT VALUE 1.0
[ sigma=double ] DEFAULT VALUE 0
/>
Documentation (type)
Specification of decay or survival of a parameter.
Attributes
function
function=("constant" or "step" or "linear" or "exponential" or "weibull" or "hill" or "smooth-compact")
Units: None Min: 0 Max: 1
Determines which decay function to use. Available decay functions, for age t in years: constant: 1 step: 1 for t less than L, otherwise 0 linear: 1 - t/L for t less than L, otherwise 0 exponential: exp( - t/L * log(2) ) weibull: exp( -(t/L)^k * log(2) ) hill: 1 / (1 + (t/L)^k) smooth-compact: exp( k - k / (1 - (t/L)^2) ) for t less than L, otherwise 0
L
L=double
Units: Years Min: 0
Scale parameter of distribution. With the smooth-compact (smooth function with compact support), step and linear functions, this is the age at which the parameter has decayed to 0; with the other three functions, this is the age at which the parameter has decayed to half its original value. Not used for constant decay (though must be specified anyway).
k
k=double
Units: none Min: 0
Default value: 1.0
Shape parameter of distribution. If not specified, default value of 1 is used. Meaning depends on function; not used in some cases.
σ (sigma)
sigma=double
Units: none Min: 0
Default value: 0
If non-zero, heterogeneity of decay is introduced via a variate sampled from the log-normal distribution with mu zero (i.e. median is 1) and this sigma. Age is then divided by this variate before being passed to the decay function.
anophelesParams
→ scenario → interventions → IRS → anophelesParams
<anophelesParams
mosquito=string
>
IN THIS ORDER:
| <deterrency ... />
</anophelesParams>
Documentation (base type)
Units: None Min: 0 Max: 1
Descriptions of initial effectiveness of each of the effects of interventions. Decay is specified by a separate element (ITNDecay etc.)
Attributes
Mosquito species
mosquito=string
Name of the affected anopheles-mosquito species.
killing effect
→ scenario → interventions → IRS → anophelesParams → killingEffect
<killingEffect
value=double
/>
Documentation (element)
Units: None Min: 0 Max: 1
One minus this multiplies the survival rate of resting mosquitoes.
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Mass IRS deployment
→ scenario → interventions → IRS → timed
<timed
time=int
[ maxAge=double ] DEFAULT VALUE 100
[ minAge=double ] DEFAULT VALUE 0
coverage=double
[ cohort=boolean ] DEFAULT VALUE false
[ cumulativeWithMaxAge=double ]
/>
Documentation (element)
List of timed IRS deployment in the community
Attributes
Time
time=int
Units: time-steps Min: 0
Time-step at which this intervention occurs, starting from 0, the first intervention-period time-step.
Maximum age of eligible individuals
maxAge=double
Units: Years Min: 0 Max: 100
Default value: 100
Maximum age of eligible individuals (defaults to 100)
Minimum age of eligible individuals
minAge=double
Units: Years Min: 0 Max: 100
Default value: 0
Minimum age of eligible individuals (defaults to 0)
Coverage
coverage=double
Units: Proportion Min: 0 Max: 1
Coverage of intervention
Cohort only
cohort=boolean
Units: Proportion Min: 0 Max: 1
Default value: false
Restrict distribution to chosen cohort.
Cumulative deployment: maximum age
cumulativeWithMaxAge=double
Units: Years Min: 0
If present, activate cumulate deployment mode where intervention is only deployed to individuals not already considered protected in sufficient quantity to bring the total proportion of people covered up to level described by "coverage". Individuals are considered already protected by this intervention when the age of the last net/dose/etc. received is less than "maximum age" (this attribute) years old (i.e. when timeLastDeployment+maximumAge>currentTimeStep).
Vector deterrents
→ scenario → interventions → vectorDeterrent
<vectorDeterrent
[ name=string ]
>
IN THIS ORDER:
| <decay ... />
| ( <anophelesParams ... /> )+
| ( <timed ... /> )*
</vectorDeterrent>
Documentation (element)
Description and deployment of interventions affecting only human-mosquito availability (deterrents).
Attributes
Name of intervention
name=string
Units: string
Name of intervention
decay
→ scenario → interventions → vectorDeterrent → decay
<decay
function=("constant" or "step" or "linear" or "exponential" or "weibull" or "hill" or "smooth-compact")
L=double
[ k=double ] DEFAULT VALUE 1.0
[ sigma=double ] DEFAULT VALUE 0
/>
Documentation (type)
Specification of decay or survival of a parameter.
Attributes
function
function=("constant" or "step" or "linear" or "exponential" or "weibull" or "hill" or "smooth-compact")
Units: None Min: 0 Max: 1
Determines which decay function to use. Available decay functions, for age t in years: constant: 1 step: 1 for t less than L, otherwise 0 linear: 1 - t/L for t less than L, otherwise 0 exponential: exp( - t/L * log(2) ) weibull: exp( -(t/L)^k * log(2) ) hill: 1 / (1 + (t/L)^k) smooth-compact: exp( k - k / (1 - (t/L)^2) ) for t less than L, otherwise 0
L
L=double
Units: Years Min: 0
Scale parameter of distribution. With the smooth-compact (smooth function with compact support), step and linear functions, this is the age at which the parameter has decayed to 0; with the other three functions, this is the age at which the parameter has decayed to half its original value. Not used for constant decay (though must be specified anyway).
k
k=double
Units: none Min: 0
Default value: 1.0
Shape parameter of distribution. If not specified, default value of 1 is used. Meaning depends on function; not used in some cases.
σ (sigma)
sigma=double
Units: none Min: 0
Default value: 0
If non-zero, heterogeneity of decay is introduced via a variate sampled from the log-normal distribution with mu zero (i.e. median is 1) and this sigma. Age is then divided by this variate before being passed to the decay function.
anophelesParams
→ scenario → interventions → vectorDeterrent → anophelesParams
<anophelesParams
mosquito=string
>
IN THIS ORDER:
| <deterrency ... />
</anophelesParams>
Documentation (base type)
Units: None Min: 0 Max: 1
Descriptions of initial effectiveness of each of the effects of interventions. Decay is specified by a separate element (ITNDecay etc.)
Attributes
Mosquito species
mosquito=string
Name of the affected anopheles-mosquito species.
Mass deployment
→ scenario → interventions → vectorDeterrent → timed
<timed
time=int
[ maxAge=double ] DEFAULT VALUE 100
[ minAge=double ] DEFAULT VALUE 0
coverage=double
[ cohort=boolean ] DEFAULT VALUE false
[ cumulativeWithMaxAge=double ]
/>
Documentation (element)
List of timed mosquito deterrent deployment in the community
Attributes
Time
time=int
Units: time-steps Min: 0
Time-step at which this intervention occurs, starting from 0, the first intervention-period time-step.
Maximum age of eligible individuals
maxAge=double
Units: Years Min: 0 Max: 100
Default value: 100
Maximum age of eligible individuals (defaults to 100)
Minimum age of eligible individuals
minAge=double
Units: Years Min: 0 Max: 100
Default value: 0
Minimum age of eligible individuals (defaults to 0)
Coverage
coverage=double
Units: Proportion Min: 0 Max: 1
Coverage of intervention
Cohort only
cohort=boolean
Units: Proportion Min: 0 Max: 1
Default value: false
Restrict distribution to chosen cohort.
Cumulative deployment: maximum age
cumulativeWithMaxAge=double
Units: Years Min: 0
If present, activate cumulate deployment mode where intervention is only deployed to individuals not already considered protected in sufficient quantity to bring the total proportion of people covered up to level described by "coverage". Individuals are considered already protected by this intervention when the age of the last net/dose/etc. received is less than "maximum age" (this attribute) years old (i.e. when timeLastDeployment+maximumAge>currentTimeStep).
Cohort recruitment
→ scenario → interventions → cohort
<cohort
[ name=string ]
>
IN THIS ORDER:
| ( <continuous ... /> )*
| ( <timed ... /> )*
</cohort>
Documentation (element)
Recruitment of cohort as a pseudo-intervention.
Attributes
Name of intervention
name=string
Units: string
Name of intervention
Age-based cohort recruitment
→ scenario → interventions → cohort → continuous
<continuous
targetAgeYrs=double
coverage=double
[ cohort=boolean ] DEFAULT VALUE false
[ begin=int ] DEFAULT VALUE 0
[ end=int ] DEFAULT VALUE 2147483647
/>
Documentation (element)
List of ages at which cohort recruitment takes place.
Attributes
Target age
targetAgeYrs=double
Units: Years Min: 0 Max: 100
Target age of intervention
Proportion covered
coverage=double
Units: Proportion Min: 0 Max: 1
Coverage of intervention
Cohort only
cohort=boolean
Units: Proportion Min: 0 Max: 1
Default value: false
Restrict distribution to chosen cohort (default: false).
First timestep active
begin=int
Units: Timesteps Min: 0 Max: 2147483647
Default value: 0
First timestep (from 0 at the beginning of the intervention period) this item is active. Defaults to 0.
End timestep
end=int
Units: Timesteps Min: 0 Max: 2147483647
Default value: 2147483647
End of the period during which the intervention is active (to be exact, the first timestep of the intervention period at which the item becomes inactive). Defaults to 2147483647.
Mass cohort selection
→ scenario → interventions → cohort → timed
<timed
time=int
[ maxAge=double ] DEFAULT VALUE 100
[ minAge=double ] DEFAULT VALUE 0
coverage=double
[ cohort=boolean ] DEFAULT VALUE false
[ cumulativeWithMaxAge=double ]
/>
Documentation (element)
List of times of mass cohort selection.
Attributes
Time
time=int
Units: time-steps Min: 0
Time-step at which this intervention occurs, starting from 0, the first intervention-period time-step.
Maximum age of eligible individuals
maxAge=double
Units: Years Min: 0 Max: 100
Default value: 100
Maximum age of eligible individuals (defaults to 100)
Minimum age of eligible individuals
minAge=double
Units: Years Min: 0 Max: 100
Default value: 0
Minimum age of eligible individuals (defaults to 0)
Coverage
coverage=double
Units: Proportion Min: 0 Max: 1
Coverage of intervention
Cohort only
cohort=boolean
Units: Proportion Min: 0 Max: 1
Default value: false
Restrict distribution to chosen cohort.
Cumulative deployment: maximum age
cumulativeWithMaxAge=double
Units: Years Min: 0
If present, activate cumulate deployment mode where intervention is only deployed to individuals not already considered protected in sufficient quantity to bring the total proportion of people covered up to level described by "coverage". Individuals are considered already protected by this intervention when the age of the last net/dose/etc. received is less than "maximum age" (this attribute) years old (i.e. when timeLastDeployment+maximumAge>currentTimeStep).
Imported infections
→ scenario → interventions → importedInfections
<importedInfections
[ name=string ]
>
IN THIS ORDER:
| <timed ... />
</importedInfections>
Documentation (element)
Models importation of P. falciparum infections directly into humans from an external source. This is infections, not inoculations or EIR being imported.
Attributes
Name of intervention
name=string
Units: string
Name of intervention
Rate of importation
→ scenario → interventions → importedInfections → timed
<timed
[ period=int ] DEFAULT VALUE 0
>
IN THIS ORDER:
| ( <rate ... /> )+
</timed>
Documentation (element)
Rate of case importation, as a step function. Each value is valid until replaced by the next value.
Attributes
Period of repetition
period=int
Units: time-steps Min: 0
Default value: 0
If period is 0 (or effectively infinite), the last specified value remains indefinitely in effect, otherwise the times of all values specified must be less than the period, and values are repeated modulo period (timestep period+2 has same value as timestep 2, etc.).
rate
→ scenario → interventions → importedInfections → timed → rate
<rate
value=double
time=int
/>
Documentation (type)
Units: Imported cases per thousand people per year
A time-rate pair.
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Time
time=int
Units: time-steps Min: 0
Immune suppression
→ scenario → interventions → immuneSuppression
<immuneSuppression>
IN THIS ORDER:
| ( <timed ... /> )*
</immuneSuppression>
Documentation (element)
Removes all exposure-related immunity gained over time by hosts without removing infections.
Hypothetical, but potentially useful to simulate scenarios with unprotected humans.
timed
→ scenario → interventions → immuneSuppression → timed
<timed
time=int
[ maxAge=double ] DEFAULT VALUE 100
[ minAge=double ] DEFAULT VALUE 0
coverage=double
[ cohort=boolean ] DEFAULT VALUE false
/>
Attributes
Time
time=int
Units: time-steps Min: 0
Time-step at which this intervention occurs, starting from 0, the first intervention-period time-step.
Maximum age of eligible individuals
maxAge=double
Units: Years Min: 0 Max: 100
Default value: 100
Maximum age of eligible individuals (defaults to 100)
Minimum age of eligible individuals
minAge=double
Units: Years Min: 0 Max: 100
Default value: 0
Minimum age of eligible individuals (defaults to 0)
Coverage
coverage=double
Units: Proportion Min: 0 Max: 1
Coverage of intervention
Cohort only
cohort=boolean
Units: Proportion Min: 0 Max: 1
Default value: false
Restrict distribution to chosen cohort.
Insert R_0 case
→ scenario → interventions → insertR_0Case
<insertR_0Case>
IN THIS ORDER:
| ( <timed ... /> )*
</insertR_0Case>
Documentation (element)
Used to simulate R_0. First, infections should be eliminated, immunity removed, and the population given an effective transmission- blocking vaccine (not done by this intervention). Then this intervention may be used to: pick one human, infect him, administer a fully effective Preerythrocytic vaccine and remove transmission-blocking vaccine effect on this human. Thus only this one human will be a source of infections in an unprotected population, and will not reinfected himself.
timed
→ scenario → interventions → insertR_0Case → timed
<timed
time=int
/>
Attributes
Time
time=int
Units: time-steps Min: 0
Time-step at which this intervention occurs, starting from 0, the first intervention-period time-step.
Uninfect vectors
→ scenario → interventions → uninfectVectors
<uninfectVectors>
IN THIS ORDER:
| ( <timed ... /> )*
</uninfectVectors>
Documentation (element)
Units: List of elements
Removes all infections from mosquitoes -- resulting in zero EIR to humans, until such time that mosquitoes are re-infected and become infectious. Only effectious in dynamic EIR mode (when changeEIR was not used).
Hypothetical, but potentially useful to simulate a setting starting from no infections, but with enough mosquitoes to reach a set equilibrium of exposure.
timed
→ scenario → interventions → uninfectVectors → timed
<timed
time=int
/>
Attributes
Time
time=int
Units: time-steps Min: 0
Time-step at which this intervention occurs, starting from 0, the first intervention-period time-step.
Simple larviciding intervention
→ scenario → interventions → larviciding
<larviciding
[ name=string ]
>
IN THIS ORDER:
| ( <anopheles ... /> )+
</larviciding>
Documentation (element)
Units: List of elements
Simple larviciding intervention description.
Attributes
Name of intervention
name=string
Units: string
Name of intervention
anopheles
→ scenario → interventions → larviciding → anopheles
<anopheles
mosquito=string
effectiveness=double
duration=int
/>
Attributes
Mosquito to be larvicided
mosquito=string
Mosquito to be larvicided
Proportionate reduction in emergence
effectiveness=double
Units: none Min: 0 Max: 1
Proportional reduction in emergence rate
Duration of activity
duration=int
Units: days Min: 0 Max: inf
Number of days for which the intervention is active.
Health system description
→ scenario → healthSystem
<healthSystem>
IN THIS ORDER:
| EXACTLY ONE OF:
| | <EventScheduler ... />
| | <ImmediateOutcomes ... />
| <CFR ... />
| <pSequelaeInpatient ... />
</healthSystem>
Documentation (element)
Units: List of elements
Description of health system.
Documentation (type)
Units: List of elements
Description of case management system, used to specify the initial model or a replacement (an intervention). Encompasses case management data and some other data required to derive case outcomes.
Contains a sub-element describing the particular health-system in use. Health system data is here defined as data used to decide on a treatment strategy, given a case requiring treatment.
Transmission and vector bionomics
→ scenario → entomology
<entomology
name=string
mode=("2" or "4")
[ annualEIR=double ]
>
IN THIS ORDER:
| EXACTLY ONE OF:
| | <nonVector ... />
| | <vector ... />
</entomology>
Documentation (element)
Units: List of elements
Description of entomological data
Attributes
Entomology dataset
name=string
Units: string
Name of entomology data
Transmission simulation mode
mode=("2" or "4")
Units: Code
Transmission simulation mode -- enter dynamic mode (4) or forced mode (2) at start of intervention period. Mode 3 (transient EIR from data provided as intervention) is set when intervention data is applied, and is no longer a valid value to specify here.
Override annual EIR
annualEIR=double
Units: Infectious bites per adult per year
If set, overrides the annual EIR by scaling it to this level. If ommitted, EIR levels are as specified elsewhere.
Transmission setting (vector control not enabled)
→ scenario → entomology → nonVector
<nonVector
eipDuration=int
>
IN THIS ORDER:
| ( <EIRDaily ... /> )+
</nonVector>
Documentation (element)
Units: List of elements
Description of transmission setting for models without vector control interventions (included for backward compatibility)
Attributes
Duration of sporogony (days)
eipDuration=int
The duration of sporogony in days
Transmission setting (vector control enabled)
→ scenario → entomology → vector
<vector>
IN THIS ORDER:
| ( <anopheles ... /> )+
| ( <nonHumanHosts ... /> )*
</vector>
Documentation (element)
Units: List of elements
Parameters of the transmission model.
anopheles
→ scenario → entomology → vector → anopheles
<anopheles
mosquito=string
propInfected=double
propInfectious=double
>
IN THIS ORDER:
| EXACTLY ONE OF:
| | <EIR ... />
| | <monthlyEIR ... />
| <mosq ... />
| ( <nonHumanHosts ... /> )*
</anopheles>
Documentation (type)
Description of input EIR for one specific vector species in terms of a Fourier approximation to the ln of the EIR during the burn in period
Attributes
Identifier for this anopheles species
mosquito=string
Identifier for this anopheles species
Initial guess of proportion of mosquitoes infected (ρ_O)
propInfected=double
Units: Proportion Min: 0 Max: 1
Initial guess of the proportion of mosquitoes which are infected, o: O_v(t) = o*N_v(t). Only used as a starting value.
Initial guess of proportion of mosquitoes infectious (ρ_S)
propInfectious=double
Units: Proportion Min: 0 Max: 1
Initial guess of the proportion of mosquitoes which are infectious, s: S_v(t) = s*N_v(t). Used as a starting value and then fit.
Fourier approximation to pre-intervention EIR
→ scenario → entomology → vector → anopheles → EIR
<EIR
a0=double
a1=double
b1=double
a2=double
b2=double
EIRRotateAngle=double
/>
Documentation (element)
Units: Infectious bites per adult per day
Description of target entomological inoculation rate as a Fourier series. This is used to estimate a suitible vector emergence rate. The annual (target) EIR is thus the exponent of the fourier series with these parameters, with period scaled to 365 days.
Attributes
a0 parameter of Fourier approximation to ln(EIR)
a0=double
a0 parameter of Fourier approximation to ln(EIR)
a1 parameter of Fourier approximation to ln(EIR)
a1=double
a1 parameter of Fourier approximation to ln(EIR)
b1 parameter of Fourier approximation to ln(EIR)
b1=double
b1 parameter of Fourier approximation to ln(EIR)
a2 parameter of Fourier approximation to ln(EIR)
a2=double
a2 parameter of Fourier approximation to ln(EIR)
b2 parameter of Fourier approximation to ln(EIR)
b2=double
b2 parameter of Fourier approximation to ln(EIR)
Rotation angle defining the origin of the Fourier approximation to ln (EIR)
EIRRotateAngle=double
Units: radians
Rotation angle defining the origin of the Fourier approximation to ln (EIR)
Monthly values for pre-intervention EIR
→ scenario → entomology → vector → anopheles → monthlyEIR
<monthlyEIR
annualEIR=double
>
IN THIS ORDER:
| ( <item ... /> ){12,12}
</monthlyEIR>
Documentation (element)
Units: Infectious bites per adult per month
Description of target entomological inoculation rate as monthly values plus an annual override (monthly values are scaled to fit the annual EIR described). This is used to estimate a suitible vector emergence rate. The annual (target) EIR is derived from a Fourier series fit to these monthly values (used as a smoothing factor). List should contain twelve entries: January to December.
Attributes
Annual EIR
annualEIR=double
Units: Infectious bites per adult per year Min: 0
Scales the monthly values to give this annual innoculation rate.
Monthly pre-intervention EIR
→ scenario → entomology → vector → anopheles → monthlyEIR → item
<item>
double
</item>
Documentation (element)
Units: Inoculations per person per month
Inoculations per person per month
Vector Species
→ scenario → entomology → vector → anopheles → mosq
<mosq
mosqRestDuration=int
extrinsicIncubationPeriod=int
mosqLaidEggsSameDayProportion=double
mosqSeekingDuration=double
mosqSurvivalFeedingCycleProbability=double
mosqProbBiting=double
mosqProbFindRestSite=double
mosqProbResting=double
mosqProbOvipositing=double
mosqHumanBloodIndex=double
minInfectedThreshold=double
/>
Documentation (element)
Units: List of elements
Vector species
Attributes
Duration of the resting period of the vector (days)
mosqRestDuration=int
name:Duration of the resting period of the vector (days);
Extrinsic incubation period (days)
extrinsicIncubationPeriod=int
name:Extrinsic incubation period (days)
Proportion of mosquitoes host seeking on same day as ovipositing
mosqLaidEggsSameDayProportion=double
Proportion of mosquitoes host seeking on same day as ovipositing
Duration of the host-seeking period of the vector (days)
mosqSeekingDuration=double
Duration of the host-seeking period of the vector (days)
Probability that the mosquito survives the feeding cycle
mosqSurvivalFeedingCycleProbability=double
Probability that the mosquito survives the feeding cycle
Probability that the mosquito succesfully bites chosen host
mosqProbBiting=double
Probability that the mosquito succesfully bites chosen host
Probability that the mosquito escapes host and finds a resting place after biting
mosqProbFindRestSite=double
Probability that the mosquito escapes host and finds a resting place after biting
Probability of mosquito successfully resting after finding a resting site
mosqProbResting=double
Probability of mosquito successfully resting after finding a resting site
Probability of a mosquito successfully laying eggs given that it has rested
mosqProbOvipositing=double
Probability of a mosquito successfully laying eggs given that it has rested
Human blood index
mosqHumanBloodIndex=double
The proportion of resting mosquitoes which fed on human blood during the last feed.
Min infected threshold
minInfectedThreshold=double
Min: 0
If less than this many mosquitoes remain infected, transmission is interrupted.
nonHumanHosts
→ scenario → entomology → vector → anopheles → nonHumanHosts
<nonHumanHosts
name=string
mosqRelativeEntoAvailability=double
mosqProbBiting=double
mosqProbFindRestSite=double
mosqProbResting=double
/>
Documentation (element)
Units: List of elements
Non human host parameters, per type of host (must match up with non-species-specific parameters).
Attributes
Identifier for this category of non-human hosts
name=string
Identifier for this category of non-human hosts
Relative availability of nonhuman hosts of type i (to other nonhuman hosts)
mosqRelativeEntoAvailability=double
Relative availability of nonhuman hosts of type i (to other nonhuman hosts)
Probability of mosquito successfully biting host
mosqProbBiting=double
Probability of mosquito successfully biting host
Probability that the mosquito escapes host and finds a resting place after biting
mosqProbFindRestSite=double
Probability that the mosquito escapes host and finds a resting place after biting
Probability of mosquito successfully resting after finding a resting site
mosqProbResting=double
Probability of mosquito successfully resting after finding a resting site
nonHumanHosts
→ scenario → entomology → vector → nonHumanHosts
<nonHumanHosts
name=string
number=double
/>
Attributes
Species of alternative host
name=string
Units: List of elements
Name of this species of non human hosts (must match up with those described per anopheles section)
number
number=double
Pharmacokinetics and pharmacodynamics
→ scenario → pharmacology
<pharmacology>
IN THIS ORDER:
| ( <drug ... /> )+
</pharmacology>
Documentation (element)
Units: List of elements
Drug model parameters
Library of drug parameters
→ scenario → pharmacology → drug
<drug
abbrev=string
>
IN THIS ORDER:
| <PD ... />
| <PK ... />
</drug>
Documentation (element)
Sequence of drug descriptions forming a library of drug parameters.
Attributes
abbrev
abbrev=string
PD
→ scenario → pharmacology → drug → PD
<PD>
IN THIS ORDER:
| ( <allele ... /> )+
</PD>
PD parameters per allele
→ scenario → pharmacology → drug → PD → allele
<allele
name=string
>
IN THIS ORDER:
| <initial_frequency ... />
| <max_killing_rate ... />
| <IC50 ... />
| <slope ... />
</allele>
Documentation (element)
PD parameters per allele, plus initial frequency of each allele.
Note: we assume a one-to-one correspondance of drugs to loci, hence each drug has an independent set of alleles here.
Attributes
name
name=string
Relative frequency
→ scenario → pharmacology → drug → PD → allele → initial_frequency
<initial_frequency>
double
</initial_frequency>
Documentation (element)
Units: relative frequency Min: 0
Frequency, relative to the total frequency of all alleles for this drug/locus.
Maximal parasite killing rate
→ scenario → pharmacology → drug → PD → allele → max_killing_rate
<max_killing_rate>
double
</max_killing_rate>
Documentation (element)
Units: 1/days Min: 0
k1 — Maximal parasite killing rate.
IC50
→ scenario → pharmacology → drug → PD → allele → IC50
<IC50>
double
</IC50>
Documentation (element)
Units: mg/l Min: 0
Half maximal effect concentration.
Slope of effect curve
→ scenario → pharmacology → drug → PD → allele → slope
<slope>
double
</slope>
Documentation (element)
Units: no units
n — Slope of the concentration effect curve
PK
→ scenario → pharmacology → drug → PK
<PK>
IN THIS ORDER:
| <negligible_concentration ... />
| <half_life ... />
| <vol_dist ... />
</PK>
Drug concentration considered negligible
→ scenario → pharmacology → drug → PK → negligible_concentration
<negligible_concentration>
double
</negligible_concentration>
Documentation (element)
Units: mg/l Min: 0
Concentration below which drug's effects are deemed negligible and can be removed from simulation.
drug half-life
→ scenario → pharmacology → drug → PK → half_life
<half_life>
double
</half_life>
Documentation (element)
Units: days Min: 0
Used to calculate elimination rate (which is: ln(2) / half_life).
Volume of Distribution
→ scenario → pharmacology → drug → PK → vol_dist
<vol_dist>
double
</vol_dist>
Documentation (element)
Units: l/kg Min: 0
Volume of Distribution
Model options and parameters
<model>
IN ANY ORDER:
| <ModelOptions ... />
| <clinical ... />
| <human ... />
| <parameters ... />
</model>
Documentation (element)
Units: List of elements
Encapsulation of all parameters which describe the model according to which fitting is done.
Model Options
→ scenario → model → ModelOptions
<ModelOptions>
IN THIS ORDER:
| ( <option ... /> )*
</ModelOptions>
Documentation (element)
Units: List of elements
All model options (bug fixes, choices between models, etc.).
The list of recognised options can be found in the code at:
include/util/ModelOptions.h and should also be in the wiki.
clinical
<clinical
healthSystemMemory=int
>
IN THIS ORDER:
| [ <NonMalariaFevers ... /> ]
</clinical>
Documentation (type)
Units: List of elements
Description of clinical parameters.
This is related to the health-system description, but contains data which can't be changed as part of an intervention and is not restricted to treatment.
Attributes
Follow-up period during which recurrence is treated as a failure
healthSystemMemory=int
Units: Time steps Min: 1 Max: 100
Follow-up period during which a recurrence is considered to be a treatment failure
NonMalariaFevers
→ scenario → model → clinical → NonMalariaFevers
<NonMalariaFevers>
IN THIS ORDER:
| <incidence ... />
| <prNeedTreatmentNMF ... />
| <prNeedTreatmentMF ... />
</NonMalariaFevers>
Documentation (type)
Description of non-malaria fever incidence. Non-malaria fevers are only modelled if the NON_MALARIA_FEVERS option is used.
P(NMF)
→ scenario → model → clinical → NonMalariaFevers → incidence
<incidence
[ interpolation=("none" or "linear") ] DEFAULT VALUE linear
>
IN THIS ORDER:
| ( <group ... /> )+
</incidence>
Documentation (element)
Units: none Min: 0 Max: 1
Probability that a non-malaria fever occurs given that no concurrent malaria fever occurs.
Attributes
interpolation
interpolation=("none" or "linear")
Units: none
Default value: linear
Interpolation algorithm. Normally it is desirable for age-based values to be continuous w.r.t. age. By default linear interpolation is used. With all algorithms except "none", the age groups are converted to a set of points centred within each age range. Extra points are added at each end (zero and infinity) to keep value constant at both ends of the function. A zero-length age group may be used as a kind of barrier to adjust the distribution; e.g. with age group boundaries at 15, 20 and 25 years, a (linear) spline would be drawn between ages 17.5 and 22.5, whereas with boundaries at 15, 20 and 20 years, a spline would be drawn between ages 17.5 and 20 years (may be desired if individuals are assumed to reach adult size at 20). Algorithms:
- none: input values are used directly
- linear: straight lines (on an age vs. value graph) are used to interpolate data points.
P(need treatment | NMF)
→ scenario → model → clinical → NonMalariaFevers → prNeedTreatmentNMF
<prNeedTreatmentNMF
[ interpolation=("none" or "linear") ] DEFAULT VALUE linear
>
IN THIS ORDER:
| ( <group ... /> )+
</prNeedTreatmentNMF>
Documentation (element)
Units: none Min: 0 Max: 1
Probability that a non-malaria fever needs treatment with antibiotics (assuming fever is not induced by malaria, although concurrent parasites may be present).
Attributes
interpolation
interpolation=("none" or "linear")
Units: none
Default value: linear
Interpolation algorithm. Normally it is desirable for age-based values to be continuous w.r.t. age. By default linear interpolation is used. With all algorithms except "none", the age groups are converted to a set of points centred within each age range. Extra points are added at each end (zero and infinity) to keep value constant at both ends of the function. A zero-length age group may be used as a kind of barrier to adjust the distribution; e.g. with age group boundaries at 15, 20 and 25 years, a (linear) spline would be drawn between ages 17.5 and 22.5, whereas with boundaries at 15, 20 and 20 years, a spline would be drawn between ages 17.5 and 20 years (may be desired if individuals are assumed to reach adult size at 20). Algorithms:
- none: input values are used directly
- linear: straight lines (on an age vs. value graph) are used to interpolate data points.
P(need treatment | MF)
→ scenario → model → clinical → NonMalariaFevers → prNeedTreatmentMF
<prNeedTreatmentMF
[ interpolation=("none" or "linear") ] DEFAULT VALUE linear
>
IN THIS ORDER:
| ( <group ... /> )+
</prNeedTreatmentMF>
Documentation (element)
Units: none Min: 0 Max: 1
Probability that a malaria fever needs treatment with antibiotics (assuming fever is induced by malaria, although concurrent bacteria may be present).
Meaning partially overlaps with separate model for comorbidity given malaria.
Attributes
interpolation
interpolation=("none" or "linear")
Units: none
Default value: linear
Interpolation algorithm. Normally it is desirable for age-based values to be continuous w.r.t. age. By default linear interpolation is used. With all algorithms except "none", the age groups are converted to a set of points centred within each age range. Extra points are added at each end (zero and infinity) to keep value constant at both ends of the function. A zero-length age group may be used as a kind of barrier to adjust the distribution; e.g. with age group boundaries at 15, 20 and 25 years, a (linear) spline would be drawn between ages 17.5 and 22.5, whereas with boundaries at 15, 20 and 20 years, a spline would be drawn between ages 17.5 and 20 years (may be desired if individuals are assumed to reach adult size at 20). Algorithms:
- none: input values are used directly
- linear: straight lines (on an age vs. value graph) are used to interpolate data points.
human
<human>
IN THIS ORDER:
| <availabilityToMosquitoes ... />
| [ <weight ... /> ]
</human>
Documentation (type)
Parameters of host models.
Availability to mosquitoes
→ scenario → model → human → availabilityToMosquitoes
<availabilityToMosquitoes
[ interpolation=("none" or "linear") ] DEFAULT VALUE linear
>
IN THIS ORDER:
| ( <group ... /> )+
</availabilityToMosquitoes>
Documentation (element)
Units: None Min: 0 Max: 1
By age group data on availability of humans to mosquitoes relative to an adult.
Attributes
interpolation
interpolation=("none" or "linear")
Units: none
Default value: linear
Interpolation algorithm. Normally it is desirable for age-based values to be continuous w.r.t. age. By default linear interpolation is used. With all algorithms except "none", the age groups are converted to a set of points centred within each age range. Extra points are added at each end (zero and infinity) to keep value constant at both ends of the function. A zero-length age group may be used as a kind of barrier to adjust the distribution; e.g. with age group boundaries at 15, 20 and 25 years, a (linear) spline would be drawn between ages 17.5 and 22.5, whereas with boundaries at 15, 20 and 20 years, a spline would be drawn between ages 17.5 and 20 years (may be desired if individuals are assumed to reach adult size at 20). Algorithms:
- none: input values are used directly
- linear: straight lines (on an age vs. value graph) are used to interpolate data points.
Weight
→ scenario → model → human → weight
<weight
[ interpolation=("none" or "linear") ] DEFAULT VALUE linear
multStdDev=double
>
IN THIS ORDER:
| ( <group ... /> )+
</weight>
Documentation (element)
Units: kg Min: 0
By age group data on human weight (mass).
Attributes
interpolation
interpolation=("none" or "linear")
Units: none
Default value: linear
Interpolation algorithm. Normally it is desirable for age-based values to be continuous w.r.t. age. By default linear interpolation is used. With all algorithms except "none", the age groups are converted to a set of points centred within each age range. Extra points are added at each end (zero and infinity) to keep value constant at both ends of the function. A zero-length age group may be used as a kind of barrier to adjust the distribution; e.g. with age group boundaries at 15, 20 and 25 years, a (linear) spline would be drawn between ages 17.5 and 22.5, whereas with boundaries at 15, 20 and 20 years, a spline would be drawn between ages 17.5 and 20 years (may be desired if individuals are assumed to reach adult size at 20). Algorithms:
- none: input values are used directly
- linear: straight lines (on an age vs. value graph) are used to interpolate data points.
Standard deviation
multStdDev=double
Units: None Min: 0
Each human is assigned a weight multiplier from a normal distribution with mean 1 and this standard deviation at birth. His/her weight is this multiplier times the mean from age distribution. A standard deviation of zero for no heterogeneity is valid; a rough value from Tanzanian data is 0.14.
Parameters of the model of epidemiology
→ scenario → model → parameters
<parameters
interval=int
iseed=int
latentp=int
>
IN THIS ORDER:
| ( <parameter ... /> )+
</parameters>
Documentation (element)
Units: List of elements
Parameters of the epidemiological model
Attributes
Simulation step
interval=int
Units: Days
Simulation step
Random number seed
iseed=int
Units: Number
Seed for RNG
Pre-erythrocytic latent period
latentp=int
Units: Time steps Min: 0 Max: 20
pre-erythrocytic latent period, in time steps
parameter
→ scenario → model → parameters → parameter
<parameter
name=string
number=int
value=double
[ include=boolean ]
/>
Attributes
Name of parameter
name=string
Units: string
Name of parameter
Parameter number
number=int
Units: Number Min: 1 Max: 100
Reference number of input parameter
Parameter value
value=double
Units: Number Min: 0
Parameter value
Sampling indicator
include=boolean
Units: Number Min: 0 Max: 1
True if parameter is to be sampled in optimization runs. Not used in simulator app.
Schema 27 documentation
Generated from: scenario_27.xsd
.
Key:
abc required (one)
[ def ] optional (zero or one)
( ghi )* any number (zero or more)
( jkl )+ at least one
( mno ){2,inf} two or more occurrences
Scenario
→ scenario
<scenario
schemaVersion=int
analysisNo=int
name=string
wuID=int
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:noNamespaceSchemaLocation="scenario_27.xsd"
>
IN THIS ORDER:
| <demography ... />
| <monitoring ... />
| <interventions ... />
| <healthSystem ... />
| <entoData ... />
| [ <drugDescription ... /> ]
| <model ... />
</scenario>
Documentation (element)
Units: List of elements
Description of scenario
Attributes
Version of the xml schema
schemaVersion=int
Version of xml schema. If not equal to the current version an error is thrown. Use SchemaTranslator to update xml files.
Reference number of the analysis
analysisNo=int
Units: Number Min: 1 Max: 100000000
Unique identifier of scenario
Name of intervention
name=string
Units: string
Name of intervention
Work unit identifier
wuID=int
Units: Number Min: 1 Max: 100000000
Work unit ID. Only used to validate checkpointing, to prevent checkpoint cheats.
Human age distribution
→ scenario → demography
<demography
name=string
popSize=int
maximumAgeYrs=double
[ growthRate=double ]
>
IN THIS ORDER:
| <ageGroup ... />
</demography>
Documentation (element)
Units: List of elements
Description of demography
Attributes
Name of demography data
name=string
Units: string
Name of demography data
Population size
popSize=int
Units: Count Min: 1 Max: 100000
Population size
Maximum age of simulated humans
maximumAgeYrs=double
Units: years Min: 0 Max: 100
Maximum age of simulated humans in years.
Growth rate of human population
growthRate=double
Units: Number Min: 0 Max: 0
Growth rate of human population. (we should be able to implement this with non-zero values)
Age groups
→ scenario → demography → ageGroup
<ageGroup
lowerbound=double
>
IN THIS ORDER:
| ( <group ... /> )+
</ageGroup>
Documentation (element)
Units: List of elements
List of age groups included in demography
Documentation (type)
Units: List of elements
List of age groups included in demography or surveys
Attributes
lower bound of age group
lowerbound=double
Units: Years Min: 0 Max: 100
Lower bound of age group
group
→ scenario → demography → ageGroup → group
<group
poppercent=double
upperbound=double
/>
Attributes
Percentage in age group
poppercent=double
Percentage of human population in age group
upper bound of age group
upperbound=double
Units: Years Min: 0 Max: 100
Upper bound of age group
Measures to be reported
→ scenario → monitoring
<monitoring
name=string
[ cohortOnly=boolean ]
[ firstBoutOnly=boolean ]
[ firstTreatmentOnly=boolean ]
[ firstInfectionOnly=boolean ]
>
IN THIS ORDER:
| [ <continuous ... /> ]
| <SurveyOptions ... />
| <surveys ... />
| <ageGroup ... />
</monitoring>
Documentation (element)
Units: List of elements
Description of surveys
Attributes
Name of monitoring information
name=string
Units: string
Name of monitoring data
Survey only cohort
cohortOnly=boolean
If true, for many output measures, the output comes only from individuals in the cohort; otherwise output is from the entire population. Does not need to be specified if no cohort-selecting "interventions" are present.
Time to first episode only
firstBoutOnly=boolean
If true, remove individuals from the cohort at the start of the first episode (start of a clinical bout) since they were recruited into the cohort. This is intended for cohort studies that intend to measure time to first episode, using active case detection.
Time to first treatment only
firstTreatmentOnly=boolean
If true, remove individuals from the cohort when they first seek treatment since they were recruited into the cohort. This is intended for cohort studies that intend to measure time to first episode, using passive case detection.
Time to first infection only
firstInfectionOnly=boolean
If true, remove individuals from the cohort at completion of the first survey in which they present with a patent infection since they were recruited into the cohort. This intended for cohort studies that intend to measure time to first infection, using active case detection.
continuous
→ scenario → monitoring → continuous
<continuous
period=int
[ duringInit=boolean ]
>
IN THIS ORDER:
| ( <option ... /> )*
</continuous>
Attributes
Days between reports
period=int
Units: Days Min: 1 Max: unbounded
Number of timesteps between reports.
During initialization
duringInit=boolean
Units: Days Min: 1 Max: unbounded
Also output during initialization. By default this is disabled (only intervention-period data is output). This should not be used for predictions, but can be useful for model validation. In this mode, 'simulation time' is output as the first column (in addition to 'timestep'), since 'timestep' is dis- continuous across the start of the intervention period.
option
→ scenario → monitoring → continuous → option
<option
name=string
[ value=boolean ] DEFAULT VALUE true
/>
Attributes
Model options required
name=string
Options define different model structures. Option name. Must be one of a strictly defined set. Options are not required to be listed if their default value is desired.
Indicator of whether option is required
value=boolean
Default value: true
Option value (true/false). Each option has a default value used if the option is not listed (usually false but sometimes true).
Name of quantity
→ scenario → monitoring → SurveyOptions
<SurveyOptions>
IN THIS ORDER:
| ( <option ... /> )*
</SurveyOptions>
Documentation (element)
List of all active survey options. See include/Survey.h for a list of supported outputs. Should also be on the wiki.
Survey times (time steps)
→ scenario → monitoring → surveys
<surveys
detectionLimit=double
>
IN THIS ORDER:
| ( <surveyTime ... /> )+
</surveys>
Documentation (element)
Units: List of elements
List of survey times
Attributes
Detection limit for parasitaemia
detectionLimit=double
Units: parasites/micolitre Min: 0 Max: 1000
Detection limit for parasitemia
Survey time
→ scenario → monitoring → surveys → surveyTime
<surveyTime>
int
</surveyTime>
Documentation (element)
Units: Number Min: 0
Survey time; 0 means just before start of main sim and is a valid survey-point. Reported data is either from a point-time survey (immediate data) or is collected over the previous year (data from previous timesteps-per-year period). Simulation will end immediately after last survey is taken.
Age groups
→ scenario → monitoring → ageGroup
<ageGroup
lowerbound=double
>
IN THIS ORDER:
| ( <group ... /> )+
</ageGroup>
Documentation (element)
Units: List of elements
List of age groups included in demography or surveys
Documentation (type)
Units: List of elements
List of age groups included in surveys
Attributes
lower bound of age group
lowerbound=double
Units: Years Min: 0 Max: 100
Lower bound of age group
group
→ scenario → monitoring → ageGroup → group
<group
upperbound=double
/>
Attributes
upper bound of age group
upperbound=double
Units: Years Min: 0 Max: 100
Upper bound of age group
Preventative interventions
<interventions
name=string
>
IN THIS ORDER:
| <descriptions ... />
| [ <continuous ... /> ]
| [ <timed ... /> ]
</interventions>
Documentation (element)
Units: List of elements
List of interventions. Generally these are either point-time distributions of something to some subset of the population, or continuous-time distribution targetting individuals when they reach a certain age.
Attributes
Intervention
name=string
Units: string
Name of age specific intervention
descriptions
→ scenario → interventions → descriptions
<descriptions>
IN THIS ORDER:
| [ <MDADescription ... /> ]
| ( <vaccineDescription ... /> ){0,3}
| [ <iptiDescription ... /> ]
| [ <ITNDecay ... /> ]
| [ <IRSDecay ... /> ]
| [ <VADecay ... /> ]
| ( <anopheles ... /> )*
</descriptions>
Documentation (element)
Descriptions applying across all uses of an intervention.
Description of MDA
→ scenario → interventions → descriptions → MDADescription
<MDADescription>
IN THIS ORDER:
| <decisions ... />
| <treatments ... />
</MDADescription>
Documentation (element)
Description of treatment type used by mass treatment option of one-day case management model. Can be used to describe one-size-fits-all mass drug dosing, age-based mass drug dosing and screen-and-treat. Number of treatments given can be reported by the nMDAs option.
Documentation (type)
Units: List of elements
A set of decisions and a set of treatments.
decisions
→ scenario → interventions → descriptions → MDADescription → decisions
<decisions>
IN THIS ORDER:
| ( <decision ... /> )*
</decisions>
Documentation (type)
Description of decisions for a case management tree. A generic view of this tree would be that each decision is deterministic, or based on probabilities which may depend on other decisions. Probabilistic decisions are described here.
In general, each decision has a name, a defined set of outcome values, and a set of dependent decisions mentioned by name. The following decisions, with their associated outcomes, are provided by the code (and may not be included here):
- case (uncomplicated only): Returns "UC1" if there is no recent history of a malarial case, or "UC2" if there is.
- result: Dependent on decision "test", this performs a parasite density test. Output is one of "none" (no test performed), "positive", "negative".
The following decisions must be described here:
- test (uncomplicated only): Outputs must be "none", "microscopy" or "RDT" to describe which test the "result" decision uses.
- treatment: Describes which treatment to use. Values aren't restricted but must match up with a treatment described in the corresponding "treatments" section.
- hospitalisation (complicated only): none, immediate or delayed.
decision
→ scenario → interventions → descriptions → MDADescription → decisions → decision
<decision
name=string
depends=string
values=string
>
string
</decision>
Documentation (type)
A decision describes how to choose between a set of values.
Lexically, it can contain symbols matching "[_.a-zA-Z0-9]+", round brackets: (), braces: {} and colons. Whitespace is ignored except to separate symbols.
Syntactically, it must match one TREE, where SYMBOL is a symbol described above. (Here, "x|y" means x or y, "x+" means x occurs once or more, brackets show grouping.) TREE := BRANCH_SET | OUTCOME BRANCH_SET := BRANCH+ BRANCH := DECISION '(' VALUE ')' ( ':' OUTCOME | '{' TREE '}' ) OUTCOME, DECISION, VALUE := SYMBOL
For each BRANCH_SET each BRANCH must have the same DECISION. This DECISION must be one of the dependencies mentioned in "depends". This may be:
- another decision, in which case the VALUE immediately following in brackets must correspond to one of its output values. The BRANCH_SET immediately containing this BRANCH must represent each output value of the same decision exactly once, and no parent BRANCH_SET may be for the same DECISION.
- "p": this indicates a probabilistic decision. In this case the value is a probability, the sum of all values for the BRANCH_SET must be 1 and the decision must be associated directly with OUTCOMEs (not sub-TREEs).
- "age": this indicates an age-test. The VALUE must have the form "a-b", indicating that this branch will be taken for individuals aged such that a <= age < b, where a,b are non-negative real numbers or the special value "inf", and a <= b. All VALUEs in the BRANCH_SET must cover all possible (non-negative real) ages, with no overlap (hence, smallest a must be 0 and greatest b must be inf).
Semantically, each OUTCOME must be one of the values associated with this decision.
Attributes
Name of decision
name=string
The name of this decision. The name must match the regular expression "[_a-zA-Z0-9]+"; that is it can only contain letters, digits and _ characters (no spaces, punctuation, etc.).
Preceding decisions
depends=string
A comma-separated list of decisions that must have already been evaluated before this decision can be evaluated. Can be empty. Each must be hard-coded or described here. Can include the special decisions "p" and "age", though "age" cannot be combined with any other dependency.
Outcome values
values=string
A comma-separated list of outcome values this decision may have. The name of each value must be of the same form as decision names (i.e. only contain letters, digits and _ characters).
treatments
→ scenario → interventions → descriptions → MDADescription → treatments
<treatments>
IN THIS ORDER:
| ( <treatment ... /> )*
</treatments>
Documentation (type)
Units: string
A list of drug treatment tables. Each should have a name corresponding to one of the "drug" decision's values.
treatment
→ scenario → interventions → descriptions → MDADescription → treatments → treatment
<treatment
name=string
>
IN THIS ORDER:
| <schedule ... />
| ( <modifier ... /> )*
</treatment>
Documentation (type)
Units: List of elements
A description of a base treatment schedule along with modifiers to handle delays, quality variations, etc.
Attributes
Treatment administered
name=string
Units: string
Name corresponding to one of the drug decision's output values.
schedule
→ scenario → interventions → descriptions → MDADescription → treatments → treatment → schedule
<schedule>
IN THIS ORDER:
| ( <medicate ... /> )*
</schedule>
Documentation (type)
Units: List of elements
The base (unmodified) schedule of drugs administered for this treatment.
medicate
→ scenario → interventions → descriptions → MDADescription → treatments → treatment → schedule → medicate
<medicate
drug=string
mg=double
hour=double
[ duration=double ]
/>
Attributes
drug
drug=string
Units: string
Abbreviated name of drug compound
drug dose
mg=double
Units: mg
Quantity of drug compound
time of administration
hour=double
Units: hours Min: 0
Number of hours past start of timestep this drug dose is administered at (first dose should be at hour 0).
duration of administration
duration=double
Units: hours Min: 0
If this attribute is given, use IV administration instead of orally. Specifies the number of hours over which the dose is administered.
modifier
→ scenario → interventions → descriptions → MDADescription → treatments → treatment → modifier
<modifier
decision=string
>
EXACTLY ONE OF:
| ( <multiplyQty ... /> )*
| ( <delay ... /> )*
| ( <selectTimeRange ... /> )*
</modifier>
Documentation (type)
Units: Choice of elements
A modifier for this treatment, according to the outputs of a decision.
The "decision" attribute must be the name of a known decision. Then, there must be a set of multipyQty, delay or selectTimeRange sub-elements, each of which corresponds to one value output of the decision.
Attributes
decision
decision=string
Units: string
Specifies the decision that this modifier acts on.
Active ingredient multipliers
→ scenario → interventions → descriptions → MDADescription → treatments → treatment → modifier → multiplyQty
<multiplyQty
value=string
effect=string
[ affectsCost=boolean ]
/>
Documentation (element)
Units: Comma separated list of values
Multiplies the quantity of active ingredients of drugs administered.
The "drugs" attribute is a comma-separated list of all active ingredients administered in the base schedule (each must be listed once) and the content of this element is a comma- separated list of multipliers for each active ingredient, listed in the same order as in the "drugs" attribute. E.g. with drugs="A,B" and content "0.5,1" the quantity of drug A is halved while that of B is unchanged.
Attributes
value of decision
value=string
Units: string
Specifies a value of the decision to act on.
List of drugs affected
effect=string
Units: string
Comma-separated list of the effect the modifier has on each drug, in the form DRUG1(EFFECT1),DRUG2(EFFECT2), etc.
Affects cost?
affectsCost=boolean
Units: none
Does this affect the cost? If false, the effective drug usage (w.r.t. cost) is unaffected by this modifier; if true it is. Defaults to true (if omitted). Is meaningless for delays.
Active ingredient delays
→ scenario → interventions → descriptions → MDADescription → treatments → treatment → modifier → delay
<delay
value=string
effect=string
[ affectsCost=boolean ]
/>
Documentation (element)
Units: Comma separated list of values
Delays administration of drugs listed in the base schedule by so many hours.
The "drugs" attribute is a comma-separated list of all active ingredients administered in the base schedule (each must be listed once) and the content of this element is a comma- separated list of delays (in hours) for each active ingredient, listed in the same order as in the "drugs" attribute. E.g. with drugs="A,B" and content "0,6", drug A is administered as in the base schedule while drug B is administered 6 hours later than specified.
Attributes
value of decision
value=string
Units: string
Specifies a value of the decision to act on.
List of drugs affected
effect=string
Units: string
Comma-separated list of the effect the modifier has on each drug, in the form DRUG1(EFFECT1),DRUG2(EFFECT2), etc.
Affects cost?
affectsCost=boolean
Units: none
Does this affect the cost? If false, the effective drug usage (w.r.t. cost) is unaffected by this modifier; if true it is. Defaults to true (if omitted). Is meaningless for delays.
Active ingredient time-ranges
→ scenario → interventions → descriptions → MDADescription → treatments → treatment → modifier → selectTimeRange
<selectTimeRange
value=string
effect=string
[ affectsCost=boolean ]
/>
Documentation (element)
Units: Comma separated list of values
Selects which drug doses to administer according to time of administration (before times are modified by delays). Half-open interval: [x,y)
The "drugs" attribute is a comma-separated list of all active ingredients administered in the base schedule (each must be listed once) and the content of this element is a comma- separated list of time-ranges (in hours) for each active ingredient, listed in the same order as in the "drugs" attribute. The time-ranges should be of the form x-y and are interpreted as the half-open interval [x,y); that is a drug listed with time t will only be administered if x <= t < y.
Attributes
value of decision
value=string
Units: string
Specifies a value of the decision to act on.
List of drugs affected
effect=string
Units: string
Comma-separated list of the effect the modifier has on each drug, in the form DRUG1(EFFECT1),DRUG2(EFFECT2), etc.
Affects cost?
affectsCost=boolean
Units: none
Does this affect the cost? If false, the effective drug usage (w.r.t. cost) is unaffected by this modifier; if true it is. Defaults to true (if omitted). Is meaningless for delays.
vaccineDescription
→ scenario → interventions → descriptions → vaccineDescription
<vaccineDescription
vaccineType=("PEV" or "BSV" or "TBV")
>
IN THIS ORDER:
| <decay ... />
| <efficacyB ... />
| ( <initialEfficacy ... /> )+
</vaccineDescription>
Attributes
Type of vaccine
vaccineType=("PEV" or "BSV" or "TBV")
Units: Code
Type of vaccine
Decay of effect
→ scenario → interventions → descriptions → vaccineDescription → decay
<decay
function=("constant" or "step" or "linear" or "exponential" or "weibull" or "hill" or "smooth-compact")
L=double
[ k=double ] DEFAULT VALUE 1.0
[ sigma=double ] DEFAULT VALUE 0
/>
Documentation (element)
Specification of decay of efficacy
Documentation (type)
Specification of decay or survival of a parameter.
Attributes
function
function=("constant" or "step" or "linear" or "exponential" or "weibull" or "hill" or "smooth-compact")
Units: None Min: 0 Max: 1
Determines which decay function to use. Available decay functions, for age t in years: constant: 1 step: 1 for t less than L, otherwise 0 linear: 1 - t/L for t less than L, otherwise 0 exponential: exp( - t/L * log(2) ) weibull: exp( -(t/L)^k * log(2) ) hill: 1 / (1 + (t/L)^k) smooth-compact: exp( k - k / (1 - (t/L)^2) ) for t less than L, otherwise 0
L
L=double
Units: Years Min: 0
Scale parameter of distribution. With the smooth-compact (smooth function with compact support), step and linear functions, this is the age at which the parameter has decayed to 0; with the other three functions, this is the age at which the parameter has decayed to half its original value. Not used for constant decay (though must be specified anyway).
k
k=double
Units: none Min: 0
Default value: 1.0
Shape parameter of distribution. If not specified, default value of 1 is used. Meaning depends on function; not used in some cases.
σ (sigma)
sigma=double
Units: none Min: 0
Default value: 0
If non-zero, heterogeneity of decay is introduced via a variate sampled from the log-normal distribution with mu zero (i.e. median is 1) and this sigma. Age is then divided by this variate before being passed to the decay function.
Variance parameter for vaccine efficacy
→ scenario → interventions → descriptions → vaccineDescription → efficacyB
<efficacyB
value=double
/>
Documentation (element)
Units: Positive real Min: 0.001 Max: 1.00E+06
Measure of variation in vaccine efficacy
Attributes
Input parameter value
value=double
A double-precision floating-point value.
initialEfficacy
→ scenario → interventions → descriptions → vaccineDescription → initialEfficacy
<initialEfficacy
value=double
/>
Attributes
Input parameter value
value=double
A double-precision floating-point value.
iptiDescription
→ scenario → interventions → descriptions → iptiDescription
<iptiDescription
iptiEffect=int
>
IN THIS ORDER:
| ( <infGenotype ... /> )+
</iptiDescription>
Attributes
Description of ipti effect
iptiEffect=int
Units: List of Elementes
Description of ipti effect
infGenotype
→ scenario → interventions → descriptions → iptiDescription → infGenotype
<infGenotype
name=string
freq=double
ACR=double
proph=int
tolPeriod=int
atten=double
/>
Attributes
Age specific intervention
name=string
Units: string
Name of age specific intervention
Frequency
freq=double
Frequency of parasite genotype
ACR
ACR=double
Adequate clinical response (proportion)
Prophylactic period
proph=int
Prophylactic period
Tolerance period
tolPeriod=int
Tolerance period
Tolerance period
atten=double
Tolerance period
ITNDecay
→ scenario → interventions → descriptions → ITNDecay
<ITNDecay
function=("constant" or "step" or "linear" or "exponential" or "weibull" or "hill" or "smooth-compact")
L=double
[ k=double ] DEFAULT VALUE 1.0
[ sigma=double ] DEFAULT VALUE 0
/>
Documentation (type)
Specification of decay or survival of a parameter.
Attributes
function
function=("constant" or "step" or "linear" or "exponential" or "weibull" or "hill" or "smooth-compact")
Units: None Min: 0 Max: 1
Determines which decay function to use. Available decay functions, for age t in years: constant: 1 step: 1 for t less than L, otherwise 0 linear: 1 - t/L for t less than L, otherwise 0 exponential: exp( - t/L * log(2) ) weibull: exp( -(t/L)^k * log(2) ) hill: 1 / (1 + (t/L)^k) smooth-compact: exp( k - k / (1 - (t/L)^2) ) for t less than L, otherwise 0
L
L=double
Units: Years Min: 0
Scale parameter of distribution. With the smooth-compact (smooth function with compact support), step and linear functions, this is the age at which the parameter has decayed to 0; with the other three functions, this is the age at which the parameter has decayed to half its original value. Not used for constant decay (though must be specified anyway).
k
k=double
Units: none Min: 0
Default value: 1.0
Shape parameter of distribution. If not specified, default value of 1 is used. Meaning depends on function; not used in some cases.
σ (sigma)
sigma=double
Units: none Min: 0
Default value: 0
If non-zero, heterogeneity of decay is introduced via a variate sampled from the log-normal distribution with mu zero (i.e. median is 1) and this sigma. Age is then divided by this variate before being passed to the decay function.
IRSDecay
→ scenario → interventions → descriptions → IRSDecay
<IRSDecay
function=("constant" or "step" or "linear" or "exponential" or "weibull" or "hill" or "smooth-compact")
L=double
[ k=double ] DEFAULT VALUE 1.0
[ sigma=double ] DEFAULT VALUE 0
/>
Documentation (type)
Specification of decay or survival of a parameter.
Attributes
function
function=("constant" or "step" or "linear" or "exponential" or "weibull" or "hill" or "smooth-compact")
Units: None Min: 0 Max: 1
Determines which decay function to use. Available decay functions, for age t in years: constant: 1 step: 1 for t less than L, otherwise 0 linear: 1 - t/L for t less than L, otherwise 0 exponential: exp( - t/L * log(2) ) weibull: exp( -(t/L)^k * log(2) ) hill: 1 / (1 + (t/L)^k) smooth-compact: exp( k - k / (1 - (t/L)^2) ) for t less than L, otherwise 0
L
L=double
Units: Years Min: 0
Scale parameter of distribution. With the smooth-compact (smooth function with compact support), step and linear functions, this is the age at which the parameter has decayed to 0; with the other three functions, this is the age at which the parameter has decayed to half its original value. Not used for constant decay (though must be specified anyway).
k
k=double
Units: none Min: 0
Default value: 1.0
Shape parameter of distribution. If not specified, default value of 1 is used. Meaning depends on function; not used in some cases.
σ (sigma)
sigma=double
Units: none Min: 0
Default value: 0
If non-zero, heterogeneity of decay is introduced via a variate sampled from the log-normal distribution with mu zero (i.e. median is 1) and this sigma. Age is then divided by this variate before being passed to the decay function.
VADecay
→ scenario → interventions → descriptions → VADecay
<VADecay
function=("constant" or "step" or "linear" or "exponential" or "weibull" or "hill" or "smooth-compact")
L=double
[ k=double ] DEFAULT VALUE 1.0
[ sigma=double ] DEFAULT VALUE 0
/>
Documentation (type)
Specification of decay or survival of a parameter.
Attributes
function
function=("constant" or "step" or "linear" or "exponential" or "weibull" or "hill" or "smooth-compact")
Units: None Min: 0 Max: 1
Determines which decay function to use. Available decay functions, for age t in years: constant: 1 step: 1 for t less than L, otherwise 0 linear: 1 - t/L for t less than L, otherwise 0 exponential: exp( - t/L * log(2) ) weibull: exp( -(t/L)^k * log(2) ) hill: 1 / (1 + (t/L)^k) smooth-compact: exp( k - k / (1 - (t/L)^2) ) for t less than L, otherwise 0
L
L=double
Units: Years Min: 0
Scale parameter of distribution. With the smooth-compact (smooth function with compact support), step and linear functions, this is the age at which the parameter has decayed to 0; with the other three functions, this is the age at which the parameter has decayed to half its original value. Not used for constant decay (though must be specified anyway).
k
k=double
Units: none Min: 0
Default value: 1.0
Shape parameter of distribution. If not specified, default value of 1 is used. Meaning depends on function; not used in some cases.
σ (sigma)
sigma=double
Units: none Min: 0
Default value: 0
If non-zero, heterogeneity of decay is introduced via a variate sampled from the log-normal distribution with mu zero (i.e. median is 1) and this sigma. Age is then divided by this variate before being passed to the decay function.
anopheles
→ scenario → interventions → descriptions → anopheles
<anopheles
mosquito=string
>
IN THIS ORDER:
| [ <ITNDescription ... /> ]
| [ <IRSDescription ... /> ]
| [ <VADescription ... /> ]
</anopheles>
Attributes
Entomological effects of interventions
mosquito=string
Description of the entomological effects of interventions
ITNDescription
→ scenario → interventions → descriptions → anopheles → ITNDescription
<ITNDescription>
IN THIS ORDER:
| <deterrency ... />
</ITNDescription>
Documentation (base type)
Units: None Min: 0 Max: 1
Descriptions of initial effectiveness of each of the effects of interventions. Decay is specified by a separate element (ITNDecay etc.)
Deterrency
→ scenario → interventions → descriptions → anopheles → ITNDescription → deterrency
<deterrency
value=double
/>
Documentation (element)
Units: None Min: 0 Max: 1
One minus this multiplies the host's availability.
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Pre-prandial killing effect
→ scenario → interventions → descriptions → anopheles → ITNDescription → preprandialKillingEffect
<preprandialKillingEffect
value=double
/>
Documentation (element)
Units: None Min: 0 Max: 1
One minus this multiplies the survival rate of mosquitoes attempting to bite a host.
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Post-prandial killing effect
→ scenario → interventions → descriptions → anopheles → ITNDescription → postprandialKillingEffect
<postprandialKillingEffect
value=double
/>
Documentation (element)
Units: None Min: 0 Max: 1
One minus this multiplies the survival rate of mosquitoes attempting to escape after biting a host.
Attributes
Input parameter value
value=double
A double-precision floating-point value.
IRSDescription
→ scenario → interventions → descriptions → anopheles → IRSDescription
<IRSDescription>
IN THIS ORDER:
| <deterrency ... />
</IRSDescription>
Documentation (base type)
Units: None Min: 0 Max: 1
Descriptions of initial effectiveness of each of the effects of interventions. Decay is specified by a separate element (ITNDecay etc.)
killing effect
→ scenario → interventions → descriptions → anopheles → IRSDescription → killingEffect
<killingEffect
value=double
/>
Documentation (element)
Units: None Min: 0 Max: 1
One minus this multiplies the survival rate of resting mosquitoes.
Attributes
Input parameter value
value=double
A double-precision floating-point value.
VADescription
→ scenario → interventions → descriptions → anopheles → VADescription
<VADescription
name=string
>
IN THIS ORDER:
| <deterrency ... />
</VADescription>
Documentation (type)
Units: None Min: 0 Max: 1
Descriptions of initial effectiveness of each of the effects of interventions. Decay is specified by a separate element (ITNDecay etc.)
Attributes
Name of intervention
name=string
Units: string
Name of intervention
Continuously applied interventions
→ scenario → interventions → continuous
<continuous>
IN THIS ORDER:
| ( <vaccine ... /> )*
| ( <ITN ... /> )*
| ( <ipti ... /> )*
| ( <cohort ... /> )*
</continuous>
Documentation (element)
Continuously applied interventions
Documentation (type)
Interventions to be deployed continuously
List of age groups for vaccination
→ scenario → interventions → continuous → vaccine
<vaccine
targetAgeYrs=double
coverage=double
[ cohort=boolean ] DEFAULT VALUE false
[ begin=int ] DEFAULT VALUE 0
[ end=int ] DEFAULT VALUE 2147483647
/>
Documentation (element)
Units: List of elements
List of age groups for vaccination
Attributes
Target age
targetAgeYrs=double
Units: Years Min: 0 Max: 100
Target age of intervention
Proportion covered
coverage=double
Units: Proportion Min: 0 Max: 1
Coverage of intervention
Cohort only
cohort=boolean
Units: Proportion Min: 0 Max: 1
Default value: false
Restrict distribution to chosen cohort (default: false).
First timestep active
begin=int
Units: Timesteps Min: 0 Max: 2147483647
Default value: 0
First timestep (from 0 at the beginning of the intervention period) this item is active. Defaults to 0.
End timestep
end=int
Units: Timesteps Min: 0 Max: 2147483647
Default value: 2147483647
End of the period during which the intervention is active (to be exact, the first timestep of the intervention period at which the item becomes inactive). Defaults to 2147483647.
Description of ITN deployment
→ scenario → interventions → continuous → ITN
<ITN
targetAgeYrs=double
coverage=double
[ cohort=boolean ] DEFAULT VALUE false
[ begin=int ] DEFAULT VALUE 0
[ end=int ] DEFAULT VALUE 2147483647
/>
Documentation (element)
Units: List of elements
Description of ITN deployment in the community
Attributes
Target age
targetAgeYrs=double
Units: Years Min: 0 Max: 100
Target age of intervention
Proportion covered
coverage=double
Units: Proportion Min: 0 Max: 1
Coverage of intervention
Cohort only
cohort=boolean
Units: Proportion Min: 0 Max: 1
Default value: false
Restrict distribution to chosen cohort (default: false).
First timestep active
begin=int
Units: Timesteps Min: 0 Max: 2147483647
Default value: 0
First timestep (from 0 at the beginning of the intervention period) this item is active. Defaults to 0.
End timestep
end=int
Units: Timesteps Min: 0 Max: 2147483647
Default value: 2147483647
End of the period during which the intervention is active (to be exact, the first timestep of the intervention period at which the item becomes inactive). Defaults to 2147483647.
List of age groups for IPTi
→ scenario → interventions → continuous → ipti
<ipti
targetAgeYrs=double
coverage=double
[ cohort=boolean ] DEFAULT VALUE false
[ begin=int ] DEFAULT VALUE 0
[ end=int ] DEFAULT VALUE 2147483647
/>
Documentation (element)
Units: List of elements
List of age groups for IPTi distribution
Attributes
Target age
targetAgeYrs=double
Units: Years Min: 0 Max: 100
Target age of intervention
Proportion covered
coverage=double
Units: Proportion Min: 0 Max: 1
Coverage of intervention
Cohort only
cohort=boolean
Units: Proportion Min: 0 Max: 1
Default value: false
Restrict distribution to chosen cohort (default: false).
First timestep active
begin=int
Units: Timesteps Min: 0 Max: 2147483647
Default value: 0
First timestep (from 0 at the beginning of the intervention period) this item is active. Defaults to 0.
End timestep
end=int
Units: Timesteps Min: 0 Max: 2147483647
Default value: 2147483647
End of the period during which the intervention is active (to be exact, the first timestep of the intervention period at which the item becomes inactive). Defaults to 2147483647.
Continuous cohort selection
→ scenario → interventions → continuous → cohort
<cohort
targetAgeYrs=double
coverage=double
[ cohort=boolean ] DEFAULT VALUE false
[ begin=int ] DEFAULT VALUE 0
[ end=int ] DEFAULT VALUE 2147483647
/>
Documentation (element)
Units: List of elements
Description of continuous selection of individuals for a cohort study.
Attributes
Target age
targetAgeYrs=double
Units: Years Min: 0 Max: 100
Target age of intervention
Proportion covered
coverage=double
Units: Proportion Min: 0 Max: 1
Coverage of intervention
Cohort only
cohort=boolean
Units: Proportion Min: 0 Max: 1
Default value: false
Restrict distribution to chosen cohort (default: false).
First timestep active
begin=int
Units: Timesteps Min: 0 Max: 2147483647
Default value: 0
First timestep (from 0 at the beginning of the intervention period) this item is active. Defaults to 0.
End timestep
end=int
Units: Timesteps Min: 0 Max: 2147483647
Default value: 2147483647
End of the period during which the intervention is active (to be exact, the first timestep of the intervention period at which the item becomes inactive). Defaults to 2147483647.
Timed interventions
→ scenario → interventions → timed
<timed>
IN THIS ORDER:
| ( <intervention ... /> )+
</timed>
Documentation (element)
Units: List of elements
List of timed interventions
Documentation (type)
Units: List of elements
List of timed interventions
intervention
→ scenario → interventions → timed → intervention
<intervention
time=int
>
IN THIS ORDER:
| [ <changeHS ... /> ]
| [ <changeEIR ... /> ]
| [ <importedInfectionsPerThousandHosts ... /> ]
| [ <MDA ... /> ]
| [ <vaccinate ... /> ]
| [ <ITN ... /> ]
| [ <IRS ... /> ]
| [ <VectorAvailability ... /> ]
| [ <ipti ... /> ]
| [ <immuneSuppression ... /> ]
| [ <insertR_0Case ... /> ]
| [ <uninfectVectors ... /> ]
| [ <larviciding ... /> ]
| [ <cohort ... /> ]
</intervention>
- changeHS
- changeEIR
- importedInfectionsPerThousandHosts
- MDA
- vaccinate
- ITN
- IRS
- VectorAvailability
- ipti
- immuneSuppression
- insertR_0Case
- uninfectVectors
- larviciding
- cohort
Attributes
Time step of intervention
time=int
Units: Number Min: 1 Max: 10000
Time step of intervention
changeHS
→ scenario → interventions → timed → intervention → changeHS
<changeHS>
IN THIS ORDER:
| EXACTLY ONE OF:
| | <EventScheduler ... />
| | <ImmediateOutcomes ... />
| <CFR ... />
| <pSequelaeInpatient ... />
</changeHS>
Documentation (type)
Units: List of elements
Description of case management system, used to specify the initial model or a replacement (an intervention). Encompasses case management data and some other data required to derive case outcomes.
Contains a sub-element describing the particular health-system in use. Health system data is here defined as data used to decide on a treatment strategy, given a case requiring treatment.
EventScheduler
→ scenario → healthSystem → EventScheduler
<EventScheduler>
IN THIS ORDER:
| <uncomplicated ... />
| <complicated ... />
| <ClinicalOutcomes ... />
| [ <NonMalariaFevers ... /> ]
</EventScheduler>
uncomplicated
→ scenario → healthSystem → EventScheduler → uncomplicated
<uncomplicated>
IN THIS ORDER:
| <decisions ... />
| <treatments ... />
</uncomplicated>
Documentation (type)
Units: List of elements
A set of decisions and a set of treatments.
complicated
→ scenario → healthSystem → EventScheduler → complicated
<complicated>
IN THIS ORDER:
| <decisions ... />
| <treatments ... />
</complicated>
Documentation (type)
Units: List of elements
A set of decisions and a set of treatments.
ClinicalOutcomes
→ scenario → healthSystem → EventScheduler → ClinicalOutcomes
<ClinicalOutcomes>
IN THIS ORDER:
| <maxUCSeekingMemory ... />
| <uncomplicatedCaseDuration ... />
| <complicatedCaseDuration ... />
| <complicatedRiskDuration ... />
| ( <dailyPrImmUCTS ... /> )+
</ClinicalOutcomes>
- maxUCSeekingMemory
- uncomplicatedCaseDuration
- complicatedCaseDuration
- complicatedRiskDuration
- dailyPrImmUCTS
Documentation (type)
Description of base parameters of the clinical model.
Max UC treatment-seeking memory
→ scenario → healthSystem → EventScheduler → ClinicalOutcomes → maxUCSeekingMemory
<maxUCSeekingMemory>
int
</maxUCSeekingMemory>
Documentation (element)
Units: days Min: 0 Max: unbounded
Maximum number of timesteps (including first of case) an individual will remember they are sick before resetting.
Uncomplicated case duration
→ scenario → healthSystem → EventScheduler → ClinicalOutcomes → uncomplicatedCaseDuration
<uncomplicatedCaseDuration>
int
</uncomplicatedCaseDuration>
Documentation (element)
Units: days Min: 1 Max: unbounded
Fixed length of an uncomplicated case of malarial/non-malarial sickness (from treatment seeking until return to life-as-usual). Usually 3.
Complicated case duration
→ scenario → healthSystem → EventScheduler → ClinicalOutcomes → complicatedCaseDuration
<complicatedCaseDuration>
int
</complicatedCaseDuration>
Documentation (element)
Units: days Min: 1 Max: unbounded
Fixed length of a complicated/severe case of malaria (from treatment seeking until return to life-as-usual).
Complicated risk duration
→ scenario → healthSystem → EventScheduler → ClinicalOutcomes → complicatedRiskDuration
<complicatedRiskDuration>
int
</complicatedRiskDuration>
Documentation (element)
Units: days Min: 1 Max: unbounded
Number of days for which humans are at risk of death during a severe or complicated case of malaria. Cannot be greater than the duration of a complicated case or less than 1 day.
Daily probability of immediate treatment seeking for uncomplicated cases
→ scenario → healthSystem → EventScheduler → ClinicalOutcomes → dailyPrImmUCTS
<dailyPrImmUCTS>
double
</dailyPrImmUCTS>
Documentation (element)
Units: none Min: 0 Max: 1
It is sometimes desirable to model delays to treatment seeking in uncomplicated cases. While treatment of drugs can be delayed within case management trees to provide a similar effect, this doesn't delay any of the decisions, including diagnostics using the current parasite density.
Instead a list of dailyPrImmUCTS elements can be used, describing successive daily probabilities of treatment (sum must be 1). For example, with a list of two elements with values 0.8 and 0.2, for 80% of UC cases the decision tree is evaluated immediately, and for 20% of cases evaluation is delayed by one day.
For no delay, use one element with a value of 1.
NonMalariaFevers
→ scenario → healthSystem → EventScheduler → NonMalariaFevers
<NonMalariaFevers>
IN THIS ORDER:
| <prTreatment ... />
| <effectNegativeTest ... />
| <effectPositiveTest ... />
| <effectNeed ... />
| <effectInformal ... />
| <CFR ... />
| <TreatmentEfficacy ... />
</NonMalariaFevers>
Documentation (type)
Description of non-malaria fever health-system modelling (treatment, outcomes and costing). Incidence is described by the model->clinical->NonMalariaFevers element. Non-malaria fevers are only modelled if the NON_MALARIA_FEVERS option is used.
As further explanation of the parameters below, we first take: β₀ = logit(P₀) - β₃·P(need), and then calculate the probability of antibiotic administration, P(AB), dependent on treatment seeking location. No seeking: P(AB) = 0 Informal sector: logit(P(AB)) = β₀ + β₄ Health facility: logit(P(AB)) = β₀ + β₁·I(neg) + β₂·I(pos) + β₃·I(need) (where I(X) is 1 when event X is true and 0 otherwise, logit(p)=log(p/(1-p)), event "need" is the event that death may occur without treatment, events "neg" and "pos" are the events that a malaria parasite diagnositic was used and indicated no parasites and parasites respectively).
P(treatment|no diagnostic)
→ scenario → healthSystem → EventScheduler → NonMalariaFevers → prTreatment
<prTreatment>
double
</prTreatment>
Documentation (element)
Units: none Min: 0 Max: 1
Probability of a non-malaria fever being treated with an antibiotic given that no malaria diagnostic was used but independent of need. Symbol: P₀.
Effect of a negative test
→ scenario → healthSystem → EventScheduler → NonMalariaFevers → effectNegativeTest
<effectNegativeTest>
double
</effectNegativeTest>
Documentation (element)
The effect of a negative malaria diagnostic on the odds ratio of receiving antibiotics. Symbol: exp(β₁).
Effect of a positive test
→ scenario → healthSystem → EventScheduler → NonMalariaFevers → effectPositiveTest
<effectPositiveTest>
double
</effectPositiveTest>
Documentation (element)
The effect of a positive malaria diagnostic on the odds ratio of receiving antibiotics. Symbol: exp(β₂).
Effect of need
→ scenario → healthSystem → EventScheduler → NonMalariaFevers → effectNeed
<effectNeed>
double
</effectNeed>
Documentation (element)
The effect of needing antibiotic treatment on the odds ratio of receiving antibiotics. Symbol: exp(β₃).
Effect of informal provider
→ scenario → healthSystem → EventScheduler → NonMalariaFevers → effectInformal
<effectInformal>
double
</effectInformal>
Documentation (element)
The effect of seeking treatment from an informal provider (i.e. a provider untrained in NMF diagnosis) on the odds ratio of receiving antibiotics. Symbol: exp(β₄)
Case fatality rate
→ scenario → healthSystem → EventScheduler → NonMalariaFevers → CFR
<CFR
[ interpolation=("none" or "linear") ] DEFAULT VALUE linear
>
IN THIS ORDER:
| ( <group ... /> )+
</CFR>
Documentation (element)
Units: none Min: 0 Max: 1
Base case fatality rate for non-malaria fevers (probability of death from a fever requiring antibiotic treatment given that no antibiotic treatment is received, per age-group).
Attributes
interpolation
interpolation=("none" or "linear")
Units: none
Default value: linear
Interpolation algorithm. Normally it is desirable for age-based values to be continuous w.r.t. age. By default linear interpolation is used. With all algorithms except "none", the age groups are converted to a set of points centred within each age range. Extra points are added at each end (zero and infinity) to keep value constant at both ends of the function. A zero-length age group may be used as a kind of barrier to adjust the distribution; e.g. with age group boundaries at 15, 20 and 25 years, a (linear) spline would be drawn between ages 17.5 and 22.5, whereas with boundaries at 15, 20 and 20 years, a spline would be drawn between ages 17.5 and 20 years (may be desired if individuals are assumed to reach adult size at 20). Algorithms:
- none: input values are used directly
- linear: straight lines (on an age vs. value graph) are used to interpolate data points.
age group
→ scenario → healthSystem → CFR → group
<group
value=double
lowerbound=double
/>
Documentation (element)
A series of values according to age groups, each specified with a lower-bound and a value. The first lower-bound specified must be zero; a final upper-bound of infinity is added to complete the last age group. At least one age group is required. Normally these are interpolated by a continuous function (see interpolation attribute).
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Lower bound
lowerbound=double
Units: Years Min: 0 Max: 100
Lower bound of age group
Treatment efficacy
→ scenario → healthSystem → EventScheduler → NonMalariaFevers → TreatmentEfficacy
<TreatmentEfficacy>
double
</TreatmentEfficacy>
Documentation (element)
Units: none Min: 0 Max: 1
Probability that treatment would prevent a death (i.e. CFR is multiplied by one minus this when treatment occurs).
ImmediateOutcomes
→ scenario → healthSystem → ImmediateOutcomes
<ImmediateOutcomes
name=string
>
IN THIS ORDER:
| <drugRegimen ... />
| <initialACR ... />
| <compliance ... />
| <nonCompliersEffective ... />
| <pSeekOfficialCareUncomplicated1 ... />
| <pSelfTreatUncomplicated ... />
| <pSeekOfficialCareUncomplicated2 ... />
| <pSeekOfficialCareSevere ... />
</ImmediateOutcomes>
- drugRegimen
- initialACR
- compliance
- nonCompliersEffective
- pSeekOfficialCareUncomplicated1
- pSelfTreatUncomplicated
- pSeekOfficialCareUncomplicated2
- pSeekOfficialCareSevere
Documentation (type)
Units: List of elements
Description of "immediate outcomes" health system: Tediosi et al case management model (Case management as described in AJTMH 75 (suppl 2) pp90-103).
Attributes
Case Management model
name=string
Units: string
Name of health system
Description of drug regimen
→ scenario → healthSystem → ImmediateOutcomes → drugRegimen
<drugRegimen
firstLine=string
secondLine=string
inpatient=string
/>
Documentation (element)
Units: List of elements
Description of drug regimen
Attributes
First line drug
firstLine=string
Units: Drug code
Code for first line drug
Second line drug
secondLine=string
Units: Drug code
Code for second line drug
Drug use for treating inpatients
inpatient=string
Units: Drug code
Code for drug used for treating inpatients
Initial cure rate
→ scenario → healthSystem → ImmediateOutcomes → initialACR
<initialACR>
IN THIS ORDER:
| [ <CQ ... /> ]
| [ <SP ... /> ]
| [ <AQ ... /> ]
| [ <SPAQ ... /> ]
| [ <ACT ... /> ]
| [ <QN ... /> ]
| <selfTreatment ... />
</initialACR>
Documentation (element)
Units: Proportion Min: 0 Max: 1
Initial cure rate
Chloroquine
→ scenario → healthSystem → ImmediateOutcomes → initialACR → CQ
<CQ
value=double
/>
Documentation (element)
Units: List of elements
Chloroquine
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Sulphadoxine-pyrimethamine
→ scenario → healthSystem → ImmediateOutcomes → initialACR → SP
<SP
value=double
/>
Documentation (element)
Units: List of elements
Sulphadoxine-pyrimethamine
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Amodiaquine
→ scenario → healthSystem → ImmediateOutcomes → initialACR → AQ
<AQ
value=double
/>
Documentation (element)
Units: List of elements
Amodiaquine
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Sulphadoxine-pyrimethamine/Amodiaquine
→ scenario → healthSystem → ImmediateOutcomes → initialACR → SPAQ
<SPAQ
value=double
/>
Documentation (element)
Units: List of elements
Sulphadoxine-pyrimethamine/Amodiaquine
Attributes
Input parameter value
value=double
A double-precision floating-point value.
ACT
→ scenario → healthSystem → ImmediateOutcomes → initialACR → ACT
<ACT
value=double
/>
Documentation (element)
Units: List of elements
Artemisinine combination therapy
Attributes
Input parameter value
value=double
A double-precision floating-point value.
QN
→ scenario → healthSystem → ImmediateOutcomes → initialACR → QN
<QN
value=double
/>
Documentation (element)
Units: List of elements
Quinine
Attributes
Input parameter value
value=double
A double-precision floating-point value.
selfTreatment
→ scenario → healthSystem → ImmediateOutcomes → initialACR → selfTreatment
<selfTreatment
value=double
/>
Documentation (element)
Units: Proportion Min: 0 Max: 1
Probability of self-treatment
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Adherence to treatment
→ scenario → healthSystem → ImmediateOutcomes → compliance
<compliance>
IN THIS ORDER:
| [ <CQ ... /> ]
| [ <SP ... /> ]
| [ <AQ ... /> ]
| [ <SPAQ ... /> ]
| [ <ACT ... /> ]
| [ <QN ... /> ]
| <selfTreatment ... />
</compliance>
Documentation (element)
Units: Proportion Min: 0 Max: 1
Adherence to treatment
Effectiveness of treatment in non-adherent patients
→ scenario → healthSystem → ImmediateOutcomes → nonCompliersEffective
<nonCompliersEffective>
IN THIS ORDER:
| [ <CQ ... /> ]
| [ <SP ... /> ]
| [ <AQ ... /> ]
| [ <SPAQ ... /> ]
| [ <ACT ... /> ]
| [ <QN ... /> ]
| <selfTreatment ... />
</nonCompliersEffective>
Documentation (element)
Units: Proportion Min: 0 Max: 1
Effectiveness of treatment of non compliers
Probability that a patient with uncomplicated disease seeks official care immediately
→ scenario → healthSystem → ImmediateOutcomes → pSeekOfficialCareUncomplicated1
<pSeekOfficialCareUncomplicated1
value=double
/>
Documentation (element)
Units: Proportion Min: 0 Max: 1
Probability that a patient with newly incident uncomplicated disease seeks official care
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Probability that a patient with uncomplicated disease self-treats
→ scenario → healthSystem → ImmediateOutcomes → pSelfTreatUncomplicated
<pSelfTreatUncomplicated
value=double
/>
Documentation (element)
Units: Proportion Min: 0 Max: 1
Probability that a patient with uncomplicated disease self-treats
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Probability that a recurring patient seeks official care
→ scenario → healthSystem → ImmediateOutcomes → pSeekOfficialCareUncomplicated2
<pSeekOfficialCareUncomplicated2
value=double
/>
Documentation (element)
Units: Proportion Min: 0 Max: 1
Probability that a patient with recurrence of uncomplicated disease seeks official care
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Probability that a patient with severe disease obtains appropriate care
→ scenario → healthSystem → ImmediateOutcomes → pSeekOfficialCareSevere
<pSeekOfficialCareSevere
value=double
/>
Documentation (element)
Units: Proportion Min: 0 Max: 1
Probability that a patient with severe disease obtains appropriate care
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Case fatality rate in inpatients
→ scenario → healthSystem → CFR
<CFR
[ interpolation=("none" or "linear") ] DEFAULT VALUE linear
>
IN THIS ORDER:
| ( <group ... /> )+
</CFR>
Documentation (element)
Units: List of elements
Case fatality rate (probability of an inpatient fatality from a bout of severe malaria, per age-group).
Attributes
interpolation
interpolation=("none" or "linear")
Units: none
Default value: linear
Interpolation algorithm. Normally it is desirable for age-based values to be continuous w.r.t. age. By default linear interpolation is used. With all algorithms except "none", the age groups are converted to a set of points centred within each age range. Extra points are added at each end (zero and infinity) to keep value constant at both ends of the function. A zero-length age group may be used as a kind of barrier to adjust the distribution; e.g. with age group boundaries at 15, 20 and 25 years, a (linear) spline would be drawn between ages 17.5 and 22.5, whereas with boundaries at 15, 20 and 20 years, a spline would be drawn between ages 17.5 and 20 years (may be desired if individuals are assumed to reach adult size at 20). Algorithms:
- none: input values are used directly
- linear: straight lines (on an age vs. value graph) are used to interpolate data points.
Probabilities of sequelae in inpatients
→ scenario → healthSystem → pSequelaeInpatient
<pSequelaeInpatient
[ interpolation=("none" or "linear") ] DEFAULT VALUE linear
>
IN THIS ORDER:
| ( <group ... /> )+
</pSequelaeInpatient>
Documentation (element)
Units: List of elements
List of age specific probabilities of sequelae in inpatients, during a severe bout.
Attributes
interpolation
interpolation=("none" or "linear")
Units: none
Default value: linear
Interpolation algorithm. Normally it is desirable for age-based values to be continuous w.r.t. age. By default linear interpolation is used. With all algorithms except "none", the age groups are converted to a set of points centred within each age range. Extra points are added at each end (zero and infinity) to keep value constant at both ends of the function. A zero-length age group may be used as a kind of barrier to adjust the distribution; e.g. with age group boundaries at 15, 20 and 25 years, a (linear) spline would be drawn between ages 17.5 and 22.5, whereas with boundaries at 15, 20 and 20 years, a spline would be drawn between ages 17.5 and 20 years (may be desired if individuals are assumed to reach adult size at 20). Algorithms:
- none: input values are used directly
- linear: straight lines (on an age vs. value graph) are used to interpolate data points.
Replacement transmission setting (vector control not enabled)
→ scenario → interventions → timed → intervention → changeEIR
<changeEIR
eipDuration=int
>
IN THIS ORDER:
| ( <EIRDaily ... /> )+
</changeEIR>
Documentation (element)
Units: List of elements
New description of transmission setting for models without vector control interventions (included for backward compatibility)
Attributes
Duration of sporogony (days)
eipDuration=int
The duration of sporogony in days
EIRDaily
→ scenario → entoData → nonVector → EIRDaily
<EIRDaily
[ origin=string ]
>
double
</EIRDaily>
Documentation (type)
Units: Infectious bites per adult per day
In the non-vector model, EIR is input as a sequence of daily values. There must be at least a years' worth of entries (365), and if there are more, values are wrapped and averaged (i.e. value for first day of year is taken as the mean of values for days 0, 365+0, 2*365+0, etc.).
Attributes
Time origin of EIR sequence
origin=string
Import infections
→ scenario → interventions → timed → intervention → importedInfectionsPerThousandHosts
<importedInfectionsPerThousandHosts>
double
</importedInfectionsPerThousandHosts>
Documentation (element)
Units: Number per 1000 hosts Min: 0
Import infections (as if a mosquito bites a human). Imported via a Bernoulli trial per host.
Mass Drug Administration
→ scenario → interventions → timed → intervention → MDA
<MDA
[ maxAge=double ] DEFAULT VALUE 100
[ minAge=double ] DEFAULT VALUE 0
coverage=double
[ cohort=boolean ] DEFAULT VALUE false
/>
Documentation (element)
Units: List of elements
Description of mass drug deployment in the community.
Attributes
Maximum age of eligible individuals
maxAge=double
Units: Years Min: 0 Max: 100
Default value: 100
Maximum age of eligible individuals (defaults to 100)
Minimum age of eligible individuals
minAge=double
Units: Years Min: 0 Max: 100
Default value: 0
Minimum age of eligible individuals (defaults to 0)
Coverage
coverage=double
Units: Proportion Min: 0 Max: 1
Coverage of intervention
Cohort only
cohort=boolean
Units: Proportion Min: 0 Max: 1
Default value: false
Restrict distribution to chosen cohort.
Vaccination
→ scenario → interventions → timed → intervention → vaccinate
<vaccinate
[ maxAge=double ] DEFAULT VALUE 100
[ minAge=double ] DEFAULT VALUE 0
coverage=double
[ cohort=boolean ] DEFAULT VALUE false
[ cumulativeWithMaxAge=double ]
/>
Documentation (element)
Units: List of elements
Description of vaccine deployment in the community
Attributes
Maximum age of eligible individuals
maxAge=double
Units: Years Min: 0 Max: 100
Default value: 100
Maximum age of eligible individuals (defaults to 100)
Minimum age of eligible individuals
minAge=double
Units: Years Min: 0 Max: 100
Default value: 0
Minimum age of eligible individuals (defaults to 0)
Coverage
coverage=double
Units: Proportion Min: 0 Max: 1
Coverage of intervention
Cohort only
cohort=boolean
Units: Proportion Min: 0 Max: 1
Default value: false
Restrict distribution to chosen cohort.
Cumulative deployment: maximum age
cumulativeWithMaxAge=double
Units: Years Min: 0
If present, activate cumulate deployment mode where intervention is only deployed to individuals not already considered protected in sufficient quantity to bring the total proportion of people covered up to level described by "coverage". Individuals are considered already protected by this intervention when the age of the last net/dose/etc. received is less than "maximum age" (this attribute) years old (i.e. when timeLastDeployment+maximumAge>currentTimeStep).
ITN deployment
→ scenario → interventions → timed → intervention → ITN
<ITN
[ maxAge=double ] DEFAULT VALUE 100
[ minAge=double ] DEFAULT VALUE 0
coverage=double
[ cohort=boolean ] DEFAULT VALUE false
[ cumulativeWithMaxAge=double ]
/>
Documentation (element)
Units: List of elements
Description of ITN deployment in the community
Attributes
Maximum age of eligible individuals
maxAge=double
Units: Years Min: 0 Max: 100
Default value: 100
Maximum age of eligible individuals (defaults to 100)
Minimum age of eligible individuals
minAge=double
Units: Years Min: 0 Max: 100
Default value: 0
Minimum age of eligible individuals (defaults to 0)
Coverage
coverage=double
Units: Proportion Min: 0 Max: 1
Coverage of intervention
Cohort only
cohort=boolean
Units: Proportion Min: 0 Max: 1
Default value: false
Restrict distribution to chosen cohort.
Cumulative deployment: maximum age
cumulativeWithMaxAge=double
Units: Years Min: 0
If present, activate cumulate deployment mode where intervention is only deployed to individuals not already considered protected in sufficient quantity to bring the total proportion of people covered up to level described by "coverage". Individuals are considered already protected by this intervention when the age of the last net/dose/etc. received is less than "maximum age" (this attribute) years old (i.e. when timeLastDeployment+maximumAge>currentTimeStep).
IRS deployment
→ scenario → interventions → timed → intervention → IRS
<IRS
[ maxAge=double ] DEFAULT VALUE 100
[ minAge=double ] DEFAULT VALUE 0
coverage=double
[ cohort=boolean ] DEFAULT VALUE false
[ cumulativeWithMaxAge=double ]
/>
Documentation (element)
Units: List of elements
Description of IRS deployment in the community
Attributes
Maximum age of eligible individuals
maxAge=double
Units: Years Min: 0 Max: 100
Default value: 100
Maximum age of eligible individuals (defaults to 100)
Minimum age of eligible individuals
minAge=double
Units: Years Min: 0 Max: 100
Default value: 0
Minimum age of eligible individuals (defaults to 0)
Coverage
coverage=double
Units: Proportion Min: 0 Max: 1
Coverage of intervention
Cohort only
cohort=boolean
Units: Proportion Min: 0 Max: 1
Default value: false
Restrict distribution to chosen cohort.
Cumulative deployment: maximum age
cumulativeWithMaxAge=double
Units: Years Min: 0
If present, activate cumulate deployment mode where intervention is only deployed to individuals not already considered protected in sufficient quantity to bring the total proportion of people covered up to level described by "coverage". Individuals are considered already protected by this intervention when the age of the last net/dose/etc. received is less than "maximum age" (this attribute) years old (i.e. when timeLastDeployment+maximumAge>currentTimeStep).
Mosquito deterrent
→ scenario → interventions → timed → intervention → VectorAvailability
<VectorAvailability
[ maxAge=double ] DEFAULT VALUE 100
[ minAge=double ] DEFAULT VALUE 0
coverage=double
[ cohort=boolean ] DEFAULT VALUE false
[ cumulativeWithMaxAge=double ]
/>
Documentation (element)
Units: List of elements
Description of a mosquito deterrent deployment in the community
Attributes
Maximum age of eligible individuals
maxAge=double
Units: Years Min: 0 Max: 100
Default value: 100
Maximum age of eligible individuals (defaults to 100)
Minimum age of eligible individuals
minAge=double
Units: Years Min: 0 Max: 100
Default value: 0
Minimum age of eligible individuals (defaults to 0)
Coverage
coverage=double
Units: Proportion Min: 0 Max: 1
Coverage of intervention
Cohort only
cohort=boolean
Units: Proportion Min: 0 Max: 1
Default value: false
Restrict distribution to chosen cohort.
Cumulative deployment: maximum age
cumulativeWithMaxAge=double
Units: Years Min: 0
If present, activate cumulate deployment mode where intervention is only deployed to individuals not already considered protected in sufficient quantity to bring the total proportion of people covered up to level described by "coverage". Individuals are considered already protected by this intervention when the age of the last net/dose/etc. received is less than "maximum age" (this attribute) years old (i.e. when timeLastDeployment+maximumAge>currentTimeStep).
IPTi deployment
→ scenario → interventions → timed → intervention → ipti
<ipti
[ maxAge=double ] DEFAULT VALUE 100
[ minAge=double ] DEFAULT VALUE 0
coverage=double
[ cohort=boolean ] DEFAULT VALUE false
[ cumulativeWithMaxAge=double ]
/>
Documentation (element)
Units: List of elements
List of age groups for IPTi distribution
Attributes
Maximum age of eligible individuals
maxAge=double
Units: Years Min: 0 Max: 100
Default value: 100
Maximum age of eligible individuals (defaults to 100)
Minimum age of eligible individuals
minAge=double
Units: Years Min: 0 Max: 100
Default value: 0
Minimum age of eligible individuals (defaults to 0)
Coverage
coverage=double
Units: Proportion Min: 0 Max: 1
Coverage of intervention
Cohort only
cohort=boolean
Units: Proportion Min: 0 Max: 1
Default value: false
Restrict distribution to chosen cohort.
Cumulative deployment: maximum age
cumulativeWithMaxAge=double
Units: Years Min: 0
If present, activate cumulate deployment mode where intervention is only deployed to individuals not already considered protected in sufficient quantity to bring the total proportion of people covered up to level described by "coverage". Individuals are considered already protected by this intervention when the age of the last net/dose/etc. received is less than "maximum age" (this attribute) years old (i.e. when timeLastDeployment+maximumAge>currentTimeStep).
Immune suppression deployment
→ scenario → interventions → timed → intervention → immuneSuppression
<immuneSuppression
[ maxAge=double ] DEFAULT VALUE 100
[ minAge=double ] DEFAULT VALUE 0
coverage=double
[ cohort=boolean ] DEFAULT VALUE false
/>
Documentation (element)
Units: List of elements
Removes all exposure-related immunity gained over time by hosts without removing infections.
Hypothetical, but potentially useful to simulate scenarios with unprotected humans.
Attributes
Maximum age of eligible individuals
maxAge=double
Units: Years Min: 0 Max: 100
Default value: 100
Maximum age of eligible individuals (defaults to 100)
Minimum age of eligible individuals
minAge=double
Units: Years Min: 0 Max: 100
Default value: 0
Minimum age of eligible individuals (defaults to 0)
Coverage
coverage=double
Units: Proportion Min: 0 Max: 1
Coverage of intervention
Cohort only
cohort=boolean
Units: Proportion Min: 0 Max: 1
Default value: false
Restrict distribution to chosen cohort.
Insert R_0 case
→ scenario → interventions → timed → intervention → insertR_0Case
<insertR_0Case/>
Documentation (element)
Units: List of elements
Used to simulate R_0. First, infections should be eliminated, immunity removed, and the population given an effective transmission- blocking vaccine (not done by this intervention). Then this intervention may be used to: pick one human, infect him, administer a fully effective Preerythrocytic vaccine and remove transmission-blocking vaccine effect on this human. Thus only this one human will be a source of infections in an unprotected population, and will not reinfected himself.
Uninfect vectors
→ scenario → interventions → timed → intervention → uninfectVectors
<uninfectVectors/>
Documentation (element)
Units: List of elements
Removes all infections from mosquitoes -- resulting in zero EIR to humans, until such time that mosquitoes are re-infected and become infectious. Only effectious in dynamic EIR mode (when changeEIR was not used).
Hypothetical, but potentially useful to simulate a setting starting from no infections, but with enough mosquitoes to reach a set equilibrium of exposure.
Simple larviciding intervention
→ scenario → interventions → timed → intervention → larviciding
<larviciding>
IN THIS ORDER:
| ( <anopheles ... /> )+
</larviciding>
Documentation (element)
Units: List of elements
Simple larviciding intervention description.
anopheles
→ scenario → interventions → timed → intervention → larviciding → anopheles
<anopheles
mosquito=string
effectiveness=double
duration=int
/>
Attributes
Mosquito to be larvicided
mosquito=string
Mosquito to be larvicided
Proportionate reduction in emergence
effectiveness=double
Units: none Min: 0 Max: 1
Proportional reduction in emergence rate
Duration of activity
duration=int
Units: days Min: 0 Max: inf
Number of days for which the intervention is active.
Mass Cohort Selection
→ scenario → interventions → timed → intervention → cohort
<cohort
[ maxAge=double ] DEFAULT VALUE 100
[ minAge=double ] DEFAULT VALUE 0
coverage=double
[ cohort=boolean ] DEFAULT VALUE false
[ cumulativeWithMaxAge=double ]
/>
Documentation (element)
Units: List of elements
Description of mass cohort selection.
Attributes
Maximum age of eligible individuals
maxAge=double
Units: Years Min: 0 Max: 100
Default value: 100
Maximum age of eligible individuals (defaults to 100)
Minimum age of eligible individuals
minAge=double
Units: Years Min: 0 Max: 100
Default value: 0
Minimum age of eligible individuals (defaults to 0)
Coverage
coverage=double
Units: Proportion Min: 0 Max: 1
Coverage of intervention
Cohort only
cohort=boolean
Units: Proportion Min: 0 Max: 1
Default value: false
Restrict distribution to chosen cohort.
Cumulative deployment: maximum age
cumulativeWithMaxAge=double
Units: Years Min: 0
If present, activate cumulate deployment mode where intervention is only deployed to individuals not already considered protected in sufficient quantity to bring the total proportion of people covered up to level described by "coverage". Individuals are considered already protected by this intervention when the age of the last net/dose/etc. received is less than "maximum age" (this attribute) years old (i.e. when timeLastDeployment+maximumAge>currentTimeStep).
Health system description
→ scenario → healthSystem
<healthSystem>
IN THIS ORDER:
| EXACTLY ONE OF:
| | <EventScheduler ... />
| | <ImmediateOutcomes ... />
| <CFR ... />
| <pSequelaeInpatient ... />
</healthSystem>
Documentation (element)
Units: List of elements
Description of health system.
Documentation (type)
Units: List of elements
Description of case management system, used to specify the initial model or a replacement (an intervention). Encompasses case management data and some other data required to derive case outcomes.
Contains a sub-element describing the particular health-system in use. Health system data is here defined as data used to decide on a treatment strategy, given a case requiring treatment.
Transmission and vector bionomics
<entoData
name=string
mode=("2" or "4")
[ annualEIR=double ]
>
IN THIS ORDER:
| EXACTLY ONE OF:
| | <nonVector ... />
| | <vector ... />
</entoData>
Documentation (element)
Units: List of elements
Description of entomological data
Attributes
Entomology dataset
name=string
Units: string
Name of entomology data
Transmission simulation mode
mode=("2" or "4")
Units: Code
Transmission simulation mode -- enter dynamic mode (4) or forced mode (2) at start of intervention period. Mode 3 (transient EIR from data provided as intervention) is set when intervention data is applied, and is no longer a valid value to specify here.
Override annual EIR
annualEIR=double
Units: Infectious bites per adult per year
If set, overrides the annual EIR by scaling it to this level. If ommitted, EIR levels are as specified elsewhere.
Transmission setting (vector control not enabled)
→ scenario → entoData → nonVector
<nonVector
eipDuration=int
>
IN THIS ORDER:
| ( <EIRDaily ... /> )+
</nonVector>
Documentation (element)
Units: List of elements
Description of transmission setting for models without vector control interventions (included for backward compatibility)
Attributes
Duration of sporogony (days)
eipDuration=int
The duration of sporogony in days
Transmission setting (vector control enabled)
→ scenario → entoData → vector
<vector>
IN THIS ORDER:
| ( <anopheles ... /> )+
| ( <nonHumanHosts ... /> )*
</vector>
Documentation (element)
Units: List of elements
Parameters of the transmission model.
anopheles
→ scenario → entoData → vector → anopheles
<anopheles
mosquito=string
propInfected=double
propInfectious=double
>
IN THIS ORDER:
| EXACTLY ONE OF:
| | <eir ... />
| | <monthlyEir ... />
| <mosq ... />
| ( <nonHumanHosts ... /> )*
</anopheles>
Documentation (type)
Description of input EIR for one specific vector species in terms of a Fourier approximation to the ln of the EIR during the burn in period
Attributes
Identifier for this anopheles species
mosquito=string
Identifier for this anopheles species
Initial guess of proportion of mosquitoes infected (ρ_O)
propInfected=double
Units: Proportion Min: 0 Max: 1
Initial guess of the proportion of mosquitoes which are infected, o: O_v(t) = o*N_v(t). Only used as a starting value.
Initial guess of proportion of mosquitoes infectious (ρ_S)
propInfectious=double
Units: Proportion Min: 0 Max: 1
Initial guess of the proportion of mosquitoes which are infectious, s: S_v(t) = s*N_v(t). Used as a starting value and then fit.
Fourier approximation to pre-intervention EIR
→ scenario → entoData → vector → anopheles → eir
<eir
a0=double
a1=double
b1=double
a2=double
b2=double
EIRRotateAngle=double
/>
Documentation (element)
Units: Infectious bites per adult per day
Description of target entomological inoculation rate as a Fourier series. This is used to estimate a suitible vector emergence rate. The annual (target) EIR is thus the exponent of the fourier series with these parameters, with period scaled to 365 days.
Attributes
a0 parameter of Fourier approximation to ln(EIR)
a0=double
a0 parameter of Fourier approximation to ln(EIR)
a1 parameter of Fourier approximation to ln(EIR)
a1=double
a1 parameter of Fourier approximation to ln(EIR)
b1 parameter of Fourier approximation to ln(EIR)
b1=double
b1 parameter of Fourier approximation to ln(EIR)
a2 parameter of Fourier approximation to ln(EIR)
a2=double
a2 parameter of Fourier approximation to ln(EIR)
b2 parameter of Fourier approximation to ln(EIR)
b2=double
b2 parameter of Fourier approximation to ln(EIR)
Rotation angle defining the origin of the Fourier approximation to ln (EIR)
EIRRotateAngle=double
Units: radians
Rotation angle defining the origin of the Fourier approximation to ln (EIR)
Monthly values for pre-intervention EIR
→ scenario → entoData → vector → anopheles → monthlyEir
<monthlyEir
annualEIR=double
>
IN THIS ORDER:
| ( <item ... /> ){12,12}
</monthlyEir>
Documentation (element)
Units: Infectious bites per adult per month
Description of target entomological inoculation rate as monthly values plus an annual override (monthly values are scaled to fit the annual EIR described). This is used to estimate a suitible vector emergence rate. The annual (target) EIR is derived from a Fourier series fit to these monthly values (used as a smoothing factor). List should contain twelve entries: January to December.
Attributes
Annual EIR
annualEIR=double
Units: Infectious bites per adult per year Min: 0
Scales the monthly values to give this annual innoculation rate.
Monthly pre-intervention EIR
→ scenario → entoData → vector → anopheles → monthlyEir → item
<item>
double
</item>
Documentation (element)
Units: Inoculations per person per month
Inoculations per person per month
Vector Species
→ scenario → entoData → vector → anopheles → mosq
<mosq
mosqRestDuration=int
extrinsicIncubationPeriod=int
mosqLaidEggsSameDayProportion=double
mosqSeekingDuration=double
mosqSurvivalFeedingCycleProbability=double
mosqProbBiting=double
mosqProbFindRestSite=double
mosqProbResting=double
mosqProbOvipositing=double
mosqHumanBloodIndex=double
minInfectedThreshold=double
/>
Documentation (element)
Units: List of elements
Vector species
Attributes
Duration of the resting period of the vector (days)
mosqRestDuration=int
name:Duration of the resting period of the vector (days);
Extrinsic incubation period (days)
extrinsicIncubationPeriod=int
name:Extrinsic incubation period (days)
Proportion of mosquitoes host seeking on same day as ovipositing
mosqLaidEggsSameDayProportion=double
Proportion of mosquitoes host seeking on same day as ovipositing
Duration of the host-seeking period of the vector (days)
mosqSeekingDuration=double
Duration of the host-seeking period of the vector (days)
Probability that the mosquito survives the feeding cycle
mosqSurvivalFeedingCycleProbability=double
Probability that the mosquito survives the feeding cycle
Probability that the mosquito succesfully bites chosen host
mosqProbBiting=double
Probability that the mosquito succesfully bites chosen host
Probability that the mosquito escapes host and finds a resting place after biting
mosqProbFindRestSite=double
Probability that the mosquito escapes host and finds a resting place after biting
Probability of mosquito successfully resting after finding a resting site
mosqProbResting=double
Probability of mosquito successfully resting after finding a resting site
Probability of a mosquito successfully laying eggs given that it has rested
mosqProbOvipositing=double
Probability of a mosquito successfully laying eggs given that it has rested
Human blood index
mosqHumanBloodIndex=double
The proportion of resting mosquitoes which fed on human blood during the last feed.
Min infected threshold
minInfectedThreshold=double
Min: 0
If less than this many mosquitoes remain infected, transmission is interrupted.
nonHumanHosts
→ scenario → entoData → vector → anopheles → nonHumanHosts
<nonHumanHosts
name=string
mosqRelativeEntoAvailability=double
mosqProbBiting=double
mosqProbFindRestSite=double
mosqProbResting=double
/>
Documentation (element)
Units: List of elements
Non human host parameters, per type of host (must match up with non-species-specific parameters).
Attributes
Identifier for this category of non-human hosts
name=string
Identifier for this category of non-human hosts
Relative availability of nonhuman hosts of type i (to other nonhuman hosts)
mosqRelativeEntoAvailability=double
Relative availability of nonhuman hosts of type i (to other nonhuman hosts)
Probability of mosquito successfully biting host
mosqProbBiting=double
Probability of mosquito successfully biting host
Probability that the mosquito escapes host and finds a resting place after biting
mosqProbFindRestSite=double
Probability that the mosquito escapes host and finds a resting place after biting
Probability of mosquito successfully resting after finding a resting site
mosqProbResting=double
Probability of mosquito successfully resting after finding a resting site
nonHumanHosts
→ scenario → entoData → vector → nonHumanHosts
<nonHumanHosts
name=string
number=double
/>
Attributes
Species of alternative host
name=string
Units: List of elements
Name of this species of non human hosts (must match up with those described per anopheles section)
number
number=double
Pharmacokinetics and pharmacodynamics
<drugDescription>
IN THIS ORDER:
| ( <drug ... /> )+
</drugDescription>
Documentation (element)
Units: List of elements
Drug model parameters
Library of drug parameters
→ scenario → drugDescription → drug
<drug
abbrev=string
>
IN THIS ORDER:
| <PD ... />
| <PK ... />
</drug>
Documentation (element)
Sequence of drug descriptions forming a library of drug parameters.
Attributes
abbrev
abbrev=string
PD
→ scenario → drugDescription → drug → PD
<PD>
IN THIS ORDER:
| ( <allele ... /> )+
</PD>
PD parameters per allele
→ scenario → drugDescription → drug → PD → allele
<allele
name=string
>
IN THIS ORDER:
| <initial_frequency ... />
| <max_killing_rate ... />
| <IC50 ... />
| <slope ... />
</allele>
Documentation (element)
PD parameters per allele, plus initial frequency of each allele.
Note: we assume a one-to-one correspondance of drugs to loci, hence each drug has an independent set of alleles here.
Attributes
name
name=string
Relative frequency
→ scenario → drugDescription → drug → PD → allele → initial_frequency
<initial_frequency>
double
</initial_frequency>
Documentation (element)
Units: relative frequency Min: 0
Frequency, relative to the total frequency of all alleles for this drug/locus.
Maximal parasite killing rate
→ scenario → drugDescription → drug → PD → allele → max_killing_rate
<max_killing_rate>
double
</max_killing_rate>
Documentation (element)
Units: 1/days Min: 0
k1 — Maximal parasite killing rate.
IC50
→ scenario → drugDescription → drug → PD → allele → IC50
<IC50>
double
</IC50>
Documentation (element)
Units: mg/l Min: 0
Half maximal effect concentration.
Slope of effect curve
→ scenario → drugDescription → drug → PD → allele → slope
<slope>
double
</slope>
Documentation (element)
Units: no units
n — Slope of the concentration effect curve
PK
→ scenario → drugDescription → drug → PK
<PK>
IN THIS ORDER:
| <negligible_concentration ... />
| <half_life ... />
| <vol_dist ... />
</PK>
Drug concentration considered negligible
→ scenario → drugDescription → drug → PK → negligible_concentration
<negligible_concentration>
double
</negligible_concentration>
Documentation (element)
Units: mg/l Min: 0
Concentration below which drug's effects are deemed negligible and can be removed from simulation.
drug half-life
→ scenario → drugDescription → drug → PK → half_life
<half_life>
double
</half_life>
Documentation (element)
Units: days Min: 0
Used to calculate elimination rate (which is: ln(2) / half_life).
Volume of Distribution
→ scenario → drugDescription → drug → PK → vol_dist
<vol_dist>
double
</vol_dist>
Documentation (element)
Units: l/kg Min: 0
Volume of Distribution
Model options and parameters
<model>
IN THIS ORDER:
| <ModelOptions ... />
| <clinical ... />
| <human ... />
| <parameters ... />
</model>
Documentation (element)
Units: List of elements
Encapsulation of all parameters which describe the model according to which fitting is done.
Model Options
→ scenario → model → ModelOptions
<ModelOptions>
IN THIS ORDER:
| ( <option ... /> )*
</ModelOptions>
Documentation (element)
Units: List of elements
All model options (bug fixes, choices between models, etc.).
The list of recognised options can be found in the code at:
include/util/ModelOptions.h and should also be in the wiki.
clinical
<clinical
healthSystemMemory=int
>
IN THIS ORDER:
| [ <NonMalariaFevers ... /> ]
</clinical>
Documentation (type)
Units: List of elements
Description of clinical parameters.
This is related to the health-system description, but contains data which can't be changed as part of an intervention and is not restricted to treatment.
Attributes
Follow-up period during which recurrence is treated as a failure
healthSystemMemory=int
Units: Time steps Min: 1 Max: 100
Follow-up period during which a recurrence is considered to be a treatment failure
NonMalariaFevers
→ scenario → model → clinical → NonMalariaFevers
<NonMalariaFevers>
IN THIS ORDER:
| <incidence ... />
| <prNeedTreatmentNMF ... />
| <prNeedTreatmentMF ... />
</NonMalariaFevers>
Documentation (type)
Description of non-malaria fever incidence. Non-malaria fevers are only modelled if the NON_MALARIA_FEVERS option is used.
P(NMF)
→ scenario → model → clinical → NonMalariaFevers → incidence
<incidence
[ interpolation=("none" or "linear") ] DEFAULT VALUE linear
>
IN THIS ORDER:
| ( <group ... /> )+
</incidence>
Documentation (element)
Units: none Min: 0 Max: 1
Probability that a non-malaria fever occurs given that no concurrent malaria fever occurs.
Attributes
interpolation
interpolation=("none" or "linear")
Units: none
Default value: linear
Interpolation algorithm. Normally it is desirable for age-based values to be continuous w.r.t. age. By default linear interpolation is used. With all algorithms except "none", the age groups are converted to a set of points centred within each age range. Extra points are added at each end (zero and infinity) to keep value constant at both ends of the function. A zero-length age group may be used as a kind of barrier to adjust the distribution; e.g. with age group boundaries at 15, 20 and 25 years, a (linear) spline would be drawn between ages 17.5 and 22.5, whereas with boundaries at 15, 20 and 20 years, a spline would be drawn between ages 17.5 and 20 years (may be desired if individuals are assumed to reach adult size at 20). Algorithms:
- none: input values are used directly
- linear: straight lines (on an age vs. value graph) are used to interpolate data points.
P(need treatment | NMF)
→ scenario → model → clinical → NonMalariaFevers → prNeedTreatmentNMF
<prNeedTreatmentNMF
[ interpolation=("none" or "linear") ] DEFAULT VALUE linear
>
IN THIS ORDER:
| ( <group ... /> )+
</prNeedTreatmentNMF>
Documentation (element)
Units: none Min: 0 Max: 1
Probability that a non-malaria fever needs treatment with antibiotics (assuming fever is not induced by malaria, although concurrent parasites may be present).
Attributes
interpolation
interpolation=("none" or "linear")
Units: none
Default value: linear
Interpolation algorithm. Normally it is desirable for age-based values to be continuous w.r.t. age. By default linear interpolation is used. With all algorithms except "none", the age groups are converted to a set of points centred within each age range. Extra points are added at each end (zero and infinity) to keep value constant at both ends of the function. A zero-length age group may be used as a kind of barrier to adjust the distribution; e.g. with age group boundaries at 15, 20 and 25 years, a (linear) spline would be drawn between ages 17.5 and 22.5, whereas with boundaries at 15, 20 and 20 years, a spline would be drawn between ages 17.5 and 20 years (may be desired if individuals are assumed to reach adult size at 20). Algorithms:
- none: input values are used directly
- linear: straight lines (on an age vs. value graph) are used to interpolate data points.
P(need treatment | MF)
→ scenario → model → clinical → NonMalariaFevers → prNeedTreatmentMF
<prNeedTreatmentMF
[ interpolation=("none" or "linear") ] DEFAULT VALUE linear
>
IN THIS ORDER:
| ( <group ... /> )+
</prNeedTreatmentMF>
Documentation (element)
Units: none Min: 0 Max: 1
Probability that a malaria fever needs treatment with antibiotics (assuming fever is induced by malaria, although concurrent bacteria may be present).
Meaning partially overlaps with separate model for comorbidity given malaria.
Attributes
interpolation
interpolation=("none" or "linear")
Units: none
Default value: linear
Interpolation algorithm. Normally it is desirable for age-based values to be continuous w.r.t. age. By default linear interpolation is used. With all algorithms except "none", the age groups are converted to a set of points centred within each age range. Extra points are added at each end (zero and infinity) to keep value constant at both ends of the function. A zero-length age group may be used as a kind of barrier to adjust the distribution; e.g. with age group boundaries at 15, 20 and 25 years, a (linear) spline would be drawn between ages 17.5 and 22.5, whereas with boundaries at 15, 20 and 20 years, a spline would be drawn between ages 17.5 and 20 years (may be desired if individuals are assumed to reach adult size at 20). Algorithms:
- none: input values are used directly
- linear: straight lines (on an age vs. value graph) are used to interpolate data points.
human
<human>
IN THIS ORDER:
| <availabilityToMosquitoes ... />
| [ <weight ... /> ]
</human>
Documentation (type)
Parameters of host models.
Availability to mosquitoes
→ scenario → model → human → availabilityToMosquitoes
<availabilityToMosquitoes
[ interpolation=("none" or "linear") ] DEFAULT VALUE linear
>
IN THIS ORDER:
| ( <group ... /> )+
</availabilityToMosquitoes>
Documentation (element)
Units: None Min: 0 Max: 1
By age group data on availability of humans to mosquitoes relative to an adult.
Attributes
interpolation
interpolation=("none" or "linear")
Units: none
Default value: linear
Interpolation algorithm. Normally it is desirable for age-based values to be continuous w.r.t. age. By default linear interpolation is used. With all algorithms except "none", the age groups are converted to a set of points centred within each age range. Extra points are added at each end (zero and infinity) to keep value constant at both ends of the function. A zero-length age group may be used as a kind of barrier to adjust the distribution; e.g. with age group boundaries at 15, 20 and 25 years, a (linear) spline would be drawn between ages 17.5 and 22.5, whereas with boundaries at 15, 20 and 20 years, a spline would be drawn between ages 17.5 and 20 years (may be desired if individuals are assumed to reach adult size at 20). Algorithms:
- none: input values are used directly
- linear: straight lines (on an age vs. value graph) are used to interpolate data points.
Weight
→ scenario → model → human → weight
<weight
[ interpolation=("none" or "linear") ] DEFAULT VALUE linear
multStdDev=double
>
IN THIS ORDER:
| ( <group ... /> )+
</weight>
Documentation (element)
Units: kg Min: 0
By age group data on human weight (mass).
Attributes
interpolation
interpolation=("none" or "linear")
Units: none
Default value: linear
Interpolation algorithm. Normally it is desirable for age-based values to be continuous w.r.t. age. By default linear interpolation is used. With all algorithms except "none", the age groups are converted to a set of points centred within each age range. Extra points are added at each end (zero and infinity) to keep value constant at both ends of the function. A zero-length age group may be used as a kind of barrier to adjust the distribution; e.g. with age group boundaries at 15, 20 and 25 years, a (linear) spline would be drawn between ages 17.5 and 22.5, whereas with boundaries at 15, 20 and 20 years, a spline would be drawn between ages 17.5 and 20 years (may be desired if individuals are assumed to reach adult size at 20). Algorithms:
- none: input values are used directly
- linear: straight lines (on an age vs. value graph) are used to interpolate data points.
Standard deviation
multStdDev=double
Units: None Min: 0
Each human is assigned a weight multiplier from a normal distribution with mean 1 and this standard deviation at birth. His/her weight is this multiplier times the mean from age distribution. A standard deviation of zero for no heterogeneity is valid; a rough value from Tanzanian data is 0.14.
Parameters of the model of epidemiology
→ scenario → model → parameters
<parameters
interval=int
iseed=int
latentp=int
>
IN THIS ORDER:
| ( <parameter ... /> )+
</parameters>
Documentation (element)
Units: List of elements
Parameters of the epidemiological model
Attributes
Simulation step
interval=int
Units: Days
Simulation step
Random number seed
iseed=int
Units: Number
Seed for RNG
Pre-erythrocytic latent period
latentp=int
Units: Time steps Min: 0 Max: 20
pre-erythrocytic latent period, in time steps
parameter
→ scenario → model → parameters → parameter
<parameter
name=string
number=int
value=double
[ include=boolean ]
/>
Attributes
Name of parameter
name=string
Units: string
Name of parameter
Parameter number
number=int
Units: Number Min: 1 Max: 100
Reference number of input parameter
Parameter value
value=double
Units: Number Min: 0
Parameter value
Sampling indicator
include=boolean
Units: Number Min: 0 Max: 1
True if parameter is to be sampled in optimization runs. Not used in simulator app.
Schema 26 documentation
Generated from: scenario_26.xsd
.
Key:
abc required (one)
[ def ] optional (zero or one)
( ghi )* any number (zero or more)
( jkl )+ at least one
( mno ){2,inf} two or more occurrences
Scenario
→ scenario
<scenario
schemaVersion=int
analysisNo=int
name=string
wuID=int
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:noNamespaceSchemaLocation="scenario_26.xsd"
>
IN THIS ORDER:
| <demography ... />
| <monitoring ... />
| <interventions ... />
| <healthSystem ... />
| <entoData ... />
| [ <drugDescription ... /> ]
| <model ... />
</scenario>
Documentation (element)
Units: List of elements
Description of scenario
Attributes
Version of the xml schema
schemaVersion=int
Version of xml schema. If not equal to the current version an error is thrown. Use SchemaTranslator to update xml files.
Reference number of the analysis
analysisNo=int
Units: Number Min: 1 Max: 100000000
Unique identifier of scenario
Name of intervention
name=string
Units: string
Name of intervention
Work unit identifier
wuID=int
Units: Number Min: 1 Max: 100000000
Work unit ID. Only used to validate checkpointing, to prevent checkpoint cheats.
Human age distribution
→ scenario → demography
<demography
name=string
popSize=int
maximumAgeYrs=double
[ growthRate=double ]
>
IN THIS ORDER:
| <ageGroup ... />
</demography>
Documentation (element)
Units: List of elements
Description of demography
Attributes
Name of demography data
name=string
Units: string
Name of demography data
Population size
popSize=int
Units: Count Min: 1 Max: 100000
Population size
Maximum age of simulated humans
maximumAgeYrs=double
Units: years Min: 0 Max: 100
Maximum age of simulated humans in years.
Growth rate of human population
growthRate=double
Units: Number Min: 0 Max: 0
Growth rate of human population. (we should be able to implement this with non-zero values)
Age groups
→ scenario → demography → ageGroup
<ageGroup
lowerbound=double
>
IN THIS ORDER:
| ( <group ... /> )+
</ageGroup>
Documentation (element)
Units: List of elements
List of age groups included in demography
Documentation (type)
Units: List of elements
List of age groups included in demography or surveys
Attributes
lower bound of age group
lowerbound=double
Units: Years Min: 0 Max: 100
Lower bound of age group
group
→ scenario → demography → ageGroup → group
<group
poppercent=double
upperbound=double
/>
Attributes
Percentage in age group
poppercent=double
Percentage of human population in age group
upper bound of age group
upperbound=double
Units: Years Min: 0 Max: 100
Upper bound of age group
Measures to be reported
→ scenario → monitoring
<monitoring
name=string
[ cohortOnly=boolean ]
[ firstBoutOnly=boolean ]
[ firstTreatmentOnly=boolean ]
[ firstInfectionOnly=boolean ]
>
IN THIS ORDER:
| [ <continuous ... /> ]
| <SurveyOptions ... />
| <surveys ... />
| <ageGroup ... />
</monitoring>
Documentation (element)
Units: List of elements
Description of surveys
Attributes
Name of monitoring information
name=string
Units: string
Name of monitoring data
Survey only cohort
cohortOnly=boolean
If true, for many output measures, the output comes only from individuals in the cohort; otherwise output is from the entire population. Does not need to be specified if no cohort-selecting "interventions" are present.
Time to first episode only
firstBoutOnly=boolean
If true, remove individuals from the cohort at the start of the first episode (start of a clinical bout) since they were recruited into the cohort. This is intended for cohort studies that intend to measure time to first episode, using active case detection.
Time to first treatment only
firstTreatmentOnly=boolean
If true, remove individuals from the cohort when they first seek treatment since they were recruited into the cohort. This is intended for cohort studies that intend to measure time to first episode, using passive case detection.
Time to first infection only
firstInfectionOnly=boolean
If true, remove individuals from the cohort at completion of the first survey in which they present with a patent infection since they were recruited into the cohort. This intended for cohort studies that intend to measure time to first infection, using active case detection.
continuous
→ scenario → monitoring → continuous
<continuous
period=int
[ duringInit=boolean ]
>
IN THIS ORDER:
| ( <option ... /> )*
</continuous>
Attributes
Days between reports
period=int
Units: Days Min: 1 Max: unbounded
Number of timesteps between reports.
During initialization
duringInit=boolean
Units: Days Min: 1 Max: unbounded
Also output during initialization. By default this is disabled (only intervention-period data is output). This should not be used for predictions, but can be useful for model validation. In this mode, 'simulation time' is output as the first column (in addition to 'timestep'), since 'timestep' is dis- continuous across the start of the intervention period.
option
→ scenario → monitoring → continuous → option
<option
name=string
[ value=boolean ] DEFAULT VALUE true
/>
Attributes
Model options required
name=string
Options define different model structures. Option name. Must be one of a strictly defined set. Options are not required to be listed if their default value is desired.
Indicator of whether option is required
value=boolean
Default value: true
Option value (true/false). Each option has a default value used if the option is not listed (usually false but sometimes true).
Name of quantity
→ scenario → monitoring → SurveyOptions
<SurveyOptions>
IN THIS ORDER:
| ( <option ... /> )*
</SurveyOptions>
Documentation (element)
List of all active survey options. See include/Survey.h for a list of supported outputs. Should also be on the wiki.
Survey times (time steps)
→ scenario → monitoring → surveys
<surveys
detectionLimit=double
>
IN THIS ORDER:
| ( <surveyTime ... /> )+
</surveys>
Documentation (element)
Units: List of elements
List of survey times
Attributes
Detection limit for parasitaemia
detectionLimit=double
Units: parasites/micolitre Min: 0 Max: 1000
Detection limit for parasitemia
Survey time
→ scenario → monitoring → surveys → surveyTime
<surveyTime>
int
</surveyTime>
Documentation (element)
Units: Number Min: 0
Survey time; 0 means just before start of main sim and is a valid survey-point. Reported data is either from a point-time survey (immediate data) or is collected over the previous year (data from previous timesteps-per-year period). Simulation will end immediately after last survey is taken.
Age groups
→ scenario → monitoring → ageGroup
<ageGroup
lowerbound=double
>
IN THIS ORDER:
| ( <group ... /> )+
</ageGroup>
Documentation (element)
Units: List of elements
List of age groups included in demography or surveys
Documentation (type)
Units: List of elements
List of age groups included in surveys
Attributes
lower bound of age group
lowerbound=double
Units: Years Min: 0 Max: 100
Lower bound of age group
group
→ scenario → monitoring → ageGroup → group
<group
upperbound=double
/>
Attributes
upper bound of age group
upperbound=double
Units: Years Min: 0 Max: 100
Upper bound of age group
Preventative interventions
<interventions
name=string
>
IN THIS ORDER:
| <descriptions ... />
| [ <continuous ... /> ]
| [ <timed ... /> ]
</interventions>
Documentation (element)
Units: List of elements
List of interventions. Generally these are either point-time distributions of something to some subset of the population, or continuous-time distribution targetting individuals when they reach a certain age.
Attributes
Intervention
name=string
Units: string
Name of age specific intervention
descriptions
→ scenario → interventions → descriptions
<descriptions>
IN THIS ORDER:
| [ <MDADescription ... /> ]
| ( <vaccineDescription ... /> ){0,3}
| [ <iptiDescription ... /> ]
| [ <ITNDecay ... /> ]
| [ <IRSDecay ... /> ]
| [ <VADecay ... /> ]
| ( <anopheles ... /> )*
</descriptions>
Documentation (element)
Descriptions applying across all uses of an intervention.
Description of MDA
→ scenario → interventions → descriptions → MDADescription
<MDADescription>
IN THIS ORDER:
| <decisions ... />
| <treatments ... />
</MDADescription>
Documentation (element)
Description of treatment type used by mass treatment option of one-day case management model. Can be used to describe one-size-fits-all mass drug dosing, age-based mass drug dosing and screen-and-treat. Number of treatments given can be reported by the nMDAs option.
Documentation (type)
Units: List of elements
A set of decisions and a set of treatments.
decisions
→ scenario → interventions → descriptions → MDADescription → decisions
<decisions>
IN THIS ORDER:
| ( <decision ... /> )*
</decisions>
Documentation (type)
Description of decisions for a case management tree. A generic view of this tree would be that each decision is deterministic, or based on probabilities which may depend on other decisions. Probabilistic decisions are described here.
In general, each decision has a name, a defined set of outcome values, and a set of dependent decisions mentioned by name. The following decisions, with their associated outcomes, are provided by the code (and may not be included here):
- case (uncomplicated only): Returns "UC1" if there is no recent history of a malarial case, or "UC2" if there is.
- result: Dependent on decision "test", this performs a parasite density test. Output is one of "none" (no test performed), "positive", "negative".
The following decisions must be described here:
- test (uncomplicated only): Outputs must be "none", "microscopy" or "RDT" to describe which test the "result" decision uses.
- treatment: Describes which treatment to use. Values aren't restricted but must match up with a treatment described in the corresponding "treatments" section.
- hospitalisation (complicated only): none, immediate or delayed.
decision
→ scenario → interventions → descriptions → MDADescription → decisions → decision
<decision
name=string
depends=string
values=string
>
string
</decision>
Documentation (type)
A decision describes how to choose between a set of values.
Lexically, it can contain symbols matching "[_.a-zA-Z0-9]+", round brackets: (), braces: {} and colons. Whitespace is ignored except to separate symbols.
Syntactically, it must match one TREE, where SYMBOL is a symbol described above. (Here, "x|y" means x or y, "x+" means x occurs once or more, brackets show grouping.) TREE := BRANCH_SET | OUTCOME BRANCH_SET := BRANCH+ BRANCH := DECISION '(' VALUE ')' ( ':' OUTCOME | '{' TREE '}' ) OUTCOME, DECISION, VALUE := SYMBOL
For each BRANCH_SET each BRANCH must have the same DECISION. This DECISION must be one of the dependencies mentioned in "depends". This may be:
- another decision, in which case the VALUE immediately following in brackets must correspond to one of its output values. The BRANCH_SET immediately containing this BRANCH must represent each output value of the same decision exactly once, and no parent BRANCH_SET may be for the same DECISION.
- "p": this indicates a probabilistic decision. In this case the value is a probability, the sum of all values for the BRANCH_SET must be 1 and the decision must be associated directly with OUTCOMEs (not sub-TREEs).
- "age": this indicates an age-test. The VALUE must have the form "a-b", indicating that this branch will be taken for individuals aged such that a <= age < b, where a,b are non-negative real numbers or the special value "inf", and a <= b. All VALUEs in the BRANCH_SET must cover all possible (non-negative real) ages, with no overlap (hence, smallest a must be 0 and greatest b must be inf).
Semantically, each OUTCOME must be one of the values associated with this decision.
Attributes
Name of decision
name=string
The name of this decision. The name must match the regular expression "[_a-zA-Z0-9]+"; that is it can only contain letters, digits and _ characters (no spaces, punctuation, etc.).
Preceding decisions
depends=string
A comma-separated list of decisions that must have already been evaluated before this decision can be evaluated. Can be empty. Each must be hard-coded or described here. Can include the special decisions "p" and "age", though "age" cannot be combined with any other dependency.
Outcome values
values=string
A comma-separated list of outcome values this decision may have. The name of each value must be of the same form as decision names (i.e. only contain letters, digits and _ characters).
treatments
→ scenario → interventions → descriptions → MDADescription → treatments
<treatments>
IN THIS ORDER:
| ( <treatment ... /> )*
</treatments>
Documentation (type)
Units: string
A list of drug treatment tables. Each should have a name corresponding to one of the "drug" decision's values.
treatment
→ scenario → interventions → descriptions → MDADescription → treatments → treatment
<treatment
name=string
>
IN THIS ORDER:
| <schedule ... />
| ( <modifier ... /> )*
</treatment>
Documentation (type)
Units: List of elements
A description of a base treatment schedule along with modifiers to handle delays, quality variations, etc.
Attributes
Treatment administered
name=string
Units: string
Name corresponding to one of the drug decision's output values.
schedule
→ scenario → interventions → descriptions → MDADescription → treatments → treatment → schedule
<schedule>
IN THIS ORDER:
| ( <medicate ... /> )*
</schedule>
Documentation (type)
Units: List of elements
The base (unmodified) schedule of drugs administered for this treatment.
medicate
→ scenario → interventions → descriptions → MDADescription → treatments → treatment → schedule → medicate
<medicate
drug=string
mg=double
hour=double
[ duration=double ]
/>
Attributes
drug
drug=string
Units: string
Abbreviated name of drug compound
drug dose
mg=double
Units: mg
Quantity of drug compound
time of administration
hour=double
Units: hours Min: 0
Number of hours past start of timestep this drug dose is administered at (first dose should be at hour 0).
duration of administration
duration=double
Units: hours Min: 0
If this attribute is given, use IV administration instead of orally. Specifies the number of hours over which the dose is administered.
modifier
→ scenario → interventions → descriptions → MDADescription → treatments → treatment → modifier
<modifier
decision=string
>
EXACTLY ONE OF:
| ( <multiplyQty ... /> )*
| ( <delay ... /> )*
| ( <selectTimeRange ... /> )*
</modifier>
Documentation (type)
Units: Choice of elements
A modifier for this treatment, according to the outputs of a decision.
The "decision" attribute must be the name of a known decision. Then, there must be a set of multipyQty, delay or selectTimeRange sub-elements, each of which corresponds to one value output of the decision.
Attributes
decision
decision=string
Units: string
Specifies the decision that this modifier acts on.
Active ingredient multipliers
→ scenario → interventions → descriptions → MDADescription → treatments → treatment → modifier → multiplyQty
<multiplyQty
value=string
effect=string
[ affectsCost=boolean ]
/>
Documentation (element)
Units: Comma separated list of values
Multiplies the quantity of active ingredients of drugs administered.
The "drugs" attribute is a comma-separated list of all active ingredients administered in the base schedule (each must be listed once) and the content of this element is a comma- separated list of multipliers for each active ingredient, listed in the same order as in the "drugs" attribute. E.g. with drugs="A,B" and content "0.5,1" the quantity of drug A is halved while that of B is unchanged.
Attributes
value of decision
value=string
Units: string
Specifies a value of the decision to act on.
List of drugs affected
effect=string
Units: string
Comma-separated list of the effect the modifier has on each drug, in the form DRUG1(EFFECT1),DRUG2(EFFECT2), etc.
Affects cost?
affectsCost=boolean
Units: none
Does this affect the cost? If false, the effective drug usage (w.r.t. cost) is unaffected by this modifier; if true it is. Defaults to true (if omitted). Is meaningless for delays.
Active ingredient delays
→ scenario → interventions → descriptions → MDADescription → treatments → treatment → modifier → delay
<delay
value=string
effect=string
[ affectsCost=boolean ]
/>
Documentation (element)
Units: Comma separated list of values
Delays administration of drugs listed in the base schedule by so many hours.
The "drugs" attribute is a comma-separated list of all active ingredients administered in the base schedule (each must be listed once) and the content of this element is a comma- separated list of delays (in hours) for each active ingredient, listed in the same order as in the "drugs" attribute. E.g. with drugs="A,B" and content "0,6", drug A is administered as in the base schedule while drug B is administered 6 hours later than specified.
Attributes
value of decision
value=string
Units: string
Specifies a value of the decision to act on.
List of drugs affected
effect=string
Units: string
Comma-separated list of the effect the modifier has on each drug, in the form DRUG1(EFFECT1),DRUG2(EFFECT2), etc.
Affects cost?
affectsCost=boolean
Units: none
Does this affect the cost? If false, the effective drug usage (w.r.t. cost) is unaffected by this modifier; if true it is. Defaults to true (if omitted). Is meaningless for delays.
Active ingredient time-ranges
→ scenario → interventions → descriptions → MDADescription → treatments → treatment → modifier → selectTimeRange
<selectTimeRange
value=string
effect=string
[ affectsCost=boolean ]
/>
Documentation (element)
Units: Comma separated list of values
Selects which drug doses to administer according to time of administration (before times are modified by delays). Half-open interval: [x,y)
The "drugs" attribute is a comma-separated list of all active ingredients administered in the base schedule (each must be listed once) and the content of this element is a comma- separated list of time-ranges (in hours) for each active ingredient, listed in the same order as in the "drugs" attribute. The time-ranges should be of the form x-y and are interpreted as the half-open interval [x,y); that is a drug listed with time t will only be administered if x <= t < y.
Attributes
value of decision
value=string
Units: string
Specifies a value of the decision to act on.
List of drugs affected
effect=string
Units: string
Comma-separated list of the effect the modifier has on each drug, in the form DRUG1(EFFECT1),DRUG2(EFFECT2), etc.
Affects cost?
affectsCost=boolean
Units: none
Does this affect the cost? If false, the effective drug usage (w.r.t. cost) is unaffected by this modifier; if true it is. Defaults to true (if omitted). Is meaningless for delays.
vaccineDescription
→ scenario → interventions → descriptions → vaccineDescription
<vaccineDescription
vaccineType=("PEV" or "BSV" or "TBV")
>
IN THIS ORDER:
| <decay ... />
| <efficacyB ... />
| ( <initialEfficacy ... /> )+
</vaccineDescription>
Attributes
Type of vaccine
vaccineType=("PEV" or "BSV" or "TBV")
Units: Code
Type of vaccine
Decay of effect
→ scenario → interventions → descriptions → vaccineDescription → decay
<decay
function=("constant" or "step" or "linear" or "exponential" or "weibull" or "hill" or "chitnis")
L=double
[ k=double ] DEFAULT VALUE 1.0
[ sigma=double ] DEFAULT VALUE 0
/>
Documentation (element)
Specification of decay of efficacy
Documentation (type)
Specification of decay or survival of a parameter.
Attributes
function
function=("constant" or "step" or "linear" or "exponential" or "weibull" or "hill" or "chitnis")
Units: None Min: 0 Max: 1
Determines which decay function to use. Available decay functions, for age t in years: constant: 1 step: 1 for t less than L, otherwise 0 linear: 1 - t/L for t less than L, otherwise 0 exponential: exp( - t/L * log(2) ) weibull: exp( -(t/L)^k * log(2) ) hill: 1 / (1 + (t/L)^k) chitnis: exp( k - k / (1 - (t/L)^2) ) for t less than L, otherwise 0
L
L=double
Units: Years Min: 0
Scale parameter of distribution. With Chintnis' function, this is the age at which the parameter has decayed to 0; with the other three functions, this is the age at which the parameter has decayed to half its original value. Not used for constant decay (though must be specified anyway).
k
k=double
Units: none Min: 0
Default value: 1.0
Shape parameter of distribution. If not specified, default value of 1 is used. Meaning depends on function; not used in some cases.
σ (sigma)
sigma=double
Units: none Min: 0
Default value: 0
If non-zero, heterogeneity of decay is introduced via a variate sampled from the log-normal distribution with mu zero (i.e. median is 1) and this sigma. Age is then divided by this variate before being passed to the decay function.
Variance parameter for vaccine efficacy
→ scenario → interventions → descriptions → vaccineDescription → efficacyB
<efficacyB
value=double
/>
Documentation (element)
Units: Positive real Min: 0.001 Max: 1.00E+06
Measure of variation in vaccine efficacy
Attributes
Input parameter value
value=double
A double-precision floating-point value.
initialEfficacy
→ scenario → interventions → descriptions → vaccineDescription → initialEfficacy
<initialEfficacy
value=double
/>
Attributes
Input parameter value
value=double
A double-precision floating-point value.
iptiDescription
→ scenario → interventions → descriptions → iptiDescription
<iptiDescription
iptiEffect=int
>
IN THIS ORDER:
| ( <infGenotype ... /> )+
</iptiDescription>
Attributes
Description of ipti effect
iptiEffect=int
Units: List of Elementes
Description of ipti effect
infGenotype
→ scenario → interventions → descriptions → iptiDescription → infGenotype
<infGenotype
name=string
freq=double
ACR=double
proph=int
tolPeriod=int
atten=double
/>
Attributes
Age specific intervention
name=string
Units: string
Name of age specific intervention
Frequency
freq=double
Frequency of parasite genotype
ACR
ACR=double
Adequate clinical response (proportion)
Prophylactic period
proph=int
Prophylactic period
Tolerance period
tolPeriod=int
Tolerance period
Tolerance period
atten=double
Tolerance period
ITNDecay
→ scenario → interventions → descriptions → ITNDecay
<ITNDecay
function=("constant" or "step" or "linear" or "exponential" or "weibull" or "hill" or "chitnis")
L=double
[ k=double ] DEFAULT VALUE 1.0
[ sigma=double ] DEFAULT VALUE 0
/>
Documentation (type)
Specification of decay or survival of a parameter.
Attributes
function
function=("constant" or "step" or "linear" or "exponential" or "weibull" or "hill" or "chitnis")
Units: None Min: 0 Max: 1
Determines which decay function to use. Available decay functions, for age t in years: constant: 1 step: 1 for t less than L, otherwise 0 linear: 1 - t/L for t less than L, otherwise 0 exponential: exp( - t/L * log(2) ) weibull: exp( -(t/L)^k * log(2) ) hill: 1 / (1 + (t/L)^k) chitnis: exp( k - k / (1 - (t/L)^2) ) for t less than L, otherwise 0
L
L=double
Units: Years Min: 0
Scale parameter of distribution. With Chintnis' function, this is the age at which the parameter has decayed to 0; with the other three functions, this is the age at which the parameter has decayed to half its original value. Not used for constant decay (though must be specified anyway).
k
k=double
Units: none Min: 0
Default value: 1.0
Shape parameter of distribution. If not specified, default value of 1 is used. Meaning depends on function; not used in some cases.
σ (sigma)
sigma=double
Units: none Min: 0
Default value: 0
If non-zero, heterogeneity of decay is introduced via a variate sampled from the log-normal distribution with mu zero (i.e. median is 1) and this sigma. Age is then divided by this variate before being passed to the decay function.
IRSDecay
→ scenario → interventions → descriptions → IRSDecay
<IRSDecay
function=("constant" or "step" or "linear" or "exponential" or "weibull" or "hill" or "chitnis")
L=double
[ k=double ] DEFAULT VALUE 1.0
[ sigma=double ] DEFAULT VALUE 0
/>
Documentation (type)
Specification of decay or survival of a parameter.
Attributes
function
function=("constant" or "step" or "linear" or "exponential" or "weibull" or "hill" or "chitnis")
Units: None Min: 0 Max: 1
Determines which decay function to use. Available decay functions, for age t in years: constant: 1 step: 1 for t less than L, otherwise 0 linear: 1 - t/L for t less than L, otherwise 0 exponential: exp( - t/L * log(2) ) weibull: exp( -(t/L)^k * log(2) ) hill: 1 / (1 + (t/L)^k) chitnis: exp( k - k / (1 - (t/L)^2) ) for t less than L, otherwise 0
L
L=double
Units: Years Min: 0
Scale parameter of distribution. With Chintnis' function, this is the age at which the parameter has decayed to 0; with the other three functions, this is the age at which the parameter has decayed to half its original value. Not used for constant decay (though must be specified anyway).
k
k=double
Units: none Min: 0
Default value: 1.0
Shape parameter of distribution. If not specified, default value of 1 is used. Meaning depends on function; not used in some cases.
σ (sigma)
sigma=double
Units: none Min: 0
Default value: 0
If non-zero, heterogeneity of decay is introduced via a variate sampled from the log-normal distribution with mu zero (i.e. median is 1) and this sigma. Age is then divided by this variate before being passed to the decay function.
VADecay
→ scenario → interventions → descriptions → VADecay
<VADecay
function=("constant" or "step" or "linear" or "exponential" or "weibull" or "hill" or "chitnis")
L=double
[ k=double ] DEFAULT VALUE 1.0
[ sigma=double ] DEFAULT VALUE 0
/>
Documentation (type)
Specification of decay or survival of a parameter.
Attributes
function
function=("constant" or "step" or "linear" or "exponential" or "weibull" or "hill" or "chitnis")
Units: None Min: 0 Max: 1
Determines which decay function to use. Available decay functions, for age t in years: constant: 1 step: 1 for t less than L, otherwise 0 linear: 1 - t/L for t less than L, otherwise 0 exponential: exp( - t/L * log(2) ) weibull: exp( -(t/L)^k * log(2) ) hill: 1 / (1 + (t/L)^k) chitnis: exp( k - k / (1 - (t/L)^2) ) for t less than L, otherwise 0
L
L=double
Units: Years Min: 0
Scale parameter of distribution. With Chintnis' function, this is the age at which the parameter has decayed to 0; with the other three functions, this is the age at which the parameter has decayed to half its original value. Not used for constant decay (though must be specified anyway).
k
k=double
Units: none Min: 0
Default value: 1.0
Shape parameter of distribution. If not specified, default value of 1 is used. Meaning depends on function; not used in some cases.
σ (sigma)
sigma=double
Units: none Min: 0
Default value: 0
If non-zero, heterogeneity of decay is introduced via a variate sampled from the log-normal distribution with mu zero (i.e. median is 1) and this sigma. Age is then divided by this variate before being passed to the decay function.
anopheles
→ scenario → interventions → descriptions → anopheles
<anopheles
mosquito=string
>
IN THIS ORDER:
| [ <ITNDescription ... /> ]
| [ <IRSDescription ... /> ]
| [ <VADescription ... /> ]
</anopheles>
Attributes
Entomological effects of interventions
mosquito=string
Description of the entomological effects of interventions
ITNDescription
→ scenario → interventions → descriptions → anopheles → ITNDescription
<ITNDescription>
IN THIS ORDER:
| <deterrency ... />
</ITNDescription>
Documentation (base type)
Units: None Min: 0 Max: 1
Descriptions of initial effectiveness of each of the effects of interventions. Decay is specified by a separate element (ITNDecay etc.)
Deterrency
→ scenario → interventions → descriptions → anopheles → ITNDescription → deterrency
<deterrency
value=double
/>
Documentation (element)
Units: None Min: 0 Max: 1
One minus this multiplies the host's availability.
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Pre-prandial killing effect
→ scenario → interventions → descriptions → anopheles → ITNDescription → preprandialKillingEffect
<preprandialKillingEffect
value=double
/>
Documentation (element)
Units: None Min: 0 Max: 1
One minus this multiplies the survival rate of mosquitoes attempting to bite a host.
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Post-prandial killing effect
→ scenario → interventions → descriptions → anopheles → ITNDescription → postprandialKillingEffect
<postprandialKillingEffect
value=double
/>
Documentation (element)
Units: None Min: 0 Max: 1
One minus this multiplies the survival rate of mosquitoes attempting to escape after biting a host.
Attributes
Input parameter value
value=double
A double-precision floating-point value.
IRSDescription
→ scenario → interventions → descriptions → anopheles → IRSDescription
<IRSDescription>
IN THIS ORDER:
| <deterrency ... />
</IRSDescription>
Documentation (base type)
Units: None Min: 0 Max: 1
Descriptions of initial effectiveness of each of the effects of interventions. Decay is specified by a separate element (ITNDecay etc.)
killing effect
→ scenario → interventions → descriptions → anopheles → IRSDescription → killingEffect
<killingEffect
value=double
/>
Documentation (element)
Units: None Min: 0 Max: 1
One minus this multiplies the survival rate of resting mosquitoes.
Attributes
Input parameter value
value=double
A double-precision floating-point value.
VADescription
→ scenario → interventions → descriptions → anopheles → VADescription
<VADescription
name=string
>
IN THIS ORDER:
| <deterrency ... />
</VADescription>
Documentation (type)
Units: None Min: 0 Max: 1
Descriptions of initial effectiveness of each of the effects of interventions. Decay is specified by a separate element (ITNDecay etc.)
Attributes
Name of intervention
name=string
Units: string
Name of intervention
Continuously applied interventions
→ scenario → interventions → continuous
<continuous>
IN THIS ORDER:
| ( <vaccine ... /> )*
| ( <ITN ... /> )*
| ( <ipti ... /> )*
| ( <cohort ... /> )*
</continuous>
Documentation (element)
Continuously applied interventions
Documentation (type)
Interventions to be deployed continuously
List of age groups for vaccination
→ scenario → interventions → continuous → vaccine
<vaccine
targetAgeYrs=double
coverage=double
[ cohort=boolean ] DEFAULT VALUE false
[ begin=int ] DEFAULT VALUE 0
[ end=int ] DEFAULT VALUE 2147483647
/>
Documentation (element)
Units: List of elements
List of age groups for vaccination
Attributes
Target age
targetAgeYrs=double
Units: Years Min: 0 Max: 100
Target age of intervention
Proportion covered
coverage=double
Units: Proportion Min: 0 Max: 1
Coverage of intervention
Cohort only
cohort=boolean
Units: Proportion Min: 0 Max: 1
Default value: false
Restrict distribution to chosen cohort (default: false).
First timestep active
begin=int
Units: Timesteps Min: 0 Max: 2147483647
Default value: 0
First timestep (from 0 at the beginning of the intervention period) this item is active. Defaults to 0.
End timestep
end=int
Units: Timesteps Min: 0 Max: 2147483647
Default value: 2147483647
End of the period during which the intervention is active (to be exact, the first timestep of the intervention period at which the item becomes inactive). Defaults to 2147483647.
Description of ITN deployment
→ scenario → interventions → continuous → ITN
<ITN
targetAgeYrs=double
coverage=double
[ cohort=boolean ] DEFAULT VALUE false
[ begin=int ] DEFAULT VALUE 0
[ end=int ] DEFAULT VALUE 2147483647
/>
Documentation (element)
Units: List of elements
Description of ITN deployment in the community
Attributes
Target age
targetAgeYrs=double
Units: Years Min: 0 Max: 100
Target age of intervention
Proportion covered
coverage=double
Units: Proportion Min: 0 Max: 1
Coverage of intervention
Cohort only
cohort=boolean
Units: Proportion Min: 0 Max: 1
Default value: false
Restrict distribution to chosen cohort (default: false).
First timestep active
begin=int
Units: Timesteps Min: 0 Max: 2147483647
Default value: 0
First timestep (from 0 at the beginning of the intervention period) this item is active. Defaults to 0.
End timestep
end=int
Units: Timesteps Min: 0 Max: 2147483647
Default value: 2147483647
End of the period during which the intervention is active (to be exact, the first timestep of the intervention period at which the item becomes inactive). Defaults to 2147483647.
List of age groups for IPTi
→ scenario → interventions → continuous → ipti
<ipti
targetAgeYrs=double
coverage=double
[ cohort=boolean ] DEFAULT VALUE false
[ begin=int ] DEFAULT VALUE 0
[ end=int ] DEFAULT VALUE 2147483647
/>
Documentation (element)
Units: List of elements
List of age groups for IPTi distribution
Attributes
Target age
targetAgeYrs=double
Units: Years Min: 0 Max: 100
Target age of intervention
Proportion covered
coverage=double
Units: Proportion Min: 0 Max: 1
Coverage of intervention
Cohort only
cohort=boolean
Units: Proportion Min: 0 Max: 1
Default value: false
Restrict distribution to chosen cohort (default: false).
First timestep active
begin=int
Units: Timesteps Min: 0 Max: 2147483647
Default value: 0
First timestep (from 0 at the beginning of the intervention period) this item is active. Defaults to 0.
End timestep
end=int
Units: Timesteps Min: 0 Max: 2147483647
Default value: 2147483647
End of the period during which the intervention is active (to be exact, the first timestep of the intervention period at which the item becomes inactive). Defaults to 2147483647.
Continuous cohort selection
→ scenario → interventions → continuous → cohort
<cohort
targetAgeYrs=double
coverage=double
[ cohort=boolean ] DEFAULT VALUE false
[ begin=int ] DEFAULT VALUE 0
[ end=int ] DEFAULT VALUE 2147483647
/>
Documentation (element)
Units: List of elements
Description of continuous selection of individuals for a cohort study.
Attributes
Target age
targetAgeYrs=double
Units: Years Min: 0 Max: 100
Target age of intervention
Proportion covered
coverage=double
Units: Proportion Min: 0 Max: 1
Coverage of intervention
Cohort only
cohort=boolean
Units: Proportion Min: 0 Max: 1
Default value: false
Restrict distribution to chosen cohort (default: false).
First timestep active
begin=int
Units: Timesteps Min: 0 Max: 2147483647
Default value: 0
First timestep (from 0 at the beginning of the intervention period) this item is active. Defaults to 0.
End timestep
end=int
Units: Timesteps Min: 0 Max: 2147483647
Default value: 2147483647
End of the period during which the intervention is active (to be exact, the first timestep of the intervention period at which the item becomes inactive). Defaults to 2147483647.
Timed interventions
→ scenario → interventions → timed
<timed>
IN THIS ORDER:
| ( <intervention ... /> )+
</timed>
Documentation (element)
Units: List of elements
List of timed interventions
Documentation (type)
Units: List of elements
List of timed interventions
intervention
→ scenario → interventions → timed → intervention
<intervention
time=int
>
IN THIS ORDER:
| [ <changeHS ... /> ]
| [ <changeEIR ... /> ]
| [ <importedInfectionsPerThousandHosts ... /> ]
| [ <MDA ... /> ]
| [ <vaccinate ... /> ]
| [ <ITN ... /> ]
| [ <IRS ... /> ]
| [ <VectorAvailability ... /> ]
| [ <ipti ... /> ]
| [ <immuneSuppression ... /> ]
| [ <insertR_0Case ... /> ]
| [ <uninfectVectors ... /> ]
| [ <larviciding ... /> ]
| [ <cohort ... /> ]
</intervention>
- changeHS
- changeEIR
- importedInfectionsPerThousandHosts
- MDA
- vaccinate
- ITN
- IRS
- VectorAvailability
- ipti
- immuneSuppression
- insertR_0Case
- uninfectVectors
- larviciding
- cohort
Attributes
Time step of intervention
time=int
Units: Number Min: 1 Max: 10000
Time step of intervention
changeHS
→ scenario → interventions → timed → intervention → changeHS
<changeHS>
IN THIS ORDER:
| EXACTLY ONE OF:
| | <EventScheduler ... />
| | <ImmediateOutcomes ... />
| <CFR ... />
| <pSequelaeInpatient ... />
</changeHS>
Documentation (type)
Units: List of elements
Description of case management system, used to specify the initial model or a replacement (an intervention). Encompasses case management data and some other data required to derive case outcomes.
Contains a sub-element describing the particular health-system in use. Health system data is here defined as data used to decide on a treatment strategy, given a case requiring treatment.
EventScheduler
→ scenario → healthSystem → EventScheduler
<EventScheduler>
IN THIS ORDER:
| <uncomplicated ... />
| <complicated ... />
| <ClinicalOutcomes ... />
| [ <NonMalariaFevers ... /> ]
</EventScheduler>
uncomplicated
→ scenario → healthSystem → EventScheduler → uncomplicated
<uncomplicated>
IN THIS ORDER:
| <decisions ... />
| <treatments ... />
</uncomplicated>
Documentation (type)
Units: List of elements
A set of decisions and a set of treatments.
complicated
→ scenario → healthSystem → EventScheduler → complicated
<complicated>
IN THIS ORDER:
| <decisions ... />
| <treatments ... />
</complicated>
Documentation (type)
Units: List of elements
A set of decisions and a set of treatments.
ClinicalOutcomes
→ scenario → healthSystem → EventScheduler → ClinicalOutcomes
<ClinicalOutcomes>
IN THIS ORDER:
| <maxUCSeekingMemory ... />
| <uncomplicatedCaseDuration ... />
| <complicatedCaseDuration ... />
| <complicatedRiskDuration ... />
| ( <dailyPrImmUCTS ... /> )+
</ClinicalOutcomes>
- maxUCSeekingMemory
- uncomplicatedCaseDuration
- complicatedCaseDuration
- complicatedRiskDuration
- dailyPrImmUCTS
Documentation (type)
Description of base parameters of the clinical model.
Max UC treatment-seeking memory
→ scenario → healthSystem → EventScheduler → ClinicalOutcomes → maxUCSeekingMemory
<maxUCSeekingMemory>
int
</maxUCSeekingMemory>
Documentation (element)
Units: days Min: 0 Max: unbounded
Maximum number of timesteps (including first of case) an individual will remember they are sick before resetting.
Uncomplicated case duration
→ scenario → healthSystem → EventScheduler → ClinicalOutcomes → uncomplicatedCaseDuration
<uncomplicatedCaseDuration>
int
</uncomplicatedCaseDuration>
Documentation (element)
Units: days Min: 1 Max: unbounded
Fixed length of an uncomplicated case of malarial/non-malarial sickness (from treatment seeking until return to life-as-usual). Usually 3.
Complicated case duration
→ scenario → healthSystem → EventScheduler → ClinicalOutcomes → complicatedCaseDuration
<complicatedCaseDuration>
int
</complicatedCaseDuration>
Documentation (element)
Units: days Min: 1 Max: unbounded
Fixed length of a complicated/severe case of malaria (from treatment seeking until return to life-as-usual).
Complicated risk duration
→ scenario → healthSystem → EventScheduler → ClinicalOutcomes → complicatedRiskDuration
<complicatedRiskDuration>
int
</complicatedRiskDuration>
Documentation (element)
Units: days Min: 1 Max: unbounded
Number of days for which humans are at risk of death during a severe or complicated case of malaria. Cannot be greater than the duration of a complicated case or less than 1 day.
Daily probability of immediate treatment seeking for uncomplicated cases
→ scenario → healthSystem → EventScheduler → ClinicalOutcomes → dailyPrImmUCTS
<dailyPrImmUCTS>
double
</dailyPrImmUCTS>
Documentation (element)
Units: none Min: 0 Max: 1
It is sometimes desirable to model delays to treatment seeking in uncomplicated cases. While treatment of drugs can be delayed within case management trees to provide a similar effect, this doesn't delay any of the decisions, including diagnostics using the current parasite density.
Instead a list of dailyPrImmUCTS elements can be used, describing successive daily probabilities of treatment (sum must be 1). For example, with a list of two elements with values 0.8 and 0.2, for 80% of UC cases the decision tree is evaluated immediately, and for 20% of cases evaluation is delayed by one day.
For no delay, use one element with a value of 1.
NonMalariaFevers
→ scenario → healthSystem → EventScheduler → NonMalariaFevers
<NonMalariaFevers>
IN THIS ORDER:
| <prTreatment ... />
| <effectNegativeTest ... />
| <effectPositiveTest ... />
| <effectNeed ... />
| <effectInformal ... />
| <CFR ... />
| <TreatmentEfficacy ... />
</NonMalariaFevers>
Documentation (type)
Description of non-malaria fever health-system modelling (treatment, outcomes and costing). Incidence is described by the model->clinical->NonMalariaFevers element. Non-malaria fevers are only modelled if the NON_MALARIA_FEVERS option is used.
As further explanation of the parameters below, we first take: β₀ = logit(P₀) - β₃·P(need), and then calculate the probability of antibiotic administration, P(AB), dependent on treatment seeking location. No seeking: P(AB) = 0 Informal sector: logit(P(AB)) = β₀ + β₄ Health facility: logit(P(AB)) = β₀ + β₁·I(neg) + β₂·I(pos) + β₃·I(need) (where I(X) is 1 when event X is true and 0 otherwise, logit(p)=log(p/(1-p)), event "need" is the event that death may occur without treatment, events "neg" and "pos" are the events that a malaria parasite diagnositic was used and indicated no parasites and parasites respectively).
P(treatment|no diagnostic)
→ scenario → healthSystem → EventScheduler → NonMalariaFevers → prTreatment
<prTreatment>
double
</prTreatment>
Documentation (element)
Units: none Min: 0 Max: 1
Probability of a non-malaria fever being treated with an antibiotic given that no malaria diagnostic was used but independent of need. Symbol: P₀.
Effect of a negative test
→ scenario → healthSystem → EventScheduler → NonMalariaFevers → effectNegativeTest
<effectNegativeTest>
double
</effectNegativeTest>
Documentation (element)
The effect of a negative malaria diagnostic on the odds ratio of receiving antibiotics. Symbol: exp(β₁).
Effect of a positive test
→ scenario → healthSystem → EventScheduler → NonMalariaFevers → effectPositiveTest
<effectPositiveTest>
double
</effectPositiveTest>
Documentation (element)
The effect of a positive malaria diagnostic on the odds ratio of receiving antibiotics. Symbol: exp(β₂).
Effect of need
→ scenario → healthSystem → EventScheduler → NonMalariaFevers → effectNeed
<effectNeed>
double
</effectNeed>
Documentation (element)
The effect of needing antibiotic treatment on the odds ratio of receiving antibiotics. Symbol: exp(β₃).
Effect of informal provider
→ scenario → healthSystem → EventScheduler → NonMalariaFevers → effectInformal
<effectInformal>
double
</effectInformal>
Documentation (element)
The effect of seeking treatment from an informal provider (i.e. a provider untrained in NMF diagnosis) on the odds ratio of receiving antibiotics. Symbol: exp(β₄)
Case fatality rate
→ scenario → healthSystem → EventScheduler → NonMalariaFevers → CFR
<CFR
[ interpolation=("none" or "linear") ] DEFAULT VALUE linear
>
IN THIS ORDER:
| ( <group ... /> )+
</CFR>
Documentation (element)
Units: none Min: 0 Max: 1
Base case fatality rate for non-malaria fevers (probability of death from a fever requiring antibiotic treatment given that no antibiotic treatment is received, per age-group).
Attributes
interpolation
interpolation=("none" or "linear")
Units: none
Default value: linear
Interpolation algorithm. Normally it is desirable for age-based values to be continuous w.r.t. age. By default linear interpolation is used. With all algorithms except "none", the age groups are converted to a set of points centred within each age range. Extra points are added at each end (zero and infinity) to keep value constant at both ends of the function. A zero-length age group may be used as a kind of barrier to adjust the distribution; e.g. with age group boundaries at 15, 20 and 25 years, a (linear) spline would be drawn between ages 17.5 and 22.5, whereas with boundaries at 15, 20 and 20 years, a spline would be drawn between ages 17.5 and 20 years (may be desired if individuals are assumed to reach adult size at 20). Algorithms:
- none: input values are used directly
- linear: straight lines (on an age vs. value graph) are used to interpolate data points.
age group
→ scenario → healthSystem → CFR → group
<group
value=double
lowerbound=double
/>
Documentation (element)
A series of values according to age groups, each specified with a lower-bound and a value. The first lower-bound specified must be zero; a final upper-bound of infinity is added to complete the last age group. At least one age group is required. Normally these are interpolated by a continuous function (see interpolation attribute).
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Lower bound
lowerbound=double
Units: Years Min: 0 Max: 100
Lower bound of age group
Treatment efficacy
→ scenario → healthSystem → EventScheduler → NonMalariaFevers → TreatmentEfficacy
<TreatmentEfficacy>
double
</TreatmentEfficacy>
Documentation (element)
Units: none Min: 0 Max: 1
Probability that treatment would prevent a death (i.e. CFR is multiplied by one minus this when treatment occurs).
ImmediateOutcomes
→ scenario → healthSystem → ImmediateOutcomes
<ImmediateOutcomes
name=string
>
IN THIS ORDER:
| <drugRegimen ... />
| <initialACR ... />
| <compliance ... />
| <nonCompliersEffective ... />
| <pSeekOfficialCareUncomplicated1 ... />
| <pSelfTreatUncomplicated ... />
| <pSeekOfficialCareUncomplicated2 ... />
| <pSeekOfficialCareSevere ... />
</ImmediateOutcomes>
- drugRegimen
- initialACR
- compliance
- nonCompliersEffective
- pSeekOfficialCareUncomplicated1
- pSelfTreatUncomplicated
- pSeekOfficialCareUncomplicated2
- pSeekOfficialCareSevere
Documentation (type)
Units: List of elements
Description of "immediate outcomes" health system: Tediosi et al case management model (Case management as described in AJTMH 75 (suppl 2) pp90-103).
Attributes
Case Management model
name=string
Units: string
Name of health system
Description of drug regimen
→ scenario → healthSystem → ImmediateOutcomes → drugRegimen
<drugRegimen
firstLine=string
secondLine=string
inpatient=string
/>
Documentation (element)
Units: List of elements
Description of drug regimen
Attributes
First line drug
firstLine=string
Units: Drug code
Code for first line drug
Second line drug
secondLine=string
Units: Drug code
Code for second line drug
Drug use for treating inpatients
inpatient=string
Units: Drug code
Code for drug used for treating inpatients
Initial cure rate
→ scenario → healthSystem → ImmediateOutcomes → initialACR
<initialACR>
IN THIS ORDER:
| [ <CQ ... /> ]
| [ <SP ... /> ]
| [ <AQ ... /> ]
| [ <SPAQ ... /> ]
| [ <ACT ... /> ]
| [ <QN ... /> ]
| <selfTreatment ... />
</initialACR>
Documentation (element)
Units: Proportion Min: 0 Max: 1
Initial cure rate
Chloroquine
→ scenario → healthSystem → ImmediateOutcomes → initialACR → CQ
<CQ
value=double
/>
Documentation (element)
Units: List of elements
Chloroquine
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Sulphadoxine-pyrimethamine
→ scenario → healthSystem → ImmediateOutcomes → initialACR → SP
<SP
value=double
/>
Documentation (element)
Units: List of elements
Sulphadoxine-pyrimethamine
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Amodiaquine
→ scenario → healthSystem → ImmediateOutcomes → initialACR → AQ
<AQ
value=double
/>
Documentation (element)
Units: List of elements
Amodiaquine
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Sulphadoxine-pyrimethamine/Amodiaquine
→ scenario → healthSystem → ImmediateOutcomes → initialACR → SPAQ
<SPAQ
value=double
/>
Documentation (element)
Units: List of elements
Sulphadoxine-pyrimethamine/Amodiaquine
Attributes
Input parameter value
value=double
A double-precision floating-point value.
ACT
→ scenario → healthSystem → ImmediateOutcomes → initialACR → ACT
<ACT
value=double
/>
Documentation (element)
Units: List of elements
Artemisinine combination therapy
Attributes
Input parameter value
value=double
A double-precision floating-point value.
QN
→ scenario → healthSystem → ImmediateOutcomes → initialACR → QN
<QN
value=double
/>
Documentation (element)
Units: List of elements
Quinine
Attributes
Input parameter value
value=double
A double-precision floating-point value.
selfTreatment
→ scenario → healthSystem → ImmediateOutcomes → initialACR → selfTreatment
<selfTreatment
value=double
/>
Documentation (element)
Units: Proportion Min: 0 Max: 1
Probability of self-treatment
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Adherence to treatment
→ scenario → healthSystem → ImmediateOutcomes → compliance
<compliance>
IN THIS ORDER:
| [ <CQ ... /> ]
| [ <SP ... /> ]
| [ <AQ ... /> ]
| [ <SPAQ ... /> ]
| [ <ACT ... /> ]
| [ <QN ... /> ]
| <selfTreatment ... />
</compliance>
Documentation (element)
Units: Proportion Min: 0 Max: 1
Adherence to treatment
Effectiveness of treatment in non-adherent patients
→ scenario → healthSystem → ImmediateOutcomes → nonCompliersEffective
<nonCompliersEffective>
IN THIS ORDER:
| [ <CQ ... /> ]
| [ <SP ... /> ]
| [ <AQ ... /> ]
| [ <SPAQ ... /> ]
| [ <ACT ... /> ]
| [ <QN ... /> ]
| <selfTreatment ... />
</nonCompliersEffective>
Documentation (element)
Units: Proportion Min: 0 Max: 1
Effectiveness of treatment of non compliers
Probability that a patient with uncomplicated disease seeks official care immediately
→ scenario → healthSystem → ImmediateOutcomes → pSeekOfficialCareUncomplicated1
<pSeekOfficialCareUncomplicated1
value=double
/>
Documentation (element)
Units: Proportion Min: 0 Max: 1
Probability that a patient with newly incident uncomplicated disease seeks official care
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Probability that a patient with uncomplicated disease self-treats
→ scenario → healthSystem → ImmediateOutcomes → pSelfTreatUncomplicated
<pSelfTreatUncomplicated
value=double
/>
Documentation (element)
Units: Proportion Min: 0 Max: 1
Probability that a patient with uncomplicated disease self-treats
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Probability that a recurring patient seeks official care
→ scenario → healthSystem → ImmediateOutcomes → pSeekOfficialCareUncomplicated2
<pSeekOfficialCareUncomplicated2
value=double
/>
Documentation (element)
Units: Proportion Min: 0 Max: 1
Probability that a patient with recurrence of uncomplicated disease seeks official care
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Probability that a patient with severe disease obtains appropriate care
→ scenario → healthSystem → ImmediateOutcomes → pSeekOfficialCareSevere
<pSeekOfficialCareSevere
value=double
/>
Documentation (element)
Units: Proportion Min: 0 Max: 1
Probability that a patient with severe disease obtains appropriate care
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Case fatality rate in inpatients
→ scenario → healthSystem → CFR
<CFR
[ interpolation=("none" or "linear") ] DEFAULT VALUE linear
>
IN THIS ORDER:
| ( <group ... /> )+
</CFR>
Documentation (element)
Units: List of elements
Case fatality rate (probability of an inpatient fatality from a bout of severe malaria, per age-group).
Attributes
interpolation
interpolation=("none" or "linear")
Units: none
Default value: linear
Interpolation algorithm. Normally it is desirable for age-based values to be continuous w.r.t. age. By default linear interpolation is used. With all algorithms except "none", the age groups are converted to a set of points centred within each age range. Extra points are added at each end (zero and infinity) to keep value constant at both ends of the function. A zero-length age group may be used as a kind of barrier to adjust the distribution; e.g. with age group boundaries at 15, 20 and 25 years, a (linear) spline would be drawn between ages 17.5 and 22.5, whereas with boundaries at 15, 20 and 20 years, a spline would be drawn between ages 17.5 and 20 years (may be desired if individuals are assumed to reach adult size at 20). Algorithms:
- none: input values are used directly
- linear: straight lines (on an age vs. value graph) are used to interpolate data points.
Probabilities of sequelae in inpatients
→ scenario → healthSystem → pSequelaeInpatient
<pSequelaeInpatient
[ interpolation=("none" or "linear") ] DEFAULT VALUE linear
>
IN THIS ORDER:
| ( <group ... /> )+
</pSequelaeInpatient>
Documentation (element)
Units: List of elements
List of age specific probabilities of sequelae in inpatients, during a severe bout.
Attributes
interpolation
interpolation=("none" or "linear")
Units: none
Default value: linear
Interpolation algorithm. Normally it is desirable for age-based values to be continuous w.r.t. age. By default linear interpolation is used. With all algorithms except "none", the age groups are converted to a set of points centred within each age range. Extra points are added at each end (zero and infinity) to keep value constant at both ends of the function. A zero-length age group may be used as a kind of barrier to adjust the distribution; e.g. with age group boundaries at 15, 20 and 25 years, a (linear) spline would be drawn between ages 17.5 and 22.5, whereas with boundaries at 15, 20 and 20 years, a spline would be drawn between ages 17.5 and 20 years (may be desired if individuals are assumed to reach adult size at 20). Algorithms:
- none: input values are used directly
- linear: straight lines (on an age vs. value graph) are used to interpolate data points.
Replacement transmission setting (vector control not enabled)
→ scenario → interventions → timed → intervention → changeEIR
<changeEIR
eipDuration=int
>
IN THIS ORDER:
| ( <EIRDaily ... /> )+
</changeEIR>
Documentation (element)
Units: List of elements
New description of transmission setting for models without vector control interventions (included for backward compatibility)
Attributes
Duration of sporogony (days)
eipDuration=int
The duration of sporogony in days
EIRDaily
→ scenario → entoData → nonVector → EIRDaily
<EIRDaily
[ origin=string ]
>
double
</EIRDaily>
Documentation (type)
Units: Infectious bites per adult per day
In the non-vector model, EIR is input as a sequence of daily values. There must be at least a years' worth of entries (365), and if there are more, values are wrapped and averaged (i.e. value for first day of year is taken as the mean of values for days 0, 365+0, 2*365+0, etc.).
Attributes
Time origin of EIR sequence
origin=string
Import infections
→ scenario → interventions → timed → intervention → importedInfectionsPerThousandHosts
<importedInfectionsPerThousandHosts>
double
</importedInfectionsPerThousandHosts>
Documentation (element)
Units: Number per 1000 hosts Min: 0
Import infections (as if a mosquito bites a human). Imported via a Bernoulli trial per host.
Mass Drug Administration
→ scenario → interventions → timed → intervention → MDA
<MDA
[ maxAge=double ] DEFAULT VALUE 100
[ minAge=double ] DEFAULT VALUE 0
coverage=double
[ cohort=boolean ] DEFAULT VALUE false
/>
Documentation (element)
Units: List of elements
Description of mass drug deployment in the community.
Attributes
Maximum age of eligible individuals
maxAge=double
Units: Years Min: 0 Max: 100
Default value: 100
Maximum age of eligible individuals (defaults to 100)
Minimum age of eligible individuals
minAge=double
Units: Years Min: 0 Max: 100
Default value: 0
Minimum age of eligible individuals (defaults to 0)
Coverage
coverage=double
Units: Proportion Min: 0 Max: 1
Coverage of intervention
Cohort only
cohort=boolean
Units: Proportion Min: 0 Max: 1
Default value: false
Restrict distribution to chosen cohort.
Vaccination
→ scenario → interventions → timed → intervention → vaccinate
<vaccinate
[ maxAge=double ] DEFAULT VALUE 100
[ minAge=double ] DEFAULT VALUE 0
coverage=double
[ cohort=boolean ] DEFAULT VALUE false
[ cumulativeWithMaxAge=double ]
/>
Documentation (element)
Units: List of elements
Description of vaccine deployment in the community
Attributes
Maximum age of eligible individuals
maxAge=double
Units: Years Min: 0 Max: 100
Default value: 100
Maximum age of eligible individuals (defaults to 100)
Minimum age of eligible individuals
minAge=double
Units: Years Min: 0 Max: 100
Default value: 0
Minimum age of eligible individuals (defaults to 0)
Coverage
coverage=double
Units: Proportion Min: 0 Max: 1
Coverage of intervention
Cohort only
cohort=boolean
Units: Proportion Min: 0 Max: 1
Default value: false
Restrict distribution to chosen cohort.
Cumulative deployment: maximum age
cumulativeWithMaxAge=double
Units: Years Min: 0
If present, activate cumulate deployment mode where intervention is only deployed to individuals not already considered protected in sufficient quantity to bring the total proportion of people covered up to level described by "coverage". Individuals are considered already protected by this intervention when the age of the last net/dose/etc. received is less than "maximum age" (this attribute) years old (i.e. when timeLastDeployment+maximumAge>currentTimeStep).
ITN deployment
→ scenario → interventions → timed → intervention → ITN
<ITN
[ maxAge=double ] DEFAULT VALUE 100
[ minAge=double ] DEFAULT VALUE 0
coverage=double
[ cohort=boolean ] DEFAULT VALUE false
[ cumulativeWithMaxAge=double ]
/>
Documentation (element)
Units: List of elements
Description of ITN deployment in the community
Attributes
Maximum age of eligible individuals
maxAge=double
Units: Years Min: 0 Max: 100
Default value: 100
Maximum age of eligible individuals (defaults to 100)
Minimum age of eligible individuals
minAge=double
Units: Years Min: 0 Max: 100
Default value: 0
Minimum age of eligible individuals (defaults to 0)
Coverage
coverage=double
Units: Proportion Min: 0 Max: 1
Coverage of intervention
Cohort only
cohort=boolean
Units: Proportion Min: 0 Max: 1
Default value: false
Restrict distribution to chosen cohort.
Cumulative deployment: maximum age
cumulativeWithMaxAge=double
Units: Years Min: 0
If present, activate cumulate deployment mode where intervention is only deployed to individuals not already considered protected in sufficient quantity to bring the total proportion of people covered up to level described by "coverage". Individuals are considered already protected by this intervention when the age of the last net/dose/etc. received is less than "maximum age" (this attribute) years old (i.e. when timeLastDeployment+maximumAge>currentTimeStep).
IRS deployment
→ scenario → interventions → timed → intervention → IRS
<IRS
[ maxAge=double ] DEFAULT VALUE 100
[ minAge=double ] DEFAULT VALUE 0
coverage=double
[ cohort=boolean ] DEFAULT VALUE false
[ cumulativeWithMaxAge=double ]
/>
Documentation (element)
Units: List of elements
Description of IRS deployment in the community
Attributes
Maximum age of eligible individuals
maxAge=double
Units: Years Min: 0 Max: 100
Default value: 100
Maximum age of eligible individuals (defaults to 100)
Minimum age of eligible individuals
minAge=double
Units: Years Min: 0 Max: 100
Default value: 0
Minimum age of eligible individuals (defaults to 0)
Coverage
coverage=double
Units: Proportion Min: 0 Max: 1
Coverage of intervention
Cohort only
cohort=boolean
Units: Proportion Min: 0 Max: 1
Default value: false
Restrict distribution to chosen cohort.
Cumulative deployment: maximum age
cumulativeWithMaxAge=double
Units: Years Min: 0
If present, activate cumulate deployment mode where intervention is only deployed to individuals not already considered protected in sufficient quantity to bring the total proportion of people covered up to level described by "coverage". Individuals are considered already protected by this intervention when the age of the last net/dose/etc. received is less than "maximum age" (this attribute) years old (i.e. when timeLastDeployment+maximumAge>currentTimeStep).
Mosquito deterrent
→ scenario → interventions → timed → intervention → VectorAvailability
<VectorAvailability
[ maxAge=double ] DEFAULT VALUE 100
[ minAge=double ] DEFAULT VALUE 0
coverage=double
[ cohort=boolean ] DEFAULT VALUE false
[ cumulativeWithMaxAge=double ]
/>
Documentation (element)
Units: List of elements
Description of a mosquito deterrent deployment in the community
Attributes
Maximum age of eligible individuals
maxAge=double
Units: Years Min: 0 Max: 100
Default value: 100
Maximum age of eligible individuals (defaults to 100)
Minimum age of eligible individuals
minAge=double
Units: Years Min: 0 Max: 100
Default value: 0
Minimum age of eligible individuals (defaults to 0)
Coverage
coverage=double
Units: Proportion Min: 0 Max: 1
Coverage of intervention
Cohort only
cohort=boolean
Units: Proportion Min: 0 Max: 1
Default value: false
Restrict distribution to chosen cohort.
Cumulative deployment: maximum age
cumulativeWithMaxAge=double
Units: Years Min: 0
If present, activate cumulate deployment mode where intervention is only deployed to individuals not already considered protected in sufficient quantity to bring the total proportion of people covered up to level described by "coverage". Individuals are considered already protected by this intervention when the age of the last net/dose/etc. received is less than "maximum age" (this attribute) years old (i.e. when timeLastDeployment+maximumAge>currentTimeStep).
IPTi deployment
→ scenario → interventions → timed → intervention → ipti
<ipti
[ maxAge=double ] DEFAULT VALUE 100
[ minAge=double ] DEFAULT VALUE 0
coverage=double
[ cohort=boolean ] DEFAULT VALUE false
[ cumulativeWithMaxAge=double ]
/>
Documentation (element)
Units: List of elements
List of age groups for IPTi distribution
Attributes
Maximum age of eligible individuals
maxAge=double
Units: Years Min: 0 Max: 100
Default value: 100
Maximum age of eligible individuals (defaults to 100)
Minimum age of eligible individuals
minAge=double
Units: Years Min: 0 Max: 100
Default value: 0
Minimum age of eligible individuals (defaults to 0)
Coverage
coverage=double
Units: Proportion Min: 0 Max: 1
Coverage of intervention
Cohort only
cohort=boolean
Units: Proportion Min: 0 Max: 1
Default value: false
Restrict distribution to chosen cohort.
Cumulative deployment: maximum age
cumulativeWithMaxAge=double
Units: Years Min: 0
If present, activate cumulate deployment mode where intervention is only deployed to individuals not already considered protected in sufficient quantity to bring the total proportion of people covered up to level described by "coverage". Individuals are considered already protected by this intervention when the age of the last net/dose/etc. received is less than "maximum age" (this attribute) years old (i.e. when timeLastDeployment+maximumAge>currentTimeStep).
Immune suppression deployment
→ scenario → interventions → timed → intervention → immuneSuppression
<immuneSuppression
[ maxAge=double ] DEFAULT VALUE 100
[ minAge=double ] DEFAULT VALUE 0
coverage=double
[ cohort=boolean ] DEFAULT VALUE false
/>
Documentation (element)
Units: List of elements
Removes all exposure-related immunity gained over time by hosts without removing infections.
Hypothetical, but potentially useful to simulate scenarios with unprotected humans.
Attributes
Maximum age of eligible individuals
maxAge=double
Units: Years Min: 0 Max: 100
Default value: 100
Maximum age of eligible individuals (defaults to 100)
Minimum age of eligible individuals
minAge=double
Units: Years Min: 0 Max: 100
Default value: 0
Minimum age of eligible individuals (defaults to 0)
Coverage
coverage=double
Units: Proportion Min: 0 Max: 1
Coverage of intervention
Cohort only
cohort=boolean
Units: Proportion Min: 0 Max: 1
Default value: false
Restrict distribution to chosen cohort.
Insert R_0 case
→ scenario → interventions → timed → intervention → insertR_0Case
<insertR_0Case/>
Documentation (element)
Units: List of elements
Used to simulate R_0. First, infections should be eliminated, immunity removed, and the population given an effective transmission- blocking vaccine (not done by this intervention). Then this intervention may be used to: pick one human, infect him, administer a fully effective Preerythrocytic vaccine and remove transmission-blocking vaccine effect on this human. Thus only this one human will be a source of infections in an unprotected population, and will not reinfected himself.
Uninfect vectors
→ scenario → interventions → timed → intervention → uninfectVectors
<uninfectVectors/>
Documentation (element)
Units: List of elements
Removes all infections from mosquitoes -- resulting in zero EIR to humans, until such time that mosquitoes are re-infected and become infectious. Only effectious in dynamic EIR mode (when changeEIR was not used).
Hypothetical, but potentially useful to simulate a setting starting from no infections, but with enough mosquitoes to reach a set equilibrium of exposure.
Simple larviciding intervention
→ scenario → interventions → timed → intervention → larviciding
<larviciding>
IN THIS ORDER:
| ( <anopheles ... /> )+
</larviciding>
Documentation (element)
Units: List of elements
Simple larviciding intervention description.
anopheles
→ scenario → interventions → timed → intervention → larviciding → anopheles
<anopheles
mosquito=string
effectiveness=double
duration=int
/>
Attributes
Mosquito to be larvicided
mosquito=string
Mosquito to be larvicided
Proportionate reduction in emergence
effectiveness=double
Units: none Min: 0 Max: 1
Proportional reduction in emergence rate
Duration of activity
duration=int
Units: days Min: 0 Max: inf
Number of days for which the intervention is active.
Mass Cohort Selection
→ scenario → interventions → timed → intervention → cohort
<cohort
[ maxAge=double ] DEFAULT VALUE 100
[ minAge=double ] DEFAULT VALUE 0
coverage=double
[ cohort=boolean ] DEFAULT VALUE false
[ cumulativeWithMaxAge=double ]
/>
Documentation (element)
Units: List of elements
Description of mass cohort selection.
Attributes
Maximum age of eligible individuals
maxAge=double
Units: Years Min: 0 Max: 100
Default value: 100
Maximum age of eligible individuals (defaults to 100)
Minimum age of eligible individuals
minAge=double
Units: Years Min: 0 Max: 100
Default value: 0
Minimum age of eligible individuals (defaults to 0)
Coverage
coverage=double
Units: Proportion Min: 0 Max: 1
Coverage of intervention
Cohort only
cohort=boolean
Units: Proportion Min: 0 Max: 1
Default value: false
Restrict distribution to chosen cohort.
Cumulative deployment: maximum age
cumulativeWithMaxAge=double
Units: Years Min: 0
If present, activate cumulate deployment mode where intervention is only deployed to individuals not already considered protected in sufficient quantity to bring the total proportion of people covered up to level described by "coverage". Individuals are considered already protected by this intervention when the age of the last net/dose/etc. received is less than "maximum age" (this attribute) years old (i.e. when timeLastDeployment+maximumAge>currentTimeStep).
Health system description
→ scenario → healthSystem
<healthSystem>
IN THIS ORDER:
| EXACTLY ONE OF:
| | <EventScheduler ... />
| | <ImmediateOutcomes ... />
| <CFR ... />
| <pSequelaeInpatient ... />
</healthSystem>
Documentation (element)
Units: List of elements
Description of health system.
Documentation (type)
Units: List of elements
Description of case management system, used to specify the initial model or a replacement (an intervention). Encompasses case management data and some other data required to derive case outcomes.
Contains a sub-element describing the particular health-system in use. Health system data is here defined as data used to decide on a treatment strategy, given a case requiring treatment.
Transmission and vector bionomics
<entoData
name=string
mode=("2" or "4")
[ annualEIR=double ]
>
IN THIS ORDER:
| EXACTLY ONE OF:
| | <nonVector ... />
| | <vector ... />
</entoData>
Documentation (element)
Units: List of elements
Description of entomological data
Attributes
Entomology dataset
name=string
Units: string
Name of entomology data
Transmission simulation mode
mode=("2" or "4")
Units: Code
Transmission simulation mode -- enter dynamic mode (4) or forced mode (2) at start of intervention period. Mode 3 (transient EIR from data provided as intervention) is set when intervention data is applied, and is no longer a valid value to specify here.
Override annual EIR
annualEIR=double
Units: Infectious bites per adult per year
If set, overrides the annual EIR by scaling it to this level. If ommitted, EIR levels are as specified elsewhere.
Transmission setting (vector control not enabled)
→ scenario → entoData → nonVector
<nonVector
eipDuration=int
>
IN THIS ORDER:
| ( <EIRDaily ... /> )+
</nonVector>
Documentation (element)
Units: List of elements
Description of transmission setting for models without vector control interventions (included for backward compatibility)
Attributes
Duration of sporogony (days)
eipDuration=int
The duration of sporogony in days
Transmission setting (vector control enabled)
→ scenario → entoData → vector
<vector>
IN THIS ORDER:
| ( <anopheles ... /> )+
| ( <nonHumanHosts ... /> )*
</vector>
Documentation (element)
Units: List of elements
Parameters of the transmission model.
anopheles
→ scenario → entoData → vector → anopheles
<anopheles
mosquito=string
propInfected=double
propInfectious=double
>
IN THIS ORDER:
| EXACTLY ONE OF:
| | <eir ... />
| | <monthlyEir ... />
| <mosq ... />
| ( <nonHumanHosts ... /> )*
</anopheles>
Documentation (type)
Description of input EIR for one specific vector species in terms of a Fourier approximation to the ln of the EIR during the burn in period
Attributes
Identifier for this anopheles species
mosquito=string
Identifier for this anopheles species
Initial guess of proportion of mosquitoes infected
propInfected=double
Units: Proportion Min: 0 Max: 1
Initial guess of the proportion of mosquitoes which are infected, o: O_v(t) = o*N_v(t). Only used as a starting value.
Initial guess of proportion of mosquitoes infectious
propInfectious=double
Units: Proportion Min: 0 Max: 1
Initial guess of the proportion of mosquitoes which are infectious, s: S_v(t) = s*N_v(t). Used as a starting value and then fit.
Fourier approximation to pre-intervention EIR
→ scenario → entoData → vector → anopheles → eir
<eir
a0=double
a1=double
b1=double
a2=double
b2=double
EIRRotateAngle=double
/>
Documentation (element)
Units: Infectious bites per adult per day
Description of target entomological inoculation rate as a Fourier series. This is used to estimate a suitible vector emergence rate. The annual (target) EIR is thus the exponent of the fourier series with these parameters, with period scaled to 365 days.
Attributes
a0 parameter of Fourier approximation to ln(EIR)
a0=double
a0 parameter of Fourier approximation to ln(EIR)
a1 parameter of Fourier approximation to ln(EIR)
a1=double
a1 parameter of Fourier approximation to ln(EIR)
b1 parameter of Fourier approximation to ln(EIR)
b1=double
b1 parameter of Fourier approximation to ln(EIR)
a2 parameter of Fourier approximation to ln(EIR)
a2=double
a2 parameter of Fourier approximation to ln(EIR)
b2 parameter of Fourier approximation to ln(EIR)
b2=double
b2 parameter of Fourier approximation to ln(EIR)
Rotation angle defining the origin of the Fourier approximation to ln (EIR)
EIRRotateAngle=double
Units: radians
Rotation angle defining the origin of the Fourier approximation to ln (EIR)
Monthly values for pre-intervention EIR
→ scenario → entoData → vector → anopheles → monthlyEir
<monthlyEir
annualEIR=double
>
IN THIS ORDER:
| ( <item ... /> ){12,12}
</monthlyEir>
Documentation (element)
Units: Infectious bites per adult per month
Description of target entomological inoculation rate as monthly values plus an annual override (monthly values are scaled to fit the annual EIR described). This is used to estimate a suitible vector emergence rate. The annual (target) EIR is derived from a Fourier series fit to these monthly values (used as a smoothing factor). List should contain twelve entries: January to December.
Attributes
Annual EIR
annualEIR=double
Units: Infectious bites per adult per year Min: 0
Scales the monthly values to give this annual innoculation rate.
Monthly pre-intervention EIR
→ scenario → entoData → vector → anopheles → monthlyEir → item
<item>
double
</item>
Documentation (element)
Units: Inoculations per person per month
Inoculations per person per month
Vector Species
→ scenario → entoData → vector → anopheles → mosq
<mosq
mosqRestDuration=int
extrinsicIncubationPeriod=int
mosqLaidEggsSameDayProportion=double
mosqSeekingDuration=double
mosqSurvivalFeedingCycleProbability=double
mosqProbBiting=double
mosqProbFindRestSite=double
mosqProbResting=double
mosqProbOvipositing=double
mosqHumanBloodIndex=double
minInfectedThreshold=double
/>
Documentation (element)
Units: List of elements
Vector species
Attributes
Duration of the resting period of the vector (days)
mosqRestDuration=int
name:Duration of the resting period of the vector (days);
Extrinsic incubation period (days)
extrinsicIncubationPeriod=int
name:Extrinsic incubation period (days)
Proportion of mosquitoes host seeking on same day as ovipositing
mosqLaidEggsSameDayProportion=double
Proportion of mosquitoes host seeking on same day as ovipositing
Duration of the host-seeking period of the vector (days)
mosqSeekingDuration=double
Duration of the host-seeking period of the vector (days)
Probability that the mosquito survives the feeding cycle
mosqSurvivalFeedingCycleProbability=double
Probability that the mosquito survives the feeding cycle
Probability that the mosquito succesfully bites chosen host
mosqProbBiting=double
Probability that the mosquito succesfully bites chosen host
Probability that the mosquito escapes host and finds a resting place after biting
mosqProbFindRestSite=double
Probability that the mosquito escapes host and finds a resting place after biting
Probability of mosquito successfully resting after finding a resting site
mosqProbResting=double
Probability of mosquito successfully resting after finding a resting site
Probability of a mosquito successfully laying eggs given that it has rested
mosqProbOvipositing=double
Probability of a mosquito successfully laying eggs given that it has rested
Human blood index
mosqHumanBloodIndex=double
The proportion of resting mosquitoes which fed on human blood during the last feed.
Min infected threshold
minInfectedThreshold=double
Min: 0
If less than this many mosquitoes remain infected, transmission is interrupted.
nonHumanHosts
→ scenario → entoData → vector → anopheles → nonHumanHosts
<nonHumanHosts
name=string
mosqRelativeEntoAvailability=double
mosqProbBiting=double
mosqProbFindRestSite=double
mosqProbResting=double
/>
Documentation (element)
Units: List of elements
Non human host parameters, per type of host (must match up with non-species-specific parameters).
Attributes
Identifier for this category of non-human hosts
name=string
Identifier for this category of non-human hosts
Relative availability of nonhuman hosts of type i (to other nonhuman hosts)
mosqRelativeEntoAvailability=double
Relative availability of nonhuman hosts of type i (to other nonhuman hosts)
Probability of mosquito successfully biting host
mosqProbBiting=double
Probability of mosquito successfully biting host
Probability that the mosquito escapes host and finds a resting place after biting
mosqProbFindRestSite=double
Probability that the mosquito escapes host and finds a resting place after biting
Probability of mosquito successfully resting after finding a resting site
mosqProbResting=double
Probability of mosquito successfully resting after finding a resting site
nonHumanHosts
→ scenario → entoData → vector → nonHumanHosts
<nonHumanHosts
name=string
number=double
/>
Attributes
Species of alternative host
name=string
Units: List of elements
Name of this species of non human hosts (must match up with those described per anopheles section)
number
number=double
Pharmacokinetics and pharmacodynamics
<drugDescription>
IN THIS ORDER:
| ( <drug ... /> )+
</drugDescription>
Documentation (element)
Units: List of elements
Drug model parameters
Library of drug parameters
→ scenario → drugDescription → drug
<drug
abbrev=string
>
IN THIS ORDER:
| <PD ... />
| <PK ... />
</drug>
Documentation (element)
Sequence of drug descriptions forming a library of drug parameters.
Attributes
abbrev
abbrev=string
PD
→ scenario → drugDescription → drug → PD
<PD>
IN THIS ORDER:
| ( <allele ... /> )+
</PD>
PD parameters per allele
→ scenario → drugDescription → drug → PD → allele
<allele
name=string
>
IN THIS ORDER:
| <initial_frequency ... />
| <max_killing_rate ... />
| <IC50 ... />
| <slope ... />
</allele>
Documentation (element)
PD parameters per allele, plus initial frequency of each allele.
Note: we assume a one-to-one correspondance of drugs to loci, hence each drug has an independent set of alleles here.
Attributes
name
name=string
Relative frequency
→ scenario → drugDescription → drug → PD → allele → initial_frequency
<initial_frequency>
double
</initial_frequency>
Documentation (element)
Units: relative frequency Min: 0
Frequency, relative to the total frequency of all alleles for this drug/locus.
Maximal parasite killing rate
→ scenario → drugDescription → drug → PD → allele → max_killing_rate
<max_killing_rate>
double
</max_killing_rate>
Documentation (element)
Units: 1/days Min: 0
k1 — Maximal parasite killing rate.
IC50
→ scenario → drugDescription → drug → PD → allele → IC50
<IC50>
double
</IC50>
Documentation (element)
Units: mg/l Min: 0
Half maximal effect concentration.
Slope of effect curve
→ scenario → drugDescription → drug → PD → allele → slope
<slope>
double
</slope>
Documentation (element)
Units: no units
n — Slope of the concentration effect curve
PK
→ scenario → drugDescription → drug → PK
<PK>
IN THIS ORDER:
| <negligible_concentration ... />
| <half_life ... />
| <vol_dist ... />
</PK>
Drug concentration considered negligible
→ scenario → drugDescription → drug → PK → negligible_concentration
<negligible_concentration>
double
</negligible_concentration>
Documentation (element)
Units: mg/l Min: 0
Concentration below which drug's effects are deemed negligible and can be removed from simulation.
drug half-life
→ scenario → drugDescription → drug → PK → half_life
<half_life>
double
</half_life>
Documentation (element)
Units: days Min: 0
Used to calculate elimination rate (which is: ln(2) / half_life).
Volume of Distribution
→ scenario → drugDescription → drug → PK → vol_dist
<vol_dist>
double
</vol_dist>
Documentation (element)
Units: l/kg Min: 0
Volume of Distribution
Model options and parameters
<model>
IN THIS ORDER:
| <ModelOptions ... />
| <clinical ... />
| <human ... />
| <parameters ... />
</model>
Documentation (element)
Units: List of elements
Encapsulation of all parameters which describe the model according to which fitting is done.
Model Options
→ scenario → model → ModelOptions
<ModelOptions>
IN THIS ORDER:
| ( <option ... /> )*
</ModelOptions>
Documentation (element)
Units: List of elements
All model options (bug fixes, choices between models, etc.).
The list of recognised options can be found in the code at:
include/util/ModelOptions.h and should also be in the wiki.
clinical
<clinical
healthSystemMemory=int
>
IN THIS ORDER:
| [ <NonMalariaFevers ... /> ]
</clinical>
Documentation (type)
Units: List of elements
Description of clinical parameters.
This is related to the health-system description, but contains data which can't be changed as part of an intervention and is not restricted to treatment.
Attributes
Follow-up period during which recurrence is treated as a failure
healthSystemMemory=int
Units: Time steps Min: 1 Max: 100
Follow-up period during which a recurrence is considered to be a treatment failure
NonMalariaFevers
→ scenario → model → clinical → NonMalariaFevers
<NonMalariaFevers>
IN THIS ORDER:
| <incidence ... />
| <prNeedTreatmentNMF ... />
| <prNeedTreatmentMF ... />
</NonMalariaFevers>
Documentation (type)
Description of non-malaria fever incidence. Non-malaria fevers are only modelled if the NON_MALARIA_FEVERS option is used.
P(NMF)
→ scenario → model → clinical → NonMalariaFevers → incidence
<incidence
[ interpolation=("none" or "linear") ] DEFAULT VALUE linear
>
IN THIS ORDER:
| ( <group ... /> )+
</incidence>
Documentation (element)
Units: none Min: 0 Max: 1
Probability that a non-malaria fever occurs given that no concurrent malaria fever occurs.
Attributes
interpolation
interpolation=("none" or "linear")
Units: none
Default value: linear
Interpolation algorithm. Normally it is desirable for age-based values to be continuous w.r.t. age. By default linear interpolation is used. With all algorithms except "none", the age groups are converted to a set of points centred within each age range. Extra points are added at each end (zero and infinity) to keep value constant at both ends of the function. A zero-length age group may be used as a kind of barrier to adjust the distribution; e.g. with age group boundaries at 15, 20 and 25 years, a (linear) spline would be drawn between ages 17.5 and 22.5, whereas with boundaries at 15, 20 and 20 years, a spline would be drawn between ages 17.5 and 20 years (may be desired if individuals are assumed to reach adult size at 20). Algorithms:
- none: input values are used directly
- linear: straight lines (on an age vs. value graph) are used to interpolate data points.
P(need treatment | NMF)
→ scenario → model → clinical → NonMalariaFevers → prNeedTreatmentNMF
<prNeedTreatmentNMF
[ interpolation=("none" or "linear") ] DEFAULT VALUE linear
>
IN THIS ORDER:
| ( <group ... /> )+
</prNeedTreatmentNMF>
Documentation (element)
Units: none Min: 0 Max: 1
Probability that a non-malaria fever needs treatment with antibiotics (assuming fever is not induced by malaria, although concurrent parasites may be present).
Attributes
interpolation
interpolation=("none" or "linear")
Units: none
Default value: linear
Interpolation algorithm. Normally it is desirable for age-based values to be continuous w.r.t. age. By default linear interpolation is used. With all algorithms except "none", the age groups are converted to a set of points centred within each age range. Extra points are added at each end (zero and infinity) to keep value constant at both ends of the function. A zero-length age group may be used as a kind of barrier to adjust the distribution; e.g. with age group boundaries at 15, 20 and 25 years, a (linear) spline would be drawn between ages 17.5 and 22.5, whereas with boundaries at 15, 20 and 20 years, a spline would be drawn between ages 17.5 and 20 years (may be desired if individuals are assumed to reach adult size at 20). Algorithms:
- none: input values are used directly
- linear: straight lines (on an age vs. value graph) are used to interpolate data points.
P(need treatment | MF)
→ scenario → model → clinical → NonMalariaFevers → prNeedTreatmentMF
<prNeedTreatmentMF
[ interpolation=("none" or "linear") ] DEFAULT VALUE linear
>
IN THIS ORDER:
| ( <group ... /> )+
</prNeedTreatmentMF>
Documentation (element)
Units: none Min: 0 Max: 1
Probability that a malaria fever needs treatment with antibiotics (assuming fever is induced by malaria, although concurrent bacteria may be present).
Meaning partially overlaps with separate model for comorbidity given malaria.
Attributes
interpolation
interpolation=("none" or "linear")
Units: none
Default value: linear
Interpolation algorithm. Normally it is desirable for age-based values to be continuous w.r.t. age. By default linear interpolation is used. With all algorithms except "none", the age groups are converted to a set of points centred within each age range. Extra points are added at each end (zero and infinity) to keep value constant at both ends of the function. A zero-length age group may be used as a kind of barrier to adjust the distribution; e.g. with age group boundaries at 15, 20 and 25 years, a (linear) spline would be drawn between ages 17.5 and 22.5, whereas with boundaries at 15, 20 and 20 years, a spline would be drawn between ages 17.5 and 20 years (may be desired if individuals are assumed to reach adult size at 20). Algorithms:
- none: input values are used directly
- linear: straight lines (on an age vs. value graph) are used to interpolate data points.
human
<human>
IN THIS ORDER:
| <availabilityToMosquitoes ... />
| [ <weight ... /> ]
</human>
Documentation (type)
Parameters of host models.
Availability to mosquitoes
→ scenario → model → human → availabilityToMosquitoes
<availabilityToMosquitoes
[ interpolation=("none" or "linear") ] DEFAULT VALUE linear
>
IN THIS ORDER:
| ( <group ... /> )+
</availabilityToMosquitoes>
Documentation (element)
Units: None Min: 0 Max: 1
By age group data on availability of humans to mosquitoes relative to an adult.
Attributes
interpolation
interpolation=("none" or "linear")
Units: none
Default value: linear
Interpolation algorithm. Normally it is desirable for age-based values to be continuous w.r.t. age. By default linear interpolation is used. With all algorithms except "none", the age groups are converted to a set of points centred within each age range. Extra points are added at each end (zero and infinity) to keep value constant at both ends of the function. A zero-length age group may be used as a kind of barrier to adjust the distribution; e.g. with age group boundaries at 15, 20 and 25 years, a (linear) spline would be drawn between ages 17.5 and 22.5, whereas with boundaries at 15, 20 and 20 years, a spline would be drawn between ages 17.5 and 20 years (may be desired if individuals are assumed to reach adult size at 20). Algorithms:
- none: input values are used directly
- linear: straight lines (on an age vs. value graph) are used to interpolate data points.
Weight
→ scenario → model → human → weight
<weight
[ interpolation=("none" or "linear") ] DEFAULT VALUE linear
multStdDev=double
>
IN THIS ORDER:
| ( <group ... /> )+
</weight>
Documentation (element)
Units: kg Min: 0
By age group data on human weight (mass).
Attributes
interpolation
interpolation=("none" or "linear")
Units: none
Default value: linear
Interpolation algorithm. Normally it is desirable for age-based values to be continuous w.r.t. age. By default linear interpolation is used. With all algorithms except "none", the age groups are converted to a set of points centred within each age range. Extra points are added at each end (zero and infinity) to keep value constant at both ends of the function. A zero-length age group may be used as a kind of barrier to adjust the distribution; e.g. with age group boundaries at 15, 20 and 25 years, a (linear) spline would be drawn between ages 17.5 and 22.5, whereas with boundaries at 15, 20 and 20 years, a spline would be drawn between ages 17.5 and 20 years (may be desired if individuals are assumed to reach adult size at 20). Algorithms:
- none: input values are used directly
- linear: straight lines (on an age vs. value graph) are used to interpolate data points.
Standard deviation
multStdDev=double
Units: None Min: 0
Each human is assigned a weight multiplier from a normal distribution with mean 1 and this standard deviation at birth. His/her weight is this multiplier times the mean from age distribution. A standard deviation of zero for no heterogeneity is valid; a rough value from Tanzanian data is 0.14.
Parameters of the model of epidemiology
→ scenario → model → parameters
<parameters
interval=int
iseed=int
latentp=int
>
IN THIS ORDER:
| ( <parameter ... /> )+
</parameters>
Documentation (element)
Units: List of elements
Parameters of the epidemiological model
Attributes
Simulation step
interval=int
Units: Days
Simulation step
Random number seed
iseed=int
Units: Number
Seed for RNG
Pre-erythrocytic latent period
latentp=int
Units: Time steps Min: 0 Max: 20
pre-erythrocytic latent period, in time steps
parameter
→ scenario → model → parameters → parameter
<parameter
name=string
number=int
value=double
[ include=boolean ]
/>
Attributes
Name of parameter
name=string
Units: string
Name of parameter
Parameter number
number=int
Units: Number Min: 1 Max: 100
Reference number of input parameter
Parameter value
value=double
Units: Number Min: 0
Parameter value
Sampling indicator
include=boolean
Units: Number Min: 0 Max: 1
True if parameter is to be sampled in optimization runs. Not used in simulator app.
Schema 25 documentation
Generated from: scenario_25.xsd
.
Key:
abc required (one)
[ def ] optional (zero or one)
( ghi )* any number (zero or more)
( jkl )+ at least one
( mno ){2,inf} two or more occurrences
Scenario
→ scenario
<scenario
schemaVersion=int
analysisNo=int
name=string
wuID=int
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:noNamespaceSchemaLocation="scenario_25.xsd"
>
IN THIS ORDER:
| <demography ... />
| <monitoring ... />
| <interventions ... />
| <healthSystem ... />
| <entoData ... />
| [ <drugDescription ... /> ]
| <model ... />
</scenario>
Documentation (element)
Units: List of elements
Description of scenario
Attributes
Version of the xml schema
schemaVersion=int
Version of xml schema. If not equal to the current version an error is thrown. Use SchemaTranslator to update xml files.
Reference number of the analysis
analysisNo=int
Units: Number Min: 1 Max: 100000000
Unique identifier of scenario
Name of intervention
name=string
Units: string
Name of intervention
Work unit identifier
wuID=int
Units: Number Min: 1 Max: 100000000
Work unit ID. Only used to validate checkpointing, to prevent checkpoint cheats.
Human age distribution
→ scenario → demography
<demography
name=string
popSize=int
maximumAgeYrs=double
[ growthRate=double ]
>
IN THIS ORDER:
| <ageGroup ... />
</demography>
Documentation (element)
Units: List of elements
Description of demography
Attributes
Name of demography data
name=string
Units: string
Name of demography data
Population size
popSize=int
Units: Count Min: 1 Max: 100000
Population size
Maximum age of simulated humans
maximumAgeYrs=double
Units: years Min: 0 Max: 100
Maximum age of simulated humans in years.
Growth rate of human population
growthRate=double
Units: Number Min: 0 Max: 0
Growth rate of human population. (we should be able to implement this with non-zero values)
Age groups
→ scenario → demography → ageGroup
<ageGroup
lowerbound=double
>
IN THIS ORDER:
| ( <group ... /> )+
</ageGroup>
Documentation (element)
Units: List of elements
List of age groups included in demography
Documentation (type)
Units: List of elements
List of age groups included in demography or surveys
Attributes
lower bound of age group
lowerbound=double
Units: Years Min: 0 Max: 100
Lower bound of age group
group
→ scenario → demography → ageGroup → group
<group
poppercent=double
upperbound=double
/>
Attributes
Percentage in age group
poppercent=double
Percentage of human population in age group
upper bound of age group
upperbound=double
Units: Years Min: 0 Max: 100
Upper bound of age group
Measures to be reported
→ scenario → monitoring
<monitoring
name=string
[ cohortOnly=boolean ]
[ firstBoutOnly=boolean ]
[ firstTreatmentOnly=boolean ]
[ firstInfectionOnly=boolean ]
>
IN THIS ORDER:
| [ <continuous ... /> ]
| <SurveyOptions ... />
| <surveys ... />
| <ageGroup ... />
</monitoring>
Documentation (element)
Units: List of elements
Description of surveys
Attributes
Name of monitoring information
name=string
Units: string
Name of monitoring data
Survey only cohort
cohortOnly=boolean
If true, for many output measures, the output comes only from individuals in the cohort; otherwise output is from the entire population. Does not need to be specified if no cohort-selecting "interventions" are present.
Time to first episode only
firstBoutOnly=boolean
If true, remove individuals from the cohort at the start of the first episode (start of a clinical bout) since they were recruited into the cohort. This is intended for cohort studies that intend to measure time to first episode, using active case detection.
Time to first treatment only
firstTreatmentOnly=boolean
If true, remove individuals from the cohort when they first seek treatment since they were recruited into the cohort. This is intended for cohort studies that intend to measure time to first episode, using passive case detection.
Time to first infection only
firstInfectionOnly=boolean
If true, remove individuals from the cohort at completion of the first survey in which they present with a patent infection since they were recruited into the cohort. This intended for cohort studies that intend to measure time to first infection, using active case detection.
continuous
→ scenario → monitoring → continuous
<continuous
period=int
[ duringInit=boolean ]
>
IN THIS ORDER:
| ( <option ... /> )*
</continuous>
Attributes
Days between reports
period=int
Units: Days Min: 1 Max: unbounded
Number of timesteps between reports.
During initialization
duringInit=boolean
Units: Days Min: 1 Max: unbounded
Also output during initialization. By default this is disabled (only intervention-period data is output). This should not be used for predictions, but can be useful for model validation. In this mode, 'simulation time' is output as the first column (in addition to 'timestep'), since 'timestep' is dis- continuous across the start of the intervention period.
option
→ scenario → monitoring → continuous → option
<option
name=string
[ value=boolean ] DEFAULT VALUE true
/>
Attributes
Model options required
name=string
Options define different model structures. Option name. Must be one of a strictly defined set. Options are not required to be listed if their default value is desired.
Indicator of whether option is required
value=boolean
Default value: true
Option value (true/false). Each option has a default value used if the option is not listed (usually false but sometimes true).
Name of quantity
→ scenario → monitoring → SurveyOptions
<SurveyOptions>
IN THIS ORDER:
| ( <option ... /> )*
</SurveyOptions>
Documentation (element)
List of all active survey options. See include/Survey.h for a list of supported outputs. Should also be on the wiki.
Survey times (time steps)
→ scenario → monitoring → surveys
<surveys
detectionLimit=double
>
IN THIS ORDER:
| ( <surveyTime ... /> )+
</surveys>
Documentation (element)
Units: List of elements
List of survey times
Attributes
Detection limit for parasitaemia
detectionLimit=double
Units: parasites/micolitre Min: 0 Max: 1000
Detection limit for parasitemia
Survey time
→ scenario → monitoring → surveys → surveyTime
<surveyTime>
int
</surveyTime>
Documentation (element)
Units: Number Min: 0
Survey time; 0 means just before start of main sim and is a valid survey-point. Reported data is either from a point-time survey (immediate data) or is collected over the previous year (data from previous timesteps-per-year period). Simulation will end immediately after last survey is taken.
Age groups
→ scenario → monitoring → ageGroup
<ageGroup
lowerbound=double
>
IN THIS ORDER:
| ( <group ... /> )+
</ageGroup>
Documentation (element)
Units: List of elements
List of age groups included in demography or surveys
Documentation (type)
Units: List of elements
List of age groups included in surveys
Attributes
lower bound of age group
lowerbound=double
Units: Years Min: 0 Max: 100
Lower bound of age group
group
→ scenario → monitoring → ageGroup → group
<group
upperbound=double
/>
Attributes
upper bound of age group
upperbound=double
Units: Years Min: 0 Max: 100
Upper bound of age group
Preventative interventions
<interventions
name=string
>
IN THIS ORDER:
| <descriptions ... />
| [ <continuous ... /> ]
| [ <timed ... /> ]
</interventions>
Documentation (element)
Units: List of elements
List of interventions. Generally these are either point-time distributions of something to some subset of the population, or continuous-time distribution targetting individuals when they reach a certain age.
Attributes
Intervention
name=string
Units: string
Name of age specific intervention
descriptions
→ scenario → interventions → descriptions
<descriptions>
IN THIS ORDER:
| [ <MDADescription ... /> ]
| ( <vaccineDescription ... /> ){0,3}
| [ <iptiDescription ... /> ]
| ( <anopheles ... /> )*
</descriptions>
Documentation (element)
Descriptions applying across all uses of an intervention.
Description of MDA
→ scenario → interventions → descriptions → MDADescription
<MDADescription>
IN THIS ORDER:
| <decisions ... />
| <treatments ... />
</MDADescription>
Documentation (element)
Description of treatment type used by mass treatment option of one-day case management model. Can be used to describe one-size-fits-all mass drug dosing, age-based mass drug dosing and screen-and-treat. Number of treatments given can be reported by the nMDAs option.
Documentation (type)
Units: List of elements
A set of decisions and a set of treatments.
decisions
→ scenario → interventions → descriptions → MDADescription → decisions
<decisions>
IN THIS ORDER:
| ( <decision ... /> )*
</decisions>
Documentation (type)
Description of decisions for a case management tree. A generic view of this tree would be that each decision is deterministic, or based on probabilities which may depend on other decisions. Probabilistic decisions are described here.
In general, each decision has a name, a defined set of outcome values, and a set of dependent decisions mentioned by name. The following decisions, with their associated outcomes, are provided by the code (and may not be included here):
- case (uncomplicated only): Returns "UC1" if there is no recent history of a malarial case, or "UC2" if there is.
- result: Dependent on decision "test", this performs a parasite density test. Output is one of "none" (no test performed), "positive", "negative".
The following decisions must be described here:
- test (uncomplicated only): Outputs must be "none", "microscopy" or "RDT" to describe which test the "result" decision uses.
- treatment: Describes which treatment to use. Values aren't restricted but must match up with a treatment described in the corresponding "treatments" section.
- hospitalisation (complicated only): none, immediate or delayed.
decision
→ scenario → interventions → descriptions → MDADescription → decisions → decision
<decision
name=string
depends=string
values=string
>
string
</decision>
Documentation (type)
A decision describes how to choose between a set of values.
Lexically, it can contain symbols matching "[_.a-zA-Z0-9]+", round brackets: (), braces: {} and colons. Whitespace is ignored except to separate symbols.
Syntactically, it must match one TREE, where SYMBOL is a symbol described above. (Here, "x|y" means x or y, "x+" means x occurs once or more, brackets show grouping.) TREE := BRANCH_SET | OUTCOME BRANCH_SET := BRANCH+ BRANCH := DECISION '(' VALUE ')' ( ':' OUTCOME | '{' TREE '}' ) OUTCOME, DECISION, VALUE := SYMBOL
For each BRANCH_SET each BRANCH must have the same DECISION. This DECISION must be one of the dependencies mentioned in "depends". This may be:
- another decision, in which case the VALUE immediately following in brackets must correspond to one of its output values. The BRANCH_SET immediately containing this BRANCH must represent each output value of the same decision exactly once, and no parent BRANCH_SET may be for the same DECISION.
- "p": this indicates a probabilistic decision. In this case the value is a probability, the sum of all values for the BRANCH_SET must be 1 and the decision must be associated directly with OUTCOMEs (not sub-TREEs).
- "age": this indicates an age-test. The VALUE must have the form "a-b", indicating that this branch will be taken for individuals aged such that a <= age < b, where a,b are non-negative real numbers or the special value "inf", and a <= b. All VALUEs in the BRANCH_SET must cover all possible (non-negative real) ages, with no overlap (hence, smallest a must be 0 and greatest b must be inf).
Semantically, each OUTCOME must be one of the values associated with this decision.
Attributes
Name of decision
name=string
The name of this decision. The name must match the regular expression "[_a-zA-Z0-9]+"; that is it can only contain letters, digits and _ characters (no spaces, punctuation, etc.).
Preceding decisions
depends=string
A comma-separated list of decisions that must have already been evaluated before this decision can be evaluated. Can be empty. Each must be hard-coded or described here. Can include the special decisions "p" and "age", though "age" cannot be combined with any other dependency.
Outcome values
values=string
A comma-separated list of outcome values this decision may have. The name of each value must be of the same form as decision names (i.e. only contain letters, digits and _ characters).
treatments
→ scenario → interventions → descriptions → MDADescription → treatments
<treatments>
IN THIS ORDER:
| ( <treatment ... /> )*
</treatments>
Documentation (type)
Units: string
A list of drug treatment tables. Each should have a name corresponding to one of the "drug" decision's values.
treatment
→ scenario → interventions → descriptions → MDADescription → treatments → treatment
<treatment
name=string
>
IN THIS ORDER:
| <schedule ... />
| ( <modifier ... /> )*
</treatment>
Documentation (type)
A description of a base treatment schedule along with modifiers to handle delays, quality variations, etc.
Attributes
Treatment administered
name=string
Units: string
Name corresponding to one of the drug decision's output values.
schedule
→ scenario → interventions → descriptions → MDADescription → treatments → treatment → schedule
<schedule>
IN THIS ORDER:
| ( <medicate ... /> )*
</schedule>
Documentation (type)
The base (unmodified) schedule of drugs administered for this treatment.
medicate
→ scenario → interventions → descriptions → MDADescription → treatments → treatment → schedule → medicate
<medicate
drug=string
mg=double
hour=double
[ duration=double ]
/>
Attributes
drug
drug=string
Units: string
Abbreviated name of drug compound
drug dose
mg=double
Units: mg
Quantity of drug compound
time of administration
hour=double
Units: hours Min: 0
Number of hours past start of timestep this drug dose is administered at (first dose should be at hour 0).
duration of administration
duration=double
Units: hours Min: 0
If this attribute is given, use IV administration instead of orally. Specifies the number of hours over which the dose is administered.
modifier
→ scenario → interventions → descriptions → MDADescription → treatments → treatment → modifier
<modifier
decision=string
>
EXACTLY ONE OF:
| ( <multiplyQty ... /> )*
| ( <delay ... /> )*
| ( <selectTimeRange ... /> )*
</modifier>
Documentation (type)
A modifier for this treatment, according to the outputs of a decision.
The "decision" attribute must be the name of a known decision. Then, there must be a set of multipyQty, delay or selectTimeRange sub-elements, each of which corresponds to one value output of the decision.
Attributes
decision
decision=string
Units: string
Specifies the decision that this modifier acts on.
multiplyQty
→ scenario → interventions → descriptions → MDADescription → treatments → treatment → modifier → multiplyQty
<multiplyQty
value=string
effect=string
[ affectsCost=boolean ]
/>
Documentation (element)
Multiplies the quantity of active ingredients of drugs administered.
The "drugs" attribute is a comma-separated list of all active ingredients administered in the base schedule (each must be listed once) and the content of this element is a comma- separated list of multipliers for each active ingredient, listed in the same order as in the "drugs" attribute. E.g. with drugs="A,B" and content "0.5,1" the quantity of drug A is halved while that of B is unchanged.
Attributes
value of decision
value=string
Units: string
Specifies a value of the decision to act on.
List of drugs affected
effect=string
Units: string
Comma-separated list of the effect the modifier has on each drug, in the form DRUG1(EFFECT1),DRUG2(EFFECT2), etc.
Affects cost?
affectsCost=boolean
Units: none
Does this affect the cost? If false, the effective drug usage (w.r.t. cost) is unaffected by this modifier; if true it is. Defaults to true (if omitted). Is meaningless for delays.
delay
→ scenario → interventions → descriptions → MDADescription → treatments → treatment → modifier → delay
<delay
value=string
effect=string
[ affectsCost=boolean ]
/>
Documentation (element)
Delays administration of drugs listed in the base schedule by so many hours.
The "drugs" attribute is a comma-separated list of all active ingredients administered in the base schedule (each must be listed once) and the content of this element is a comma- separated list of delays (in hours) for each active ingredient, listed in the same order as in the "drugs" attribute. E.g. with drugs="A,B" and content "0,6", drug A is administered as in the base schedule while drug B is administered 6 hours later than specified.
Attributes
value of decision
value=string
Units: string
Specifies a value of the decision to act on.
List of drugs affected
effect=string
Units: string
Comma-separated list of the effect the modifier has on each drug, in the form DRUG1(EFFECT1),DRUG2(EFFECT2), etc.
Affects cost?
affectsCost=boolean
Units: none
Does this affect the cost? If false, the effective drug usage (w.r.t. cost) is unaffected by this modifier; if true it is. Defaults to true (if omitted). Is meaningless for delays.
selectTimeRange
→ scenario → interventions → descriptions → MDADescription → treatments → treatment → modifier → selectTimeRange
<selectTimeRange
value=string
effect=string
[ affectsCost=boolean ]
/>
Documentation (element)
Selects which drug doses to administer according to time of administration (before times are modified by delays). Half-open interval: [x,y)
The "drugs" attribute is a comma-separated list of all active ingredients administered in the base schedule (each must be listed once) and the content of this element is a comma- separated list of time-ranges (in hours) for each active ingredient, listed in the same order as in the "drugs" attribute. The time-ranges should be of the form x-y and are interpreted as the half-open interval [x,y); that is a drug listed with time t will only be administered if x <= t < y.
Attributes
value of decision
value=string
Units: string
Specifies a value of the decision to act on.
List of drugs affected
effect=string
Units: string
Comma-separated list of the effect the modifier has on each drug, in the form DRUG1(EFFECT1),DRUG2(EFFECT2), etc.
Affects cost?
affectsCost=boolean
Units: none
Does this affect the cost? If false, the effective drug usage (w.r.t. cost) is unaffected by this modifier; if true it is. Defaults to true (if omitted). Is meaningless for delays.
vaccineDescription
→ scenario → interventions → descriptions → vaccineDescription
<vaccineDescription
vaccineType=("PEV" or "BSV" or "TBV")
>
IN THIS ORDER:
| <decay ... />
| <efficacyB ... />
| ( <initialEfficacy ... /> )+
</vaccineDescription>
Attributes
Type of vaccine
vaccineType=("PEV" or "BSV" or "TBV")
Units: Code
Type of vaccine
Decay of effect
→ scenario → interventions → descriptions → vaccineDescription → decay
<decay
function=("constant" or "linear" or "exponential" or "weibull" or "hill" or "chitnis")
L=double
[ k=double ] DEFAULT VALUE 1.0
/>
Documentation (element)
Specification of decay of efficacy
Documentation (type)
Specification of decay or survival of a parameter.
Attributes
function
function=("constant" or "linear" or "exponential" or "weibull" or "hill" or "chitnis")
Units: None Min: 0 Max: 1
Determines which decay function to use. Available decay functions, for age t in years: constant: initial linear: initial * (1 - t/L) exponential: initial * exp( - t/L * log(2) ) weibull: initial * exp( -(t/L)^k * log(2) ) hill: initial / (1 + (t/L)^k) chitnis: initial * exp( k - k / (1 - (t/L)^2) ) for t less than L, 0 for t greater than or equal to L.
L
L=double
Units: Years Min: 0
Scale parameter of distribution. With Chintnis' function, this is the age at which the parameter has decayed to 0; with the other three functions, this is the age at which the parameter has decayed to half its original value. Not used for constant decay (though must be specified anyway).
k
k=double
Units: none Min: 0
Default value: 1.0
Shape parameter of distribution. If not specified, default value of 1 is used. Meaning depends on function; not used in some cases.
Variance parameter for vaccine efficacy
→ scenario → interventions → descriptions → vaccineDescription → efficacyB
<efficacyB
value=double
/>
Documentation (element)
Units: Positive real Min: 0.001 Max: 1.00E+06
Measure of variation in vaccine efficacy
Attributes
Input parameter value
value=double
A double-precision floating-point value.
initialEfficacy
→ scenario → interventions → descriptions → vaccineDescription → initialEfficacy
<initialEfficacy
value=double
/>
Attributes
Input parameter value
value=double
A double-precision floating-point value.
iptiDescription
→ scenario → interventions → descriptions → iptiDescription
<iptiDescription
iptiEffect=int
>
IN THIS ORDER:
| ( <infGenotype ... /> )+
</iptiDescription>
Attributes
iptiEffect
iptiEffect=int
infGenotype
→ scenario → interventions → descriptions → iptiDescription → infGenotype
<infGenotype
name=string
freq=double
ACR=double
proph=int
tolPeriod=int
atten=double
/>
Attributes
Age specific intervention
name=string
Units: string
Name of age specific intervention
Frequency
freq=double
Frequency of parasite genotype
ACR
ACR=double
Adequate clinical response (proportion)
Prophylactic period
proph=int
Prophylactic period
Tolerance period
tolPeriod=int
Tolerance period
Tolerance period
atten=double
Tolerance period
anopheles
→ scenario → interventions → descriptions → anopheles
<anopheles
mosquito=string
>
IN THIS ORDER:
| [ <ITNDescription ... /> ]
| [ <IRSDescription ... /> ]
| [ <VADescription ... /> ]
</anopheles>
Attributes
Entomological effects of interventions
mosquito=string
Description of the entomological effects of interventions
ITNDescription
→ scenario → interventions → descriptions → anopheles → ITNDescription
<ITNDescription>
IN THIS ORDER:
| <deterrency ... />
</ITNDescription>
Deterrency
→ scenario → interventions → descriptions → anopheles → ITNDescription → deterrency
<deterrency
function=("constant" or "linear" or "exponential" or "weibull" or "hill" or "chitnis")
L=double
[ k=double ] DEFAULT VALUE 1.0
initial=double
/>
Documentation (element)
Units: None Min: 0 Max: 1
One minus this multiplies the host's availability.
Documentation (type)
Specification of decay or survival of a parameter along with initial value.
Documentation (base type)
Specification of decay or survival of a parameter.
Attributes
function
function=("constant" or "linear" or "exponential" or "weibull" or "hill" or "chitnis")
Units: None Min: 0 Max: 1
Determines which decay function to use. Available decay functions, for age t in years: constant: initial linear: initial * (1 - t/L) exponential: initial * exp( - t/L * log(2) ) weibull: initial * exp( -(t/L)^k * log(2) ) hill: initial / (1 + (t/L)^k) chitnis: initial * exp( k - k / (1 - (t/L)^2) ) for t less than L, 0 for t greater than or equal to L.
L
L=double
Units: Years Min: 0
Scale parameter of distribution. With Chintnis' function, this is the age at which the parameter has decayed to 0; with the other three functions, this is the age at which the parameter has decayed to half its original value. Not used for constant decay (though must be specified anyway).
k
k=double
Units: none Min: 0
Default value: 1.0
Shape parameter of distribution. If not specified, default value of 1 is used. Meaning depends on function; not used in some cases.
Initial proportion
initial=double
Units: None Min: 0 Max: 1
The value before any decay.
Pre-prandial killing effect
→ scenario → interventions → descriptions → anopheles → ITNDescription → preprandialKillingEffect
<preprandialKillingEffect
function=("constant" or "linear" or "exponential" or "weibull" or "hill" or "chitnis")
L=double
[ k=double ] DEFAULT VALUE 1.0
initial=double
/>
Documentation (element)
Units: None Min: 0 Max: 1
One minus this multiplies the survival rate of mosquitoes attempting to bite a host.
Documentation (type)
Specification of decay or survival of a parameter along with initial value.
Documentation (base type)
Specification of decay or survival of a parameter.
Attributes
function
function=("constant" or "linear" or "exponential" or "weibull" or "hill" or "chitnis")
Units: None Min: 0 Max: 1
Determines which decay function to use. Available decay functions, for age t in years: constant: initial linear: initial * (1 - t/L) exponential: initial * exp( - t/L * log(2) ) weibull: initial * exp( -(t/L)^k * log(2) ) hill: initial / (1 + (t/L)^k) chitnis: initial * exp( k - k / (1 - (t/L)^2) ) for t less than L, 0 for t greater than or equal to L.
L
L=double
Units: Years Min: 0
Scale parameter of distribution. With Chintnis' function, this is the age at which the parameter has decayed to 0; with the other three functions, this is the age at which the parameter has decayed to half its original value. Not used for constant decay (though must be specified anyway).
k
k=double
Units: none Min: 0
Default value: 1.0
Shape parameter of distribution. If not specified, default value of 1 is used. Meaning depends on function; not used in some cases.
Initial proportion
initial=double
Units: None Min: 0 Max: 1
The value before any decay.
Post-prandial killing effect
→ scenario → interventions → descriptions → anopheles → ITNDescription → postprandialKillingEffect
<postprandialKillingEffect
function=("constant" or "linear" or "exponential" or "weibull" or "hill" or "chitnis")
L=double
[ k=double ] DEFAULT VALUE 1.0
initial=double
/>
Documentation (element)
Units: None Min: 0 Max: 1
One minus this multiplies the survival rate of mosquitoes attempting to escape after biting a host.
Documentation (type)
Specification of decay or survival of a parameter along with initial value.
Documentation (base type)
Specification of decay or survival of a parameter.
Attributes
function
function=("constant" or "linear" or "exponential" or "weibull" or "hill" or "chitnis")
Units: None Min: 0 Max: 1
Determines which decay function to use. Available decay functions, for age t in years: constant: initial linear: initial * (1 - t/L) exponential: initial * exp( - t/L * log(2) ) weibull: initial * exp( -(t/L)^k * log(2) ) hill: initial / (1 + (t/L)^k) chitnis: initial * exp( k - k / (1 - (t/L)^2) ) for t less than L, 0 for t greater than or equal to L.
L
L=double
Units: Years Min: 0
Scale parameter of distribution. With Chintnis' function, this is the age at which the parameter has decayed to 0; with the other three functions, this is the age at which the parameter has decayed to half its original value. Not used for constant decay (though must be specified anyway).
k
k=double
Units: none Min: 0
Default value: 1.0
Shape parameter of distribution. If not specified, default value of 1 is used. Meaning depends on function; not used in some cases.
Initial proportion
initial=double
Units: None Min: 0 Max: 1
The value before any decay.
IRSDescription
→ scenario → interventions → descriptions → anopheles → IRSDescription
<IRSDescription>
IN THIS ORDER:
| <deterrency ... />
</IRSDescription>
killing effect
→ scenario → interventions → descriptions → anopheles → IRSDescription → killingEffect
<killingEffect
function=("constant" or "linear" or "exponential" or "weibull" or "hill" or "chitnis")
L=double
[ k=double ] DEFAULT VALUE 1.0
initial=double
/>
Documentation (element)
Units: None Min: 0 Max: 1
One minus this multiplies the survival rate of resting mosquitoes.
Documentation (type)
Specification of decay or survival of a parameter along with initial value.
Documentation (base type)
Specification of decay or survival of a parameter.
Attributes
function
function=("constant" or "linear" or "exponential" or "weibull" or "hill" or "chitnis")
Units: None Min: 0 Max: 1
Determines which decay function to use. Available decay functions, for age t in years: constant: initial linear: initial * (1 - t/L) exponential: initial * exp( - t/L * log(2) ) weibull: initial * exp( -(t/L)^k * log(2) ) hill: initial / (1 + (t/L)^k) chitnis: initial * exp( k - k / (1 - (t/L)^2) ) for t less than L, 0 for t greater than or equal to L.
L
L=double
Units: Years Min: 0
Scale parameter of distribution. With Chintnis' function, this is the age at which the parameter has decayed to 0; with the other three functions, this is the age at which the parameter has decayed to half its original value. Not used for constant decay (though must be specified anyway).
k
k=double
Units: none Min: 0
Default value: 1.0
Shape parameter of distribution. If not specified, default value of 1 is used. Meaning depends on function; not used in some cases.
Initial proportion
initial=double
Units: None Min: 0 Max: 1
The value before any decay.
VADescription
→ scenario → interventions → descriptions → anopheles → VADescription
<VADescription
name=string
>
IN THIS ORDER:
| <deterrency ... />
</VADescription>
Attributes
Name of intervention
name=string
Units: string
Name of intervention
Continuously applied interventions
→ scenario → interventions → continuous
<continuous>
IN THIS ORDER:
| ( <vaccine ... /> )*
| ( <ITN ... /> )*
| ( <ipti ... /> )*
| ( <cohort ... /> )*
</continuous>
List of age groups for vaccination
→ scenario → interventions → continuous → vaccine
<vaccine
targetAgeYrs=double
coverage=double
[ cohort=boolean ] DEFAULT VALUE false
[ begin=int ] DEFAULT VALUE 0
[ end=int ] DEFAULT VALUE 2147483647
/>
Documentation (element)
Units: List of elements
List of age groups for vaccination
Attributes
Target age
targetAgeYrs=double
Units: Years Min: 0 Max: 100
Target age of intervention
Proportion covered
coverage=double
Units: Proportion Min: 0 Max: 1
Coverage of intervention
Cohort only
cohort=boolean
Units: Proportion Min: 0 Max: 1
Default value: false
Restrict distribution to chosen cohort (default: false).
First timestep active
begin=int
Units: Timesteps Min: 0 Max: 2147483647
Default value: 0
First timestep (from 0 at the beginning of the intervention period) this item is active. Defaults to 0.
End timestep
end=int
Units: Timesteps Min: 0 Max: 2147483647
Default value: 2147483647
End of the period during which the intervention is active (to be exact, the first timestep of the intervention period at which the item becomes inactive). Defaults to 2147483647.
Description of ITN deployment
→ scenario → interventions → continuous → ITN
<ITN
targetAgeYrs=double
coverage=double
[ cohort=boolean ] DEFAULT VALUE false
[ begin=int ] DEFAULT VALUE 0
[ end=int ] DEFAULT VALUE 2147483647
/>
Documentation (element)
Units: List of elements
Description of ITN deployment in the community
Attributes
Target age
targetAgeYrs=double
Units: Years Min: 0 Max: 100
Target age of intervention
Proportion covered
coverage=double
Units: Proportion Min: 0 Max: 1
Coverage of intervention
Cohort only
cohort=boolean
Units: Proportion Min: 0 Max: 1
Default value: false
Restrict distribution to chosen cohort (default: false).
First timestep active
begin=int
Units: Timesteps Min: 0 Max: 2147483647
Default value: 0
First timestep (from 0 at the beginning of the intervention period) this item is active. Defaults to 0.
End timestep
end=int
Units: Timesteps Min: 0 Max: 2147483647
Default value: 2147483647
End of the period during which the intervention is active (to be exact, the first timestep of the intervention period at which the item becomes inactive). Defaults to 2147483647.
List of age groups for IPTi
→ scenario → interventions → continuous → ipti
<ipti
targetAgeYrs=double
coverage=double
[ cohort=boolean ] DEFAULT VALUE false
[ begin=int ] DEFAULT VALUE 0
[ end=int ] DEFAULT VALUE 2147483647
/>
Documentation (element)
Units: List of elements
List of age groups for IPTi distribution
Attributes
Target age
targetAgeYrs=double
Units: Years Min: 0 Max: 100
Target age of intervention
Proportion covered
coverage=double
Units: Proportion Min: 0 Max: 1
Coverage of intervention
Cohort only
cohort=boolean
Units: Proportion Min: 0 Max: 1
Default value: false
Restrict distribution to chosen cohort (default: false).
First timestep active
begin=int
Units: Timesteps Min: 0 Max: 2147483647
Default value: 0
First timestep (from 0 at the beginning of the intervention period) this item is active. Defaults to 0.
End timestep
end=int
Units: Timesteps Min: 0 Max: 2147483647
Default value: 2147483647
End of the period during which the intervention is active (to be exact, the first timestep of the intervention period at which the item becomes inactive). Defaults to 2147483647.
Continuous cohort selection
→ scenario → interventions → continuous → cohort
<cohort
targetAgeYrs=double
coverage=double
[ cohort=boolean ] DEFAULT VALUE false
[ begin=int ] DEFAULT VALUE 0
[ end=int ] DEFAULT VALUE 2147483647
/>
Documentation (element)
Units: List of elements
Description of continuous selection of individuals for a cohort study.
Attributes
Target age
targetAgeYrs=double
Units: Years Min: 0 Max: 100
Target age of intervention
Proportion covered
coverage=double
Units: Proportion Min: 0 Max: 1
Coverage of intervention
Cohort only
cohort=boolean
Units: Proportion Min: 0 Max: 1
Default value: false
Restrict distribution to chosen cohort (default: false).
First timestep active
begin=int
Units: Timesteps Min: 0 Max: 2147483647
Default value: 0
First timestep (from 0 at the beginning of the intervention period) this item is active. Defaults to 0.
End timestep
end=int
Units: Timesteps Min: 0 Max: 2147483647
Default value: 2147483647
End of the period during which the intervention is active (to be exact, the first timestep of the intervention period at which the item becomes inactive). Defaults to 2147483647.
Timed interventions
→ scenario → interventions → timed
<timed>
IN THIS ORDER:
| ( <intervention ... /> )+
</timed>
Documentation (element)
Units: List of elements
List of timed interventions
Documentation (type)
Units: List of elements
List of timed interventions
intervention
→ scenario → interventions → timed → intervention
<intervention
time=int
>
IN THIS ORDER:
| [ <changeHS ... /> ]
| [ <changeEIR ... /> ]
| [ <importedInfectionsPerThousandHosts ... /> ]
| [ <MDA ... /> ]
| [ <vaccinate ... /> ]
| [ <ITN ... /> ]
| [ <IRS ... /> ]
| [ <VectorAvailability ... /> ]
| [ <ipti ... /> ]
| [ <immuneSuppression ... /> ]
| [ <insertR_0Case ... /> ]
| [ <uninfectVectors ... /> ]
| [ <larviciding ... /> ]
| [ <cohort ... /> ]
</intervention>
- changeHS
- changeEIR
- importedInfectionsPerThousandHosts
- MDA
- vaccinate
- ITN
- IRS
- VectorAvailability
- ipti
- immuneSuppression
- insertR_0Case
- uninfectVectors
- larviciding
- cohort
Attributes
Time step of intervention
time=int
Units: Number Min: 1 Max: 10000
Time step of intervention
changeHS
→ scenario → interventions → timed → intervention → changeHS
<changeHS>
IN THIS ORDER:
| EXACTLY ONE OF:
| | <EventScheduler ... />
| | <ImmediateOutcomes ... />
| <CFR ... />
| <pSequelaeInpatient ... />
</changeHS>
Documentation (type)
Units: List of elements
Description of case management system, used to specify the initial model or a replacement (an intervention). Encompasses case management data and some other data required to derive case outcomes.
Contains a sub-element describing the particular health-system in use. Health system data is here defined as data used to decide on a treatment strategy, given a case requiring treatment.
EventScheduler
→ scenario → healthSystem → EventScheduler
<EventScheduler>
IN THIS ORDER:
| <uncomplicated ... />
| <complicated ... />
| <ClinicalOutcomes ... />
| [ <NonMalariaFevers ... /> ]
</EventScheduler>
uncomplicated
→ scenario → healthSystem → EventScheduler → uncomplicated
<uncomplicated>
IN THIS ORDER:
| <decisions ... />
| <treatments ... />
</uncomplicated>
Documentation (type)
Units: List of elements
A set of decisions and a set of treatments.
complicated
→ scenario → healthSystem → EventScheduler → complicated
<complicated>
IN THIS ORDER:
| <decisions ... />
| <treatments ... />
</complicated>
Documentation (type)
Units: List of elements
A set of decisions and a set of treatments.
ClinicalOutcomes
→ scenario → healthSystem → EventScheduler → ClinicalOutcomes
<ClinicalOutcomes>
IN THIS ORDER:
| <maxUCSeekingMemory ... />
| <uncomplicatedCaseDuration ... />
| <complicatedCaseDuration ... />
| <complicatedRiskDuration ... />
| <pImmediateUC ... />
</ClinicalOutcomes>
- maxUCSeekingMemory
- uncomplicatedCaseDuration
- complicatedCaseDuration
- complicatedRiskDuration
- pImmediateUC
Documentation (type)
Description of base parameters of the clinical model.
Max UC treatment-seeking memory
→ scenario → healthSystem → EventScheduler → ClinicalOutcomes → maxUCSeekingMemory
<maxUCSeekingMemory>
int
</maxUCSeekingMemory>
Documentation (element)
Units: days Min: 0 Max: unbounded
Maximum number of timesteps (including first of case) an individual will remember they are sick before resetting.
Uncomplicated case duration
→ scenario → healthSystem → EventScheduler → ClinicalOutcomes → uncomplicatedCaseDuration
<uncomplicatedCaseDuration>
int
</uncomplicatedCaseDuration>
Documentation (element)
Units: days Min: 1 Max: unbounded
Fixed length of an uncomplicated case of malarial/non-malarial sickness (from treatment seeking until return to life-as-usual). Usually 3.
Complicated case duration
→ scenario → healthSystem → EventScheduler → ClinicalOutcomes → complicatedCaseDuration
<complicatedCaseDuration>
int
</complicatedCaseDuration>
Documentation (element)
Units: days Min: 1 Max: unbounded
Fixed length of a complicated/severe case of malaria (from treatment seeking until return to life-as-usual).
Complicated risk duration
→ scenario → healthSystem → EventScheduler → ClinicalOutcomes → complicatedRiskDuration
<complicatedRiskDuration>
int
</complicatedRiskDuration>
Documentation (element)
Units: days Min: 1 Max: unbounded
Number of days for which humans are at risk of death during a severe or complicated case of malaria. Cannot be greater than the duration of a complicated case or less than 1 day.
Probability of immediate UC treatment seeking
→ scenario → healthSystem → EventScheduler → ClinicalOutcomes → pImmediateUC
<pImmediateUC>
double
</pImmediateUC>
Documentation (element)
Units: none Min: 0 Max: 1
Probability that UC treatment seeking will be done immediately when sick, on second day given that it wasn't done on first, etc.
NonMalariaFevers
→ scenario → healthSystem → EventScheduler → NonMalariaFevers
<NonMalariaFevers>
IN THIS ORDER:
| <prTreatment ... />
| <effectNegativeTest ... />
| <effectPositiveTest ... />
| <effectNeed ... />
| <effectInformal ... />
| <CFR ... />
| <TreatmentEfficacy ... />
</NonMalariaFevers>
Documentation (type)
Description of non-malaria fever health-system modelling (treatment, outcomes and costing). Incidence is described by the model->clinical->NonMalariaFevers element. Non-malaria fevers are only modelled if the NON_MALARIA_FEVERS option is used.
As further explanation of the parameters below, we first take: β₀ = logit(P₀) - β₃·P(need), and then calculate the probability of antibiotic administration, P(AB), dependent on treatment seeking location. No seeking: P(AB) = 0 Informal sector: logit(P(AB)) = β₀ + β₄ Health facility: logit(P(AB)) = β₀ + β₁·I(neg) + β₂·I(pos) + β₃·I(need) (where I(X) is 1 when event X is true and 0 otherwise, logit(p)=log(p/(1-p)), event "need" is the event that death may occur without treatment, events "neg" and "pos" are the events that a malaria parasite diagnositic was used and indicated no parasites and parasites respectively).
P(treatment|no diagnostic)
→ scenario → healthSystem → EventScheduler → NonMalariaFevers → prTreatment
<prTreatment>
double
</prTreatment>
Documentation (element)
Units: none Min: 0 Max: 1
Probability of a non-malaria fever being treated with an antibiotic given that no malaria diagnostic was used but independent of need. Symbol: P₀.
Effect of a negative test
→ scenario → healthSystem → EventScheduler → NonMalariaFevers → effectNegativeTest
<effectNegativeTest>
double
</effectNegativeTest>
Documentation (element)
The effect of a negative malaria diagnostic on the odds ratio of receiving antibiotics. Symbol: exp(β₁).
Effect of a positive test
→ scenario → healthSystem → EventScheduler → NonMalariaFevers → effectPositiveTest
<effectPositiveTest>
double
</effectPositiveTest>
Documentation (element)
The effect of a positive malaria diagnostic on the odds ratio of receiving antibiotics. Symbol: exp(β₂).
Effect of need
→ scenario → healthSystem → EventScheduler → NonMalariaFevers → effectNeed
<effectNeed>
double
</effectNeed>
Documentation (element)
The effect of needing antibiotic treatment on the odds ratio of receiving antibiotics. Symbol: exp(β₃).
Effect of informal provider
→ scenario → healthSystem → EventScheduler → NonMalariaFevers → effectInformal
<effectInformal>
double
</effectInformal>
Documentation (element)
The effect of seeking treatment from an informal provider (i.e. a provider untrained in NMF diagnosis) on the odds ratio of receiving antibiotics. Symbol: exp(β₄)
Case fatality rate
→ scenario → healthSystem → EventScheduler → NonMalariaFevers → CFR
<CFR
[ interpolation=("none" or "linear") ] DEFAULT VALUE linear
>
IN THIS ORDER:
| ( <group ... /> )+
</CFR>
Documentation (element)
Units: none Min: 0 Max: 1
Base case fatality rate for non-malaria fevers (probability of death from a fever requiring antibiotic treatment given that no antibiotic treatment is received, per age-group).
Attributes
interpolation
interpolation=("none" or "linear")
Units: none
Default value: linear
Interpolation algorithm. Normally it is desirable for age-based values to be continuous w.r.t. age. By default linear interpolation is used. With all algorithms except "none", the age groups are converted to a set of points centred within each age range. Extra points are added at each end (zero and infinity) to keep value constant at both ends of the function. A zero-length age group may be used as a kind of barrier to adjust the distribution; e.g. with age group boundaries at 15, 20 and 25 years, a (linear) spline would be drawn between ages 17.5 and 22.5, whereas with boundaries at 15, 20 and 20 years, a spline would be drawn between ages 17.5 and 20 years (may be desired if individuals are assumed to reach adult size at 20). Algorithms:
- none: input values are used directly
- linear: straight lines (on an age vs. value graph) are used to interpolate data points.
age group
→ scenario → healthSystem → CFR → group
<group
value=double
lowerbound=double
/>
Documentation (element)
A series of values according to age groups, each specified with a lower-bound and a value. The first lower-bound specified must be zero; a final upper-bound of infinity is added to complete the last age group. At least one age group is required. Normally these are interpolated by a continuous function (see interpolation attribute).
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Lower bound
lowerbound=double
Units: Years Min: 0 Max: 100
Lower bound of age group
Treatment efficacy
→ scenario → healthSystem → EventScheduler → NonMalariaFevers → TreatmentEfficacy
<TreatmentEfficacy>
double
</TreatmentEfficacy>
Documentation (element)
Units: none Min: 0 Max: 1
Probability that treatment would prevent a death (i.e. CFR is multiplied by one minus this when treatment occurs).
ImmediateOutcomes
→ scenario → healthSystem → ImmediateOutcomes
<ImmediateOutcomes
name=string
>
IN THIS ORDER:
| <drugRegimen ... />
| <initialACR ... />
| <compliance ... />
| <nonCompliersEffective ... />
| <pSeekOfficialCareUncomplicated1 ... />
| <pSelfTreatUncomplicated ... />
| <pSeekOfficialCareUncomplicated2 ... />
| <pSeekOfficialCareSevere ... />
</ImmediateOutcomes>
- drugRegimen
- initialACR
- compliance
- nonCompliersEffective
- pSeekOfficialCareUncomplicated1
- pSelfTreatUncomplicated
- pSeekOfficialCareUncomplicated2
- pSeekOfficialCareSevere
Documentation (type)
Units: List of elements
Description of "immediate outcomes" health system: Tediosi et al case management model (Case management as described in AJTMH 75 (suppl 2) pp90-103).
Attributes
Case Management model
name=string
Units: string
Name of health system
Description of drug regimen
→ scenario → healthSystem → ImmediateOutcomes → drugRegimen
<drugRegimen
firstLine=string
secondLine=string
inpatient=string
/>
Documentation (element)
Units: List of elements
Description of drug regimen
Attributes
First line drug
firstLine=string
Units: Drug code
Code for first line drug
Second line drug
secondLine=string
Units: Drug code
Code for second line drug
Drug use for treating inpatients
inpatient=string
Units: Drug code
Code for drug used for treating inpatients
Initial cure rate
→ scenario → healthSystem → ImmediateOutcomes → initialACR
<initialACR>
IN THIS ORDER:
| [ <CQ ... /> ]
| [ <SP ... /> ]
| [ <AQ ... /> ]
| [ <SPAQ ... /> ]
| [ <ACT ... /> ]
| [ <QN ... /> ]
| <selfTreatment ... />
</initialACR>
Documentation (element)
Units: Proportion Min: 0 Max: 1
Initial cure rate
Chloroquine
→ scenario → healthSystem → ImmediateOutcomes → initialACR → CQ
<CQ
value=double
/>
Documentation (element)
Units: List of elements
Chloroquine
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Sulphadoxine-pyrimethamine
→ scenario → healthSystem → ImmediateOutcomes → initialACR → SP
<SP
value=double
/>
Documentation (element)
Units: List of elements
Sulphadoxine-pyrimethamine
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Amodiaquine
→ scenario → healthSystem → ImmediateOutcomes → initialACR → AQ
<AQ
value=double
/>
Documentation (element)
Units: List of elements
Amodiaquine
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Sulphadoxine-pyrimethamine/Amodiaquine
→ scenario → healthSystem → ImmediateOutcomes → initialACR → SPAQ
<SPAQ
value=double
/>
Documentation (element)
Units: List of elements
Sulphadoxine-pyrimethamine/Amodiaquine
Attributes
Input parameter value
value=double
A double-precision floating-point value.
ACT
→ scenario → healthSystem → ImmediateOutcomes → initialACR → ACT
<ACT
value=double
/>
Documentation (element)
Units: List of elements
Artemisinine combination therapy
Attributes
Input parameter value
value=double
A double-precision floating-point value.
QN
→ scenario → healthSystem → ImmediateOutcomes → initialACR → QN
<QN
value=double
/>
Documentation (element)
Units: List of elements
Quinine
Attributes
Input parameter value
value=double
A double-precision floating-point value.
selfTreatment
→ scenario → healthSystem → ImmediateOutcomes → initialACR → selfTreatment
<selfTreatment
value=double
/>
Documentation (element)
Units: Proportion Min: 0 Max: 1
Probability of self-treatment
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Adherence to treatment
→ scenario → healthSystem → ImmediateOutcomes → compliance
<compliance>
IN THIS ORDER:
| [ <CQ ... /> ]
| [ <SP ... /> ]
| [ <AQ ... /> ]
| [ <SPAQ ... /> ]
| [ <ACT ... /> ]
| [ <QN ... /> ]
| <selfTreatment ... />
</compliance>
Documentation (element)
Units: Proportion Min: 0 Max: 1
Adherence to treatment
Effectiveness of treatment in non-adherent patients
→ scenario → healthSystem → ImmediateOutcomes → nonCompliersEffective
<nonCompliersEffective>
IN THIS ORDER:
| [ <CQ ... /> ]
| [ <SP ... /> ]
| [ <AQ ... /> ]
| [ <SPAQ ... /> ]
| [ <ACT ... /> ]
| [ <QN ... /> ]
| <selfTreatment ... />
</nonCompliersEffective>
Documentation (element)
Units: Proportion Min: 0 Max: 1
Effectiveness of treatment of non compliers
Probability that a patient with uncomplicated disease seeks official care immediately
→ scenario → healthSystem → ImmediateOutcomes → pSeekOfficialCareUncomplicated1
<pSeekOfficialCareUncomplicated1
value=double
/>
Documentation (element)
Units: Proportion Min: 0 Max: 1
Probability that a patient with newly incident uncomplicated disease seeks official care
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Probability that a patient with uncomplicated disease self-treats
→ scenario → healthSystem → ImmediateOutcomes → pSelfTreatUncomplicated
<pSelfTreatUncomplicated
value=double
/>
Documentation (element)
Units: Proportion Min: 0 Max: 1
Probability that a patient with uncomplicated disease self-treats
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Probability that a recurring patient seeks official care
→ scenario → healthSystem → ImmediateOutcomes → pSeekOfficialCareUncomplicated2
<pSeekOfficialCareUncomplicated2
value=double
/>
Documentation (element)
Units: Proportion Min: 0 Max: 1
Probability that a patient with recurrence of uncomplicated disease seeks official care
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Probability that a patient with severe disease obtains appropriate care
→ scenario → healthSystem → ImmediateOutcomes → pSeekOfficialCareSevere
<pSeekOfficialCareSevere
value=double
/>
Documentation (element)
Units: Proportion Min: 0 Max: 1
Probability that a patient with severe disease obtains appropriate care
Attributes
Input parameter value
value=double
A double-precision floating-point value.
CFR
→ scenario → healthSystem → CFR
<CFR
[ interpolation=("none" or "linear") ] DEFAULT VALUE linear
>
IN THIS ORDER:
| ( <group ... /> )+
</CFR>
Documentation (element)
Case fatality rate (probability of an inpatient fatality from a bout of severe malaria, per age-group).
Attributes
interpolation
interpolation=("none" or "linear")
Units: none
Default value: linear
Interpolation algorithm. Normally it is desirable for age-based values to be continuous w.r.t. age. By default linear interpolation is used. With all algorithms except "none", the age groups are converted to a set of points centred within each age range. Extra points are added at each end (zero and infinity) to keep value constant at both ends of the function. A zero-length age group may be used as a kind of barrier to adjust the distribution; e.g. with age group boundaries at 15, 20 and 25 years, a (linear) spline would be drawn between ages 17.5 and 22.5, whereas with boundaries at 15, 20 and 20 years, a spline would be drawn between ages 17.5 and 20 years (may be desired if individuals are assumed to reach adult size at 20). Algorithms:
- none: input values are used directly
- linear: straight lines (on an age vs. value graph) are used to interpolate data points.
Probabilities of sequelae in inpatients
→ scenario → healthSystem → pSequelaeInpatient
<pSequelaeInpatient
[ interpolation=("none" or "linear") ] DEFAULT VALUE linear
>
IN THIS ORDER:
| ( <group ... /> )+
</pSequelaeInpatient>
Documentation (element)
Units: List of elements
List of age specific probabilities of sequelae in inpatients, during a severe bout.
Attributes
interpolation
interpolation=("none" or "linear")
Units: none
Default value: linear
Interpolation algorithm. Normally it is desirable for age-based values to be continuous w.r.t. age. By default linear interpolation is used. With all algorithms except "none", the age groups are converted to a set of points centred within each age range. Extra points are added at each end (zero and infinity) to keep value constant at both ends of the function. A zero-length age group may be used as a kind of barrier to adjust the distribution; e.g. with age group boundaries at 15, 20 and 25 years, a (linear) spline would be drawn between ages 17.5 and 22.5, whereas with boundaries at 15, 20 and 20 years, a spline would be drawn between ages 17.5 and 20 years (may be desired if individuals are assumed to reach adult size at 20). Algorithms:
- none: input values are used directly
- linear: straight lines (on an age vs. value graph) are used to interpolate data points.
Replacement transmission setting (vector control not enabled)
→ scenario → interventions → timed → intervention → changeEIR
<changeEIR
eipDuration=int
>
IN THIS ORDER:
| ( <EIRDaily ... /> )+
</changeEIR>
Documentation (element)
Units: List of elements
New description of transmission setting for models without vector control interventions (included for backward compatibility)
Attributes
Duration of sporogony (days)
eipDuration=int
The duration of sporogony in days
EIRDaily
→ scenario → entoData → nonVector → EIRDaily
<EIRDaily
[ origin=string ]
>
double
</EIRDaily>
Documentation (type)
Units: Infectious bites per adult per day
In the non-vector model, EIR is input as a sequence of daily values. There must be at least a years' worth of entries (365), and if there are more, values are wrapped and averaged (i.e. value for first day of year is taken as the mean of values for days 0, 365+0, 2*365+0, etc.).
Attributes
Time origin of EIR sequence
origin=string
Import infections
→ scenario → interventions → timed → intervention → importedInfectionsPerThousandHosts
<importedInfectionsPerThousandHosts>
double
</importedInfectionsPerThousandHosts>
Documentation (element)
Units: Number per 1000 hosts Min: 0
Import infections (as if a mosquito bites a human). Imported via a Bernoulli trial per host.
Mass Drug Administration
→ scenario → interventions → timed → intervention → MDA
<MDA
[ maxAge=double ] DEFAULT VALUE 100
[ minAge=double ] DEFAULT VALUE 0
coverage=double
[ cohort=boolean ] DEFAULT VALUE false
/>
Documentation (element)
Units: List of elements
Description of mass drug deployment in the community.
Attributes
Maximum age of eligible individuals
maxAge=double
Units: Years Min: 0 Max: 100
Default value: 100
Maximum age of eligible individuals (defaults to 100)
Minimum age of eligible individuals
minAge=double
Units: Years Min: 0 Max: 100
Default value: 0
Minimum age of eligible individuals (defaults to 0)
Coverage
coverage=double
Units: Proportion Min: 0 Max: 1
Coverage of intervention
Cohort only
cohort=boolean
Units: Proportion Min: 0 Max: 1
Default value: false
Restrict distribution to chosen cohort.
Vaccination
→ scenario → interventions → timed → intervention → vaccinate
<vaccinate
[ maxAge=double ] DEFAULT VALUE 100
[ minAge=double ] DEFAULT VALUE 0
coverage=double
[ cohort=boolean ] DEFAULT VALUE false
[ cumulativeWithMaxAge=double ]
/>
Documentation (element)
Units: List of elements
Description of vaccine deployment in the community
Attributes
Maximum age of eligible individuals
maxAge=double
Units: Years Min: 0 Max: 100
Default value: 100
Maximum age of eligible individuals (defaults to 100)
Minimum age of eligible individuals
minAge=double
Units: Years Min: 0 Max: 100
Default value: 0
Minimum age of eligible individuals (defaults to 0)
Coverage
coverage=double
Units: Proportion Min: 0 Max: 1
Coverage of intervention
Cohort only
cohort=boolean
Units: Proportion Min: 0 Max: 1
Default value: false
Restrict distribution to chosen cohort.
Cumulative deployment: maximum age
cumulativeWithMaxAge=double
Units: Years Min: 0
If present, activate cumulate deployment mode where intervention is only deployed to individuals not already considered protected in sufficient quantity to bring the total proportion of people covered up to level described by "coverage". Individuals are considered already protected by this intervention when the age of the last net/dose/etc. received is less than "maximum age" (this attribute) years old (i.e. when timeLastDeployment+maximumAge>currentTimeStep).
ITN deployment
→ scenario → interventions → timed → intervention → ITN
<ITN
[ maxAge=double ] DEFAULT VALUE 100
[ minAge=double ] DEFAULT VALUE 0
coverage=double
[ cohort=boolean ] DEFAULT VALUE false
[ cumulativeWithMaxAge=double ]
/>
Documentation (element)
Units: List of elements
Description of ITN deployment in the community
Attributes
Maximum age of eligible individuals
maxAge=double
Units: Years Min: 0 Max: 100
Default value: 100
Maximum age of eligible individuals (defaults to 100)
Minimum age of eligible individuals
minAge=double
Units: Years Min: 0 Max: 100
Default value: 0
Minimum age of eligible individuals (defaults to 0)
Coverage
coverage=double
Units: Proportion Min: 0 Max: 1
Coverage of intervention
Cohort only
cohort=boolean
Units: Proportion Min: 0 Max: 1
Default value: false
Restrict distribution to chosen cohort.
Cumulative deployment: maximum age
cumulativeWithMaxAge=double
Units: Years Min: 0
If present, activate cumulate deployment mode where intervention is only deployed to individuals not already considered protected in sufficient quantity to bring the total proportion of people covered up to level described by "coverage". Individuals are considered already protected by this intervention when the age of the last net/dose/etc. received is less than "maximum age" (this attribute) years old (i.e. when timeLastDeployment+maximumAge>currentTimeStep).
IRS deployment
→ scenario → interventions → timed → intervention → IRS
<IRS
[ maxAge=double ] DEFAULT VALUE 100
[ minAge=double ] DEFAULT VALUE 0
coverage=double
[ cohort=boolean ] DEFAULT VALUE false
[ cumulativeWithMaxAge=double ]
/>
Documentation (element)
Units: List of elements
Description of IRS deployment in the community
Attributes
Maximum age of eligible individuals
maxAge=double
Units: Years Min: 0 Max: 100
Default value: 100
Maximum age of eligible individuals (defaults to 100)
Minimum age of eligible individuals
minAge=double
Units: Years Min: 0 Max: 100
Default value: 0
Minimum age of eligible individuals (defaults to 0)
Coverage
coverage=double
Units: Proportion Min: 0 Max: 1
Coverage of intervention
Cohort only
cohort=boolean
Units: Proportion Min: 0 Max: 1
Default value: false
Restrict distribution to chosen cohort.
Cumulative deployment: maximum age
cumulativeWithMaxAge=double
Units: Years Min: 0
If present, activate cumulate deployment mode where intervention is only deployed to individuals not already considered protected in sufficient quantity to bring the total proportion of people covered up to level described by "coverage". Individuals are considered already protected by this intervention when the age of the last net/dose/etc. received is less than "maximum age" (this attribute) years old (i.e. when timeLastDeployment+maximumAge>currentTimeStep).
Mosquito deterrent
→ scenario → interventions → timed → intervention → VectorAvailability
<VectorAvailability
[ maxAge=double ] DEFAULT VALUE 100
[ minAge=double ] DEFAULT VALUE 0
coverage=double
[ cohort=boolean ] DEFAULT VALUE false
[ cumulativeWithMaxAge=double ]
/>
Documentation (element)
Units: List of elements
Description of a mosquito deterrent deployment in the community
Attributes
Maximum age of eligible individuals
maxAge=double
Units: Years Min: 0 Max: 100
Default value: 100
Maximum age of eligible individuals (defaults to 100)
Minimum age of eligible individuals
minAge=double
Units: Years Min: 0 Max: 100
Default value: 0
Minimum age of eligible individuals (defaults to 0)
Coverage
coverage=double
Units: Proportion Min: 0 Max: 1
Coverage of intervention
Cohort only
cohort=boolean
Units: Proportion Min: 0 Max: 1
Default value: false
Restrict distribution to chosen cohort.
Cumulative deployment: maximum age
cumulativeWithMaxAge=double
Units: Years Min: 0
If present, activate cumulate deployment mode where intervention is only deployed to individuals not already considered protected in sufficient quantity to bring the total proportion of people covered up to level described by "coverage". Individuals are considered already protected by this intervention when the age of the last net/dose/etc. received is less than "maximum age" (this attribute) years old (i.e. when timeLastDeployment+maximumAge>currentTimeStep).
IPTi deployment
→ scenario → interventions → timed → intervention → ipti
<ipti
[ maxAge=double ] DEFAULT VALUE 100
[ minAge=double ] DEFAULT VALUE 0
coverage=double
[ cohort=boolean ] DEFAULT VALUE false
[ cumulativeWithMaxAge=double ]
/>
Documentation (element)
Units: List of elements
List of age groups for IPTi distribution
Attributes
Maximum age of eligible individuals
maxAge=double
Units: Years Min: 0 Max: 100
Default value: 100
Maximum age of eligible individuals (defaults to 100)
Minimum age of eligible individuals
minAge=double
Units: Years Min: 0 Max: 100
Default value: 0
Minimum age of eligible individuals (defaults to 0)
Coverage
coverage=double
Units: Proportion Min: 0 Max: 1
Coverage of intervention
Cohort only
cohort=boolean
Units: Proportion Min: 0 Max: 1
Default value: false
Restrict distribution to chosen cohort.
Cumulative deployment: maximum age
cumulativeWithMaxAge=double
Units: Years Min: 0
If present, activate cumulate deployment mode where intervention is only deployed to individuals not already considered protected in sufficient quantity to bring the total proportion of people covered up to level described by "coverage". Individuals are considered already protected by this intervention when the age of the last net/dose/etc. received is less than "maximum age" (this attribute) years old (i.e. when timeLastDeployment+maximumAge>currentTimeStep).
Immune suppression deployment
→ scenario → interventions → timed → intervention → immuneSuppression
<immuneSuppression
[ maxAge=double ] DEFAULT VALUE 100
[ minAge=double ] DEFAULT VALUE 0
coverage=double
[ cohort=boolean ] DEFAULT VALUE false
/>
Documentation (element)
Units: List of elements
Removes all exposure-related immunity gained over time by hosts without removing infections.
Hypothetical, but potentially useful to simulate scenarios with unprotected humans.
Attributes
Maximum age of eligible individuals
maxAge=double
Units: Years Min: 0 Max: 100
Default value: 100
Maximum age of eligible individuals (defaults to 100)
Minimum age of eligible individuals
minAge=double
Units: Years Min: 0 Max: 100
Default value: 0
Minimum age of eligible individuals (defaults to 0)
Coverage
coverage=double
Units: Proportion Min: 0 Max: 1
Coverage of intervention
Cohort only
cohort=boolean
Units: Proportion Min: 0 Max: 1
Default value: false
Restrict distribution to chosen cohort.
Insert R_0 case
→ scenario → interventions → timed → intervention → insertR_0Case
<insertR_0Case/>
Documentation (element)
Units: List of elements
Used to simulate R_0. First, infections should be eliminated, immunity removed, and the population given an effective transmission- blocking vaccine (not done by this intervention). Then this intervention may be used to: pick one human, infect him, administer a fully effective Preerythrocytic vaccine and remove transmission-blocking vaccine effect on this human. Thus only this one human will be a source of infections in an unprotected population, and will not reinfected himself.
Uninfect vectors
→ scenario → interventions → timed → intervention → uninfectVectors
<uninfectVectors/>
Documentation (element)
Units: List of elements
Removes all infections from mosquitoes -- resulting in zero EIR to humans, until such time that mosquitoes are re-infected and become infectious. Only effectious in dynamic EIR mode (when changeEIR was not used).
Hypothetical, but potentially useful to simulate a setting starting from no infections, but with enough mosquitoes to reach a set equilibrium of exposure.
larviciding
→ scenario → interventions → timed → intervention → larviciding
<larviciding>
IN THIS ORDER:
| ( <anopheles ... /> )+
</larviciding>
Documentation (element)
Simple larviciding intervention description.
anopheles
→ scenario → interventions → timed → intervention → larviciding → anopheles
<anopheles
mosquito=string
effectiveness=double
duration=int
/>
Attributes
Mosquito to be larvicided
mosquito=string
Mosquito to be larvicided
Proportionate reduction in emergence
effectiveness=double
Units: none Min: 0 Max: 1
Proportional reduction in emergence rate
Duration of activity
duration=int
Units: days Min: 0 Max: inf
Number of days for which the intervention is active.
Mass Cohort Selection
→ scenario → interventions → timed → intervention → cohort
<cohort
[ maxAge=double ] DEFAULT VALUE 100
[ minAge=double ] DEFAULT VALUE 0
coverage=double
[ cohort=boolean ] DEFAULT VALUE false
[ cumulativeWithMaxAge=double ]
/>
Documentation (element)
Units: List of elements
Description of mass cohort selection.
Attributes
Maximum age of eligible individuals
maxAge=double
Units: Years Min: 0 Max: 100
Default value: 100
Maximum age of eligible individuals (defaults to 100)
Minimum age of eligible individuals
minAge=double
Units: Years Min: 0 Max: 100
Default value: 0
Minimum age of eligible individuals (defaults to 0)
Coverage
coverage=double
Units: Proportion Min: 0 Max: 1
Coverage of intervention
Cohort only
cohort=boolean
Units: Proportion Min: 0 Max: 1
Default value: false
Restrict distribution to chosen cohort.
Cumulative deployment: maximum age
cumulativeWithMaxAge=double
Units: Years Min: 0
If present, activate cumulate deployment mode where intervention is only deployed to individuals not already considered protected in sufficient quantity to bring the total proportion of people covered up to level described by "coverage". Individuals are considered already protected by this intervention when the age of the last net/dose/etc. received is less than "maximum age" (this attribute) years old (i.e. when timeLastDeployment+maximumAge>currentTimeStep).
healthSystem
→ scenario → healthSystem
<healthSystem>
IN THIS ORDER:
| EXACTLY ONE OF:
| | <EventScheduler ... />
| | <ImmediateOutcomes ... />
| <CFR ... />
| <pSequelaeInpatient ... />
</healthSystem>
Documentation (type)
Units: List of elements
Description of case management system, used to specify the initial model or a replacement (an intervention). Encompasses case management data and some other data required to derive case outcomes.
Contains a sub-element describing the particular health-system in use. Health system data is here defined as data used to decide on a treatment strategy, given a case requiring treatment.
Transmission and vector bionomics
<entoData
name=string
mode=("2" or "4")
[ annualEIR=double ]
>
IN THIS ORDER:
| EXACTLY ONE OF:
| | <nonVector ... />
| | <vector ... />
</entoData>
Documentation (element)
Units: List of elements
Description of entomological data
Attributes
Entomology dataset
name=string
Units: string
Name of entomology data
Transmission simulation mode
mode=("2" or "4")
Units: Code
Transmission simulation mode -- enter dynamic mode (4) or forced mode (2) at start of intervention period. Mode 3 (transient EIR from data provided as intervention) is set when intervention data is applied, and is no longer a valid value to specify here.
Override annual EIR
annualEIR=double
Units: Infectious bites per adult per year
If set, overrides the annual EIR by scaling it to this level. If ommitted, EIR levels are as specified elsewhere.
Transmission setting (vector control not enabled)
→ scenario → entoData → nonVector
<nonVector
eipDuration=int
>
IN THIS ORDER:
| ( <EIRDaily ... /> )+
</nonVector>
Documentation (element)
Units: List of elements
Description of transmission setting for models without vector control interventions (included for backward compatibility)
Attributes
Duration of sporogony (days)
eipDuration=int
The duration of sporogony in days
Transmission setting (vector control enabled)
→ scenario → entoData → vector
<vector>
IN THIS ORDER:
| ( <anopheles ... /> )+
| ( <nonHumanHosts ... /> )*
</vector>
Documentation (element)
Units: List of elements
Parameters of the transmission model.
anopheles
→ scenario → entoData → vector → anopheles
<anopheles
mosquito=string
propInfected=double
propInfectious=double
>
IN THIS ORDER:
| EXACTLY ONE OF:
| | <eir ... />
| | <monthlyEir ... />
| <mosq ... />
| ( <nonHumanHosts ... /> )*
</anopheles>
Documentation (type)
Description of input EIR for one specific vector species in terms of a Fourier approximation to the ln of the EIR during the burn in period
Attributes
Identifier for this anopheles species
mosquito=string
Initial guess of proportion of mosquitoes infected
propInfected=double
Units: Proportion Min: 0 Max: 1
Initial guess of the proportion of mosquitoes which are infected, o: O_v(t) = o*N_v(t). Only used as a starting value.
Initial guess of proportion of mosquitoes infectious
propInfectious=double
Units: Proportion Min: 0 Max: 1
Initial guess of the proportion of mosquitoes which are infectious, s: S_v(t) = s*N_v(t). Used as a starting value and then fit.
Fourier approximation to pre-intervention EIR
→ scenario → entoData → vector → anopheles → eir
<eir
a0=double
a1=double
b1=double
a2=double
b2=double
EIRRotateAngle=double
/>
Documentation (element)
Units: Infectious bites per adult per day
Description of target entomological inoculation rate as a Fourier series. This is used to estimate a suitible vector emergence rate. The annual (target) EIR is thus the exponent of the fourier series with these parameters, with period scaled to 365 days.
Attributes
a0 parameter of Fourier approximation to ln(EIR)
a0=double
a1 parameter of Fourier approximation to ln(EIR)
a1=double
b1 parameter of Fourier approximation to ln(EIR)
b1=double
a2 parameter of Fourier approximation to ln(EIR)
a2=double
b2 parameter of Fourier approximation to ln(EIR)
b2=double
Rotation angle defining the origin of the Fourier approximation to ln (EIR)
EIRRotateAngle=double
Units: radians
Monthly values for pre-intervention EIR
→ scenario → entoData → vector → anopheles → monthlyEir
<monthlyEir
annualEIR=double
>
IN THIS ORDER:
| ( <item ... /> ){12,12}
</monthlyEir>
Documentation (element)
Units: Infectious bites per adult per month
Description of target entomological inoculation rate as monthly values plus an annual override (monthly values are scaled to fit the annual EIR described). This is used to estimate a suitible vector emergence rate. The annual (target) EIR is derived from a Fourier series fit to these monthly values (used as a smoothing factor). List should contain twelve entries: January to December.
Attributes
Annual EIR
annualEIR=double
Units: Infectious bites per adult per year Min: 0
Scales the monthly values to give this annual innoculation rate.
Monthly pre-intervention EIR
→ scenario → entoData → vector → anopheles → monthlyEir → item
<item>
double
</item>
Vector Species
→ scenario → entoData → vector → anopheles → mosq
<mosq
mosqRestDuration=int
extrinsicIncubationPeriod=int
mosqLaidEggsSameDayProportion=double
mosqSeekingDuration=double
mosqSurvivalFeedingCycleProbability=double
mosqProbBiting=double
mosqProbFindRestSite=double
mosqProbResting=double
mosqProbOvipositing=double
mosqHumanBloodIndex=double
minInfectedThreshold=double
/>
Documentation (element)
Units: List of elements
Vector species
Attributes
Duration of the resting period of the vector (days)
mosqRestDuration=int
Extrinsic incubation period (days)
extrinsicIncubationPeriod=int
Proportion of mosquitoes host seeking on same day as ovipositing
mosqLaidEggsSameDayProportion=double
Duration of the host-seeking period of the vector (days)
mosqSeekingDuration=double
Probability that the mosquito survives the feeding cycle
mosqSurvivalFeedingCycleProbability=double
Probability that the mosquito succesfully bites chosen host
mosqProbBiting=double
Probability that the mosquito escapes host and finds a resting place after biting
mosqProbFindRestSite=double
Probability of mosquito successfully resting after finding a resting site
mosqProbResting=double
Probability of a mosquito successfully laying eggs given that it has rested
mosqProbOvipositing=double
Human blood index
mosqHumanBloodIndex=double
The proportion of resting mosquitoes which fed on human blood during the last feed.
Min infected threshold
minInfectedThreshold=double
Min: 0
If less than this many mosquitoes remain infected, transmission is interrupted.
nonHumanHosts
→ scenario → entoData → vector → anopheles → nonHumanHosts
<nonHumanHosts
name=string
mosqRelativeEntoAvailability=double
mosqProbBiting=double
mosqProbFindRestSite=double
mosqProbResting=double
/>
Documentation (element)
Units: List of elements
Non human host parameters, per type of host (must match up with non-species-specific parameters).
Attributes
Identifier for this category of non-human hosts
name=string
Relative availability of nonhuman hosts of type i (to other nonhuman hosts)
mosqRelativeEntoAvailability=double
Probability of mosquito successfully biting host
mosqProbBiting=double
Probability that the mosquito escapes host and finds a resting place after biting
mosqProbFindRestSite=double
Probability of mosquito successfully resting after finding a resting site
mosqProbResting=double
nonHumanHosts
→ scenario → entoData → vector → nonHumanHosts
<nonHumanHosts
name=string
number=double
/>
Attributes
Species of alternative host
name=string
Units: List of elements
Name of this species of non human hosts (must match up with those described per anopheles section)
number
number=double
Pharmacokinetics and pharmacodynamics
<drugDescription>
IN THIS ORDER:
| ( <drug ... /> )+
</drugDescription>
Documentation (element)
Units: List of elements
Drug model parameters
drug
→ scenario → drugDescription → drug
<drug
abbrev=string
>
IN THIS ORDER:
| <PD ... />
| <PK ... />
</drug>
Documentation (element)
Sequence of drug descriptions forming a library of drug parameters.
Attributes
abbrev
abbrev=string
PD
→ scenario → drugDescription → drug → PD
<PD>
IN THIS ORDER:
| ( <allele ... /> )+
</PD>
allele
→ scenario → drugDescription → drug → PD → allele
<allele
name=string
>
IN THIS ORDER:
| <initial_frequency ... />
| <max_killing_rate ... />
| <IC50 ... />
| <slope ... />
</allele>
Documentation (element)
PD parameters per allele, plus initial frequency of each allele.
Note: we assume a one-to-one correspondance of drugs to loci, hence each drug has an independent set of alleles here.
Attributes
name
name=string
Relative frequency
→ scenario → drugDescription → drug → PD → allele → initial_frequency
<initial_frequency>
double
</initial_frequency>
Documentation (element)
Units: relative frequency Min: 0
Frequency, relative to the total frequency of all alleles for this drug/locus.
Maximal parasite killing rate
→ scenario → drugDescription → drug → PD → allele → max_killing_rate
<max_killing_rate>
double
</max_killing_rate>
Documentation (element)
Units: 1/days Min: 0
k1 — Maximal parasite killing rate.
IC50
→ scenario → drugDescription → drug → PD → allele → IC50
<IC50>
double
</IC50>
Documentation (element)
Units: mg/l Min: 0
Half maximal effect concentration.
Slope of effect curve
→ scenario → drugDescription → drug → PD → allele → slope
<slope>
double
</slope>
Documentation (element)
Units: no units
n — Slope of the concentration effect curve
PK
→ scenario → drugDescription → drug → PK
<PK>
IN THIS ORDER:
| <negligible_concentration ... />
| <half_life ... />
| <vol_dist ... />
</PK>
Drug concentration considered negligible
→ scenario → drugDescription → drug → PK → negligible_concentration
<negligible_concentration>
double
</negligible_concentration>
Documentation (element)
Units: mg/l Min: 0
Concentration below which drug's effects are deemed negligible and can be removed from simulation.
drug half-life
→ scenario → drugDescription → drug → PK → half_life
<half_life>
double
</half_life>
Documentation (element)
Units: days Min: 0
Used to calculate elimination rate (which is: ln(2) / half_life).
Volume of Distribution
→ scenario → drugDescription → drug → PK → vol_dist
<vol_dist>
double
</vol_dist>
Documentation (element)
Units: l/kg Min: 0
Volume of Distribution
Model options and parameters
<model>
IN THIS ORDER:
| <ModelOptions ... />
| <clinical ... />
| <human ... />
| <parameters ... />
</model>
Documentation (element)
Units: List of elements
Encapsulation of all parameters which describe the model according to which fitting is done.
Model Options
→ scenario → model → ModelOptions
<ModelOptions>
IN THIS ORDER:
| ( <option ... /> )*
</ModelOptions>
Documentation (element)
Units: List of elements
All model options (bug fixes, choices between models, etc.).
The list of recognised options can be found in the code at:
include/util/ModelOptions.h and should also be in the wiki.
clinical
<clinical
healthSystemMemory=int
>
IN THIS ORDER:
| [ <NonMalariaFevers ... /> ]
</clinical>
Documentation (type)
Units: List of elements
Description of clinical parameters.
This is related to the health-system description, but contains data which can't be changed as part of an intervention and is not restricted to treatment.
Attributes
Follow-up period during which recurrence is treated as a failure
healthSystemMemory=int
Units: Time steps Min: 1 Max: 100
Follow-up period during which a recurrence is considered to be a treatment failure
NonMalariaFevers
→ scenario → model → clinical → NonMalariaFevers
<NonMalariaFevers>
IN THIS ORDER:
| <incidence ... />
| <prNeedTreatment ... />
</NonMalariaFevers>
Documentation (type)
Description of non-malaria fever incidence. Non-malaria fevers are only modelled if the NON_MALARIA_FEVERS option is used.
P(NMF)
→ scenario → model → clinical → NonMalariaFevers → incidence
<incidence
[ interpolation=("none" or "linear") ] DEFAULT VALUE linear
>
IN THIS ORDER:
| ( <group ... /> )+
</incidence>
Documentation (element)
Units: none Min: 0 Max: 1
Probability that a non-malaria fever occurs given that no concurrent malaria fever occurs.
Attributes
interpolation
interpolation=("none" or "linear")
Units: none
Default value: linear
Interpolation algorithm. Normally it is desirable for age-based values to be continuous w.r.t. age. By default linear interpolation is used. With all algorithms except "none", the age groups are converted to a set of points centred within each age range. Extra points are added at each end (zero and infinity) to keep value constant at both ends of the function. A zero-length age group may be used as a kind of barrier to adjust the distribution; e.g. with age group boundaries at 15, 20 and 25 years, a (linear) spline would be drawn between ages 17.5 and 22.5, whereas with boundaries at 15, 20 and 20 years, a spline would be drawn between ages 17.5 and 20 years (may be desired if individuals are assumed to reach adult size at 20). Algorithms:
- none: input values are used directly
- linear: straight lines (on an age vs. value graph) are used to interpolate data points.
P(need treatment)
→ scenario → model → clinical → NonMalariaFevers → prNeedTreatment
<prNeedTreatment
[ interpolation=("none" or "linear") ] DEFAULT VALUE linear
>
IN THIS ORDER:
| ( <group ... /> )+
</prNeedTreatment>
Documentation (element)
Units: none Min: 0 Max: 1
Probability that a non-malaria fever needs treatment with antibiotics (assuming fever is not induced by malaria, although concurrent parasites are possible).
Attributes
interpolation
interpolation=("none" or "linear")
Units: none
Default value: linear
Interpolation algorithm. Normally it is desirable for age-based values to be continuous w.r.t. age. By default linear interpolation is used. With all algorithms except "none", the age groups are converted to a set of points centred within each age range. Extra points are added at each end (zero and infinity) to keep value constant at both ends of the function. A zero-length age group may be used as a kind of barrier to adjust the distribution; e.g. with age group boundaries at 15, 20 and 25 years, a (linear) spline would be drawn between ages 17.5 and 22.5, whereas with boundaries at 15, 20 and 20 years, a spline would be drawn between ages 17.5 and 20 years (may be desired if individuals are assumed to reach adult size at 20). Algorithms:
- none: input values are used directly
- linear: straight lines (on an age vs. value graph) are used to interpolate data points.
human
<human>
IN THIS ORDER:
| <availabilityToMosquitoes ... />
| [ <weight ... /> ]
</human>
Documentation (type)
Parameters of host models.
Availability to mosquitoes
→ scenario → model → human → availabilityToMosquitoes
<availabilityToMosquitoes
[ interpolation=("none" or "linear") ] DEFAULT VALUE linear
>
IN THIS ORDER:
| ( <group ... /> )+
</availabilityToMosquitoes>
Documentation (element)
Units: None Min: 0 Max: 1
By age group data on availability of humans to mosquitoes relative to an adult.
Attributes
interpolation
interpolation=("none" or "linear")
Units: none
Default value: linear
Interpolation algorithm. Normally it is desirable for age-based values to be continuous w.r.t. age. By default linear interpolation is used. With all algorithms except "none", the age groups are converted to a set of points centred within each age range. Extra points are added at each end (zero and infinity) to keep value constant at both ends of the function. A zero-length age group may be used as a kind of barrier to adjust the distribution; e.g. with age group boundaries at 15, 20 and 25 years, a (linear) spline would be drawn between ages 17.5 and 22.5, whereas with boundaries at 15, 20 and 20 years, a spline would be drawn between ages 17.5 and 20 years (may be desired if individuals are assumed to reach adult size at 20). Algorithms:
- none: input values are used directly
- linear: straight lines (on an age vs. value graph) are used to interpolate data points.
Weight
→ scenario → model → human → weight
<weight
[ interpolation=("none" or "linear") ] DEFAULT VALUE linear
multStdDev=double
>
IN THIS ORDER:
| ( <group ... /> )+
</weight>
Documentation (element)
Units: kg Min: 0
By age group data on human weight (mass).
Attributes
interpolation
interpolation=("none" or "linear")
Units: none
Default value: linear
Interpolation algorithm. Normally it is desirable for age-based values to be continuous w.r.t. age. By default linear interpolation is used. With all algorithms except "none", the age groups are converted to a set of points centred within each age range. Extra points are added at each end (zero and infinity) to keep value constant at both ends of the function. A zero-length age group may be used as a kind of barrier to adjust the distribution; e.g. with age group boundaries at 15, 20 and 25 years, a (linear) spline would be drawn between ages 17.5 and 22.5, whereas with boundaries at 15, 20 and 20 years, a spline would be drawn between ages 17.5 and 20 years (may be desired if individuals are assumed to reach adult size at 20). Algorithms:
- none: input values are used directly
- linear: straight lines (on an age vs. value graph) are used to interpolate data points.
Standard deviation
multStdDev=double
Units: None Min: 0
Each human is assigned a weight multiplier from a normal distribution with mean 1 and this standard deviation at birth. His/her weight is this multiplier times the mean from age distribution. A standard deviation of zero for no heterogeneity is valid; a rough value from Tanzanian data is 0.14.
Parameters of the model of epidemiology
→ scenario → model → parameters
<parameters
interval=int
iseed=int
latentp=int
>
IN THIS ORDER:
| ( <parameter ... /> )+
</parameters>
Documentation (element)
Units: List of elements
Parameters of the epidemiological model
Attributes
Simulation step
interval=int
Units: Days
Simulation step
Random number seed
iseed=int
Units: Number
Seed for RNG
Pre-erythrocytic latent period
latentp=int
Units: Time steps Min: 0 Max: 20
pre-erythrocytic latent period, in time steps
parameter
→ scenario → model → parameters → parameter
<parameter
name=string
number=int
value=double
[ include=boolean ]
/>
Attributes
Name of parameter
name=string
Units: string
Name of parameter
Parameter number
number=int
Units: Number Min: 1 Max: 100
Reference number of input parameter
Parameter value
value=double
Units: Number Min: 0
Parameter value
Sampling indicator
include=boolean
Units: Number Min: 0 Max: 1
True if parameter is to be sampled in optimization runs. Not used in simulator app.
Schema 24 documentation
Generated from: scenario_24.xsd
.
Key:
abc required (one)
[ def ] optional (zero or one)
( ghi )* any number (zero or more)
( jkl )+ at least one
( mno ){2,inf} two or more occurrences
Scenario
→ scenario
<scenario
schemaVersion=int
analysisNo=int
name=string
wuID=int
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:noNamespaceSchemaLocation="scenario_24.xsd"
>
IN THIS ORDER:
| <demography ... />
| <monitoring ... />
| <interventions ... />
| <healthSystem ... />
| <entoData ... />
| [ <drugDescription ... /> ]
| <model ... />
</scenario>
Documentation (element)
Units: List of elements
Description of scenario
Attributes
Version of the xml schema
schemaVersion=int
Version of xml schema. If not equal to the current version an error is thrown. Use SchemaTranslator to update xml files.
Reference number of the analysis
analysisNo=int
Units: Number Min: 1 Max: 100000000
Unique identifier of scenario
Name of intervention
name=string
Units: string
Name of intervention
Work unit identifier
wuID=int
Units: Number Min: 1 Max: 100000000
Work unit ID. Only used to validate checkpointing, to prevent checkpoint cheats.
Human age distribution
→ scenario → demography
<demography
name=string
popSize=int
maximumAgeYrs=double
[ growthRate=double ]
>
IN THIS ORDER:
| <ageGroup ... />
</demography>
Documentation (element)
Units: List of elements
Description of demography
Attributes
Name of demography data
name=string
Units: string
Name of demography data
Population size
popSize=int
Units: Count Min: 1 Max: 100000
Population size
Maximum age of simulated humans
maximumAgeYrs=double
Units: years Min: 0 Max: 100
Maximum age of simulated humans in years.
Growth rate of human population
growthRate=double
Units: Number Min: 0 Max: 0
Growth rate of human population. (we should be able to implement this with non-zero values)
Age groups
→ scenario → demography → ageGroup
<ageGroup
lowerbound=double
>
IN THIS ORDER:
| ( <group ... /> )+
</ageGroup>
Documentation (element)
Units: List of elements
List of age groups included in demography
Documentation (type)
Units: List of elements
List of age groups included in demography or surveys
Attributes
lower bound of age group
lowerbound=double
Units: Years Min: 0 Max: 100
Lower bound of age group
group
→ scenario → demography → ageGroup → group
<group
poppercent=double
upperbound=double
/>
Attributes
Percentage in age group
poppercent=double
Percentage of human population in age group
upper bound of age group
upperbound=double
Units: Years Min: 0 Max: 100
Upper bound of age group
Measures to be reported
→ scenario → monitoring
<monitoring
name=string
[ cohortOnly=boolean ]
[ firstBoutOnly=boolean ]
[ firstTreatmentOnly=boolean ]
[ firstInfectionOnly=boolean ]
>
IN THIS ORDER:
| [ <continuous ... /> ]
| <SurveyOptions ... />
| <surveys ... />
| <ageGroup ... />
</monitoring>
Documentation (element)
Units: List of elements
Description of surveys
Attributes
Name of monitoring information
name=string
Units: string
Name of monitoring data
Survey only cohort
cohortOnly=boolean
If true, for many output measures, the output comes only from individuals in the cohort; otherwise output is from the entire population. Does not need to be specified if no cohort-selecting "interventions" are present.
Time to first episode only
firstBoutOnly=boolean
If true, remove individuals from the cohort at the start of the first episode (start of a clinical bout) since they were recruited into the cohort. This is intended for cohort studies that intend to measure time to first episode, using active case detection.
Time to first treatment only
firstTreatmentOnly=boolean
If true, remove individuals from the cohort when they first seek treatment since they were recruited into the cohort. This is intended for cohort studies that intend to measure time to first episode, using passive case detection.
Time to first infection only
firstInfectionOnly=boolean
If true, remove individuals from the cohort at completion of the first survey in which they present with a patent infection since they were recruited into the cohort. This intended for cohort studies that intend to measure time to first infection, using active case detection.
continuous
→ scenario → monitoring → continuous
<continuous
period=int
[ duringInit=boolean ]
>
IN THIS ORDER:
| ( <option ... /> )*
</continuous>
Attributes
Days between reports
period=int
Units: Days Min: 1 Max: unbounded
Number of timesteps between reports.
During initialization
duringInit=boolean
Units: Days Min: 1 Max: unbounded
Also output during initialization. By default this is disabled (only intervention-period data is output). This should not be used for predictions, but can be useful for model validation. In this mode, 'simulation time' is output as the first column (in addition to 'timestep'), since 'timestep' is dis- continuous across the start of the intervention period.
option
→ scenario → monitoring → continuous → option
<option
name=string
value=boolean
/>
Attributes
Model options required
name=string
Options define different model structures. Option name. Must be one of a strictly defined set. Options are not required to be listed if their default value is desired.
Indicator of whether option is required
value=boolean
Option value (true/false). Each option has a default value used if the option is not listed (usually false but sometimes true).
Name of quantity
→ scenario → monitoring → SurveyOptions
<SurveyOptions>
IN THIS ORDER:
| ( <option ... /> )*
</SurveyOptions>
Documentation (element)
List of all active survey options. See include/Survey.h for a list of supported outputs. Should also be on the wiki.
Survey times (time steps)
→ scenario → monitoring → surveys
<surveys
detectionLimit=double
>
IN THIS ORDER:
| ( <surveyTime ... /> )+
</surveys>
Documentation (element)
Units: List of elements
List of survey times
Attributes
Detection limit for parasitaemia
detectionLimit=double
Units: parasites/micolitre Min: 0 Max: 1000
Detection limit for parasitemia
Survey time
→ scenario → monitoring → surveys → surveyTime
<surveyTime>
int
</surveyTime>
Documentation (element)
Units: Number Min: 0
Survey time; 0 means just before start of main sim and is a valid survey-point. Reported data is either from a point-time survey (immediate data) or is collected over the previous year (data from previous timesteps-per-year period). Simulation will end immediately after last survey is taken.
Age groups
→ scenario → monitoring → ageGroup
<ageGroup
lowerbound=double
>
IN THIS ORDER:
| ( <group ... /> )+
</ageGroup>
Documentation (element)
Units: List of elements
List of age groups included in demography or surveys
Documentation (type)
Units: List of elements
List of age groups included in surveys
Attributes
lower bound of age group
lowerbound=double
Units: Years Min: 0 Max: 100
Lower bound of age group
group
→ scenario → monitoring → ageGroup → group
<group
upperbound=double
/>
Attributes
upper bound of age group
upperbound=double
Units: Years Min: 0 Max: 100
Upper bound of age group
Preventative interventions
<interventions
name=string
>
IN THIS ORDER:
| <descriptions ... />
| [ <continuous ... /> ]
| [ <timed ... /> ]
</interventions>
Documentation (element)
Units: List of elements
List of interventions. Generally these are either point-time distributions of something to some subset of the population, or continuous-time distribution targetting individuals when they reach a certain age.
Attributes
Intervention
name=string
Units: string
Name of age specific intervention
descriptions
→ scenario → interventions → descriptions
<descriptions>
IN THIS ORDER:
| [ <MDADescription ... /> ]
| ( <vaccineDescription ... /> ){0,3}
| [ <iptiDescription ... /> ]
| ( <anopheles ... /> )*
</descriptions>
Documentation (element)
Descriptions applying across all uses of an intervention.
Drug dose(s) used in MDA
→ scenario → interventions → descriptions → MDADescription
<MDADescription>
IN THIS ORDER:
| [ <schedule ... /> ]
</MDADescription>
Documentation (element)
Units: List of medicate elements
Description of drug dose(s) used in a mass-drug-administration intervention.
When using the new (Event Scheduler) case management model, a treatment schedule must be present.
schedule
→ scenario → interventions → descriptions → MDADescription → schedule
<schedule>
IN THIS ORDER:
| ( <medicate ... /> )*
</schedule>
Documentation (type)
The base (unmodified) schedule of drugs administered for this treatment.
medicate
→ scenario → interventions → descriptions → MDADescription → schedule → medicate
<medicate
drug=string
mg=double
hour=double
[ duration=double ]
/>
Attributes
drug
drug=string
Units: string
Abbreviated name of drug compound
drug dose
mg=double
Units: mg
Quantity of drug compound
time of administration
hour=double
Units: hours Min: 0
Number of hours past start of timestep this drug dose is administered at (first dose should be at hour 0).
duration of administration
duration=double
Units: hours Min: 0
If this attribute is given, use IV administration instead of orally. Specifies the number of hours over which the dose is administered.
vaccineDescription
→ scenario → interventions → descriptions → vaccineDescription
<vaccineDescription
vaccineType=int
>
IN THIS ORDER:
| <halfLifeYrs ... />
| <efficacyB ... />
| ( <initialEfficacy ... /> )+
</vaccineDescription>
Attributes
Type of vaccine
vaccineType=int
Units: Code
Type of vaccine
Half life of drug effect
→ scenario → interventions → descriptions → vaccineDescription → halfLifeYrs
<halfLifeYrs
value=double
/>
Documentation (element)
Units: Years Min: 0 Max: 100
Half life of drug effect
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Variance parameter for vaccine efficacy
→ scenario → interventions → descriptions → vaccineDescription → efficacyB
<efficacyB
value=double
/>
Documentation (element)
Units: Positive real Min: 0.001 Max: 1.00E+06
Measure of variation in vaccine efficacy
Attributes
Input parameter value
value=double
A double-precision floating-point value.
initialEfficacy
→ scenario → interventions → descriptions → vaccineDescription → initialEfficacy
<initialEfficacy
value=double
/>
Attributes
Input parameter value
value=double
A double-precision floating-point value.
iptiDescription
→ scenario → interventions → descriptions → iptiDescription
<iptiDescription
iptiEffect=int
>
IN THIS ORDER:
| ( <infGenotype ... /> )+
</iptiDescription>
Attributes
iptiEffect
iptiEffect=int
infGenotype
→ scenario → interventions → descriptions → iptiDescription → infGenotype
<infGenotype
name=string
freq=double
ACR=double
proph=int
tolPeriod=int
atten=double
/>
Attributes
Age specific intervention
name=string
Units: string
Name of age specific intervention
Frequency
freq=double
Frequency of parasite genotype
ACR
ACR=double
Adequate clinical response (proportion)
Prophylactic period
proph=int
Prophylactic period
Tolerance period
tolPeriod=int
Tolerance period
Tolerance period
atten=double
Tolerance period
anopheles
→ scenario → interventions → descriptions → anopheles
<anopheles
mosquito=string
>
IN THIS ORDER:
| [ <ITNDescription ... /> ]
| [ <IRSDescription ... /> ]
| [ <VADescription ... /> ]
</anopheles>
Attributes
Entomological effects of interventions
mosquito=string
Description of the entomological effects of interventions
ITNDescription
→ scenario → interventions → descriptions → anopheles → ITNDescription
<ITNDescription
name=string
>
IN THIS ORDER:
| <deterrency ... />
| <preprandialKillingEffect ... />
| <postprandialKillingEffect ... />
</ITNDescription>
Attributes
ITN effects
name=string
Units: string
Name of Insecticide Treated Net intervention
Deterrency
→ scenario → interventions → descriptions → anopheles → ITNDescription → deterrency
<deterrency
initial=double
halflife=double
[ Weibullk=double ]
/>
Documentation (element)
Units: None Min: 0 Max: 1
One minus this multiplies the host's availability (before decay).
Documentation (type)
Specification of a proportion with Weibull or exponential decay.
Attributes
Initial proportion
initial=double
Units: None Min: 0 Max: 1
The value before any decay.
half-life
halflife=double
Units: Years Min: 0
Half-life in years (more generally, halflife/ln(2) is lambda from the Weibull distribution).
Weibull k parameter
Weibullk=double
Min: 0
The parameter k of the Weibull distribution. If missing, 1.0 is used (equivalent to exponential decay).
Pre-prandial killing effect
→ scenario → interventions → descriptions → anopheles → ITNDescription → preprandialKillingEffect
<preprandialKillingEffect
initial=double
halflife=double
[ Weibullk=double ]
/>
Documentation (element)
Units: None Min: 0 Max: 1
One minus this multiplies the survival rate of mosquitoes attempting to bite a host.
Documentation (type)
Specification of a proportion with Weibull or exponential decay.
Attributes
Initial proportion
initial=double
Units: None Min: 0 Max: 1
The value before any decay.
half-life
halflife=double
Units: Years Min: 0
Half-life in years (more generally, halflife/ln(2) is lambda from the Weibull distribution).
Weibull k parameter
Weibullk=double
Min: 0
The parameter k of the Weibull distribution. If missing, 1.0 is used (equivalent to exponential decay).
Post-prandial killing effect
→ scenario → interventions → descriptions → anopheles → ITNDescription → postprandialKillingEffect
<postprandialKillingEffect
initial=double
halflife=double
[ Weibullk=double ]
/>
Documentation (element)
Units: None Min: 0 Max: 1
One minus this multiplies the survival rate of mosquitoes attempting to escape after biting a host.
Documentation (type)
Specification of a proportion with Weibull or exponential decay.
Attributes
Initial proportion
initial=double
Units: None Min: 0 Max: 1
The value before any decay.
half-life
halflife=double
Units: Years Min: 0
Half-life in years (more generally, halflife/ln(2) is lambda from the Weibull distribution).
Weibull k parameter
Weibullk=double
Min: 0
The parameter k of the Weibull distribution. If missing, 1.0 is used (equivalent to exponential decay).
IRSDescription
→ scenario → interventions → descriptions → anopheles → IRSDescription
<IRSDescription
name=string
>
IN THIS ORDER:
| <deterrency ... />
| <killingEffect ... />
</IRSDescription>
Attributes
name of IRS intervention
name=string
Units: string
Name of Indoor Residual Spraying intervention
Deterrency
→ scenario → interventions → descriptions → anopheles → IRSDescription → deterrency
<deterrency
initial=double
halflife=double
[ Weibullk=double ]
/>
Documentation (element)
Units: None Min: 0 Max: 1
One minus this multiplies the host's availability.
Documentation (type)
Specification of a proportion with Weibull or exponential decay.
Attributes
Initial proportion
initial=double
Units: None Min: 0 Max: 1
The value before any decay.
half-life
halflife=double
Units: Years Min: 0
Half-life in years (more generally, halflife/ln(2) is lambda from the Weibull distribution).
Weibull k parameter
Weibullk=double
Min: 0
The parameter k of the Weibull distribution. If missing, 1.0 is used (equivalent to exponential decay).
killing effect
→ scenario → interventions → descriptions → anopheles → IRSDescription → killingEffect
<killingEffect
initial=double
halflife=double
[ Weibullk=double ]
/>
Documentation (element)
Units: None Min: 0 Max: 1
One minus this multiplies the survival rate of resting mosquitoes.
Documentation (type)
Specification of a proportion with Weibull or exponential decay.
Attributes
Initial proportion
initial=double
Units: None Min: 0 Max: 1
The value before any decay.
half-life
halflife=double
Units: Years Min: 0
Half-life in years (more generally, halflife/ln(2) is lambda from the Weibull distribution).
Weibull k parameter
Weibullk=double
Min: 0
The parameter k of the Weibull distribution. If missing, 1.0 is used (equivalent to exponential decay).
VADescription
→ scenario → interventions → descriptions → anopheles → VADescription
<VADescription
name=string
>
IN THIS ORDER:
| <deterrency ... />
</VADescription>
Attributes
Name of mosquito deterrency intervention
name=string
Units: string
Name of mosquito deterrency intervention
Deterrency
→ scenario → interventions → descriptions → anopheles → VADescription → deterrency
<deterrency
initial=double
halflife=double
[ Weibullk=double ]
/>
Documentation (element)
Units: None Min: 0 Max: 1
One minus this multiplies the host's availability.
Documentation (type)
Specification of a proportion with Weibull or exponential decay.
Attributes
Initial proportion
initial=double
Units: None Min: 0 Max: 1
The value before any decay.
half-life
halflife=double
Units: Years Min: 0
Half-life in years (more generally, halflife/ln(2) is lambda from the Weibull distribution).
Weibull k parameter
Weibullk=double
Min: 0
The parameter k of the Weibull distribution. If missing, 1.0 is used (equivalent to exponential decay).
Continuously applied interventions
→ scenario → interventions → continuous
<continuous>
IN THIS ORDER:
| ( <vaccine ... /> )*
| ( <ITN ... /> )*
| ( <ipti ... /> )*
| ( <cohort ... /> )*
</continuous>
List of age groups for vaccination
→ scenario → interventions → continuous → vaccine
<vaccine
targetAgeYrs=double
coverage=double
[ cohort=boolean ] DEFAULT VALUE false
[ begin=int ] DEFAULT VALUE 0
[ end=int ] DEFAULT VALUE 2147483647
/>
Documentation (element)
Units: List of elements
List of age groups for vaccination
Attributes
Target age
targetAgeYrs=double
Units: Years Min: 0 Max: 100
Target age of intervention
Proportion covered
coverage=double
Units: Proportion Min: 0 Max: 1
Coverage of intervention
Cohort only
cohort=boolean
Units: Proportion Min: 0 Max: 1
Default value: false
Restrict distribution to chosen cohort (default: false).
First timestep active
begin=int
Units: Timesteps Min: 0 Max: 2147483647
Default value: 0
First timestep (from 0 at the beginning of the intervention period) this item is active. Defaults to 0.
End timestep
end=int
Units: Timesteps Min: 0 Max: 2147483647
Default value: 2147483647
End of the period during which the intervention is active (to be exact, the first timestep of the intervention period at which the item becomes inactive). Defaults to 2147483647.
Description of ITN deployment
→ scenario → interventions → continuous → ITN
<ITN
targetAgeYrs=double
coverage=double
[ cohort=boolean ] DEFAULT VALUE false
[ begin=int ] DEFAULT VALUE 0
[ end=int ] DEFAULT VALUE 2147483647
/>
Documentation (element)
Units: List of elements
Description of ITN deployment in the community
Attributes
Target age
targetAgeYrs=double
Units: Years Min: 0 Max: 100
Target age of intervention
Proportion covered
coverage=double
Units: Proportion Min: 0 Max: 1
Coverage of intervention
Cohort only
cohort=boolean
Units: Proportion Min: 0 Max: 1
Default value: false
Restrict distribution to chosen cohort (default: false).
First timestep active
begin=int
Units: Timesteps Min: 0 Max: 2147483647
Default value: 0
First timestep (from 0 at the beginning of the intervention period) this item is active. Defaults to 0.
End timestep
end=int
Units: Timesteps Min: 0 Max: 2147483647
Default value: 2147483647
End of the period during which the intervention is active (to be exact, the first timestep of the intervention period at which the item becomes inactive). Defaults to 2147483647.
List of age groups for IPTi
→ scenario → interventions → continuous → ipti
<ipti
targetAgeYrs=double
coverage=double
[ cohort=boolean ] DEFAULT VALUE false
[ begin=int ] DEFAULT VALUE 0
[ end=int ] DEFAULT VALUE 2147483647
/>
Documentation (element)
Units: List of elements
List of age groups for IPTi distribution
Attributes
Target age
targetAgeYrs=double
Units: Years Min: 0 Max: 100
Target age of intervention
Proportion covered
coverage=double
Units: Proportion Min: 0 Max: 1
Coverage of intervention
Cohort only
cohort=boolean
Units: Proportion Min: 0 Max: 1
Default value: false
Restrict distribution to chosen cohort (default: false).
First timestep active
begin=int
Units: Timesteps Min: 0 Max: 2147483647
Default value: 0
First timestep (from 0 at the beginning of the intervention period) this item is active. Defaults to 0.
End timestep
end=int
Units: Timesteps Min: 0 Max: 2147483647
Default value: 2147483647
End of the period during which the intervention is active (to be exact, the first timestep of the intervention period at which the item becomes inactive). Defaults to 2147483647.
Continuous cohort selection
→ scenario → interventions → continuous → cohort
<cohort
targetAgeYrs=double
coverage=double
[ cohort=boolean ] DEFAULT VALUE false
[ begin=int ] DEFAULT VALUE 0
[ end=int ] DEFAULT VALUE 2147483647
/>
Documentation (element)
Units: List of elements
Description of continuous selection of individuals for a cohort study.
Attributes
Target age
targetAgeYrs=double
Units: Years Min: 0 Max: 100
Target age of intervention
Proportion covered
coverage=double
Units: Proportion Min: 0 Max: 1
Coverage of intervention
Cohort only
cohort=boolean
Units: Proportion Min: 0 Max: 1
Default value: false
Restrict distribution to chosen cohort (default: false).
First timestep active
begin=int
Units: Timesteps Min: 0 Max: 2147483647
Default value: 0
First timestep (from 0 at the beginning of the intervention period) this item is active. Defaults to 0.
End timestep
end=int
Units: Timesteps Min: 0 Max: 2147483647
Default value: 2147483647
End of the period during which the intervention is active (to be exact, the first timestep of the intervention period at which the item becomes inactive). Defaults to 2147483647.
Timed interventions
→ scenario → interventions → timed
<timed>
IN THIS ORDER:
| ( <intervention ... /> )+
</timed>
Documentation (element)
Units: List of elements
List of timed interventions
Documentation (type)
Units: List of elements
List of timed interventions
intervention
→ scenario → interventions → timed → intervention
<intervention
time=int
>
IN THIS ORDER:
| [ <changeHS ... /> ]
| [ <changeEIR ... /> ]
| [ <importedInfectionsPerThousandHosts ... /> ]
| [ <MDA ... /> ]
| [ <vaccinate ... /> ]
| [ <ITN ... /> ]
| [ <IRS ... /> ]
| [ <VectorAvailability ... /> ]
| [ <ipti ... /> ]
| [ <immuneSuppression ... /> ]
| [ <insertR_0Case ... /> ]
| [ <uninfectVectors ... /> ]
| [ <larviciding ... /> ]
| [ <cohort ... /> ]
</intervention>
- changeHS
- changeEIR
- importedInfectionsPerThousandHosts
- MDA
- vaccinate
- ITN
- IRS
- VectorAvailability
- ipti
- immuneSuppression
- insertR_0Case
- uninfectVectors
- larviciding
- cohort
Attributes
Time step of intervention
time=int
Units: Number Min: 1 Max: 10000
Time step of intervention
changeHS
→ scenario → interventions → timed → intervention → changeHS
<changeHS>
IN THIS ORDER:
| EXACTLY ONE OF:
| | <EventScheduler ... />
| | <ImmediateOutcomes ... />
| <CFR ... />
| <pSequelaeInpatient ... />
</changeHS>
Documentation (type)
Units: List of elements
Description of case management system, used to specify the initial model or a replacement (an intervention). Encompasses case management data and some other data required to derive case outcomes.
Contains a sub-element describing the particular health-system in use. Health system data is here defined as data used to decide on a treatment strategy, given a case requiring treatment.
EventScheduler
→ scenario → healthSystem → EventScheduler
<EventScheduler>
IN THIS ORDER:
| <uncomplicated ... />
| <complicated ... />
| <ClinicalOutcomes ... />
</EventScheduler>
uncomplicated
→ scenario → healthSystem → EventScheduler → uncomplicated
<uncomplicated>
IN THIS ORDER:
| <decisions ... />
| <treatments ... />
</uncomplicated>
Documentation (type)
Units: List of elements
A set of decisions and a set of treatments.
decisions
→ scenario → healthSystem → EventScheduler → uncomplicated → decisions
<decisions>
IN THIS ORDER:
| ( <decision ... /> )*
</decisions>
Documentation (type)
Description of decisions for a case management tree. A generic view of this tree would be that each decision is deterministic, or based on probabilities which may depend on other decisions. Probabilistic decisions are described here.
In general, each decision has a name, a defined set of outcome values, and a set of dependent decisions mentioned by name. The following decisions, with their associated outcomes, are provided by the code (and may not be included here):
- case (uncomplicated only): Returns "UC1" if there is no recent history of a malarial case, or "UC2" if there is.
- result: Dependent on decision "test", this performs a parasite density test. Output is one of "none" (no test performed), "positive", "negative".
The following decisions must be described here:
- test (uncomplicated only): Outputs must be "none", "microscopy" or "RDT" to describe which test the "result" decision uses.
- treatment: Describes which treatment to use. Values aren't restricted but must match up with a treatment described in the corresponding "treatments" section.
- hospitalisation (complicated only): none, immediate or delayed.
decision
→ scenario → healthSystem → EventScheduler → uncomplicated → decisions → decision
<decision
name=string
depends=string
values=string
>
string
</decision>
Documentation (type)
A decision describes how to choose between a set of values.
Lexically, it can contain symbols matching "[_.a-zA-Z0-9]+", round brackets: (), braces: {} and colons. Whitespace is ignored except to separate symbols.
Syntactically, it must match one TREE, where SYMBOL is a symbol described above. (Here, "x|y" means x or y, "x+" means x occurs once or more, brackets show grouping.) TREE := BRANCH_SET | OUTCOME BRANCH_SET := BRANCH+ BRANCH := DECISION '(' VALUE ')' ( ':' OUTCOME | '{' TREE '}' ) OUTCOME, DECISION, VALUE := SYMBOL
For each BRANCH_SET each BRANCH must have the same DECISION. This DECISION must be one of the dependencies mentioned in "depends". This may be:
- another decision, in which case the VALUE immediately following in brackets must correspond to one of its output values. The BRANCH_SET immediately containing this BRANCH must represent each output value of the same decision exactly once, and no parent BRANCH_SET may be for the same DECISION.
- "p": this indicates a probabilistic decision. In this case the value is a probability, the sum of all values for the BRANCH_SET must be 1 and the decision must be associated directly with OUTCOMEs (not sub-TREEs).
- "age": this indicates an age-test. The VALUE must have the form "a-b", indicating that this branch will be taken for individuals aged such that a <= age < b, where a,b are non-negative real numbers or the special value "inf", and a <= b. All VALUEs in the BRANCH_SET must cover all possible (non-negative real) ages, with no overlap (hence, smallest a must be 0 and greatest b must be inf).
Semantically, each OUTCOME must be one of the values associated with this decision.
Attributes
Name of decision
name=string
The name of this decision. The name must match the regular expression "[_a-zA-Z0-9]+"; that is it can only contain letters, digits and _ characters (no spaces, punctuation, etc.).
Preceding decisions
depends=string
A comma-separated list of decisions that must have already been evaluated before this decision can be evaluated. Can be empty. Each must be hard-coded or described here. Can include the special decisions "p" and "age", though "age" cannot be combined with any other dependency.
Outcome values
values=string
A comma-separated list of outcome values this decision may have. The name of each value must be of the same form as decision names (i.e. only contain letters, digits and _ characters).
treatments
→ scenario → healthSystem → EventScheduler → uncomplicated → treatments
<treatments>
IN THIS ORDER:
| ( <treatment ... /> )*
</treatments>
Documentation (type)
Units: string
A list of drug treatment tables. Each should have a name corresponding to one of the "drug" decision's values.
treatment
→ scenario → healthSystem → EventScheduler → uncomplicated → treatments → treatment
<treatment
name=string
>
IN THIS ORDER:
| <schedule ... />
| ( <modifier ... /> )*
</treatment>
Documentation (type)
A description of a base treatment schedule along with modifiers to handle delays, quality variations, etc.
Attributes
Treatment administered
name=string
Units: string
Name corresponding to one of the drug decision's output values.
schedule
→ scenario → healthSystem → EventScheduler → uncomplicated → treatments → treatment → schedule
<schedule>
IN THIS ORDER:
| ( <medicate ... /> )*
</schedule>
Documentation (type)
The base (unmodified) schedule of drugs administered for this treatment.
modifier
→ scenario → healthSystem → EventScheduler → uncomplicated → treatments → treatment → modifier
<modifier
decision=string
>
EXACTLY ONE OF:
| ( <multiplyQty ... /> )*
| ( <delay ... /> )*
| ( <selectTimeRange ... /> )*
</modifier>
Documentation (type)
A modifier for this treatment, according to the outputs of a decision.
The "decision" attribute must be the name of a known decision. Then, there must be a set of multipyQty, delay or selectTimeRange sub-elements, each of which corresponds to one value output of the decision.
Attributes
decision
decision=string
Units: string
Specifies the decision that this modifier acts on.
multiplyQty
→ scenario → healthSystem → EventScheduler → uncomplicated → treatments → treatment → modifier → multiplyQty
<multiplyQty
value=string
effect=string
[ affectsCost=boolean ]
/>
Documentation (element)
Multiplies the quantity of active ingredients of drugs administered.
The "drugs" attribute is a comma-separated list of all active ingredients administered in the base schedule (each must be listed once) and the content of this element is a comma- separated list of multipliers for each active ingredient, listed in the same order as in the "drugs" attribute. E.g. with drugs="A,B" and content "0.5,1" the quantity of drug A is halved while that of B is unchanged.
Attributes
value of decision
value=string
Units: string
Specifies a value of the decision to act on.
List of drugs affected
effect=string
Units: string
Comma-separated list of the effect the modifier has on each drug, in the form DRUG1(EFFECT1),DRUG2(EFFECT2), etc.
Affects cost?
affectsCost=boolean
Units: none
Does this affect the cost? If false, the effective drug usage (w.r.t. cost) is unaffected by this modifier; if true it is. Defaults to true (if omitted). Is meaningless for delays.
delay
→ scenario → healthSystem → EventScheduler → uncomplicated → treatments → treatment → modifier → delay
<delay
value=string
effect=string
[ affectsCost=boolean ]
/>
Documentation (element)
Delays administration of drugs listed in the base schedule by so many hours.
The "drugs" attribute is a comma-separated list of all active ingredients administered in the base schedule (each must be listed once) and the content of this element is a comma- separated list of delays (in hours) for each active ingredient, listed in the same order as in the "drugs" attribute. E.g. with drugs="A,B" and content "0,6", drug A is administered as in the base schedule while drug B is administered 6 hours later than specified.
Attributes
value of decision
value=string
Units: string
Specifies a value of the decision to act on.
List of drugs affected
effect=string
Units: string
Comma-separated list of the effect the modifier has on each drug, in the form DRUG1(EFFECT1),DRUG2(EFFECT2), etc.
Affects cost?
affectsCost=boolean
Units: none
Does this affect the cost? If false, the effective drug usage (w.r.t. cost) is unaffected by this modifier; if true it is. Defaults to true (if omitted). Is meaningless for delays.
selectTimeRange
→ scenario → healthSystem → EventScheduler → uncomplicated → treatments → treatment → modifier → selectTimeRange
<selectTimeRange
value=string
effect=string
[ affectsCost=boolean ]
/>
Documentation (element)
Selects which drug doses to administer according to time of administration (before times are modified by delays). Half-open interval: [x,y)
The "drugs" attribute is a comma-separated list of all active ingredients administered in the base schedule (each must be listed once) and the content of this element is a comma- separated list of time-ranges (in hours) for each active ingredient, listed in the same order as in the "drugs" attribute. The time-ranges should be of the form x-y and are interpreted as the half-open interval [x,y); that is a drug listed with time t will only be administered if x <= t < y.
Attributes
value of decision
value=string
Units: string
Specifies a value of the decision to act on.
List of drugs affected
effect=string
Units: string
Comma-separated list of the effect the modifier has on each drug, in the form DRUG1(EFFECT1),DRUG2(EFFECT2), etc.
Affects cost?
affectsCost=boolean
Units: none
Does this affect the cost? If false, the effective drug usage (w.r.t. cost) is unaffected by this modifier; if true it is. Defaults to true (if omitted). Is meaningless for delays.
complicated
→ scenario → healthSystem → EventScheduler → complicated
<complicated>
IN THIS ORDER:
| <decisions ... />
| <treatments ... />
</complicated>
Documentation (type)
Units: List of elements
A set of decisions and a set of treatments.
ClinicalOutcomes
→ scenario → healthSystem → EventScheduler → ClinicalOutcomes
<ClinicalOutcomes>
IN THIS ORDER:
| <maxUCSeekingMemory ... />
| <uncomplicatedCaseDuration ... />
| <complicatedCaseDuration ... />
| <complicatedRiskDuration ... />
| <pImmediateUC ... />
</ClinicalOutcomes>
- maxUCSeekingMemory
- uncomplicatedCaseDuration
- complicatedCaseDuration
- complicatedRiskDuration
- pImmediateUC
Documentation (type)
Description of base parameters of the clinical model.
Max UC treatment-seeking memory
→ scenario → healthSystem → EventScheduler → ClinicalOutcomes → maxUCSeekingMemory
<maxUCSeekingMemory>
int
</maxUCSeekingMemory>
Documentation (element)
Units: days Min: 0 Max: unbounded
Maximum number of timesteps (including first of case) an individual will remember they are sick before resetting.
Uncomplicated case duration
→ scenario → healthSystem → EventScheduler → ClinicalOutcomes → uncomplicatedCaseDuration
<uncomplicatedCaseDuration>
int
</uncomplicatedCaseDuration>
Documentation (element)
Units: days Min: 1 Max: unbounded
Fixed length of an uncomplicated case of malarial/non-malarial sickness (from treatment seeking until return to life-as-usual). Usually 3.
Complicated case duration
→ scenario → healthSystem → EventScheduler → ClinicalOutcomes → complicatedCaseDuration
<complicatedCaseDuration>
int
</complicatedCaseDuration>
Documentation (element)
Units: days Min: 1 Max: unbounded
Fixed length of a complicated/severe case of malaria (from treatment seeking until return to life-as-usual).
Complicated risk duration
→ scenario → healthSystem → EventScheduler → ClinicalOutcomes → complicatedRiskDuration
<complicatedRiskDuration>
int
</complicatedRiskDuration>
Documentation (element)
Units: days Min: 1 Max: unbounded
Number of days for which humans are at risk of death during a severe or complicated case of malaria. Cannot be greater than the duration of a complicated case or less than 1 day.
Probability of immediate UC treatment seeking
→ scenario → healthSystem → EventScheduler → ClinicalOutcomes → pImmediateUC
<pImmediateUC>
double
</pImmediateUC>
Documentation (element)
Units: none Min: 0 Max: 1
Probability that UC treatment seeking will be done immediately when sick, on second day given that it wasn't done on first, etc.
ImmediateOutcomes
→ scenario → healthSystem → ImmediateOutcomes
<ImmediateOutcomes
name=string
>
IN THIS ORDER:
| <drugRegimen ... />
| <initialACR ... />
| <compliance ... />
| <nonCompliersEffective ... />
| <pSeekOfficialCareUncomplicated1 ... />
| <pSelfTreatUncomplicated ... />
| <pSeekOfficialCareUncomplicated2 ... />
| <pSeekOfficialCareSevere ... />
</ImmediateOutcomes>
- drugRegimen
- initialACR
- compliance
- nonCompliersEffective
- pSeekOfficialCareUncomplicated1
- pSelfTreatUncomplicated
- pSeekOfficialCareUncomplicated2
- pSeekOfficialCareSevere
Documentation (type)
Units: List of elements
Description of "immediate outcomes" health system: Tediosi et al case management model (Case management as described in AJTMH 75 (suppl 2) pp90-103).
Attributes
Case Management model
name=string
Units: string
Name of health system
Description of drug regimen
→ scenario → healthSystem → ImmediateOutcomes → drugRegimen
<drugRegimen
firstLine=string
secondLine=string
inpatient=string
/>
Documentation (element)
Units: List of elements
Description of drug regimen
Attributes
First line drug
firstLine=string
Units: Drug code
Code for first line drug
Second line drug
secondLine=string
Units: Drug code
Code for second line drug
Drug use for treating inpatients
inpatient=string
Units: Drug code
Code for drug used for treating inpatients
Initial cure rate
→ scenario → healthSystem → ImmediateOutcomes → initialACR
<initialACR>
IN THIS ORDER:
| [ <CQ ... /> ]
| [ <SP ... /> ]
| [ <AQ ... /> ]
| [ <SPAQ ... /> ]
| [ <ACT ... /> ]
| [ <QN ... /> ]
| <selfTreatment ... />
</initialACR>
Documentation (element)
Units: Proportion Min: 0 Max: 1
Initial cure rate
Chloroquine
→ scenario → healthSystem → ImmediateOutcomes → initialACR → CQ
<CQ
value=double
/>
Documentation (element)
Units: List of elements
Chloroquine
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Sulphadoxine-pyrimethamine
→ scenario → healthSystem → ImmediateOutcomes → initialACR → SP
<SP
value=double
/>
Documentation (element)
Units: List of elements
Sulphadoxine-pyrimethamine
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Amodiaquine
→ scenario → healthSystem → ImmediateOutcomes → initialACR → AQ
<AQ
value=double
/>
Documentation (element)
Units: List of elements
Amodiaquine
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Sulphadoxine-pyrimethamine/Amodiaquine
→ scenario → healthSystem → ImmediateOutcomes → initialACR → SPAQ
<SPAQ
value=double
/>
Documentation (element)
Units: List of elements
Sulphadoxine-pyrimethamine/Amodiaquine
Attributes
Input parameter value
value=double
A double-precision floating-point value.
ACT
→ scenario → healthSystem → ImmediateOutcomes → initialACR → ACT
<ACT
value=double
/>
Documentation (element)
Units: List of elements
Artemisinine combination therapy
Attributes
Input parameter value
value=double
A double-precision floating-point value.
QN
→ scenario → healthSystem → ImmediateOutcomes → initialACR → QN
<QN
value=double
/>
Documentation (element)
Units: List of elements
Quinine
Attributes
Input parameter value
value=double
A double-precision floating-point value.
selfTreatment
→ scenario → healthSystem → ImmediateOutcomes → initialACR → selfTreatment
<selfTreatment
value=double
/>
Documentation (element)
Units: Proportion Min: 0 Max: 1
Probability of self-treatment
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Adherence to treatment
→ scenario → healthSystem → ImmediateOutcomes → compliance
<compliance>
IN THIS ORDER:
| [ <CQ ... /> ]
| [ <SP ... /> ]
| [ <AQ ... /> ]
| [ <SPAQ ... /> ]
| [ <ACT ... /> ]
| [ <QN ... /> ]
| <selfTreatment ... />
</compliance>
Documentation (element)
Units: Proportion Min: 0 Max: 1
Adherence to treatment
Effectiveness of treatment in non-adherent patients
→ scenario → healthSystem → ImmediateOutcomes → nonCompliersEffective
<nonCompliersEffective>
IN THIS ORDER:
| [ <CQ ... /> ]
| [ <SP ... /> ]
| [ <AQ ... /> ]
| [ <SPAQ ... /> ]
| [ <ACT ... /> ]
| [ <QN ... /> ]
| <selfTreatment ... />
</nonCompliersEffective>
Documentation (element)
Units: Proportion Min: 0 Max: 1
Effectiveness of treatment of non compliers
Probability that a patient with uncomplicated disease seeks official care immediately
→ scenario → healthSystem → ImmediateOutcomes → pSeekOfficialCareUncomplicated1
<pSeekOfficialCareUncomplicated1
value=double
/>
Documentation (element)
Units: Proportion Min: 0 Max: 1
Probability that a patient with newly incident uncomplicated disease seeks official care
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Probability that a patient with uncomplicated disease self-treats
→ scenario → healthSystem → ImmediateOutcomes → pSelfTreatUncomplicated
<pSelfTreatUncomplicated
value=double
/>
Documentation (element)
Units: Proportion Min: 0 Max: 1
Probability that a patient with uncomplicated disease self-treats
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Probability that a recurring patient seeks official care
→ scenario → healthSystem → ImmediateOutcomes → pSeekOfficialCareUncomplicated2
<pSeekOfficialCareUncomplicated2
value=double
/>
Documentation (element)
Units: Proportion Min: 0 Max: 1
Probability that a patient with recurrence of uncomplicated disease seeks official care
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Probability that a patient with severe disease obtains appropriate care
→ scenario → healthSystem → ImmediateOutcomes → pSeekOfficialCareSevere
<pSeekOfficialCareSevere
value=double
/>
Documentation (element)
Units: Proportion Min: 0 Max: 1
Probability that a patient with severe disease obtains appropriate care
Attributes
Input parameter value
value=double
A double-precision floating-point value.
CFR
→ scenario → healthSystem → CFR
<CFR
[ interpolation=("none" or "linear") ] DEFAULT VALUE linear
>
IN THIS ORDER:
| ( <group ... /> )+
</CFR>
Documentation (element)
Case fatality rate (probability of an inpatient fatality from a bout of severe malaria, per age-group).
Attributes
interpolation
interpolation=("none" or "linear")
Units: none
Default value: linear
Interpolation algorithm. Normally it is desirable for age-based values to be continuous w.r.t. age. By default linear interpolation is used. With all algorithms except "none", the age groups are converted to a set of points centred within each age range. Extra points are added at each end (zero and infinity) to keep value constant at both ends of the function. A zero-length age group may be used as a kind of barrier to adjust the distribution; e.g. with age group boundaries at 15, 20 and 25 years, a (linear) spline would be drawn between ages 17.5 and 22.5, whereas with boundaries at 15, 20 and 20 years, a spline would be drawn between ages 17.5 and 20 years (may be desired if individuals are assumed to reach adult size at 20). Algorithms:
- none: input values are used directly
- linear: straight lines (on an age vs. value graph) are used to interpolate data points.
age group
→ scenario → healthSystem → CFR → group
<group
value=double
lowerbound=double
/>
Documentation (element)
A series of values according to age groups, each specified with a lower-bound and a value. The first lower-bound specified must be zero; a final upper-bound of infinity is added to complete the last age group. At least one age group is required. Normally these are interpolated by a continuous function (see interpolation attribute).
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Lower bound
lowerbound=double
Units: Years Min: 0 Max: 100
Lower bound of age group
Probabilities of sequelae in inpatients
→ scenario → healthSystem → pSequelaeInpatient
<pSequelaeInpatient
[ interpolation=("none" or "linear") ] DEFAULT VALUE linear
>
IN THIS ORDER:
| ( <group ... /> )+
</pSequelaeInpatient>
Documentation (element)
Units: List of elements
List of age specific probabilities of sequelae in inpatients, during a severe bout.
Attributes
interpolation
interpolation=("none" or "linear")
Units: none
Default value: linear
Interpolation algorithm. Normally it is desirable for age-based values to be continuous w.r.t. age. By default linear interpolation is used. With all algorithms except "none", the age groups are converted to a set of points centred within each age range. Extra points are added at each end (zero and infinity) to keep value constant at both ends of the function. A zero-length age group may be used as a kind of barrier to adjust the distribution; e.g. with age group boundaries at 15, 20 and 25 years, a (linear) spline would be drawn between ages 17.5 and 22.5, whereas with boundaries at 15, 20 and 20 years, a spline would be drawn between ages 17.5 and 20 years (may be desired if individuals are assumed to reach adult size at 20). Algorithms:
- none: input values are used directly
- linear: straight lines (on an age vs. value graph) are used to interpolate data points.
Replacement transmission setting (vector control not enabled)
→ scenario → interventions → timed → intervention → changeEIR
<changeEIR
eipDuration=int
>
IN THIS ORDER:
| ( <EIRDaily ... /> )+
</changeEIR>
Documentation (element)
Units: List of elements
New description of transmission setting for models without vector control interventions (included for backward compatibility)
Attributes
Duration of sporogony (days)
eipDuration=int
The duration of sporogony in days
EIRDaily
→ scenario → entoData → nonVector → EIRDaily
<EIRDaily
[ origin=string ]
>
double
</EIRDaily>
Documentation (type)
Units: Infectious bites per adult per day
In the non-vector model, EIR is input as a sequence of daily values. There must be at least a years' worth of entries (365), and if there are more, values are wrapped and averaged (i.e. value for first day of year is taken as the mean of values for days 0, 365+0, 2*365+0, etc.).
Attributes
Time origin of EIR sequence
origin=string
Import infections
→ scenario → interventions → timed → intervention → importedInfectionsPerThousandHosts
<importedInfectionsPerThousandHosts>
double
</importedInfectionsPerThousandHosts>
Documentation (element)
Units: Number per 1000 hosts Min: 0
Import infections (as if a mosquito bites a human). Imported via a Bernoulli trial per host.
Mass Drug Administration
→ scenario → interventions → timed → intervention → MDA
<MDA
[ maxAge=double ]
[ minAge=double ]
coverage=double
[ cohort=boolean ]
/>
Documentation (element)
Units: List of elements
Description of mass drug deployment in the community.
Attributes
Maximum age of eligible individuals
maxAge=double
Units: Years Min: 0 Max: 100
Maximum age of eligible individuals (defaults to 100)
Minimum age of eligible individuals
minAge=double
Units: Years Min: 0 Max: 100
Minimum age of eligible individuals (defaults to 0)
Coverage
coverage=double
Units: Proportion Min: 0 Max: 1
Coverage of intervention
Cohort only
cohort=boolean
Units: Proportion Min: 0 Max: 1
Restrict distribution to chosen cohort.
Vaccination
→ scenario → interventions → timed → intervention → vaccinate
<vaccinate
[ maxAge=double ]
[ minAge=double ]
coverage=double
[ cohort=boolean ]
/>
Documentation (element)
Units: List of elements
Description of vaccine deployment in the community
Attributes
Maximum age of eligible individuals
maxAge=double
Units: Years Min: 0 Max: 100
Maximum age of eligible individuals (defaults to 100)
Minimum age of eligible individuals
minAge=double
Units: Years Min: 0 Max: 100
Minimum age of eligible individuals (defaults to 0)
Coverage
coverage=double
Units: Proportion Min: 0 Max: 1
Coverage of intervention
Cohort only
cohort=boolean
Units: Proportion Min: 0 Max: 1
Restrict distribution to chosen cohort.
ITN deployment
→ scenario → interventions → timed → intervention → ITN
<ITN
[ maxAge=double ]
[ minAge=double ]
coverage=double
[ cohort=boolean ]
/>
Documentation (element)
Units: List of elements
Description of ITN deployment in the community
Attributes
Maximum age of eligible individuals
maxAge=double
Units: Years Min: 0 Max: 100
Maximum age of eligible individuals (defaults to 100)
Minimum age of eligible individuals
minAge=double
Units: Years Min: 0 Max: 100
Minimum age of eligible individuals (defaults to 0)
Coverage
coverage=double
Units: Proportion Min: 0 Max: 1
Coverage of intervention
Cohort only
cohort=boolean
Units: Proportion Min: 0 Max: 1
Restrict distribution to chosen cohort.
IRS deployment
→ scenario → interventions → timed → intervention → IRS
<IRS
[ maxAge=double ]
[ minAge=double ]
coverage=double
[ cohort=boolean ]
/>
Documentation (element)
Units: List of elements
Description of IRS deployment in the community
Attributes
Maximum age of eligible individuals
maxAge=double
Units: Years Min: 0 Max: 100
Maximum age of eligible individuals (defaults to 100)
Minimum age of eligible individuals
minAge=double
Units: Years Min: 0 Max: 100
Minimum age of eligible individuals (defaults to 0)
Coverage
coverage=double
Units: Proportion Min: 0 Max: 1
Coverage of intervention
Cohort only
cohort=boolean
Units: Proportion Min: 0 Max: 1
Restrict distribution to chosen cohort.
Mosquito deterrent
→ scenario → interventions → timed → intervention → VectorAvailability
<VectorAvailability
[ maxAge=double ]
[ minAge=double ]
coverage=double
[ cohort=boolean ]
/>
Documentation (element)
Units: List of elements
Description of a mosquito deterrent deployment in the community
Attributes
Maximum age of eligible individuals
maxAge=double
Units: Years Min: 0 Max: 100
Maximum age of eligible individuals (defaults to 100)
Minimum age of eligible individuals
minAge=double
Units: Years Min: 0 Max: 100
Minimum age of eligible individuals (defaults to 0)
Coverage
coverage=double
Units: Proportion Min: 0 Max: 1
Coverage of intervention
Cohort only
cohort=boolean
Units: Proportion Min: 0 Max: 1
Restrict distribution to chosen cohort.
IPTi deployment
→ scenario → interventions → timed → intervention → ipti
<ipti
[ maxAge=double ]
[ minAge=double ]
coverage=double
[ cohort=boolean ]
/>
Documentation (element)
Units: List of elements
List of age groups for IPTi distribution
Attributes
Maximum age of eligible individuals
maxAge=double
Units: Years Min: 0 Max: 100
Maximum age of eligible individuals (defaults to 100)
Minimum age of eligible individuals
minAge=double
Units: Years Min: 0 Max: 100
Minimum age of eligible individuals (defaults to 0)
Coverage
coverage=double
Units: Proportion Min: 0 Max: 1
Coverage of intervention
Cohort only
cohort=boolean
Units: Proportion Min: 0 Max: 1
Restrict distribution to chosen cohort.
Immune suppression deployment
→ scenario → interventions → timed → intervention → immuneSuppression
<immuneSuppression
[ maxAge=double ]
[ minAge=double ]
coverage=double
[ cohort=boolean ]
/>
Documentation (element)
Units: List of elements
Removes all exposure-related immunity gained over time by hosts without removing infections.
Hypothetical, but potentially useful to simulate scenarios with unprotected humans.
Attributes
Maximum age of eligible individuals
maxAge=double
Units: Years Min: 0 Max: 100
Maximum age of eligible individuals (defaults to 100)
Minimum age of eligible individuals
minAge=double
Units: Years Min: 0 Max: 100
Minimum age of eligible individuals (defaults to 0)
Coverage
coverage=double
Units: Proportion Min: 0 Max: 1
Coverage of intervention
Cohort only
cohort=boolean
Units: Proportion Min: 0 Max: 1
Restrict distribution to chosen cohort.
Insert R_0 case
→ scenario → interventions → timed → intervention → insertR_0Case
<insertR_0Case/>
Documentation (element)
Units: List of elements
Used to simulate R_0. First, infections should be eliminated, immunity removed, and the population given an effective transmission- blocking vaccine (not done by this intervention). Then this intervention may be used to: pick one human, infect him, administer a fully effective Preerythrocytic vaccine and remove transmission-blocking vaccine effect on this human. Thus only this one human will be a source of infections in an unprotected population, and will not reinfected himself.
Uninfect vectors
→ scenario → interventions → timed → intervention → uninfectVectors
<uninfectVectors/>
Documentation (element)
Units: List of elements
Removes all infections from mosquitoes -- resulting in zero EIR to humans, until such time that mosquitoes are re-infected and become infectious. Only effectious in dynamic EIR mode (when changeEIR was not used).
Hypothetical, but potentially useful to simulate a setting starting from no infections, but with enough mosquitoes to reach a set equilibrium of exposure.
larviciding
→ scenario → interventions → timed → intervention → larviciding
<larviciding>
IN THIS ORDER:
| ( <anopheles ... /> )+
</larviciding>
Documentation (element)
Simple larviciding intervention description.
anopheles
→ scenario → interventions → timed → intervention → larviciding → anopheles
<anopheles
mosquito=string
effectiveness=double
duration=int
/>
Attributes
Mosquito to be larvicided
mosquito=string
Mosquito to be larvicided
Proportionate reduction in emergence
effectiveness=double
Units: none Min: 0 Max: 1
Proportional reduction in emergence rate
Duration of activity
duration=int
Units: days Min: 0 Max: inf
Number of days for which the intervention is active.
Mass Cohort Selection
→ scenario → interventions → timed → intervention → cohort
<cohort
[ maxAge=double ]
[ minAge=double ]
coverage=double
[ cohort=boolean ]
/>
Documentation (element)
Units: List of elements
Description of mass cohort selection.
Attributes
Maximum age of eligible individuals
maxAge=double
Units: Years Min: 0 Max: 100
Maximum age of eligible individuals (defaults to 100)
Minimum age of eligible individuals
minAge=double
Units: Years Min: 0 Max: 100
Minimum age of eligible individuals (defaults to 0)
Coverage
coverage=double
Units: Proportion Min: 0 Max: 1
Coverage of intervention
Cohort only
cohort=boolean
Units: Proportion Min: 0 Max: 1
Restrict distribution to chosen cohort.
healthSystem
→ scenario → healthSystem
<healthSystem>
IN THIS ORDER:
| EXACTLY ONE OF:
| | <EventScheduler ... />
| | <ImmediateOutcomes ... />
| <CFR ... />
| <pSequelaeInpatient ... />
</healthSystem>
Documentation (type)
Units: List of elements
Description of case management system, used to specify the initial model or a replacement (an intervention). Encompasses case management data and some other data required to derive case outcomes.
Contains a sub-element describing the particular health-system in use. Health system data is here defined as data used to decide on a treatment strategy, given a case requiring treatment.
Transmission and vector bionomics
<entoData
name=string
mode=("2" or "4")
[ annualEIR=double ]
>
IN THIS ORDER:
| EXACTLY ONE OF:
| | <nonVector ... />
| | <vector ... />
</entoData>
Documentation (element)
Units: List of elements
Description of entomological data
Attributes
Entomology dataset
name=string
Units: string
Name of entomology data
Transmission simulation mode
mode=("2" or "4")
Units: Code
Transmission simulation mode -- enter dynamic mode (4) or forced mode (2) at start of intervention period. Mode 3 (transient EIR from data provided as intervention) is set when intervention data is applied, and is no longer a valid value to specify here.
Override annual EIR
annualEIR=double
Units: Infectious bites per adult per year
If set, overrides the annual EIR by scaling it to this level. If ommitted, EIR levels are as specified elsewhere.
Transmission setting (vector control not enabled)
→ scenario → entoData → nonVector
<nonVector
eipDuration=int
>
IN THIS ORDER:
| ( <EIRDaily ... /> )+
</nonVector>
Documentation (element)
Units: List of elements
Description of transmission setting for models without vector control interventions (included for backward compatibility)
Attributes
Duration of sporogony (days)
eipDuration=int
The duration of sporogony in days
Transmission setting (vector control enabled)
→ scenario → entoData → vector
<vector>
IN THIS ORDER:
| ( <anopheles ... /> )+
| ( <nonHumanHosts ... /> )*
</vector>
Documentation (element)
Units: List of elements
Parameters of the transmission model.
anopheles
→ scenario → entoData → vector → anopheles
<anopheles
mosquito=string
propInfected=double
propInfectious=double
>
IN THIS ORDER:
| EXACTLY ONE OF:
| | <eir ... />
| | <monthlyEir ... />
| <mosq ... />
| ( <nonHumanHosts ... /> )*
</anopheles>
Documentation (type)
Description of input EIR for one specific vector species in terms of a Fourier approximation to the ln of the EIR during the burn in period
Attributes
Identifier for this anopheles species
mosquito=string
Initial guess of proportion of mosquitoes infected
propInfected=double
Units: Proportion Min: 0 Max: 1
Initial guess of the proportion of mosquitoes which are infected, o: O_v(t) = o*N_v(t). Only used as a starting value.
Initial guess of proportion of mosquitoes infectious
propInfectious=double
Units: Proportion Min: 0 Max: 1
Initial guess of the proportion of mosquitoes which are infectious, s: S_v(t) = s*N_v(t). Used as a starting value and then fit.
Fourier approximation to pre-intervention EIR
→ scenario → entoData → vector → anopheles → eir
<eir
a0=double
a1=double
b1=double
a2=double
b2=double
EIRRotateAngle=double
/>
Documentation (element)
Units: Infectious bites per adult per day
Description of target entomological inoculation rate as a Fourier series. This is used to estimate a suitible vector emergence rate. The annual (target) EIR is thus the exponent of the fourier series with these parameters, with period scaled to 365 days.
Attributes
a0 parameter of Fourier approximation to ln(EIR)
a0=double
a1 parameter of Fourier approximation to ln(EIR)
a1=double
b1 parameter of Fourier approximation to ln(EIR)
b1=double
a2 parameter of Fourier approximation to ln(EIR)
a2=double
b2 parameter of Fourier approximation to ln(EIR)
b2=double
Rotation angle defining the origin of the Fourier approximation to ln (EIR)
EIRRotateAngle=double
Units: radians
Monthly values for pre-intervention EIR
→ scenario → entoData → vector → anopheles → monthlyEir
<monthlyEir
annualEIR=double
>
IN THIS ORDER:
| ( <item ... /> ){12,12}
</monthlyEir>
Documentation (element)
Units: Infectious bites per adult per month
Description of target entomological inoculation rate as monthly values plus an annual override (monthly values are scaled to fit the annual EIR described). This is used to estimate a suitible vector emergence rate. The annual (target) EIR is derived from a Fourier series fit to these monthly values (used as a smoothing factor). List should contain twelve entries: January to December.
Attributes
Annual EIR
annualEIR=double
Units: Infectious bites per adult per year Min: 0
Scales the monthly values to give this annual innoculation rate.
Monthly pre-intervention EIR
→ scenario → entoData → vector → anopheles → monthlyEir → item
<item>
double
</item>
Vector Species
→ scenario → entoData → vector → anopheles → mosq
<mosq
mosqRestDuration=int
extrinsicIncubationPeriod=int
mosqLaidEggsSameDayProportion=double
mosqSeekingDuration=double
mosqSurvivalFeedingCycleProbability=double
mosqProbBiting=double
mosqProbFindRestSite=double
mosqProbResting=double
mosqProbOvipositing=double
mosqHumanBloodIndex=double
minInfectedThreshold=double
/>
Documentation (element)
Units: List of elements
Vector species
Attributes
Duration of the resting period of the vector (days)
mosqRestDuration=int
Extrinsic incubation period (days)
extrinsicIncubationPeriod=int
Proportion of mosquitoes host seeking on same day as ovipositing
mosqLaidEggsSameDayProportion=double
Duration of the host-seeking period of the vector (days)
mosqSeekingDuration=double
Probability that the mosquito survives the feeding cycle
mosqSurvivalFeedingCycleProbability=double
Probability that the mosquito succesfully bites chosen host
mosqProbBiting=double
Probability that the mosquito escapes host and finds a resting place after biting
mosqProbFindRestSite=double
Probability of mosquito successfully resting after finding a resting site
mosqProbResting=double
Probability of a mosquito successfully laying eggs given that it has rested
mosqProbOvipositing=double
Human blood index
mosqHumanBloodIndex=double
The proportion of resting mosquitoes which fed on human blood during the last feed.
Min infected threshold
minInfectedThreshold=double
Min: 0
If less than this many mosquitoes remain infected, transmission is interrupted.
nonHumanHosts
→ scenario → entoData → vector → anopheles → nonHumanHosts
<nonHumanHosts
name=string
mosqRelativeEntoAvailability=double
mosqProbBiting=double
mosqProbFindRestSite=double
mosqProbResting=double
/>
Documentation (element)
Units: List of elements
Non human host parameters, per type of host (must match up with non-species-specific parameters).
Attributes
Identifier for this category of non-human hosts
name=string
Relative availability of nonhuman hosts of type i (to other nonhuman hosts)
mosqRelativeEntoAvailability=double
Probability of mosquito successfully biting host
mosqProbBiting=double
Probability that the mosquito escapes host and finds a resting place after biting
mosqProbFindRestSite=double
Probability of mosquito successfully resting after finding a resting site
mosqProbResting=double
nonHumanHosts
→ scenario → entoData → vector → nonHumanHosts
<nonHumanHosts
name=string
number=double
/>
Attributes
Species of alternative host
name=string
Units: List of elements
Name of this species of non human hosts (must match up with those described per anopheles section)
number
number=double
Pharmacokinetics and pharmacodynamics
<drugDescription>
IN THIS ORDER:
| ( <drug ... /> )+
</drugDescription>
Documentation (element)
Units: List of elements
Drug model parameters
drug
→ scenario → drugDescription → drug
<drug
abbrev=string
>
IN THIS ORDER:
| <PD ... />
| <PK ... />
</drug>
Documentation (element)
Sequence of drug descriptions forming a library of drug parameters.
Attributes
abbrev
abbrev=string
PD
→ scenario → drugDescription → drug → PD
<PD>
IN THIS ORDER:
| ( <allele ... /> )+
</PD>
allele
→ scenario → drugDescription → drug → PD → allele
<allele
name=string
>
IN THIS ORDER:
| <initial_frequency ... />
| <max_killing_rate ... />
| <IC50 ... />
| <slope ... />
</allele>
Documentation (element)
PD parameters per allele, plus initial frequency of each allele.
Note: we assume a one-to-one correspondance of drugs to loci, hence each drug has an independent set of alleles here.
Attributes
name
name=string
Relative frequency
→ scenario → drugDescription → drug → PD → allele → initial_frequency
<initial_frequency>
double
</initial_frequency>
Documentation (element)
Units: relative frequency Min: 0
Frequency, relative to the total frequency of all alleles for this drug/locus.
Maximal parasite killing rate
→ scenario → drugDescription → drug → PD → allele → max_killing_rate
<max_killing_rate>
double
</max_killing_rate>
Documentation (element)
Units: 1/days Min: 0
k1 — Maximal parasite killing rate.
IC50
→ scenario → drugDescription → drug → PD → allele → IC50
<IC50>
double
</IC50>
Documentation (element)
Units: mg/l Min: 0
Half maximal effect concentration.
Slope of effect curve
→ scenario → drugDescription → drug → PD → allele → slope
<slope>
double
</slope>
Documentation (element)
Units: no units
n — Slope of the concentration effect curve
PK
→ scenario → drugDescription → drug → PK
<PK>
IN THIS ORDER:
| <negligible_concentration ... />
| <half_life ... />
| <vol_dist ... />
</PK>
Drug concentration considered negligible
→ scenario → drugDescription → drug → PK → negligible_concentration
<negligible_concentration>
double
</negligible_concentration>
Documentation (element)
Units: mg/l Min: 0
Concentration below which drug's effects are deemed negligible and can be removed from simulation.
drug half-life
→ scenario → drugDescription → drug → PK → half_life
<half_life>
double
</half_life>
Documentation (element)
Units: days Min: 0
Used to calculate elimination rate (which is: ln(2) / half_life).
Volume of Distribution
→ scenario → drugDescription → drug → PK → vol_dist
<vol_dist>
double
</vol_dist>
Documentation (element)
Units: l/kg Min: 0
Volume of Distribution
Model options and parameters
<model>
IN THIS ORDER:
| <ModelOptions ... />
| <clinical ... />
| <human ... />
| <parameters ... />
</model>
Documentation (element)
Units: List of elements
Encapsulation of all parameters which describe the model according to which fitting is done.
Model Options
→ scenario → model → ModelOptions
<ModelOptions>
IN THIS ORDER:
| ( <option ... /> )*
</ModelOptions>
Documentation (element)
Units: List of elements
All model options (bug fixes, choices between models, etc.).
The list of recognised options can be found in the code at:
include/util/ModelOptions.h and should also be in the wiki.
clinical
<clinical
healthSystemMemory=int
/>
Documentation (type)
Units: List of elements
Description of clinical parameters.
This is related to the health-system description, but contains data which can't be changed as part of an intervention and is not restricted to treatment.
Attributes
Follow-up period during which recurrence is treated as a failure
healthSystemMemory=int
Units: Time steps Min: 1 Max: 100
Follow-up period during which a recurrence is considered to be a treatment failure
human
<human>
IN THIS ORDER:
| <availabilityToMosquitoes ... />
| [ <weight ... /> ]
</human>
Documentation (type)
Parameters of host models.
Availability to mosquitoes
→ scenario → model → human → availabilityToMosquitoes
<availabilityToMosquitoes
[ interpolation=("none" or "linear") ] DEFAULT VALUE linear
>
IN THIS ORDER:
| ( <group ... /> )+
</availabilityToMosquitoes>
Documentation (element)
Units: None Min: 0 Max: 1
By age group data on availability of humans to mosquitoes relative to an adult.
Attributes
interpolation
interpolation=("none" or "linear")
Units: none
Default value: linear
Interpolation algorithm. Normally it is desirable for age-based values to be continuous w.r.t. age. By default linear interpolation is used. With all algorithms except "none", the age groups are converted to a set of points centred within each age range. Extra points are added at each end (zero and infinity) to keep value constant at both ends of the function. A zero-length age group may be used as a kind of barrier to adjust the distribution; e.g. with age group boundaries at 15, 20 and 25 years, a (linear) spline would be drawn between ages 17.5 and 22.5, whereas with boundaries at 15, 20 and 20 years, a spline would be drawn between ages 17.5 and 20 years (may be desired if individuals are assumed to reach adult size at 20). Algorithms:
- none: input values are used directly
- linear: straight lines (on an age vs. value graph) are used to interpolate data points.
Weight
→ scenario → model → human → weight
<weight
[ interpolation=("none" or "linear") ] DEFAULT VALUE linear
multStdDev=double
>
IN THIS ORDER:
| ( <group ... /> )+
</weight>
Documentation (element)
Units: kg Min: 0
By age group data on human weight (mass).
Attributes
interpolation
interpolation=("none" or "linear")
Units: none
Default value: linear
Interpolation algorithm. Normally it is desirable for age-based values to be continuous w.r.t. age. By default linear interpolation is used. With all algorithms except "none", the age groups are converted to a set of points centred within each age range. Extra points are added at each end (zero and infinity) to keep value constant at both ends of the function. A zero-length age group may be used as a kind of barrier to adjust the distribution; e.g. with age group boundaries at 15, 20 and 25 years, a (linear) spline would be drawn between ages 17.5 and 22.5, whereas with boundaries at 15, 20 and 20 years, a spline would be drawn between ages 17.5 and 20 years (may be desired if individuals are assumed to reach adult size at 20). Algorithms:
- none: input values are used directly
- linear: straight lines (on an age vs. value graph) are used to interpolate data points.
Standard deviation
multStdDev=double
Units: None Min: 0
Each human is assigned a weight multiplier from a normal distribution with mean 1 and this standard deviation at birth. His/her weight is this multiplier times the mean from age distribution. A standard deviation of zero for no heterogeneity is valid; a rough value from Tanzanian data is 0.14.
Parameters of the model of epidemiology
→ scenario → model → parameters
<parameters
interval=int
iseed=int
latentp=int
>
IN THIS ORDER:
| ( <parameter ... /> )+
</parameters>
Documentation (element)
Units: List of elements
Parameters of the epidemiological model
Attributes
Simulation step
interval=int
Units: Days
Simulation step
Random number seed
iseed=int
Units: Number
Seed for RNG
Pre-erythrocytic latent period
latentp=int
Units: Time steps Min: 0 Max: 20
pre-erythrocytic latent period, in time steps
parameter
→ scenario → model → parameters → parameter
<parameter
name=string
number=int
value=double
[ include=boolean ]
/>
Attributes
Name of parameter
name=string
Units: string
Name of parameter
Parameter number
number=int
Units: Number Min: 1 Max: 100
Reference number of input parameter
Parameter value
value=double
Units: Number Min: 0
Parameter value
Sampling indicator
include=boolean
Units: Number Min: 0 Max: 1
True if parameter is to be sampled in optimization runs. Not used in simulator app.
Schema 23 documentation
Generated from: scenario_23.xsd
.
Key:
abc required (one)
[ def ] optional (zero or one)
( ghi )* any number (zero or more)
( jkl )+ at least one
( mno ){2,inf} two or more occurrences
Scenario
→ scenario
<scenario
schemaVersion=int
analysisNo=int
name=string
wuID=int
assimMode=("0" or "1")
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:noNamespaceSchemaLocation="scenario_23.xsd"
>
IN THIS ORDER:
| <demography ... />
| <monitoring ... />
| <interventions ... />
| <healthSystem ... />
| <entoData ... />
| [ <drugDescription ... /> ]
| <model ... />
</scenario>
Documentation (element)
Units: List of elements
Description of scenario
Attributes
Version of the xml schema
schemaVersion=int
Version of xml schema. If not equal to the current version an error is thrown. Use SchemaTranslator to update xml files.
Reference number of the analysis
analysisNo=int
Units: Number Min: 1 Max: 100000000
Unique identifier of scenario
Name of intervention
name=string
Units: string
Name of intervention
Work unit identifier
wuID=int
Units: Number Min: 1 Max: 100000000
Work unit ID. Only used to validate checkpointing, to prevent checkpoint cheats.
Assimilator mode
assimMode=("0" or "1")
Units: Code
Assimilator mode. Defines output of simulator as either complete (columns: time,agegroup,measure,value) or minimal (single column: value)
Human age distribution
→ scenario → demography
<demography
name=string
popSize=int
maximumAgeYrs=double
[ growthRate=double ]
>
IN THIS ORDER:
| <ageGroup ... />
</demography>
Documentation (element)
Units: List of elements
Description of demography
Attributes
Name of demography data
name=string
Units: string
Name of demography data
Population size
popSize=int
Units: Count Min: 1 Max: 100000
Population size
Maximum age of simulated humans
maximumAgeYrs=double
Units: years Min: 0 Max: 100
Maximum age of simulated humans in years.
Growth rate of human population
growthRate=double
Units: Number Min: 0 Max: 0
Growth rate of human population. (we should be able to implement this with non-zero values)
Age groups
→ scenario → demography → ageGroup
<ageGroup
lowerbound=double
>
IN THIS ORDER:
| ( <group ... /> )+
</ageGroup>
Documentation (element)
Units: List of elements
List of age groups included in demography
Documentation (type)
Units: List of elements
List of age groups included in demography or surveys
Attributes
lower bound of age group
lowerbound=double
Units: Years Min: 0 Max: 100
Lower bound of age group
group
→ scenario → demography → ageGroup → group
<group
poppercent=double
upperbound=double
/>
Attributes
Percentage in age group
poppercent=double
Percentage of human population in age group
upper bound of age group
upperbound=double
Units: Years Min: 0 Max: 100
Upper bound of age group
Measures to be reported
→ scenario → monitoring
<monitoring
name=string
[ cohortOnly=boolean ]
>
IN THIS ORDER:
| [ <continuous ... /> ]
| <SurveyOptions ... />
| <surveys ... />
| <ageGroup ... />
</monitoring>
Documentation (element)
Units: List of elements
Description of surveys
Attributes
Name of monitoring information
name=string
Units: string
Name of monitoring data
Survey only cohort
cohortOnly=boolean
If true, for many output measures, the output comes only from individuals in the cohort; otherwise output is from the entire population. Does not need to be specified if no cohort-selecting "interventions" are present.
continuous
→ scenario → monitoring → continuous
<continuous
period=int
[ duringInit=boolean ]
>
IN THIS ORDER:
| ( <option ... /> )*
</continuous>
Attributes
Days between reports
period=int
Units: Days Min: 1 Max: unbounded
Number of timesteps between reports.
During initialization
duringInit=boolean
Units: Days Min: 1 Max: unbounded
Also output during initialization. By default this is disabled (only intervention-period data is output). This should not be used for predictions, but can be useful for model validation. In this mode, 'simulation time' is output as the first column (in addition to 'timestep'), since 'timestep' is dis- continuous across the start of the intervention period.
option
→ scenario → monitoring → continuous → option
<option
name=string
value=boolean
/>
Attributes
Model options required
name=string
Options define different model structures. Option name. Must be one of a strictly defined set. Options are not required to be listed if their default value is desired.
Indicator of whether option is required
value=boolean
Option value (true/false). Each option has a default value used if the option is not listed (usually false but sometimes true).
Name of quantity
→ scenario → monitoring → SurveyOptions
<SurveyOptions>
IN THIS ORDER:
| ( <option ... /> )*
</SurveyOptions>
Documentation (element)
List of all active survey options. See include/Survey.h for a list of supported outputs. Should also be on the wiki.
Survey times (time steps)
→ scenario → monitoring → surveys
<surveys
detectionLimit=double
>
IN THIS ORDER:
| ( <surveyTime ... /> )+
</surveys>
Documentation (element)
Units: List of elements
List of survey times
Attributes
Detection limit for parasitaemia
detectionLimit=double
Units: parasites/micolitre Min: 0 Max: 1000
Detection limit for parasitemia
Survey time
→ scenario → monitoring → surveys → surveyTime
<surveyTime>
int
</surveyTime>
Documentation (element)
Units: Number Min: 0
Survey time; 0 means just before start of main sim and is a valid survey-point. Reported data is either from a point-time survey (immediate data) or is collected over the previous year (data from previous timesteps-per-year period). Simulation will end immediately after last survey is taken.
Age groups
→ scenario → monitoring → ageGroup
<ageGroup
lowerbound=double
>
IN THIS ORDER:
| ( <group ... /> )+
</ageGroup>
Documentation (element)
Units: List of elements
List of age groups included in demography or surveys
Documentation (type)
Units: List of elements
List of age groups included in surveys
Attributes
lower bound of age group
lowerbound=double
Units: Years Min: 0 Max: 100
Lower bound of age group
group
→ scenario → monitoring → ageGroup → group
<group
upperbound=double
/>
Attributes
upper bound of age group
upperbound=double
Units: Years Min: 0 Max: 100
Upper bound of age group
Preventative interventions
<interventions
name=string
>
IN THIS ORDER:
| <descriptions ... />
| [ <continuous ... /> ]
| [ <timed ... /> ]
</interventions>
Documentation (element)
Units: List of elements
List of interventions. Generally these are either point-time distributions of something to some subset of the population, or continuous-time distribution targetting individuals when they reach a certain age.
Attributes
Intervention
name=string
Units: string
Name of age specific intervention
descriptions
→ scenario → interventions → descriptions
<descriptions>
IN THIS ORDER:
| [ <MDADescription ... /> ]
| ( <vaccineDescription ... /> ){0,3}
| [ <iptiDescription ... /> ]
| ( <anopheles ... /> )*
</descriptions>
Documentation (element)
Descriptions applying across all uses of an intervention.
Drug dose(s) used in MDA
→ scenario → interventions → descriptions → MDADescription
<MDADescription>
IN THIS ORDER:
| [ <schedule ... /> ]
</MDADescription>
Documentation (element)
Units: List of medicate elements
Description of drug dose(s) used in a mass-drug-administration intervention.
When using the new (Event Scheduler) case management model, a treatment schedule must be present.
schedule
→ scenario → interventions → descriptions → MDADescription → schedule
<schedule>
IN THIS ORDER:
| ( <medicate ... /> )*
</schedule>
Documentation (type)
The base (unmodified) schedule of drugs administered for this treatment.
medicate
→ scenario → interventions → descriptions → MDADescription → schedule → medicate
<medicate
drug=string
mg=double
hour=double
[ duration=double ]
/>
Attributes
drug
drug=string
Units: string
Abbreviated name of drug compound
drug dose
mg=double
Units: mg
Quantity of drug compound
time of administration
hour=double
Units: hours Min: 0
Number of hours past start of timestep this drug dose is administered at (first dose should be at hour 0).
duration of administration
duration=double
Units: hours Min: 0
If this attribute is given, use IV administration instead of orally. Specifies the number of hours over which the dose is administered.
vaccineDescription
→ scenario → interventions → descriptions → vaccineDescription
<vaccineDescription
vaccineType=int
>
IN THIS ORDER:
| <halfLifeYrs ... />
| <efficacyB ... />
| ( <initialEfficacy ... /> )+
</vaccineDescription>
Attributes
Type of vaccine
vaccineType=int
Units: Code
Type of vaccine
Half life of drug effect
→ scenario → interventions → descriptions → vaccineDescription → halfLifeYrs
<halfLifeYrs
value=double
/>
Documentation (element)
Units: Years Min: 0 Max: 100
Half life of drug effect
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Variance parameter for vaccine efficacy
→ scenario → interventions → descriptions → vaccineDescription → efficacyB
<efficacyB
value=double
/>
Documentation (element)
Units: Positive real Min: 0.001 Max: 1.00E+06
Measure of variation in vaccine efficacy
Attributes
Input parameter value
value=double
A double-precision floating-point value.
initialEfficacy
→ scenario → interventions → descriptions → vaccineDescription → initialEfficacy
<initialEfficacy
value=double
/>
Attributes
Input parameter value
value=double
A double-precision floating-point value.
iptiDescription
→ scenario → interventions → descriptions → iptiDescription
<iptiDescription
iptiEffect=int
>
IN THIS ORDER:
| ( <infGenotype ... /> )+
</iptiDescription>
Attributes
iptiEffect
iptiEffect=int
infGenotype
→ scenario → interventions → descriptions → iptiDescription → infGenotype
<infGenotype
name=string
freq=double
ACR=double
proph=int
tolPeriod=int
atten=double
/>
Attributes
Age specific intervention
name=string
Units: string
Name of age specific intervention
Frequency
freq=double
Frequency of parasite genotype
ACR
ACR=double
Adequate clinical response (proportion)
Prophylactic period
proph=int
Prophylactic period
Tolerance period
tolPeriod=int
Tolerance period
Tolerance period
atten=double
Tolerance period
anopheles
→ scenario → interventions → descriptions → anopheles
<anopheles
mosquito=string
>
IN THIS ORDER:
| [ <ITNDescription ... /> ]
| [ <IRSDescription ... /> ]
| [ <VADescription ... /> ]
</anopheles>
Attributes
Entomological effects of interventions
mosquito=string
Description of the entomological effects of interventions
ITNDescription
→ scenario → interventions → descriptions → anopheles → ITNDescription
<ITNDescription
name=string
>
IN THIS ORDER:
| <deterrency ... />
| <preprandialKillingEffect ... />
| <postprandialKillingEffect ... />
</ITNDescription>
Attributes
ITN effects
name=string
Units: string
Name of Insecticide Treated Net intervention
Deterrency
→ scenario → interventions → descriptions → anopheles → ITNDescription → deterrency
<deterrency
initial=double
halflife=double
[ Weibullk=double ]
/>
Documentation (element)
Units: None Min: 0 Max: 1
One minus this multiplies the host's availability (before decay).
Documentation (type)
Specification of a proportion with Weibull or exponential decay.
Attributes
Initial proportion
initial=double
Units: None Min: 0 Max: 1
The value before any decay.
half-life
halflife=double
Units: Years Min: 0
Half-life in years (more generally, halflife/ln(2) is lambda from the Weibull distribution).
Weibull k parameter
Weibullk=double
Min: 0
The parameter k of the Weibull distribution. If missing, 1.0 is used (equivalent to exponential decay).
Pre-prandial killing effect
→ scenario → interventions → descriptions → anopheles → ITNDescription → preprandialKillingEffect
<preprandialKillingEffect
initial=double
halflife=double
[ Weibullk=double ]
/>
Documentation (element)
Units: None Min: 0 Max: 1
One minus this multiplies the survival rate of mosquitoes attempting to bite a host.
Documentation (type)
Specification of a proportion with Weibull or exponential decay.
Attributes
Initial proportion
initial=double
Units: None Min: 0 Max: 1
The value before any decay.
half-life
halflife=double
Units: Years Min: 0
Half-life in years (more generally, halflife/ln(2) is lambda from the Weibull distribution).
Weibull k parameter
Weibullk=double
Min: 0
The parameter k of the Weibull distribution. If missing, 1.0 is used (equivalent to exponential decay).
Post-prandial killing effect
→ scenario → interventions → descriptions → anopheles → ITNDescription → postprandialKillingEffect
<postprandialKillingEffect
initial=double
halflife=double
[ Weibullk=double ]
/>
Documentation (element)
Units: None Min: 0 Max: 1
One minus this multiplies the survival rate of mosquitoes attempting to escape after biting a host.
Documentation (type)
Specification of a proportion with Weibull or exponential decay.
Attributes
Initial proportion
initial=double
Units: None Min: 0 Max: 1
The value before any decay.
half-life
halflife=double
Units: Years Min: 0
Half-life in years (more generally, halflife/ln(2) is lambda from the Weibull distribution).
Weibull k parameter
Weibullk=double
Min: 0
The parameter k of the Weibull distribution. If missing, 1.0 is used (equivalent to exponential decay).
IRSDescription
→ scenario → interventions → descriptions → anopheles → IRSDescription
<IRSDescription
name=string
>
IN THIS ORDER:
| <deterrency ... />
| <killingEffect ... />
</IRSDescription>
Attributes
name of IRS intervention
name=string
Units: string
Name of Indoor Residual Spraying intervention
Deterrency
→ scenario → interventions → descriptions → anopheles → IRSDescription → deterrency
<deterrency
initial=double
halflife=double
[ Weibullk=double ]
/>
Documentation (element)
Units: None Min: 0 Max: 1
One minus this multiplies the host's availability.
Documentation (type)
Specification of a proportion with Weibull or exponential decay.
Attributes
Initial proportion
initial=double
Units: None Min: 0 Max: 1
The value before any decay.
half-life
halflife=double
Units: Years Min: 0
Half-life in years (more generally, halflife/ln(2) is lambda from the Weibull distribution).
Weibull k parameter
Weibullk=double
Min: 0
The parameter k of the Weibull distribution. If missing, 1.0 is used (equivalent to exponential decay).
killing effect
→ scenario → interventions → descriptions → anopheles → IRSDescription → killingEffect
<killingEffect
initial=double
halflife=double
[ Weibullk=double ]
/>
Documentation (element)
Units: None Min: 0 Max: 1
One minus this multiplies the survival rate of resting mosquitoes.
Documentation (type)
Specification of a proportion with Weibull or exponential decay.
Attributes
Initial proportion
initial=double
Units: None Min: 0 Max: 1
The value before any decay.
half-life
halflife=double
Units: Years Min: 0
Half-life in years (more generally, halflife/ln(2) is lambda from the Weibull distribution).
Weibull k parameter
Weibullk=double
Min: 0
The parameter k of the Weibull distribution. If missing, 1.0 is used (equivalent to exponential decay).
VADescription
→ scenario → interventions → descriptions → anopheles → VADescription
<VADescription
name=string
>
IN THIS ORDER:
| <deterrency ... />
</VADescription>
Attributes
Name of mosquito deterrency intervention
name=string
Units: string
Name of mosquito deterrency intervention
Deterrency
→ scenario → interventions → descriptions → anopheles → VADescription → deterrency
<deterrency
initial=double
halflife=double
[ Weibullk=double ]
/>
Documentation (element)
Units: None Min: 0 Max: 1
One minus this multiplies the host's availability.
Documentation (type)
Specification of a proportion with Weibull or exponential decay.
Attributes
Initial proportion
initial=double
Units: None Min: 0 Max: 1
The value before any decay.
half-life
halflife=double
Units: Years Min: 0
Half-life in years (more generally, halflife/ln(2) is lambda from the Weibull distribution).
Weibull k parameter
Weibullk=double
Min: 0
The parameter k of the Weibull distribution. If missing, 1.0 is used (equivalent to exponential decay).
Continuously applied interventions
→ scenario → interventions → continuous
<continuous>
IN THIS ORDER:
| ( <vaccine ... /> )*
| ( <ITN ... /> )*
| ( <ipti ... /> )*
| ( <cohort ... /> )*
</continuous>
List of age groups for vaccination
→ scenario → interventions → continuous → vaccine
<vaccine
targetAgeYrs=double
coverage=double
[ cohort=boolean ] DEFAULT VALUE false
[ begin=int ] DEFAULT VALUE 0
[ end=int ] DEFAULT VALUE 2147483647
/>
Documentation (element)
Units: List of elements
List of age groups for vaccination
Attributes
Target age
targetAgeYrs=double
Units: Years Min: 0 Max: 100
Target age of intervention
Proportion covered
coverage=double
Units: Proportion Min: 0 Max: 1
Coverage of intervention
Cohort only
cohort=boolean
Units: Proportion Min: 0 Max: 1
Default value: false
Restrict distribution to chosen cohort (default: false).
First timestep active
begin=int
Units: Timesteps Min: 0 Max: 2147483647
Default value: 0
First timestep (from 0 at the beginning of the intervention period) this item is active. Defaults to 0.
End timestep
end=int
Units: Timesteps Min: 0 Max: 2147483647
Default value: 2147483647
End of the period during which the intervention is active (to be exact, the first timestep of the intervention period at which the item becomes inactive). Defaults to 2147483647.
Description of ITN deployment
→ scenario → interventions → continuous → ITN
<ITN
targetAgeYrs=double
coverage=double
[ cohort=boolean ] DEFAULT VALUE false
[ begin=int ] DEFAULT VALUE 0
[ end=int ] DEFAULT VALUE 2147483647
/>
Documentation (element)
Units: List of elements
Description of ITN deployment in the community
Attributes
Target age
targetAgeYrs=double
Units: Years Min: 0 Max: 100
Target age of intervention
Proportion covered
coverage=double
Units: Proportion Min: 0 Max: 1
Coverage of intervention
Cohort only
cohort=boolean
Units: Proportion Min: 0 Max: 1
Default value: false
Restrict distribution to chosen cohort (default: false).
First timestep active
begin=int
Units: Timesteps Min: 0 Max: 2147483647
Default value: 0
First timestep (from 0 at the beginning of the intervention period) this item is active. Defaults to 0.
End timestep
end=int
Units: Timesteps Min: 0 Max: 2147483647
Default value: 2147483647
End of the period during which the intervention is active (to be exact, the first timestep of the intervention period at which the item becomes inactive). Defaults to 2147483647.
List of age groups for IPTi
→ scenario → interventions → continuous → ipti
<ipti
targetAgeYrs=double
coverage=double
[ cohort=boolean ] DEFAULT VALUE false
[ begin=int ] DEFAULT VALUE 0
[ end=int ] DEFAULT VALUE 2147483647
/>
Documentation (element)
Units: List of elements
List of age groups for IPTi distribution
Attributes
Target age
targetAgeYrs=double
Units: Years Min: 0 Max: 100
Target age of intervention
Proportion covered
coverage=double
Units: Proportion Min: 0 Max: 1
Coverage of intervention
Cohort only
cohort=boolean
Units: Proportion Min: 0 Max: 1
Default value: false
Restrict distribution to chosen cohort (default: false).
First timestep active
begin=int
Units: Timesteps Min: 0 Max: 2147483647
Default value: 0
First timestep (from 0 at the beginning of the intervention period) this item is active. Defaults to 0.
End timestep
end=int
Units: Timesteps Min: 0 Max: 2147483647
Default value: 2147483647
End of the period during which the intervention is active (to be exact, the first timestep of the intervention period at which the item becomes inactive). Defaults to 2147483647.
Continuous cohort selection
→ scenario → interventions → continuous → cohort
<cohort
targetAgeYrs=double
coverage=double
[ cohort=boolean ] DEFAULT VALUE false
[ begin=int ] DEFAULT VALUE 0
[ end=int ] DEFAULT VALUE 2147483647
/>
Documentation (element)
Units: List of elements
Description of continuous selection of individuals for a cohort study.
Attributes
Target age
targetAgeYrs=double
Units: Years Min: 0 Max: 100
Target age of intervention
Proportion covered
coverage=double
Units: Proportion Min: 0 Max: 1
Coverage of intervention
Cohort only
cohort=boolean
Units: Proportion Min: 0 Max: 1
Default value: false
Restrict distribution to chosen cohort (default: false).
First timestep active
begin=int
Units: Timesteps Min: 0 Max: 2147483647
Default value: 0
First timestep (from 0 at the beginning of the intervention period) this item is active. Defaults to 0.
End timestep
end=int
Units: Timesteps Min: 0 Max: 2147483647
Default value: 2147483647
End of the period during which the intervention is active (to be exact, the first timestep of the intervention period at which the item becomes inactive). Defaults to 2147483647.
Timed interventions
→ scenario → interventions → timed
<timed>
IN THIS ORDER:
| ( <intervention ... /> )+
</timed>
Documentation (element)
Units: List of elements
List of timed interventions
Documentation (type)
Units: List of elements
List of timed interventions
intervention
→ scenario → interventions → timed → intervention
<intervention
time=int
>
IN THIS ORDER:
| [ <changeHS ... /> ]
| [ <changeEIR ... /> ]
| [ <importedInfectionsPerThousandHosts ... /> ]
| [ <MDA ... /> ]
| [ <vaccinate ... /> ]
| [ <ITN ... /> ]
| [ <IRS ... /> ]
| [ <VectorAvailability ... /> ]
| [ <ipti ... /> ]
| [ <immuneSuppression ... /> ]
| [ <insertR_0Case ... /> ]
| [ <uninfectVectors ... /> ]
| [ <larviciding ... /> ]
| [ <cohort ... /> ]
</intervention>
- changeHS
- changeEIR
- importedInfectionsPerThousandHosts
- MDA
- vaccinate
- ITN
- IRS
- VectorAvailability
- ipti
- immuneSuppression
- insertR_0Case
- uninfectVectors
- larviciding
- cohort
Attributes
Time step of intervention
time=int
Units: Number Min: 1 Max: 10000
Time step of intervention
changeHS
→ scenario → interventions → timed → intervention → changeHS
<changeHS>
IN THIS ORDER:
| EXACTLY ONE OF:
| | <EventScheduler ... />
| | <ImmediateOutcomes ... />
| <CFR ... />
| <pSequelaeInpatient ... />
</changeHS>
Documentation (type)
Units: List of elements
Description of case management system, used to specify the initial model or a replacement (an intervention). Encompasses case management data and some other data required to derive case outcomes.
Contains a sub-element describing the particular health-system in use. Health system data is here defined as data used to decide on a treatment strategy, given a case requiring treatment.
EventScheduler
→ scenario → healthSystem → EventScheduler
<EventScheduler>
IN THIS ORDER:
| <uncomplicated ... />
| <complicated ... />
| <ClinicalOutcomes ... />
</EventScheduler>
uncomplicated
→ scenario → healthSystem → EventScheduler → uncomplicated
<uncomplicated>
IN THIS ORDER:
| <decisions ... />
| <treatments ... />
</uncomplicated>
Documentation (type)
Units: List of elements
A set of decisions and a set of treatments.
decisions
→ scenario → healthSystem → EventScheduler → uncomplicated → decisions
<decisions>
IN THIS ORDER:
| ( <decision ... /> )*
</decisions>
Documentation (type)
Description of decisions for a case management tree. A generic view of this tree would be that each decision is deterministic, or based on probabilities which may depend on other decisions. Probabilistic decisions are described here.
In general, each decision has a name, a defined set of outcome values, and a set of dependent decisions mentioned by name. The following decisions, with their associated outcomes, are provided by the code (and may not be included here):
- case (uncomplicated only): Returns "UC1" if there is no recent history of a malarial case, or "UC2" if there is.
- result: Dependent on decision "test", this performs a parasite density test. Output is one of "none" (no test performed), "positive", "negative".
The following decisions must be described here:
- test (uncomplicated only): Outputs must be "none", "microscopy" or "RDT" to describe which test the "result" decision uses.
- treatment: Describes which treatment to use. Values aren't restricted but must match up with a treatment described in the corresponding "treatments" section.
- hospitalisation (complicated only): none, immediate or delayed.
decision
→ scenario → healthSystem → EventScheduler → uncomplicated → decisions → decision
<decision
name=string
depends=string
values=string
>
string
</decision>
Documentation (type)
A decision describes how to choose between a set of values.
Lexically, it can contain symbols matching "[_.a-zA-Z0-9]+", round brackets: (), braces: {} and colons. Whitespace is ignored except to separate symbols.
Syntactically, it must match one TREE, where SYMBOL is a symbol described above. (Here, "x|y" means x or y, "x+" means x occurs once or more, brackets show grouping.) TREE := BRANCH_SET | OUTCOME BRANCH_SET := BRANCH+ BRANCH := DECISION '(' VALUE ')' ( ':' OUTCOME | '{' TREE '}' ) OUTCOME, DECISION, VALUE := SYMBOL
For each BRANCH_SET each BRANCH must have the same DECISION. This DECISION must be one of the dependencies mentioned in "depends". This may be:
- another decision, in which case the VALUE immediately following in brackets must correspond to one of its output values. The BRANCH_SET immediately containing this BRANCH must represent each output value of the same decision exactly once, and no parent BRANCH_SET may be for the same DECISION.
- "p": this indicates a probabilistic decision. In this case the value is a probability, the sum of all values for the BRANCH_SET must be 1 and the decision must be associated directly with OUTCOMEs (not sub-TREEs).
- "age": this indicates an age-test. The VALUE must have the form "a-b", indicating that this branch will be taken for individuals aged such that a <= age < b, where a,b are non-negative real numbers or the special value "inf", and a <= b. All VALUEs in the BRANCH_SET must cover all possible (non-negative real) ages, with no overlap (hence, smallest a must be 0 and greatest b must be inf).
Semantically, each OUTCOME must be one of the values associated with this decision.
Attributes
Name of decision
name=string
The name of this decision. The name must match the regular expression "[_a-zA-Z0-9]+"; that is it can only contain letters, digits and _ characters (no spaces, punctuation, etc.).
Preceding decisions
depends=string
A comma-separated list of decisions that must have already been evaluated before this decision can be evaluated. Can be empty. Each must be hard-coded or described here. Can include the special decisions "p" and "age", though "age" cannot be combined with any other dependency.
Outcome values
values=string
A comma-separated list of outcome values this decision may have. The name of each value must be of the same form as decision names (i.e. only contain letters, digits and _ characters).
treatments
→ scenario → healthSystem → EventScheduler → uncomplicated → treatments
<treatments>
IN THIS ORDER:
| ( <treatment ... /> )*
</treatments>
Documentation (type)
Units: string
A list of drug treatment tables. Each should have a name corresponding to one of the "drug" decision's values.
treatment
→ scenario → healthSystem → EventScheduler → uncomplicated → treatments → treatment
<treatment
name=string
>
IN THIS ORDER:
| <schedule ... />
| ( <modifier ... /> )*
</treatment>
Documentation (type)
A description of a base treatment schedule along with modifiers to handle delays, quality variations, etc.
Attributes
Treatment administered
name=string
Units: string
Name corresponding to one of the drug decision's output values.
schedule
→ scenario → healthSystem → EventScheduler → uncomplicated → treatments → treatment → schedule
<schedule>
IN THIS ORDER:
| ( <medicate ... /> )*
</schedule>
Documentation (type)
The base (unmodified) schedule of drugs administered for this treatment.
modifier
→ scenario → healthSystem → EventScheduler → uncomplicated → treatments → treatment → modifier
<modifier
decision=string
>
EXACTLY ONE OF:
| ( <multiplyQty ... /> )*
| ( <delay ... /> )*
| ( <selectTimeRange ... /> )*
</modifier>
Documentation (type)
A modifier for this treatment, according to the outputs of a decision.
The "decision" attribute must be the name of a known decision. Then, there must be a set of multipyQty, delay or selectTimeRange sub-elements, each of which corresponds to one value output of the decision.
Attributes
decision
decision=string
Units: string
Specifies the decision that this modifier acts on.
multiplyQty
→ scenario → healthSystem → EventScheduler → uncomplicated → treatments → treatment → modifier → multiplyQty
<multiplyQty
value=string
effect=string
[ affectsCost=boolean ]
/>
Documentation (element)
Multiplies the quantity of active ingredients of drugs administered.
The "drugs" attribute is a comma-separated list of all active ingredients administered in the base schedule (each must be listed once) and the content of this element is a comma- separated list of multipliers for each active ingredient, listed in the same order as in the "drugs" attribute. E.g. with drugs="A,B" and content "0.5,1" the quantity of drug A is halved while that of B is unchanged.
Attributes
value of decision
value=string
Units: string
Specifies a value of the decision to act on.
List of drugs affected
effect=string
Units: string
Comma-separated list of the effect the modifier has on each drug, in the form DRUG1(EFFECT1),DRUG2(EFFECT2), etc.
Affects cost?
affectsCost=boolean
Units: none
Does this affect the cost? If false, the effective drug usage (w.r.t. cost) is unaffected by this modifier; if true it is. Defaults to true (if omitted). Is meaningless for delays.
delay
→ scenario → healthSystem → EventScheduler → uncomplicated → treatments → treatment → modifier → delay
<delay
value=string
effect=string
[ affectsCost=boolean ]
/>
Documentation (element)
Delays administration of drugs listed in the base schedule by so many hours.
The "drugs" attribute is a comma-separated list of all active ingredients administered in the base schedule (each must be listed once) and the content of this element is a comma- separated list of delays (in hours) for each active ingredient, listed in the same order as in the "drugs" attribute. E.g. with drugs="A,B" and content "0,6", drug A is administered as in the base schedule while drug B is administered 6 hours later than specified.
Attributes
value of decision
value=string
Units: string
Specifies a value of the decision to act on.
List of drugs affected
effect=string
Units: string
Comma-separated list of the effect the modifier has on each drug, in the form DRUG1(EFFECT1),DRUG2(EFFECT2), etc.
Affects cost?
affectsCost=boolean
Units: none
Does this affect the cost? If false, the effective drug usage (w.r.t. cost) is unaffected by this modifier; if true it is. Defaults to true (if omitted). Is meaningless for delays.
selectTimeRange
→ scenario → healthSystem → EventScheduler → uncomplicated → treatments → treatment → modifier → selectTimeRange
<selectTimeRange
value=string
effect=string
[ affectsCost=boolean ]
/>
Documentation (element)
Selects which drug doses to administer according to time of administration (before times are modified by delays). Half-open interval: [x,y)
The "drugs" attribute is a comma-separated list of all active ingredients administered in the base schedule (each must be listed once) and the content of this element is a comma- separated list of time-ranges (in hours) for each active ingredient, listed in the same order as in the "drugs" attribute. The time-ranges should be of the form x-y and are interpreted as the half-open interval [x,y); that is a drug listed with time t will only be administered if x <= t < y.
Attributes
value of decision
value=string
Units: string
Specifies a value of the decision to act on.
List of drugs affected
effect=string
Units: string
Comma-separated list of the effect the modifier has on each drug, in the form DRUG1(EFFECT1),DRUG2(EFFECT2), etc.
Affects cost?
affectsCost=boolean
Units: none
Does this affect the cost? If false, the effective drug usage (w.r.t. cost) is unaffected by this modifier; if true it is. Defaults to true (if omitted). Is meaningless for delays.
complicated
→ scenario → healthSystem → EventScheduler → complicated
<complicated>
IN THIS ORDER:
| <decisions ... />
| <treatments ... />
</complicated>
Documentation (type)
Units: List of elements
A set of decisions and a set of treatments.
ClinicalOutcomes
→ scenario → healthSystem → EventScheduler → ClinicalOutcomes
<ClinicalOutcomes>
IN THIS ORDER:
| <maxUCSeekingMemory ... />
| <uncomplicatedCaseDuration ... />
| <complicatedCaseDuration ... />
| <complicatedRiskDuration ... />
| <pImmediateUC ... />
</ClinicalOutcomes>
- maxUCSeekingMemory
- uncomplicatedCaseDuration
- complicatedCaseDuration
- complicatedRiskDuration
- pImmediateUC
Documentation (type)
Description of base parameters of the clinical model.
Max UC treatment-seeking memory
→ scenario → healthSystem → EventScheduler → ClinicalOutcomes → maxUCSeekingMemory
<maxUCSeekingMemory>
int
</maxUCSeekingMemory>
Documentation (element)
Units: days Min: 0 Max: unbounded
Maximum number of timesteps (including first of case) an individual will remember they are sick before resetting.
Uncomplicated case duration
→ scenario → healthSystem → EventScheduler → ClinicalOutcomes → uncomplicatedCaseDuration
<uncomplicatedCaseDuration>
int
</uncomplicatedCaseDuration>
Documentation (element)
Units: days Min: 1 Max: unbounded
Fixed length of an uncomplicated case of malarial/non-malarial sickness (from treatment seeking until return to life-as-usual). Usually 3.
Complicated case duration
→ scenario → healthSystem → EventScheduler → ClinicalOutcomes → complicatedCaseDuration
<complicatedCaseDuration>
int
</complicatedCaseDuration>
Documentation (element)
Units: days Min: 1 Max: unbounded
Fixed length of a complicated/severe case of malaria (from treatment seeking until return to life-as-usual).
Complicated risk duration
→ scenario → healthSystem → EventScheduler → ClinicalOutcomes → complicatedRiskDuration
<complicatedRiskDuration>
int
</complicatedRiskDuration>
Documentation (element)
Units: days Min: 1 Max: unbounded
Number of days for which humans are at risk of death during a severe or complicated case of malaria. Cannot be greater than the duration of a complicated case or less than 1 day.
Probability of immediate UC treatment seeking
→ scenario → healthSystem → EventScheduler → ClinicalOutcomes → pImmediateUC
<pImmediateUC>
double
</pImmediateUC>
Documentation (element)
Units: none Min: 0 Max: 1
Probability that UC treatment seeking will be done immediately when sick, on second day given that it wasn't done on first, etc.
ImmediateOutcomes
→ scenario → healthSystem → ImmediateOutcomes
<ImmediateOutcomes
name=string
>
IN THIS ORDER:
| <drugRegimen ... />
| <initialACR ... />
| <compliance ... />
| <nonCompliersEffective ... />
| <pSeekOfficialCareUncomplicated1 ... />
| <pSelfTreatUncomplicated ... />
| <pSeekOfficialCareUncomplicated2 ... />
| <pSeekOfficialCareSevere ... />
</ImmediateOutcomes>
- drugRegimen
- initialACR
- compliance
- nonCompliersEffective
- pSeekOfficialCareUncomplicated1
- pSelfTreatUncomplicated
- pSeekOfficialCareUncomplicated2
- pSeekOfficialCareSevere
Documentation (type)
Units: List of elements
Description of "immediate outcomes" health system: Tediosi et al case management model (Case management as described in AJTMH 75 (suppl 2) pp90-103).
Attributes
Case Management model
name=string
Units: string
Name of health system
Description of drug regimen
→ scenario → healthSystem → ImmediateOutcomes → drugRegimen
<drugRegimen
firstLine=string
secondLine=string
inpatient=string
/>
Documentation (element)
Units: List of elements
Description of drug regimen
Attributes
First line drug
firstLine=string
Units: Drug code
Code for first line drug
Second line drug
secondLine=string
Units: Drug code
Code for second line drug
Drug use for treating inpatients
inpatient=string
Units: Drug code
Code for drug used for treating inpatients
Initial cure rate
→ scenario → healthSystem → ImmediateOutcomes → initialACR
<initialACR>
IN THIS ORDER:
| [ <CQ ... /> ]
| [ <SP ... /> ]
| [ <AQ ... /> ]
| [ <SPAQ ... /> ]
| [ <ACT ... /> ]
| [ <QN ... /> ]
| <selfTreatment ... />
</initialACR>
Documentation (element)
Units: Proportion Min: 0 Max: 1
Initial cure rate
Chloroquine
→ scenario → healthSystem → ImmediateOutcomes → initialACR → CQ
<CQ
value=double
/>
Documentation (element)
Units: List of elements
Chloroquine
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Sulphadoxine-pyrimethamine
→ scenario → healthSystem → ImmediateOutcomes → initialACR → SP
<SP
value=double
/>
Documentation (element)
Units: List of elements
Sulphadoxine-pyrimethamine
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Amodiaquine
→ scenario → healthSystem → ImmediateOutcomes → initialACR → AQ
<AQ
value=double
/>
Documentation (element)
Units: List of elements
Amodiaquine
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Sulphadoxine-pyrimethamine/Amodiaquine
→ scenario → healthSystem → ImmediateOutcomes → initialACR → SPAQ
<SPAQ
value=double
/>
Documentation (element)
Units: List of elements
Sulphadoxine-pyrimethamine/Amodiaquine
Attributes
Input parameter value
value=double
A double-precision floating-point value.
ACT
→ scenario → healthSystem → ImmediateOutcomes → initialACR → ACT
<ACT
value=double
/>
Documentation (element)
Units: List of elements
Artemisinine combination therapy
Attributes
Input parameter value
value=double
A double-precision floating-point value.
QN
→ scenario → healthSystem → ImmediateOutcomes → initialACR → QN
<QN
value=double
/>
Documentation (element)
Units: List of elements
Quinine
Attributes
Input parameter value
value=double
A double-precision floating-point value.
selfTreatment
→ scenario → healthSystem → ImmediateOutcomes → initialACR → selfTreatment
<selfTreatment
value=double
/>
Documentation (element)
Units: Proportion Min: 0 Max: 1
Probability of self-treatment
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Adherence to treatment
→ scenario → healthSystem → ImmediateOutcomes → compliance
<compliance>
IN THIS ORDER:
| [ <CQ ... /> ]
| [ <SP ... /> ]
| [ <AQ ... /> ]
| [ <SPAQ ... /> ]
| [ <ACT ... /> ]
| [ <QN ... /> ]
| <selfTreatment ... />
</compliance>
Documentation (element)
Units: Proportion Min: 0 Max: 1
Adherence to treatment
Effectiveness of treatment in non-adherent patients
→ scenario → healthSystem → ImmediateOutcomes → nonCompliersEffective
<nonCompliersEffective>
IN THIS ORDER:
| [ <CQ ... /> ]
| [ <SP ... /> ]
| [ <AQ ... /> ]
| [ <SPAQ ... /> ]
| [ <ACT ... /> ]
| [ <QN ... /> ]
| <selfTreatment ... />
</nonCompliersEffective>
Documentation (element)
Units: Proportion Min: 0 Max: 1
Effectiveness of treatment of non compliers
Probability that a patient with uncomplicated disease seeks official care immediately
→ scenario → healthSystem → ImmediateOutcomes → pSeekOfficialCareUncomplicated1
<pSeekOfficialCareUncomplicated1
value=double
/>
Documentation (element)
Units: Proportion Min: 0 Max: 1
Probability that a patient with newly incident uncomplicated disease seeks official care
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Probability that a patient with uncomplicated disease self-treats
→ scenario → healthSystem → ImmediateOutcomes → pSelfTreatUncomplicated
<pSelfTreatUncomplicated
value=double
/>
Documentation (element)
Units: Proportion Min: 0 Max: 1
Probability that a patient with uncomplicated disease self-treats
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Probability that a recurring patient seeks official care
→ scenario → healthSystem → ImmediateOutcomes → pSeekOfficialCareUncomplicated2
<pSeekOfficialCareUncomplicated2
value=double
/>
Documentation (element)
Units: Proportion Min: 0 Max: 1
Probability that a patient with recurrence of uncomplicated disease seeks official care
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Probability that a patient with severe disease obtains appropriate care
→ scenario → healthSystem → ImmediateOutcomes → pSeekOfficialCareSevere
<pSeekOfficialCareSevere
value=double
/>
Documentation (element)
Units: Proportion Min: 0 Max: 1
Probability that a patient with severe disease obtains appropriate care
Attributes
Input parameter value
value=double
A double-precision floating-point value.
CFR
→ scenario → healthSystem → CFR
<CFR>
IN THIS ORDER:
| ( <group ... /> )+
</CFR>
Documentation (element)
Case fatality rate (probability of an inpatient fatality from a bout of severe malaria, per age-group).
group
→ scenario → healthSystem → CFR → group
<group
value=double
lowerbound=double
/>
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Lower bound
lowerbound=double
Units: Years Min: 0 Max: 100
Lower bound of age group
Probabilities of sequelae in inpatients
→ scenario → healthSystem → pSequelaeInpatient
<pSequelaeInpatient>
IN THIS ORDER:
| ( <group ... /> )+
</pSequelaeInpatient>
Documentation (element)
Units: List of elements
List of age specific probabilities of sequelae in inpatients, during a severe bout.
Replacement transmission setting (vector control not enabled)
→ scenario → interventions → timed → intervention → changeEIR
<changeEIR
eipDuration=int
>
IN THIS ORDER:
| ( <EIRDaily ... /> )+
</changeEIR>
Documentation (element)
Units: List of elements
New description of transmission setting for models without vector control interventions (included for backward compatibility)
Attributes
Duration of sporogony (days)
eipDuration=int
The duration of sporogony in days
Daily EIR
→ scenario → entoData → nonVector → EIRDaily
<EIRDaily
[ origin=string ]
>
double
</EIRDaily>
Documentation (element)
Units: innoculations per adult per day
Sequence of EIR values. Should cover at least one whole year. Values are averaged to result in a sequence of EIR-per-timestep values, but are otherwise not smoothed.
Documentation (type)
Units: Inoculations per person per day
There are two distinct ways of inputing the transmission setting. With this option, the values of daily EIR are input separately. This is only valid for models that do not invoke vector control and is retained only for backward compatibility. When multiple values are given for a single timestep they are averaged.
Attributes
Time origin of EIR sequence
origin=string
importedInfectionsPerThousandHosts
→ scenario → interventions → timed → intervention → importedInfectionsPerThousandHosts
<importedInfectionsPerThousandHosts>
double
</importedInfectionsPerThousandHosts>
Mass Drug Administration
→ scenario → interventions → timed → intervention → MDA
<MDA
[ maxAge=double ]
[ minAge=double ]
coverage=double
[ cohort=boolean ]
/>
Documentation (element)
Units: List of elements
Description of mass drug deployment in the community.
Attributes
Maximum age of eligible individuals
maxAge=double
Units: Years Min: 0 Max: 100
Maximum age of eligible individuals (defaults to 100)
Minimum age of eligible individuals
minAge=double
Units: Years Min: 0 Max: 100
Minimum age of eligible individuals (defaults to 0)
Coverage
coverage=double
Units: Proportion Min: 0 Max: 1
Coverage of intervention
Cohort only
cohort=boolean
Units: Proportion Min: 0 Max: 1
Restrict distribution to chosen cohort.
Vaccination
→ scenario → interventions → timed → intervention → vaccinate
<vaccinate
[ maxAge=double ]
[ minAge=double ]
coverage=double
[ cohort=boolean ]
/>
Documentation (element)
Units: List of elements
Description of vaccine deployment in the community
Attributes
Maximum age of eligible individuals
maxAge=double
Units: Years Min: 0 Max: 100
Maximum age of eligible individuals (defaults to 100)
Minimum age of eligible individuals
minAge=double
Units: Years Min: 0 Max: 100
Minimum age of eligible individuals (defaults to 0)
Coverage
coverage=double
Units: Proportion Min: 0 Max: 1
Coverage of intervention
Cohort only
cohort=boolean
Units: Proportion Min: 0 Max: 1
Restrict distribution to chosen cohort.
ITN deployment
→ scenario → interventions → timed → intervention → ITN
<ITN
[ maxAge=double ]
[ minAge=double ]
coverage=double
[ cohort=boolean ]
/>
Documentation (element)
Units: List of elements
Description of ITN deployment in the community
Attributes
Maximum age of eligible individuals
maxAge=double
Units: Years Min: 0 Max: 100
Maximum age of eligible individuals (defaults to 100)
Minimum age of eligible individuals
minAge=double
Units: Years Min: 0 Max: 100
Minimum age of eligible individuals (defaults to 0)
Coverage
coverage=double
Units: Proportion Min: 0 Max: 1
Coverage of intervention
Cohort only
cohort=boolean
Units: Proportion Min: 0 Max: 1
Restrict distribution to chosen cohort.
IRS deployment
→ scenario → interventions → timed → intervention → IRS
<IRS
[ maxAge=double ]
[ minAge=double ]
coverage=double
[ cohort=boolean ]
/>
Documentation (element)
Units: List of elements
Description of IRS deployment in the community
Attributes
Maximum age of eligible individuals
maxAge=double
Units: Years Min: 0 Max: 100
Maximum age of eligible individuals (defaults to 100)
Minimum age of eligible individuals
minAge=double
Units: Years Min: 0 Max: 100
Minimum age of eligible individuals (defaults to 0)
Coverage
coverage=double
Units: Proportion Min: 0 Max: 1
Coverage of intervention
Cohort only
cohort=boolean
Units: Proportion Min: 0 Max: 1
Restrict distribution to chosen cohort.
Mosquito deterrent
→ scenario → interventions → timed → intervention → VectorAvailability
<VectorAvailability
[ maxAge=double ]
[ minAge=double ]
coverage=double
[ cohort=boolean ]
/>
Documentation (element)
Units: List of elements
Description of a mosquito deterrent deployment in the community
Attributes
Maximum age of eligible individuals
maxAge=double
Units: Years Min: 0 Max: 100
Maximum age of eligible individuals (defaults to 100)
Minimum age of eligible individuals
minAge=double
Units: Years Min: 0 Max: 100
Minimum age of eligible individuals (defaults to 0)
Coverage
coverage=double
Units: Proportion Min: 0 Max: 1
Coverage of intervention
Cohort only
cohort=boolean
Units: Proportion Min: 0 Max: 1
Restrict distribution to chosen cohort.
IPTi deployment
→ scenario → interventions → timed → intervention → ipti
<ipti
[ maxAge=double ]
[ minAge=double ]
coverage=double
[ cohort=boolean ]
/>
Documentation (element)
Units: List of elements
List of age groups for IPTi distribution
Attributes
Maximum age of eligible individuals
maxAge=double
Units: Years Min: 0 Max: 100
Maximum age of eligible individuals (defaults to 100)
Minimum age of eligible individuals
minAge=double
Units: Years Min: 0 Max: 100
Minimum age of eligible individuals (defaults to 0)
Coverage
coverage=double
Units: Proportion Min: 0 Max: 1
Coverage of intervention
Cohort only
cohort=boolean
Units: Proportion Min: 0 Max: 1
Restrict distribution to chosen cohort.
Immune suppression deployment
→ scenario → interventions → timed → intervention → immuneSuppression
<immuneSuppression
[ maxAge=double ]
[ minAge=double ]
coverage=double
[ cohort=boolean ]
/>
Documentation (element)
Units: List of elements
Removes all exposure-related immunity gained over time by hosts without removing infections.
Hypothetical, but potentially useful to simulate scenarios with unprotected humans.
Attributes
Maximum age of eligible individuals
maxAge=double
Units: Years Min: 0 Max: 100
Maximum age of eligible individuals (defaults to 100)
Minimum age of eligible individuals
minAge=double
Units: Years Min: 0 Max: 100
Minimum age of eligible individuals (defaults to 0)
Coverage
coverage=double
Units: Proportion Min: 0 Max: 1
Coverage of intervention
Cohort only
cohort=boolean
Units: Proportion Min: 0 Max: 1
Restrict distribution to chosen cohort.
Insert R_0 case
→ scenario → interventions → timed → intervention → insertR_0Case
<insertR_0Case/>
Documentation (element)
Units: List of elements
Used to simulate R_0. First, infections should be eliminated, immunity removed, and the population given an effective transmission- blocking vaccine (not done by this intervention). Then this intervention may be used to: pick one human, infect him, administer a fully effective Preerythrocytic vaccine and remove transmission-blocking vaccine effect on this human. Thus only this one human will be a source of infections in an unprotected population, and will not reinfected himself.
Uninfect vectors
→ scenario → interventions → timed → intervention → uninfectVectors
<uninfectVectors/>
Documentation (element)
Units: List of elements
Removes all infections from mosquitoes -- resulting in zero EIR to humans, until such time that mosquitoes are re-infected and become infectious. Only effectious in dynamic EIR mode (when changeEIR was not used).
Hypothetical, but potentially useful to simulate a setting starting from no infections, but with enough mosquitoes to reach a set equilibrium of exposure.
larviciding
→ scenario → interventions → timed → intervention → larviciding
<larviciding>
IN THIS ORDER:
| ( <anopheles ... /> )+
</larviciding>
Documentation (element)
Simple larviciding intervention description.
anopheles
→ scenario → interventions → timed → intervention → larviciding → anopheles
<anopheles
mosquito=string
effectiveness=double
duration=int
/>
Attributes
Mosquito to be larvicided
mosquito=string
Mosquito to be larvicided
Proportionate reduction in emergence
effectiveness=double
Units: none Min: 0 Max: 1
Proportional reduction in emergence rate
Duration of activity
duration=int
Units: days Min: 0 Max: inf
Number of days for which the intervention is active.
Mass Cohort Selection
→ scenario → interventions → timed → intervention → cohort
<cohort
[ maxAge=double ]
[ minAge=double ]
coverage=double
[ cohort=boolean ]
/>
Documentation (element)
Units: List of elements
Description of mass cohort selection.
Attributes
Maximum age of eligible individuals
maxAge=double
Units: Years Min: 0 Max: 100
Maximum age of eligible individuals (defaults to 100)
Minimum age of eligible individuals
minAge=double
Units: Years Min: 0 Max: 100
Minimum age of eligible individuals (defaults to 0)
Coverage
coverage=double
Units: Proportion Min: 0 Max: 1
Coverage of intervention
Cohort only
cohort=boolean
Units: Proportion Min: 0 Max: 1
Restrict distribution to chosen cohort.
healthSystem
→ scenario → healthSystem
<healthSystem>
IN THIS ORDER:
| EXACTLY ONE OF:
| | <EventScheduler ... />
| | <ImmediateOutcomes ... />
| <CFR ... />
| <pSequelaeInpatient ... />
</healthSystem>
Documentation (type)
Units: List of elements
Description of case management system, used to specify the initial model or a replacement (an intervention). Encompasses case management data and some other data required to derive case outcomes.
Contains a sub-element describing the particular health-system in use. Health system data is here defined as data used to decide on a treatment strategy, given a case requiring treatment.
Transmission and vector bionomics
<entoData
name=string
mode=("2" or "4")
[ annualEIR=double ]
>
IN THIS ORDER:
| EXACTLY ONE OF:
| | <nonVector ... />
| | <vector ... />
</entoData>
Documentation (element)
Units: List of elements
Description of entomological data
Attributes
Entomology dataset
name=string
Units: string
Name of entomology data
Transmission simulation mode
mode=("2" or "4")
Units: Code
Transmission simulation mode -- enter dynamic mode (4) or forced mode (2) at start of intervention period. Mode 3 (transient EIR from data provided as intervention) is set when intervention data is applied, and is no longer a valid value to specify here.
Override annual EIR
annualEIR=double
Units: Infectious bites per person/adult per year
If set, overrides the annual EIR by scaling it to this level. If ommitted, EIR levels are as specified elsewhere.
Transmission setting (vector control not enabled)
→ scenario → entoData → nonVector
<nonVector
eipDuration=int
>
IN THIS ORDER:
| ( <EIRDaily ... /> )+
</nonVector>
Documentation (element)
Units: List of elements
Description of transmission setting for models without vector control interventions (included for backward compatibility)
Attributes
Duration of sporogony (days)
eipDuration=int
The duration of sporogony in days
Transmission setting (vector control enabled)
→ scenario → entoData → vector
<vector>
IN THIS ORDER:
| ( <anopheles ... /> )+
| ( <nonHumanHosts ... /> )*
</vector>
Documentation (element)
Units: List of elements
Parameters of the transmission model.
anopheles
→ scenario → entoData → vector → anopheles
<anopheles
mosquito=string
propInfected=double
propInfectious=double
>
IN THIS ORDER:
| EXACTLY ONE OF:
| | <eir ... />
| | <monthlyEir ... />
| <mosq ... />
| ( <nonHumanHosts ... /> )*
</anopheles>
Documentation (type)
Description of input EIR for one specific vector species in terms of a Fourier approximation to the ln of the EIR during the burn in period
Attributes
Identifier for this anopheles species
mosquito=string
Initial guess of proportion of mosquitoes infected
propInfected=double
Units: Proportion Min: 0 Max: 1
Initial guess of the proportion of mosquitoes which are infected, o: O_v(t) = o*N_v(t). Only used as a starting value.
Initial guess of proportion of mosquitoes infectious
propInfectious=double
Units: Proportion Min: 0 Max: 1
Initial guess of the proportion of mosquitoes which are infectious, s: S_v(t) = s*N_v(t). Used as a starting value and then fit.
Fourier approximation to pre-intervention EIR
→ scenario → entoData → vector → anopheles → eir
<eir
a0=double
a1=double
b1=double
a2=double
b2=double
EIRRotateAngle=double
/>
Documentation (element)
Units: Inoculations per person per day
Description of target entomological inoculation rate as a Fourier series. This is used to estimate a suitible vector emergence rate. The annual (target) EIR is thus the exponent of the fourier series with these parameters, with period scaled to 365 days.
Attributes
a0 parameter of Fourier approximation to ln(EIR)
a0=double
a1 parameter of Fourier approximation to ln(EIR)
a1=double
b1 parameter of Fourier approximation to ln(EIR)
b1=double
a2 parameter of Fourier approximation to ln(EIR)
a2=double
b2 parameter of Fourier approximation to ln(EIR)
b2=double
Rotation angle defining the origin of the Fourier approximation to ln (EIR)
EIRRotateAngle=double
Units: radians
Monthly values for pre-intervention EIR
→ scenario → entoData → vector → anopheles → monthlyEir
<monthlyEir
annualEIR=double
>
IN THIS ORDER:
| ( <item ... /> ){12,12}
</monthlyEir>
Documentation (element)
Units: Inoculations per person per month
Description of target entomological inoculation rate as monthly values plus an annual override (monthly values are scaled to fit the annual EIR described). This is used to estimate a suitible vector emergence rate. The annual (target) EIR is derived from a Fourier series fit to these monthly values (used as a smoothing factor). List should contain twelve entries: January to December.
Attributes
Annual EIR
annualEIR=double
Units: Innoculations per person per year Min: 0
Scales the monthly values to give this annual innoculation rate.
Monthly pre-intervention EIR
→ scenario → entoData → vector → anopheles → monthlyEir → item
<item>
double
</item>
Vector Species
→ scenario → entoData → vector → anopheles → mosq
<mosq
mosqRestDuration=int
extrinsicIncubationPeriod=int
mosqLaidEggsSameDayProportion=double
mosqSeekingDuration=double
mosqSurvivalFeedingCycleProbability=double
mosqProbBiting=double
mosqProbFindRestSite=double
mosqProbResting=double
mosqProbOvipositing=double
mosqHumanBloodIndex=double
minInfectedThreshold=double
/>
Documentation (element)
Units: List of elements
Vector species
Attributes
Duration of the resting period of the vector (days)
mosqRestDuration=int
Extrinsic incubation period (days)
extrinsicIncubationPeriod=int
Proportion of mosquitoes host seeking on same day as ovipositing
mosqLaidEggsSameDayProportion=double
Duration of the host-seeking period of the vector (days)
mosqSeekingDuration=double
Probability that the mosquito survives the feeding cycle
mosqSurvivalFeedingCycleProbability=double
Probability that the mosquito succesfully bites chosen host
mosqProbBiting=double
Probability that the mosquito escapes host and finds a resting place after biting
mosqProbFindRestSite=double
Probability of mosquito successfully resting after finding a resting site
mosqProbResting=double
Probability of a mosquito successfully laying eggs given that it has rested
mosqProbOvipositing=double
Human blood index
mosqHumanBloodIndex=double
The proportion of resting mosquitoes which fed on human blood during the last feed.
Min infected threshold
minInfectedThreshold=double
Min: 0
If less than this many mosquitoes remain infected, transmission is interrupted.
nonHumanHosts
→ scenario → entoData → vector → anopheles → nonHumanHosts
<nonHumanHosts
name=string
mosqRelativeEntoAvailability=double
mosqProbBiting=double
mosqProbFindRestSite=double
mosqProbResting=double
/>
Documentation (element)
Units: List of elements
Non human host parameters, per type of host (must match up with non-species-specific parameters).
Attributes
Identifier for this category of non-human hosts
name=string
Relative availability of nonhuman hosts of type i (to other nonhuman hosts)
mosqRelativeEntoAvailability=double
Probability of mosquito successfully biting host
mosqProbBiting=double
Probability that the mosquito escapes host and finds a resting place after biting
mosqProbFindRestSite=double
Probability of mosquito successfully resting after finding a resting site
mosqProbResting=double
nonHumanHosts
→ scenario → entoData → vector → nonHumanHosts
<nonHumanHosts
name=string
number=double
/>
Attributes
Species of alternative host
name=string
Units: List of elements
Name of this species of non human hosts (must match up with those described per anopheles section)
number
number=double
Pharmacokinetics and pharmacodynamics
<drugDescription>
IN THIS ORDER:
| ( <drug ... /> )+
</drugDescription>
Documentation (element)
Units: List of elements
Drug model parameters
drug
→ scenario → drugDescription → drug
<drug
abbrev=string
>
IN THIS ORDER:
| <PD ... />
| <PK ... />
| [ <IV ... /> ]
</drug>
Documentation (element)
Sequence of drug descriptions forming a library of drug parameters.
Attributes
abbrev
abbrev=string
PD
→ scenario → drugDescription → drug → PD
<PD>
IN THIS ORDER:
| ( <allele ... /> )+
</PD>
allele
→ scenario → drugDescription → drug → PD → allele
<allele
name=string
>
IN THIS ORDER:
| <initial_frequency ... />
| <max_killing_rate ... />
| <IC50 ... />
| <slope ... />
</allele>
Documentation (element)
PD parameters per allele, plus initial frequency of each allele.
Note: we assume a one-to-one correspondance of drugs to loci, hence each drug has an independent set of alleles here.
Attributes
name
name=string
Relative frequency
→ scenario → drugDescription → drug → PD → allele → initial_frequency
<initial_frequency>
double
</initial_frequency>
Documentation (element)
Units: relative frequency Min: 0
Frequency, relative to the total frequency of all alleles for this drug/locus.
Maximal parasite killing rate
→ scenario → drugDescription → drug → PD → allele → max_killing_rate
<max_killing_rate>
double
</max_killing_rate>
Documentation (element)
Units: 1/days Min: 0
k1 — Maximal parasite killing rate.
IC50
→ scenario → drugDescription → drug → PD → allele → IC50
<IC50>
double
</IC50>
Documentation (element)
Units: mg/l Min: 0
Half maximal effect concentration.
Slope of effect curve
→ scenario → drugDescription → drug → PD → allele → slope
<slope>
double
</slope>
Documentation (element)
Units: no units
n — Slope of the concentration effect curve
PK
→ scenario → drugDescription → drug → PK
<PK>
IN THIS ORDER:
| <negligible_concentration ... />
| <half_life ... />
| <vol_dist ... />
</PK>
Drug concentration considered negligible
→ scenario → drugDescription → drug → PK → negligible_concentration
<negligible_concentration>
double
</negligible_concentration>
Documentation (element)
Units: mg/l Min: 0
Concentration below which drug's effects are deemed negligible and can be removed from simulation.
drug half-life
→ scenario → drugDescription → drug → PK → half_life
<half_life>
double
</half_life>
Documentation (element)
Units: days Min: 0
Used to calculate elimination rate (which is: ln(2) / half_life).
Volume of Distribution
→ scenario → drugDescription → drug → PK → vol_dist
<vol_dist>
double
</vol_dist>
Documentation (element)
Units: l/kg Min: 0
Volume of Distribution
IV
→ scenario → drugDescription → drug → IV
<IV>
IN THIS ORDER:
| <half_life ... />
| <vol_dist ... />
</IV>
drug half-life
→ scenario → drugDescription → drug → IV → half_life
<half_life>
double
</half_life>
Documentation (element)
Units: days Min: 0
Used to calculate elimination rate (which is: ln(2) / half_life).
Volume of Distribution
→ scenario → drugDescription → drug → IV → vol_dist
<vol_dist>
double
</vol_dist>
Documentation (element)
Units: l/kg Min: 0
Volume of Distribution
Model options and parameters
<model>
IN THIS ORDER:
| <ModelOptions ... />
| <clinical ... />
| <parameters ... />
</model>
Documentation (element)
Units: List of elements
Encapsulation of all parameters which describe the model according to which fitting is done.
Model Options
→ scenario → model → ModelOptions
<ModelOptions>
IN THIS ORDER:
| ( <option ... /> )*
</ModelOptions>
Documentation (element)
Units: List of elements
All model options (bug fixes, choices between models, etc.).
The list of recognised options can be found in the code at:
include/util/ModelOptions.h and should also be in the wiki.
clinical
<clinical
healthSystemMemory=int
/>
Documentation (type)
Units: List of elements
Description of clinical parameters.
This is related to the health-system description, but contains data which can't be changed as part of an intervention and is not restricted to treatment.
Attributes
Follow-up period during which recurrence is treated as a failure
healthSystemMemory=int
Units: Time steps Min: 1 Max: 100
Follow-up period during which a recurrence is considered to be a treatment failure
Parameters of the model of epidemiology
→ scenario → model → parameters
<parameters
interval=int
iseed=int
latentp=int
>
IN THIS ORDER:
| ( <parameter ... /> )+
</parameters>
Documentation (element)
Units: List of elements
Parameters of the epidemiological model
Attributes
Simulation step
interval=int
Units: Days
Simulation step
Random number seed
iseed=int
Units: Number
Seed for RNG
Pre-erythrocytic latent period
latentp=int
Units: Time steps Min: 0 Max: 20
pre-erythrocytic latent period, in time steps
parameter
→ scenario → model → parameters → parameter
<parameter
name=string
number=int
value=double
[ include=boolean ]
/>
Attributes
Name of parameter
name=string
Units: string
Name of parameter
Parameter number
number=int
Units: Number Min: 1 Max: 100
Reference number of input parameter
Parameter value
value=double
Units: Number Min: 0
Parameter value
Sampling indicator
include=boolean
Units: Number Min: 0 Max: 1
True if parameter is to be sampled in optimization runs. Not used in simulator app.
Schema 22 documentation
Generated from: scenario_22.xsd
.
Key:
abc required (one)
[ def ] optional (zero or one)
( ghi )* any number (zero or more)
( jkl )+ at least one
( mno ){2,inf} two or more occurrences
Scenario
→ scenario
<scenario
schemaVersion=int
analysisNo=int
name=string
wuID=int
assimMode=("0" or "1")
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:noNamespaceSchemaLocation="scenario_22.xsd"
>
IN THIS ORDER:
| <demography ... />
| <monitoring ... />
| <interventions ... />
| <healthSystem ... />
| <entoData ... />
| [ <drugDescription ... /> ]
| <model ... />
</scenario>
Documentation (element)
Units: List of elements
Description of scenario
Attributes
Version of the xml schema
schemaVersion=int
Version of xml schema. If not equal to the current version an error is thrown. Use SchemaTranslator to update xml files.
Reference number of the analysis
analysisNo=int
Units: Number Min: 1 Max: 100000000
Unique identifier of scenario
Name of intervention
name=string
Units: string
Name of intervention
Work unit identifier
wuID=int
Units: Number Min: 1 Max: 100000000
Work unit ID. Only used to validate checkpointing, to prevent checkpoint cheats.
Assimilator mode
assimMode=("0" or "1")
Units: Code
Assimilator mode. Defines output of simulator as either complete (columns: time,agegroup,measure,value) or minimal (single column: value)
Human age distribution
→ scenario → demography
<demography
name=string
popSize=int
maximumAgeYrs=double
[ growthRate=double ]
>
IN THIS ORDER:
| <ageGroup ... />
</demography>
Documentation (element)
Units: List of elements
Description of demography
Attributes
Name of demography data
name=string
Units: string
Name of demography data
Population size
popSize=int
Units: Count Min: 1 Max: 100000
Population size
Maximum age of simulated humans
maximumAgeYrs=double
Units: years Min: 0 Max: 100
Maximum age of simulated humans in years.
Growth rate of human population
growthRate=double
Units: Number Min: 0 Max: 0
Growth rate of human population. (we should be able to implement this with non-zero values)
Age groups
→ scenario → demography → ageGroup
<ageGroup
lowerbound=double
>
IN THIS ORDER:
| ( <group ... /> )+
</ageGroup>
Documentation (element)
Units: List of elements
List of age groups included in demography
Documentation (type)
Units: List of elements
List of age groups included in demography or surveys
Attributes
lower bound of age group
lowerbound=double
Units: Years Min: 0 Max: 100
Lower bound of age group
group
→ scenario → demography → ageGroup → group
<group
poppercent=double
upperbound=double
/>
Attributes
Percentage in age group
poppercent=double
Percentage of human population in age group
upper bound of age group
upperbound=double
Units: Years Min: 0 Max: 100
Upper bound of age group
Measures to be reported
→ scenario → monitoring
<monitoring
name=string
[ cohortOnly=boolean ]
>
IN THIS ORDER:
| [ <continuous ... /> ]
| <SurveyOptions ... />
| <surveys ... />
| <ageGroup ... />
</monitoring>
Documentation (element)
Units: List of elements
Description of surveys
Attributes
Name of monitoring information
name=string
Units: string
Name of monitoring data
Survey only cohort
cohortOnly=boolean
If true, for many output measures, the output comes only from individuals in the cohort; otherwise output is from the entire population. Does not need to be specified if no cohort-selecting "interventions" are present.
continuous
→ scenario → monitoring → continuous
<continuous
period=int
[ duringInit=boolean ]
>
IN THIS ORDER:
| ( <option ... /> )*
</continuous>
Attributes
Days between reports
period=int
Units: Days Min: 1 Max: unbounded
Number of timesteps between reports.
During initialization
duringInit=boolean
Units: Days Min: 1 Max: unbounded
Also output during initialization. By default this is disabled (only intervention-period data is output). This should not be used for predictions, but can be useful for model validation. In this mode, 'simulation time' is output as the first column (in addition to 'timestep'), since 'timestep' is dis- continuous across the start of the intervention period.
option
→ scenario → monitoring → continuous → option
<option
name=string
value=boolean
/>
Attributes
Model options required
name=string
Options define different model structures. Option name. Must be one of a strictly defined set. Options are not required to be listed if their default value is desired.
Indicator of whether option is required
value=boolean
Option value (true/false). Each option has a default value used if the option is not listed (usually false but sometimes true).
Name of quantity
→ scenario → monitoring → SurveyOptions
<SurveyOptions>
IN THIS ORDER:
| ( <option ... /> )*
</SurveyOptions>
Documentation (element)
List of all active survey options. See include/Survey.h for a list of supported outputs. Should also be on the wiki.
Survey times (time steps)
→ scenario → monitoring → surveys
<surveys
detectionLimit=double
>
IN THIS ORDER:
| ( <surveyTime ... /> )+
</surveys>
Documentation (element)
Units: List of elements
List of survey times
Attributes
Detection limit for parasitaemia
detectionLimit=double
Units: parasites/micolitre Min: 0 Max: 1000
Detection limit for parasitemia
Survey time
→ scenario → monitoring → surveys → surveyTime
<surveyTime>
int
</surveyTime>
Documentation (element)
Units: Number Min: 0
Survey time; 0 means just before start of main sim and is a valid survey-point. Reported data is either from a point-time survey (immediate data) or is collected over the previous year (data from previous timesteps-per-year period). Simulation will end immediately after last survey is taken.
Age groups
→ scenario → monitoring → ageGroup
<ageGroup
lowerbound=double
>
IN THIS ORDER:
| ( <group ... /> )+
</ageGroup>
Documentation (element)
Units: List of elements
List of age groups included in demography or surveys
Documentation (type)
Units: List of elements
List of age groups included in surveys
Attributes
lower bound of age group
lowerbound=double
Units: Years Min: 0 Max: 100
Lower bound of age group
group
→ scenario → monitoring → ageGroup → group
<group
upperbound=double
/>
Attributes
upper bound of age group
upperbound=double
Units: Years Min: 0 Max: 100
Upper bound of age group
Preventative interventions
<interventions
name=string
>
IN THIS ORDER:
| <descriptions ... />
| [ <continuous ... /> ]
| [ <timed ... /> ]
</interventions>
Documentation (element)
Units: List of elements
List of interventions. Generally these are either point-time distributions of something to some subset of the population, or continuous-time distribution targetting individuals when they reach a certain age.
Attributes
Intervention
name=string
Units: string
Name of age specific intervention
descriptions
→ scenario → interventions → descriptions
<descriptions>
IN THIS ORDER:
| [ <MDADescription ... /> ]
| ( <vaccineDescription ... /> ){0,3}
| [ <iptiDescription ... /> ]
| ( <anopheles ... /> )*
</descriptions>
Documentation (element)
Descriptions applying across all uses of an intervention.
Drug dose(s) used in MDA
→ scenario → interventions → descriptions → MDADescription
<MDADescription>
IN THIS ORDER:
| [ <schedule ... /> ]
</MDADescription>
Documentation (element)
Units: List of medicate elements
Description of drug dose(s) used in a mass-drug-administration intervention.
When using the new (Event Scheduler) case management model, a treatment schedule must be present.
schedule
→ scenario → interventions → descriptions → MDADescription → schedule
<schedule>
IN THIS ORDER:
| ( <medicate ... /> )*
</schedule>
Documentation (type)
The base (unmodified) schedule of drugs administered for this treatment.
medicate
→ scenario → interventions → descriptions → MDADescription → schedule → medicate
<medicate
drug=string
mg=double
hour=double
/>
Attributes
drug
drug=string
Units: string
Abbreviated name of drug compound
drug dose
mg=double
Units: mg
Quantity of drug compound
time of administration
hour=double
Units: hours Min: 0
Number of hours past start of timestep this drug dose is administered at (first dose should be at hour 0).
vaccineDescription
→ scenario → interventions → descriptions → vaccineDescription
<vaccineDescription
vaccineType=int
>
IN THIS ORDER:
| <halfLifeYrs ... />
| <efficacyB ... />
| ( <initialEfficacy ... /> )+
</vaccineDescription>
Attributes
Type of vaccine
vaccineType=int
Units: Code
Type of vaccine
Half life of drug effect
→ scenario → interventions → descriptions → vaccineDescription → halfLifeYrs
<halfLifeYrs
value=double
/>
Documentation (element)
Units: Years Min: 0 Max: 100
Half life of drug effect
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Variance parameter for vaccine efficacy
→ scenario → interventions → descriptions → vaccineDescription → efficacyB
<efficacyB
value=double
/>
Documentation (element)
Units: Positive real Min: 0.001 Max: 1.00E+06
Measure of variation in vaccine efficacy
Attributes
Input parameter value
value=double
A double-precision floating-point value.
initialEfficacy
→ scenario → interventions → descriptions → vaccineDescription → initialEfficacy
<initialEfficacy
value=double
/>
Attributes
Input parameter value
value=double
A double-precision floating-point value.
iptiDescription
→ scenario → interventions → descriptions → iptiDescription
<iptiDescription
iptiEffect=int
>
IN THIS ORDER:
| ( <infGenotype ... /> )+
</iptiDescription>
Attributes
iptiEffect
iptiEffect=int
infGenotype
→ scenario → interventions → descriptions → iptiDescription → infGenotype
<infGenotype
name=string
freq=double
ACR=double
proph=int
tolPeriod=int
atten=double
/>
Attributes
Age specific intervention
name=string
Units: string
Name of age specific intervention
Frequency
freq=double
Frequency of parasite genotype
ACR
ACR=double
Adequate clinical response (proportion)
Prophylactic period
proph=int
Prophylactic period
Tolerance period
tolPeriod=int
Tolerance period
Tolerance period
atten=double
Tolerance period
anopheles
→ scenario → interventions → descriptions → anopheles
<anopheles
mosquito=string
>
IN THIS ORDER:
| [ <ITNDescription ... /> ]
| [ <IRSDescription ... /> ]
| [ <VADescription ... /> ]
</anopheles>
Attributes
Entomological effects of interventions
mosquito=string
Description of the entomological effects of interventions
ITNDescription
→ scenario → interventions → descriptions → anopheles → ITNDescription
<ITNDescription
name=string
>
IN THIS ORDER:
| <deterrency ... />
| <preprandialKillingEffect ... />
| <postprandialKillingEffect ... />
</ITNDescription>
Attributes
ITN effects
name=string
Units: string
Name of Insecticide Treated Net intervention
Deterrency
→ scenario → interventions → descriptions → anopheles → ITNDescription → deterrency
<deterrency
initial=double
halflife=double
[ Weibullk=double ]
/>
Documentation (element)
Units: None Min: 0 Max: 1
One minus this multiplies the host's availability (before decay).
Documentation (type)
Specification of a proportion with Weibull or exponential decay.
Attributes
Initial proportion
initial=double
Units: None Min: 0 Max: 1
The value before any decay.
half-life
halflife=double
Units: Years Min: 0
Half-life in years (more generally, halflife/ln(2) is lambda from the Weibull distribution).
Weibull k parameter
Weibullk=double
Min: 0
The parameter k of the Weibull distribution. If missing, 1.0 is used (equivalent to exponential decay).
Pre-prandial killing effect
→ scenario → interventions → descriptions → anopheles → ITNDescription → preprandialKillingEffect
<preprandialKillingEffect
initial=double
halflife=double
[ Weibullk=double ]
/>
Documentation (element)
Units: None Min: 0 Max: 1
One minus this multiplies the survival rate of mosquitoes attempting to bite a host.
Documentation (type)
Specification of a proportion with Weibull or exponential decay.
Attributes
Initial proportion
initial=double
Units: None Min: 0 Max: 1
The value before any decay.
half-life
halflife=double
Units: Years Min: 0
Half-life in years (more generally, halflife/ln(2) is lambda from the Weibull distribution).
Weibull k parameter
Weibullk=double
Min: 0
The parameter k of the Weibull distribution. If missing, 1.0 is used (equivalent to exponential decay).
Post-prandial killing effect
→ scenario → interventions → descriptions → anopheles → ITNDescription → postprandialKillingEffect
<postprandialKillingEffect
initial=double
halflife=double
[ Weibullk=double ]
/>
Documentation (element)
Units: None Min: 0 Max: 1
One minus this multiplies the survival rate of mosquitoes attempting to escape after biting a host.
Documentation (type)
Specification of a proportion with Weibull or exponential decay.
Attributes
Initial proportion
initial=double
Units: None Min: 0 Max: 1
The value before any decay.
half-life
halflife=double
Units: Years Min: 0
Half-life in years (more generally, halflife/ln(2) is lambda from the Weibull distribution).
Weibull k parameter
Weibullk=double
Min: 0
The parameter k of the Weibull distribution. If missing, 1.0 is used (equivalent to exponential decay).
IRSDescription
→ scenario → interventions → descriptions → anopheles → IRSDescription
<IRSDescription
name=string
>
IN THIS ORDER:
| <deterrency ... />
| <killingEffect ... />
</IRSDescription>
Attributes
name of IRS intervention
name=string
Units: string
Name of Indoor Residual Spraying intervention
Deterrency
→ scenario → interventions → descriptions → anopheles → IRSDescription → deterrency
<deterrency
initial=double
halflife=double
[ Weibullk=double ]
/>
Documentation (element)
Units: None Min: 0 Max: 1
One minus this multiplies the host's availability.
Documentation (type)
Specification of a proportion with Weibull or exponential decay.
Attributes
Initial proportion
initial=double
Units: None Min: 0 Max: 1
The value before any decay.
half-life
halflife=double
Units: Years Min: 0
Half-life in years (more generally, halflife/ln(2) is lambda from the Weibull distribution).
Weibull k parameter
Weibullk=double
Min: 0
The parameter k of the Weibull distribution. If missing, 1.0 is used (equivalent to exponential decay).
killing effect
→ scenario → interventions → descriptions → anopheles → IRSDescription → killingEffect
<killingEffect
initial=double
halflife=double
[ Weibullk=double ]
/>
Documentation (element)
Units: None Min: 0 Max: 1
One minus this multiplies the survival rate of resting mosquitoes.
Documentation (type)
Specification of a proportion with Weibull or exponential decay.
Attributes
Initial proportion
initial=double
Units: None Min: 0 Max: 1
The value before any decay.
half-life
halflife=double
Units: Years Min: 0
Half-life in years (more generally, halflife/ln(2) is lambda from the Weibull distribution).
Weibull k parameter
Weibullk=double
Min: 0
The parameter k of the Weibull distribution. If missing, 1.0 is used (equivalent to exponential decay).
VADescription
→ scenario → interventions → descriptions → anopheles → VADescription
<VADescription
name=string
>
IN THIS ORDER:
| <deterrency ... />
</VADescription>
Attributes
Name of mosquito deterrency intervention
name=string
Units: string
Name of mosquito deterrency intervention
Deterrency
→ scenario → interventions → descriptions → anopheles → VADescription → deterrency
<deterrency
initial=double
halflife=double
[ Weibullk=double ]
/>
Documentation (element)
Units: None Min: 0 Max: 1
One minus this multiplies the host's availability.
Documentation (type)
Specification of a proportion with Weibull or exponential decay.
Attributes
Initial proportion
initial=double
Units: None Min: 0 Max: 1
The value before any decay.
half-life
halflife=double
Units: Years Min: 0
Half-life in years (more generally, halflife/ln(2) is lambda from the Weibull distribution).
Weibull k parameter
Weibullk=double
Min: 0
The parameter k of the Weibull distribution. If missing, 1.0 is used (equivalent to exponential decay).
Continuously applied interventions
→ scenario → interventions → continuous
<continuous>
IN THIS ORDER:
| ( <vaccine ... /> )*
| ( <ITN ... /> )*
| ( <ipti ... /> )*
| ( <cohort ... /> )*
</continuous>
List of age groups for vaccination
→ scenario → interventions → continuous → vaccine
<vaccine
targetAgeYrs=double
coverage=double
[ cohort=boolean ] DEFAULT VALUE false
[ begin=int ] DEFAULT VALUE 0
[ end=int ] DEFAULT VALUE 2147483647
/>
Documentation (element)
Units: List of elements
List of age groups for vaccination
Attributes
Target age
targetAgeYrs=double
Units: Years Min: 0 Max: 100
Target age of intervention
Proportion covered
coverage=double
Units: Proportion Min: 0 Max: 1
Coverage of intervention
Cohort only
cohort=boolean
Units: Proportion Min: 0 Max: 1
Default value: false
Restrict distribution to chosen cohort (default: false).
First timestep active
begin=int
Units: Timesteps Min: 0 Max: 2147483647
Default value: 0
First timestep (from 0 at the beginning of the intervention period) this item is active. Defaults to 0.
End timestep
end=int
Units: Timesteps Min: 0 Max: 2147483647
Default value: 2147483647
End of the period during which the intervention is active (to be exact, the first timestep of the intervention period at which the item becomes inactive). Defaults to 2147483647.
Description of ITN deployment
→ scenario → interventions → continuous → ITN
<ITN
targetAgeYrs=double
coverage=double
[ cohort=boolean ] DEFAULT VALUE false
[ begin=int ] DEFAULT VALUE 0
[ end=int ] DEFAULT VALUE 2147483647
/>
Documentation (element)
Units: List of elements
Description of ITN deployment in the community
Attributes
Target age
targetAgeYrs=double
Units: Years Min: 0 Max: 100
Target age of intervention
Proportion covered
coverage=double
Units: Proportion Min: 0 Max: 1
Coverage of intervention
Cohort only
cohort=boolean
Units: Proportion Min: 0 Max: 1
Default value: false
Restrict distribution to chosen cohort (default: false).
First timestep active
begin=int
Units: Timesteps Min: 0 Max: 2147483647
Default value: 0
First timestep (from 0 at the beginning of the intervention period) this item is active. Defaults to 0.
End timestep
end=int
Units: Timesteps Min: 0 Max: 2147483647
Default value: 2147483647
End of the period during which the intervention is active (to be exact, the first timestep of the intervention period at which the item becomes inactive). Defaults to 2147483647.
List of age groups for IPTi
→ scenario → interventions → continuous → ipti
<ipti
targetAgeYrs=double
coverage=double
[ cohort=boolean ] DEFAULT VALUE false
[ begin=int ] DEFAULT VALUE 0
[ end=int ] DEFAULT VALUE 2147483647
/>
Documentation (element)
Units: List of elements
List of age groups for IPTi distribution
Attributes
Target age
targetAgeYrs=double
Units: Years Min: 0 Max: 100
Target age of intervention
Proportion covered
coverage=double
Units: Proportion Min: 0 Max: 1
Coverage of intervention
Cohort only
cohort=boolean
Units: Proportion Min: 0 Max: 1
Default value: false
Restrict distribution to chosen cohort (default: false).
First timestep active
begin=int
Units: Timesteps Min: 0 Max: 2147483647
Default value: 0
First timestep (from 0 at the beginning of the intervention period) this item is active. Defaults to 0.
End timestep
end=int
Units: Timesteps Min: 0 Max: 2147483647
Default value: 2147483647
End of the period during which the intervention is active (to be exact, the first timestep of the intervention period at which the item becomes inactive). Defaults to 2147483647.
Continuous cohort selection
→ scenario → interventions → continuous → cohort
<cohort
targetAgeYrs=double
coverage=double
[ cohort=boolean ] DEFAULT VALUE false
[ begin=int ] DEFAULT VALUE 0
[ end=int ] DEFAULT VALUE 2147483647
/>
Documentation (element)
Units: List of elements
Description of continuous selection of individuals for a cohort study.
Attributes
Target age
targetAgeYrs=double
Units: Years Min: 0 Max: 100
Target age of intervention
Proportion covered
coverage=double
Units: Proportion Min: 0 Max: 1
Coverage of intervention
Cohort only
cohort=boolean
Units: Proportion Min: 0 Max: 1
Default value: false
Restrict distribution to chosen cohort (default: false).
First timestep active
begin=int
Units: Timesteps Min: 0 Max: 2147483647
Default value: 0
First timestep (from 0 at the beginning of the intervention period) this item is active. Defaults to 0.
End timestep
end=int
Units: Timesteps Min: 0 Max: 2147483647
Default value: 2147483647
End of the period during which the intervention is active (to be exact, the first timestep of the intervention period at which the item becomes inactive). Defaults to 2147483647.
Timed interventions
→ scenario → interventions → timed
<timed>
IN THIS ORDER:
| ( <intervention ... /> )+
</timed>
Documentation (element)
Units: List of elements
List of timed interventions
Documentation (type)
Units: List of elements
List of timed interventions
intervention
→ scenario → interventions → timed → intervention
<intervention
time=int
>
IN THIS ORDER:
| [ <changeHS ... /> ]
| [ <changeEIR ... /> ]
| [ <importedInfectionsPerThousandHosts ... /> ]
| [ <MDA ... /> ]
| [ <vaccinate ... /> ]
| [ <ITN ... /> ]
| [ <IRS ... /> ]
| [ <VectorAvailability ... /> ]
| [ <ipti ... /> ]
| [ <immuneSuppression ... /> ]
| [ <insertR_0Case ... /> ]
| [ <uninfectVectors ... /> ]
| [ <larviciding ... /> ]
| [ <cohort ... /> ]
</intervention>
- changeHS
- changeEIR
- importedInfectionsPerThousandHosts
- MDA
- vaccinate
- ITN
- IRS
- VectorAvailability
- ipti
- immuneSuppression
- insertR_0Case
- uninfectVectors
- larviciding
- cohort
Attributes
Time step of intervention
time=int
Units: Number Min: 1 Max: 10000
Time step of intervention
changeHS
→ scenario → interventions → timed → intervention → changeHS
<changeHS>
IN THIS ORDER:
| EXACTLY ONE OF:
| | <EventScheduler ... />
| | <ImmediateOutcomes ... />
| <CFR ... />
| <pSequelaeInpatient ... />
</changeHS>
Documentation (type)
Units: List of elements
Description of case management system, used to specify the initial model or a replacement (an intervention). Encompasses case management data and some other data required to derive case outcomes.
Contains a sub-element describing the particular health-system in use. Health system data is here defined as data used to decide on a treatment strategy, given a case requiring treatment.
EventScheduler
→ scenario → healthSystem → EventScheduler
<EventScheduler>
IN THIS ORDER:
| <uncomplicated ... />
| <complicated ... />
| <ClinicalOutcomes ... />
</EventScheduler>
uncomplicated
→ scenario → healthSystem → EventScheduler → uncomplicated
<uncomplicated>
IN THIS ORDER:
| <decisions ... />
| <treatments ... />
</uncomplicated>
Documentation (type)
Units: List of elements
A set of decisions and a set of treatments.
decisions
→ scenario → healthSystem → EventScheduler → uncomplicated → decisions
<decisions>
IN THIS ORDER:
| ( <decision ... /> )*
</decisions>
Documentation (type)
Description of decisions for a case management tree. A generic view of this tree would be that each decision is deterministic, or based on probabilities which may depend on other decisions. Probabilistic decisions are described here.
In general, each decision has a name, a defined set of outcome values, and a set of dependent decisions mentioned by name. The following decisions, with their associated outcomes, are provided by the code (and may not be included here):
- case (uncomplicated only): Returns "UC1" if there is no recent history of a malarial case, or "UC2" if there is.
- result: Dependent on decision "test", this performs a parasite density test. Output is one of "none" (no test performed), "positive", "negative".
The following decisions must be described here:
- test (uncomplicated only): Outputs must be "none", "microscopy" or "RDT" to describe which test the "result" decision uses.
- treatment: Describes which treatment to use. Values aren't restricted but must match up with a treatment described in the corresponding "treatments" section.
- hospitalisation (complicated only): none, immediate or delayed.
decision
→ scenario → healthSystem → EventScheduler → uncomplicated → decisions → decision
<decision
name=string
depends=string
values=string
>
string
</decision>
Documentation (type)
A decision describes how to choose between a set of values.
Lexically, it can contain symbols matching "[_.a-zA-Z0-9]+", round brackets: (), braces: {} and colons. Whitespace is ignored except to separate symbols.
Syntactically, it must match one TREE, where SYMBOL is a symbol described above. (Here, "x|y" means x or y, "x+" means x occurs once or more, brackets show grouping.) TREE := BRANCH_SET | OUTCOME BRANCH_SET := BRANCH+ BRANCH := DECISION '(' VALUE ')' ( ':' OUTCOME | '{' TREE '}' ) OUTCOME, DECISION, VALUE := SYMBOL
For each BRANCH_SET each BRANCH must have the same DECISION. This DECISION must be one of the dependencies mentioned in "depends". This may be:
- another decision, in which case the VALUE immediately following in brackets must correspond to one of its output values. The BRANCH_SET immediately containing this BRANCH must represent each output value of the same decision exactly once, and no parent BRANCH_SET may be for the same DECISION.
- "p": this indicates a probabilistic decision. In this case the value is a probability, the sum of all values for the BRANCH_SET must be 1 and the decision must be associated directly with OUTCOMEs (not sub-TREEs).
- "age": this indicates an age-test. The VALUE must have the form "a-b", indicating that this branch will be taken for individuals aged such that a <= age < b, where a,b are non-negative real numbers or the special value "inf", and a <= b. All VALUEs in the BRANCH_SET must cover all possible (non-negative real) ages, with no overlap (hence, smallest a must be 0 and greatest b must be inf).
Semantically, each OUTCOME must be one of the values associated with this decision.
Attributes
Name of decision
name=string
The name of this decision. The name must match the regular expression "[_a-zA-Z0-9]+"; that is it can only contain letters, digits and _ characters (no spaces, punctuation, etc.).
Preceding decisions
depends=string
A comma-separated list of decisions that must have already been evaluated before this decision can be evaluated. Can be empty. Each must be hard-coded or described here. Can include the special decisions "p" and "age", though "age" cannot be combined with any other dependency.
Outcome values
values=string
A comma-separated list of outcome values this decision may have. The name of each value must be of the same form as decision names (i.e. only contain letters, digits and _ characters).
treatments
→ scenario → healthSystem → EventScheduler → uncomplicated → treatments
<treatments>
IN THIS ORDER:
| ( <treatment ... /> )*
</treatments>
Documentation (type)
Units: string
A list of drug treatment tables. Each should have a name corresponding to one of the "drug" decision's values.
treatment
→ scenario → healthSystem → EventScheduler → uncomplicated → treatments → treatment
<treatment
name=string
>
IN THIS ORDER:
| <schedule ... />
| ( <modifier ... /> )*
</treatment>
Documentation (type)
A description of a base treatment schedule along with modifiers to handle delays, quality variations, etc.
Attributes
Treatment administered
name=string
Units: string
Name corresponding to one of the drug decision's output values.
schedule
→ scenario → healthSystem → EventScheduler → uncomplicated → treatments → treatment → schedule
<schedule>
IN THIS ORDER:
| ( <medicate ... /> )*
</schedule>
Documentation (type)
The base (unmodified) schedule of drugs administered for this treatment.
modifier
→ scenario → healthSystem → EventScheduler → uncomplicated → treatments → treatment → modifier
<modifier
decision=string
>
EXACTLY ONE OF:
| ( <multiplyQty ... /> )*
| ( <delay ... /> )*
| ( <selectTimeRange ... /> )*
</modifier>
Documentation (type)
A modifier for this treatment, according to the outputs of a decision.
The "decision" attribute must be the name of a known decision. Then, there must be a set of multipyQty, delay or selectTimeRange sub-elements, each of which corresponds to one value output of the decision.
Attributes
decision
decision=string
Units: string
Specifies the decision that this modifier acts on.
multiplyQty
→ scenario → healthSystem → EventScheduler → uncomplicated → treatments → treatment → modifier → multiplyQty
<multiplyQty
value=string
effect=string
[ affectsCost=boolean ]
/>
Documentation (element)
Multiplies the quantity of active ingredients of drugs administered.
The "drugs" attribute is a comma-separated list of all active ingredients administered in the base schedule (each must be listed once) and the content of this element is a comma- separated list of multipliers for each active ingredient, listed in the same order as in the "drugs" attribute. E.g. with drugs="A,B" and content "0.5,1" the quantity of drug A is halved while that of B is unchanged.
Attributes
value of decision
value=string
Units: string
Specifies a value of the decision to act on.
List of drugs affected
effect=string
Units: string
Comma-separated list of the effect the modifier has on each drug, in the form DRUG1(EFFECT1),DRUG2(EFFECT2), etc.
Affects cost?
affectsCost=boolean
Units: none
Does this affect the cost? If false, the effective drug usage (w.r.t. cost) is unaffected by this modifier; if true it is. Defaults to true (if omitted). Is meaningless for delays.
delay
→ scenario → healthSystem → EventScheduler → uncomplicated → treatments → treatment → modifier → delay
<delay
value=string
effect=string
[ affectsCost=boolean ]
/>
Documentation (element)
Delays administration of drugs listed in the base schedule by so many hours.
The "drugs" attribute is a comma-separated list of all active ingredients administered in the base schedule (each must be listed once) and the content of this element is a comma- separated list of delays (in hours) for each active ingredient, listed in the same order as in the "drugs" attribute. E.g. with drugs="A,B" and content "0,6", drug A is administered as in the base schedule while drug B is administered 6 hours later than specified.
Attributes
value of decision
value=string
Units: string
Specifies a value of the decision to act on.
List of drugs affected
effect=string
Units: string
Comma-separated list of the effect the modifier has on each drug, in the form DRUG1(EFFECT1),DRUG2(EFFECT2), etc.
Affects cost?
affectsCost=boolean
Units: none
Does this affect the cost? If false, the effective drug usage (w.r.t. cost) is unaffected by this modifier; if true it is. Defaults to true (if omitted). Is meaningless for delays.
selectTimeRange
→ scenario → healthSystem → EventScheduler → uncomplicated → treatments → treatment → modifier → selectTimeRange
<selectTimeRange
value=string
effect=string
[ affectsCost=boolean ]
/>
Documentation (element)
Selects which drug doses to administer according to time of administration (before times are modified by delays). Half-open interval: [x,y)
The "drugs" attribute is a comma-separated list of all active ingredients administered in the base schedule (each must be listed once) and the content of this element is a comma- separated list of time-ranges (in hours) for each active ingredient, listed in the same order as in the "drugs" attribute. The time-ranges should be of the form x-y and are interpreted as the half-open interval [x,y); that is a drug listed with time t will only be administered if x <= t < y.
Attributes
value of decision
value=string
Units: string
Specifies a value of the decision to act on.
List of drugs affected
effect=string
Units: string
Comma-separated list of the effect the modifier has on each drug, in the form DRUG1(EFFECT1),DRUG2(EFFECT2), etc.
Affects cost?
affectsCost=boolean
Units: none
Does this affect the cost? If false, the effective drug usage (w.r.t. cost) is unaffected by this modifier; if true it is. Defaults to true (if omitted). Is meaningless for delays.
complicated
→ scenario → healthSystem → EventScheduler → complicated
<complicated>
IN THIS ORDER:
| <decisions ... />
| <treatments ... />
</complicated>
Documentation (type)
Units: List of elements
A set of decisions and a set of treatments.
ClinicalOutcomes
→ scenario → healthSystem → EventScheduler → ClinicalOutcomes
<ClinicalOutcomes>
IN THIS ORDER:
| <maxUCSeekingMemory ... />
| <uncomplicatedCaseDuration ... />
| <complicatedCaseDuration ... />
| <complicatedRiskDuration ... />
| <pImmediateUC ... />
</ClinicalOutcomes>
- maxUCSeekingMemory
- uncomplicatedCaseDuration
- complicatedCaseDuration
- complicatedRiskDuration
- pImmediateUC
Documentation (type)
Description of base parameters of the clinical model.
Max UC treatment-seeking memory
→ scenario → healthSystem → EventScheduler → ClinicalOutcomes → maxUCSeekingMemory
<maxUCSeekingMemory>
int
</maxUCSeekingMemory>
Documentation (element)
Units: days Min: 0 Max: unbounded
Maximum number of timesteps (including first of case) an individual will remember they are sick before resetting.
Uncomplicated case duration
→ scenario → healthSystem → EventScheduler → ClinicalOutcomes → uncomplicatedCaseDuration
<uncomplicatedCaseDuration>
int
</uncomplicatedCaseDuration>
Documentation (element)
Units: days Min: 1 Max: unbounded
Fixed length of an uncomplicated case of malarial/non-malarial sickness (from treatment seeking until return to life-as-usual). Usually 3.
Complicated case duration
→ scenario → healthSystem → EventScheduler → ClinicalOutcomes → complicatedCaseDuration
<complicatedCaseDuration>
int
</complicatedCaseDuration>
Documentation (element)
Units: days Min: 1 Max: unbounded
Fixed length of a complicated/severe case of malaria (from treatment seeking until return to life-as-usual).
Complicated risk duration
→ scenario → healthSystem → EventScheduler → ClinicalOutcomes → complicatedRiskDuration
<complicatedRiskDuration>
int
</complicatedRiskDuration>
Documentation (element)
Units: days Min: 1 Max: unbounded
Number of days for which humans are at risk of death during a severe or complicated case of malaria. Cannot be greater than the duration of a complicated case or less than 1 day.
Probability of immediate UC treatment seeking
→ scenario → healthSystem → EventScheduler → ClinicalOutcomes → pImmediateUC
<pImmediateUC>
double
</pImmediateUC>
Documentation (element)
Units: none Min: 0 Max: 1
Probability that UC treatment seeking will be done immediately when sick, on second day given that it wasn't done on first, etc.
ImmediateOutcomes
→ scenario → healthSystem → ImmediateOutcomes
<ImmediateOutcomes
name=string
>
IN THIS ORDER:
| <drugRegimen ... />
| <initialACR ... />
| <compliance ... />
| <nonCompliersEffective ... />
| <pSeekOfficialCareUncomplicated1 ... />
| <pSelfTreatUncomplicated ... />
| <pSeekOfficialCareUncomplicated2 ... />
| <pSeekOfficialCareSevere ... />
</ImmediateOutcomes>
- drugRegimen
- initialACR
- compliance
- nonCompliersEffective
- pSeekOfficialCareUncomplicated1
- pSelfTreatUncomplicated
- pSeekOfficialCareUncomplicated2
- pSeekOfficialCareSevere
Documentation (type)
Units: List of elements
Description of "immediate outcomes" health system: Tediosi et al case management model (Case management as described in AJTMH 75 (suppl 2) pp90-103).
Attributes
Case Management model
name=string
Units: string
Name of health system
Description of drug regimen
→ scenario → healthSystem → ImmediateOutcomes → drugRegimen
<drugRegimen
firstLine=string
secondLine=string
inpatient=string
/>
Documentation (element)
Units: List of elements
Description of drug regimen
Attributes
First line drug
firstLine=string
Units: Drug code
Code for first line drug
Second line drug
secondLine=string
Units: Drug code
Code for second line drug
Drug use for treating inpatients
inpatient=string
Units: Drug code
Code for drug used for treating inpatients
Initial cure rate
→ scenario → healthSystem → ImmediateOutcomes → initialACR
<initialACR>
IN THIS ORDER:
| [ <CQ ... /> ]
| [ <SP ... /> ]
| [ <AQ ... /> ]
| [ <SPAQ ... /> ]
| [ <ACT ... /> ]
| [ <QN ... /> ]
| <selfTreatment ... />
</initialACR>
Documentation (element)
Units: Proportion Min: 0 Max: 1
Initial cure rate
Chloroquine
→ scenario → healthSystem → ImmediateOutcomes → initialACR → CQ
<CQ
value=double
/>
Documentation (element)
Units: List of elements
Chloroquine
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Sulphadoxine-pyrimethamine
→ scenario → healthSystem → ImmediateOutcomes → initialACR → SP
<SP
value=double
/>
Documentation (element)
Units: List of elements
Sulphadoxine-pyrimethamine
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Amodiaquine
→ scenario → healthSystem → ImmediateOutcomes → initialACR → AQ
<AQ
value=double
/>
Documentation (element)
Units: List of elements
Amodiaquine
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Sulphadoxine-pyrimethamine/Amodiaquine
→ scenario → healthSystem → ImmediateOutcomes → initialACR → SPAQ
<SPAQ
value=double
/>
Documentation (element)
Units: List of elements
Sulphadoxine-pyrimethamine/Amodiaquine
Attributes
Input parameter value
value=double
A double-precision floating-point value.
ACT
→ scenario → healthSystem → ImmediateOutcomes → initialACR → ACT
<ACT
value=double
/>
Documentation (element)
Units: List of elements
Artemisinine combination therapy
Attributes
Input parameter value
value=double
A double-precision floating-point value.
QN
→ scenario → healthSystem → ImmediateOutcomes → initialACR → QN
<QN
value=double
/>
Documentation (element)
Units: List of elements
Quinine
Attributes
Input parameter value
value=double
A double-precision floating-point value.
selfTreatment
→ scenario → healthSystem → ImmediateOutcomes → initialACR → selfTreatment
<selfTreatment
value=double
/>
Documentation (element)
Units: Proportion Min: 0 Max: 1
Probability of self-treatment
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Adherence to treatment
→ scenario → healthSystem → ImmediateOutcomes → compliance
<compliance>
IN THIS ORDER:
| [ <CQ ... /> ]
| [ <SP ... /> ]
| [ <AQ ... /> ]
| [ <SPAQ ... /> ]
| [ <ACT ... /> ]
| [ <QN ... /> ]
| <selfTreatment ... />
</compliance>
Documentation (element)
Units: Proportion Min: 0 Max: 1
Adherence to treatment
Effectiveness of treatment in non-adherent patients
→ scenario → healthSystem → ImmediateOutcomes → nonCompliersEffective
<nonCompliersEffective>
IN THIS ORDER:
| [ <CQ ... /> ]
| [ <SP ... /> ]
| [ <AQ ... /> ]
| [ <SPAQ ... /> ]
| [ <ACT ... /> ]
| [ <QN ... /> ]
| <selfTreatment ... />
</nonCompliersEffective>
Documentation (element)
Units: Proportion Min: 0 Max: 1
Effectiveness of treatment of non compliers
Probability that a patient with uncomplicated disease seeks official care immediately
→ scenario → healthSystem → ImmediateOutcomes → pSeekOfficialCareUncomplicated1
<pSeekOfficialCareUncomplicated1
value=double
/>
Documentation (element)
Units: Proportion Min: 0 Max: 1
Probability that a patient with newly incident uncomplicated disease seeks official care
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Probability that a patient with uncomplicated disease self-treats
→ scenario → healthSystem → ImmediateOutcomes → pSelfTreatUncomplicated
<pSelfTreatUncomplicated
value=double
/>
Documentation (element)
Units: Proportion Min: 0 Max: 1
Probability that a patient with uncomplicated disease self-treats
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Probability that a recurring patient seeks official care
→ scenario → healthSystem → ImmediateOutcomes → pSeekOfficialCareUncomplicated2
<pSeekOfficialCareUncomplicated2
value=double
/>
Documentation (element)
Units: Proportion Min: 0 Max: 1
Probability that a patient with recurrence of uncomplicated disease seeks official care
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Probability that a patient with severe disease obtains appropriate care
→ scenario → healthSystem → ImmediateOutcomes → pSeekOfficialCareSevere
<pSeekOfficialCareSevere
value=double
/>
Documentation (element)
Units: Proportion Min: 0 Max: 1
Probability that a patient with severe disease obtains appropriate care
Attributes
Input parameter value
value=double
A double-precision floating-point value.
CFR
→ scenario → healthSystem → CFR
<CFR>
IN THIS ORDER:
| ( <group ... /> )+
</CFR>
Documentation (element)
Case fatality rate (probability of an inpatient fatality from a bout of severe malaria, per age-group).
group
→ scenario → healthSystem → CFR → group
<group
value=double
lowerbound=double
/>
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Lower bound
lowerbound=double
Units: Years Min: 0 Max: 100
Lower bound of age group
Probabilities of sequelae in inpatients
→ scenario → healthSystem → pSequelaeInpatient
<pSequelaeInpatient>
IN THIS ORDER:
| ( <group ... /> )+
</pSequelaeInpatient>
Documentation (element)
Units: List of elements
List of age specific probabilities of sequelae in inpatients, during a severe bout.
Replacement transmission setting (vector control not enabled)
→ scenario → interventions → timed → intervention → changeEIR
<changeEIR
eipDuration=int
>
IN THIS ORDER:
| ( <EIRDaily ... /> )+
</changeEIR>
Documentation (element)
Units: List of elements
New description of transmission setting for models without vector control interventions (included for backward compatibility)
Attributes
Duration of sporogony (days)
eipDuration=int
The duration of sporogony in days
Daily EIR
→ scenario → entoData → nonVector → EIRDaily
<EIRDaily
[ origin=string ]
>
double
</EIRDaily>
Documentation (element)
Units: innoculations per adult per day
Sequence of EIR values. Should cover at least one whole year. Values are averaged to result in a sequence of EIR-per-timestep values, but are otherwise not smoothed.
Documentation (type)
Units: Inoculations per person per day
There are two distinct ways of inputing the transmission setting. With this option, the values of daily EIR are input separately. This is only valid for models that do not invoke vector control and is retained only for backward compatibility. When multiple values are given for a single timestep they are averaged.
Attributes
Time origin of EIR sequence
origin=string
importedInfectionsPerThousandHosts
→ scenario → interventions → timed → intervention → importedInfectionsPerThousandHosts
<importedInfectionsPerThousandHosts>
double
</importedInfectionsPerThousandHosts>
Mass Drug Administration
→ scenario → interventions → timed → intervention → MDA
<MDA
[ maxAge=double ]
[ minAge=double ]
coverage=double
[ cohort=boolean ]
/>
Documentation (element)
Units: List of elements
Description of mass drug deployment in the community.
Attributes
Maximum age of eligible individuals
maxAge=double
Units: Years Min: 0 Max: 100
Maximum age of eligible individuals (defaults to 100)
Minimum age of eligible individuals
minAge=double
Units: Years Min: 0 Max: 100
Minimum age of eligible individuals (defaults to 0)
Coverage
coverage=double
Units: Proportion Min: 0 Max: 1
Coverage of intervention
Cohort only
cohort=boolean
Units: Proportion Min: 0 Max: 1
Restrict distribution to chosen cohort.
Vaccination
→ scenario → interventions → timed → intervention → vaccinate
<vaccinate
[ maxAge=double ]
[ minAge=double ]
coverage=double
[ cohort=boolean ]
/>
Documentation (element)
Units: List of elements
Description of vaccine deployment in the community
Attributes
Maximum age of eligible individuals
maxAge=double
Units: Years Min: 0 Max: 100
Maximum age of eligible individuals (defaults to 100)
Minimum age of eligible individuals
minAge=double
Units: Years Min: 0 Max: 100
Minimum age of eligible individuals (defaults to 0)
Coverage
coverage=double
Units: Proportion Min: 0 Max: 1
Coverage of intervention
Cohort only
cohort=boolean
Units: Proportion Min: 0 Max: 1
Restrict distribution to chosen cohort.
ITN deployment
→ scenario → interventions → timed → intervention → ITN
<ITN
[ maxAge=double ]
[ minAge=double ]
coverage=double
[ cohort=boolean ]
/>
Documentation (element)
Units: List of elements
Description of ITN deployment in the community
Attributes
Maximum age of eligible individuals
maxAge=double
Units: Years Min: 0 Max: 100
Maximum age of eligible individuals (defaults to 100)
Minimum age of eligible individuals
minAge=double
Units: Years Min: 0 Max: 100
Minimum age of eligible individuals (defaults to 0)
Coverage
coverage=double
Units: Proportion Min: 0 Max: 1
Coverage of intervention
Cohort only
cohort=boolean
Units: Proportion Min: 0 Max: 1
Restrict distribution to chosen cohort.
IRS deployment
→ scenario → interventions → timed → intervention → IRS
<IRS
[ maxAge=double ]
[ minAge=double ]
coverage=double
[ cohort=boolean ]
/>
Documentation (element)
Units: List of elements
Description of IRS deployment in the community
Attributes
Maximum age of eligible individuals
maxAge=double
Units: Years Min: 0 Max: 100
Maximum age of eligible individuals (defaults to 100)
Minimum age of eligible individuals
minAge=double
Units: Years Min: 0 Max: 100
Minimum age of eligible individuals (defaults to 0)
Coverage
coverage=double
Units: Proportion Min: 0 Max: 1
Coverage of intervention
Cohort only
cohort=boolean
Units: Proportion Min: 0 Max: 1
Restrict distribution to chosen cohort.
Mosquito deterrent
→ scenario → interventions → timed → intervention → VectorAvailability
<VectorAvailability
[ maxAge=double ]
[ minAge=double ]
coverage=double
[ cohort=boolean ]
/>
Documentation (element)
Units: List of elements
Description of a mosquito deterrent deployment in the community
Attributes
Maximum age of eligible individuals
maxAge=double
Units: Years Min: 0 Max: 100
Maximum age of eligible individuals (defaults to 100)
Minimum age of eligible individuals
minAge=double
Units: Years Min: 0 Max: 100
Minimum age of eligible individuals (defaults to 0)
Coverage
coverage=double
Units: Proportion Min: 0 Max: 1
Coverage of intervention
Cohort only
cohort=boolean
Units: Proportion Min: 0 Max: 1
Restrict distribution to chosen cohort.
IPTi deployment
→ scenario → interventions → timed → intervention → ipti
<ipti
[ maxAge=double ]
[ minAge=double ]
coverage=double
[ cohort=boolean ]
/>
Documentation (element)
Units: List of elements
List of age groups for IPTi distribution
Attributes
Maximum age of eligible individuals
maxAge=double
Units: Years Min: 0 Max: 100
Maximum age of eligible individuals (defaults to 100)
Minimum age of eligible individuals
minAge=double
Units: Years Min: 0 Max: 100
Minimum age of eligible individuals (defaults to 0)
Coverage
coverage=double
Units: Proportion Min: 0 Max: 1
Coverage of intervention
Cohort only
cohort=boolean
Units: Proportion Min: 0 Max: 1
Restrict distribution to chosen cohort.
Immune suppression deployment
→ scenario → interventions → timed → intervention → immuneSuppression
<immuneSuppression
[ maxAge=double ]
[ minAge=double ]
coverage=double
[ cohort=boolean ]
/>
Documentation (element)
Units: List of elements
Removes all exposure-related immunity gained over time by hosts without removing infections.
Hypothetical, but potentially useful to simulate scenarios with unprotected humans.
Attributes
Maximum age of eligible individuals
maxAge=double
Units: Years Min: 0 Max: 100
Maximum age of eligible individuals (defaults to 100)
Minimum age of eligible individuals
minAge=double
Units: Years Min: 0 Max: 100
Minimum age of eligible individuals (defaults to 0)
Coverage
coverage=double
Units: Proportion Min: 0 Max: 1
Coverage of intervention
Cohort only
cohort=boolean
Units: Proportion Min: 0 Max: 1
Restrict distribution to chosen cohort.
Insert R_0 case
→ scenario → interventions → timed → intervention → insertR_0Case
<insertR_0Case/>
Documentation (element)
Units: List of elements
Used to simulate R_0. First, infections should be eliminated, immunity removed, and the population given an effective transmission- blocking vaccine (not done by this intervention). Then this intervention may be used to: pick one human, infect him, administer a fully effective Preerythrocytic vaccine and remove transmission-blocking vaccine effect on this human. Thus only this one human will be a source of infections in an unprotected population, and will not reinfected himself.
Uninfect vectors
→ scenario → interventions → timed → intervention → uninfectVectors
<uninfectVectors/>
Documentation (element)
Units: List of elements
Removes all infections from mosquitoes -- resulting in zero EIR to humans, until such time that mosquitoes are re-infected and become infectious. Only effectious in dynamic EIR mode (when changeEIR was not used).
Hypothetical, but potentially useful to simulate a setting starting from no infections, but with enough mosquitoes to reach a set equilibrium of exposure.
larviciding
→ scenario → interventions → timed → intervention → larviciding
<larviciding>
IN THIS ORDER:
| ( <anopheles ... /> )+
</larviciding>
Documentation (element)
Simple larviciding intervention description.
anopheles
→ scenario → interventions → timed → intervention → larviciding → anopheles
<anopheles
mosquito=string
effectiveness=double
duration=int
/>
Attributes
Mosquito to be larvicided
mosquito=string
Mosquito to be larvicided
Proportionate reduction in emergence
effectiveness=double
Units: none Min: 0 Max: 1
Proportional reduction in emergence rate
Duration of activity
duration=int
Units: days Min: 0 Max: inf
Number of days for which the intervention is active.
Mass Cohort Selection
→ scenario → interventions → timed → intervention → cohort
<cohort
[ maxAge=double ]
[ minAge=double ]
coverage=double
[ cohort=boolean ]
/>
Documentation (element)
Units: List of elements
Description of mass cohort selection.
Attributes
Maximum age of eligible individuals
maxAge=double
Units: Years Min: 0 Max: 100
Maximum age of eligible individuals (defaults to 100)
Minimum age of eligible individuals
minAge=double
Units: Years Min: 0 Max: 100
Minimum age of eligible individuals (defaults to 0)
Coverage
coverage=double
Units: Proportion Min: 0 Max: 1
Coverage of intervention
Cohort only
cohort=boolean
Units: Proportion Min: 0 Max: 1
Restrict distribution to chosen cohort.
healthSystem
→ scenario → healthSystem
<healthSystem>
IN THIS ORDER:
| EXACTLY ONE OF:
| | <EventScheduler ... />
| | <ImmediateOutcomes ... />
| <CFR ... />
| <pSequelaeInpatient ... />
</healthSystem>
Documentation (type)
Units: List of elements
Description of case management system, used to specify the initial model or a replacement (an intervention). Encompasses case management data and some other data required to derive case outcomes.
Contains a sub-element describing the particular health-system in use. Health system data is here defined as data used to decide on a treatment strategy, given a case requiring treatment.
Transmission and vector bionomics
<entoData
name=string
mode=("2" or "4")
[ annualEIR=double ]
>
IN THIS ORDER:
| EXACTLY ONE OF:
| | <nonVector ... />
| | <vector ... />
</entoData>
Documentation (element)
Units: List of elements
Description of entomological data
Attributes
Entomology dataset
name=string
Units: string
Name of entomology data
Transmission simulation mode
mode=("2" or "4")
Units: Code
Transmission simulation mode -- enter dynamic mode (4) or forced mode (2) at start of intervention period. Mode 3 (transient EIR from data provided as intervention) is set when intervention data is applied, and is no longer a valid value to specify here.
Override annual EIR
annualEIR=double
Units: Infectious bites per person/adult per year
If set, overrides the annual EIR by scaling it to this level. If ommitted, EIR levels are as specified elsewhere.
Transmission setting (vector control not enabled)
→ scenario → entoData → nonVector
<nonVector
eipDuration=int
>
IN THIS ORDER:
| ( <EIRDaily ... /> )+
</nonVector>
Documentation (element)
Units: List of elements
Description of transmission setting for models without vector control interventions (included for backward compatibility)
Attributes
Duration of sporogony (days)
eipDuration=int
The duration of sporogony in days
Transmission setting (vector control enabled)
→ scenario → entoData → vector
<vector>
IN THIS ORDER:
| ( <anopheles ... /> )+
| ( <nonHumanHosts ... /> )*
</vector>
Documentation (element)
Units: List of elements
Parameters of the transmission model.
anopheles
→ scenario → entoData → vector → anopheles
<anopheles
mosquito=string
propInfected=double
propInfectious=double
>
IN THIS ORDER:
| EXACTLY ONE OF:
| | <eir ... />
| | <monthlyEir ... />
| <mosq ... />
| ( <nonHumanHosts ... /> )*
</anopheles>
Documentation (type)
Description of input EIR for one specific vector species in terms of a Fourier approximation to the ln of the EIR during the burn in period
Attributes
Identifier for this anopheles species
mosquito=string
Initial guess of proportion of mosquitoes infected
propInfected=double
Units: Proportion Min: 0 Max: 1
Initial guess of the proportion of mosquitoes which are infected, o: O_v(t) = o*N_v(t). Only used as a starting value.
Initial guess of proportion of mosquitoes infectious
propInfectious=double
Units: Proportion Min: 0 Max: 1
Initial guess of the proportion of mosquitoes which are infectious, s: S_v(t) = s*N_v(t). Used as a starting value and then fit.
Fourier approximation to pre-intervention EIR
→ scenario → entoData → vector → anopheles → eir
<eir
a0=double
a1=double
b1=double
a2=double
b2=double
EIRRotateAngle=double
/>
Documentation (element)
Units: Inoculations per person per day
Description of target entomological inoculation rate as a Fourier series. This is used to estimate a suitible vector emergence rate. The annual (target) EIR is thus the exponent of the fourier series with these parameters, with period scaled to 365 days.
Attributes
a0 parameter of Fourier approximation to ln(EIR)
a0=double
a1 parameter of Fourier approximation to ln(EIR)
a1=double
b1 parameter of Fourier approximation to ln(EIR)
b1=double
a2 parameter of Fourier approximation to ln(EIR)
a2=double
b2 parameter of Fourier approximation to ln(EIR)
b2=double
Rotation angle defining the origin of the Fourier approximation to ln (EIR)
EIRRotateAngle=double
Units: radians
Monthly values for pre-intervention EIR
→ scenario → entoData → vector → anopheles → monthlyEir
<monthlyEir
annualEIR=double
>
IN THIS ORDER:
| ( <item ... /> ){12,12}
</monthlyEir>
Documentation (element)
Units: Inoculations per person per month
Description of target entomological inoculation rate as monthly values plus an annual override (monthly values are scaled to fit the annual EIR described). This is used to estimate a suitible vector emergence rate. The annual (target) EIR is derived from a Fourier series fit to these monthly values (used as a smoothing factor). List should contain twelve entries: January to December.
Attributes
Annual EIR
annualEIR=double
Units: Innoculations per person per year Min: 0
Scales the monthly values to give this annual innoculation rate.
Monthly pre-intervention EIR
→ scenario → entoData → vector → anopheles → monthlyEir → item
<item>
double
</item>
Vector Species
→ scenario → entoData → vector → anopheles → mosq
<mosq
mosqRestDuration=int
extrinsicIncubationPeriod=int
mosqLaidEggsSameDayProportion=double
mosqSeekingDuration=double
mosqSurvivalFeedingCycleProbability=double
mosqProbBiting=double
mosqProbFindRestSite=double
mosqProbResting=double
mosqProbOvipositing=double
mosqHumanBloodIndex=double
minInfectedThreshold=double
/>
Documentation (element)
Units: List of elements
Vector species
Attributes
Duration of the resting period of the vector (days)
mosqRestDuration=int
Extrinsic incubation period (days)
extrinsicIncubationPeriod=int
Proportion of mosquitoes host seeking on same day as ovipositing
mosqLaidEggsSameDayProportion=double
Duration of the host-seeking period of the vector (days)
mosqSeekingDuration=double
Probability that the mosquito survives the feeding cycle
mosqSurvivalFeedingCycleProbability=double
Probability that the mosquito succesfully bites chosen host
mosqProbBiting=double
Probability that the mosquito escapes host and finds a resting place after biting
mosqProbFindRestSite=double
Probability of mosquito successfully resting after finding a resting site
mosqProbResting=double
Probability of a mosquito successfully laying eggs given that it has rested
mosqProbOvipositing=double
Human blood index
mosqHumanBloodIndex=double
The proportion of resting mosquitoes which fed on human blood during the last feed.
Min infected threshold
minInfectedThreshold=double
Min: 0
If less than this many mosquitoes remain infected, transmission is interrupted.
nonHumanHosts
→ scenario → entoData → vector → anopheles → nonHumanHosts
<nonHumanHosts
name=string
mosqRelativeEntoAvailability=double
mosqProbBiting=double
mosqProbFindRestSite=double
mosqProbResting=double
/>
Documentation (element)
Units: List of elements
Non human host parameters, per type of host (must match up with non-species-specific parameters).
Attributes
Identifier for this category of non-human hosts
name=string
Relative availability of nonhuman hosts of type i (to other nonhuman hosts)
mosqRelativeEntoAvailability=double
Probability of mosquito successfully biting host
mosqProbBiting=double
Probability that the mosquito escapes host and finds a resting place after biting
mosqProbFindRestSite=double
Probability of mosquito successfully resting after finding a resting site
mosqProbResting=double
nonHumanHosts
→ scenario → entoData → vector → nonHumanHosts
<nonHumanHosts
name=string
number=double
/>
Attributes
Species of alternative host
name=string
Units: List of elements
Name of this species of non human hosts (must match up with those described per anopheles section)
number
number=double
Pharmacokinetics and pharmacodynamics
<drugDescription>
IN THIS ORDER:
| ( <drug ... /> )+
</drugDescription>
Documentation (element)
Units: List of elements
Drug model parameters
drug
→ scenario → drugDescription → drug
<drug
abbrev=string
>
IN THIS ORDER:
| <PD ... />
| <PK ... />
</drug>
Documentation (element)
Sequence of drug descriptions forming a library of drug parameters.
Attributes
abbrev
abbrev=string
PD
→ scenario → drugDescription → drug → PD
<PD>
IN THIS ORDER:
| ( <allele ... /> )+
</PD>
allele
→ scenario → drugDescription → drug → PD → allele
<allele
name=string
>
IN THIS ORDER:
| <initial_frequency ... />
| <max_killing_rate ... />
| <IC50 ... />
| <slope ... />
</allele>
Documentation (element)
PD parameters per allele, plus initial frequency of each allele.
Note: we assume a one-to-one correspondance of drugs to loci, hence each drug has an independent set of alleles here.
Attributes
name
name=string
Relative frequency
→ scenario → drugDescription → drug → PD → allele → initial_frequency
<initial_frequency>
double
</initial_frequency>
Documentation (element)
Units: relative frequency Min: 0
Frequency, relative to the total frequency of all alleles for this drug/locus.
Maximal parasite killing rate
→ scenario → drugDescription → drug → PD → allele → max_killing_rate
<max_killing_rate>
double
</max_killing_rate>
Documentation (element)
Units: 1/days Min: 0
k1 — Maximal parasite killing rate.
IC50
→ scenario → drugDescription → drug → PD → allele → IC50
<IC50>
double
</IC50>
Documentation (element)
Units: mg/l Min: 0
Half maximal effect concentration.
Slope of effect curve
→ scenario → drugDescription → drug → PD → allele → slope
<slope>
double
</slope>
Documentation (element)
Units: no units
n — Slope of the concentration effect curve
PK
→ scenario → drugDescription → drug → PK
<PK>
IN THIS ORDER:
| <negligible_concentration ... />
| <half_life ... />
| <vol_dist ... />
</PK>
Drug concentration considered negligible
→ scenario → drugDescription → drug → PK → negligible_concentration
<negligible_concentration>
double
</negligible_concentration>
Documentation (element)
Units: mg/l Min: 0
Concentration below which drug's effects are deemed negligible and can be removed from simulation.
drug half-life
→ scenario → drugDescription → drug → PK → half_life
<half_life>
double
</half_life>
Documentation (element)
Units: days Min: 0
Used to calculate elimination rate (which is: ln(2) / half_life).
Volume of Distribution
→ scenario → drugDescription → drug → PK → vol_dist
<vol_dist>
double
</vol_dist>
Documentation (element)
Units: l/kg Min: 0
Volume of Distribution
Model options and parameters
<model>
IN THIS ORDER:
| <ModelOptions ... />
| <clinical ... />
| <parameters ... />
</model>
Documentation (element)
Units: List of elements
Encapsulation of all parameters which describe the model according to which fitting is done.
Model Options
→ scenario → model → ModelOptions
<ModelOptions>
IN THIS ORDER:
| ( <option ... /> )*
</ModelOptions>
Documentation (element)
Units: List of elements
All model options (bug fixes, choices between models, etc.).
The list of recognised options can be found in the code at:
include/util/ModelOptions.hpp and should also be in the wiki.
clinical
<clinical
healthSystemMemory=int
/>
Documentation (type)
Units: List of elements
Description of clinical parameters.
This is related to the health-system description, but contains data which can't be changed as part of an intervention and is not restricted to treatment.
Attributes
Follow-up period during which recurrence is treated as a failure
healthSystemMemory=int
Units: Time steps Min: 1 Max: 100
Follow-up period during which a recurrence is considered to be a treatment failure
Parameters of the model of epidemiology
→ scenario → model → parameters
<parameters
interval=int
iseed=int
latentp=int
>
IN THIS ORDER:
| ( <parameter ... /> )+
</parameters>
Documentation (element)
Units: List of elements
Parameters of the epidemiological model
Attributes
Simulation step
interval=int
Units: Days
Simulation step
Random number seed
iseed=int
Units: Number
Seed for RNG
Pre-erythrocytic latent period
latentp=int
Units: Time steps Min: 0 Max: 20
pre-erythrocytic latent period, in time steps
parameter
→ scenario → model → parameters → parameter
<parameter
name=string
number=int
value=double
[ include=boolean ]
/>
Attributes
Name of parameter
name=string
Units: string
Name of parameter
Parameter number
number=int
Units: Number Min: 1 Max: 100
Reference number of input parameter
Parameter value
value=double
Units: Number Min: 0
Parameter value
Sampling indicator
include=boolean
Units: Number Min: 0 Max: 1
True if parameter is to be sampled in optimization runs. Not used in simulator app.
Schema 21 documentation
Generated from: scenario_21.xsd
.
Key:
abc required (one)
[ def ] optional (zero or one)
( ghi )* any number (zero or more)
( jkl )+ at least one
( mno ){2,inf} two or more occurrences
Scenario
→ scenario
<scenario
schemaVersion=int
analysisNo=int
name=string
wuID=int
assimMode=("0" or "1")
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:noNamespaceSchemaLocation="scenario_21.xsd"
>
IN THIS ORDER:
| <demography ... />
| <monitoring ... />
| <interventions ... />
| <healthSystem ... />
| <entoData ... />
| [ <drugDescription ... /> ]
| <model ... />
</scenario>
Documentation (element)
Units: List of elements
Description of scenario
Attributes
Version of the xml schema
schemaVersion=int
Version of xml schema. If not equal to the current version an error is thrown. Use SchemaTranslator to update xml files.
Reference number of the analysis
analysisNo=int
Units: Number Min: 1 Max: 100000000
Unique identifier of scenario
Name of intervention
name=string
Units: string
Name of intervention
Work unit identifier
wuID=int
Units: Number Min: 1 Max: 100000000
Work unit ID. Only used to validate checkpointing, to prevent checkpoint cheats.
Assimilator mode
assimMode=("0" or "1")
Units: Code
Assimilator mode. Defines output of simulator as either complete (columns: time,agegroup,measure,value) or minimal (single column: value)
Human age distribution
→ scenario → demography
<demography
name=string
popSize=int
maximumAgeYrs=double
[ growthRate=double ]
>
IN THIS ORDER:
| <ageGroup ... />
</demography>
Documentation (element)
Units: List of elements
Description of demography
Attributes
Name of demography data
name=string
Units: string
Name of demography data
Population size
popSize=int
Units: Count Min: 1 Max: 100000
Population size
Maximum age of simulated humans
maximumAgeYrs=double
Units: Number Min: 0 Max: 100
Maximum age of simulated humans
Growth rate of human population
growthRate=double
Units: Number Min: 0 Max: 0
Growth rate of human population. (we should be able to implement this with non-zero values)
Age groups
→ scenario → demography → ageGroup
<ageGroup
lowerbound=double
>
IN THIS ORDER:
| ( <group ... /> )+
</ageGroup>
Documentation (element)
Units: List of elements
List of age groups included in demography
Documentation (type)
Units: List of elements
List of age groups included in demography or surveys
Attributes
lower bound of age group
lowerbound=double
Units: Years Min: 0 Max: 100
Lower bound of age group
group
→ scenario → demography → ageGroup → group
<group
poppercent=double
upperbound=double
/>
Attributes
Percentage in age group
poppercent=double
Percentage of human population in age group
upper bound of age group
upperbound=double
Units: Years Min: 0 Max: 100
Upper bound of age group
Measures to be reported
→ scenario → monitoring
<monitoring
name=string
[ cohortOnly=boolean ]
>
IN THIS ORDER:
| [ <continuous ... /> ]
| <SurveyOptions ... />
| <surveys ... />
| <ageGroup ... />
</monitoring>
Documentation (element)
Units: List of elements
Description of surveys
Attributes
Name of monitoring information
name=string
Units: string
Name of monitoring data
Survey only cohort
cohortOnly=boolean
If true, for many output measures, the output comes only from individuals in the cohort; otherwise output is from the entire population. Does not need to be specified if no cohort-selecting "interventions" are present.
continuous
→ scenario → monitoring → continuous
<continuous
period=int
[ duringInit=boolean ]
>
IN THIS ORDER:
| ( <option ... /> )*
</continuous>
Attributes
Days between reports
period=int
Units: Days Min: 1 Max: unbounded
Number of timesteps between reports.
During initialization
duringInit=boolean
Units: Days Min: 1 Max: unbounded
Also output during initialization. By default this is disabled (only intervention-period data is output). This should not be used for predictions, but can be useful for model validation. In this mode, 'simulation time' is output as the first column (in addition to 'timestep'), since 'timestep' is dis- continuous across the start of the intervention period.
option
→ scenario → monitoring → continuous → option
<option
name=string
value=boolean
/>
Attributes
Model options required
name=string
Options define different model structures. Option name. Must be one of a strictly defined set. Options are not required to be listed if their default value is desired.
Indicator of whether option is required
value=boolean
Option value (true/false). Each option has a default value used if the option is not listed (usually false but sometimes true).
Name of quantity
→ scenario → monitoring → SurveyOptions
<SurveyOptions>
IN THIS ORDER:
| ( <option ... /> )*
</SurveyOptions>
Documentation (element)
List of all active survey options. See include/Survey.h for a list of supported outputs. Should also be on the wiki.
Survey times (time steps)
→ scenario → monitoring → surveys
<surveys
detectionLimit=double
>
IN THIS ORDER:
| ( <surveyTime ... /> )+
</surveys>
Documentation (element)
Units: List of elements
List of survey times
Attributes
Detection limit for parasitaemia
detectionLimit=double
Units: parasites/micolitre Min: 0 Max: 1000
Detection limit for parasitemia
Survey time
→ scenario → monitoring → surveys → surveyTime
<surveyTime>
int
</surveyTime>
Documentation (element)
Units: Number Min: 0
Survey time; 0 means just before start of main sim and is a valid survey-point. Reported data is either from a point-time survey (immediate data) or is collected over the previous year (data from previous timesteps-per-year period). Simulation will end immediately after last survey is taken.
Age groups
→ scenario → monitoring → ageGroup
<ageGroup
lowerbound=double
>
IN THIS ORDER:
| ( <group ... /> )+
</ageGroup>
Documentation (element)
Units: List of elements
List of age groups included in demography or surveys
Documentation (type)
Units: List of elements
List of age groups included in surveys
Attributes
lower bound of age group
lowerbound=double
Units: Years Min: 0 Max: 100
Lower bound of age group
group
→ scenario → monitoring → ageGroup → group
<group
upperbound=double
/>
Attributes
upper bound of age group
upperbound=double
Units: Years Min: 0 Max: 100
Upper bound of age group
Preventative interventions
<interventions
name=string
>
IN THIS ORDER:
| <descriptions ... />
| [ <continuous ... /> ]
| [ <timed ... /> ]
</interventions>
Documentation (element)
Units: List of elements
List of interventions. Generally these are either point-time distributions of something to some subset of the population, or continuous-time distribution targetting individuals when they reach a certain age.
Attributes
Intervention
name=string
Units: string
Name of age specific intervention
descriptions
→ scenario → interventions → descriptions
<descriptions>
IN THIS ORDER:
| [ <MDADescription ... /> ]
| ( <vaccineDescription ... /> ){0,3}
| [ <iptiDescription ... /> ]
| ( <anopheles ... /> )*
</descriptions>
Documentation (element)
Descriptions applying across all uses of an intervention.
Drug dose(s) used in MDA
→ scenario → interventions → descriptions → MDADescription
<MDADescription>
IN THIS ORDER:
| [ <schedule ... /> ]
</MDADescription>
Documentation (element)
Units: List of medicate elements
Description of drug dose(s) used in a mass-drug-administration intervention.
When using the new (Event Scheduler) case management model, a treatment schedule must be present.
schedule
→ scenario → interventions → descriptions → MDADescription → schedule
<schedule>
IN THIS ORDER:
| ( <medicate ... /> )*
</schedule>
Documentation (type)
The base (unmodified) schedule of drugs administered for this treatment.
medicate
→ scenario → interventions → descriptions → MDADescription → schedule → medicate
<medicate
drug=string
mg=double
hour=double
/>
Attributes
drug
drug=string
Units: string
Abbreviated name of drug compound
drug dose
mg=double
Units: mg
Quantity of drug compound
time of administration
hour=double
Units: hours Min: 0
Number of hours past start of timestep this drug dose is administered at (first dose should be at hour 0).
vaccineDescription
→ scenario → interventions → descriptions → vaccineDescription
<vaccineDescription
vaccineType=int
>
IN THIS ORDER:
| <halfLifeYrs ... />
| <efficacyB ... />
| ( <initialEfficacy ... /> )+
</vaccineDescription>
Attributes
Type of vaccine
vaccineType=int
Units: Code
Type of vaccine
Half life of drug effect
→ scenario → interventions → descriptions → vaccineDescription → halfLifeYrs
<halfLifeYrs
value=double
/>
Documentation (element)
Units: Years Min: 0 Max: 100
Half life of drug effect
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Variance parameter for vaccine efficacy
→ scenario → interventions → descriptions → vaccineDescription → efficacyB
<efficacyB
value=double
/>
Documentation (element)
Units: Positive real Min: 0.001 Max: 1.00E+06
Measure of variation in vaccine efficacy
Attributes
Input parameter value
value=double
A double-precision floating-point value.
initialEfficacy
→ scenario → interventions → descriptions → vaccineDescription → initialEfficacy
<initialEfficacy
value=double
/>
Attributes
Input parameter value
value=double
A double-precision floating-point value.
iptiDescription
→ scenario → interventions → descriptions → iptiDescription
<iptiDescription
iptiEffect=int
>
IN THIS ORDER:
| ( <infGenotype ... /> )+
</iptiDescription>
Attributes
iptiEffect
iptiEffect=int
infGenotype
→ scenario → interventions → descriptions → iptiDescription → infGenotype
<infGenotype
name=string
freq=double
ACR=double
proph=int
tolPeriod=int
atten=double
/>
Attributes
Age specific intervention
name=string
Units: string
Name of age specific intervention
Frequency
freq=double
Frequency of parasite genotype
ACR
ACR=double
Adequate clinical response (proportion)
Prophylactic period
proph=int
Prophylactic period
Tolerance period
tolPeriod=int
Tolerance period
Tolerance period
atten=double
Tolerance period
anopheles
→ scenario → interventions → descriptions → anopheles
<anopheles
mosquito=string
>
IN THIS ORDER:
| [ <ITNDescription ... /> ]
| [ <IRSDescription ... /> ]
| [ <VADescription ... /> ]
</anopheles>
Attributes
Entomological effects of interventions
mosquito=string
Description of the entomological effects of interventions
ITNDescription
→ scenario → interventions → descriptions → anopheles → ITNDescription
<ITNDescription
name=string
>
IN THIS ORDER:
| <deterrency ... />
| <preprandialKillingEffect ... />
| <postprandialKillingEffect ... />
</ITNDescription>
Attributes
ITN effects
name=string
Units: string
Name of Insecticide Treated Net intervention
Deterrency
→ scenario → interventions → descriptions → anopheles → ITNDescription → deterrency
<deterrency
initial=double
halflife=double
[ Weibullk=double ]
/>
Documentation (element)
Units: None Min: 0 Max: 1
One minus this multiplies the host's availability (before decay).
Documentation (type)
Specification of a proportion with Weibull or exponential decay.
Attributes
Initial proportion
initial=double
Units: None Min: 0 Max: 1
The value before any decay.
half-life
halflife=double
Units: Years Min: 0
Half-life in years (more generally, halflife/ln(2) is lambda from the Weibull distribution).
Weibull k parameter
Weibullk=double
Min: 0
The parameter k of the Weibull distribution. If missing, 1.0 is used (equivalent to exponential decay).
Pre-prandial killing effect
→ scenario → interventions → descriptions → anopheles → ITNDescription → preprandialKillingEffect
<preprandialKillingEffect
initial=double
halflife=double
[ Weibullk=double ]
/>
Documentation (element)
Units: None Min: 0 Max: 1
One minus this multiplies the survival rate of mosquitoes attempting to bite a host.
Documentation (type)
Specification of a proportion with Weibull or exponential decay.
Attributes
Initial proportion
initial=double
Units: None Min: 0 Max: 1
The value before any decay.
half-life
halflife=double
Units: Years Min: 0
Half-life in years (more generally, halflife/ln(2) is lambda from the Weibull distribution).
Weibull k parameter
Weibullk=double
Min: 0
The parameter k of the Weibull distribution. If missing, 1.0 is used (equivalent to exponential decay).
Post-prandial killing effect
→ scenario → interventions → descriptions → anopheles → ITNDescription → postprandialKillingEffect
<postprandialKillingEffect
initial=double
halflife=double
[ Weibullk=double ]
/>
Documentation (element)
Units: None Min: 0 Max: 1
One minus this multiplies the survival rate of mosquitoes attempting to escape after biting a host.
Documentation (type)
Specification of a proportion with Weibull or exponential decay.
Attributes
Initial proportion
initial=double
Units: None Min: 0 Max: 1
The value before any decay.
half-life
halflife=double
Units: Years Min: 0
Half-life in years (more generally, halflife/ln(2) is lambda from the Weibull distribution).
Weibull k parameter
Weibullk=double
Min: 0
The parameter k of the Weibull distribution. If missing, 1.0 is used (equivalent to exponential decay).
IRSDescription
→ scenario → interventions → descriptions → anopheles → IRSDescription
<IRSDescription
name=string
>
IN THIS ORDER:
| <deterrency ... />
| <killingEffect ... />
</IRSDescription>
Attributes
name of IRS intervention
name=string
Units: string
Name of Indoor Residual Spraying intervention
Deterrency
→ scenario → interventions → descriptions → anopheles → IRSDescription → deterrency
<deterrency
initial=double
halflife=double
[ Weibullk=double ]
/>
Documentation (element)
Units: None Min: 0 Max: 1
One minus this multiplies the host's availability.
Documentation (type)
Specification of a proportion with Weibull or exponential decay.
Attributes
Initial proportion
initial=double
Units: None Min: 0 Max: 1
The value before any decay.
half-life
halflife=double
Units: Years Min: 0
Half-life in years (more generally, halflife/ln(2) is lambda from the Weibull distribution).
Weibull k parameter
Weibullk=double
Min: 0
The parameter k of the Weibull distribution. If missing, 1.0 is used (equivalent to exponential decay).
killing effect
→ scenario → interventions → descriptions → anopheles → IRSDescription → killingEffect
<killingEffect
initial=double
halflife=double
[ Weibullk=double ]
/>
Documentation (element)
Units: None Min: 0 Max: 1
One minus this multiplies the survival rate of resting mosquitoes.
Documentation (type)
Specification of a proportion with Weibull or exponential decay.
Attributes
Initial proportion
initial=double
Units: None Min: 0 Max: 1
The value before any decay.
half-life
halflife=double
Units: Years Min: 0
Half-life in years (more generally, halflife/ln(2) is lambda from the Weibull distribution).
Weibull k parameter
Weibullk=double
Min: 0
The parameter k of the Weibull distribution. If missing, 1.0 is used (equivalent to exponential decay).
VADescription
→ scenario → interventions → descriptions → anopheles → VADescription
<VADescription
name=string
>
IN THIS ORDER:
| <deterrency ... />
</VADescription>
Attributes
Name of mosquito deterrency intervention
name=string
Units: string
Name of mosquito deterrency intervention
Deterrency
→ scenario → interventions → descriptions → anopheles → VADescription → deterrency
<deterrency
initial=double
halflife=double
[ Weibullk=double ]
/>
Documentation (element)
Units: None Min: 0 Max: 1
One minus this multiplies the host's availability.
Documentation (type)
Specification of a proportion with Weibull or exponential decay.
Attributes
Initial proportion
initial=double
Units: None Min: 0 Max: 1
The value before any decay.
half-life
halflife=double
Units: Years Min: 0
Half-life in years (more generally, halflife/ln(2) is lambda from the Weibull distribution).
Weibull k parameter
Weibullk=double
Min: 0
The parameter k of the Weibull distribution. If missing, 1.0 is used (equivalent to exponential decay).
Continuously applied interventions
→ scenario → interventions → continuous
<continuous>
IN THIS ORDER:
| ( <vaccine ... /> )*
| ( <ITN ... /> )*
| ( <ipti ... /> )*
| ( <cohort ... /> )*
</continuous>
List of age groups for vaccination
→ scenario → interventions → continuous → vaccine
<vaccine
targetAgeYrs=double
coverage=double
[ cohort=boolean ] DEFAULT VALUE false
[ begin=int ] DEFAULT VALUE 0
[ end=int ] DEFAULT VALUE 2147483647
/>
Documentation (element)
Units: List of elements
List of age groups for vaccination
Attributes
Target age
targetAgeYrs=double
Units: Years Min: 0 Max: 100
Target age of intervention
Proportion covered
coverage=double
Units: Proportion Min: 0 Max: 1
Coverage of intervention
Cohort only
cohort=boolean
Units: Proportion Min: 0 Max: 1
Default value: false
Restrict distribution to chosen cohort (default: false).
First timestep active
begin=int
Units: Timesteps Min: 0 Max: 2147483647
Default value: 0
First timestep (from 0 at the beginning of the intervention period) this item is active. Defaults to 0.
End timestep
end=int
Units: Timesteps Min: 0 Max: 2147483647
Default value: 2147483647
End of the period during which the intervention is active (to be exact, the first timestep of the intervention period at which the item becomes inactive). Defaults to 2147483647.
Description of ITN deployment
→ scenario → interventions → continuous → ITN
<ITN
targetAgeYrs=double
coverage=double
[ cohort=boolean ] DEFAULT VALUE false
[ begin=int ] DEFAULT VALUE 0
[ end=int ] DEFAULT VALUE 2147483647
/>
Documentation (element)
Units: List of elements
Description of ITN deployment in the community
Attributes
Target age
targetAgeYrs=double
Units: Years Min: 0 Max: 100
Target age of intervention
Proportion covered
coverage=double
Units: Proportion Min: 0 Max: 1
Coverage of intervention
Cohort only
cohort=boolean
Units: Proportion Min: 0 Max: 1
Default value: false
Restrict distribution to chosen cohort (default: false).
First timestep active
begin=int
Units: Timesteps Min: 0 Max: 2147483647
Default value: 0
First timestep (from 0 at the beginning of the intervention period) this item is active. Defaults to 0.
End timestep
end=int
Units: Timesteps Min: 0 Max: 2147483647
Default value: 2147483647
End of the period during which the intervention is active (to be exact, the first timestep of the intervention period at which the item becomes inactive). Defaults to 2147483647.
List of age groups for IPTi
→ scenario → interventions → continuous → ipti
<ipti
targetAgeYrs=double
coverage=double
[ cohort=boolean ] DEFAULT VALUE false
[ begin=int ] DEFAULT VALUE 0
[ end=int ] DEFAULT VALUE 2147483647
/>
Documentation (element)
Units: List of elements
List of age groups for IPTi distribution
Attributes
Target age
targetAgeYrs=double
Units: Years Min: 0 Max: 100
Target age of intervention
Proportion covered
coverage=double
Units: Proportion Min: 0 Max: 1
Coverage of intervention
Cohort only
cohort=boolean
Units: Proportion Min: 0 Max: 1
Default value: false
Restrict distribution to chosen cohort (default: false).
First timestep active
begin=int
Units: Timesteps Min: 0 Max: 2147483647
Default value: 0
First timestep (from 0 at the beginning of the intervention period) this item is active. Defaults to 0.
End timestep
end=int
Units: Timesteps Min: 0 Max: 2147483647
Default value: 2147483647
End of the period during which the intervention is active (to be exact, the first timestep of the intervention period at which the item becomes inactive). Defaults to 2147483647.
Continuous cohort selection
→ scenario → interventions → continuous → cohort
<cohort
targetAgeYrs=double
coverage=double
[ cohort=boolean ] DEFAULT VALUE false
[ begin=int ] DEFAULT VALUE 0
[ end=int ] DEFAULT VALUE 2147483647
/>
Documentation (element)
Units: List of elements
Description of continuous selection of individuals for a cohort study.
Attributes
Target age
targetAgeYrs=double
Units: Years Min: 0 Max: 100
Target age of intervention
Proportion covered
coverage=double
Units: Proportion Min: 0 Max: 1
Coverage of intervention
Cohort only
cohort=boolean
Units: Proportion Min: 0 Max: 1
Default value: false
Restrict distribution to chosen cohort (default: false).
First timestep active
begin=int
Units: Timesteps Min: 0 Max: 2147483647
Default value: 0
First timestep (from 0 at the beginning of the intervention period) this item is active. Defaults to 0.
End timestep
end=int
Units: Timesteps Min: 0 Max: 2147483647
Default value: 2147483647
End of the period during which the intervention is active (to be exact, the first timestep of the intervention period at which the item becomes inactive). Defaults to 2147483647.
Timed interventions
→ scenario → interventions → timed
<timed>
IN THIS ORDER:
| ( <intervention ... /> )+
</timed>
Documentation (element)
Units: List of elements
List of timed interventions
Documentation (type)
Units: List of elements
List of timed interventions
intervention
→ scenario → interventions → timed → intervention
<intervention
time=int
>
IN THIS ORDER:
| [ <changeHS ... /> ]
| [ <changeEIR ... /> ]
| [ <importedInfectionsPerThousandHosts ... /> ]
| [ <MDA ... /> ]
| [ <vaccinate ... /> ]
| [ <ITN ... /> ]
| [ <IRS ... /> ]
| [ <VectorAvailability ... /> ]
| [ <ipti ... /> ]
| [ <immuneSuppression ... /> ]
| [ <insertR_0Case ... /> ]
| [ <uninfectVectors ... /> ]
| [ <larviciding ... /> ]
| [ <cohort ... /> ]
</intervention>
- changeHS
- changeEIR
- importedInfectionsPerThousandHosts
- MDA
- vaccinate
- ITN
- IRS
- VectorAvailability
- ipti
- immuneSuppression
- insertR_0Case
- uninfectVectors
- larviciding
- cohort
Attributes
Time step of intervention
time=int
Units: Number Min: 1 Max: 10000
Time step of intervention
changeHS
→ scenario → interventions → timed → intervention → changeHS
<changeHS>
IN THIS ORDER:
| EXACTLY ONE OF:
| | <EventScheduler ... />
| | <ImmediateOutcomes ... />
| <CFR ... />
| <pSequelaeInpatient ... />
</changeHS>
Documentation (type)
Units: List of elements
Description of case management system, used to specify the initial model or a replacement (an intervention). Encompasses case management data and some other data required to derive case outcomes.
Contains a sub-element describing the particular health-system in use. Health system data is here defined as data used to decide on a treatment strategy, given a case requiring treatment.
EventScheduler
→ scenario → healthSystem → EventScheduler
<EventScheduler>
IN THIS ORDER:
| <uncomplicated ... />
| <complicated ... />
| <ClinicalOutcomes ... />
</EventScheduler>
uncomplicated
→ scenario → healthSystem → EventScheduler → uncomplicated
<uncomplicated>
IN THIS ORDER:
| <decisions ... />
| <treatments ... />
</uncomplicated>
Documentation (type)
Units: List of elements
A set of decisions and a set of treatments.
decisions
→ scenario → healthSystem → EventScheduler → uncomplicated → decisions
<decisions>
IN THIS ORDER:
| ( <decision ... /> )*
</decisions>
Documentation (type)
Description of decisions for a case management tree. A generic view of this tree would be that each decision is deterministic, or based on probabilities which may depend on other decisions. Probabilistic decisions are described here.
In general, each decision has a name, a defined set of outcome values, and a set of dependent decisions mentioned by name. The following decisions, with their associated outcomes, are provided by the code (and may not be included here):
- case (uncomplicated only): Returns "UC1" if there is no recent history of a malarial case, or "UC2" if there is.
- result: Dependent on decision "test", this performs a parasite density test. Output is one of "none" (no test performed), "positive", "negative".
The following decisions must be described here:
- test (uncomplicated only): Outputs must be "none", "microscopy" or "RDT" to describe which test the "result" decision uses.
- treatment: Describes which treatment to use. Values aren't restricted but must match up with a treatment described in the corresponding "treatments" section.
- hospitalisation (complicated only): none, immediate or delayed.
decision
→ scenario → healthSystem → EventScheduler → uncomplicated → decisions → decision
<decision
name=string
depends=string
values=string
>
string
</decision>
Documentation (type)
A decision describes how to choose between a set of values.
Lexically, it can contain symbols matching "[_.a-zA-Z0-9]+", round brackets: (), braces: {} and colons. Whitespace is ignored except to separate symbols.
Syntactically, it must match one TREE, where SYMBOL is a symbol described above. (Here, "x|y" means x or y, "x+" means x occurs once or more, brackets show grouping.) TREE := BRANCH_SET | OUTCOME BRANCH_SET := BRANCH+ BRANCH := DECISION '(' VALUE ')' ( ':' OUTCOME | '{' TREE '}' ) OUTCOME, DECISION, VALUE := SYMBOL
For each BRANCH_SET each BRANCH must have the same DECISION. This DECISION must be one of the dependencies mentioned in "depends". This may be:
- another decision, in which case the VALUE immediately following in brackets must correspond to one of its output values. The BRANCH_SET immediately containing this BRANCH must represent each output value of the same decision exactly once, and no parent BRANCH_SET may be for the same DECISION.
- "p": this indicates a probabilistic decision. In this case the value is a probability, the sum of all values for the BRANCH_SET must be 1 and the decision must be associated directly with OUTCOMEs (not sub-TREEs).
- "age": this indicates an age-test. The VALUE must have the form "a-b", indicating that this branch will be taken for individuals aged such that a <= age < b, where a,b are non-negative real numbers or the special value "inf", and a <= b. All VALUEs in the BRANCH_SET must cover all possible (non-negative real) ages, with no overlap (hence, smallest a must be 0 and greatest b must be inf).
Semantically, each OUTCOME must be one of the values associated with this decision.
Attributes
Name of decision
name=string
The name of this decision. The name must match the regular expression "[_a-zA-Z0-9]+"; that is it can only contain letters, digits and _ characters (no spaces, punctuation, etc.).
Preceding decisions
depends=string
A comma-separated list of decisions that must have already been evaluated before this decision can be evaluated. Can be empty. Each must be hard-coded or described here. Can include the special decisions "p" and "age", though "age" cannot be combined with any other dependency.
Outcome values
values=string
A comma-separated list of outcome values this decision may have. The name of each value must be of the same form as decision names (i.e. only contain letters, digits and _ characters).
treatments
→ scenario → healthSystem → EventScheduler → uncomplicated → treatments
<treatments>
IN THIS ORDER:
| ( <treatment ... /> )*
</treatments>
Documentation (type)
Units: string
A list of drug treatment tables. Each should have a name corresponding to one of the "drug" decision's values.
treatment
→ scenario → healthSystem → EventScheduler → uncomplicated → treatments → treatment
<treatment
name=string
>
IN THIS ORDER:
| <schedule ... />
| ( <modifier ... /> )*
</treatment>
Documentation (type)
A description of a base treatment schedule along with modifiers to handle delays, quality variations, etc.
Attributes
Treatment administered
name=string
Units: string
Name corresponding to one of the drug decision's output values.
schedule
→ scenario → healthSystem → EventScheduler → uncomplicated → treatments → treatment → schedule
<schedule>
IN THIS ORDER:
| ( <medicate ... /> )*
</schedule>
Documentation (type)
The base (unmodified) schedule of drugs administered for this treatment.
modifier
→ scenario → healthSystem → EventScheduler → uncomplicated → treatments → treatment → modifier
<modifier
decision=string
>
EXACTLY ONE OF:
| ( <multiplyQty ... /> )*
| ( <delay ... /> )*
| ( <selectTimeRange ... /> )*
</modifier>
Documentation (type)
A modifier for this treatment, according to the outputs of a decision.
The "decision" attribute must be the name of a known decision. Then, there must be a set of multipyQty, delay or selectTimeRange sub-elements, each of which corresponds to one value output of the decision.
Attributes
decision
decision=string
Units: string
Specifies the decision that this modifier acts on.
multiplyQty
→ scenario → healthSystem → EventScheduler → uncomplicated → treatments → treatment → modifier → multiplyQty
<multiplyQty
value=string
effect=string
[ affectsCost=boolean ]
/>
Documentation (element)
Multiplies the quantity of active ingredients of drugs administered.
The "drugs" attribute is a comma-separated list of all active ingredients administered in the base schedule (each must be listed once) and the content of this element is a comma- separated list of multipliers for each active ingredient, listed in the same order as in the "drugs" attribute. E.g. with drugs="A,B" and content "0.5,1" the quantity of drug A is halved while that of B is unchanged.
Attributes
value of decision
value=string
Units: string
Specifies a value of the decision to act on.
List of drugs affected
effect=string
Units: string
Comma-separated list of the effect the modifier has on each drug, in the form DRUG1(EFFECT1),DRUG2(EFFECT2), etc.
Affects cost?
affectsCost=boolean
Units: none
Does this affect the cost? If false, the effective drug usage (w.r.t. cost) is unaffected by this modifier; if true it is. Defaults to true (if omitted). Is meaningless for delays.
delay
→ scenario → healthSystem → EventScheduler → uncomplicated → treatments → treatment → modifier → delay
<delay
value=string
effect=string
[ affectsCost=boolean ]
/>
Documentation (element)
Delays administration of drugs listed in the base schedule by so many hours.
The "drugs" attribute is a comma-separated list of all active ingredients administered in the base schedule (each must be listed once) and the content of this element is a comma- separated list of delays (in hours) for each active ingredient, listed in the same order as in the "drugs" attribute. E.g. with drugs="A,B" and content "0,6", drug A is administered as in the base schedule while drug B is administered 6 hours later than specified.
Attributes
value of decision
value=string
Units: string
Specifies a value of the decision to act on.
List of drugs affected
effect=string
Units: string
Comma-separated list of the effect the modifier has on each drug, in the form DRUG1(EFFECT1),DRUG2(EFFECT2), etc.
Affects cost?
affectsCost=boolean
Units: none
Does this affect the cost? If false, the effective drug usage (w.r.t. cost) is unaffected by this modifier; if true it is. Defaults to true (if omitted). Is meaningless for delays.
selectTimeRange
→ scenario → healthSystem → EventScheduler → uncomplicated → treatments → treatment → modifier → selectTimeRange
<selectTimeRange
value=string
effect=string
[ affectsCost=boolean ]
/>
Documentation (element)
Selects which drug doses to administer according to time of administration (before times are modified by delays). Half-open interval: [x,y)
The "drugs" attribute is a comma-separated list of all active ingredients administered in the base schedule (each must be listed once) and the content of this element is a comma- separated list of time-ranges (in hours) for each active ingredient, listed in the same order as in the "drugs" attribute. The time-ranges should be of the form x-y and are interpreted as the half-open interval [x,y); that is a drug listed with time t will only be administered if x <= t < y.
Attributes
value of decision
value=string
Units: string
Specifies a value of the decision to act on.
List of drugs affected
effect=string
Units: string
Comma-separated list of the effect the modifier has on each drug, in the form DRUG1(EFFECT1),DRUG2(EFFECT2), etc.
Affects cost?
affectsCost=boolean
Units: none
Does this affect the cost? If false, the effective drug usage (w.r.t. cost) is unaffected by this modifier; if true it is. Defaults to true (if omitted). Is meaningless for delays.
complicated
→ scenario → healthSystem → EventScheduler → complicated
<complicated>
IN THIS ORDER:
| <decisions ... />
| <treatments ... />
</complicated>
Documentation (type)
Units: List of elements
A set of decisions and a set of treatments.
ClinicalOutcomes
→ scenario → healthSystem → EventScheduler → ClinicalOutcomes
<ClinicalOutcomes>
IN THIS ORDER:
| <maxUCSeekingMemory ... />
| <uncomplicatedCaseDuration ... />
| <complicatedCaseDuration ... />
| <complicatedRiskDuration ... />
| <pImmediateUC ... />
</ClinicalOutcomes>
- maxUCSeekingMemory
- uncomplicatedCaseDuration
- complicatedCaseDuration
- complicatedRiskDuration
- pImmediateUC
Documentation (type)
Description of base parameters of the clinical model.
Max UC treatment-seeking memory
→ scenario → healthSystem → EventScheduler → ClinicalOutcomes → maxUCSeekingMemory
<maxUCSeekingMemory>
int
</maxUCSeekingMemory>
Documentation (element)
Units: days Min: 0 Max: unbounded
Maximum number of timesteps (including first of case) an individual will remember they are sick before resetting.
Uncomplicated case duration
→ scenario → healthSystem → EventScheduler → ClinicalOutcomes → uncomplicatedCaseDuration
<uncomplicatedCaseDuration>
int
</uncomplicatedCaseDuration>
Documentation (element)
Units: days Min: 1 Max: unbounded
Fixed length of an uncomplicated case of malarial/non-malarial sickness (from treatment seeking until return to life-as-usual). Usually 3.
Complicated case duration
→ scenario → healthSystem → EventScheduler → ClinicalOutcomes → complicatedCaseDuration
<complicatedCaseDuration>
int
</complicatedCaseDuration>
Documentation (element)
Units: days Min: 1 Max: unbounded
Fixed length of a complicated/severe case of malaria (from treatment seeking until return to life-as-usual).
Complicated risk duration
→ scenario → healthSystem → EventScheduler → ClinicalOutcomes → complicatedRiskDuration
<complicatedRiskDuration>
int
</complicatedRiskDuration>
Documentation (element)
Units: days Min: 1 Max: unbounded
Number of days for which humans are at risk of death during a severe or complicated case of malaria. Cannot be greater than the duration of a complicated case or less than 1 day.
Probability of immediate UC treatment seeking
→ scenario → healthSystem → EventScheduler → ClinicalOutcomes → pImmediateUC
<pImmediateUC>
double
</pImmediateUC>
Documentation (element)
Units: none Min: 0 Max: 1
Probability that UC treatment seeking will be done immediately when sick, on second day given that it wasn't done on first, etc.
ImmediateOutcomes
→ scenario → healthSystem → ImmediateOutcomes
<ImmediateOutcomes
name=string
>
IN THIS ORDER:
| <drugRegimen ... />
| <initialACR ... />
| <compliance ... />
| <nonCompliersEffective ... />
| <pSeekOfficialCareUncomplicated1 ... />
| <pSelfTreatUncomplicated ... />
| <pSeekOfficialCareUncomplicated2 ... />
| <pSeekOfficialCareSevere ... />
</ImmediateOutcomes>
- drugRegimen
- initialACR
- compliance
- nonCompliersEffective
- pSeekOfficialCareUncomplicated1
- pSelfTreatUncomplicated
- pSeekOfficialCareUncomplicated2
- pSeekOfficialCareSevere
Documentation (type)
Units: List of elements
Description of "immediate outcomes" health system: Tediosi et al case management model (Case management as described in AJTMH 75 (suppl 2) pp90-103).
Attributes
Case Management model
name=string
Units: string
Name of health system
Description of drug regimen
→ scenario → healthSystem → ImmediateOutcomes → drugRegimen
<drugRegimen
firstLine=string
secondLine=string
inpatient=string
/>
Documentation (element)
Units: List of elements
Description of drug regimen
Attributes
First line drug
firstLine=string
Units: Drug code
Code for first line drug
Second line drug
secondLine=string
Units: Drug code
Code for second line drug
Drug use for treating inpatients
inpatient=string
Units: Drug code
Code for drug used for treating inpatients
Initial cure rate
→ scenario → healthSystem → ImmediateOutcomes → initialACR
<initialACR>
IN THIS ORDER:
| [ <CQ ... /> ]
| [ <SP ... /> ]
| [ <AQ ... /> ]
| [ <SPAQ ... /> ]
| [ <ACT ... /> ]
| [ <QN ... /> ]
| <selfTreatment ... />
</initialACR>
Documentation (element)
Units: Proportion Min: 0 Max: 1
Initial cure rate
Chloroquine
→ scenario → healthSystem → ImmediateOutcomes → initialACR → CQ
<CQ
value=double
/>
Documentation (element)
Units: List of elements
Chloroquine
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Sulphadoxine-pyrimethamine
→ scenario → healthSystem → ImmediateOutcomes → initialACR → SP
<SP
value=double
/>
Documentation (element)
Units: List of elements
Sulphadoxine-pyrimethamine
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Amodiaquine
→ scenario → healthSystem → ImmediateOutcomes → initialACR → AQ
<AQ
value=double
/>
Documentation (element)
Units: List of elements
Amodiaquine
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Sulphadoxine-pyrimethamine/Amodiaquine
→ scenario → healthSystem → ImmediateOutcomes → initialACR → SPAQ
<SPAQ
value=double
/>
Documentation (element)
Units: List of elements
Sulphadoxine-pyrimethamine/Amodiaquine
Attributes
Input parameter value
value=double
A double-precision floating-point value.
ACT
→ scenario → healthSystem → ImmediateOutcomes → initialACR → ACT
<ACT
value=double
/>
Documentation (element)
Units: List of elements
Artemisinine combination therapy
Attributes
Input parameter value
value=double
A double-precision floating-point value.
QN
→ scenario → healthSystem → ImmediateOutcomes → initialACR → QN
<QN
value=double
/>
Documentation (element)
Units: List of elements
Quinine
Attributes
Input parameter value
value=double
A double-precision floating-point value.
selfTreatment
→ scenario → healthSystem → ImmediateOutcomes → initialACR → selfTreatment
<selfTreatment
value=double
/>
Documentation (element)
Units: Proportion Min: 0 Max: 1
Probability of self-treatment
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Adherence to treatment
→ scenario → healthSystem → ImmediateOutcomes → compliance
<compliance>
IN THIS ORDER:
| [ <CQ ... /> ]
| [ <SP ... /> ]
| [ <AQ ... /> ]
| [ <SPAQ ... /> ]
| [ <ACT ... /> ]
| [ <QN ... /> ]
| <selfTreatment ... />
</compliance>
Documentation (element)
Units: Proportion Min: 0 Max: 1
Adherence to treatment
Effectiveness of treatment in non-adherent patients
→ scenario → healthSystem → ImmediateOutcomes → nonCompliersEffective
<nonCompliersEffective>
IN THIS ORDER:
| [ <CQ ... /> ]
| [ <SP ... /> ]
| [ <AQ ... /> ]
| [ <SPAQ ... /> ]
| [ <ACT ... /> ]
| [ <QN ... /> ]
| <selfTreatment ... />
</nonCompliersEffective>
Documentation (element)
Units: Proportion Min: 0 Max: 1
Effectiveness of treatment of non compliers
Probability that a patient with uncomplicated disease seeks official care immediately
→ scenario → healthSystem → ImmediateOutcomes → pSeekOfficialCareUncomplicated1
<pSeekOfficialCareUncomplicated1
value=double
/>
Documentation (element)
Units: Proportion Min: 0 Max: 1
Probability that a patient with newly incident uncomplicated disease seeks official care
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Probability that a patient with uncomplicated disease self-treats
→ scenario → healthSystem → ImmediateOutcomes → pSelfTreatUncomplicated
<pSelfTreatUncomplicated
value=double
/>
Documentation (element)
Units: Proportion Min: 0 Max: 1
Probability that a patient with uncomplicated disease self-treats
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Probability that a recurring patient seeks official care
→ scenario → healthSystem → ImmediateOutcomes → pSeekOfficialCareUncomplicated2
<pSeekOfficialCareUncomplicated2
value=double
/>
Documentation (element)
Units: Proportion Min: 0 Max: 1
Probability that a patient with recurrence of uncomplicated disease seeks official care
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Probability that a patient with severe disease obtains appropriate care
→ scenario → healthSystem → ImmediateOutcomes → pSeekOfficialCareSevere
<pSeekOfficialCareSevere
value=double
/>
Documentation (element)
Units: Proportion Min: 0 Max: 1
Probability that a patient with severe disease obtains appropriate care
Attributes
Input parameter value
value=double
A double-precision floating-point value.
CFR
→ scenario → healthSystem → CFR
<CFR>
IN THIS ORDER:
| ( <group ... /> )+
</CFR>
Documentation (element)
Case fatality rate (probability of an inpatient fatality from a bout of severe malaria, per age-group).
group
→ scenario → healthSystem → CFR → group
<group
value=double
lowerbound=double
/>
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Lower bound
lowerbound=double
Units: Years Min: 0 Max: 100
Lower bound of age group
Probabilities of sequelae in inpatients
→ scenario → healthSystem → pSequelaeInpatient
<pSequelaeInpatient>
IN THIS ORDER:
| ( <group ... /> )+
</pSequelaeInpatient>
Documentation (element)
Units: List of elements
List of age specific probabilities of sequelae in inpatients, during a severe bout.
Replacement transmission setting (vector control not enabled)
→ scenario → interventions → timed → intervention → changeEIR
<changeEIR
eipDuration=int
>
IN THIS ORDER:
| ( <EIRDaily ... /> )+
</changeEIR>
Documentation (element)
Units: List of elements
New description of transmission setting for models without vector control interventions (included for backward compatibility)
Attributes
Duration of sporogony (days)
eipDuration=int
The duration of sporogony in days
EIRDaily
→ scenario → entoData → nonVector → EIRDaily
<EIRDaily
[ origin=string ]
>
double
</EIRDaily>
Documentation (type)
Units: Inoculations per person per day
There are two distinct ways of inputing the transmission setting. With this option, the values of daily EIR are input separately. This is only valid for models that do not invoke vector control and is retained only for backward compatibility. When multiple values are given for a single timestep they are averaged.
Attributes
Time origin of EIR sequence
origin=string
importedInfectionsPerThousandHosts
→ scenario → interventions → timed → intervention → importedInfectionsPerThousandHosts
<importedInfectionsPerThousandHosts>
double
</importedInfectionsPerThousandHosts>
Mass Drug Administration
→ scenario → interventions → timed → intervention → MDA
<MDA
[ maxAge=double ]
[ minAge=double ]
coverage=double
[ cohort=boolean ]
/>
Documentation (element)
Units: List of elements
Description of mass drug deployment in the community.
Attributes
Maximum age of eligible individuals
maxAge=double
Units: Years Min: 0 Max: 100
Maximum age of eligible individuals (defaults to 100)
Minimum age of eligible individuals
minAge=double
Units: Years Min: 0 Max: 100
Minimum age of eligible individuals (defaults to 0)
Coverage
coverage=double
Units: Proportion Min: 0 Max: 1
Coverage of intervention
Cohort only
cohort=boolean
Units: Proportion Min: 0 Max: 1
Restrict distribution to chosen cohort.
Vaccination
→ scenario → interventions → timed → intervention → vaccinate
<vaccinate
[ maxAge=double ]
[ minAge=double ]
coverage=double
[ cohort=boolean ]
/>
Documentation (element)
Units: List of elements
Description of vaccine deployment in the community
Attributes
Maximum age of eligible individuals
maxAge=double
Units: Years Min: 0 Max: 100
Maximum age of eligible individuals (defaults to 100)
Minimum age of eligible individuals
minAge=double
Units: Years Min: 0 Max: 100
Minimum age of eligible individuals (defaults to 0)
Coverage
coverage=double
Units: Proportion Min: 0 Max: 1
Coverage of intervention
Cohort only
cohort=boolean
Units: Proportion Min: 0 Max: 1
Restrict distribution to chosen cohort.
ITN deployment
→ scenario → interventions → timed → intervention → ITN
<ITN
[ maxAge=double ]
[ minAge=double ]
coverage=double
[ cohort=boolean ]
/>
Documentation (element)
Units: List of elements
Description of ITN deployment in the community
Attributes
Maximum age of eligible individuals
maxAge=double
Units: Years Min: 0 Max: 100
Maximum age of eligible individuals (defaults to 100)
Minimum age of eligible individuals
minAge=double
Units: Years Min: 0 Max: 100
Minimum age of eligible individuals (defaults to 0)
Coverage
coverage=double
Units: Proportion Min: 0 Max: 1
Coverage of intervention
Cohort only
cohort=boolean
Units: Proportion Min: 0 Max: 1
Restrict distribution to chosen cohort.
IRS deployment
→ scenario → interventions → timed → intervention → IRS
<IRS
[ maxAge=double ]
[ minAge=double ]
coverage=double
[ cohort=boolean ]
/>
Documentation (element)
Units: List of elements
Description of IRS deployment in the community
Attributes
Maximum age of eligible individuals
maxAge=double
Units: Years Min: 0 Max: 100
Maximum age of eligible individuals (defaults to 100)
Minimum age of eligible individuals
minAge=double
Units: Years Min: 0 Max: 100
Minimum age of eligible individuals (defaults to 0)
Coverage
coverage=double
Units: Proportion Min: 0 Max: 1
Coverage of intervention
Cohort only
cohort=boolean
Units: Proportion Min: 0 Max: 1
Restrict distribution to chosen cohort.
Mosquito deterrent
→ scenario → interventions → timed → intervention → VectorAvailability
<VectorAvailability
[ maxAge=double ]
[ minAge=double ]
coverage=double
[ cohort=boolean ]
/>
Documentation (element)
Units: List of elements
Description of a mosquito deterrent deployment in the community
Attributes
Maximum age of eligible individuals
maxAge=double
Units: Years Min: 0 Max: 100
Maximum age of eligible individuals (defaults to 100)
Minimum age of eligible individuals
minAge=double
Units: Years Min: 0 Max: 100
Minimum age of eligible individuals (defaults to 0)
Coverage
coverage=double
Units: Proportion Min: 0 Max: 1
Coverage of intervention
Cohort only
cohort=boolean
Units: Proportion Min: 0 Max: 1
Restrict distribution to chosen cohort.
IPTi deployment
→ scenario → interventions → timed → intervention → ipti
<ipti
[ maxAge=double ]
[ minAge=double ]
coverage=double
[ cohort=boolean ]
/>
Documentation (element)
Units: List of elements
List of age groups for IPTi distribution
Attributes
Maximum age of eligible individuals
maxAge=double
Units: Years Min: 0 Max: 100
Maximum age of eligible individuals (defaults to 100)
Minimum age of eligible individuals
minAge=double
Units: Years Min: 0 Max: 100
Minimum age of eligible individuals (defaults to 0)
Coverage
coverage=double
Units: Proportion Min: 0 Max: 1
Coverage of intervention
Cohort only
cohort=boolean
Units: Proportion Min: 0 Max: 1
Restrict distribution to chosen cohort.
Immune suppression deployment
→ scenario → interventions → timed → intervention → immuneSuppression
<immuneSuppression
[ maxAge=double ]
[ minAge=double ]
coverage=double
[ cohort=boolean ]
/>
Documentation (element)
Units: List of elements
Removes all exposure-related immunity gained over time by hosts without removing infections.
Hypothetical, but potentially useful to simulate scenarios with unprotected humans.
Attributes
Maximum age of eligible individuals
maxAge=double
Units: Years Min: 0 Max: 100
Maximum age of eligible individuals (defaults to 100)
Minimum age of eligible individuals
minAge=double
Units: Years Min: 0 Max: 100
Minimum age of eligible individuals (defaults to 0)
Coverage
coverage=double
Units: Proportion Min: 0 Max: 1
Coverage of intervention
Cohort only
cohort=boolean
Units: Proportion Min: 0 Max: 1
Restrict distribution to chosen cohort.
Insert R_0 case
→ scenario → interventions → timed → intervention → insertR_0Case
<insertR_0Case/>
Documentation (element)
Units: List of elements
Used to simulate R_0. First, infections should be eliminated, immunity removed, and the population given an effective transmission- blocking vaccine (not done by this intervention). Then this intervention may be used to: pick one human, infect him, administer a fully effective Preerythrocytic vaccine and remove transmission-blocking vaccine effect on this human. Thus only this one human will be a source of infections in an unprotected population, and will not reinfected himself.
Uninfect vectors
→ scenario → interventions → timed → intervention → uninfectVectors
<uninfectVectors/>
Documentation (element)
Units: List of elements
Removes all infections from mosquitoes -- resulting in zero EIR to humans, until such time that mosquitoes are re-infected and become infectious. Only effectious in dynamic EIR mode (when changeEIR was not used).
Hypothetical, but potentially useful to simulate a setting starting from no infections, but with enough mosquitoes to reach a set equilibrium of exposure.
larviciding
→ scenario → interventions → timed → intervention → larviciding
<larviciding>
IN THIS ORDER:
| ( <anopheles ... /> )+
</larviciding>
Documentation (element)
Simple larviciding intervention description.
anopheles
→ scenario → interventions → timed → intervention → larviciding → anopheles
<anopheles
mosquito=string
effectiveness=double
duration=int
/>
Attributes
Mosquito to be larvicided
mosquito=string
Mosquito to be larvicided
Proportionate reduction in emergence
effectiveness=double
Units: none Min: 0 Max: 1
Proportional reduction in emergence rate
Duration of activity
duration=int
Units: days Min: 0 Max: inf
Number of days for which the intervention is active.
Mass Cohort Selection
→ scenario → interventions → timed → intervention → cohort
<cohort
[ maxAge=double ]
[ minAge=double ]
coverage=double
[ cohort=boolean ]
/>
Documentation (element)
Units: List of elements
Description of mass cohort selection.
Attributes
Maximum age of eligible individuals
maxAge=double
Units: Years Min: 0 Max: 100
Maximum age of eligible individuals (defaults to 100)
Minimum age of eligible individuals
minAge=double
Units: Years Min: 0 Max: 100
Minimum age of eligible individuals (defaults to 0)
Coverage
coverage=double
Units: Proportion Min: 0 Max: 1
Coverage of intervention
Cohort only
cohort=boolean
Units: Proportion Min: 0 Max: 1
Restrict distribution to chosen cohort.
healthSystem
→ scenario → healthSystem
<healthSystem>
IN THIS ORDER:
| EXACTLY ONE OF:
| | <EventScheduler ... />
| | <ImmediateOutcomes ... />
| <CFR ... />
| <pSequelaeInpatient ... />
</healthSystem>
Documentation (type)
Units: List of elements
Description of case management system, used to specify the initial model or a replacement (an intervention). Encompasses case management data and some other data required to derive case outcomes.
Contains a sub-element describing the particular health-system in use. Health system data is here defined as data used to decide on a treatment strategy, given a case requiring treatment.
Transmission and vector bionomics
<entoData
name=string
mode=("2" or "4")
>
IN THIS ORDER:
| EXACTLY ONE OF:
| | <nonVector ... />
| | <vector ... />
</entoData>
Documentation (element)
Units: List of elements
Description of entomological data
Attributes
Entomology dataset
name=string
Units: string
Name of entomology data
Transmission simulation mode
mode=("2" or "4")
Units: Code
Transmission simulation mode -- enter dynamic mode (4) or forced mode (2) at start of intervention period. Mode 3 (transient EIR from data provided as intervention) is set when intervention data is applied, and is no longer a valid value to specify here.
Transmission setting (vector control not enabled)
→ scenario → entoData → nonVector
<nonVector
eipDuration=int
>
IN THIS ORDER:
| ( <EIRDaily ... /> )+
</nonVector>
Documentation (element)
Units: List of elements
Description of transmission setting for models without vector control interventions (included for backward compatibility)
Attributes
Duration of sporogony (days)
eipDuration=int
The duration of sporogony in days
Transmission setting (vector control enabled)
→ scenario → entoData → vector
<vector>
IN THIS ORDER:
| ( <anopheles ... /> )+
| ( <nonHumanHosts ... /> )*
</vector>
Documentation (element)
Units: List of elements
Parameters of the transmission model.
anopheles
→ scenario → entoData → vector → anopheles
<anopheles
mosquito=string
propInfected=double
propInfectious=double
>
IN THIS ORDER:
| <eir ... />
| <mosq ... />
| ( <nonHumanHosts ... /> )*
</anopheles>
Documentation (type)
Description of input EIR for one specific vector species in terms of a Fourier approximation to the ln of the EIR during the burn in period
Attributes
Identifier for this anopheles species
mosquito=string
Initial guess of proportion of mosquitoes infected
propInfected=double
Units: Proportion Min: 0 Max: 1
Initial guess of the proportion of mosquitoes which are infected, o: O_v(t) = o*N_v(t). Only used as a starting value.
Initial guess of proportion of mosquitoes infectious
propInfectious=double
Units: Proportion Min: 0 Max: 1
Initial guess of the proportion of mosquitoes which are infectious, s: S_v(t) = s*N_v(t). Used as a starting value and then fit.
Fourier approximation to pre-intervention EIR
→ scenario → entoData → vector → anopheles → eir
<eir
a0=double
a1=double
b1=double
a2=double
b2=double
EIRRotateAngle=double
/>
Documentation (element)
Units: Inoculations per person per day
Description of target entomological inoculation rate, used to calculate the vector emergence rate. An EIR array is generated from the exponent of the inverse discrete fourier transform of these parameters.
Attributes
a0 parameter of Fourier approximation to ln(EIR)
a0=double
a1 parameter of Fourier approximation to ln(EIR)
a1=double
b1 parameter of Fourier approximation to ln(EIR)
b1=double
a2 parameter of Fourier approximation to ln(EIR)
a2=double
b2 parameter of Fourier approximation to ln(EIR)
b2=double
Rotation angle defining the origin of the Fourier approximation to ln (EIR)
EIRRotateAngle=double
Vector Species
→ scenario → entoData → vector → anopheles → mosq
<mosq
mosqRestDuration=int
extrinsicIncubationPeriod=int
mosqLaidEggsSameDayProportion=double
mosqSeekingDuration=double
mosqSurvivalFeedingCycleProbability=double
mosqProbBiting=double
mosqProbFindRestSite=double
mosqProbResting=double
mosqProbOvipositing=double
mosqHumanBloodIndex=double
minInfectedThreshold=double
/>
Documentation (element)
Units: List of elements
Vector species
Attributes
Duration of the resting period of the vector (days)
mosqRestDuration=int
Extrinsic incubation period (days)
extrinsicIncubationPeriod=int
Proportion of mosquitoes host seeking on same day as ovipositing
mosqLaidEggsSameDayProportion=double
Duration of the host-seeking period of the vector (days)
mosqSeekingDuration=double
Probability that the mosquito survives the feeding cycle
mosqSurvivalFeedingCycleProbability=double
Probability that the mosquito succesfully bites chosen host
mosqProbBiting=double
Probability that the mosquito escapes host and finds a resting place after biting
mosqProbFindRestSite=double
Probability of mosquito successfully resting after finding a resting site
mosqProbResting=double
Probability of a mosquito successfully laying eggs given that it has rested
mosqProbOvipositing=double
Human blood index
mosqHumanBloodIndex=double
The proportion of resting mosquitoes which fed on human blood during the last feed.
Min infected threshold
minInfectedThreshold=double
Min: 0
If less than this many mosquitoes remain infected, transmission is interrupted.
nonHumanHosts
→ scenario → entoData → vector → anopheles → nonHumanHosts
<nonHumanHosts
name=string
mosqRelativeEntoAvailability=double
mosqProbBiting=double
mosqProbFindRestSite=double
mosqProbResting=double
/>
Documentation (element)
Units: List of elements
Non human host parameters, per type of host (must match up with non-species-specific parameters).
Attributes
Identifier for this category of non-human hosts
name=string
Relative availability of nonhuman hosts of type i (to other nonhuman hosts)
mosqRelativeEntoAvailability=double
Probability of mosquito successfully biting host
mosqProbBiting=double
Probability that the mosquito escapes host and finds a resting place after biting
mosqProbFindRestSite=double
Probability of mosquito successfully resting after finding a resting site
mosqProbResting=double
nonHumanHosts
→ scenario → entoData → vector → nonHumanHosts
<nonHumanHosts
name=string
number=double
/>
Attributes
Species of alternative host
name=string
Units: List of elements
Name of this species of non human hosts (must match up with those described per anopheles section)
number
number=double
Pharmacokinetics and pharmacodynamics
<drugDescription>
IN THIS ORDER:
| ( <drug ... /> )+
</drugDescription>
Documentation (element)
Units: List of elements
Drug model parameters
drug
→ scenario → drugDescription → drug
<drug
abbrev=string
>
IN THIS ORDER:
| <PD ... />
| <PK ... />
</drug>
Documentation (element)
Sequence of drug descriptions forming a library of drug parameters.
Attributes
abbrev
abbrev=string
PD
→ scenario → drugDescription → drug → PD
<PD>
IN THIS ORDER:
| ( <allele ... /> )+
</PD>
allele
→ scenario → drugDescription → drug → PD → allele
<allele
name=string
>
IN THIS ORDER:
| <initial_frequency ... />
| <max_killing_rate ... />
| <IC50 ... />
| <slope ... />
</allele>
Documentation (element)
PD parameters per allele, plus initial frequency of each allele.
Note: we assume a one-to-one correspondance of drugs to loci, hence each drug has an independent set of alleles here.
Attributes
name
name=string
Relative frequency
→ scenario → drugDescription → drug → PD → allele → initial_frequency
<initial_frequency>
double
</initial_frequency>
Documentation (element)
Units: relative frequency Min: 0
Frequency, relative to the total frequency of all alleles for this drug/locus.
Maximal parasite killing rate
→ scenario → drugDescription → drug → PD → allele → max_killing_rate
<max_killing_rate>
double
</max_killing_rate>
Documentation (element)
Units: 1/days Min: 0
k1 — Maximal parasite killing rate.
IC50
→ scenario → drugDescription → drug → PD → allele → IC50
<IC50>
double
</IC50>
Documentation (element)
Units: mg/l Min: 0
Half maximal effect concentration.
Slope of effect curve
→ scenario → drugDescription → drug → PD → allele → slope
<slope>
double
</slope>
Documentation (element)
Units: no units
n — Slope of the concentration effect curve
PK
→ scenario → drugDescription → drug → PK
<PK>
IN THIS ORDER:
| <negligible_concentration ... />
| <half_life ... />
| <vol_dist ... />
</PK>
Drug concentration considered negligible
→ scenario → drugDescription → drug → PK → negligible_concentration
<negligible_concentration>
double
</negligible_concentration>
Documentation (element)
Units: mg/l Min: 0
Concentration below which drug's effects are deemed negligible and can be removed from simulation.
drug half-life
→ scenario → drugDescription → drug → PK → half_life
<half_life>
double
</half_life>
Documentation (element)
Units: days Min: 0
Used to calculate elimination rate (which is: ln(2) / half_life).
Volume of Distribution
→ scenario → drugDescription → drug → PK → vol_dist
<vol_dist>
double
</vol_dist>
Documentation (element)
Units: l/kg Min: 0
Volume of Distribution
Model options and parameters
<model>
IN THIS ORDER:
| <ModelOptions ... />
| <clinical ... />
| <parameters ... />
</model>
Documentation (element)
Units: List of elements
Encapsulation of all parameters which describe the model according to which fitting is done.
Model Options
→ scenario → model → ModelOptions
<ModelOptions>
IN THIS ORDER:
| ( <option ... /> )*
</ModelOptions>
Documentation (element)
Units: List of elements
All model options (bug fixes, choices between models, etc.).
The list of recognised options can be found in the code at:
include/util/ModelOptions.hpp and should also be in the wiki.
clinical
<clinical
healthSystemMemory=int
/>
Documentation (type)
Units: List of elements
Description of clinical parameters.
This is related to the health-system description, but contains data which can't be changed as part of an intervention and is not restricted to treatment.
Attributes
Follow-up period during which recurrence is treated as a failure
healthSystemMemory=int
Units: Time steps Min: 1 Max: 100
Follow-up period during which a recurrence is considered to be a treatment failure
Parameters of the model of epidemiology
→ scenario → model → parameters
<parameters
interval=int
iseed=int
latentp=int
>
IN THIS ORDER:
| ( <parameter ... /> )+
</parameters>
Documentation (element)
Units: List of elements
Parameters of the epidemiological model
Attributes
Simulation step
interval=int
Units: Days
Simulation step
Random number seed
iseed=int
Units: Number
Seed for RNG
Pre-erythrocytic latent period
latentp=int
Units: Time steps Min: 0 Max: 20
pre-erythrocytic latent period, in time steps
parameter
→ scenario → model → parameters → parameter
<parameter
name=string
number=int
value=double
[ include=boolean ]
/>
Attributes
Name of parameter
name=string
Units: string
Name of parameter
Parameter number
number=int
Units: Number Min: 1 Max: 100
Reference number of input parameter
Parameter value
value=double
Units: Number Min: 0
Parameter value
Sampling indicator
include=boolean
Units: Number Min: 0 Max: 1
True if parameter is to be sampled in optimization runs. Not used in simulator app.
Schema 20 documentation
Generated from: scenario_20.xsd
.
Key:
abc required (one)
[ def ] optional (zero or one)
( ghi )* any number (zero or more)
( jkl )+ at least one
( mno ){2,inf} two or more occurrences
Scenario
→ scenario
<scenario
schemaVersion=int
analysisNo=int
name=string
wuID=int
assimMode=("0" or "1")
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:noNamespaceSchemaLocation="scenario_20.xsd"
>
IN THIS ORDER:
| <demography ... />
| <monitoring ... />
| <interventions ... />
| <healthSystem ... />
| <entoData ... />
| [ <drugDescription ... /> ]
| <model ... />
</scenario>
Documentation (element)
Units: List of elements
Description of scenario
Attributes
Version of the xml schema
schemaVersion=int
Version of xml schema. If not equal to the current version an error is thrown. Use SchemaTranslator to update xml files.
Reference number of the analysis
analysisNo=int
Units: Number Min: 1 Max: 100000000
Unique identifier of scenario
Name of intervention
name=string
Units: string
Name of intervention
Work unit identifier
wuID=int
Units: Number Min: 1 Max: 100000000
Work unit ID. Only used to validate checkpointing, to prevent checkpoint cheats.
Assimilator mode
assimMode=("0" or "1")
Units: Code
Assimilator mode. Defines output of simulator as either complete (columns: time,agegroup,measure,value) or minimal (single column: value)
Human age distribution
→ scenario → demography
<demography
name=string
popSize=int
maximumAgeYrs=double
[ growthRate=double ]
>
IN THIS ORDER:
| <ageGroup ... />
</demography>
Documentation (element)
Units: List of elements
Description of demography
Attributes
Name of demography data
name=string
Units: string
Name of demography data
Population size
popSize=int
Units: Count Min: 1 Max: 100000
Population size
Maximum age of simulated humans
maximumAgeYrs=double
Units: Number Min: 0 Max: 100
Maximum age of simulated humans
Growth rate of human population
growthRate=double
Units: Number Min: 0 Max: 0
Growth rate of human population. (we should be able to implement this with non-zero values)
Age groups
→ scenario → demography → ageGroup
<ageGroup
lowerbound=double
>
IN THIS ORDER:
| ( <group ... /> )+
</ageGroup>
Documentation (element)
Units: List of elements
List of age groups included in demography
Documentation (type)
Units: List of elements
List of age groups included in demography or surveys
Attributes
lower bound of age group
lowerbound=double
Units: Years Min: 0 Max: 100
Lower bound of age group
group
→ scenario → demography → ageGroup → group
<group
poppercent=double
upperbound=double
/>
Attributes
Percentage in age group
poppercent=double
Percentage of human population in age group
upper bound of age group
upperbound=double
Units: Years Min: 0 Max: 100
Upper bound of age group
Measures to be reported
→ scenario → monitoring
<monitoring
name=string
>
IN THIS ORDER:
| [ <continuous ... /> ]
| <SurveyOptions ... />
| <surveys ... />
| <ageGroup ... />
</monitoring>
Documentation (element)
Units: List of elements
Description of surveys
Attributes
name of monitoring information
name=string
Units: string
Name of monitoring data
continuous
→ scenario → monitoring → continuous
<continuous
period=int
[ duringInit=boolean ]
>
IN THIS ORDER:
| ( <option ... /> )*
</continuous>
Attributes
Days between reports
period=int
Units: Days Min: 1 Max: unbounded
Number of timesteps between reports.
During initialization
duringInit=boolean
Units: Days Min: 1 Max: unbounded
Also output during initialization. By default this is disabled (only intervention-period data is output). This should not be used for predictions, but can be useful for model validation. In this mode, 'simulation time' is output as the first column (in addition to 'timestep'), since 'timestep' is dis- continuous across the start of the intervention period.
option
→ scenario → monitoring → continuous → option
<option
name=string
value=boolean
/>
Attributes
Model options required
name=string
Options define different model structures. Option name. Must be one of a strictly defined set. Options are not required to be listed if their default value is desired.
Indicator of whether option is required
value=boolean
Option value (true/false). Each option has a default value used if the option is not listed (usually false but sometimes true).
Name of quantity
→ scenario → monitoring → SurveyOptions
<SurveyOptions>
IN THIS ORDER:
| ( <option ... /> )*
</SurveyOptions>
Documentation (element)
List of all active survey options. See include/Survey.h for a list of supported outputs. Should also be on the wiki.
Survey times (time steps)
→ scenario → monitoring → surveys
<surveys
detectionLimit=double
>
IN THIS ORDER:
| <surveyTime ... />
</surveys>
Documentation (element)
Units: List of elements
List of survey times
Attributes
Detection limit for parasitaemia
detectionLimit=double
Units: parasites/micolitre Min: 0 Max: 1000
Detection limit for parasitemia
Survey time
→ scenario → monitoring → surveys → surveyTime
<surveyTime>
int
</surveyTime>
Documentation (element)
Units: Number Min: 0
Survey time; 0 means just before start of main sim and is a valid survey-point. Reported data is either from a point-time survey (immediate data) or is collected over the previous year (data from previous timesteps-per-year period). Simulation will end immediately after last survey is taken.
Age groups
→ scenario → monitoring → ageGroup
<ageGroup
lowerbound=double
>
IN THIS ORDER:
| ( <group ... /> )+
</ageGroup>
Documentation (element)
Units: List of elements
List of age groups included in demography or surveys
Documentation (type)
Units: List of elements
List of age groups included in surveys
Attributes
lower bound of age group
lowerbound=double
Units: Years Min: 0 Max: 100
Lower bound of age group
group
→ scenario → monitoring → ageGroup → group
<group
upperbound=double
/>
Attributes
upper bound of age group
upperbound=double
Units: Years Min: 0 Max: 100
Upper bound of age group
Preventative interventions
<interventions
name=string
>
IN THIS ORDER:
| [ <MDADescription ... /> ]
| ( <vaccineDescription ... /> ){0,3}
| [ <iptiDescription ... /> ]
| ( <anopheles ... /> )*
| [ <continuous ... /> ]
| [ <timed ... /> ]
</interventions>
Documentation (element)
Units: List of elements
List of interventions. Generally these are either point-time distributions of something to some subset of the population, or continuous-time distribution targetting individuals when they reach a certain age.
Attributes
Intervention
name=string
Units: string
Name of age specific intervention
Drug dose(s) used in MDA
→ scenario → interventions → MDADescription
<MDADescription>
IN THIS ORDER:
| [ <schedule ... /> ]
</MDADescription>
Documentation (element)
Units: List of medicate elements
Description of drug dose(s) used in a mass-drug-administration intervention.
When using the new (Event Scheduler) case management model, a treatment schedule must be present.
schedule
→ scenario → interventions → MDADescription → schedule
<schedule>
IN THIS ORDER:
| ( <medicate ... /> )*
</schedule>
Documentation (type)
The base (unmodified) schedule of drugs administered for this treatment.
medicate
→ scenario → interventions → MDADescription → schedule → medicate
<medicate
drug=string
mg=double
hour=double
/>
Attributes
drug
drug=string
Units: string
Abbreviated name of drug compound
drug dose
mg=double
Units: mg
Quantity of drug compound
time of administration
hour=double
Units: hours Min: 0
Number of hours past start of timestep this drug dose is administered at (first dose should be at hour 0).
vaccineDescription
→ scenario → interventions → vaccineDescription
<vaccineDescription
vaccineType=int
>
IN THIS ORDER:
| <halfLifeYrs ... />
| <efficacyB ... />
| ( <initialEfficacy ... /> )+
</vaccineDescription>
Attributes
Type of vaccine
vaccineType=int
Units: Code
Type of vaccine
Half life of drug effect
→ scenario → interventions → vaccineDescription → halfLifeYrs
<halfLifeYrs
value=double
/>
Documentation (element)
Units: Years Min: 0 Max: 100
Half life of drug effect
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Variance parameter for vaccine efficacy
→ scenario → interventions → vaccineDescription → efficacyB
<efficacyB
value=double
/>
Documentation (element)
Units: Positive real Min: 0.001 Max: 1.00E+06
Measure of variation in vaccine efficacy
Attributes
Input parameter value
value=double
A double-precision floating-point value.
initialEfficacy
→ scenario → interventions → vaccineDescription → initialEfficacy
<initialEfficacy
value=double
/>
Attributes
Input parameter value
value=double
A double-precision floating-point value.
iptiDescription
→ scenario → interventions → iptiDescription
<iptiDescription
iptiEffect=int
>
IN THIS ORDER:
| ( <infGenotype ... /> )+
</iptiDescription>
Attributes
iptiEffect
iptiEffect=int
infGenotype
→ scenario → interventions → iptiDescription → infGenotype
<infGenotype
name=string
freq=double
ACR=double
proph=int
tolPeriod=int
atten=double
/>
Attributes
Age specific intervention
name=string
Units: string
Name of age specific intervention
Frequency
freq=double
Frequency of parasite genotype
ACR
ACR=double
Adequate clinical response (proportion)
Prophylactic period
proph=int
Prophylactic period
Tolerance period
tolPeriod=int
Tolerance period
Tolerance period
atten=double
Tolerance period
anopheles
→ scenario → interventions → anopheles
<anopheles
mosquito=string
>
IN THIS ORDER:
| [ <ITNDescription ... /> ]
| [ <IRSDescription ... /> ]
| [ <VADescription ... /> ]
</anopheles>
Attributes
Entomological effects of interventions
mosquito=string
Description of the entomological effects of interventions
ITNDescription
→ scenario → interventions → anopheles → ITNDescription
<ITNDescription
name=string
>
IN THIS ORDER:
| <deterrency ... />
| <preprandialKillingEffect ... />
| <postprandialKillingEffect ... />
</ITNDescription>
Attributes
ITN effects
name=string
Units: string
Name of Insecticide Treated Net intervention
Deterrency
→ scenario → interventions → anopheles → ITNDescription → deterrency
<deterrency
initial=double
halflife=double
[ Weibullk=double ]
/>
Documentation (element)
Units: None Min: 0 Max: 1
One minus this multiplies the host's availability (before decay).
Documentation (type)
Specification of a proportion with Weibull or exponential decay.
Attributes
Initial proportion
initial=double
Units: None Min: 0 Max: 1
The value before any decay.
half-life
halflife=double
Units: Years Min: 0
Half-life in years (more generally, halflife/ln(2) is lambda from the Weibull distribution).
Weibull k parameter
Weibullk=double
Min: 0
The parameter k of the Weibull distribution. If missing, 1.0 is used (equivalent to exponential decay).
Pre-prandial killing effect
→ scenario → interventions → anopheles → ITNDescription → preprandialKillingEffect
<preprandialKillingEffect
initial=double
halflife=double
[ Weibullk=double ]
/>
Documentation (element)
Units: None Min: 0 Max: 1
One minus this multiplies the survival rate of mosquitoes attempting to bite a host.
Documentation (type)
Specification of a proportion with Weibull or exponential decay.
Attributes
Initial proportion
initial=double
Units: None Min: 0 Max: 1
The value before any decay.
half-life
halflife=double
Units: Years Min: 0
Half-life in years (more generally, halflife/ln(2) is lambda from the Weibull distribution).
Weibull k parameter
Weibullk=double
Min: 0
The parameter k of the Weibull distribution. If missing, 1.0 is used (equivalent to exponential decay).
Post-prandial killing effect
→ scenario → interventions → anopheles → ITNDescription → postprandialKillingEffect
<postprandialKillingEffect
initial=double
halflife=double
[ Weibullk=double ]
/>
Documentation (element)
Units: None Min: 0 Max: 1
One minus this multiplies the survival rate of mosquitoes attempting to escape after biting a host.
Documentation (type)
Specification of a proportion with Weibull or exponential decay.
Attributes
Initial proportion
initial=double
Units: None Min: 0 Max: 1
The value before any decay.
half-life
halflife=double
Units: Years Min: 0
Half-life in years (more generally, halflife/ln(2) is lambda from the Weibull distribution).
Weibull k parameter
Weibullk=double
Min: 0
The parameter k of the Weibull distribution. If missing, 1.0 is used (equivalent to exponential decay).
IRSDescription
→ scenario → interventions → anopheles → IRSDescription
<IRSDescription
name=string
>
IN THIS ORDER:
| <deterrency ... />
| <killingEffect ... />
</IRSDescription>
Attributes
name of IRS intervention
name=string
Units: string
Name of Indoor Residual Spraying intervention
Deterrency
→ scenario → interventions → anopheles → IRSDescription → deterrency
<deterrency
initial=double
halflife=double
[ Weibullk=double ]
/>
Documentation (element)
Units: None Min: 0 Max: 1
One minus this multiplies the host's availability.
Documentation (type)
Specification of a proportion with Weibull or exponential decay.
Attributes
Initial proportion
initial=double
Units: None Min: 0 Max: 1
The value before any decay.
half-life
halflife=double
Units: Years Min: 0
Half-life in years (more generally, halflife/ln(2) is lambda from the Weibull distribution).
Weibull k parameter
Weibullk=double
Min: 0
The parameter k of the Weibull distribution. If missing, 1.0 is used (equivalent to exponential decay).
killing effect
→ scenario → interventions → anopheles → IRSDescription → killingEffect
<killingEffect
initial=double
halflife=double
[ Weibullk=double ]
/>
Documentation (element)
Units: None Min: 0 Max: 1
One minus this multiplies the survival rate of resting mosquitoes.
Documentation (type)
Specification of a proportion with Weibull or exponential decay.
Attributes
Initial proportion
initial=double
Units: None Min: 0 Max: 1
The value before any decay.
half-life
halflife=double
Units: Years Min: 0
Half-life in years (more generally, halflife/ln(2) is lambda from the Weibull distribution).
Weibull k parameter
Weibullk=double
Min: 0
The parameter k of the Weibull distribution. If missing, 1.0 is used (equivalent to exponential decay).
VADescription
→ scenario → interventions → anopheles → VADescription
<VADescription
name=string
>
IN THIS ORDER:
| <deterrency ... />
</VADescription>
Attributes
Name of mosquito deterrency intervention
name=string
Units: string
Name of mosquito deterrency intervention
Deterrency
→ scenario → interventions → anopheles → VADescription → deterrency
<deterrency
initial=double
halflife=double
[ Weibullk=double ]
/>
Documentation (element)
Units: None Min: 0 Max: 1
One minus this multiplies the host's availability.
Documentation (type)
Specification of a proportion with Weibull or exponential decay.
Attributes
Initial proportion
initial=double
Units: None Min: 0 Max: 1
The value before any decay.
half-life
halflife=double
Units: Years Min: 0
Half-life in years (more generally, halflife/ln(2) is lambda from the Weibull distribution).
Weibull k parameter
Weibullk=double
Min: 0
The parameter k of the Weibull distribution. If missing, 1.0 is used (equivalent to exponential decay).
Continuously applied interventions
→ scenario → interventions → continuous
<continuous>
IN THIS ORDER:
| ( <vaccine ... /> )*
| ( <ITN ... /> )*
| ( <ipti ... /> )*
</continuous>
List of age groups for vaccination
→ scenario → interventions → continuous → vaccine
<vaccine
targetAgeYrs=double
coverage=double
/>
Documentation (element)
Units: List of elements
List of age groups for vaccination
Attributes
Target age
targetAgeYrs=double
Units: Years Min: 0 Max: 100
Target age of intervention
Proportion covered
coverage=double
Units: Proportion Min: 0 Max: 1
Coverage of intervention
Description of ITN deployment
→ scenario → interventions → continuous → ITN
<ITN
targetAgeYrs=double
coverage=double
/>
Documentation (element)
Units: List of elements
Description of ITN deployment in the community
Attributes
Target age
targetAgeYrs=double
Units: Years Min: 0 Max: 100
Target age of intervention
Proportion covered
coverage=double
Units: Proportion Min: 0 Max: 1
Coverage of intervention
List of age groups for IPTi
→ scenario → interventions → continuous → ipti
<ipti
targetAgeYrs=double
coverage=double
/>
Documentation (element)
Units: List of elements
List of age groups for IPTi distribution
Attributes
Target age
targetAgeYrs=double
Units: Years Min: 0 Max: 100
Target age of intervention
Proportion covered
coverage=double
Units: Proportion Min: 0 Max: 1
Coverage of intervention
Timed interventions
→ scenario → interventions → timed
<timed>
IN THIS ORDER:
| ( <intervention ... /> )+
</timed>
Documentation (element)
Units: List of elements
List of timed interventions
Documentation (type)
Units: List of elements
List of timed interventions
intervention
→ scenario → interventions → timed → intervention
<intervention
time=int
>
IN THIS ORDER:
| [ <changeHS ... /> ]
| [ <changeEIR ... /> ]
| [ <importedInfectionsPerThousandHosts ... /> ]
| [ <MDA ... /> ]
| [ <vaccinate ... /> ]
| [ <ITN ... /> ]
| [ <IRS ... /> ]
| [ <VectorAvailability ... /> ]
| [ <ipti ... /> ]
| [ <immuneSuppression ... /> ]
| [ <insertR_0Case ... /> ]
| [ <uninfectVectors ... /> ]
| [ <larviciding ... /> ]
</intervention>
- changeHS
- changeEIR
- importedInfectionsPerThousandHosts
- MDA
- vaccinate
- ITN
- IRS
- VectorAvailability
- ipti
- immuneSuppression
- insertR_0Case
- uninfectVectors
- larviciding
Attributes
Time step of intervention
time=int
Units: Number Min: 1 Max: 10000
Time step of intervention
changeHS
→ scenario → interventions → timed → intervention → changeHS
<changeHS>
IN THIS ORDER:
| EXACTLY ONE OF:
| | <EventScheduler ... />
| | <ImmediateOutcomes ... />
| <CFR ... />
| <pSequelaeInpatient ... />
</changeHS>
Documentation (type)
Units: List of elements
Description of case management system, used to specify the initial model or a replacement (an intervention). Encompasses case management data and some other data required to derive case outcomes.
Contains a sub-element describing the particular health-system in use. Health system data is here defined as data used to decide on a treatment strategy, given a case requiring treatment.
EventScheduler
→ scenario → healthSystem → EventScheduler
<EventScheduler>
IN THIS ORDER:
| <uncomplicated ... />
| <complicated ... />
| <ClinicalOutcomes ... />
</EventScheduler>
uncomplicated
→ scenario → healthSystem → EventScheduler → uncomplicated
<uncomplicated>
IN THIS ORDER:
| <decisions ... />
| <treatments ... />
</uncomplicated>
Documentation (type)
Units: List of elements
A set of decisions and a set of treatments.
decisions
→ scenario → healthSystem → EventScheduler → uncomplicated → decisions
<decisions>
IN THIS ORDER:
| ( <decision ... /> )*
</decisions>
Documentation (type)
Description of decisions for a case management tree. A generic view of this tree would be that each decision is deterministic, or based on probabilities which may depend on other decisions. Probabilistic decisions are described here.
In general, each decision has a name, a defined set of outcome values, and a set of dependent decisions mentioned by name. The following decisions, with their associated outcomes, are provided by the code (and may not be included here):
- case (uncomplicated only): Returns "UC1" if there is no recent history of a malarial case, or "UC2" if there is.
- result: Dependent on decision "test", this performs a parasite density test. Output is one of "none" (no test performed), "positive", "negative".
The following decisions must be described here:
- test (uncomplicated only): Outputs must be "none", "microscopy" or "RDT" to describe which test the "result" decision uses.
- treatment: Describes which treatment to use. Values aren't restricted but must match up with a treatment described in the corresponding "treatments" section.
- hospitalisation (complicated only): none, immediate or delayed.
decision
→ scenario → healthSystem → EventScheduler → uncomplicated → decisions → decision
<decision
name=string
depends=string
values=string
>
string
</decision>
Documentation (type)
A decision describes how to choose between a set of values.
Lexically, it can contain symbols matching "[_.a-zA-Z0-9]+", round brackets: (), braces: {} and colons. Whitespace is ignored except to separate symbols.
Syntactically, it must match one TREE, where SYMBOL is a symbol described above. (Here, "x|y" means x or y, "x+" means x occurs once or more, brackets show grouping.) TREE := BRANCH_SET | OUTCOME BRANCH_SET := BRANCH+ BRANCH := DECISION '(' VALUE ')' ( ':' OUTCOME | '{' TREE '}' ) OUTCOME, DECISION, VALUE := SYMBOL
For each BRANCH_SET each BRANCH must have the same DECISION. This DECISION must be one of the dependencies mentioned in "depends". This may be:
- another decision, in which case the VALUE immediately following in brackets must correspond to one of its output values. The BRANCH_SET immediately containing this BRANCH must represent each output value of the same decision exactly once, and no parent BRANCH_SET may be for the same DECISION.
- "p": this indicates a probabilistic decision. In this case the value is a probability, the sum of all values for the BRANCH_SET must be 1 and the decision must be associated directly with OUTCOMEs (not sub-TREEs).
- "age": this indicates an age-test. The VALUE must have the form "a-b", indicating that this branch will be taken for individuals aged such that a <= age < b, where a,b are non-negative real numbers or the special value "inf", and a <= b. All VALUEs in the BRANCH_SET must cover all possible (non-negative real) ages, with no overlap (hence, smallest a must be 0 and greatest b must be inf).
Semantically, each OUTCOME must be one of the values associated with this decision.
Attributes
Name of decision
name=string
The name of this decision. The name must match the regular expression "[_a-zA-Z0-9]+"; that is it can only contain letters, digits and _ characters (no spaces, punctuation, etc.).
Preceding decisions
depends=string
A comma-separated list of decisions that must have already been evaluated before this decision can be evaluated. Can be empty. Each must be hard-coded or described here. Can include the special decisions "p" and "age", though "age" cannot be combined with any other dependency.
Outcome values
values=string
A comma-separated list of outcome values this decision may have. The name of each value must be of the same form as decision names (i.e. only contain letters, digits and _ characters).
treatments
→ scenario → healthSystem → EventScheduler → uncomplicated → treatments
<treatments>
IN THIS ORDER:
| ( <treatment ... /> )*
</treatments>
Documentation (type)
Units: string
A list of drug treatment tables. Each should have a name corresponding to one of the "drug" decision's values.
treatment
→ scenario → healthSystem → EventScheduler → uncomplicated → treatments → treatment
<treatment
name=string
>
IN THIS ORDER:
| <schedule ... />
| ( <modifier ... /> )*
</treatment>
Documentation (type)
A description of a base treatment schedule along with modifiers to handle delays, quality variations, etc.
Attributes
Treatment administered
name=string
Units: string
Name corresponding to one of the drug decision's output values.
schedule
→ scenario → healthSystem → EventScheduler → uncomplicated → treatments → treatment → schedule
<schedule>
IN THIS ORDER:
| ( <medicate ... /> )*
</schedule>
Documentation (type)
The base (unmodified) schedule of drugs administered for this treatment.
modifier
→ scenario → healthSystem → EventScheduler → uncomplicated → treatments → treatment → modifier
<modifier
decision=string
>
EXACTLY ONE OF:
| ( <multiplyQty ... /> )*
| ( <delay ... /> )*
| ( <selectTimeRange ... /> )*
</modifier>
Documentation (type)
A modifier for this treatment, according to the outputs of a decision.
The "decision" attribute must be the name of a known decision. Then, there must be a set of multipyQty, delay or selectTimeRange sub-elements, each of which corresponds to one value output of the decision.
Attributes
decision
decision=string
Units: string
Specifies the decision that this modifier acts on.
multiplyQty
→ scenario → healthSystem → EventScheduler → uncomplicated → treatments → treatment → modifier → multiplyQty
<multiplyQty
value=string
effect=string
[ affectsCost=boolean ]
/>
Documentation (element)
Multiplies the quantity of active ingredients of drugs administered.
The "drugs" attribute is a comma-separated list of all active ingredients administered in the base schedule (each must be listed once) and the content of this element is a comma- separated list of multipliers for each active ingredient, listed in the same order as in the "drugs" attribute. E.g. with drugs="A,B" and content "0.5,1" the quantity of drug A is halved while that of B is unchanged.
Attributes
value of decision
value=string
Units: string
Specifies a value of the decision to act on.
List of drugs affected
effect=string
Units: string
Comma-separated list of the effect the modifier has on each drug, in the form DRUG1(EFFECT1),DRUG2(EFFECT2), etc.
Affects cost?
affectsCost=boolean
Units: none
Does this affect the cost? If false, the effective drug usage (w.r.t. cost) is unaffected by this modifier; if true it is. Defaults to true (if omitted). Is meaningless for delays.
delay
→ scenario → healthSystem → EventScheduler → uncomplicated → treatments → treatment → modifier → delay
<delay
value=string
effect=string
[ affectsCost=boolean ]
/>
Documentation (element)
Delays administration of drugs listed in the base schedule by so many hours.
The "drugs" attribute is a comma-separated list of all active ingredients administered in the base schedule (each must be listed once) and the content of this element is a comma- separated list of delays (in hours) for each active ingredient, listed in the same order as in the "drugs" attribute. E.g. with drugs="A,B" and content "0,6", drug A is administered as in the base schedule while drug B is administered 6 hours later than specified.
Attributes
value of decision
value=string
Units: string
Specifies a value of the decision to act on.
List of drugs affected
effect=string
Units: string
Comma-separated list of the effect the modifier has on each drug, in the form DRUG1(EFFECT1),DRUG2(EFFECT2), etc.
Affects cost?
affectsCost=boolean
Units: none
Does this affect the cost? If false, the effective drug usage (w.r.t. cost) is unaffected by this modifier; if true it is. Defaults to true (if omitted). Is meaningless for delays.
selectTimeRange
→ scenario → healthSystem → EventScheduler → uncomplicated → treatments → treatment → modifier → selectTimeRange
<selectTimeRange
value=string
effect=string
[ affectsCost=boolean ]
/>
Documentation (element)
Selects which drug doses to administer according to time of administration (before times are modified by delays). Half-open interval: [x,y)
The "drugs" attribute is a comma-separated list of all active ingredients administered in the base schedule (each must be listed once) and the content of this element is a comma- separated list of time-ranges (in hours) for each active ingredient, listed in the same order as in the "drugs" attribute. The time-ranges should be of the form x-y and are interpreted as the half-open interval [x,y); that is a drug listed with time t will only be administered if x <= t < y.
Attributes
value of decision
value=string
Units: string
Specifies a value of the decision to act on.
List of drugs affected
effect=string
Units: string
Comma-separated list of the effect the modifier has on each drug, in the form DRUG1(EFFECT1),DRUG2(EFFECT2), etc.
Affects cost?
affectsCost=boolean
Units: none
Does this affect the cost? If false, the effective drug usage (w.r.t. cost) is unaffected by this modifier; if true it is. Defaults to true (if omitted). Is meaningless for delays.
complicated
→ scenario → healthSystem → EventScheduler → complicated
<complicated>
IN THIS ORDER:
| <decisions ... />
| <treatments ... />
</complicated>
Documentation (type)
Units: List of elements
A set of decisions and a set of treatments.
ClinicalOutcomes
→ scenario → healthSystem → EventScheduler → ClinicalOutcomes
<ClinicalOutcomes>
IN THIS ORDER:
| <maxUCSeekingMemory ... />
| <uncomplicatedCaseDuration ... />
| <complicatedCaseDuration ... />
| <complicatedRiskDuration ... />
| <pImmediateUC ... />
</ClinicalOutcomes>
- maxUCSeekingMemory
- uncomplicatedCaseDuration
- complicatedCaseDuration
- complicatedRiskDuration
- pImmediateUC
Documentation (type)
Description of base parameters of the clinical model.
Max UC treatment-seeking memory
→ scenario → healthSystem → EventScheduler → ClinicalOutcomes → maxUCSeekingMemory
<maxUCSeekingMemory>
int
</maxUCSeekingMemory>
Documentation (element)
Units: days Min: 0 Max: unbounded
Maximum number of timesteps (including first of case) an individual will remember they are sick before resetting.
Uncomplicated case duration
→ scenario → healthSystem → EventScheduler → ClinicalOutcomes → uncomplicatedCaseDuration
<uncomplicatedCaseDuration>
int
</uncomplicatedCaseDuration>
Documentation (element)
Units: days Min: 1 Max: unbounded
Fixed length of an uncomplicated case of malarial/non-malarial sickness (from treatment seeking until return to life-as-usual). Usually 3.
Complicated case duration
→ scenario → healthSystem → EventScheduler → ClinicalOutcomes → complicatedCaseDuration
<complicatedCaseDuration>
int
</complicatedCaseDuration>
Documentation (element)
Units: days Min: 1 Max: unbounded
Fixed length of a complicated/severe case of malaria (from treatment seeking until return to life-as-usual).
Complicated risk duration
→ scenario → healthSystem → EventScheduler → ClinicalOutcomes → complicatedRiskDuration
<complicatedRiskDuration>
int
</complicatedRiskDuration>
Documentation (element)
Units: days Min: 1 Max: unbounded
Number of days for which humans are at risk of death during a severe or complicated case of malaria. Cannot be greater than the duration of a complicated case or less than 1 day.
Probability of immediate UC treatment seeking
→ scenario → healthSystem → EventScheduler → ClinicalOutcomes → pImmediateUC
<pImmediateUC>
double
</pImmediateUC>
Documentation (element)
Units: none Min: 0 Max: 1
Probability that UC treatment seeking will be done immediately when sick, on second day given that it wasn't done on first, etc.
ImmediateOutcomes
→ scenario → healthSystem → ImmediateOutcomes
<ImmediateOutcomes
name=string
>
IN THIS ORDER:
| <drugRegimen ... />
| <initialACR ... />
| <compliance ... />
| <nonCompliersEffective ... />
| <pSeekOfficialCareUncomplicated1 ... />
| <pSelfTreatUncomplicated ... />
| <pSeekOfficialCareUncomplicated2 ... />
| <pSeekOfficialCareSevere ... />
</ImmediateOutcomes>
- drugRegimen
- initialACR
- compliance
- nonCompliersEffective
- pSeekOfficialCareUncomplicated1
- pSelfTreatUncomplicated
- pSeekOfficialCareUncomplicated2
- pSeekOfficialCareSevere
Documentation (type)
Units: List of elements
Description of "immediate outcomes" health system: Tediosi et al case management model (Case management as described in AJTMH 75 (suppl 2) pp90-103).
Attributes
Case Management model
name=string
Units: string
Name of health system
Description of drug regimen
→ scenario → healthSystem → ImmediateOutcomes → drugRegimen
<drugRegimen
firstLine=string
secondLine=string
inpatient=string
/>
Documentation (element)
Units: List of elements
Description of drug regimen
Attributes
First line drug
firstLine=string
Units: Drug code
Code for first line drug
Second line drug
secondLine=string
Units: Drug code
Code for second line drug
Drug use for treating inpatients
inpatient=string
Units: Drug code
Code for drug used for treating inpatients
Initial cure rate
→ scenario → healthSystem → ImmediateOutcomes → initialACR
<initialACR>
IN THIS ORDER:
| [ <CQ ... /> ]
| [ <SP ... /> ]
| [ <AQ ... /> ]
| [ <SPAQ ... /> ]
| [ <ACT ... /> ]
| [ <QN ... /> ]
| <selfTreatment ... />
</initialACR>
Documentation (element)
Units: Proportion Min: 0 Max: 1
Initial cure rate
Chloroquine
→ scenario → healthSystem → ImmediateOutcomes → initialACR → CQ
<CQ
value=double
/>
Documentation (element)
Units: List of elements
Chloroquine
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Sulphadoxine-pyrimethamine
→ scenario → healthSystem → ImmediateOutcomes → initialACR → SP
<SP
value=double
/>
Documentation (element)
Units: List of elements
Sulphadoxine-pyrimethamine
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Amodiaquine
→ scenario → healthSystem → ImmediateOutcomes → initialACR → AQ
<AQ
value=double
/>
Documentation (element)
Units: List of elements
Amodiaquine
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Sulphadoxine-pyrimethamine/Amodiaquine
→ scenario → healthSystem → ImmediateOutcomes → initialACR → SPAQ
<SPAQ
value=double
/>
Documentation (element)
Units: List of elements
Sulphadoxine-pyrimethamine/Amodiaquine
Attributes
Input parameter value
value=double
A double-precision floating-point value.
ACT
→ scenario → healthSystem → ImmediateOutcomes → initialACR → ACT
<ACT
value=double
/>
Documentation (element)
Units: List of elements
Artemisinine combination therapy
Attributes
Input parameter value
value=double
A double-precision floating-point value.
QN
→ scenario → healthSystem → ImmediateOutcomes → initialACR → QN
<QN
value=double
/>
Documentation (element)
Units: List of elements
Quinine
Attributes
Input parameter value
value=double
A double-precision floating-point value.
selfTreatment
→ scenario → healthSystem → ImmediateOutcomes → initialACR → selfTreatment
<selfTreatment
value=double
/>
Documentation (element)
Units: Proportion Min: 0 Max: 1
Probability of self-treatment
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Adherence to treatment
→ scenario → healthSystem → ImmediateOutcomes → compliance
<compliance>
IN THIS ORDER:
| [ <CQ ... /> ]
| [ <SP ... /> ]
| [ <AQ ... /> ]
| [ <SPAQ ... /> ]
| [ <ACT ... /> ]
| [ <QN ... /> ]
| <selfTreatment ... />
</compliance>
Documentation (element)
Units: Proportion Min: 0 Max: 1
Adherence to treatment
Effectiveness of treatment in non-adherent patients
→ scenario → healthSystem → ImmediateOutcomes → nonCompliersEffective
<nonCompliersEffective>
IN THIS ORDER:
| [ <CQ ... /> ]
| [ <SP ... /> ]
| [ <AQ ... /> ]
| [ <SPAQ ... /> ]
| [ <ACT ... /> ]
| [ <QN ... /> ]
| <selfTreatment ... />
</nonCompliersEffective>
Documentation (element)
Units: Proportion Min: 0 Max: 1
Effectiveness of treatment of non compliers
Probability that a patient with uncomplicated disease seeks official care immediately
→ scenario → healthSystem → ImmediateOutcomes → pSeekOfficialCareUncomplicated1
<pSeekOfficialCareUncomplicated1
value=double
/>
Documentation (element)
Units: Proportion Min: 0 Max: 1
Probability that a patient with newly incident uncomplicated disease seeks official care
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Probability that a patient with uncomplicated disease self-treats
→ scenario → healthSystem → ImmediateOutcomes → pSelfTreatUncomplicated
<pSelfTreatUncomplicated
value=double
/>
Documentation (element)
Units: Proportion Min: 0 Max: 1
Probability that a patient with uncomplicated disease self-treats
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Probability that a recurring patient seeks official care
→ scenario → healthSystem → ImmediateOutcomes → pSeekOfficialCareUncomplicated2
<pSeekOfficialCareUncomplicated2
value=double
/>
Documentation (element)
Units: Proportion Min: 0 Max: 1
Probability that a patient with recurrence of uncomplicated disease seeks official care
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Probability that a patient with severe disease obtains appropriate care
→ scenario → healthSystem → ImmediateOutcomes → pSeekOfficialCareSevere
<pSeekOfficialCareSevere
value=double
/>
Documentation (element)
Units: Proportion Min: 0 Max: 1
Probability that a patient with severe disease obtains appropriate care
Attributes
Input parameter value
value=double
A double-precision floating-point value.
CFR
→ scenario → healthSystem → CFR
<CFR>
IN THIS ORDER:
| ( <group ... /> )+
</CFR>
Documentation (element)
Case fatality rate (probability of an inpatient fatality from a bout of severe malaria, per age-group).
group
→ scenario → healthSystem → CFR → group
<group
value=double
lowerbound=double
/>
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Lower bound
lowerbound=double
Units: Years Min: 0 Max: 100
Lower bound of age group
Probabilities of sequelae in inpatients
→ scenario → healthSystem → pSequelaeInpatient
<pSequelaeInpatient>
IN THIS ORDER:
| ( <group ... /> )+
</pSequelaeInpatient>
Documentation (element)
Units: List of elements
List of age specific probabilities of sequelae in inpatients, during a severe bout.
Replacement transmission setting (vector control not enabled)
→ scenario → interventions → timed → intervention → changeEIR
<changeEIR
eipDuration=int
>
IN THIS ORDER:
| ( <EIRDaily ... /> )+
</changeEIR>
Documentation (element)
Units: List of elements
New description of transmission setting for models without vector control interventions (included for backward compatibility)
Attributes
Duration of sporogony (days)
eipDuration=int
The duration of sporogony in days
EIRDaily
→ scenario → entoData → nonVector → EIRDaily
<EIRDaily
[ origin=string ]
>
double
</EIRDaily>
Documentation (type)
Units: Inoculations per person per day
There are two distinct ways of inputing the transmission setting. With this option, the values of daily EIR are input separately. This is only valid for models that do not invoke vector control and is retained only for backward compatibility. When multiple values are given for a single timestep they are averaged.
Attributes
Time origin of EIR sequence
origin=string
importedInfectionsPerThousandHosts
→ scenario → interventions → timed → intervention → importedInfectionsPerThousandHosts
<importedInfectionsPerThousandHosts>
double
</importedInfectionsPerThousandHosts>
Mass Drug Administration
→ scenario → interventions → timed → intervention → MDA
<MDA
[ maxAge=double ]
[ minAge=double ]
coverage=double
/>
Documentation (element)
Units: List of elements
Description of mass drug deployment in the community.
Attributes
Maximum age of eligible individuals
maxAge=double
Units: Years Min: 0 Max: 100
Maximum age of eligible individuals (defaults to 100)
Minimum age of eligible individuals
minAge=double
Units: Years Min: 0 Max: 100
Minimum age of eligible individuals (defaults to 0)
Coverage
coverage=double
Units: Proportion Min: 0 Max: 1
Coverage of intervention
Vaccination
→ scenario → interventions → timed → intervention → vaccinate
<vaccinate
[ maxAge=double ]
[ minAge=double ]
coverage=double
/>
Documentation (element)
Units: List of elements
Description of vaccine deployment in the community
Attributes
Maximum age of eligible individuals
maxAge=double
Units: Years Min: 0 Max: 100
Maximum age of eligible individuals (defaults to 100)
Minimum age of eligible individuals
minAge=double
Units: Years Min: 0 Max: 100
Minimum age of eligible individuals (defaults to 0)
Coverage
coverage=double
Units: Proportion Min: 0 Max: 1
Coverage of intervention
ITN deployment
→ scenario → interventions → timed → intervention → ITN
<ITN
[ maxAge=double ]
[ minAge=double ]
coverage=double
/>
Documentation (element)
Units: List of elements
Description of ITN deployment in the community
Attributes
Maximum age of eligible individuals
maxAge=double
Units: Years Min: 0 Max: 100
Maximum age of eligible individuals (defaults to 100)
Minimum age of eligible individuals
minAge=double
Units: Years Min: 0 Max: 100
Minimum age of eligible individuals (defaults to 0)
Coverage
coverage=double
Units: Proportion Min: 0 Max: 1
Coverage of intervention
IRS deployment
→ scenario → interventions → timed → intervention → IRS
<IRS
[ maxAge=double ]
[ minAge=double ]
coverage=double
/>
Documentation (element)
Units: List of elements
Description of IRS deployment in the community
Attributes
Maximum age of eligible individuals
maxAge=double
Units: Years Min: 0 Max: 100
Maximum age of eligible individuals (defaults to 100)
Minimum age of eligible individuals
minAge=double
Units: Years Min: 0 Max: 100
Minimum age of eligible individuals (defaults to 0)
Coverage
coverage=double
Units: Proportion Min: 0 Max: 1
Coverage of intervention
Mosquito deterrent
→ scenario → interventions → timed → intervention → VectorAvailability
<VectorAvailability
[ maxAge=double ]
[ minAge=double ]
coverage=double
/>
Documentation (element)
Units: List of elements
Description of a mosquito deterrent deployment in the community
Attributes
Maximum age of eligible individuals
maxAge=double
Units: Years Min: 0 Max: 100
Maximum age of eligible individuals (defaults to 100)
Minimum age of eligible individuals
minAge=double
Units: Years Min: 0 Max: 100
Minimum age of eligible individuals (defaults to 0)
Coverage
coverage=double
Units: Proportion Min: 0 Max: 1
Coverage of intervention
IPTi deployment
→ scenario → interventions → timed → intervention → ipti
<ipti
[ maxAge=double ]
[ minAge=double ]
coverage=double
/>
Documentation (element)
Units: List of elements
List of age groups for IPTi distribution
Attributes
Maximum age of eligible individuals
maxAge=double
Units: Years Min: 0 Max: 100
Maximum age of eligible individuals (defaults to 100)
Minimum age of eligible individuals
minAge=double
Units: Years Min: 0 Max: 100
Minimum age of eligible individuals (defaults to 0)
Coverage
coverage=double
Units: Proportion Min: 0 Max: 1
Coverage of intervention
Immune suppression deployment
→ scenario → interventions → timed → intervention → immuneSuppression
<immuneSuppression
[ maxAge=double ]
[ minAge=double ]
coverage=double
/>
Documentation (element)
Units: List of elements
Removes all exposure-related immunity gained over time by hosts without removing infections.
Hypothetical, but potentially useful to simulate scenarios with unprotected humans.
Attributes
Maximum age of eligible individuals
maxAge=double
Units: Years Min: 0 Max: 100
Maximum age of eligible individuals (defaults to 100)
Minimum age of eligible individuals
minAge=double
Units: Years Min: 0 Max: 100
Minimum age of eligible individuals (defaults to 0)
Coverage
coverage=double
Units: Proportion Min: 0 Max: 1
Coverage of intervention
Insert R_0 case
→ scenario → interventions → timed → intervention → insertR_0Case
<insertR_0Case/>
Documentation (element)
Units: List of elements
Used to simulate R_0. First, infections should be eliminated, immunity removed, and the population given an effective transmission- blocking vaccine (not done by this intervention). Then this intervention may be used to: pick one human, infect him, and remove transmission-blocking vaccine effect on this human. Thus only this one human will be a source of infections in an unprotected population.
Uninfect vectors
→ scenario → interventions → timed → intervention → uninfectVectors
<uninfectVectors/>
Documentation (element)
Units: List of elements
Removes all infections from mosquitoes -- resulting in zero EIR to humans, until such time that mosquitoes are re-infected and become infectious. Only effectious in dynamic EIR mode (when changeEIR was not used).
Hypothetical, but potentially useful to simulate a setting starting from no infections, but with enough mosquitoes to reach a set equilibrium of exposure.
larviciding
→ scenario → interventions → timed → intervention → larviciding
<larviciding>
IN THIS ORDER:
| ( <anopheles ... /> )+
</larviciding>
Documentation (element)
Simple larviciding intervention description.
anopheles
→ scenario → interventions → timed → intervention → larviciding → anopheles
<anopheles
mosquito=string
effectiveness=double
duration=int
/>
Attributes
Mosquito to be larvicided
mosquito=string
Mosquito to be larvicided
Proportionate reduction in emergence
effectiveness=double
Units: none Min: 0 Max: 1
Proportional reduction in emergence rate
Duration of activity
duration=int
Units: days Min: 0 Max: inf
Number of days for which the intervention is active.
healthSystem
→ scenario → healthSystem
<healthSystem>
IN THIS ORDER:
| EXACTLY ONE OF:
| | <EventScheduler ... />
| | <ImmediateOutcomes ... />
| <CFR ... />
| <pSequelaeInpatient ... />
</healthSystem>
Documentation (type)
Units: List of elements
Description of case management system, used to specify the initial model or a replacement (an intervention). Encompasses case management data and some other data required to derive case outcomes.
Contains a sub-element describing the particular health-system in use. Health system data is here defined as data used to decide on a treatment strategy, given a case requiring treatment.
Transmission and vector bionomics
<entoData
name=string
mode=("2" or "4")
>
IN THIS ORDER:
| EXACTLY ONE OF:
| | <nonVector ... />
| | <vector ... />
</entoData>
Documentation (element)
Units: List of elements
Description of entomological data
Attributes
Entomology dataset
name=string
Units: string
Name of entomology data
Transmission simulation mode
mode=("2" or "4")
Units: Code
Transmission simulation mode -- enter dynamic mode (4) or forced mode (2) at start of intervention period. Mode 3 (transient EIR from data provided as intervention) is set when intervention data is applied, and is no longer a valid value to specify here.
Transmission setting (vector control not enabled)
→ scenario → entoData → nonVector
<nonVector
eipDuration=int
>
IN THIS ORDER:
| ( <EIRDaily ... /> )+
</nonVector>
Documentation (element)
Units: List of elements
Description of transmission setting for models without vector control interventions (included for backward compatibility)
Attributes
Duration of sporogony (days)
eipDuration=int
The duration of sporogony in days
Transmission setting (vector control enabled)
→ scenario → entoData → vector
<vector>
IN THIS ORDER:
| ( <anopheles ... /> )+
| ( <nonHumanHosts ... /> )*
</vector>
Documentation (element)
Units: List of elements
Parameters of the transmission model.
anopheles
→ scenario → entoData → vector → anopheles
<anopheles
mosquito=string
propInfected=double
propInfectious=double
>
IN THIS ORDER:
| <eir ... />
| <mosq ... />
| ( <nonHumanHosts ... /> )*
</anopheles>
Documentation (type)
Description of input EIR for one specific vector species in terms of a Fourier approximation to the ln of the EIR during the burn in period
Attributes
Identifier for this anopheles species
mosquito=string
Initial guess of proportion of mosquitoes infected
propInfected=double
Units: Proportion Min: 0 Max: 1
Initial guess of the proportion of mosquitoes which are infected, o: O_v(t) = o*N_v(t). Only used as a starting value.
Initial guess of proportion of mosquitoes infectious
propInfectious=double
Units: Proportion Min: 0 Max: 1
Initial guess of the proportion of mosquitoes which are infectious, s: S_v(t) = s*N_v(t). Used as a starting value and then fit.
Fourier approximation to pre-intervention EIR
→ scenario → entoData → vector → anopheles → eir
<eir
a0=double
a1=double
b1=double
a2=double
b2=double
EIRRotateAngle=double
/>
Documentation (element)
Units: Inoculations per person per day
Description of target entomological inoculation rate, used to calculate the vector emergence rate. An EIR array is generated from the exponent of the inverse discrete fourier transform of these parameters.
Attributes
a0 parameter of Fourier approximation to ln(EIR)
a0=double
a1 parameter of Fourier approximation to ln(EIR)
a1=double
b1 parameter of Fourier approximation to ln(EIR)
b1=double
a2 parameter of Fourier approximation to ln(EIR)
a2=double
b2 parameter of Fourier approximation to ln(EIR)
b2=double
Rotation angle defining the origin of the Fourier approximation to ln (EIR)
EIRRotateAngle=double
Vector Species
→ scenario → entoData → vector → anopheles → mosq
<mosq
mosqRestDuration=int
extrinsicIncubationPeriod=int
mosqLaidEggsSameDayProportion=double
mosqSeekingDuration=double
mosqSurvivalFeedingCycleProbability=double
mosqProbBiting=double
mosqProbFindRestSite=double
mosqProbResting=double
mosqProbOvipositing=double
mosqHumanBloodIndex=double
minInfectedThreshold=double
/>
Documentation (element)
Units: List of elements
Vector species
Attributes
Duration of the resting period of the vector (days)
mosqRestDuration=int
Extrinsic incubation period (days)
extrinsicIncubationPeriod=int
Proportion of mosquitoes host seeking on same day as ovipositing
mosqLaidEggsSameDayProportion=double
Duration of the host-seeking period of the vector (days)
mosqSeekingDuration=double
Probability that the mosquito survives the feeding cycle
mosqSurvivalFeedingCycleProbability=double
Probability that the mosquito succesfully bites chosen host
mosqProbBiting=double
Probability that the mosquito escapes host and finds a resting place after biting
mosqProbFindRestSite=double
Probability of mosquito successfully resting after finding a resting site
mosqProbResting=double
Probability of a mosquito successfully laying eggs given that it has rested
mosqProbOvipositing=double
Human blood index
mosqHumanBloodIndex=double
The proportion of resting mosquitoes which fed on human blood during the last feed.
Min infected threshold
minInfectedThreshold=double
Min: 0
If less than this many mosquitoes remain infected, transmission is interrupted.
nonHumanHosts
→ scenario → entoData → vector → anopheles → nonHumanHosts
<nonHumanHosts
name=string
mosqRelativeEntoAvailability=double
mosqProbBiting=double
mosqProbFindRestSite=double
mosqProbResting=double
/>
Documentation (element)
Units: List of elements
Non human host parameters, per type of host (must match up with non-species-specific parameters).
Attributes
Identifier for this category of non-human hosts
name=string
Relative availability of nonhuman hosts of type i (to other nonhuman hosts)
mosqRelativeEntoAvailability=double
Probability of mosquito successfully biting host
mosqProbBiting=double
Probability that the mosquito escapes host and finds a resting place after biting
mosqProbFindRestSite=double
Probability of mosquito successfully resting after finding a resting site
mosqProbResting=double
nonHumanHosts
→ scenario → entoData → vector → nonHumanHosts
<nonHumanHosts
name=string
number=double
/>
Attributes
Species of alternative host
name=string
Units: List of elements
Name of this species of non human hosts (must match up with those described per anopheles section)
number
number=double
Pharmacokinetics and pharmacodynamics
<drugDescription>
IN THIS ORDER:
| ( <drug ... /> )+
</drugDescription>
Documentation (element)
Units: List of elements
Drug model parameters
drug
→ scenario → drugDescription → drug
<drug
abbrev=string
>
IN THIS ORDER:
| <PD ... />
| <PK ... />
</drug>
Documentation (element)
Sequence of drug descriptions forming a library of drug parameters.
Attributes
abbrev
abbrev=string
PD
→ scenario → drugDescription → drug → PD
<PD>
IN THIS ORDER:
| ( <allele ... /> )+
</PD>
allele
→ scenario → drugDescription → drug → PD → allele
<allele
name=string
>
IN THIS ORDER:
| <initial_frequency ... />
| <max_killing_rate ... />
| <IC50 ... />
| <slope ... />
</allele>
Documentation (element)
PD parameters per allele, plus initial frequency of each allele.
Note: we assume a one-to-one correspondance of drugs to loci, hence each drug has an independent set of alleles here.
Attributes
name
name=string
Relative frequency
→ scenario → drugDescription → drug → PD → allele → initial_frequency
<initial_frequency>
double
</initial_frequency>
Documentation (element)
Units: relative frequency Min: 0
Frequency, relative to the total frequency of all alleles for this drug/locus.
Maximal parasite killing rate
→ scenario → drugDescription → drug → PD → allele → max_killing_rate
<max_killing_rate>
double
</max_killing_rate>
Documentation (element)
Units: 1/days Min: 0
k1 — Maximal parasite killing rate.
IC50
→ scenario → drugDescription → drug → PD → allele → IC50
<IC50>
double
</IC50>
Documentation (element)
Units: mg/l Min: 0
Half maximal effect concentration.
Slope of effect curve
→ scenario → drugDescription → drug → PD → allele → slope
<slope>
double
</slope>
Documentation (element)
Units: no units
n — Slope of the concentration effect curve
PK
→ scenario → drugDescription → drug → PK
<PK>
IN THIS ORDER:
| <negligible_concentration ... />
| <half_life ... />
| <vol_dist ... />
</PK>
Drug concentration considered negligible
→ scenario → drugDescription → drug → PK → negligible_concentration
<negligible_concentration>
double
</negligible_concentration>
Documentation (element)
Units: mg/l Min: 0
Concentration below which drug's effects are deemed negligible and can be removed from simulation.
drug half-life
→ scenario → drugDescription → drug → PK → half_life
<half_life>
double
</half_life>
Documentation (element)
Units: days Min: 0
Used to calculate elimination rate (which is: ln(2) / half_life).
Volume of Distribution
→ scenario → drugDescription → drug → PK → vol_dist
<vol_dist>
double
</vol_dist>
Documentation (element)
Units: l/kg Min: 0
Volume of Distribution
Model options and parameters
<model>
IN THIS ORDER:
| <ModelOptions ... />
| <clinical ... />
| <parameters ... />
</model>
Documentation (element)
Units: List of elements
Encapsulation of all parameters which describe the model according to which fitting is done.
Model Options
→ scenario → model → ModelOptions
<ModelOptions>
IN THIS ORDER:
| ( <option ... /> )*
</ModelOptions>
Documentation (element)
Units: List of elements
All model options (bug fixes, choices between models, etc.).
The list of recognised options can be found in the code at:
include/util/ModelOptions.hpp and should also be in the wiki.
clinical
<clinical
healthSystemMemory=int
/>
Documentation (type)
Units: List of elements
Description of clinical parameters.
This is related to the health-system description, but contains data which can't be changed as part of an intervention and is not restricted to treatment.
Attributes
Follow-up period during which recurrence is treated as a failure
healthSystemMemory=int
Units: Time steps Min: 1 Max: 100
Follow-up period during which a recurrence is considered to be a treatment failure
Parameters of the model of epidemiology
→ scenario → model → parameters
<parameters
interval=int
iseed=int
latentp=int
>
IN THIS ORDER:
| ( <parameter ... /> )+
</parameters>
Documentation (element)
Units: List of elements
Parameters of the epidemiological model
Attributes
Simulation step
interval=int
Units: Days
Simulation step
Random number seed
iseed=int
Units: Number
Seed for RNG
Pre-erythrocytic latent period
latentp=int
Units: Time steps Min: 0 Max: 20
pre-erythrocytic latent period, in time steps
parameter
→ scenario → model → parameters → parameter
<parameter
name=string
number=int
value=double
[ include=boolean ]
/>
Attributes
Name of parameter
name=string
Units: string
Name of parameter
Parameter number
number=int
Units: Number Min: 1 Max: 100
Reference number of input parameter
Parameter value
value=double
Units: Number Min: 0
Parameter value
Sampling indicator
include=boolean
Units: Number Min: 0 Max: 1
True if parameter is to be sampled in optimization runs. Not used in simulator app.
Schema 19 documentation
Generated from: scenario_19.xsd
.
Key:
abc required (one)
[ def ] optional (zero or one)
( ghi )* any number (zero or more)
( jkl )+ at least one
( mno ){2,inf} two or more occurrences
Scenario
→ scenario
<scenario
schemaVersion=int
analysisNo=int
name=string
wuID=int
assimMode=("0" or "1")
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:noNamespaceSchemaLocation="scenario_19.xsd"
>
IN THIS ORDER:
| <demography ... />
| <monitoring ... />
| <interventions ... />
| <healthSystem ... />
| <entoData ... />
| [ <drugDescription ... /> ]
| <model ... />
</scenario>
Documentation (element)
Units: List of elements
Description of scenario
Attributes
Version of the xml schema
schemaVersion=int
Version of xml schema. If not equal to the current version an error is thrown. Use SchemaTranslator to update xml files.
Reference number of the analysis
analysisNo=int
Units: Number Min: 1 Max: 100000000
Unique identifier of scenario
Name of intervention
name=string
Units: string
Name of intervention
Work unit identifier
wuID=int
Units: Number Min: 1 Max: 100000000
Work unit ID. Only used to validate checkpointing, to prevent checkpoint cheats.
Assimilator mode
assimMode=("0" or "1")
Units: Code
Assimilator mode. Defines output of simulator as either complete (columns: time,agegroup,measure,value) or minimal (single column: value)
Human age distribution
→ scenario → demography
<demography
name=string
popSize=int
maximumAgeYrs=double
[ growthRate=double ]
>
IN THIS ORDER:
| <ageGroup ... />
</demography>
Documentation (element)
Units: List of elements
Description of demography
Attributes
Name of demography data
name=string
Units: string
Name of demography data
Population size
popSize=int
Units: Count Min: 1 Max: 100000
Population size
Maximum age of simulated humans
maximumAgeYrs=double
Units: Number Min: 0 Max: 100
Maximum age of simulated humans
Growth rate of human population
growthRate=double
Units: Number Min: 0 Max: 0
Growth rate of human population. (we should be able to implement this with non-zero values)
Age groups
→ scenario → demography → ageGroup
<ageGroup
lowerbound=double
>
IN THIS ORDER:
| ( <group ... /> )+
</ageGroup>
Documentation (element)
Units: List of elements
List of age groups included in demography
Documentation (type)
Units: List of elements
List of age groups included in demography or surveys
Attributes
lower bound of age group
lowerbound=double
Units: Years Min: 0 Max: 100
Lower bound of age group
group
→ scenario → demography → ageGroup → group
<group
poppercent=double
upperbound=double
/>
Attributes
Percentage in age group
poppercent=double
Percentage of human population in age group
upper bound of age group
upperbound=double
Units: Years Min: 0 Max: 100
Upper bound of age group
Measures to be reported
→ scenario → monitoring
<monitoring
name=string
>
IN THIS ORDER:
| [ <continuous ... /> ]
| <SurveyOptions ... />
| <surveys ... />
| <ageGroup ... />
</monitoring>
Documentation (element)
Units: List of elements
Description of surveys
Attributes
name of monitoring information
name=string
Units: string
Name of monitoring data
continuous
→ scenario → monitoring → continuous
<continuous
period=int
>
IN THIS ORDER:
| ( <option ... /> )*
</continuous>
Attributes
Days between reports
period=int
Units: Days Min: 1 Max: unbounded
Number of days between reports.
option
→ scenario → monitoring → continuous → option
<option
name=string
value=boolean
/>
Attributes
Model options required
name=string
Options define different model structures. Option name. Must be one of a strictly defined set. Options are not required to be listed if their default value is desired.
Indicator of whether option is required
value=boolean
Option value (true/false). Each option has a default value used if the option is not listed (usually false but sometimes true).
Name of quantity
→ scenario → monitoring → SurveyOptions
<SurveyOptions>
IN THIS ORDER:
| ( <option ... /> )*
</SurveyOptions>
Documentation (element)
List of all active survey options. See include/Survey.h for a list of supported outputs. Should also be on the wiki.
Survey times (time steps)
→ scenario → monitoring → surveys
<surveys
detectionLimit=double
>
IN THIS ORDER:
| <surveyTime ... />
</surveys>
Documentation (element)
Units: List of elements
List of survey times
Attributes
Detection limit for parasitaemia
detectionLimit=double
Units: parasites/micolitre Min: 0 Max: 1000
Detection limit for parasitemia
Survey time
→ scenario → monitoring → surveys → surveyTime
<surveyTime>
int
</surveyTime>
Documentation (element)
Units: Number Min: 0
Survey time; 0 means just before start of main sim and is a valid survey-point. Reported data is either from a point-time survey (immediate data) or is collected over the previous year (data from previous timesteps-per-year period). Simulation will end immediately after last survey is taken.
Age groups
→ scenario → monitoring → ageGroup
<ageGroup
lowerbound=double
>
IN THIS ORDER:
| ( <group ... /> )+
</ageGroup>
Documentation (element)
Units: List of elements
List of age groups included in demography or surveys
Documentation (type)
Units: List of elements
List of age groups included in surveys
Attributes
lower bound of age group
lowerbound=double
Units: Years Min: 0 Max: 100
Lower bound of age group
group
→ scenario → monitoring → ageGroup → group
<group
upperbound=double
/>
Attributes
upper bound of age group
upperbound=double
Units: Years Min: 0 Max: 100
Upper bound of age group
Preventative interventions
<interventions
name=string
>
IN THIS ORDER:
| [ <MDADescription ... /> ]
| ( <vaccineDescription ... /> ){0,3}
| [ <iptiDescription ... /> ]
| ( <anopheles ... /> )*
| [ <continuous ... /> ]
| [ <timed ... /> ]
</interventions>
Documentation (element)
Units: List of elements
List of interventions. Generally these are either point-time distributions of something to some subset of the population, or continuous-time distribution targetting individuals when they reach a certain age.
Attributes
Intervention
name=string
Units: string
Name of age specific intervention
Drug dose(s) used in MDA
→ scenario → interventions → MDADescription
<MDADescription>
IN THIS ORDER:
| [ <schedule ... /> ]
</MDADescription>
Documentation (element)
Units: List of medicate elements
Description of drug dose(s) used in a mass-drug-administration intervention.
When using the new (Event Scheduler) case management model, a treatment schedule must be present.
schedule
→ scenario → interventions → MDADescription → schedule
<schedule>
IN THIS ORDER:
| ( <medicate ... /> )*
</schedule>
Documentation (type)
The base (unmodified) schedule of drugs administered for this treatment.
medicate
→ scenario → interventions → MDADescription → schedule → medicate
<medicate
drug=string
mg=double
hour=double
/>
Attributes
drug
drug=string
Units: string
Abbreviated name of drug compound
drug dose (TODO is this correct?)
mg=double
Units: mg
Quantity of drug compound
time of administration
hour=double
Units: hours Min: 0
Number of hours past start of timestep this drug dose is administered at (first dose should be at hour 0).
vaccineDescription
→ scenario → interventions → vaccineDescription
<vaccineDescription
vaccineType=int
>
IN THIS ORDER:
| <halfLifeYrs ... />
| <efficacyB ... />
| ( <initialEfficacy ... /> )+
</vaccineDescription>
Attributes
Type of vaccine
vaccineType=int
Units: Code
Type of vaccine
Half life of drug effect
→ scenario → interventions → vaccineDescription → halfLifeYrs
<halfLifeYrs
value=double
/>
Documentation (element)
Units: Years Min: 0 Max: 100
Half life of drug effect
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Variance parameter for vaccine efficacy
→ scenario → interventions → vaccineDescription → efficacyB
<efficacyB
value=double
/>
Documentation (element)
Units: Positive real Min: 0.001 Max: 1.00E+06
Measure of variation in vaccine efficacy
Attributes
Input parameter value
value=double
A double-precision floating-point value.
initialEfficacy
→ scenario → interventions → vaccineDescription → initialEfficacy
<initialEfficacy
value=double
/>
Attributes
Input parameter value
value=double
A double-precision floating-point value.
iptiDescription
→ scenario → interventions → iptiDescription
<iptiDescription
iptiEffect=int
>
IN THIS ORDER:
| ( <infGenotype ... /> )+
</iptiDescription>
Attributes
iptiEffect
iptiEffect=int
infGenotype
→ scenario → interventions → iptiDescription → infGenotype
<infGenotype
name=string
freq=double
ACR=double
proph=int
tolPeriod=int
atten=double
/>
Attributes
Age specific intervention
name=string
Units: string
Name of age specific intervention
Frequency
freq=double
Frequency of parasite genotype
ACR
ACR=double
Adequate clinical response (proportion)
Prophylactic period
proph=int
Prophylactic period
Tolerance period
tolPeriod=int
Tolerance period
Tolerance period
atten=double
Tolerance period
anopheles
→ scenario → interventions → anopheles
<anopheles
mosquito=string
>
IN THIS ORDER:
| [ <ITNDescription ... /> ]
| [ <IRSDescription ... /> ]
| [ <VADescription ... /> ]
</anopheles>
Attributes
Entomological effects of interventions
mosquito=string
Description of the entomological effects of interventions
ITNDescription
→ scenario → interventions → anopheles → ITNDescription
<ITNDescription
name=string
>
IN THIS ORDER:
| <deterrency ... />
| <preprandialKillingEffect ... />
| <postprandialKillingEffect ... />
</ITNDescription>
Attributes
ITN effects
name=string
Units: string
Name of Insecticide Treated Net intervention
Deterrency
→ scenario → interventions → anopheles → ITNDescription → deterrency
<deterrency
initial=double
halflife=double
[ Weibullk=double ]
/>
Documentation (element)
Units: None Min: 0 Max: 1
One minus this multiplies the host's availability (before decay).
Documentation (type)
Specification of a proportion with Weibull or exponential decay.
Attributes
Initial proportion
initial=double
Units: None Min: 0 Max: 1
The value before any decay.
half-life
halflife=double
Units: Years Min: 0
Half-life in years (more generally, halflife/ln(2) is lambda from the Weibull distribution).
Weibull k parameter
Weibullk=double
Min: 0
The parameter k of the Weibull distribution. If missing, 1.0 is used (equivalent to exponential decay).
Pre-prandial killing effect
→ scenario → interventions → anopheles → ITNDescription → preprandialKillingEffect
<preprandialKillingEffect
initial=double
halflife=double
[ Weibullk=double ]
/>
Documentation (element)
Units: None Min: 0 Max: 1
One minus this multiplies the survival rate of mosquitoes attempting to bite a host.
Documentation (type)
Specification of a proportion with Weibull or exponential decay.
Attributes
Initial proportion
initial=double
Units: None Min: 0 Max: 1
The value before any decay.
half-life
halflife=double
Units: Years Min: 0
Half-life in years (more generally, halflife/ln(2) is lambda from the Weibull distribution).
Weibull k parameter
Weibullk=double
Min: 0
The parameter k of the Weibull distribution. If missing, 1.0 is used (equivalent to exponential decay).
Post-prandial killing effect
→ scenario → interventions → anopheles → ITNDescription → postprandialKillingEffect
<postprandialKillingEffect
initial=double
halflife=double
[ Weibullk=double ]
/>
Documentation (element)
Units: None Min: 0 Max: 1
One minus this multiplies the survival rate of mosquitoes attempting to escape after biting a host.
Documentation (type)
Specification of a proportion with Weibull or exponential decay.
Attributes
Initial proportion
initial=double
Units: None Min: 0 Max: 1
The value before any decay.
half-life
halflife=double
Units: Years Min: 0
Half-life in years (more generally, halflife/ln(2) is lambda from the Weibull distribution).
Weibull k parameter
Weibullk=double
Min: 0
The parameter k of the Weibull distribution. If missing, 1.0 is used (equivalent to exponential decay).
IRSDescription
→ scenario → interventions → anopheles → IRSDescription
<IRSDescription
name=string
>
IN THIS ORDER:
| <deterrency ... />
| <killingEffect ... />
</IRSDescription>
Attributes
name of IRS intervention
name=string
Units: string
Name of Indoor Residual Spraying intervention
Deterrency
→ scenario → interventions → anopheles → IRSDescription → deterrency
<deterrency
initial=double
halflife=double
[ Weibullk=double ]
/>
Documentation (element)
Units: None Min: 0 Max: 1
One minus this multiplies the host's availability.
Documentation (type)
Specification of a proportion with Weibull or exponential decay.
Attributes
Initial proportion
initial=double
Units: None Min: 0 Max: 1
The value before any decay.
half-life
halflife=double
Units: Years Min: 0
Half-life in years (more generally, halflife/ln(2) is lambda from the Weibull distribution).
Weibull k parameter
Weibullk=double
Min: 0
The parameter k of the Weibull distribution. If missing, 1.0 is used (equivalent to exponential decay).
killing effect
→ scenario → interventions → anopheles → IRSDescription → killingEffect
<killingEffect
initial=double
halflife=double
[ Weibullk=double ]
/>
Documentation (element)
Units: None Min: 0 Max: 1
One minus this multiplies the survival rate of resting mosquitoes.
Documentation (type)
Specification of a proportion with Weibull or exponential decay.
Attributes
Initial proportion
initial=double
Units: None Min: 0 Max: 1
The value before any decay.
half-life
halflife=double
Units: Years Min: 0
Half-life in years (more generally, halflife/ln(2) is lambda from the Weibull distribution).
Weibull k parameter
Weibullk=double
Min: 0
The parameter k of the Weibull distribution. If missing, 1.0 is used (equivalent to exponential decay).
VADescription
→ scenario → interventions → anopheles → VADescription
<VADescription
name=string
>
IN THIS ORDER:
| <deterrency ... />
</VADescription>
Attributes
Name of mosquito deterrency intervention
name=string
Units: string
Name of mosquito deterrency intervention
Deterrency
→ scenario → interventions → anopheles → VADescription → deterrency
<deterrency
initial=double
halflife=double
[ Weibullk=double ]
/>
Documentation (element)
Units: None Min: 0 Max: 1
One minus this multiplies the host's availability.
Documentation (type)
Specification of a proportion with Weibull or exponential decay.
Attributes
Initial proportion
initial=double
Units: None Min: 0 Max: 1
The value before any decay.
half-life
halflife=double
Units: Years Min: 0
Half-life in years (more generally, halflife/ln(2) is lambda from the Weibull distribution).
Weibull k parameter
Weibullk=double
Min: 0
The parameter k of the Weibull distribution. If missing, 1.0 is used (equivalent to exponential decay).
Continuously applied interventions
→ scenario → interventions → continuous
<continuous>
IN THIS ORDER:
| ( <vaccine ... /> )*
| ( <ITN ... /> )*
| ( <ipti ... /> )*
</continuous>
List of age groups for vaccination
→ scenario → interventions → continuous → vaccine
<vaccine
targetAgeYrs=double
coverage=double
/>
Documentation (element)
Units: List of elements
List of age groups for vaccination
Attributes
Target age
targetAgeYrs=double
Units: Years Min: 0 Max: 100
Target age of intervention
Proportion covered
coverage=double
Units: Proportion Min: 0 Max: 1
Coverage of intervention
Description of ITN deployment
→ scenario → interventions → continuous → ITN
<ITN
targetAgeYrs=double
coverage=double
/>
Documentation (element)
Units: List of elements
Description of ITN deployment in the community
Attributes
Target age
targetAgeYrs=double
Units: Years Min: 0 Max: 100
Target age of intervention
Proportion covered
coverage=double
Units: Proportion Min: 0 Max: 1
Coverage of intervention
List of age groups for IPTi
→ scenario → interventions → continuous → ipti
<ipti
targetAgeYrs=double
coverage=double
/>
Documentation (element)
Units: List of elements
List of age groups for IPTi distribution
Attributes
Target age
targetAgeYrs=double
Units: Years Min: 0 Max: 100
Target age of intervention
Proportion covered
coverage=double
Units: Proportion Min: 0 Max: 1
Coverage of intervention
Timed interventions
→ scenario → interventions → timed
<timed>
IN THIS ORDER:
| ( <intervention ... /> )+
</timed>
Documentation (element)
Units: List of elements
List of timed interventions
Documentation (type)
Units: List of elements
List of timed interventions
intervention
→ scenario → interventions → timed → intervention
<intervention
time=int
>
IN THIS ORDER:
| [ <changeHS ... /> ]
| [ <changeEIR ... /> ]
| [ <importedInfectionsPerThousandHosts ... /> ]
| [ <MDA ... /> ]
| [ <vaccinate ... /> ]
| [ <ITN ... /> ]
| [ <IRS ... /> ]
| [ <VectorAvailability ... /> ]
| [ <ipti ... /> ]
| [ <immuneSuppression ... /> ]
| [ <insertR_0Case ... /> ]
| [ <uninfectVectors ... /> ]
| [ <larviciding ... /> ]
</intervention>
- changeHS
- changeEIR
- importedInfectionsPerThousandHosts
- MDA
- vaccinate
- ITN
- IRS
- VectorAvailability
- ipti
- immuneSuppression
- insertR_0Case
- uninfectVectors
- larviciding
Attributes
Time step of intervention
time=int
Units: Number Min: 1 Max: 10000
Time step of intervention
changeHS
→ scenario → interventions → timed → intervention → changeHS
<changeHS>
IN THIS ORDER:
| EXACTLY ONE OF:
| | <EventScheduler ... />
| | <ImmediateOutcomes ... />
| <CFR ... />
</changeHS>
Documentation (type)
Units: List of elements
Description of case management system, used to specify the initial model or a replacement (an intervention). Encompasses case management data and some other data required to derive case outcomes.
Contains a sub-element describing the particular health-system in use. Health system data is here defined as data used to decide on a treatment strategy, given a case requiring treatment.
EventScheduler
→ scenario → healthSystem → EventScheduler
<EventScheduler>
IN THIS ORDER:
| <uncomplicated ... />
| <complicated ... />
| <ClinicalOutcomes ... />
</EventScheduler>
uncomplicated
→ scenario → healthSystem → EventScheduler → uncomplicated
<uncomplicated>
IN THIS ORDER:
| <decisions ... />
| <treatments ... />
</uncomplicated>
Documentation (type)
Units: List of elements
A set of decisions and a set of treatments.
decisions
→ scenario → healthSystem → EventScheduler → uncomplicated → decisions
<decisions>
IN THIS ORDER:
| ( <decision ... /> )*
</decisions>
Documentation (type)
Description of decisions for a case management tree. A generic view of this tree would be that each decision is deterministic, or based on probabilities which may depend on other decisions. Probabilistic decisions are described here.
In general, each decision has a name, a defined set of outcome values, and a set of dependent decisions mentioned by name. The following decisions, with their associated outcomes, are provided by the code (and may not be included here):
- age5Test: tests the patient's age and returns "under5" or "over5".
- case (uncomplicated only): Returns "UC1" if there is no recent history of a malarial case, or "UC2" if there is.
- result (uncomplicated only): Dependent on decision "test", this performs a parasite density test. Output is one of "none" (no test performed), "positive", "negative".
The following decisions must be described here:
- test (uncomplicated only): Outputs must be "none", "microscopy" or "RDT" to describe which test the "result" decision uses.
- treatment: Describes which treatment to use. Values aren't restricted but must match up with a treatment described in the corresponding "treatments" section.
decision
→ scenario → healthSystem → EventScheduler → uncomplicated → decisions → decision
<decision
name=string
depends=string
values=string
>
string
</decision>
Documentation (type)
A decision describes how to choose between a set of values.
Lexically, it can contain symbols matching "[_.a-zA-Z0-9]+", round brackets: (), braces: {} and colons. Whitespace is ignored except to separate symbols.
Syntactically, it must match one TREE, where SYMBOL is a symbol described above. (Here, "x|y" means x or y, "x+" means x occurs once or more, brackets show grouping.) TREE := BRANCH_SET | OUTCOME BRANCH_SET := BRANCH+ BRANCH := DECISION '(' VALUE ')' ( ':' OUTCOME | '{' TREE '}' ) OUTCOME, DECISION, VALUE := SYMBOL
For each BRANCH_SET each BRANCH must have the same DECISION. This DECISION must be one of the dependencies mentioned in "depends". This may be:
- another decision, in which case the VALUE immediately following in brackets must correspond to one of its output values. The BRANCH_SET immediately containing this BRANCH must represent each output value of the same decision exactly once, and no parent BRANCH_SET may be for the same DECISION.
- "p": this indicates a probabilistic decision. In this case the value is a probability, the sum of all values for the BRANCH_SET must be 1 and the decision must be associated directly with OUTCOMEs (not sub-TREEs).
- "age": this indicates an age-test. The VALUE must have the form "a-b", indicating that this branch will be taken for individuals aged such that a <= age < b, where a,b are non-negative real numbers or the special value "inf", and a <= b. All VALUEs in the BRANCH_SET must cover all possible (non-negative real) ages, with no overlap (hence, smallest a must be 0 and greatest b must be inf).
Semantically, each OUTCOME must be one of the values associated with this decision.
Attributes
Name of decision
name=string
The name of this decision. The name must match the regular expression "[_a-zA-Z0-9]+"; that is it can only contain letters, digits and _ characters (no spaces, punctuation, etc.).
Preceding decisions
depends=string
A comma-separated list of decisions that must have already been evaluated before this decision can be evaluated. Can be empty. Each must be hard-coded or described here. Can include the special decisions "p" and "age", though "age" cannot be combined with any other dependency.
Outcome values
values=string
A comma-separated list of outcome values this decision may have. The name of each value must be of the same form as decision names (i.e. only contain letters, digits and _ characters).
treatments
→ scenario → healthSystem → EventScheduler → uncomplicated → treatments
<treatments>
IN THIS ORDER:
| ( <treatment ... /> )*
</treatments>
Documentation (type)
Units: string
A list of drug treatment tables. Each should have a name corresponding to one of the "drug" decision's values.
treatment
→ scenario → healthSystem → EventScheduler → uncomplicated → treatments → treatment
<treatment
name=string
>
IN THIS ORDER:
| <schedule ... />
| ( <modifier ... /> )*
</treatment>
Documentation (type)
A description of a base treatment schedule along with modifiers to handle delays, quality variations, etc.
Attributes
Treatment administered
name=string
Units: string
Name corresponding to one of the drug decision's output values.
schedule
→ scenario → healthSystem → EventScheduler → uncomplicated → treatments → treatment → schedule
<schedule>
IN THIS ORDER:
| ( <medicate ... /> )*
</schedule>
Documentation (type)
The base (unmodified) schedule of drugs administered for this treatment.
modifier
→ scenario → healthSystem → EventScheduler → uncomplicated → treatments → treatment → modifier
<modifier
decision=string
>
EXACTLY ONE OF:
| ( <multiplyQty ... /> )*
| ( <delay ... /> )*
| ( <selectTimeRange ... /> )*
</modifier>
Documentation (type)
A modifier for this treatment, according to the outputs of a decision.
The "decision" attribute must be the name of a known decision. Then, there must be a set of multipyQty, delay or selectTimeRange sub-elements, each of which corresponds to one value output of the decision.
Attributes
decision
decision=string
Units: string
Specifies the decision that this modifier acts on.
multiplyQty
→ scenario → healthSystem → EventScheduler → uncomplicated → treatments → treatment → modifier → multiplyQty
<multiplyQty
value=string
effect=string
[ affectsCost=boolean ]
/>
Documentation (element)
Multiplies the quantity of active ingredients of drugs administered.
The "drugs" attribute is a comma-separated list of all active ingredients administered in the base schedule (each must be listed once) and the content of this element is a comma- separated list of multipliers for each active ingredient, listed in the same order as in the "drugs" attribute. E.g. with drugs="A,B" and content "0.5,1" the quantity of drug A is halved while that of B is unchanged.
Attributes
value of decision
value=string
Units: string
Specifies a value of the decision to act on.
List of drugs affected
effect=string
Units: string
Comma-separated list of the effect the modifier has on each drug, in the form DRUG1(EFFECT1),DRUG2(EFFECT2), etc.
Affects cost?
affectsCost=boolean
Units: none
Does this affect the cost? If false, the effective drug usage (w.r.t. cost) is unaffected by this modifier; if true it is. Defaults to true (if omitted). Is meaningless for delays.
delay
→ scenario → healthSystem → EventScheduler → uncomplicated → treatments → treatment → modifier → delay
<delay
value=string
effect=string
[ affectsCost=boolean ]
/>
Documentation (element)
Delays administration of drugs listed in the base schedule by so many hours.
The "drugs" attribute is a comma-separated list of all active ingredients administered in the base schedule (each must be listed once) and the content of this element is a comma- separated list of delays (in hours) for each active ingredient, listed in the same order as in the "drugs" attribute. E.g. with drugs="A,B" and content "0,6", drug A is administered as in the base schedule while drug B is administered 6 hours later than specified.
Attributes
value of decision
value=string
Units: string
Specifies a value of the decision to act on.
List of drugs affected
effect=string
Units: string
Comma-separated list of the effect the modifier has on each drug, in the form DRUG1(EFFECT1),DRUG2(EFFECT2), etc.
Affects cost?
affectsCost=boolean
Units: none
Does this affect the cost? If false, the effective drug usage (w.r.t. cost) is unaffected by this modifier; if true it is. Defaults to true (if omitted). Is meaningless for delays.
selectTimeRange
→ scenario → healthSystem → EventScheduler → uncomplicated → treatments → treatment → modifier → selectTimeRange
<selectTimeRange
value=string
effect=string
[ affectsCost=boolean ]
/>
Documentation (element)
Selects which drug doses to administer according to time of administration (before times are modified by delays).
The "drugs" attribute is a comma-separated list of all active ingredients administered in the base schedule (each must be listed once) and the content of this element is a comma- separated list of time-ranges (in hours) for each active ingredient, listed in the same order as in the "drugs" attribute. The time-ranges should be of the form x-y and are interpreted as the half-open interval [x,y); that is a drug listed with time t will only be administered if x <= t < y.
Attributes
value of decision
value=string
Units: string
Specifies a value of the decision to act on.
List of drugs affected
effect=string
Units: string
Comma-separated list of the effect the modifier has on each drug, in the form DRUG1(EFFECT1),DRUG2(EFFECT2), etc.
Affects cost?
affectsCost=boolean
Units: none
Does this affect the cost? If false, the effective drug usage (w.r.t. cost) is unaffected by this modifier; if true it is. Defaults to true (if omitted). Is meaningless for delays.
complicated
→ scenario → healthSystem → EventScheduler → complicated
<complicated>
IN THIS ORDER:
| <decisions ... />
| <treatments ... />
</complicated>
Documentation (type)
Units: List of elements
A set of decisions and a set of treatments.
ClinicalOutcomes
→ scenario → healthSystem → EventScheduler → ClinicalOutcomes
<ClinicalOutcomes>
IN THIS ORDER:
| <maxUCSeekingMemory ... />
| <uncomplicatedCaseDuration ... />
| <complicatedCaseDuration ... />
| <complicatedRiskDuration ... />
| <pImmediateUC ... />
</ClinicalOutcomes>
- maxUCSeekingMemory
- uncomplicatedCaseDuration
- complicatedCaseDuration
- complicatedRiskDuration
- pImmediateUC
Documentation (type)
Description of base parameters of the clinical model.
Max UC treatment-seeking memory
→ scenario → healthSystem → EventScheduler → ClinicalOutcomes → maxUCSeekingMemory
<maxUCSeekingMemory>
int
</maxUCSeekingMemory>
Documentation (element)
Units: days Min: 0 Max: unbounded
Maximum number of timesteps (including first of case) an individual will remember they are sick before resetting.
Uncomplicated case duration
→ scenario → healthSystem → EventScheduler → ClinicalOutcomes → uncomplicatedCaseDuration
<uncomplicatedCaseDuration>
int
</uncomplicatedCaseDuration>
Documentation (element)
Units: days Min: 1 Max: unbounded
Fixed length of an uncomplicated case of malarial/non-malarial sickness (from treatment seeking until return to life-as-usual). Usually 3.
Complicated case duration
→ scenario → healthSystem → EventScheduler → ClinicalOutcomes → complicatedCaseDuration
<complicatedCaseDuration>
int
</complicatedCaseDuration>
Documentation (element)
Units: days Min: 1 Max: unbounded
Fixed length of a complicated/severe case of malaria (from treatment seeking until return to life-as-usual).
Complicated risk duration
→ scenario → healthSystem → EventScheduler → ClinicalOutcomes → complicatedRiskDuration
<complicatedRiskDuration>
int
</complicatedRiskDuration>
Documentation (element)
Units: days Min: 1 Max: unbounded
Number of days for which humans are at risk of death during a severe or complicated case of malaria. Cannot be greater than the duration of a complicated case or less than 1 day.
Probability of immediate UC treatment seeking
→ scenario → healthSystem → EventScheduler → ClinicalOutcomes → pImmediateUC
<pImmediateUC>
double
</pImmediateUC>
Documentation (element)
Units: none Min: 0 Max: 1
Probability that UC treatment seeking will be done immediately when sick, on second day given that it wasn't done on first, etc.
ImmediateOutcomes
→ scenario → healthSystem → ImmediateOutcomes
<ImmediateOutcomes
name=string
>
IN THIS ORDER:
| <drugRegimen ... />
| <initialACR ... />
| <compliance ... />
| <nonCompliersEffective ... />
| <pSeekOfficialCareUncomplicated1 ... />
| <pSelfTreatUncomplicated ... />
| <pSeekOfficialCareUncomplicated2 ... />
| <pSeekOfficialCareSevere ... />
| <pSequelaeInpatient ... />
</ImmediateOutcomes>
- drugRegimen
- initialACR
- compliance
- nonCompliersEffective
- pSeekOfficialCareUncomplicated1
- pSelfTreatUncomplicated
- pSeekOfficialCareUncomplicated2
- pSeekOfficialCareSevere
- pSequelaeInpatient
Documentation (type)
Units: List of elements
Description of "immediate outcomes" health system: Tediosi et al case management model (Case management as described in AJTMH 75 (suppl 2) pp90-103).
Attributes
Case Management model
name=string
Units: string
Name of health system
Description of drug regimen
→ scenario → healthSystem → ImmediateOutcomes → drugRegimen
<drugRegimen
firstLine=string
secondLine=string
inpatient=string
/>
Documentation (element)
Units: List of elements
Description of drug regimen
Attributes
First line drug
firstLine=string
Units: Drug code
Code for first line drug
Second line drug
secondLine=string
Units: Drug code
Code for second line drug
Drug use for treating inpatients
inpatient=string
Units: Drug code
Code for drug used for treating inpatients
Initial cure rate
→ scenario → healthSystem → ImmediateOutcomes → initialACR
<initialACR>
IN THIS ORDER:
| [ <CQ ... /> ]
| [ <SP ... /> ]
| [ <AQ ... /> ]
| [ <SPAQ ... /> ]
| [ <ACT ... /> ]
| [ <QN ... /> ]
| <selfTreatment ... />
</initialACR>
Documentation (element)
Units: Proportion Min: 0 Max: 1
Initial cure rate
Chloroquine
→ scenario → healthSystem → ImmediateOutcomes → initialACR → CQ
<CQ
value=double
/>
Documentation (element)
Units: List of elements
Chloroquine
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Sulphadoxine-pyrimethamine
→ scenario → healthSystem → ImmediateOutcomes → initialACR → SP
<SP
value=double
/>
Documentation (element)
Units: List of elements
Sulphadoxine-pyrimethamine
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Amodiaquine
→ scenario → healthSystem → ImmediateOutcomes → initialACR → AQ
<AQ
value=double
/>
Documentation (element)
Units: List of elements
Amodiaquine
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Sulphadoxine-pyrimethamine/Amodiaquine
→ scenario → healthSystem → ImmediateOutcomes → initialACR → SPAQ
<SPAQ
value=double
/>
Documentation (element)
Units: List of elements
Sulphadoxine-pyrimethamine/Amodiaquine
Attributes
Input parameter value
value=double
A double-precision floating-point value.
ACT
→ scenario → healthSystem → ImmediateOutcomes → initialACR → ACT
<ACT
value=double
/>
Documentation (element)
Units: List of elements
Artemisinine combination therapy
Attributes
Input parameter value
value=double
A double-precision floating-point value.
QN
→ scenario → healthSystem → ImmediateOutcomes → initialACR → QN
<QN
value=double
/>
Documentation (element)
Units: List of elements
Quinine
Attributes
Input parameter value
value=double
A double-precision floating-point value.
selfTreatment
→ scenario → healthSystem → ImmediateOutcomes → initialACR → selfTreatment
<selfTreatment
value=double
/>
Documentation (element)
Units: Proportion Min: 0 Max: 1
Probability of self-treatment
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Adherence to treatment
→ scenario → healthSystem → ImmediateOutcomes → compliance
<compliance>
IN THIS ORDER:
| [ <CQ ... /> ]
| [ <SP ... /> ]
| [ <AQ ... /> ]
| [ <SPAQ ... /> ]
| [ <ACT ... /> ]
| [ <QN ... /> ]
| <selfTreatment ... />
</compliance>
Documentation (element)
Units: Proportion Min: 0 Max: 1
Adherence to treatment
Effectiveness of treatment in non-adherent patients
→ scenario → healthSystem → ImmediateOutcomes → nonCompliersEffective
<nonCompliersEffective>
IN THIS ORDER:
| [ <CQ ... /> ]
| [ <SP ... /> ]
| [ <AQ ... /> ]
| [ <SPAQ ... /> ]
| [ <ACT ... /> ]
| [ <QN ... /> ]
| <selfTreatment ... />
</nonCompliersEffective>
Documentation (element)
Units: Proportion Min: 0 Max: 1
Effectiveness of treatment of non compliers
Probability that a patient with uncomplicated disease seeks official care immediately
→ scenario → healthSystem → ImmediateOutcomes → pSeekOfficialCareUncomplicated1
<pSeekOfficialCareUncomplicated1
value=double
/>
Documentation (element)
Units: Proportion Min: 0 Max: 1
Probability that a patient with newly incident uncomplicated disease seeks official care
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Probability that a patient with uncomplicated disease self-treats
→ scenario → healthSystem → ImmediateOutcomes → pSelfTreatUncomplicated
<pSelfTreatUncomplicated
value=double
/>
Documentation (element)
Units: Proportion Min: 0 Max: 1
Probability that a patient with uncomplicated disease self-treats
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Probability that a recurring patient seeks official care
→ scenario → healthSystem → ImmediateOutcomes → pSeekOfficialCareUncomplicated2
<pSeekOfficialCareUncomplicated2
value=double
/>
Documentation (element)
Units: Proportion Min: 0 Max: 1
Probability that a patient with recurrence of uncomplicated disease seeks official care
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Probability that a patient with severe disease obtains appropriate care
→ scenario → healthSystem → ImmediateOutcomes → pSeekOfficialCareSevere
<pSeekOfficialCareSevere
value=double
/>
Documentation (element)
Units: Proportion Min: 0 Max: 1
Probability that a patient with severe disease obtains appropriate care
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Probabilities of sequelae in inpatients
→ scenario → healthSystem → ImmediateOutcomes → pSequelaeInpatient
<pSequelaeInpatient>
IN THIS ORDER:
| ( <item ... /> )+
</pSequelaeInpatient>
Documentation (element)
Units: List of elements
List of age specific probabilities of sequelae in inpatients.
Note: previously these ranges were silently remapped. To prevent unexpected differences, there must be two groups, with maxAgeYrs bounds 5 and 99 respectively.
item
→ scenario → healthSystem → ImmediateOutcomes → pSequelaeInpatient → item
<item
value=double
maxAgeYrs=double
/>
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Upper bound
maxAgeYrs=double
Units: Years Min: 0 Max: 100
Upper bound of age group
CFR
→ scenario → healthSystem → CFR
<CFR>
IN THIS ORDER:
| ( <group ... /> )+
</CFR>
group
→ scenario → healthSystem → CFR → group
<group
cfr=double
lowerbound=double
/>
Attributes
Case fatality rate
cfr=double
Units: Proportion Min: 0 Max: 1
Case fatality rate
Lower bound
lowerbound=double
Units: Years Min: 0 Max: 100
Lower bound of age group
Replacement transmission setting (vector control not enabled)
→ scenario → interventions → timed → intervention → changeEIR
<changeEIR
eipDuration=int
>
IN THIS ORDER:
| ( <EIRDaily ... /> )+
</changeEIR>
Documentation (element)
Units: List of elements
New description of transmission setting for models without vector control interventions (included for backward compatibility)
Attributes
Duration of sporogony (days)
eipDuration=int
The duration of sporogony in days
EIRDaily
→ scenario → entoData → nonVector → EIRDaily
<EIRDaily
[ origin=string ]
>
double
</EIRDaily>
Documentation (type)
Units: Inoculations per person per day
There are two distinct ways of inputing the transmission setting. With this option, the values of daily EIR are input separately. This is only valid for models that do not invoke vector control and is retained only for backward compatibility. When multiple values are given for a single timestep they are averaged.
Attributes
Time origin of EIR sequence
origin=string
importedInfectionsPerThousandHosts
→ scenario → interventions → timed → intervention → importedInfectionsPerThousandHosts
<importedInfectionsPerThousandHosts>
double
</importedInfectionsPerThousandHosts>
Mass Drug Administration
→ scenario → interventions → timed → intervention → MDA
<MDA
[ maxAge=double ]
[ minAge=double ]
coverage=double
/>
Documentation (element)
Units: List of elements
Description of mass drug deployment in the community.
Attributes
Maximum age of eligible individuals
maxAge=double
Units: Years Min: 0 Max: 100
Maximum age of eligible individuals (defaults to 100)
Minimum age of eligible individuals
minAge=double
Units: Years Min: 0 Max: 100
Minimum age of eligible individuals (defaults to 0)
Coverage
coverage=double
Units: Proportion Min: 0 Max: 1
Coverage of intervention
Vaccination
→ scenario → interventions → timed → intervention → vaccinate
<vaccinate
[ maxAge=double ]
[ minAge=double ]
coverage=double
/>
Documentation (element)
Units: List of elements
Description of vaccine deployment in the community
Attributes
Maximum age of eligible individuals
maxAge=double
Units: Years Min: 0 Max: 100
Maximum age of eligible individuals (defaults to 100)
Minimum age of eligible individuals
minAge=double
Units: Years Min: 0 Max: 100
Minimum age of eligible individuals (defaults to 0)
Coverage
coverage=double
Units: Proportion Min: 0 Max: 1
Coverage of intervention
ITN deployment
→ scenario → interventions → timed → intervention → ITN
<ITN
[ maxAge=double ]
[ minAge=double ]
coverage=double
/>
Documentation (element)
Units: List of elements
Description of ITN deployment in the community
Attributes
Maximum age of eligible individuals
maxAge=double
Units: Years Min: 0 Max: 100
Maximum age of eligible individuals (defaults to 100)
Minimum age of eligible individuals
minAge=double
Units: Years Min: 0 Max: 100
Minimum age of eligible individuals (defaults to 0)
Coverage
coverage=double
Units: Proportion Min: 0 Max: 1
Coverage of intervention
IRS deployment
→ scenario → interventions → timed → intervention → IRS
<IRS
[ maxAge=double ]
[ minAge=double ]
coverage=double
/>
Documentation (element)
Units: List of elements
Description of IRS deployment in the community
Attributes
Maximum age of eligible individuals
maxAge=double
Units: Years Min: 0 Max: 100
Maximum age of eligible individuals (defaults to 100)
Minimum age of eligible individuals
minAge=double
Units: Years Min: 0 Max: 100
Minimum age of eligible individuals (defaults to 0)
Coverage
coverage=double
Units: Proportion Min: 0 Max: 1
Coverage of intervention
Mosquito deterrent
→ scenario → interventions → timed → intervention → VectorAvailability
<VectorAvailability
[ maxAge=double ]
[ minAge=double ]
coverage=double
/>
Documentation (element)
Units: List of elements
Description of a mosquito deterrent deployment in the community
Attributes
Maximum age of eligible individuals
maxAge=double
Units: Years Min: 0 Max: 100
Maximum age of eligible individuals (defaults to 100)
Minimum age of eligible individuals
minAge=double
Units: Years Min: 0 Max: 100
Minimum age of eligible individuals (defaults to 0)
Coverage
coverage=double
Units: Proportion Min: 0 Max: 1
Coverage of intervention
IPTi deployment
→ scenario → interventions → timed → intervention → ipti
<ipti
[ maxAge=double ]
[ minAge=double ]
coverage=double
/>
Documentation (element)
Units: List of elements
List of age groups for IPTi distribution
Attributes
Maximum age of eligible individuals
maxAge=double
Units: Years Min: 0 Max: 100
Maximum age of eligible individuals (defaults to 100)
Minimum age of eligible individuals
minAge=double
Units: Years Min: 0 Max: 100
Minimum age of eligible individuals (defaults to 0)
Coverage
coverage=double
Units: Proportion Min: 0 Max: 1
Coverage of intervention
Immune suppression deployment
→ scenario → interventions → timed → intervention → immuneSuppression
<immuneSuppression
[ maxAge=double ]
[ minAge=double ]
coverage=double
/>
Documentation (element)
Units: List of elements
Removes all exposure-related immunity gained over time by hosts without removing infections.
Hypothetical, but potentially useful to simulate scenarios with unprotected humans.
Attributes
Maximum age of eligible individuals
maxAge=double
Units: Years Min: 0 Max: 100
Maximum age of eligible individuals (defaults to 100)
Minimum age of eligible individuals
minAge=double
Units: Years Min: 0 Max: 100
Minimum age of eligible individuals (defaults to 0)
Coverage
coverage=double
Units: Proportion Min: 0 Max: 1
Coverage of intervention
Insert R_0 case
→ scenario → interventions → timed → intervention → insertR_0Case
<insertR_0Case/>
Documentation (element)
Units: List of elements
Used to simulate R_0. First, infections should be eliminated, immunity removed, and the population given an effective transmission- blocking vaccine (not done by this intervention). Then this intervention may be used to: pick one human, infect him, and remove transmission-blocking vaccine effect on this human. Thus only this one human will be a source of infections in an unprotected population.
Uninfect vectors
→ scenario → interventions → timed → intervention → uninfectVectors
<uninfectVectors/>
Documentation (element)
Units: List of elements
Removes all infections from mosquitoes -- resulting in zero EIR to humans, until such time that mosquitoes are re-infected and become infectious. Only effectious in dynamic EIR mode (when changeEIR was not used).
Hypothetical, but potentially useful to simulate a setting starting from no infections, but with enough mosquitoes to reach a set equilibrium of exposure.
larviciding
→ scenario → interventions → timed → intervention → larviciding
<larviciding>
IN THIS ORDER:
| ( <anopheles ... /> )+
</larviciding>
Documentation (element)
Simple larviciding intervention description.
anopheles
→ scenario → interventions → timed → intervention → larviciding → anopheles
<anopheles
mosquito=string
effectiveness=double
duration=int
/>
Attributes
Mosquito to be larvicided
mosquito=string
Mosquito to be larvicided
Proportionate reduction in emergence
effectiveness=double
Units: none Min: 0 Max: 1
Proportional reduction in emergence rate
Duration of activity
duration=int
Units: days Min: 0 Max: inf
Number of days for which the intervention is active.
healthSystem
→ scenario → healthSystem
<healthSystem>
IN THIS ORDER:
| EXACTLY ONE OF:
| | <EventScheduler ... />
| | <ImmediateOutcomes ... />
| <CFR ... />
</healthSystem>
Documentation (type)
Units: List of elements
Description of case management system, used to specify the initial model or a replacement (an intervention). Encompasses case management data and some other data required to derive case outcomes.
Contains a sub-element describing the particular health-system in use. Health system data is here defined as data used to decide on a treatment strategy, given a case requiring treatment.
Transmission and vector bionomics
<entoData
name=string
mode=("2" or "4")
>
IN THIS ORDER:
| EXACTLY ONE OF:
| | <nonVector ... />
| | <vector ... />
</entoData>
Documentation (element)
Units: List of elements
Description of entomological data
Attributes
Entomology dataset
name=string
Units: string
Name of entomology data
Transmission simulation mode
mode=("2" or "4")
Units: Code
Transmission simulation mode -- enter dynamic mode (4) or forced mode (2) at start of intervention period. Mode 3 (transient EIR from data provided as intervention) is set when intervention data is applied, and is no longer a valid value to specify here.
Transmission setting (vector control not enabled)
→ scenario → entoData → nonVector
<nonVector
eipDuration=int
>
IN THIS ORDER:
| ( <EIRDaily ... /> )+
</nonVector>
Documentation (element)
Units: List of elements
Description of transmission setting for models without vector control interventions (included for backward compatibility)
Attributes
Duration of sporogony (days)
eipDuration=int
The duration of sporogony in days
Transmission setting (vector control enabled)
→ scenario → entoData → vector
<vector>
IN THIS ORDER:
| ( <anopheles ... /> )+
| ( <nonHumanHosts ... /> )*
</vector>
Documentation (element)
Units: List of elements
Parameters of the transmission model.
anopheles
→ scenario → entoData → vector → anopheles
<anopheles
mosquito=string
propInfected=double
propInfectious=double
>
IN THIS ORDER:
| <eir ... />
| <mosq ... />
| ( <nonHumanHosts ... /> )*
</anopheles>
Documentation (type)
Description of input EIR for one specific vector species in terms of a Fourier approximation to the ln of the EIR during the burn in period
Attributes
(TODO- Nakul to assign description)
mosquito=string
Initial guess of proportion of mosquitoes infected
propInfected=double
Units: Proportion Min: 0 Max: 1
Initial guess of the proportion of mosquitoes which are infected, o: O_v(t) = o*N_v(t). Only used as a starting value.
Initial guess of proportion of mosquitoes infectious
propInfectious=double
Units: Proportion Min: 0 Max: 1
Initial guess of the proportion of mosquitoes which are infectious, s: S_v(t) = s*N_v(t). Used as a starting value and then fit.
Fourier approximation to pre-intervention EIR
→ scenario → entoData → vector → anopheles → eir
<eir
a0=double
a1=double
b1=double
a2=double
b2=double
EIRRotateAngle=double
/>
Documentation (element)
Units: Inoculations per person per day
Description of target entomological inoculation rate, used to calculate the vector emergence rate. An EIR array is generated from the exponent of the inverse discrete fourier transform of these parameters.
Attributes
a0 parameter of Fourier approximation to ln(EIR)
a0=double
a1 parameter of Fourier approximation to ln(EIR)
a1=double
b1 parameter of Fourier approximation to ln(EIR)
b1=double
a2 parameter of Fourier approximation to ln(EIR)
a2=double
b2 parameter of Fourier approximation to ln(EIR)
b2=double
Rotation angle defining the origin of the Fourier approximation to ln (EIR)
EIRRotateAngle=double
Vector Species
→ scenario → entoData → vector → anopheles → mosq
<mosq
mosqRestDuration=int
extrinsicIncubationPeriod=int
mosqLaidEggsSameDayProportion=double
mosqSeekingDuration=double
mosqSurvivalFeedingCycleProbability=double
mosqProbBiting=double
mosqProbFindRestSite=double
mosqProbResting=double
mosqProbOvipositing=double
mosqHumanBloodIndex=double
/>
Documentation (element)
Units: List of elements
Vector species
Attributes
Duration of the resting period of the vector (days)
mosqRestDuration=int
Extrinsic incubation period (days)
extrinsicIncubationPeriod=int
Proportion of mosquitoes host seeking on same day as ovipositing
mosqLaidEggsSameDayProportion=double
Duration of the host-seeking period of the vector (days)
mosqSeekingDuration=double
Probability that the mosquito survives the feeding cycle
mosqSurvivalFeedingCycleProbability=double
Probability that the mosquito survives biting (TODO- check description)
mosqProbBiting=double
Probability that the mosquito finds a resting place
mosqProbFindRestSite=double
Probability that the mosquito survives resting (TODO- check description)
mosqProbResting=double
Probability that the mosquito survives oviposition (TODO- check description)
mosqProbOvipositing=double
Human blood index
mosqHumanBloodIndex=double
nonHumanHosts
→ scenario → entoData → vector → anopheles → nonHumanHosts
<nonHumanHosts
name=string
mosqRelativeEntoAvailability=double
mosqProbBiting=double
mosqProbFindRestSite=double
mosqProbResting=double
/>
Documentation (element)
Units: List of elements
Non human host parameters, per type of host (must match up with non-species-specific parameters).
Attributes
(TODO- Nakul to assign description)
name=string
(TODO- Nakul to assign description)
mosqRelativeEntoAvailability=double
(TODO- Nakul to assign description)
mosqProbBiting=double
(TODO- Nakul to assign description)
mosqProbFindRestSite=double
(TODO- Nakul to assign description)
mosqProbResting=double
nonHumanHosts
→ scenario → entoData → vector → nonHumanHosts
<nonHumanHosts
name=string
number=double
/>
Attributes
Species of alternative host
name=string
Units: List of elements
Name of this species of non human hosts (must match up with those described per anopheles section)
number
number=double
Pharmacokinetics and pharmacodynamics
<drugDescription>
IN THIS ORDER:
| ( <drug ... /> )+
</drugDescription>
Documentation (element)
Units: List of elements
Drug model parameters
drug
→ scenario → drugDescription → drug
<drug
abbrev=string
>
IN THIS ORDER:
| <PD ... />
| <PK ... />
</drug>
Documentation (element)
Sequence of drug descriptions forming a library of drug parameters.
Attributes
abbrev
abbrev=string
PD
→ scenario → drugDescription → drug → PD
<PD>
IN THIS ORDER:
| ( <allele ... /> )+
</PD>
allele
→ scenario → drugDescription → drug → PD → allele
<allele
name=string
>
IN THIS ORDER:
| <initial_frequency ... />
| <max_killing_rate ... />
| <IC50 ... />
| <slope ... />
</allele>
Documentation (element)
PD parameters per allele, plus initial frequency of each allele.
Note: we assume a one-to-one correspondance of drugs to loci, hence each drug has an independent set of alleles here.
Attributes
name
name=string
Relative frequency
→ scenario → drugDescription → drug → PD → allele → initial_frequency
<initial_frequency>
double
</initial_frequency>
Documentation (element)
Units: relative frequency Min: 0
Frequency, relative to the total frequency of all alleles for this drug/locus.
Maximal parasite killing rate
→ scenario → drugDescription → drug → PD → allele → max_killing_rate
<max_killing_rate>
double
</max_killing_rate>
Documentation (element)
Units: 1/days Min: 0
k1 — Maximal parasite killing rate.
IC50
→ scenario → drugDescription → drug → PD → allele → IC50
<IC50>
double
</IC50>
Documentation (element)
Units: mg/l Min: 0
Half maximal effect concentration.
Slope of effect curve
→ scenario → drugDescription → drug → PD → allele → slope
<slope>
double
</slope>
Documentation (element)
Units: no units
n — Slope of the concentration effect curve
PK
→ scenario → drugDescription → drug → PK
<PK>
IN THIS ORDER:
| <negligible_concentration ... />
| <half_life ... />
| <vol_dist ... />
</PK>
Drug concentration considered negligible
→ scenario → drugDescription → drug → PK → negligible_concentration
<negligible_concentration>
double
</negligible_concentration>
Documentation (element)
Units: mg/l Min: 0
Concentration below which drug's effects are deemed negligible and can be removed from simulation.
drug half-life
→ scenario → drugDescription → drug → PK → half_life
<half_life>
double
</half_life>
Documentation (element)
Units: days Min: 0
Used to calculate elimination rate (which is: ln(2) / half_life).
Volume of Distribution
→ scenario → drugDescription → drug → PK → vol_dist
<vol_dist>
double
</vol_dist>
Documentation (element)
Units: l/kg Min: 0
Volume of Distribution
Model options and parameters
<model>
IN THIS ORDER:
| <ModelOptions ... />
| <clinical ... />
| <parameters ... />
</model>
Documentation (element)
Units: List of elements
Encapsulation of all parameters which describe the model according to which fitting is done.
Model Options
→ scenario → model → ModelOptions
<ModelOptions>
IN THIS ORDER:
| ( <option ... /> )*
</ModelOptions>
Documentation (element)
Units: List of elements
All model options (bug fixes, choices between models, etc.).
The list of recognised options can be found in the code at:
include/util/ModelOptions.hpp and should also be in the wiki.
clinical
<clinical
healthSystemMemory=int
/>
Documentation (type)
Units: List of elements
Description of clinical parameters.
This is related to the health-system description, but contains data which can't be changed as part of an intervention and is not restricted to treatment.
Attributes
Follow-up period during which recurrence is treated as a failure
healthSystemMemory=int
Units: Time steps Min: 1 Max: 100
Follow-up period during which a recurrence is considered to be a treatment failure
Parameters of the model of epidemiology
→ scenario → model → parameters
<parameters
interval=int
iseed=int
latentp=int
>
IN THIS ORDER:
| ( <parameter ... /> )+
</parameters>
Documentation (element)
Units: List of elements
Parameters of the epidemiological model
Attributes
Simulation step
interval=int
Units: Days
Simulation step
Random number seed
iseed=int
Units: Number
Seed for RNG
Pre-erythrocytic latent period
latentp=int
Units: Time steps Min: 0 Max: 20
pre-erythrocytic latent period, in time steps
parameter
→ scenario → model → parameters → parameter
<parameter
name=string
number=int
value=double
[ include=boolean ]
/>
Attributes
Name of parameter
name=string
Units: string
Name of parameter
Parameter number
number=int
Units: Number Min: 1 Max: 100
Reference number of input parameter
Parameter value
value=double
Units: Number Min: 0
Parameter value
Sampling indicator
include=boolean
Units: Number Min: 0 Max: 1
True if parameter is to be sampled in optimization runs. Not used in simulator app.
Schema 18 documentation
Generated from: scenario_18.xsd
.
Key:
abc required (one)
[ def ] optional (zero or one)
( ghi )* any number (zero or more)
( jkl )+ at least one
( mno ){2,inf} two or more occurrences
Scenario
→ scenario
<scenario
schemaVersion=int
analysisNo=int
name=string
wuID=int
assimMode=("0" or "1")
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:noNamespaceSchemaLocation="scenario_18.xsd"
>
IN THIS ORDER:
| <demography ... />
| <monitoring ... />
| <interventions ... />
| <healthSystem ... />
| <entoData ... />
| [ <drugDescription ... /> ]
| <model ... />
</scenario>
Documentation (element)
Units: List of elements
Description of scenario
Attributes
Version of the xml schema
schemaVersion=int
Version of xml schema. If not equal to the current version an error is thrown. Use SchemaTranslator to update xml files.
Reference number of the analysis
analysisNo=int
Units: Number Min: 1 Max: 100000000
Unique identifier of scenario
Name of intervention
name=string
Units: string
Name of intervention
Work unit identifier
wuID=int
Units: Number Min: 1 Max: 100000000
Work unit ID. Only used to validate checkpointing, to prevent checkpoint cheats.
Assimilator mode
assimMode=("0" or "1")
Units: Code
Assimilator mode. Defines output of simulator as either complete (columns: time,agegroup,measure,value) or minimal (single column: value)
Human age distribution
→ scenario → demography
<demography
name=string
popSize=int
maximumAgeYrs=double
[ growthRate=double ]
>
IN THIS ORDER:
| <ageGroup ... />
</demography>
Documentation (element)
Units: List of elements
Description of demography
Attributes
Name of demography data
name=string
Units: string
Name of demography data
Population size
popSize=int
Units: Count Min: 1 Max: 100000
Population size
Maximum age of simulated humans
maximumAgeYrs=double
Units: Number Min: 0 Max: 100
Maximum age of simulated humans
Growth rate of human population
growthRate=double
Units: Number Min: 0 Max: 0
Growth rate of human population. (we should be able to implement this with non-zero values)
Age groups
→ scenario → demography → ageGroup
<ageGroup
lowerbound=double
>
IN THIS ORDER:
| ( <group ... /> )+
</ageGroup>
Documentation (element)
Units: List of elements
List of age groups included in demography
Documentation (type)
Units: List of elements
List of age groups included in demography or surveys
Attributes
lower bound of age group
lowerbound=double
Units: Years Min: 0 Max: 100
Lower bound of age group
group
→ scenario → demography → ageGroup → group
<group
poppercent=double
upperbound=double
/>
Attributes
Percentage in age group
poppercent=double
Percentage of human population in age group
upper bound of age group
upperbound=double
Units: Years Min: 0 Max: 100
Upper bound of age group
Measures to be reported
→ scenario → monitoring
<monitoring
name=string
>
IN THIS ORDER:
| <SurveyOptions ... />
| <surveys ... />
| <ageGroup ... />
</monitoring>
Documentation (element)
Units: List of elements
Description of surveys
Attributes
name of monitoring information
name=string
Units: string
Name of monitoring data
Name of quantity
→ scenario → monitoring → SurveyOptions
<SurveyOptions>
IN THIS ORDER:
| ( <option ... /> )*
</SurveyOptions>
Documentation (element)
List of all active survey options. See include/Survey.h for a list of supported outputs. Should also be on the wiki.
option
→ scenario → monitoring → SurveyOptions → option
<option
name=string
value=boolean
/>
Attributes
Model options required
name=string
Options define different model structures. Option name. Must be one of a strictly defined set. Options are not required to be listed if their default value is desired.
Indicator of whether option is required
value=boolean
Option value (true/false). Each option has a default value (may be true or false) which is used if the option is not listed.
Survey times (time steps)
→ scenario → monitoring → surveys
<surveys
detectionLimit=double
>
IN THIS ORDER:
| <surveyTime ... />
</surveys>
Documentation (element)
Units: List of elements
List of survey times
Attributes
Detection limit for parasitaemia
detectionLimit=double
Units: parasites/micolitre Min: 0 Max: 1000
Detection limit for parasitemia
Survey time
→ scenario → monitoring → surveys → surveyTime
<surveyTime>
int
</surveyTime>
Documentation (element)
Units: Number Min: 0
Survey time; 0 means just before start of main sim and is a valid survey-point. Reported data is either from a point-time survey (immediate data) or is collected over the previous year (data from previous timesteps-per-year period). Simulation will end immediately after last survey is taken.
Age groups
→ scenario → monitoring → ageGroup
<ageGroup
lowerbound=double
>
IN THIS ORDER:
| ( <group ... /> )+
</ageGroup>
Documentation (element)
Units: List of elements
List of age groups included in demography or surveys
Documentation (type)
Units: List of elements
List of age groups included in surveys
Attributes
lower bound of age group
lowerbound=double
Units: Years Min: 0 Max: 100
Lower bound of age group
group
→ scenario → monitoring → ageGroup → group
<group
upperbound=double
/>
Attributes
upper bound of age group
upperbound=double
Units: Years Min: 0 Max: 100
Upper bound of age group
Preventative interventions
<interventions
name=string
>
IN THIS ORDER:
| [ <MDADescription ... /> ]
| ( <vaccineDescription ... /> ){0,3}
| [ <iptiDescription ... /> ]
| ( <anopheles ... /> )*
| [ <continuous ... /> ]
| [ <timed ... /> ]
</interventions>
Documentation (element)
Units: List of elements
List of interventions. Generally these are either point-time distributions of something to some subset of the population, or continuous-time distribution targetting individuals when they reach a certain age.
Attributes
Intervention
name=string
Units: string
Name of age specific intervention
Drug dose(s) used in MDA
→ scenario → interventions → MDADescription
<MDADescription>
IN THIS ORDER:
| [ <schedule ... /> ]
</MDADescription>
Documentation (element)
Units: List of medicate elements
Description of drug dose(s) used in a mass-drug-administration intervention.
When using the new (Event Scheduler) case management model, a treatment schedule must be present.
schedule
→ scenario → interventions → MDADescription → schedule
<schedule>
IN THIS ORDER:
| ( <medicate ... /> )*
</schedule>
Documentation (type)
The base (unmodified) schedule of drugs administered for this treatment.
medicate
→ scenario → interventions → MDADescription → schedule → medicate
<medicate
drug=string
mg=double
hour=double
/>
Attributes
drug
drug=string
Units: string
Abbreviated name of drug compound
drug dose (TODO is this correct?)
mg=double
Units: mg
Quantity of drug compound
time of administration
hour=double
Units: hours Min: 0
Number of hours past start of timestep this drug dose is administered at (first dose should be at hour 0).
vaccineDescription
→ scenario → interventions → vaccineDescription
<vaccineDescription
vaccineType=int
>
IN THIS ORDER:
| <halfLifeYrs ... />
| <efficacyB ... />
| ( <initialEfficacy ... /> )+
</vaccineDescription>
Attributes
Type of vaccine
vaccineType=int
Units: Code
Type of vaccine
Half life of drug effect
→ scenario → interventions → vaccineDescription → halfLifeYrs
<halfLifeYrs
value=double
/>
Documentation (element)
Units: Years Min: 0 Max: 100
Half life of drug effect
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Variance parameter for vaccine efficacy
→ scenario → interventions → vaccineDescription → efficacyB
<efficacyB
value=double
/>
Documentation (element)
Units: Positive real Min: 0.001 Max: 1.00E+06
Measure of variation in vaccine efficacy
Attributes
Input parameter value
value=double
A double-precision floating-point value.
initialEfficacy
→ scenario → interventions → vaccineDescription → initialEfficacy
<initialEfficacy
value=double
/>
Attributes
Input parameter value
value=double
A double-precision floating-point value.
iptiDescription
→ scenario → interventions → iptiDescription
<iptiDescription
iptiEffect=int
>
IN THIS ORDER:
| ( <infGenotype ... /> )+
</iptiDescription>
Attributes
iptiEffect
iptiEffect=int
infGenotype
→ scenario → interventions → iptiDescription → infGenotype
<infGenotype
name=string
freq=double
ACR=double
proph=int
tolPeriod=int
atten=double
/>
Attributes
Age specific intervention
name=string
Units: string
Name of age specific intervention
Frequency
freq=double
Frequency of parasite genotype
ACR
ACR=double
Adequate clinical response (proportion)
Prophylactic period
proph=int
Prophylactic period
Tolerance period
tolPeriod=int
Tolerance period
Tolerance period
atten=double
Tolerance period
anopheles
→ scenario → interventions → anopheles
<anopheles
mosquito=string
>
IN THIS ORDER:
| [ <ITNDescription ... /> ]
| [ <IRSDescription ... /> ]
| [ <VADescription ... /> ]
</anopheles>
Attributes
Entomological effects of interventions
mosquito=string
Description of the entomological effects of interventions
ITNDescription
→ scenario → interventions → anopheles → ITNDescription
<ITNDescription
name=string
>
IN THIS ORDER:
| <deterrency ... />
| <preprandialKillingEffect ... />
| <postprandialKillingEffect ... />
</ITNDescription>
Attributes
ITN effects
name=string
Units: string
Name of Insecticide Treated Net intervention
Deterrency
→ scenario → interventions → anopheles → ITNDescription → deterrency
<deterrency
initial=double
halflife=double
[ Weibullk=double ]
/>
Documentation (element)
Units: None Min: 0 Max: 1
One minus this multiplies the host's availability (before decay).
Documentation (type)
Specification of a proportion with Weibull or exponential decay.
Attributes
Initial proportion
initial=double
Units: None Min: 0 Max: 1
The value before any decay.
half-life
halflife=double
Units: Years Min: 0
Half-life in years (more generally, halflife/ln(2) is lambda from the Weibull distribution).
Weibull k parameter
Weibullk=double
Min: 0
The parameter k of the Weibull distribution. If missing, 1.0 is used (equivalent to exponential decay).
Pre-prandial killing effect
→ scenario → interventions → anopheles → ITNDescription → preprandialKillingEffect
<preprandialKillingEffect
initial=double
halflife=double
[ Weibullk=double ]
/>
Documentation (element)
Units: None Min: 0 Max: 1
One minus this multiplies the survival rate of mosquitoes attempting to bite a host.
Documentation (type)
Specification of a proportion with Weibull or exponential decay.
Attributes
Initial proportion
initial=double
Units: None Min: 0 Max: 1
The value before any decay.
half-life
halflife=double
Units: Years Min: 0
Half-life in years (more generally, halflife/ln(2) is lambda from the Weibull distribution).
Weibull k parameter
Weibullk=double
Min: 0
The parameter k of the Weibull distribution. If missing, 1.0 is used (equivalent to exponential decay).
Post-prandial killing effect
→ scenario → interventions → anopheles → ITNDescription → postprandialKillingEffect
<postprandialKillingEffect
initial=double
halflife=double
[ Weibullk=double ]
/>
Documentation (element)
Units: None Min: 0 Max: 1
One minus this multiplies the survival rate of mosquitoes attempting to escape after biting a host.
Documentation (type)
Specification of a proportion with Weibull or exponential decay.
Attributes
Initial proportion
initial=double
Units: None Min: 0 Max: 1
The value before any decay.
half-life
halflife=double
Units: Years Min: 0
Half-life in years (more generally, halflife/ln(2) is lambda from the Weibull distribution).
Weibull k parameter
Weibullk=double
Min: 0
The parameter k of the Weibull distribution. If missing, 1.0 is used (equivalent to exponential decay).
IRSDescription
→ scenario → interventions → anopheles → IRSDescription
<IRSDescription
name=string
>
IN THIS ORDER:
| <deterrency ... />
| <killingEffect ... />
</IRSDescription>
Attributes
name of IRS intervention
name=string
Units: string
Name of Indoor Residual Spraying intervention
Deterrency
→ scenario → interventions → anopheles → IRSDescription → deterrency
<deterrency
initial=double
halflife=double
[ Weibullk=double ]
/>
Documentation (element)
Units: None Min: 0 Max: 1
One minus this multiplies the host's availability.
Documentation (type)
Specification of a proportion with Weibull or exponential decay.
Attributes
Initial proportion
initial=double
Units: None Min: 0 Max: 1
The value before any decay.
half-life
halflife=double
Units: Years Min: 0
Half-life in years (more generally, halflife/ln(2) is lambda from the Weibull distribution).
Weibull k parameter
Weibullk=double
Min: 0
The parameter k of the Weibull distribution. If missing, 1.0 is used (equivalent to exponential decay).
killing effect
→ scenario → interventions → anopheles → IRSDescription → killingEffect
<killingEffect
initial=double
halflife=double
[ Weibullk=double ]
/>
Documentation (element)
Units: None Min: 0 Max: 1
One minus this multiplies the survival rate of resting mosquitoes.
Documentation (type)
Specification of a proportion with Weibull or exponential decay.
Attributes
Initial proportion
initial=double
Units: None Min: 0 Max: 1
The value before any decay.
half-life
halflife=double
Units: Years Min: 0
Half-life in years (more generally, halflife/ln(2) is lambda from the Weibull distribution).
Weibull k parameter
Weibullk=double
Min: 0
The parameter k of the Weibull distribution. If missing, 1.0 is used (equivalent to exponential decay).
VADescription
→ scenario → interventions → anopheles → VADescription
<VADescription
name=string
>
IN THIS ORDER:
| <deterrency ... />
</VADescription>
Attributes
Name of mosquito deterrency intervention
name=string
Units: string
Name of mosquito deterrency intervention
Deterrency
→ scenario → interventions → anopheles → VADescription → deterrency
<deterrency
initial=double
halflife=double
[ Weibullk=double ]
/>
Documentation (element)
Units: None Min: 0 Max: 1
One minus this multiplies the host's availability.
Documentation (type)
Specification of a proportion with Weibull or exponential decay.
Attributes
Initial proportion
initial=double
Units: None Min: 0 Max: 1
The value before any decay.
half-life
halflife=double
Units: Years Min: 0
Half-life in years (more generally, halflife/ln(2) is lambda from the Weibull distribution).
Weibull k parameter
Weibullk=double
Min: 0
The parameter k of the Weibull distribution. If missing, 1.0 is used (equivalent to exponential decay).
Continuously applied interventions
→ scenario → interventions → continuous
<continuous>
IN THIS ORDER:
| ( <vaccine ... /> )*
| ( <ITN ... /> )*
| ( <ipti ... /> )*
</continuous>
List of age groups for vaccination
→ scenario → interventions → continuous → vaccine
<vaccine
targetAgeYrs=double
coverage=double
/>
Documentation (element)
Units: List of elements
List of age groups for vaccination
Attributes
Target age
targetAgeYrs=double
Units: Years Min: 0 Max: 100
Target age of intervention
Proportion covered
coverage=double
Units: Proportion Min: 0 Max: 1
Coverage of intervention
Description of ITN deployment
→ scenario → interventions → continuous → ITN
<ITN
targetAgeYrs=double
coverage=double
/>
Documentation (element)
Units: List of elements
Description of ITN deployment in the community
Attributes
Target age
targetAgeYrs=double
Units: Years Min: 0 Max: 100
Target age of intervention
Proportion covered
coverage=double
Units: Proportion Min: 0 Max: 1
Coverage of intervention
List of age groups for IPTi
→ scenario → interventions → continuous → ipti
<ipti
targetAgeYrs=double
coverage=double
/>
Documentation (element)
Units: List of elements
List of age groups for IPTi distribution
Attributes
Target age
targetAgeYrs=double
Units: Years Min: 0 Max: 100
Target age of intervention
Proportion covered
coverage=double
Units: Proportion Min: 0 Max: 1
Coverage of intervention
Timed interventions
→ scenario → interventions → timed
<timed>
IN THIS ORDER:
| ( <intervention ... /> )+
</timed>
Documentation (element)
Units: List of elements
List of timed interventions
Documentation (type)
Units: List of elements
List of timed interventions
intervention
→ scenario → interventions → timed → intervention
<intervention
time=int
>
IN THIS ORDER:
| [ <changeHS ... /> ]
| [ <changeEIR ... /> ]
| [ <importedInfectionsPerThousandHosts ... /> ]
| [ <MDA ... /> ]
| [ <vaccinate ... /> ]
| [ <ITN ... /> ]
| [ <IRS ... /> ]
| [ <VectorAvailability ... /> ]
| [ <ipti ... /> ]
| [ <larviciding ... /> ]
</intervention>
- changeHS
- changeEIR
- importedInfectionsPerThousandHosts
- MDA
- vaccinate
- ITN
- IRS
- VectorAvailability
- ipti
- larviciding
Attributes
Time step of intervention
time=int
Units: Number Min: 1 Max: 10000
Time step of intervention
changeHS
→ scenario → interventions → timed → intervention → changeHS
<changeHS>
IN THIS ORDER:
| EXACTLY ONE OF:
| | <EventScheduler ... />
| | <ImmediateOutcomes ... />
| <CFR ... />
</changeHS>
Documentation (type)
Units: List of elements
Description of case management system, used to specify the initial model or a replacement (an intervention). Encompasses case management data and some other data required to derive case outcomes.
Contains a sub-element describing the particular health-system in use. Health system data is here defined as data used to decide on a treatment strategy, given a case requiring treatment.
EventScheduler
→ scenario → healthSystem → EventScheduler
<EventScheduler>
IN THIS ORDER:
| <uncomplicated ... />
| <complicated ... />
| <ClinicalOutcomes ... />
</EventScheduler>
uncomplicated
→ scenario → healthSystem → EventScheduler → uncomplicated
<uncomplicated>
IN THIS ORDER:
| <decisions ... />
| <treatments ... />
</uncomplicated>
Documentation (type)
Units: List of elements
A set of decisions and a set of treatments.
decisions
→ scenario → healthSystem → EventScheduler → uncomplicated → decisions
<decisions>
IN THIS ORDER:
| ( <decision ... /> )*
</decisions>
Documentation (type)
Description of decisions for a case management tree. A generic view of this tree would be that each decision is deterministic, or based on probabilities which may depend on other decisions. Probabilistic decisions are described here.
In general, each decision has a name, a defined set of outcome values, and a set of dependent decisions mentioned by name. The following decisions, with their associated outcomes, are provided by the code (and may not be included here):
- age5Test: tests the patient's age and returns "under5" or "over5".
- case (uncomplicated only): Returns "UC1" if there is no recent history of a malarial case, or "UC2" if there is.
- result (uncomplicated only): Dependent on decision "test", this performs a parasite density test. Output is one of "none" (no test performed), "positive", "negative".
The following decisions must be described here:
- test (uncomplicated only): Outputs must be "none", "microscopy" or "RDT" to describe which test the "result" decision uses.
- treatment: Describes which treatment to use. Values aren't restricted but must match up with a treatment described in the corresponding "treatments" section.
decision
→ scenario → healthSystem → EventScheduler → uncomplicated → decisions → decision
<decision
name=string
depends=string
values=string
>
string
</decision>
Documentation (type)
A decision describes how to choose between a set of values.
Lexically, it can contain symbols matching "[_.a-zA-Z0-9]+", round brackets: (), braces: {} and colons. Whitespace is ignored except to separate symbols.
Syntactically, it must match one TREE, where SYMBOL is a symbol described above. (Here, "x|y" means x or y, "x+" means x occurs once or more, brackets show grouping.) TREE := BRANCH_SET | OUTCOME BRANCH_SET := BRANCH+ BRANCH := DECISION '(' VALUE ')' ( ':' OUTCOME | '{' TREE '}' ) OUTCOME, DECISION, VALUE := SYMBOL
For each BRANCH_SET each BRANCH must have the same DECISION. This DECISION must be one of the dependencies mentioned in "depends". This may be:
- another decision, in which case the VALUE immediately following in brackets must correspond to one of its output values. The BRANCH_SET immediately containing this BRANCH must represent each output value of the same decision exactly once, and no parent BRANCH_SET may be for the same DECISION.
- "p": this indicates a probabilistic decision. In this case the value is a probability, the sum of all values for the BRANCH_SET must be 1 and the decision must be associated directly with OUTCOMEs (not sub-TREEs).
- "age": this indicates an age-test. The VALUE must have the form "a-b", indicating that this branch will be taken for individuals aged such that a <= age < b, where a,b are non-negative real numbers or the special value "inf", and a <= b. All VALUEs in the BRANCH_SET must cover all possible (non-negative real) ages, with no overlap (hence, smallest a must be 0 and greatest b must be inf).
Semantically, each OUTCOME must be one of the values associated with this decision.
Attributes
Name of decision
name=string
The name of this decision. The name must match the regular expression "[_a-zA-Z0-9]+"; that is it can only contain letters, digits and _ characters (no spaces, punctuation, etc.).
Preceding decisions
depends=string
A comma-separated list of decisions that must have already been evaluated before this decision can be evaluated. Can be empty. Each must be hard-coded or described here. Can include the special decisions "p" and "age", though "age" cannot be combined with any other dependency.
Outcome values
values=string
A comma-separated list of outcome values this decision may have. The name of each value must be of the same form as decision names (i.e. only contain letters, digits and _ characters).
treatments
→ scenario → healthSystem → EventScheduler → uncomplicated → treatments
<treatments>
IN THIS ORDER:
| ( <treatment ... /> )*
</treatments>
Documentation (type)
Units: string
A list of drug treatment tables. Each should have a name corresponding to one of the "drug" decision's values.
treatment
→ scenario → healthSystem → EventScheduler → uncomplicated → treatments → treatment
<treatment
name=string
>
IN THIS ORDER:
| <schedule ... />
| ( <modifier ... /> )*
</treatment>
Documentation (type)
A description of a base treatment schedule along with modifiers to handle delays, quality variations, etc.
Attributes
Treatment administered
name=string
Units: string
Name corresponding to one of the drug decision's output values.
schedule
→ scenario → healthSystem → EventScheduler → uncomplicated → treatments → treatment → schedule
<schedule>
IN THIS ORDER:
| ( <medicate ... /> )*
</schedule>
Documentation (type)
The base (unmodified) schedule of drugs administered for this treatment.
modifier
→ scenario → healthSystem → EventScheduler → uncomplicated → treatments → treatment → modifier
<modifier
decision=string
>
EXACTLY ONE OF:
| ( <multiplyQty ... /> )*
| ( <delay ... /> )*
| ( <selectTimeRange ... /> )*
</modifier>
Documentation (type)
A modifier for this treatment, according to the outputs of a decision.
The "decision" attribute must be the name of a known decision. Then, there must be a set of multipyQty, delay or selectTimeRange sub-elements, each of which corresponds to one value output of the decision.
Attributes
decision
decision=string
Units: string
Specifies the decision that this modifier acts on.
multiplyQty
→ scenario → healthSystem → EventScheduler → uncomplicated → treatments → treatment → modifier → multiplyQty
<multiplyQty
value=string
effect=string
[ affectsCost=boolean ]
/>
Documentation (element)
Multiplies the quantity of active ingredients of drugs administered.
The "drugs" attribute is a comma-separated list of all active ingredients administered in the base schedule (each must be listed once) and the content of this element is a comma- separated list of multipliers for each active ingredient, listed in the same order as in the "drugs" attribute. E.g. with drugs="A,B" and content "0.5,1" the quantity of drug A is halved while that of B is unchanged.
Attributes
value of decision
value=string
Units: string
Specifies a value of the decision to act on.
List of drugs affected
effect=string
Units: string
Comma-separated list of the effect the modifier has on each drug, in the form DRUG1(EFFECT1),DRUG2(EFFECT2), etc.
Affects cost?
affectsCost=boolean
Units: none
Does this affect the cost? If false, the effective drug usage (w.r.t. cost) is unaffected by this modifier; if true it is. Defaults to true (if omitted). Is meaningless for delays.
delay
→ scenario → healthSystem → EventScheduler → uncomplicated → treatments → treatment → modifier → delay
<delay
value=string
effect=string
[ affectsCost=boolean ]
/>
Documentation (element)
Delays administration of drugs listed in the base schedule by so many hours.
The "drugs" attribute is a comma-separated list of all active ingredients administered in the base schedule (each must be listed once) and the content of this element is a comma- separated list of delays (in hours) for each active ingredient, listed in the same order as in the "drugs" attribute. E.g. with drugs="A,B" and content "0,6", drug A is administered as in the base schedule while drug B is administered 6 hours later than specified.
Attributes
value of decision
value=string
Units: string
Specifies a value of the decision to act on.
List of drugs affected
effect=string
Units: string
Comma-separated list of the effect the modifier has on each drug, in the form DRUG1(EFFECT1),DRUG2(EFFECT2), etc.
Affects cost?
affectsCost=boolean
Units: none
Does this affect the cost? If false, the effective drug usage (w.r.t. cost) is unaffected by this modifier; if true it is. Defaults to true (if omitted). Is meaningless for delays.
selectTimeRange
→ scenario → healthSystem → EventScheduler → uncomplicated → treatments → treatment → modifier → selectTimeRange
<selectTimeRange
value=string
effect=string
[ affectsCost=boolean ]
/>
Documentation (element)
Selects which drug doses to administer according to time of administration (before times are modified by delays).
The "drugs" attribute is a comma-separated list of all active ingredients administered in the base schedule (each must be listed once) and the content of this element is a comma- separated list of time-ranges (in hours) for each active ingredient, listed in the same order as in the "drugs" attribute. The time-ranges should be of the form x-y and are interpreted as the half-open interval [x,y); that is a drug listed with time t will only be administered if x <= t < y.
Attributes
value of decision
value=string
Units: string
Specifies a value of the decision to act on.
List of drugs affected
effect=string
Units: string
Comma-separated list of the effect the modifier has on each drug, in the form DRUG1(EFFECT1),DRUG2(EFFECT2), etc.
Affects cost?
affectsCost=boolean
Units: none
Does this affect the cost? If false, the effective drug usage (w.r.t. cost) is unaffected by this modifier; if true it is. Defaults to true (if omitted). Is meaningless for delays.
complicated
→ scenario → healthSystem → EventScheduler → complicated
<complicated>
IN THIS ORDER:
| <decisions ... />
| <treatments ... />
</complicated>
Documentation (type)
Units: List of elements
A set of decisions and a set of treatments.
ClinicalOutcomes
→ scenario → healthSystem → EventScheduler → ClinicalOutcomes
<ClinicalOutcomes>
IN THIS ORDER:
| <maxUCSeekingMemory ... />
| <uncomplicatedCaseDuration ... />
| <complicatedCaseDuration ... />
| <complicatedRiskDuration ... />
| <pImmediateUC ... />
| <propDeathsFirstDay ... />
| <communityOddsMultiplier ... />
</ClinicalOutcomes>
- maxUCSeekingMemory
- uncomplicatedCaseDuration
- complicatedCaseDuration
- complicatedRiskDuration
- pImmediateUC
- propDeathsFirstDay
- communityOddsMultiplier
Documentation (type)
Description of base parameters of the clinical model.
Max UC treatment-seeking memory
→ scenario → healthSystem → EventScheduler → ClinicalOutcomes → maxUCSeekingMemory
<maxUCSeekingMemory>
int
</maxUCSeekingMemory>
Documentation (element)
Units: days Min: 0 Max: unbounded
Maximum number of timesteps (including first of case) an individual will remember they are sick before resetting.
Uncomplicated case duration
→ scenario → healthSystem → EventScheduler → ClinicalOutcomes → uncomplicatedCaseDuration
<uncomplicatedCaseDuration>
int
</uncomplicatedCaseDuration>
Documentation (element)
Units: days Min: 1 Max: unbounded
Fixed length of an uncomplicated case of malarial/non-malarial sickness (from treatment seeking until return to life-as-usual). Usually 3.
Complicated case duration
→ scenario → healthSystem → EventScheduler → ClinicalOutcomes → complicatedCaseDuration
<complicatedCaseDuration>
int
</complicatedCaseDuration>
Documentation (element)
Units: days Min: 1 Max: unbounded
Fixed length of a complicated/severe case of malaria (from treatment seeking until return to life-as-usual).
Complicated risk duration
→ scenario → healthSystem → EventScheduler → ClinicalOutcomes → complicatedRiskDuration
<complicatedRiskDuration>
int
</complicatedRiskDuration>
Documentation (element)
Units: days Min: 1 Max: unbounded
Number of days for which humans are at risk of death during a severe or complicated case of malaria. Cannot be greater than the duration of a complicated case or less than 1 day.
Probability of immediate UC treatment seeking
→ scenario → healthSystem → EventScheduler → ClinicalOutcomes → pImmediateUC
<pImmediateUC>
double
</pImmediateUC>
Documentation (element)
Units: none Min: 0 Max: 1
Probability that UC treatment seeking will be done immediately when sick, on second day given that it wasn't done on first, etc.
Proportion of direct deaths on first day
→ scenario → healthSystem → EventScheduler → ClinicalOutcomes → propDeathsFirstDay
<propDeathsFirstDay>
double
</propDeathsFirstDay>
Documentation (element)
Units: none Min: 0 Max: 1
Proportion of direct deaths from severe malaria or a complication which happen on the day of entry to the health system.
Community odds of death multiplier
→ scenario → healthSystem → EventScheduler → ClinicalOutcomes → communityOddsMultiplier
<communityOddsMultiplier>
double
</communityOddsMultiplier>
Documentation (element)
Units: none Min: 0 Max: unbounded
Multiplies the odds of dying in a community case, where the base (hospital) probability of death comes from other inputs.
ImmediateOutcomes
→ scenario → healthSystem → ImmediateOutcomes
<ImmediateOutcomes
name=string
>
IN THIS ORDER:
| <drugRegimen ... />
| <initialACR ... />
| <compliance ... />
| <nonCompliersEffective ... />
| <pSeekOfficialCareUncomplicated1 ... />
| <pSelfTreatUncomplicated ... />
| <pSeekOfficialCareUncomplicated2 ... />
| <pSeekOfficialCareSevere ... />
| <pSequelaeInpatient ... />
</ImmediateOutcomes>
- drugRegimen
- initialACR
- compliance
- nonCompliersEffective
- pSeekOfficialCareUncomplicated1
- pSelfTreatUncomplicated
- pSeekOfficialCareUncomplicated2
- pSeekOfficialCareSevere
- pSequelaeInpatient
Documentation (type)
Units: List of elements
Description of "immediate outcomes" health system: Tediosi et al case management model (Case management as described in AJTMH 75 (suppl 2) pp90-103).
Attributes
Case Management model
name=string
Units: string
Name of health system
Description of drug regimen
→ scenario → healthSystem → ImmediateOutcomes → drugRegimen
<drugRegimen
firstLine=string
secondLine=string
inpatient=string
/>
Documentation (element)
Units: List of elements
Description of drug regimen
Attributes
First line drug
firstLine=string
Units: Drug code
Code for first line drug
Second line drug
secondLine=string
Units: Drug code
Code for second line drug
Drug use for treating inpatients
inpatient=string
Units: Drug code
Code for drug used for treating inpatients
Initial cure rate
→ scenario → healthSystem → ImmediateOutcomes → initialACR
<initialACR>
IN THIS ORDER:
| [ <CQ ... /> ]
| [ <SP ... /> ]
| [ <AQ ... /> ]
| [ <SPAQ ... /> ]
| [ <ACT ... /> ]
| [ <QN ... /> ]
| <selfTreatment ... />
</initialACR>
Documentation (element)
Units: Proportion Min: 0 Max: 1
Initial cure rate
Chloroquine
→ scenario → healthSystem → ImmediateOutcomes → initialACR → CQ
<CQ
value=double
/>
Documentation (element)
Units: List of elements
Chloroquine
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Sulphadoxine-pyrimethamine
→ scenario → healthSystem → ImmediateOutcomes → initialACR → SP
<SP
value=double
/>
Documentation (element)
Units: List of elements
Sulphadoxine-pyrimethamine
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Amodiaquine
→ scenario → healthSystem → ImmediateOutcomes → initialACR → AQ
<AQ
value=double
/>
Documentation (element)
Units: List of elements
Amodiaquine
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Sulphadoxine-pyrimethamine/Amodiaquine
→ scenario → healthSystem → ImmediateOutcomes → initialACR → SPAQ
<SPAQ
value=double
/>
Documentation (element)
Units: List of elements
Sulphadoxine-pyrimethamine/Amodiaquine
Attributes
Input parameter value
value=double
A double-precision floating-point value.
ACT
→ scenario → healthSystem → ImmediateOutcomes → initialACR → ACT
<ACT
value=double
/>
Documentation (element)
Units: List of elements
Artemisinine combination therapy
Attributes
Input parameter value
value=double
A double-precision floating-point value.
QN
→ scenario → healthSystem → ImmediateOutcomes → initialACR → QN
<QN
value=double
/>
Documentation (element)
Units: List of elements
Quinine
Attributes
Input parameter value
value=double
A double-precision floating-point value.
selfTreatment
→ scenario → healthSystem → ImmediateOutcomes → initialACR → selfTreatment
<selfTreatment
value=double
/>
Documentation (element)
Units: Proportion Min: 0 Max: 1
Probability of self-treatment
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Adherence to treatment
→ scenario → healthSystem → ImmediateOutcomes → compliance
<compliance>
IN THIS ORDER:
| [ <CQ ... /> ]
| [ <SP ... /> ]
| [ <AQ ... /> ]
| [ <SPAQ ... /> ]
| [ <ACT ... /> ]
| [ <QN ... /> ]
| <selfTreatment ... />
</compliance>
Documentation (element)
Units: Proportion Min: 0 Max: 1
Adherence to treatment
Effectiveness of treatment in non-adherent patients
→ scenario → healthSystem → ImmediateOutcomes → nonCompliersEffective
<nonCompliersEffective>
IN THIS ORDER:
| [ <CQ ... /> ]
| [ <SP ... /> ]
| [ <AQ ... /> ]
| [ <SPAQ ... /> ]
| [ <ACT ... /> ]
| [ <QN ... /> ]
| <selfTreatment ... />
</nonCompliersEffective>
Documentation (element)
Units: Proportion Min: 0 Max: 1
Effectiveness of treatment of non compliers
Probability that a patient with uncomplicated disease seeks official care immediately
→ scenario → healthSystem → ImmediateOutcomes → pSeekOfficialCareUncomplicated1
<pSeekOfficialCareUncomplicated1
value=double
/>
Documentation (element)
Units: Proportion Min: 0 Max: 1
Probability that a patient with newly incident uncomplicated disease seeks official care
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Probability that a patient with uncomplicated disease self-treats
→ scenario → healthSystem → ImmediateOutcomes → pSelfTreatUncomplicated
<pSelfTreatUncomplicated
value=double
/>
Documentation (element)
Units: Proportion Min: 0 Max: 1
Probability that a patient with uncomplicated disease self-treats
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Probability that a recurring patient seeks official care
→ scenario → healthSystem → ImmediateOutcomes → pSeekOfficialCareUncomplicated2
<pSeekOfficialCareUncomplicated2
value=double
/>
Documentation (element)
Units: Proportion Min: 0 Max: 1
Probability that a patient with recurrence of uncomplicated disease seeks official care
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Probability that a patient with severe disease obtains appropriate care
→ scenario → healthSystem → ImmediateOutcomes → pSeekOfficialCareSevere
<pSeekOfficialCareSevere
value=double
/>
Documentation (element)
Units: Proportion Min: 0 Max: 1
Probability that a patient with severe disease obtains appropriate care
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Probabilities of sequelae in inpatients
→ scenario → healthSystem → ImmediateOutcomes → pSequelaeInpatient
<pSequelaeInpatient>
IN THIS ORDER:
| ( <item ... /> )+
</pSequelaeInpatient>
Documentation (element)
Units: List of elements
List of age specific probabilities of sequelae in inpatients.
Note: previously these ranges were silently remapped. To prevent unexpected differences, there must be two groups, with maxAgeYrs bounds 5 and 99 respectively.
item
→ scenario → healthSystem → ImmediateOutcomes → pSequelaeInpatient → item
<item
value=double
maxAgeYrs=double
/>
Attributes
Input parameter value
value=double
A double-precision floating-point value.
Upper bound
maxAgeYrs=double
Units: Years Min: 0 Max: 100
Upper bound of age group
CFR
→ scenario → healthSystem → CFR
<CFR>
IN THIS ORDER:
| ( <group ... /> )+
</CFR>
group
→ scenario → healthSystem → CFR → group
<group
cfr=double
lowerbound=double
/>
Attributes
Case fatality rate
cfr=double
Units: Proportion Min: 0 Max: 1
Case fatality rate
Lower bound
lowerbound=double
Units: Years Min: 0 Max: 100
Lower bound of age group
Replacement transmission setting (vector control not enabled)
→ scenario → interventions → timed → intervention → changeEIR
<changeEIR
eipDuration=int
>
IN THIS ORDER:
| ( <EIRDaily ... /> )+
</changeEIR>
Documentation (element)
Units: List of elements
New description of transmission setting for models without vector control interventions (included for backward compatibility)
Attributes
Duration of sporogony (days)
eipDuration=int
The duration of sporogony in days
EIRDaily
→ scenario → entoData → nonVector → EIRDaily
<EIRDaily
[ origin=string ]
>
double
</EIRDaily>
Documentation (type)
Units: Inoculations per person per day
There are two distinct ways of inputing the transmission setting. With this option, the values of daily EIR are input separately. This is only valid for models that do not invoke vector control and is retained only for backward compatibility. When multiple values are given for a single timestep they are averaged.
Attributes
Time origin of EIR sequence
origin=string
importedInfectionsPerThousandHosts
→ scenario → interventions → timed → intervention → importedInfectionsPerThousandHosts
<importedInfectionsPerThousandHosts>
double
</importedInfectionsPerThousandHosts>
Mass Drug Administration
→ scenario → interventions → timed → intervention → MDA
<MDA
[ maxAge=double ]
[ minAge=double ]
coverage=double
/>
Documentation (element)
Units: List of elements
Description of mass drug deployment in the community.
Attributes
Maximum age of eligible individuals
maxAge=double
Units: Years Min: 0 Max: 100
Maximum age of eligible individuals (defaults to 100)
Minimum age of eligible individuals
minAge=double
Units: Years Min: 0 Max: 100
Minimum age of eligible individuals (defaults to 0)
Coverage
coverage=double
Units: Proportion Min: 0 Max: 1
Coverage of intervention
Vaccination
→ scenario → interventions → timed → intervention → vaccinate
<vaccinate
[ maxAge=double ]
[ minAge=double ]
coverage=double
/>
Documentation (element)
Units: List of elements
Description of vaccine deployment in the community
Attributes
Maximum age of eligible individuals
maxAge=double
Units: Years Min: 0 Max: 100
Maximum age of eligible individuals (defaults to 100)
Minimum age of eligible individuals
minAge=double
Units: Years Min: 0 Max: 100
Minimum age of eligible individuals (defaults to 0)
Coverage
coverage=double
Units: Proportion Min: 0 Max: 1
Coverage of intervention
ITN deployment
→ scenario → interventions → timed → intervention → ITN
<ITN
[ maxAge=double ]
[ minAge=double ]
coverage=double
/>
Documentation (element)
Units: List of elements
Description of ITN deployment in the community
Attributes
Maximum age of eligible individuals
maxAge=double
Units: Years Min: 0 Max: 100
Maximum age of eligible individuals (defaults to 100)
Minimum age of eligible individuals
minAge=double
Units: Years Min: 0 Max: 100
Minimum age of eligible individuals (defaults to 0)
Coverage
coverage=double
Units: Proportion Min: 0 Max: 1
Coverage of intervention
IRS deployment
→ scenario → interventions → timed → intervention → IRS
<IRS
[ maxAge=double ]
[ minAge=double ]
coverage=double
/>
Documentation (element)
Units: List of elements
Description of IRS deployment in the community
Attributes
Maximum age of eligible individuals
maxAge=double
Units: Years Min: 0 Max: 100
Maximum age of eligible individuals (defaults to 100)
Minimum age of eligible individuals
minAge=double
Units: Years Min: 0 Max: 100
Minimum age of eligible individuals (defaults to 0)
Coverage
coverage=double
Units: Proportion Min: 0 Max: 1
Coverage of intervention
Mosquito deterrent
→ scenario → interventions → timed → intervention → VectorAvailability
<VectorAvailability
[ maxAge=double ]
[ minAge=double ]
coverage=double
/>
Documentation (element)
Units: List of elements
Description of a mosquito deterrent deployment in the community
Attributes
Maximum age of eligible individuals
maxAge=double
Units: Years Min: 0 Max: 100
Maximum age of eligible individuals (defaults to 100)
Minimum age of eligible individuals
minAge=double
Units: Years Min: 0 Max: 100
Minimum age of eligible individuals (defaults to 0)
Coverage
coverage=double
Units: Proportion Min: 0 Max: 1
Coverage of intervention
IPTi deployment
→ scenario → interventions → timed → intervention → ipti
<ipti
[ maxAge=double ]
[ minAge=double ]
coverage=double
/>
Documentation (element)
Units: List of elements
List of age groups for IPTi distribution
Attributes
Maximum age of eligible individuals
maxAge=double
Units: Years Min: 0 Max: 100
Maximum age of eligible individuals (defaults to 100)
Minimum age of eligible individuals
minAge=double
Units: Years Min: 0 Max: 100
Minimum age of eligible individuals (defaults to 0)
Coverage
coverage=double
Units: Proportion Min: 0 Max: 1
Coverage of intervention
larviciding
→ scenario → interventions → timed → intervention → larviciding
<larviciding>
IN THIS ORDER:
| ( <anopheles ... /> )+
</larviciding>
Documentation (element)
Simple larviciding intervention description.
anopheles
→ scenario → interventions → timed → intervention → larviciding → anopheles
<anopheles
mosquito=string
effectiveness=double
duration=int
/>
Attributes
Mosquito to be larvicided
mosquito=string
Mosquito to be larvicided
Proportionate reduction in emergence
effectiveness=double
Units: none Min: 0 Max: 1
Proportional reduction in emergence rate
Duration of activity
duration=int
Units: days Min: 0 Max: inf
Number of days for which the intervention is active.
healthSystem
→ scenario → healthSystem
<healthSystem>
IN THIS ORDER:
| EXACTLY ONE OF:
| | <EventScheduler ... />
| | <ImmediateOutcomes ... />
| <CFR ... />
</healthSystem>
Documentation (type)
Units: List of elements
Description of case management system, used to specify the initial model or a replacement (an intervention). Encompasses case management data and some other data required to derive case outcomes.
Contains a sub-element describing the particular health-system in use. Health system data is here defined as data used to decide on a treatment strategy, given a case requiring treatment.
Transmission and vector bionomics
<entoData
name=string
mode=("2" or "3" or "4")
>
IN THIS ORDER:
| EXACTLY ONE OF:
| | <nonVector ... />
| | <vector ... />
</entoData>
Documentation (element)
Units: List of elements
Description of entomological data
Attributes
Entomology dataset
name=string
Units: string
Name of entomology data
Transmission simulation mode
mode=("2" or "3" or "4")
Units: Code
Transmission simulation mode
Transmission setting (vector control not enabled)
→ scenario → entoData → nonVector
<nonVector
eipDuration=int
>
IN THIS ORDER:
| ( <EIRDaily ... /> )+
</nonVector>
Documentation (element)
Units: List of elements
Description of transmission setting for models without vector control interventions (included for backward compatibility)
Attributes
Duration of sporogony (days)
eipDuration=int
The duration of sporogony in days
Transmission setting (vector control enabled)
→ scenario → entoData → vector
<vector>
IN THIS ORDER:
| ( <anopheles ... /> )+
| ( <nonHumanHosts ... /> )*
</vector>
Documentation (element)
Units: List of elements
Parameters of the transmission model.
anopheles
→ scenario → entoData → vector → anopheles
<anopheles
mosquito=string
propInfected=double
propInfectious=double
>
IN THIS ORDER:
| <eir ... />
| <mosq ... />
| ( <nonHumanHosts ... /> )*
</anopheles>
Documentation (type)
Description of input EIR for one specific vector species in terms of a Fourier approximation to the ln of the EIR during the burn in period
Attributes
(TODO- Nakul to assign description)
mosquito=string
Initial guess of proportion of mosquitoes infected
propInfected=double
Units: Proportion Min: 0 Max: 1
Initial guess of the proportion of mosquitoes which are infected, o: O_v(t) = o*N_v(t). Only used as a starting value.
Initial guess of proportion of mosquitoes infectious
propInfectious=double
Units: Proportion Min: 0 Max: 1
Initial guess of the proportion of mosquitoes which are infectious, s: S_v(t) = s*N_v(t). Used as a starting value and then fit.
Fourier approximation to pre-intervention EIR
→ scenario → entoData → vector → anopheles → eir
<eir
a0=double
a1=double
b1=double
a2=double
b2=double
EIRRotateAngle=double
/>
Documentation (element)
Units: Inoculations per person per day
Description of target entomological inoculation rate, used to calculate the vector emergence rate. An EIR array is generated from the exponent of the inverse discrete fourier transform of these parameters.
Attributes
a0 parameter of Fourier approximation to ln(EIR)
a0=double
a1 parameter of Fourier approximation to ln(EIR)
a1=double
b1 parameter of Fourier approximation to ln(EIR)
b1=double
a2 parameter of Fourier approximation to ln(EIR)
a2=double
b2 parameter of Fourier approximation to ln(EIR)
b2=double
Rotation angle defining the origin of the Fourier approximation to ln (EIR)
EIRRotateAngle=double
Vector Species
→ scenario → entoData → vector → anopheles → mosq
<mosq
mosqRestDuration=int
extrinsicIncubationPeriod=int
mosqLaidEggsSameDayProportion=double
mosqSeekingDuration=double
mosqSurvivalFeedingCycleProbability=double
mosqProbBiting=double
mosqProbFindRestSite=double
mosqProbResting=double
mosqProbOvipositing=double
mosqHumanBloodIndex=double
/>
Documentation (element)
Units: List of elements
Vector species
Attributes
Duration of the resting period of the vector (days)
mosqRestDuration=int
Extrinsic incubation period (days)
extrinsicIncubationPeriod=int
Proportion of mosquitoes host seeking on same day as ovipositing
mosqLaidEggsSameDayProportion=double
Duration of the host-seeking period of the vector (days)
mosqSeekingDuration=double
Probability that the mosquito survives the feeding cycle
mosqSurvivalFeedingCycleProbability=double
Probability that the mosquito survives biting (TODO- check description)
mosqProbBiting=double
Probability that the mosquito finds a resting place
mosqProbFindRestSite=double
Probability that the mosquito survives resting (TODO- check description)
mosqProbResting=double
Probability that the mosquito survives oviposition (TODO- check description)
mosqProbOvipositing=double
Human blood index
mosqHumanBloodIndex=double
nonHumanHosts
→ scenario → entoData → vector → anopheles → nonHumanHosts
<nonHumanHosts
name=string
mosqRelativeEntoAvailability=double
mosqProbBiting=double
mosqProbFindRestSite=double
mosqProbResting=double
/>
Documentation (element)
Units: List of elements
Non human host parameters, per type of host (must match up with non-species-specific parameters).
Attributes
(TODO- Nakul to assign description)
name=string
(TODO- Nakul to assign description)
mosqRelativeEntoAvailability=double
(TODO- Nakul to assign description)
mosqProbBiting=double
(TODO- Nakul to assign description)
mosqProbFindRestSite=double
(TODO- Nakul to assign description)
mosqProbResting=double
nonHumanHosts
→ scenario → entoData → vector → nonHumanHosts
<nonHumanHosts
name=string
number=double
/>
Attributes
Species of alternative host
name=string
Units: List of elements
Name of this species of non human hosts (must match up with those described per anopheles section)
number
number=double
Pharmacokinetics and pharmacodynamics
<drugDescription>
IN THIS ORDER:
| ( <drug ... /> )+
</drugDescription>
Documentation (element)
Units: List of elements
Drug model parameters
drug
→ scenario → drugDescription → drug
<drug
abbrev=string
>
IN THIS ORDER:
| <PD ... />
| <PK ... />
</drug>
Documentation (element)
Sequence of drug descriptions forming a library of drug parameters.
Attributes
abbrev
abbrev=string
PD
→ scenario → drugDescription → drug → PD
<PD>
IN THIS ORDER:
| ( <allele ... /> )+
</PD>
allele
→ scenario → drugDescription → drug → PD → allele
<allele
name=string
>
IN THIS ORDER:
| <initial_frequency ... />
| <max_killing_rate ... />
| <IC50 ... />
| <slope ... />
</allele>
Documentation (element)
PD parameters per allele, plus initial frequency of each allele.
Note: we assume a one-to-one correspondance of drugs to loci, hence each drug has an independent set of alleles here.
Attributes
name
name=string
Relative frequency
→ scenario → drugDescription → drug → PD → allele → initial_frequency
<initial_frequency>
double
</initial_frequency>
Documentation (element)
Units: relative frequency Min: 0
Frequency, relative to the total frequency of all alleles for this drug/locus.
Maximal parasite killing rate
→ scenario → drugDescription → drug → PD → allele → max_killing_rate
<max_killing_rate>
double
</max_killing_rate>
Documentation (element)
Units: 1/days Min: 0
k1 — Maximal parasite killing rate.
IC50
→ scenario → drugDescription → drug → PD → allele → IC50
<IC50>
double
</IC50>
Documentation (element)
Units: mg/l Min: 0
Half maximal effect concentration.
Slope of effect curve
→ scenario → drugDescription → drug → PD → allele → slope
<slope>
double
</slope>
Documentation (element)
Units: no units
n — Slope of the concentration effect curve
PK
→ scenario → drugDescription → drug → PK
<PK>
IN THIS ORDER:
| <negligible_concentration ... />
| <half_life ... />
| <vol_dist ... />
</PK>
Drug concentration considered negligible
→ scenario → drugDescription → drug → PK → negligible_concentration
<negligible_concentration>
double
</negligible_concentration>
Documentation (element)
Units: mg/l Min: 0
Concentration below which drug's effects are deemed negligible and can be removed from simulation.
drug half-life
→ scenario → drugDescription → drug → PK → half_life
<half_life>
double
</half_life>
Documentation (element)
Units: days Min: 0
Used to calculate elimination rate (which is: ln(2) / half_life).
Volume of Distribution
→ scenario → drugDescription → drug → PK → vol_dist
<vol_dist>
double
</vol_dist>
Documentation (element)
Units: l/kg Min: 0
Volume of Distribution
Model options and parameters
<model>
IN THIS ORDER:
| <ModelOptions ... />
| <clinical ... />
| <parameters ... />
</model>
Documentation (element)
Units: List of elements
Encapsulation of all parameters which describe the model according to which fitting is done.
Model Options
→ scenario → model → ModelOptions
<ModelOptions>
IN THIS ORDER:
| ( <option ... /> )*
</ModelOptions>
Documentation (element)
Units: List of elements
All model options (bug fixes, choices between models, etc.).
The list of recognised options can be found in the code at:
include/util/ModelOptions.hpp and should also be in the wiki.
clinical
<clinical
healthSystemMemory=int
/>
Documentation (type)
Units: List of elements
Description of clinical parameters.
This is related to the health-system description, but contains data which can't be changed as part of an intervention and is not restricted to treatment.
Attributes
Follow-up period during which recurrence is treated as a failure
healthSystemMemory=int
Units: Time steps Min: 1 Max: 100
Follow-up period during which a recurrence is considered to be a treatment failure
Parameters of the model of epidemiology
→ scenario → model → parameters
<parameters
interval=int
iseed=int
delta=double
latentp=int
>
IN THIS ORDER:
| ( <parameter ... /> )+
</parameters>
Documentation (element)
Units: List of elements
Parameters of the epidemiological model
Attributes
Simulation step
interval=int
Units: Days
Simulation step
Random number seed
iseed=int
Units: Number
Seed for RNG
delta
delta=double
Units: ? Redundant
this no longer seems to be used
Pre-erythrocytic latent period
latentp=int
Units: Time steps Min: 0 Max: 20
pre-erythrocytic latent period, in time steps
parameter
→ scenario → model → parameters → parameter
<parameter
name=string
number=int
value=double
[ include=boolean ]
/>
Attributes
Name of parameter
name=string
Units: string
Name of parameter
Parameter number
number=int
Units: Number Min: 1 Max: 100
Reference number of input parameter
Parameter value
value=double
Units: Number Min: 0
Parameter value
Sampling indicator
include=boolean
Units: Number Min: 0 Max: 1
True if parameter is to be sampled in optimization runs. Not used in simulator app.
Schema 17 documentation
Generated from: scenario_17.xsd
.
Key:
abc required (one)
[ def ] optional (zero or one)
( ghi )* any number (zero or more)
( jkl )+ at least one
( mno ){2,inf} two or more occurrences
scenario
→ scenario
<scenario
schemaVersion=int
analysisNo=int
maximumAgeYrs=double
name=string
popSize=int
wuID=int
assimMode=("0" or "1")
mode=("2" or "3" or "4")
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:noNamespaceSchemaLocation="scenario_17.xsd"
>
IN THIS ORDER:
| <demography ... />
| <monitoring ... />
| <interventions ... />
| <healthSystem ... />
| <entoData ... />
| [ <drugDescription ... /> ]
| <model ... />
</scenario>
Documentation (element)
Units: List of elements
Description of scenario
Attributes
schemaVersion
schemaVersion=int
Version of xml schema. If not equal to the current version an error is thrown. Use SchemaTranslator to update xml files.
analysisNo
analysisNo=int
Units: Number Min: 1 Max: 100000000
Unique identifier of scenario
maximumAgeYrs
maximumAgeYrs=double
Units: Number Min: 0 Max: 100
Maximum age of simulated humans
name
name=string
Units: string
Name of intervention
popSize
popSize=int
Units: Count Min: 1 Max: 100000
Population size
wuID
wuID=int
Units: Number Min: 1 Max: 100000000
Work unit ID. Only used to validate checkpointing, to prevent checkpoint cheats.
assimMode
assimMode=("0" or "1")
Units: Code
Assimilator mode. Defines output of simulator as either complete (columns: time,agegroup,measure,value) or minimal (single column: value)
mode
mode=("2" or "3" or "4")
Units: Code
Transmission simulation mode
demography
→ scenario → demography
<demography
name=string
[ growthRate=double ]
>
IN THIS ORDER:
| <ageGroup ... />
</demography>
Documentation (element)
Units: List of elements
Description of demography
Documentation (type)
Units: List of elements
Description of demography
Attributes
name
name=string
Units: string
Name of demography data
growthRate
growthRate=double
Units: Number Min: 0 Max: 0
Growth rate of human population.
ageGroup
→ scenario → demography → ageGroup
<ageGroup
lowerbound=double
>
IN THIS ORDER:
| ( <group ... /> )+
</ageGroup>
Documentation (element)
Units: List of elements
List of age groups included in demography
Documentation (type)
Units: List of elements
List of age groups included in demography or surveys
Attributes
lowerbound
lowerbound=double
Units: Years Min: 0 Max: 100
Lower bound of age group
group
→ scenario → demography → ageGroup → group
<group
poppercent=double
upperbound=double
/>
Attributes
poppercent
poppercent=double
upperbound
upperbound=double
monitoring
→ scenario → monitoring
<monitoring
name=string
>
IN THIS ORDER:
| <SurveyOptions ... />
| <surveys ... />
| <ageGroup ... />
</monitoring>
Documentation (element)
Units: List of elements
Description of surveys
Documentation (type)
Units: List of elements
Description of surveys
Attributes
name
name=string
Units: string
Name of monitoring data
SurveyOptions
→ scenario → monitoring → SurveyOptions
<SurveyOptions>
IN THIS ORDER:
| ( <option ... /> )*
</SurveyOptions>
Documentation (element)
List of all active survey options. See include/Survey.h for a list of supported outputs. Should also be on the wiki.
option
→ scenario → monitoring → SurveyOptions → option
<option
name=string
value=boolean
/>
Attributes
name
name=string
Option name. Must be one of a strictly defined set. Options are not required to be listed if their default value is desired.
value
value=boolean
Option value (true/false). Each option has a default value (may be true or false) which is used if the option is not listed.
surveys
→ scenario → monitoring → surveys
<surveys
detectionLimit=double
>
IN THIS ORDER:
| <surveyTime ... />
</surveys>
Documentation (element)
Units: List of elements
List of survey times
Attributes
detectionLimit
detectionLimit=double
Units: parasites/micolitre Min: 0 Max: 1000
Detection limit for parasitemia
surveyTime
→ scenario → monitoring → surveys → surveyTime
<surveyTime>
int
</surveyTime>
Documentation (element)
Units: Number Min: 0
Survey time; 0 means just before start of main sim and is a valid survey-point. Reported data is either from a point-time survey (immediate data) or is collected over the previous year (data from previous timesteps-per-year period). Simulation will end immediately after last survey is taken.
ageGroup
→ scenario → monitoring → ageGroup
<ageGroup
lowerbound=double
>
IN THIS ORDER:
| ( <group ... /> )+
</ageGroup>
Documentation (element)
Units: List of elements
List of age groups included in demography or surveys
Documentation (type)
Units: List of elements
List of age groups included in surveys
Attributes
lowerbound
lowerbound=double
Units: Years Min: 0 Max: 100
Lower bound of age group
group
→ scenario → monitoring → ageGroup → group
<group
upperbound=double
/>
Attributes
upperbound
upperbound=double
interventions
<interventions
name=string
>
IN THIS ORDER:
| [ <MDADescription ... /> ]
| ( <vaccineDescription ... /> ){0,3}
| [ <iptiDescription ... /> ]
| ( <anopheles ... /> )*
| [ <continuous ... /> ]
| [ <timed ... /> ]
</interventions>
Documentation (element)
Units: List of elements
List of interventions
Documentation (type)
Units: List of elements
List of interventions
Attributes
name
name=string
Units: string
Name of age specific intervention
MDADescription
→ scenario → interventions → MDADescription
<MDADescription>
IN THIS ORDER:
| ( <medicate ... /> )*
</MDADescription>
Documentation (element)
Units: List of medicate elements
Description of drug dose(s) used in a mass-drug-administration intervention.
medicate
→ scenario → interventions → MDADescription → medicate
<medicate
name=string
qty=double
time=double
/>
Attributes
name
name=string
Units: string
Abbreviated name of drug compound
qty
qty=double
Units: mg
Quantity of drug compound
time
time=double
Units: hours Min: 0
Number of hours past start of timestep the drug is medicated at (usually 0).
vaccineDescription
→ scenario → interventions → vaccineDescription
<vaccineDescription
vaccineType=int
>
IN THIS ORDER:
| <halfLifeYrs ... />
| <efficacyB ... />
| ( <initialEfficacy ... /> )+
</vaccineDescription>
Attributes
vaccineType
vaccineType=int
Units: Code
Type of vaccine
halfLifeYrs
→ scenario → interventions → vaccineDescription → halfLifeYrs
<halfLifeYrs
value=double
/>
Documentation (element)
Units: Years Min: 0 Max: 100
Half life of drug effect
Attributes
value
value=double
TODO
efficacyB
→ scenario → interventions → vaccineDescription → efficacyB
<efficacyB
value=double
/>
Documentation (element)
Units: Positive real Min: 0.001 Max: 1.00E+06
Measure of variation in vaccine efficacy
Attributes
value
value=double
TODO
initialEfficacy
→ scenario → interventions → vaccineDescription → initialEfficacy
<initialEfficacy
value=double
/>
Attributes
value
value=double
TODO
iptiDescription
→ scenario → interventions → iptiDescription
<iptiDescription
iptiEffect=int
>
IN THIS ORDER:
| ( <infGenotype ... /> )+
</iptiDescription>
Attributes
iptiEffect
iptiEffect=int
infGenotype
→ scenario → interventions → iptiDescription → infGenotype
<infGenotype
name=string
freq=double
ACR=double
proph=int
tolPeriod=int
atten=double
/>
Attributes
name
name=string
Units: string
Name of age specific intervention
freq
freq=double
ACR
ACR=double
proph
proph=int
tolPeriod
tolPeriod=int
atten
atten=double
anopheles
→ scenario → interventions → anopheles
<anopheles
mosquito=string
>
IN THIS ORDER:
| [ <ITNDescription ... /> ]
| [ <IRSDescription ... /> ]
| [ <VADescription ... /> ]
</anopheles>
Attributes
mosquito
mosquito=string
ITNDescription
→ scenario → interventions → anopheles → ITNDescription
<ITNDescription
name=string
>
IN THIS ORDER:
| <deterrency ... />
| <preprandialKillingEffect ... />
| <postprandialKillingEffect ... />
</ITNDescription>
Attributes
name
name=string
Units: string
Name of Insecticide Treated Net intervention
deterrency
→ scenario → interventions → anopheles → ITNDescription → deterrency
<deterrency
initial=double
halflife=double
[ Weibullk=double ]
/>
Documentation (element)
Units: None Min: 0 Max: 1
One minus this multiplies the host's availability (before decay).
Documentation (type)
Specification of a proportion with Weibull or exponential decay.
Attributes
initial
initial=double
Units: None Min: 0 Max: 1
The value before any decay.
halflife
halflife=double
Units: Years Min: 0
Half-life in years (more generally, halflife/ln(2) is lambda from the Weibull distribution).
Weibullk
Weibullk=double
Min: 0
The parameter k of the Weibull distribution. If missing, 1.0 is used (equivalent to exponential decay).
preprandialKillingEffect
→ scenario → interventions → anopheles → ITNDescription → preprandialKillingEffect
<preprandialKillingEffect
initial=double
halflife=double
[ Weibullk=double ]
/>
Documentation (element)
Units: None Min: 0 Max: 1
One minus this multiplies the survival rate of mosquitoes attempting to bite a host.
Documentation (type)
Specification of a proportion with Weibull or exponential decay.
Attributes
initial
initial=double
Units: None Min: 0 Max: 1
The value before any decay.
halflife
halflife=double
Units: Years Min: 0
Half-life in years (more generally, halflife/ln(2) is lambda from the Weibull distribution).
Weibullk
Weibullk=double
Min: 0
The parameter k of the Weibull distribution. If missing, 1.0 is used (equivalent to exponential decay).
postprandialKillingEffect
→ scenario → interventions → anopheles → ITNDescription → postprandialKillingEffect
<postprandialKillingEffect
initial=double
halflife=double
[ Weibullk=double ]
/>
Documentation (element)
Units: None Min: 0 Max: 1
One minus this multiplies the survival rate of mosquitoes attempting to escape after biting a host.
Documentation (type)
Specification of a proportion with Weibull or exponential decay.
Attributes
initial
initial=double
Units: None Min: 0 Max: 1
The value before any decay.
halflife
halflife=double
Units: Years Min: 0
Half-life in years (more generally, halflife/ln(2) is lambda from the Weibull distribution).
Weibullk
Weibullk=double
Min: 0
The parameter k of the Weibull distribution. If missing, 1.0 is used (equivalent to exponential decay).
IRSDescription
→ scenario → interventions → anopheles → IRSDescription
<IRSDescription
name=string
>
IN THIS ORDER:
| <deterrency ... />
| <killingEffect ... />
</IRSDescription>
Attributes
name
name=string
Units: string
Name of Indoor Residual Spraying intervention
deterrency
→ scenario → interventions → anopheles → IRSDescription → deterrency
<deterrency
initial=double
halflife=double
[ Weibullk=double ]
/>
Documentation (element)
Units: None Min: 0 Max: 1
One minus this multiplies the host's availability.
Documentation (type)
Specification of a proportion with Weibull or exponential decay.
Attributes
initial
initial=double
Units: None Min: 0 Max: 1
The value before any decay.
halflife
halflife=double
Units: Years Min: 0
Half-life in years (more generally, halflife/ln(2) is lambda from the Weibull distribution).
Weibullk
Weibullk=double
Min: 0
The parameter k of the Weibull distribution. If missing, 1.0 is used (equivalent to exponential decay).
killingEffect
→ scenario → interventions → anopheles → IRSDescription → killingEffect
<killingEffect
initial=double
halflife=double
[ Weibullk=double ]
/>
Documentation (element)
Units: None Min: 0 Max: 1
One minus this multiplies the survival rate of resting mosquitoes.
Documentation (type)
Specification of a proportion with Weibull or exponential decay.
Attributes
initial
initial=double
Units: None Min: 0 Max: 1
The value before any decay.
halflife
halflife=double
Units: Years Min: 0
Half-life in years (more generally, halflife/ln(2) is lambda from the Weibull distribution).
Weibullk
Weibullk=double
Min: 0
The parameter k of the Weibull distribution. If missing, 1.0 is used (equivalent to exponential decay).
VADescription
→ scenario → interventions → anopheles → VADescription
<VADescription
name=string
>
IN THIS ORDER:
| <deterrency ... />
</VADescription>
Attributes
name
name=string
Units: string
Name of mosquito deterrency intervention
deterrency
→ scenario → interventions → anopheles → VADescription → deterrency
<deterrency
initial=double
halflife=double
[ Weibullk=double ]
/>
Documentation (element)
Units: None Min: 0 Max: 1
One minus this multiplies the host's availability.
Documentation (type)
Specification of a proportion with Weibull or exponential decay.
Attributes
initial
initial=double
Units: None Min: 0 Max: 1
The value before any decay.
halflife
halflife=double
Units: Years Min: 0
Half-life in years (more generally, halflife/ln(2) is lambda from the Weibull distribution).
Weibullk
Weibullk=double
Min: 0
The parameter k of the Weibull distribution. If missing, 1.0 is used (equivalent to exponential decay).
continuous
→ scenario → interventions → continuous
<continuous>
IN THIS ORDER:
| ( <vaccine ... /> )*
| ( <ITN ... /> )*
| ( <ipti ... /> )*
</continuous>
vaccine
→ scenario → interventions → continuous → vaccine
<vaccine
targetAgeYrs=double
coverage=double
/>
Documentation (element)
Units: List of elements
List of age groups for vaccination
Attributes
targetAgeYrs
targetAgeYrs=double
Units: Years Min: 0 Max: 100
Target age of intervention
coverage
coverage=double
Units: Proportion Min: 0 Max: 1
Coverage of intervention
ITN
→ scenario → interventions → continuous → ITN
<ITN
targetAgeYrs=double
coverage=double
/>
Documentation (element)
Units: List of elements
Description of ITN deployment in the community
Attributes
targetAgeYrs
targetAgeYrs=double
Units: Years Min: 0 Max: 100
Target age of intervention
coverage
coverage=double
Units: Proportion Min: 0 Max: 1
Coverage of intervention
ipti
→ scenario → interventions → continuous → ipti
<ipti
targetAgeYrs=double
coverage=double
/>
Documentation (element)
Units: List of elements
List of age groups for IPTi distribution
Attributes
targetAgeYrs
targetAgeYrs=double
Units: Years Min: 0 Max: 100
Target age of intervention
coverage
coverage=double
Units: Proportion Min: 0 Max: 1
Coverage of intervention
timed
→ scenario → interventions → timed
<timed>
IN THIS ORDER:
| ( <intervention ... /> )+
</timed>
Documentation (element)
Units: List of elements
List of timed interventions
Documentation (type)
Units: List of elements
List of timed interventions
intervention
→ scenario → interventions → timed → intervention
<intervention
time=int
>
IN THIS ORDER:
| [ <changeHS ... /> ]
| [ <changeEIR ... /> ]
| [ <MDA ... /> ]
| [ <vaccinate ... /> ]
| [ <ITN ... /> ]
| [ <IRS ... /> ]
| [ <VectorAvailability ... /> ]
| [ <ipti ... /> ]
| [ <larviciding ... /> ]
</intervention>
Attributes
time
time=int
Units: Number Min: 1 Max: 10000
Time step of intervention
changeHS
→ scenario → interventions → timed → intervention → changeHS
<changeHS>
IN THIS ORDER:
| EXACTLY ONE OF:
| | <EventScheduler ... />
| | <ImmediateOutcomes ... />
| <CFR ... />
</changeHS>
Documentation (type)
Units: List of elements
Generic description of health system, used to specify the default or a replacement-as-intervention.
Contains a sub-element describing the particular health-system in use. Health system data is here defined as data used to decide on a treatment strategy, given a case requiring treatment.
EventScheduler
→ scenario → healthSystem → EventScheduler
<EventScheduler>
IN THIS ORDER:
| <CaseManagementTree ... />
| <ClinicalOutcomes ... />
</EventScheduler>
CaseManagementTree
→ scenario → healthSystem → EventScheduler → CaseManagementTree
<CaseManagementTree
mask=int
>
IN THIS ORDER:
| ( <CM_pBranchSet ... /> )*
| ( <CM_leaf ... /> )+
</CaseManagementTree>
Documentation (element)
Units: List of elements
Partial description of the case management tree. The tree consists of: Probability branches: map an ID to another ID (the outcome) stochastically. Test branches: map an ID with a special flag to another ID; these are hard-coded. Leaf nodes: these map an ID to a list of drug medications.
Test branches are used if a flag requests a test (currently only RESULT_DETERMINE for parasite tests). Otherwise a probability or leaf branch is used by masking the current ID with mask (attribute for this element).
Attributes
mask
mask=int
Units: None Min: 0 Max: 0xFFFFFFFF
Value used to mask decision ids before selecting a branch/leaf.
CM_pBranchSet
→ scenario → healthSystem → EventScheduler → CaseManagementTree → CM_pBranchSet
<CM_pBranchSet
ID=int
>
IN THIS ORDER:
| ( <CM_pBranch ... /> )+
</CM_pBranchSet>
Documentation (element)
A probability branch node: contains a list of outcome nodes along with probabilities, which link to another probability/test branch or leaf node.
Attributes
ID
ID=int
Units: ID
Decision identifier.
CM_pBranch
→ scenario → healthSystem → EventScheduler → CaseManagementTree → CM_pBranchSet → CM_pBranch
<CM_pBranch
outcome=int
p=double
/>
Attributes
outcome
outcome=int
ID of next probability/test branch or leaf node.
p
p=double
Units: Proportion Min: 0 Max: 1
Probability of this outcome
CM_leaf
→ scenario → healthSystem → EventScheduler → CaseManagementTree → CM_leaf
<CM_leaf
ID=int
>
IN THIS ORDER:
| ( <medicate ... /> )*
</CM_leaf>
Documentation (element)
End points of the case management tree, listing treatments.
Attributes
ID
ID=int
Units: ID
Decision identifier.
medicate
→ scenario → healthSystem → EventScheduler → CaseManagementTree → CM_leaf → medicate
<medicate
name=string
qty=double
time=double
/>
Attributes
name
name=string
Units: string
Abbreviated name of drug compound
qty
qty=double
Units: mg
Quantity of drug compound
time
time=double
Units: hours Min: 0
Number of hours past start of timestep the drug is medicated at (usually 0).
ClinicalOutcomes
→ scenario → healthSystem → EventScheduler → ClinicalOutcomes
<ClinicalOutcomes
severeMask=int
>
IN THIS ORDER:
| ( <outcomes ... /> )+
</ClinicalOutcomes>
Documentation (element)
Tables describing the probability of death and the expected length of hospital stay.
The ID looked up in each table is the final outcome ID of the case-management tree binary or-ed with the mask given here.
Attributes
severeMask
severeMask=int
Units: None Min: 0 Max: 0xFFFFFFFF
Value used to mask the final ID from the case-management tree before looking up values here.
outcomes
→ scenario → healthSystem → EventScheduler → ClinicalOutcomes → outcomes
<outcomes
ID=int
pDeath=double
hospitalizationDaysDeath=int
hospitalizationDaysRecover=int
/>
Documentation (element)
Parameters for a path through the case-management tree (i.e. table row).
Attributes
ID
ID=int
pDeath
pDeath=double
Units: None Min: 0 Max: 1
The probability of death. This probability is applied once-only for each case, irrespective of the branch (thus entries with p=0 for UC cases are probably needed).
hospitalizationDaysDeath
hospitalizationDaysDeath=int
Units: Days Min: 0
The median length of stay in hospital, given the patient dies directly from this event. (Use median rather than a distribution because data should be more reliable and the effect of heterogeneity should be small.)
hospitalizationDaysRecover
hospitalizationDaysRecover=int
Units: Days Min: 0
The median length of stay in hospital, given the patient recovers from this event. (Use median rather than a distribution because data should be more reliable and the effect of heterogeneity should be small.)
ImmediateOutcomes
→ scenario → healthSystem → ImmediateOutcomes
<ImmediateOutcomes
name=string
>
IN THIS ORDER:
| <drugRegimen ... />
| <initialACR ... />
| <compliance ... />
| <nonCompliersEffective ... />
| <pSeekOfficialCareUncomplicated1 ... />
| <pSelfTreatUncomplicated ... />
| <pSeekOfficialCareUncomplicated2 ... />
| <pSeekOfficialCareSevere ... />
| <pSequelaeInpatient ... />
</ImmediateOutcomes>
- drugRegimen
- initialACR
- compliance
- nonCompliersEffective
- pSeekOfficialCareUncomplicated1
- pSelfTreatUncomplicated
- pSeekOfficialCareUncomplicated2
- pSeekOfficialCareSevere
- pSequelaeInpatient
Documentation (type)
Units: List of elements
Description of "immediate outcomes" health system: Tediosi et al case management model (Case management as described in AJTMH 75 (suppl 2) pp90-103).
Attributes
name
name=string
Units: string
Name of health system
drugRegimen
→ scenario → healthSystem → ImmediateOutcomes → drugRegimen
<drugRegimen
firstLine=string
secondLine=string
inpatient=string
/>
Documentation (element)
Units: List of elements
Description of drug regimen
Attributes
firstLine
firstLine=string
Units: Drug code
Code for first line drug
secondLine
secondLine=string
Units: Drug code
Code for second line drug
inpatient
inpatient=string
Units: Drug code
Code for drug used for treating inpatients
initialACR
→ scenario → healthSystem → ImmediateOutcomes → initialACR
<initialACR>
IN THIS ORDER:
| [ <CQ ... /> ]
| [ <SP ... /> ]
| [ <AQ ... /> ]
| [ <SPAQ ... /> ]
| [ <ACT ... /> ]
| [ <QN ... /> ]
| <selfTreatment ... />
</initialACR>
Documentation (element)
Units: Proportion Min: 0 Max: 1
Initial cure rate
CQ
→ scenario → healthSystem → ImmediateOutcomes → initialACR → CQ
<CQ
value=double
/>
Documentation (element)
Units: List of elements
Chloroquine
Attributes
value
value=double
TODO
SP
→ scenario → healthSystem → ImmediateOutcomes → initialACR → SP
<SP
value=double
/>
Documentation (element)
Units: List of elements
Sulphadoxine-pyrimethamine
Attributes
value
value=double
TODO
AQ
→ scenario → healthSystem → ImmediateOutcomes → initialACR → AQ
<AQ
value=double
/>
Documentation (element)
Units: List of elements
Amodiaquine
Attributes
value
value=double
TODO
SPAQ
→ scenario → healthSystem → ImmediateOutcomes → initialACR → SPAQ
<SPAQ
value=double
/>
Documentation (element)
Units: List of elements
Sulphadoxine-pyrimethamine/Amodiaquine
Attributes
value
value=double
TODO
ACT
→ scenario → healthSystem → ImmediateOutcomes → initialACR → ACT
<ACT
value=double
/>
Documentation (element)
Units: List of elements
Artemisinine combination therapy
Attributes
value
value=double
TODO
QN
→ scenario → healthSystem → ImmediateOutcomes → initialACR → QN
<QN
value=double
/>
Documentation (element)
Units: List of elements
Quinine
Attributes
value
value=double
TODO
selfTreatment
→ scenario → healthSystem → ImmediateOutcomes → initialACR → selfTreatment
<selfTreatment
value=double
/>
Documentation (element)
Units: Proportion Min: 0 Max: 1
Probability of self-treatment
Attributes
value
value=double
TODO
compliance
→ scenario → healthSystem → ImmediateOutcomes → compliance
<compliance>
IN THIS ORDER:
| [ <CQ ... /> ]
| [ <SP ... /> ]
| [ <AQ ... /> ]
| [ <SPAQ ... /> ]
| [ <ACT ... /> ]
| [ <QN ... /> ]
| <selfTreatment ... />
</compliance>
Documentation (element)
Units: Proportion Min: 0 Max: 1
Adherence to treatment
nonCompliersEffective
→ scenario → healthSystem → ImmediateOutcomes → nonCompliersEffective
<nonCompliersEffective>
IN THIS ORDER:
| [ <CQ ... /> ]
| [ <SP ... /> ]
| [ <AQ ... /> ]
| [ <SPAQ ... /> ]
| [ <ACT ... /> ]
| [ <QN ... /> ]
| <selfTreatment ... />
</nonCompliersEffective>
Documentation (element)
Units: Proportion Min: 0 Max: 1
Effectiveness of treatment of non compliers
pSeekOfficialCareUncomplicated1
→ scenario → healthSystem → ImmediateOutcomes → pSeekOfficialCareUncomplicated1
<pSeekOfficialCareUncomplicated1
value=double
/>
Documentation (element)
Units: Proportion Min: 0 Max: 1
Probability that a patient with newly incident uncomplicated disease seeks official care
Attributes
value
value=double
TODO
pSelfTreatUncomplicated
→ scenario → healthSystem → ImmediateOutcomes → pSelfTreatUncomplicated
<pSelfTreatUncomplicated
value=double
/>
Documentation (element)
Units: Proportion Min: 0 Max: 1
Probability that a patient with uncomplicated disease self-treats
Attributes
value
value=double
TODO
pSeekOfficialCareUncomplicated2
→ scenario → healthSystem → ImmediateOutcomes → pSeekOfficialCareUncomplicated2
<pSeekOfficialCareUncomplicated2
value=double
/>
Documentation (element)
Units: Proportion Min: 0 Max: 1
Probability that a patient with recurrence of uncomplicated disease seeks official care
Attributes
value
value=double
TODO
pSeekOfficialCareSevere
→ scenario → healthSystem → ImmediateOutcomes → pSeekOfficialCareSevere
<pSeekOfficialCareSevere
value=double
/>
Documentation (element)
Units: Proportion Min: 0 Max: 1
Probability that a patient with severe disease seeks official care
Attributes
value
value=double
TODO
pSequelaeInpatient
→ scenario → healthSystem → ImmediateOutcomes → pSequelaeInpatient
<pSequelaeInpatient>
IN THIS ORDER:
| ( <item ... /> )+
</pSequelaeInpatient>
Documentation (element)
Units: List of elements
List of age specific probabilities of sequelae in inpatients.
Note: previously these ranges were silently remapped. To prevent unexpected differences, there must be two groups, with maxAgeYrs bounds 5 and 99 respectively.
item
→ scenario → healthSystem → ImmediateOutcomes → pSequelaeInpatient → item
<item
value=double
maxAgeYrs=double
/>
Attributes
value
value=double
TODO
maxAgeYrs
maxAgeYrs=double
Units: Years Min: 0 Max: 100
Upper bound of age group
CFR
→ scenario → healthSystem → CFR
<CFR>
IN THIS ORDER:
| ( <group ... /> )+
</CFR>
group
→ scenario → healthSystem → CFR → group
<group
cfr=double
lowerbound=double
/>
Attributes
cfr
cfr=double
Units: Proportion Min: 0 Max: 1
Case fatality rate
lowerbound
lowerbound=double
Units: Years Min: 0 Max: 100
Lower bound of age group
changeEIR
→ scenario → interventions → timed → intervention → changeEIR
<changeEIR
eipDuration=int
>
IN THIS ORDER:
| ( <EIRDaily ... /> )+
</changeEIR>
Documentation (type)
Parameters for the non-vector transmission model.
Attributes
eipDuration
eipDuration=int
The duration of sporogony in days
EIRDaily
→ scenario → entoData → nonVector → EIRDaily
<EIRDaily
[ origin=string ]
>
double
</EIRDaily>
Documentation (type)
Units: Innoculations per person per day
Value of daily EIR; when multiple values are given for a single timestep they are averaged.
Attributes
origin
origin=string
MDA
→ scenario → interventions → timed → intervention → MDA
<MDA
[ maxAge=double ]
[ minAge=double ]
coverage=double
/>
Documentation (element)
Units: List of elements
Description of mass drug deployment in the community.
Attributes
maxAge
maxAge=double
Units: Years Min: 0 Max: 100
Maximum age of eligible individuals (defaults to 100)
minAge
minAge=double
Units: Years Min: 0 Max: 100
Minimum age of eligible individuals (defaults to 0)
coverage
coverage=double
Units: Proportion Min: 0 Max: 1
Coverage of intervention
vaccinate
→ scenario → interventions → timed → intervention → vaccinate
<vaccinate
[ maxAge=double ]
[ minAge=double ]
coverage=double
/>
Documentation (element)
Units: List of elements
Description of vaccine deployment in the community
Attributes
maxAge
maxAge=double
Units: Years Min: 0 Max: 100
Maximum age of eligible individuals (defaults to 100)
minAge
minAge=double
Units: Years Min: 0 Max: 100
Minimum age of eligible individuals (defaults to 0)
coverage
coverage=double
Units: Proportion Min: 0 Max: 1
Coverage of intervention
ITN
→ scenario → interventions → timed → intervention → ITN
<ITN
[ maxAge=double ]
[ minAge=double ]
coverage=double
/>
Documentation (element)
Units: List of elements
Description of ITN deployment in the community
Attributes
maxAge
maxAge=double
Units: Years Min: 0 Max: 100
Maximum age of eligible individuals (defaults to 100)
minAge
minAge=double
Units: Years Min: 0 Max: 100
Minimum age of eligible individuals (defaults to 0)
coverage
coverage=double
Units: Proportion Min: 0 Max: 1
Coverage of intervention
IRS
→ scenario → interventions → timed → intervention → IRS
<IRS
[ maxAge=double ]
[ minAge=double ]
coverage=double
/>
Documentation (element)
Units: List of elements
Description of IRS deployment in the community
Attributes
maxAge
maxAge=double
Units: Years Min: 0 Max: 100
Maximum age of eligible individuals (defaults to 100)
minAge
minAge=double
Units: Years Min: 0 Max: 100
Minimum age of eligible individuals (defaults to 0)
coverage
coverage=double
Units: Proportion Min: 0 Max: 1
Coverage of intervention
VectorAvailability
→ scenario → interventions → timed → intervention → VectorAvailability
<VectorAvailability
[ maxAge=double ]
[ minAge=double ]
coverage=double
/>
Documentation (element)
Units: List of elements
Description of a mosquito detterent deployment in the community
Attributes
maxAge
maxAge=double
Units: Years Min: 0 Max: 100
Maximum age of eligible individuals (defaults to 100)
minAge
minAge=double
Units: Years Min: 0 Max: 100
Minimum age of eligible individuals (defaults to 0)
coverage
coverage=double
Units: Proportion Min: 0 Max: 1
Coverage of intervention
ipti
→ scenario → interventions → timed → intervention → ipti
<ipti
[ maxAge=double ]
[ minAge=double ]
coverage=double
/>
Documentation (element)
Units: List of elements
List of age groups for IPTi distribution
Attributes
maxAge
maxAge=double
Units: Years Min: 0 Max: 100
Maximum age of eligible individuals (defaults to 100)
minAge
minAge=double
Units: Years Min: 0 Max: 100
Minimum age of eligible individuals (defaults to 0)
coverage
coverage=double
Units: Proportion Min: 0 Max: 1
Coverage of intervention
larviciding
→ scenario → interventions → timed → intervention → larviciding
<larviciding>
IN THIS ORDER:
| ( <anopheles ... /> )+
</larviciding>
Documentation (element)
Simple larviciding intervention description.
anopheles
→ scenario → interventions → timed → intervention → larviciding → anopheles
<anopheles
mosquito=string
effectiveness=double
duration=int
/>
Attributes
mosquito
mosquito=string
effectiveness
effectiveness=double
Units: none Min: 0 Max: 1
Proportion to reduce emergence rates by.
duration
duration=int
Units: days Min: 0 Max: inf
Number of days for which the intervention is active.
healthSystem
→ scenario → healthSystem
<healthSystem>
IN THIS ORDER:
| EXACTLY ONE OF:
| | <EventScheduler ... />
| | <ImmediateOutcomes ... />
| <CFR ... />
</healthSystem>
Documentation (type)
Units: List of elements
Generic description of health system, used to specify the default or a replacement-as-intervention.
Contains a sub-element describing the particular health-system in use. Health system data is here defined as data used to decide on a treatment strategy, given a case requiring treatment.
entoData
<entoData
name=string
>
IN THIS ORDER:
| EXACTLY ONE OF:
| | <nonVector ... />
| | <vector ... />
</entoData>
Documentation (element)
Units: List of elements
Description of entomological data
Documentation (type)
Units: List of elements
Data for entomodel
Attributes
name
name=string
Units: string
Name of entomology data
nonVector
→ scenario → entoData → nonVector
<nonVector
eipDuration=int
>
IN THIS ORDER:
| ( <EIRDaily ... /> )+
</nonVector>
Documentation (type)
Parameters for the non-vector transmission model.
Attributes
eipDuration
eipDuration=int
The duration of sporogony in days
vector
→ scenario → entoData → vector
<vector>
IN THIS ORDER:
| ( <anopheles ... /> )+
| ( <nonHumanHosts ... /> )*
</vector>
Documentation (element)
Parameters for the vector transmission model.
anopheles
→ scenario → entoData → vector → anopheles
<anopheles
mosquito=string
propInfected=double
propInfectious=double
>
IN THIS ORDER:
| <eir ... />
| <mosq ... />
| ( <nonHumanHosts ... /> )*
</anopheles>
Attributes
mosquito
mosquito=string
propInfected
propInfected=double
Units: Proportion Min: 0 Max: 1
Initial guess of the proportion of mosquitoes which are infected, o: O_v(t) = o*N_v(t). Only used as a starting value.
propInfectious
propInfectious=double
Units: Proportion Min: 0 Max: 1
Initial guess of the proportion of mosquitoes which are infectious, s: S_v(t) = s*N_v(t). Used as a starting value and then fit.
eir
→ scenario → entoData → vector → anopheles → eir
<eir
a0=double
a1=double
b1=double
a2=double
b2=double
EIRRotateAngle=double
/>
Documentation (element)
Units: Innoculations per person per day
Description of target entomological inoculation rate, used to calculate the vector emergence rate. An EIR array is generated from the exponent of the inverse discrete fourier transform of these parameters.
Attributes
a0
a0=double
a1
a1=double
b1
b1=double
a2
a2=double
b2
b2=double
EIRRotateAngle
EIRRotateAngle=double
mosq
→ scenario → entoData → vector → anopheles → mosq
<mosq
mosqRestDuration=int
extrinsicIncubationPeriod=int
mosqLaidEggsSameDayProportion=double
mosqSeekingDuration=double
mosqSurvivalFeedingCycleProbability=double
mosqProbBiting=double
mosqProbFindRestSite=double
mosqProbResting=double
mosqProbOvipositing=double
mosqHumanBloodIndex=double
/>
Documentation (element)
Units: List of elements
Vector species
Attributes
mosqRestDuration
mosqRestDuration=int
extrinsicIncubationPeriod
extrinsicIncubationPeriod=int
mosqLaidEggsSameDayProportion
mosqLaidEggsSameDayProportion=double
mosqSeekingDuration
mosqSeekingDuration=double
mosqSurvivalFeedingCycleProbability
mosqSurvivalFeedingCycleProbability=double
mosqProbBiting
mosqProbBiting=double
mosqProbFindRestSite
mosqProbFindRestSite=double
mosqProbResting
mosqProbResting=double
mosqProbOvipositing
mosqProbOvipositing=double
mosqHumanBloodIndex
mosqHumanBloodIndex=double
nonHumanHosts
→ scenario → entoData → vector → anopheles → nonHumanHosts
<nonHumanHosts
name=string
mosqRelativeEntoAvailability=double
mosqProbBiting=double
mosqProbFindRestSite=double
mosqProbResting=double
/>
Documentation (element)
Units: List of elements
Non human host parameters, per type of host (must match up with non-species-specific parameters).
Attributes
name
name=string
mosqRelativeEntoAvailability
mosqRelativeEntoAvailability=double
mosqProbBiting
mosqProbBiting=double
mosqProbFindRestSite
mosqProbFindRestSite=double
mosqProbResting
mosqProbResting=double
nonHumanHosts
→ scenario → entoData → vector → nonHumanHosts
<nonHumanHosts
name=string
number=double
/>
Attributes
name
name=string
Units: List of elements
Name of this species of non human hosts (must match up with those described per anopheles section)
number
number=double
drugDescription
<drugDescription>
IN THIS ORDER:
| ( <drug ... /> )+
</drugDescription>
Documentation (element)
Units: List of elements
Drug model parameters
drug
→ scenario → drugDescription → drug
<drug
abbrev=string
>
IN THIS ORDER:
| <PD ... />
| <PK ... />
</drug>
Documentation (element)
Sequence of drug descriptions forming a library of drug parameters.
Attributes
abbrev
abbrev=string
PD
→ scenario → drugDescription → drug → PD
<PD>
IN THIS ORDER:
| ( <allele ... /> )+
</PD>
allele
→ scenario → drugDescription → drug → PD → allele
<allele
name=string
>
IN THIS ORDER:
| <initial_frequency ... />
| <max_killing_rate ... />
| <IC50 ... />
| <slope ... />
</allele>
Documentation (element)
PD parameters per allele, plus initial frequency of each allele.
Note: we assume a one-to-one correspondance of drugs to loci, hence each drug has an independent set of alleles here.
Attributes
name
name=string
initial_frequency
→ scenario → drugDescription → drug → PD → allele → initial_frequency
<initial_frequency>
double
</initial_frequency>
Documentation (element)
Units: relative frequency Min: 0
Frequency, relative to the total frequency of all alleles for this drug/locus.
max_killing_rate
→ scenario → drugDescription → drug → PD → allele → max_killing_rate
<max_killing_rate>
double
</max_killing_rate>
Documentation (element)
Units: 1/days Min: 0
k1 — Maximal parasite killing rate.
IC50
→ scenario → drugDescription → drug → PD → allele → IC50
<IC50>
double
</IC50>
Documentation (element)
Units: mg/l Min: 0
Half maximal effect concentration.
slope
→ scenario → drugDescription → drug → PD → allele → slope
<slope>
double
</slope>
Documentation (element)
Units: no units
n — Slope of the concentration effect curve
PK
→ scenario → drugDescription → drug → PK
<PK>
IN THIS ORDER:
| <negligible_concentration ... />
| <half_life ... />
| <vol_dist ... />
</PK>
negligible_concentration
→ scenario → drugDescription → drug → PK → negligible_concentration
<negligible_concentration>
double
</negligible_concentration>
Documentation (element)
Units: mg/l Min: 0
Concentration below which drug's effects are deemed negligible and can be removed from simulation.
half_life
→ scenario → drugDescription → drug → PK → half_life
<half_life>
double
</half_life>
Documentation (element)
Units: days Min: 0
Used to calculate elimintation rate (which is: ln(2) / half_life).
vol_dist
→ scenario → drugDescription → drug → PK → vol_dist
<vol_dist>
double
</vol_dist>
Documentation (element)
Units: l/kg Min: 0
Volume of Distribution
model
<model>
IN THIS ORDER:
| <ModelOptions ... />
| <clinical ... />
| <parameters ... />
</model>
Documentation (element)
Encapsulation of all parameters which describe the model according to which fitting is done.
ModelOptions
→ scenario → model → ModelOptions
<ModelOptions>
IN THIS ORDER:
| ( <option ... /> )*
</ModelOptions>
Documentation (element)
All model options (bug fixes, choices between models, etc.).
The list of recognised options can be found in the code at: include/util/ModelOptions.hpp and should also be in the wiki.
clinical
<clinical
healthSystemMemory=int
/>
Documentation (type)
Units: List of elements
Description of clinical parameters.
This is related to the health-system description, but contains data which can't be changed as part of an intervention and is not restricted to treatment.
Attributes
healthSystemMemory
healthSystemMemory=int
Units: Time steps Min: 1 Max: 100
Follow-up period during which a recurrence is considered to be a treatment failure
parameters
→ scenario → model → parameters
<parameters
interval=int
iseed=int
delta=double
latentp=int
>
IN THIS ORDER:
| ( <parameter ... /> )+
</parameters>
Documentation (element)
Units: List of elements
Parameters for mathematical model
Documentation (type)
Units: List of elements
Parameter vector
Attributes
interval
interval=int
Units: Days
Simulation step
iseed
iseed=int
Units: Number
Seed for RNG
delta
delta=double
Units: ? Redundant
this no longer seems to be used
latentp
latentp=int
Units: Time steps Min: 0 Max: 20
pre-erythrocytic latent period, in time steps
parameter
→ scenario → model → parameters → parameter
<parameter
name=string
number=int
value=double
[ include=boolean ]
/>
Attributes
name
name=string
Units: string
Name of parameter
number
number=int
Units: Number Min: 1 Max: 100
Reference number of input parameter
value
value=double
Units: Number Min: 0
Parameter value
include
include=boolean
Units: Number Min: 0 Max: 1
True if parameter is to be sampled in optimization runs. Not used in simulator app.
Schema 16 documentation
Generated from: scenario_16.xsd
.
Key:
abc required (one)
[ def ] optional (zero or one)
( ghi )* any number (zero or more)
( jkl )+ at least one
( mno ){2,inf} two or more occurrences
scenario
→ scenario
<scenario
schemaVersion=int
analysisNo=int
maximumAgeYrs=double
name=string
popSize=int
wuID=int
assimMode=("0" or "1")
mode=("2" or "3" or "4")
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:noNamespaceSchemaLocation="scenario_16.xsd"
>
IN THIS ORDER:
| <demography ... />
| <monitoring ... />
| <interventions ... />
| <healthSystem ... />
| <entoData ... />
| [ <drugDescription ... /> ]
| <model ... />
</scenario>
Documentation (element)
Units: List of elements
Description of scenario
Attributes
schemaVersion
schemaVersion=int
Version of xml schema. If not equal to the current version an error is thrown. Use SchemaTranslator to update xml files.
analysisNo
analysisNo=int
Units: Number Min: 1 Max: 100000000
Unique identifier of scenario
maximumAgeYrs
maximumAgeYrs=double
Units: Number Min: 0 Max: 100
Maximum age of simulated humans
name
name=string
Units: string
Name of intervention
popSize
popSize=int
Units: Count Min: 1 Max: 100000
Population size
wuID
wuID=int
Units: Number Min: 1 Max: 100000000
Work unit ID. Only used to validate checkpointing, to prevent checkpoint cheats.
assimMode
assimMode=("0" or "1")
Units: Code
Assimilator mode. Defines output of simulator as either complete (columns: time,agegroup,measure,value) or minimal (single column: value)
mode
mode=("2" or "3" or "4")
Units: Code
Transmission simulation mode
demography
→ scenario → demography
<demography
name=string
[ growthRate=double ]
>
IN THIS ORDER:
| <ageGroup ... />
</demography>
Documentation (element)
Units: List of elements
Description of demography
Documentation (type)
Units: List of elements
Description of demography
Attributes
name
name=string
Units: string
Name of demography data
growthRate
growthRate=double
Units: Number Min: 0 Max: 0
Growth rate of human population.
ageGroup
→ scenario → demography → ageGroup
<ageGroup
lowerbound=double
>
IN THIS ORDER:
| ( <group ... /> )+
</ageGroup>
Documentation (element)
Units: List of elements
List of age groups included in demography
Documentation (type)
Units: List of elements
List of age groups included in demography or surveys
Attributes
lowerbound
lowerbound=double
Units: Years Min: 0 Max: 100
Lower bound of age group
group
→ scenario → demography → ageGroup → group
<group
poppercent=double
upperbound=double
/>
Attributes
poppercent
poppercent=double
upperbound
upperbound=double
monitoring
→ scenario → monitoring
<monitoring
name=string
>
IN THIS ORDER:
| <SurveyOptions ... />
| <surveys ... />
| <ageGroup ... />
</monitoring>
Documentation (element)
Units: List of elements
Description of surveys
Documentation (type)
Units: List of elements
Description of surveys
Attributes
name
name=string
Units: string
Name of monitoring data
SurveyOptions
→ scenario → monitoring → SurveyOptions
<SurveyOptions>
IN THIS ORDER:
| ( <option ... /> )*
</SurveyOptions>
Documentation (element)
List of all active survey options. See include/Survey.h for a list of supported outputs. Should also be on the wiki.
option
→ scenario → monitoring → SurveyOptions → option
<option
name=string
value=boolean
/>
Attributes
name
name=string
Option name. Must be one of a strictly defined set. Options are not required to be listed if their default value is desired.
value
value=boolean
Option value (true/false). Each option has a default value (may be true or false) which is used if the option is not listed.
surveys
→ scenario → monitoring → surveys
<surveys
detectionLimit=double
>
IN THIS ORDER:
| <surveyTime ... />
</surveys>
Documentation (element)
Units: List of elements
List of survey times
Attributes
detectionLimit
detectionLimit=double
Units: parasites/micolitre Min: 0 Max: 1000
Detection limit for parasitemia
surveyTime
→ scenario → monitoring → surveys → surveyTime
<surveyTime>
int
</surveyTime>
Documentation (element)
Units: Number Min: 0
Survey time; 0 means just before start of main sim and is a valid survey-point. Reported data is either from a point-time survey (immediate data) or is collected over the previous year (data from previous timesteps-per-year period). Simulation will end immediately after last survey is taken.
ageGroup
→ scenario → monitoring → ageGroup
<ageGroup
lowerbound=double
>
IN THIS ORDER:
| ( <group ... /> )+
</ageGroup>
Documentation (element)
Units: List of elements
List of age groups included in demography or surveys
Documentation (type)
Units: List of elements
List of age groups included in surveys
Attributes
lowerbound
lowerbound=double
Units: Years Min: 0 Max: 100
Lower bound of age group
group
→ scenario → monitoring → ageGroup → group
<group
upperbound=double
/>
Attributes
upperbound
upperbound=double
interventions
<interventions
name=string
>
IN THIS ORDER:
| [ <MDADescription ... /> ]
| ( <vaccineDescription ... /> ){0,3}
| [ <iptiDescription ... /> ]
| ( <anopheles ... /> )*
| [ <continuous ... /> ]
| [ <timed ... /> ]
</interventions>
Documentation (element)
Units: List of elements
List of interventions
Documentation (type)
Units: List of elements
List of interventions
Attributes
name
name=string
Units: string
Name of age specific intervention
MDADescription
→ scenario → interventions → MDADescription
<MDADescription>
IN THIS ORDER:
| ( <medicate ... /> )*
</MDADescription>
Documentation (element)
Units: List of medicate elements
Description of drug dose(s) used in a mass-drug-administration intervention.
medicate
→ scenario → interventions → MDADescription → medicate
<medicate
name=string
qty=double
time=double
/>
Attributes
name
name=string
Units: string
Abbreviated name of drug compound
qty
qty=double
Units: mg
Quantity of drug compound
time
time=double
Units: hours Min: 0
Number of hours past start of timestep the drug is medicated at (usually 0).
vaccineDescription
→ scenario → interventions → vaccineDescription
<vaccineDescription
vaccineType=int
>
IN THIS ORDER:
| <halfLifeYrs ... />
| <efficacyB ... />
| ( <initialEfficacy ... /> )+
</vaccineDescription>
Attributes
vaccineType
vaccineType=int
Units: Code
Type of vaccine
halfLifeYrs
→ scenario → interventions → vaccineDescription → halfLifeYrs
<halfLifeYrs
value=double
/>
Documentation (element)
Units: Years Min: 0 Max: 100
Half life of drug effect
Attributes
value
value=double
TODO
efficacyB
→ scenario → interventions → vaccineDescription → efficacyB
<efficacyB
value=double
/>
Documentation (element)
Units: Positive real Min: 0.001 Max: 1.00E+06
Measure of variation in vaccine efficacy
Attributes
value
value=double
TODO
initialEfficacy
→ scenario → interventions → vaccineDescription → initialEfficacy
<initialEfficacy
value=double
/>
Attributes
value
value=double
TODO
iptiDescription
→ scenario → interventions → iptiDescription
<iptiDescription
iptiEffect=int
>
IN THIS ORDER:
| ( <infGenotype ... /> )+
</iptiDescription>
Attributes
iptiEffect
iptiEffect=int
infGenotype
→ scenario → interventions → iptiDescription → infGenotype
<infGenotype
name=string
freq=double
ACR=double
proph=int
tolPeriod=int
atten=double
/>
Attributes
name
name=string
Units: string
Name of age specific intervention
freq
freq=double
ACR
ACR=double
proph
proph=int
tolPeriod
tolPeriod=int
atten
atten=double
anopheles
→ scenario → interventions → anopheles
<anopheles
mosquito=string
>
IN THIS ORDER:
| [ <ITNDescription ... /> ]
| [ <IRSDescription ... /> ]
| [ <VADescription ... /> ]
</anopheles>
Attributes
mosquito
mosquito=string
ITNDescription
→ scenario → interventions → anopheles → ITNDescription
<ITNDescription
name=string
>
IN THIS ORDER:
| <deterrency ... />
| <preprandialKillingEffect ... />
| <postprandialKillingEffect ... />
</ITNDescription>
Attributes
name
name=string
Units: string
Name of Insecticide Treated Net intervention
deterrency
→ scenario → interventions → anopheles → ITNDescription → deterrency
<deterrency
initial=double
halflife=double
[ Weibullk=double ]
/>
Documentation (element)
Units: None Min: 0 Max: 1
One minus this multiplies the host's availability (before decay).
Documentation (type)
Specification of a proportion with Weibull or exponential decay.
Attributes
initial
initial=double
Units: None Min: 0 Max: 1
The value before any decay.
halflife
halflife=double
Units: Years Min: 0
Half-life in years (more generally, halflife/ln(2) is lambda from the Weibull distribution).
Weibullk
Weibullk=double
Min: 0
The parameter k of the Weibull distribution. If missing, 1.0 is used (equivalent to exponential decay).
preprandialKillingEffect
→ scenario → interventions → anopheles → ITNDescription → preprandialKillingEffect
<preprandialKillingEffect
initial=double
halflife=double
[ Weibullk=double ]
/>
Documentation (element)
Units: None Min: 0 Max: 1
One minus this multiplies the survival rate of mosquitoes attempting to bite a host.
Documentation (type)
Specification of a proportion with Weibull or exponential decay.
Attributes
initial
initial=double
Units: None Min: 0 Max: 1
The value before any decay.
halflife
halflife=double
Units: Years Min: 0
Half-life in years (more generally, halflife/ln(2) is lambda from the Weibull distribution).
Weibullk
Weibullk=double
Min: 0
The parameter k of the Weibull distribution. If missing, 1.0 is used (equivalent to exponential decay).
postprandialKillingEffect
→ scenario → interventions → anopheles → ITNDescription → postprandialKillingEffect
<postprandialKillingEffect
initial=double
halflife=double
[ Weibullk=double ]
/>
Documentation (element)
Units: None Min: 0 Max: 1
One minus this multiplies the survival rate of mosquitoes attempting to escape after biting a host.
Documentation (type)
Specification of a proportion with Weibull or exponential decay.
Attributes
initial
initial=double
Units: None Min: 0 Max: 1
The value before any decay.
halflife
halflife=double
Units: Years Min: 0
Half-life in years (more generally, halflife/ln(2) is lambda from the Weibull distribution).
Weibullk
Weibullk=double
Min: 0
The parameter k of the Weibull distribution. If missing, 1.0 is used (equivalent to exponential decay).
IRSDescription
→ scenario → interventions → anopheles → IRSDescription
<IRSDescription
name=string
>
IN THIS ORDER:
| <deterrency ... />
| <killingEffect ... />
</IRSDescription>
Attributes
name
name=string
Units: string
Name of Indoor Residual Spraying intervention
deterrency
→ scenario → interventions → anopheles → IRSDescription → deterrency
<deterrency
initial=double
halflife=double
[ Weibullk=double ]
/>
Documentation (element)
Units: None Min: 0 Max: 1
One minus this multiplies the host's availability.
Documentation (type)
Specification of a proportion with Weibull or exponential decay.
Attributes
initial
initial=double
Units: None Min: 0 Max: 1
The value before any decay.
halflife
halflife=double
Units: Years Min: 0
Half-life in years (more generally, halflife/ln(2) is lambda from the Weibull distribution).
Weibullk
Weibullk=double
Min: 0
The parameter k of the Weibull distribution. If missing, 1.0 is used (equivalent to exponential decay).
killingEffect
→ scenario → interventions → anopheles → IRSDescription → killingEffect
<killingEffect
initial=double
halflife=double
[ Weibullk=double ]
/>
Documentation (element)
Units: None Min: 0 Max: 1
One minus this multiplies the survival rate of resting mosquitoes.
Documentation (type)
Specification of a proportion with Weibull or exponential decay.
Attributes
initial
initial=double
Units: None Min: 0 Max: 1
The value before any decay.
halflife
halflife=double
Units: Years Min: 0
Half-life in years (more generally, halflife/ln(2) is lambda from the Weibull distribution).
Weibullk
Weibullk=double
Min: 0
The parameter k of the Weibull distribution. If missing, 1.0 is used (equivalent to exponential decay).
VADescription
→ scenario → interventions → anopheles → VADescription
<VADescription
name=string
>
IN THIS ORDER:
| <deterrency ... />
</VADescription>
Attributes
name
name=string
Units: string
Name of mosquito deterrency intervention
deterrency
→ scenario → interventions → anopheles → VADescription → deterrency
<deterrency
initial=double
halflife=double
[ Weibullk=double ]
/>
Documentation (element)
Units: None Min: 0 Max: 1
One minus this multiplies the host's availability.
Documentation (type)
Specification of a proportion with Weibull or exponential decay.
Attributes
initial
initial=double
Units: None Min: 0 Max: 1
The value before any decay.
halflife
halflife=double
Units: Years Min: 0
Half-life in years (more generally, halflife/ln(2) is lambda from the Weibull distribution).
Weibullk
Weibullk=double
Min: 0
The parameter k of the Weibull distribution. If missing, 1.0 is used (equivalent to exponential decay).
continuous
→ scenario → interventions → continuous
<continuous>
IN THIS ORDER:
| ( <vaccine ... /> )*
| ( <ITN ... /> )*
| ( <ipti ... /> )*
</continuous>
vaccine
→ scenario → interventions → continuous → vaccine
<vaccine
targetAgeYrs=double
coverage=double
/>
Documentation (element)
Units: List of elements
List of age groups for vaccination
Attributes
targetAgeYrs
targetAgeYrs=double
Units: Years Min: 0 Max: 100
Target age of intervention
coverage
coverage=double
Units: Proportion Min: 0 Max: 1
Coverage of intervention
ITN
→ scenario → interventions → continuous → ITN
<ITN
targetAgeYrs=double
coverage=double
/>
Documentation (element)
Units: List of elements
Description of ITN deployment in the community
Attributes
targetAgeYrs
targetAgeYrs=double
Units: Years Min: 0 Max: 100
Target age of intervention
coverage
coverage=double
Units: Proportion Min: 0 Max: 1
Coverage of intervention
ipti
→ scenario → interventions → continuous → ipti
<ipti
targetAgeYrs=double
coverage=double
/>
Documentation (element)
Units: List of elements
List of age groups for IPTi distribution
Attributes
targetAgeYrs
targetAgeYrs=double
Units: Years Min: 0 Max: 100
Target age of intervention
coverage
coverage=double
Units: Proportion Min: 0 Max: 1
Coverage of intervention
timed
→ scenario → interventions → timed
<timed>
IN THIS ORDER:
| ( <intervention ... /> )+
</timed>
Documentation (element)
Units: List of elements
List of timed interventions
Documentation (type)
Units: List of elements
List of timed interventions
intervention
→ scenario → interventions → timed → intervention
<intervention
time=int
>
IN THIS ORDER:
| [ <changeHS ... /> ]
| [ <changeEIR ... /> ]
| [ <MDA ... /> ]
| [ <vaccinate ... /> ]
| [ <ITN ... /> ]
| [ <IRS ... /> ]
| [ <VectorAvailability ... /> ]
| [ <ipti ... /> ]
| [ <larviciding ... /> ]
</intervention>
Attributes
time
time=int
Units: Number Min: 1 Max: 10000
Time step of intervention
changeHS
→ scenario → interventions → timed → intervention → changeHS
<changeHS>
IN THIS ORDER:
| EXACTLY ONE OF:
| | <EventScheduler ... />
| | <ImmediateOutcomes ... />
| <CFR ... />
</changeHS>
Documentation (type)
Units: List of elements
Generic description of health system, used to specify the default or a replacement-as-intervention.
Contains a sub-element describing the particular health-system in use. Health system data is here defined as data used to decide on a treatment strategy, given a case requiring treatment.
EventScheduler
→ scenario → healthSystem → EventScheduler
<EventScheduler>
IN THIS ORDER:
| <CaseManagementTree ... />
| <ClinicalOutcomes ... />
</EventScheduler>
CaseManagementTree
→ scenario → healthSystem → EventScheduler → CaseManagementTree
<CaseManagementTree
mask=int
>
IN THIS ORDER:
| ( <CM_pBranchSet ... /> )*
| ( <CM_leaf ... /> )+
</CaseManagementTree>
Documentation (element)
Units: List of elements
Partial description of the case management tree. The tree consists of: Probability branches: map an ID to another ID (the outcome) stochastically. Test branches: map an ID with a special flag to another ID; these are hard-coded. Leaf nodes: these map an ID to a list of drug medications.
Test branches are used if a flag requests a test (currently only RESULT_DETERMINE for parasite tests). Otherwise a probability or leaf branch is used by masking the current ID with mask (attribute for this element).
Attributes
mask
mask=int
Units: None Min: 0 Max: 0xFFFFFFFF
Value used to mask decision ids before selecting a branch/leaf.
CM_pBranchSet
→ scenario → healthSystem → EventScheduler → CaseManagementTree → CM_pBranchSet
<CM_pBranchSet
ID=int
>
IN THIS ORDER:
| ( <CM_pBranch ... /> )+
</CM_pBranchSet>
Documentation (element)
A probability branch node: contains a list of outcome nodes along with probabilities, which link to another probability/test branch or leaf node.
Attributes
ID
ID=int
Units: ID
Decision identifier.
CM_pBranch
→ scenario → healthSystem → EventScheduler → CaseManagementTree → CM_pBranchSet → CM_pBranch
<CM_pBranch
outcome=int
p=double
/>
Attributes
outcome
outcome=int
ID of next probability/test branch or leaf node.
p
p=double
Units: Proportion Min: 0 Max: 1
Probability of this outcome
CM_leaf
→ scenario → healthSystem → EventScheduler → CaseManagementTree → CM_leaf
<CM_leaf
ID=int
>
IN THIS ORDER:
| ( <medicate ... /> )*
</CM_leaf>
Documentation (element)
End points of the case management tree, listing treatments.
Attributes
ID
ID=int
Units: ID
Decision identifier.
medicate
→ scenario → healthSystem → EventScheduler → CaseManagementTree → CM_leaf → medicate
<medicate
name=string
qty=double
time=double
/>
Attributes
name
name=string
Units: string
Abbreviated name of drug compound
qty
qty=double
Units: mg
Quantity of drug compound
time
time=double
Units: hours Min: 0
Number of hours past start of timestep the drug is medicated at (usually 0).
ClinicalOutcomes
→ scenario → healthSystem → EventScheduler → ClinicalOutcomes
<ClinicalOutcomes
severeMask=int
>
IN THIS ORDER:
| ( <outcomes ... /> )+
</ClinicalOutcomes>
Documentation (element)
Tables describing the probability of death and the expected length of hospital stay.
The ID looked up in each table is the final outcome ID of the case-management tree binary or-ed with the mask given here.
Attributes
severeMask
severeMask=int
Units: None Min: 0 Max: 0xFFFFFFFF
Value used to mask the final ID from the case-management tree before looking up values here.
outcomes
→ scenario → healthSystem → EventScheduler → ClinicalOutcomes → outcomes
<outcomes
ID=int
pDeath=double
hospitalizationDaysDeath=int
hospitalizationDaysRecover=int
/>
Documentation (element)
Parameters for a path through the case-management tree (i.e. table row).
Attributes
ID
ID=int
pDeath
pDeath=double
Units: None Min: 0 Max: 1
The probability of death. This probability is applied once-only for each case, irrespective of the branch (thus entries with p=0 for UC cases are probably needed).
hospitalizationDaysDeath
hospitalizationDaysDeath=int
Units: Days Min: 0
The median length of stay in hospital, given the patient dies directly from this event. (Use median rather than a distribution because data should be more reliable and the effect of heterogeneity should be small.)
hospitalizationDaysRecover
hospitalizationDaysRecover=int
Units: Days Min: 0
The median length of stay in hospital, given the patient recovers from this event. (Use median rather than a distribution because data should be more reliable and the effect of heterogeneity should be small.)
ImmediateOutcomes
→ scenario → healthSystem → ImmediateOutcomes
<ImmediateOutcomes
name=string
>
IN THIS ORDER:
| <drugRegimen ... />
| <initialACR ... />
| <compliance ... />
| <nonCompliersEffective ... />
| <pSeekOfficialCareUncomplicated1 ... />
| <pSelfTreatUncomplicated ... />
| <pSeekOfficialCareUncomplicated2 ... />
| <pSeekOfficialCareSevere ... />
| <pSequelaeInpatient ... />
</ImmediateOutcomes>
- drugRegimen
- initialACR
- compliance
- nonCompliersEffective
- pSeekOfficialCareUncomplicated1
- pSelfTreatUncomplicated
- pSeekOfficialCareUncomplicated2
- pSeekOfficialCareSevere
- pSequelaeInpatient
Documentation (type)
Units: List of elements
Description of "immediate outcomes" health system: Tediosi et al case management model (Case management as described in AJTMH 75 (suppl 2) pp90-103).
Attributes
name
name=string
Units: string
Name of health system
drugRegimen
→ scenario → healthSystem → ImmediateOutcomes → drugRegimen
<drugRegimen
firstLine=string
secondLine=string
inpatient=string
/>
Documentation (element)
Units: List of elements
Description of drug regimen
Attributes
firstLine
firstLine=string
Units: Drug code
Code for first line drug
secondLine
secondLine=string
Units: Drug code
Code for second line drug
inpatient
inpatient=string
Units: Drug code
Code for drug used for treating inpatients
initialACR
→ scenario → healthSystem → ImmediateOutcomes → initialACR
<initialACR>
IN THIS ORDER:
| [ <CQ ... /> ]
| [ <SP ... /> ]
| [ <AQ ... /> ]
| [ <SPAQ ... /> ]
| [ <ACT ... /> ]
| [ <QN ... /> ]
| <selfTreatment ... />
</initialACR>
Documentation (element)
Units: Proportion Min: 0 Max: 1
Initial cure rate
CQ
→ scenario → healthSystem → ImmediateOutcomes → initialACR → CQ
<CQ
value=double
/>
Documentation (element)
Units: List of elements
Chloroquine
Attributes
value
value=double
TODO
SP
→ scenario → healthSystem → ImmediateOutcomes → initialACR → SP
<SP
value=double
/>
Documentation (element)
Units: List of elements
Sulphadoxine-pyrimethamine
Attributes
value
value=double
TODO
AQ
→ scenario → healthSystem → ImmediateOutcomes → initialACR → AQ
<AQ
value=double
/>
Documentation (element)
Units: List of elements
Amodiaquine
Attributes
value
value=double
TODO
SPAQ
→ scenario → healthSystem → ImmediateOutcomes → initialACR → SPAQ
<SPAQ
value=double
/>
Documentation (element)
Units: List of elements
Sulphadoxine-pyrimethamine/Amodiaquine
Attributes
value
value=double
TODO
ACT
→ scenario → healthSystem → ImmediateOutcomes → initialACR → ACT
<ACT
value=double
/>
Documentation (element)
Units: List of elements
Artemisinine combination therapy
Attributes
value
value=double
TODO
QN
→ scenario → healthSystem → ImmediateOutcomes → initialACR → QN
<QN
value=double
/>
Documentation (element)
Units: List of elements
Quinine
Attributes
value
value=double
TODO
selfTreatment
→ scenario → healthSystem → ImmediateOutcomes → initialACR → selfTreatment
<selfTreatment
value=double
/>
Documentation (element)
Units: Proportion Min: 0 Max: 1
Probability of self-treatment
Attributes
value
value=double
TODO
compliance
→ scenario → healthSystem → ImmediateOutcomes → compliance
<compliance>
IN THIS ORDER:
| [ <CQ ... /> ]
| [ <SP ... /> ]
| [ <AQ ... /> ]
| [ <SPAQ ... /> ]
| [ <ACT ... /> ]
| [ <QN ... /> ]
| <selfTreatment ... />
</compliance>
Documentation (element)
Units: Proportion Min: 0 Max: 1
Adherence to treatment
nonCompliersEffective
→ scenario → healthSystem → ImmediateOutcomes → nonCompliersEffective
<nonCompliersEffective>
IN THIS ORDER:
| [ <CQ ... /> ]
| [ <SP ... /> ]
| [ <AQ ... /> ]
| [ <SPAQ ... /> ]
| [ <ACT ... /> ]
| [ <QN ... /> ]
| <selfTreatment ... />
</nonCompliersEffective>
Documentation (element)
Units: Proportion Min: 0 Max: 1
Effectiveness of treatment of non compliers
pSeekOfficialCareUncomplicated1
→ scenario → healthSystem → ImmediateOutcomes → pSeekOfficialCareUncomplicated1
<pSeekOfficialCareUncomplicated1
value=double
/>
Documentation (element)
Units: Proportion Min: 0 Max: 1
Probability that a patient with newly incident uncomplicated disease seeks official care
Attributes
value
value=double
TODO
pSelfTreatUncomplicated
→ scenario → healthSystem → ImmediateOutcomes → pSelfTreatUncomplicated
<pSelfTreatUncomplicated
value=double
/>
Documentation (element)
Units: Proportion Min: 0 Max: 1
Probability that a patient with uncomplicated disease self-treats
Attributes
value
value=double
TODO
pSeekOfficialCareUncomplicated2
→ scenario → healthSystem → ImmediateOutcomes → pSeekOfficialCareUncomplicated2
<pSeekOfficialCareUncomplicated2
value=double
/>
Documentation (element)
Units: Proportion Min: 0 Max: 1
Probability that a patient with recurrence of uncomplicated disease seeks official care
Attributes
value
value=double
TODO
pSeekOfficialCareSevere
→ scenario → healthSystem → ImmediateOutcomes → pSeekOfficialCareSevere
<pSeekOfficialCareSevere
value=double
/>
Documentation (element)
Units: Proportion Min: 0 Max: 1
Probability that a patient with severe disease seeks official care
Attributes
value
value=double
TODO
pSequelaeInpatient
→ scenario → healthSystem → ImmediateOutcomes → pSequelaeInpatient
<pSequelaeInpatient>
IN THIS ORDER:
| ( <item ... /> )+
</pSequelaeInpatient>
Documentation (element)
Units: List of elements
List of age specific probabilities of sequelae in inpatients.
Note: previously these ranges were silently remapped. To prevent unexpected differences, there must be two groups, with maxAgeYrs bounds 5 and 99 respectively.
item
→ scenario → healthSystem → ImmediateOutcomes → pSequelaeInpatient → item
<item
value=double
maxAgeYrs=double
/>
Attributes
value
value=double
TODO
maxAgeYrs
maxAgeYrs=double
Units: Years Min: 0 Max: 100
Upper bound of age group
CFR
→ scenario → healthSystem → CFR
<CFR>
IN THIS ORDER:
| ( <group ... /> )+
</CFR>
group
→ scenario → healthSystem → CFR → group
<group
cfr=double
lowerbound=double
/>
Attributes
cfr
cfr=double
Units: Proportion Min: 0 Max: 1
Case fatality rate
lowerbound
lowerbound=double
Units: Years Min: 0 Max: 100
Lower bound of age group
changeEIR
→ scenario → interventions → timed → intervention → changeEIR
<changeEIR
eipDuration=int
>
IN THIS ORDER:
| ( <EIRDaily ... /> )+
</changeEIR>
Documentation (type)
Parameters for the non-vector transmission model.
Attributes
eipDuration
eipDuration=int
The duration of sporogony in days
EIRDaily
→ scenario → entoData → nonVector → EIRDaily
<EIRDaily
[ origin=string ]
>
double
</EIRDaily>
Documentation (type)
Units: Innoculations per person per day
Value of daily EIR; when multiple values are given for a single timestep they are averaged.
Attributes
origin
origin=string
MDA
→ scenario → interventions → timed → intervention → MDA
<MDA
[ maxAge=double ]
[ minAge=double ]
coverage=double
/>
Documentation (element)
Units: List of elements
Description of mass drug deployment in the community.
Attributes
maxAge
maxAge=double
Units: Years Min: 0 Max: 100
Maximum age of eligible individuals (defaults to 100)
minAge
minAge=double
Units: Years Min: 0 Max: 100
Minimum age of eligible individuals (defaults to 0)
coverage
coverage=double
Units: Proportion Min: 0 Max: 1
Coverage of intervention
vaccinate
→ scenario → interventions → timed → intervention → vaccinate
<vaccinate
[ maxAge=double ]
[ minAge=double ]
coverage=double
/>
Documentation (element)
Units: List of elements
Description of vaccine deployment in the community
Attributes
maxAge
maxAge=double
Units: Years Min: 0 Max: 100
Maximum age of eligible individuals (defaults to 100)
minAge
minAge=double
Units: Years Min: 0 Max: 100
Minimum age of eligible individuals (defaults to 0)
coverage
coverage=double
Units: Proportion Min: 0 Max: 1
Coverage of intervention
ITN
→ scenario → interventions → timed → intervention → ITN
<ITN
[ maxAge=double ]
[ minAge=double ]
coverage=double
/>
Documentation (element)
Units: List of elements
Description of ITN deployment in the community
Attributes
maxAge
maxAge=double
Units: Years Min: 0 Max: 100
Maximum age of eligible individuals (defaults to 100)
minAge
minAge=double
Units: Years Min: 0 Max: 100
Minimum age of eligible individuals (defaults to 0)
coverage
coverage=double
Units: Proportion Min: 0 Max: 1
Coverage of intervention
IRS
→ scenario → interventions → timed → intervention → IRS
<IRS
[ maxAge=double ]
[ minAge=double ]
coverage=double
/>
Documentation (element)
Units: List of elements
Description of IRS deployment in the community
Attributes
maxAge
maxAge=double
Units: Years Min: 0 Max: 100
Maximum age of eligible individuals (defaults to 100)
minAge
minAge=double
Units: Years Min: 0 Max: 100
Minimum age of eligible individuals (defaults to 0)
coverage
coverage=double
Units: Proportion Min: 0 Max: 1
Coverage of intervention
VectorAvailability
→ scenario → interventions → timed → intervention → VectorAvailability
<VectorAvailability
[ maxAge=double ]
[ minAge=double ]
coverage=double
/>
Documentation (element)
Units: List of elements
Description of a mosquito detterent deployment in the community
Attributes
maxAge
maxAge=double
Units: Years Min: 0 Max: 100
Maximum age of eligible individuals (defaults to 100)
minAge
minAge=double
Units: Years Min: 0 Max: 100
Minimum age of eligible individuals (defaults to 0)
coverage
coverage=double
Units: Proportion Min: 0 Max: 1
Coverage of intervention
ipti
→ scenario → interventions → timed → intervention → ipti
<ipti
[ maxAge=double ]
[ minAge=double ]
coverage=double
/>
Documentation (element)
Units: List of elements
List of age groups for IPTi distribution
Attributes
maxAge
maxAge=double
Units: Years Min: 0 Max: 100
Maximum age of eligible individuals (defaults to 100)
minAge
minAge=double
Units: Years Min: 0 Max: 100
Minimum age of eligible individuals (defaults to 0)
coverage
coverage=double
Units: Proportion Min: 0 Max: 1
Coverage of intervention
larviciding
→ scenario → interventions → timed → intervention → larviciding
<larviciding>
IN THIS ORDER:
| ( <anopheles ... /> )+
</larviciding>
Documentation (element)
Simple larviciding intervention description.
anopheles
→ scenario → interventions → timed → intervention → larviciding → anopheles
<anopheles
mosquito=string
effectiveness=double
duration=int
/>
Attributes
mosquito
mosquito=string
effectiveness
effectiveness=double
Units: none Min: 0 Max: 1
Proportion to reduce emergence rates by.
duration
duration=int
Units: days Min: 0 Max: inf
Number of days for which the intervention is active.
healthSystem
→ scenario → healthSystem
<healthSystem>
IN THIS ORDER:
| EXACTLY ONE OF:
| | <EventScheduler ... />
| | <ImmediateOutcomes ... />
| <CFR ... />
</healthSystem>
Documentation (type)
Units: List of elements
Generic description of health system, used to specify the default or a replacement-as-intervention.
Contains a sub-element describing the particular health-system in use. Health system data is here defined as data used to decide on a treatment strategy, given a case requiring treatment.
entoData
<entoData
name=string
>
IN THIS ORDER:
| EXACTLY ONE OF:
| | <nonVector ... />
| | <vector ... />
</entoData>
Documentation (element)
Units: List of elements
Description of entomological data
Documentation (type)
Units: List of elements
Data for entomodel
Attributes
name
name=string
Units: string
Name of entomology data
nonVector
→ scenario → entoData → nonVector
<nonVector
eipDuration=int
>
IN THIS ORDER:
| ( <EIRDaily ... /> )+
</nonVector>
Documentation (type)
Parameters for the non-vector transmission model.
Attributes
eipDuration
eipDuration=int
The duration of sporogony in days
vector
→ scenario → entoData → vector
<vector>
IN THIS ORDER:
| ( <anopheles ... /> )+
</vector>
Documentation (element)
Parameters for the vector transmission model.
anopheles
→ scenario → entoData → vector → anopheles
<anopheles
mosquito=string
propInfected=double
propInfectious=double
>
IN THIS ORDER:
| <eir ... />
| <mosq ... />
| ( <nonHumanHosts ... /> )*
</anopheles>
Attributes
mosquito
mosquito=string
propInfected
propInfected=double
Units: Proportion Min: 0 Max: 1
Initial guess of the proportion of mosquitoes which are infected, o: O_v(t) = o*N_v(t). Only used as a starting value.
propInfectious
propInfectious=double
Units: Proportion Min: 0 Max: 1
Initial guess of the proportion of mosquitoes which are infectious, s: S_v(t) = s*N_v(t). Used as a starting value and then fit.
eir
→ scenario → entoData → vector → anopheles → eir
<eir
a0=double
a1=double
b1=double
a2=double
b2=double
EIRRotateAngle=double
/>
Documentation (element)
Units: Innoculations per person per day
Description of target entomological inoculation rate, used to calculate the vector emergence rate. An EIR array is generated from the exponent of the inverse discrete fourier transform of these parameters.
Attributes
a0
a0=double
a1
a1=double
b1
b1=double
a2
a2=double
b2
b2=double
EIRRotateAngle
EIRRotateAngle=double
mosq
→ scenario → entoData → vector → anopheles → mosq
<mosq
mosqRestDuration=int
extrinsicIncubationPeriod=int
mosqSeekingDeathRate=double
mosqSeekingDuration=double
mosqEntoAvailability=double
mosqProbBiting=double
mosqProbFindRestSite=double
mosqProbResting=double
mosqProbOvipositing=double
/>
Documentation (element)
Units: List of elements
Vector species
Attributes
mosqRestDuration
mosqRestDuration=int
extrinsicIncubationPeriod
extrinsicIncubationPeriod=int
mosqSeekingDeathRate
mosqSeekingDeathRate=double
mosqSeekingDuration
mosqSeekingDuration=double
mosqEntoAvailability
mosqEntoAvailability=double
mosqProbBiting
mosqProbBiting=double
mosqProbFindRestSite
mosqProbFindRestSite=double
mosqProbResting
mosqProbResting=double
mosqProbOvipositing
mosqProbOvipositing=double
nonHumanHosts
→ scenario → entoData → vector → anopheles → nonHumanHosts
<nonHumanHosts
name=string
mosqEntoAvailability=double
mosqProbBiting=double
mosqProbFindRestSite=double
mosqProbResting=double
/>
Documentation (element)
Units: List of elements
Non human host parameters, per type of host (must match up with non-species-specific parameters).
Attributes
name
name=string
mosqEntoAvailability
mosqEntoAvailability=double
mosqProbBiting
mosqProbBiting=double
mosqProbFindRestSite
mosqProbFindRestSite=double
mosqProbResting
mosqProbResting=double
drugDescription
<drugDescription>
IN THIS ORDER:
| ( <drug ... /> )+
</drugDescription>
Documentation (element)
Units: List of elements
Drug model parameters
drug
→ scenario → drugDescription → drug
<drug
abbrev=string
>
IN THIS ORDER:
| <PD ... />
| <PK ... />
</drug>
Documentation (element)
Sequence of drug descriptions forming a library of drug parameters.
Attributes
abbrev
abbrev=string
PD
→ scenario → drugDescription → drug → PD
<PD>
IN THIS ORDER:
| ( <allele ... /> )+
</PD>
allele
→ scenario → drugDescription → drug → PD → allele
<allele
name=string
>
IN THIS ORDER:
| <initial_frequency ... />
| <max_killing_rate ... />
| <IC50 ... />
| <slope ... />
</allele>
Documentation (element)
PD parameters per allele, plus initial frequency of each allele.
Note: we assume a one-to-one correspondance of drugs to loci, hence each drug has an independent set of alleles here.
Attributes
name
name=string
initial_frequency
→ scenario → drugDescription → drug → PD → allele → initial_frequency
<initial_frequency>
double
</initial_frequency>
Documentation (element)
Units: relative frequency Min: 0
Frequency, relative to the total frequency of all alleles for this drug/locus.
max_killing_rate
→ scenario → drugDescription → drug → PD → allele → max_killing_rate
<max_killing_rate>
double
</max_killing_rate>
Documentation (element)
Units: 1/days Min: 0
k1 — Maximal parasite killing rate.
IC50
→ scenario → drugDescription → drug → PD → allele → IC50
<IC50>
double
</IC50>
Documentation (element)
Units: mg/l Min: 0
Half maximal effect concentration.
slope
→ scenario → drugDescription → drug → PD → allele → slope
<slope>
double
</slope>
Documentation (element)
Units: no units
n — Slope of the concentration effect curve
PK
→ scenario → drugDescription → drug → PK
<PK>
IN THIS ORDER:
| <negligible_concentration ... />
| <half_life ... />
| <vol_dist ... />
</PK>
negligible_concentration
→ scenario → drugDescription → drug → PK → negligible_concentration
<negligible_concentration>
double
</negligible_concentration>
Documentation (element)
Units: mg/l Min: 0
Concentration below which drug's effects are deemed negligible and can be removed from simulation.
half_life
→ scenario → drugDescription → drug → PK → half_life
<half_life>
double
</half_life>
Documentation (element)
Units: days Min: 0
Used to calculate elimintation rate (which is: ln(2) / half_life).
vol_dist
→ scenario → drugDescription → drug → PK → vol_dist
<vol_dist>
double
</vol_dist>
Documentation (element)
Units: l/kg Min: 0
Volume of Distribution
model
<model>
IN THIS ORDER:
| <ModelOptions ... />
| <clinical ... />
| <parameters ... />
</model>
Documentation (element)
Encapsulation of all parameters which describe the model according to which fitting is done.
ModelOptions
→ scenario → model → ModelOptions
<ModelOptions>
IN THIS ORDER:
| ( <option ... /> )*
</ModelOptions>
Documentation (element)
All model options (bug fixes, choices between models, etc.).
The list of recognised options can be found in the code at: include/util/ModelOptions.hpp and should also be in the wiki.
clinical
<clinical
healthSystemMemory=int
/>
Documentation (type)
Units: List of elements
Description of clinical parameters.
This is related to the health-system description, but contains data which can't be changed as part of an intervention and is not restricted to treatment.
Attributes
healthSystemMemory
healthSystemMemory=int
Units: Time steps Min: 1 Max: 100
Follow-up period during which a recurrence is considered to be a treatment failure
parameters
→ scenario → model → parameters
<parameters
interval=int
iseed=int
delta=double
latentp=int
>
IN THIS ORDER:
| ( <parameter ... /> )+
</parameters>
Documentation (element)
Units: List of elements
Parameters for mathematical model
Documentation (type)
Units: List of elements
Parameter vector
Attributes
interval
interval=int
Units: Days
Simulation step
iseed
iseed=int
Units: Number
Seed for RNG
delta
delta=double
Units: ? Redundant
this no longer seems to be used
latentp
latentp=int
Units: Time steps Min: 0 Max: 20
pre-erythrocytic latent period, in time steps
parameter
→ scenario → model → parameters → parameter
<parameter
name=string
number=int
value=double
[ include=boolean ]
/>
Attributes
name
name=string
Units: string
Name of parameter
number
number=int
Units: Number Min: 1 Max: 100
Reference number of input parameter
value
value=double
Units: Number Min: 0
Parameter value
include
include=boolean
Units: Number Min: 0 Max: 1
True if parameter is to be sampled in optimization runs. Not used in simulator app.
Schema 15 documentation
Generated from: scenario_15.xsd
.
Key:
abc required (one)
[ def ] optional (zero or one)
( ghi )* any number (zero or more)
( jkl )+ at least one
( mno ){2,inf} two or more occurrences
scenario
→ scenario
<scenario
schemaVersion=int
analysisNo=int
maximumAgeYrs=double
name=string
popSize=int
wuID=int
assimMode=("0" or "1")
mode=("2" or "3" or "4")
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:noNamespaceSchemaLocation="scenario_15.xsd"
>
IN THIS ORDER:
| <ModelOptions ... />
| <demography ... />
| <monitoring ... />
| <interventions ... />
| EXACTLY ONE OF:
| | <EventScheduler ... />
| | <healthSystem ... />
| <entoData ... />
| [ <drugDescription ... /> ]
| <parameters ... />
</scenario>
- ModelOptions
- demography
- monitoring
- interventions
- EventScheduler
- healthSystem
- entoData
- drugDescription
- parameters
Documentation (element)
Units: List of elements
Description of scenario
Attributes
schemaVersion
schemaVersion=int
Version of xml schema. If not equal to the current version an error is thrown. Use SchemaTranslator to update xml files.
analysisNo
analysisNo=int
Units: Number Min: 1 Max: 100000000
Unique identifier of scenario
maximumAgeYrs
maximumAgeYrs=double
Units: Number Min: 0 Max: 100
Maximum age of simulated humans
name
name=string
Units: string
Name of intervention
popSize
popSize=int
Units: Count Min: 1 Max: 100000
Population size
wuID
wuID=int
Units: Number Min: 1 Max: 100000000
Work unit ID. Only used to validate checkpointing, to prevent checkpoint cheats.
assimMode
assimMode=("0" or "1")
Units: Code
Assimilator mode. Defines output of simulator as either complete (columns: time,agegroup,measure,value) or minimal (single column: value)
mode
mode=("2" or "3" or "4")
Units: Code
Transmission simulation mode
ModelOptions
→ scenario → ModelOptions
<ModelOptions>
IN THIS ORDER:
| ( <option ... /> )*
</ModelOptions>
Documentation (element)
All model options (bug fixes, choices between models, etc.).
The list of recognised options can be found in the code at: include/util/ModelOptions.hpp and should also be in the wiki.
option
→ scenario → ModelOptions → option
<option
name=string
value=boolean
/>
Attributes
name
name=string
Option name. Must be one of a strictly defined set. Options are not required to be listed if their default value is desired.
value
value=boolean
Option value (true/false). Each option has a default value (may be true or false) which is used if the option is not listed.
demography
→ scenario → demography
<demography
name=string
[ growthRate=double ]
>
IN THIS ORDER:
| <ageGroup ... />
</demography>
Documentation (element)
Units: List of elements
Description of demography
Documentation (type)
Units: List of elements
Description of demography
Attributes
name
name=string
Units: string
Name of demography data
growthRate
growthRate=double
Units: Number Min: 0 Max: 0
Growth rate of human population.
ageGroup
→ scenario → demography → ageGroup
<ageGroup
lowerbound=double
>
IN THIS ORDER:
| ( <group ... /> )+
</ageGroup>
Documentation (element)
Units: List of elements
List of age groups included in demography
Documentation (type)
Units: List of elements
List of age groups included in demography or surveys
Attributes
lowerbound
lowerbound=double
Units: Years Min: 0 Max: 100
Lower bound of age group
group
→ scenario → demography → ageGroup → group
<group
poppercent=double
upperbound=double
/>
Attributes
poppercent
poppercent=double
upperbound
upperbound=double
monitoring
→ scenario → monitoring
<monitoring
name=string
>
IN THIS ORDER:
| <SurveyOptions ... />
| <surveys ... />
| <ageGroup ... />
</monitoring>
Documentation (element)
Units: List of elements
Description of surveys
Documentation (type)
Units: List of elements
Description of surveys
Attributes
name
name=string
Units: string
Name of monitoring data
SurveyOptions
→ scenario → monitoring → SurveyOptions
<SurveyOptions>
IN THIS ORDER:
| ( <option ... /> )*
</SurveyOptions>
Documentation (element)
List of all active survey options. See include/Survey.h for a list of supported outputs. Should also be on the wiki.
surveys
→ scenario → monitoring → surveys
<surveys
detectionLimit=double
>
IN THIS ORDER:
| <surveyTime ... />
</surveys>
Documentation (element)
Units: List of elements
List of survey times
Attributes
detectionLimit
detectionLimit=double
Units: parasites/micolitre Min: 0 Max: 1000
Detection limit for parasitemia
surveyTime
→ scenario → monitoring → surveys → surveyTime
<surveyTime>
int
</surveyTime>
Documentation (element)
Units: Number Min: 0
Survey time; 0 means just before start of main sim and is a valid survey-point. Reported data is either from a point-time survey (immediate data) or is collected over the previous year (data from previous timesteps-per-year period). Simulation will end immediately after last survey is taken.
ageGroup
→ scenario → monitoring → ageGroup
<ageGroup
lowerbound=double
>
IN THIS ORDER:
| ( <group ... /> )+
</ageGroup>
Documentation (element)
Units: List of elements
List of age groups included in demography or surveys
Documentation (type)
Units: List of elements
List of age groups included in surveys
Attributes
lowerbound
lowerbound=double
Units: Years Min: 0 Max: 100
Lower bound of age group
group
→ scenario → monitoring → ageGroup → group
<group
upperbound=double
/>
Attributes
upperbound
upperbound=double
interventions
<interventions
name=string
>
IN THIS ORDER:
| [ <MDADescription ... /> ]
| ( <vaccineDescription ... /> ){0,3}
| [ <iptiDescription ... /> ]
| ( <anopheles ... /> )*
| [ <continuous ... /> ]
| [ <timed ... /> ]
</interventions>
Documentation (element)
Units: List of elements
List of interventions
Documentation (type)
Units: List of elements
List of interventions
Attributes
name
name=string
Units: string
Name of age specific intervention
MDADescription
→ scenario → interventions → MDADescription
<MDADescription>
IN THIS ORDER:
| ( <medicate ... /> )*
</MDADescription>
Documentation (element)
Units: List of medicate elements
Description of drug dose(s) used in a mass-drug-administration intervention.
medicate
→ scenario → interventions → MDADescription → medicate
<medicate
name=string
qty=double
time=double
/>
Attributes
name
name=string
Units: string
Abbreviated name of drug compound
qty
qty=double
Units: mg
Quantity of drug compound
time
time=double
Units: hours Min: 0
Number of hours past start of timestep the drug is medicated at (usually 0).
vaccineDescription
→ scenario → interventions → vaccineDescription
<vaccineDescription
vaccineType=int
>
IN THIS ORDER:
| <halfLifeYrs ... />
| <efficacyB ... />
| ( <initialEfficacy ... /> )+
</vaccineDescription>
Attributes
vaccineType
vaccineType=int
Units: Code
Type of vaccine
halfLifeYrs
→ scenario → interventions → vaccineDescription → halfLifeYrs
<halfLifeYrs
value=double
/>
Documentation (element)
Units: Years Min: 0 Max: 100
Half life of drug effect
Attributes
value
value=double
TODO
efficacyB
→ scenario → interventions → vaccineDescription → efficacyB
<efficacyB
value=double
/>
Documentation (element)
Units: Positive real Min: 0.001 Max: 1.00E+06
Measure of variation in vaccine efficacy
Attributes
value
value=double
TODO
initialEfficacy
→ scenario → interventions → vaccineDescription → initialEfficacy
<initialEfficacy
value=double
/>
Attributes
value
value=double
TODO
iptiDescription
→ scenario → interventions → iptiDescription
<iptiDescription
iptiEffect=int
>
IN THIS ORDER:
| ( <infGenotype ... /> )+
</iptiDescription>
Attributes
iptiEffect
iptiEffect=int
infGenotype
→ scenario → interventions → iptiDescription → infGenotype
<infGenotype
name=string
freq=double
ACR=double
proph=int
tolPeriod=int
atten=double
/>
Attributes
name
name=string
Units: string
Name of age specific intervention
freq
freq=double
ACR
ACR=double
proph
proph=int
tolPeriod
tolPeriod=int
atten
atten=double
anopheles
→ scenario → interventions → anopheles
<anopheles
mosquito=string
>
IN THIS ORDER:
| [ <ITNDescription ... /> ]
| [ <IRSDescription ... /> ]
| [ <VADescription ... /> ]
</anopheles>
Attributes
mosquito
mosquito=string
ITNDescription
→ scenario → interventions → anopheles → ITNDescription
<ITNDescription
name=string
>
IN THIS ORDER:
| <deterrency ... />
| <preprandialKillingEffect ... />
| <postprandialKillingEffect ... />
</ITNDescription>
Attributes
name
name=string
Units: string
Name of Insecticide Treated Net intervention
deterrency
→ scenario → interventions → anopheles → ITNDescription → deterrency
<deterrency
initial=double
halflife=double
[ Weibullk=double ]
/>
Documentation (element)
Units: None Min: 0 Max: 1
One minus this multiplies the host's availability (before decay).
Documentation (type)
Specification of a proportion with Weibull or exponential decay.
Attributes
initial
initial=double
Units: None Min: 0 Max: 1
The value before any decay.
halflife
halflife=double
Units: Years Min: 0
Half-life in years (more generally, halflife/ln(2) is lambda from the Weibull distribution).
Weibullk
Weibullk=double
Min: 0
The parameter k of the Weibull distribution. If missing, 1.0 is used (equivalent to exponential decay).
preprandialKillingEffect
→ scenario → interventions → anopheles → ITNDescription → preprandialKillingEffect
<preprandialKillingEffect
initial=double
halflife=double
[ Weibullk=double ]
/>
Documentation (element)
Units: None Min: 0 Max: 1
One minus this multiplies the survival rate of mosquitoes attempting to bite a host.
Documentation (type)
Specification of a proportion with Weibull or exponential decay.
Attributes
initial
initial=double
Units: None Min: 0 Max: 1
The value before any decay.
halflife
halflife=double
Units: Years Min: 0
Half-life in years (more generally, halflife/ln(2) is lambda from the Weibull distribution).
Weibullk
Weibullk=double
Min: 0
The parameter k of the Weibull distribution. If missing, 1.0 is used (equivalent to exponential decay).
postprandialKillingEffect
→ scenario → interventions → anopheles → ITNDescription → postprandialKillingEffect
<postprandialKillingEffect
initial=double
halflife=double
[ Weibullk=double ]
/>
Documentation (element)
Units: None Min: 0 Max: 1
One minus this multiplies the survival rate of mosquitoes attempting to escape after biting a host.
Documentation (type)
Specification of a proportion with Weibull or exponential decay.
Attributes
initial
initial=double
Units: None Min: 0 Max: 1
The value before any decay.
halflife
halflife=double
Units: Years Min: 0
Half-life in years (more generally, halflife/ln(2) is lambda from the Weibull distribution).
Weibullk
Weibullk=double
Min: 0
The parameter k of the Weibull distribution. If missing, 1.0 is used (equivalent to exponential decay).
IRSDescription
→ scenario → interventions → anopheles → IRSDescription
<IRSDescription
name=string
>
IN THIS ORDER:
| <deterrency ... />
| <killingEffect ... />
</IRSDescription>
Attributes
name
name=string
Units: string
Name of Indoor Residual Spraying intervention
deterrency
→ scenario → interventions → anopheles → IRSDescription → deterrency
<deterrency
initial=double
halflife=double
[ Weibullk=double ]
/>
Documentation (element)
Units: None Min: 0 Max: 1
One minus this multiplies the host's availability.
Documentation (type)
Specification of a proportion with Weibull or exponential decay.
Attributes
initial
initial=double
Units: None Min: 0 Max: 1
The value before any decay.
halflife
halflife=double
Units: Years Min: 0
Half-life in years (more generally, halflife/ln(2) is lambda from the Weibull distribution).
Weibullk
Weibullk=double
Min: 0
The parameter k of the Weibull distribution. If missing, 1.0 is used (equivalent to exponential decay).
killingEffect
→ scenario → interventions → anopheles → IRSDescription → killingEffect
<killingEffect
initial=double
halflife=double
[ Weibullk=double ]
/>
Documentation (element)
Units: None Min: 0 Max: 1
One minus this multiplies the survival rate of resting mosquitoes.
Documentation (type)
Specification of a proportion with Weibull or exponential decay.
Attributes
initial
initial=double
Units: None Min: 0 Max: 1
The value before any decay.
halflife
halflife=double
Units: Years Min: 0
Half-life in years (more generally, halflife/ln(2) is lambda from the Weibull distribution).
Weibullk
Weibullk=double
Min: 0
The parameter k of the Weibull distribution. If missing, 1.0 is used (equivalent to exponential decay).
VADescription
→ scenario → interventions → anopheles → VADescription
<VADescription
name=string
>
IN THIS ORDER:
| <deterrency ... />
</VADescription>
Attributes
name
name=string
Units: string
Name of mosquito deterrency intervention
deterrency
→ scenario → interventions → anopheles → VADescription → deterrency
<deterrency
initial=double
halflife=double
[ Weibullk=double ]
/>
Documentation (element)
Units: None Min: 0 Max: 1
One minus this multiplies the host's availability.
Documentation (type)
Specification of a proportion with Weibull or exponential decay.
Attributes
initial
initial=double
Units: None Min: 0 Max: 1
The value before any decay.
halflife
halflife=double
Units: Years Min: 0
Half-life in years (more generally, halflife/ln(2) is lambda from the Weibull distribution).
Weibullk
Weibullk=double
Min: 0
The parameter k of the Weibull distribution. If missing, 1.0 is used (equivalent to exponential decay).
continuous
→ scenario → interventions → continuous
<continuous>
IN THIS ORDER:
| ( <vaccine ... /> )*
| ( <ITN ... /> )*
| ( <ipti ... /> )*
</continuous>
vaccine
→ scenario → interventions → continuous → vaccine
<vaccine
targetAgeYrs=double
coverage=double
/>
Documentation (element)
Units: List of elements
List of age groups for vaccination
Attributes
targetAgeYrs
targetAgeYrs=double
Units: Years Min: 0 Max: 100
Target age of intervention
coverage
coverage=double
Units: Proportion Min: 0 Max: 1
Coverage of intervention
ITN
→ scenario → interventions → continuous → ITN
<ITN
targetAgeYrs=double
coverage=double
/>
Documentation (element)
Units: List of elements
Description of ITN deployment in the community
Attributes
targetAgeYrs
targetAgeYrs=double
Units: Years Min: 0 Max: 100
Target age of intervention
coverage
coverage=double
Units: Proportion Min: 0 Max: 1
Coverage of intervention
ipti
→ scenario → interventions → continuous → ipti
<ipti
targetAgeYrs=double
coverage=double
/>
Documentation (element)
Units: List of elements
List of age groups for IPTi distribution
Attributes
targetAgeYrs
targetAgeYrs=double
Units: Years Min: 0 Max: 100
Target age of intervention
coverage
coverage=double
Units: Proportion Min: 0 Max: 1
Coverage of intervention
timed
→ scenario → interventions → timed
<timed>
IN THIS ORDER:
| ( <intervention ... /> )+
</timed>
Documentation (element)
Units: List of elements
List of timed interventions
Documentation (type)
Units: List of elements
List of timed interventions
intervention
→ scenario → interventions → timed → intervention
<intervention
time=int
>
IN THIS ORDER:
| [ <changeHS ... /> ]
| [ <changeEIR ... /> ]
| [ <MDA ... /> ]
| [ <vaccinate ... /> ]
| [ <ITN ... /> ]
| [ <IRS ... /> ]
| [ <VectorAvailability ... /> ]
| [ <ipti ... /> ]
| [ <larviciding ... /> ]
</intervention>
Attributes
time
time=int
Units: Number Min: 1 Max: 10000
Time step of intervention
changeHS
→ scenario → interventions → timed → intervention → changeHS
<changeHS
name=string
healthSystemMemory=int
>
IN THIS ORDER:
| <drugRegimen ... />
| <initialACR ... />
| <compliance ... />
| <nonCompliersEffective ... />
| <pSeekOfficialCareUncomplicated1 ... />
| <pSelfTreatUncomplicated ... />
| <pSeekOfficialCareUncomplicated2 ... />
| <pSeekOfficialCareSevere ... />
| <pSequelaeInpatient ... />
| <CFR ... />
</changeHS>
- drugRegimen
- initialACR
- compliance
- nonCompliersEffective
- pSeekOfficialCareUncomplicated1
- pSelfTreatUncomplicated
- pSeekOfficialCareUncomplicated2
- pSeekOfficialCareSevere
- pSequelaeInpatient
- CFR
Documentation (type)
Units: List of elements
Description of health system
Attributes
name
name=string
Units: string
Name of health system
healthSystemMemory
healthSystemMemory=int
Units: Time steps Min: 1 Max: 100
Follow-up period during which a recurrence is considered to be a treatment failure
drugRegimen
→ scenario → healthSystem → drugRegimen
<drugRegimen
firstLine=string
secondLine=string
inpatient=string
/>
Documentation (element)
Units: List of elements
Description of drug regimen
Attributes
firstLine
firstLine=string
Units: Drug code
Code for first line drug
secondLine
secondLine=string
Units: Drug code
Code for second line drug
inpatient
inpatient=string
Units: Drug code
Code for drug used for treating inpatients
initialACR
→ scenario → healthSystem → initialACR
<initialACR>
IN THIS ORDER:
| [ <CQ ... /> ]
| [ <SP ... /> ]
| [ <AQ ... /> ]
| [ <SPAQ ... /> ]
| [ <ACT ... /> ]
| [ <QN ... /> ]
| <selfTreatment ... />
</initialACR>
Documentation (element)
Units: Proportion Min: 0 Max: 1
Initial cure rate
CQ
→ scenario → healthSystem → initialACR → CQ
<CQ
value=double
/>
Documentation (element)
Units: List of elements
Chloroquine
Attributes
value
value=double
TODO
SP
→ scenario → healthSystem → initialACR → SP
<SP
value=double
/>
Documentation (element)
Units: List of elements
Sulphadoxine-pyrimethamine
Attributes
value
value=double
TODO
AQ
→ scenario → healthSystem → initialACR → AQ
<AQ
value=double
/>
Documentation (element)
Units: List of elements
Amodiaquine
Attributes
value
value=double
TODO
SPAQ
→ scenario → healthSystem → initialACR → SPAQ
<SPAQ
value=double
/>
Documentation (element)
Units: List of elements
Sulphadoxine-pyrimethamine/Amodiaquine
Attributes
value
value=double
TODO
ACT
→ scenario → healthSystem → initialACR → ACT
<ACT
value=double
/>
Documentation (element)
Units: List of elements
Artemisinine combination therapy
Attributes
value
value=double
TODO
QN
→ scenario → healthSystem → initialACR → QN
<QN
value=double
/>
Documentation (element)
Units: List of elements
Quinine
Attributes
value
value=double
TODO
selfTreatment
→ scenario → healthSystem → initialACR → selfTreatment
<selfTreatment
value=double
/>
Documentation (element)
Units: Proportion Min: 0 Max: 1
Probability of self-treatment
Attributes
value
value=double
TODO
compliance
→ scenario → healthSystem → compliance
<compliance>
IN THIS ORDER:
| [ <CQ ... /> ]
| [ <SP ... /> ]
| [ <AQ ... /> ]
| [ <SPAQ ... /> ]
| [ <ACT ... /> ]
| [ <QN ... /> ]
| <selfTreatment ... />
</compliance>
Documentation (element)
Units: Proportion Min: 0 Max: 1
Adherence to treatment
nonCompliersEffective
→ scenario → healthSystem → nonCompliersEffective
<nonCompliersEffective>
IN THIS ORDER:
| [ <CQ ... /> ]
| [ <SP ... /> ]
| [ <AQ ... /> ]
| [ <SPAQ ... /> ]
| [ <ACT ... /> ]
| [ <QN ... /> ]
| <selfTreatment ... />
</nonCompliersEffective>
Documentation (element)
Units: Proportion Min: 0 Max: 1
Effectiveness of treatment of non compliers
pSeekOfficialCareUncomplicated1
→ scenario → healthSystem → pSeekOfficialCareUncomplicated1
<pSeekOfficialCareUncomplicated1
value=double
/>
Documentation (element)
Units: Proportion Min: 0 Max: 1
Probability that a patient with newly incident uncomplicated disease seeks official care
Attributes
value
value=double
TODO
pSelfTreatUncomplicated
→ scenario → healthSystem → pSelfTreatUncomplicated
<pSelfTreatUncomplicated
value=double
/>
Documentation (element)
Units: Proportion Min: 0 Max: 1
Probability that a patient with uncomplicated disease self-treats
Attributes
value
value=double
TODO
pSeekOfficialCareUncomplicated2
→ scenario → healthSystem → pSeekOfficialCareUncomplicated2
<pSeekOfficialCareUncomplicated2
value=double
/>
Documentation (element)
Units: Proportion Min: 0 Max: 1
Probability that a patient with recurrence of uncomplicated disease seeks official care
Attributes
value
value=double
TODO
pSeekOfficialCareSevere
→ scenario → healthSystem → pSeekOfficialCareSevere
<pSeekOfficialCareSevere
value=double
/>
Documentation (element)
Units: Proportion Min: 0 Max: 1
Probability that a patient with severe disease seeks official care
Attributes
value
value=double
TODO
pSequelaeInpatient
→ scenario → healthSystem → pSequelaeInpatient
<pSequelaeInpatient>
IN THIS ORDER:
| ( <item ... /> )+
</pSequelaeInpatient>
Documentation (element)
Units: List of elements
List of age specific probabilities of sequelae in inpatients.
Note: previously these ranges were silently remapped. To prevent unexpected differences, there must be two groups, with maxAgeYrs bounds 5 and 99 respectively.
item
→ scenario → healthSystem → pSequelaeInpatient → item
<item
value=double
maxAgeYrs=double
/>
Attributes
value
value=double
TODO
maxAgeYrs
maxAgeYrs=double
Units: Years Min: 0 Max: 100
Upper bound of age group
CFR
→ scenario → healthSystem → CFR
<CFR>
IN THIS ORDER:
| ( <group ... /> )+
</CFR>
group
→ scenario → healthSystem → CFR → group
<group
cfr=double
lowerbound=double
/>
Attributes
cfr
cfr=double
Units: Proportion Min: 0 Max: 1
Case fatality rate
lowerbound
lowerbound=double
Units: Years Min: 0 Max: 100
Lower bound of age group
changeEIR
→ scenario → interventions → timed → intervention → changeEIR
<changeEIR
eipDuration=int
>
IN THIS ORDER:
| ( <EIRDaily ... /> )+
</changeEIR>
Documentation (type)
Parameters for the non-vector transmission model.
Attributes
eipDuration
eipDuration=int
The duration of sporogony in days
EIRDaily
→ scenario → entoData → nonVector → EIRDaily
<EIRDaily
[ origin=string ]
>
double
</EIRDaily>
Documentation (type)
Units: Innoculations per person per day
Value of daily EIR; when multiple values are given for a single timestep they are averaged.
Attributes
origin
origin=string
MDA
→ scenario → interventions → timed → intervention → MDA
<MDA
[ maxAge=double ]
[ minAge=double ]
coverage=double
/>
Documentation (element)
Units: List of elements
Description of mass drug deployment in the community.
Attributes
maxAge
maxAge=double
Units: Years Min: 0 Max: 100
Maximum age of eligible individuals (defaults to 100)
minAge
minAge=double
Units: Years Min: 0 Max: 100
Minimum age of eligible individuals (defaults to 0)
coverage
coverage=double
Units: Proportion Min: 0 Max: 1
Coverage of intervention
vaccinate
→ scenario → interventions → timed → intervention → vaccinate
<vaccinate
[ maxAge=double ]
[ minAge=double ]
coverage=double
/>
Documentation (element)
Units: List of elements
Description of vaccine deployment in the community
Attributes
maxAge
maxAge=double
Units: Years Min: 0 Max: 100
Maximum age of eligible individuals (defaults to 100)
minAge
minAge=double
Units: Years Min: 0 Max: 100
Minimum age of eligible individuals (defaults to 0)
coverage
coverage=double
Units: Proportion Min: 0 Max: 1
Coverage of intervention
ITN
→ scenario → interventions → timed → intervention → ITN
<ITN
[ maxAge=double ]
[ minAge=double ]
coverage=double
/>
Documentation (element)
Units: List of elements
Description of ITN deployment in the community
Attributes
maxAge
maxAge=double
Units: Years Min: 0 Max: 100
Maximum age of eligible individuals (defaults to 100)
minAge
minAge=double
Units: Years Min: 0 Max: 100
Minimum age of eligible individuals (defaults to 0)
coverage
coverage=double
Units: Proportion Min: 0 Max: 1
Coverage of intervention
IRS
→ scenario → interventions → timed → intervention → IRS
<IRS
[ maxAge=double ]
[ minAge=double ]
coverage=double
/>
Documentation (element)
Units: List of elements
Description of IRS deployment in the community
Attributes
maxAge
maxAge=double
Units: Years Min: 0 Max: 100
Maximum age of eligible individuals (defaults to 100)
minAge
minAge=double
Units: Years Min: 0 Max: 100
Minimum age of eligible individuals (defaults to 0)
coverage
coverage=double
Units: Proportion Min: 0 Max: 1
Coverage of intervention
VectorAvailability
→ scenario → interventions → timed → intervention → VectorAvailability
<VectorAvailability
[ maxAge=double ]
[ minAge=double ]
coverage=double
/>
Documentation (element)
Units: List of elements
Description of a mosquito detterent deployment in the community
Attributes
maxAge
maxAge=double
Units: Years Min: 0 Max: 100
Maximum age of eligible individuals (defaults to 100)
minAge
minAge=double
Units: Years Min: 0 Max: 100
Minimum age of eligible individuals (defaults to 0)
coverage
coverage=double
Units: Proportion Min: 0 Max: 1
Coverage of intervention
ipti
→ scenario → interventions → timed → intervention → ipti
<ipti
[ maxAge=double ]
[ minAge=double ]
coverage=double
/>
Documentation (element)
Units: List of elements
List of age groups for IPTi distribution
Attributes
maxAge
maxAge=double
Units: Years Min: 0 Max: 100
Maximum age of eligible individuals (defaults to 100)
minAge
minAge=double
Units: Years Min: 0 Max: 100
Minimum age of eligible individuals (defaults to 0)
coverage
coverage=double
Units: Proportion Min: 0 Max: 1
Coverage of intervention
larviciding
→ scenario → interventions → timed → intervention → larviciding
<larviciding>
IN THIS ORDER:
| ( <anopheles ... /> )+
</larviciding>
Documentation (element)
Simple larviciding intervention description.
anopheles
→ scenario → interventions → timed → intervention → larviciding → anopheles
<anopheles
mosquito=string
effectiveness=double
duration=int
/>
Attributes
mosquito
mosquito=string
effectiveness
effectiveness=double
Units: none Min: 0 Max: 1
Proportion to reduce emergence rates by.
duration
duration=int
Units: days Min: 0 Max: inf
Number of days for which the intervention is active.
EventScheduler
<EventScheduler
healthSystemMemory=int
>
IN THIS ORDER:
| <CaseManagementTree ... />
| <ClinicalOutcomes ... />
</EventScheduler>
Documentation (element)
Units: List of elements
Description of case management and clinical events.
Attributes
healthSystemMemory
healthSystemMemory=int
Units: Time steps Min: 1 Max: 100
Follow-up period during which a recurrence is considered to be a treatment failure
CaseManagementTree
→ scenario → EventScheduler → CaseManagementTree
<CaseManagementTree
mask=int
>
IN THIS ORDER:
| ( <CM_pBranchSet ... /> )*
| ( <CM_leaf ... /> )+
</CaseManagementTree>
Documentation (element)
Units: List of elements
Partial description of the case management tree. The tree consists of: Probability branches: map an ID to another ID (the outcome) stochastically. Test branches: map an ID with a special flag to another ID; these are hard-coded. Leaf nodes: these map an ID to a list of drug medications.
Test branches are used if a flag requests a test (currently only RESULT_DETERMINE for parasite tests). Otherwise a probability or leaf branch is used by masking the current ID with mask (attribute for this element).
Attributes
mask
mask=int
Units: None Min: 0 Max: 0xFFFFFFFF
Value used to mask decision ids before selecting a branch/leaf.
CM_pBranchSet
→ scenario → EventScheduler → CaseManagementTree → CM_pBranchSet
<CM_pBranchSet
ID=int
>
IN THIS ORDER:
| ( <CM_pBranch ... /> )+
</CM_pBranchSet>
Documentation (element)
A probability branch node: contains a list of outcome nodes along with probabilities, which link to another probability/test branch or leaf node.
Attributes
ID
ID=int
Units: ID
Decision identifier.
CM_pBranch
→ scenario → EventScheduler → CaseManagementTree → CM_pBranchSet → CM_pBranch
<CM_pBranch
outcome=int
p=double
/>
Attributes
outcome
outcome=int
ID of next probability/test branch or leaf node.
p
p=double
Units: Proportion Min: 0 Max: 1
Probability of this outcome
CM_leaf
→ scenario → EventScheduler → CaseManagementTree → CM_leaf
<CM_leaf
ID=int
>
IN THIS ORDER:
| ( <medicate ... /> )*
</CM_leaf>
Documentation (element)
End points of the case management tree, listing treatments.
Attributes
ID
ID=int
Units: ID
Decision identifier.
medicate
→ scenario → EventScheduler → CaseManagementTree → CM_leaf → medicate
<medicate
name=string
qty=double
time=double
/>
Attributes
name
name=string
Units: string
Abbreviated name of drug compound
qty
qty=double
Units: mg
Quantity of drug compound
time
time=double
Units: hours Min: 0
Number of hours past start of timestep the drug is medicated at (usually 0).
ClinicalOutcomes
→ scenario → EventScheduler → ClinicalOutcomes
<ClinicalOutcomes
severeMask=int
>
IN THIS ORDER:
| ( <outcomes ... /> )+
</ClinicalOutcomes>
Documentation (element)
Tables describing the probability of death and the expected length of hospital stay.
The ID looked up in each table is the final outcome ID of the case-management tree binary or-ed with the mask given here.
Attributes
severeMask
severeMask=int
Units: None Min: 0 Max: 0xFFFFFFFF
Value used to mask the final ID from the case-management tree before looking up values here.
outcomes
→ scenario → EventScheduler → ClinicalOutcomes → outcomes
<outcomes
ID=int
pDeath=double
hospitalizationDaysDeath=int
hospitalizationDaysRecover=int
/>
Documentation (element)
Parameters for a path through the case-management tree (i.e. table row).
Attributes
ID
ID=int
pDeath
pDeath=double
Units: None Min: 0 Max: 1
The probability of death. This probability is applied once-only for each case, irrespective of the branch (thus entries with p=0 for UC cases are probably needed).
hospitalizationDaysDeath
hospitalizationDaysDeath=int
Units: Days Min: 0
The median length of stay in hospital, given the patient dies directly from this event. (Use median rather than a distribution because data should be more reliable and the effect of heterogeneity should be small.)
hospitalizationDaysRecover
hospitalizationDaysRecover=int
Units: Days Min: 0
The median length of stay in hospital, given the patient recovers from this event. (Use median rather than a distribution because data should be more reliable and the effect of heterogeneity should be small.)
healthSystem
→ scenario → healthSystem
<healthSystem
name=string
healthSystemMemory=int
>
IN THIS ORDER:
| <drugRegimen ... />
| <initialACR ... />
| <compliance ... />
| <nonCompliersEffective ... />
| <pSeekOfficialCareUncomplicated1 ... />
| <pSelfTreatUncomplicated ... />
| <pSeekOfficialCareUncomplicated2 ... />
| <pSeekOfficialCareSevere ... />
| <pSequelaeInpatient ... />
| <CFR ... />
</healthSystem>
- drugRegimen
- initialACR
- compliance
- nonCompliersEffective
- pSeekOfficialCareUncomplicated1
- pSelfTreatUncomplicated
- pSeekOfficialCareUncomplicated2
- pSeekOfficialCareSevere
- pSequelaeInpatient
- CFR
Documentation (element)
Units: List of elements
Description of (old) health system model.
Documentation (type)
Units: List of elements
Description of health system
Attributes
name
name=string
Units: string
Name of health system
healthSystemMemory
healthSystemMemory=int
Units: Time steps Min: 1 Max: 100
Follow-up period during which a recurrence is considered to be a treatment failure
entoData
<entoData
name=string
>
IN THIS ORDER:
| EXACTLY ONE OF:
| | <nonVector ... />
| | <vector ... />
</entoData>
Documentation (element)
Units: List of elements
Description of entomological data
Documentation (type)
Units: List of elements
Data for entomodel
Attributes
name
name=string
Units: string
Name of entomology data
nonVector
→ scenario → entoData → nonVector
<nonVector
eipDuration=int
>
IN THIS ORDER:
| ( <EIRDaily ... /> )+
</nonVector>
Documentation (type)
Parameters for the non-vector transmission model.
Attributes
eipDuration
eipDuration=int
The duration of sporogony in days
vector
→ scenario → entoData → vector
<vector>
IN THIS ORDER:
| ( <anopheles ... /> )+
</vector>
Documentation (element)
Parameters for the vector transmission model.
anopheles
→ scenario → entoData → vector → anopheles
<anopheles
mosquito=string
propInfected=double
propInfectious=double
>
IN THIS ORDER:
| <eir ... />
| <mosq ... />
| ( <nonHumanHosts ... /> )*
</anopheles>
Attributes
mosquito
mosquito=string
propInfected
propInfected=double
Units: Proportion Min: 0 Max: 1
Initial guess of the proportion of mosquitoes which are infected, o: O_v(t) = o*N_v(t). Only used as a starting value.
propInfectious
propInfectious=double
Units: Proportion Min: 0 Max: 1
Initial guess of the proportion of mosquitoes which are infectious, s: S_v(t) = s*N_v(t). Used as a starting value and then fit.
eir
→ scenario → entoData → vector → anopheles → eir
<eir
a0=double
a1=double
b1=double
a2=double
b2=double
EIRRotateAngle=double
/>
Documentation (element)
Units: Innoculations per person per day
Description of target entomological inoculation rate, used to calculate the vector emergence rate. An EIR array is generated from the exponent of the inverse discrete fourier transform of these parameters.
Attributes
a0
a0=double
a1
a1=double
b1
b1=double
a2
a2=double
b2
b2=double
EIRRotateAngle
EIRRotateAngle=double
mosq
→ scenario → entoData → vector → anopheles → mosq
<mosq
mosqRestDuration=int
extrinsicIncubationPeriod=int
mosqSeekingDeathRate=double
mosqSeekingDuration=double
mosqEntoAvailability=double
mosqProbBiting=double
mosqProbFindRestSite=double
mosqProbResting=double
mosqProbOvipositing=double
/>
Documentation (element)
Units: List of elements
Vector species
Attributes
mosqRestDuration
mosqRestDuration=int
extrinsicIncubationPeriod
extrinsicIncubationPeriod=int
mosqSeekingDeathRate
mosqSeekingDeathRate=double
mosqSeekingDuration
mosqSeekingDuration=double
mosqEntoAvailability
mosqEntoAvailability=double
mosqProbBiting
mosqProbBiting=double
mosqProbFindRestSite
mosqProbFindRestSite=double
mosqProbResting
mosqProbResting=double
mosqProbOvipositing
mosqProbOvipositing=double
nonHumanHosts
→ scenario → entoData → vector → anopheles → nonHumanHosts
<nonHumanHosts
name=string
mosqEntoAvailability=double
mosqProbBiting=double
mosqProbFindRestSite=double
mosqProbResting=double
/>
Documentation (element)
Units: List of elements
Non human host parameters, per type of host (must match up with non-species-specific parameters).
Attributes
name
name=string
mosqEntoAvailability
mosqEntoAvailability=double
mosqProbBiting
mosqProbBiting=double
mosqProbFindRestSite
mosqProbFindRestSite=double
mosqProbResting
mosqProbResting=double
drugDescription
<drugDescription>
IN THIS ORDER:
| ( <drug ... /> )+
</drugDescription>
Documentation (element)
Units: List of elements
Drug model parameters
drug
→ scenario → drugDescription → drug
<drug
abbrev=string
>
IN THIS ORDER:
| <PD ... />
| <PK ... />
</drug>
Documentation (element)
Sequence of drug descriptions forming a library of drug parameters.
Attributes
abbrev
abbrev=string
PD
→ scenario → drugDescription → drug → PD
<PD>
IN THIS ORDER:
| ( <allele ... /> )+
</PD>
allele
→ scenario → drugDescription → drug → PD → allele
<allele
name=string
>
IN THIS ORDER:
| <initial_frequency ... />
| <max_killing_rate ... />
| <IC50 ... />
| <slope ... />
</allele>
Documentation (element)
PD parameters per allele, plus initial frequency of each allele.
Note: we assume a one-to-one correspondance of drugs to loci, hence each drug has an independent set of alleles here.
Attributes
name
name=string
initial_frequency
→ scenario → drugDescription → drug → PD → allele → initial_frequency
<initial_frequency>
double
</initial_frequency>
Documentation (element)
Units: relative frequency Min: 0
Frequency, relative to the total frequency of all alleles for this drug/locus.
max_killing_rate
→ scenario → drugDescription → drug → PD → allele → max_killing_rate
<max_killing_rate>
double
</max_killing_rate>
Documentation (element)
Units: 1/days Min: 0
k1 — Maximal parasite killing rate.
IC50
→ scenario → drugDescription → drug → PD → allele → IC50
<IC50>
double
</IC50>
Documentation (element)
Units: mg/l Min: 0
Half maximal effect concentration.
slope
→ scenario → drugDescription → drug → PD → allele → slope
<slope>
double
</slope>
Documentation (element)
Units: no units
n — Slope of the concentration effect curve
PK
→ scenario → drugDescription → drug → PK
<PK>
IN THIS ORDER:
| <negligible_concentration ... />
| <half_life ... />
| <vol_dist ... />
</PK>
negligible_concentration
→ scenario → drugDescription → drug → PK → negligible_concentration
<negligible_concentration>
double
</negligible_concentration>
Documentation (element)
Units: mg/l Min: 0
Concentration below which drug's effects are deemed negligible and can be removed from simulation.
half_life
→ scenario → drugDescription → drug → PK → half_life
<half_life>
double
</half_life>
Documentation (element)
Units: days Min: 0
Used to calculate elimintation rate (which is: ln(2) / half_life).
vol_dist
→ scenario → drugDescription → drug → PK → vol_dist
<vol_dist>
double
</vol_dist>
Documentation (element)
Units: l/kg Min: 0
Volume of Distribution
parameters
→ scenario → parameters
<parameters
interval=int
iseed=int
delta=double
latentp=int
>
IN THIS ORDER:
| ( <parameter ... /> )+
</parameters>
Documentation (element)
Units: List of elements
Parameters for mathematical model
Documentation (type)
Units: List of elements
Parameter vector
Attributes
interval
interval=int
Units: Days
Simulation step
iseed
iseed=int
Units: Number
Seed for RNG
delta
delta=double
Units: ? Redundant
this no longer seems to be used
latentp
latentp=int
Units: Time steps Min: 0 Max: 20
pre-erythrocytic latent period, in time steps
parameter
→ scenario → parameters → parameter
<parameter
name=string
number=int
value=double
[ include=boolean ]
/>
Attributes
name
name=string
Units: string
Name of parameter
number
number=int
Units: Number Min: 1 Max: 100
Reference number of input parameter
value
value=double
Units: Number Min: 0
Parameter value
include
include=boolean
Units: Number Min: 0 Max: 1
True if parameter is to be sampled in optimization runs. Not used in simulator app.
Schema 14 documentation
Generated from: scenario_14.xsd
.
Key:
abc required (one)
[ def ] optional (zero or one)
( ghi )* any number (zero or more)
( jkl )+ at least one
( mno ){2,inf} two or more occurrences
scenario
→ scenario
<scenario
schemaVersion=int
analysisNo=int
maximumAgeYrs=double
name=string
popSize=int
wuID=int
assimMode=("0" or "1")
mode=("2" or "3" or "4")
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:noNamespaceSchemaLocation="scenario_14.xsd"
>
IN THIS ORDER:
| <ModelOptions ... />
| <demography ... />
| <monitoring ... />
| <interventions ... />
| EXACTLY ONE OF:
| | <EventScheduler ... />
| | <healthSystem ... />
| <entoData ... />
| [ <drugDescription ... /> ]
| <parameters ... />
</scenario>
- ModelOptions
- demography
- monitoring
- interventions
- EventScheduler
- healthSystem
- entoData
- drugDescription
- parameters
Documentation (element)
Units: List of elements
Description of scenario
Attributes
schemaVersion
schemaVersion=int
Version of xml schema. If not equal to the current version an error is thrown. Use SchemaTranslator to update xml files.
analysisNo
analysisNo=int
Units: Number Min: 1 Max: 100000000
Unique identifier of scenario
maximumAgeYrs
maximumAgeYrs=double
Units: Number Min: 0 Max: 100
Maximum age of simulated humans
name
name=string
Units: string
Name of intervention
popSize
popSize=int
Units: Count Min: 1 Max: 100000
Population size
wuID
wuID=int
Units: Number Min: 1 Max: 100000000
Work unit ID. Only used to validate checkpointing, to prevent checkpoint cheats.
assimMode
assimMode=("0" or "1")
Units: Code
Assimilator mode. Defines output of simulator as either complete (columns: time,agegroup,measure,value) or minimal (single column: value)
mode
mode=("2" or "3" or "4")
Units: Code
Transmission simulation mode
ModelOptions
→ scenario → ModelOptions
<ModelOptions>
IN THIS ORDER:
| ( <option ... /> )*
</ModelOptions>
Documentation (element)
All model options (bug fixes, choices between models, etc.).
The list of recognised options can be found in the code at: include/util/ModelOptions.hpp and should also be in the wiki.
option
→ scenario → ModelOptions → option
<option
name=string
value=boolean
/>
Attributes
name
name=string
Option name. Must be one of a strictly defined set. Options are not required to be listed if their default value is desired.
value
value=boolean
Option value (true/false). Each option has a default value (may be true or false) which is used if the option is not listed.
demography
→ scenario → demography
<demography
name=string
[ growthRate=double ]
>
IN THIS ORDER:
| <ageGroup ... />
</demography>
Documentation (element)
Units: List of elements
Description of demography
Documentation (type)
Units: List of elements
Description of demography
Attributes
name
name=string
Units: string
Name of demography data
growthRate
growthRate=double
Units: Number Min: 0 Max: 0
Growth rate of human population.
ageGroup
→ scenario → demography → ageGroup
<ageGroup
lowerbound=double
>
IN THIS ORDER:
| ( <group ... /> )+
</ageGroup>
Documentation (element)
Units: List of elements
List of age groups included in demography
Documentation (type)
Units: List of elements
List of age groups included in demography or surveys
Attributes
lowerbound
lowerbound=double
Units: Years Min: 0 Max: 100
Lower bound of age group
group
→ scenario → demography → ageGroup → group
<group
poppercent=double
upperbound=double
/>
Attributes
poppercent
poppercent=double
upperbound
upperbound=double
monitoring
→ scenario → monitoring
<monitoring
name=string
>
IN THIS ORDER:
| <SurveyOptions ... />
| <surveys ... />
| <ageGroup ... />
</monitoring>
Documentation (element)
Units: List of elements
Description of surveys
Documentation (type)
Units: List of elements
Description of surveys
Attributes
name
name=string
Units: string
Name of monitoring data
SurveyOptions
→ scenario → monitoring → SurveyOptions
<SurveyOptions>
IN THIS ORDER:
| ( <option ... /> )*
</SurveyOptions>
Documentation (element)
List of all active survey options. See include/Survey.h for a list of supported outputs. Should also be on the wiki.
surveys
→ scenario → monitoring → surveys
<surveys
detectionLimit=double
>
IN THIS ORDER:
| <surveyTime ... />
</surveys>
Documentation (element)
Units: List of elements
List of survey times
Attributes
detectionLimit
detectionLimit=double
Units: parasites/micolitre Min: 0 Max: 1000
Detection limit for parasitemia
surveyTime
→ scenario → monitoring → surveys → surveyTime
<surveyTime>
int
</surveyTime>
Documentation (element)
Units: Number Min: 0
Survey time; 0 means just before start of main sim and is a valid survey-point. Reported data is either from a point-time survey (immediate data) or is collected over the previous year (data from previous timesteps-per-year period). Simulation will end immediately after last survey is taken.
ageGroup
→ scenario → monitoring → ageGroup
<ageGroup
lowerbound=double
>
IN THIS ORDER:
| ( <group ... /> )+
</ageGroup>
Documentation (element)
Units: List of elements
List of age groups included in demography or surveys
Documentation (type)
Units: List of elements
List of age groups included in surveys
Attributes
lowerbound
lowerbound=double
Units: Years Min: 0 Max: 100
Lower bound of age group
group
→ scenario → monitoring → ageGroup → group
<group
upperbound=double
/>
Attributes
upperbound
upperbound=double
interventions
<interventions
name=string
>
IN THIS ORDER:
| ( <vaccineDescription ... /> ){0,3}
| [ <iptiDescription ... /> ]
| ( <anopheles ... /> )*
| [ <continuous ... /> ]
| [ <timed ... /> ]
</interventions>
Documentation (element)
Units: List of elements
List of interventions
Documentation (type)
Units: List of elements
List of interventions
Attributes
name
name=string
Units: string
Name of age specific intervention
vaccineDescription
→ scenario → interventions → vaccineDescription
<vaccineDescription
vaccineType=int
>
IN THIS ORDER:
| <halfLifeYrs ... />
| <efficacyB ... />
| ( <initialEfficacy ... /> )+
</vaccineDescription>
Attributes
vaccineType
vaccineType=int
Units: Code
Type of vaccine
halfLifeYrs
→ scenario → interventions → vaccineDescription → halfLifeYrs
<halfLifeYrs
value=double
/>
Documentation (element)
Units: Years Min: 0 Max: 100
Half life of drug effect
Attributes
value
value=double
TODO
efficacyB
→ scenario → interventions → vaccineDescription → efficacyB
<efficacyB
value=double
/>
Documentation (element)
Units: Positive real Min: 0.001 Max: 1.00E+06
Measure of variation in vaccine efficacy
Attributes
value
value=double
TODO
initialEfficacy
→ scenario → interventions → vaccineDescription → initialEfficacy
<initialEfficacy
value=double
/>
Attributes
value
value=double
TODO
iptiDescription
→ scenario → interventions → iptiDescription
<iptiDescription
iptiEffect=int
>
IN THIS ORDER:
| ( <infGenotype ... /> )+
</iptiDescription>
Attributes
iptiEffect
iptiEffect=int
infGenotype
→ scenario → interventions → iptiDescription → infGenotype
<infGenotype
name=string
freq=double
ACR=double
proph=int
tolPeriod=int
atten=double
/>
Attributes
name
name=string
Units: string
Name of age specific intervention
freq
freq=double
ACR
ACR=double
proph
proph=int
tolPeriod
tolPeriod=int
atten
atten=double
anopheles
→ scenario → interventions → anopheles
<anopheles
mosquito=string
>
IN THIS ORDER:
| [ <ITNDescription ... /> ]
| [ <IRSDescription ... /> ]
| [ <VADescription ... /> ]
</anopheles>
Attributes
mosquito
mosquito=string
ITNDescription
→ scenario → interventions → anopheles → ITNDescription
<ITNDescription
name=string
>
IN THIS ORDER:
| <deterrency ... />
| <preprandialKillingEffect ... />
| <postprandialKillingEffect ... />
</ITNDescription>
Attributes
name
name=string
Units: string
Name of Insecticide Treated Net intervention
deterrency
→ scenario → interventions → anopheles → ITNDescription → deterrency
<deterrency
initial=double
halflife=double
[ Weibullk=double ]
/>
Documentation (element)
Units: None Min: 0 Max: 1
One minus this multiplies the host's availability (before decay).
Documentation (type)
Specification of a proportion with Weibull or exponential decay.
Attributes
initial
initial=double
Units: None Min: 0 Max: 1
The value before any decay.
halflife
halflife=double
Units: Years Min: 0
Half-life in years (more generally, halflife/ln(2) is lambda from the Weibull distribution).
Weibullk
Weibullk=double
Min: 0
The parameter k of the Weibull distribution. If missing, 1.0 is used (equivalent to exponential decay).
preprandialKillingEffect
→ scenario → interventions → anopheles → ITNDescription → preprandialKillingEffect
<preprandialKillingEffect
initial=double
halflife=double
[ Weibullk=double ]
/>
Documentation (element)
Units: None Min: 0 Max: 1
One minus this multiplies the survival rate of mosquitoes attempting to bite a host.
Documentation (type)
Specification of a proportion with Weibull or exponential decay.
Attributes
initial
initial=double
Units: None Min: 0 Max: 1
The value before any decay.
halflife
halflife=double
Units: Years Min: 0
Half-life in years (more generally, halflife/ln(2) is lambda from the Weibull distribution).
Weibullk
Weibullk=double
Min: 0
The parameter k of the Weibull distribution. If missing, 1.0 is used (equivalent to exponential decay).
postprandialKillingEffect
→ scenario → interventions → anopheles → ITNDescription → postprandialKillingEffect
<postprandialKillingEffect
initial=double
halflife=double
[ Weibullk=double ]
/>
Documentation (element)
Units: None Min: 0 Max: 1
One minus this multiplies the survival rate of mosquitoes attempting to escape after biting a host.
Documentation (type)
Specification of a proportion with Weibull or exponential decay.
Attributes
initial
initial=double
Units: None Min: 0 Max: 1
The value before any decay.
halflife
halflife=double
Units: Years Min: 0
Half-life in years (more generally, halflife/ln(2) is lambda from the Weibull distribution).
Weibullk
Weibullk=double
Min: 0
The parameter k of the Weibull distribution. If missing, 1.0 is used (equivalent to exponential decay).
IRSDescription
→ scenario → interventions → anopheles → IRSDescription
<IRSDescription
name=string
>
IN THIS ORDER:
| <deterrency ... />
| <killingEffect ... />
</IRSDescription>
Attributes
name
name=string
Units: string
Name of Indoor Residual Spraying intervention
deterrency
→ scenario → interventions → anopheles → IRSDescription → deterrency
<deterrency
initial=double
halflife=double
[ Weibullk=double ]
/>
Documentation (element)
Units: None Min: 0 Max: 1
One minus this multiplies the host's availability.
Documentation (type)
Specification of a proportion with Weibull or exponential decay.
Attributes
initial
initial=double
Units: None Min: 0 Max: 1
The value before any decay.
halflife
halflife=double
Units: Years Min: 0
Half-life in years (more generally, halflife/ln(2) is lambda from the Weibull distribution).
Weibullk
Weibullk=double
Min: 0
The parameter k of the Weibull distribution. If missing, 1.0 is used (equivalent to exponential decay).
killingEffect
→ scenario → interventions → anopheles → IRSDescription → killingEffect
<killingEffect
initial=double
halflife=double
[ Weibullk=double ]
/>
Documentation (element)
Units: None Min: 0 Max: 1
One minus this multiplies the survival rate of resting mosquitoes.
Documentation (type)
Specification of a proportion with Weibull or exponential decay.
Attributes
initial
initial=double
Units: None Min: 0 Max: 1
The value before any decay.
halflife
halflife=double
Units: Years Min: 0
Half-life in years (more generally, halflife/ln(2) is lambda from the Weibull distribution).
Weibullk
Weibullk=double
Min: 0
The parameter k of the Weibull distribution. If missing, 1.0 is used (equivalent to exponential decay).
VADescription
→ scenario → interventions → anopheles → VADescription
<VADescription
name=string
>
IN THIS ORDER:
| <deterrency ... />
</VADescription>
Attributes
name
name=string
Units: string
Name of mosquito deterrency intervention
deterrency
→ scenario → interventions → anopheles → VADescription → deterrency
<deterrency
initial=double
halflife=double
[ Weibullk=double ]
/>
Documentation (element)
Units: None Min: 0 Max: 1
One minus this multiplies the host's availability.
Documentation (type)
Specification of a proportion with Weibull or exponential decay.
Attributes
initial
initial=double
Units: None Min: 0 Max: 1
The value before any decay.
halflife
halflife=double
Units: Years Min: 0
Half-life in years (more generally, halflife/ln(2) is lambda from the Weibull distribution).
Weibullk
Weibullk=double
Min: 0
The parameter k of the Weibull distribution. If missing, 1.0 is used (equivalent to exponential decay).
continuous
→ scenario → interventions → continuous
<continuous>
IN THIS ORDER:
| ( <vaccine ... /> )*
| ( <ITN ... /> )*
| ( <ipti ... /> )*
</continuous>
vaccine
→ scenario → interventions → continuous → vaccine
<vaccine
targetAgeYrs=double
coverage=double
/>
Documentation (element)
Units: List of elements
List of age groups for vaccination
Attributes
targetAgeYrs
targetAgeYrs=double
Units: Years Min: 0 Max: 100
Target age of intervention
coverage
coverage=double
Units: Proportion Min: 0 Max: 1
Coverage of intervention
ITN
→ scenario → interventions → continuous → ITN
<ITN
targetAgeYrs=double
coverage=double
/>
Documentation (element)
Units: List of elements
Description of ITN deployment in the community
Attributes
targetAgeYrs
targetAgeYrs=double
Units: Years Min: 0 Max: 100
Target age of intervention
coverage
coverage=double
Units: Proportion Min: 0 Max: 1
Coverage of intervention
ipti
→ scenario → interventions → continuous → ipti
<ipti
targetAgeYrs=double
coverage=double
/>
Documentation (element)
Units: List of elements
List of age groups for IPTi distribution
Attributes
targetAgeYrs
targetAgeYrs=double
Units: Years Min: 0 Max: 100
Target age of intervention
coverage
coverage=double
Units: Proportion Min: 0 Max: 1
Coverage of intervention
timed
→ scenario → interventions → timed
<timed>
IN THIS ORDER:
| ( <intervention ... /> )+
</timed>
Documentation (element)
Units: List of elements
List of timed interventions
Documentation (type)
Units: List of elements
List of timed interventions
intervention
→ scenario → interventions → timed → intervention
<intervention
time=int
>
IN THIS ORDER:
| [ <changeHS ... /> ]
| [ <changeEIR ... /> ]
| [ <MDA ... /> ]
| [ <vaccinate ... /> ]
| [ <ITN ... /> ]
| [ <IRS ... /> ]
| [ <VectorAvailability ... /> ]
| [ <ipti ... /> ]
| [ <larviciding ... /> ]
</intervention>
Attributes
time
time=int
Units: Number Min: 1 Max: 10000
Time step of intervention
changeHS
→ scenario → interventions → timed → intervention → changeHS
<changeHS
name=string
healthSystemMemory=int
>
IN THIS ORDER:
| <drugRegimen ... />
| <initialACR ... />
| <compliance ... />
| <nonCompliersEffective ... />
| <pSeekOfficialCareUncomplicated1 ... />
| <pSelfTreatUncomplicated ... />
| <pSeekOfficialCareUncomplicated2 ... />
| <pSeekOfficialCareSevere ... />
| <pSequelaeInpatient ... />
| <CFR ... />
</changeHS>
- drugRegimen
- initialACR
- compliance
- nonCompliersEffective
- pSeekOfficialCareUncomplicated1
- pSelfTreatUncomplicated
- pSeekOfficialCareUncomplicated2
- pSeekOfficialCareSevere
- pSequelaeInpatient
- CFR
Documentation (type)
Units: List of elements
Description of health system
Attributes
name
name=string
Units: string
Name of health system
healthSystemMemory
healthSystemMemory=int
Units: Time steps Min: 1 Max: 100
Follow-up period during which a recurrence is considered to be a treatment failure
drugRegimen
→ scenario → healthSystem → drugRegimen
<drugRegimen
firstLine=string
secondLine=string
inpatient=string
/>
Documentation (element)
Units: List of elements
Description of drug regimen
Attributes
firstLine
firstLine=string
Units: Drug code
Code for first line drug
secondLine
secondLine=string
Units: Drug code
Code for second line drug
inpatient
inpatient=string
Units: Drug code
Code for drug used for treating inpatients
initialACR
→ scenario → healthSystem → initialACR
<initialACR>
IN THIS ORDER:
| [ <CQ ... /> ]
| [ <SP ... /> ]
| [ <AQ ... /> ]
| [ <SPAQ ... /> ]
| [ <ACT ... /> ]
| [ <QN ... /> ]
| <selfTreatment ... />
</initialACR>
Documentation (element)
Units: Proportion Min: 0 Max: 1
Initial cure rate
CQ
→ scenario → healthSystem → initialACR → CQ
<CQ
value=double
/>
Documentation (element)
Units: List of elements
Chloroquine
Attributes
value
value=double
TODO
SP
→ scenario → healthSystem → initialACR → SP
<SP
value=double
/>
Documentation (element)
Units: List of elements
Sulphadoxine-pyrimethamine
Attributes
value
value=double
TODO
AQ
→ scenario → healthSystem → initialACR → AQ
<AQ
value=double
/>
Documentation (element)
Units: List of elements
Amodiaquine
Attributes
value
value=double
TODO
SPAQ
→ scenario → healthSystem → initialACR → SPAQ
<SPAQ
value=double
/>
Documentation (element)
Units: List of elements
Sulphadoxine-pyrimethamine/Amodiaquine
Attributes
value
value=double
TODO
ACT
→ scenario → healthSystem → initialACR → ACT
<ACT
value=double
/>
Documentation (element)
Units: List of elements
Artemisinine combination therapy
Attributes
value
value=double
TODO
QN
→ scenario → healthSystem → initialACR → QN
<QN
value=double
/>
Documentation (element)
Units: List of elements
Quinine
Attributes
value
value=double
TODO
selfTreatment
→ scenario → healthSystem → initialACR → selfTreatment
<selfTreatment
value=double
/>
Documentation (element)
Units: Proportion Min: 0 Max: 1
Probability of self-treatment
Attributes
value
value=double
TODO
compliance
→ scenario → healthSystem → compliance
<compliance>
IN THIS ORDER:
| [ <CQ ... /> ]
| [ <SP ... /> ]
| [ <AQ ... /> ]
| [ <SPAQ ... /> ]
| [ <ACT ... /> ]
| [ <QN ... /> ]
| <selfTreatment ... />
</compliance>
Documentation (element)
Units: Proportion Min: 0 Max: 1
Adherence to treatment
nonCompliersEffective
→ scenario → healthSystem → nonCompliersEffective
<nonCompliersEffective>
IN THIS ORDER:
| [ <CQ ... /> ]
| [ <SP ... /> ]
| [ <AQ ... /> ]
| [ <SPAQ ... /> ]
| [ <ACT ... /> ]
| [ <QN ... /> ]
| <selfTreatment ... />
</nonCompliersEffective>
Documentation (element)
Units: Proportion Min: 0 Max: 1
Effectiveness of treatment of non compliers
pSeekOfficialCareUncomplicated1
→ scenario → healthSystem → pSeekOfficialCareUncomplicated1
<pSeekOfficialCareUncomplicated1
value=double
/>
Documentation (element)
Units: Proportion Min: 0 Max: 1
Probability that a patient with newly incident uncomplicated disease seeks official care
Attributes
value
value=double
TODO
pSelfTreatUncomplicated
→ scenario → healthSystem → pSelfTreatUncomplicated
<pSelfTreatUncomplicated
value=double
/>
Documentation (element)
Units: Proportion Min: 0 Max: 1
Probability that a patient with uncomplicated disease self-treats
Attributes
value
value=double
TODO
pSeekOfficialCareUncomplicated2
→ scenario → healthSystem → pSeekOfficialCareUncomplicated2
<pSeekOfficialCareUncomplicated2
value=double
/>
Documentation (element)
Units: Proportion Min: 0 Max: 1
Probability that a patient with recurrence of uncomplicated disease seeks official care
Attributes
value
value=double
TODO
pSeekOfficialCareSevere
→ scenario → healthSystem → pSeekOfficialCareSevere
<pSeekOfficialCareSevere
value=double
/>
Documentation (element)
Units: Proportion Min: 0 Max: 1
Probability that a patient with severe disease seeks official care
Attributes
value
value=double
TODO
pSequelaeInpatient
→ scenario → healthSystem → pSequelaeInpatient
<pSequelaeInpatient>
IN THIS ORDER:
| ( <item ... /> )+
</pSequelaeInpatient>
Documentation (element)
Units: List of elements
List of age specific probabilities of sequelae in inpatients
item
→ scenario → healthSystem → pSequelaeInpatient → item
<item
value=double
maxAgeYrs=double
/>
Attributes
value
value=double
TODO
maxAgeYrs
maxAgeYrs=double
Units: Years Min: 0 Max: 100
Upper bound of age group
CFR
→ scenario → healthSystem → CFR
<CFR>
IN THIS ORDER:
| ( <group ... /> )+
</CFR>
group
→ scenario → healthSystem → CFR → group
<group
cfr=double
lowerbound=double
/>
Attributes
cfr
cfr=double
Units: Proportion Min: 0 Max: 1
Case fatality rate
lowerbound
lowerbound=double
Units: Years Min: 0 Max: 100
Lower bound of age group
changeEIR
→ scenario → interventions → timed → intervention → changeEIR
<changeEIR
eipDuration=int
>
IN THIS ORDER:
| ( <EIRDaily ... /> )+
</changeEIR>
Documentation (type)
Parameters for the non-vector transmission model.
Attributes
eipDuration
eipDuration=int
The duration of sporogony in days
EIRDaily
→ scenario → entoData → nonVector → EIRDaily
<EIRDaily
[ origin=string ]
>
double
</EIRDaily>
Documentation (type)
Units: Innoculations per person per day
Value of daily EIR; when multiple values are given for a single timestep they are averaged.
Attributes
origin
origin=string
MDA
→ scenario → interventions → timed → intervention → MDA
<MDA
[ maxAge=double ]
[ minAge=double ]
coverage=double
/>
Documentation (element)
Units: List of elements
Description of mass drug deployment in the community
Attributes
maxAge
maxAge=double
Units: Years Min: 0 Max: 100
Maximum age of eligible individuals (defaults to 100)
minAge
minAge=double
Units: Years Min: 0 Max: 100
Minimum age of eligible individuals (defaults to 0)
coverage
coverage=double
Units: Proportion Min: 0 Max: 1
Coverage of intervention
vaccinate
→ scenario → interventions → timed → intervention → vaccinate
<vaccinate
[ maxAge=double ]
[ minAge=double ]
coverage=double
/>
Documentation (element)
Units: List of elements
Description of vaccine deployment in the community
Attributes
maxAge
maxAge=double
Units: Years Min: 0 Max: 100
Maximum age of eligible individuals (defaults to 100)
minAge
minAge=double
Units: Years Min: 0 Max: 100
Minimum age of eligible individuals (defaults to 0)
coverage
coverage=double
Units: Proportion Min: 0 Max: 1
Coverage of intervention
ITN
→ scenario → interventions → timed → intervention → ITN
<ITN
[ maxAge=double ]
[ minAge=double ]
coverage=double
/>
Documentation (element)
Units: List of elements
Description of ITN deployment in the community
Attributes
maxAge
maxAge=double
Units: Years Min: 0 Max: 100
Maximum age of eligible individuals (defaults to 100)
minAge
minAge=double
Units: Years Min: 0 Max: 100
Minimum age of eligible individuals (defaults to 0)
coverage
coverage=double
Units: Proportion Min: 0 Max: 1
Coverage of intervention
IRS
→ scenario → interventions → timed → intervention → IRS
<IRS
[ maxAge=double ]
[ minAge=double ]
coverage=double
/>
Documentation (element)
Units: List of elements
Description of IRS deployment in the community
Attributes
maxAge
maxAge=double
Units: Years Min: 0 Max: 100
Maximum age of eligible individuals (defaults to 100)
minAge
minAge=double
Units: Years Min: 0 Max: 100
Minimum age of eligible individuals (defaults to 0)
coverage
coverage=double
Units: Proportion Min: 0 Max: 1
Coverage of intervention
VectorAvailability
→ scenario → interventions → timed → intervention → VectorAvailability
<VectorAvailability
[ maxAge=double ]
[ minAge=double ]
coverage=double
/>
Documentation (element)
Units: List of elements
Description of a mosquito detterent deployment in the community
Attributes
maxAge
maxAge=double
Units: Years Min: 0 Max: 100
Maximum age of eligible individuals (defaults to 100)
minAge
minAge=double
Units: Years Min: 0 Max: 100
Minimum age of eligible individuals (defaults to 0)
coverage
coverage=double
Units: Proportion Min: 0 Max: 1
Coverage of intervention
ipti
→ scenario → interventions → timed → intervention → ipti
<ipti
[ maxAge=double ]
[ minAge=double ]
coverage=double
/>
Documentation (element)
Units: List of elements
List of age groups for IPTi distribution
Attributes
maxAge
maxAge=double
Units: Years Min: 0 Max: 100
Maximum age of eligible individuals (defaults to 100)
minAge
minAge=double
Units: Years Min: 0 Max: 100
Minimum age of eligible individuals (defaults to 0)
coverage
coverage=double
Units: Proportion Min: 0 Max: 1
Coverage of intervention
larviciding
→ scenario → interventions → timed → intervention → larviciding
<larviciding>
IN THIS ORDER:
| ( <anopheles ... /> )+
</larviciding>
Documentation (element)
Simple larviciding intervention description.
anopheles
→ scenario → interventions → timed → intervention → larviciding → anopheles
<anopheles
mosquito=string
effectiveness=double
duration=int
/>
Attributes
mosquito
mosquito=string
effectiveness
effectiveness=double
Units: none Min: 0 Max: 1
Proportion to reduce emergence rates by.
duration
duration=int
Units: days Min: 0 Max: inf
Number of days for which the intervention is active.
EventScheduler
<EventScheduler
healthSystemMemory=int
>
IN THIS ORDER:
| <CaseManagementTree ... />
| <ClinicalOutcomes ... />
</EventScheduler>
Documentation (element)
Units: List of elements
Description of case management and clinical events.
Attributes
healthSystemMemory
healthSystemMemory=int
Units: Time steps Min: 1 Max: 100
Follow-up period during which a recurrence is considered to be a treatment failure
CaseManagementTree
→ scenario → EventScheduler → CaseManagementTree
<CaseManagementTree
mask=int
>
IN THIS ORDER:
| ( <CM_pBranchSet ... /> )*
| ( <CM_leaf ... /> )+
</CaseManagementTree>
Documentation (element)
Units: List of elements
Partial description of the case management tree. The tree consists of: Probability branches: map an ID to another ID (the outcome) stochastically. Test branches: map an ID with a special flag to another ID; these are hard-coded. Leaf nodes: these map an ID to a list of drug medications.
Test branches are used if a flag requests a test (currently only RESULT_DETERMINE for parasite tests). Otherwise a probability or leaf branch is used by masking the current ID with mask (attribute for this element).
Attributes
mask
mask=int
Units: None Min: 0 Max: 0xFFFFFFFF
Value used to mask decision ids before selecting a branch/leaf.
CM_pBranchSet
→ scenario → EventScheduler → CaseManagementTree → CM_pBranchSet
<CM_pBranchSet
ID=int
>
IN THIS ORDER:
| ( <CM_pBranch ... /> )+
</CM_pBranchSet>
Documentation (element)
A probability branch node: contains a list of outcome nodes along with probabilities, which link to another probability/test branch or leaf node.
Attributes
ID
ID=int
Units: ID
Decision identifier.
CM_pBranch
→ scenario → EventScheduler → CaseManagementTree → CM_pBranchSet → CM_pBranch
<CM_pBranch
outcome=int
p=double
/>
Attributes
outcome
outcome=int
ID of next probability/test branch or leaf node.
p
p=double
Units: Proportion Min: 0 Max: 1
Probability of this outcome
CM_leaf
→ scenario → EventScheduler → CaseManagementTree → CM_leaf
<CM_leaf
ID=int
>
IN THIS ORDER:
| ( <medicate ... /> )*
</CM_leaf>
Documentation (element)
End points of the case management tree, listing treatments.
Attributes
ID
ID=int
Units: ID
Decision identifier.
medicate
→ scenario → EventScheduler → CaseManagementTree → CM_leaf → medicate
<medicate
name=string
qty=double
time=double
/>
Attributes
name
name=string
Units: string
Abbreviated name of drug compound
qty
qty=double
Units: mg
Quantity of drug compound
time
time=double
Units: hours Min: 0
Number of hours past start of timestep the drug is medicated at (usually 0).
ClinicalOutcomes
→ scenario → EventScheduler → ClinicalOutcomes
<ClinicalOutcomes
severeMask=int
>
IN THIS ORDER:
| ( <outcomes ... /> )+
</ClinicalOutcomes>
Documentation (element)
Tables describing the probability of death and the expected length of hospital stay.
The ID looked up in each table is the final outcome ID of the case-management tree binary or-ed with the mask given here.
Attributes
severeMask
severeMask=int
Units: None Min: 0 Max: 0xFFFFFFFF
Value used to mask the final ID from the case-management tree before looking up values here.
outcomes
→ scenario → EventScheduler → ClinicalOutcomes → outcomes
<outcomes
ID=int
pDeath=double
hospitalizationDaysDeath=int
hospitalizationDaysRecover=int
/>
Documentation (element)
Parameters for a path through the case-management tree (i.e. table row).
Attributes
ID
ID=int
pDeath
pDeath=double
Units: None Min: 0 Max: 1
The probability of death. This probability is applied once-only for each case, irrespective of the branch (thus entries with p=0 for UC cases are probably needed).
hospitalizationDaysDeath
hospitalizationDaysDeath=int
Units: Days Min: 0
The median length of stay in hospital, given the patient dies directly from this event. (Use median rather than a distribution because data should be more reliable and the effect of heterogeneity should be small.)
hospitalizationDaysRecover
hospitalizationDaysRecover=int
Units: Days Min: 0
The median length of stay in hospital, given the patient recovers from this event. (Use median rather than a distribution because data should be more reliable and the effect of heterogeneity should be small.)
healthSystem
→ scenario → healthSystem
<healthSystem
name=string
healthSystemMemory=int
>
IN THIS ORDER:
| <drugRegimen ... />
| <initialACR ... />
| <compliance ... />
| <nonCompliersEffective ... />
| <pSeekOfficialCareUncomplicated1 ... />
| <pSelfTreatUncomplicated ... />
| <pSeekOfficialCareUncomplicated2 ... />
| <pSeekOfficialCareSevere ... />
| <pSequelaeInpatient ... />
| <CFR ... />
</healthSystem>
- drugRegimen
- initialACR
- compliance
- nonCompliersEffective
- pSeekOfficialCareUncomplicated1
- pSelfTreatUncomplicated
- pSeekOfficialCareUncomplicated2
- pSeekOfficialCareSevere
- pSequelaeInpatient
- CFR
Documentation (element)
Units: List of elements
Description of (old) health system model.
Documentation (type)
Units: List of elements
Description of health system
Attributes
name
name=string
Units: string
Name of health system
healthSystemMemory
healthSystemMemory=int
Units: Time steps Min: 1 Max: 100
Follow-up period during which a recurrence is considered to be a treatment failure
entoData
<entoData
name=string
>
IN THIS ORDER:
| EXACTLY ONE OF:
| | <nonVector ... />
| | <vector ... />
</entoData>
Documentation (element)
Units: List of elements
Description of entomological data
Documentation (type)
Units: List of elements
Data for entomodel
Attributes
name
name=string
Units: string
Name of entomology data
nonVector
→ scenario → entoData → nonVector
<nonVector
eipDuration=int
>
IN THIS ORDER:
| ( <EIRDaily ... /> )+
</nonVector>
Documentation (type)
Parameters for the non-vector transmission model.
Attributes
eipDuration
eipDuration=int
The duration of sporogony in days
vector
→ scenario → entoData → vector
<vector>
IN THIS ORDER:
| ( <anopheles ... /> )+
</vector>
Documentation (element)
Parameters for the vector transmission model.
anopheles
→ scenario → entoData → vector → anopheles
<anopheles
mosquito=string
propInfected=double
propInfectious=double
>
IN THIS ORDER:
| <eir ... />
| <mosq ... />
| ( <nonHumanHosts ... /> )*
</anopheles>
Attributes
mosquito
mosquito=string
propInfected
propInfected=double
Units: Proportion Min: 0 Max: 1
Initial guess of the proportion of mosquitoes which are infected, o: O_v(t) = o*N_v(t). Only used as a starting value.
propInfectious
propInfectious=double
Units: Proportion Min: 0 Max: 1
Initial guess of the proportion of mosquitoes which are infectious, s: S_v(t) = s*N_v(t). Used as a starting value and then fit.
eir
→ scenario → entoData → vector → anopheles → eir
<eir
a0=double
a1=double
b1=double
a2=double
b2=double
EIRRotateAngle=double
/>
Documentation (element)
Units: Innoculations per person per day
Description of target entomological inoculation rate, used to calculate the vector emergence rate. An EIR array is generated from the exponent of the inverse discrete fourier transform of these parameters.
Attributes
a0
a0=double
a1
a1=double
b1
b1=double
a2
a2=double
b2
b2=double
EIRRotateAngle
EIRRotateAngle=double
mosq
→ scenario → entoData → vector → anopheles → mosq
<mosq
mosqRestDuration=int
extrinsicIncubationPeriod=int
mosqSeekingDeathRate=double
mosqSeekingDuration=double
mosqEntoAvailability=double
mosqProbBiting=double
mosqProbFindRestSite=double
mosqProbResting=double
mosqProbOvipositing=double
/>
Documentation (element)
Units: List of elements
Vector species
Attributes
mosqRestDuration
mosqRestDuration=int
extrinsicIncubationPeriod
extrinsicIncubationPeriod=int
mosqSeekingDeathRate
mosqSeekingDeathRate=double
mosqSeekingDuration
mosqSeekingDuration=double
mosqEntoAvailability
mosqEntoAvailability=double
mosqProbBiting
mosqProbBiting=double
mosqProbFindRestSite
mosqProbFindRestSite=double
mosqProbResting
mosqProbResting=double
mosqProbOvipositing
mosqProbOvipositing=double
nonHumanHosts
→ scenario → entoData → vector → anopheles → nonHumanHosts
<nonHumanHosts
name=string
mosqEntoAvailability=double
mosqProbBiting=double
mosqProbFindRestSite=double
mosqProbResting=double
/>
Documentation (element)
Units: List of elements
Non human host parameters, per type of host (must match up with non-species-specific parameters).
Attributes
name
name=string
mosqEntoAvailability
mosqEntoAvailability=double
mosqProbBiting
mosqProbBiting=double
mosqProbFindRestSite
mosqProbFindRestSite=double
mosqProbResting
mosqProbResting=double
drugDescription
<drugDescription>
IN THIS ORDER:
| ( <drug ... /> )+
</drugDescription>
Documentation (element)
Units: List of elements
Drug model parameters
drug
→ scenario → drugDescription → drug
<drug
abbrev=string
>
IN THIS ORDER:
| <PD ... />
| <PK ... />
</drug>
Documentation (element)
Sequence of drug descriptions forming a library of drug parameters.
Attributes
abbrev
abbrev=string
PD
→ scenario → drugDescription → drug → PD
<PD>
IN THIS ORDER:
| ( <allele ... /> )+
</PD>
allele
→ scenario → drugDescription → drug → PD → allele
<allele
name=string
>
IN THIS ORDER:
| <initial_frequency ... />
| <max_killing_rate ... />
| <IC50 ... />
| <slope ... />
</allele>
Documentation (element)
PD parameters per allele, plus initial frequency of each allele.
Note: we assume a one-to-one correspondance of drugs to loci, hence each drug has an independent set of alleles here.
Attributes
name
name=string
initial_frequency
→ scenario → drugDescription → drug → PD → allele → initial_frequency
<initial_frequency>
double
</initial_frequency>
Documentation (element)
Units: relative frequency Min: 0
Frequency, relative to the total frequency of all alleles for this drug/locus.
max_killing_rate
→ scenario → drugDescription → drug → PD → allele → max_killing_rate
<max_killing_rate>
double
</max_killing_rate>
Documentation (element)
Units: 1/days Min: 0
k1 — Maximal parasite killing rate.
IC50
→ scenario → drugDescription → drug → PD → allele → IC50
<IC50>
double
</IC50>
Documentation (element)
Units: mg/l Min: 0
Half maximal effect concentration.
slope
→ scenario → drugDescription → drug → PD → allele → slope
<slope>
double
</slope>
Documentation (element)
Units: no units
n — Slope of the concentration effect curve
PK
→ scenario → drugDescription → drug → PK
<PK>
IN THIS ORDER:
| <negligible_concentration ... />
| <half_life ... />
| <vol_dist ... />
</PK>
negligible_concentration
→ scenario → drugDescription → drug → PK → negligible_concentration
<negligible_concentration>
double
</negligible_concentration>
Documentation (element)
Units: mg/l Min: 0
Concentration below which drug's effects are deemed negligible and can be removed from simulation.
half_life
→ scenario → drugDescription → drug → PK → half_life
<half_life>
double
</half_life>
Documentation (element)
Units: days Min: 0
Used to calculate elimintation rate (which is: ln(2) / half_life).
vol_dist
→ scenario → drugDescription → drug → PK → vol_dist
<vol_dist>
double
</vol_dist>
Documentation (element)
Units: l/kg Min: 0
Volume of Distribution
parameters
→ scenario → parameters
<parameters
interval=int
iseed=int
delta=double
latentp=int
>
IN THIS ORDER:
| ( <parameter ... /> )+
</parameters>
Documentation (element)
Units: List of elements
Parameters for mathematical model
Documentation (type)
Units: List of elements
Parameter vector
Attributes
interval
interval=int
Units: Days
Simulation step
iseed
iseed=int
Units: Number
Seed for RNG
delta
delta=double
Units: ? Redundant
this no longer seems to be used
latentp
latentp=int
Units: Time steps Min: 0 Max: 20
pre-erythrocytic latent period, in time steps
parameter
→ scenario → parameters → parameter
<parameter
name=string
number=int
value=double
[ include=boolean ]
/>
Attributes
name
name=string
Units: string
Name of parameter
number
number=int
Units: Number Min: 1 Max: 100
Reference number of input parameter
value
value=double
Units: Number Min: 0
Parameter value
include
include=boolean
Units: Number Min: 0 Max: 1
True if parameter is to be sampled in optimization runs. Not used in simulator app.
Schema 13 documentation
Generated from: scenario_13.xsd
.
Key:
abc required (one)
[ def ] optional (zero or one)
( ghi )* any number (zero or more)
( jkl )+ at least one
( mno ){2,inf} two or more occurrences
scenario
→ scenario
<scenario
schemaVersion=int
analysisNo=int
maximumAgeYrs=double
name=string
popSize=int
wuID=int
assimMode=("0" or "1")
mode=("2" or "3" or "4")
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:noNamespaceSchemaLocation="scenario_13.xsd"
>
IN THIS ORDER:
| <ModelOptions ... />
| <demography ... />
| <monitoring ... />
| <interventions ... />
| EXACTLY ONE OF:
| | <EventScheduler ... />
| | <healthSystem ... />
| <entoData ... />
| [ <drugDescription ... /> ]
| <parameters ... />
</scenario>
- ModelOptions
- demography
- monitoring
- interventions
- EventScheduler
- healthSystem
- entoData
- drugDescription
- parameters
Documentation (element)
Units: List of elements
Description of scenario
Attributes
schemaVersion
schemaVersion=int
Version of xml schema. If not equal to the current version an error is thrown. Use SchemaTranslator to update xml files.
analysisNo
analysisNo=int
Units: Number Min: 1 Max: 100000000
Unique identifier of scenario
maximumAgeYrs
maximumAgeYrs=double
Units: Number Min: 0 Max: 100
Maximum age of simulated humans
name
name=string
Units: string
Name of intervention
popSize
popSize=int
Units: Count Min: 1 Max: 100000
Population size
wuID
wuID=int
Units: Number Min: 1 Max: 100000000
Work unit ID. Only used to validate checkpointing, to prevent checkpoint cheats.
assimMode
assimMode=("0" or "1")
Units: Code
Assimilator mode. Defines output of simulator as either complete (columns: time,agegroup,measure,value) or minimal (single column: value)
mode
mode=("2" or "3" or "4")
Units: Code
Transmission simulation mode
ModelOptions
→ scenario → ModelOptions
<ModelOptions>
IN THIS ORDER:
| ( <option ... /> )*
</ModelOptions>
Documentation (element)
All model options (bug fixes, choices between models, etc.).
The list of recognised options can be found in the code at: include/util/ModelOptions.hpp and should also be in the wiki.
option
→ scenario → ModelOptions → option
<option
name=string
value=boolean
/>
Attributes
name
name=string
Option name. Must be one of a strictly defined set. Options are not required to be listed if their default value is desired.
value
value=boolean
Option value (true/false). Each option has a default value (may be true or false) which is used if the option is not listed.
demography
→ scenario → demography
<demography
name=string
[ growthRate=double ]
>
IN THIS ORDER:
| <ageGroup ... />
</demography>
Documentation (element)
Units: List of elements
Description of demography
Documentation (type)
Units: List of elements
Description of demography
Attributes
name
name=string
Units: string
Name of demography data
growthRate
growthRate=double
Units: Number Min: 0 Max: 0
Growth rate of human population.
ageGroup
→ scenario → demography → ageGroup
<ageGroup
lowerbound=double
>
IN THIS ORDER:
| ( <group ... /> )+
</ageGroup>
Documentation (element)
Units: List of elements
List of age groups included in demography
Documentation (type)
Units: List of elements
List of age groups included in demography or surveys
Attributes
lowerbound
lowerbound=double
Units: Years Min: 0 Max: 100
Lower bound of age group
group
→ scenario → demography → ageGroup → group
<group
poppercent=double
upperbound=double
/>
Attributes
poppercent
poppercent=double
upperbound
upperbound=double
monitoring
→ scenario → monitoring
<monitoring
name=string
>
IN THIS ORDER:
| <SurveyOptions ... />
| <surveys ... />
| <ageGroup ... />
</monitoring>
Documentation (element)
Units: List of elements
Description of surveys
Documentation (type)
Units: List of elements
Description of surveys
Attributes
name
name=string
Units: string
Name of monitoring data
SurveyOptions
→ scenario → monitoring → SurveyOptions
<SurveyOptions>
IN THIS ORDER:
| ( <option ... /> )*
</SurveyOptions>
Documentation (element)
List of all active survey options. See include/Survey.h for a list of supported outputs. Should also be on the wiki.
surveys
→ scenario → monitoring → surveys
<surveys
detectionLimit=double
>
IN THIS ORDER:
| <surveyTime ... />
</surveys>
Documentation (element)
Units: List of elements
List of survey times
Attributes
detectionLimit
detectionLimit=double
Units: parasites/micolitre Min: 0 Max: 1000
Detection limit for parasitemia
surveyTime
→ scenario → monitoring → surveys → surveyTime
<surveyTime>
int
</surveyTime>
Documentation (element)
Units: Number Min: 0
Survey time; 0 means just before start of main sim and is a valid survey-point. Reported data is either from a point-time survey (immediate data) or is collected over the previous year (data from previous timesteps-per-year period). Simulation will end immediately after last survey is taken.
ageGroup
→ scenario → monitoring → ageGroup
<ageGroup
lowerbound=double
>
IN THIS ORDER:
| ( <group ... /> )+
</ageGroup>
Documentation (element)
Units: List of elements
List of age groups included in demography or surveys
Documentation (type)
Units: List of elements
List of age groups included in surveys
Attributes
lowerbound
lowerbound=double
Units: Years Min: 0 Max: 100
Lower bound of age group
group
→ scenario → monitoring → ageGroup → group
<group
upperbound=double
/>
Attributes
upperbound
upperbound=double
interventions
<interventions
name=string
>
IN THIS ORDER:
| ( <vaccineDescription ... /> ){0,3}
| [ <iptiDescription ... /> ]
| ( <anopheles ... /> )*
| [ <continuous ... /> ]
| [ <timed ... /> ]
</interventions>
Documentation (element)
Units: List of elements
List of interventions
Documentation (type)
Units: List of elements
List of interventions
Attributes
name
name=string
Units: string
Name of age specific intervention
vaccineDescription
→ scenario → interventions → vaccineDescription
<vaccineDescription
vaccineType=int
>
IN THIS ORDER:
| <halfLifeYrs ... />
| <efficacyB ... />
| ( <initialEfficacy ... /> )+
</vaccineDescription>
Attributes
vaccineType
vaccineType=int
Units: Code
Type of vaccine
halfLifeYrs
→ scenario → interventions → vaccineDescription → halfLifeYrs
<halfLifeYrs
value=double
/>
Documentation (element)
Units: Years Min: 0 Max: 100
Half life of drug effect
Attributes
value
value=double
TODO
efficacyB
→ scenario → interventions → vaccineDescription → efficacyB
<efficacyB
value=double
/>
Documentation (element)
Units: Positive real Min: 0.001 Max: 1.00E+06
Measure of variation in vaccine efficacy
Attributes
value
value=double
TODO
initialEfficacy
→ scenario → interventions → vaccineDescription → initialEfficacy
<initialEfficacy
value=double
/>
Attributes
value
value=double
TODO
iptiDescription
→ scenario → interventions → iptiDescription
<iptiDescription
iptiEffect=int
>
IN THIS ORDER:
| ( <infGenotype ... /> )+
</iptiDescription>
Attributes
iptiEffect
iptiEffect=int
infGenotype
→ scenario → interventions → iptiDescription → infGenotype
<infGenotype
name=string
freq=double
ACR=double
proph=int
tolPeriod=int
atten=double
/>
Attributes
name
name=string
Units: string
Name of age specific intervention
freq
freq=double
ACR
ACR=double
proph
proph=int
tolPeriod
tolPeriod=int
atten
atten=double
anopheles
→ scenario → interventions → anopheles
<anopheles
mosquito=string
>
IN THIS ORDER:
| [ <ITNDescription ... /> ]
| [ <IRSDescription ... /> ]
| [ <VADescription ... /> ]
</anopheles>
Attributes
mosquito
mosquito=string
ITNDescription
→ scenario → interventions → anopheles → ITNDescription
<ITNDescription
name=string
>
IN THIS ORDER:
| <deterrency ... />
| <preprandialKillingEffect ... />
| <postprandialKillingEffect ... />
</ITNDescription>
Attributes
name
name=string
Units: string
Name of Insecticide Treated Net intervention
deterrency
→ scenario → interventions → anopheles → ITNDescription → deterrency
<deterrency
initial=double
halflife=double
[ Weibullk=double ]
/>
Documentation (element)
Units: None Min: 0 Max: 1
One minus this multiplies the host's availability (before decay).
Documentation (type)
Specification of a proportion with Weibull or exponential decay.
Attributes
initial
initial=double
Units: None Min: 0 Max: 1
The value before any decay.
halflife
halflife=double
Units: Years Min: 0
Half-life in years (more generally, halflife/ln(2) is lambda from the Weibull distribution).
Weibullk
Weibullk=double
Min: 0
The parameter k of the Weibull distribution. If missing, 1.0 is used (equivalent to exponential decay).
preprandialKillingEffect
→ scenario → interventions → anopheles → ITNDescription → preprandialKillingEffect
<preprandialKillingEffect
initial=double
halflife=double
[ Weibullk=double ]
/>
Documentation (element)
Units: None Min: 0 Max: 1
One minus this multiplies the survival rate of mosquitoes attempting to bite a host.
Documentation (type)
Specification of a proportion with Weibull or exponential decay.
Attributes
initial
initial=double
Units: None Min: 0 Max: 1
The value before any decay.
halflife
halflife=double
Units: Years Min: 0
Half-life in years (more generally, halflife/ln(2) is lambda from the Weibull distribution).
Weibullk
Weibullk=double
Min: 0
The parameter k of the Weibull distribution. If missing, 1.0 is used (equivalent to exponential decay).
postprandialKillingEffect
→ scenario → interventions → anopheles → ITNDescription → postprandialKillingEffect
<postprandialKillingEffect
initial=double
halflife=double
[ Weibullk=double ]
/>
Documentation (element)
Units: None Min: 0 Max: 1
One minus this multiplies the survival rate of mosquitoes attempting to escape after biting a host.
Documentation (type)
Specification of a proportion with Weibull or exponential decay.
Attributes
initial
initial=double
Units: None Min: 0 Max: 1
The value before any decay.
halflife
halflife=double
Units: Years Min: 0
Half-life in years (more generally, halflife/ln(2) is lambda from the Weibull distribution).
Weibullk
Weibullk=double
Min: 0
The parameter k of the Weibull distribution. If missing, 1.0 is used (equivalent to exponential decay).
IRSDescription
→ scenario → interventions → anopheles → IRSDescription
<IRSDescription
name=string
>
IN THIS ORDER:
| <deterrency ... />
| <killingEffect ... />
</IRSDescription>
Attributes
name
name=string
Units: string
Name of Indoor Residual Spraying intervention
deterrency
→ scenario → interventions → anopheles → IRSDescription → deterrency
<deterrency
initial=double
halflife=double
[ Weibullk=double ]
/>
Documentation (element)
Units: None Min: 0 Max: 1
One minus this multiplies the host's availability.
Documentation (type)
Specification of a proportion with Weibull or exponential decay.
Attributes
initial
initial=double
Units: None Min: 0 Max: 1
The value before any decay.
halflife
halflife=double
Units: Years Min: 0
Half-life in years (more generally, halflife/ln(2) is lambda from the Weibull distribution).
Weibullk
Weibullk=double
Min: 0
The parameter k of the Weibull distribution. If missing, 1.0 is used (equivalent to exponential decay).
killingEffect
→ scenario → interventions → anopheles → IRSDescription → killingEffect
<killingEffect
initial=double
halflife=double
[ Weibullk=double ]
/>
Documentation (element)
Units: None Min: 0 Max: 1
One minus this multiplies the survival rate of resting mosquitoes.
Documentation (type)
Specification of a proportion with Weibull or exponential decay.
Attributes
initial
initial=double
Units: None Min: 0 Max: 1
The value before any decay.
halflife
halflife=double
Units: Years Min: 0
Half-life in years (more generally, halflife/ln(2) is lambda from the Weibull distribution).
Weibullk
Weibullk=double
Min: 0
The parameter k of the Weibull distribution. If missing, 1.0 is used (equivalent to exponential decay).
VADescription
→ scenario → interventions → anopheles → VADescription
<VADescription
name=string
>
IN THIS ORDER:
| <deterrency ... />
</VADescription>
Attributes
name
name=string
Units: string
Name of mosquito deterrency intervention
deterrency
→ scenario → interventions → anopheles → VADescription → deterrency
<deterrency
initial=double
halflife=double
[ Weibullk=double ]
/>
Documentation (element)
Units: None Min: 0 Max: 1
One minus this multiplies the host's availability.
Documentation (type)
Specification of a proportion with Weibull or exponential decay.
Attributes
initial
initial=double
Units: None Min: 0 Max: 1
The value before any decay.
halflife
halflife=double
Units: Years Min: 0
Half-life in years (more generally, halflife/ln(2) is lambda from the Weibull distribution).
Weibullk
Weibullk=double
Min: 0
The parameter k of the Weibull distribution. If missing, 1.0 is used (equivalent to exponential decay).
continuous
→ scenario → interventions → continuous
<continuous>
IN THIS ORDER:
| ( <vaccine ... /> )*
| ( <ITN ... /> )*
| ( <ipti ... /> )*
</continuous>
vaccine
→ scenario → interventions → continuous → vaccine
<vaccine
targetAgeYrs=double
coverage=double
/>
Documentation (element)
Units: List of elements
List of age groups for vaccination
Attributes
targetAgeYrs
targetAgeYrs=double
Units: Years Min: 0 Max: 100
Target age of intervention
coverage
coverage=double
Units: Proportion Min: 0 Max: 1
Coverage of intervention
ITN
→ scenario → interventions → continuous → ITN
<ITN
targetAgeYrs=double
coverage=double
/>
Documentation (element)
Units: List of elements
Description of ITN deployment in the community
Attributes
targetAgeYrs
targetAgeYrs=double
Units: Years Min: 0 Max: 100
Target age of intervention
coverage
coverage=double
Units: Proportion Min: 0 Max: 1
Coverage of intervention
ipti
→ scenario → interventions → continuous → ipti
<ipti
targetAgeYrs=double
coverage=double
/>
Documentation (element)
Units: List of elements
List of age groups for IPTi distribution
Attributes
targetAgeYrs
targetAgeYrs=double
Units: Years Min: 0 Max: 100
Target age of intervention
coverage
coverage=double
Units: Proportion Min: 0 Max: 1
Coverage of intervention
timed
→ scenario → interventions → timed
<timed>
IN THIS ORDER:
| ( <intervention ... /> )+
</timed>
Documentation (element)
Units: List of elements
List of timed interventions
Documentation (type)
Units: List of elements
List of timed interventions
intervention
→ scenario → interventions → timed → intervention
<intervention
time=int
>
IN THIS ORDER:
| [ <changeHS ... /> ]
| [ <changeEIR ... /> ]
| [ <MDA ... /> ]
| [ <vaccinate ... /> ]
| [ <ITN ... /> ]
| [ <IRS ... /> ]
| [ <VectorAvailability ... /> ]
| [ <ipti ... /> ]
| [ <larviciding ... /> ]
</intervention>
Attributes
time
time=int
Units: Number Min: 1 Max: 10000
Time step of intervention
changeHS
→ scenario → interventions → timed → intervention → changeHS
<changeHS
name=string
healthSystemMemory=int
>
IN THIS ORDER:
| <drugRegimen ... />
| <initialACR ... />
| <compliance ... />
| <nonCompliersEffective ... />
| <pSeekOfficialCareUncomplicated1 ... />
| <pSelfTreatUncomplicated ... />
| <pSeekOfficialCareUncomplicated2 ... />
| <pSeekOfficialCareSevere ... />
| <pSequelaeInpatient ... />
| <CFR ... />
</changeHS>
- drugRegimen
- initialACR
- compliance
- nonCompliersEffective
- pSeekOfficialCareUncomplicated1
- pSelfTreatUncomplicated
- pSeekOfficialCareUncomplicated2
- pSeekOfficialCareSevere
- pSequelaeInpatient
- CFR
Documentation (type)
Units: List of elements
Description of health system
Attributes
name
name=string
Units: string
Name of health system
healthSystemMemory
healthSystemMemory=int
Units: Time steps Min: 1 Max: 100
Follow-up period during which a recurrence is considered to be a treatment failure
drugRegimen
→ scenario → healthSystem → drugRegimen
<drugRegimen
firstLine=string
secondLine=string
inpatient=string
/>
Documentation (element)
Units: List of elements
Description of drug regimen
Attributes
firstLine
firstLine=string
Units: Drug code
Code for first line drug
secondLine
secondLine=string
Units: Drug code
Code for second line drug
inpatient
inpatient=string
Units: Drug code
Code for drug used for treating inpatients
initialACR
→ scenario → healthSystem → initialACR
<initialACR>
IN THIS ORDER:
| [ <CQ ... /> ]
| [ <SP ... /> ]
| [ <AQ ... /> ]
| [ <SPAQ ... /> ]
| [ <ACT ... /> ]
| [ <QN ... /> ]
| <selfTreatment ... />
</initialACR>
Documentation (element)
Units: Proportion Min: 0 Max: 1
Initial cure rate
CQ
→ scenario → healthSystem → initialACR → CQ
<CQ
value=double
/>
Documentation (element)
Units: List of elements
Chloroquine
Attributes
value
value=double
TODO
SP
→ scenario → healthSystem → initialACR → SP
<SP
value=double
/>
Documentation (element)
Units: List of elements
Sulphadoxine-pyrimethamine
Attributes
value
value=double
TODO
AQ
→ scenario → healthSystem → initialACR → AQ
<AQ
value=double
/>
Documentation (element)
Units: List of elements
Amodiaquine
Attributes
value
value=double
TODO
SPAQ
→ scenario → healthSystem → initialACR → SPAQ
<SPAQ
value=double
/>
Documentation (element)
Units: List of elements
Sulphadoxine-pyrimethamine/Amodiaquine
Attributes
value
value=double
TODO
ACT
→ scenario → healthSystem → initialACR → ACT
<ACT
value=double
/>
Documentation (element)
Units: List of elements
Artemisinine combination therapy
Attributes
value
value=double
TODO
QN
→ scenario → healthSystem → initialACR → QN
<QN
value=double
/>
Documentation (element)
Units: List of elements
Quinine
Attributes
value
value=double
TODO
selfTreatment
→ scenario → healthSystem → initialACR → selfTreatment
<selfTreatment
value=double
/>
Documentation (element)
Units: Proportion Min: 0 Max: 1
Probability of self-treatment
Attributes
value
value=double
TODO
compliance
→ scenario → healthSystem → compliance
<compliance>
IN THIS ORDER:
| [ <CQ ... /> ]
| [ <SP ... /> ]
| [ <AQ ... /> ]
| [ <SPAQ ... /> ]
| [ <ACT ... /> ]
| [ <QN ... /> ]
| <selfTreatment ... />
</compliance>
Documentation (element)
Units: Proportion Min: 0 Max: 1
Adherence to treatment
nonCompliersEffective
→ scenario → healthSystem → nonCompliersEffective
<nonCompliersEffective>
IN THIS ORDER:
| [ <CQ ... /> ]
| [ <SP ... /> ]
| [ <AQ ... /> ]
| [ <SPAQ ... /> ]
| [ <ACT ... /> ]
| [ <QN ... /> ]
| <selfTreatment ... />
</nonCompliersEffective>
Documentation (element)
Units: Proportion Min: 0 Max: 1
Effectiveness of treatment of non compliers
pSeekOfficialCareUncomplicated1
→ scenario → healthSystem → pSeekOfficialCareUncomplicated1
<pSeekOfficialCareUncomplicated1
value=double
/>
Documentation (element)
Units: Proportion Min: 0 Max: 1
Probability that a patient with newly incident uncomplicated disease seeks official care
Attributes
value
value=double
TODO
pSelfTreatUncomplicated
→ scenario → healthSystem → pSelfTreatUncomplicated
<pSelfTreatUncomplicated
value=double
/>
Documentation (element)
Units: Proportion Min: 0 Max: 1
Probability that a patient with uncomplicated disease self-treats
Attributes
value
value=double
TODO
pSeekOfficialCareUncomplicated2
→ scenario → healthSystem → pSeekOfficialCareUncomplicated2
<pSeekOfficialCareUncomplicated2
value=double
/>
Documentation (element)
Units: Proportion Min: 0 Max: 1
Probability that a patient with recurrence of uncomplicated disease seeks official care
Attributes
value
value=double
TODO
pSeekOfficialCareSevere
→ scenario → healthSystem → pSeekOfficialCareSevere
<pSeekOfficialCareSevere
value=double
/>
Documentation (element)
Units: Proportion Min: 0 Max: 1
Probability that a patient with severe disease seeks official care
Attributes
value
value=double
TODO
pSequelaeInpatient
→ scenario → healthSystem → pSequelaeInpatient
<pSequelaeInpatient>
IN THIS ORDER:
| ( <item ... /> )+
</pSequelaeInpatient>
Documentation (element)
Units: List of elements
List of age specific probabilities of sequelae in inpatients
item
→ scenario → healthSystem → pSequelaeInpatient → item
<item
value=double
maxAgeYrs=double
/>
Attributes
value
value=double
TODO
maxAgeYrs
maxAgeYrs=double
Units: Years Min: 0 Max: 100
Upper bound of age group
CFR
→ scenario → healthSystem → CFR
<CFR>
IN THIS ORDER:
| ( <group ... /> )+
</CFR>
group
→ scenario → healthSystem → CFR → group
<group
cfr=double
lowerbound=double
/>
Attributes
cfr
cfr=double
Units: Proportion Min: 0 Max: 1
Case fatality rate
lowerbound
lowerbound=double
Units: Years Min: 0 Max: 100
Lower bound of age group
changeEIR
→ scenario → interventions → timed → intervention → changeEIR
<changeEIR
eipDuration=int
>
IN THIS ORDER:
| ( <EIRDaily ... /> )+
</changeEIR>
Documentation (type)
Parameters for the non-vector transmission model.
Attributes
eipDuration
eipDuration=int
The duration of sporogony in days
EIRDaily
→ scenario → entoData → nonVector → EIRDaily
<EIRDaily
[ origin=string ]
>
double
</EIRDaily>
Documentation (type)
Units: Innoculations per person per day
Value of daily EIR; when multiple values are given for a single timestep they are averaged.
Attributes
origin
origin=string
MDA
→ scenario → interventions → timed → intervention → MDA
<MDA
[ maxAge=double ]
[ minAge=double ]
coverage=double
/>
Documentation (element)
Units: List of elements
Description of mass drug deployment in the community
Attributes
maxAge
maxAge=double
Units: Years Min: 0 Max: 100
Maximum age of eligible individuals (defaults to 100)
minAge
minAge=double
Units: Years Min: 0 Max: 100
Minimum age of eligible individuals (defaults to 0)
coverage
coverage=double
Units: Proportion Min: 0 Max: 1
Coverage of intervention
vaccinate
→ scenario → interventions → timed → intervention → vaccinate
<vaccinate
[ maxAge=double ]
[ minAge=double ]
coverage=double
/>
Documentation (element)
Units: List of elements
Description of vaccine deployment in the community
Attributes
maxAge
maxAge=double
Units: Years Min: 0 Max: 100
Maximum age of eligible individuals (defaults to 100)
minAge
minAge=double
Units: Years Min: 0 Max: 100
Minimum age of eligible individuals (defaults to 0)
coverage
coverage=double
Units: Proportion Min: 0 Max: 1
Coverage of intervention
ITN
→ scenario → interventions → timed → intervention → ITN
<ITN
[ maxAge=double ]
[ minAge=double ]
coverage=double
/>
Documentation (element)
Units: List of elements
Description of ITN deployment in the community
Attributes
maxAge
maxAge=double
Units: Years Min: 0 Max: 100
Maximum age of eligible individuals (defaults to 100)
minAge
minAge=double
Units: Years Min: 0 Max: 100
Minimum age of eligible individuals (defaults to 0)
coverage
coverage=double
Units: Proportion Min: 0 Max: 1
Coverage of intervention
IRS
→ scenario → interventions → timed → intervention → IRS
<IRS
[ maxAge=double ]
[ minAge=double ]
coverage=double
/>
Documentation (element)
Units: List of elements
Description of IRS deployment in the community
Attributes
maxAge
maxAge=double
Units: Years Min: 0 Max: 100
Maximum age of eligible individuals (defaults to 100)
minAge
minAge=double
Units: Years Min: 0 Max: 100
Minimum age of eligible individuals (defaults to 0)
coverage
coverage=double
Units: Proportion Min: 0 Max: 1
Coverage of intervention
VectorAvailability
→ scenario → interventions → timed → intervention → VectorAvailability
<VectorAvailability
[ maxAge=double ]
[ minAge=double ]
coverage=double
/>
Documentation (element)
Units: List of elements
Description of a mosquito detterent deployment in the community
Attributes
maxAge
maxAge=double
Units: Years Min: 0 Max: 100
Maximum age of eligible individuals (defaults to 100)
minAge
minAge=double
Units: Years Min: 0 Max: 100
Minimum age of eligible individuals (defaults to 0)
coverage
coverage=double
Units: Proportion Min: 0 Max: 1
Coverage of intervention
ipti
→ scenario → interventions → timed → intervention → ipti
<ipti
[ maxAge=double ]
[ minAge=double ]
coverage=double
/>
Documentation (element)
Units: List of elements
List of age groups for IPTi distribution
Attributes
maxAge
maxAge=double
Units: Years Min: 0 Max: 100
Maximum age of eligible individuals (defaults to 100)
minAge
minAge=double
Units: Years Min: 0 Max: 100
Minimum age of eligible individuals (defaults to 0)
coverage
coverage=double
Units: Proportion Min: 0 Max: 1
Coverage of intervention
larviciding
→ scenario → interventions → timed → intervention → larviciding
<larviciding>
IN THIS ORDER:
| ( <anopheles ... /> )+
</larviciding>
Documentation (element)
Simple larviciding intervention description.
anopheles
→ scenario → interventions → timed → intervention → larviciding → anopheles
<anopheles
mosquito=string
effectiveness=double
duration=int
/>
Attributes
mosquito
mosquito=string
effectiveness
effectiveness=double
Units: none Min: 0 Max: 1
Proportion to reduce emergence rates by.
duration
duration=int
Units: days Min: 0 Max: inf
Number of days for which the intervention is active.
EventScheduler
<EventScheduler
healthSystemMemory=int
>
IN THIS ORDER:
| <CaseManagementTree ... />
| <ClinicalOutcomes ... />
</EventScheduler>
Documentation (element)
Units: List of elements
Description of case management and clinical events.
Attributes
healthSystemMemory
healthSystemMemory=int
Units: Time steps Min: 1 Max: 100
Follow-up period during which a recurrence is considered to be a treatment failure
CaseManagementTree
→ scenario → EventScheduler → CaseManagementTree
<CaseManagementTree
mask=int
>
IN THIS ORDER:
| ( <CM_pBranchSet ... /> )*
| ( <CM_leaf ... /> )+
</CaseManagementTree>
Documentation (element)
Units: List of elements
Partial description of the case management tree. The tree consists of: Probability branches: map an ID to another ID (the outcome) stochastically. Test branches: map an ID with a special flag to another ID; these are hard-coded. Leaf nodes: these map an ID to a list of drug medications.
Test branches are used if a flag requests a test (currently only RESULT_DETERMINE for parasite tests). Otherwise a probability or leaf branch is used by masking the current ID with mask (attribute for this element).
Attributes
mask
mask=int
Units: None Min: 0 Max: 0xFFFFFFFF
Value used to mask decision ids before selecting a branch/leaf.
CM_pBranchSet
→ scenario → EventScheduler → CaseManagementTree → CM_pBranchSet
<CM_pBranchSet
ID=int
>
IN THIS ORDER:
| ( <CM_pBranch ... /> )+
</CM_pBranchSet>
Documentation (element)
A probability branch node: contains a list of outcome nodes along with probabilities, which link to another probability/test branch or leaf node.
Attributes
ID
ID=int
Units: ID
Decision identifier.
CM_pBranch
→ scenario → EventScheduler → CaseManagementTree → CM_pBranchSet → CM_pBranch
<CM_pBranch
outcome=int
p=double
/>
Attributes
outcome
outcome=int
ID of next probability/test branch or leaf node.
p
p=double
Units: Proportion Min: 0 Max: 1
Probability of this outcome
CM_leaf
→ scenario → EventScheduler → CaseManagementTree → CM_leaf
<CM_leaf
ID=int
>
IN THIS ORDER:
| ( <medicate ... /> )*
</CM_leaf>
Documentation (element)
End points of the case management tree, listing treatments.
Attributes
ID
ID=int
Units: ID
Decision identifier.
medicate
→ scenario → EventScheduler → CaseManagementTree → CM_leaf → medicate
<medicate
name=string
qty=double
time=int
/>
Attributes
name
name=string
Units: string
Abbreviated name of drug compound
qty
qty=double
Units: mg
Quantity of drug compound
time
time=int
Units: Minutes Min: 0
Number of minutes past start of timestep the drug is medicated at (usually 0).
ClinicalOutcomes
→ scenario → EventScheduler → ClinicalOutcomes
<ClinicalOutcomes
severeMask=int
>
IN THIS ORDER:
| ( <outcomes ... /> )+
</ClinicalOutcomes>
Documentation (element)
Tables describing the probability of death and the expected length of hospital stay.
The ID looked up in each table is the final outcome ID of the case-management tree binary or-ed with the mask given here.
Attributes
severeMask
severeMask=int
Units: None Min: 0 Max: 0xFFFFFFFF
Value used to mask the final ID from the case-management tree before looking up values here.
outcomes
→ scenario → EventScheduler → ClinicalOutcomes → outcomes
<outcomes
ID=int
pDeath=double
hospitalizationDaysDeath=int
hospitalizationDaysRecover=int
/>
Documentation (element)
Parameters for a path through the case-management tree (i.e. table row).
Attributes
ID
ID=int
pDeath
pDeath=double
Units: None Min: 0 Max: 1
The probability of death. This probability is applied once-only for each case, irrespective of the branch (thus entries with p=0 for UC cases are probably needed).
hospitalizationDaysDeath
hospitalizationDaysDeath=int
Units: Days Min: 0
The median length of stay in hospital, given the patient dies directly from this event. (Use median rather than a distribution because data should be more reliable and the effect of heterogeneity should be small.)
hospitalizationDaysRecover
hospitalizationDaysRecover=int
Units: Days Min: 0
The median length of stay in hospital, given the patient recovers from this event. (Use median rather than a distribution because data should be more reliable and the effect of heterogeneity should be small.)
healthSystem
→ scenario → healthSystem
<healthSystem
name=string
healthSystemMemory=int
>
IN THIS ORDER:
| <drugRegimen ... />
| <initialACR ... />
| <compliance ... />
| <nonCompliersEffective ... />
| <pSeekOfficialCareUncomplicated1 ... />
| <pSelfTreatUncomplicated ... />
| <pSeekOfficialCareUncomplicated2 ... />
| <pSeekOfficialCareSevere ... />
| <pSequelaeInpatient ... />
| <CFR ... />
</healthSystem>
- drugRegimen
- initialACR
- compliance
- nonCompliersEffective
- pSeekOfficialCareUncomplicated1
- pSelfTreatUncomplicated
- pSeekOfficialCareUncomplicated2
- pSeekOfficialCareSevere
- pSequelaeInpatient
- CFR
Documentation (element)
Units: List of elements
Description of (old) health system model.
Documentation (type)
Units: List of elements
Description of health system
Attributes
name
name=string
Units: string
Name of health system
healthSystemMemory
healthSystemMemory=int
Units: Time steps Min: 1 Max: 100
Follow-up period during which a recurrence is considered to be a treatment failure
entoData
<entoData
name=string
>
IN THIS ORDER:
| EXACTLY ONE OF:
| | <nonVector ... />
| | <vector ... />
</entoData>
Documentation (element)
Units: List of elements
Description of entomological data
Documentation (type)
Units: List of elements
Data for entomodel
Attributes
name
name=string
Units: string
Name of entomology data
nonVector
→ scenario → entoData → nonVector
<nonVector
eipDuration=int
>
IN THIS ORDER:
| ( <EIRDaily ... /> )+
</nonVector>
Documentation (type)
Parameters for the non-vector transmission model.
Attributes
eipDuration
eipDuration=int
The duration of sporogony in days
vector
→ scenario → entoData → vector
<vector>
IN THIS ORDER:
| ( <anopheles ... /> )+
</vector>
Documentation (element)
Parameters for the vector transmission model.
anopheles
→ scenario → entoData → vector → anopheles
<anopheles
mosquito=string
propInfected=double
propInfectious=double
>
IN THIS ORDER:
| <eir ... />
| <mosq ... />
| ( <nonHumanHosts ... /> )*
</anopheles>
Attributes
mosquito
mosquito=string
propInfected
propInfected=double
Units: Proportion Min: 0 Max: 1
Initial guess of the proportion of mosquitoes which are infected, o: O_v(t) = o*N_v(t). Only used as a starting value.
propInfectious
propInfectious=double
Units: Proportion Min: 0 Max: 1
Initial guess of the proportion of mosquitoes which are infectious, s: S_v(t) = s*N_v(t). Used as a starting value and then fit.
eir
→ scenario → entoData → vector → anopheles → eir
<eir
a0=double
a1=double
b1=double
a2=double
b2=double
EIRRotateAngle=double
/>
Documentation (element)
Units: Innoculations per person per day
Description of target entomological inoculation rate, used to calculate the vector emergence rate. An EIR array is generated from the exponent of the inverse discrete fourier transform of these parameters.
Attributes
a0
a0=double
a1
a1=double
b1
b1=double
a2
a2=double
b2
b2=double
EIRRotateAngle
EIRRotateAngle=double
mosq
→ scenario → entoData → vector → anopheles → mosq
<mosq
mosqRestDuration=int
extrinsicIncubationPeriod=int
mosqSeekingDeathRate=double
mosqSeekingDuration=double
mosqEntoAvailability=double
mosqProbBiting=double
mosqProbFindRestSite=double
mosqProbResting=double
mosqProbOvipositing=double
/>
Documentation (element)
Units: List of elements
Vector species
Attributes
mosqRestDuration
mosqRestDuration=int
extrinsicIncubationPeriod
extrinsicIncubationPeriod=int
mosqSeekingDeathRate
mosqSeekingDeathRate=double
mosqSeekingDuration
mosqSeekingDuration=double
mosqEntoAvailability
mosqEntoAvailability=double
mosqProbBiting
mosqProbBiting=double
mosqProbFindRestSite
mosqProbFindRestSite=double
mosqProbResting
mosqProbResting=double
mosqProbOvipositing
mosqProbOvipositing=double
nonHumanHosts
→ scenario → entoData → vector → anopheles → nonHumanHosts
<nonHumanHosts
name=string
mosqEntoAvailability=double
mosqProbBiting=double
mosqProbFindRestSite=double
mosqProbResting=double
/>
Documentation (element)
Units: List of elements
Non human host parameters, per type of host (must match up with non-species-specific parameters).
Attributes
name
name=string
mosqEntoAvailability
mosqEntoAvailability=double
mosqProbBiting
mosqProbBiting=double
mosqProbFindRestSite
mosqProbFindRestSite=double
mosqProbResting
mosqProbResting=double
drugDescription
<drugDescription>
IN THIS ORDER:
| <genome ... />
| <drugs ... />
</drugDescription>
Documentation (element)
Units: List of elements
Drug model parameters
genome
→ scenario → drugDescription → genome
<genome>
IN THIS ORDER:
| <content ... />
| <distribution ... />
</genome>
content
→ scenario → drugDescription → genome → content
<content>
IN THIS ORDER:
| ( <gene ... /> )+
</content>
gene
→ scenario → drugDescription → genome → content → gene
<gene
name=string
>
IN THIS ORDER:
| ( <mutation ... /> )+
</gene>
Attributes
name
name=string
mutation
→ scenario → drugDescription → genome → content → gene → mutation
<mutation
cost=double
position=integer
/>
Attributes
cost
cost=double
position
position=integer
distribution
→ scenario → drugDescription → genome → distribution
<distribution>
IN THIS ORDER:
| ( <genomeInstance ... /> )+
</distribution>
genomeInstance
→ scenario → drugDescription → genome → distribution → genomeInstance
<genomeInstance
proportion=integer
>
IN THIS ORDER:
| ( <allele ... /> )+
</genomeInstance>
Attributes
proportion
proportion=integer
allele
→ scenario → drugDescription → genome → distribution → genomeInstance → allele
<allele
mutations=integer
name=string
/>
Attributes
mutations
mutations=integer
name
name=string
drugs
→ scenario → drugDescription → drugs
<drugs
[ synergy=string ]
>
IN THIS ORDER:
| <compound ... />
</drugs>
Attributes
synergy
synergy=string
compound
→ scenario → drugDescription → drugs → compound
<compound
acronym=string
name=string
>
IN THIS ORDER:
| <pk ... />
| <pd ... />
</compound>
Attributes
acronym
acronym=string
name
name=string
pk
→ scenario → drugDescription → drugs → compound → pk
<pk>
</pk>
ageGroup
→ scenario → drugDescription → drugs → compound → pk → ageGroup
<ageGroup
F=integer
Vd=double
t12=integer
[ minAge=double ]
/>
Attributes
F
F=integer
Bioavailability (unsure of the units we will be using)
Vd
Vd=double
Volume of Distribution (l/kg)
t12
t12=integer
Units: Number
Half-life (days)
minAge
minAge=double
pd
→ scenario → drugDescription → drugs → compound → pd
<pd>
IN THIS ORDER:
| ( <genomeRule ... /> )+
</pd>
genomeRule
→ scenario → drugDescription → drugs → compound → pd → genomeRule
<genomeRule>
</genomeRule>
matchMutation
→ scenario → drugDescription → drugs → compound → pd → genomeRule → matchMutation
<matchMutation
present=boolean
gene=string
pos=integer
/>
Attributes
present
present=boolean
gene
gene=string
pos
pos=integer
ageGroup
→ scenario → drugDescription → drugs → compound → pd → genomeRule → ageGroup
<ageGroup
c50=integer
k1=double
n=integer
[ minAge=double ]
/>
Attributes
c50
c50=integer
Half maximal effect concentration (mg/l)
k1
k1=double
Units: Proportion Min: 0 Max: 1
Maximal parasite killing rate (per day)
n
n=integer
Slope of the concentration effect curve (no units)
minAge
minAge=double
parameters
→ scenario → parameters
<parameters
interval=int
iseed=int
delta=double
latentp=int
>
IN THIS ORDER:
| ( <parameter ... /> )+
</parameters>
Documentation (element)
Units: List of elements
Parameters for mathematical model
Documentation (type)
Units: List of elements
Parameter vector
Attributes
interval
interval=int
Units: Days
Simulation step
iseed
iseed=int
Units: Number
Seed for RNG
delta
delta=double
Units: ? Redundant
this no longer seems to be used
latentp
latentp=int
Units: Time steps Min: 0 Max: 20
pre-erythrocytic latent period, in time steps
parameter
→ scenario → parameters → parameter
<parameter
name=string
number=int
value=double
[ include=boolean ]
/>
Attributes
name
name=string
Units: string
Name of parameter
number
number=int
Units: Number Min: 1 Max: 100
Reference number of input parameter
value
value=double
Units: Number Min: 0
Parameter value
include
include=boolean
Units: Number Min: 0 Max: 1
True if parameter is to be sampled in optimization runs. Not used in simulator app.
Schema 12 documentation
Generated from: scenario_12.xsd
.
Key:
abc required (one)
[ def ] optional (zero or one)
( ghi )* any number (zero or more)
( jkl )+ at least one
( mno ){2,inf} two or more occurrences
scenario
→ scenario
<scenario
schemaVersion=int
analysisNo=int
maximumAgeYrs=double
name=string
popSize=int
modelVersion=int
wuID=int
assimMode=("0" or "1")
mode=("2" or "3" or "4")
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:noNamespaceSchemaLocation="scenario_12.xsd"
>
IN THIS ORDER:
| <demography ... />
| <monitoring ... />
| <interventions ... />
| EXACTLY ONE OF:
| | <EventScheduler ... />
| | <healthSystem ... />
| <entoData ... />
| [ <drugDescription ... /> ]
| <parameters ... />
</scenario>
Documentation (element)
Units: List of elements
Description of scenario
Attributes
schemaVersion
schemaVersion=int
Version of xml schema. If not equal to the current version an error is thrown. Use SchemaTranslator to update xml files.
analysisNo
analysisNo=int
Units: Number Min: 1 Max: 100000000
Unique identifier of scenario
maximumAgeYrs
maximumAgeYrs=double
Units: Number Min: 0 Max: 100
Maximum age of simulated humans
name
name=string
Units: string
Name of intervention
popSize
popSize=int
Units: Count Min: 1 Max: 100000
Population size
modelVersion
modelVersion=int
Units: Code Min: 0 Max: 100000000
Model Version
wuID
wuID=int
Units: Number Min: 1 Max: 100000000
Work unit ID. Only used to validate checkpointing, to prevent checkpoint cheats.
assimMode
assimMode=("0" or "1")
Units: Code
Assimilator mode. Defines output of simulator as either complete (columns: time,agegroup,measure,value) or minimal (single column: value)
mode
mode=("2" or "3" or "4")
Units: Code
Transmission simulation mode
demography
→ scenario → demography
<demography
name=string
[ growthRate=double ]
>
IN THIS ORDER:
| <ageGroup ... />
</demography>
Documentation (element)
Units: List of elements
Description of demography
Documentation (type)
Units: List of elements
Description of demography
Attributes
name
name=string
Units: string
Name of demography data
growthRate
growthRate=double
Units: Number Min: 0 Max: 0
Growth rate of human population.
ageGroup
→ scenario → demography → ageGroup
<ageGroup
lowerbound=double
>
IN THIS ORDER:
| ( <group ... /> )+
</ageGroup>
Documentation (element)
Units: List of elements
List of age groups included in demography
Documentation (type)
Units: List of elements
List of age groups included in demography or surveys
Attributes
lowerbound
lowerbound=double
Units: Years Min: 0 Max: 100
Lower bound of age group
group
→ scenario → demography → ageGroup → group
<group
poppercent=double
upperbound=double
/>
Attributes
poppercent
poppercent=double
upperbound
upperbound=double
monitoring
→ scenario → monitoring
<monitoring
name=string
>
IN THIS ORDER:
| <surveys ... />
| <ageGroup ... />
</monitoring>
Documentation (element)
Units: List of elements
Description of surveys
Documentation (type)
Units: List of elements
Description of surveys
Attributes
name
name=string
Units: string
Name of monitoring data
surveys
→ scenario → monitoring → surveys
<surveys
detectionLimit=double
summaryOption=int
>
IN THIS ORDER:
| <surveyTime ... />
</surveys>
Documentation (element)
Units: List of elements
List of survey times
Attributes
detectionLimit
detectionLimit=double
Units: parasites/micolitre Min: 0 Max: 1000
Detection limit for parasitemia
summaryOption
summaryOption=int
Units: Code
Requested output variables
surveyTime
→ scenario → monitoring → surveys → surveyTime
<surveyTime>
int
</surveyTime>
Documentation (element)
Units: Number Min: 0
Survey time; 0 means just before start of main sim and is a valid survey-point. Reported data is either from a point-time survey (immediate data) or is collected over the previous year (data from previous timesteps-per-year period). Simulation will end immediately after last survey is taken.
ageGroup
→ scenario → monitoring → ageGroup
<ageGroup
lowerbound=double
>
IN THIS ORDER:
| ( <group ... /> )+
</ageGroup>
Documentation (element)
Units: List of elements
List of age groups included in demography or surveys
Documentation (type)
Units: List of elements
List of age groups included in surveys
Attributes
lowerbound
lowerbound=double
Units: Years Min: 0 Max: 100
Lower bound of age group
group
→ scenario → monitoring → ageGroup → group
<group
upperbound=double
/>
Attributes
upperbound
upperbound=double
interventions
<interventions
name=string
>
IN THIS ORDER:
| ( <vaccineDescription ... /> ){0,3}
| [ <iptiDescription ... /> ]
| ( <anopheles ... /> )*
| [ <continuous ... /> ]
| [ <timed ... /> ]
</interventions>
Documentation (element)
Units: List of elements
List of interventions
Documentation (type)
Units: List of elements
List of interventions
Attributes
name
name=string
Units: string
Name of age specific intervention
vaccineDescription
→ scenario → interventions → vaccineDescription
<vaccineDescription
vaccineType=int
>
IN THIS ORDER:
| <halfLifeYrs ... />
| <efficacyB ... />
| ( <initialEfficacy ... /> )+
</vaccineDescription>
Attributes
vaccineType
vaccineType=int
Units: Code
Type of vaccine
halfLifeYrs
→ scenario → interventions → vaccineDescription → halfLifeYrs
<halfLifeYrs
value=double
/>
Documentation (element)
Units: Years Min: 0 Max: 100
Half life of drug effect
Attributes
value
value=double
TODO
efficacyB
→ scenario → interventions → vaccineDescription → efficacyB
<efficacyB
value=double
/>
Documentation (element)
Units: Positive real Min: 0.001 Max: 1.00E+06
Measure of variation in vaccine efficacy
Attributes
value
value=double
TODO
initialEfficacy
→ scenario → interventions → vaccineDescription → initialEfficacy
<initialEfficacy
value=double
/>
Attributes
value
value=double
TODO
iptiDescription
→ scenario → interventions → iptiDescription
<iptiDescription
iptiEffect=int
>
IN THIS ORDER:
| ( <infGenotype ... /> )+
</iptiDescription>
Attributes
iptiEffect
iptiEffect=int
infGenotype
→ scenario → interventions → iptiDescription → infGenotype
<infGenotype
name=string
freq=double
ACR=double
proph=int
tolPeriod=int
atten=double
/>
Attributes
name
name=string
Units: string
Name of age specific intervention
freq
freq=double
ACR
ACR=double
proph
proph=int
tolPeriod
tolPeriod=int
atten
atten=double
anopheles
→ scenario → interventions → anopheles
<anopheles
mosquito=string
>
IN THIS ORDER:
| [ <ITNDescription ... /> ]
| [ <IRSDescription ... /> ]
| [ <VADescription ... /> ]
</anopheles>
Attributes
mosquito
mosquito=string
ITNDescription
→ scenario → interventions → anopheles → ITNDescription
<ITNDescription
name=string
>
IN THIS ORDER:
| <deterrency ... />
| <preprandialKillingEffect ... />
| <postprandialKillingEffect ... />
</ITNDescription>
Attributes
name
name=string
Units: string
Name of Insecticide Treated Net intervention
deterrency
→ scenario → interventions → anopheles → ITNDescription → deterrency
<deterrency
initial=double
halflife=double
[ Weibullk=double ]
/>
Documentation (element)
Units: None Min: 0 Max: 1
One minus this multiplies the host's availability (before decay).
Documentation (type)
Specification of a proportion with Weibull or exponential decay.
Attributes
initial
initial=double
Units: None Min: 0 Max: 1
The value before any decay.
halflife
halflife=double
Units: Years Min: 0
Half-life in years (more generally, halflife/ln(2) is lambda from the Weibull distribution).
Weibullk
Weibullk=double
Min: 0
The parameter k of the Weibull distribution. If missing, 1.0 is used (equivalent to exponential decay).
preprandialKillingEffect
→ scenario → interventions → anopheles → ITNDescription → preprandialKillingEffect
<preprandialKillingEffect
initial=double
halflife=double
[ Weibullk=double ]
/>
Documentation (element)
Units: None Min: 0 Max: 1
One minus this multiplies the survival rate of mosquitoes attempting to bite a host.
Documentation (type)
Specification of a proportion with Weibull or exponential decay.
Attributes
initial
initial=double
Units: None Min: 0 Max: 1
The value before any decay.
halflife
halflife=double
Units: Years Min: 0
Half-life in years (more generally, halflife/ln(2) is lambda from the Weibull distribution).
Weibullk
Weibullk=double
Min: 0
The parameter k of the Weibull distribution. If missing, 1.0 is used (equivalent to exponential decay).
postprandialKillingEffect
→ scenario → interventions → anopheles → ITNDescription → postprandialKillingEffect
<postprandialKillingEffect
initial=double
halflife=double
[ Weibullk=double ]
/>
Documentation (element)
Units: None Min: 0 Max: 1
One minus this multiplies the survival rate of mosquitoes attempting to escape after biting a host.
Documentation (type)
Specification of a proportion with Weibull or exponential decay.
Attributes
initial
initial=double
Units: None Min: 0 Max: 1
The value before any decay.
halflife
halflife=double
Units: Years Min: 0
Half-life in years (more generally, halflife/ln(2) is lambda from the Weibull distribution).
Weibullk
Weibullk=double
Min: 0
The parameter k of the Weibull distribution. If missing, 1.0 is used (equivalent to exponential decay).
IRSDescription
→ scenario → interventions → anopheles → IRSDescription
<IRSDescription
name=string
>
IN THIS ORDER:
| <deterrency ... />
| <killingEffect ... />
</IRSDescription>
Attributes
name
name=string
Units: string
Name of Indoor Residual Spraying intervention
deterrency
→ scenario → interventions → anopheles → IRSDescription → deterrency
<deterrency
initial=double
halflife=double
[ Weibullk=double ]
/>
Documentation (element)
Units: None Min: 0 Max: 1
One minus this multiplies the host's availability.
Documentation (type)
Specification of a proportion with Weibull or exponential decay.
Attributes
initial
initial=double
Units: None Min: 0 Max: 1
The value before any decay.
halflife
halflife=double
Units: Years Min: 0
Half-life in years (more generally, halflife/ln(2) is lambda from the Weibull distribution).
Weibullk
Weibullk=double
Min: 0
The parameter k of the Weibull distribution. If missing, 1.0 is used (equivalent to exponential decay).
killingEffect
→ scenario → interventions → anopheles → IRSDescription → killingEffect
<killingEffect
initial=double
halflife=double
[ Weibullk=double ]
/>
Documentation (element)
Units: None Min: 0 Max: 1
One minus this multiplies the survival rate of resting mosquitoes.
Documentation (type)
Specification of a proportion with Weibull or exponential decay.
Attributes
initial
initial=double
Units: None Min: 0 Max: 1
The value before any decay.
halflife
halflife=double
Units: Years Min: 0
Half-life in years (more generally, halflife/ln(2) is lambda from the Weibull distribution).
Weibullk
Weibullk=double
Min: 0
The parameter k of the Weibull distribution. If missing, 1.0 is used (equivalent to exponential decay).
VADescription
→ scenario → interventions → anopheles → VADescription
<VADescription
name=string
>
IN THIS ORDER:
| <deterrency ... />
</VADescription>
Attributes
name
name=string
Units: string
Name of mosquito deterrency intervention
deterrency
→ scenario → interventions → anopheles → VADescription → deterrency
<deterrency
initial=double
halflife=double
[ Weibullk=double ]
/>
Documentation (element)
Units: None Min: 0 Max: 1
One minus this multiplies the host's availability.
Documentation (type)
Specification of a proportion with Weibull or exponential decay.
Attributes
initial
initial=double
Units: None Min: 0 Max: 1
The value before any decay.
halflife
halflife=double
Units: Years Min: 0
Half-life in years (more generally, halflife/ln(2) is lambda from the Weibull distribution).
Weibullk
Weibullk=double
Min: 0
The parameter k of the Weibull distribution. If missing, 1.0 is used (equivalent to exponential decay).
continuous
→ scenario → interventions → continuous
<continuous>
IN THIS ORDER:
| ( <vaccine ... /> )*
| ( <ITN ... /> )*
| ( <ipti ... /> )*
</continuous>
vaccine
→ scenario → interventions → continuous → vaccine
<vaccine
targetAgeYrs=double
coverage=double
/>
Documentation (element)
Units: List of elements
List of age groups for vaccination
Attributes
targetAgeYrs
targetAgeYrs=double
Units: Years Min: 0 Max: 100
Target age of intervention
coverage
coverage=double
Units: Proportion Min: 0 Max: 1
Coverage of intervention
ITN
→ scenario → interventions → continuous → ITN
<ITN
targetAgeYrs=double
coverage=double
/>
Documentation (element)
Units: List of elements
Description of ITN deployment in the community
Attributes
targetAgeYrs
targetAgeYrs=double
Units: Years Min: 0 Max: 100
Target age of intervention
coverage
coverage=double
Units: Proportion Min: 0 Max: 1
Coverage of intervention
ipti
→ scenario → interventions → continuous → ipti
<ipti
targetAgeYrs=double
coverage=double
/>
Documentation (element)
Units: List of elements
List of age groups for IPTi distribution
Attributes
targetAgeYrs
targetAgeYrs=double
Units: Years Min: 0 Max: 100
Target age of intervention
coverage
coverage=double
Units: Proportion Min: 0 Max: 1
Coverage of intervention
timed
→ scenario → interventions → timed
<timed>
IN THIS ORDER:
| ( <intervention ... /> )+
</timed>
Documentation (element)
Units: List of elements
List of timed interventions
Documentation (type)
Units: List of elements
List of timed interventions
intervention
→ scenario → interventions → timed → intervention
<intervention
time=int
>
IN THIS ORDER:
| [ <changeHS ... /> ]
| [ <changeEIR ... /> ]
| [ <MDA ... /> ]
| [ <vaccinate ... /> ]
| [ <ITN ... /> ]
| [ <IRS ... /> ]
| [ <VectorAvailability ... /> ]
| [ <ipti ... /> ]
| [ <larviciding ... /> ]
</intervention>
Attributes
time
time=int
Units: Number Min: 1 Max: 10000
Time step of intervention
changeHS
→ scenario → interventions → timed → intervention → changeHS
<changeHS
name=string
healthSystemMemory=int
>
IN THIS ORDER:
| <drugRegimen ... />
| <initialACR ... />
| <compliance ... />
| <nonCompliersEffective ... />
| <pSeekOfficialCareUncomplicated1 ... />
| <pSelfTreatUncomplicated ... />
| <pSeekOfficialCareUncomplicated2 ... />
| <pSeekOfficialCareSevere ... />
| <pSequelaeInpatient ... />
| <CFR ... />
</changeHS>
- drugRegimen
- initialACR
- compliance
- nonCompliersEffective
- pSeekOfficialCareUncomplicated1
- pSelfTreatUncomplicated
- pSeekOfficialCareUncomplicated2
- pSeekOfficialCareSevere
- pSequelaeInpatient
- CFR
Documentation (type)
Units: List of elements
Description of health system
Attributes
name
name=string
Units: string
Name of health system
healthSystemMemory
healthSystemMemory=int
Units: Time steps Min: 1 Max: 100
Follow-up period during which a recurrence is considered to be a treatment failure
drugRegimen
→ scenario → healthSystem → drugRegimen
<drugRegimen
firstLine=string
secondLine=string
inpatient=string
/>
Documentation (element)
Units: List of elements
Description of drug regimen
Attributes
firstLine
firstLine=string
Units: Drug code
Code for first line drug
secondLine
secondLine=string
Units: Drug code
Code for second line drug
inpatient
inpatient=string
Units: Drug code
Code for drug used for treating inpatients
initialACR
→ scenario → healthSystem → initialACR
<initialACR>
IN THIS ORDER:
| [ <CQ ... /> ]
| [ <SP ... /> ]
| [ <AQ ... /> ]
| [ <SPAQ ... /> ]
| [ <ACT ... /> ]
| [ <QN ... /> ]
| <selfTreatment ... />
</initialACR>
Documentation (element)
Units: Proportion Min: 0 Max: 1
Initial cure rate
CQ
→ scenario → healthSystem → initialACR → CQ
<CQ
value=double
/>
Documentation (element)
Units: List of elements
Chloroquine
Attributes
value
value=double
TODO
SP
→ scenario → healthSystem → initialACR → SP
<SP
value=double
/>
Documentation (element)
Units: List of elements
Sulphadoxine-pyrimethamine
Attributes
value
value=double
TODO
AQ
→ scenario → healthSystem → initialACR → AQ
<AQ
value=double
/>
Documentation (element)
Units: List of elements
Amodiaquine
Attributes
value
value=double
TODO
SPAQ
→ scenario → healthSystem → initialACR → SPAQ
<SPAQ
value=double
/>
Documentation (element)
Units: List of elements
Sulphadoxine-pyrimethamine/Amodiaquine
Attributes
value
value=double
TODO
ACT
→ scenario → healthSystem → initialACR → ACT
<ACT
value=double
/>
Documentation (element)
Units: List of elements
Artemisinine combination therapy
Attributes
value
value=double
TODO
QN
→ scenario → healthSystem → initialACR → QN
<QN
value=double
/>
Documentation (element)
Units: List of elements
Quinine
Attributes
value
value=double
TODO
selfTreatment
→ scenario → healthSystem → initialACR → selfTreatment
<selfTreatment
value=double
/>
Documentation (element)
Units: Proportion Min: 0 Max: 1
Probability of self-treatment
Attributes
value
value=double
TODO
compliance
→ scenario → healthSystem → compliance
<compliance>
IN THIS ORDER:
| [ <CQ ... /> ]
| [ <SP ... /> ]
| [ <AQ ... /> ]
| [ <SPAQ ... /> ]
| [ <ACT ... /> ]
| [ <QN ... /> ]
| <selfTreatment ... />
</compliance>
Documentation (element)
Units: Proportion Min: 0 Max: 1
Adherence to treatment
nonCompliersEffective
→ scenario → healthSystem → nonCompliersEffective
<nonCompliersEffective>
IN THIS ORDER:
| [ <CQ ... /> ]
| [ <SP ... /> ]
| [ <AQ ... /> ]
| [ <SPAQ ... /> ]
| [ <ACT ... /> ]
| [ <QN ... /> ]
| <selfTreatment ... />
</nonCompliersEffective>
Documentation (element)
Units: Proportion Min: 0 Max: 1
Effectiveness of treatment of non compliers
pSeekOfficialCareUncomplicated1
→ scenario → healthSystem → pSeekOfficialCareUncomplicated1
<pSeekOfficialCareUncomplicated1
value=double
/>
Documentation (element)
Units: Proportion Min: 0 Max: 1
Probability that a patient with newly incident uncomplicated disease seeks official care
Attributes
value
value=double
TODO
pSelfTreatUncomplicated
→ scenario → healthSystem → pSelfTreatUncomplicated
<pSelfTreatUncomplicated
value=double
/>
Documentation (element)
Units: Proportion Min: 0 Max: 1
Probability that a patient with uncomplicated disease self-treats
Attributes
value
value=double
TODO
pSeekOfficialCareUncomplicated2
→ scenario → healthSystem → pSeekOfficialCareUncomplicated2
<pSeekOfficialCareUncomplicated2
value=double
/>
Documentation (element)
Units: Proportion Min: 0 Max: 1
Probability that a patient with recurrence of uncomplicated disease seeks official care
Attributes
value
value=double
TODO
pSeekOfficialCareSevere
→ scenario → healthSystem → pSeekOfficialCareSevere
<pSeekOfficialCareSevere
value=double
/>
Documentation (element)
Units: Proportion Min: 0 Max: 1
Probability that a patient with severe disease seeks official care
Attributes
value
value=double
TODO
pSequelaeInpatient
→ scenario → healthSystem → pSequelaeInpatient
<pSequelaeInpatient>
IN THIS ORDER:
| ( <item ... /> )+
</pSequelaeInpatient>
Documentation (element)
Units: List of elements
List of age specific probabilities of sequelae in inpatients
item
→ scenario → healthSystem → pSequelaeInpatient → item
<item
value=double
maxAgeYrs=double
/>
Attributes
value
value=double
TODO
maxAgeYrs
maxAgeYrs=double
Units: Years Min: 0 Max: 100
Upper bound of age group
CFR
→ scenario → healthSystem → CFR
<CFR>
IN THIS ORDER:
| ( <group ... /> )+
</CFR>
group
→ scenario → healthSystem → CFR → group
<group
cfr=double
lowerbound=double
/>
Attributes
cfr
cfr=double
Units: Proportion Min: 0 Max: 1
Case fatality rate
lowerbound
lowerbound=double
Units: Years Min: 0 Max: 100
Lower bound of age group
changeEIR
→ scenario → interventions → timed → intervention → changeEIR
<changeEIR
eipDuration=int
>
IN THIS ORDER:
| ( <EIRDaily ... /> )+
</changeEIR>
Documentation (type)
Parameters for the non-vector transmission model.
Attributes
eipDuration
eipDuration=int
The duration of sporogony in days
EIRDaily
→ scenario → entoData → nonVector → EIRDaily
<EIRDaily
[ origin=string ]
>
double
</EIRDaily>
Documentation (type)
Units: Innoculations per person per day
Value of daily EIR; when multiple values are given for a single timestep they are averaged.
Attributes
origin
origin=string
MDA
→ scenario → interventions → timed → intervention → MDA
<MDA
[ maxAge=double ]
[ minAge=double ]
coverage=double
/>
Documentation (element)
Units: List of elements
Description of mass drug deployment in the community
Attributes
maxAge
maxAge=double
Units: Years Min: 0 Max: 100
Maximum age of eligible individuals (defaults to 100)
minAge
minAge=double
Units: Years Min: 0 Max: 100
Minimum age of eligible individuals (defaults to 0)
coverage
coverage=double
Units: Proportion Min: 0 Max: 1
Coverage of intervention
vaccinate
→ scenario → interventions → timed → intervention → vaccinate
<vaccinate
[ maxAge=double ]
[ minAge=double ]
coverage=double
/>
Documentation (element)
Units: List of elements
Description of vaccine deployment in the community
Attributes
maxAge
maxAge=double
Units: Years Min: 0 Max: 100
Maximum age of eligible individuals (defaults to 100)
minAge
minAge=double
Units: Years Min: 0 Max: 100
Minimum age of eligible individuals (defaults to 0)
coverage
coverage=double
Units: Proportion Min: 0 Max: 1
Coverage of intervention
ITN
→ scenario → interventions → timed → intervention → ITN
<ITN
[ maxAge=double ]
[ minAge=double ]
coverage=double
/>
Documentation (element)
Units: List of elements
Description of ITN deployment in the community
Attributes
maxAge
maxAge=double
Units: Years Min: 0 Max: 100
Maximum age of eligible individuals (defaults to 100)
minAge
minAge=double
Units: Years Min: 0 Max: 100
Minimum age of eligible individuals (defaults to 0)
coverage
coverage=double
Units: Proportion Min: 0 Max: 1
Coverage of intervention
IRS
→ scenario → interventions → timed → intervention → IRS
<IRS
[ maxAge=double ]
[ minAge=double ]
coverage=double
/>
Documentation (element)
Units: List of elements
Description of IRS deployment in the community
Attributes
maxAge
maxAge=double
Units: Years Min: 0 Max: 100
Maximum age of eligible individuals (defaults to 100)
minAge
minAge=double
Units: Years Min: 0 Max: 100
Minimum age of eligible individuals (defaults to 0)
coverage
coverage=double
Units: Proportion Min: 0 Max: 1
Coverage of intervention
VectorAvailability
→ scenario → interventions → timed → intervention → VectorAvailability
<VectorAvailability
[ maxAge=double ]
[ minAge=double ]
coverage=double
/>
Documentation (element)
Units: List of elements
Description of a mosquito detterent deployment in the community
Attributes
maxAge
maxAge=double
Units: Years Min: 0 Max: 100
Maximum age of eligible individuals (defaults to 100)
minAge
minAge=double
Units: Years Min: 0 Max: 100
Minimum age of eligible individuals (defaults to 0)
coverage
coverage=double
Units: Proportion Min: 0 Max: 1
Coverage of intervention
ipti
→ scenario → interventions → timed → intervention → ipti
<ipti
[ maxAge=double ]
[ minAge=double ]
coverage=double
/>
Documentation (element)
Units: List of elements
List of age groups for IPTi distribution
Attributes
maxAge
maxAge=double
Units: Years Min: 0 Max: 100
Maximum age of eligible individuals (defaults to 100)
minAge
minAge=double
Units: Years Min: 0 Max: 100
Minimum age of eligible individuals (defaults to 0)
coverage
coverage=double
Units: Proportion Min: 0 Max: 1
Coverage of intervention
larviciding
→ scenario → interventions → timed → intervention → larviciding
<larviciding>
IN THIS ORDER:
| ( <anopheles ... /> )+
</larviciding>
Documentation (element)
Simple larviciding intervention description.
anopheles
→ scenario → interventions → timed → intervention → larviciding → anopheles
<anopheles
mosquito=string
effectiveness=double
duration=int
/>
Attributes
mosquito
mosquito=string
effectiveness
effectiveness=double
Units: none Min: 0 Max: 1
Proportion to reduce emergence rates by.
duration
duration=int
Units: days Min: 0 Max: inf
Number of days for which the intervention is active.
EventScheduler
<EventScheduler
healthSystemMemory=int
>
IN THIS ORDER:
| <CaseManagementTree ... />
| <ClinicalOutcome ... />
</EventScheduler>
Documentation (element)
Units: List of elements
Description of case management and clinical events.
Attributes
healthSystemMemory
healthSystemMemory=int
Units: Time steps Min: 1 Max: 100
Follow-up period during which a recurrence is considered to be a treatment failure
CaseManagementTree
→ scenario → EventScheduler → CaseManagementTree
<CaseManagementTree
mask=int
>
IN THIS ORDER:
| ( <CM_pBranchSet ... /> )*
| ( <CM_leaf ... /> )+
</CaseManagementTree>
Documentation (element)
Units: List of elements
Partial description of the case management tree. The tree consists of: Probability branches: map an ID to another ID (the outcome) stochastically. Test branches: map an ID with a special flag to another ID; these are hard-coded. Leaf nodes: these map an ID to a list of drug medications.
Test branches are used if a flag requests a test (currently only RESULT_DETERMINE for parasite tests). Otherwise a probability or leaf branch is used by masking the current ID with mask (attribute for this element).
Attributes
mask
mask=int
Units: None Min: 0 Max: 0xFFFFFFFF
Value used to mask decision ids before selecting a branch/leaf.
CM_pBranchSet
→ scenario → EventScheduler → CaseManagementTree → CM_pBranchSet
<CM_pBranchSet
ID=int
>
IN THIS ORDER:
| ( <CM_pBranch ... /> )+
</CM_pBranchSet>
Documentation (element)
A probability branch node: contains a list of outcome nodes along with probabilities, which link to another probability/test branch or leaf node.
Attributes
ID
ID=int
Units: ID
Decision identifier.
CM_pBranch
→ scenario → EventScheduler → CaseManagementTree → CM_pBranchSet → CM_pBranch
<CM_pBranch
outcome=int
p=double
/>
Attributes
outcome
outcome=int
ID of next probability/test branch or leaf node.
p
p=double
Units: Proportion Min: 0 Max: 1
Probability of this outcome
CM_leaf
→ scenario → EventScheduler → CaseManagementTree → CM_leaf
<CM_leaf
ID=int
>
IN THIS ORDER:
| ( <medicate ... /> )*
</CM_leaf>
Documentation (element)
End points of the case management tree, listing treatments.
Attributes
ID
ID=int
Units: ID
Decision identifier.
medicate
→ scenario → EventScheduler → CaseManagementTree → CM_leaf → medicate
<medicate
name=string
qty=double
time=int
/>
Attributes
name
name=string
Units: string
Abbreviated name of drug compound
qty
qty=double
Units: mg
Quantity of drug compound
time
time=int
Units: Minutes Min: 0
Number of minutes past start of timestep the drug is medicated at (usually 0).
ClinicalOutcome
→ scenario → EventScheduler → ClinicalOutcome
<ClinicalOutcome
mask=int
>
IN THIS ORDER:
| ( <path ... /> )+
</ClinicalOutcome>
Documentation (element)
Tables describing the probability of death and the expected length of hospital stay.
The ID looked up in each table is the final outcome ID of the case-management tree binary or-ed with the mask given here.
Attributes
mask
mask=int
Units: None Min: 0 Max: 0xFFFFFFFF
Value used to mask the final ID from the case-management tree before looking up values here.
path
→ scenario → EventScheduler → ClinicalOutcome → path
<path
ID=int
pDeath=double
hospitalizationDuration=int
/>
Documentation (element)
Parameters for a path through the case-management tree (i.e. table row).
Attributes
ID
ID=int
pDeath
pDeath=double
The probability of death. This probability is applied once-only for each case, irrespective of the branch (thus entries with p=0 for UC cases are probably needed).
hospitalizationDuration
hospitalizationDuration=int
The median length of stay in hospital. (Use median rather than a distribution because data should be more reliable and the effect of heterogeneity should be small.)
healthSystem
→ scenario → healthSystem
<healthSystem
name=string
healthSystemMemory=int
>
IN THIS ORDER:
| <drugRegimen ... />
| <initialACR ... />
| <compliance ... />
| <nonCompliersEffective ... />
| <pSeekOfficialCareUncomplicated1 ... />
| <pSelfTreatUncomplicated ... />
| <pSeekOfficialCareUncomplicated2 ... />
| <pSeekOfficialCareSevere ... />
| <pSequelaeInpatient ... />
| <CFR ... />
</healthSystem>
- drugRegimen
- initialACR
- compliance
- nonCompliersEffective
- pSeekOfficialCareUncomplicated1
- pSelfTreatUncomplicated
- pSeekOfficialCareUncomplicated2
- pSeekOfficialCareSevere
- pSequelaeInpatient
- CFR
Documentation (element)
Units: List of elements
Description of (old) health system model.
Documentation (type)
Units: List of elements
Description of health system
Attributes
name
name=string
Units: string
Name of health system
healthSystemMemory
healthSystemMemory=int
Units: Time steps Min: 1 Max: 100
Follow-up period during which a recurrence is considered to be a treatment failure
entoData
<entoData
name=string
>
IN THIS ORDER:
| EXACTLY ONE OF:
| | <nonVector ... />
| | <vector ... />
</entoData>
Documentation (element)
Units: List of elements
Description of entomological data
Documentation (type)
Units: List of elements
Data for entomodel
Attributes
name
name=string
Units: string
Name of entomology data
nonVector
→ scenario → entoData → nonVector
<nonVector
eipDuration=int
>
IN THIS ORDER:
| ( <EIRDaily ... /> )+
</nonVector>
Documentation (type)
Parameters for the non-vector transmission model.
Attributes
eipDuration
eipDuration=int
The duration of sporogony in days
vector
→ scenario → entoData → vector
<vector>
IN THIS ORDER:
| ( <anopheles ... /> )+
</vector>
Documentation (element)
Parameters for the vector transmission model.
anopheles
→ scenario → entoData → vector → anopheles
<anopheles
mosquito=string
propInfected=double
propInfectious=double
>
IN THIS ORDER:
| <eir ... />
| <mosq ... />
| ( <nonHumanHosts ... /> )*
</anopheles>
Attributes
mosquito
mosquito=string
propInfected
propInfected=double
Units: Proportion Min: 0 Max: 1
Initial guess of the proportion of mosquitoes which are infected, o: O_v(t) = o*N_v(t). Only used as a starting value.
propInfectious
propInfectious=double
Units: Proportion Min: 0 Max: 1
Initial guess of the proportion of mosquitoes which are infectious, s: S_v(t) = s*N_v(t). Used as a starting value and then fit.
eir
→ scenario → entoData → vector → anopheles → eir
<eir
a0=double
a1=double
b1=double
a2=double
b2=double
EIRRotateAngle=double
/>
Documentation (element)
Units: Innoculations per person per day
Description of target entomological inoculation rate, used to calculate the vector emergence rate. An EIR array is generated from the exponent of the inverse discrete fourier transform of these parameters.
Attributes
a0
a0=double
a1
a1=double
b1
b1=double
a2
a2=double
b2
b2=double
EIRRotateAngle
EIRRotateAngle=double
mosq
→ scenario → entoData → vector → anopheles → mosq
<mosq
mosqRestDuration=int
extrinsicIncubationPeriod=int
mosqSeekingDeathRate=double
mosqSeekingDuration=double
mosqEntoAvailability=double
mosqProbBiting=double
mosqProbFindRestSite=double
mosqProbResting=double
mosqProbOvipositing=double
/>
Documentation (element)
Units: List of elements
Vector species
Attributes
mosqRestDuration
mosqRestDuration=int
extrinsicIncubationPeriod
extrinsicIncubationPeriod=int
mosqSeekingDeathRate
mosqSeekingDeathRate=double
mosqSeekingDuration
mosqSeekingDuration=double
mosqEntoAvailability
mosqEntoAvailability=double
mosqProbBiting
mosqProbBiting=double
mosqProbFindRestSite
mosqProbFindRestSite=double
mosqProbResting
mosqProbResting=double
mosqProbOvipositing
mosqProbOvipositing=double
nonHumanHosts
→ scenario → entoData → vector → anopheles → nonHumanHosts
<nonHumanHosts
name=string
mosqEntoAvailability=double
mosqProbBiting=double
mosqProbFindRestSite=double
mosqProbResting=double
/>
Documentation (element)
Units: List of elements
Non human host parameters, per type of host (must match up with non-species-specific parameters).
Attributes
name
name=string
mosqEntoAvailability
mosqEntoAvailability=double
mosqProbBiting
mosqProbBiting=double
mosqProbFindRestSite
mosqProbFindRestSite=double
mosqProbResting
mosqProbResting=double
drugDescription
<drugDescription>
IN THIS ORDER:
| <genome ... />
| <drugs ... />
</drugDescription>
Documentation (element)
Units: List of elements
Drug model parameters
genome
→ scenario → drugDescription → genome
<genome>
IN THIS ORDER:
| <content ... />
| <distribution ... />
</genome>
content
→ scenario → drugDescription → genome → content
<content>
IN THIS ORDER:
| ( <gene ... /> )+
</content>
gene
→ scenario → drugDescription → genome → content → gene
<gene
name=string
>
IN THIS ORDER:
| ( <mutation ... /> )+
</gene>
Attributes
name
name=string
mutation
→ scenario → drugDescription → genome → content → gene → mutation
<mutation
cost=double
position=integer
/>
Attributes
cost
cost=double
position
position=integer
distribution
→ scenario → drugDescription → genome → distribution
<distribution>
IN THIS ORDER:
| ( <genomeInstance ... /> )+
</distribution>
genomeInstance
→ scenario → drugDescription → genome → distribution → genomeInstance
<genomeInstance
proportion=integer
>
IN THIS ORDER:
| ( <allele ... /> )+
</genomeInstance>
Attributes
proportion
proportion=integer
allele
→ scenario → drugDescription → genome → distribution → genomeInstance → allele
<allele
mutations=integer
name=string
/>
Attributes
mutations
mutations=integer
name
name=string
drugs
→ scenario → drugDescription → drugs
<drugs
[ synergy=string ]
>
IN THIS ORDER:
| <compound ... />
</drugs>
Attributes
synergy
synergy=string
compound
→ scenario → drugDescription → drugs → compound
<compound
acronym=string
name=string
>
IN THIS ORDER:
| <pk ... />
| <pd ... />
</compound>
Attributes
acronym
acronym=string
name
name=string
pk
→ scenario → drugDescription → drugs → compound → pk
<pk>
</pk>
ageGroup
→ scenario → drugDescription → drugs → compound → pk → ageGroup
<ageGroup
F=integer
Vd=double
t12=integer
[ minAge=double ]
/>
Attributes
F
F=integer
Bioavailability (unsure of the units we will be using)
Vd
Vd=double
Volume of Distribution (l/kg)
t12
t12=integer
Units: Number
Half-life (days)
minAge
minAge=double
pd
→ scenario → drugDescription → drugs → compound → pd
<pd>
IN THIS ORDER:
| ( <genomeRule ... /> )+
</pd>
genomeRule
→ scenario → drugDescription → drugs → compound → pd → genomeRule
<genomeRule>
</genomeRule>
matchMutation
→ scenario → drugDescription → drugs → compound → pd → genomeRule → matchMutation
<matchMutation
present=boolean
gene=string
pos=integer
/>
Attributes
present
present=boolean
gene
gene=string
pos
pos=integer
ageGroup
→ scenario → drugDescription → drugs → compound → pd → genomeRule → ageGroup
<ageGroup
c50=integer
k1=double
n=integer
[ minAge=double ]
/>
Attributes
c50
c50=integer
Half maximal effect concentration (mg/l)
k1
k1=double
Units: Proportion Min: 0 Max: 1
Maximal parasite killing rate (per day)
n
n=integer
Slope of the concentration effect curve (no units)
minAge
minAge=double
parameters
→ scenario → parameters
<parameters
interval=int
iseed=int
delta=double
latentp=int
>
IN THIS ORDER:
| ( <parameter ... /> )+
</parameters>
Documentation (element)
Units: List of elements
Parameters for mathematical model
Documentation (type)
Units: List of elements
Parameter vector
Attributes
interval
interval=int
Units: Days
Simulation step
iseed
iseed=int
Units: Number
Seed for RNG
delta
delta=double
Units: ? Redundant
this no longer seems to be used
latentp
latentp=int
Units: Time steps Min: 0 Max: 20
pre-erythrocytic latent period, in time steps
parameter
→ scenario → parameters → parameter
<parameter
name=string
number=int
value=double
[ include=boolean ]
/>
Attributes
name
name=string
Units: string
Name of parameter
number
number=int
Units: Number Min: 1 Max: 100
Reference number of input parameter
value
value=double
Units: Number Min: 0
Parameter value
include
include=boolean
Units: Number Min: 0 Max: 1
True if parameter is to be sampled in optimization runs. Not used in simulator app.
Schema 11 documentation
Generated from: scenario_11.xsd
.
Key:
abc required (one)
[ def ] optional (zero or one)
( ghi )* any number (zero or more)
( jkl )+ at least one
( mno ){2,inf} two or more occurrences
scenario
→ scenario
<scenario
schemaVersion=int
analysisNo=int
maximumAgeYrs=double
name=string
popSize=int
simulationDuration=int
modelVersion=int
wuID=int
assimMode=("0" or "1")
mode=("2" or "3" or "4")
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:noNamespaceSchemaLocation="scenario_11.xsd"
>
IN THIS ORDER:
| <demography ... />
| <monitoring ... />
| <interventions ... />
| [ <caseManagements ... /> ]
| [ <healthSystem ... /> ]
| <entoData ... />
| [ <drugDescription ... /> ]
| <parameters ... />
</scenario>
- demography
- monitoring
- interventions
- caseManagements
- healthSystem
- entoData
- drugDescription
- parameters
Documentation (element)
Units: List of elements
Description of scenario
Attributes
schemaVersion
schemaVersion=int
Version of xml schema. If not equal to the current version an error is thrown. Use SchemaTranslator to update xml files.
analysisNo
analysisNo=int
Units: Number Min: 1 Max: 100000000
Unique identifier of scenario
maximumAgeYrs
maximumAgeYrs=double
Units: Number Min: 0 Max: 100
Maximum age of simulated humans
name
name=string
Units: string
Name of intervention
popSize
popSize=int
Units: Count Min: 1 Max: 100000
Population size
simulationDuration
simulationDuration=int
Units: Time steps Min: 1 Max: 36500
Duration of main simulation
modelVersion
modelVersion=int
Units: Code Min: 0 Max: 100000000
Model Version
wuID
wuID=int
Units: Number Min: 1 Max: 100000000
Work unit ID. Only used to validate checkpointing, to prevent checkpoint cheats.
assimMode
assimMode=("0" or "1")
Units: Code
Assimilator mode. Defines output of simulator as either complete (columns: time,agegroup,measure,value) or minimal (single column: value)
mode
mode=("2" or "3" or "4")
Units: Code
Transmission simulation mode
demography
→ scenario → demography
<demography
name=string
[ growthRate=double ]
>
IN THIS ORDER:
| <ageGroup ... />
</demography>
Documentation (element)
Units: List of elements
Description of demography
Documentation (type)
Units: List of elements
Description of demography
Attributes
name
name=string
Units: string
Name of demography data
growthRate
growthRate=double
Units: Number Min: 0 Max: 0
Growth rate of human population.
ageGroup
→ scenario → demography → ageGroup
<ageGroup
lowerbound=double
>
IN THIS ORDER:
| ( <group ... /> )+
</ageGroup>
Documentation (element)
Units: List of elements
List of age groups included in demography
Documentation (type)
Units: List of elements
List of age groups included in demography or surveys
Attributes
lowerbound
lowerbound=double
Units: Years Min: 0 Max: 100
Lower bound of age group
group
→ scenario → demography → ageGroup → group
<group
poppercent=double
upperbound=double
/>
Attributes
poppercent
poppercent=double
upperbound
upperbound=double
monitoring
→ scenario → monitoring
<monitoring
name=string
>
IN THIS ORDER:
| <surveys ... />
| <ageGroup ... />
</monitoring>
Documentation (element)
Units: List of elements
Description of surveys
Documentation (type)
Units: List of elements
Description of surveys
Attributes
name
name=string
Units: string
Name of monitoring data
surveys
→ scenario → monitoring → surveys
<surveys
detectionLimit=double
summaryOption=int
>
IN THIS ORDER:
| <surveyTime ... />
</surveys>
Documentation (element)
Units: List of elements
List of survey times
Attributes
detectionLimit
detectionLimit=double
Units: parasites/micolitre Min: 0 Max: 1000
Detection limit for parasitemia
summaryOption
summaryOption=int
Units: Code
Requested output variables
surveyTime
→ scenario → monitoring → surveys → surveyTime
<surveyTime>
int
</surveyTime>
Documentation (element)
Units: Number Min: 0
Survey time
ageGroup
→ scenario → monitoring → ageGroup
<ageGroup
lowerbound=double
>
IN THIS ORDER:
| ( <group ... /> )+
</ageGroup>
Documentation (element)
Units: List of elements
List of age groups included in demography or surveys
Documentation (type)
Units: List of elements
List of age groups included in surveys
Attributes
lowerbound
lowerbound=double
Units: Years Min: 0 Max: 100
Lower bound of age group
group
→ scenario → monitoring → ageGroup → group
<group
upperbound=double
/>
Attributes
upperbound
upperbound=double
interventions
<interventions
name=string
>
IN THIS ORDER:
| ( <vaccineDescription ... /> ){0,3}
| [ <iptiDescription ... /> ]
| ( <anopheles ... /> )*
| [ <continuous ... /> ]
| [ <timed ... /> ]
</interventions>
Documentation (element)
Units: List of elements
List of interventions
Documentation (type)
Units: List of elements
List of interventions
Attributes
name
name=string
Units: string
Name of age specific intervention
vaccineDescription
→ scenario → interventions → vaccineDescription
<vaccineDescription
vaccineType=int
>
IN THIS ORDER:
| <halfLifeYrs ... />
| <efficacyB ... />
| ( <initialEfficacy ... /> )+
</vaccineDescription>
Attributes
vaccineType
vaccineType=int
Units: Code
Type of vaccine
halfLifeYrs
→ scenario → interventions → vaccineDescription → halfLifeYrs
<halfLifeYrs
value=double
/>
Documentation (element)
Units: Years Min: 0 Max: 100
Half life of drug effect
Attributes
value
value=double
TODO
efficacyB
→ scenario → interventions → vaccineDescription → efficacyB
<efficacyB
value=double
/>
Documentation (element)
Units: Positive real Min: 0.001 Max: 1.00E+06
Measure of variation in vaccine efficacy
Attributes
value
value=double
TODO
initialEfficacy
→ scenario → interventions → vaccineDescription → initialEfficacy
<initialEfficacy
value=double
/>
Attributes
value
value=double
TODO
iptiDescription
→ scenario → interventions → iptiDescription
<iptiDescription
iptiEffect=int
>
IN THIS ORDER:
| ( <infGenotype ... /> )+
</iptiDescription>
Attributes
iptiEffect
iptiEffect=int
infGenotype
→ scenario → interventions → iptiDescription → infGenotype
<infGenotype
name=string
freq=double
ACR=double
proph=int
tolPeriod=int
atten=double
/>
Attributes
name
name=string
Units: string
Name of age specific intervention
freq
freq=double
ACR
ACR=double
proph
proph=int
tolPeriod
tolPeriod=int
atten
atten=double
anopheles
→ scenario → interventions → anopheles
<anopheles
mosquito=string
>
IN THIS ORDER:
| [ <ITNDescription ... /> ]
| [ <IRSDescription ... /> ]
| [ <VADescription ... /> ]
</anopheles>
Attributes
mosquito
mosquito=string
ITNDescription
→ scenario → interventions → anopheles → ITNDescription
<ITNDescription
name=string
>
IN THIS ORDER:
| <deterrency ... />
| <preprandialKillingEffect ... />
| <postprandialKillingEffect ... />
</ITNDescription>
Attributes
name
name=string
Units: string
Name of Insecticide Treated Net intervention
deterrency
→ scenario → interventions → anopheles → ITNDescription → deterrency
<deterrency
initial=double
halflife=double
[ Weibullk=double ]
/>
Documentation (element)
Units: None Min: 0 Max: 1
One minus this multiplies the host's availability (before decay).
Documentation (type)
Specification of a proportion with Weibull or exponential decay.
Attributes
initial
initial=double
Units: None Min: 0 Max: 1
The value before any decay.
halflife
halflife=double
Units: Years Min: 0
Half-life in years (more generally, halflife/ln(2) is lambda from the Weibull distribution).
Weibullk
Weibullk=double
Min: 0
The parameter k of the Weibull distribution. If missing, 1.0 is used (equivalent to exponential decay).
preprandialKillingEffect
→ scenario → interventions → anopheles → ITNDescription → preprandialKillingEffect
<preprandialKillingEffect
initial=double
halflife=double
[ Weibullk=double ]
/>
Documentation (element)
Units: None Min: 0 Max: 1
One minus this multiplies the survival rate of mosquitoes attempting to bite a host.
Documentation (type)
Specification of a proportion with Weibull or exponential decay.
Attributes
initial
initial=double
Units: None Min: 0 Max: 1
The value before any decay.
halflife
halflife=double
Units: Years Min: 0
Half-life in years (more generally, halflife/ln(2) is lambda from the Weibull distribution).
Weibullk
Weibullk=double
Min: 0
The parameter k of the Weibull distribution. If missing, 1.0 is used (equivalent to exponential decay).
postprandialKillingEffect
→ scenario → interventions → anopheles → ITNDescription → postprandialKillingEffect
<postprandialKillingEffect
initial=double
halflife=double
[ Weibullk=double ]
/>
Documentation (element)
Units: None Min: 0 Max: 1
One minus this multiplies the survival rate of mosquitoes attempting to escape after biting a host.
Documentation (type)
Specification of a proportion with Weibull or exponential decay.
Attributes
initial
initial=double
Units: None Min: 0 Max: 1
The value before any decay.
halflife
halflife=double
Units: Years Min: 0
Half-life in years (more generally, halflife/ln(2) is lambda from the Weibull distribution).
Weibullk
Weibullk=double
Min: 0
The parameter k of the Weibull distribution. If missing, 1.0 is used (equivalent to exponential decay).
IRSDescription
→ scenario → interventions → anopheles → IRSDescription
<IRSDescription
name=string
>
IN THIS ORDER:
| <deterrency ... />
| <killingEffect ... />
</IRSDescription>
Attributes
name
name=string
Units: string
Name of Indoor Residual Spraying intervention
deterrency
→ scenario → interventions → anopheles → IRSDescription → deterrency
<deterrency
initial=double
halflife=double
[ Weibullk=double ]
/>
Documentation (element)
Units: None Min: 0 Max: 1
One minus this multiplies the host's availability.
Documentation (type)
Specification of a proportion with Weibull or exponential decay.
Attributes
initial
initial=double
Units: None Min: 0 Max: 1
The value before any decay.
halflife
halflife=double
Units: Years Min: 0
Half-life in years (more generally, halflife/ln(2) is lambda from the Weibull distribution).
Weibullk
Weibullk=double
Min: 0
The parameter k of the Weibull distribution. If missing, 1.0 is used (equivalent to exponential decay).
killingEffect
→ scenario → interventions → anopheles → IRSDescription → killingEffect
<killingEffect
initial=double
halflife=double
[ Weibullk=double ]
/>
Documentation (element)
Units: None Min: 0 Max: 1
One minus this multiplies the survival rate of resting mosquitoes.
Documentation (type)
Specification of a proportion with Weibull or exponential decay.
Attributes
initial
initial=double
Units: None Min: 0 Max: 1
The value before any decay.
halflife
halflife=double
Units: Years Min: 0
Half-life in years (more generally, halflife/ln(2) is lambda from the Weibull distribution).
Weibullk
Weibullk=double
Min: 0
The parameter k of the Weibull distribution. If missing, 1.0 is used (equivalent to exponential decay).
VADescription
→ scenario → interventions → anopheles → VADescription
<VADescription
name=string
>
IN THIS ORDER:
| <deterrency ... />
</VADescription>
Attributes
name
name=string
Units: string
Name of mosquito deterrency intervention
deterrency
→ scenario → interventions → anopheles → VADescription → deterrency
<deterrency
initial=double
halflife=double
[ Weibullk=double ]
/>
Documentation (element)
Units: None Min: 0 Max: 1
One minus this multiplies the host's availability.
Documentation (type)
Specification of a proportion with Weibull or exponential decay.
Attributes
initial
initial=double
Units: None Min: 0 Max: 1
The value before any decay.
halflife
halflife=double
Units: Years Min: 0
Half-life in years (more generally, halflife/ln(2) is lambda from the Weibull distribution).
Weibullk
Weibullk=double
Min: 0
The parameter k of the Weibull distribution. If missing, 1.0 is used (equivalent to exponential decay).
continuous
→ scenario → interventions → continuous
<continuous>
IN THIS ORDER:
| ( <vaccine ... /> )*
| ( <ITN ... /> )*
| ( <ipti ... /> )*
</continuous>
vaccine
→ scenario → interventions → continuous → vaccine
<vaccine
targetAgeYrs=double
coverage=double
/>
Documentation (element)
Units: List of elements
List of age groups for vaccination
Attributes
targetAgeYrs
targetAgeYrs=double
Units: Years Min: 0 Max: 100
Target age of intervention
coverage
coverage=double
Units: Proportion Min: 0 Max: 1
Coverage of intervention
ITN
→ scenario → interventions → continuous → ITN
<ITN
targetAgeYrs=double
coverage=double
/>
Documentation (element)
Units: List of elements
Description of ITN deployment in the community
Attributes
targetAgeYrs
targetAgeYrs=double
Units: Years Min: 0 Max: 100
Target age of intervention
coverage
coverage=double
Units: Proportion Min: 0 Max: 1
Coverage of intervention
ipti
→ scenario → interventions → continuous → ipti
<ipti
targetAgeYrs=double
coverage=double
/>
Documentation (element)
Units: List of elements
List of age groups for IPTi distribution
Attributes
targetAgeYrs
targetAgeYrs=double
Units: Years Min: 0 Max: 100
Target age of intervention
coverage
coverage=double
Units: Proportion Min: 0 Max: 1
Coverage of intervention
timed
→ scenario → interventions → timed
<timed>
IN THIS ORDER:
| ( <intervention ... /> )+
</timed>
Documentation (element)
Units: List of elements
List of timed interventions
Documentation (type)
Units: List of elements
List of timed interventions
intervention
→ scenario → interventions → timed → intervention
<intervention
time=int
>
IN THIS ORDER:
| [ <changeHS ... /> ]
| [ <changeEIR ... /> ]
| [ <MDA ... /> ]
| [ <vaccinate ... /> ]
| [ <ITN ... /> ]
| [ <IRS ... /> ]
| [ <VectorAvailability ... /> ]
| [ <ipti ... /> ]
| [ <larviciding ... /> ]
</intervention>
Attributes
time
time=int
Units: Number Min: 1 Max: 10000
Time step of intervention
changeHS
→ scenario → interventions → timed → intervention → changeHS
<changeHS
name=string
healthSystemMemory=int
>
IN THIS ORDER:
| <drugRegimen ... />
| <initialACR ... />
| <compliance ... />
| <nonCompliersEffective ... />
| <pSeekOfficialCareUncomplicated1 ... />
| <pSelfTreatUncomplicated ... />
| <pSeekOfficialCareUncomplicated2 ... />
| <pSeekOfficialCareSevere ... />
| <pSequelaeInpatient ... />
| <CFR ... />
</changeHS>
- drugRegimen
- initialACR
- compliance
- nonCompliersEffective
- pSeekOfficialCareUncomplicated1
- pSelfTreatUncomplicated
- pSeekOfficialCareUncomplicated2
- pSeekOfficialCareSevere
- pSequelaeInpatient
- CFR
Documentation (type)
Units: List of elements
Description of health system
Attributes
name
name=string
Units: string
Name of health system
healthSystemMemory
healthSystemMemory=int
Units: Time steps Min: 1 Max: 100
Follow-up period during which a recurrence is considered to be a treatment failure
drugRegimen
→ scenario → healthSystem → drugRegimen
<drugRegimen
firstLine=string
secondLine=string
inpatient=string
/>
Documentation (element)
Units: List of elements
Description of drug regimen
Attributes
firstLine
firstLine=string
Units: Drug code
Code for first line drug
secondLine
secondLine=string
Units: Drug code
Code for second line drug
inpatient
inpatient=string
Units: Drug code
Code for drug used for treating inpatients
initialACR
→ scenario → healthSystem → initialACR
<initialACR>
IN THIS ORDER:
| [ <CQ ... /> ]
| [ <SP ... /> ]
| [ <AQ ... /> ]
| [ <SPAQ ... /> ]
| [ <ACT ... /> ]
| [ <QN ... /> ]
| <selfTreatment ... />
</initialACR>
Documentation (element)
Units: Proportion Min: 0 Max: 1
Initial cure rate
CQ
→ scenario → healthSystem → initialACR → CQ
<CQ
value=double
/>
Documentation (element)
Units: List of elements
Chloroquine
Attributes
value
value=double
TODO
SP
→ scenario → healthSystem → initialACR → SP
<SP
value=double
/>
Documentation (element)
Units: List of elements
Sulphadoxine-pyrimethamine
Attributes
value
value=double
TODO
AQ
→ scenario → healthSystem → initialACR → AQ
<AQ
value=double
/>
Documentation (element)
Units: List of elements
Amodiaquine
Attributes
value
value=double
TODO
SPAQ
→ scenario → healthSystem → initialACR → SPAQ
<SPAQ
value=double
/>
Documentation (element)
Units: List of elements
Sulphadoxine-pyrimethamine/Amodiaquine
Attributes
value
value=double
TODO
ACT
→ scenario → healthSystem → initialACR → ACT
<ACT
value=double
/>
Documentation (element)
Units: List of elements
Artemisinine combination therapy
Attributes
value
value=double
TODO
QN
→ scenario → healthSystem → initialACR → QN
<QN
value=double
/>
Documentation (element)
Units: List of elements
Quinine
Attributes
value
value=double
TODO
selfTreatment
→ scenario → healthSystem → initialACR → selfTreatment
<selfTreatment
value=double
/>
Documentation (element)
Units: Proportion Min: 0 Max: 1
Probability of self-treatment
Attributes
value
value=double
TODO
compliance
→ scenario → healthSystem → compliance
<compliance>
IN THIS ORDER:
| [ <CQ ... /> ]
| [ <SP ... /> ]
| [ <AQ ... /> ]
| [ <SPAQ ... /> ]
| [ <ACT ... /> ]
| [ <QN ... /> ]
| <selfTreatment ... />
</compliance>
Documentation (element)
Units: Proportion Min: 0 Max: 1
Adherence to treatment
nonCompliersEffective
→ scenario → healthSystem → nonCompliersEffective
<nonCompliersEffective>
IN THIS ORDER:
| [ <CQ ... /> ]
| [ <SP ... /> ]
| [ <AQ ... /> ]
| [ <SPAQ ... /> ]
| [ <ACT ... /> ]
| [ <QN ... /> ]
| <selfTreatment ... />
</nonCompliersEffective>
Documentation (element)
Units: Proportion Min: 0 Max: 1
Effectiveness of treatment of non compliers
pSeekOfficialCareUncomplicated1
→ scenario → healthSystem → pSeekOfficialCareUncomplicated1
<pSeekOfficialCareUncomplicated1
value=double
/>
Documentation (element)
Units: Proportion Min: 0 Max: 1
Probability that a patient with newly incident uncomplicated disease seeks official care
Attributes
value
value=double
TODO
pSelfTreatUncomplicated
→ scenario → healthSystem → pSelfTreatUncomplicated
<pSelfTreatUncomplicated
value=double
/>
Documentation (element)
Units: Proportion Min: 0 Max: 1
Probability that a patient with uncomplicated disease self-treats
Attributes
value
value=double
TODO
pSeekOfficialCareUncomplicated2
→ scenario → healthSystem → pSeekOfficialCareUncomplicated2
<pSeekOfficialCareUncomplicated2
value=double
/>
Documentation (element)
Units: Proportion Min: 0 Max: 1
Probability that a patient with recurrence of uncomplicated disease seeks official care
Attributes
value
value=double
TODO
pSeekOfficialCareSevere
→ scenario → healthSystem → pSeekOfficialCareSevere
<pSeekOfficialCareSevere
value=double
/>
Documentation (element)
Units: Proportion Min: 0 Max: 1
Probability that a patient with severe disease seeks official care
Attributes
value
value=double
TODO
pSequelaeInpatient
→ scenario → healthSystem → pSequelaeInpatient
<pSequelaeInpatient>
IN THIS ORDER:
| ( <item ... /> )+
</pSequelaeInpatient>
Documentation (element)
Units: List of elements
List of age specific probabilities of sequelae in inpatients
item
→ scenario → healthSystem → pSequelaeInpatient → item
<item
value=double
maxAgeYrs=double
/>
Attributes
value
value=double
TODO
maxAgeYrs
maxAgeYrs=double
Units: Years Min: 0 Max: 100
Upper bound of age group
CFR
→ scenario → healthSystem → CFR
<CFR>
IN THIS ORDER:
| ( <group ... /> )+
</CFR>
group
→ scenario → healthSystem → CFR → group
<group
cfr=double
lowerbound=double
/>
Attributes
cfr
cfr=double
Units: Proportion Min: 0 Max: 1
Case fatality rate
lowerbound
lowerbound=double
Units: Years Min: 0 Max: 100
Lower bound of age group
changeEIR
→ scenario → interventions → timed → intervention → changeEIR
<changeEIR
eipDuration=int
>
IN THIS ORDER:
| ( <EIRDaily ... /> )+
</changeEIR>
Documentation (type)
Parameters for the non-vector transmission model.
Attributes
eipDuration
eipDuration=int
The duration of sporogony in days
EIRDaily
→ scenario → entoData → nonVector → EIRDaily
<EIRDaily
[ origin=string ]
>
double
</EIRDaily>
Documentation (type)
Units: Innoculations per person per day
Value of daily EIR; when multiple values are given for a single timestep they are averaged.
Attributes
origin
origin=string
MDA
→ scenario → interventions → timed → intervention → MDA
<MDA
[ maxAge=double ]
[ minAge=double ]
coverage=double
/>
Documentation (element)
Units: List of elements
Description of mass drug deployment in the community
Attributes
maxAge
maxAge=double
Units: Years Min: 0 Max: 100
Maximum age of eligible individuals (defaults to 100)
minAge
minAge=double
Units: Years Min: 0 Max: 100
Minimum age of eligible individuals (defaults to 0)
coverage
coverage=double
Units: Proportion Min: 0 Max: 1
Coverage of intervention
vaccinate
→ scenario → interventions → timed → intervention → vaccinate
<vaccinate
[ maxAge=double ]
[ minAge=double ]
coverage=double
/>
Documentation (element)
Units: List of elements
Description of vaccine deployment in the community
Attributes
maxAge
maxAge=double
Units: Years Min: 0 Max: 100
Maximum age of eligible individuals (defaults to 100)
minAge
minAge=double
Units: Years Min: 0 Max: 100
Minimum age of eligible individuals (defaults to 0)
coverage
coverage=double
Units: Proportion Min: 0 Max: 1
Coverage of intervention
ITN
→ scenario → interventions → timed → intervention → ITN
<ITN
[ maxAge=double ]
[ minAge=double ]
coverage=double
/>
Documentation (element)
Units: List of elements
Description of ITN deployment in the community
Attributes
maxAge
maxAge=double
Units: Years Min: 0 Max: 100
Maximum age of eligible individuals (defaults to 100)
minAge
minAge=double
Units: Years Min: 0 Max: 100
Minimum age of eligible individuals (defaults to 0)
coverage
coverage=double
Units: Proportion Min: 0 Max: 1
Coverage of intervention
IRS
→ scenario → interventions → timed → intervention → IRS
<IRS
[ maxAge=double ]
[ minAge=double ]
coverage=double
/>
Documentation (element)
Units: List of elements
Description of IRS deployment in the community
Attributes
maxAge
maxAge=double
Units: Years Min: 0 Max: 100
Maximum age of eligible individuals (defaults to 100)
minAge
minAge=double
Units: Years Min: 0 Max: 100
Minimum age of eligible individuals (defaults to 0)
coverage
coverage=double
Units: Proportion Min: 0 Max: 1
Coverage of intervention
VectorAvailability
→ scenario → interventions → timed → intervention → VectorAvailability
<VectorAvailability
[ maxAge=double ]
[ minAge=double ]
coverage=double
/>
Documentation (element)
Units: List of elements
Description of a mosquito detterent deployment in the community
Attributes
maxAge
maxAge=double
Units: Years Min: 0 Max: 100
Maximum age of eligible individuals (defaults to 100)
minAge
minAge=double
Units: Years Min: 0 Max: 100
Minimum age of eligible individuals (defaults to 0)
coverage
coverage=double
Units: Proportion Min: 0 Max: 1
Coverage of intervention
ipti
→ scenario → interventions → timed → intervention → ipti
<ipti
[ maxAge=double ]
[ minAge=double ]
coverage=double
/>
Documentation (element)
Units: List of elements
List of age groups for IPTi distribution
Attributes
maxAge
maxAge=double
Units: Years Min: 0 Max: 100
Maximum age of eligible individuals (defaults to 100)
minAge
minAge=double
Units: Years Min: 0 Max: 100
Minimum age of eligible individuals (defaults to 0)
coverage
coverage=double
Units: Proportion Min: 0 Max: 1
Coverage of intervention
larviciding
→ scenario → interventions → timed → intervention → larviciding
<larviciding>
IN THIS ORDER:
| ( <anopheles ... /> )+
</larviciding>
Documentation (element)
Simple larviciding intervention description.
anopheles
→ scenario → interventions → timed → intervention → larviciding → anopheles
<anopheles
mosquito=string
effectiveness=double
duration=int
/>
Attributes
mosquito
mosquito=string
effectiveness
effectiveness=double
Units: none Min: 0 Max: 1
Proportion to reduce emergence rates by.
duration
duration=int
Units: days Min: 0 Max: inf
Number of days for which the intervention is active.
caseManagements
<caseManagements
name=string
reportingPeriodMemory=int
>
IN THIS ORDER:
| ( <caseManagement ... /> )+
</caseManagements>
Documentation (element)
Units: List of elements
List of case managment interventions
Documentation (type)
Units: List of elements
List of age-specific case managment descriptions
Attributes
name
name=string
Units: string
Name of age specific intervention
reportingPeriodMemory
reportingPeriodMemory=int
Units: Time steps Min: 1 Max: 100
Follow-up period during which a recurrence is considered to be a treatment failure
caseManagement
→ scenario → caseManagements → caseManagement
<caseManagement
maxAgeYrs=decimal
>
IN THIS ORDER:
| <uc1 ... />
| <uc2 ... />
| <sev ... />
| <nmfP ... />
| <nmfNP ... />
| <decisions ... />
</caseManagement>
Documentation (element)
Units: List of elements
Age-specific case management description, describes entry-points and decisions, with entry-point-specific decision probabilities
Attributes
maxAgeYrs
maxAgeYrs=decimal
Units: Years Min: 0 Max: 100
Upper bound of age group
uc1
→ scenario → caseManagements → caseManagement → uc1
<uc1>
IN THIS ORDER:
| ( <endPoint ... /> )+
</uc1>
endPoint
→ scenario → caseManagements → caseManagement → uc1 → endPoint
<endPoint
decision=int
p=double
/>
Attributes
decision
decision=int
Foreign key reference to outcome node
p
p=double
Units: Proportion Min: 0 Max: 1
Probability of outcome
uc2
→ scenario → caseManagements → caseManagement → uc2
<uc2>
IN THIS ORDER:
| ( <endPoint ... /> )+
</uc2>
sev
→ scenario → caseManagements → caseManagement → sev
<sev>
IN THIS ORDER:
| ( <endPoint ... /> )+
</sev>
nmfP
→ scenario → caseManagements → caseManagement → nmfP
<nmfP>
IN THIS ORDER:
| ( <endPoint ... /> )+
</nmfP>
nmfNP
→ scenario → caseManagements → caseManagement → nmfNP
<nmfNP>
IN THIS ORDER:
| ( <endPoint ... /> )+
</nmfNP>
decisions
→ scenario → caseManagements → caseManagement → decisions
<decisions>
IN THIS ORDER:
| ( <decision ... /> )+
</decisions>
decision
→ scenario → caseManagements → caseManagement → decisions → decision
<decision
id=int
>
IN THIS ORDER:
| ( <medicate ... /> )+
</decision>
Documentation (element)
Units: List of elements
describes treatment decisions, a list of medicate descisions.
Attributes
id
id=int
Units: Number
Key of decision
medicate
→ scenario → caseManagements → caseManagement → decisions → decision → medicate
<medicate
name=string
qty=double
time=int
/>
Attributes
name
name=string
Units: string
Name of drug compound
qty
qty=double
Units: Number
Quantity of drug compound
time
time=int
Units: Number Min: 1 Max: 10000
Time step of intervention
healthSystem
→ scenario → healthSystem
<healthSystem
name=string
healthSystemMemory=int
>
IN THIS ORDER:
| <drugRegimen ... />
| <initialACR ... />
| <compliance ... />
| <nonCompliersEffective ... />
| <pSeekOfficialCareUncomplicated1 ... />
| <pSelfTreatUncomplicated ... />
| <pSeekOfficialCareUncomplicated2 ... />
| <pSeekOfficialCareSevere ... />
| <pSequelaeInpatient ... />
| <CFR ... />
</healthSystem>
- drugRegimen
- initialACR
- compliance
- nonCompliersEffective
- pSeekOfficialCareUncomplicated1
- pSelfTreatUncomplicated
- pSeekOfficialCareUncomplicated2
- pSeekOfficialCareSevere
- pSequelaeInpatient
- CFR
Documentation (element)
Units: List of elements
Description of health system
Documentation (type)
Units: List of elements
Description of health system
Attributes
name
name=string
Units: string
Name of health system
healthSystemMemory
healthSystemMemory=int
Units: Time steps Min: 1 Max: 100
Follow-up period during which a recurrence is considered to be a treatment failure
entoData
<entoData
name=string
>
IN THIS ORDER:
| EXACTLY ONE OF:
| | <nonVector ... />
| | <vector ... />
</entoData>
Documentation (element)
Units: List of elements
Description of entomological data
Documentation (type)
Units: List of elements
Data for entomodel
Attributes
name
name=string
Units: string
Name of entomology data
nonVector
→ scenario → entoData → nonVector
<nonVector
eipDuration=int
>
IN THIS ORDER:
| ( <EIRDaily ... /> )+
</nonVector>
Documentation (type)
Parameters for the non-vector transmission model.
Attributes
eipDuration
eipDuration=int
The duration of sporogony in days
vector
→ scenario → entoData → vector
<vector>
IN THIS ORDER:
| ( <anopheles ... /> )+
</vector>
Documentation (element)
Parameters for the vector transmission model.
anopheles
→ scenario → entoData → vector → anopheles
<anopheles
mosquito=string
propInfected=double
propInfectious=double
>
IN THIS ORDER:
| <eir ... />
| <mosq ... />
| ( <nonHumanHosts ... /> )*
</anopheles>
Attributes
mosquito
mosquito=string
propInfected
propInfected=double
Units: Proportion Min: 0 Max: 1
Proportion of mosquitoes which are infected, o: O_v(t) = o*N_v(t).
propInfectious
propInfectious=double
Units: Proportion Min: 0 Max: 1
Proportion of mosquitoes which are infectious, s: S_v(t) = s*N_v(t).
eir
→ scenario → entoData → vector → anopheles → eir
<eir
a0=double
a1=double
b1=double
a2=double
b2=double
EIRRotateAngle=double
/>
Documentation (element)
Units: Innoculations per person per day
Description of target entomological inoculation rate, used to calculate the vector emergence rate. An EIR array is generated from the exponent of the inverse discrete fourier transform of these parameters.
Attributes
a0
a0=double
a1
a1=double
b1
b1=double
a2
a2=double
b2
b2=double
EIRRotateAngle
EIRRotateAngle=double
mosq
→ scenario → entoData → vector → anopheles → mosq
<mosq
mosqRestDuration=int
extrinsicIncubationPeriod=int
mosqSeekingDeathRate=double
mosqSeekingDuration=double
mosqEntoAvailability=double
mosqProbBiting=double
mosqProbFindRestSite=double
mosqProbResting=double
mosqProbOvipositing=double
/>
Documentation (element)
Units: List of elements
Vector species
Attributes
mosqRestDuration
mosqRestDuration=int
extrinsicIncubationPeriod
extrinsicIncubationPeriod=int
mosqSeekingDeathRate
mosqSeekingDeathRate=double
mosqSeekingDuration
mosqSeekingDuration=double
mosqEntoAvailability
mosqEntoAvailability=double
mosqProbBiting
mosqProbBiting=double
mosqProbFindRestSite
mosqProbFindRestSite=double
mosqProbResting
mosqProbResting=double
mosqProbOvipositing
mosqProbOvipositing=double
nonHumanHosts
→ scenario → entoData → vector → anopheles → nonHumanHosts
<nonHumanHosts
name=string
mosqEntoAvailability=double
mosqProbBiting=double
mosqProbFindRestSite=double
mosqProbResting=double
/>
Documentation (element)
Units: List of elements
Non human host parameters, per type of host (must match up with non-species-specific parameters).
Attributes
name
name=string
mosqEntoAvailability
mosqEntoAvailability=double
mosqProbBiting
mosqProbBiting=double
mosqProbFindRestSite
mosqProbFindRestSite=double
mosqProbResting
mosqProbResting=double
drugDescription
<drugDescription>
IN THIS ORDER:
| <genome ... />
| <drugs ... />
</drugDescription>
Documentation (element)
Units: List of elements
Drug model parameters
genome
→ scenario → drugDescription → genome
<genome>
IN THIS ORDER:
| <content ... />
| <distribution ... />
</genome>
content
→ scenario → drugDescription → genome → content
<content>
IN THIS ORDER:
| ( <gene ... /> )+
</content>
gene
→ scenario → drugDescription → genome → content → gene
<gene
name=string
>
IN THIS ORDER:
| ( <mutation ... /> )+
</gene>
Attributes
name
name=string
mutation
→ scenario → drugDescription → genome → content → gene → mutation
<mutation
cost=double
position=integer
/>
Attributes
cost
cost=double
position
position=integer
distribution
→ scenario → drugDescription → genome → distribution
<distribution>
IN THIS ORDER:
| ( <genomeInstance ... /> )+
</distribution>
genomeInstance
→ scenario → drugDescription → genome → distribution → genomeInstance
<genomeInstance
proportion=integer
>
IN THIS ORDER:
| ( <allele ... /> )+
</genomeInstance>
Attributes
proportion
proportion=integer
allele
→ scenario → drugDescription → genome → distribution → genomeInstance → allele
<allele
mutations=integer
name=string
/>
Attributes
mutations
mutations=integer
name
name=string
drugs
→ scenario → drugDescription → drugs
<drugs
[ synergy=string ]
>
IN THIS ORDER:
| <compound ... />
</drugs>
Attributes
synergy
synergy=string
compound
→ scenario → drugDescription → drugs → compound
<compound
acronym=string
name=string
>
IN THIS ORDER:
| <pk ... />
| <pd ... />
</compound>
Attributes
acronym
acronym=string
name
name=string
pk
→ scenario → drugDescription → drugs → compound → pk
<pk>
</pk>
ageGroup
→ scenario → drugDescription → drugs → compound → pk → ageGroup
<ageGroup
F=integer
Vd=double
t12=integer
[ minAge=double ]
/>
Attributes
F
F=integer
Bioavailability (unsure of the units we will be using)
Vd
Vd=double
Volume of Distribution (l/kg)
t12
t12=integer
Units: Number
Half-life (days)
minAge
minAge=double
pd
→ scenario → drugDescription → drugs → compound → pd
<pd>
IN THIS ORDER:
| ( <genomeRule ... /> )+
</pd>
genomeRule
→ scenario → drugDescription → drugs → compound → pd → genomeRule
<genomeRule>
</genomeRule>
matchMutation
→ scenario → drugDescription → drugs → compound → pd → genomeRule → matchMutation
<matchMutation
present=boolean
gene=string
pos=integer
/>
Attributes
present
present=boolean
gene
gene=string
pos
pos=integer
ageGroup
→ scenario → drugDescription → drugs → compound → pd → genomeRule → ageGroup
<ageGroup
c50=integer
k1=double
n=integer
[ minAge=double ]
/>
Attributes
c50
c50=integer
Half maximal effect concentration (mg/l)
k1
k1=double
Units: Proportion Min: 0 Max: 1
Maximal parasite killing rate (per day)
n
n=integer
Slope of the concentration effect curve (no units)
minAge
minAge=double
parameters
→ scenario → parameters
<parameters
interval=int
iseed=int
delta=double
latentp=int
>
IN THIS ORDER:
| ( <parameter ... /> )+
</parameters>
Documentation (element)
Units: List of elements
Parameters for mathematical model
Documentation (type)
Units: List of elements
Parameter vector
Attributes
interval
interval=int
Units: Days
Simulation step
iseed
iseed=int
Units: Number
Seed for RNG
delta
delta=double
Units: ? Redundant
this no longer seems to be used
latentp
latentp=int
Units: Time steps Min: 0 Max: 20
pre-erythrocytic latent period, in time steps
parameter
→ scenario → parameters → parameter
<parameter
name=string
number=int
value=double
[ include=boolean ]
/>
Attributes
name
name=string
Units: string
Name of parameter
number
number=int
Units: Number Min: 1 Max: 100
Reference number of input parameter
value
value=double
Units: Number Min: 0
Parameter value
include
include=boolean
Units: Number Min: 0 Max: 1
True if parameter is to be sampled in optimization runs. Not used in simulator app.
Schema 10 documentation
Generated from: scenario_10.xsd
.
Key:
abc required (one)
[ def ] optional (zero or one)
( ghi )* any number (zero or more)
( jkl )+ at least one
( mno ){2,inf} two or more occurrences
scenario
→ scenario
<scenario
schemaVersion=int
analysisNo=int
maximumAgeYrs=double
name=string
popSize=int
simulationDuration=int
modelVersion=int
wuID=int
assimMode=("0" or "1")
mode=("2" or "3" or "4")
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:noNamespaceSchemaLocation="scenario_10.xsd"
>
IN THIS ORDER:
| <demography ... />
| <monitoring ... />
| <interventions ... />
| [ <caseManagements ... /> ]
| [ <healthSystem ... /> ]
| <entoData ... />
| [ <drugDescription ... /> ]
| <parameters ... />
</scenario>
- demography
- monitoring
- interventions
- caseManagements
- healthSystem
- entoData
- drugDescription
- parameters
Documentation (element)
Units: List of elements
Description of scenario
Attributes
schemaVersion
schemaVersion=int
Version of xml schema. If not equal to the current version an error is thrown. Use SchemaTranslator to update xml files.
analysisNo
analysisNo=int
Units: Number Min: 1 Max: 100000000
Unique identifier of scenario
maximumAgeYrs
maximumAgeYrs=double
Units: Number Min: 0 Max: 100
Maximum age of simulated humans
name
name=string
Units: string
Name of intervention
popSize
popSize=int
Units: Count Min: 1 Max: 100000
Population size
simulationDuration
simulationDuration=int
Units: Time steps Min: 1 Max: 36500
Duration of main simulation
modelVersion
modelVersion=int
Units: Code Min: 0 Max: 100000000
Model Version
wuID
wuID=int
Units: Number Min: 1 Max: 100000000
Work unit ID. Only used to validate checkpointing, to prevent checkpoint cheats.
assimMode
assimMode=("0" or "1")
Units: Code
Assimilator mode. Defines output of simulator as either complete (columns: time,agegroup,measure,value) or minimal (single column: value)
mode
mode=("2" or "3" or "4")
Units: Code
Transmission simulation mode
demography
→ scenario → demography
<demography
name=string
[ growthRate=double ]
>
IN THIS ORDER:
| <ageGroup ... />
</demography>
Documentation (element)
Units: List of elements
Description of demography
Documentation (type)
Units: List of elements
Description of demography
Attributes
name
name=string
Units: string
Name of demography data
growthRate
growthRate=double
Units: Number Min: 0 Max: 0
Growth rate of human population.
ageGroup
→ scenario → demography → ageGroup
<ageGroup
lowerbound=double
>
IN THIS ORDER:
| ( <group ... /> )+
</ageGroup>
Documentation (element)
Units: List of elements
List of age groups included in demography
Documentation (type)
Units: List of elements
List of age groups included in demography or surveys
Attributes
lowerbound
lowerbound=double
Units: Years Min: 0 Max: 100
Lower bound of age group
group
→ scenario → demography → ageGroup → group
<group
poppercent=double
upperbound=double
/>
Attributes
poppercent
poppercent=double
upperbound
upperbound=double
monitoring
→ scenario → monitoring
<monitoring
name=string
>
IN THIS ORDER:
| <surveys ... />
| <ageGroup ... />
</monitoring>
Documentation (element)
Units: List of elements
Description of surveys
Documentation (type)
Units: List of elements
Description of surveys
Attributes
name
name=string
Units: string
Name of monitoring data
surveys
→ scenario → monitoring → surveys
<surveys
detectionLimit=double
summaryOption=int
>
IN THIS ORDER:
| <surveyTime ... />
</surveys>
Documentation (element)
Units: List of elements
List of survey times
Attributes
detectionLimit
detectionLimit=double
Units: parasites/micolitre Min: 0 Max: 1000
Detection limit for parasitemia
summaryOption
summaryOption=int
Units: Code
Requested output variables
surveyTime
→ scenario → monitoring → surveys → surveyTime
<surveyTime>
int
</surveyTime>
Documentation (element)
Units: Number Min: 0
Survey time
ageGroup
→ scenario → monitoring → ageGroup
<ageGroup
lowerbound=double
>
IN THIS ORDER:
| ( <group ... /> )+
</ageGroup>
Documentation (element)
Units: List of elements
List of age groups included in demography or surveys
Documentation (type)
Units: List of elements
List of age groups included in surveys
Attributes
lowerbound
lowerbound=double
Units: Years Min: 0 Max: 100
Lower bound of age group
group
→ scenario → monitoring → ageGroup → group
<group
upperbound=double
/>
Attributes
upperbound
upperbound=double
interventions
<interventions
name=string
>
IN THIS ORDER:
| ( <vaccineDescription ... /> ){0,3}
| [ <iptiDescription ... /> ]
| ( <anopheles ... /> )*
| [ <continuous ... /> ]
| [ <timed ... /> ]
</interventions>
Documentation (element)
Units: List of elements
List of interventions
Documentation (type)
Units: List of elements
List of interventions
Attributes
name
name=string
Units: string
Name of age specific intervention
vaccineDescription
→ scenario → interventions → vaccineDescription
<vaccineDescription
vaccineType=int
>
IN THIS ORDER:
| <halfLifeYrs ... />
| <efficacyB ... />
| ( <initialEfficacy ... /> )+
</vaccineDescription>
Attributes
vaccineType
vaccineType=int
Units: Code
Type of vaccine
halfLifeYrs
→ scenario → interventions → vaccineDescription → halfLifeYrs
<halfLifeYrs
value=double
/>
Documentation (element)
Units: Years Min: 0 Max: 100
Half life of drug effect
Attributes
value
value=double
TODO
efficacyB
→ scenario → interventions → vaccineDescription → efficacyB
<efficacyB
value=double
/>
Documentation (element)
Units: Positive real Min: 0.001 Max: 1.00E+06
Measure of variation in vaccine efficacy
Attributes
value
value=double
TODO
initialEfficacy
→ scenario → interventions → vaccineDescription → initialEfficacy
<initialEfficacy
value=double
/>
Attributes
value
value=double
TODO
iptiDescription
→ scenario → interventions → iptiDescription
<iptiDescription
iptiEffect=int
>
IN THIS ORDER:
| ( <infGenotype ... /> )+
</iptiDescription>
Attributes
iptiEffect
iptiEffect=int
infGenotype
→ scenario → interventions → iptiDescription → infGenotype
<infGenotype
name=string
freq=double
ACR=double
proph=int
tolPeriod=int
atten=double
/>
Attributes
name
name=string
Units: string
Name of age specific intervention
freq
freq=double
ACR
ACR=double
proph
proph=int
tolPeriod
tolPeriod=int
atten
atten=double
anopheles
→ scenario → interventions → anopheles
<anopheles
mosquito=string
>
IN THIS ORDER:
| [ <ITNDescription ... /> ]
| [ <IRSDescription ... /> ]
| [ <VADescription ... /> ]
</anopheles>
Attributes
mosquito
mosquito=string
ITNDescription
→ scenario → interventions → anopheles → ITNDescription
<ITNDescription
name=string
>
IN THIS ORDER:
| <deterrency ... />
| <preprandialKillingEffect ... />
| <postprandialKillingEffect ... />
</ITNDescription>
Attributes
name
name=string
Units: string
Name of Insecticide Treated Net intervention
deterrency
→ scenario → interventions → anopheles → ITNDescription → deterrency
<deterrency
initial=double
halflife=double
[ Weibullk=double ]
/>
Documentation (element)
Units: None Min: 0 Max: 1
One minus this multiplies the host's availability (before decay).
Documentation (type)
Specification of a proportion with Weibull or exponential decay.
Attributes
initial
initial=double
Units: None Min: 0 Max: 1
The value before any decay.
halflife
halflife=double
Units: Years Min: 0
Half-life in years (more generally, halflife/ln(2) is lambda from the Weibull distribution).
Weibullk
Weibullk=double
Min: 0
The parameter k of the Weibull distribution. If missing, 1.0 is used (equivalent to exponential decay).
preprandialKillingEffect
→ scenario → interventions → anopheles → ITNDescription → preprandialKillingEffect
<preprandialKillingEffect
initial=double
halflife=double
[ Weibullk=double ]
/>
Documentation (element)
Units: None Min: 0 Max: 1
One minus this multiplies the survival rate of mosquitoes attempting to bite a host.
Documentation (type)
Specification of a proportion with Weibull or exponential decay.
Attributes
initial
initial=double
Units: None Min: 0 Max: 1
The value before any decay.
halflife
halflife=double
Units: Years Min: 0
Half-life in years (more generally, halflife/ln(2) is lambda from the Weibull distribution).
Weibullk
Weibullk=double
Min: 0
The parameter k of the Weibull distribution. If missing, 1.0 is used (equivalent to exponential decay).
postprandialKillingEffect
→ scenario → interventions → anopheles → ITNDescription → postprandialKillingEffect
<postprandialKillingEffect
initial=double
halflife=double
[ Weibullk=double ]
/>
Documentation (element)
Units: None Min: 0 Max: 1
One minus this multiplies the survival rate of mosquitoes attempting to escape after biting a host.
Documentation (type)
Specification of a proportion with Weibull or exponential decay.
Attributes
initial
initial=double
Units: None Min: 0 Max: 1
The value before any decay.
halflife
halflife=double
Units: Years Min: 0
Half-life in years (more generally, halflife/ln(2) is lambda from the Weibull distribution).
Weibullk
Weibullk=double
Min: 0
The parameter k of the Weibull distribution. If missing, 1.0 is used (equivalent to exponential decay).
IRSDescription
→ scenario → interventions → anopheles → IRSDescription
<IRSDescription
name=string
>
IN THIS ORDER:
| <deterrency ... />
| <killingEffect ... />
</IRSDescription>
Attributes
name
name=string
Units: string
Name of Indoor Residual Spraying intervention
deterrency
→ scenario → interventions → anopheles → IRSDescription → deterrency
<deterrency
initial=double
halflife=double
[ Weibullk=double ]
/>
Documentation (element)
Units: None Min: 0 Max: 1
One minus this multiplies the host's availability.
Documentation (type)
Specification of a proportion with Weibull or exponential decay.
Attributes
initial
initial=double
Units: None Min: 0 Max: 1
The value before any decay.
halflife
halflife=double
Units: Years Min: 0
Half-life in years (more generally, halflife/ln(2) is lambda from the Weibull distribution).
Weibullk
Weibullk=double
Min: 0
The parameter k of the Weibull distribution. If missing, 1.0 is used (equivalent to exponential decay).
killingEffect
→ scenario → interventions → anopheles → IRSDescription → killingEffect
<killingEffect
initial=double
halflife=double
[ Weibullk=double ]
/>
Documentation (element)
Units: None Min: 0 Max: 1
One minus this multiplies the survival rate of resting mosquitoes.
Documentation (type)
Specification of a proportion with Weibull or exponential decay.
Attributes
initial
initial=double
Units: None Min: 0 Max: 1
The value before any decay.
halflife
halflife=double
Units: Years Min: 0
Half-life in years (more generally, halflife/ln(2) is lambda from the Weibull distribution).
Weibullk
Weibullk=double
Min: 0
The parameter k of the Weibull distribution. If missing, 1.0 is used (equivalent to exponential decay).
VADescription
→ scenario → interventions → anopheles → VADescription
<VADescription
name=string
>
IN THIS ORDER:
| <deterrency ... />
</VADescription>
Attributes
name
name=string
Units: string
Name of mosquito deterrency intervention
deterrency
→ scenario → interventions → anopheles → VADescription → deterrency
<deterrency
initial=double
halflife=double
[ Weibullk=double ]
/>
Documentation (element)
Units: None Min: 0 Max: 1
One minus this multiplies the host's availability.
Documentation (type)
Specification of a proportion with Weibull or exponential decay.
Attributes
initial
initial=double
Units: None Min: 0 Max: 1
The value before any decay.
halflife
halflife=double
Units: Years Min: 0
Half-life in years (more generally, halflife/ln(2) is lambda from the Weibull distribution).
Weibullk
Weibullk=double
Min: 0
The parameter k of the Weibull distribution. If missing, 1.0 is used (equivalent to exponential decay).
continuous
→ scenario → interventions → continuous
<continuous>
IN THIS ORDER:
| ( <vaccine ... /> )*
| ( <ITN ... /> )*
| ( <ipti ... /> )*
</continuous>
vaccine
→ scenario → interventions → continuous → vaccine
<vaccine
targetAgeYrs=double
coverage=double
/>
Documentation (element)
Units: List of elements
List of age groups for vaccination
Attributes
targetAgeYrs
targetAgeYrs=double
Units: Years Min: 0 Max: 100
Target age of intervention
coverage
coverage=double
Units: Proportion Min: 0 Max: 1
Coverage of intervention
ITN
→ scenario → interventions → continuous → ITN
<ITN
targetAgeYrs=double
coverage=double
/>
Documentation (element)
Units: List of elements
Description of ITN deployment in the community
Attributes
targetAgeYrs
targetAgeYrs=double
Units: Years Min: 0 Max: 100
Target age of intervention
coverage
coverage=double
Units: Proportion Min: 0 Max: 1
Coverage of intervention
ipti
→ scenario → interventions → continuous → ipti
<ipti
targetAgeYrs=double
coverage=double
/>
Documentation (element)
Units: List of elements
List of age groups for IPTi distribution
Attributes
targetAgeYrs
targetAgeYrs=double
Units: Years Min: 0 Max: 100
Target age of intervention
coverage
coverage=double
Units: Proportion Min: 0 Max: 1
Coverage of intervention
timed
→ scenario → interventions → timed
<timed>
IN THIS ORDER:
| ( <intervention ... /> )+
</timed>
Documentation (element)
Units: List of elements
List of timed interventions
Documentation (type)
Units: List of elements
List of timed interventions
intervention
→ scenario → interventions → timed → intervention
<intervention
time=int
>
IN THIS ORDER:
| [ <changeHS ... /> ]
| [ <changeEIR ... /> ]
| [ <MDA ... /> ]
| [ <vaccinate ... /> ]
| [ <ITN ... /> ]
| [ <IRS ... /> ]
| [ <VectorAvailability ... /> ]
| [ <ipti ... /> ]
| [ <larviciding ... /> ]
</intervention>
Attributes
time
time=int
Units: Number Min: 1 Max: 10000
Time step of intervention
changeHS
→ scenario → interventions → timed → intervention → changeHS
<changeHS
name=string
healthSystemMemory=int
>
IN THIS ORDER:
| <drugRegimen ... />
| <initialACR ... />
| <compliance ... />
| <nonCompliersEffective ... />
| <pSeekOfficialCareUncomplicated1 ... />
| <pSelfTreatUncomplicated ... />
| <pSeekOfficialCareUncomplicated2 ... />
| <pSeekOfficialCareSevere ... />
| <pSequelaeInpatient ... />
| <CFR ... />
</changeHS>
- drugRegimen
- initialACR
- compliance
- nonCompliersEffective
- pSeekOfficialCareUncomplicated1
- pSelfTreatUncomplicated
- pSeekOfficialCareUncomplicated2
- pSeekOfficialCareSevere
- pSequelaeInpatient
- CFR
Documentation (type)
Units: List of elements
Description of health system
Attributes
name
name=string
Units: string
Name of health system
healthSystemMemory
healthSystemMemory=int
Units: Time steps Min: 1 Max: 100
Follow-up period during which a recurrence is considered to be a treatment failure
drugRegimen
→ scenario → healthSystem → drugRegimen
<drugRegimen
firstLine=string
secondLine=string
inpatient=string
/>
Documentation (element)
Units: List of elements
Description of drug regimen
Attributes
firstLine
firstLine=string
Units: Drug code
Code for first line drug
secondLine
secondLine=string
Units: Drug code
Code for second line drug
inpatient
inpatient=string
Units: Drug code
Code for drug used for treating inpatients
initialACR
→ scenario → healthSystem → initialACR
<initialACR>
IN THIS ORDER:
| [ <CQ ... /> ]
| [ <SP ... /> ]
| [ <AQ ... /> ]
| [ <SPAQ ... /> ]
| [ <ACT ... /> ]
| [ <QN ... /> ]
| <selfTreatment ... />
</initialACR>
Documentation (element)
Units: Proportion Min: 0 Max: 1
Initial cure rate
CQ
→ scenario → healthSystem → initialACR → CQ
<CQ
value=double
/>
Documentation (element)
Units: List of elements
Chloroquine
Attributes
value
value=double
TODO
SP
→ scenario → healthSystem → initialACR → SP
<SP
value=double
/>
Documentation (element)
Units: List of elements
Sulphadoxine-pyrimethamine
Attributes
value
value=double
TODO
AQ
→ scenario → healthSystem → initialACR → AQ
<AQ
value=double
/>
Documentation (element)
Units: List of elements
Amodiaquine
Attributes
value
value=double
TODO
SPAQ
→ scenario → healthSystem → initialACR → SPAQ
<SPAQ
value=double
/>
Documentation (element)
Units: List of elements
Sulphadoxine-pyrimethamine/Amodiaquine
Attributes
value
value=double
TODO
ACT
→ scenario → healthSystem → initialACR → ACT
<ACT
value=double
/>
Documentation (element)
Units: List of elements
Artemisinine combination therapy
Attributes
value
value=double
TODO
QN
→ scenario → healthSystem → initialACR → QN
<QN
value=double
/>
Documentation (element)
Units: List of elements
Quinine
Attributes
value
value=double
TODO
selfTreatment
→ scenario → healthSystem → initialACR → selfTreatment
<selfTreatment
value=double
/>
Documentation (element)
Units: Proportion Min: 0 Max: 1
Probability of self-treatment
Attributes
value
value=double
TODO
compliance
→ scenario → healthSystem → compliance
<compliance>
IN THIS ORDER:
| [ <CQ ... /> ]
| [ <SP ... /> ]
| [ <AQ ... /> ]
| [ <SPAQ ... /> ]
| [ <ACT ... /> ]
| [ <QN ... /> ]
| <selfTreatment ... />
</compliance>
Documentation (element)
Units: Proportion Min: 0 Max: 1
Adherence to treatment
nonCompliersEffective
→ scenario → healthSystem → nonCompliersEffective
<nonCompliersEffective>
IN THIS ORDER:
| [ <CQ ... /> ]
| [ <SP ... /> ]
| [ <AQ ... /> ]
| [ <SPAQ ... /> ]
| [ <ACT ... /> ]
| [ <QN ... /> ]
| <selfTreatment ... />
</nonCompliersEffective>
Documentation (element)
Units: Proportion Min: 0 Max: 1
Effectiveness of treatment of non compliers
pSeekOfficialCareUncomplicated1
→ scenario → healthSystem → pSeekOfficialCareUncomplicated1
<pSeekOfficialCareUncomplicated1
value=double
/>
Documentation (element)
Units: Proportion Min: 0 Max: 1
Probability that a patient with newly incident uncomplicated disease seeks official care
Attributes
value
value=double
TODO
pSelfTreatUncomplicated
→ scenario → healthSystem → pSelfTreatUncomplicated
<pSelfTreatUncomplicated
value=double
/>
Documentation (element)
Units: Proportion Min: 0 Max: 1
Probability that a patient with uncomplicated disease self-treats
Attributes
value
value=double
TODO
pSeekOfficialCareUncomplicated2
→ scenario → healthSystem → pSeekOfficialCareUncomplicated2
<pSeekOfficialCareUncomplicated2
value=double
/>
Documentation (element)
Units: Proportion Min: 0 Max: 1
Probability that a patient with recurrence of uncomplicated disease seeks official care
Attributes
value
value=double
TODO
pSeekOfficialCareSevere
→ scenario → healthSystem → pSeekOfficialCareSevere
<pSeekOfficialCareSevere
value=double
/>
Documentation (element)
Units: Proportion Min: 0 Max: 1
Probability that a patient with severe disease seeks official care
Attributes
value
value=double
TODO
pSequelaeInpatient
→ scenario → healthSystem → pSequelaeInpatient
<pSequelaeInpatient>
IN THIS ORDER:
| ( <item ... /> )+
</pSequelaeInpatient>
Documentation (element)
Units: List of elements
List of age specific probabilities of sequelae in inpatients
item
→ scenario → healthSystem → pSequelaeInpatient → item
<item
value=double
maxAgeYrs=double
/>
Attributes
value
value=double
TODO
maxAgeYrs
maxAgeYrs=double
Units: Years Min: 0 Max: 100
Upper bound of age group
CFR
→ scenario → healthSystem → CFR
<CFR>
IN THIS ORDER:
| ( <group ... /> )+
</CFR>
group
→ scenario → healthSystem → CFR → group
<group
cfr=double
lowerbound=double
/>
Attributes
cfr
cfr=double
Units: Proportion Min: 0 Max: 1
Case fatality rate
lowerbound
lowerbound=double
Units: Years Min: 0 Max: 100
Lower bound of age group
changeEIR
→ scenario → interventions → timed → intervention → changeEIR
<changeEIR
eipDuration=int
>
IN THIS ORDER:
| ( <EIRDaily ... /> )+
</changeEIR>
Documentation (type)
Parameters for the non-vector transmission model.
Attributes
eipDuration
eipDuration=int
The duration of sporogony in days
EIRDaily
→ scenario → entoData → nonVector → EIRDaily
<EIRDaily
[ origin=string ]
>
double
</EIRDaily>
Documentation (type)
Units: Number Min: 1
Value of daily EIR
Attributes
origin
origin=string
MDA
→ scenario → interventions → timed → intervention → MDA
<MDA
[ maxAge=double ]
[ minAge=double ]
coverage=double
/>
Documentation (element)
Units: List of elements
Description of mass drug deployment in the community
Attributes
maxAge
maxAge=double
Units: Years Min: 0 Max: 100
Maximum age of eligible individuals (defaults to 100)
minAge
minAge=double
Units: Years Min: 0 Max: 100
Minimum age of eligible individuals (defaults to 0)
coverage
coverage=double
Units: Proportion Min: 0 Max: 1
Coverage of intervention
vaccinate
→ scenario → interventions → timed → intervention → vaccinate
<vaccinate
[ maxAge=double ]
[ minAge=double ]
coverage=double
/>
Documentation (element)
Units: List of elements
Description of vaccine deployment in the community
Attributes
maxAge
maxAge=double
Units: Years Min: 0 Max: 100
Maximum age of eligible individuals (defaults to 100)
minAge
minAge=double
Units: Years Min: 0 Max: 100
Minimum age of eligible individuals (defaults to 0)
coverage
coverage=double
Units: Proportion Min: 0 Max: 1
Coverage of intervention
ITN
→ scenario → interventions → timed → intervention → ITN
<ITN
[ maxAge=double ]
[ minAge=double ]
coverage=double
/>
Documentation (element)
Units: List of elements
Description of ITN deployment in the community
Attributes
maxAge
maxAge=double
Units: Years Min: 0 Max: 100
Maximum age of eligible individuals (defaults to 100)
minAge
minAge=double
Units: Years Min: 0 Max: 100
Minimum age of eligible individuals (defaults to 0)
coverage
coverage=double
Units: Proportion Min: 0 Max: 1
Coverage of intervention
IRS
→ scenario → interventions → timed → intervention → IRS
<IRS
[ maxAge=double ]
[ minAge=double ]
coverage=double
/>
Documentation (element)
Units: List of elements
Description of IRS deployment in the community
Attributes
maxAge
maxAge=double
Units: Years Min: 0 Max: 100
Maximum age of eligible individuals (defaults to 100)
minAge
minAge=double
Units: Years Min: 0 Max: 100
Minimum age of eligible individuals (defaults to 0)
coverage
coverage=double
Units: Proportion Min: 0 Max: 1
Coverage of intervention
VectorAvailability
→ scenario → interventions → timed → intervention → VectorAvailability
<VectorAvailability
[ maxAge=double ]
[ minAge=double ]
coverage=double
/>
Documentation (element)
Units: List of elements
Description of a mosquito detterent deployment in the community
Attributes
maxAge
maxAge=double
Units: Years Min: 0 Max: 100
Maximum age of eligible individuals (defaults to 100)
minAge
minAge=double
Units: Years Min: 0 Max: 100
Minimum age of eligible individuals (defaults to 0)
coverage
coverage=double
Units: Proportion Min: 0 Max: 1
Coverage of intervention
ipti
→ scenario → interventions → timed → intervention → ipti
<ipti
[ maxAge=double ]
[ minAge=double ]
coverage=double
/>
Documentation (element)
Units: List of elements
List of age groups for IPTi distribution
Attributes
maxAge
maxAge=double
Units: Years Min: 0 Max: 100
Maximum age of eligible individuals (defaults to 100)
minAge
minAge=double
Units: Years Min: 0 Max: 100
Minimum age of eligible individuals (defaults to 0)
coverage
coverage=double
Units: Proportion Min: 0 Max: 1
Coverage of intervention
larviciding
→ scenario → interventions → timed → intervention → larviciding
<larviciding>
IN THIS ORDER:
| ( <anopheles ... /> )+
</larviciding>
Documentation (element)
Simple larviciding intervention description.
anopheles
→ scenario → interventions → timed → intervention → larviciding → anopheles
<anopheles
mosquito=string
effectiveness=double
duration=int
/>
Attributes
mosquito
mosquito=string
effectiveness
effectiveness=double
Units: none Min: 0 Max: 1
Proportion to reduce emergence rates by.
duration
duration=int
Units: days Min: 0 Max: inf
Number of days for which the intervention is active.
caseManagements
<caseManagements
name=string
reportingPeriodMemory=int
>
IN THIS ORDER:
| ( <caseManagement ... /> )+
</caseManagements>
Documentation (element)
Units: List of elements
List of case managment interventions
Documentation (type)
Units: List of elements
List of age-specific case managment descriptions
Attributes
name
name=string
Units: string
Name of age specific intervention
reportingPeriodMemory
reportingPeriodMemory=int
Units: Time steps Min: 1 Max: 100
Follow-up period during which a recurrence is considered to be a treatment failure
caseManagement
→ scenario → caseManagements → caseManagement
<caseManagement
maxAgeYrs=decimal
>
IN THIS ORDER:
| <uc1 ... />
| <uc2 ... />
| <sev ... />
| <nmfP ... />
| <nmfNP ... />
| <decisions ... />
</caseManagement>
Documentation (element)
Units: List of elements
Age-specific case management description, describes entry-points and decisions, with entry-point-specific decision probabilities
Attributes
maxAgeYrs
maxAgeYrs=decimal
Units: Years Min: 0 Max: 100
Upper bound of age group
uc1
→ scenario → caseManagements → caseManagement → uc1
<uc1>
IN THIS ORDER:
| ( <endPoint ... /> )+
</uc1>
endPoint
→ scenario → caseManagements → caseManagement → uc1 → endPoint
<endPoint
decision=int
p=double
/>
Attributes
decision
decision=int
Foreign key reference to outcome node
p
p=double
Units: Proportion Min: 0 Max: 1
Probability of outcome
uc2
→ scenario → caseManagements → caseManagement → uc2
<uc2>
IN THIS ORDER:
| ( <endPoint ... /> )+
</uc2>
sev
→ scenario → caseManagements → caseManagement → sev
<sev>
IN THIS ORDER:
| ( <endPoint ... /> )+
</sev>
nmfP
→ scenario → caseManagements → caseManagement → nmfP
<nmfP>
IN THIS ORDER:
| ( <endPoint ... /> )+
</nmfP>
nmfNP
→ scenario → caseManagements → caseManagement → nmfNP
<nmfNP>
IN THIS ORDER:
| ( <endPoint ... /> )+
</nmfNP>
decisions
→ scenario → caseManagements → caseManagement → decisions
<decisions>
IN THIS ORDER:
| ( <decision ... /> )+
</decisions>
decision
→ scenario → caseManagements → caseManagement → decisions → decision
<decision
id=int
>
IN THIS ORDER:
| ( <medicate ... /> )+
</decision>
Documentation (element)
Units: List of elements
describes treatment decisions, a list of medicate descisions.
Attributes
id
id=int
Units: Number
Key of decision
medicate
→ scenario → caseManagements → caseManagement → decisions → decision → medicate
<medicate
name=string
qty=double
time=int
/>
Attributes
name
name=string
Units: string
Name of drug compound
qty
qty=double
Units: Number
Quantity of drug compound
time
time=int
Units: Number Min: 1 Max: 10000
Time step of intervention
healthSystem
→ scenario → healthSystem
<healthSystem
name=string
healthSystemMemory=int
>
IN THIS ORDER:
| <drugRegimen ... />
| <initialACR ... />
| <compliance ... />
| <nonCompliersEffective ... />
| <pSeekOfficialCareUncomplicated1 ... />
| <pSelfTreatUncomplicated ... />
| <pSeekOfficialCareUncomplicated2 ... />
| <pSeekOfficialCareSevere ... />
| <pSequelaeInpatient ... />
| <CFR ... />
</healthSystem>
- drugRegimen
- initialACR
- compliance
- nonCompliersEffective
- pSeekOfficialCareUncomplicated1
- pSelfTreatUncomplicated
- pSeekOfficialCareUncomplicated2
- pSeekOfficialCareSevere
- pSequelaeInpatient
- CFR
Documentation (element)
Units: List of elements
Description of health system
Documentation (type)
Units: List of elements
Description of health system
Attributes
name
name=string
Units: string
Name of health system
healthSystemMemory
healthSystemMemory=int
Units: Time steps Min: 1 Max: 100
Follow-up period during which a recurrence is considered to be a treatment failure
entoData
<entoData
name=string
>
IN THIS ORDER:
| EXACTLY ONE OF:
| | <nonVector ... />
| | <vector ... />
</entoData>
Documentation (element)
Units: List of elements
Description of entomological data
Documentation (type)
Units: List of elements
Data for entomodel
Attributes
name
name=string
Units: string
Name of entomology data
nonVector
→ scenario → entoData → nonVector
<nonVector
eipDuration=int
>
IN THIS ORDER:
| ( <EIRDaily ... /> )+
</nonVector>
Documentation (type)
Parameters for the non-vector transmission model.
Attributes
eipDuration
eipDuration=int
The duration of sporogony in days
vector
→ scenario → entoData → vector
<vector>
IN THIS ORDER:
| ( <anopheles ... /> )+
</vector>
Documentation (element)
Parameters for the vector transmission model.
anopheles
→ scenario → entoData → vector → anopheles
<anopheles
mosquito=string
>
IN THIS ORDER:
| [ <eir ... /> ]
| [ <emergence ... /> ]
| <mosq ... />
| ( <nonHumanHosts ... /> )*
</anopheles>
Attributes
mosquito
mosquito=string
eir
→ scenario → entoData → vector → anopheles → eir
<eir
a0=double
a1=double
a2=double
b1=double
b2=double
EIRRotateAngle=double
/>
Documentation (element)
Description of entomological inoculation rate. Usually one of the eir and emergence elements are provided. If both are given, the emergence rate is validated against the eir. Providing an eir allows emergence rate calculations when emergence-rate data is not provided or not valid.
Attributes
a0
a0=double
a1
a1=double
a2
a2=double
b1
b1=double
b2
b2=double
EIRRotateAngle
EIRRotateAngle=double
emergence
→ scenario → entoData → vector → anopheles → emergence
<emergence>
IN THIS ORDER:
| <emergenceRate ... />
| <kappa ... />
| <N_v ... />
| <O_v ... />
| <S_v ... />
</emergence>
Documentation (element)
Data to drive simulation from a pre-calculated emergence rate. Usually one of the eir and emergence elements are provided. If just emergence data is given the simulation is run from this; if both are given, the emergence rate is validated against the eir.
emergenceRate
→ scenario → entoData → vector → anopheles → emergence → emergenceRate
<emergenceRate>
IN THIS ORDER:
| ( <item ... /> )+
</emergenceRate>
Documentation (element)
Units: Mosquitoes per human Min: 0 Max: inf
Mosquitoes emerging per day of the year, per human.
item
→ scenario → entoData → vector → anopheles → emergence → emergenceRate → item
<item>
double
</item>
kappa
→ scenario → entoData → vector → anopheles → emergence → kappa
<kappa>
IN THIS ORDER:
| ( <item ... /> )+
</kappa>
Documentation (element)
Units: Min: 0 Max: 1
Human infectivity (probability of infection of a mosquito biting a human) over last mosqRestDuration+extrinsicIncubationPeriod days.
N_v
→ scenario → entoData → vector → anopheles → emergence → N_v
<N_v>
IN THIS ORDER:
| ( <item ... /> )+
</N_v>
Documentation (element)
Units: individuals Min: 0 Max: inf
Total population of mosquitoes over the last mosqRestDuration+extrinsicIncubationPeriod days, per human.
O_v
→ scenario → entoData → vector → anopheles → emergence → O_v
<O_v>
IN THIS ORDER:
| ( <item ... /> )+
</O_v>
Documentation (element)
Units: individuals Min: 0 Max: inf
Population of infected mosquitoes over the last mosqRestDuration+extrinsicIncubationPeriod days, per human.
S_v
→ scenario → entoData → vector → anopheles → emergence → S_v
<S_v>
IN THIS ORDER:
| ( <item ... /> )+
</S_v>
Documentation (element)
Units: individuals Min: 0 Max: inf
Population of infectious mosquitoes over the last mosqRestDuration+extrinsicIncubationPeriod days, per human.
mosq
→ scenario → entoData → vector → anopheles → mosq
<mosq
mosqRestDuration=int
extrinsicIncubationPeriod=int
mosqSeekingDeathRate=double
mosqSeekingDuration=double
mosqEntoAvailability=double
mosqProbBiting=double
mosqProbFindRestSite=double
mosqProbResting=double
mosqProbOvipositing=double
/>
Documentation (element)
Units: List of elements
Vector species
Attributes
mosqRestDuration
mosqRestDuration=int
extrinsicIncubationPeriod
extrinsicIncubationPeriod=int
mosqSeekingDeathRate
mosqSeekingDeathRate=double
mosqSeekingDuration
mosqSeekingDuration=double
mosqEntoAvailability
mosqEntoAvailability=double
mosqProbBiting
mosqProbBiting=double
mosqProbFindRestSite
mosqProbFindRestSite=double
mosqProbResting
mosqProbResting=double
mosqProbOvipositing
mosqProbOvipositing=double
nonHumanHosts
→ scenario → entoData → vector → anopheles → nonHumanHosts
<nonHumanHosts
name=string
mosqEntoAvailability=double
mosqProbBiting=double
mosqProbFindRestSite=double
mosqProbResting=double
/>
Documentation (element)
Units: List of elements
Non human host parameters, per type of host (must match up with non-species-specific parameters).
Attributes
name
name=string
mosqEntoAvailability
mosqEntoAvailability=double
mosqProbBiting
mosqProbBiting=double
mosqProbFindRestSite
mosqProbFindRestSite=double
mosqProbResting
mosqProbResting=double
drugDescription
<drugDescription>
IN THIS ORDER:
| <genome ... />
| <drugs ... />
</drugDescription>
Documentation (element)
Units: List of elements
Drug model parameters
genome
→ scenario → drugDescription → genome
<genome>
IN THIS ORDER:
| <content ... />
| <distribution ... />
</genome>
content
→ scenario → drugDescription → genome → content
<content>
IN THIS ORDER:
| ( <gene ... /> )+
</content>
gene
→ scenario → drugDescription → genome → content → gene
<gene
name=string
>
IN THIS ORDER:
| ( <mutation ... /> )+
</gene>
Attributes
name
name=string
mutation
→ scenario → drugDescription → genome → content → gene → mutation
<mutation
cost=double
position=integer
/>
Attributes
cost
cost=double
position
position=integer
distribution
→ scenario → drugDescription → genome → distribution
<distribution>
IN THIS ORDER:
| ( <genomeInstance ... /> )+
</distribution>
genomeInstance
→ scenario → drugDescription → genome → distribution → genomeInstance
<genomeInstance
proportion=integer
>
IN THIS ORDER:
| ( <allele ... /> )+
</genomeInstance>
Attributes
proportion
proportion=integer
allele
→ scenario → drugDescription → genome → distribution → genomeInstance → allele
<allele
mutations=integer
name=string
/>
Attributes
mutations
mutations=integer
name
name=string
drugs
→ scenario → drugDescription → drugs
<drugs
[ synergy=string ]
>
IN THIS ORDER:
| <compound ... />
</drugs>
Attributes
synergy
synergy=string
compound
→ scenario → drugDescription → drugs → compound
<compound
acronym=string
name=string
>
IN THIS ORDER:
| <pk ... />
| <pd ... />
</compound>
Attributes
acronym
acronym=string
name
name=string
pk
→ scenario → drugDescription → drugs → compound → pk
<pk>
</pk>
ageGroup
→ scenario → drugDescription → drugs → compound → pk → ageGroup
<ageGroup
F=integer
Vd=double
t12=integer
[ minAge=double ]
/>
Attributes
F
F=integer
Bioavailability (unsure of the units we will be using)
Vd
Vd=double
Volume of Distribution (l/kg)
t12
t12=integer
Units: Number
Half-life (days)
minAge
minAge=double
pd
→ scenario → drugDescription → drugs → compound → pd
<pd>
IN THIS ORDER:
| ( <genomeRule ... /> )+
</pd>
genomeRule
→ scenario → drugDescription → drugs → compound → pd → genomeRule
<genomeRule>
</genomeRule>
matchMutation
→ scenario → drugDescription → drugs → compound → pd → genomeRule → matchMutation
<matchMutation
present=boolean
gene=string
pos=integer
/>
Attributes
present
present=boolean
gene
gene=string
pos
pos=integer
ageGroup
→ scenario → drugDescription → drugs → compound → pd → genomeRule → ageGroup
<ageGroup
c50=integer
k1=double
n=integer
[ minAge=double ]
/>
Attributes
c50
c50=integer
Half maximal effect concentration (mg/l)
k1
k1=double
Units: Proportion Min: 0 Max: 1
Maximal parasite killing rate (per day)
n
n=integer
Slope of the concentration effect curve (no units)
minAge
minAge=double
parameters
→ scenario → parameters
<parameters
interval=int
iseed=int
delta=double
latentp=int
>
IN THIS ORDER:
| ( <parameter ... /> )+
</parameters>
Documentation (element)
Parameters for mathematical model
Documentation (type)
Units: List of elements
Parameter vector
Attributes
interval
interval=int
Units: Days
Simulation step
iseed
iseed=int
Units: Number
Seed for RNG
delta
delta=double
Units: ? Redundant
this no longer seems to be used
latentp
latentp=int
Units: Time steps Min: 0 Max: 20
pre-erythrocytic latent period, in time steps
parameter
→ scenario → parameters → parameter
<parameter
name=string
number=int
value=double
[ include=boolean ]
/>
Attributes
name
name=string
Units: string
Name of parameter
number
number=int
Units: Number Min: 1 Max: 100
Reference number of input parameter
value
value=double
Units: Number Min: 0
Parameter value
include
include=boolean
Units: Number Min: 0 Max: 1
True if parameter is to be sampled in optimization runs. Not used in simulator app.
Schema 9 documentation
Generated from: scenario_9.xsd
.
Key:
abc required (one)
[ def ] optional (zero or one)
( ghi )* any number (zero or more)
( jkl )+ at least one
( mno ){2,inf} two or more occurrences
scenario
→ scenario
<scenario
schemaVersion=int
analysisNo=int
maximumAgeYrs=double
name=string
popSize=int
simulationDuration=int
modelVersion=int
wuID=int
assimMode=("0" or "1")
mode=("2" or "3" or "4")
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:noNamespaceSchemaLocation="scenario_9.xsd"
>
IN THIS ORDER:
| <demography ... />
| <monitoring ... />
| <interventions ... />
| [ <caseManagements ... /> ]
| [ <healthSystem ... /> ]
| <entoData ... />
| <parameters ... />
</scenario>
Documentation (element)
Units: List of elements
Description of scenario
Attributes
schemaVersion
schemaVersion=int
Version of xml schema. If not equal to the current version an error is thrown. Use SchemaTranslator to update xml files.
analysisNo
analysisNo=int
Units: Number Min: 1 Max: 100000000
Unique identifier of scenario
maximumAgeYrs
maximumAgeYrs=double
Units: Number Min: 0 Max: 100
Maximum age of simulated humans
name
name=string
Units: string
Name of intervention
popSize
popSize=int
Units: Count Min: 1 Max: 100000
Population size
simulationDuration
simulationDuration=int
Units: Time steps Min: 1 Max: 36500
Duration of main simulation
modelVersion
modelVersion=int
Units: Code Min: 0 Max: 100000000
Model Version
wuID
wuID=int
Units: Number Min: 1 Max: 100000000
Work unit ID. Only used to validate checkpointing, to prevent checkpoint cheats.
assimMode
assimMode=("0" or "1")
Units: Code
Assimilator mode. Defines output of simulator as either complete (columns: time,agegroup,measure,value) or minimal (single column: value)
mode
mode=("2" or "3" or "4")
Units: Code
Transmission simulation mode
demography
→ scenario → demography
<demography
name=string
[ growthRate=double ]
>
IN THIS ORDER:
| <ageGroup ... />
</demography>
Documentation (element)
Units: List of elements
Description of demography
Documentation (type)
Units: List of elements
Description of demography
Attributes
name
name=string
Units: string
Name of demography data
growthRate
growthRate=double
Units: Number Min: 0 Max: 0
Growth rate of human population.
ageGroup
→ scenario → demography → ageGroup
<ageGroup
lowerbound=double
>
IN THIS ORDER:
| ( <group ... /> )+
</ageGroup>
Documentation (element)
Units: List of elements
List of age groups included in demography
Documentation (type)
Units: List of elements
List of age groups included in demography or surveys
Attributes
lowerbound
lowerbound=double
Units: Years Min: 0 Max: 100
Lower bound of age group
group
→ scenario → demography → ageGroup → group
<group
poppercent=double
upperbound=double
/>
Attributes
poppercent
poppercent=double
upperbound
upperbound=double
monitoring
→ scenario → monitoring
<monitoring
name=string
>
IN THIS ORDER:
| <surveys ... />
| <ageGroup ... />
</monitoring>
Documentation (element)
Units: List of elements
Description of surveys
Documentation (type)
Units: List of elements
Description of surveys
Attributes
name
name=string
Units: string
Name of monitoring data
surveys
→ scenario → monitoring → surveys
<surveys
detectionLimit=double
summaryOption=int
>
IN THIS ORDER:
| <surveyTime ... />
</surveys>
Documentation (element)
Units: List of elements
List of survey times
Attributes
detectionLimit
detectionLimit=double
Units: parasites/micolitre Min: 0 Max: 1000
Detection limit for parasitemia
summaryOption
summaryOption=int
Units: Code
Requested output variables
surveyTime
→ scenario → monitoring → surveys → surveyTime
<surveyTime>
int
</surveyTime>
Documentation (element)
Units: Number Min: 0
Survey time
ageGroup
→ scenario → monitoring → ageGroup
<ageGroup
lowerbound=double
>
IN THIS ORDER:
| ( <group ... /> )+
</ageGroup>
Documentation (element)
Units: List of elements
List of age groups included in demography or surveys
Documentation (type)
Units: List of elements
List of age groups included in surveys
Attributes
lowerbound
lowerbound=double
Units: Years Min: 0 Max: 100
Lower bound of age group
group
→ scenario → monitoring → ageGroup → group
<group
upperbound=double
/>
Attributes
upperbound
upperbound=double
interventions
<interventions
name=string
>
IN THIS ORDER:
| ( <vaccineDescription ... /> ){0,3}
| [ <iptiDescription ... /> ]
| ( <anopheles ... /> )*
| [ <continuous ... /> ]
| [ <timed ... /> ]
</interventions>
Documentation (element)
Units: List of elements
List of interventions
Documentation (type)
Units: List of elements
List of interventions
Attributes
name
name=string
Units: string
Name of age specific intervention
vaccineDescription
→ scenario → interventions → vaccineDescription
<vaccineDescription
vaccineType=int
>
IN THIS ORDER:
| <halfLifeYrs ... />
| <efficacyB ... />
| ( <initialEfficacy ... /> )+
</vaccineDescription>
Attributes
vaccineType
vaccineType=int
Units: Code
Type of vaccine
halfLifeYrs
→ scenario → interventions → vaccineDescription → halfLifeYrs
<halfLifeYrs
value=double
/>
Documentation (element)
Units: Years Min: 0 Max: 100
Half life of drug effect
Attributes
value
value=double
TODO
efficacyB
→ scenario → interventions → vaccineDescription → efficacyB
<efficacyB
value=double
/>
Documentation (element)
Units: Positive real Min: 0.001 Max: 1.00E+06
Measure of variation in vaccine efficacy
Attributes
value
value=double
TODO
initialEfficacy
→ scenario → interventions → vaccineDescription → initialEfficacy
<initialEfficacy
value=double
/>
Attributes
value
value=double
TODO
iptiDescription
→ scenario → interventions → iptiDescription
<iptiDescription
iptiEffect=int
>
IN THIS ORDER:
| ( <infGenotype ... /> )+
</iptiDescription>
Attributes
iptiEffect
iptiEffect=int
infGenotype
→ scenario → interventions → iptiDescription → infGenotype
<infGenotype
name=string
freq=double
ACR=double
proph=int
tolPeriod=int
atten=double
/>
Attributes
name
name=string
Units: string
Name of age specific intervention
freq
freq=double
ACR
ACR=double
proph
proph=int
tolPeriod
tolPeriod=int
atten
atten=double
anopheles
→ scenario → interventions → anopheles
<anopheles
mosquito=string
>
IN THIS ORDER:
| [ <ITNDescription ... /> ]
| [ <IRSDescription ... /> ]
| [ <VADescription ... /> ]
</anopheles>
Attributes
mosquito
mosquito=string
ITNDescription
→ scenario → interventions → anopheles → ITNDescription
<ITNDescription
name=string
>
IN THIS ORDER:
| <deterrency ... />
| <preprandialKillingEffect ... />
| <postprandialKillingEffect ... />
</ITNDescription>
Attributes
name
name=string
Units: string
Name of Insecticide Treated Net intervention
deterrency
→ scenario → interventions → anopheles → ITNDescription → deterrency
<deterrency
initial=double
halflife=double
[ Weibullk=double ]
/>
Documentation (element)
Units: None Min: 0 Max: 1
One minus this multiplies the host's availability (before decay).
Documentation (type)
Specification of a proportion with Weibull or exponential decay.
Attributes
initial
initial=double
Units: None Min: 0 Max: 1
The value before any decay.
halflife
halflife=double
Units: Years Min: 0
Half-life in years (more generally, halflife/ln(2) is lambda from the Weibull distribution).
Weibullk
Weibullk=double
Min: 0
The parameter k of the Weibull distribution. If missing, 1.0 is used (equivalent to exponential decay).
preprandialKillingEffect
→ scenario → interventions → anopheles → ITNDescription → preprandialKillingEffect
<preprandialKillingEffect
initial=double
halflife=double
[ Weibullk=double ]
/>
Documentation (element)
Units: None Min: 0 Max: 1
One minus this multiplies the survival rate of mosquitoes attempting to bite a host.
Documentation (type)
Specification of a proportion with Weibull or exponential decay.
Attributes
initial
initial=double
Units: None Min: 0 Max: 1
The value before any decay.
halflife
halflife=double
Units: Years Min: 0
Half-life in years (more generally, halflife/ln(2) is lambda from the Weibull distribution).
Weibullk
Weibullk=double
Min: 0
The parameter k of the Weibull distribution. If missing, 1.0 is used (equivalent to exponential decay).
postprandialKillingEffect
→ scenario → interventions → anopheles → ITNDescription → postprandialKillingEffect
<postprandialKillingEffect
initial=double
halflife=double
[ Weibullk=double ]
/>
Documentation (element)
Units: None Min: 0 Max: 1
One minus this multiplies the survival rate of mosquitoes attempting to escape after biting a host.
Documentation (type)
Specification of a proportion with Weibull or exponential decay.
Attributes
initial
initial=double
Units: None Min: 0 Max: 1
The value before any decay.
halflife
halflife=double
Units: Years Min: 0
Half-life in years (more generally, halflife/ln(2) is lambda from the Weibull distribution).
Weibullk
Weibullk=double
Min: 0
The parameter k of the Weibull distribution. If missing, 1.0 is used (equivalent to exponential decay).
IRSDescription
→ scenario → interventions → anopheles → IRSDescription
<IRSDescription
name=string
>
IN THIS ORDER:
| <deterrency ... />
| <killingEffect ... />
</IRSDescription>
Attributes
name
name=string
Units: string
Name of Indoor Residual Spraying intervention
deterrency
→ scenario → interventions → anopheles → IRSDescription → deterrency
<deterrency
initial=double
halflife=double
[ Weibullk=double ]
/>
Documentation (element)
Units: None Min: 0 Max: 1
One minus this multiplies the host's availability.
Documentation (type)
Specification of a proportion with Weibull or exponential decay.
Attributes
initial
initial=double
Units: None Min: 0 Max: 1
The value before any decay.
halflife
halflife=double
Units: Years Min: 0
Half-life in years (more generally, halflife/ln(2) is lambda from the Weibull distribution).
Weibullk
Weibullk=double
Min: 0
The parameter k of the Weibull distribution. If missing, 1.0 is used (equivalent to exponential decay).
killingEffect
→ scenario → interventions → anopheles → IRSDescription → killingEffect
<killingEffect
initial=double
halflife=double
[ Weibullk=double ]
/>
Documentation (element)
Units: None Min: 0 Max: 1
One minus this multiplies the survival rate of resting mosquitoes.
Documentation (type)
Specification of a proportion with Weibull or exponential decay.
Attributes
initial
initial=double
Units: None Min: 0 Max: 1
The value before any decay.
halflife
halflife=double
Units: Years Min: 0
Half-life in years (more generally, halflife/ln(2) is lambda from the Weibull distribution).
Weibullk
Weibullk=double
Min: 0
The parameter k of the Weibull distribution. If missing, 1.0 is used (equivalent to exponential decay).
VADescription
→ scenario → interventions → anopheles → VADescription
<VADescription
name=string
>
IN THIS ORDER:
| <deterrency ... />
</VADescription>
Attributes
name
name=string
Units: string
Name of mosquito deterrency intervention
deterrency
→ scenario → interventions → anopheles → VADescription → deterrency
<deterrency
initial=double
halflife=double
[ Weibullk=double ]
/>
Documentation (element)
Units: None Min: 0 Max: 1
One minus this multiplies the host's availability.
Documentation (type)
Specification of a proportion with Weibull or exponential decay.
Attributes
initial
initial=double
Units: None Min: 0 Max: 1
The value before any decay.
halflife
halflife=double
Units: Years Min: 0
Half-life in years (more generally, halflife/ln(2) is lambda from the Weibull distribution).
Weibullk
Weibullk=double
Min: 0
The parameter k of the Weibull distribution. If missing, 1.0 is used (equivalent to exponential decay).
continuous
→ scenario → interventions → continuous
<continuous>
IN THIS ORDER:
| ( <vaccine ... /> )*
| ( <ITN ... /> )*
| ( <ipti ... /> )*
</continuous>
vaccine
→ scenario → interventions → continuous → vaccine
<vaccine
targetAgeYrs=double
coverage=double
/>
Documentation (element)
Units: List of elements
List of age groups for vaccination
Attributes
targetAgeYrs
targetAgeYrs=double
Units: Years Min: 0 Max: 100
Target age of intervention
coverage
coverage=double
Units: Proportion Min: 0 Max: 1
Coverage of intervention
ITN
→ scenario → interventions → continuous → ITN
<ITN
targetAgeYrs=double
coverage=double
/>
Documentation (element)
Units: List of elements
Description of ITN deployment in the community
Attributes
targetAgeYrs
targetAgeYrs=double
Units: Years Min: 0 Max: 100
Target age of intervention
coverage
coverage=double
Units: Proportion Min: 0 Max: 1
Coverage of intervention
ipti
→ scenario → interventions → continuous → ipti
<ipti
targetAgeYrs=double
coverage=double
/>
Documentation (element)
Units: List of elements
List of age groups for IPTi distribution
Attributes
targetAgeYrs
targetAgeYrs=double
Units: Years Min: 0 Max: 100
Target age of intervention
coverage
coverage=double
Units: Proportion Min: 0 Max: 1
Coverage of intervention
timed
→ scenario → interventions → timed
<timed>
IN THIS ORDER:
| ( <intervention ... /> )+
</timed>
Documentation (element)
Units: List of elements
List of timed interventions
Documentation (type)
Units: List of elements
List of timed interventions
intervention
→ scenario → interventions → timed → intervention
<intervention
time=int
>
IN THIS ORDER:
| [ <changeHS ... /> ]
| [ <changeEIR ... /> ]
| [ <MDA ... /> ]
| [ <vaccinate ... /> ]
| [ <ITN ... /> ]
| [ <IRS ... /> ]
| [ <VectorAvailability ... /> ]
| [ <ipti ... /> ]
| [ <larviciding ... /> ]
</intervention>
Attributes
time
time=int
Units: Number Min: 1 Max: 10000
Time step of intervention
changeHS
→ scenario → interventions → timed → intervention → changeHS
<changeHS
name=string
healthSystemMemory=int
>
IN THIS ORDER:
| <drugRegimen ... />
| <initialACR ... />
| <compliance ... />
| <nonCompliersEffective ... />
| <pSeekOfficialCareUncomplicated1 ... />
| <pSelfTreatUncomplicated ... />
| <pSeekOfficialCareUncomplicated2 ... />
| <pSeekOfficialCareSevere ... />
| <pSequelaeInpatient ... />
| <CFR ... />
</changeHS>
- drugRegimen
- initialACR
- compliance
- nonCompliersEffective
- pSeekOfficialCareUncomplicated1
- pSelfTreatUncomplicated
- pSeekOfficialCareUncomplicated2
- pSeekOfficialCareSevere
- pSequelaeInpatient
- CFR
Documentation (type)
Units: List of elements
Description of health system
Attributes
name
name=string
Units: string
Name of health system
healthSystemMemory
healthSystemMemory=int
Units: Time steps Min: 1 Max: 100
Follow-up period during which a recurrence is considered to be a treatment failure
drugRegimen
→ scenario → healthSystem → drugRegimen
<drugRegimen
firstLine=string
secondLine=string
inpatient=string
/>
Documentation (element)
Units: List of elements
Description of drug regimen
Attributes
firstLine
firstLine=string
Units: Drug code
Code for first line drug
secondLine
secondLine=string
Units: Drug code
Code for second line drug
inpatient
inpatient=string
Units: Drug code
Code for drug used for treating inpatients
initialACR
→ scenario → healthSystem → initialACR
<initialACR>
IN THIS ORDER:
| [ <CQ ... /> ]
| [ <SP ... /> ]
| [ <AQ ... /> ]
| [ <SPAQ ... /> ]
| [ <ACT ... /> ]
| [ <QN ... /> ]
| <selfTreatment ... />
</initialACR>
Documentation (element)
Units: Proportion Min: 0 Max: 1
Initial cure rate
CQ
→ scenario → healthSystem → initialACR → CQ
<CQ
value=double
/>
Documentation (element)
Units: List of elements
Chloroquine
Attributes
value
value=double
TODO
SP
→ scenario → healthSystem → initialACR → SP
<SP
value=double
/>
Documentation (element)
Units: List of elements
Sulphadoxine-pyrimethamine
Attributes
value
value=double
TODO
AQ
→ scenario → healthSystem → initialACR → AQ
<AQ
value=double
/>
Documentation (element)
Units: List of elements
Amodiaquine
Attributes
value
value=double
TODO
SPAQ
→ scenario → healthSystem → initialACR → SPAQ
<SPAQ
value=double
/>
Documentation (element)
Units: List of elements
Sulphadoxine-pyrimethamine/Amodiaquine
Attributes
value
value=double
TODO
ACT
→ scenario → healthSystem → initialACR → ACT
<ACT
value=double
/>
Documentation (element)
Units: List of elements
Artemisinine combination therapy
Attributes
value
value=double
TODO
QN
→ scenario → healthSystem → initialACR → QN
<QN
value=double
/>
Documentation (element)
Units: List of elements
Quinine
Attributes
value
value=double
TODO
selfTreatment
→ scenario → healthSystem → initialACR → selfTreatment
<selfTreatment
value=double
/>
Documentation (element)
Units: Proportion Min: 0 Max: 1
Probability of self-treatment
Attributes
value
value=double
TODO
compliance
→ scenario → healthSystem → compliance
<compliance>
IN THIS ORDER:
| [ <CQ ... /> ]
| [ <SP ... /> ]
| [ <AQ ... /> ]
| [ <SPAQ ... /> ]
| [ <ACT ... /> ]
| [ <QN ... /> ]
| <selfTreatment ... />
</compliance>
Documentation (element)
Units: Proportion Min: 0 Max: 1
Adherence to treatment
nonCompliersEffective
→ scenario → healthSystem → nonCompliersEffective
<nonCompliersEffective>
IN THIS ORDER:
| [ <CQ ... /> ]
| [ <SP ... /> ]
| [ <AQ ... /> ]
| [ <SPAQ ... /> ]
| [ <ACT ... /> ]
| [ <QN ... /> ]
| <selfTreatment ... />
</nonCompliersEffective>
Documentation (element)
Units: Proportion Min: 0 Max: 1
Effectiveness of treatment of non compliers
pSeekOfficialCareUncomplicated1
→ scenario → healthSystem → pSeekOfficialCareUncomplicated1
<pSeekOfficialCareUncomplicated1
value=double
/>
Documentation (element)
Units: Proportion Min: 0 Max: 1
Probability that a patient with newly incident uncomplicated disease seeks official care
Attributes
value
value=double
TODO
pSelfTreatUncomplicated
→ scenario → healthSystem → pSelfTreatUncomplicated
<pSelfTreatUncomplicated
value=double
/>
Documentation (element)
Units: Proportion Min: 0 Max: 1
Probability that a patient with uncomplicated disease self-treats
Attributes
value
value=double
TODO
pSeekOfficialCareUncomplicated2
→ scenario → healthSystem → pSeekOfficialCareUncomplicated2
<pSeekOfficialCareUncomplicated2
value=double
/>
Documentation (element)
Units: Proportion Min: 0 Max: 1
Probability that a patient with recurrence of uncomplicated disease seeks official care
Attributes
value
value=double
TODO
pSeekOfficialCareSevere
→ scenario → healthSystem → pSeekOfficialCareSevere
<pSeekOfficialCareSevere
value=double
/>
Documentation (element)
Units: Proportion Min: 0 Max: 1
Probability that a patient with severe disease seeks official care
Attributes
value
value=double
TODO
pSequelaeInpatient
→ scenario → healthSystem → pSequelaeInpatient
<pSequelaeInpatient>
IN THIS ORDER:
| ( <item ... /> )+
</pSequelaeInpatient>
Documentation (element)
Units: List of elements
List of age specific probabilities of sequelae in inpatients
item
→ scenario → healthSystem → pSequelaeInpatient → item
<item
value=double
maxAgeYrs=double
/>
Attributes
value
value=double
TODO
maxAgeYrs
maxAgeYrs=double
Units: Years Min: 0 Max: 100
Upper bound of age group
CFR
→ scenario → healthSystem → CFR
<CFR>
IN THIS ORDER:
| ( <group ... /> )+
</CFR>
group
→ scenario → healthSystem → CFR → group
<group
cfr=double
lowerbound=double
/>
Attributes
cfr
cfr=double
Units: Proportion Min: 0 Max: 1
Case fatality rate
lowerbound
lowerbound=double
Units: Years Min: 0 Max: 100
Lower bound of age group
changeEIR
→ scenario → interventions → timed → intervention → changeEIR
<changeEIR
eipDuration=int
>
IN THIS ORDER:
| ( <EIRDaily ... /> )+
</changeEIR>
Documentation (type)
Parameters for the non-vector transmission model.
Attributes
eipDuration
eipDuration=int
The duration of sporogony in days
EIRDaily
→ scenario → entoData → nonVector → EIRDaily
<EIRDaily
[ origin=string ]
>
double
</EIRDaily>
Documentation (type)
Units: Number Min: 1
Value of daily EIR
Attributes
origin
origin=string
MDA
→ scenario → interventions → timed → intervention → MDA
<MDA
[ maxAge=double ]
[ minAge=double ]
coverage=double
/>
Documentation (element)
Units: List of elements
Description of mass drug deployment in the community
Attributes
maxAge
maxAge=double
Units: Years Min: 0 Max: 100
Maximum age of eligible individuals (defaults to 100)
minAge
minAge=double
Units: Years Min: 0 Max: 100
Minimum age of eligible individuals (defaults to 0)
coverage
coverage=double
Units: Proportion Min: 0 Max: 1
Coverage of intervention
vaccinate
→ scenario → interventions → timed → intervention → vaccinate
<vaccinate
[ maxAge=double ]
[ minAge=double ]
coverage=double
/>
Documentation (element)
Units: List of elements
Description of vaccine deployment in the community
Attributes
maxAge
maxAge=double
Units: Years Min: 0 Max: 100
Maximum age of eligible individuals (defaults to 100)
minAge
minAge=double
Units: Years Min: 0 Max: 100
Minimum age of eligible individuals (defaults to 0)
coverage
coverage=double
Units: Proportion Min: 0 Max: 1
Coverage of intervention
ITN
→ scenario → interventions → timed → intervention → ITN
<ITN
[ maxAge=double ]
[ minAge=double ]
coverage=double
/>
Documentation (element)
Units: List of elements
Description of ITN deployment in the community
Attributes
maxAge
maxAge=double
Units: Years Min: 0 Max: 100
Maximum age of eligible individuals (defaults to 100)
minAge
minAge=double
Units: Years Min: 0 Max: 100
Minimum age of eligible individuals (defaults to 0)
coverage
coverage=double
Units: Proportion Min: 0 Max: 1
Coverage of intervention
IRS
→ scenario → interventions → timed → intervention → IRS
<IRS
[ maxAge=double ]
[ minAge=double ]
coverage=double
/>
Documentation (element)
Units: List of elements
Description of IRS deployment in the community
Attributes
maxAge
maxAge=double
Units: Years Min: 0 Max: 100
Maximum age of eligible individuals (defaults to 100)
minAge
minAge=double
Units: Years Min: 0 Max: 100
Minimum age of eligible individuals (defaults to 0)
coverage
coverage=double
Units: Proportion Min: 0 Max: 1
Coverage of intervention
VectorAvailability
→ scenario → interventions → timed → intervention → VectorAvailability
<VectorAvailability
[ maxAge=double ]
[ minAge=double ]
coverage=double
/>
Documentation (element)
Units: List of elements
Description of a mosquito detterent deployment in the community
Attributes
maxAge
maxAge=double
Units: Years Min: 0 Max: 100
Maximum age of eligible individuals (defaults to 100)
minAge
minAge=double
Units: Years Min: 0 Max: 100
Minimum age of eligible individuals (defaults to 0)
coverage
coverage=double
Units: Proportion Min: 0 Max: 1
Coverage of intervention
ipti
→ scenario → interventions → timed → intervention → ipti
<ipti
[ maxAge=double ]
[ minAge=double ]
coverage=double
/>
Documentation (element)
Units: List of elements
List of age groups for IPTi distribution
Attributes
maxAge
maxAge=double
Units: Years Min: 0 Max: 100
Maximum age of eligible individuals (defaults to 100)
minAge
minAge=double
Units: Years Min: 0 Max: 100
Minimum age of eligible individuals (defaults to 0)
coverage
coverage=double
Units: Proportion Min: 0 Max: 1
Coverage of intervention
larviciding
→ scenario → interventions → timed → intervention → larviciding
<larviciding>
IN THIS ORDER:
| ( <anopheles ... /> )+
</larviciding>
Documentation (element)
Simple larviciding intervention description.
anopheles
→ scenario → interventions → timed → intervention → larviciding → anopheles
<anopheles
mosquito=string
effectiveness=double
duration=int
/>
Attributes
mosquito
mosquito=string
effectiveness
effectiveness=double
Units: none Min: 0 Max: 1
Proportion to reduce emergence rates by.
duration
duration=int
Units: days Min: 0 Max: inf
Number of days for which the intervention is active.
caseManagements
<caseManagements
name=string
reportingPeriodMemory=int
>
IN THIS ORDER:
| ( <caseManagement ... /> )+
</caseManagements>
Documentation (element)
Units: List of elements
List of case managment interventions
Documentation (type)
Units: List of elements
List of age-specific case managment descriptions
Attributes
name
name=string
Units: string
Name of age specific intervention
reportingPeriodMemory
reportingPeriodMemory=int
Units: Time steps Min: 1 Max: 100
Follow-up period during which a recurrence is considered to be a treatment failure
caseManagement
→ scenario → caseManagements → caseManagement
<caseManagement
maxAgeYrs=decimal
>
IN THIS ORDER:
| <uc1 ... />
| <uc2 ... />
| <sev ... />
| <nmfP ... />
| <nmfNP ... />
| <decisions ... />
</caseManagement>
Documentation (element)
Units: List of elements
Age-specific case management description, describes entry-points and decisions, with entry-point-specific decision probabilities
Attributes
maxAgeYrs
maxAgeYrs=decimal
Units: Years Min: 0 Max: 100
Upper bound of age group
uc1
→ scenario → caseManagements → caseManagement → uc1
<uc1>
IN THIS ORDER:
| ( <endPoint ... /> )+
</uc1>
endPoint
→ scenario → caseManagements → caseManagement → uc1 → endPoint
<endPoint
decision=int
p=double
/>
Attributes
decision
decision=int
Foreign key reference to outcome node
p
p=double
Units: Proportion Min: 0 Max: 1
Probability of outcome
uc2
→ scenario → caseManagements → caseManagement → uc2
<uc2>
IN THIS ORDER:
| ( <endPoint ... /> )+
</uc2>
sev
→ scenario → caseManagements → caseManagement → sev
<sev>
IN THIS ORDER:
| ( <endPoint ... /> )+
</sev>
nmfP
→ scenario → caseManagements → caseManagement → nmfP
<nmfP>
IN THIS ORDER:
| ( <endPoint ... /> )+
</nmfP>
nmfNP
→ scenario → caseManagements → caseManagement → nmfNP
<nmfNP>
IN THIS ORDER:
| ( <endPoint ... /> )+
</nmfNP>
decisions
→ scenario → caseManagements → caseManagement → decisions
<decisions>
IN THIS ORDER:
| ( <decision ... /> )+
</decisions>
decision
→ scenario → caseManagements → caseManagement → decisions → decision
<decision
id=int
>
IN THIS ORDER:
| ( <medicate ... /> )+
</decision>
Documentation (element)
Units: List of elements
describes treatment decisions, a list of medicate descisions.
Attributes
id
id=int
Units: Number
Key of decision
medicate
→ scenario → caseManagements → caseManagement → decisions → decision → medicate
<medicate
name=string
qty=double
time=int
/>
Attributes
name
name=string
Units: string
Name of drug compound
qty
qty=double
Units: Number
Quantity of drug compound
time
time=int
Units: Number Min: 1 Max: 10000
Time step of intervention
healthSystem
→ scenario → healthSystem
<healthSystem
name=string
healthSystemMemory=int
>
IN THIS ORDER:
| <drugRegimen ... />
| <initialACR ... />
| <compliance ... />
| <nonCompliersEffective ... />
| <pSeekOfficialCareUncomplicated1 ... />
| <pSelfTreatUncomplicated ... />
| <pSeekOfficialCareUncomplicated2 ... />
| <pSeekOfficialCareSevere ... />
| <pSequelaeInpatient ... />
| <CFR ... />
</healthSystem>
- drugRegimen
- initialACR
- compliance
- nonCompliersEffective
- pSeekOfficialCareUncomplicated1
- pSelfTreatUncomplicated
- pSeekOfficialCareUncomplicated2
- pSeekOfficialCareSevere
- pSequelaeInpatient
- CFR
Documentation (element)
Units: List of elements
Description of health system
Documentation (type)
Units: List of elements
Description of health system
Attributes
name
name=string
Units: string
Name of health system
healthSystemMemory
healthSystemMemory=int
Units: Time steps Min: 1 Max: 100
Follow-up period during which a recurrence is considered to be a treatment failure
entoData
<entoData
name=string
>
IN THIS ORDER:
| EXACTLY ONE OF:
| | <nonVector ... />
| | <vector ... />
</entoData>
Documentation (element)
Units: List of elements
Description of entomological data
Documentation (type)
Units: List of elements
Data for entomodel
Attributes
name
name=string
Units: string
Name of entomology data
nonVector
→ scenario → entoData → nonVector
<nonVector
eipDuration=int
>
IN THIS ORDER:
| ( <EIRDaily ... /> )+
</nonVector>
Documentation (type)
Parameters for the non-vector transmission model.
Attributes
eipDuration
eipDuration=int
The duration of sporogony in days
vector
→ scenario → entoData → vector
<vector>
IN THIS ORDER:
| ( <anopheles ... /> )+
</vector>
Documentation (element)
Parameters for the vector transmission model.
anopheles
→ scenario → entoData → vector → anopheles
<anopheles
mosquito=string
>
IN THIS ORDER:
| [ <eir ... /> ]
| [ <emergence ... /> ]
| <mosq ... />
| ( <nonHumanHosts ... /> )*
</anopheles>
Attributes
mosquito
mosquito=string
eir
→ scenario → entoData → vector → anopheles → eir
<eir
a0=double
a1=double
a2=double
b1=double
b2=double
EIRRotateAngle=double
/>
Documentation (element)
Description of entomological inoculation rate. Usually one of the eir and emergence elements are provided. If both are given, the emergence rate is validated against the eir. Providing an eir allows emergence rate calculations when emergence-rate data is not provided or not valid.
Attributes
a0
a0=double
a1
a1=double
a2
a2=double
b1
b1=double
b2
b2=double
EIRRotateAngle
EIRRotateAngle=double
emergence
→ scenario → entoData → vector → anopheles → emergence
<emergence>
IN THIS ORDER:
| <emergenceRate ... />
| <kappa ... />
| <N_v ... />
| <O_v ... />
| <S_v ... />
</emergence>
Documentation (element)
Data to drive simulation from a pre-calculated emergence rate. Usually one of the eir and emergence elements are provided. If just emergence data is given the simulation is run from this; if both are given, the emergence rate is validated against the eir.
emergenceRate
→ scenario → entoData → vector → anopheles → emergence → emergenceRate
<emergenceRate>
IN THIS ORDER:
| ( <item ... /> )+
</emergenceRate>
Documentation (element)
Units: Mosquitoes per human Min: 0 Max: inf
Mosquitoes emerging per day of the year, per human.
item
→ scenario → entoData → vector → anopheles → emergence → emergenceRate → item
<item>
double
</item>
kappa
→ scenario → entoData → vector → anopheles → emergence → kappa
<kappa>
IN THIS ORDER:
| ( <item ... /> )+
</kappa>
Documentation (element)
Units: Min: 0 Max: 1
Human infectivity (probability of infection of a mosquito biting a human) over last mosqRestDuration+extrinsicIncubationPeriod days.
N_v
→ scenario → entoData → vector → anopheles → emergence → N_v
<N_v>
IN THIS ORDER:
| ( <item ... /> )+
</N_v>
Documentation (element)
Units: individuals Min: 0 Max: inf
Total population of mosquitoes over the last mosqRestDuration+extrinsicIncubationPeriod days, per human.
O_v
→ scenario → entoData → vector → anopheles → emergence → O_v
<O_v>
IN THIS ORDER:
| ( <item ... /> )+
</O_v>
Documentation (element)
Units: individuals Min: 0 Max: inf
Population of infected mosquitoes over the last mosqRestDuration+extrinsicIncubationPeriod days, per human.
S_v
→ scenario → entoData → vector → anopheles → emergence → S_v
<S_v>
IN THIS ORDER:
| ( <item ... /> )+
</S_v>
Documentation (element)
Units: individuals Min: 0 Max: inf
Population of infectious mosquitoes over the last mosqRestDuration+extrinsicIncubationPeriod days, per human.
mosq
→ scenario → entoData → vector → anopheles → mosq
<mosq
mosqRestDuration=int
extrinsicIncubationPeriod=int
mosqSeekingDeathRate=double
mosqSeekingDuration=double
mosqEntoAvailability=double
mosqProbBiting=double
mosqProbFindRestSite=double
mosqProbResting=double
mosqProbOvipositing=double
/>
Documentation (element)
Units: List of elements
Vector species
Attributes
mosqRestDuration
mosqRestDuration=int
extrinsicIncubationPeriod
extrinsicIncubationPeriod=int
mosqSeekingDeathRate
mosqSeekingDeathRate=double
mosqSeekingDuration
mosqSeekingDuration=double
mosqEntoAvailability
mosqEntoAvailability=double
mosqProbBiting
mosqProbBiting=double
mosqProbFindRestSite
mosqProbFindRestSite=double
mosqProbResting
mosqProbResting=double
mosqProbOvipositing
mosqProbOvipositing=double
nonHumanHosts
→ scenario → entoData → vector → anopheles → nonHumanHosts
<nonHumanHosts
name=string
mosqEntoAvailability=double
mosqProbBiting=double
mosqProbFindRestSite=double
mosqProbResting=double
/>
Documentation (element)
Units: List of elements
Non human host parameters, per type of host (must match up with non-species-specific parameters).
Attributes
name
name=string
mosqEntoAvailability
mosqEntoAvailability=double
mosqProbBiting
mosqProbBiting=double
mosqProbFindRestSite
mosqProbFindRestSite=double
mosqProbResting
mosqProbResting=double
parameters
→ scenario → parameters
<parameters
interval=int
iseed=int
delta=double
latentp=int
>
IN THIS ORDER:
| ( <parameter ... /> )+
</parameters>
Documentation (element)
Parameters for mathematical model
Documentation (type)
Units: List of elements
Parameter vector
Attributes
interval
interval=int
Units: Days
Simulation step
iseed
iseed=int
Units: Number
Seed for RNG
delta
delta=double
Units: ? Redundant
this no longer seems to be used
latentp
latentp=int
Units: Time steps Min: 0 Max: 20
pre-erythrocytic latent period, in time steps
parameter
→ scenario → parameters → parameter
<parameter
name=string
number=int
value=double
[ include=boolean ]
/>
Attributes
name
name=string
Units: string
Name of parameter
number
number=int
Units: Number Min: 1 Max: 100
Reference number of input parameter
value
value=double
Units: Number Min: 0
Parameter value
include
include=boolean
Units: Number Min: 0 Max: 1
True if parameter is to be sampled in optimization runs. Not used in simulator app.
Schema 8 documentation
Generated from: scenario_8.xsd
.
Key:
abc required (one)
[ def ] optional (zero or one)
( ghi )* any number (zero or more)
( jkl )+ at least one
( mno ){2,inf} two or more occurrences
scenario
→ scenario
<scenario
schemaVersion=int
analysisNo=int
maximumAgeYrs=double
name=string
popSize=int
simulationDuration=int
modelVersion=int
wuID=int
assimMode=("0" or "1")
mode=("2" or "3" or "4")
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:noNamespaceSchemaLocation="scenario_8.xsd"
>
IN THIS ORDER:
| <demography ... />
| <monitoring ... />
| <interventions ... />
| [ <caseManagements ... /> ]
| [ <healthSystem ... /> ]
| <entoData ... />
| <parameters ... />
</scenario>
Documentation (element)
Units: List of elements
Description of scenario
Attributes
schemaVersion
schemaVersion=int
Version of xml schema. If not equal to the current version an error is thrown. Use SchemaTranslator to update xml files.
analysisNo
analysisNo=int
Units: Number Min: 1 Max: 100000000
Unique identifier of scenario
maximumAgeYrs
maximumAgeYrs=double
Units: Number Min: 0 Max: 100
Maximum age of simulated humans
name
name=string
Units: string
Name of intervention
popSize
popSize=int
Units: Count Min: 1 Max: 100000
Population size
simulationDuration
simulationDuration=int
Units: Time steps Min: 1 Max: 36500
Duration of main simulation
modelVersion
modelVersion=int
Units: Code Min: 0 Max: 100000000
Model Version
wuID
wuID=int
Units: Number Min: 1 Max: 100000000
Work unit ID. Only used to validate checkpointing, to prevent checkpoint cheats.
assimMode
assimMode=("0" or "1")
Units: Code
Assimilator mode. Defines output of simulator as either complete (columns: time,agegroup,measure,value) or minimal (single column: value)
mode
mode=("2" or "3" or "4")
Units: Code
Transmission simulation mode
demography
→ scenario → demography
<demography
name=string
[ growthRate=double ]
>
IN THIS ORDER:
| <ageGroup ... />
</demography>
Documentation (element)
Units: List of elements
Description of demography
Documentation (type)
Units: List of elements
Description of demography
Attributes
name
name=string
Units: string
Name of demography data
growthRate
growthRate=double
Units: Number Min: 0 Max: 0
Growth rate of human population.
ageGroup
→ scenario → demography → ageGroup
<ageGroup
lowerbound=double
>
IN THIS ORDER:
| ( <group ... /> )+
</ageGroup>
Documentation (element)
Units: List of elements
List of age groups included in demography
Documentation (type)
Units: List of elements
List of age groups included in demography or surveys
Attributes
lowerbound
lowerbound=double
Units: Years Min: 0 Max: 100
Lower bound of age group
group
→ scenario → demography → ageGroup → group
<group
poppercent=double
upperbound=double
/>
Attributes
poppercent
poppercent=double
upperbound
upperbound=double
monitoring
→ scenario → monitoring
<monitoring
name=string
>
IN THIS ORDER:
| <surveys ... />
| <ageGroup ... />
</monitoring>
Documentation (element)
Units: List of elements
Description of surveys
Documentation (type)
Units: List of elements
Description of surveys
Attributes
name
name=string
Units: string
Name of monitoring data
surveys
→ scenario → monitoring → surveys
<surveys
detectionLimit=double
summaryOption=int
>
IN THIS ORDER:
| <surveyTime ... />
</surveys>
Documentation (element)
Units: List of elements
List of survey times
Attributes
detectionLimit
detectionLimit=double
Units: parasites/micolitre Min: 0 Max: 1000
Detection limit for parasitemia
summaryOption
summaryOption=int
Units: Code
Requested output variables
surveyTime
→ scenario → monitoring → surveys → surveyTime
<surveyTime>
int
</surveyTime>
Documentation (element)
Units: Number Min: 0
Survey time
ageGroup
→ scenario → monitoring → ageGroup
<ageGroup
lowerbound=double
>
IN THIS ORDER:
| ( <group ... /> )+
</ageGroup>
Documentation (element)
Units: List of elements
List of age groups included in demography or surveys
Documentation (type)
Units: List of elements
List of age groups included in surveys
Attributes
lowerbound
lowerbound=double
Units: Years Min: 0 Max: 100
Lower bound of age group
group
→ scenario → monitoring → ageGroup → group
<group
upperbound=double
/>
Attributes
upperbound
upperbound=double
interventions
<interventions
name=string
>
IN THIS ORDER:
| ( <vaccineDescription ... /> ){0,3}
| [ <iptiDescription ... /> ]
| [ <ITNDescription ... /> ]
| [ <IRSDescription ... /> ]
| [ <continuous ... /> ]
| [ <timed ... /> ]
</interventions>
Documentation (element)
Units: List of elements
List of interventions
Documentation (type)
Units: List of elements
List of interventions
Attributes
name
name=string
Units: string
Name of age specific intervention
vaccineDescription
→ scenario → interventions → vaccineDescription
<vaccineDescription
vaccineType=int
>
IN THIS ORDER:
| <halfLifeYrs ... />
| <efficacyB ... />
| ( <initialEfficacy ... /> )+
</vaccineDescription>
Attributes
vaccineType
vaccineType=int
Units: Code
Type of vaccine
halfLifeYrs
→ scenario → interventions → vaccineDescription → halfLifeYrs
<halfLifeYrs
value=double
/>
Documentation (element)
Units: Years Min: 0 Max: 100
Half life of drug effect
Attributes
value
value=double
TODO
efficacyB
→ scenario → interventions → vaccineDescription → efficacyB
<efficacyB
value=double
/>
Documentation (element)
Units: Positive real Min: 0.001 Max: 1.00E+06
Measure of variation in vaccine efficacy
Attributes
value
value=double
TODO
initialEfficacy
→ scenario → interventions → vaccineDescription → initialEfficacy
<initialEfficacy
value=double
/>
Attributes
value
value=double
TODO
iptiDescription
→ scenario → interventions → iptiDescription
<iptiDescription
iptiEffect=int
>
IN THIS ORDER:
| ( <infGenotype ... /> )+
</iptiDescription>
Attributes
iptiEffect
iptiEffect=int
infGenotype
→ scenario → interventions → iptiDescription → infGenotype
<infGenotype
name=string
freq=double
ACR=double
proph=int
tolPeriod=int
atten=int
/>
Attributes
name
name=string
Units: string
Name of age specific intervention
freq
freq=double
ACR
ACR=double
proph
proph=int
tolPeriod
tolPeriod=int
atten
atten=int
ITNDescription
→ scenario → interventions → ITNDescription
<ITNDescription
name=string
>
IN THIS ORDER:
| ( <anopheles ... /> )+
</ITNDescription>
Attributes
name
name=string
Units: string
Name of Insecticide Treated Net intervention
anopheles
→ scenario → interventions → ITNDescription → anopheles
<anopheles
mosquito=string
>
IN THIS ORDER:
| <deterrency ... />
| <preprandialKillingEffect ... />
| <postprandialKillingEffect ... />
</anopheles>
Attributes
mosquito
mosquito=string
deterrency
→ scenario → interventions → ITNDescription → anopheles → deterrency
<deterrency
initial=double
halflife=double
[ Weibullk=double ]
/>
Documentation (element)
Units: None Min: 0 Max: 1
One minus this multiplies the host's availability (before decay).
Documentation (type)
Specification of a proportion with Weibull or exponential decay.
Attributes
initial
initial=double
Units: None Min: 0 Max: 1
The value before any decay.
halflife
halflife=double
Units: Years Min: 0
Half-life in years (more generally, halflife/ln(2) is lambda from the Weibull distribution).
Weibullk
Weibullk=double
Min: 0
The parameter k of the Weibull distribution. If missing, 1.0 is used (equivalent to exponential decay).
preprandialKillingEffect
→ scenario → interventions → ITNDescription → anopheles → preprandialKillingEffect
<preprandialKillingEffect
initial=double
halflife=double
[ Weibullk=double ]
/>
Documentation (element)
Units: None Min: 0 Max: 1
One minus this multiplies the survival rate of mosquitoes attempting to bite a host.
Documentation (type)
Specification of a proportion with Weibull or exponential decay.
Attributes
initial
initial=double
Units: None Min: 0 Max: 1
The value before any decay.
halflife
halflife=double
Units: Years Min: 0
Half-life in years (more generally, halflife/ln(2) is lambda from the Weibull distribution).
Weibullk
Weibullk=double
Min: 0
The parameter k of the Weibull distribution. If missing, 1.0 is used (equivalent to exponential decay).
postprandialKillingEffect
→ scenario → interventions → ITNDescription → anopheles → postprandialKillingEffect
<postprandialKillingEffect
initial=double
halflife=double
[ Weibullk=double ]
/>
Documentation (element)
Units: None Min: 0 Max: 1
One minus this multiplies the survival rate of mosquitoes attempting to escape after biting a host.
Documentation (type)
Specification of a proportion with Weibull or exponential decay.
Attributes
initial
initial=double
Units: None Min: 0 Max: 1
The value before any decay.
halflife
halflife=double
Units: Years Min: 0
Half-life in years (more generally, halflife/ln(2) is lambda from the Weibull distribution).
Weibullk
Weibullk=double
Min: 0
The parameter k of the Weibull distribution. If missing, 1.0 is used (equivalent to exponential decay).
IRSDescription
→ scenario → interventions → IRSDescription
<IRSDescription
name=string
>
IN THIS ORDER:
| ( <anopheles ... /> )+
</IRSDescription>
Attributes
name
name=string
Units: string
Name of Indoor Residual Spraying intervention
anopheles
→ scenario → interventions → IRSDescription → anopheles
<anopheles
mosquito=string
>
IN THIS ORDER:
| <deterrency ... />
| <killingEffect ... />
</anopheles>
Attributes
mosquito
mosquito=string
deterrency
→ scenario → interventions → IRSDescription → anopheles → deterrency
<deterrency
initial=double
halflife=double
[ Weibullk=double ]
/>
Documentation (element)
Units: None Min: 0 Max: 1
One minus this multiplies the host's availability.
Documentation (type)
Specification of a proportion with Weibull or exponential decay.
Attributes
initial
initial=double
Units: None Min: 0 Max: 1
The value before any decay.
halflife
halflife=double
Units: Years Min: 0
Half-life in years (more generally, halflife/ln(2) is lambda from the Weibull distribution).
Weibullk
Weibullk=double
Min: 0
The parameter k of the Weibull distribution. If missing, 1.0 is used (equivalent to exponential decay).
killingEffect
→ scenario → interventions → IRSDescription → anopheles → killingEffect
<killingEffect
initial=double
halflife=double
[ Weibullk=double ]
/>
Documentation (element)
Units: None Min: 0 Max: 1
One minus this multiplies the survival rate of resting mosquitoes.
Documentation (type)
Specification of a proportion with Weibull or exponential decay.
Attributes
initial
initial=double
Units: None Min: 0 Max: 1
The value before any decay.
halflife
halflife=double
Units: Years Min: 0
Half-life in years (more generally, halflife/ln(2) is lambda from the Weibull distribution).
Weibullk
Weibullk=double
Min: 0
The parameter k of the Weibull distribution. If missing, 1.0 is used (equivalent to exponential decay).
continuous
→ scenario → interventions → continuous
<continuous>
IN THIS ORDER:
| ( <vaccine ... /> )*
| ( <ITN ... /> )*
| ( <ipti ... /> )*
</continuous>
vaccine
→ scenario → interventions → continuous → vaccine
<vaccine
targetAgeYrs=double
coverage=double
/>
Documentation (element)
Units: List of elements
List of age groups for vaccination
Attributes
targetAgeYrs
targetAgeYrs=double
Units: Years Min: 0 Max: 100
Target age of intervention
coverage
coverage=double
Units: Proportion Min: 0 Max: 1
Coverage of intervention
ITN
→ scenario → interventions → continuous → ITN
<ITN
targetAgeYrs=double
coverage=double
/>
Documentation (element)
Units: List of elements
Description of ITN deployment in the community
Attributes
targetAgeYrs
targetAgeYrs=double
Units: Years Min: 0 Max: 100
Target age of intervention
coverage
coverage=double
Units: Proportion Min: 0 Max: 1
Coverage of intervention
ipti
→ scenario → interventions → continuous → ipti
<ipti
targetAgeYrs=double
coverage=double
/>
Documentation (element)
Units: List of elements
List of age groups for IPTi distribution
Attributes
targetAgeYrs
targetAgeYrs=double
Units: Years Min: 0 Max: 100
Target age of intervention
coverage
coverage=double
Units: Proportion Min: 0 Max: 1
Coverage of intervention
timed
→ scenario → interventions → timed
<timed>
IN THIS ORDER:
| ( <intervention ... /> )+
</timed>
Documentation (element)
Units: List of elements
List of timed interventions
Documentation (type)
Units: List of elements
List of timed interventions
intervention
→ scenario → interventions → timed → intervention
<intervention
time=int
>
IN THIS ORDER:
| [ <changeHS ... /> ]
| [ <changeEIR ... /> ]
| [ <MDA ... /> ]
| [ <vaccinate ... /> ]
| [ <ITN ... /> ]
| [ <IRS ... /> ]
| [ <ipti ... /> ]
| [ <larviciding ... /> ]
</intervention>
Attributes
time
time=int
Units: Number Min: 1 Max: 10000
Time step of intervention
changeHS
→ scenario → interventions → timed → intervention → changeHS
<changeHS
name=string
healthSystemMemory=int
>
IN THIS ORDER:
| <drugRegimen ... />
| <initialACR ... />
| <compliance ... />
| <nonCompliersEffective ... />
| <pSeekOfficialCareUncomplicated1 ... />
| <pSelfTreatUncomplicated ... />
| <pSeekOfficialCareUncomplicated2 ... />
| <pSeekOfficialCareSevere ... />
| <pSequelaeInpatient ... />
| <CFR ... />
</changeHS>
- drugRegimen
- initialACR
- compliance
- nonCompliersEffective
- pSeekOfficialCareUncomplicated1
- pSelfTreatUncomplicated
- pSeekOfficialCareUncomplicated2
- pSeekOfficialCareSevere
- pSequelaeInpatient
- CFR
Documentation (type)
Units: List of elements
Description of health system
Attributes
name
name=string
Units: string
Name of health system
healthSystemMemory
healthSystemMemory=int
Units: Time steps Min: 1 Max: 100
Follow-up period during which a recurrence is considered to be a treatment failure
drugRegimen
→ scenario → healthSystem → drugRegimen
<drugRegimen
firstLine=string
secondLine=string
inpatient=string
/>
Documentation (element)
Units: List of elements
Description of drug regimen
Attributes
firstLine
firstLine=string
Units: Drug code
Code for first line drug
secondLine
secondLine=string
Units: Drug code
Code for second line drug
inpatient
inpatient=string
Units: Drug code
Code for drug used for treating inpatients
initialACR
→ scenario → healthSystem → initialACR
<initialACR>
IN THIS ORDER:
| [ <CQ ... /> ]
| [ <SP ... /> ]
| [ <AQ ... /> ]
| [ <SPAQ ... /> ]
| [ <ACT ... /> ]
| [ <QN ... /> ]
| <selfTreatment ... />
</initialACR>
Documentation (element)
Units: Proportion Min: 0 Max: 1
Initial cure rate
CQ
→ scenario → healthSystem → initialACR → CQ
<CQ
value=double
/>
Documentation (element)
Units: List of elements
Chloroquine
Attributes
value
value=double
TODO
SP
→ scenario → healthSystem → initialACR → SP
<SP
value=double
/>
Documentation (element)
Units: List of elements
Sulphadoxine-pyrimethamine
Attributes
value
value=double
TODO
AQ
→ scenario → healthSystem → initialACR → AQ
<AQ
value=double
/>
Documentation (element)
Units: List of elements
Amodiaquine
Attributes
value
value=double
TODO
SPAQ
→ scenario → healthSystem → initialACR → SPAQ
<SPAQ
value=double
/>
Documentation (element)
Units: List of elements
Sulphadoxine-pyrimethamine/Amodiaquine
Attributes
value
value=double
TODO
ACT
→ scenario → healthSystem → initialACR → ACT
<ACT
value=double
/>
Documentation (element)
Units: List of elements
Artemisinine combination therapy
Attributes
value
value=double
TODO
QN
→ scenario → healthSystem → initialACR → QN
<QN
value=double
/>
Documentation (element)
Units: List of elements
Quinine
Attributes
value
value=double
TODO
selfTreatment
→ scenario → healthSystem → initialACR → selfTreatment
<selfTreatment
value=double
/>
Documentation (element)
Units: Proportion Min: 0 Max: 1
Probability of self-treatment
Attributes
value
value=double
TODO
compliance
→ scenario → healthSystem → compliance
<compliance>
IN THIS ORDER:
| [ <CQ ... /> ]
| [ <SP ... /> ]
| [ <AQ ... /> ]
| [ <SPAQ ... /> ]
| [ <ACT ... /> ]
| [ <QN ... /> ]
| <selfTreatment ... />
</compliance>
Documentation (element)
Units: Proportion Min: 0 Max: 1
Adherence to treatment
nonCompliersEffective
→ scenario → healthSystem → nonCompliersEffective
<nonCompliersEffective>
IN THIS ORDER:
| [ <CQ ... /> ]
| [ <SP ... /> ]
| [ <AQ ... /> ]
| [ <SPAQ ... /> ]
| [ <ACT ... /> ]
| [ <QN ... /> ]
| <selfTreatment ... />
</nonCompliersEffective>
Documentation (element)
Units: Proportion Min: 0 Max: 1
Effectiveness of treatment of non compliers
pSeekOfficialCareUncomplicated1
→ scenario → healthSystem → pSeekOfficialCareUncomplicated1
<pSeekOfficialCareUncomplicated1
value=double
/>
Documentation (element)
Units: Proportion Min: 0 Max: 1
Probability that a patient with newly incident uncomplicated disease seeks official care
Attributes
value
value=double
TODO
pSelfTreatUncomplicated
→ scenario → healthSystem → pSelfTreatUncomplicated
<pSelfTreatUncomplicated
value=double
/>
Documentation (element)
Units: Proportion Min: 0 Max: 1
Probability that a patient with uncomplicated disease self-treats
Attributes
value
value=double
TODO
pSeekOfficialCareUncomplicated2
→ scenario → healthSystem → pSeekOfficialCareUncomplicated2
<pSeekOfficialCareUncomplicated2
value=double
/>
Documentation (element)
Units: Proportion Min: 0 Max: 1
Probability that a patient with recurrence of uncomplicated disease seeks official care
Attributes
value
value=double
TODO
pSeekOfficialCareSevere
→ scenario → healthSystem → pSeekOfficialCareSevere
<pSeekOfficialCareSevere
value=double
/>
Documentation (element)
Units: Proportion Min: 0 Max: 1
Probability that a patient with severe disease seeks official care
Attributes
value
value=double
TODO
pSequelaeInpatient
→ scenario → healthSystem → pSequelaeInpatient
<pSequelaeInpatient>
IN THIS ORDER:
| ( <item ... /> )+
</pSequelaeInpatient>
Documentation (element)
Units: List of elements
List of age specific probabilities of sequelae in inpatients
item
→ scenario → healthSystem → pSequelaeInpatient → item
<item
value=double
maxAgeYrs=double
/>
Attributes
value
value=double
TODO
maxAgeYrs
maxAgeYrs=double
Units: Years Min: 0 Max: 100
Upper bound of age group
CFR
→ scenario → healthSystem → CFR
<CFR>
IN THIS ORDER:
| ( <group ... /> )+
</CFR>
group
→ scenario → healthSystem → CFR → group
<group
cfr=double
lowerbound=double
/>
Attributes
cfr
cfr=double
Units: Proportion Min: 0 Max: 1
Case fatality rate
lowerbound
lowerbound=double
Units: Years Min: 0 Max: 100
Lower bound of age group
changeEIR
→ scenario → interventions → timed → intervention → changeEIR
<changeEIR
eipDuration=int
>
IN THIS ORDER:
| ( <EIRDaily ... /> )+
</changeEIR>
Documentation (type)
Parameters for the non-vector transmission model.
Attributes
eipDuration
eipDuration=int
The duration of sporogony in days
EIRDaily
→ scenario → entoData → nonVector → EIRDaily
<EIRDaily
[ origin=string ]
>
double
</EIRDaily>
Documentation (type)
Units: Number Min: 1
Value of daily EIR
Attributes
origin
origin=string
MDA
→ scenario → interventions → timed → intervention → MDA
<MDA
[ maxAge=double ]
[ minAge=double ]
coverage=double
/>
Documentation (element)
Units: List of elements
Description of mass drug deployment in the community
Attributes
maxAge
maxAge=double
Units: Years Min: 0 Max: 100
Maximum age of eligible individuals (defaults to 100)
minAge
minAge=double
Units: Years Min: 0 Max: 100
Minimum age of eligible individuals (defaults to 0)
coverage
coverage=double
Units: Proportion Min: 0 Max: 1
Coverage of intervention
vaccinate
→ scenario → interventions → timed → intervention → vaccinate
<vaccinate
[ maxAge=double ]
[ minAge=double ]
coverage=double
/>
Documentation (element)
Units: List of elements
Description of vaccine deployment in the community
Attributes
maxAge
maxAge=double
Units: Years Min: 0 Max: 100
Maximum age of eligible individuals (defaults to 100)
minAge
minAge=double
Units: Years Min: 0 Max: 100
Minimum age of eligible individuals (defaults to 0)
coverage
coverage=double
Units: Proportion Min: 0 Max: 1
Coverage of intervention
ITN
→ scenario → interventions → timed → intervention → ITN
<ITN
[ maxAge=double ]
[ minAge=double ]
coverage=double
/>
Documentation (element)
Units: List of elements
Description of ITN deployment in the community
Attributes
maxAge
maxAge=double
Units: Years Min: 0 Max: 100
Maximum age of eligible individuals (defaults to 100)
minAge
minAge=double
Units: Years Min: 0 Max: 100
Minimum age of eligible individuals (defaults to 0)
coverage
coverage=double
Units: Proportion Min: 0 Max: 1
Coverage of intervention
IRS
→ scenario → interventions → timed → intervention → IRS
<IRS
[ maxAge=double ]
[ minAge=double ]
coverage=double
/>
Documentation (element)
Units: List of elements
Description of IRS deployment in the community
Attributes
maxAge
maxAge=double
Units: Years Min: 0 Max: 100
Maximum age of eligible individuals (defaults to 100)
minAge
minAge=double
Units: Years Min: 0 Max: 100
Minimum age of eligible individuals (defaults to 0)
coverage
coverage=double
Units: Proportion Min: 0 Max: 1
Coverage of intervention
ipti
→ scenario → interventions → timed → intervention → ipti
<ipti
[ maxAge=double ]
[ minAge=double ]
coverage=double
/>
Documentation (element)
Units: List of elements
List of age groups for IPTi distribution
Attributes
maxAge
maxAge=double
Units: Years Min: 0 Max: 100
Maximum age of eligible individuals (defaults to 100)
minAge
minAge=double
Units: Years Min: 0 Max: 100
Minimum age of eligible individuals (defaults to 0)
coverage
coverage=double
Units: Proportion Min: 0 Max: 1
Coverage of intervention
larviciding
→ scenario → interventions → timed → intervention → larviciding
<larviciding>
IN THIS ORDER:
| ( <anopheles ... /> )+
</larviciding>
Documentation (element)
Simple larviciding intervention description.
anopheles
→ scenario → interventions → timed → intervention → larviciding → anopheles
<anopheles
mosquito=string
effectiveness=double
duration=int
/>
Attributes
mosquito
mosquito=string
effectiveness
effectiveness=double
Units: none Min: 0 Max: 1
Proportion to reduce emergence rates by.
duration
duration=int
Units: days Min: 0 Max: inf
Number of days for which the intervention is active.
caseManagements
<caseManagements
name=string
reportingPeriodMemory=int
>
IN THIS ORDER:
| ( <caseManagement ... /> )+
</caseManagements>
Documentation (element)
Units: List of elements
List of case managment interventions
Documentation (type)
Units: List of elements
List of age-specific case managment descriptions
Attributes
name
name=string
Units: string
Name of age specific intervention
reportingPeriodMemory
reportingPeriodMemory=int
Units: Time steps Min: 1 Max: 100
Follow-up period during which a recurrence is considered to be a treatment failure
caseManagement
→ scenario → caseManagements → caseManagement
<caseManagement
maxAgeYrs=decimal
>
IN THIS ORDER:
| <uc1 ... />
| <uc2 ... />
| <sev ... />
| <nmfP ... />
| <nmfNP ... />
| <decisions ... />
</caseManagement>
Documentation (element)
Units: List of elements
Age-specific case management description, describes entry-points and decisions, with entry-point-specific decision probabilities
Attributes
maxAgeYrs
maxAgeYrs=decimal
Units: Years Min: 0 Max: 100
Upper bound of age group
uc1
→ scenario → caseManagements → caseManagement → uc1
<uc1>
IN THIS ORDER:
| ( <endPoint ... /> )+
</uc1>
endPoint
→ scenario → caseManagements → caseManagement → uc1 → endPoint
<endPoint
decision=int
p=double
/>
Attributes
decision
decision=int
Foreign key reference to outcome node
p
p=double
Units: Proportion Min: 0 Max: 1
Probability of outcome
uc2
→ scenario → caseManagements → caseManagement → uc2
<uc2>
IN THIS ORDER:
| ( <endPoint ... /> )+
</uc2>
sev
→ scenario → caseManagements → caseManagement → sev
<sev>
IN THIS ORDER:
| ( <endPoint ... /> )+
</sev>
nmfP
→ scenario → caseManagements → caseManagement → nmfP
<nmfP>
IN THIS ORDER:
| ( <endPoint ... /> )+
</nmfP>
nmfNP
→ scenario → caseManagements → caseManagement → nmfNP
<nmfNP>
IN THIS ORDER:
| ( <endPoint ... /> )+
</nmfNP>
decisions
→ scenario → caseManagements → caseManagement → decisions
<decisions>
IN THIS ORDER:
| ( <decision ... /> )+
</decisions>
decision
→ scenario → caseManagements → caseManagement → decisions → decision
<decision
id=int
>
IN THIS ORDER:
| ( <medicate ... /> )+
</decision>
Documentation (element)
Units: List of elements
describes treatment decisions, a list of medicate descisions.
Attributes
id
id=int
Units: Number
Key of decision
medicate
→ scenario → caseManagements → caseManagement → decisions → decision → medicate
<medicate
name=string
qty=int
time=int
/>
Attributes
name
name=string
Units: string
Name of drug compound
qty
qty=int
Units: Number
Quantity of drug compound
time
time=int
Units: Number Min: 1 Max: 10000
Time step of intervention
healthSystem
→ scenario → healthSystem
<healthSystem
name=string
healthSystemMemory=int
>
IN THIS ORDER:
| <drugRegimen ... />
| <initialACR ... />
| <compliance ... />
| <nonCompliersEffective ... />
| <pSeekOfficialCareUncomplicated1 ... />
| <pSelfTreatUncomplicated ... />
| <pSeekOfficialCareUncomplicated2 ... />
| <pSeekOfficialCareSevere ... />
| <pSequelaeInpatient ... />
| <CFR ... />
</healthSystem>
- drugRegimen
- initialACR
- compliance
- nonCompliersEffective
- pSeekOfficialCareUncomplicated1
- pSelfTreatUncomplicated
- pSeekOfficialCareUncomplicated2
- pSeekOfficialCareSevere
- pSequelaeInpatient
- CFR
Documentation (element)
Units: List of elements
Description of health system
Documentation (type)
Units: List of elements
Description of health system
Attributes
name
name=string
Units: string
Name of health system
healthSystemMemory
healthSystemMemory=int
Units: Time steps Min: 1 Max: 100
Follow-up period during which a recurrence is considered to be a treatment failure
entoData
<entoData
name=string
>
IN THIS ORDER:
| EXACTLY ONE OF:
| | <nonVector ... />
| | <vector ... />
</entoData>
Documentation (element)
Units: List of elements
Description of entomological data
Documentation (type)
Units: List of elements
Data for entomodel
Attributes
name
name=string
Units: string
Name of entomology data
nonVector
→ scenario → entoData → nonVector
<nonVector
eipDuration=int
>
IN THIS ORDER:
| ( <EIRDaily ... /> )+
</nonVector>
Documentation (type)
Parameters for the non-vector transmission model.
Attributes
eipDuration
eipDuration=int
The duration of sporogony in days
vector
→ scenario → entoData → vector
<vector>
IN THIS ORDER:
| ( <anopheles ... /> )+
| ( <nonHumanHosts ... /> )*
</vector>
Documentation (element)
Parameters for the vector transmission model.
anopheles
→ scenario → entoData → vector → anopheles
<anopheles
mosquito=string
>
IN THIS ORDER:
| [ <eir ... /> ]
| [ <emergence ... /> ]
| <mosq ... />
| ( <nonHumanHosts ... /> )*
</anopheles>
Attributes
mosquito
mosquito=string
eir
→ scenario → entoData → vector → anopheles → eir
<eir
a0=double
a1=double
a2=double
b1=double
b2=double
EIRRotateAngle=double
/>
Documentation (element)
Description of entomological inoculation rate. Usually one of the eir and emergence elements are provided. If both are given, the emergence rate is validated against the eir. Providing an eir allows emergence rate calculations when emergence-rate data is not provided or not valid.
Attributes
a0
a0=double
a1
a1=double
a2
a2=double
b1
b1=double
b2
b2=double
EIRRotateAngle
EIRRotateAngle=double
emergence
→ scenario → entoData → vector → anopheles → emergence
<emergence>
IN THIS ORDER:
| <emergenceRate ... />
| <kappa ... />
| <N_v ... />
| <O_v ... />
| <S_v ... />
</emergence>
Documentation (element)
Data to drive simulation from a pre-calculated emergence rate. Usually one of the eir and emergence elements are provided. If just emergence data is given the simulation is run from this; if both are given, the emergence rate is validated against the eir.
emergenceRate
→ scenario → entoData → vector → anopheles → emergence → emergenceRate
<emergenceRate>
IN THIS ORDER:
| ( <item ... /> )+
</emergenceRate>
Documentation (element)
Units: Mosquitoes per human Min: 0 Max: inf
Mosquitoes emerging per day of the year, per human.
item
→ scenario → entoData → vector → anopheles → emergence → emergenceRate → item
<item>
double
</item>
kappa
→ scenario → entoData → vector → anopheles → emergence → kappa
<kappa>
IN THIS ORDER:
| ( <item ... /> )+
</kappa>
Documentation (element)
Units: Min: 0 Max: 1
Human infectivity (probability of infection of a mosquito biting a human) over last mosqRestDuration+extrinsicIncubationPeriod days.
N_v
→ scenario → entoData → vector → anopheles → emergence → N_v
<N_v>
IN THIS ORDER:
| ( <item ... /> )+
</N_v>
Documentation (element)
Units: individuals Min: 0 Max: inf
Total population of mosquitoes over the last mosqRestDuration+extrinsicIncubationPeriod days, per human.
O_v
→ scenario → entoData → vector → anopheles → emergence → O_v
<O_v>
IN THIS ORDER:
| ( <item ... /> )+
</O_v>
Documentation (element)
Units: individuals Min: 0 Max: inf
Population of infected mosquitoes over the last mosqRestDuration+extrinsicIncubationPeriod days, per human.
S_v
→ scenario → entoData → vector → anopheles → emergence → S_v
<S_v>
IN THIS ORDER:
| ( <item ... /> )+
</S_v>
Documentation (element)
Units: individuals Min: 0 Max: inf
Population of infectious mosquitoes over the last mosqRestDuration+extrinsicIncubationPeriod days, per human.
mosq
→ scenario → entoData → vector → anopheles → mosq
<mosq
mosqRestDuration=int
extrinsicIncubationPeriod=int
mosqSeekingDeathRate=double
mosqSeekingDuration=double
mosqEntoAvailability=double
mosqProbBiting=double
mosqProbFindRestSite=double
mosqProbResting=double
mosqProbOvipositing=double
/>
Documentation (element)
Units: List of elements
Vector species
Attributes
mosqRestDuration
mosqRestDuration=int
extrinsicIncubationPeriod
extrinsicIncubationPeriod=int
mosqSeekingDeathRate
mosqSeekingDeathRate=double
mosqSeekingDuration
mosqSeekingDuration=double
mosqEntoAvailability
mosqEntoAvailability=double
mosqProbBiting
mosqProbBiting=double
mosqProbFindRestSite
mosqProbFindRestSite=double
mosqProbResting
mosqProbResting=double
mosqProbOvipositing
mosqProbOvipositing=double
nonHumanHosts
→ scenario → entoData → vector → anopheles → nonHumanHosts
<nonHumanHosts
mosqEntoAvailability=double
mosqProbBiting=double
mosqProbFindRestSite=double
mosqProbResting=double
/>
Documentation (element)
Units: List of elements
Non human host parameters, per type of host (must match up with non-species-specific parameters).
Attributes
mosqEntoAvailability
mosqEntoAvailability=double
mosqProbBiting
mosqProbBiting=double
mosqProbFindRestSite
mosqProbFindRestSite=double
mosqProbResting
mosqProbResting=double
nonHumanHosts
→ scenario → entoData → vector → nonHumanHosts
<nonHumanHosts
[ name=string ]
populationSize=int
/>
Documentation (element)
Populations of non-human hosts (must also have species-specific parameters).
Attributes
name
name=string
populationSize
populationSize=int
parameters
→ scenario → parameters
<parameters
interval=int
iseed=int
delta=double
latentp=int
>
IN THIS ORDER:
| ( <parameter ... /> )+
</parameters>
Documentation (element)
Parameters for mathematical model
Documentation (type)
Units: List of elements
Parameter vector
Attributes
interval
interval=int
Units: Days
Simulation step
iseed
iseed=int
Units: Number
Seed for RNG
delta
delta=double
Units: ? Redundant
this no longer seems to be used
latentp
latentp=int
Units: Time steps Min: 0 Max: 20
pre-erythrocytic latent period, in time steps
parameter
→ scenario → parameters → parameter
<parameter
name=string
number=int
value=double
[ include=boolean ]
/>
Attributes
name
name=string
Units: string
Name of parameter
number
number=int
Units: Number Min: 1 Max: 100
Reference number of input parameter
value
value=double
Units: Number Min: 0
Parameter value
include
include=boolean
Units: Number Min: 0 Max: 1
True if parameter is to be sampled in optimization runs. Not used in simulator app.
Schema 7 documentation
Generated from: scenario_7.xsd
.
Key:
abc required (one)
[ def ] optional (zero or one)
( ghi )* any number (zero or more)
( jkl )+ at least one
( mno ){2,inf} two or more occurrences
scenario
→ scenario
<scenario
schemaVersion=int
analysisNo=int
maximumAgeYrs=double
name=string
popSize=int
simulationDuration=int
modelVersion=int
wuID=int
assimMode=("0" or "1")
mode=("1" or "2" or "3" or "4")
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:noNamespaceSchemaLocation="scenario_7.xsd"
>
IN THIS ORDER:
| <demography ... />
| <monitoring ... />
| <interventions ... />
| [ <caseManagements ... /> ]
| [ <healthSystem ... /> ]
| <entoData ... />
| <parameters ... />
</scenario>
Documentation (element)
Units: List of elements
Description of scenario
Attributes
schemaVersion
schemaVersion=int
Version of xml schema. If not equal to the current version an error is thrown. Use SchemaTranslator to update xml files.
analysisNo
analysisNo=int
Units: Number Min: 1 Max: 100000000
Unique identifier of scenario
maximumAgeYrs
maximumAgeYrs=double
Units: Number Min: 0 Max: 100
Maximum age of simulated humans
name
name=string
Units: string
Name of intervention
popSize
popSize=int
Units: Count Min: 1 Max: 100000
Population size
simulationDuration
simulationDuration=int
Units: Time steps Min: 1 Max: 36500
Duration of main simulation
modelVersion
modelVersion=int
Units: Code Min: 0 Max: 100000000
Model Version
wuID
wuID=int
Units: Number Min: 1 Max: 100000000
Work unit ID. Only used to validate checkpointing, to prevent checkpoint cheats.
assimMode
assimMode=("0" or "1")
Units: Code
Assimilator mode. Defines output of simulator as either complete (columns: time,agegroup,measure,value) or minimal (single column: value)
mode
mode=("1" or "2" or "3" or "4")
Units: Code
Simulation mode
demography
→ scenario → demography
<demography
name=string
[ growthRate=double ]
>
IN THIS ORDER:
| <ageGroup ... />
</demography>
Documentation (element)
Units: List of elements
Description of demography
Documentation (type)
Units: List of elements
Description of demography
Attributes
name
name=string
Units: string
Name of demography data
growthRate
growthRate=double
Units: Number Min: 0 Max: 0
Growth rate of human population.
ageGroup
→ scenario → demography → ageGroup
<ageGroup
lowerbound=double
>
IN THIS ORDER:
| ( <group ... /> )+
</ageGroup>
Documentation (element)
Units: List of elements
List of age groups included in demography
Documentation (type)
Units: List of elements
List of age groups included in demography or surveys
Attributes
lowerbound
lowerbound=double
Units: Years Min: 0 Max: 100
Lower bound of age group
group
→ scenario → demography → ageGroup → group
<group
poppercent=double
upperbound=double
/>
Attributes
poppercent
poppercent=double
upperbound
upperbound=double
monitoring
→ scenario → monitoring
<monitoring
name=string
>
IN THIS ORDER:
| <surveys ... />
| <ageGroup ... />
</monitoring>
Documentation (element)
Units: List of elements
Description of surveys
Documentation (type)
Units: List of elements
Description of surveys
Attributes
name
name=string
Units: string
Name of monitoring data
surveys
→ scenario → monitoring → surveys
<surveys
detectionLimit=double
summaryOption=int
>
IN THIS ORDER:
| <surveyTime ... />
</surveys>
Documentation (element)
Units: List of elements
List of survey times
Attributes
detectionLimit
detectionLimit=double
Units: parasites/micolitre Min: 0 Max: 1000
Detection limit for parasitemia
summaryOption
summaryOption=int
Units: Code
Requested output variables
surveyTime
→ scenario → monitoring → surveys → surveyTime
<surveyTime>
int
</surveyTime>
Documentation (element)
Units: Number Min: 0
Survey time
ageGroup
→ scenario → monitoring → ageGroup
<ageGroup
lowerbound=double
>
IN THIS ORDER:
| ( <group ... /> )+
</ageGroup>
Documentation (element)
Units: List of elements
List of age groups included in demography or surveys
Documentation (type)
Units: List of elements
List of age groups included in surveys
Attributes
lowerbound
lowerbound=double
Units: Years Min: 0 Max: 100
Lower bound of age group
group
→ scenario → monitoring → ageGroup → group
<group
upperbound=double
/>
Attributes
upperbound
upperbound=double
interventions
<interventions
name=string
>
IN THIS ORDER:
| ( <vaccineDescription ... /> ){0,3}
| [ <iptiDescription ... /> ]
| [ <ITNDescription ... /> ]
| [ <IRSDescription ... /> ]
| [ <continuous ... /> ]
| [ <timed ... /> ]
</interventions>
Documentation (element)
Units: List of elements
List of interventions
Documentation (type)
Units: List of elements
List of interventions
Attributes
name
name=string
Units: string
Name of age specific intervention
vaccineDescription
→ scenario → interventions → vaccineDescription
<vaccineDescription
vaccineType=int
>
IN THIS ORDER:
| <halfLifeYrs ... />
| <efficacyB ... />
| ( <initialEfficacy ... /> )+
</vaccineDescription>
Attributes
vaccineType
vaccineType=int
Units: Code
Type of vaccine
halfLifeYrs
→ scenario → interventions → vaccineDescription → halfLifeYrs
<halfLifeYrs
value=double
/>
Documentation (element)
Units: Years Min: 0 Max: 100
Half life of drug effect
Attributes
value
value=double
TODO
efficacyB
→ scenario → interventions → vaccineDescription → efficacyB
<efficacyB
value=double
/>
Documentation (element)
Units: Positive real Min: 0.001 Max: 1.00E+06
Measure of variation in vaccine efficacy
Attributes
value
value=double
TODO
initialEfficacy
→ scenario → interventions → vaccineDescription → initialEfficacy
<initialEfficacy
value=double
/>
Attributes
value
value=double
TODO
iptiDescription
→ scenario → interventions → iptiDescription
<iptiDescription
iptiEffect=int
>
IN THIS ORDER:
| ( <infGenotype ... /> )+
</iptiDescription>
Attributes
iptiEffect
iptiEffect=int
infGenotype
→ scenario → interventions → iptiDescription → infGenotype
<infGenotype
name=string
freq=double
ACR=double
proph=int
tolPeriod=int
atten=int
/>
Attributes
name
name=string
Units: string
Name of age specific intervention
freq
freq=double
ACR
ACR=double
proph
proph=int
tolPeriod
tolPeriod=int
atten
atten=int
ITNDescription
→ scenario → interventions → ITNDescription
<ITNDescription
name=string
>
IN THIS ORDER:
| ( <anopheles ... /> )+
</ITNDescription>
Attributes
name
name=string
Units: string
Name of Insecticide Treated Net intervention
anopheles
→ scenario → interventions → ITNDescription → anopheles
<anopheles
mosquito=string
>
IN THIS ORDER:
| <deterrency ... />
| <preprandialKillingEffect ... />
| <postprandialKillingEffect ... />
</anopheles>
Attributes
mosquito
mosquito=string
deterrency
→ scenario → interventions → ITNDescription → anopheles → deterrency
<deterrency
initial=double
halflife=double
[ Weibullk=double ]
/>
Documentation (element)
Units: None Min: 0 Max: 1
One minus this multiplies the host's availability (before decay).
Documentation (type)
Specification of a proportion with Weibull or exponential decay.
Attributes
initial
initial=double
Units: None Min: 0 Max: 1
The value before any decay.
halflife
halflife=double
Units: Years Min: 0
Half-life in years (more generally, halflife/ln(2) is lambda from the Weibull distribution).
Weibullk
Weibullk=double
Min: 0
The parameter k of the Weibull distribution. If missing, 1.0 is used (equivalent to exponential decay).
preprandialKillingEffect
→ scenario → interventions → ITNDescription → anopheles → preprandialKillingEffect
<preprandialKillingEffect
initial=double
halflife=double
[ Weibullk=double ]
/>
Documentation (element)
Units: None Min: 0 Max: 1
One minus this multiplies the survival rate of mosquitoes attempting to bite a host.
Documentation (type)
Specification of a proportion with Weibull or exponential decay.
Attributes
initial
initial=double
Units: None Min: 0 Max: 1
The value before any decay.
halflife
halflife=double
Units: Years Min: 0
Half-life in years (more generally, halflife/ln(2) is lambda from the Weibull distribution).
Weibullk
Weibullk=double
Min: 0
The parameter k of the Weibull distribution. If missing, 1.0 is used (equivalent to exponential decay).
postprandialKillingEffect
→ scenario → interventions → ITNDescription → anopheles → postprandialKillingEffect
<postprandialKillingEffect
initial=double
halflife=double
[ Weibullk=double ]
/>
Documentation (element)
Units: None Min: 0 Max: 1
One minus this multiplies the survival rate of mosquitoes attempting to escape after biting a host.
Documentation (type)
Specification of a proportion with Weibull or exponential decay.
Attributes
initial
initial=double
Units: None Min: 0 Max: 1
The value before any decay.
halflife
halflife=double
Units: Years Min: 0
Half-life in years (more generally, halflife/ln(2) is lambda from the Weibull distribution).
Weibullk
Weibullk=double
Min: 0
The parameter k of the Weibull distribution. If missing, 1.0 is used (equivalent to exponential decay).
IRSDescription
→ scenario → interventions → IRSDescription
<IRSDescription
name=string
>
IN THIS ORDER:
| ( <anopheles ... /> )+
</IRSDescription>
Attributes
name
name=string
Units: string
Name of Indoor Residual Spraying intervention
anopheles
→ scenario → interventions → IRSDescription → anopheles
<anopheles
mosquito=string
>
IN THIS ORDER:
| <deterrency ... />
| <killingEffect ... />
</anopheles>
Attributes
mosquito
mosquito=string
deterrency
→ scenario → interventions → IRSDescription → anopheles → deterrency
<deterrency
initial=double
halflife=double
[ Weibullk=double ]
/>
Documentation (element)
Units: None Min: 0 Max: 1
One minus this multiplies the host's availability.
Documentation (type)
Specification of a proportion with Weibull or exponential decay.
Attributes
initial
initial=double
Units: None Min: 0 Max: 1
The value before any decay.
halflife
halflife=double
Units: Years Min: 0
Half-life in years (more generally, halflife/ln(2) is lambda from the Weibull distribution).
Weibullk
Weibullk=double
Min: 0
The parameter k of the Weibull distribution. If missing, 1.0 is used (equivalent to exponential decay).
killingEffect
→ scenario → interventions → IRSDescription → anopheles → killingEffect
<killingEffect
initial=double
halflife=double
[ Weibullk=double ]
/>
Documentation (element)
Units: None Min: 0 Max: 1
One minus this multiplies the survival rate of resting mosquitoes.
Documentation (type)
Specification of a proportion with Weibull or exponential decay.
Attributes
initial
initial=double
Units: None Min: 0 Max: 1
The value before any decay.
halflife
halflife=double
Units: Years Min: 0
Half-life in years (more generally, halflife/ln(2) is lambda from the Weibull distribution).
Weibullk
Weibullk=double
Min: 0
The parameter k of the Weibull distribution. If missing, 1.0 is used (equivalent to exponential decay).
continuous
→ scenario → interventions → continuous
<continuous>
IN THIS ORDER:
| ( <vaccine ... /> )*
| ( <ITN ... /> )*
| ( <ipti ... /> )*
</continuous>
vaccine
→ scenario → interventions → continuous → vaccine
<vaccine
targetAgeYrs=double
coverage=double
/>
Documentation (element)
Units: List of elements
List of age groups for vaccination
Attributes
targetAgeYrs
targetAgeYrs=double
Units: Years Min: 0 Max: 100
Target age of intervention
coverage
coverage=double
Units: Proportion Min: 0 Max: 1
Coverage of intervention
ITN
→ scenario → interventions → continuous → ITN
<ITN
targetAgeYrs=double
coverage=double
/>
Documentation (element)
Units: List of elements
Description of ITN deployment in the community
Attributes
targetAgeYrs
targetAgeYrs=double
Units: Years Min: 0 Max: 100
Target age of intervention
coverage
coverage=double
Units: Proportion Min: 0 Max: 1
Coverage of intervention
ipti
→ scenario → interventions → continuous → ipti
<ipti
targetAgeYrs=double
coverage=double
/>
Documentation (element)
Units: List of elements
List of age groups for IPTi distribution
Attributes
targetAgeYrs
targetAgeYrs=double
Units: Years Min: 0 Max: 100
Target age of intervention
coverage
coverage=double
Units: Proportion Min: 0 Max: 1
Coverage of intervention
timed
→ scenario → interventions → timed
<timed>
IN THIS ORDER:
| ( <intervention ... /> )+
</timed>
Documentation (element)
Units: List of elements
List of timed interventions
Documentation (type)
Units: List of elements
List of timed interventions
intervention
→ scenario → interventions → timed → intervention
<intervention
time=int
>
IN THIS ORDER:
| [ <changeHS ... /> ]
| [ <changeEIR ... /> ]
| [ <MDA ... /> ]
| [ <vaccinate ... /> ]
| [ <ITN ... /> ]
| [ <IRS ... /> ]
| [ <ipti ... /> ]
</intervention>
Attributes
time
time=int
Units: Number Min: 1 Max: 10000
Time step of intervention
changeHS
→ scenario → interventions → timed → intervention → changeHS
<changeHS
name=string
healthSystemMemory=int
>
IN THIS ORDER:
| <drugRegimen ... />
| <initialACR ... />
| <compliance ... />
| <nonCompliersEffective ... />
| <pSeekOfficialCareUncomplicated1 ... />
| <pSelfTreatUncomplicated ... />
| <pSeekOfficialCareUncomplicated2 ... />
| <pSeekOfficialCareSevere ... />
| <pSequelaeInpatient ... />
| <CFR ... />
</changeHS>
- drugRegimen
- initialACR
- compliance
- nonCompliersEffective
- pSeekOfficialCareUncomplicated1
- pSelfTreatUncomplicated
- pSeekOfficialCareUncomplicated2
- pSeekOfficialCareSevere
- pSequelaeInpatient
- CFR
Documentation (type)
Units: List of elements
Description of health system
Attributes
name
name=string
Units: string
Name of health system
healthSystemMemory
healthSystemMemory=int
Units: Time steps Min: 1 Max: 100
Follow-up period during which a recurrence is considered to be a treatment failure
drugRegimen
→ scenario → healthSystem → drugRegimen
<drugRegimen
firstLine=string
secondLine=string
inpatient=string
/>
Documentation (element)
Units: List of elements
Description of drug regimen
Attributes
firstLine
firstLine=string
Units: Drug code
Code for first line drug
secondLine
secondLine=string
Units: Drug code
Code for second line drug
inpatient
inpatient=string
Units: Drug code
Code for drug used for treating inpatients
initialACR
→ scenario → healthSystem → initialACR
<initialACR>
IN THIS ORDER:
| [ <CQ ... /> ]
| [ <SP ... /> ]
| [ <AQ ... /> ]
| [ <SPAQ ... /> ]
| [ <ACT ... /> ]
| [ <QN ... /> ]
| <selfTreatment ... />
</initialACR>
Documentation (element)
Units: Proportion Min: 0 Max: 1
Initial cure rate
CQ
→ scenario → healthSystem → initialACR → CQ
<CQ
value=double
/>
Documentation (element)
Units: List of elements
Chloroquine
Attributes
value
value=double
TODO
SP
→ scenario → healthSystem → initialACR → SP
<SP
value=double
/>
Documentation (element)
Units: List of elements
Sulphadoxine-pyrimethamine
Attributes
value
value=double
TODO
AQ
→ scenario → healthSystem → initialACR → AQ
<AQ
value=double
/>
Documentation (element)
Units: List of elements
Amodiaquine
Attributes
value
value=double
TODO
SPAQ
→ scenario → healthSystem → initialACR → SPAQ
<SPAQ
value=double
/>
Documentation (element)
Units: List of elements
Sulphadoxine-pyrimethamine/Amodiaquine
Attributes
value
value=double
TODO
ACT
→ scenario → healthSystem → initialACR → ACT
<ACT
value=double
/>
Documentation (element)
Units: List of elements
Artemisinine combination therapy
Attributes
value
value=double
TODO
QN
→ scenario → healthSystem → initialACR → QN
<QN
value=double
/>
Documentation (element)
Units: List of elements
Quinine
Attributes
value
value=double
TODO
selfTreatment
→ scenario → healthSystem → initialACR → selfTreatment
<selfTreatment
value=double
/>
Documentation (element)
Units: Proportion Min: 0 Max: 1
Probability of self-treatment
Attributes
value
value=double
TODO
compliance
→ scenario → healthSystem → compliance
<compliance>
IN THIS ORDER:
| [ <CQ ... /> ]
| [ <SP ... /> ]
| [ <AQ ... /> ]
| [ <SPAQ ... /> ]
| [ <ACT ... /> ]
| [ <QN ... /> ]
| <selfTreatment ... />
</compliance>
Documentation (element)
Units: Proportion Min: 0 Max: 1
Adherence to treatment
nonCompliersEffective
→ scenario → healthSystem → nonCompliersEffective
<nonCompliersEffective>
IN THIS ORDER:
| [ <CQ ... /> ]
| [ <SP ... /> ]
| [ <AQ ... /> ]
| [ <SPAQ ... /> ]
| [ <ACT ... /> ]
| [ <QN ... /> ]
| <selfTreatment ... />
</nonCompliersEffective>
Documentation (element)
Units: Proportion Min: 0 Max: 1
Effectiveness of treatment of non compliers
pSeekOfficialCareUncomplicated1
→ scenario → healthSystem → pSeekOfficialCareUncomplicated1
<pSeekOfficialCareUncomplicated1
value=double
/>
Documentation (element)
Units: Proportion Min: 0 Max: 1
Probability that a patient with newly incident uncomplicated disease seeks official care
Attributes
value
value=double
TODO
pSelfTreatUncomplicated
→ scenario → healthSystem → pSelfTreatUncomplicated
<pSelfTreatUncomplicated
value=double
/>
Documentation (element)
Units: Proportion Min: 0 Max: 1
Probability that a patient with uncomplicated disease self-treats
Attributes
value
value=double
TODO
pSeekOfficialCareUncomplicated2
→ scenario → healthSystem → pSeekOfficialCareUncomplicated2
<pSeekOfficialCareUncomplicated2
value=double
/>
Documentation (element)
Units: Proportion Min: 0 Max: 1
Probability that a patient with recurrence of uncomplicated disease seeks official care
Attributes
value
value=double
TODO
pSeekOfficialCareSevere
→ scenario → healthSystem → pSeekOfficialCareSevere
<pSeekOfficialCareSevere
value=double
/>
Documentation (element)
Units: Proportion Min: 0 Max: 1
Probability that a patient with severe disease seeks official care
Attributes
value
value=double
TODO
pSequelaeInpatient
→ scenario → healthSystem → pSequelaeInpatient
<pSequelaeInpatient>
IN THIS ORDER:
| ( <item ... /> )+
</pSequelaeInpatient>
Documentation (element)
Units: List of elements
List of age specific probabilities of sequelae in inpatients
item
→ scenario → healthSystem → pSequelaeInpatient → item
<item
value=double
maxAgeYrs=double
/>
Attributes
value
value=double
TODO
maxAgeYrs
maxAgeYrs=double
Units: Years Min: 0 Max: 100
Upper bound of age group
CFR
→ scenario → healthSystem → CFR
<CFR>
IN THIS ORDER:
| ( <group ... /> )+
</CFR>
group
→ scenario → healthSystem → CFR → group
<group
cfr=double
lowerbound=double
/>
Attributes
cfr
cfr=double
Units: Proportion Min: 0 Max: 1
Case fatality rate
lowerbound
lowerbound=double
Units: Years Min: 0 Max: 100
Lower bound of age group
changeEIR
→ scenario → interventions → timed → intervention → changeEIR
<changeEIR
eipDuration=int
>
IN THIS ORDER:
| ( <EIRDaily ... /> )+
</changeEIR>
Documentation (type)
Parameters for the non-vector transmission model.
Attributes
eipDuration
eipDuration=int
The duration of sporogony in days
EIRDaily
→ scenario → entoData → nonVector → EIRDaily
<EIRDaily
[ origin=string ]
>
double
</EIRDaily>
Documentation (type)
Units: Number Min: 1
Value of daily EIR
Attributes
origin
origin=string
MDA
→ scenario → interventions → timed → intervention → MDA
<MDA
[ maxAge=double ]
[ minAge=double ]
coverage=double
/>
Documentation (element)
Units: List of elements
Description of mass drug deployment in the community
Attributes
maxAge
maxAge=double
Units: Years Min: 0 Max: 100
Maximum age of eligible individuals (defaults to 100)
minAge
minAge=double
Units: Years Min: 0 Max: 100
Minimum age of eligible individuals (defaults to 0)
coverage
coverage=double
Units: Proportion Min: 0 Max: 1
Coverage of intervention
vaccinate
→ scenario → interventions → timed → intervention → vaccinate
<vaccinate
[ maxAge=double ]
[ minAge=double ]
coverage=double
/>
Documentation (element)
Units: List of elements
Description of vaccine deployment in the community
Attributes
maxAge
maxAge=double
Units: Years Min: 0 Max: 100
Maximum age of eligible individuals (defaults to 100)
minAge
minAge=double
Units: Years Min: 0 Max: 100
Minimum age of eligible individuals (defaults to 0)
coverage
coverage=double
Units: Proportion Min: 0 Max: 1
Coverage of intervention
ITN
→ scenario → interventions → timed → intervention → ITN
<ITN
[ maxAge=double ]
[ minAge=double ]
coverage=double
/>
Documentation (element)
Units: List of elements
Description of ITN deployment in the community
Attributes
maxAge
maxAge=double
Units: Years Min: 0 Max: 100
Maximum age of eligible individuals (defaults to 100)
minAge
minAge=double
Units: Years Min: 0 Max: 100
Minimum age of eligible individuals (defaults to 0)
coverage
coverage=double
Units: Proportion Min: 0 Max: 1
Coverage of intervention
IRS
→ scenario → interventions → timed → intervention → IRS
<IRS
[ maxAge=double ]
[ minAge=double ]
coverage=double
/>
Documentation (element)
Units: List of elements
Description of IRS deployment in the community
Attributes
maxAge
maxAge=double
Units: Years Min: 0 Max: 100
Maximum age of eligible individuals (defaults to 100)
minAge
minAge=double
Units: Years Min: 0 Max: 100
Minimum age of eligible individuals (defaults to 0)
coverage
coverage=double
Units: Proportion Min: 0 Max: 1
Coverage of intervention
ipti
→ scenario → interventions → timed → intervention → ipti
<ipti
[ maxAge=double ]
[ minAge=double ]
coverage=double
/>
Documentation (element)
Units: List of elements
List of age groups for IPTi distribution
Attributes
maxAge
maxAge=double
Units: Years Min: 0 Max: 100
Maximum age of eligible individuals (defaults to 100)
minAge
minAge=double
Units: Years Min: 0 Max: 100
Minimum age of eligible individuals (defaults to 0)
coverage
coverage=double
Units: Proportion Min: 0 Max: 1
Coverage of intervention
caseManagements
<caseManagements
name=string
reportingPeriodMemory=int
>
IN THIS ORDER:
| ( <caseManagement ... /> )+
</caseManagements>
Documentation (element)
Units: List of elements
List of case managment interventions
Documentation (type)
Units: List of elements
List of age-specific case managment descriptions
Attributes
name
name=string
Units: string
Name of age specific intervention
reportingPeriodMemory
reportingPeriodMemory=int
Units: Time steps Min: 1 Max: 100
Follow-up period during which a recurrence is considered to be a treatment failure
caseManagement
→ scenario → caseManagements → caseManagement
<caseManagement
maxAgeYrs=decimal
>
IN THIS ORDER:
| <uc1 ... />
| <uc2 ... />
| <sev ... />
| <nmfP ... />
| <nmfNP ... />
| <decisions ... />
</caseManagement>
Documentation (element)
Units: List of elements
Age-specific case management description, describes entry-points and decisions, with entry-point-specific decision probabilities
Attributes
maxAgeYrs
maxAgeYrs=decimal
Units: Years Min: 0 Max: 100
Upper bound of age group
uc1
→ scenario → caseManagements → caseManagement → uc1
<uc1>
IN THIS ORDER:
| ( <endPoint ... /> )+
</uc1>
endPoint
→ scenario → caseManagements → caseManagement → uc1 → endPoint
<endPoint
decision=int
p=double
/>
Attributes
decision
decision=int
Foreign key reference to outcome node
p
p=double
Units: Proportion Min: 0 Max: 1
Probability of outcome
uc2
→ scenario → caseManagements → caseManagement → uc2
<uc2>
IN THIS ORDER:
| ( <endPoint ... /> )+
</uc2>
sev
→ scenario → caseManagements → caseManagement → sev
<sev>
IN THIS ORDER:
| ( <endPoint ... /> )+
</sev>
nmfP
→ scenario → caseManagements → caseManagement → nmfP
<nmfP>
IN THIS ORDER:
| ( <endPoint ... /> )+
</nmfP>
nmfNP
→ scenario → caseManagements → caseManagement → nmfNP
<nmfNP>
IN THIS ORDER:
| ( <endPoint ... /> )+
</nmfNP>
decisions
→ scenario → caseManagements → caseManagement → decisions
<decisions>
IN THIS ORDER:
| ( <decision ... /> )+
</decisions>
decision
→ scenario → caseManagements → caseManagement → decisions → decision
<decision
id=int
>
IN THIS ORDER:
| ( <medicate ... /> )+
</decision>
Documentation (element)
Units: List of elements
describes treatment decisions, a list of medicate descisions.
Attributes
id
id=int
Units: Number
Key of decision
medicate
→ scenario → caseManagements → caseManagement → decisions → decision → medicate
<medicate
name=string
qty=int
time=int
/>
Attributes
name
name=string
Units: string
Name of drug compound
qty
qty=int
Units: Number
Quantity of drug compound
time
time=int
Units: Number Min: 1 Max: 10000
Time step of intervention
healthSystem
→ scenario → healthSystem
<healthSystem
name=string
healthSystemMemory=int
>
IN THIS ORDER:
| <drugRegimen ... />
| <initialACR ... />
| <compliance ... />
| <nonCompliersEffective ... />
| <pSeekOfficialCareUncomplicated1 ... />
| <pSelfTreatUncomplicated ... />
| <pSeekOfficialCareUncomplicated2 ... />
| <pSeekOfficialCareSevere ... />
| <pSequelaeInpatient ... />
| <CFR ... />
</healthSystem>
- drugRegimen
- initialACR
- compliance
- nonCompliersEffective
- pSeekOfficialCareUncomplicated1
- pSelfTreatUncomplicated
- pSeekOfficialCareUncomplicated2
- pSeekOfficialCareSevere
- pSequelaeInpatient
- CFR
Documentation (element)
Units: List of elements
Description of health system
Documentation (type)
Units: List of elements
Description of health system
Attributes
name
name=string
Units: string
Name of health system
healthSystemMemory
healthSystemMemory=int
Units: Time steps Min: 1 Max: 100
Follow-up period during which a recurrence is considered to be a treatment failure
entoData
<entoData
name=string
>
IN THIS ORDER:
| EXACTLY ONE OF:
| | <nonVector ... />
| | <vector ... />
</entoData>
Documentation (element)
Units: List of elements
Description of entomological data
Documentation (type)
Units: List of elements
Data for entomodel
Attributes
name
name=string
Units: string
Name of entomology data
nonVector
→ scenario → entoData → nonVector
<nonVector
eipDuration=int
>
IN THIS ORDER:
| ( <EIRDaily ... /> )+
</nonVector>
Documentation (type)
Parameters for the non-vector transmission model.
Attributes
eipDuration
eipDuration=int
The duration of sporogony in days
vector
→ scenario → entoData → vector
<vector>
IN THIS ORDER:
| ( <anopheles ... /> )+
| ( <nonHumanHosts ... /> )*
</vector>
Documentation (element)
Parameters for the vector transmission model.
anopheles
→ scenario → entoData → vector → anopheles
<anopheles
mosquito=string
>
IN THIS ORDER:
| <eir ... />
| <mosq ... />
| ( <nonHumanHosts ... /> )*
</anopheles>
Attributes
mosquito
mosquito=string
eir
→ scenario → entoData → vector → anopheles → eir
<eir
a0=double
a1=double
a2=double
b1=double
b2=double
EIRRotateAngle=double
/>
Documentation (element)
Units: Element
Description of entomological inoculation rate
Attributes
a0
a0=double
a1
a1=double
a2
a2=double
b1
b1=double
b2
b2=double
EIRRotateAngle
EIRRotateAngle=double
mosq
→ scenario → entoData → vector → anopheles → mosq
<mosq
mosqRestDuration=int
extrinsicIncubationPeriod=int
mosqSeekingDeathRate=double
mosqSeekingDuration=double
mosqEntoAvailability=double
mosqProbBiting=double
mosqProbFindRestSite=double
mosqProbResting=double
mosqProbOvipositing=double
emergenceRateFilename=string
/>
Documentation (element)
Units: List of elements
Vector species
Attributes
mosqRestDuration
mosqRestDuration=int
extrinsicIncubationPeriod
extrinsicIncubationPeriod=int
mosqSeekingDeathRate
mosqSeekingDeathRate=double
mosqSeekingDuration
mosqSeekingDuration=double
mosqEntoAvailability
mosqEntoAvailability=double
mosqProbBiting
mosqProbBiting=double
mosqProbFindRestSite
mosqProbFindRestSite=double
mosqProbResting
mosqProbResting=double
mosqProbOvipositing
mosqProbOvipositing=double
emergenceRateFilename
emergenceRateFilename=string
nonHumanHosts
→ scenario → entoData → vector → anopheles → nonHumanHosts
<nonHumanHosts
mosqEntoAvailability=double
mosqProbBiting=double
mosqProbFindRestSite=double
mosqProbResting=double
/>
Documentation (element)
Units: List of elements
Non human host parameters, per type of host (must match up with non-species-specific parameters).
Attributes
mosqEntoAvailability
mosqEntoAvailability=double
mosqProbBiting
mosqProbBiting=double
mosqProbFindRestSite
mosqProbFindRestSite=double
mosqProbResting
mosqProbResting=double
nonHumanHosts
→ scenario → entoData → vector → nonHumanHosts
<nonHumanHosts
[ name=string ]
populationSize=int
/>
Documentation (element)
Populations of non-human hosts (must also have species-specific parameters).
Attributes
name
name=string
populationSize
populationSize=int
parameters
→ scenario → parameters
<parameters
interval=int
iseed=int
delta=double
latentp=int
>
IN THIS ORDER:
| ( <parameter ... /> )+
</parameters>
Documentation (element)
Parameters for mathematical model
Documentation (type)
Units: List of elements
Parameter vector
Attributes
interval
interval=int
Units: Days
Simulation step
iseed
iseed=int
Units: Number
Seed for RNG
delta
delta=double
Units: ? Redundant
this no longer seems to be used
latentp
latentp=int
Units: Time steps Min: 0 Max: 20
pre-erythrocytic latent period, in time steps
parameter
→ scenario → parameters → parameter
<parameter
name=string
number=int
value=double
[ include=boolean ]
/>
Attributes
name
name=string
Units: string
Name of parameter
number
number=int
Units: Number Min: 1 Max: 100
Reference number of input parameter
value
value=double
Units: Number Min: 0
Parameter value
include
include=boolean
Units: Number Min: 0 Max: 1
True if parameter is to be sampled in optimization runs. Not used in simulator app.
Schema 6 documentation
Generated from: scenario_6.xsd
.
Key:
abc required (one)
[ def ] optional (zero or one)
( ghi )* any number (zero or more)
( jkl )+ at least one
( mno ){2,inf} two or more occurrences
scenario
→ scenario
<scenario
schemaVersion=int
analysisNo=int
maximumAgeYrs=double
name=string
popSize=int
simulationDuration=int
modelVersion=int
wuID=int
assimMode=("0" or "1")
mode=("1" or "2" or "3" or "4")
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:noNamespaceSchemaLocation="scenario_6.xsd"
>
IN THIS ORDER:
| <demography ... />
| <monitoring ... />
| <interventions ... />
| [ <caseManagements ... /> ]
| [ <healthSystem ... /> ]
| <entoData ... />
| <parameters ... />
</scenario>
Documentation (element)
Units: List of elements
Description of scenario
Attributes
schemaVersion
schemaVersion=int
Version of xml schema. If not equal to the current version an error is thrown. Use SchemaTranslator to update xml files.
analysisNo
analysisNo=int
Units: Number Min: 1 Max: 100000000
Unique identifier of scenario
maximumAgeYrs
maximumAgeYrs=double
Units: Number Min: 0 Max: 100
Maximum age of simulated humans
name
name=string
Units: string
Name of intervention
popSize
popSize=int
Units: Count Min: 1 Max: 100000
Population size
simulationDuration
simulationDuration=int
Units: Time steps Min: 1 Max: 36500
Duration of main simulation
modelVersion
modelVersion=int
Units: Code Min: 0 Max: 100000000
Model Version
wuID
wuID=int
Units: Number Min: 1 Max: 100000000
Work unit ID. Only used to validate checkpointing, to prevent checkpoint cheats.
assimMode
assimMode=("0" or "1")
Units: Code
Assimilator mode. Defines output of simulator as either complete (columns: time,agegroup,measure,value) or minimal (single column: value)
mode
mode=("1" or "2" or "3" or "4")
Units: Code
Simulation mode
demography
→ scenario → demography
<demography
name=string
[ growthRate=double ]
>
IN THIS ORDER:
| <ageGroup ... />
</demography>
Documentation (element)
Units: List of elements
Description of demography
Documentation (type)
Units: List of elements
Description of demography
Attributes
name
name=string
Units: string
Name of demography data
growthRate
growthRate=double
Units: Number Min: 0 Max: 0
Growth rate of human population.
ageGroup
→ scenario → demography → ageGroup
<ageGroup
lowerbound=double
>
IN THIS ORDER:
| ( <group ... /> )+
</ageGroup>
Documentation (element)
Units: List of elements
List of age groups included in demography
Documentation (type)
Units: List of elements
List of age groups included in demography or surveys
Attributes
lowerbound
lowerbound=double
Units: Years Min: 0 Max: 100
Lower bound of age group
group
→ scenario → demography → ageGroup → group
<group
poppercent=double
upperbound=double
/>
Attributes
poppercent
poppercent=double
upperbound
upperbound=double
monitoring
→ scenario → monitoring
<monitoring
name=string
>
IN THIS ORDER:
| <surveys ... />
| <ageGroup ... />
</monitoring>
Documentation (element)
Units: List of elements
Description of surveys
Documentation (type)
Units: List of elements
Description of surveys
Attributes
name
name=string
Units: string
Name of monitoring data
surveys
→ scenario → monitoring → surveys
<surveys
detectionLimit=double
summaryOption=int
>
IN THIS ORDER:
| <surveyTime ... />
</surveys>
Documentation (element)
Units: List of elements
List of survey times
Attributes
detectionLimit
detectionLimit=double
Units: parasites/micolitre Min: 0 Max: 1000
Detection limit for parasitemia
summaryOption
summaryOption=int
Units: Code
Requested output variables
surveyTime
→ scenario → monitoring → surveys → surveyTime
<surveyTime>
int
</surveyTime>
Documentation (element)
Units: Number Min: 0
Survey time
ageGroup
→ scenario → monitoring → ageGroup
<ageGroup
lowerbound=double
>
IN THIS ORDER:
| ( <group ... /> )+
</ageGroup>
Documentation (element)
Units: List of elements
List of age groups included in demography or surveys
Documentation (type)
Units: List of elements
List of age groups included in surveys
Attributes
lowerbound
lowerbound=double
Units: Years Min: 0 Max: 100
Lower bound of age group
group
→ scenario → monitoring → ageGroup → group
<group
upperbound=double
/>
Attributes
upperbound
upperbound=double
interventions
<interventions
name=string
>
IN THIS ORDER:
| ( <vaccineDescription ... /> ){0,3}
| [ <iptiDescription ... /> ]
| [ <continuous ... /> ]
| [ <timed ... /> ]
</interventions>
Documentation (element)
Units: List of elements
List of interventions
Documentation (type)
Units: List of elements
List of interventions
Attributes
name
name=string
Units: string
Name of age specific intervention
vaccineDescription
→ scenario → interventions → vaccineDescription
<vaccineDescription
vaccineType=int
>
IN THIS ORDER:
| <halfLifeYrs ... />
| <efficacyB ... />
| ( <initialEfficacy ... /> )+
</vaccineDescription>
Attributes
vaccineType
vaccineType=int
Units: Code
Type of vaccine
halfLifeYrs
→ scenario → interventions → vaccineDescription → halfLifeYrs
<halfLifeYrs
value=double
/>
Documentation (element)
Units: Years Min: 0 Max: 100
Half life of drug effect
Attributes
value
value=double
TODO
efficacyB
→ scenario → interventions → vaccineDescription → efficacyB
<efficacyB
value=double
/>
Documentation (element)
Units: Positive real Min: 0.001 Max: 1.00E+06
Measure of variation in vaccine efficacy
Attributes
value
value=double
TODO
initialEfficacy
→ scenario → interventions → vaccineDescription → initialEfficacy
<initialEfficacy
value=double
/>
Attributes
value
value=double
TODO
iptiDescription
→ scenario → interventions → iptiDescription
<iptiDescription
iptiEffect=int
>
IN THIS ORDER:
| ( <infGenotype ... /> )+
</iptiDescription>
Attributes
iptiEffect
iptiEffect=int
infGenotype
→ scenario → interventions → iptiDescription → infGenotype
<infGenotype
name=string
freq=double
ACR=double
proph=int
tolPeriod=int
atten=int
/>
Attributes
name
name=string
Units: string
Name of age specific intervention
freq
freq=double
ACR
ACR=double
proph
proph=int
tolPeriod
tolPeriod=int
atten
atten=int
continuous
→ scenario → interventions → continuous
<continuous>
IN THIS ORDER:
| ( <vaccine ... /> )*
| ( <ITN ... /> )*
| ( <ipti ... /> )*
</continuous>
vaccine
→ scenario → interventions → continuous → vaccine
<vaccine
targetAgeYrs=double
coverage=double
/>
Documentation (element)
Units: List of elements
List of age groups for vaccination
Attributes
targetAgeYrs
targetAgeYrs=double
Units: Years Min: 0 Max: 100
Target age of intervention
coverage
coverage=double
Units: Proportion Min: 0 Max: 1
Coverage of intervention
ITN
→ scenario → interventions → continuous → ITN
<ITN
targetAgeYrs=double
coverage=double
/>
Documentation (element)
Units: List of elements
Description of ITN deployment in the community
Attributes
targetAgeYrs
targetAgeYrs=double
Units: Years Min: 0 Max: 100
Target age of intervention
coverage
coverage=double
Units: Proportion Min: 0 Max: 1
Coverage of intervention
ipti
→ scenario → interventions → continuous → ipti
<ipti
targetAgeYrs=double
coverage=double
/>
Documentation (element)
Units: List of elements
List of age groups for IPTi distribution
Attributes
targetAgeYrs
targetAgeYrs=double
Units: Years Min: 0 Max: 100
Target age of intervention
coverage
coverage=double
Units: Proportion Min: 0 Max: 1
Coverage of intervention
timed
→ scenario → interventions → timed
<timed>
IN THIS ORDER:
| ( <intervention ... /> )+
</timed>
Documentation (element)
Units: List of elements
List of timed interventions
Documentation (type)
Units: List of elements
List of timed interventions
intervention
→ scenario → interventions → timed → intervention
<intervention
time=int
>
IN THIS ORDER:
| [ <changeHS ... /> ]
| [ <changeEIR ... /> ]
| [ <MDA ... /> ]
| [ <IRS ... /> ]
| [ <vaccinate ... /> ]
| [ <ITN ... /> ]
| [ <ipti ... /> ]
</intervention>
Attributes
time
time=int
Units: Number Min: 1 Max: 10000
Time step of intervention
changeHS
→ scenario → interventions → timed → intervention → changeHS
<changeHS
name=string
healthSystemMemory=int
>
IN THIS ORDER:
| <drugRegimen ... />
| <initialACR ... />
| <compliance ... />
| <nonCompliersEffective ... />
| <pSeekOfficialCareUncomplicated1 ... />
| <pSelfTreatUncomplicated ... />
| <pSeekOfficialCareUncomplicated2 ... />
| <pSeekOfficialCareSevere ... />
| <pSequelaeInpatient ... />
| <CFR ... />
</changeHS>
- drugRegimen
- initialACR
- compliance
- nonCompliersEffective
- pSeekOfficialCareUncomplicated1
- pSelfTreatUncomplicated
- pSeekOfficialCareUncomplicated2
- pSeekOfficialCareSevere
- pSequelaeInpatient
- CFR
Documentation (type)
Units: List of elements
Description of health system
Attributes
name
name=string
Units: string
Name of health system
healthSystemMemory
healthSystemMemory=int
Units: Time steps Min: 1 Max: 100
Follow-up period during which a recurrence is considered to be a treatment failure
drugRegimen
→ scenario → healthSystem → drugRegimen
<drugRegimen
firstLine=string
secondLine=string
inpatient=string
/>
Documentation (element)
Units: List of elements
Description of drug regimen
Attributes
firstLine
firstLine=string
Units: Drug code
Code for first line drug
secondLine
secondLine=string
Units: Drug code
Code for second line drug
inpatient
inpatient=string
Units: Drug code
Code for drug used for treating inpatients
initialACR
→ scenario → healthSystem → initialACR
<initialACR>
IN THIS ORDER:
| [ <CQ ... /> ]
| [ <SP ... /> ]
| [ <AQ ... /> ]
| [ <SPAQ ... /> ]
| [ <ACT ... /> ]
| [ <QN ... /> ]
| <selfTreatment ... />
</initialACR>
Documentation (element)
Units: Proportion Min: 0 Max: 1
Initial cure rate
CQ
→ scenario → healthSystem → initialACR → CQ
<CQ
value=double
/>
Documentation (element)
Units: List of elements
Chloroquine
Attributes
value
value=double
TODO
SP
→ scenario → healthSystem → initialACR → SP
<SP
value=double
/>
Documentation (element)
Units: List of elements
Sulphadoxine-pyrimethamine
Attributes
value
value=double
TODO
AQ
→ scenario → healthSystem → initialACR → AQ
<AQ
value=double
/>
Documentation (element)
Units: List of elements
Amodiaquine
Attributes
value
value=double
TODO
SPAQ
→ scenario → healthSystem → initialACR → SPAQ
<SPAQ
value=double
/>
Documentation (element)
Units: List of elements
Sulphadoxine-pyrimethamine/Amodiaquine
Attributes
value
value=double
TODO
ACT
→ scenario → healthSystem → initialACR → ACT
<ACT
value=double
/>
Documentation (element)
Units: List of elements
Artemisinine combination therapy
Attributes
value
value=double
TODO
QN
→ scenario → healthSystem → initialACR → QN
<QN
value=double
/>
Documentation (element)
Units: List of elements
Quinine
Attributes
value
value=double
TODO
selfTreatment
→ scenario → healthSystem → initialACR → selfTreatment
<selfTreatment
value=double
/>
Documentation (element)
Units: Proportion Min: 0 Max: 1
Probability of self-treatment
Attributes
value
value=double
TODO
compliance
→ scenario → healthSystem → compliance
<compliance>
IN THIS ORDER:
| [ <CQ ... /> ]
| [ <SP ... /> ]
| [ <AQ ... /> ]
| [ <SPAQ ... /> ]
| [ <ACT ... /> ]
| [ <QN ... /> ]
| <selfTreatment ... />
</compliance>
Documentation (element)
Units: Proportion Min: 0 Max: 1
Adherence to treatment
nonCompliersEffective
→ scenario → healthSystem → nonCompliersEffective
<nonCompliersEffective>
IN THIS ORDER:
| [ <CQ ... /> ]
| [ <SP ... /> ]
| [ <AQ ... /> ]
| [ <SPAQ ... /> ]
| [ <ACT ... /> ]
| [ <QN ... /> ]
| <selfTreatment ... />
</nonCompliersEffective>
Documentation (element)
Units: Proportion Min: 0 Max: 1
Effectiveness of treatment of non compliers
pSeekOfficialCareUncomplicated1
→ scenario → healthSystem → pSeekOfficialCareUncomplicated1
<pSeekOfficialCareUncomplicated1
value=double
/>
Documentation (element)
Units: Proportion Min: 0 Max: 1
Probability that a patient with newly incident uncomplicated disease seeks official care
Attributes
value
value=double
TODO
pSelfTreatUncomplicated
→ scenario → healthSystem → pSelfTreatUncomplicated
<pSelfTreatUncomplicated
value=double
/>
Documentation (element)
Units: Proportion Min: 0 Max: 1
Probability that a patient with uncomplicated disease self-treats
Attributes
value
value=double
TODO
pSeekOfficialCareUncomplicated2
→ scenario → healthSystem → pSeekOfficialCareUncomplicated2
<pSeekOfficialCareUncomplicated2
value=double
/>
Documentation (element)
Units: Proportion Min: 0 Max: 1
Probability that a patient with recurrence of uncomplicated disease seeks official care
Attributes
value
value=double
TODO
pSeekOfficialCareSevere
→ scenario → healthSystem → pSeekOfficialCareSevere
<pSeekOfficialCareSevere
value=double
/>
Documentation (element)
Units: Proportion Min: 0 Max: 1
Probability that a patient with severe disease seeks official care
Attributes
value
value=double
TODO
pSequelaeInpatient
→ scenario → healthSystem → pSequelaeInpatient
<pSequelaeInpatient>
IN THIS ORDER:
| ( <item ... /> )+
</pSequelaeInpatient>
Documentation (element)
Units: List of elements
List of age specific probabilities of sequelae in inpatients
item
→ scenario → healthSystem → pSequelaeInpatient → item
<item
value=double
maxAgeYrs=double
/>
Attributes
value
value=double
TODO
maxAgeYrs
maxAgeYrs=double
Units: Years Min: 0 Max: 100
Upper bound of age group
CFR
→ scenario → healthSystem → CFR
<CFR>
IN THIS ORDER:
| ( <group ... /> )+
</CFR>
group
→ scenario → healthSystem → CFR → group
<group
cfr=double
lowerbound=double
/>
Attributes
cfr
cfr=double
Units: Proportion Min: 0 Max: 1
Case fatality rate
lowerbound
lowerbound=double
Units: Years Min: 0 Max: 100
Lower bound of age group
changeEIR
→ scenario → interventions → timed → intervention → changeEIR
<changeEIR
eipDuration=int
>
IN THIS ORDER:
| ( <EIRDaily ... /> )+
</changeEIR>
Documentation (type)
Parameters for the non-vector transmission model.
Attributes
eipDuration
eipDuration=int
The duration of sporogony in days
EIRDaily
→ scenario → entoData → nonVector → EIRDaily
<EIRDaily
[ origin=string ]
>
double
</EIRDaily>
Documentation (type)
Units: Number Min: 1
Value of daily EIR
Attributes
origin
origin=string
MDA
→ scenario → interventions → timed → intervention → MDA
<MDA
maxAge=double
minAge=double
coverage=double
/>
Documentation (element)
Units: List of elements
Description of mass drug deployment in the community
Attributes
maxAge
maxAge=double
Units: Years Min: 0 Max: 100
Maximum age of eligible individuals
minAge
minAge=double
Units: Years Min: 0 Max: 100
Minimum age of eligible individuals
coverage
coverage=double
Units: Proportion Min: 0 Max: 1
Coverage of intervention
IRS
→ scenario → interventions → timed → intervention → IRS
<IRS/>
vaccinate
→ scenario → interventions → timed → intervention → vaccinate
<vaccinate
maxAge=double
minAge=double
coverage=double
/>
Documentation (element)
Units: List of elements
Description of vaccine deployment in the community
Attributes
maxAge
maxAge=double
Units: Years Min: 0 Max: 100
Maximum age of eligible individuals
minAge
minAge=double
Units: Years Min: 0 Max: 100
Minimum age of eligible individuals
coverage
coverage=double
Units: Proportion Min: 0 Max: 1
Coverage of intervention
ITN
→ scenario → interventions → timed → intervention → ITN
<ITN
maxAge=double
minAge=double
coverage=double
/>
Documentation (element)
Units: List of elements
Description of ITN deployment in the community
Attributes
maxAge
maxAge=double
Units: Years Min: 0 Max: 100
Maximum age of eligible individuals
minAge
minAge=double
Units: Years Min: 0 Max: 100
Minimum age of eligible individuals
coverage
coverage=double
Units: Proportion Min: 0 Max: 1
Coverage of intervention
ipti
→ scenario → interventions → timed → intervention → ipti
<ipti
maxAge=double
minAge=double
coverage=double
/>
Documentation (element)
Units: List of elements
List of age groups for IPTi distribution
Attributes
maxAge
maxAge=double
Units: Years Min: 0 Max: 100
Maximum age of eligible individuals
minAge
minAge=double
Units: Years Min: 0 Max: 100
Minimum age of eligible individuals
coverage
coverage=double
Units: Proportion Min: 0 Max: 1
Coverage of intervention
caseManagements
<caseManagements
name=string
reportingPeriodMemory=int
>
IN THIS ORDER:
| ( <caseManagement ... /> )+
</caseManagements>
Documentation (element)
Units: List of elements
List of case managment interventions
Documentation (type)
Units: List of elements
List of age-specific case managment descriptions
Attributes
name
name=string
Units: string
Name of age specific intervention
reportingPeriodMemory
reportingPeriodMemory=int
Units: Time steps Min: 1 Max: 100
Follow-up period during which a recurrence is considered to be a treatment failure
caseManagement
→ scenario → caseManagements → caseManagement
<caseManagement
maxAgeYrs=decimal
>
IN THIS ORDER:
| <uc1 ... />
| <uc2 ... />
| <sev ... />
| <nmfP ... />
| <nmfNP ... />
| <decisions ... />
</caseManagement>
Documentation (element)
Units: List of elements
Age-specific case management description, describes entry-points and decisions, with entry-point-specific decision probabilities
Attributes
maxAgeYrs
maxAgeYrs=decimal
Units: Years Min: 0 Max: 100
Upper bound of age group
uc1
→ scenario → caseManagements → caseManagement → uc1
<uc1>
IN THIS ORDER:
| ( <endPoint ... /> )+
</uc1>
endPoint
→ scenario → caseManagements → caseManagement → uc1 → endPoint
<endPoint
decision=int
p=double
/>
Attributes
decision
decision=int
Foreign key reference to outcome node
p
p=double
Units: Proportion Min: 0 Max: 1
Probability of outcome
uc2
→ scenario → caseManagements → caseManagement → uc2
<uc2>
IN THIS ORDER:
| ( <endPoint ... /> )+
</uc2>
sev
→ scenario → caseManagements → caseManagement → sev
<sev>
IN THIS ORDER:
| ( <endPoint ... /> )+
</sev>
nmfP
→ scenario → caseManagements → caseManagement → nmfP
<nmfP>
IN THIS ORDER:
| ( <endPoint ... /> )+
</nmfP>
nmfNP
→ scenario → caseManagements → caseManagement → nmfNP
<nmfNP>
IN THIS ORDER:
| ( <endPoint ... /> )+
</nmfNP>
decisions
→ scenario → caseManagements → caseManagement → decisions
<decisions>
IN THIS ORDER:
| ( <decision ... /> )+
</decisions>
decision
→ scenario → caseManagements → caseManagement → decisions → decision
<decision
id=int
>
IN THIS ORDER:
| ( <medicate ... /> )+
</decision>
Documentation (element)
Units: List of elements
describes treatment decisions, a list of medicate descisions.
Attributes
id
id=int
Units: Number
Key of decision
medicate
→ scenario → caseManagements → caseManagement → decisions → decision → medicate
<medicate
name=string
qty=int
time=int
/>
Attributes
name
name=string
Units: string
Name of drug compound
qty
qty=int
Units: Number
Quantity of drug compound
time
time=int
Units: Number Min: 1 Max: 10000
Time step of intervention
healthSystem
→ scenario → healthSystem
<healthSystem
name=string
healthSystemMemory=int
>
IN THIS ORDER:
| <drugRegimen ... />
| <initialACR ... />
| <compliance ... />
| <nonCompliersEffective ... />
| <pSeekOfficialCareUncomplicated1 ... />
| <pSelfTreatUncomplicated ... />
| <pSeekOfficialCareUncomplicated2 ... />
| <pSeekOfficialCareSevere ... />
| <pSequelaeInpatient ... />
| <CFR ... />
</healthSystem>
- drugRegimen
- initialACR
- compliance
- nonCompliersEffective
- pSeekOfficialCareUncomplicated1
- pSelfTreatUncomplicated
- pSeekOfficialCareUncomplicated2
- pSeekOfficialCareSevere
- pSequelaeInpatient
- CFR
Documentation (element)
Units: List of elements
Description of health system
Documentation (type)
Units: List of elements
Description of health system
Attributes
name
name=string
Units: string
Name of health system
healthSystemMemory
healthSystemMemory=int
Units: Time steps Min: 1 Max: 100
Follow-up period during which a recurrence is considered to be a treatment failure
entoData
<entoData
name=string
>
IN THIS ORDER:
| EXACTLY ONE OF:
| | <nonVector ... />
| | <vector ... />
</entoData>
Documentation (element)
Units: List of elements
Description of entomological data
Documentation (type)
Units: List of elements
Data for entomodel
Attributes
name
name=string
Units: string
Name of entomology data
nonVector
→ scenario → entoData → nonVector
<nonVector
eipDuration=int
>
IN THIS ORDER:
| ( <EIRDaily ... /> )+
</nonVector>
Documentation (type)
Parameters for the non-vector transmission model.
Attributes
eipDuration
eipDuration=int
The duration of sporogony in days
vector
→ scenario → entoData → vector
<vector>
IN THIS ORDER:
| ( <anopheles ... /> )+
| ( <nonHumanHosts ... /> )*
</vector>
Documentation (element)
Parameters for the vector transmission model.
anopheles
→ scenario → entoData → vector → anopheles
<anopheles
mosquito=string
>
IN THIS ORDER:
| <eir ... />
| <mosq ... />
| ( <nonHumanHosts ... /> )*
</anopheles>
Attributes
mosquito
mosquito=string
eir
→ scenario → entoData → vector → anopheles → eir
<eir
a0=double
a1=double
a2=double
b1=double
b2=double
EIRRotateAngle=double
/>
Documentation (element)
Units: Element
Description of entomological inoculation rate
Attributes
a0
a0=double
a1
a1=double
a2
a2=double
b1
b1=double
b2
b2=double
EIRRotateAngle
EIRRotateAngle=double
mosq
→ scenario → entoData → vector → anopheles → mosq
<mosq
mosqRestDuration=int
extrinsicIncubationPeriod=int
mosqSeekingDeathRate=double
mosqSeekingDuration=double
mosqEntoAvailability=double
mosqProbBiting=double
mosqProbFindRestSite=double
mosqProbResting=double
mosqProbOvipositing=double
emergenceRateFilename=string
/>
Documentation (element)
Units: List of elements
Vector species
Attributes
mosqRestDuration
mosqRestDuration=int
extrinsicIncubationPeriod
extrinsicIncubationPeriod=int
mosqSeekingDeathRate
mosqSeekingDeathRate=double
mosqSeekingDuration
mosqSeekingDuration=double
mosqEntoAvailability
mosqEntoAvailability=double
mosqProbBiting
mosqProbBiting=double
mosqProbFindRestSite
mosqProbFindRestSite=double
mosqProbResting
mosqProbResting=double
mosqProbOvipositing
mosqProbOvipositing=double
emergenceRateFilename
emergenceRateFilename=string
nonHumanHosts
→ scenario → entoData → vector → anopheles → nonHumanHosts
<nonHumanHosts
mosqEntoAvailability=double
mosqProbBiting=double
mosqProbFindRestSite=double
mosqProbResting=double
/>
Documentation (element)
Units: List of elements
Non human host parameters, per type of host (must match up with non-species-specific parameters).
Attributes
mosqEntoAvailability
mosqEntoAvailability=double
mosqProbBiting
mosqProbBiting=double
mosqProbFindRestSite
mosqProbFindRestSite=double
mosqProbResting
mosqProbResting=double
nonHumanHosts
→ scenario → entoData → vector → nonHumanHosts
<nonHumanHosts
[ name=string ]
populationSize=int
/>
Documentation (element)
Populations of non-human hosts (must also have species-specific parameters).
Attributes
name
name=string
populationSize
populationSize=int
parameters
→ scenario → parameters
<parameters
interval=int
iseed=int
delta=double
latentp=int
>
IN THIS ORDER:
| ( <parameter ... /> )+
</parameters>
Documentation (element)
Parameters for mathematical model
Documentation (type)
Units: List of elements
Parameter vector
Attributes
interval
interval=int
Units: Days
Simulation step
iseed
iseed=int
Units: Number
Seed for RNG
delta
delta=double
Units: ? Redundant
this no longer seems to be used
latentp
latentp=int
Units: Time steps Min: 0 Max: 20
pre-erythrocytic latent period, in time steps
parameter
→ scenario → parameters → parameter
<parameter
name=string
number=int
value=double
[ include=boolean ]
/>
Attributes
name
name=string
Units: string
Name of parameter
number
number=int
Units: Number Min: 1 Max: 100
Reference number of input parameter
value
value=double
Units: Number Min: 0
Parameter value
include
include=boolean
Units: Number Min: 0 Max: 1
True if parameter is to be sampled in optimization runs. Not used in simulator app.
Schema 5 documentation
Generated from: scenario_5.xsd
.
Key:
abc required (one)
[ def ] optional (zero or one)
( ghi )* any number (zero or more)
( jkl )+ at least one
( mno ){2,inf} two or more occurrences
scenario
→ scenario
<scenario
schemaVersion=int
analysisNo=int
maximumAgeYrs=double
name=string
popSize=int
simulationDuration=int
modelVersion=int
wuID=int
assimMode=("0" or "1")
mode=("1" or "2" or "3" or "4")
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:noNamespaceSchemaLocation="scenario_5.xsd"
>
IN THIS ORDER:
| <demography ... />
| <monitoring ... />
| <interventions ... />
| [ <caseManagements ... /> ]
| <healthSystem ... />
| <entoData ... />
| <parameters ... />
</scenario>
Documentation (element)
Units: List of elements
Description of scenario
Attributes
schemaVersion
schemaVersion=int
Version of xml schema. If not equal to the current version an error is thrown. Use SchemaTranslator to update xml files.
analysisNo
analysisNo=int
Units: Number Min: 1 Max: 100000000
Unique identifier of scenario
maximumAgeYrs
maximumAgeYrs=double
Units: Number Min: 0 Max: 100
Maximum age of simulated humans
name
name=string
Units: string
Name of intervention
popSize
popSize=int
Units: Count Min: 1 Max: 100000
Population size
simulationDuration
simulationDuration=int
Units: Time steps Min: 1 Max: 36500
Duration of main simulation
modelVersion
modelVersion=int
Units: Code Min: 0 Max: 100000000
Model Version
wuID
wuID=int
Units: Number Min: 1 Max: 100000000
Work unit ID. Only used to validate checkpointing, to prevent checkpoint cheats.
assimMode
assimMode=("0" or "1")
Units: Code
Assimilator mode. Defines output of simulator as either complete (columns: time,agegroup,measure,value) or minimal (single column: value)
mode
mode=("1" or "2" or "3" or "4")
Units: Code
Simulation mode
demography
→ scenario → demography
<demography
name=string
[ growthRate=double ]
>
IN THIS ORDER:
| <ageGroup ... />
</demography>
Documentation (element)
Units: List of elements
Description of demography
Documentation (type)
Units: List of elements
Description of demography
Attributes
name
name=string
Units: string
Name of demography data
growthRate
growthRate=double
Units: Number Min: 0 Max: 0
Growth rate of human population.
ageGroup
→ scenario → demography → ageGroup
<ageGroup
lowerbound=double
>
IN THIS ORDER:
| ( <group ... /> )+
</ageGroup>
Documentation (element)
Units: List of elements
List of age groups included in demography
Documentation (type)
Units: List of elements
List of age groups included in demography or surveys
Attributes
lowerbound
lowerbound=double
Units: Years Min: 0 Max: 100
Lower bound of age group
group
→ scenario → demography → ageGroup → group
<group
poppercent=double
upperbound=double
/>
Attributes
poppercent
poppercent=double
upperbound
upperbound=double
monitoring
→ scenario → monitoring
<monitoring
name=string
>
IN THIS ORDER:
| <surveys ... />
| <ageGroup ... />
</monitoring>
Documentation (element)
Units: List of elements
Description of surveys
Documentation (type)
Units: List of elements
Description of surveys
Attributes
name
name=string
Units: string
Name of monitoring data
surveys
→ scenario → monitoring → surveys
<surveys
detectionLimit=double
summaryOption=int
>
IN THIS ORDER:
| <surveyTime ... />
</surveys>
Documentation (element)
Units: List of elements
List of survey times
Attributes
detectionLimit
detectionLimit=double
Units: parasites/micolitre Min: 0 Max: 1000
Detection limit for parasitemia
summaryOption
summaryOption=int
Units: Code
Requested output variables
surveyTime
→ scenario → monitoring → surveys → surveyTime
<surveyTime>
int
</surveyTime>
Documentation (element)
Units: Number Min: 0
Survey time
ageGroup
→ scenario → monitoring → ageGroup
<ageGroup
lowerbound=double
>
IN THIS ORDER:
| ( <group ... /> )+
</ageGroup>
Documentation (element)
Units: List of elements
List of age groups included in demography or surveys
Documentation (type)
Units: List of elements
List of age groups included in surveys
Attributes
lowerbound
lowerbound=double
Units: Years Min: 0 Max: 100
Lower bound of age group
group
→ scenario → monitoring → ageGroup → group
<group
upperbound=double
/>
Attributes
upperbound
upperbound=double
interventions
<interventions
name=string
>
IN THIS ORDER:
| ( <vaccineDescription ... /> ){0,3}
| [ <iptiDescription ... /> ]
| [ <continuous ... /> ]
| [ <timed ... /> ]
</interventions>
Documentation (element)
Units: List of elements
List of interventions
Documentation (type)
Units: List of elements
List of interventions
Attributes
name
name=string
Units: string
Name of age specific intervention
vaccineDescription
→ scenario → interventions → vaccineDescription
<vaccineDescription
vaccineType=int
>
IN THIS ORDER:
| <halfLifeYrs ... />
| <efficacyB ... />
| ( <initialEfficacy ... /> )+
</vaccineDescription>
Attributes
vaccineType
vaccineType=int
Units: Code
Type of vaccine
halfLifeYrs
→ scenario → interventions → vaccineDescription → halfLifeYrs
<halfLifeYrs
value=double
/>
Documentation (element)
Units: Years Min: 0 Max: 100
Half life of drug effect
Attributes
value
value=double
TODO
efficacyB
→ scenario → interventions → vaccineDescription → efficacyB
<efficacyB
value=double
/>
Documentation (element)
Units: Positive real Min: 0.001 Max: 1.00E+06
Measure of variation in vaccine efficacy
Attributes
value
value=double
TODO
initialEfficacy
→ scenario → interventions → vaccineDescription → initialEfficacy
<initialEfficacy
value=double
/>
Attributes
value
value=double
TODO
iptiDescription
→ scenario → interventions → iptiDescription
<iptiDescription
iptiEffect=int
>
IN THIS ORDER:
| ( <infGenotype ... /> )+
</iptiDescription>
Attributes
iptiEffect
iptiEffect=int
infGenotype
→ scenario → interventions → iptiDescription → infGenotype
<infGenotype
name=string
freq=double
ACR=double
proph=int
tolPeriod=int
atten=int
/>
Attributes
name
name=string
Units: string
Name of age specific intervention
freq
freq=double
ACR
ACR=double
proph
proph=int
tolPeriod
tolPeriod=int
atten
atten=int
continuous
→ scenario → interventions → continuous
<continuous>
IN THIS ORDER:
| ( <vaccine ... /> )*
| ( <ITN ... /> )*
| ( <ipti ... /> )*
</continuous>
vaccine
→ scenario → interventions → continuous → vaccine
<vaccine
targetAgeYrs=double
coverage=double
/>
Documentation (element)
Units: List of elements
List of age groups for vaccination
Attributes
targetAgeYrs
targetAgeYrs=double
Units: Years Min: 0 Max: 100
Target age of intervention
coverage
coverage=double
Units: Proportion Min: 0 Max: 1
Coverage of intervention
ITN
→ scenario → interventions → continuous → ITN
<ITN
targetAgeYrs=double
coverage=double
/>
Documentation (element)
Units: List of elements
Description of ITN deployment in the community
Attributes
targetAgeYrs
targetAgeYrs=double
Units: Years Min: 0 Max: 100
Target age of intervention
coverage
coverage=double
Units: Proportion Min: 0 Max: 1
Coverage of intervention
ipti
→ scenario → interventions → continuous → ipti
<ipti
targetAgeYrs=double
coverage=double
/>
Documentation (element)
Units: List of elements
List of age groups for IPTi distribution
Attributes
targetAgeYrs
targetAgeYrs=double
Units: Years Min: 0 Max: 100
Target age of intervention
coverage
coverage=double
Units: Proportion Min: 0 Max: 1
Coverage of intervention
timed
→ scenario → interventions → timed
<timed>
IN THIS ORDER:
| ( <intervention ... /> )+
</timed>
Documentation (element)
Units: List of elements
List of timed interventions
Documentation (type)
Units: List of elements
List of timed interventions
intervention
→ scenario → interventions → timed → intervention
<intervention
time=int
>
IN THIS ORDER:
| [ <changeHS ... /> ]
| [ <changeEIR ... /> ]
| [ <MDA ... /> ]
| [ <IRS ... /> ]
| [ <vaccinate ... /> ]
| [ <ITN ... /> ]
| [ <ipti ... /> ]
</intervention>
Attributes
time
time=int
Units: Number Min: 1 Max: 10000
Time step of intervention
changeHS
→ scenario → interventions → timed → intervention → changeHS
<changeHS
name=string
healthSystemMemory=int
>
IN THIS ORDER:
| <drugRegimen ... />
| <initialACR ... />
| <compliance ... />
| <nonCompliersEffective ... />
| <pSeekOfficialCareUncomplicated1 ... />
| <pSelfTreatUncomplicated ... />
| <pSeekOfficialCareUncomplicated2 ... />
| <pSeekOfficialCareSevere ... />
| <pSequelaeInpatient ... />
| <CFR ... />
</changeHS>
- drugRegimen
- initialACR
- compliance
- nonCompliersEffective
- pSeekOfficialCareUncomplicated1
- pSelfTreatUncomplicated
- pSeekOfficialCareUncomplicated2
- pSeekOfficialCareSevere
- pSequelaeInpatient
- CFR
Documentation (type)
Units: List of elements
Description of health system
Attributes
name
name=string
Units: string
Name of health system
healthSystemMemory
healthSystemMemory=int
Units: Time steps Min: 1 Max: 100
Follow-up period during which a recurrence is considered to be a treatment failure
drugRegimen
→ scenario → healthSystem → drugRegimen
<drugRegimen
firstLine=string
secondLine=string
inpatient=string
/>
Documentation (element)
Units: List of elements
Description of drug regimen
Attributes
firstLine
firstLine=string
Units: Drug code
Code for first line drug
secondLine
secondLine=string
Units: Drug code
Code for second line drug
inpatient
inpatient=string
Units: Drug code
Code for drug used for treating inpatients
initialACR
→ scenario → healthSystem → initialACR
<initialACR>
IN THIS ORDER:
| [ <CQ ... /> ]
| [ <SP ... /> ]
| [ <AQ ... /> ]
| [ <SPAQ ... /> ]
| [ <ACT ... /> ]
| [ <QN ... /> ]
| <selfTreatment ... />
</initialACR>
Documentation (element)
Units: Proportion Min: 0 Max: 1
Initial cure rate
CQ
→ scenario → healthSystem → initialACR → CQ
<CQ
value=double
/>
Documentation (element)
Units: List of elements
Chloroquine
Attributes
value
value=double
TODO
SP
→ scenario → healthSystem → initialACR → SP
<SP
value=double
/>
Documentation (element)
Units: List of elements
Sulphadoxine-pyrimethamine
Attributes
value
value=double
TODO
AQ
→ scenario → healthSystem → initialACR → AQ
<AQ
value=double
/>
Documentation (element)
Units: List of elements
Amodiaquine
Attributes
value
value=double
TODO
SPAQ
→ scenario → healthSystem → initialACR → SPAQ
<SPAQ
value=double
/>
Documentation (element)
Units: List of elements
Sulphadoxine-pyrimethamine/Amodiaquine
Attributes
value
value=double
TODO
ACT
→ scenario → healthSystem → initialACR → ACT
<ACT
value=double
/>
Documentation (element)
Units: List of elements
Artemisinine combination therapy
Attributes
value
value=double
TODO
QN
→ scenario → healthSystem → initialACR → QN
<QN
value=double
/>
Documentation (element)
Units: List of elements
Quinine
Attributes
value
value=double
TODO
selfTreatment
→ scenario → healthSystem → initialACR → selfTreatment
<selfTreatment
value=double
/>
Documentation (element)
Units: Proportion Min: 0 Max: 1
Probability of self-treatment
Attributes
value
value=double
TODO
compliance
→ scenario → healthSystem → compliance
<compliance>
IN THIS ORDER:
| [ <CQ ... /> ]
| [ <SP ... /> ]
| [ <AQ ... /> ]
| [ <SPAQ ... /> ]
| [ <ACT ... /> ]
| [ <QN ... /> ]
| <selfTreatment ... />
</compliance>
Documentation (element)
Units: Proportion Min: 0 Max: 1
Adherence to treatment
nonCompliersEffective
→ scenario → healthSystem → nonCompliersEffective
<nonCompliersEffective>
IN THIS ORDER:
| [ <CQ ... /> ]
| [ <SP ... /> ]
| [ <AQ ... /> ]
| [ <SPAQ ... /> ]
| [ <ACT ... /> ]
| [ <QN ... /> ]
| <selfTreatment ... />
</nonCompliersEffective>
Documentation (element)
Units: Proportion Min: 0 Max: 1
Effectiveness of treatment of non compliers
pSeekOfficialCareUncomplicated1
→ scenario → healthSystem → pSeekOfficialCareUncomplicated1
<pSeekOfficialCareUncomplicated1
value=double
/>
Documentation (element)
Units: Proportion Min: 0 Max: 1
Probability that a patient with newly incident uncomplicated disease seeks official care
Attributes
value
value=double
TODO
pSelfTreatUncomplicated
→ scenario → healthSystem → pSelfTreatUncomplicated
<pSelfTreatUncomplicated
value=double
/>
Documentation (element)
Units: Proportion Min: 0 Max: 1
Probability that a patient with uncomplicated disease self-treats
Attributes
value
value=double
TODO
pSeekOfficialCareUncomplicated2
→ scenario → healthSystem → pSeekOfficialCareUncomplicated2
<pSeekOfficialCareUncomplicated2
value=double
/>
Documentation (element)
Units: Proportion Min: 0 Max: 1
Probability that a patient with recurrence of uncomplicated disease seeks official care
Attributes
value
value=double
TODO
pSeekOfficialCareSevere
→ scenario → healthSystem → pSeekOfficialCareSevere
<pSeekOfficialCareSevere
value=double
/>
Documentation (element)
Units: Proportion Min: 0 Max: 1
Probability that a patient with severe disease seeks official care
Attributes
value
value=double
TODO
pSequelaeInpatient
→ scenario → healthSystem → pSequelaeInpatient
<pSequelaeInpatient>
IN THIS ORDER:
| ( <item ... /> )+
</pSequelaeInpatient>
Documentation (element)
Units: List of elements
List of age specific probabilities of sequelae in inpatients
item
→ scenario → healthSystem → pSequelaeInpatient → item
<item
value=double
maxAgeYrs=double
/>
Attributes
value
value=double
TODO
maxAgeYrs
maxAgeYrs=double
Units: Years Min: 0 Max: 100
Upper bound of age group
CFR
→ scenario → healthSystem → CFR
<CFR>
IN THIS ORDER:
| ( <group ... /> )+
</CFR>
group
→ scenario → healthSystem → CFR → group
<group
cfr=double
lowerbound=double
/>
Attributes
cfr
cfr=double
Units: Proportion Min: 0 Max: 1
Case fatality rate
lowerbound
lowerbound=double
Units: Years Min: 0 Max: 100
Lower bound of age group
changeEIR
→ scenario → interventions → timed → intervention → changeEIR
<changeEIR
eipDuration=int
>
IN THIS ORDER:
| ( <EIRDaily ... /> )+
</changeEIR>
Documentation (type)
Parameters for the non-vector transmission model.
Attributes
eipDuration
eipDuration=int
The duration of sporogony in days
EIRDaily
→ scenario → entoData → nonVector → EIRDaily
<EIRDaily
[ origin=string ]
>
double
</EIRDaily>
Documentation (type)
Units: Number Min: 1
Value of daily EIR
Attributes
origin
origin=string
MDA
→ scenario → interventions → timed → intervention → MDA
<MDA
maxAge=double
minAge=double
coverage=double
/>
Documentation (element)
Units: List of elements
Description of mass drug deployment in the community
Attributes
maxAge
maxAge=double
Units: Years Min: 0 Max: 100
Maximum age of eligible individuals
minAge
minAge=double
Units: Years Min: 0 Max: 100
Minimum age of eligible individuals
coverage
coverage=double
Units: Proportion Min: 0 Max: 1
Coverage of intervention
IRS
→ scenario → interventions → timed → intervention → IRS
<IRS/>
vaccinate
→ scenario → interventions → timed → intervention → vaccinate
<vaccinate
maxAge=double
minAge=double
coverage=double
/>
Documentation (element)
Units: List of elements
Description of vaccine deployment in the community
Attributes
maxAge
maxAge=double
Units: Years Min: 0 Max: 100
Maximum age of eligible individuals
minAge
minAge=double
Units: Years Min: 0 Max: 100
Minimum age of eligible individuals
coverage
coverage=double
Units: Proportion Min: 0 Max: 1
Coverage of intervention
ITN
→ scenario → interventions → timed → intervention → ITN
<ITN
maxAge=double
minAge=double
coverage=double
/>
Documentation (element)
Units: List of elements
Description of ITN deployment in the community
Attributes
maxAge
maxAge=double
Units: Years Min: 0 Max: 100
Maximum age of eligible individuals
minAge
minAge=double
Units: Years Min: 0 Max: 100
Minimum age of eligible individuals
coverage
coverage=double
Units: Proportion Min: 0 Max: 1
Coverage of intervention
ipti
→ scenario → interventions → timed → intervention → ipti
<ipti
maxAge=double
minAge=double
coverage=double
/>
Documentation (element)
Units: List of elements
List of age groups for IPTi distribution
Attributes
maxAge
maxAge=double
Units: Years Min: 0 Max: 100
Maximum age of eligible individuals
minAge
minAge=double
Units: Years Min: 0 Max: 100
Minimum age of eligible individuals
coverage
coverage=double
Units: Proportion Min: 0 Max: 1
Coverage of intervention
caseManagements
<caseManagements
name=string
>
IN THIS ORDER:
| ( <caseManagement ... /> )+
</caseManagements>
Documentation (element)
Units: List of elements
List of case managment interventions
Documentation (type)
Units: List of elements
List of age-specific case managment descriptions
Attributes
name
name=string
Units: string
Name of age specific intervention
caseManagement
→ scenario → caseManagements → caseManagement
<caseManagement
[ minAgeYrs=decimal ]
maxAgeYrs=decimal
>
IN THIS ORDER:
| <uc1 ... />
| <uc2 ... />
| <sev ... />
| <nmf ... />
| <decisions ... />
</caseManagement>
Documentation (element)
Units: List of elements
Age-specific case management description, describes entry-points and decisions, with entry-point-specific decision probabilities
Attributes
minAgeYrs
minAgeYrs=decimal
maxAgeYrs
maxAgeYrs=decimal
Units: Years Min: 0 Max: 100
Upper bound of age group
uc1
→ scenario → caseManagements → caseManagement → uc1
<uc1>
IN THIS ORDER:
| ( <endPoint ... /> )+
</uc1>
endPoint
→ scenario → caseManagements → caseManagement → uc1 → endPoint
<endPoint
decision=int
p=double
/>
Attributes
decision
decision=int
Foreign key reference to outcome node
p
p=double
Units: Proportion Min: 0 Max: 1
Probability of outcome
uc2
→ scenario → caseManagements → caseManagement → uc2
<uc2>
IN THIS ORDER:
| ( <endPoint ... /> )+
</uc2>
sev
→ scenario → caseManagements → caseManagement → sev
<sev>
IN THIS ORDER:
| ( <endPoint ... /> )+
</sev>
nmf
→ scenario → caseManagements → caseManagement → nmf
<nmf>
IN THIS ORDER:
| ( <endPoint ... /> )+
</nmf>
decisions
→ scenario → caseManagements → caseManagement → decisions
<decisions>
IN THIS ORDER:
| ( <decision ... /> )+
</decisions>
decision
→ scenario → caseManagements → caseManagement → decisions → decision
<decision
id=int
>
IN THIS ORDER:
| ( <medicate ... /> )+
</decision>
Documentation (element)
Units: List of elements
describes treatment decisions, a list of medicate descisions.
Attributes
id
id=int
Units: Number
Key of decision
medicate
→ scenario → caseManagements → caseManagement → decisions → decision → medicate
<medicate
name=string
qty=int
time=int
/>
Attributes
name
name=string
Units: string
Name of drug compound
qty
qty=int
Units: Number
Quantity of drug compound
time
time=int
Units: Number Min: 1 Max: 10000
Time step of intervention
healthSystem
→ scenario → healthSystem
<healthSystem
name=string
healthSystemMemory=int
>
IN THIS ORDER:
| <drugRegimen ... />
| <initialACR ... />
| <compliance ... />
| <nonCompliersEffective ... />
| <pSeekOfficialCareUncomplicated1 ... />
| <pSelfTreatUncomplicated ... />
| <pSeekOfficialCareUncomplicated2 ... />
| <pSeekOfficialCareSevere ... />
| <pSequelaeInpatient ... />
| <CFR ... />
</healthSystem>
- drugRegimen
- initialACR
- compliance
- nonCompliersEffective
- pSeekOfficialCareUncomplicated1
- pSelfTreatUncomplicated
- pSeekOfficialCareUncomplicated2
- pSeekOfficialCareSevere
- pSequelaeInpatient
- CFR
Documentation (element)
Units: List of elements
Description of health system
Documentation (type)
Units: List of elements
Description of health system
Attributes
name
name=string
Units: string
Name of health system
healthSystemMemory
healthSystemMemory=int
Units: Time steps Min: 1 Max: 100
Follow-up period during which a recurrence is considered to be a treatment failure
entoData
<entoData
name=string
>
IN THIS ORDER:
| EXACTLY ONE OF:
| | <nonVector ... />
| | <vector ... />
</entoData>
Documentation (element)
Units: List of elements
Description of entomological data
Documentation (type)
Units: List of elements
Data for entomodel
Attributes
name
name=string
Units: string
Name of entomology data
nonVector
→ scenario → entoData → nonVector
<nonVector
eipDuration=int
>
IN THIS ORDER:
| ( <EIRDaily ... /> )+
</nonVector>
Documentation (type)
Parameters for the non-vector transmission model.
Attributes
eipDuration
eipDuration=int
The duration of sporogony in days
vector
→ scenario → entoData → vector
<vector>
IN THIS ORDER:
| ( <anopheles ... /> )+
| ( <nonHumanHosts ... /> )*
</vector>
Documentation (element)
Parameters for the vector transmission model.
anopheles
→ scenario → entoData → vector → anopheles
<anopheles
mosquito=string
>
IN THIS ORDER:
| <eir ... />
| <mosq ... />
| ( <nonHumanHosts ... /> )*
</anopheles>
Attributes
mosquito
mosquito=string
eir
→ scenario → entoData → vector → anopheles → eir
<eir
a0=double
a1=double
a2=double
b1=double
b2=double
EIRRotateAngle=double
/>
Documentation (element)
Units: Element
Description of entomological inoculation rate
Attributes
a0
a0=double
a1
a1=double
a2
a2=double
b1
b1=double
b2
b2=double
EIRRotateAngle
EIRRotateAngle=double
mosq
→ scenario → entoData → vector → anopheles → mosq
<mosq
mosqRestDuration=int
extrinsicIncubationPeriod=int
mosqSeekingDeathRate=double
mosqSeekingDuration=double
mosqEntoAvailability=double
mosqProbBiting=double
mosqProbFindRestSite=double
mosqProbResting=double
mosqProbOvipositing=double
emergenceRateFilename=string
/>
Documentation (element)
Units: List of elements
Vector species
Attributes
mosqRestDuration
mosqRestDuration=int
extrinsicIncubationPeriod
extrinsicIncubationPeriod=int
mosqSeekingDeathRate
mosqSeekingDeathRate=double
mosqSeekingDuration
mosqSeekingDuration=double
mosqEntoAvailability
mosqEntoAvailability=double
mosqProbBiting
mosqProbBiting=double
mosqProbFindRestSite
mosqProbFindRestSite=double
mosqProbResting
mosqProbResting=double
mosqProbOvipositing
mosqProbOvipositing=double
emergenceRateFilename
emergenceRateFilename=string
nonHumanHosts
→ scenario → entoData → vector → anopheles → nonHumanHosts
<nonHumanHosts
mosqEntoAvailability=double
mosqProbBiting=double
mosqProbFindRestSite=double
mosqProbResting=double
/>
Documentation (element)
Units: List of elements
Non human host parameters, per type of host (must match up with non-species-specific parameters).
Attributes
mosqEntoAvailability
mosqEntoAvailability=double
mosqProbBiting
mosqProbBiting=double
mosqProbFindRestSite
mosqProbFindRestSite=double
mosqProbResting
mosqProbResting=double
nonHumanHosts
→ scenario → entoData → vector → nonHumanHosts
<nonHumanHosts
[ name=string ]
populationSize=int
/>
Documentation (element)
Populations of non-human hosts (must also have species-specific parameters).
Attributes
name
name=string
populationSize
populationSize=int
parameters
→ scenario → parameters
<parameters
interval=int
iseed=int
delta=double
latentp=int
>
IN THIS ORDER:
| ( <parameter ... /> )+
</parameters>
Documentation (element)
Parameters for mathematical model
Documentation (type)
Units: List of elements
Parameter vector
Attributes
interval
interval=int
Units: Days
Simulation step
iseed
iseed=int
Units: Number
Seed for RNG
delta
delta=double
Units: ? Redundant
this no longer seems to be used
latentp
latentp=int
Units: Time steps Min: 0 Max: 20
pre-erythrocytic latent period, in time steps
parameter
→ scenario → parameters → parameter
<parameter
name=string
number=int
value=double
[ include=boolean ]
/>
Attributes
name
name=string
Units: string
Name of parameter
number
number=int
Units: Number Min: 1 Max: 100
Reference number of input parameter
value
value=double
Units: Number Min: 0
Parameter value
include
include=boolean
Units: Number Min: 0 Max: 1
True if parameter is to be sampled in optimization runs. Not used in simulator app.
Schema 4 documentation
Generated from: scenario_4.xsd
.
Key:
abc required (one)
[ def ] optional (zero or one)
( ghi )* any number (zero or more)
( jkl )+ at least one
( mno ){2,inf} two or more occurrences
scenario
→ scenario
<scenario
schemaVersion=int
analysisNo=int
maximumAgeYrs=double
name=string
popSize=int
simulationDuration=int
modelVersion=int
wuID=int
assimMode=("0" or "1")
mode=("1" or "2" or "3" or "4")
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:noNamespaceSchemaLocation="scenario_4.xsd"
>
IN THIS ORDER:
| <demography ... />
| <monitoring ... />
| <interventions ... />
| [ <caseManagements ... /> ]
| <healthSystem ... />
| <entoData ... />
| <parameters ... />
</scenario>
Documentation (element)
Units: List of elements
Description of scenario
Attributes
schemaVersion
schemaVersion=int
Version of xml schema. If not equal to the current version an error is thrown. Use SchemaTranslator to update xml files.
analysisNo
analysisNo=int
Units: Number Min: 1 Max: 100000000
Unique identifier of scenario
maximumAgeYrs
maximumAgeYrs=double
Units: Number Min: 0 Max: 100
Maximum age of simulated humans
name
name=string
Units: string
Name of intervention
popSize
popSize=int
Units: Count Min: 1 Max: 100000
Population size
simulationDuration
simulationDuration=int
Units: Time steps Min: 1 Max: 36500
Duration of main simulation
modelVersion
modelVersion=int
Units: Code Min: 0 Max: 100000000
Model Version
wuID
wuID=int
Units: Number Min: 1 Max: 100000000
Work unit ID. Only used to validate checkpointing, to prevent checkpoint cheats.
assimMode
assimMode=("0" or "1")
Units: Code
Assimilator mode. Defines output of simulator as either complete (columns: time,agegroup,measure,value) or minimal (single column: value)
mode
mode=("1" or "2" or "3" or "4")
Units: Code
Simulation mode
demography
→ scenario → demography
<demography
name=string
[ growthRate=double ]
>
IN THIS ORDER:
| <ageGroup ... />
</demography>
Documentation (element)
Units: List of elements
Description of demography
Documentation (type)
Units: List of elements
Description of demography
Attributes
name
name=string
Units: string
Name of demography data
growthRate
growthRate=double
Units: Number Min: 0 Max: 0
Growth rate of human population.
ageGroup
→ scenario → demography → ageGroup
<ageGroup
lowerbound=double
>
IN THIS ORDER:
| ( <group ... /> )+
</ageGroup>
Documentation (element)
Units: List of elements
List of age groups included in demography
Documentation (type)
Units: List of elements
List of age groups included in demography or surveys
Attributes
lowerbound
lowerbound=double
Units: Years Min: 0 Max: 100
Lower bound of age group
group
→ scenario → demography → ageGroup → group
<group
poppercent=double
upperbound=double
/>
Attributes
poppercent
poppercent=double
upperbound
upperbound=double
monitoring
→ scenario → monitoring
<monitoring
name=string
>
IN THIS ORDER:
| <surveys ... />
| <ageGroup ... />
</monitoring>
Documentation (element)
Units: List of elements
Description of surveys
Documentation (type)
Units: List of elements
Description of surveys
Attributes
name
name=string
Units: string
Name of monitoring data
surveys
→ scenario → monitoring → surveys
<surveys
detectionLimit=double
summaryOption=int
>
IN THIS ORDER:
| <surveyTime ... />
</surveys>
Documentation (element)
Units: List of elements
List of survey times
Attributes
detectionLimit
detectionLimit=double
Units: parasites/micolitre Min: 0 Max: 1000
Detection limit for parasitemia
summaryOption
summaryOption=int
Units: Code
Requested output variables
surveyTime
→ scenario → monitoring → surveys → surveyTime
<surveyTime>
int
</surveyTime>
Documentation (element)
Units: Number Min: 0
Survey time
ageGroup
→ scenario → monitoring → ageGroup
<ageGroup
lowerbound=double
>
IN THIS ORDER:
| ( <group ... /> )+
</ageGroup>
Documentation (element)
Units: List of elements
List of age groups included in demography or surveys
Documentation (type)
Units: List of elements
List of age groups included in surveys
Attributes
lowerbound
lowerbound=double
Units: Years Min: 0 Max: 100
Lower bound of age group
group
→ scenario → monitoring → ageGroup → group
<group
upperbound=double
/>
Attributes
upperbound
upperbound=double
interventions
<interventions
name=string
>
IN THIS ORDER:
| ( <vaccineDescription ... /> ){0,3}
| [ <iptiDescription ... /> ]
| [ <continuous ... /> ]
| [ <timed ... /> ]
</interventions>
Documentation (element)
Units: List of elements
List of interventions
Documentation (type)
Units: List of elements
List of interventions
Attributes
name
name=string
Units: string
Name of age specific intervention
vaccineDescription
→ scenario → interventions → vaccineDescription
<vaccineDescription
vaccineType=int
>
IN THIS ORDER:
| <halfLifeYrs ... />
| <efficacyB ... />
| ( <initialEfficacy ... /> )+
</vaccineDescription>
Attributes
vaccineType
vaccineType=int
Units: Code
Type of vaccine
halfLifeYrs
→ scenario → interventions → vaccineDescription → halfLifeYrs
<halfLifeYrs
value=double
/>
Documentation (element)
Units: Years Min: 0 Max: 100
Half life of drug effect
Attributes
value
value=double
TODO
efficacyB
→ scenario → interventions → vaccineDescription → efficacyB
<efficacyB
value=double
/>
Documentation (element)
Units: Positive real Min: 0.001 Max: 1.00E+06
Measure of variation in vaccine efficacy
Attributes
value
value=double
TODO
initialEfficacy
→ scenario → interventions → vaccineDescription → initialEfficacy
<initialEfficacy
value=double
/>
Attributes
value
value=double
TODO
iptiDescription
→ scenario → interventions → iptiDescription
<iptiDescription
iptiEffect=int
>
IN THIS ORDER:
| ( <infGenotype ... /> )+
</iptiDescription>
Attributes
iptiEffect
iptiEffect=int
infGenotype
→ scenario → interventions → iptiDescription → infGenotype
<infGenotype
name=string
freq=double
ACR=double
proph=int
tolPeriod=int
atten=int
/>
Attributes
name
name=string
Units: string
Name of age specific intervention
freq
freq=double
ACR
ACR=double
proph
proph=int
tolPeriod
tolPeriod=int
atten
atten=int
continuous
→ scenario → interventions → continuous
<continuous>
IN THIS ORDER:
| ( <vaccine ... /> )*
| ( <ITN ... /> )*
| ( <ipti ... /> )*
</continuous>
vaccine
→ scenario → interventions → continuous → vaccine
<vaccine
targetAgeYrs=double
coverage=double
/>
Documentation (element)
Units: List of elements
List of age groups for vaccination
Attributes
targetAgeYrs
targetAgeYrs=double
Units: Years Min: 0 Max: 100
Target age of intervention
coverage
coverage=double
Units: Proportion Min: 0 Max: 1
Coverage of intervention
ITN
→ scenario → interventions → continuous → ITN
<ITN
targetAgeYrs=double
coverage=double
/>
Documentation (element)
Units: List of elements
Description of ITN deployment in the community
Attributes
targetAgeYrs
targetAgeYrs=double
Units: Years Min: 0 Max: 100
Target age of intervention
coverage
coverage=double
Units: Proportion Min: 0 Max: 1
Coverage of intervention
ipti
→ scenario → interventions → continuous → ipti
<ipti
targetAgeYrs=double
coverage=double
/>
Documentation (element)
Units: List of elements
List of age groups for IPTi distribution
Attributes
targetAgeYrs
targetAgeYrs=double
Units: Years Min: 0 Max: 100
Target age of intervention
coverage
coverage=double
Units: Proportion Min: 0 Max: 1
Coverage of intervention
timed
→ scenario → interventions → timed
<timed>
IN THIS ORDER:
| ( <intervention ... /> )+
</timed>
Documentation (element)
Units: List of elements
List of timed interventions
Documentation (type)
Units: List of elements
List of timed interventions
intervention
→ scenario → interventions → timed → intervention
<intervention
time=int
>
IN THIS ORDER:
| [ <changeHS ... /> ]
| [ <changeEIR ... /> ]
| [ <MDA ... /> ]
| [ <IRS ... /> ]
| [ <vaccinate ... /> ]
| [ <ITN ... /> ]
| [ <ipti ... /> ]
</intervention>
Attributes
time
time=int
Units: Number Min: 1 Max: 10000
Time step of intervention
changeHS
→ scenario → interventions → timed → intervention → changeHS
<changeHS
name=string
healthSystemMemory=int
>
IN THIS ORDER:
| <drugRegimen ... />
| <initialACR ... />
| <compliance ... />
| <nonCompliersEffective ... />
| <pSeekOfficialCareUncomplicated1 ... />
| <pSelfTreatUncomplicated ... />
| <pSeekOfficialCareUncomplicated2 ... />
| <pSeekOfficialCareSevere ... />
| <pSequelaeInpatient ... />
| <CFR ... />
</changeHS>
- drugRegimen
- initialACR
- compliance
- nonCompliersEffective
- pSeekOfficialCareUncomplicated1
- pSelfTreatUncomplicated
- pSeekOfficialCareUncomplicated2
- pSeekOfficialCareSevere
- pSequelaeInpatient
- CFR
Documentation (type)
Units: List of elements
Description of health system
Attributes
name
name=string
Units: string
Name of health system
healthSystemMemory
healthSystemMemory=int
Units: Time steps Min: 1 Max: 100
Follow-up period during which a recurrence is considered to be a treatment failure
drugRegimen
→ scenario → healthSystem → drugRegimen
<drugRegimen
firstLine=string
secondLine=string
inpatient=string
/>
Documentation (element)
Units: List of elements
Description of drug regimen
Attributes
firstLine
firstLine=string
Units: Drug code
Code for first line drug
secondLine
secondLine=string
Units: Drug code
Code for second line drug
inpatient
inpatient=string
Units: Drug code
Code for drug used for treating inpatients
initialACR
→ scenario → healthSystem → initialACR
<initialACR>
IN THIS ORDER:
| [ <CQ ... /> ]
| [ <SP ... /> ]
| [ <AQ ... /> ]
| [ <SPAQ ... /> ]
| [ <ACT ... /> ]
| [ <QN ... /> ]
| <selfTreatment ... />
</initialACR>
Documentation (element)
Units: Proportion Min: 0 Max: 1
Initial cure rate
CQ
→ scenario → healthSystem → initialACR → CQ
<CQ
value=double
/>
Documentation (element)
Units: List of elements
Chloroquine
Attributes
value
value=double
TODO
SP
→ scenario → healthSystem → initialACR → SP
<SP
value=double
/>
Documentation (element)
Units: List of elements
Sulphadoxine-pyrimethamine
Attributes
value
value=double
TODO
AQ
→ scenario → healthSystem → initialACR → AQ
<AQ
value=double
/>
Documentation (element)
Units: List of elements
Amodiaquine
Attributes
value
value=double
TODO
SPAQ
→ scenario → healthSystem → initialACR → SPAQ
<SPAQ
value=double
/>
Documentation (element)
Units: List of elements
Sulphadoxine-pyrimethamine/Amodiaquine
Attributes
value
value=double
TODO
ACT
→ scenario → healthSystem → initialACR → ACT
<ACT
value=double
/>
Documentation (element)
Units: List of elements
Artemisinine combination therapy
Attributes
value
value=double
TODO
QN
→ scenario → healthSystem → initialACR → QN
<QN
value=double
/>
Documentation (element)
Units: List of elements
Quinine
Attributes
value
value=double
TODO
selfTreatment
→ scenario → healthSystem → initialACR → selfTreatment
<selfTreatment
value=double
/>
Documentation (element)
Units: Proportion Min: 0 Max: 1
Probability of self-treatment
Attributes
value
value=double
TODO
compliance
→ scenario → healthSystem → compliance
<compliance>
IN THIS ORDER:
| [ <CQ ... /> ]
| [ <SP ... /> ]
| [ <AQ ... /> ]
| [ <SPAQ ... /> ]
| [ <ACT ... /> ]
| [ <QN ... /> ]
| <selfTreatment ... />
</compliance>
Documentation (element)
Units: Proportion Min: 0 Max: 1
Adherence to treatment
nonCompliersEffective
→ scenario → healthSystem → nonCompliersEffective
<nonCompliersEffective>
IN THIS ORDER:
| [ <CQ ... /> ]
| [ <SP ... /> ]
| [ <AQ ... /> ]
| [ <SPAQ ... /> ]
| [ <ACT ... /> ]
| [ <QN ... /> ]
| <selfTreatment ... />
</nonCompliersEffective>
Documentation (element)
Units: Proportion Min: 0 Max: 1
Effectiveness of treatment of non compliers
pSeekOfficialCareUncomplicated1
→ scenario → healthSystem → pSeekOfficialCareUncomplicated1
<pSeekOfficialCareUncomplicated1
value=double
/>
Documentation (element)
Units: Proportion Min: 0 Max: 1
Probability that a patient with newly incident uncomplicated disease seeks official care
Attributes
value
value=double
TODO
pSelfTreatUncomplicated
→ scenario → healthSystem → pSelfTreatUncomplicated
<pSelfTreatUncomplicated
value=double
/>
Documentation (element)
Units: Proportion Min: 0 Max: 1
Probability that a patient with uncomplicated disease self-treats
Attributes
value
value=double
TODO
pSeekOfficialCareUncomplicated2
→ scenario → healthSystem → pSeekOfficialCareUncomplicated2
<pSeekOfficialCareUncomplicated2
value=double
/>
Documentation (element)
Units: Proportion Min: 0 Max: 1
Probability that a patient with recurrence of uncomplicated disease seeks official care
Attributes
value
value=double
TODO
pSeekOfficialCareSevere
→ scenario → healthSystem → pSeekOfficialCareSevere
<pSeekOfficialCareSevere
value=double
/>
Documentation (element)
Units: Proportion Min: 0 Max: 1
Probability that a patient with severe disease seeks official care
Attributes
value
value=double
TODO
pSequelaeInpatient
→ scenario → healthSystem → pSequelaeInpatient
<pSequelaeInpatient>
IN THIS ORDER:
| ( <item ... /> )+
</pSequelaeInpatient>
Documentation (element)
Units: List of elements
List of age specific probabilities of sequelae in inpatients
item
→ scenario → healthSystem → pSequelaeInpatient → item
<item
value=double
maxAgeYrs=double
/>
Attributes
value
value=double
TODO
maxAgeYrs
maxAgeYrs=double
Units: Years Min: 0 Max: 100
Upper bound of age group
CFR
→ scenario → healthSystem → CFR
<CFR>
IN THIS ORDER:
| ( <group ... /> )+
</CFR>
group
→ scenario → healthSystem → CFR → group
<group
cfr=double
lowerbound=double
/>
Attributes
cfr
cfr=double
Units: Proportion Min: 0 Max: 1
Case fatality rate
lowerbound
lowerbound=double
Units: Years Min: 0 Max: 100
Lower bound of age group
changeEIR
→ scenario → interventions → timed → intervention → changeEIR
<changeEIR
eipDuration=int
>
IN THIS ORDER:
| ( <EIRDaily ... /> )+
</changeEIR>
Documentation (type)
Parameters for the non-vector transmission model.
Attributes
eipDuration
eipDuration=int
The duration of sporogony in days
EIRDaily
→ scenario → entoData → nonVector → EIRDaily
<EIRDaily
[ origin=string ]
>
double
</EIRDaily>
Documentation (type)
Units: Number Min: 1
Value of daily EIR
Attributes
origin
origin=string
MDA
→ scenario → interventions → timed → intervention → MDA
<MDA
maxAge=double
minAge=double
coverage=double
/>
Documentation (element)
Units: List of elements
Description of mass drug deployment in the community
Attributes
maxAge
maxAge=double
Units: Years Min: 0 Max: 100
Maximum age of eligible individuals
minAge
minAge=double
Units: Years Min: 0 Max: 100
Minimum age of eligible individuals
coverage
coverage=double
Units: Proportion Min: 0 Max: 1
Coverage of intervention
IRS
→ scenario → interventions → timed → intervention → IRS
<IRS/>
vaccinate
→ scenario → interventions → timed → intervention → vaccinate
<vaccinate
maxAge=double
minAge=double
coverage=double
/>
Documentation (element)
Units: List of elements
Description of vaccine deployment in the community
Attributes
maxAge
maxAge=double
Units: Years Min: 0 Max: 100
Maximum age of eligible individuals
minAge
minAge=double
Units: Years Min: 0 Max: 100
Minimum age of eligible individuals
coverage
coverage=double
Units: Proportion Min: 0 Max: 1
Coverage of intervention
ITN
→ scenario → interventions → timed → intervention → ITN
<ITN
maxAge=double
minAge=double
coverage=double
/>
Documentation (element)
Units: List of elements
Description of ITN deployment in the community
Attributes
maxAge
maxAge=double
Units: Years Min: 0 Max: 100
Maximum age of eligible individuals
minAge
minAge=double
Units: Years Min: 0 Max: 100
Minimum age of eligible individuals
coverage
coverage=double
Units: Proportion Min: 0 Max: 1
Coverage of intervention
ipti
→ scenario → interventions → timed → intervention → ipti
<ipti
maxAge=double
minAge=double
coverage=double
/>
Documentation (element)
Units: List of elements
List of age groups for IPTi distribution
Attributes
maxAge
maxAge=double
Units: Years Min: 0 Max: 100
Maximum age of eligible individuals
minAge
minAge=double
Units: Years Min: 0 Max: 100
Minimum age of eligible individuals
coverage
coverage=double
Units: Proportion Min: 0 Max: 1
Coverage of intervention
caseManagements
<caseManagements
name=string
>
IN THIS ORDER:
| ( <caseManagement ... /> )+
</caseManagements>
Documentation (element)
Units: List of elements
List of case managment interventions
Documentation (type)
Units: List of elements
List of age-specific case managment descriptions
Attributes
name
name=string
Units: string
Name of age specific intervention
caseManagement
→ scenario → caseManagements → caseManagement
<caseManagement
[ minAgeYrs=decimal ]
maxAgeYrs=decimal
>
IN THIS ORDER:
| <uc1 ... />
| <uc2 ... />
| <sev ... />
| <nmf ... />
| <decisions ... />
</caseManagement>
Documentation (element)
Units: List of elements
Age-specific case management description, describes entry-points and decisions, with entry-point-specific decision probabilities
Attributes
minAgeYrs
minAgeYrs=decimal
maxAgeYrs
maxAgeYrs=decimal
Units: Years Min: 0 Max: 100
Upper bound of age group
uc1
→ scenario → caseManagements → caseManagement → uc1
<uc1>
IN THIS ORDER:
| ( <endPoint ... /> )+
</uc1>
endPoint
→ scenario → caseManagements → caseManagement → uc1 → endPoint
<endPoint
decision=int
p=double
/>
Attributes
decision
decision=int
Foreign key reference to outcome node
p
p=double
Units: Proportion Min: 0 Max: 1
Probability of outcome
uc2
→ scenario → caseManagements → caseManagement → uc2
<uc2>
IN THIS ORDER:
| ( <endPoint ... /> )+
</uc2>
sev
→ scenario → caseManagements → caseManagement → sev
<sev>
IN THIS ORDER:
| ( <endPoint ... /> )+
</sev>
nmf
→ scenario → caseManagements → caseManagement → nmf
<nmf>
IN THIS ORDER:
| ( <endPoint ... /> )+
</nmf>
decisions
→ scenario → caseManagements → caseManagement → decisions
<decisions>
IN THIS ORDER:
| ( <decision ... /> )+
</decisions>
decision
→ scenario → caseManagements → caseManagement → decisions → decision
<decision
id=int
>
IN THIS ORDER:
| ( <medicate ... /> )+
</decision>
Documentation (element)
Units: List of elements
describes treatment decisions, a list of medicate descisions.
Attributes
id
id=int
Units: Number
Key of decision
medicate
→ scenario → caseManagements → caseManagement → decisions → decision → medicate
<medicate
name=string
qty=int
time=int
/>
Attributes
name
name=string
Units: string
Name of drug compound
qty
qty=int
Units: Number
Quantity of drug compound
time
time=int
Units: Number Min: 1 Max: 10000
Time step of intervention
healthSystem
→ scenario → healthSystem
<healthSystem
name=string
healthSystemMemory=int
>
IN THIS ORDER:
| <drugRegimen ... />
| <initialACR ... />
| <compliance ... />
| <nonCompliersEffective ... />
| <pSeekOfficialCareUncomplicated1 ... />
| <pSelfTreatUncomplicated ... />
| <pSeekOfficialCareUncomplicated2 ... />
| <pSeekOfficialCareSevere ... />
| <pSequelaeInpatient ... />
| <CFR ... />
</healthSystem>
- drugRegimen
- initialACR
- compliance
- nonCompliersEffective
- pSeekOfficialCareUncomplicated1
- pSelfTreatUncomplicated
- pSeekOfficialCareUncomplicated2
- pSeekOfficialCareSevere
- pSequelaeInpatient
- CFR
Documentation (element)
Units: List of elements
Description of health system
Documentation (type)
Units: List of elements
Description of health system
Attributes
name
name=string
Units: string
Name of health system
healthSystemMemory
healthSystemMemory=int
Units: Time steps Min: 1 Max: 100
Follow-up period during which a recurrence is considered to be a treatment failure
entoData
<entoData
name=string
>
IN THIS ORDER:
| EXACTLY ONE OF:
| | <nonVector ... />
| | <vector ... />
</entoData>
Documentation (element)
Units: List of elements
Description of entomological data
Documentation (type)
Units: List of elements
Data for entomodel
Attributes
name
name=string
Units: string
Name of entomology data
nonVector
→ scenario → entoData → nonVector
<nonVector
eipDuration=int
>
IN THIS ORDER:
| ( <EIRDaily ... /> )+
</nonVector>
Documentation (type)
Parameters for the non-vector transmission model.
Attributes
eipDuration
eipDuration=int
The duration of sporogony in days
vector
→ scenario → entoData → vector
<vector>
IN THIS ORDER:
| ( <anopheles ... /> )+
| ( <nonHumanHosts ... /> )*
</vector>
Documentation (element)
Parameters for the vector transmission model.
anopheles
→ scenario → entoData → vector → anopheles
<anopheles
mosquito=string
>
IN THIS ORDER:
| <eir ... />
| <mosq ... />
| ( <nonHumanHosts ... /> )*
</anopheles>
Attributes
mosquito
mosquito=string
eir
→ scenario → entoData → vector → anopheles → eir
<eir
a0=double
a1=double
a2=double
b1=double
b2=double
EIRRotateAngle=double
/>
Documentation (element)
Units: Element
Description of entomological inoculation rate
Attributes
a0
a0=double
a1
a1=double
a2
a2=double
b1
b1=double
b2
b2=double
EIRRotateAngle
EIRRotateAngle=double
mosq
→ scenario → entoData → vector → anopheles → mosq
<mosq
mosqRestDuration=int
extrinsicIncubationPeriod=int
mosqSeekingDeathRate=double
mosqSeekingDuration=double
mosqEntoAvailability=double
mosqProbBiting=double
mosqProbFindRestSite=double
mosqProbResting=double
mosqProbOvipositing=double
emergenceRateFilename=string
/>
Documentation (element)
Units: List of elements
Vector species
Attributes
mosqRestDuration
mosqRestDuration=int
extrinsicIncubationPeriod
extrinsicIncubationPeriod=int
mosqSeekingDeathRate
mosqSeekingDeathRate=double
mosqSeekingDuration
mosqSeekingDuration=double
mosqEntoAvailability
mosqEntoAvailability=double
mosqProbBiting
mosqProbBiting=double
mosqProbFindRestSite
mosqProbFindRestSite=double
mosqProbResting
mosqProbResting=double
mosqProbOvipositing
mosqProbOvipositing=double
emergenceRateFilename
emergenceRateFilename=string
nonHumanHosts
→ scenario → entoData → vector → anopheles → nonHumanHosts
<nonHumanHosts
mosqEntoAvailability=double
mosqProbBiting=double
mosqProbFindRestSite=double
mosqProbResting=double
/>
Documentation (element)
Units: List of elements
Non human host parameters, per type of host (must match up with non-species-specific parameters).
Attributes
mosqEntoAvailability
mosqEntoAvailability=double
mosqProbBiting
mosqProbBiting=double
mosqProbFindRestSite
mosqProbFindRestSite=double
mosqProbResting
mosqProbResting=double
nonHumanHosts
→ scenario → entoData → vector → nonHumanHosts
<nonHumanHosts
[ name=string ]
populationSize=int
/>
Documentation (element)
Populations of non-human hosts (must also have species-specific parameters).
Attributes
name
name=string
populationSize
populationSize=int
parameters
→ scenario → parameters
<parameters
interval=int
iseed=int
delta=double
latentp=int
>
IN THIS ORDER:
| ( <parameter ... /> )+
</parameters>
Documentation (element)
Parameters for mathematical model
Documentation (type)
Units: List of elements
Parameter vector
Attributes
interval
interval=int
Units: Days
Simulation step
iseed
iseed=int
Units: Number
Seed for RNG
delta
delta=double
Units: ? Redundant
this no longer seems to be used
latentp
latentp=int
Units: Time steps Min: 0 Max: 20
pre-erythrocytic latent period, in time steps
parameter
→ scenario → parameters → parameter
<parameter
name=string
number=int
value=double
[ include=boolean ]
/>
Attributes
name
name=string
Units: string
Name of parameter
number
number=int
Units: Number Min: 1 Max: 100
Reference number of input parameter
value
value=double
Units: Number Min: 0
Parameter value
include
include=boolean
Units: Number Min: 0 Max: 1
True if parameter is to be sampled in optimization runs. Not used in simulator app.
Schema 3 documentation
Generated from: scenario_3.xsd
.
Key:
abc required (one)
[ def ] optional (zero or one)
( ghi )* any number (zero or more)
( jkl )+ at least one
( mno ){2,inf} two or more occurrences
scenario
→ scenario
<scenario
schemaVersion=int
analysisNo=int
maximumAgeYrs=double
name=string
popSize=int
simulationDuration=int
modelVersion=int
wuID=int
assimMode=("0" or "1")
mode=("1" or "2" or "3" or "4")
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:noNamespaceSchemaLocation="scenario_3.xsd"
>
IN THIS ORDER:
| <demography ... />
| <monitoring ... />
| <interventions ... />
| [ <caseManagements ... /> ]
| <healthSystem ... />
| <entoData ... />
| <parameters ... />
</scenario>
Documentation (element)
Units: List of elements
Description of scenario
Attributes
schemaVersion
schemaVersion=int
Version of xml schema. If not equal to the current version an error is thrown. Use SchemaTranslator to update xml files.
analysisNo
analysisNo=int
Units: Number Min: 1 Max: 100000000
Unique identifier of scenario
maximumAgeYrs
maximumAgeYrs=double
Units: Number Min: 0 Max: 100
Maximum age of simulated humans
name
name=string
Units: string
Name of intervention
popSize
popSize=int
Units: Count Min: 1 Max: 100000
Population size
simulationDuration
simulationDuration=int
Units: Time steps Min: 1 Max: 36500
Duration of main simulation
modelVersion
modelVersion=int
Units: Code Min: 0 Max: 100000000
Model Version
wuID
wuID=int
Units: Number Min: 1 Max: 100000000
Work unit ID. Only used to validate checkpointing, to prevent checkpoint cheats.
assimMode
assimMode=("0" or "1")
Units: Code
Assimilator mode. Defines output of simulator as either complete (columns: time,agegroup,measure,value) or minimal (single column: value)
mode
mode=("1" or "2" or "3" or "4")
Units: Code
Simulation mode
demography
→ scenario → demography
<demography
name=string
[ growthRate=double ]
>
IN THIS ORDER:
| <ageGroup ... />
</demography>
Documentation (element)
Units: List of elements
Description of demography
Documentation (type)
Units: List of elements
Description of demography
Attributes
name
name=string
Units: string
Name of demography data
growthRate
growthRate=double
Units: Number Min: 0 Max: 0
Growth rate of human population.
ageGroup
→ scenario → demography → ageGroup
<ageGroup
lowerbound=double
>
IN THIS ORDER:
| ( <group ... /> )+
</ageGroup>
Documentation (element)
Units: List of elements
List of age groups included in demography
Documentation (type)
Units: List of elements
List of age groups included in demography or surveys
Attributes
lowerbound
lowerbound=double
Units: Years Min: 0 Max: 100
Lower bound of age group
group
→ scenario → demography → ageGroup → group
<group
poppercent=double
upperbound=double
/>
Attributes
poppercent
poppercent=double
upperbound
upperbound=double
monitoring
→ scenario → monitoring
<monitoring
name=string
>
IN THIS ORDER:
| <surveys ... />
| <ageGroup ... />
</monitoring>
Documentation (element)
Units: List of elements
Description of surveys
Documentation (type)
Units: List of elements
Description of surveys
Attributes
name
name=string
Units: string
Name of monitoring data
surveys
→ scenario → monitoring → surveys
<surveys
detectionLimit=double
summaryOption=int
>
IN THIS ORDER:
| <surveyTime ... />
</surveys>
Documentation (element)
Units: List of elements
List of survey times
Attributes
detectionLimit
detectionLimit=double
Units: parasites/micolitre Min: 0 Max: 1000
Detection limit for parasitemia
summaryOption
summaryOption=int
Units: Code
Requested output variables
surveyTime
→ scenario → monitoring → surveys → surveyTime
<surveyTime>
int
</surveyTime>
Documentation (element)
Units: Number Min: 0
Survey time
ageGroup
→ scenario → monitoring → ageGroup
<ageGroup
lowerbound=double
>
IN THIS ORDER:
| ( <group ... /> )+
</ageGroup>
Documentation (element)
Units: List of elements
List of age groups included in demography or surveys
Documentation (type)
Units: List of elements
List of age groups included in surveys
Attributes
lowerbound
lowerbound=double
Units: Years Min: 0 Max: 100
Lower bound of age group
group
→ scenario → monitoring → ageGroup → group
<group
upperbound=double
/>
Attributes
upperbound
upperbound=double
interventions
<interventions
name=string
>
IN THIS ORDER:
| ( <vaccineDescription ... /> ){0,3}
| [ <iptiDescription ... /> ]
| [ <continuous ... /> ]
| [ <timed ... /> ]
</interventions>
Documentation (element)
Units: List of elements
List of interventions
Documentation (type)
Units: List of elements
List of interventions
Attributes
name
name=string
Units: string
Name of age specific intervention
vaccineDescription
→ scenario → interventions → vaccineDescription
<vaccineDescription
vaccineType=int
>
IN THIS ORDER:
| <halfLifeYrs ... />
| <efficacyB ... />
| ( <initialEfficacy ... /> )+
</vaccineDescription>
Attributes
vaccineType
vaccineType=int
Units: Code
Type of vaccine
halfLifeYrs
→ scenario → interventions → vaccineDescription → halfLifeYrs
<halfLifeYrs
value=double
/>
Documentation (element)
Units: Years Min: 0 Max: 100
Half life of drug effect
Attributes
value
value=double
TODO
efficacyB
→ scenario → interventions → vaccineDescription → efficacyB
<efficacyB
value=double
/>
Documentation (element)
Units: Positive real Min: 0.001 Max: 1.00E+06
Measure of variation in vaccine efficacy
Attributes
value
value=double
TODO
initialEfficacy
→ scenario → interventions → vaccineDescription → initialEfficacy
<initialEfficacy
value=double
/>
Attributes
value
value=double
TODO
iptiDescription
→ scenario → interventions → iptiDescription
<iptiDescription
iptiEffect=int
>
IN THIS ORDER:
| ( <infGenotype ... /> )+
</iptiDescription>
Attributes
iptiEffect
iptiEffect=int
infGenotype
→ scenario → interventions → iptiDescription → infGenotype
<infGenotype
name=string
freq=double
ACR=double
proph=int
tolPeriod=int
atten=int
/>
Attributes
name
name=string
Units: string
Name of age specific intervention
freq
freq=double
ACR
ACR=double
proph
proph=int
tolPeriod
tolPeriod=int
atten
atten=int
continuous
→ scenario → interventions → continuous
<continuous>
IN THIS ORDER:
| ( <vaccine ... /> )*
| ( <ITN ... /> )*
| ( <ipti ... /> )*
</continuous>
vaccine
→ scenario → interventions → continuous → vaccine
<vaccine
targetAgeYrs=double
coverage=double
/>
Documentation (element)
Units: List of elements
List of age groups for vaccination
Attributes
targetAgeYrs
targetAgeYrs=double
Units: Years Min: 0 Max: 100
Target age of intervention
coverage
coverage=double
Units: Proportion Min: 0 Max: 1
Coverage of intervention
ITN
→ scenario → interventions → continuous → ITN
<ITN
targetAgeYrs=double
coverage=double
/>
Documentation (element)
Units: List of elements
Description of ITN deployment in the community
Attributes
targetAgeYrs
targetAgeYrs=double
Units: Years Min: 0 Max: 100
Target age of intervention
coverage
coverage=double
Units: Proportion Min: 0 Max: 1
Coverage of intervention
ipti
→ scenario → interventions → continuous → ipti
<ipti
targetAgeYrs=double
coverage=double
/>
Documentation (element)
Units: List of elements
List of age groups for IPTi distribution
Attributes
targetAgeYrs
targetAgeYrs=double
Units: Years Min: 0 Max: 100
Target age of intervention
coverage
coverage=double
Units: Proportion Min: 0 Max: 1
Coverage of intervention
timed
→ scenario → interventions → timed
<timed>
IN THIS ORDER:
| ( <intervention ... /> )+
</timed>
Documentation (element)
Units: List of elements
List of timed interventions
Documentation (type)
Units: List of elements
List of timed interventions
intervention
→ scenario → interventions → timed → intervention
<intervention
time=int
>
IN THIS ORDER:
| [ <changeHS ... /> ]
| [ <changeEIR ... /> ]
| [ <MDA ... /> ]
| [ <IRS ... /> ]
| [ <vaccinate ... /> ]
| [ <ITN ... /> ]
| [ <ipti ... /> ]
</intervention>
Attributes
time
time=int
Units: Number Min: 1 Max: 10000
Time step of intervention
changeHS
→ scenario → interventions → timed → intervention → changeHS
<changeHS
name=string
healthSystemMemory=int
>
IN THIS ORDER:
| <drugRegimen ... />
| <initialACR ... />
| <compliance ... />
| <nonCompliersEffective ... />
| <pSeekOfficialCareUncomplicated1 ... />
| <pSelfTreatUncomplicated ... />
| <pSeekOfficialCareUncomplicated2 ... />
| <pSeekOfficialCareSevere ... />
| <pSequelaeInpatient ... />
| <CFR ... />
</changeHS>
- drugRegimen
- initialACR
- compliance
- nonCompliersEffective
- pSeekOfficialCareUncomplicated1
- pSelfTreatUncomplicated
- pSeekOfficialCareUncomplicated2
- pSeekOfficialCareSevere
- pSequelaeInpatient
- CFR
Documentation (type)
Units: List of elements
Description of health system
Attributes
name
name=string
Units: string
Name of health system
healthSystemMemory
healthSystemMemory=int
Units: Time steps Min: 1 Max: 100
Follow-up period during which a recurrence is considered to be a treatment failure
drugRegimen
→ scenario → healthSystem → drugRegimen
<drugRegimen
firstLine=string
secondLine=string
inpatient=string
/>
Documentation (element)
Units: List of elements
Description of drug regimen
Attributes
firstLine
firstLine=string
Units: Drug code
Code for first line drug
secondLine
secondLine=string
Units: Drug code
Code for second line drug
inpatient
inpatient=string
Units: Drug code
Code for drug used for treating inpatients
initialACR
→ scenario → healthSystem → initialACR
<initialACR>
IN THIS ORDER:
| [ <CQ ... /> ]
| [ <SP ... /> ]
| [ <AQ ... /> ]
| [ <SPAQ ... /> ]
| [ <ACT ... /> ]
| [ <QN ... /> ]
| <selfTreatment ... />
</initialACR>
Documentation (element)
Units: Proportion Min: 0 Max: 1
Initial cure rate
CQ
→ scenario → healthSystem → initialACR → CQ
<CQ
value=double
/>
Documentation (element)
Units: List of elements
Chloroquine
Attributes
value
value=double
TODO
SP
→ scenario → healthSystem → initialACR → SP
<SP
value=double
/>
Documentation (element)
Units: List of elements
Sulphadoxine-pyrimethamine
Attributes
value
value=double
TODO
AQ
→ scenario → healthSystem → initialACR → AQ
<AQ
value=double
/>
Documentation (element)
Units: List of elements
Amodiaquine
Attributes
value
value=double
TODO
SPAQ
→ scenario → healthSystem → initialACR → SPAQ
<SPAQ
value=double
/>
Documentation (element)
Units: List of elements
Sulphadoxine-pyrimethamine/Amodiaquine
Attributes
value
value=double
TODO
ACT
→ scenario → healthSystem → initialACR → ACT
<ACT
value=double
/>
Documentation (element)
Units: List of elements
Artemisinine combination therapy
Attributes
value
value=double
TODO
QN
→ scenario → healthSystem → initialACR → QN
<QN
value=double
/>
Documentation (element)
Units: List of elements
Quinine
Attributes
value
value=double
TODO
selfTreatment
→ scenario → healthSystem → initialACR → selfTreatment
<selfTreatment
value=double
/>
Documentation (element)
Units: Proportion Min: 0 Max: 1
Probability of self-treatment
Attributes
value
value=double
TODO
compliance
→ scenario → healthSystem → compliance
<compliance>
IN THIS ORDER:
| [ <CQ ... /> ]
| [ <SP ... /> ]
| [ <AQ ... /> ]
| [ <SPAQ ... /> ]
| [ <ACT ... /> ]
| [ <QN ... /> ]
| <selfTreatment ... />
</compliance>
Documentation (element)
Units: Proportion Min: 0 Max: 1
Adherence to treatment
nonCompliersEffective
→ scenario → healthSystem → nonCompliersEffective
<nonCompliersEffective>
IN THIS ORDER:
| [ <CQ ... /> ]
| [ <SP ... /> ]
| [ <AQ ... /> ]
| [ <SPAQ ... /> ]
| [ <ACT ... /> ]
| [ <QN ... /> ]
| <selfTreatment ... />
</nonCompliersEffective>
Documentation (element)
Units: Proportion Min: 0 Max: 1
Effectiveness of treatment of non compliers
pSeekOfficialCareUncomplicated1
→ scenario → healthSystem → pSeekOfficialCareUncomplicated1
<pSeekOfficialCareUncomplicated1
value=double
/>
Documentation (element)
Units: Proportion Min: 0 Max: 1
Probability that a patient with newly incident uncomplicated disease seeks official care
Attributes
value
value=double
TODO
pSelfTreatUncomplicated
→ scenario → healthSystem → pSelfTreatUncomplicated
<pSelfTreatUncomplicated
value=double
/>
Documentation (element)
Units: Proportion Min: 0 Max: 1
Probability that a patient with uncomplicated disease self-treats
Attributes
value
value=double
TODO
pSeekOfficialCareUncomplicated2
→ scenario → healthSystem → pSeekOfficialCareUncomplicated2
<pSeekOfficialCareUncomplicated2
value=double
/>
Documentation (element)
Units: Proportion Min: 0 Max: 1
Probability that a patient with recurrence of uncomplicated disease seeks official care
Attributes
value
value=double
TODO
pSeekOfficialCareSevere
→ scenario → healthSystem → pSeekOfficialCareSevere
<pSeekOfficialCareSevere
value=double
/>
Documentation (element)
Units: Proportion Min: 0 Max: 1
Probability that a patient with severe disease seeks official care
Attributes
value
value=double
TODO
pSequelaeInpatient
→ scenario → healthSystem → pSequelaeInpatient
<pSequelaeInpatient>
IN THIS ORDER:
| ( <item ... /> )+
</pSequelaeInpatient>
Documentation (element)
Units: List of elements
List of age specific probabilities of sequelae in inpatients
item
→ scenario → healthSystem → pSequelaeInpatient → item
<item
value=double
maxAgeYrs=double
/>
Attributes
value
value=double
TODO
maxAgeYrs
maxAgeYrs=double
Units: Years Min: 0 Max: 100
Upper bound of age group
CFR
→ scenario → healthSystem → CFR
<CFR>
IN THIS ORDER:
| ( <group ... /> )+
</CFR>
group
→ scenario → healthSystem → CFR → group
<group
cfr=double
lowerbound=double
/>
Attributes
cfr
cfr=double
Units: Proportion Min: 0 Max: 1
Case fatality rate
lowerbound
lowerbound=double
Units: Years Min: 0 Max: 100
Lower bound of age group
changeEIR
→ scenario → interventions → timed → intervention → changeEIR
<changeEIR
name=string
inputType=("EIR" or "Fourier")
>
IN THIS ORDER:
| EXACTLY ONE OF:
| | ( <EIRDaily ... /> )+
| | ( <anopheles ... /> )+
</changeEIR>
Documentation (type)
Units: List of elements
Data for entomodel: TODO: choice element
Attributes
name
name=string
Units: string
Name of entomology data
inputType
inputType=("EIR" or "Fourier")
EIRDaily
→ scenario → entoData → EIRDaily
<EIRDaily
[ origin=string ]
>
double
</EIRDaily>
Documentation (type)
Units: Number Min: 0
Value of daily EIR
Attributes
origin
origin=string
anopheles
→ scenario → entoData → anopheles
<anopheles
mosquito=string
useNv0Guess=boolean
>
IN THIS ORDER:
| <eir ... />
| <mosq ... />
</anopheles>
Attributes
mosquito
mosquito=string
useNv0Guess
useNv0Guess=boolean
eir
→ scenario → entoData → anopheles → eir
<eir
a0=double
a1=double
a2=double
b1=double
b2=double
EIRRotateAngle=double
/>
Documentation (element)
Units: Element
Description of entomological inoculation rate
Attributes
a0
a0=double
a1
a1=double
a2
a2=double
b1
b1=double
b2
b2=double
EIRRotateAngle
EIRRotateAngle=double
mosq
→ scenario → entoData → anopheles → mosq
<mosq
mosqRestDuration=int
mosqSeekingDeathRate=double
mosqSeekingDuration=double
mosqProbBiting=double
mosqProbFindRestSite=double
mosqProbResting=double
mosqProbOvipositing=double
/>
Documentation (element)
Units: List of elements
Vector species
Attributes
mosqRestDuration
mosqRestDuration=int
mosqSeekingDeathRate
mosqSeekingDeathRate=double
mosqSeekingDuration
mosqSeekingDuration=double
mosqProbBiting
mosqProbBiting=double
mosqProbFindRestSite
mosqProbFindRestSite=double
mosqProbResting
mosqProbResting=double
mosqProbOvipositing
mosqProbOvipositing=double
MDA
→ scenario → interventions → timed → intervention → MDA
<MDA
maxAge=double
minAge=double
coverage=double
/>
Documentation (element)
Units: List of elements
Description of mass drug deployment in the community
Attributes
maxAge
maxAge=double
Units: Years Min: 0 Max: 100
Maximum age of eligible individuals
minAge
minAge=double
Units: Years Min: 0 Max: 100
Minimum age of eligible individuals
coverage
coverage=double
Units: Proportion Min: 0 Max: 1
Coverage of intervention
IRS
→ scenario → interventions → timed → intervention → IRS
<IRS/>
vaccinate
→ scenario → interventions → timed → intervention → vaccinate
<vaccinate
maxAge=double
minAge=double
coverage=double
/>
Documentation (element)
Units: List of elements
Description of vaccine deployment in the community
Attributes
maxAge
maxAge=double
Units: Years Min: 0 Max: 100
Maximum age of eligible individuals
minAge
minAge=double
Units: Years Min: 0 Max: 100
Minimum age of eligible individuals
coverage
coverage=double
Units: Proportion Min: 0 Max: 1
Coverage of intervention
ITN
→ scenario → interventions → timed → intervention → ITN
<ITN
maxAge=double
minAge=double
coverage=double
/>
Documentation (element)
Units: List of elements
Description of ITN deployment in the community
Attributes
maxAge
maxAge=double
Units: Years Min: 0 Max: 100
Maximum age of eligible individuals
minAge
minAge=double
Units: Years Min: 0 Max: 100
Minimum age of eligible individuals
coverage
coverage=double
Units: Proportion Min: 0 Max: 1
Coverage of intervention
ipti
→ scenario → interventions → timed → intervention → ipti
<ipti
maxAge=double
minAge=double
coverage=double
/>
Documentation (element)
Units: List of elements
List of age groups for IPTi distribution
Attributes
maxAge
maxAge=double
Units: Years Min: 0 Max: 100
Maximum age of eligible individuals
minAge
minAge=double
Units: Years Min: 0 Max: 100
Minimum age of eligible individuals
coverage
coverage=double
Units: Proportion Min: 0 Max: 1
Coverage of intervention
caseManagements
<caseManagements
name=string
>
IN THIS ORDER:
| ( <caseManagement ... /> )+
</caseManagements>
Documentation (element)
Units: List of elements
List of case managment interventions
Documentation (type)
Units: List of elements
List of age-specific case managment descriptions
Attributes
name
name=string
Units: string
Name of age specific intervention
caseManagement
→ scenario → caseManagements → caseManagement
<caseManagement
[ minAgeYrs=decimal ]
maxAgeYrs=decimal
>
IN THIS ORDER:
| <uc1 ... />
| <uc2 ... />
| <sev ... />
| <nmf ... />
| <decisions ... />
</caseManagement>
Documentation (element)
Units: List of elements
Age-specific case management description, describes entry-points and decisions, with entry-point-specific decision probabilities
Attributes
minAgeYrs
minAgeYrs=decimal
maxAgeYrs
maxAgeYrs=decimal
Units: Years Min: 0 Max: 100
Upper bound of age group
uc1
→ scenario → caseManagements → caseManagement → uc1
<uc1>
IN THIS ORDER:
| ( <endPoint ... /> )+
</uc1>
endPoint
→ scenario → caseManagements → caseManagement → uc1 → endPoint
<endPoint
decision=int
p=double
/>
Attributes
decision
decision=int
Foreign key reference to outcome node
p
p=double
Units: Proportion Min: 0 Max: 1
Probability of outcome
uc2
→ scenario → caseManagements → caseManagement → uc2
<uc2>
IN THIS ORDER:
| ( <endPoint ... /> )+
</uc2>
sev
→ scenario → caseManagements → caseManagement → sev
<sev>
IN THIS ORDER:
| ( <endPoint ... /> )+
</sev>
nmf
→ scenario → caseManagements → caseManagement → nmf
<nmf>
IN THIS ORDER:
| ( <endPoint ... /> )+
</nmf>
decisions
→ scenario → caseManagements → caseManagement → decisions
<decisions>
IN THIS ORDER:
| ( <decision ... /> )+
</decisions>
decision
→ scenario → caseManagements → caseManagement → decisions → decision
<decision
id=int
>
IN THIS ORDER:
| ( <medicate ... /> )+
</decision>
Documentation (element)
Units: List of elements
describes treatment decisions, a list of medicate descisions.
Attributes
id
id=int
Units: Number
Key of decision
medicate
→ scenario → caseManagements → caseManagement → decisions → decision → medicate
<medicate
name=string
qty=int
time=int
/>
Attributes
name
name=string
Units: string
Name of drug compound
qty
qty=int
Units: Number
Quantity of drug compound
time
time=int
Units: Number Min: 1 Max: 10000
Time step of intervention
healthSystem
→ scenario → healthSystem
<healthSystem
name=string
healthSystemMemory=int
>
IN THIS ORDER:
| <drugRegimen ... />
| <initialACR ... />
| <compliance ... />
| <nonCompliersEffective ... />
| <pSeekOfficialCareUncomplicated1 ... />
| <pSelfTreatUncomplicated ... />
| <pSeekOfficialCareUncomplicated2 ... />
| <pSeekOfficialCareSevere ... />
| <pSequelaeInpatient ... />
| <CFR ... />
</healthSystem>
- drugRegimen
- initialACR
- compliance
- nonCompliersEffective
- pSeekOfficialCareUncomplicated1
- pSelfTreatUncomplicated
- pSeekOfficialCareUncomplicated2
- pSeekOfficialCareSevere
- pSequelaeInpatient
- CFR
Documentation (element)
Units: List of elements
Description of health system
Documentation (type)
Units: List of elements
Description of health system
Attributes
name
name=string
Units: string
Name of health system
healthSystemMemory
healthSystemMemory=int
Units: Time steps Min: 1 Max: 100
Follow-up period during which a recurrence is considered to be a treatment failure
entoData
<entoData
name=string
inputType=("EIR" or "Fourier")
>
IN THIS ORDER:
| EXACTLY ONE OF:
| | ( <EIRDaily ... /> )+
| | ( <anopheles ... /> )+
</entoData>
Documentation (element)
Units: List of elements
Description of entomological data
Documentation (type)
Units: List of elements
Data for entomodel: TODO: choice element
Attributes
name
name=string
Units: string
Name of entomology data
inputType
inputType=("EIR" or "Fourier")
parameters
→ scenario → parameters
<parameters
interval=int
iseed=int
delta=double
eipDuration=int
latentp=int
>
IN THIS ORDER:
| ( <parameter ... /> )+
</parameters>
Documentation (element)
Parameters for mathematical model
Documentation (type)
Units: List of elements
Parameter vector
Attributes
interval
interval=int
Units: Days
Simulation step
iseed
iseed=int
Units: Number
Seed for RNG
delta
delta=double
Units: ? Redundant
this no longer seems to be used
eipDuration
eipDuration=int
Units: Count Min: 0 Max: 50
The duration of sporogony in days
latentp
latentp=int
Units: Time steps Min: 0 Max: 20
pre-erythrocytic latent period, in time steps
parameter
→ scenario → parameters → parameter
<parameter
name=string
number=int
value=double
[ include=boolean ]
/>
Attributes
name
name=string
Units: string
Name of parameter
number
number=int
Units: Number Min: 1 Max: 100
Reference number of input parameter
value
value=double
Units: Number Min: 0
Parameter value
include
include=boolean
Units: Number Min: 0 Max: 1
True if parameter is to be sampled in optimization runs. Not used in simulator app.
Schema 2 documentation
Generated from: scenario_2.xsd
.
Key:
abc required (one)
[ def ] optional (zero or one)
( ghi )* any number (zero or more)
( jkl )+ at least one
( mno ){2,inf} two or more occurrences
scenario
→ scenario
<scenario
schemaVersion=int
analysisNo=int
maximumAgeYrs=double
name=string
popSize=int
simulationDuration=int
modelVersion=int
wuID=int
assimMode=("0" or "1")
mode=("1" or "2" or "3" or "4")
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:noNamespaceSchemaLocation="scenario_2.xsd"
>
IN THIS ORDER:
| <demography ... />
| <monitoring ... />
| <interventions ... />
| [ <caseManagements ... /> ]
| <healthSystem ... />
| <entoData ... />
| <parameters ... />
</scenario>
Documentation (element)
Units: List of elements
Description of scenario
Attributes
schemaVersion
schemaVersion=int
Version of xml schema. If not equal to the current version an error is thrown. Use SchemaTranslator to update xml files.
analysisNo
analysisNo=int
Units: Number Min: 1 Max: 100000000
Unique identifier of scenario
maximumAgeYrs
maximumAgeYrs=double
Units: Number Min: 0 Max: 100
Maximum age of simulated humans
name
name=string
Units: string
Name of intervention
popSize
popSize=int
Units: Count Min: 1 Max: 100000
Population size
simulationDuration
simulationDuration=int
Units: Time steps Min: 1 Max: 36500
Duration of main simulation
modelVersion
modelVersion=int
Units: Code Min: 0 Max: 100000000
Model Version
wuID
wuID=int
Units: Number Min: 1 Max: 100000000
Work unit ID. Only used to validate checkpointing, to prevent checkpoint cheats.
assimMode
assimMode=("0" or "1")
Units: Code
Assimilator mode. Defines output of simulator as either complete (columns: time,agegroup,measure,value) or minimal (single column: value)
mode
mode=("1" or "2" or "3" or "4")
Units: Code
Simulation mode
demography
→ scenario → demography
<demography
name=string
[ growthRate=double ]
>
IN THIS ORDER:
| <ageGroup ... />
</demography>
Documentation (element)
Units: List of elements
Description of demography
Documentation (type)
Units: List of elements
Description of demography
Attributes
name
name=string
Units: string
Name of demography data
growthRate
growthRate=double
Units: Number Min: 0 Max: 0
Growth rate of human population.
ageGroup
→ scenario → demography → ageGroup
<ageGroup
lowerbound=double
>
IN THIS ORDER:
| ( <group ... /> )+
</ageGroup>
Documentation (element)
Units: List of elements
List of age groups included in demography
Documentation (type)
Units: List of elements
List of age groups included in demography or surveys
Attributes
lowerbound
lowerbound=double
Units: Years Min: 0 Max: 100
Lower bound of age group
group
→ scenario → demography → ageGroup → group
<group
poppercent=double
upperbound=double
/>
Attributes
poppercent
poppercent=double
upperbound
upperbound=double
monitoring
→ scenario → monitoring
<monitoring
name=string
>
IN THIS ORDER:
| <surveys ... />
| <ageGroup ... />
</monitoring>
Documentation (element)
Units: List of elements
Description of surveys
Documentation (type)
Units: List of elements
Description of surveys
Attributes
name
name=string
Units: string
Name of monitoring data
surveys
→ scenario → monitoring → surveys
<surveys
detectionLimit=double
summaryOption=int
>
IN THIS ORDER:
| <surveyTime ... />
</surveys>
Documentation (element)
Units: List of elements
List of survey times
Attributes
detectionLimit
detectionLimit=double
Units: parasites/micolitre Min: 0 Max: 1000
Detection limit for parasitemia
summaryOption
summaryOption=int
Units: Code
Requested output variables
surveyTime
→ scenario → monitoring → surveys → surveyTime
<surveyTime>
int
</surveyTime>
Documentation (element)
Units: Number Min: 0
Survey time
ageGroup
→ scenario → monitoring → ageGroup
<ageGroup
lowerbound=double
>
IN THIS ORDER:
| ( <group ... /> )+
</ageGroup>
Documentation (element)
Units: List of elements
List of age groups included in demography or surveys
Documentation (type)
Units: List of elements
List of age groups included in surveys
Attributes
lowerbound
lowerbound=double
Units: Years Min: 0 Max: 100
Lower bound of age group
group
→ scenario → monitoring → ageGroup → group
<group
upperbound=double
/>
Attributes
upperbound
upperbound=double
interventions
<interventions
name=string
>
IN THIS ORDER:
| ( <vaccineDescription ... /> ){0,3}
| [ <iptiDescription ... /> ]
| [ <ITNDescription ... /> ]
| [ <continuous ... /> ]
| [ <timed ... /> ]
</interventions>
Documentation (element)
Units: List of elements
List of interventions
Documentation (type)
Units: List of elements
List of interventions
Attributes
name
name=string
Units: string
Name of age specific intervention
vaccineDescription
→ scenario → interventions → vaccineDescription
<vaccineDescription
vaccineType=int
>
IN THIS ORDER:
| <halfLifeYrs ... />
| <efficacyB ... />
| ( <initialEfficacy ... /> )+
</vaccineDescription>
Attributes
vaccineType
vaccineType=int
Units: Code
Type of vaccine
halfLifeYrs
→ scenario → interventions → vaccineDescription → halfLifeYrs
<halfLifeYrs
value=double
/>
Documentation (element)
Units: Years Min: 0 Max: 100
Half life of drug effect
Attributes
value
value=double
TODO
efficacyB
→ scenario → interventions → vaccineDescription → efficacyB
<efficacyB
value=double
/>
Documentation (element)
Units: Positive real Min: 0.001 Max: 1.00E+06
Measure of variation in vaccine efficacy
Attributes
value
value=double
TODO
initialEfficacy
→ scenario → interventions → vaccineDescription → initialEfficacy
<initialEfficacy
value=double
/>
Attributes
value
value=double
TODO
iptiDescription
→ scenario → interventions → iptiDescription
<iptiDescription
iptiEffect=int
>
IN THIS ORDER:
| ( <infGenotype ... /> )+
</iptiDescription>
Attributes
iptiEffect
iptiEffect=int
infGenotype
→ scenario → interventions → iptiDescription → infGenotype
<infGenotype
name=string
freq=double
ACR=double
proph=int
tolPeriod=int
atten=int
/>
Attributes
name
name=string
Units: string
Name of age specific intervention
freq
freq=double
ACR
ACR=double
proph
proph=int
tolPeriod
tolPeriod=int
atten
atten=int
ITNDescription
→ scenario → interventions → ITNDescription
<ITNDescription>
IN THIS ORDER:
| <halfLifeYrs ... />
| <pu0 ... />
| <pu1 ... />
| <sporogonyGonotrophy ... />
</ITNDescription>
halfLifeYrs
→ scenario → interventions → ITNDescription → halfLifeYrs
<halfLifeYrs
value=double
/>
Documentation (element)
Units: Years Min: 0 Max: 100
Half life of drug effect
Attributes
value
value=double
TODO
pu0
→ scenario → interventions → ITNDescription → pu0
<pu0
value=double
/>
Documentation (element)
Units: To be replaced
To be replaced
Attributes
value
value=double
TODO
pu1
→ scenario → interventions → ITNDescription → pu1
<pu1
value=double
/>
Documentation (element)
Units: To be replaced
To be replaced
Attributes
value
value=double
TODO
sporogonyGonotrophy
→ scenario → interventions → ITNDescription → sporogonyGonotrophy
<sporogonyGonotrophy
value=double
/>
Documentation (element)
Units: To be replaced
To be replaced
Attributes
value
value=double
TODO
continuous
→ scenario → interventions → continuous
<continuous>
IN THIS ORDER:
| ( <vaccine ... /> )*
| ( <ITN ... /> )*
| ( <ipti ... /> )*
</continuous>
vaccine
→ scenario → interventions → continuous → vaccine
<vaccine
targetAgeYrs=double
coverage=double
/>
Documentation (element)
Units: List of elements
List of age groups for vaccination
Attributes
targetAgeYrs
targetAgeYrs=double
Units: Years Min: 0 Max: 100
Target age of intervention
coverage
coverage=double
Units: Proportion Min: 0 Max: 1
Coverage of intervention
ITN
→ scenario → interventions → continuous → ITN
<ITN
targetAgeYrs=double
coverage=double
/>
Documentation (element)
Units: List of elements
Description of ITN deployment in the community
Attributes
targetAgeYrs
targetAgeYrs=double
Units: Years Min: 0 Max: 100
Target age of intervention
coverage
coverage=double
Units: Proportion Min: 0 Max: 1
Coverage of intervention
ipti
→ scenario → interventions → continuous → ipti
<ipti
targetAgeYrs=double
coverage=double
/>
Documentation (element)
Units: List of elements
List of age groups for IPTi distribution
Attributes
targetAgeYrs
targetAgeYrs=double
Units: Years Min: 0 Max: 100
Target age of intervention
coverage
coverage=double
Units: Proportion Min: 0 Max: 1
Coverage of intervention
timed
→ scenario → interventions → timed
<timed>
IN THIS ORDER:
| ( <intervention ... /> )+
</timed>
Documentation (element)
Units: List of elements
List of timed interventions
Documentation (type)
Units: List of elements
List of timed interventions
intervention
→ scenario → interventions → timed → intervention
<intervention
time=int
>
IN THIS ORDER:
| [ <changeHS ... /> ]
| [ <changeEIR ... /> ]
| [ <MDA ... /> ]
| [ <IRS ... /> ]
| [ <vaccinate ... /> ]
| [ <ITN ... /> ]
| [ <ipti ... /> ]
</intervention>
Attributes
time
time=int
Units: Number Min: 1 Max: 10000
Time step of intervention
changeHS
→ scenario → interventions → timed → intervention → changeHS
<changeHS
name=string
healthSystemMemory=int
>
IN THIS ORDER:
| <drugRegimen ... />
| <initialACR ... />
| <compliance ... />
| <nonCompliersEffective ... />
| <pSeekOfficialCareUncomplicated1 ... />
| <pSelfTreatUncomplicated ... />
| <pSeekOfficialCareUncomplicated2 ... />
| <pSeekOfficialCareSevere ... />
| <pSequelaeInpatient ... />
| <CFR ... />
</changeHS>
- drugRegimen
- initialACR
- compliance
- nonCompliersEffective
- pSeekOfficialCareUncomplicated1
- pSelfTreatUncomplicated
- pSeekOfficialCareUncomplicated2
- pSeekOfficialCareSevere
- pSequelaeInpatient
- CFR
Documentation (type)
Units: List of elements
Description of health system
Attributes
name
name=string
Units: string
Name of health system
healthSystemMemory
healthSystemMemory=int
Units: Time steps Min: 1 Max: 100
Follow-up period during which a recurrence is considered to be a treatment failure
drugRegimen
→ scenario → healthSystem → drugRegimen
<drugRegimen
firstLine=string
secondLine=string
inpatient=string
/>
Documentation (element)
Units: List of elements
Description of drug regimen
Attributes
firstLine
firstLine=string
Units: Drug code
Code for first line drug
secondLine
secondLine=string
Units: Drug code
Code for second line drug
inpatient
inpatient=string
Units: Drug code
Code for drug used for treating inpatients
initialACR
→ scenario → healthSystem → initialACR
<initialACR>
IN THIS ORDER:
| [ <CQ ... /> ]
| [ <SP ... /> ]
| [ <AQ ... /> ]
| [ <SPAQ ... /> ]
| [ <ACT ... /> ]
| [ <QN ... /> ]
| <selfTreatment ... />
</initialACR>
Documentation (element)
Units: Proportion Min: 0 Max: 1
Initial cure rate
CQ
→ scenario → healthSystem → initialACR → CQ
<CQ
value=double
/>
Documentation (element)
Units: List of elements
Chloroquine
Attributes
value
value=double
TODO
SP
→ scenario → healthSystem → initialACR → SP
<SP
value=double
/>
Documentation (element)
Units: List of elements
Sulphadoxine-pyrimethamine
Attributes
value
value=double
TODO
AQ
→ scenario → healthSystem → initialACR → AQ
<AQ
value=double
/>
Documentation (element)
Units: List of elements
Amodiaquine
Attributes
value
value=double
TODO
SPAQ
→ scenario → healthSystem → initialACR → SPAQ
<SPAQ
value=double
/>
Documentation (element)
Units: List of elements
Sulphadoxine-pyrimethamine/Amodiaquine
Attributes
value
value=double
TODO
ACT
→ scenario → healthSystem → initialACR → ACT
<ACT
value=double
/>
Documentation (element)
Units: List of elements
Artemisinine combination therapy
Attributes
value
value=double
TODO
QN
→ scenario → healthSystem → initialACR → QN
<QN
value=double
/>
Documentation (element)
Units: List of elements
Quinine
Attributes
value
value=double
TODO
selfTreatment
→ scenario → healthSystem → initialACR → selfTreatment
<selfTreatment
value=double
/>
Documentation (element)
Units: Proportion Min: 0 Max: 1
Probability of self-treatment
Attributes
value
value=double
TODO
compliance
→ scenario → healthSystem → compliance
<compliance>
IN THIS ORDER:
| [ <CQ ... /> ]
| [ <SP ... /> ]
| [ <AQ ... /> ]
| [ <SPAQ ... /> ]
| [ <ACT ... /> ]
| [ <QN ... /> ]
| <selfTreatment ... />
</compliance>
Documentation (element)
Units: Proportion Min: 0 Max: 1
Adherence to treatment
nonCompliersEffective
→ scenario → healthSystem → nonCompliersEffective
<nonCompliersEffective>
IN THIS ORDER:
| [ <CQ ... /> ]
| [ <SP ... /> ]
| [ <AQ ... /> ]
| [ <SPAQ ... /> ]
| [ <ACT ... /> ]
| [ <QN ... /> ]
| <selfTreatment ... />
</nonCompliersEffective>
Documentation (element)
Units: Proportion Min: 0 Max: 1
Effectiveness of treatment of non compliers
pSeekOfficialCareUncomplicated1
→ scenario → healthSystem → pSeekOfficialCareUncomplicated1
<pSeekOfficialCareUncomplicated1
value=double
/>
Documentation (element)
Units: Proportion Min: 0 Max: 1
Probability that a patient with newly incident uncomplicated disease seeks official care
Attributes
value
value=double
TODO
pSelfTreatUncomplicated
→ scenario → healthSystem → pSelfTreatUncomplicated
<pSelfTreatUncomplicated
value=double
/>
Documentation (element)
Units: Proportion Min: 0 Max: 1
Probability that a patient with uncomplicated disease self-treats
Attributes
value
value=double
TODO
pSeekOfficialCareUncomplicated2
→ scenario → healthSystem → pSeekOfficialCareUncomplicated2
<pSeekOfficialCareUncomplicated2
value=double
/>
Documentation (element)
Units: Proportion Min: 0 Max: 1
Probability that a patient with recurrence of uncomplicated disease seeks official care
Attributes
value
value=double
TODO
pSeekOfficialCareSevere
→ scenario → healthSystem → pSeekOfficialCareSevere
<pSeekOfficialCareSevere
value=double
/>
Documentation (element)
Units: Proportion Min: 0 Max: 1
Probability that a patient with severe disease seeks official care
Attributes
value
value=double
TODO
pSequelaeInpatient
→ scenario → healthSystem → pSequelaeInpatient
<pSequelaeInpatient>
IN THIS ORDER:
| ( <item ... /> )+
</pSequelaeInpatient>
Documentation (element)
Units: List of elements
List of age specific probabilities of sequelae in inpatients
item
→ scenario → healthSystem → pSequelaeInpatient → item
<item
value=double
maxAgeYrs=double
/>
Attributes
value
value=double
TODO
maxAgeYrs
maxAgeYrs=double
Units: Years Min: 0 Max: 100
Upper bound of age group
CFR
→ scenario → healthSystem → CFR
<CFR>
IN THIS ORDER:
| ( <group ... /> )+
</CFR>
group
→ scenario → healthSystem → CFR → group
<group
cfr=double
lowerbound=double
/>
Attributes
cfr
cfr=double
Units: Proportion Min: 0 Max: 1
Case fatality rate
lowerbound
lowerbound=double
Units: Years Min: 0 Max: 100
Lower bound of age group
changeEIR
→ scenario → interventions → timed → intervention → changeEIR
<changeEIR
name=string
inputType=("EIR" or "Fourier")
>
IN THIS ORDER:
| EXACTLY ONE OF:
| | ( <EIRDaily ... /> )+
| | ( <anopheles ... /> )+
</changeEIR>
Documentation (type)
Units: List of elements
Data for entomodel: TODO: choice element
Attributes
name
name=string
Units: string
Name of entomology data
inputType
inputType=("EIR" or "Fourier")
EIRDaily
→ scenario → entoData → EIRDaily
<EIRDaily
[ origin=string ]
>
double
</EIRDaily>
Documentation (type)
Units: Number Min: 0
Value of daily EIR
Attributes
origin
origin=string
anopheles
→ scenario → entoData → anopheles
<anopheles
mosquito=string
useNv0Guess=boolean
>
IN THIS ORDER:
| <eir ... />
| <mosq ... />
</anopheles>
Attributes
mosquito
mosquito=string
useNv0Guess
useNv0Guess=boolean
eir
→ scenario → entoData → anopheles → eir
<eir
a0=double
a1=double
a2=double
b1=double
b2=double
EIRRotateAngle=double
/>
Documentation (element)
Units: Element
Description of entomological inoculation rate
Attributes
a0
a0=double
a1
a1=double
a2
a2=double
b1
b1=double
b2
b2=double
EIRRotateAngle
EIRRotateAngle=double
mosq
→ scenario → entoData → anopheles → mosq
<mosq
mosqRestDuration=int
mosqSeekingDeathRate=double
mosqSeekingDuration=double
mosqProbBiting=double
mosqProbFindRestSite=double
mosqProbResting=double
mosqProbOvipositing=double
/>
Documentation (element)
Units: List of elements
Vector species
Attributes
mosqRestDuration
mosqRestDuration=int
mosqSeekingDeathRate
mosqSeekingDeathRate=double
mosqSeekingDuration
mosqSeekingDuration=double
mosqProbBiting
mosqProbBiting=double
mosqProbFindRestSite
mosqProbFindRestSite=double
mosqProbResting
mosqProbResting=double
mosqProbOvipositing
mosqProbOvipositing=double
MDA
→ scenario → interventions → timed → intervention → MDA
<MDA
maxAge=double
minAge=double
coverage=double
/>
Documentation (element)
Units: List of elements
Description of mass drug deployment in the community
Attributes
maxAge
maxAge=double
Units: Years Min: 0 Max: 100
Maximum age of eligible individuals
minAge
minAge=double
Units: Years Min: 0 Max: 100
Minimum age of eligible individuals
coverage
coverage=double
Units: Proportion Min: 0 Max: 1
Coverage of intervention
IRS
→ scenario → interventions → timed → intervention → IRS
<IRS/>
vaccinate
→ scenario → interventions → timed → intervention → vaccinate
<vaccinate
maxAge=double
minAge=double
coverage=double
/>
Documentation (element)
Units: List of elements
Description of vaccine deployment in the community
Attributes
maxAge
maxAge=double
Units: Years Min: 0 Max: 100
Maximum age of eligible individuals
minAge
minAge=double
Units: Years Min: 0 Max: 100
Minimum age of eligible individuals
coverage
coverage=double
Units: Proportion Min: 0 Max: 1
Coverage of intervention
ITN
→ scenario → interventions → timed → intervention → ITN
<ITN
maxAge=double
minAge=double
coverage=double
/>
Documentation (element)
Units: List of elements
Description of ITN deployment in the community
Attributes
maxAge
maxAge=double
Units: Years Min: 0 Max: 100
Maximum age of eligible individuals
minAge
minAge=double
Units: Years Min: 0 Max: 100
Minimum age of eligible individuals
coverage
coverage=double
Units: Proportion Min: 0 Max: 1
Coverage of intervention
ipti
→ scenario → interventions → timed → intervention → ipti
<ipti
maxAge=double
minAge=double
coverage=double
/>
Documentation (element)
Units: List of elements
List of age groups for IPTi distribution
Attributes
maxAge
maxAge=double
Units: Years Min: 0 Max: 100
Maximum age of eligible individuals
minAge
minAge=double
Units: Years Min: 0 Max: 100
Minimum age of eligible individuals
coverage
coverage=double
Units: Proportion Min: 0 Max: 1
Coverage of intervention
caseManagements
<caseManagements
name=string
>
IN THIS ORDER:
| ( <caseManagement ... /> )+
</caseManagements>
Documentation (element)
Units: List of elements
List of case managment interventions
Documentation (type)
Units: List of elements
List of age-specific case managment descriptions
Attributes
name
name=string
Units: string
Name of age specific intervention
caseManagement
→ scenario → caseManagements → caseManagement
<caseManagement
[ minAgeYrs=decimal ]
maxAgeYrs=decimal
>
IN THIS ORDER:
| <uc1 ... />
| <uc2 ... />
| <sev ... />
| <nmf ... />
| <decisions ... />
</caseManagement>
Documentation (element)
Units: List of elements
Age-specific case management description, describes entry-points and decisions, with entry-point-specific decision probabilities
Attributes
minAgeYrs
minAgeYrs=decimal
maxAgeYrs
maxAgeYrs=decimal
Units: Years Min: 0 Max: 100
Upper bound of age group
uc1
→ scenario → caseManagements → caseManagement → uc1
<uc1>
IN THIS ORDER:
| ( <endPoint ... /> )+
</uc1>
endPoint
→ scenario → caseManagements → caseManagement → uc1 → endPoint
<endPoint
decision=int
p=double
/>
Attributes
decision
decision=int
Foreign key reference to outcome node
p
p=double
Units: Proportion Min: 0 Max: 1
Probability of outcome
uc2
→ scenario → caseManagements → caseManagement → uc2
<uc2>
IN THIS ORDER:
| ( <endPoint ... /> )+
</uc2>
sev
→ scenario → caseManagements → caseManagement → sev
<sev>
IN THIS ORDER:
| ( <endPoint ... /> )+
</sev>
nmf
→ scenario → caseManagements → caseManagement → nmf
<nmf>
IN THIS ORDER:
| ( <endPoint ... /> )+
</nmf>
decisions
→ scenario → caseManagements → caseManagement → decisions
<decisions>
IN THIS ORDER:
| ( <decision ... /> )+
</decisions>
decision
→ scenario → caseManagements → caseManagement → decisions → decision
<decision
id=int
>
IN THIS ORDER:
| ( <medicate ... /> )+
</decision>
Documentation (element)
Units: List of elements
describes treatment decisions, a list of medicate descisions.
Attributes
id
id=int
Units: Number
Key of decision
medicate
→ scenario → caseManagements → caseManagement → decisions → decision → medicate
<medicate
name=string
qty=int
time=int
/>
Attributes
name
name=string
Units: string
Name of drug compound
qty
qty=int
Units: Number
Quantity of drug compound
time
time=int
Units: Number Min: 1 Max: 10000
Time step of intervention
healthSystem
→ scenario → healthSystem
<healthSystem
name=string
healthSystemMemory=int
>
IN THIS ORDER:
| <drugRegimen ... />
| <initialACR ... />
| <compliance ... />
| <nonCompliersEffective ... />
| <pSeekOfficialCareUncomplicated1 ... />
| <pSelfTreatUncomplicated ... />
| <pSeekOfficialCareUncomplicated2 ... />
| <pSeekOfficialCareSevere ... />
| <pSequelaeInpatient ... />
| <CFR ... />
</healthSystem>
- drugRegimen
- initialACR
- compliance
- nonCompliersEffective
- pSeekOfficialCareUncomplicated1
- pSelfTreatUncomplicated
- pSeekOfficialCareUncomplicated2
- pSeekOfficialCareSevere
- pSequelaeInpatient
- CFR
Documentation (element)
Units: List of elements
Description of health system
Documentation (type)
Units: List of elements
Description of health system
Attributes
name
name=string
Units: string
Name of health system
healthSystemMemory
healthSystemMemory=int
Units: Time steps Min: 1 Max: 100
Follow-up period during which a recurrence is considered to be a treatment failure
entoData
<entoData
name=string
inputType=("EIR" or "Fourier")
>
IN THIS ORDER:
| EXACTLY ONE OF:
| | ( <EIRDaily ... /> )+
| | ( <anopheles ... /> )+
</entoData>
Documentation (element)
Units: List of elements
Description of entomological data
Documentation (type)
Units: List of elements
Data for entomodel: TODO: choice element
Attributes
name
name=string
Units: string
Name of entomology data
inputType
inputType=("EIR" or "Fourier")
parameters
→ scenario → parameters
<parameters
interval=int
iseed=int
delta=double
eipDuration=int
latentp=int
>
IN THIS ORDER:
| ( <parameter ... /> )+
</parameters>
Documentation (element)
Parameters for mathematical model
Documentation (type)
Units: List of elements
Parameter vector
Attributes
interval
interval=int
Units: Days
Simulation step
iseed
iseed=int
Units: Number
Seed for RNG
delta
delta=double
Units: ? Redundant
this no longer seems to be used
eipDuration
eipDuration=int
Units: Count Min: 0 Max: 50
The duration of sporogony in days
latentp
latentp=int
Units: Time steps Min: 0 Max: 20
pre-erythrocytic latent period, in time steps
parameter
→ scenario → parameters → parameter
<parameter
name=string
number=int
value=double
[ include=boolean ]
/>
Attributes
name
name=string
Units: string
Name of parameter
number
number=int
Units: Number Min: 1 Max: 100
Reference number of input parameter
value
value=double
Units: Number Min: 0
Parameter value
include
include=boolean
Units: Number Min: 0 Max: 1
True if parameter is to be sampled in optimization runs. Not used in simulator app.