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.