Schema 24 documentation

Generated from: scenario_24.xsd.

Key:

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

Scenario

scenario

<scenario
    schemaVersion=int
    analysisNo=int
    name=string
    wuID=int
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:noNamespaceSchemaLocation="scenario_24.xsd"
  >
IN THIS ORDER:
|   <demography ... /> 
|   <monitoring ... /> 
|   <interventions ... /> 
|   <healthSystem ... /> 
|   <entoData ... /> 
| [ <drugDescription ... /> ]
|   <model ... /> 
</scenario>

Documentation (element)

Units: List of elements

Description of scenario

Attributes

Version of the xml schema

schemaVersion=int

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

Reference number of the analysis

analysisNo=int

Units: Number Min: 1 Max: 100000000

Unique identifier of scenario

Name of intervention

name=string

Units: string

Name of intervention

Work unit identifier

wuID=int

Units: Number Min: 1 Max: 100000000

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

Human age distribution

scenariodemography

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

Documentation (element)

Units: List of elements

Description of demography

Attributes

Name of demography data

name=string

Units: string

Name of demography data

Population size

popSize=int

Units: Count Min: 1 Max: 100000

Population size

Maximum age of simulated humans

maximumAgeYrs=double

Units: years Min: 0 Max: 100

Maximum age of simulated humans in years.

Growth rate of human population

growthRate=double

Units: Number Min: 0 Max: 0

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

Age groups

scenariodemographyageGroup

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

Documentation (element)

Units: List of elements

List of age groups included in demography

Documentation (type)

Units: List of elements

List of age groups included in demography or surveys

Attributes

lower bound of age group

lowerbound=double

Units: Years Min: 0 Max: 100

Lower bound of age group

group

scenariodemographyageGroupgroup

<group
    poppercent=double
    upperbound=double
  />

Attributes

Percentage in age group

poppercent=double

Percentage of human population in age group

upper bound of age group

upperbound=double

Units: Years Min: 0 Max: 100

Upper bound of age group

Measures to be reported

scenariomonitoring

<monitoring
    name=string
  [ cohortOnly=boolean ]
  [ firstBoutOnly=boolean ]
  [ firstTreatmentOnly=boolean ]
  [ firstInfectionOnly=boolean ]
  >
IN THIS ORDER:
| [ <continuous ... /> ]
|   <SurveyOptions ... /> 
|   <surveys ... /> 
|   <ageGroup ... /> 
</monitoring>

Documentation (element)

Units: List of elements

Description of surveys

Attributes

Name of monitoring information

name=string

Units: string

Name of monitoring data

Survey only cohort

cohortOnly=boolean

If true, for many output measures, the output comes only from individuals in the cohort; otherwise output is from the entire population. Does not need to be specified if no cohort-selecting "interventions" are present.

Time to first episode only

firstBoutOnly=boolean

If true, remove individuals from the cohort at the start of the first episode (start of a clinical bout) since they were recruited into the cohort. This is intended for cohort studies that intend to measure time to first episode, using active case detection.

Time to first treatment only

firstTreatmentOnly=boolean

If true, remove individuals from the cohort when they first seek treatment since they were recruited into the cohort. This is intended for cohort studies that intend to measure time to first episode, using passive case detection.

Time to first infection only

firstInfectionOnly=boolean

If true, remove individuals from the cohort at completion of the first survey in which they present with a patent infection since they were recruited into the cohort. This intended for cohort studies that intend to measure time to first infection, using active case detection.

continuous

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

Attributes

Model options required

name=string

Options define different model structures. Option name. Must be one of a strictly defined set. Options are not required to be listed if their default value is desired.

Indicator of whether option is required

value=boolean

Option value (true/false). Each option has a default value used if the option is not listed (usually false but sometimes true).

Name of quantity

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/micolitre Min: 0 Max: 1000

Detection limit for parasitemia

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)

Units: List of elements

List of age groups included in demography or surveys

Documentation (type)

Units: List of elements

List of age groups included in surveys

Attributes

lower bound of age group

lowerbound=double

Units: Years Min: 0 Max: 100

Lower bound of age group

group

scenariomonitoringageGroupgroup

<group
    upperbound=double
  />

Attributes

upper bound of age group

upperbound=double

Units: Years Min: 0 Max: 100

Upper bound of age group

Preventative interventions

scenariointerventions

<interventions
    name=string
  >
IN THIS ORDER:
|   <descriptions ... /> 
| [ <continuous ... /> ]
| [ <timed ... /> ]
</interventions>

Documentation (element)

Units: List of elements

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

Attributes

Intervention

name=string

Units: string

Name of age specific intervention

descriptions

scenariointerventionsdescriptions

<descriptions>
IN THIS ORDER:
| [ <MDADescription ... /> ]
| ( <vaccineDescription ... /> ){0,3}
| [ <iptiDescription ... /> ]
| ( <anopheles ... /> )*
</descriptions>

Documentation (element)

Descriptions applying across all uses of an intervention.

Drug dose(s) used in MDA

scenariointerventionsdescriptionsMDADescription

<MDADescription>
IN THIS ORDER:
| [ <schedule ... /> ]
</MDADescription>

Documentation (element)

Units: List of medicate elements

Description of drug dose(s) used in a mass-drug-administration intervention.

When using the new (Event Scheduler) case management model, a treatment schedule must be present.

schedule

scenariointerventionsdescriptionsMDADescriptionschedule

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

Documentation (type)

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

medicate

scenariointerventionsdescriptionsMDADescriptionschedulemedicate

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

Attributes

drug

drug=string

Units: string

Abbreviated name of drug compound

drug dose

mg=double

Units: mg

Quantity of drug compound

time of administration

hour=double

Units: hours Min: 0

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

duration of administration

duration=double

Units: hours Min: 0

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

vaccineDescription

scenariointerventionsdescriptionsvaccineDescription

<vaccineDescription
    vaccineType=int
  >
IN THIS ORDER:
|   <halfLifeYrs ... /> 
|   <efficacyB ... /> 
| ( <initialEfficacy ... /> )+
</vaccineDescription>

Attributes

Type of vaccine

vaccineType=int

Units: Code

Type of vaccine

Half life of drug effect

scenariointerventionsdescriptionsvaccineDescriptionhalfLifeYrs

<halfLifeYrs
    value=double
  />

Documentation (element)

Units: Years Min: 0 Max: 100

Half life of drug effect

Attributes

Input parameter value

value=double

A double-precision floating-point value.

Variance parameter for vaccine efficacy

scenariointerventionsdescriptionsvaccineDescriptionefficacyB

<efficacyB
    value=double
  />

Documentation (element)

Units: Positive real Min: 0.001 Max: 1.00E+06

Measure of variation in vaccine efficacy

Attributes

Input parameter value

value=double

A double-precision floating-point value.

initialEfficacy

scenariointerventionsdescriptionsvaccineDescriptioninitialEfficacy

<initialEfficacy
    value=double
  />

Attributes

Input parameter value

value=double

A double-precision floating-point value.

iptiDescription

scenariointerventionsdescriptionsiptiDescription

<iptiDescription
    iptiEffect=int
  >
IN THIS ORDER:
| ( <infGenotype ... /> )+
</iptiDescription>

Attributes

iptiEffect

iptiEffect=int

infGenotype

scenariointerventionsdescriptionsiptiDescriptioninfGenotype

<infGenotype
    name=string
    freq=double
    ACR=double
    proph=int
    tolPeriod=int
    atten=double
  />

Attributes

Age specific intervention

name=string

Units: string

Name of age specific intervention

Frequency

freq=double

Frequency of parasite genotype

ACR

ACR=double

Adequate clinical response (proportion)

Prophylactic period

proph=int

Prophylactic period

Tolerance period

tolPeriod=int

Tolerance period

Tolerance period

atten=double

Tolerance period

anopheles

scenariointerventionsdescriptionsanopheles

<anopheles
    mosquito=string
  >
IN THIS ORDER:
| [ <ITNDescription ... /> ]
| [ <IRSDescription ... /> ]
| [ <VADescription ... /> ]
</anopheles>

Attributes

Entomological effects of interventions

mosquito=string

Description of the entomological effects of interventions

ITNDescription

scenariointerventionsdescriptionsanophelesITNDescription

<ITNDescription
    name=string
  >
IN THIS ORDER:
|   <deterrency ... /> 
|   <preprandialKillingEffect ... /> 
|   <postprandialKillingEffect ... /> 
</ITNDescription>

Attributes

ITN effects

name=string

Units: string

Name of Insecticide Treated Net intervention

Deterrency

scenariointerventionsdescriptionsanophelesITNDescriptiondeterrency

<deterrency
    initial=double
    halflife=double
  [ Weibullk=double ]
  />

Documentation (element)

Units: None Min: 0 Max: 1

One minus this multiplies the host's availability (before decay).

Documentation (type)

Specification of a proportion with Weibull or exponential decay.

Attributes

Initial proportion

initial=double

Units: None Min: 0 Max: 1

The value before any decay.

half-life

halflife=double

Units: Years Min: 0

Half-life in years (more generally, halflife/ln(2) is lambda from the Weibull distribution).

Weibull k parameter

Weibullk=double

Min: 0

The parameter k of the Weibull distribution. If missing, 1.0 is used (equivalent to exponential decay).

Pre-prandial killing effect

scenariointerventionsdescriptionsanophelesITNDescriptionpreprandialKillingEffect

<preprandialKillingEffect
    initial=double
    halflife=double
  [ Weibullk=double ]
  />

Documentation (element)

Units: None Min: 0 Max: 1

One minus this multiplies the survival rate of mosquitoes attempting to bite a host.

Documentation (type)

Specification of a proportion with Weibull or exponential decay.

Attributes

Initial proportion

initial=double

Units: None Min: 0 Max: 1

The value before any decay.

half-life

halflife=double

Units: Years Min: 0

Half-life in years (more generally, halflife/ln(2) is lambda from the Weibull distribution).

Weibull k parameter

Weibullk=double

Min: 0

The parameter k of the Weibull distribution. If missing, 1.0 is used (equivalent to exponential decay).

Post-prandial killing effect

scenariointerventionsdescriptionsanophelesITNDescriptionpostprandialKillingEffect

<postprandialKillingEffect
    initial=double
    halflife=double
  [ Weibullk=double ]
  />

Documentation (element)

Units: None Min: 0 Max: 1

One minus this multiplies the survival rate of mosquitoes attempting to escape after biting a host.

Documentation (type)

Specification of a proportion with Weibull or exponential decay.

Attributes

Initial proportion

initial=double

Units: None Min: 0 Max: 1

The value before any decay.

half-life

halflife=double

Units: Years Min: 0

Half-life in years (more generally, halflife/ln(2) is lambda from the Weibull distribution).

Weibull k parameter

Weibullk=double

Min: 0

The parameter k of the Weibull distribution. If missing, 1.0 is used (equivalent to exponential decay).

IRSDescription

scenariointerventionsdescriptionsanophelesIRSDescription

<IRSDescription
    name=string
  >
IN THIS ORDER:
|   <deterrency ... /> 
|   <killingEffect ... /> 
</IRSDescription>

Attributes

name of IRS intervention

name=string

Units: string

Name of Indoor Residual Spraying intervention

Deterrency

scenariointerventionsdescriptionsanophelesIRSDescriptiondeterrency

<deterrency
    initial=double
    halflife=double
  [ Weibullk=double ]
  />

Documentation (element)

Units: None Min: 0 Max: 1

One minus this multiplies the host's availability.

Documentation (type)

Specification of a proportion with Weibull or exponential decay.

Attributes

Initial proportion

initial=double

Units: None Min: 0 Max: 1

The value before any decay.

half-life

halflife=double

Units: Years Min: 0

Half-life in years (more generally, halflife/ln(2) is lambda from the Weibull distribution).

Weibull k parameter

Weibullk=double

Min: 0

The parameter k of the Weibull distribution. If missing, 1.0 is used (equivalent to exponential decay).

killing effect

scenariointerventionsdescriptionsanophelesIRSDescriptionkillingEffect

<killingEffect
    initial=double
    halflife=double
  [ Weibullk=double ]
  />

Documentation (element)

Units: None Min: 0 Max: 1

One minus this multiplies the survival rate of resting mosquitoes.

Documentation (type)

Specification of a proportion with Weibull or exponential decay.

Attributes

Initial proportion

initial=double

Units: None Min: 0 Max: 1

The value before any decay.

half-life

halflife=double

Units: Years Min: 0

Half-life in years (more generally, halflife/ln(2) is lambda from the Weibull distribution).

Weibull k parameter

Weibullk=double

Min: 0

The parameter k of the Weibull distribution. If missing, 1.0 is used (equivalent to exponential decay).

VADescription

scenariointerventionsdescriptionsanophelesVADescription

<VADescription
    name=string
  >
IN THIS ORDER:
|   <deterrency ... /> 
</VADescription>

Attributes

Name of mosquito deterrency intervention

name=string

Units: string

Name of mosquito deterrency intervention

Deterrency

scenariointerventionsdescriptionsanophelesVADescriptiondeterrency

<deterrency
    initial=double
    halflife=double
  [ Weibullk=double ]
  />

Documentation (element)

Units: None Min: 0 Max: 1

One minus this multiplies the host's availability.

Documentation (type)

Specification of a proportion with Weibull or exponential decay.

Attributes

Initial proportion

initial=double

Units: None Min: 0 Max: 1

The value before any decay.

half-life

halflife=double

Units: Years Min: 0

Half-life in years (more generally, halflife/ln(2) is lambda from the Weibull distribution).

Weibull k parameter

Weibullk=double

Min: 0

The parameter k of the Weibull distribution. If missing, 1.0 is used (equivalent to exponential decay).

Continuously applied interventions

scenariointerventionscontinuous

<continuous>
IN THIS ORDER:
| ( <vaccine ... /> )*
| ( <ITN ... /> )*
| ( <ipti ... /> )*
| ( <cohort ... /> )*
</continuous>

List of age groups for vaccination

scenariointerventionscontinuousvaccine

<vaccine
    targetAgeYrs=double
    coverage=double
  [ cohort=boolean ] DEFAULT VALUE false
  [ begin=int ] DEFAULT VALUE 0
  [ end=int ] DEFAULT VALUE 2147483647
  />

Documentation (element)

Units: List of elements

List of age groups for vaccination

Attributes

Target age

targetAgeYrs=double

Units: Years Min: 0 Max: 100

Target age of intervention

Proportion covered

coverage=double

Units: Proportion Min: 0 Max: 1

Coverage of intervention

Cohort only

cohort=boolean

Units: Proportion Min: 0 Max: 1

Default value: false

Restrict distribution to chosen cohort (default: false).

First timestep active

begin=int

Units: Timesteps Min: 0 Max: 2147483647

Default value: 0

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

End timestep

end=int

Units: Timesteps Min: 0 Max: 2147483647

Default value: 2147483647

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

Description of ITN deployment

scenariointerventionscontinuousITN

<ITN
    targetAgeYrs=double
    coverage=double
  [ cohort=boolean ] DEFAULT VALUE false
  [ begin=int ] DEFAULT VALUE 0
  [ end=int ] DEFAULT VALUE 2147483647
  />

Documentation (element)

Units: List of elements

Description of ITN deployment in the community

Attributes

Target age

targetAgeYrs=double

Units: Years Min: 0 Max: 100

Target age of intervention

Proportion covered

coverage=double

Units: Proportion Min: 0 Max: 1

Coverage of intervention

Cohort only

cohort=boolean

Units: Proportion Min: 0 Max: 1

Default value: false

Restrict distribution to chosen cohort (default: false).

First timestep active

begin=int

Units: Timesteps Min: 0 Max: 2147483647

Default value: 0

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

End timestep

end=int

Units: Timesteps Min: 0 Max: 2147483647

Default value: 2147483647

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

List of age groups for IPTi

scenariointerventionscontinuousipti

<ipti
    targetAgeYrs=double
    coverage=double
  [ cohort=boolean ] DEFAULT VALUE false
  [ begin=int ] DEFAULT VALUE 0
  [ end=int ] DEFAULT VALUE 2147483647
  />

Documentation (element)

Units: List of elements

List of age groups for IPTi distribution

Attributes

Target age

targetAgeYrs=double

Units: Years Min: 0 Max: 100

Target age of intervention

Proportion covered

coverage=double

Units: Proportion Min: 0 Max: 1

Coverage of intervention

Cohort only

cohort=boolean

Units: Proportion Min: 0 Max: 1

Default value: false

Restrict distribution to chosen cohort (default: false).

First timestep active

begin=int

Units: Timesteps Min: 0 Max: 2147483647

Default value: 0

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

End timestep

end=int

Units: Timesteps Min: 0 Max: 2147483647

Default value: 2147483647

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

Continuous cohort selection

scenariointerventionscontinuouscohort

<cohort
    targetAgeYrs=double
    coverage=double
  [ cohort=boolean ] DEFAULT VALUE false
  [ begin=int ] DEFAULT VALUE 0
  [ end=int ] DEFAULT VALUE 2147483647
  />

Documentation (element)

Units: List of elements

Description of continuous selection of individuals for a cohort study.

Attributes

Target age

targetAgeYrs=double

Units: Years Min: 0 Max: 100

Target age of intervention

Proportion covered

coverage=double

Units: Proportion Min: 0 Max: 1

Coverage of intervention

Cohort only

cohort=boolean

Units: Proportion Min: 0 Max: 1

Default value: false

Restrict distribution to chosen cohort (default: false).

First timestep active

begin=int

Units: Timesteps Min: 0 Max: 2147483647

Default value: 0

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

End timestep

end=int

Units: Timesteps Min: 0 Max: 2147483647

Default value: 2147483647

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

Timed interventions

scenariointerventionstimed

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

Documentation (element)

Units: List of elements

List of timed interventions

Documentation (type)

Units: List of elements

List of timed interventions

intervention

scenariointerventionstimedintervention

<intervention
    time=int
  >
IN THIS ORDER:
| [ <changeHS ... /> ]
| [ <changeEIR ... /> ]
| [ <importedInfectionsPerThousandHosts ... /> ]
| [ <MDA ... /> ]
| [ <vaccinate ... /> ]
| [ <ITN ... /> ]
| [ <IRS ... /> ]
| [ <VectorAvailability ... /> ]
| [ <ipti ... /> ]
| [ <immuneSuppression ... /> ]
| [ <insertR_0Case ... /> ]
| [ <uninfectVectors ... /> ]
| [ <larviciding ... /> ]
| [ <cohort ... /> ]
</intervention>

Attributes

Time step of intervention

time=int

Units: Number Min: 1 Max: 10000

Time step of intervention

changeHS

scenariointerventionstimedinterventionchangeHS

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

Documentation (type)

Units: List of elements

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

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

EventScheduler

scenariohealthSystemEventScheduler

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

uncomplicated

scenariohealthSystemEventScheduleruncomplicated

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

Documentation (type)

Units: List of elements

A set of decisions and a set of treatments.

decisions

scenariohealthSystemEventScheduleruncomplicateddecisions

<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

scenariohealthSystemEventScheduleruncomplicateddecisionsdecision

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

Documentation (type)

A decision describes how to choose between a set of values.

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

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

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

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

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

Attributes

Name of decision

name=string

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

Preceding decisions

depends=string

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

Outcome values

values=string

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

treatments

scenariohealthSystemEventScheduleruncomplicatedtreatments

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

Documentation (type)

Units: string

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

treatment

scenariohealthSystemEventScheduleruncomplicatedtreatmentstreatment

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

Documentation (type)

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

Attributes

Treatment administered

name=string

Units: string

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

schedule

scenariohealthSystemEventScheduleruncomplicatedtreatmentstreatmentschedule

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

Documentation (type)

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

modifier

scenariohealthSystemEventScheduleruncomplicatedtreatmentstreatmentmodifier

<modifier
    decision=string
  >
EXACTLY ONE OF:
| ( <multiplyQty ... /> )*
| ( <delay ... /> )*
| ( <selectTimeRange ... /> )*
</modifier>

Documentation (type)

A modifier for this treatment, according to the outputs of a decision.

The "decision" attribute must be the name of a known decision. Then, there must be a set of multipyQty, delay or selectTimeRange sub-elements, each of which corresponds to one value output of the decision.

Attributes

decision

decision=string

Units: string

Specifies the decision that this modifier acts on.

multiplyQty

scenariohealthSystemEventScheduleruncomplicatedtreatmentstreatmentmodifiermultiplyQty

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

Documentation (element)

Multiplies the quantity of active ingredients of drugs administered.

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

Attributes

value of decision

value=string

Units: string

Specifies a value of the decision to act on.

List of drugs affected

effect=string

Units: string

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

Affects cost?

affectsCost=boolean

Units: none

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

delay

scenariohealthSystemEventScheduleruncomplicatedtreatmentstreatmentmodifierdelay

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

Documentation (element)

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

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

Attributes

value of decision

value=string

Units: string

Specifies a value of the decision to act on.

List of drugs affected

effect=string

Units: string

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

Affects cost?

affectsCost=boolean

Units: none

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

selectTimeRange

scenariohealthSystemEventScheduleruncomplicatedtreatmentstreatmentmodifierselectTimeRange

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

Documentation (element)

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

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

Attributes

value of decision

value=string

Units: string

Specifies a value of the decision to act on.

List of drugs affected

effect=string

Units: string

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

Affects cost?

affectsCost=boolean

Units: none

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

complicated

scenariohealthSystemEventSchedulercomplicated

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

Documentation (type)

Units: List of elements

A set of decisions and a set of treatments.

ClinicalOutcomes

scenariohealthSystemEventSchedulerClinicalOutcomes

<ClinicalOutcomes>
IN THIS ORDER:
|   <maxUCSeekingMemory ... /> 
|   <uncomplicatedCaseDuration ... /> 
|   <complicatedCaseDuration ... /> 
|   <complicatedRiskDuration ... /> 
|   <pImmediateUC ... /> 
</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 of case) an individual will remember they are 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/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/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.

Probability of immediate UC treatment seeking

scenariohealthSystemEventSchedulerClinicalOutcomespImmediateUC

<pImmediateUC>
    double
</pImmediateUC>

Documentation (element)

Units: none Min: 0 Max: 1

Probability that UC treatment seeking will be done immediately when sick, on second day given that it wasn't done on first, etc.

ImmediateOutcomes

scenariohealthSystemImmediateOutcomes

<ImmediateOutcomes
    name=string
  >
IN THIS ORDER:
|   <drugRegimen ... /> 
|   <initialACR ... /> 
|   <compliance ... /> 
|   <nonCompliersEffective ... /> 
|   <pSeekOfficialCareUncomplicated1 ... /> 
|   <pSelfTreatUncomplicated ... /> 
|   <pSeekOfficialCareUncomplicated2 ... /> 
|   <pSeekOfficialCareSevere ... /> 
</ImmediateOutcomes>

Documentation (type)

Units: List of elements

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

Attributes

Case Management model

name=string

Units: string

Name of health system

Description of drug regimen

scenariohealthSystemImmediateOutcomesdrugRegimen

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

Documentation (element)

Units: List of elements

Description of drug regimen

Attributes

First line drug

firstLine=string

Units: Drug code

Code for first line drug

Second line drug

secondLine=string

Units: Drug code

Code for second line drug

Drug use for treating inpatients

inpatient=string

Units: Drug code

Code for drug used for treating inpatients

Initial cure rate

scenariohealthSystemImmediateOutcomesinitialACR

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

Documentation (element)

Units: Proportion Min: 0 Max: 1

Initial cure rate

Chloroquine

scenariohealthSystemImmediateOutcomesinitialACRCQ

<CQ
    value=double
  />

Documentation (element)

Units: List of elements

Chloroquine

Attributes

Input parameter value

value=double

A double-precision floating-point value.

Sulphadoxine-pyrimethamine

scenariohealthSystemImmediateOutcomesinitialACRSP

<SP
    value=double
  />

Documentation (element)

Units: List of elements

Sulphadoxine-pyrimethamine

Attributes

Input parameter value

value=double

A double-precision floating-point value.

Amodiaquine

scenariohealthSystemImmediateOutcomesinitialACRAQ

<AQ
    value=double
  />

Documentation (element)

Units: List of elements

Amodiaquine

Attributes

Input parameter value

value=double

A double-precision floating-point value.

Sulphadoxine-pyrimethamine/Amodiaquine

scenariohealthSystemImmediateOutcomesinitialACRSPAQ

<SPAQ
    value=double
  />

Documentation (element)

Units: List of elements

Sulphadoxine-pyrimethamine/Amodiaquine

Attributes

Input parameter value

value=double

A double-precision floating-point value.

ACT

scenariohealthSystemImmediateOutcomesinitialACRACT

<ACT
    value=double
  />

Documentation (element)

Units: List of elements

Artemisinine combination therapy

Attributes

Input parameter value

value=double

A double-precision floating-point value.

QN

scenariohealthSystemImmediateOutcomesinitialACRQN

<QN
    value=double
  />

Documentation (element)

Units: List of elements

Quinine

Attributes

Input parameter value

value=double

A double-precision floating-point value.

selfTreatment

scenariohealthSystemImmediateOutcomesinitialACRselfTreatment

<selfTreatment
    value=double
  />

Documentation (element)

Units: Proportion Min: 0 Max: 1

Probability of self-treatment

Attributes

Input parameter value

value=double

A double-precision floating-point value.

Adherence to treatment

scenariohealthSystemImmediateOutcomescompliance

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

Documentation (element)

Units: Proportion Min: 0 Max: 1

Adherence to treatment

Effectiveness of treatment in non-adherent patients

scenariohealthSystemImmediateOutcomesnonCompliersEffective

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

Documentation (element)

Units: Proportion Min: 0 Max: 1

Effectiveness of treatment of non compliers

Probability that a patient with uncomplicated disease seeks official care immediately

scenariohealthSystemImmediateOutcomespSeekOfficialCareUncomplicated1

<pSeekOfficialCareUncomplicated1
    value=double
  />

Documentation (element)

Units: Proportion Min: 0 Max: 1

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

Attributes

Input parameter value

value=double

A double-precision floating-point value.

Probability that a patient with uncomplicated disease self-treats

scenariohealthSystemImmediateOutcomespSelfTreatUncomplicated

<pSelfTreatUncomplicated
    value=double
  />

Documentation (element)

Units: Proportion Min: 0 Max: 1

Probability that a patient with uncomplicated disease self-treats

Attributes

Input parameter value

value=double

A double-precision floating-point value.

Probability that a recurring patient seeks official care

scenariohealthSystemImmediateOutcomespSeekOfficialCareUncomplicated2

<pSeekOfficialCareUncomplicated2
    value=double
  />

Documentation (element)

Units: Proportion Min: 0 Max: 1

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

Attributes

Input parameter value

value=double

A double-precision floating-point value.

Probability that a patient with severe disease obtains appropriate care

scenariohealthSystemImmediateOutcomespSeekOfficialCareSevere

<pSeekOfficialCareSevere
    value=double
  />

Documentation (element)

Units: Proportion Min: 0 Max: 1

Probability that a patient with severe disease obtains appropriate care

Attributes

Input parameter value

value=double

A double-precision floating-point value.

CFR

scenariohealthSystemCFR

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

Documentation (element)

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

Attributes

interpolation

interpolation=("none" or "linear")

Units: none

Default value: linear

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

  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

Probabilities of sequelae in inpatients

scenariohealthSystempSequelaeInpatient

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

Documentation (element)

Units: List of elements

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

Attributes

interpolation

interpolation=("none" or "linear")

Units: none

Default value: linear

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

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

Replacement transmission setting (vector control not enabled)

scenariointerventionstimedinterventionchangeEIR

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

Documentation (element)

Units: List of elements

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

Attributes

Duration of sporogony (days)

eipDuration=int

The duration of sporogony in days

EIRDaily

scenarioentoDatanonVectorEIRDaily

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

Documentation (type)

Units: Infectious bites per adult per day

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

Attributes

Time origin of EIR sequence

origin=string

Import infections

scenariointerventionstimedinterventionimportedInfectionsPerThousandHosts

<importedInfectionsPerThousandHosts>
    double
</importedInfectionsPerThousandHosts>

Documentation (element)

Units: Number per 1000 hosts Min: 0

Import infections (as if a mosquito bites a human). Imported via a Bernoulli trial per host.

Mass Drug Administration

scenariointerventionstimedinterventionMDA

<MDA
  [ maxAge=double ]
  [ minAge=double ]
    coverage=double
  [ cohort=boolean ]
  />

Documentation (element)

Units: List of elements

Description of mass drug deployment in the community.

Attributes

Maximum age of eligible individuals

maxAge=double

Units: Years Min: 0 Max: 100

Maximum age of eligible individuals (defaults to 100)

Minimum age of eligible individuals

minAge=double

Units: Years Min: 0 Max: 100

Minimum age of eligible individuals (defaults to 0)

Coverage

coverage=double

Units: Proportion Min: 0 Max: 1

Coverage of intervention

Cohort only

cohort=boolean

Units: Proportion Min: 0 Max: 1

Restrict distribution to chosen cohort.

Vaccination

scenariointerventionstimedinterventionvaccinate

<vaccinate
  [ maxAge=double ]
  [ minAge=double ]
    coverage=double
  [ cohort=boolean ]
  />

Documentation (element)

Units: List of elements

Description of vaccine deployment in the community

Attributes

Maximum age of eligible individuals

maxAge=double

Units: Years Min: 0 Max: 100

Maximum age of eligible individuals (defaults to 100)

Minimum age of eligible individuals

minAge=double

Units: Years Min: 0 Max: 100

Minimum age of eligible individuals (defaults to 0)

Coverage

coverage=double

Units: Proportion Min: 0 Max: 1

Coverage of intervention

Cohort only

cohort=boolean

Units: Proportion Min: 0 Max: 1

Restrict distribution to chosen cohort.

ITN deployment

scenariointerventionstimedinterventionITN

<ITN
  [ maxAge=double ]
  [ minAge=double ]
    coverage=double
  [ cohort=boolean ]
  />

Documentation (element)

Units: List of elements

Description of ITN deployment in the community

Attributes

Maximum age of eligible individuals

maxAge=double

Units: Years Min: 0 Max: 100

Maximum age of eligible individuals (defaults to 100)

Minimum age of eligible individuals

minAge=double

Units: Years Min: 0 Max: 100

Minimum age of eligible individuals (defaults to 0)

Coverage

coverage=double

Units: Proportion Min: 0 Max: 1

Coverage of intervention

Cohort only

cohort=boolean

Units: Proportion Min: 0 Max: 1

Restrict distribution to chosen cohort.

IRS deployment

scenariointerventionstimedinterventionIRS

<IRS
  [ maxAge=double ]
  [ minAge=double ]
    coverage=double
  [ cohort=boolean ]
  />

Documentation (element)

Units: List of elements

Description of IRS deployment in the community

Attributes

Maximum age of eligible individuals

maxAge=double

Units: Years Min: 0 Max: 100

Maximum age of eligible individuals (defaults to 100)

Minimum age of eligible individuals

minAge=double

Units: Years Min: 0 Max: 100

Minimum age of eligible individuals (defaults to 0)

Coverage

coverage=double

Units: Proportion Min: 0 Max: 1

Coverage of intervention

Cohort only

cohort=boolean

Units: Proportion Min: 0 Max: 1

Restrict distribution to chosen cohort.

Mosquito deterrent

scenariointerventionstimedinterventionVectorAvailability

<VectorAvailability
  [ maxAge=double ]
  [ minAge=double ]
    coverage=double
  [ cohort=boolean ]
  />

Documentation (element)

Units: List of elements

Description of a mosquito deterrent deployment in the community

Attributes

Maximum age of eligible individuals

maxAge=double

Units: Years Min: 0 Max: 100

Maximum age of eligible individuals (defaults to 100)

Minimum age of eligible individuals

minAge=double

Units: Years Min: 0 Max: 100

Minimum age of eligible individuals (defaults to 0)

Coverage

coverage=double

Units: Proportion Min: 0 Max: 1

Coverage of intervention

Cohort only

cohort=boolean

Units: Proportion Min: 0 Max: 1

Restrict distribution to chosen cohort.

IPTi deployment

scenariointerventionstimedinterventionipti

<ipti
  [ maxAge=double ]
  [ minAge=double ]
    coverage=double
  [ cohort=boolean ]
  />

Documentation (element)

Units: List of elements

List of age groups for IPTi distribution

Attributes

Maximum age of eligible individuals

maxAge=double

Units: Years Min: 0 Max: 100

Maximum age of eligible individuals (defaults to 100)

Minimum age of eligible individuals

minAge=double

Units: Years Min: 0 Max: 100

Minimum age of eligible individuals (defaults to 0)

Coverage

coverage=double

Units: Proportion Min: 0 Max: 1

Coverage of intervention

Cohort only

cohort=boolean

Units: Proportion Min: 0 Max: 1

Restrict distribution to chosen cohort.

Immune suppression deployment

scenariointerventionstimedinterventionimmuneSuppression

<immuneSuppression
  [ maxAge=double ]
  [ minAge=double ]
    coverage=double
  [ cohort=boolean ]
  />

Documentation (element)

Units: List of elements

Removes all exposure-related immunity gained over time by hosts without removing infections.

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

Attributes

Maximum age of eligible individuals

maxAge=double

Units: Years Min: 0 Max: 100

Maximum age of eligible individuals (defaults to 100)

Minimum age of eligible individuals

minAge=double

Units: Years Min: 0 Max: 100

Minimum age of eligible individuals (defaults to 0)

Coverage

coverage=double

Units: Proportion Min: 0 Max: 1

Coverage of intervention

Cohort only

cohort=boolean

Units: Proportion Min: 0 Max: 1

Restrict distribution to chosen cohort.

Insert R_0 case

scenariointerventionstimedinterventioninsertR_0Case

<insertR_0Case/>

Documentation (element)

Units: List of elements

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

Uninfect vectors

scenariointerventionstimedinterventionuninfectVectors

<uninfectVectors/>

Documentation (element)

Units: List of elements

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

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

larviciding

scenariointerventionstimedinterventionlarviciding

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

Documentation (element)

Simple larviciding intervention description.

anopheles

scenariointerventionstimedinterventionlarvicidinganopheles

<anopheles
    mosquito=string
    effectiveness=double
    duration=int
  />

Attributes

Mosquito to be larvicided

mosquito=string

Mosquito to be larvicided

Proportionate reduction in emergence

effectiveness=double

Units: none Min: 0 Max: 1

Proportional reduction in emergence rate

Duration of activity

duration=int

Units: days Min: 0 Max: inf

Number of days for which the intervention is active.

Mass Cohort Selection

scenariointerventionstimedinterventioncohort

<cohort
  [ maxAge=double ]
  [ minAge=double ]
    coverage=double
  [ cohort=boolean ]
  />

Documentation (element)

Units: List of elements

Description of mass cohort selection.

Attributes

Maximum age of eligible individuals

maxAge=double

Units: Years Min: 0 Max: 100

Maximum age of eligible individuals (defaults to 100)

Minimum age of eligible individuals

minAge=double

Units: Years Min: 0 Max: 100

Minimum age of eligible individuals (defaults to 0)

Coverage

coverage=double

Units: Proportion Min: 0 Max: 1

Coverage of intervention

Cohort only

cohort=boolean

Units: Proportion Min: 0 Max: 1

Restrict distribution to chosen cohort.

healthSystem

scenariohealthSystem

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

Documentation (type)

Units: List of elements

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

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

Transmission and vector bionomics

scenarioentoData

<entoData
    name=string
    mode=("2" or "4")
  [ annualEIR=double ]
  >
IN THIS ORDER:
| EXACTLY ONE OF:
| |   <nonVector ... /> 
| |   <vector ... /> 
</entoData>

Documentation (element)

Units: List of elements

Description of entomological data

Attributes

Entomology dataset

name=string

Units: string

Name of entomology data

Transmission simulation mode

mode=("2" or "4")

Units: Code

Transmission simulation mode -- enter dynamic mode (4) or forced mode (2) at start of intervention period. Mode 3 (transient EIR from data provided as intervention) is set when intervention data is applied, and is no longer a valid value to specify here.

Override annual EIR

annualEIR=double

Units: Infectious bites per adult per year

If set, overrides the annual EIR by scaling it to this level. If ommitted, EIR levels are as specified elsewhere.

Transmission setting (vector control not enabled)

scenarioentoDatanonVector

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

Documentation (element)

Units: List of elements

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

Attributes

Duration of sporogony (days)

eipDuration=int

The duration of sporogony in days

Transmission setting (vector control enabled)

scenarioentoDatavector

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

Documentation (element)

Units: List of elements

Parameters of the transmission model.

anopheles

scenarioentoDatavectoranopheles

<anopheles
    mosquito=string
    propInfected=double
    propInfectious=double
  >
IN THIS ORDER:
| EXACTLY ONE OF:
| |   <eir ... /> 
| |   <monthlyEir ... /> 
|   <mosq ... /> 
| ( <nonHumanHosts ... /> )*
</anopheles>

Documentation (type)

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

Attributes

Identifier for this anopheles species

mosquito=string

Initial guess of proportion of mosquitoes infected

propInfected=double

Units: Proportion Min: 0 Max: 1

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

Initial guess of proportion of mosquitoes infectious

propInfectious=double

Units: Proportion Min: 0 Max: 1

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

Fourier approximation to pre-intervention EIR

scenarioentoDatavectoranopheleseir

<eir
    a0=double
    a1=double
    b1=double
    a2=double
    b2=double
    EIRRotateAngle=double
  />

Documentation (element)

Units: Infectious bites per adult per day

Description of target entomological inoculation rate as a Fourier series. This is used to estimate a suitible vector emergence rate. The annual (target) EIR is thus the exponent of the fourier series with these parameters, with period scaled to 365 days.

Attributes

a0 parameter of Fourier approximation to ln(EIR)

a0=double

a1 parameter of Fourier approximation to ln(EIR)

a1=double

b1 parameter of Fourier approximation to ln(EIR)

b1=double

a2 parameter of Fourier approximation to ln(EIR)

a2=double

b2 parameter of Fourier approximation to ln(EIR)

b2=double

Rotation angle defining the origin of the Fourier approximation to ln (EIR)

EIRRotateAngle=double

Units: radians

Monthly values for pre-intervention EIR

scenarioentoDatavectoranophelesmonthlyEir

<monthlyEir
    annualEIR=double
  >
IN THIS ORDER:
| ( <item ... /> ){12,12}
</monthlyEir>

Documentation (element)

Units: Infectious bites per adult per month

Description of target entomological inoculation rate as monthly values plus an annual override (monthly values are scaled to fit the annual EIR described). This is used to estimate a suitible vector emergence rate. The annual (target) EIR is derived from a Fourier series fit to these monthly values (used as a smoothing factor). List should contain twelve entries: January to December.

Attributes

Annual EIR

annualEIR=double

Units: Infectious bites per adult per year Min: 0

Scales the monthly values to give this annual innoculation rate.

Monthly pre-intervention EIR

scenarioentoDatavectoranophelesmonthlyEiritem

<item>
    double
</item>

Vector Species

scenarioentoDatavectoranophelesmosq

<mosq
    mosqRestDuration=int
    extrinsicIncubationPeriod=int
    mosqLaidEggsSameDayProportion=double
    mosqSeekingDuration=double
    mosqSurvivalFeedingCycleProbability=double
    mosqProbBiting=double
    mosqProbFindRestSite=double
    mosqProbResting=double
    mosqProbOvipositing=double
    mosqHumanBloodIndex=double
    minInfectedThreshold=double
  />

Documentation (element)

Units: List of elements

Vector species

Attributes

Duration of the resting period of the vector (days)

mosqRestDuration=int

Extrinsic incubation period (days)

extrinsicIncubationPeriod=int

Proportion of mosquitoes host seeking on same day as ovipositing

mosqLaidEggsSameDayProportion=double

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

mosqSeekingDuration=double

Probability that the mosquito survives the feeding cycle

mosqSurvivalFeedingCycleProbability=double

Probability that the mosquito succesfully bites chosen host

mosqProbBiting=double

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

mosqProbFindRestSite=double

Probability of mosquito successfully resting after finding a resting site

mosqProbResting=double

Probability of a mosquito successfully laying eggs given that it has rested

mosqProbOvipositing=double

Human blood index

mosqHumanBloodIndex=double

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

Min infected threshold

minInfectedThreshold=double

Min: 0

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

nonHumanHosts

scenarioentoDatavectoranophelesnonHumanHosts

<nonHumanHosts
    name=string
    mosqRelativeEntoAvailability=double
    mosqProbBiting=double
    mosqProbFindRestSite=double
    mosqProbResting=double
  />

Documentation (element)

Units: List of elements

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

Attributes

Identifier for this category of non-human hosts

name=string

Relative availability of nonhuman hosts of type i (to other nonhuman hosts)

mosqRelativeEntoAvailability=double

Probability of mosquito successfully biting host

mosqProbBiting=double

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

mosqProbFindRestSite=double

Probability of mosquito successfully resting after finding a resting site

mosqProbResting=double

nonHumanHosts

scenarioentoDatavectornonHumanHosts

<nonHumanHosts
    name=string
    number=double
  />

Attributes

Species of alternative host

name=string

Units: List of elements

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

number

number=double

Pharmacokinetics and pharmacodynamics

scenariodrugDescription

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

Documentation (element)

Units: List of elements

Drug model parameters

drug

scenariodrugDescriptiondrug

<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

scenariodrugDescriptiondrugPD

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

allele

scenariodrugDescriptiondrugPDallele

<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

scenariodrugDescriptiondrugPDalleleinitial_frequency

<initial_frequency>
    double
</initial_frequency>

Documentation (element)

Units: relative frequency Min: 0

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

Maximal parasite killing rate

scenariodrugDescriptiondrugPDallelemax_killing_rate

<max_killing_rate>
    double
</max_killing_rate>

Documentation (element)

Units: 1/days Min: 0

k1 — Maximal parasite killing rate.

IC50

scenariodrugDescriptiondrugPDalleleIC50

<IC50>
    double
</IC50>

Documentation (element)

Units: mg/l Min: 0

Half maximal effect concentration.

Slope of effect curve

scenariodrugDescriptiondrugPDalleleslope

<slope>
    double
</slope>

Documentation (element)

Units: no units

n — Slope of the concentration effect curve

PK

scenariodrugDescriptiondrugPK

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

Drug concentration considered negligible

scenariodrugDescriptiondrugPKnegligible_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

scenariodrugDescriptiondrugPKhalf_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

scenariodrugDescriptiondrugPKvol_dist

<vol_dist>
    double
</vol_dist>

Documentation (element)

Units: l/kg Min: 0

Volume of Distribution

Model options and parameters

scenariomodel

<model>
IN THIS ORDER:
|   <ModelOptions ... /> 
|   <clinical ... /> 
|   <human ... /> 
|   <parameters ... /> 
</model>

Documentation (element)

Units: List of elements

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

Model Options

scenariomodelModelOptions

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

Documentation (element)

Units: List of elements

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

clinical

scenariomodelclinical

<clinical
    healthSystemMemory=int
  />

Documentation (type)

Units: List of elements

Description of clinical parameters.

This is related to the health-system description, but contains data which can't be changed as part of an intervention and is not restricted to treatment.

Attributes

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

healthSystemMemory=int

Units: Time steps Min: 1 Max: 100

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

human

scenariomodelhuman

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

Documentation (type)

Parameters of host models.

Availability to mosquitoes

scenariomodelhumanavailabilityToMosquitoes

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

Documentation (element)

Units: None Min: 0 Max: 1

By age group data on availability of humans to mosquitoes relative to an adult.

Attributes

interpolation

interpolation=("none" or "linear")

Units: none

Default value: linear

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

  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") ] DEFAULT VALUE linear
    multStdDev=double
  >
IN THIS ORDER:
| ( <group ... /> )+
</weight>

Documentation (element)

Units: kg Min: 0

By age group data on human weight (mass).

Attributes

interpolation

interpolation=("none" or "linear")

Units: none

Default value: linear

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

  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.

Parameters of the model of epidemiology

scenariomodelparameters

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

Documentation (element)

Units: List of elements

Parameters of the epidemiological model

Attributes

Simulation step

interval=int

Units: Days

Simulation step

Random number seed

iseed=int

Units: Number

Seed for RNG

Pre-erythrocytic latent period

latentp=int

Units: Time steps Min: 0 Max: 20

pre-erythrocytic latent period, in time steps

parameter

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.