Schema 32 documentation

Generated from: scenario_32.xsd.

Key:

  abc           required (one)
[ def ]         optional (zero or one)
( ghi )*        any number (zero or more)
( jkl )+        at least one
( mno ){2,inf}  two or more occurrences

Scenario

scenario

<scenario
    schemaVersion=int
  [ analysisNo=int ]
    name=string
  [ wuID=int ]
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xmlns:om="http://openmalaria.org/schema/scenario_32"
    xsi:schemaLocation="http://openmalaria.org/schema/scenario_32 scenario_32.xsd"
  >
IN ANY ORDER:
|   <demography ... /> 
|   <monitoring ... /> 
|   <interventions ... /> 
|   <healthSystem ... /> 
|   <entomology ... /> 
| [ <pharmacology ... /> ]
|   <model ... /> 
</scenario>

Documentation (element)

Description of scenario

Attributes

Version of the xml schema

schemaVersion=int

Version of xml schema. If not equal to the current version an error is thrown. Use SchemaTranslator to update xml files.

Reference number of the analysis

analysisNo=int

Units: Number Min: 1 Max: 100000000

Unique identifier of scenario

Name of intervention

name=string

Name of intervention

Work unit identifier

wuID=int

Units: Number Min: 1 Max: 100000000

Work unit ID. Only used to validate checkpointing, to prevent checkpoint cheats.

Human age distribution

scenariodemography

<demography
    name=string
    popSize=int
    maximumAgeYrs=double
  [ growthRate=double ]
  >
IN THIS ORDER:
|   <ageGroup ... /> 
</demography>

Documentation (element)

Description of demography

Attributes

Name of demography data

name=string

Name of demography data

Population size

popSize=int

Units: Count Min: 1 Max: 100000

Population size

Maximum age of simulated humans

maximumAgeYrs=double

Units: Years Min: 0 Max: 100

Maximum age of simulated humans in years

Growth rate of human population

growthRate=double

Units: Number Min: 0 Max: 0

Growth rate of human population. (we should be able to implement this with non-zero values)

Age groups

scenariodemographyageGroup

<ageGroup
    lowerbound=double
  >
IN THIS ORDER:
| ( <group ... /> )+
</ageGroup>

Documentation (element)

list of age groups included in demography

Documentation (type)

list of age groups included in demography or surveys

Attributes

Lower bound of age group

lowerbound=double

Units: Years Min: 0 Max: 100

Lower bound of age group

group

scenariodemographyageGroupgroup

<group
    poppercent=double
    upperbound=double
  />

Attributes

Percentage in age group

poppercent=double

Units: Percentage Min: 0 Max: 100

Percentage of human population in age group

Upper bound of age group

upperbound=double

Units: Years Min: 0 Max: 100

Upper bound of age group

Measures to be reported

scenariomonitoring

<monitoring
    name=string
  >
IN THIS ORDER:
| [ <continuous ... /> ]
|   <SurveyOptions ... /> 
|   <surveys ... /> 
|   <ageGroup ... /> 
| [ <cohorts ... /> ]
</monitoring>

Documentation (element)

Description of surveys

Attributes

Name of monitoring information

name=string

Name of monitoring data

continuous

scenariomonitoringcontinuous

<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

scenariomonitoringcontinuousoption

<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

scenariomonitoringSurveyOptions

<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)

scenariomonitoringsurveys

<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

scenariomonitoringsurveyssurveyTime

<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

scenariomonitoringageGroup

<ageGroup
    lowerbound=double
  >
IN THIS ORDER:
| ( <group ... /> )+
</ageGroup>

Documentation (element)

List of age groups included in demography or surveys

Attributes

lower bound of age group

lowerbound=double

Units: Years Min: 0 Max: 100

Lower bound of age group

group

scenariomonitoringageGroupgroup

<group
    upperbound=double
  />

Attributes

upper bound of age group

upperbound=double

Units: Years Min: 0 Max: 100

Upper bound of age group

Cohorts

scenariomonitoringcohorts

<cohorts>
IN THIS ORDER:
| ( <subPop ... /> )+
</cohorts>

Documentation (element)

Allows the configuration of multiple cohorts (output segregated according to membership within specific sub-populations).

If this element is omitted, monitoring surveys cover the entire simulated human population.

It does not affect the "continuous" outputs (these never take cohorts into account).

Sub-population

scenariomonitoringcohortssubPop

<subPop
    id=string
    number=integer
  />

Documentation (element)

Consider a certain sup-population a cohort, and segregate outputs according to membership. Where multiple sub-populations are listed, segregate output according to all combinations of membership: e.g. if sub-populations A and B are listed, there will be outputs for "member of A and B", "member of A but not B", "B but not A" and "not a member of A or B". Listing n sub-populations implies 2^n sets of outputs (each is further segregated by age groups, survey times and enabled output measures, which could lead to excessive program memory usage and output file size).

To identify outputs, each sub-population has a power of two number as identifier (see "number" attribute). Each of the 2^n output sets is identified by a number: the output set is the output from humans who are members in some set of sub-populations (S1, S2, ...) and not members in some others (T1, T2, ...); the number identifying the set is the sum of the numbers identifying the sets S1, S2, etc.

In the output file, the output set is identified by multiplying this number by 1000 then adding it to the age group column.

Attributes

Sub-population identifier

id=string

Textual identifier for the sub-population (i.e. for an intervention component, since sub-populations are defined as the hosts an intervention component is deployed to).

Sub-population number

number=integer

Units: dimensionless Min: 1 Max: 2097152

Number identifying a sub-population; used to define identifiers of output sets. This number must be a power of 2 (i.e. 1, 2, 4, 8, ...). See documentation of subPop element.

Preventative interventions

scenariointerventions

<interventions
    name=string
  >
IN ANY ORDER:
| [ <changeHS ... /> ]
| [ <changeEIR ... /> ]
| [ <importedInfections ... /> ]
| [ <insertR_0Case ... /> ]
| [ <uninfectVectors ... /> ]
| [ <vectorPop ... /> ]
| [ <human ... /> ]
</interventions>

Documentation (element)

List of interventions. Generally these are either point-time distributions of something to some subset of the population, or continuous-time distribution targetting individuals when they reach a certain age.

Attributes

Name of intervention set

name=string

Name of set of interventions

Change health system

scenariointerventionschangeHS

<changeHS
  [ name=string ]
  >
IN THIS ORDER:
| ( <timedDeployment ... /> )*
</changeHS>

Documentation (element)

Changes to the health system

Attributes

Name of intervention

name=string

Name of intervention

timedDeployment

scenariointerventionschangeHStimedDeployment

<timedDeployment
    time=int
  >
IN THIS ORDER:
| EXACTLY ONE OF:
| |   <EventScheduler ... /> 
| |   <ImmediateOutcomes ... /> 
|   <CFR ... /> 
|   <pSequelaeInpatient ... /> 
</timedDeployment>

Documentation (type)

A complete replacement health system. Replaces all previous properties. (Health system can be replaced multiple times if necessary.)

Documentation (base type)

Description of case management system, used to specify the initial model or a replacement (an intervention). Encompasses case management data and some other data required to derive case outcomes.

Contains a sub-element describing the particular health-system in use. Health system data is here defined as data used to decide on a treatment strategy, given a case requiring treatment.

Attributes

Time

time=int

Units: time-steps Min: 0

Time-step at which this replacement occurs, starting from 0, the first intervention-period time-step.

EventScheduler

scenariohealthSystemEventScheduler

<EventScheduler>
IN THIS ORDER:
|   <uncomplicated ... /> 
|   <complicated ... /> 
|   <ClinicalOutcomes ... /> 
| [ <NonMalariaFevers ... /> ]
</EventScheduler>

uncomplicated

scenariohealthSystemEventScheduleruncomplicated

<uncomplicated>
IN THIS ORDER:
|   <decisions ... /> 
|   <treatments ... /> 
</uncomplicated>

Documentation (type)

A set of decisions and a set of treatments.

decisions

scenariointerventionshumancomponentMDA1Ddecisions

<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

scenariointerventionshumancomponentMDA1Ddecisionsdecision

<decision
    name=string
    depends=string
    values=string
  >
    string
</decision>

Documentation (type)

A decision describes rules for choosing between a set of values.

Lexically, it can contain symbols matching "[_.a-zA-Z0-9]+", round brackets: (), braces: {} and colons. Whitespace is ignored except to separate symbols.

Syntactically, it must match one TREE, where SYMBOL is a symbol described above. (Here, "x|y" means x or y, "x+" means x occurs once or more, brackets show grouping.) TREE := BRANCH_SET | OUTCOME BRANCH_SET := BRANCH+ BRANCH := DECISION '(' VALUE ')' ( ':' OUTCOME | '{' TREE '}' ) OUTCOME, DECISION, VALUE := SYMBOL

For each BRANCH_SET each BRANCH must result in the same DECISION. The DECISION must be one of the dependencies mentioned in "depends". This may be:

  • another decision, in which case the VALUE immediately following in brackets must correspond to one of its output values. The BRANCH_SET immediately containing this BRANCH must represent each output value of the same decision exactly once, and no parent BRANCH_SET may be for the same DECISION.
  • "p": this entry indicates a probabilistic decision. Where the value is a probability, the sum of all values for the BRANCH_SET must be 1 and the decision must be associated directly with OUTCOMEs (not sub-TREEs).
  • "age": this entry indicates an age-test. The VALUE must have the form "a-b", indicating that this branch will be taken for individuals aged such that a <= age < b, where a,b are non-negative real numbers or the special value "inf", and a <= b. All VALUEs in the BRANCH_SET must cover all possible (non-negative real) ages, with no overlap (hence, smallest a must be 0 and greatest b must be inf).

Semantically, each OUTCOME must be one of the values associated with this decision.

Attributes

Name of decision

name=string

The name of this decision. The name must match the regular expression "[_a-zA-Z0-9]+"; that is it can only contain letters, digits and _ characters (no spaces, punctuation, etc.).

Preceding decisions

depends=string

A comma-separated list of decisions that must have already been evaluated before the current decision can be evaluated. May be empty. Each decision must be hard-coded or described here. Can include the special decisions "p" and "age", though "age" cannot be combined with any other dependency.

Outcome values

values=string

A comma-separated list of outcome values this decision may have. The name of each value must be of the same form as decision names (i.e. only contain letters, digits and _ characters).

treatments

scenariointerventionshumancomponentMDA1Dtreatments

<treatments>
IN THIS ORDER:
| ( <treatment ... /> )*
</treatments>

Documentation (type)

A list of drug treatment tables. Each should have a name corresponding to one of the "drug" decision's values.

treatment

scenariointerventionshumancomponentMDA1Dtreatmentstreatment

<treatment
    name=string
  >
IN THIS ORDER:
|   <schedule ... /> 
| ( <modifier ... /> )*
</treatment>

Documentation (type)

A description of a base treatment schedule that includes modifiers to handle delays, quality variations, etc.

Attributes

Treatment administered

name=string

Units: string

Name corresponding to one of the drug decision's output values.

schedule

scenariointerventionshumancomponentMDA1Dtreatmentstreatmentschedule

<schedule>
IN THIS ORDER:
| ( <medicate ... /> )*
</schedule>

Documentation (type)

The base (unmodified)schedule of drugs administered for this treatment.

medicate

scenariointerventionshumancomponentMDA1Dtreatmentstreatmentschedulemedicate

<medicate
    drug=string
    mg=double
    hour=double
  [ duration=double ]
  />

Attributes

drug

drug=string

Abbreviated name of drug compound

drug dose

mg=double

Units: mg

Quantity of drug compound

Time of administration

hour=double

Units: Hours Min: 0

Number of hours past start of timestep this drug dose is administered at (first dose should be at hour 0).

Duration of administration

duration=double

Units: Hours Min: 0

If this attribute is given, use IV administration instead of orally. Specifies the number of hours during which the dose is administered.

modifier

scenariointerventionshumancomponentMDA1Dtreatmentstreatmentmodifier

<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

scenariointerventionshumancomponentMDA1DtreatmentstreatmentmodifiermultiplyQty

<multiplyQty
    value=string
    effect=string
  [ affectsCost=boolean ]
  />

Documentation (element)

Units: Comma-separated list of values

Multiplies the quantity of active ingredients of drugs administered.

The "drugs" attribute is a comma-separated list of all active ingredients administered in the base schedule (each must be listed once) and the content of this element is a comma- separated list of multipliers for each active ingredient, listed in the same order as in the "drugs" attribute. For example, with drugs="A,B" and content="0.5,1" the quantity of drug A is halved while that of B is unchanged.

Attributes

Value of decision

value=string

Specifies a value of the decision to act on.

List of drugs affected

effect=string

Comma-separated list of the effect the modifier has on each drug, in the form DRUG1(EFFECT1),DRUG2(EFFECT2), etc.

Affects cost?

affectsCost=boolean

Units: None

Does this affect the cost? If false, the effective drug usage (w.r.t. cost)is unaffected by this modifier; if true it is. Defaults to true (if omitted). Is meaningless for delays.

Active ingredient delays

scenariointerventionshumancomponentMDA1Dtreatmentstreatmentmodifierdelay

<delay
    value=string
    effect=string
  [ affectsCost=boolean ]
  />

Documentation (element)

Units: Comma-separated list of values

Delays administration of drugs listed in the base schedule by so many hours.

The "drugs" attribute is a comma-separated list of all active ingredients administered in the base schedule (each must be listed once) and the content of this element is a comma- separated list of delays (in hours) for each active ingredient, listed in the same order as in the "drugs" attribute. E.g. with drugs="A,B" and content "0,6", drug A is administered as in the base schedule while drug B is administered 6 hours later than specified.

Attributes

Value of decision

value=string

Specifies a value of the decision to act on.

List of drugs affected

effect=string

Comma-separated list of the effect the modifier has on each drug, in the form DRUG1(EFFECT1),DRUG2(EFFECT2), etc.

Affects cost?

affectsCost=boolean

Units: None

Does this affect the cost? If false, the effective drug usage (w.r.t. cost)is unaffected by this modifier; if true it is. Defaults to true (if omitted). Is meaningless for delays.

Active ingredient time-ranges

scenariointerventionshumancomponentMDA1DtreatmentstreatmentmodifierselectTimeRange

<selectTimeRange
    value=string
    effect=string
  [ affectsCost=boolean ]
  />

Documentation (element)

Selects which drug doses to administer according to time of administration (before times are modified by delays). Half-open interval: [x,y)

The "drugs" attribute is a comma-separated list of all active ingredients administered in the base schedule (each must be listed once) and the content of this element is a comma- separated list of time-ranges (in hours) for each active ingredient, listed in the same order as in the "drugs" attribute. The time-ranges should be of the form x-y and are interpreted as the half-open interval [x,y); that is a drug listed with time t will only be administered if x <= t < y.

Attributes

Value of decision

value=string

Specifies a value of the decision to act on.

List of drugs affected

effect=string

Comma-separated list of the effect the modifier has on each drug, in the form DRUG1(EFFECT1),DRUG2(EFFECT2), etc.

Affects cost?

affectsCost=boolean

Units: None

Does this affect the cost? If false, the effective drug usage (w.r.t. cost)is unaffected by this modifier; if true it is. Defaults to true (if omitted). Is meaningless for delays.

complicated

scenariohealthSystemEventSchedulercomplicated

<complicated>
IN THIS ORDER:
|   <decisions ... /> 
|   <treatments ... /> 
</complicated>

Documentation (type)

A set of decisions and a set of treatments.

ClinicalOutcomes

scenariohealthSystemEventSchedulerClinicalOutcomes

<ClinicalOutcomes>
IN THIS ORDER:
|   <maxUCSeekingMemory ... /> 
|   <uncomplicatedCaseDuration ... /> 
|   <complicatedCaseDuration ... /> 
|   <complicatedRiskDuration ... /> 
| ( <dailyPrImmUCTS ... /> )+
</ClinicalOutcomes>

Documentation (type)

Description of base parameters of the clinical model.

Max UC treatment-seeking memory

scenariohealthSystemEventSchedulerClinicalOutcomesmaxUCSeekingMemory

<maxUCSeekingMemory>
    int
</maxUCSeekingMemory>

Documentation (element)

Units: Days Min: 0 Max: unbounded

Maximum number of timesteps (including first day of case) that an individual with an uncomplicated case of malaria will remember he/she was sick before resetting.

Uncomplicated case duration

scenariohealthSystemEventSchedulerClinicalOutcomesuncomplicatedCaseDuration

<uncomplicatedCaseDuration>
    int
</uncomplicatedCaseDuration>

Documentation (element)

Units: Days Min: 1 Max: unbounded

Fixed length of an uncomplicated case of malarial or non-malarial sickness (from treatment seeking until return to life-as-usual). Usually 3.

Complicated case duration

scenariohealthSystemEventSchedulerClinicalOutcomescomplicatedCaseDuration

<complicatedCaseDuration>
    int
</complicatedCaseDuration>

Documentation (element)

Units: Days Min: 1 Max: unbounded

Fixed length of a complicated or severe case of malaria (from treatment seeking until return to life-as-usual).

Complicated risk duration

scenariohealthSystemEventSchedulerClinicalOutcomescomplicatedRiskDuration

<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

scenariohealthSystemEventSchedulerClinicalOutcomesdailyPrImmUCTS

<dailyPrImmUCTS>
    double
</dailyPrImmUCTS>

Documentation (element)

Units: Dimensionless Min: 0.0 Max: 1.0

It is sometimes desirable to model delays to treatment-seeking in uncomplicated cases. While treatment of drugs can be delayed within case management trees to provide a similar effect, this doesn't delay any of the decisions, including diagnostics using the current parasite density.

Instead a list of dailyPrImmUCTS elements can be used, describing successive daily probabilities of treatment (sum must be 1). For example, with a list of two elements with values 0.8 and 0.2, for 80% of UC cases the decision tree is evaluated immediately, and for 20% of cases evaluation is delayed by one day.

For no delay, use one element with a value of 1.

NonMalariaFevers

scenariohealthSystemEventSchedulerNonMalariaFevers

<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)

scenariohealthSystemEventSchedulerNonMalariaFeversprTreatment

<prTreatment>
    double
</prTreatment>

Documentation (element)

Units: Dimensionless Min: 0.0 Max: 1.0

Probability of a non-malaria fever being treated with an antibiotic given that no malaria diagnostic was used but independent of need. Symbol: P₀.

Effect of a negative test

scenariohealthSystemEventSchedulerNonMalariaFeverseffectNegativeTest

<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

scenariohealthSystemEventSchedulerNonMalariaFeverseffectPositiveTest

<effectPositiveTest>
    double
</effectPositiveTest>

Documentation (element)

The effect of a positive malaria diagnostic on the odds ratio of receiving antibiotics. Symbol: exp(β₂).

Effect of need

scenariohealthSystemEventSchedulerNonMalariaFeverseffectNeed

<effectNeed>
    double
</effectNeed>

Documentation (element)

The effect of needing antibiotic treatment on the odds ratio of receiving antibiotics. Symbol: exp(β₃).

Effect of informal provider

scenariohealthSystemEventSchedulerNonMalariaFeverseffectInformal

<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

scenariohealthSystemEventSchedulerNonMalariaFeversCFR

<CFR
  [ interpolation=("none" or "linear") ]
  >
IN THIS ORDER:
| ( <group ... /> )+
</CFR>

Documentation (element)

Units: Dimensionless Min: 0.0 Max: 1.0

Base case fatality rate for non-malaria fevers (probability of death from a fever requiring antibiotic treatment given that no antibiotic treatment is received, per age-group).

Attributes

interpolation

interpolation=("none" or "linear")

Interpolation algorithm. Normally it is desirable for age-based values to be continuous w.r.t. age. By default linear interpolation is used. With all algorithms except "none", the age groups are converted to a set of points centred within each age range. Extra points are added at each end (zero and infinity) to keep value constant at both ends of the function. A zero-length age group may be used as a kind of barrier to adjust the distribution; e.g. with age group boundaries at 15, 20 and 25 years, a (linear) spline would be drawn between ages 17.5 and 22.5, whereas with boundaries at 15, 20 and 20 years, a spline would be drawn between ages 17.5 and 20 years (may be desired if individuals are assumed to reach adult size at 20). Algorithms:

  1. none: input values are used directly
  2. linear: straight lines (on an age vs. value graph) are used to interpolate data points.

age group

scenariohealthSystemCFRgroup

<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

scenariohealthSystemEventSchedulerNonMalariaFeversTreatmentEfficacy

<TreatmentEfficacy>
    double
</TreatmentEfficacy>

Documentation (element)

Units: Dimensionless Min: 0.0 Max: 1.0

Probability that treatment would prevent a death (i.e. CFR is multiplied by one minus this when treatment occurs).

ImmediateOutcomes

scenariohealthSystemImmediateOutcomes

<ImmediateOutcomes
    name=string
  [ useDiagnosticUC=boolean ] DEFAULT VALUE false
  >
IN THIS ORDER:
|   <drugRegimen ... /> 
|   <initialACR ... /> 
|   <compliance ... /> 
|   <nonCompliersEffective ... /> 
|   <treatmentActions ... /> 
|   <pSeekOfficialCareUncomplicated1 ... /> 
|   <pSelfTreatUncomplicated ... /> 
|   <pSeekOfficialCareUncomplicated2 ... /> 
|   <pSeekOfficialCareSevere ... /> 
| [ <primaquine ... /> ]
</ImmediateOutcomes>

Documentation (type)

Description of "immediate outcomes" health system: Tediosi et al case management model (Case management as described in AJTMH 75 (suppl 2) pp90-103).

Attributes

Case Management model

name=string

Name of health system

useDiagnosticUC

useDiagnosticUC=boolean

Default value: false

Description of drug regimen

scenariohealthSystemImmediateOutcomesdrugRegimen

<drugRegimen
    firstLine=string
    secondLine=string
    inpatient=string
  />

Documentation (element)

Description of drug regimen.

Attributes

First line drug

firstLine=string

Units: Drug code

Code for first line drug

Second line drug

secondLine=string

Units: Drug code

Code for second line drug

Drug use for treating inpatients

inpatient=string

Units: Drug code

Code for drug used for treating inpatients

Initial cure rate

scenariohealthSystemImmediateOutcomesinitialACR

<initialACR>
IN THIS ORDER:
| [ <CQ ... /> ]
| [ <SP ... /> ]
| [ <AQ ... /> ]
| [ <SPAQ ... /> ]
| [ <ACT ... /> ]
| [ <QN ... /> ]
|   <selfTreatment ... /> 
</initialACR>

Documentation (element)

Units: Dimensionless Min: 0.0 Max: 1.0

Initial cure rate

Chloroquine

scenariohealthSystemImmediateOutcomesinitialACRCQ

<CQ
    value=double
  />

Documentation (element)

Chloroquine

Attributes

Input parameter value

value=double

A double-precision floating-point value.

Sulphadoxine-pyrimethamine

scenariohealthSystemImmediateOutcomesinitialACRSP

<SP
    value=double
  />

Documentation (element)

Sulphadoxine-pyrimethamine

Attributes

Input parameter value

value=double

A double-precision floating-point value.

Amodiaquine

scenariohealthSystemImmediateOutcomesinitialACRAQ

<AQ
    value=double
  />

Documentation (element)

Amodiaquine

Attributes

Input parameter value

value=double

A double-precision floating-point value.

Sulphadoxine-pyrimethamine/Amodiaquine

scenariohealthSystemImmediateOutcomesinitialACRSPAQ

<SPAQ
    value=double
  />

Documentation (element)

Sulphadoxine-pyrimethamine/Amodiaquine

Attributes

Input parameter value

value=double

A double-precision floating-point value.

Artemisinine combination therapy

scenariohealthSystemImmediateOutcomesinitialACRACT

<ACT
    value=double
  />

Documentation (element)

Artemisinine combination therapy

Attributes

Input parameter value

value=double

A double-precision floating-point value.

QN

scenariohealthSystemImmediateOutcomesinitialACRQN

<QN
    value=double
  />

Documentation (element)

Quinine

Attributes

Input parameter value

value=double

A double-precision floating-point value.

selfTreatment

scenariohealthSystemImmediateOutcomesinitialACRselfTreatment

<selfTreatment
    value=double
  />

Documentation (element)

Units: Dimensionless Min: 0 Max: 1name:P(self-treat)

Probability of self-treatment

Attributes

Input parameter value

value=double

A double-precision floating-point value.

Adherence to treatment

scenariohealthSystemImmediateOutcomescompliance

<compliance>
IN THIS ORDER:
| [ <CQ ... /> ]
| [ <SP ... /> ]
| [ <AQ ... /> ]
| [ <SPAQ ... /> ]
| [ <ACT ... /> ]
| [ <QN ... /> ]
|   <selfTreatment ... /> 
</compliance>

Documentation (element)

Units: Dimensionless Min: 0.0 Max: 1.0

Adherence to treatment

Effectiveness of treatment in non-adherent patients

scenariohealthSystemImmediateOutcomesnonCompliersEffective

<nonCompliersEffective>
IN THIS ORDER:
| [ <CQ ... /> ]
| [ <SP ... /> ]
| [ <AQ ... /> ]
| [ <SPAQ ... /> ]
| [ <ACT ... /> ]
| [ <QN ... /> ]
|   <selfTreatment ... /> 
</nonCompliersEffective>

Documentation (element)

Units: Dimensionless Min: 0.0 Max: 1.0

Effectiveness of treatment for non-compliant patients

treatmentActions

scenariohealthSystemImmediateOutcomestreatmentActions

<treatmentActions>
IN ANY ORDER:
| [ <CQ ... /> ]
| [ <SP ... /> ]
| [ <AQ ... /> ]
| [ <SPAQ ... /> ]
| [ <ACT ... /> ]
| [ <QN ... /> ]
</treatmentActions>

CQ

scenariohealthSystemImmediateOutcomestreatmentActionsCQ

<CQ
  [ name=string ]
  >
IN THIS ORDER:
| ( <deploy ... /> )*
</CQ>

Documentation (type)

Describes the effects of the treatment, assuming this compliance/adherence/... option is selected. Effects are described in terms of a list of options, each of which acts independently but with all effects being activated simultaneously.

Documentation (base type)

Lists intervention components which are deployed according to some external trigger (for example, screening with a negative patency outcome or health-system treatment).

Components are referenced from one or more sub-lists. Each of these lists is deployed independently if and only if its age constraints are met by the human host and a random sample with the given probability of a positive outcome is positive.

Attributes

Name

name=string

Describes what this compliance option represents (e.g. "good compliance", "poor compliance with good drugs", ...).

deploy

scenariointerventionshumancomponentscreenpositivedeploy

<deploy
  [ maxAge=double ]
  [ minAge=double ] DEFAULT VALUE 0
  [ p=double ] DEFAULT VALUE 1
  >
IN THIS ORDER:
| ( <component ... /> )+
</deploy>

Attributes

Maximum age of eligible humans

maxAge=double

Units: Years Min: 0

Maximum age of eligible humans (defaults to no limit)

Minimum age of eligible humans

minAge=double

Units: Years Min: 0

Default value: 0

Minimum age of eligible humans (defaults to 0)

Probability of delivery to eligible humans

p=double

Units: dimensionless Min: 0 Max: 1

Default value: 1

Probability of this list of components being deployed, given that other constraints are met.

component

scenariointerventionshumancomponentscreenpositivedeploycomponent

<component
    id=string
  />

Documentation (type)

The list of components deployed to eligible humans.

Attributes

Identifier

id=string

The identifier (short name) of a component.

Prophylactic treatment

scenariohealthSystemImmediateOutcomestreatmentActionsCQclearInfections

<clearInfections
    timesteps=int
    stage=("liver" or "blood" or "both")
  />

Documentation (element)

This clears infections according to several options: it can clear all blood stage infections, all liver stage infections or both, and it can act on multiple timesteps. To have a probability of no action add another treatment option (which does nothing) and set the probabilities of selection appropriately.

This allows immediate (legacy) or delayed action, a prophylactic period, and selection of which stages are targeted. It is a simple model but appropriate enough for use with the five day timestep when assuming no resistance and that drug failure is mainly caused by bad drugs or compliance.

The old treatment action for the five-day timestep model is essentially this, with immediateAction (timesteps=-1) and stage=both, except for the IPT model's SP action, which was more like with timesteps>1 and stage=blood.

Attributes

Length of effect

timesteps=int

Units: Timesteps Min: -1

The number of timesteps during which this action remains in effect (e.g. 2 means clear infections during the next two timestep updates). Full clearance of the targeted stages occurs during this time. A special value of -1 means act immediately (retrospectively); this the old behaviour. A value of 1 means act on the next timestep only. Both of these can be thought of as a model for short-acting effective drug treatment; the main differences are that the latter means parasite densities will remain high from the point of view of surveys and diagnostics (i.e. mass screen and treat) used before the next timestep and that the latter will also remove infections starting the next timestep. Arguably the latter is a better model, but the differences are perhaps small, excepting where immediate treatment of fevers (i.e. through the health system) can hide high parasite densities from reporting and mass-screen-and-treat diagnostics. For use by interventions, the latter model has nicer behaviour in that the order of deployment of multiple interventions deployed at the same time does not matter, and that the former model retrospectively treats infections which may already have caused fever, thus may have a lower health impact than it should. It is recommended to use the new model (value 1, or greater than 1 if prophylactic effect is desired) unless wanting to emulate the old behaviour. Values of 0 or less than -1 are not allowed.

Target stage

stage=("liver" or "blood" or "both")

Controls whether liver-stage or blood-stage infections are cleared, or both. Infections are considered liver-stage for one 5-day timestep, blood-stage but pre-patent for some number of timesteps (latentp - 1), then start the patent blood stage. If stage is set to "liver", infections are only cleared during their first timestep; if stage is set to "blood", infections are cleared during pre-patent and patent blood stages; if stage is set to "both" all infections are cleared. The old behaviour (oddly considering the drugs it is meant to emulate) is to clear both stages, except for the IPT model of SP action, which cleared only patent blood-stage infections.

SP

scenariohealthSystemImmediateOutcomestreatmentActionsSP

<SP
  [ name=string ]
  >
IN THIS ORDER:
| ( <deploy ... /> )*
</SP>

Documentation (type)

Describes the effects of the treatment, assuming this compliance/adherence/... option is selected. Effects are described in terms of a list of options, each of which acts independently but with all effects being activated simultaneously.

Documentation (base type)

Lists intervention components which are deployed according to some external trigger (for example, screening with a negative patency outcome or health-system treatment).

Components are referenced from one or more sub-lists. Each of these lists is deployed independently if and only if its age constraints are met by the human host and a random sample with the given probability of a positive outcome is positive.

Attributes

Name

name=string

Describes what this compliance option represents (e.g. "good compliance", "poor compliance with good drugs", ...).

AQ

scenariohealthSystemImmediateOutcomestreatmentActionsAQ

<AQ
  [ name=string ]
  >
IN THIS ORDER:
| ( <deploy ... /> )*
</AQ>

Documentation (type)

Describes the effects of the treatment, assuming this compliance/adherence/... option is selected. Effects are described in terms of a list of options, each of which acts independently but with all effects being activated simultaneously.

Documentation (base type)

Lists intervention components which are deployed according to some external trigger (for example, screening with a negative patency outcome or health-system treatment).

Components are referenced from one or more sub-lists. Each of these lists is deployed independently if and only if its age constraints are met by the human host and a random sample with the given probability of a positive outcome is positive.

Attributes

Name

name=string

Describes what this compliance option represents (e.g. "good compliance", "poor compliance with good drugs", ...).

SPAQ

scenariohealthSystemImmediateOutcomestreatmentActionsSPAQ

<SPAQ
  [ name=string ]
  >
IN THIS ORDER:
| ( <deploy ... /> )*
</SPAQ>

Documentation (type)

Describes the effects of the treatment, assuming this compliance/adherence/... option is selected. Effects are described in terms of a list of options, each of which acts independently but with all effects being activated simultaneously.

Documentation (base type)

Lists intervention components which are deployed according to some external trigger (for example, screening with a negative patency outcome or health-system treatment).

Components are referenced from one or more sub-lists. Each of these lists is deployed independently if and only if its age constraints are met by the human host and a random sample with the given probability of a positive outcome is positive.

Attributes

Name

name=string

Describes what this compliance option represents (e.g. "good compliance", "poor compliance with good drugs", ...).

ACT

scenariohealthSystemImmediateOutcomestreatmentActionsACT

<ACT
  [ name=string ]
  >
IN THIS ORDER:
| ( <deploy ... /> )*
</ACT>

Documentation (type)

Describes the effects of the treatment, assuming this compliance/adherence/... option is selected. Effects are described in terms of a list of options, each of which acts independently but with all effects being activated simultaneously.

Documentation (base type)

Lists intervention components which are deployed according to some external trigger (for example, screening with a negative patency outcome or health-system treatment).

Components are referenced from one or more sub-lists. Each of these lists is deployed independently if and only if its age constraints are met by the human host and a random sample with the given probability of a positive outcome is positive.

Attributes

Name

name=string

Describes what this compliance option represents (e.g. "good compliance", "poor compliance with good drugs", ...).

QN

scenariohealthSystemImmediateOutcomestreatmentActionsQN

<QN
  [ name=string ]
  >
IN THIS ORDER:
| ( <deploy ... /> )*
</QN>

Documentation (type)

Describes the effects of the treatment, assuming this compliance/adherence/... option is selected. Effects are described in terms of a list of options, each of which acts independently but with all effects being activated simultaneously.

Documentation (base type)

Lists intervention components which are deployed according to some external trigger (for example, screening with a negative patency outcome or health-system treatment).

Components are referenced from one or more sub-lists. Each of these lists is deployed independently if and only if its age constraints are met by the human host and a random sample with the given probability of a positive outcome is positive.

Attributes

Name

name=string

Describes what this compliance option represents (e.g. "good compliance", "poor compliance with good drugs", ...).

Probability that a patient with uncomplicated disease seeks official care immediately.

scenariohealthSystemImmediateOutcomespSeekOfficialCareUncomplicated1

<pSeekOfficialCareUncomplicated1
    value=double
  />

Documentation (element)

Units: Dimensionless Min: 0.0 Max: 1.0

Probability that a patient with newly incident uncomplicated disease seeks official care

Attributes

Input parameter value

value=double

A double-precision floating-point value.

Probability that a patient with uncomplicated disease will self-treat.

scenariohealthSystemImmediateOutcomespSelfTreatUncomplicated

<pSelfTreatUncomplicated
    value=double
  />

Documentation (element)

Units: Dimensionless Min: 0.0 Max: 1.0

Probability that a patient with uncomplicated disease will self-treat

Attributes

Input parameter value

value=double

A double-precision floating-point value.

Probability that a recurring patient seeks official care

scenariohealthSystemImmediateOutcomespSeekOfficialCareUncomplicated2

<pSeekOfficialCareUncomplicated2
    value=double
  />

Documentation (element)

Units: Dimensionless Min: 0.0 Max: 1.0

Probability that a patient with recurrence of uncomplicated disease seeks official care

Attributes

Input parameter value

value=double

A double-precision floating-point value.

Probability that a patient with severe disease obtains appropriate care

scenariohealthSystemImmediateOutcomespSeekOfficialCareSevere

<pSeekOfficialCareSevere
    value=double
  />

Documentation (element)

Units: Dimensionless Min: 0.0 Max: 1.0

Probability that a patient with severe disease obtains appropriate care

Attributes

Input parameter value

value=double

A double-precision floating-point value.

primaquine

scenariohealthSystemImmediateOutcomesprimaquine

<primaquine>
IN ANY ORDER:
|   <pHumanCannotReceive ... /> 
|   <pUseUncomplicated ... /> 
|   <effectivenessOnUse ... /> 
</primaquine>

pHumanCannotReceive

scenariohealthSystemImmediateOutcomesprimaquinepHumanCannotReceive

<pHumanCannotReceive
    value=double
  />

Attributes

Input parameter value

value=double

A double-precision floating-point value.

pUseUncomplicated

scenariohealthSystemImmediateOutcomesprimaquinepUseUncomplicated

<pUseUncomplicated
    value=double
  />

Attributes

Input parameter value

value=double

A double-precision floating-point value.

effectivenessOnUse

scenariohealthSystemImmediateOutcomesprimaquineeffectivenessOnUse

<effectivenessOnUse
    value=double
  />

Attributes

Input parameter value

value=double

A double-precision floating-point value.

Case fatality rate for inpatients

scenariohealthSystemCFR

<CFR
  [ interpolation=("none" or "linear") ]
  >
IN THIS ORDER:
| ( <group ... /> )+
</CFR>

Documentation (element)

Case fatality rate (probability of an inpatient fatality from a bout of severe malaria, per age-group).

Attributes

interpolation

interpolation=("none" or "linear")

Interpolation algorithm. Normally it is desirable for age-based values to be continuous w.r.t. age. By default linear interpolation is used. With all algorithms except "none", the age groups are converted to a set of points centred within each age range. Extra points are added at each end (zero and infinity) to keep value constant at both ends of the function. A zero-length age group may be used as a kind of barrier to adjust the distribution; e.g. with age group boundaries at 15, 20 and 25 years, a (linear) spline would be drawn between ages 17.5 and 22.5, whereas with boundaries at 15, 20 and 20 years, a spline would be drawn between ages 17.5 and 20 years (may be desired if individuals are assumed to reach adult size at 20). Algorithms:

  1. none: input values are used directly
  2. linear: straight lines (on an age vs. value graph) are used to interpolate data points.

Probabilities of sequelae in inpatients

scenariohealthSystempSequelaeInpatient

<pSequelaeInpatient
  [ interpolation=("none" or "linear") ]
  >
IN THIS ORDER:
| ( <group ... /> )+
</pSequelaeInpatient>

Documentation (element)

Units: Dimensionless

List of age-specific probabilities of sequelae in inpatients, during a severe bout of malaria.

Attributes

interpolation

interpolation=("none" or "linear")

Interpolation algorithm. Normally it is desirable for age-based values to be continuous w.r.t. age. By default linear interpolation is used. With all algorithms except "none", the age groups are converted to a set of points centred within each age range. Extra points are added at each end (zero and infinity) to keep value constant at both ends of the function. A zero-length age group may be used as a kind of barrier to adjust the distribution; e.g. with age group boundaries at 15, 20 and 25 years, a (linear) spline would be drawn between ages 17.5 and 22.5, whereas with boundaries at 15, 20 and 20 years, a spline would be drawn between ages 17.5 and 20 years (may be desired if individuals are assumed to reach adult size at 20). Algorithms:

  1. none: input values are used directly
  2. linear: straight lines (on an age vs. value graph) are used to interpolate data points.

Change transmission levels

scenariointerventionschangeEIR

<changeEIR
  [ name=string ]
  >
IN THIS ORDER:
| ( <timedDeployment ... /> )*
</changeEIR>

Documentation (element)

New description of transmission level for models not supporting vector control interventions. Use of this overrides previous transmission levels such that human infectiousness no longer has any feedback effect on transmission. Supplied EIR data must last until end of simulation.

Attributes

Name of intervention

name=string

Name of intervention

timedDeployment

scenariointerventionschangeEIRtimedDeployment

<timedDeployment
    eipDuration=int
    time=int
  >
IN THIS ORDER:
| ( <EIRDaily ... /> )+
</timedDeployment>

Documentation (type)

Replacement transmission levels. Disables feedback of human infectiousness to mosquitoes on further mosquito to human transmission. Must last until end of simulation.

Attributes

Duration of sporogony

eipDuration=int

Units: Days

The duration of sporogony in days

Time

time=int

Units: time-steps Min: 0

Time-step at which this replacement occurs, starting from 0, the first intervention-period time-step.

EIRDaily

scenarioentomologynonVectorEIRDaily

<EIRDaily
  [ origin=string ]
  >
    double
</EIRDaily>

Documentation (type)

Units: Infectious bites per adult per day

In the non-vector model, EIR is input as a sequence of daily values. There must be at least one years' worth of entries (365), and if there are more, values are wrapped and averaged (i.e. value for first day of year is taken as the mean of values for days 0, 365+0, 2*365+0, etc.).

Attributes

Time origin of EIR sequence

origin=string

Imported infections

scenariointerventionsimportedInfections

<importedInfections
  [ name=string ]
  >
IN THIS ORDER:
|   <timed ... /> 
</importedInfections>

Documentation (element)

Models importation of P. falciparum infections directly into humans from an external source. This is infections, not inoculations or EIR being imported.

Attributes

Name of intervention

name=string

Name of intervention

Rate of importation

scenariointerventionsimportedInfectionstimed

<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

scenariointerventionsimportedInfectionstimedrate

<rate
    value=double
    time=int
  />

Documentation (type)

Units: Imported cases per thousand people per year

A time-rate pair.

Attributes

Input parameter value

value=double

A double-precision floating-point value.

Time

time=int

Units: time-steps Min: 0

Insert R_0 case

scenariointerventionsinsertR_0Case

<insertR_0Case
  [ name=string ]
  >
IN THIS ORDER:
| ( <timedDeployment ... /> )*
</insertR_0Case>

Documentation (element)

Used to simulate R_0. First, infections should be eliminated, immunity removed, and the population given an effective transmission- blocking vaccine (not done by this intervention). Then this intervention may be used to: pick one human, infect him, administer a fully effective Preerythrocytic vaccine and remove transmission-blocking vaccine effect on this human. Thus only this one human will be a source of infections in an unprotected population, and will not reinfected himself.

Attributes

Name of intervention

name=string

Name of intervention

timedDeployment

scenariointerventionsinsertR_0CasetimedDeployment

<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

scenariointerventionsuninfectVectors

<uninfectVectors
  [ name=string ]
  >
IN THIS ORDER:
| ( <timedDeployment ... /> )*
</uninfectVectors>

Documentation (element)

Units: List of elements

Removes all infections from mosquitoes -- resulting in zero EIR to humans, until such time that mosquitoes are re-infected and become infectious. Only efficacious in dynamic EIR mode (when changeEIR was not used).

Hypothetical, but potentially useful to simulate a setting starting from no infections, but with enough mosquitoes to reach a set equilibrium of exposure.

Attributes

Name of intervention

name=string

Name of intervention

timedDeployment

scenariointerventionsuninfectVectorstimedDeployment

<timedDeployment
    time=int
  />

Attributes

Time

time=int

Units: time-steps Min: 0

Time-step at which this intervention occurs, starting from 0, the first intervention-period time-step.

Vector population intervention

scenariointerventionsvectorPop

<vectorPop>
IN THIS ORDER:
| ( <intervention ... /> )+
</vectorPop>

Documentation (element)

Units: List of elements

A list of parameterisations of generic vector host-inspecific interventions.

intervention

scenariointerventionsvectorPopintervention

<intervention
    name=string
  >
IN THIS ORDER:
|   <description ... /> 
| [ <timed ... /> ]
</intervention>

Documentation (type)

Units: List of elements

An intervention which may have various effects on the vector populations as a whole. (Not host specific.)

Multiple instances of this intervention class are allowed (multiple parameterisations, not just deployments).

Each instance may have multiple deployments. In this case the effects of each instance are independent (effects are combined) but the effects of multiple deployments of a single instance are not independent (only the latest deployment has any effect).

Attributes

Name of intervention

name=string

Name of intervention (e.g. larviciding, sugar bait).

description

scenariointerventionsvectorPopinterventiondescription

<description>
IN THIS ORDER:
| ( <anopheles ... /> )+
</description>

anopheles

scenariointerventionsvectorPopinterventiondescriptionanopheles

<anopheles
    mosquito=string
  >
IN ANY ORDER:
| [ <seekingDeathRateIncrease ... /> ]
| [ <probDeathOvipositing ... /> ]
| [ <emergenceReduction ... /> ]
</anopheles>

Documentation (type)

Units: dimensionless Min: 0 Max: 1

Descriptions of the effects of vector interventions with per-species effects.

Attributes

Species/subspecies/variant name

mosquito=string

Name of the species/subspecies/variant.

Proportional increase in deaths while host searching

scenariointerventionsvectorPopinterventiondescriptionanophelesseekingDeathRateIncrease

<seekingDeathRateIncrease
    initial=double
  >
IN THIS ORDER:
|   <decay ... /> 
</seekingDeathRateIncrease>

Documentation (element)

Units: dimensionless

Describe an effect on the increase in the death rate while host seeking (mu_vA) due to this intervention.

Enter the rate increase (i.e. if rate increases to 120% of normal, give 0.2). New death rate while seeking is old × (1 + increase) where increase is this factor given. Must have increas ≥ -1.

Attributes

Initial proportion increase

initial=double

Units: dimensionless Min: -1 Max: inf

decay

scenariointerventionsvectorPopinterventiondescriptionanophelesseekingDeathRateIncreasedecay

<decay
    function=("constant" or "step" or "linear" or "exponential" or "weibull" or "hill" or "smooth-compact")
    L=double
  [ k=double ] DEFAULT VALUE 1.0
  [ mu=double ] DEFAULT VALUE 0
  [ sigma=double ] DEFAULT VALUE 0
  />

Documentation (type)

Specification of decay or survival of a parameter.

Attributes

function

function=("constant" or "step" or "linear" or "exponential" or "weibull" or "hill" or "smooth-compact")

Units: None Min: 0 Max: 1

Determines which decay function to use. Available decay functions, for age t in years: constant: 1 step: 1 for t less than L, otherwise 0 linear: 1 - t/L for t less than L, otherwise 0 exponential: exp( - t/L * log(2) ) weibull: exp( -(t/L)^k * log(2) ) hill: 1 / (1 + (t/L)^k) smooth-compact: exp( k - k / (1 - (t/L)^2) ) for t less than L, otherwise 0

L

L=double

Units: Years Min: 0

Scale parameter of distribution. With the smooth-compact (smooth function with compact support), step and linear functions, this is the age at which the parameter has decayed to 0; with the other three functions, this is the age at which the parameter has decayed to half its original value. Not used for constant decay (though must be specified anyway).

k

k=double

Units: none Min: 0

Default value: 1.0

Shape parameter of distribution. If not specified, default value of 1 is used. Meaning depends on function; not used in some cases.

μ (mu)

mu=double

Min: 0

Default value: 0

If sigma is non-zero, heterogeneity of decay is introduced via a random variable sampled from the log-normal distribution with mu and sigma as specified. Both mu and sigma default to zero when not specified. The decay rate is multiplied by this variable (effectively, the half-life is divided by it). Note that with m=0, the median of the variable and the median value of L is unchanged, and thus the time at which the median decay amongst the population of decaying objects reaches half (assuming exponential, Weibull or Hill decay) is L. With m=-½σ² (negative half sigma squared) the mean of the variable will be 1 and mean of the half-life L, but the time at which mean decay of the population has reached half may not be L.

σ (sigma)

sigma=double

Min: 0

Default value: 0

If sigma is non-zero, heterogeneity of decay is introduced via a random variable sampled from the log-normal distribution with mu and sigma as specified. Both mu and sigma default to zero when not specified. The decay rate is multiplied by this variable (effectively, the half-life is divided by it).

Proportion ovipositing mosquitoes killed

scenariointerventionsvectorPopinterventiondescriptionanophelesprobDeathOvipositing

<probDeathOvipositing
    initial=double
  >
IN THIS ORDER:
|   <decay ... /> 
</probDeathOvipositing>

Documentation (element)

Units: dimensionless

Describe an effect of increased mortality while ovipositing due to this intervention. Enter the probability of dying due to this intervention.

Attributes

Initial probability of killing

initial=double

Units: dimensionless Min: 0 Max: 1

decay

scenariointerventionsvectorPopinterventiondescriptionanophelesprobDeathOvipositingdecay

<decay
    function=("constant" or "step" or "linear" or "exponential" or "weibull" or "hill" or "smooth-compact")
    L=double
  [ k=double ] DEFAULT VALUE 1.0
  [ mu=double ] DEFAULT VALUE 0
  [ sigma=double ] DEFAULT VALUE 0
  />

Documentation (type)

Specification of decay or survival of a parameter.

Attributes

function

function=("constant" or "step" or "linear" or "exponential" or "weibull" or "hill" or "smooth-compact")

Units: None Min: 0 Max: 1

Determines which decay function to use. Available decay functions, for age t in years: constant: 1 step: 1 for t less than L, otherwise 0 linear: 1 - t/L for t less than L, otherwise 0 exponential: exp( - t/L * log(2) ) weibull: exp( -(t/L)^k * log(2) ) hill: 1 / (1 + (t/L)^k) smooth-compact: exp( k - k / (1 - (t/L)^2) ) for t less than L, otherwise 0

L

L=double

Units: Years Min: 0

Scale parameter of distribution. With the smooth-compact (smooth function with compact support), step and linear functions, this is the age at which the parameter has decayed to 0; with the other three functions, this is the age at which the parameter has decayed to half its original value. Not used for constant decay (though must be specified anyway).

k

k=double

Units: none Min: 0

Default value: 1.0

Shape parameter of distribution. If not specified, default value of 1 is used. Meaning depends on function; not used in some cases.

μ (mu)

mu=double

Min: 0

Default value: 0

If sigma is non-zero, heterogeneity of decay is introduced via a random variable sampled from the log-normal distribution with mu and sigma as specified. Both mu and sigma default to zero when not specified. The decay rate is multiplied by this variable (effectively, the half-life is divided by it). Note that with m=0, the median of the variable and the median value of L is unchanged, and thus the time at which the median decay amongst the population of decaying objects reaches half (assuming exponential, Weibull or Hill decay) is L. With m=-½σ² (negative half sigma squared) the mean of the variable will be 1 and mean of the half-life L, but the time at which mean decay of the population has reached half may not be L.

σ (sigma)

sigma=double

Min: 0

Default value: 0

If sigma is non-zero, heterogeneity of decay is introduced via a random variable sampled from the log-normal distribution with mu and sigma as specified. Both mu and sigma default to zero when not specified. The decay rate is multiplied by this variable (effectively, the half-life is divided by it).

Proportion of emerging pupa killed

scenariointerventionsvectorPopinterventiondescriptionanophelesemergenceReduction

<emergenceReduction
    initial=double
  >
IN THIS ORDER:
|   <decay ... /> 
</emergenceReduction>

Documentation (element)

Units: dimensionless

Describe an effect on emergence of pupa into adults: this value is the proportion of emerging pupa which are killed by this intervention.

This can be used as a crude way of modelling larviciding. It ca also be used to increase emergence by giving a negative value. The emergence rate is "old rate" × (1 - factor) where factor is the value given here; thus, for example, using -1 will double emergence.

Attributes

Initial proportion reduction

initial=double

Units: dimensionless Min: -inf Max: 1

decay

scenariointerventionsvectorPopinterventiondescriptionanophelesemergenceReductiondecay

<decay
    function=("constant" or "step" or "linear" or "exponential" or "weibull" or "hill" or "smooth-compact")
    L=double
  [ k=double ] DEFAULT VALUE 1.0
  [ mu=double ] DEFAULT VALUE 0
  [ sigma=double ] DEFAULT VALUE 0
  />

Documentation (type)

Specification of decay or survival of a parameter.

Attributes

function

function=("constant" or "step" or "linear" or "exponential" or "weibull" or "hill" or "smooth-compact")

Units: None Min: 0 Max: 1

Determines which decay function to use. Available decay functions, for age t in years: constant: 1 step: 1 for t less than L, otherwise 0 linear: 1 - t/L for t less than L, otherwise 0 exponential: exp( - t/L * log(2) ) weibull: exp( -(t/L)^k * log(2) ) hill: 1 / (1 + (t/L)^k) smooth-compact: exp( k - k / (1 - (t/L)^2) ) for t less than L, otherwise 0

L

L=double

Units: Years Min: 0

Scale parameter of distribution. With the smooth-compact (smooth function with compact support), step and linear functions, this is the age at which the parameter has decayed to 0; with the other three functions, this is the age at which the parameter has decayed to half its original value. Not used for constant decay (though must be specified anyway).

k

k=double

Units: none Min: 0

Default value: 1.0

Shape parameter of distribution. If not specified, default value of 1 is used. Meaning depends on function; not used in some cases.

μ (mu)

mu=double

Min: 0

Default value: 0

If sigma is non-zero, heterogeneity of decay is introduced via a random variable sampled from the log-normal distribution with mu and sigma as specified. Both mu and sigma default to zero when not specified. The decay rate is multiplied by this variable (effectively, the half-life is divided by it). Note that with m=0, the median of the variable and the median value of L is unchanged, and thus the time at which the median decay amongst the population of decaying objects reaches half (assuming exponential, Weibull or Hill decay) is L. With m=-½σ² (negative half sigma squared) the mean of the variable will be 1 and mean of the half-life L, but the time at which mean decay of the population has reached half may not be L.

σ (sigma)

sigma=double

Min: 0

Default value: 0

If sigma is non-zero, heterogeneity of decay is introduced via a random variable sampled from the log-normal distribution with mu and sigma as specified. Both mu and sigma default to zero when not specified. The decay rate is multiplied by this variable (effectively, the half-life is divided by it).

Vector population intervention deployment

scenariointerventionsvectorPopinterventiontimed

<timed>
IN THIS ORDER:
| ( <deploy ... /> )+
</timed>

Documentation (element)

List of timed vector population intervention deployment

deploy

scenariointerventionsvectorPopinterventiontimeddeploy

<deploy
    time=int
  />

Attributes

Time

time=int

Units: time-steps Min: 0

Time-step at which this intervention occurs, starting from 0, the first intervention-period time-step.

Human-specific interventions

scenariointerventionshuman

<human>
IN THIS ORDER:
| ( <component ... /> )+
| ( <deployment ... /> )*
</human>

Documentation (element)

Encapsulates all interventions whose effects are specific to the human host: any interventions where target humans may be selected via population-coverage, age limits and sub-population membership.

Component

scenariointerventionshumancomponent

<component
    id=string
  [ name=string ]
  >
IN THIS ORDER:
| EXACTLY ONE OF:
| |   <screen ... /> 
| |   <MDA ... /> 
| |   <MDA1D ... /> 
| |   <PEV ... /> 
| |   <BSV ... /> 
| |   <TBV ... /> 
| |   <ITN ... /> 
| |   <IRS ... /> 
| |   <GVI ... /> 
| | [ <recruitmentOnly ... /> ]
| |   <clearImmunity ... /> 
| [ <subPopRemoval ... /> ]
</component>

Documentation (element)

A parameterisation of an effect achieved by one component of an intervention. (An intervention is described as the effects of a set of components plus deployments of those components. This describes the components individually, not deployments or which components comprise an intervention.)

Each element describes one component: its effects, decay of the(se) effect(s), and related stuff (e.g. description of indirect decay and of usage levels).

Different interventions can deploy the same component to the same perso. In most cases this will just deploy a fresh instance (e.g. a new bed net will replace the old (nobody uses multiple bed nets), or a new drug dose will act on top of previous doses, or in the case of a vaccine, effect depends on the total number of previous inoculations (including from other interventions).

Where multiple components of the same type (but with different ids) are deployed (whether within a single intervention or by multiple interventions), they act independently (e.g. two bed nets deployed to a single host would act to reduce attractiveness or survival of mosquitoes biting that host twice — this may be useful to simulate some novel vector intervention since the two nets may have separate parameters).

Attributes

Component identifier

id=string

A short name or code identifying the intervention component (used to refer to this component when describing an intervention). Also the id of the sub-population defined as those hosts who have received this intervention and who haven't subsequently been removed from the sub-population.

Name of component

name=string

An informal name/description for the component

screen

scenariointerventionshumancomponentscreen

<screen>
IN THIS ORDER:
|   <diagnostic ... /> 
|   <positive ... /> 
|   <negative ... /> 
</screen>

Documentation (type)

This can be combined with MDA to achieve mass screen and treat (MSAT) or other types of mass screening intervention.

When deployed to a host, this simulates a test of patent malaria (microscopy, RDT or some such), then triggers deployment of whichever intervention components are configured (deployments for both positive and negative test outcomes can be configured).

The use of the screening itself is reported (if enabled), but not the outcome. Deployment of interventions triggered by the screening may be reported, however.

Diagnostic

scenariointerventionshumancomponentscreendiagnostic

<diagnostic>
IN THIS ORDER:
| EXACTLY ONE OF:
| |   <deterministic ... /> 
| |   <stochastic ... /> 
</diagnostic>

Documentation (element)

Description of the diagnostic test used by the screening.

Deterministic detection

scenariointerventionshumancomponentscreendiagnosticdeterministic

<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

scenariointerventionshumancomponentscreendiagnosticstochastic

<stochastic
    dens_50=double
    specificity=double
  />

Documentation (element)

An improved model of detection which is non-deterministic, including false positive results as well as false negatives.

The probability of a positive outcome is modelled as 1 + s×(x/(x+d) - 1) where x is the parasite density, d is the density at which the test outcome has a 50% chance of being positive, and s is the probability of a positive outcome given no parasites (the specificity).

Some parameterisations:

Microscopy sensitivity/specificity data in Africa; Source: expert opinion — Allan Schapira dens_50 = 20.0 specificity = .75

RDT sensitivity/specificity for Plasmodium falciparum in Africa Source: Murray et al (Clinical Microbiological Reviews, Jan. 2008) dens_50 = 50.0; specificity = .942;

Attributes

Density 50

dens_50=double

Units: parasites/microlitre Min: 0

The density at which the test outcome has a 50% chance of being positive.

Specificity

specificity=double

Units: Dimensionless Min: 0 Max: 1

The probability of a positive test outcome in the absense of parasites.

positive

scenariointerventionshumancomponentscreenpositive

<positive>
IN THIS ORDER:
| ( <deploy ... /> )*
</positive>

Documentation (type)

Lists intervention components which are deployed according to some external trigger (for example, screening with a negative patency outcome or health-system treatment).

Components are referenced from one or more sub-lists. Each of these lists is deployed independently if and only if its age constraints are met by the human host and a random sample with the given probability of a positive outcome is positive.

negative

scenariointerventionshumancomponentscreennegative

<negative>
IN THIS ORDER:
| ( <deploy ... /> )*
</negative>

Documentation (type)

Lists intervention components which are deployed according to some external trigger (for example, screening with a negative patency outcome or health-system treatment).

Components are referenced from one or more sub-lists. Each of these lists is deployed independently if and only if its age constraints are met by the human host and a random sample with the given probability of a positive outcome is positive.

MDA

scenariointerventionshumancomponentMDA

<MDA>
IN THIS ORDER:
|   <effects ... /> 
</MDA>

Documentation (type)

Description of treatment deployed as an intervention (treatment is usually a simple model of a drug's action, thus when deployed on mass or via screening this becomes part of a mass drug administration (MDA) or mass screen-and-treat (MSAT) intervention. For historical reasons this is called "MDA" in the XML, not "treatment".

For the 1-day timestep models, a more detailed model of drug action and more flexible model of deployment decisions are available; see MDA1D.

The model of action of this intervention is to select one option from a list of treatment options (randomly when multiple are available) then carry out the treatment option's actions (which may be to do nothing).

Treatment options

scenariointerventionshumancomponentMDAeffects

<effects>
IN THIS ORDER:
| ( <option ... /> )+
</effects>

Documentation (element)

A list of treatment options. When treatment is to be given, one option will be selected randomly (according to the "pSelection" probability of selection parameters given), and the actions of that option enacted.

Multiple options are intended to allow simulation of drug failure and varying patient adherence. An option may do nothing.

option

scenariointerventionshumancomponentMDAeffectsoption

<option
  [ name=string ]
    pSelection=double
  >
IN THIS ORDER:
| ( <deploy ... /> )*
</option>

Documentation (base type)

Describes the effects of the treatment, assuming this compliance/adherence/... option is selected. Effects are described in terms of a list of options, each of which acts independently but with all effects being activated simultaneously.

Documentation (base type)

Lists intervention components which are deployed according to some external trigger (for example, screening with a negative patency outcome or health-system treatment).

Components are referenced from one or more sub-lists. Each of these lists is deployed independently if and only if its age constraints are met by the human host and a random sample with the given probability of a positive outcome is positive.

Attributes

Name

name=string

Describes what this compliance option represents (e.g. "good compliance", "poor compliance with good drugs", ...).

Probability of selection

pSelection=double

Units: dimensionless Min: 0 Max: 1

The probability of selection of this treatment option. The sum of probabilities of all options in the list should be 1.

Mass drug administration (with decision tree and drug PK/PD model)

scenariointerventionshumancomponentMDA1D

<MDA1D>
IN THIS ORDER:
|   <decisions ... /> 
|   <treatments ... /> 
</MDA1D>

Documentation (element)

Description of a MDA/MSAT intervention (Mass Screen and Treat is just Mass Drug Administration with a diagnostic).

This MDA/MSAT model piggy-backs the 1-day timestep case management and drug models, and thus is only available when using a 1-day timestep.

Description of treatment type used by mass treatment option of one-day case management model. Can be used to describe one-size-fits-all mass drug dosing, age-based mass drug dosing and screen-and-treat. Number of treatments given can be reported by the nMDAs option.

Documentation (type)

A set of decisions and a set of treatments.

Vaccines

scenariointerventionshumancomponentPEV

<PEV>
IN THIS ORDER:
|   <decay ... /> 
|   <efficacyB ... /> 
| ( <initialEfficacy ... /> )+
</PEV>

Documentation (element)

Pre-erythrocytic vaccine (PEV): prevents a proportion of infections from commencing.

Documentation (type)

Description of a vaccine's effect

Decay of effect

scenariointerventionshumancomponentPEVdecay

<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

scenariointerventionshumancomponentPEVefficacyB

<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

scenariointerventionshumancomponentPEVinitialEfficacy

<initialEfficacy
    value=double
  />

Documentation (element)

Units: dimensionless Min: 0 Max: 1

Mean efficacy values before decay (see efficacyB and decay parameter descriptions for sampling and decay). The i-th value in this list is used for the efficacy of the vaccine after the i-th dose. Where more doses are given than there are values in this list, the last value is repeated.

Attributes

Input parameter value

value=double

A double-precision floating-point value.

Vaccines

scenariointerventionshumancomponentBSV

<BSV>
IN THIS ORDER:
|   <decay ... /> 
|   <efficacyB ... /> 
| ( <initialEfficacy ... /> )+
</BSV>

Documentation (element)

Blood-stage vaccine (BSV): acts as a killing factor on blood-stage parasites. Exact action depends on the within host model.

Documentation (type)

Description of a vaccine's effect

Vaccines

scenariointerventionshumancomponentTBV

<TBV>
IN THIS ORDER:
|   <decay ... /> 
|   <efficacyB ... /> 
| ( <initialEfficacy ... /> )+
</TBV>

Documentation (element)

Transmission-blocking vaccine (TBV): one minus this scales the probability of transmission to mosquitoes

Documentation (type)

Description of a vaccine's effect

Bed nets

scenariointerventionshumancomponentITN

<ITN>
IN THIS ORDER:
|   <usage ... /> 
|   <holeRate ... /> 
|   <ripRate ... /> 
|   <ripFactor ... /> 
|   <initialInsecticide ... /> 
|   <insecticideDecay ... /> 
|   <attritionOfNets ... /> 
| ( <anophelesParams ... /> )+
</ITN>

Documentation (element)

Description of bed-net interventions (ITNs, LLINs).

Proportion of time nets are used by humans

scenariointerventionshumancomponentITNusage

<usage
    value=double
  />

Documentation (element)

Units: dimensionless Min: 0 Max: 1

Usage of nets by humans, from 0 to 1.

At the moment this is constant across humans and deterministic: relative attractiveness and survival factors are base*(1-usagepropActing) + intervention_factorusage*propActing.

See also "propActing" (proportion of bits for which net acts).

Attributes

Input parameter value

value=double

A double-precision floating-point value.

Rate at which holes are made

scenariointerventionshumancomponentITNholeRate

<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

scenariointerventionshumancomponentITNripRate

<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

scenariointerventionshumancomponentITNripFactor

<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

scenariointerventionshumancomponentITNinitialInsecticide

<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

scenariointerventionshumancomponentITNinsecticideDecay

<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

scenariointerventionshumancomponentITNattritionOfNets

<attritionOfNets
    function=("constant" or "step" or "linear" or "exponential" or "weibull" or "hill" or "smooth-compact")
    L=double
  [ k=double ] DEFAULT VALUE 1.0
  [ mu=double ] DEFAULT VALUE 0
  [ sigma=double ] DEFAULT VALUE 0
  />

Documentation (element)

Units: dimensionless

Specifies the rate at which nets are disposed of over time. Documentation: see DecayFunction type or https://github.com/SwissTPH/openmalaria/wiki/ModelDecayFunctions

In the current model, nets are disposed of randomly (no correlation with state of decay) such that the chance of each net surviving until age t is the value of this decay function at time t. Equivalently (where a large number of nets are distributed at the same time), the proportion of nets remaining in use should match this decay function over time.

Humans are removed from the intervention component's sub-population on disposal (attrition) of their nets. Currently this event is not reported.

Documentation (type)

Specification of decay or survival of a parameter.

Attributes

function

function=("constant" or "step" or "linear" or "exponential" or "weibull" or "hill" or "smooth-compact")

Units: None Min: 0 Max: 1

Determines which decay function to use. Available decay functions, for age t in years: constant: 1 step: 1 for t less than L, otherwise 0 linear: 1 - t/L for t less than L, otherwise 0 exponential: exp( - t/L * log(2) ) weibull: exp( -(t/L)^k * log(2) ) hill: 1 / (1 + (t/L)^k) smooth-compact: exp( k - k / (1 - (t/L)^2) ) for t less than L, otherwise 0

L

L=double

Units: Years Min: 0

Scale parameter of distribution. With the smooth-compact (smooth function with compact support), step and linear functions, this is the age at which the parameter has decayed to 0; with the other three functions, this is the age at which the parameter has decayed to half its original value. Not used for constant decay (though must be specified anyway).

k

k=double

Units: none Min: 0

Default value: 1.0

Shape parameter of distribution. If not specified, default value of 1 is used. Meaning depends on function; not used in some cases.

μ (mu)

mu=double

Min: 0

Default value: 0

If sigma is non-zero, heterogeneity of decay is introduced via a random variable sampled from the log-normal distribution with mu and sigma as specified. Both mu and sigma default to zero when not specified. The decay rate is multiplied by this variable (effectively, the half-life is divided by it). Note that with m=0, the median of the variable and the median value of L is unchanged, and thus the time at which the median decay amongst the population of decaying objects reaches half (assuming exponential, Weibull or Hill decay) is L. With m=-½σ² (negative half sigma squared) the mean of the variable will be 1 and mean of the half-life L, but the time at which mean decay of the population has reached half may not be L.

σ (sigma)

sigma=double

Min: 0

Default value: 0

If sigma is non-zero, heterogeneity of decay is introduced via a random variable sampled from the log-normal distribution with mu and sigma as specified. Both mu and sigma default to zero when not specified. The decay rate is multiplied by this variable (effectively, the half-life is divided by it).

anophelesParams

scenariointerventionshumancomponentITNanophelesParams

<anophelesParams
    mosquito=string
  [ propActive=double ] DEFAULT VALUE 1
  >
IN THIS ORDER:
| EXACTLY ONE OF:
| |   <deterrency ... /> 
| |   <twoStageDeterrency ... /> 
|   <preprandialKillingEffect ... /> 
|   <postprandialKillingEffect ... /> 
</anophelesParams>

Attributes

Mosquito species

mosquito=string

Name of the affected anopheles-mosquito species.

Proportion of bites for which net acts

propActive=double

Units: dimensionless Min: 0 Max: 1

Default value: 1

The proportion of bites, when nets are in use, for which the net has any action whatsoever on the mosquito. At the moment this is constant across humans and deterministic: relative attractiveness and survival factors are base*(1-usagepropActing) + intervention_factorusage*propActing. See also "usage" (proportion of time nets are used by humans).

Relative attractiveness

scenariointerventionshumancomponentITNanophelesParamsdeterrency

<deterrency
    insecticideFactor=double
    insecticideScalingFactor=double
    holeFactor=double
    interactionFactor=double
    holeScalingFactor=double
  />

Documentation (element)

Units: dimensionless Min: 0 Max: 1

Effect of net on attractiveness of humans to mosquitoes relative to an unprotected adult human. Parameterisations should take into account that mosquitoes do not always bite indoors.

Attractiveness of the human is multiplied by exp(log(H)×h + log(P)×p + log(I)×h×p where H, P and I are the hole, insecticide and interaction factors respectively, h=exp(-holeIndex×holeScalingFactor) and p=1−exp(-insecticideContent×insecticideScalingFactor).

Attributes

Insecticide factor

insecticideFactor=double

Units: none Max: 1

Value expected to be at least 0. Negative values are not necessarily invalid, but allow nets to increase transmission.

Insecticide scaling factor

insecticideScalingFactor=double

Units: none Min: 0

Hole factor

holeFactor=double

Units: none Max: 1

Value expected to be at least 0. Negative values are not necessarily invalid, but allow nets to increase transmission.

Interaction factor

interactionFactor=double

Units: none Max: 1

holeFactor + insecticideFactor + interactionFactor must not be greater than 1, and is expected to be at least 0. A negative value is not necessarily invalid, but allows nets to increase transmission.

Hole scaling factor

holeScalingFactor=double

Units: none Min: 0

Relative attractiveness

scenariointerventionshumancomponentITNanophelesParamstwoStageDeterrency

<twoStageDeterrency>
IN ANY ORDER:
|   <entering ... /> 
|   <attacking ... /> 
</twoStageDeterrency>

Documentation (element)

Units: dimensionless

Effect of net on attractiveness of humans to mosquitoes relative to an unprotected adult human. Parameterisations should take into account that mosquitoes do not always bite indoors.

This deterrency model multiplies human attractiveness by pEnt×pAtt divided by a base factor to normalise the output to 1 when there are no nets.

RA (entering)

scenariointerventionshumancomponentITNanophelesParamstwoStageDeterrencyentering

<entering
    insecticideFactor=double
    insecticideScalingFactor=double
  />

Documentation (element)

Units: dimensionless

pEnt represents the relative probability of entering due to ITNs: pEnt = exp(log(P)×p) where P is the insecticide factor and p=1−exp(-insecticideContent×insecticideScalingFactor).

Attributes

Insecticide factor

insecticideFactor=double

Units: none Max: 1

Value expected to be at least 0. Negative values are not necessarily invalid, but allow nets to increase transmission.

Insecticide scaling factor

insecticideScalingFactor=double

Units: none Min: 0

RA (attacking)

scenariointerventionshumancomponentITNanophelesParamstwoStageDeterrencyattacking

<attacking
    insecticideFactor=double
    insecticideScalingFactor=double
    holeFactor=double
    interactionFactor=double
    holeScalingFactor=double
    baseFactor=double
  />

Documentation (element)

Units: dimensionless

pAtt represents the relative probability of attacking a human after entering a house due to ITNs (i.e. of feeding/dying vs. flying off): pAtt = B + H×h + P×p + I×h×p where B is the base (without net) probability; H, P and I are the hole, insecticide and interaction factors respectively, h=exp(-holeIndex×holeScalingFactor) and p=1−exp(-insecticideContent×insecticideScalingFactor).

Attributes

Insecticide factor

insecticideFactor=double

Units: none Max: 1

Value expected to be at least 0. Negative values are not necessarily invalid, but allow nets to increase transmission.

Insecticide scaling factor

insecticideScalingFactor=double

Units: none Min: 0

Hole factor

holeFactor=double

Units: none Max: 1

Value expected to be at least 0. Negative values are not necessarily invalid, but allow nets to increase transmission.

Interaction factor

interactionFactor=double

Units: none Max: 1

holeFactor + insecticideFactor + interactionFactor must not be greater than 1, and is expected to be at least 0. A negative value is not necessarily invalid, but allows nets to increase transmission.

Hole scaling factor

holeScalingFactor=double

Units: none Min: 0

Probability of mosquito death without intervention

baseFactor=double

Units: dimensionless

Pre-prandial killing effect

scenariointerventionshumancomponentITNanophelesParamspreprandialKillingEffect

<preprandialKillingEffect
    insecticideFactor=double
    insecticideScalingFactor=double
    holeFactor=double
    interactionFactor=double
    holeScalingFactor=double
    baseFactor=double
  />

Documentation (element)

Units: dimensionless Min: 0 Max: 1

Effect of net on survival mosquitoes as they seek to bite a human after choosing that human, relative to the same person not sleeping under a net. Parameterisations should take into account that mosquitoes do not always bite indoors.

Killing proportion is calculated as K = B + H×h + P×p + I×h×p where B is the base (without net) probability of death, H, P and I are the hole, insecticide and interaction factors respectively, h=exp(-holeIndex×holeScalingFactor) and p=1−exp(-insecticideContent×insecticideScalingFactor).

Survival of mosquitoes is adjusted via multiplication by (1−K) / (1−B). To keep this in the range [0,1], we require that B+H ≤ 1, B+P ≤ 1, B+H+P+I ≤ 1, H ≥ 0, P ≥ 0 and H+P+I ≥ 0.

Attributes

Insecticide factor

insecticideFactor=double

Units: none Max: 1

Value expected to be at least 0. Negative values are not necessarily invalid, but allow nets to increase transmission.

Insecticide scaling factor

insecticideScalingFactor=double

Units: none Min: 0

Hole factor

holeFactor=double

Units: none Max: 1

Value expected to be at least 0. Negative values are not necessarily invalid, but allow nets to increase transmission.

Interaction factor

interactionFactor=double

Units: none Max: 1

holeFactor + insecticideFactor + interactionFactor must not be greater than 1, and is expected to be at least 0. A negative value is not necessarily invalid, but allows nets to increase transmission.

Hole scaling factor

holeScalingFactor=double

Units: none Min: 0

Probability of mosquito death without intervention

baseFactor=double

Units: dimensionless

Post-prandial killing effect

scenariointerventionshumancomponentITNanophelesParamspostprandialKillingEffect

<postprandialKillingEffect
    insecticideFactor=double
    insecticideScalingFactor=double
    holeFactor=double
    interactionFactor=double
    holeScalingFactor=double
    baseFactor=double
  />

Documentation (element)

Units: dimensionless Min: 0 Max: 1

Effect of net on survival mosquitoes as they seek to escape from a human host and rest after a blood meal, relative to the same person not sleeping under a net. Parameterisations should take into account that mosquitoes do not always bite indoors.

Killing proportion is calculated as K = B + H×h + P×p + I×h×p where B is the base (without net) probability of death, H, P and I are the hole, insecticide and interaction factors respectively, h=exp(-holeIndex×holeScalingFactor) and p=1−exp(-insecticideContent×insecticideScalingFactor).

Survival of mosquitoes is adjusted via multiplication by (1−K) / (1−B). To keep this in the range [0,1], we require that B+H ≤ 1, B+P ≤ 1, B+H+P+I ≤ 1, H ≥ 0, P ≥ 0 and H+P+I ≥ 0.

Attributes

Insecticide factor

insecticideFactor=double

Units: none Max: 1

Value expected to be at least 0. Negative values are not necessarily invalid, but allow nets to increase transmission.

Insecticide scaling factor

insecticideScalingFactor=double

Units: none Min: 0

Hole factor

holeFactor=double

Units: none Max: 1

Value expected to be at least 0. Negative values are not necessarily invalid, but allow nets to increase transmission.

Interaction factor

interactionFactor=double

Units: none Max: 1

holeFactor + insecticideFactor + interactionFactor must not be greater than 1, and is expected to be at least 0. A negative value is not necessarily invalid, but allows nets to increase transmission.

Hole scaling factor

holeScalingFactor=double

Units: none Min: 0

Probability of mosquito death without intervention

baseFactor=double

Units: dimensionless

Indoor residual spraying

scenariointerventionshumancomponentIRS

<IRS>
IN THIS ORDER:
|   <initialInsecticide ... /> 
|   <insecticideDecay ... /> 
| ( <anophelesParams ... /> )+
</IRS>

Documentation (element)

Description of indoor residual spraying interventions.

Documentation (type)

Description of effect for the more complex and probably more realistic Briet model: IRS has three effects, whos strength is calculated as a function of surviving insecticide content.

Initial insecticide

scenariointerventionshumancomponentIRSinitialInsecticide

<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

scenariointerventionshumancomponentIRSinsecticideDecay

<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

scenariointerventionshumancomponentIRSanophelesParams

<anophelesParams
    mosquito=string
  [ propActive=double ] DEFAULT VALUE 1
  >
IN THIS ORDER:
|   <deterrency ... /> 
|   <preprandialKillingEffect ... /> 
|   <postprandialKillingEffect ... /> 
</anophelesParams>

Attributes

Mosquito species

mosquito=string

Name of the affected anopheles-mosquito species.

Proportion of bites for which IRS acts

propActive=double

Units: dimensionless Min: 0 Max: 1

Default value: 1

The proportion of bites for which the IRS has any action whatsoever on the mosquito. At the moment this is constant across humans and deterministic: relative attractiveness and survival factors are base*(1-propActing) + intervention_factor*propActing.

Relative attractiveness

scenariointerventionshumancomponentIRSanophelesParamsdeterrency

<deterrency
    insecticideFactor=double
    insecticideScalingFactor=double
  />

Documentation (element)

Units: dimensionless Min: 0 Max: 1

Effect of IRS on attractiveness of humans to mosquitoes relative to an unprotected adult human. Parameterisations should take into account that mosquitoes do not always bite indoors.

Attractiveness of the human is multiplied by exp(P×log(p)) where P is the insecticide factor, p=1−exp(-insecticideContent×insecticideScalingFactor).

Attributes

Insecticide factor

insecticideFactor=double

Units: none Max: 1

Value expected to be at least 0. Negative values are not necessarily invalid, but allow nets to increase transmission.

Insecticide scaling factor

insecticideScalingFactor=double

Units: none Min: 0

Pre-prandial killing effect

scenariointerventionshumancomponentIRSanophelesParamspreprandialKillingEffect

<preprandialKillingEffect
    insecticideFactor=double
    insecticideScalingFactor=double
    baseFactor=double
  />

Documentation (element)

Units: dimensionless Min: 0 Max: 1

Effect of IRS on survival mosquitoes as they seek to bite a human after choosing that human, relative to the same person not protected by IRS. Parameterisations should take into account that mosquitoes do not always bite indoors. This parameter has been added since some data shows IRS to have a preprandial killing effect.

Killing proportion is calculated as K = B + P×p where B is the base (without protection) probability of death, and P is the insecticide factor, p=1−exp(-insecticideContent×insecticideScalingFactor).

Survival of mosquitoes is adjusted via multiplication by (1−K) / (1−B). To keep this in the range [0,1], we require that B+P ≤ 1 and P ≥ 0.

Attributes

Insecticide factor

insecticideFactor=double

Units: none Max: 1

Value expected to be at least 0. Negative values are not necessarily invalid, but allow nets to increase transmission.

Insecticide scaling factor

insecticideScalingFactor=double

Units: none Min: 0

Probability of mosquito death without intervention

baseFactor=double

Units: dimensionless

Post-prandial killing effect

scenariointerventionshumancomponentIRSanophelesParamspostprandialKillingEffect

<postprandialKillingEffect
    insecticideFactor=double
    insecticideScalingFactor=double
    baseFactor=double
  />

Documentation (element)

Units: dimensionless Min: 0 Max: 1

Effect of IRS on survival mosquitoes as they seek to escape from a human host and rest after a blood meal, relative to the same person not protected by IRS. Parameterisations should take into account that mosquitoes do not always bite indoors.

Killing proportion is calculated as K = B + P×p where B is the base (without protection) probability of death, and P is the insecticide factor, p=1−exp(-insecticideContent×insecticideScalingFactor).

Survival of mosquitoes is adjusted via multiplication by (1−K) / (1−B). To keep this in the range [0,1], we require that B+P ≤ 1 and P ≥ 0.

Attributes

Insecticide factor

insecticideFactor=double

Units: none Max: 1

Value expected to be at least 0. Negative values are not necessarily invalid, but allow nets to increase transmission.

Insecticide scaling factor

insecticideScalingFactor=double

Units: none Min: 0

Probability of mosquito death without intervention

baseFactor=double

Units: dimensionless

Generic vector intervention

scenariointerventionshumancomponentGVI

<GVI>
IN THIS ORDER:
|   <decay ... /> 
| ( <anophelesParams ... /> )+
</GVI>

Documentation (element)

Low-level description of intervention effects on vectors (i.e. mosquitoes). Can be used to describe simple ITN or IRS interventions (though more complex models are available for these interventions) or other interventions such as mosquito repellant or ivermectin.

Note that all actions of this intervention component will decay according to a single decay function. If independant decay is wanted, a separate component can be used for each action.

Decay

scenariointerventionshumancomponentGVIdecay

<decay
    function=("constant" or "step" or "linear" or "exponential" or "weibull" or "hill" or "smooth-compact")
    L=double
  [ k=double ] DEFAULT VALUE 1.0
  [ mu=double ] DEFAULT VALUE 0
  [ sigma=double ] DEFAULT VALUE 0
  />

Documentation (element)

Description of decay of all intervention effects. Documentation: see DecayFunction type or https://github.com/SwissTPH/openmalaria/wiki/ModelDecayFunctions

Documentation (type)

Specification of decay or survival of a parameter.

Attributes

function

function=("constant" or "step" or "linear" or "exponential" or "weibull" or "hill" or "smooth-compact")

Units: None Min: 0 Max: 1

Determines which decay function to use. Available decay functions, for age t in years: constant: 1 step: 1 for t less than L, otherwise 0 linear: 1 - t/L for t less than L, otherwise 0 exponential: exp( - t/L * log(2) ) weibull: exp( -(t/L)^k * log(2) ) hill: 1 / (1 + (t/L)^k) smooth-compact: exp( k - k / (1 - (t/L)^2) ) for t less than L, otherwise 0

L

L=double

Units: Years Min: 0

Scale parameter of distribution. With the smooth-compact (smooth function with compact support), step and linear functions, this is the age at which the parameter has decayed to 0; with the other three functions, this is the age at which the parameter has decayed to half its original value. Not used for constant decay (though must be specified anyway).

k

k=double

Units: none Min: 0

Default value: 1.0

Shape parameter of distribution. If not specified, default value of 1 is used. Meaning depends on function; not used in some cases.

μ (mu)

mu=double

Min: 0

Default value: 0

If sigma is non-zero, heterogeneity of decay is introduced via a random variable sampled from the log-normal distribution with mu and sigma as specified. Both mu and sigma default to zero when not specified. The decay rate is multiplied by this variable (effectively, the half-life is divided by it). Note that with m=0, the median of the variable and the median value of L is unchanged, and thus the time at which the median decay amongst the population of decaying objects reaches half (assuming exponential, Weibull or Hill decay) is L. With m=-½σ² (negative half sigma squared) the mean of the variable will be 1 and mean of the half-life L, but the time at which mean decay of the population has reached half may not be L.

σ (sigma)

sigma=double

Min: 0

Default value: 0

If sigma is non-zero, heterogeneity of decay is introduced via a random variable sampled from the log-normal distribution with mu and sigma as specified. Both mu and sigma default to zero when not specified. The decay rate is multiplied by this variable (effectively, the half-life is divided by it).

Per-mosquito species parameters

scenariointerventionshumancomponentGVIanophelesParams

<anophelesParams
    mosquito=string
  [ propActive=double ] DEFAULT VALUE 1
  >
IN THIS ORDER:
| [ <deterrency ... /> ]
| [ <preprandialKillingEffect ... /> ]
| [ <postprandialKillingEffect ... /> ]
</anophelesParams>

Attributes

Mosquito species

mosquito=string

Name of the affected anopheles-mosquito species.

Proportion of bites for which IRS acts

propActive=double

Units: dimensionless Min: 0 Max: 1

Default value: 1

The proportion of bites for which the IRS has any action whatsoever on the mosquito. At the moment this is constant across humans and deterministic: relative attractiveness and survival factors are base*(1-propActing) + intervention_factor*propActing.

Relative attractiveness

scenariointerventionshumancomponentGVIanophelesParamsdeterrency

<deterrency
    value=double
  />

Documentation (element)

Units: dimensionless Min: 0 Max: 1

Effect of IRS on attractiveness of humans to mosquitoes relative to an unprotected adult human. Parameterisations should take into account that mosquitoes do not always bite indoors.

Attractiveness of the human is multiplied this factor times survival of effect.

Attributes

Input parameter value

value=double

A double-precision floating-point value.

Pre-prandial killing effect

scenariointerventionshumancomponentGVIanophelesParamspreprandialKillingEffect

<preprandialKillingEffect
    value=double
  />

Documentation (element)

Units: dimensionless Min: 0 Max: 1

Effect of IRS on survival mosquitoes as they seek to bite a human after choosing that human, relative to the same person not protected by IRS. Parameterisations should take into account that mosquitoes do not always bite indoors. This parameter has been added since some data shows IRS to have a preprandial killing effect.

Killing proportion is this factor multiplied by survival of effect.

Attributes

Input parameter value

value=double

A double-precision floating-point value.

Post-prandial killing effect

scenariointerventionshumancomponentGVIanophelesParamspostprandialKillingEffect

<postprandialKillingEffect
    value=double
  />

Documentation (element)

Units: dimensionless Min: 0 Max: 1

Effect of IRS on survival mosquitoes as they seek to escape from a human host and rest after a blood meal, relative to the same person not protected by IRS. Parameterisations should take into account that mosquitoes do not always bite indoors.

Killing proportion is this factor multiplied by survival of effect.

Attributes

Input parameter value

value=double

A double-precision floating-point value.

Recruitment only

scenariointerventionshumancomponentrecruitmentOnly

<recruitmentOnly/>

Documentation (element)

Recruitment of a host into a sub-population.

All human-targeting intervention deployments recruit simulated humans into a sub-population which can be used for the purposes of cumulative deployment, deployment only to a sub-population and defining a cohort. This pseudo-intervention can be used to define a sub-population without also deploying some intervention.

Clear Immunity

scenariointerventionshumancomponentclearImmunity

<clearImmunity/>

Documentation (element)

Removes all exposure-related immunitsy gained over time by hosts without removing infections (or affecting the ability to gain immunity through exposure).

Hypothetical, but potentially useful to simulate scenarios with unprotected humans.

subPopRemoval

scenariointerventionshumancomponentsubPopRemoval

<subPopRemoval
  [ onFirstBout=boolean ] DEFAULT VALUE false
  [ onFirstTreatment=boolean ] DEFAULT VALUE false
  [ onFirstInfection=boolean ] DEFAULT VALUE false
  [ afterYears=double ]
  />

Documentation (type)

Each human intervention component corresponds to a sub-population: those who have received or are considered to be protected by the intervention component. Humans automatically become members of this sub-population when receiving an intervention component; this element controls how humans are removed from the sub-population.

ITN attrition also removes humans from sub-populations.

Note that sub-populations do not directly correspond to an intervention's effects: lack of effectiveness does not imply removal from the sub-population (except as explicitly configured here) and removal from the sub-population does not halt an intervention's effects.

Sub-populations may be used to define a cohort, to restrict deployment of other interventions and to use cumulative deployment mode. A sub- population may or may not correspond (roughly) to humans protected by some intervention.

Attributes

Time to first episode only

onFirstBout=boolean

Default value: false

If true, remove individuals from the sub-population at the start of the first episode (start of a clinical bout) since they were recruited into the sub-population. This is intended for cohort studies which measure time to the first episode, using active case detection. Reports delayed due to health-system memory are forced out when this occurs. Note that this can increase the number of uncomplicated cases reported across the entire population; for this reason reports are not forced on recruitment or most removal options. This does not prevent re-recruitment in the case that recruitment settings could conceivably recruit the same individual twice.

Time to first treatment only

onFirstTreatment=boolean

Default value: false

If true, remove individuals from the sub-population when they first seektreatment since they were recruited into the sub-population. This is intended for cohort studies which measure the time to first episode, using passive case detection. Reports delayed due to health-system memory are forced out when this occurs. Note that this can increase the number of uncomplicated cases reported across the entire population; for this reason reports are not forced on recruitment or most removal options. This does not prevent re-recruitment in the case that recruitment settings could conceivably recruit the same individual twice.

Time to first infection only

onFirstInfection=boolean

Default value: false

If true, remove individuals from the sub-population at completion of the first survey in which they present with a patent infection since they were recruited into the sub-population. This intended for cohort studies which measure time to the first infection, using active case detection. Reports delayed due to health-system memory are forced out when this occurs. Note that this can increase the number of uncomplicated cases reported across the entire population; for this reason reports are not forced on recruitment or most removal options. This does not prevent re-recruitment in the case that recruitment settings could conceivably recruit the same individual twice.

Remove from sub-population after

afterYears=double

Units: Years Min: 0

If given, membership to the sub-population of humans who have received this intervention component expires after the given number of years. Note that future deployments renew membership (e.g. if this parameter is 4 years and the intervention is redeployed 3 years from now, expiry happens after 7 years). This provides a crude way of modelling a cohort protected by some intervention. A few interventions provide more detailed ways of modelling expiry of protection. In any case, "expiry of protection" is an abstract concept and does not imply that all protection has ceased, even in the simulator. This may also be useful for cumulative deployment. Minimum duration is zero, which implies the human is effectively never a member of the sub-population; a duration of one timestep implies the human is a member of the sub-population while any futher interventions are deployed on the same time as this human becomes a member and on the next update of the human (including transmission and health system events) but not beyond that. If this attribute is not given, the simulated human is a member until death or some other option triggers removal.

Deployment

scenariointerventionshumandeployment

<deployment
  [ name=string ]
  >
IN THIS ORDER:
| ( <component ... /> )+
| ( <continuous ... /> )*
| ( <timed ... /> )*
</deployment>

Documentation (element)

This element describes deployment of an intervention: which components are deployed, how humans are selected for deployment (via timed or age-based deployment) as well as a few additional restrictions (e.g. vaccine dosing restrictions).

All components deployed by this intervention are deployed to the same people (each timed or continuous deployment selects recipients and then gives each recipient all components of the intervention).

Attributes

Intervention name

name=string

Name of intervention

component

scenariointerventionshumandeploymentcomponent

<component
    id=string
  />

Documentation (type)

The list of components deployed to eligible humans.

Attributes

Identifier

id=string

The identifier (short name) of a component.

Age-based (continuous) deployment

scenariointerventionshumandeploymentcontinuous

<continuous>
IN THIS ORDER:
| [ <restrictToSubPop ... /> ]
| ( <deploy ... /> )+
</continuous>

Documentation (element)

List of ages at which deployment takes place (through EPI, post-natal and school-based programmes, etc.).

A sub-population restriction may be added as a property of the list of continuous deployments.

restrictToSubPop

scenariointerventionshumandeploymentcontinuousrestrictToSubPop

<restrictToSubPop
    id=string
  [ complement=boolean ] DEFAULT VALUE false
  />

Documentation (type)

If this element is specified, deployment is restricted to some sub-population (specified via the "id" attribute); otherwise the target population is the entire simulated population. Either way, other deployment restrictions (age, time, number of vaccine doeses) still apply.

Attributes

Sub-population identifier

id=string

The identifier (short name) of the sub-population (i.e. the "id" of some intervention component). Also see the "complement" attribute.

Complement

complement=boolean

Default value: false

If this is not specified or is false, deployment is restricted to the sub-population of people protected by the intervention component who's id is given. If complement is set to true, deployment is instead restricted to the complement of that sub-population, i.e. to those

deploy

scenariointerventionshumandeploymentcontinuousdeploy

<deploy
    coverage=double
  [ vaccMinPrevDoses=int ]
  [ vaccMaxCumDoses=int ]
    targetAgeYrs=double
  [ begin=int ] DEFAULT VALUE 0
  [ end=int ] DEFAULT VALUE 2147483647
  />

Attributes

Coverage

coverage=double

Units: dimensionless Min: 0 Max: 1

Proportion of otherwise eligible individuals who will receive this deployment.

Vaccine min previous doses

vaccMinPrevDoses=int

Units: inoculations Min: 0

Applies to vaccines only: vaccine doses are only deployed by this deployment if the previous number of doses (for the component deployed) is at least this number. For example, if this is the second deployment opportunity for this vaccine and this value is 1, then this deployment cannot deploy the vaccine to individuals who did not receive the first deployment.

Vaccine max cumulative doses

vaccMaxCumDoses=int

Units: inoculations Min: 0

Applies to vaccines only: vaccine doses are only deployed by this deployment if the previous number of doses (for the component deployed) is less than this number.

Target age

targetAgeYrs=double

Units: Years Min: 0 Max: 100

Target age of intervention

First timestep active

begin=int

Units: Timesteps Min: 0 Max: 2147483647

Default value: 0

First timestep (from 0 at the beginning of the intervention period) this item is active. Defaults to 0.

End timestep

end=int

Units: Timesteps Min: 0 Max: 2147483647

Default value: 2147483647

End of the period during which the intervention is active (to be exact, the first timestep of the intervention period at which the item becomes inactive). Defaults to 2147483647.

Mass (timed) deployment

scenariointerventionshumandeploymenttimed

<timed>
IN THIS ORDER:
| [ <restrictToSubPop ... /> ]
| [ <cumulativeCoverage ... /> ]
| ( <deploy ... /> )+
</timed>

Documentation (element)

List of timed deployments of the intervention (that is, of deployment campaigns).

Cumulative deployment mode can be specified for all deployments in a timed list. To allow multiple cumulative deployment descriptions, the entire timed list may be repeated.

restrictToSubPop

scenariointerventionshumandeploymenttimedrestrictToSubPop

<restrictToSubPop
    id=string
  [ complement=boolean ] DEFAULT VALUE false
  />

Documentation (type)

If this element is specified, deployment is restricted to some sub-population (specified via the "id" attribute); otherwise the target population is the entire simulated population. Either way, other deployment restrictions (age, time, number of vaccine doeses) still apply.

Attributes

Sub-population identifier

id=string

The identifier (short name) of the sub-population (i.e. the "id" of some intervention component). Also see the "complement" attribute.

Complement

complement=boolean

Default value: false

If this is not specified or is false, deployment is restricted to the sub-population of people protected by the intervention component who's id is given. If complement is set to true, deployment is instead restricted to the complement of that sub-population, i.e. to those

Cumulative coverage

scenariointerventionshumandeploymenttimedcumulativeCoverage

<cumulativeCoverage
    component=string
  />

Documentation (element)

If this element is not specified, standard deployment occurs, where a portion of the population as given by the coverage property of this campaign is selected, and interventions are deployed to all of these people (regardless of previous coverage).

If this attribute is specified, instead, the population is divided into two sets: those who are a member of a certain sub-population and those who are not (see "subPopRemoval" element). If the proportion of people in the first set is less than the desired coverage, then the proportion of people from the second set needed to increase total coverage to the desired coverage is calculated. This proportion is then used as the probablity of selection from the second set into a third set of people who then receive all interventions deployed by this campaign.

Note that selection is stochastic so the final coverage level may not be exactly that desired. Note also that the component used when selecting people need not actually be one of the components deployed by this intervention, although that is the intended use case.

Attributes

Component identifier

component=string

The identifier (short name) of the component used when selecting people.

deploy

scenariointerventionshumandeploymenttimeddeploy

<deploy
    coverage=double
  [ vaccMinPrevDoses=int ]
  [ vaccMaxCumDoses=int ]
    time=int
  [ maxAge=double ]
  [ minAge=double ] DEFAULT VALUE 0
  />

Attributes

Coverage

coverage=double

Units: dimensionless Min: 0 Max: 1

Proportion of otherwise eligible individuals who will receive this deployment.

Vaccine min previous doses

vaccMinPrevDoses=int

Units: inoculations Min: 0

Applies to vaccines only: vaccine doses are only deployed by this deployment if the previous number of doses (for the component deployed) is at least this number. For example, if this is the second deployment opportunity for this vaccine and this value is 1, then this deployment cannot deploy the vaccine to individuals who did not receive the first deployment.

Vaccine max cumulative doses

vaccMaxCumDoses=int

Units: inoculations Min: 0

Applies to vaccines only: vaccine doses are only deployed by this deployment if the previous number of doses (for the component deployed) is less than this number.

Time

time=int

Units: time-steps Min: 0

Time-step at which this intervention occurs, starting from 0, the first intervention-period time-step.

Maximum age of eligible individuals

maxAge=double

Units: Years Min: 0

Maximum age of eligible individuals (defaults to no limit)

Minimum age of eligible individuals

minAge=double

Units: Years Min: 0

Default value: 0

Minimum age of eligible individuals (defaults to 0)

Health system description

scenariohealthSystem

<healthSystem>
IN THIS ORDER:
| EXACTLY ONE OF:
| |   <EventScheduler ... /> 
| |   <ImmediateOutcomes ... /> 
|   <CFR ... /> 
|   <pSequelaeInpatient ... /> 
</healthSystem>

Documentation (element)

Description of health system.

Documentation (type)

Description of case management system, used to specify the initial model or a replacement (an intervention). Encompasses case management data and some other data required to derive case outcomes.

Contains a sub-element describing the particular health-system in use. Health system data is here defined as data used to decide on a treatment strategy, given a case requiring treatment.

Transmission and vector bionomics

scenarioentomology

<entomology
    name=string
    mode=("forced" or "dynamic")
  [ scaledAnnualEIR=double ]
  >
IN THIS ORDER:
| EXACTLY ONE OF:
| |   <nonVector ... /> 
| |   <vector ... /> 
</entomology>

Documentation (element)

Description of entomological data

Attributes

Entomology dataset name

name=string

Name of entomology data

Transmission model mode

mode=("forced" or "dynamic")

Transmission simulation mode: may be forced (in which case interventions and changes to human infectiousness cannot affect EIR) or dynamic (in which the above can affect EIR). The full vector model is only used in dynamic mode. This can not be changed by interventions, except for the changeEIR intervention for the non-vector model which replaces the EIR with a new description (used in forced mode).

Override annual EIR

scaledAnnualEIR=double

Units: Infectious bites per adult per year

If set, the annual EIR (for all species of vector) is scaled to this level; can be omitted if not needed.

Transmission setting (vector control not enabled)

scenarioentomologynonVector

<nonVector
    eipDuration=int
  >
IN THIS ORDER:
| ( <EIRDaily ... /> )+
</nonVector>

Documentation (element)

Description of transmission setting for models without vector control interventions (included for backward compatibility)

Attributes

Duration of sporogony

eipDuration=int

Units: Days

The duration of sporogony in days

Transmission setting (vector control enabled)

scenarioentomologyvector

<vector>
IN THIS ORDER:
| ( <anopheles ... /> )+
| ( <nonHumanHosts ... /> )*
</vector>

Documentation (element)

Parameters of the transmission model

anopheles

scenarioentomologyvectoranopheles

<anopheles
    mosquito=string
    propInfected=double
    propInfectious=double
  >
IN THIS ORDER:
|   <seasonality ... /> 
|   <mosq ... /> 
| [ <lifeCycle ... /> ]
| [ <simpleMPD ... /> ]
| ( <nonHumanHosts ... /> )*
</anopheles>

Documentation (type)

Description of input EIR for one specific vector species in terms of a Fourier approximation to the ln of the EIR during the burn in period

Attributes

Identifier for this anopheles species

mosquito=string

Identifier for this anopheles species

Initial estimate of proportion of mosquitoes infected (ρ_O)

propInfected=double

Units: Proportion Min: 0 Max: 1

Initial guess of the proportion of mosquitoes which are infected, o: O_v(t) = o*N_v(t). Only used as a starting value.

Initial estimate of proportion of mosquitoes infectious (ρ_S)

propInfectious=double

Units: Proportion Min: 0 Max: 1

Initial estimate of the proportion of mosquitoes which are infectious, s: S_v(t) = s*N_v(t). Used as a starting value and then fit.

Seasonality of transmission

scenarioentomologyvectoranophelesseasonality

<seasonality
    input=("EIR")
  [ annualEIR=double ]
  >
IN THIS ORDER:
| EXACTLY ONE OF:
| |   <fourierSeries ... /> 
| |   <monthlyValues ... /> 
| |   <dailyValues ... /> 
</seasonality>

Documentation (element)

Specifies the seasonality of transmission and optionally the level of annual transmission.

Attributes

Seasonality input

input=("EIR")

Specify what seasonality measure is given. At the moment, only EIR is supported, but in the future, all the below should be supported. EIR: seasonality of entomological inoculations is input. Units: entomological inoculations per adult per annum. hostSeeking: seasonality of densities of flying host-seeking mosquitoes is input (in the model this is notated N_v). Units: mosquitoes. emergence: seasonality of emergence pupa into adults. Units: mosquitoes. larvalResources: seasonality of larval resources. Units: X.

Annual EIR

annualEIR=double

Units: Inoculations per adult per annum Min: 0

If this attribute is included, EIR for this species is scaled to this level. Note that if the scaledAnnualEIR attribute of the entomology element is also used, EIR is scaled again, making this attribute the EIR relative to other species. With some seasonality inputs, this attribute is optional, in which case (if scaledAnnualEIR is also not specified) transmission depends on all parameters of the vector. With some seasonality inputs, however, this parameter must be specified.

Fourier approximation to pre-intervention EIR

scenarioentomologyvectoranophelesseasonalityfourierSeries

<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

scenarioentomologyvectoranophelesseasonalityfourierSeriescoeffic

<coeffic
    a=double
    b=double
  />

Documentation (element)

A pair of Fourier series coefficients. The first element specifies a1 and b1, the second a2 and b2, etc. Any number (from 0 up) of pairs may be given.

Attributes

a_n parameter of Fourier approximation to ln(EIR)

a=double

a_n parameter of Fourier approximation to ln(EIR) for some natural number n.

b_n parameter of Fourier approximation to ln(EIR)

b=double

b_n parameter of Fourier approximation to ln(EIR) for some natural number n.

List of monthly values

scenarioentomologyvectoranophelesseasonalitymonthlyValues

<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:

  1. none: no smoothing (step function)
  2. 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

scenarioentomologyvectoranophelesseasonalitymonthlyValuesvalue

<value>
    double
</value>

Documentation (element)

Units: (see "seasonality input" parameter)

Monthly value

List of daily values

scenarioentomologyvectoranophelesseasonalitydailyValues

<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

scenarioentomologyvectoranophelesseasonalitydailyValuesvalue

<value>
    double
</value>

Documentation (element)

Units: (see "seasonality input" parameter)

Daily value

Mosquito feeding cycle parameters

scenarioentomologyvectoranophelesmosq

<mosq
    minInfectedThreshold=double
  >
IN ANY ORDER:
|   <mosqRestDuration ... /> 
|   <extrinsicIncubationPeriod ... /> 
|   <mosqLaidEggsSameDayProportion ... /> 
|   <mosqSeekingDuration ... /> 
|   <mosqSurvivalFeedingCycleProbability ... /> 
|   <availabilityVariance ... /> 
|   <mosqProbBiting ... /> 
|   <mosqProbFindRestSite ... /> 
|   <mosqProbResting ... /> 
|   <mosqProbOvipositing ... /> 
|   <mosqHumanBloodIndex ... /> 
</mosq>

Documentation (element)

Parameters describing the feeding cycle and human mosquito interaction of a single species of anopheles mosquito.

Attributes

Mininum infected threshold for mosquitos

minInfectedThreshold=double

Min: 0

If less than this many mosquitoes remain infected, transmission is interrupted.

Duration of the resting period of the vector

scenarioentomologyvectoranophelesmosqmosqRestDuration

<mosqRestDuration
    value=int
  />

Documentation (element)

Units: Days

name:Duration of the resting period of the vector (days);

Attributes

Input parameter value

value=int

An integer value.

Extrinsic incubation period

scenarioentomologyvectoranophelesmosqextrinsicIncubationPeriod

<extrinsicIncubationPeriod
    value=int
  />

Documentation (element)

Units: Days

name:Extrinsic incubation period (days)

Attributes

Input parameter value

value=int

An integer value.

Proportion of mosquitoes host seeking on same day as ovipositing

scenarioentomologyvectoranophelesmosqmosqLaidEggsSameDayProportion

<mosqLaidEggsSameDayProportion
    value=double
  />

Documentation (element)

Units: Proportion

Proportion of mosquitoes host seeking on same day as ovipositing

Attributes

Input parameter value

value=double

A double-precision floating-point value.

Duration of the host-seeking period of the vector

scenarioentomologyvectoranophelesmosqmosqSeekingDuration

<mosqSeekingDuration
    value=double
  />

Documentation (element)

Units: Days

Duration of the host-seeking period of the vector (days)

Attributes

Input parameter value

value=double

A double-precision floating-point value.

Probability that the mosquito survives the feeding cycle

scenarioentomologyvectoranophelesmosqmosqSurvivalFeedingCycleProbability

<mosqSurvivalFeedingCycleProbability
    value=double
  />

Documentation (element)

Units: Proportion

Probability that the mosquito survives the feeding cycle

Attributes

Input parameter value

value=double

A double-precision floating-point value.

Variance in human availability rate

scenarioentomologyvectoranophelesmosqavailabilityVariance

<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

scenarioentomologyvectoranophelesmosqmosqProbBiting

<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

scenarioentomologyvectoranophelesmosqmosqProbFindRestSite

<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

scenarioentomologyvectoranophelesmosqmosqProbResting

<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

scenarioentomologyvectoranophelesmosqmosqProbOvipositing

<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

scenarioentomologyvectoranophelesmosqmosqHumanBloodIndex

<mosqHumanBloodIndex
    value=double
  />

Documentation (element)

Units: Proportion

The proportion of resting mosquitoes which fed on human blood during the last feed.

Attributes

Input parameter value

value=double

A double-precision floating-point value.

Mosquito life cycle parameters

scenarioentomologyvectoranopheleslifeCycle

<lifeCycle
  [ estimatedLarvalResources=double ] DEFAULT VALUE 1e8
  >
IN ANY ORDER:
|   <eggStage ... /> 
|   <larvalStage ... /> 
|   <pupalStage ... /> 
|   <femaleEggsLaidByOviposit ... /> 
</lifeCycle>

Documentation (element)

Parameters describing the life-cycle of this species of mosquito

Attributes

Estimate of larval resources

estimatedLarvalResources=double

Units: X

Default value: 1e8

An estimate of mean annual availability of resources to larvae. Used to get the resource usage fitting algorithm going; if the algorithm fails to fit the resource availability then tweaking this parameter may help. In other cases tweaking this parameter shouldn't be necessary. Default value is 10⁸ (1e8). Units are arbitrary but must be the same as those used by the resourceUsage parameter.

Egg stage

scenarioentomologyvectoranopheleslifeCycleeggStage

<eggStage
    duration=int
    survival=double
  />

Documentation (element)

Parameters for the egg stage of development

Documentation (type)

Parameters associated with a mosquito development stage.

Attributes

Duration

duration=int

Units: Days

Duration of the stage (i.e. length of time mosquito is an egg/larva/pupa).

Probability of survival

survival=double

Units: Proportion

Probability that mosquito survives this size (probability of egg hatching, a larva becoming a pupa or a pupa emerging as an adult, at the start of that stage).

larvalStage

scenarioentomologyvectoranopheleslifeCyclelarvalStage

<larvalStage>
</larvalStage>

Documentation (type)

Parameters for the larval stage of development

Documentation (base type)

Parameters associated with a mosquito development stage.

Daily development

scenarioentomologyvectoranopheleslifeCyclelarvalStagedaily

<daily
    resourceUsage=double
    effectCompetition=double
  />

Documentation (element)

List of parameters which apply during the larval stage of development. List length must equal stage duration, with first item corresponding to first 24 hours after hatching, second item to hours 24-48, and so on.

Attributes

Resource usage

resourceUsage=double

Units: X

Resource usage during larval stage of development. Units are arbitrary.

Effect of competition

effectCompetition=double

Units: none

Effect of competition over resources on development.

Pupal stage

scenarioentomologyvectoranopheleslifeCyclepupalStage

<pupalStage
    duration=int
    survival=double
  />

Documentation (element)

Parameters for the pupal stage of development

Documentation (type)

Parameters associated with a mosquito development stage.

Attributes

Duration

duration=int

Units: Days

Duration of the stage (i.e. length of time mosquito is an egg/larva/pupa).

Probability of survival

survival=double

Units: Proportion

Probability that mosquito survives this size (probability of egg hatching, a larva becoming a pupa or a pupa emerging as an adult, at the start of that stage).

Eggs laid by ovipositing mosquito

scenarioentomologyvectoranopheleslifeCyclefemaleEggsLaidByOviposit

<femaleEggsLaidByOviposit
    value=double
  />

Documentation (element)

Units: Eggs per feeding cycle

The total number of female eggs laid by a female mosquito at the conclusion to a feeding cycle.

Attributes

Input parameter value

value=double

A double-precision floating-point value.

Simple Mosq-Pop-Dynamics parameters

scenarioentomologyvectoranophelessimpleMPD

<simpleMPD>
IN ANY ORDER:
|   <developmentDuration ... /> 
|   <developmentSurvival ... /> 
|   <femaleEggsLaidByOviposit ... /> 
</simpleMPD>

Documentation (element)

Parameters describing the simple mosquito population dynamics model.

This is a simpler version of the life-cycle model, requiring less parameters and with much simpler initialisation.

Duration

scenarioentomologyvectoranophelessimpleMPDdevelopmentDuration

<developmentDuration
    value=int
  />

Documentation (element)

Units: Days Min: 1

Duration from egg laying to emergence in days.

Attributes

Input parameter value

value=int

An integer value.

Probability of survival

scenarioentomologyvectoranophelessimpleMPDdevelopmentSurvival

<developmentSurvival
    value=double
  />

Documentation (element)

Units: Proportion Min: 0 Max: 1

Probability that mosquito survives from the egg being laid to emergence, given no resouce limitations (no density constraints).

Attributes

Input parameter value

value=double

A double-precision floating-point value.

Eggs laid by ovipositing mosquito

scenarioentomologyvectoranophelessimpleMPDfemaleEggsLaidByOviposit

<femaleEggsLaidByOviposit
    value=double
  />

Documentation (element)

Units: Eggs per feeding cycle

The total number of female eggs laid by a female mosquito at the conclusion to a feeding cycle.

Attributes

Input parameter value

value=double

A double-precision floating-point value.

Alternative (non-human) host paramters

scenarioentomologyvectoranophelesnonHumanHosts

<nonHumanHosts
    name=string
  >
IN ANY ORDER:
|   <mosqRelativeEntoAvailability ... /> 
|   <mosqProbBiting ... /> 
|   <mosqProbFindRestSite ... /> 
|   <mosqProbResting ... /> 
</nonHumanHosts>

Documentation (element)

Min: 0

Non human host parameters, per type of host (must match up with non-species-specific parameters).

Attributes

Identifier for this category of non-human hosts

name=string

Identifier for this category of non-human hosts

Relative availability of non-human host (ξ_i)

scenarioentomologyvectoranophelesnonHumanHostsmosqRelativeEntoAvailability

<mosqRelativeEntoAvailability
    value=double
  />

Documentation (element)

Units: Proportion

Relative availability of non-human hosts of type i to other non-human hosts; the sum of this across all non-human hosts must be 1.

Attributes

Input parameter value

value=double

A double-precision floating-point value.

Probability of mosquito successfully biting host

scenarioentomologyvectoranophelesnonHumanHostsmosqProbBiting

<mosqProbBiting
    value=double
  />

Documentation (element)

Units: Proportion

Probability of mosquito successfully biting host

Attributes

Input parameter value

value=double

A double-precision floating-point value.

Probability that the mosquito escapes host and finds a resting place after biting

scenarioentomologyvectoranophelesnonHumanHostsmosqProbFindRestSite

<mosqProbFindRestSite
    value=double
  />

Documentation (element)

Units: Proportion

Probability that the mosquito escapes host and finds a resting place after biting

Attributes

Input parameter value

value=double

A double-precision floating-point value.

Probability of mosquito successfully resting after finding a resting site

scenarioentomologyvectoranophelesnonHumanHostsmosqProbResting

<mosqProbResting
    value=double
  />

Documentation (element)

Units: Proportion

Probability of mosquito successfully resting after finding a resting site

Attributes

Input parameter value

value=double

A double-precision floating-point value.

nonHumanHosts

scenarioentomologyvectornonHumanHosts

<nonHumanHosts
    name=string
    number=double
  />

Attributes

Species of alternative host

name=string

Name of this species of non human hosts (must match up with those described per anopheles section).

Population size of alternative host species

number=double

Units: Number

Population size of this non-human host.

Pharmacokinetics and pharmacodynamics

scenariopharmacology

<pharmacology>
IN THIS ORDER:
| ( <drug ... /> )+
</pharmacology>

Documentation (element)

Drug model parameters

Library of drug parameters

scenariopharmacologydrug

<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

scenariopharmacologydrugPD

<PD>
IN THIS ORDER:
| ( <allele ... /> )+
</PD>

PD parameters per allele

scenariopharmacologydrugPDallele

<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

scenariopharmacologydrugPDalleleinitial_frequency

<initial_frequency>
    double
</initial_frequency>

Documentation (element)

Units: dimensionless Min: 0

Frequency, relative to the total frequency of all alleles for this drug/locus.

Maximal parasite killing rate

scenariopharmacologydrugPDallelemax_killing_rate

<max_killing_rate>
    double
</max_killing_rate>

Documentation (element)

Units: 1/days Min: 0

k1 — Maximal parasite killing rate.

IC50

scenariopharmacologydrugPDalleleIC50

<IC50>
    double
</IC50>

Documentation (element)

Units: mg/l Min: 0

Half maximal effect concentration.

Slope of effect curve

scenariopharmacologydrugPDalleleslope

<slope>
    double
</slope>

Documentation (element)

n — Slope of the concentration effect curve

PK

scenariopharmacologydrugPK

<PK>
IN THIS ORDER:
|   <negligible_concentration ... /> 
|   <half_life ... /> 
|   <vol_dist ... /> 
</PK>

Drug concentration considered negligible

scenariopharmacologydrugPKnegligible_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

scenariopharmacologydrugPKhalf_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

scenariopharmacologydrugPKvol_dist

<vol_dist>
    double
</vol_dist>

Documentation (element)

Units: l/kg Min: 0

Volume of Distribution

Model options and parameters

scenariomodel

<model>
IN ANY ORDER:
|   <ModelOptions ... /> 
|   <clinical ... /> 
|   <human ... /> 
| [ <vivax ... /> ]
|   <parameters ... /> 
</model>

Documentation (element)

Encapsulation of all parameters which describe the model according to which fitting is done.

Model Options

scenariomodelModelOptions

<ModelOptions>
IN THIS ORDER:
| ( <option ... /> )*
</ModelOptions>

Documentation (element)

All model options (bug fixes, choices between models, etc.).
The list of recognised options can be found in the code at: include/util/ModelOptions.h and should also be in the wiki.

clinical

scenariomodelclinical

<clinical
    healthSystemMemory=int
  >
IN THIS ORDER:
| [ <NonMalariaFevers ... /> ]
</clinical>

Documentation (type)

Description of clinical parameters that are related to the health-system description, but which contain data that cannot be changed as part of an intervention and that are not restricted to treatment.

Attributes

Follow-up period during which recurrence is treated as a failure

healthSystemMemory=int

Units: Time steps Min: 1 Max: 100

Follow-up period during which a recurrence is considered to be a treatment failure

NonMalariaFevers

scenariomodelclinicalNonMalariaFevers

<NonMalariaFevers>
IN THIS ORDER:
|   <incidence ... /> 
| [ <prNeedTreatmentNMF ... /> ]
| [ <prNeedTreatmentMF ... /> ]
</NonMalariaFevers>

Documentation (type)

Description of the incidence of non-malaria fever. Non-malaria fevers are only modelled if the NON_MALARIA_FEVERS option is used.

P(NMF)

scenariomodelclinicalNonMalariaFeversincidence

<incidence
  [ interpolation=("none" or "linear") ]
  >
IN THIS ORDER:
| ( <group ... /> )+
</incidence>

Documentation (element)

Units: Dimensionless Min: 0.0 Max: 1.0

Probability that a non-malaria fever occurs given that no concurrent malaria fever occurs.

Attributes

interpolation

interpolation=("none" or "linear")

Interpolation algorithm. Normally it is desirable for age-based values to be continuous w.r.t. age. By default linear interpolation is used. With all algorithms except "none", the age groups are converted to a set of points centred within each age range. Extra points are added at each end (zero and infinity) to keep value constant at both ends of the function. A zero-length age group may be used as a kind of barrier to adjust the distribution; e.g. with age group boundaries at 15, 20 and 25 years, a (linear) spline would be drawn between ages 17.5 and 22.5, whereas with boundaries at 15, 20 and 20 years, a spline would be drawn between ages 17.5 and 20 years (may be desired if individuals are assumed to reach adult size at 20). Algorithms:

  1. none: input values are used directly
  2. linear: straight lines (on an age vs. value graph) are used to interpolate data points.

P(need treatment | NMF)

scenariomodelclinicalNonMalariaFeversprNeedTreatmentNMF

<prNeedTreatmentNMF
  [ interpolation=("none" or "linear") ]
  >
IN THIS ORDER:
| ( <group ... /> )+
</prNeedTreatmentNMF>

Documentation (element)

Units: Dimensionless Min: 0 Max: 1

Probability that a non-malarial fever requires treatment with antibiotics (assuming fever is not induced by malaria, although concurrent parasites may be present).

Attributes

interpolation

interpolation=("none" or "linear")

Interpolation algorithm. Normally it is desirable for age-based values to be continuous w.r.t. age. By default linear interpolation is used. With all algorithms except "none", the age groups are converted to a set of points centred within each age range. Extra points are added at each end (zero and infinity) to keep value constant at both ends of the function. A zero-length age group may be used as a kind of barrier to adjust the distribution; e.g. with age group boundaries at 15, 20 and 25 years, a (linear) spline would be drawn between ages 17.5 and 22.5, whereas with boundaries at 15, 20 and 20 years, a spline would be drawn between ages 17.5 and 20 years (may be desired if individuals are assumed to reach adult size at 20). Algorithms:

  1. none: input values are used directly
  2. linear: straight lines (on an age vs. value graph) are used to interpolate data points.

P(need treatment | MF)

scenariomodelclinicalNonMalariaFeversprNeedTreatmentMF

<prNeedTreatmentMF
  [ interpolation=("none" or "linear") ]
  >
IN THIS ORDER:
| ( <group ... /> )+
</prNeedTreatmentMF>

Documentation (element)

Units: Dimensionless Min: 0 Max: 1

Probability that a malaria fever needs treatment with antibiotics (assuming fever is induced by malaria, although concurrent bacteria may be present).

Meaning partially overlaps with separate model for comorbidity given malaria.

Attributes

interpolation

interpolation=("none" or "linear")

Interpolation algorithm. Normally it is desirable for age-based values to be continuous w.r.t. age. By default linear interpolation is used. With all algorithms except "none", the age groups are converted to a set of points centred within each age range. Extra points are added at each end (zero and infinity) to keep value constant at both ends of the function. A zero-length age group may be used as a kind of barrier to adjust the distribution; e.g. with age group boundaries at 15, 20 and 25 years, a (linear) spline would be drawn between ages 17.5 and 22.5, whereas with boundaries at 15, 20 and 20 years, a spline would be drawn between ages 17.5 and 20 years (may be desired if individuals are assumed to reach adult size at 20). Algorithms:

  1. none: input values are used directly
  2. linear: straight lines (on an age vs. value graph) are used to interpolate data points.

human

scenariomodelhuman

<human>
IN THIS ORDER:
|   <availabilityToMosquitoes ... /> 
| [ <weight ... /> ]
</human>

Documentation (type)

Parameters of host models.

Availability to mosquitoes

scenariomodelhumanavailabilityToMosquitoes

<availabilityToMosquitoes
  [ interpolation=("none" or "linear") ]
  >
IN THIS ORDER:
| ( <group ... /> )+
</availabilityToMosquitoes>

Documentation (element)

Units: None Min: 0 Max: 1

Availability of humans to mosquitoes relative to an adult, categorized by age group

Attributes

interpolation

interpolation=("none" or "linear")

Interpolation algorithm. Normally it is desirable for age-based values to be continuous w.r.t. age. By default linear interpolation is used. With all algorithms except "none", the age groups are converted to a set of points centred within each age range. Extra points are added at each end (zero and infinity) to keep value constant at both ends of the function. A zero-length age group may be used as a kind of barrier to adjust the distribution; e.g. with age group boundaries at 15, 20 and 25 years, a (linear) spline would be drawn between ages 17.5 and 22.5, whereas with boundaries at 15, 20 and 20 years, a spline would be drawn between ages 17.5 and 20 years (may be desired if individuals are assumed to reach adult size at 20). Algorithms:

  1. none: input values are used directly
  2. linear: straight lines (on an age vs. value graph) are used to interpolate data points.

Weight

scenariomodelhumanweight

<weight
  [ interpolation=("none" or "linear") ]
    multStdDev=double
  >
IN THIS ORDER:
| ( <group ... /> )+
</weight>

Documentation (element)

Units: kg Min: 0

By age group data on human weight (mass).

Attributes

interpolation

interpolation=("none" or "linear")

Interpolation algorithm. Normally it is desirable for age-based values to be continuous w.r.t. age. By default linear interpolation is used. With all algorithms except "none", the age groups are converted to a set of points centred within each age range. Extra points are added at each end (zero and infinity) to keep value constant at both ends of the function. A zero-length age group may be used as a kind of barrier to adjust the distribution; e.g. with age group boundaries at 15, 20 and 25 years, a (linear) spline would be drawn between ages 17.5 and 22.5, whereas with boundaries at 15, 20 and 20 years, a spline would be drawn between ages 17.5 and 20 years (may be desired if individuals are assumed to reach adult size at 20). Algorithms:

  1. none: input values are used directly
  2. linear: straight lines (on an age vs. value graph) are used to interpolate data points.

Standard deviation

multStdDev=double

Units: None Min: 0

Each human is assigned a weight multiplier from a normal distribution with mean 1 and this standard deviation at birth. His/her weight is this multiplier times the mean from age distribution. A standard deviation of zero for no heterogeneity is valid; a rough value from Tanzanian data is 0.14.

vivax

scenariomodelvivax

<vivax>
IN ANY ORDER:
|   <probBloodStageInfectiousToMosq ... /> 
|   <numberHypnozoites ... /> 
|   <hypnozoiteReleaseDelayDays ... /> 
|   <bloodStageProtectionLatency ... /> 
|   <bloodStageLengthDays ... /> 
|   <pEventPrimary ... /> 
|   <pEventSecondary ... /> 
|   <pEventIsSevere ... /> 
</vivax>

probBloodStageInfectiousToMosq

scenariomodelvivaxprobBloodStageInfectiousToMosq

<probBloodStageInfectiousToMosq
    value=double
  />

Attributes

Input parameter value

value=double

A double-precision floating-point value.

numberHypnozoites

scenariomodelvivaxnumberHypnozoites

<numberHypnozoites
    max=int
    base=double
  />

Attributes

max

max=int

base

base=double

hypnozoiteReleaseDelayDays

scenariomodelvivaxhypnozoiteReleaseDelayDays

<hypnozoiteReleaseDelayDays
    min=double
    mu=double
    sigma=double
  />

Attributes

min

min=double

mu

mu=double

sigma

sigma=double

bloodStageProtectionLatency

scenariomodelvivaxbloodStageProtectionLatency

<bloodStageProtectionLatency
    value=double
  />

Attributes

Input parameter value

value=double

A double-precision floating-point value.

bloodStageLengthDays

scenariomodelvivaxbloodStageLengthDays

<bloodStageLengthDays
    weibullScale=double
    weibullShape=double
  />

Attributes

weibullScale

weibullScale=double

weibullShape

weibullShape=double

pEventPrimary

scenariomodelvivaxpEventPrimary

<pEventPrimary
    a=double
    b=double
  />

Attributes

a

a=double

b

b=double

pEventSecondary

scenariomodelvivaxpEventSecondary

<pEventSecondary
    a=double
    b=double
  />

Attributes

a

a=double

b

b=double

pEventIsSevere

scenariomodelvivaxpEventIsSevere

<pEventIsSevere
    value=double
  />

Attributes

Input parameter value

value=double

A double-precision floating-point value.

Parameters of the model of epidemiology

scenariomodelparameters

<parameters
    interval=int
    iseed=int
    latentp=int
  >
IN THIS ORDER:
| ( <parameter ... /> )+
</parameters>

Documentation (element)

Parameters of the epidemiological model

Attributes

Simulation step

interval=int

Units: Days

Simulation step

Random number seed

iseed=int

Units: Number

Seed for RNG

Pre-erythrocytic latent period

latentp=int

Units: Time steps Min: 0 Max: 20

pre-erythrocytic latent period, in time steps

parameter

scenariomodelparametersparameter

<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.