schema 35

Diggory Hardy edited this page Jun 24, 2016 · 5 revisions
Clone this wiki locally

Generated schema 35 documentation

This page is automatically generated from the following schema file: scenario_35.xsd. I recommend against editing it because edits will likely be lost later.

Key:

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

Scenario

scenario

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

Documentation (element)

Description of scenario

Attributes

Version of the xml schema

schemaVersion=int

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

Reference number of the analysis

analysisNo=int

Units: Number Min: 1 Max: 100000000

Unique identifier of scenario

Name of intervention

name=string

Name of intervention

Work unit identifier

wuID=int

Units: Number

Work unit ID. Obselete and no longer required.

Human age distribution

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
  [ startDate=string ]
  >
IN THIS ORDER:
| [ <continuous ... /> ]
|   <SurveyOptions ... /> 
|   <surveys ... /> 
|   <ageGroup ... /> 
| [ <cohorts ... /> ]
</monitoring>

Documentation (element)

Description of surveys

Attributes

Name of monitoring settings

name=string

Name of monitoring settings

Start of monitoring

startDate=string

An optional date for the start of monitoring. If given, dates may be used to specify when other events (surveys, intervention deployments) occur; alternately times relative to the start of the intervention period may be used to specify event times. Setting this to 1st January of some year might simplify usage of dates, and putting the start a couple of years before the start of intervention deployment (along with some extra surveys) may be useful to check transmission stabilises to the expected pre-intervention levels. As an example, if this date is set to 2000-01-01, then the following event times are equivalent (assuming 1t=5d): 15t, 75d, 0.2y, 2000-03-16. Must be in the form YYYY-MM-DD, e.g. 2003-01-01.

continuous

scenariomonitoringcontinuous

<continuous
    period=string
  [ duringInit=boolean ]
  >
IN THIS ORDER:
| ( <option ... /> )*
</continuous>

Attributes

Delay between reports

period=string

Units: User defined (default: steps)

Delay between reports; typically one time step but can be greater. Can be specified in steps (e.g. 1t) or days (e.g. 5d).

During initialization

duringInit=boolean

Units: Days Min: 1 Max: unbounded

Also output during initialization. By default this is disabled (only intervention-period data is output). This should not be used for predictions, but can be useful for model validation. In this mode, 'simulation time' is output as the first column (in addition to 'timestep'), since 'timestep' is dis- continuous across the start of the intervention period.

option

scenariomonitoringcontinuousoption

<option
    name=string
  [ value=boolean ] DEFAULT VALUE true
  />

Attributes

Option name

name=string

Name of an option (monitoring measure or model option).

Indicator of whether option is required

value=boolean

Default value: true

Option on/off switch (true/false). Specifying value="true" is the same as not specifying a value; specifying value="false" explicitly turns the option off. If an option is not mentioned at all, it is left at its default value (normally off, but in a few cases, such as some bug-fix options, on).

Name of quantity

scenariomonitoringSurveyOptions

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

Documentation (element)

List of all active survey options. See model/mon/OutputMeasures.h for a list of supported outputs. Should also be on the wiki.

option

scenariomonitoringSurveyOptionsoption

<option
  [ outputNumber=int ]
  [ byAge=boolean ]
  [ byCohort=boolean ]
  [ bySpecies=boolean ]
  [ byGenotype=boolean ]
  [ byDrugType=boolean ]
  />

Attributes

Number identifying measure in output

outputNumber=int

Number identifying this monitoring measure in the output file (3rd column). Normally this is determined from the measure, but it can be set manually, e.g. for when the same measure is recorded twice (to accumulate across different categories).

Report by age category

byAge=boolean

If true, the measure is reported for each age category. If false, values are summed across all age categories and only the sum reported. If not specified, separate categories will be reported if the measure supports this.

Report by cohort

byCohort=boolean

If true, the measure is reported for each cohort separately. If false, values are summed across all cohorts and only the sum reported. If not specified, separate categories will be reported if the measure supports this.

Report by mosquito species

bySpecies=boolean

If true, the measure is reported for each mosquito species separately. If false, values are summed across all species and only the sum reported. If not specified, separate categories will be reported if the measure supports this.

Report by parasite genotype

byGenotype=boolean

If true, the measure is reported for each parasite genotype separately. If false, values are summed across all genotypes and only the sum reported. If not specified, separate categories will be reported if the measure supports this.

Report by drug type

byDrugType=boolean

If true, the measure is reported for each drug type separately. If false, values are summed across all drug types and only the sum reported. If not specified, separate categories will be reported if the measure supports this.

Survey times (time steps)

scenariomonitoringsurveys

<surveys
  [ detectionLimit=double ]
  [ diagnostic=string ]
  >
IN THIS ORDER:
| ( <surveyTime ... /> )+
</surveys>

Documentation (element)

List of survey times

Attributes

Detection limit for parasitaemia

detectionLimit=double

Units: parasites/microlitre Min: 0

Deprecated: limit above which a human's infection is reported as patent. Alternative: do not specify this; instead specify "diagnostic".

Name of monitoring diagnostic

diagnostic=string

Name of a parameterised diagnostic to use in surveys (see scenario/diagnostics).

Survey time

scenariomonitoringsurveyssurveyTime

<surveyTime
  [ repeatStep=string ]
  [ repeatEnd=string ]
  [ reported=boolean ] DEFAULT VALUE true
  >
    string
</surveyTime>

Documentation (element)

Units: User defined (defaults to steps) Min: 0

Time of a survey. A report will be made for those measures enabled under SurveyOptions. Reported data is either from the moment the survey is done (immediate data) or is collected over the time since the previous survey, or in some cases over a fixed time span (usually one year).

Times can be specified in time steps, starting from 0, or as a date (see monitoring/startDate), or in days (e.g. 15d) or years (e.g. 1y). Relative times mean the time since the start of the intervention period, and must be non-negative (zero is valid, but some measures, e.g. nUncomp, will be zero).

The simulation ends immediately after the last survey is taken.

Attributes

Step of repetition

repeatStep=string

Units: User defined

See repeatEnd's documentation.

End of repetition (exclusive)

repeatEnd=string

Units: User defined

Either both repeatStep and repeatEnd should be present or neither. If present, the survey is repeated every repeatStep timesteps (i.e. if t0 is the initial time and x is repeatStep, surveys are done at times t0, t0+x, t0+2*x, ...), ending before repeatEnd (final repetition is the one before repeatEnd). Note that repeatEnd may be specified as a date but repeatStep must be a duration (days, steps or years).

reported

reported=boolean

Default value: true

For normal surveys, reporting=true. If set false, quantities are measured but not reported. The reason for doing this is to update conditions set on reportable measures. Multiple surveys may be given here for the same date, e.g. if using "repeatStep" for both reporting and non-reporting surveys. These are combined such that a maximum of one survey is carried out per time-step, and the survey is reported if any of the listed surveys for this date is configured as "reporting". Note that adding non-reporting surveys will not affect value output by reported surveys, with the exception that generated psuedo-random numbers may be altered (specifically, when any stochastic diagnostics are used in surveys).

Age groups

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.

EventScheduler

scenariohealthSystemEventScheduler

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

ImmediateOutcomes

scenariohealthSystemImmediateOutcomes

<ImmediateOutcomes
  [ name=string ]
  [ useDiagnosticUC=boolean ] DEFAULT VALUE false
  >
IN ANY ORDER:
|   <drugRegimen ... /> 
|   <initialACR ... /> 
|   <compliance ... /> 
|   <nonCompliersEffective ... /> 
|   <treatmentActions ... /> 
|   <pSeekOfficialCareUncomplicated1 ... /> 
|   <pSelfTreatUncomplicated ... /> 
|   <pSeekOfficialCareUncomplicated2 ... /> 
|   <pSeekOfficialCareSevere ... /> 
| [ <liverStageDrug ... /> ]
</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

Name of case management parameterisation

name=string

Name of health system

useDiagnosticUC

useDiagnosticUC=boolean

Default value: false

DecisionTree5Day

scenariohealthSystemDecisionTree5Day

<DecisionTree5Day
  [ name=string ]
  >
IN ANY ORDER:
|   <pSeekOfficialCareUncomplicated1 ... /> 
|   <pSelfTreatUncomplicated ... /> 
|   <pSeekOfficialCareUncomplicated2 ... /> 
|   <pSeekOfficialCareSevere ... /> 
| [ <liverStageDrug ... /> ]
|   <treeUCOfficial ... /> 
|   <treeUCSelfTreat ... /> 
|   <cureRateSevere ... /> 
|   <treatmentSevere ... /> 
</DecisionTree5Day>

Documentation (type)

Description of the health system using the 5-day timestep with decision tree model: access is configured as in the Tediosi et al case management model (Case management as described in AJTMH 75 (suppl 2) pp90-103) while treatment decisions are configured via decision trees.

Besides greater flexibility, this allows treatment via PK/PD models.

Attributes

Name of case management parameterisation

name=string

Name of health system

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.

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

Health system description

scenariohealthSystem

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

Documentation (element)

Description of health system.

Documentation (type)

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

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

Transmission and vector bionomics

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.

Parasite genetics

scenarioparasiteGenetics

<parasiteGenetics
    samplingMode=("initial" or "tracking")
  >
IN THIS ORDER:
| ( <locus ... /> )+
</parasiteGenetics>

Documentation (element)

A specification of genotypes of infection parasites.

May be omitted; in this case there is no modelling of genetic differences of infections (resistance, fitness).

Attributes

samplingMode

samplingMode=("initial" or "tracking")

This controls how genotypes are determined for new infections during the intervention period. Prior to this (in initialisation phases), genotypes are always sampled using the specified initial frequencies. Mode "initial" continues to sample genotypes using initial frequencies (i.e. independent of the success of parent generations of parasites). Mode "tracking" samples genotypes based on the success parent generations of parasites have in infecting mosquitoes, tracked per genotype. It is possible that in the future a recombination option will be added to this list, however designing a suitable model is not trivial.

Locus

scenarioparasiteGeneticslocus

<locus
    name=string
  >
IN THIS ORDER:
| ( <allele ... /> )+
</locus>

Documentation (element)

Describes a locus, or a point at which an infection may vary. The genotype of an infection is determined by choosing one allele at each locus. Initial frequencies of alleles are specified independently for each locus, but subsequent infections are selected according to success of genotypes.

Alleles at loci can affect fitness and resistance to any number of drugs.

Attributes

Name of locus

name=string

Name of the Locus

Allele

scenarioparasiteGeneticslocusallele

<allele
    name=string
    initialFrequency=double
    fitness=double
  />

Documentation (element)

Describes an allele, or one possible genetic option of multiple at one point of variance.

Attributes

Name

name=string

Name of the allele; used to refer to it elsewhere.

Initial frequency

initialFrequency=double

Specification of how commonly this allele occurs during warmup relative to other alleles of the same locus. During the simulation's initialisation phases, the frequency at which each allele of each locus occurs is fixed. After the initialisation phase, frequency of alleles is modelled as an emergent property of the success of genotypes.

Fitness factor

fitness=double

Fitness factor of the allele. This is multiplication factor used to speed up or slow down replication of parasites. For example, if a genotype has an allele with a fitness factor of 1 at one locus and another allele with a fitness factor of 0.8 at a second locus, then the parasites with the genotype will replicate 20% slower than the baseline.

Drug parameters (PK, PD and usage)

scenariopharmacology

<pharmacology>
IN THIS ORDER:
|   <treatments ... /> 
|   <drugs ... /> 
</pharmacology>

Documentation (element)

Drug model parameters and drug usage parameters

Documentation (type)

A library of drug related data for the PK/PD model.

Treatments library

scenariopharmacologytreatments

<treatments>
IN THIS ORDER:
| ( <schedule ... /> )+
| ( <dosages ... /> )+
</treatments>

Documentation (element)

A library of drug deployment schedules and dosages.

schedule

scenariopharmacologytreatmentsschedule

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

Documentation (type)

A schedule for the administration of drugs in a course of treatment.

Note that dose sizes are multiplied by some multiplier (see dosages) and the times of all doses may be delayed.

Attributes

Name

name=string

Name for referring to this deployment schedule

medicate

scenariopharmacologytreatmentsschedulemedicate

<medicate
    drug=string
    mg=double
    hour=double
  />

Attributes

drug

drug=string

Abbreviated name of drug compound

Drug dose (mg with multiplier)

mg=double

Units: mg per something

Quantity of drug compound in mg per something. A separate dosage table must be used when medicating, which may specify multipliers of this number based on patient age or weight.

Time of administration

hour=double

Units: Hours Min: 0

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

dosages

scenariopharmacologytreatmentsdosages

<dosages
    name=string
  >
IN THIS ORDER:
| EXACTLY ONE OF:
| | ( <age ... /> )+
| | ( <bodymass ... /> )+
| |   <multiply ... /> 
</dosages>

Documentation (type)

A table for selecting a dose size given an age.

Categories must uniquely cover all ages from birth, with no upper bound. Categories must be listed in order of age, increasing; the first must have lower bound 0. Upper bounds are equal to the lower bound of the next category, (but are exclusive where lower bounds are inclusive); the last category has no upper bound.

Attributes

Name

name=string

Name for referring to this dosage table

age

scenariopharmacologytreatmentsdosagesage

<age
    lowerbound=double
    dose_mult=double
  />

Documentation (type)

Gives a dose multiplier for an age or body mass range.

Attributes

Lower bound (inclusive)

lowerbound=double

Units: years Min: 0

Dose multiplier

dose_mult=double

Min: 0

The dose size given in the schedule (in mg) is multiplied by this value for patients falling into this age range when this dosage table is used.

bodymass

scenariopharmacologytreatmentsdosagesbodymass

<bodymass
    lowerbound=double
    dose_mult=double
  />

Documentation (type)

Gives a dose multiplier for an age or body mass range.

Attributes

Lower bound (inclusive)

lowerbound=double

Units: years Min: 0

Dose multiplier

dose_mult=double

Min: 0

The dose size given in the schedule (in mg) is multiplied by this value for patients falling into this age range when this dosage table is used.

Multiply dose

scenariopharmacologytreatmentsdosagesmultiply

<multiply
    by=("kg")
  />

Documentation (element)

Multiply the dose by some quantity, such as patient weight.

Attributes

By what?

by=("kg")

Quantity to multiply the dose by. Only option is "kg" (patient weight in kg).

Drug library

scenariopharmacologydrugs

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

Documentation (element)

A library of drug PK/PD data.

drug

scenariopharmacologydrugsdrug

<drug
    abbrev=string
  >
IN THIS ORDER:
|   <PD ... /> 
|   <PK ... /> 
</drug>

Documentation (type)

A drug description with PK/PD parameters.

Attributes

abbrev

abbrev=string

PD

scenariopharmacologydrugsdrugPD

<PD
  [ locus=string ]
  >
IN THIS ORDER:
| ( <phenotype ... /> )+
</PD>

Attributes

Locus

locus=string

Optional; if present specifies the locus corresponding to this drug's PD phenotypes: each phenotype must then match one of that locus's alleles. Otherwise the drug should specify only one phenotype. There is currently a one-to-many correspondance between loci and drugs.

PD parameters for some allele / resistance phenotype

scenariopharmacologydrugsdrugPDphenotype

<phenotype
  [ name=string ]
  >
IN THIS ORDER:
| ( <restriction ... /> )*
|   <max_killing_rate ... /> 
|   <IC50 ... /> 
|   <slope ... /> 
</phenotype>

Documentation (element)

Pharmaco-Dynamic parameters for some resistance phenotype.

To model resistance to this drug, describe multiple infection phenotypes (with respect to these PD parameters) and list one or more "restrict" elements for each phenotype.

Loci are specified elsewhere. Multiple loci may influence the action of a single drug and each locus may influence multiple drugs.

Attributes

Name of phenotype

name=string

Name of the phenotype; for documentation use only.

Restrict phenotype applicability to certain alleles

scenariopharmacologydrugsdrugPDphenotyperestriction

<restriction
    onLocus=string
    toAllele=string
  />

Documentation (element)

Specifies the mapping from genotype to phenotype. For each drug type, if only one phenotype is present, restrictions need not be specified, but otherwise restrictions must be specified.

The set of loci affecting phenotypes of this drug's action must be fixed for any drug type. Each phenotype must list, for each of these loci, a restriction to one or more alleles under the locus.

Attributes

Locus relevant to the mapping of alleles to this phenotype

onLocus=string

A locus under which only a restricted set of alleles map to this phenotype.

Alleles mapping to this phenotype

toAllele=string

One allele of a locus upon which phenotype choice depends. If multiple alleles under this locus should map to the same phenotype, repeat the whole "restriction onLocus..." element.

Maximal parasite killing rate

scenariopharmacologydrugsdrugPDphenotypemax_killing_rate

<max_killing_rate>
    double
</max_killing_rate>

Documentation (element)

Units: 1/days Min: 0

k1 — Maximal parasite killing rate.

IC50

scenariopharmacologydrugsdrugPDphenotypeIC50

<IC50
  [ sigma=double ] DEFAULT VALUE 0
  >
    double
</IC50>

Documentation (element)

Units: mg/l Min: 0

Half maximal effect concentration. If sigma > 0, the IC50 is sampled for each infection from a log-normal distribution with mean of this value and the sigma value specified, i.e. X ~ log N( log(mean) - s^2 / 2, s^2 ) .

Attributes

Sigma parameter for per-infection variation of IC50

sigma=double

Default value: 0

Distribution parameter describing per-infection variation of IC50. If zero or not specified, the IC50 is not sampled. See documentation of parent element.

Slope of effect curve

scenariopharmacologydrugsdrugPDphenotypeslope

<slope>
    double
</slope>

Documentation (element)

Units: dimensionless

n — Slope of the concentration effect curve

PK

scenariopharmacologydrugsdrugPK

<PK>
IN THIS ORDER:
|   <negligible_concentration ... /> 
| EXACTLY ONE OF:
| |   <half_life ... /> 
| | IN THIS ORDER:
| | |   <k ... /> 
| | |   <m_exponent ... /> 
| [ <k_a ... /> ]
| [ <conversion ... /> ]
|   <vol_dist ... /> 
| [ <compartment2 ... /> ]
| [ <compartment3 ... /> ]
</PK>

Drug concentration considered negligible

scenariopharmacologydrugsdrugPKnegligible_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

scenariopharmacologydrugsdrugPKhalf_life

<half_life>
    double
</half_life>

Documentation (element)

Units: days Min: 0

Used to calculate elimination rate λ, calculated as λ = ln(2) / half_life. The basic form of decay is C(t) = C0 * exp(-λ*t).

Alternatively, elimination rate can be specified via k and m_exponent.

Constant associated with elimination rate (k)

scenariopharmacologydrugsdrugPKk

<k
    mean=double
  [ cv=double ]
    distr=("lnorm" or "const")
  />

Documentation (element)

Units: day^-1 Min: 0

Constant used to calculate the elimination rate λ, which is calculated as λ = k / (body_mass ^ m_exponent), where body_mass is the patient's weight in kg and m_exponent is the next parameter. The basic form of decay is C(t) = C0 * exp(-λ*t).

If sigma > 0, k is sampled per-human from the log-normal distribution: ln N( ln(mean) - σ^2 / 2, σ^2).

Alternatively, elimination rate can be specified via half_life.

Documentation (type)

Parameters of some distribution. The mean is that provided and the standard deviation is cv*mean.

Log-normal: σ = cv * mean ; μ = ln(mean) - σ² / 2 ; X ~ ln N( μ, σ² ) ; equivalent R sample: rlnorm(1, log(mean) - ((cv * mean)^2) / 2, cv * mean).

Attributes

mean

mean=double

Units: (same as base units)

The mean of the distribution.

Coefficient of variance

cv=double

Units: unitless

Coefficient of variance (mean * cv gives standard deviation). Must be specified when distribution is not constant.

Distribution

distr=("lnorm" or "const")

Selects the distribution to use. const: constant (no distribution). Setting cv=0 has the same behaviour. lnorm: log-normal distribution

Constant associated with elimination rate (m_exponent)

scenariopharmacologydrugsdrugPKm_exponent

<m_exponent>
    double
</m_exponent>

Documentation (element)

Units: day^-1 Min: 0

Constant used to calculate the elimination rate λ, which is calculated as λ = k / (body_mass ^ m_exponent), where body_mass is the patient's weight in kg and k is the previous parameter. The basic form of decay is C(t) = C0 * exp(-λ*t).

Alternatively, elimination rate can be specified via half_life.

Note that in the case of a conversion model, this applies to both the elimination and the conversion rates.

Absorption rate constant (k_a)

scenariopharmacologydrugsdrugPKk_a

<k_a
    mean=double
  [ cv=double ]
    distr=("lnorm" or "const")
  />

Documentation (element)

Min: 0

Absorption rate parameter. Not allowed for one compartment models, but required for two and three compartment models and one compartment with conversion model (for the parent drug only).

Documentation (type)

Parameters of some distribution. The mean is that provided and the standard deviation is cv*mean.

Log-normal: σ = cv * mean ; μ = ln(mean) - σ² / 2 ; X ~ ln N( μ, σ² ) ; equivalent R sample: rlnorm(1, log(mean) - ((cv * mean)^2) / 2, cv * mean).

Attributes

mean

mean=double

Units: (same as base units)

The mean of the distribution.

Coefficient of variance

cv=double

Units: unitless

Coefficient of variance (mean * cv gives standard deviation). Must be specified when distribution is not constant.

Distribution

distr=("lnorm" or "const")

Selects the distribution to use. const: constant (no distribution). Setting cv=0 has the same behaviour. lnorm: log-normal distribution

Conversion parameters (parent drug)

scenariopharmacologydrugsdrugPKconversion

<conversion>
IN ANY ORDER:
|   <metabolite ... /> 
|   <rate ... /> 
|   <molRatio ... /> 
</conversion>

Documentation (element)

Configures the parent drug in a conversion model.

To use a conversion model, the parent drug should have this section defined as well as half-life or k (direct elimination; this may be zero) and k_a (absorption rate; this may be large).

The metabolite drug should define half-life or k (elimination of metabolite), but not k_a (absorption rate) or this section (conversion). It is not possible for the metabolite to itself undergo conversion with the current models.

Metabolite drug (abbreviation)

scenariopharmacologydrugsdrugPKconversionmetabolite

<metabolite>
    string
</metabolite>

Documentation (element)

The abbreviation of the metabolite drug (e.g. "DHA" or "DHA_AR").

Rate of conversion

scenariopharmacologydrugsdrugPKconversionrate

<rate
    mean=double
  [ cv=double ]
    distr=("lnorm" or "const")
  />

Documentation (element)

Rate of conversion of parent drug to metabolite.

Documentation (type)

Parameters of some distribution. The mean is that provided and the standard deviation is cv*mean.

Log-normal: σ = cv * mean ; μ = ln(mean) - σ² / 2 ; X ~ ln N( μ, σ² ) ; equivalent R sample: rlnorm(1, log(mean) - ((cv * mean)^2) / 2, cv * mean).

Attributes

mean

mean=double

Units: (same as base units)

The mean of the distribution.

Coefficient of variance

cv=double

Units: unitless

Coefficient of variance (mean * cv gives standard deviation). Must be specified when distribution is not constant.

Distribution

distr=("lnorm" or "const")

Selects the distribution to use. const: constant (no distribution). Setting cv=0 has the same behaviour. lnorm: log-normal distribution

Molecular weight ratio

scenariopharmacologydrugsdrugPKconversionmolRatio

<molRatio>
    double
</molRatio>

Documentation (element)

Ratio of molecular weights: molecular weight of the metabolite divided by molecular weight of the parent.

Volume of Distribution (Vd)

scenariopharmacologydrugsdrugPKvol_dist

<vol_dist
  [ sigma=double ] DEFAULT VALUE 0
  >
    double
</vol_dist>

Documentation (element)

Units: l/kg Min: 0

Volume of Distribution

Attributes

Sigma parameter for per-human variation of Vd

sigma=double

Default value: 0

Distribution parameter describing per-human variation of volume of distribution. If zero or not specified, the parameter is not sampled. See documentation of parent element.

Second compartment parameters

scenariopharmacologydrugsdrugPKcompartment2

<compartment2>
IN ANY ORDER:
|   <a12 ... /> 
|   <a21 ... /> 
</compartment2>

Documentation (element)

Optional element specifying conversion parameters to- and from- a second compartment.

Absorption rate to compartment 2 (a12)

scenariopharmacologydrugsdrugPKcompartment2a12

<a12
    mean=double
  [ cv=double ]
    distr=("lnorm" or "const")
  />

Documentation (element)

Units: day^-1 Min: 0

Absorption rate from the central compartment to the first periphery compartment (2). The parameter k12 = a12 / m where m is the body mass (kg).

It is sampled per-patient when sigma > 0.

Documentation (type)

Parameters of some distribution. The mean is that provided and the standard deviation is cv*mean.

Log-normal: σ = cv * mean ; μ = ln(mean) - σ² / 2 ; X ~ ln N( μ, σ² ) ; equivalent R sample: rlnorm(1, log(mean) - ((cv * mean)^2) / 2, cv * mean).

Attributes

mean

mean=double

Units: (same as base units)

The mean of the distribution.

Coefficient of variance

cv=double

Units: unitless

Coefficient of variance (mean * cv gives standard deviation). Must be specified when distribution is not constant.

Distribution

distr=("lnorm" or "const")

Selects the distribution to use. const: constant (no distribution). Setting cv=0 has the same behaviour. lnorm: log-normal distribution

Absorption rate from compartment 2 (a21)

scenariopharmacologydrugsdrugPKcompartment2a21

<a21
    mean=double
  [ cv=double ]
    distr=("lnorm" or "const")
  />

Documentation (element)

Units: day^-1 Min: 0

Absorption rate from the first periphery compartment (2) to the central compartment. The parameter k21 = a21 / m where m is the body mass (kg).

It is sampled per-patient when sigma > 0.

Documentation (type)

Parameters of some distribution. The mean is that provided and the standard deviation is cv*mean.

Log-normal: σ = cv * mean ; μ = ln(mean) - σ² / 2 ; X ~ ln N( μ, σ² ) ; equivalent R sample: rlnorm(1, log(mean) - ((cv * mean)^2) / 2, cv * mean).

Attributes

mean

mean=double

Units: (same as base units)

The mean of the distribution.

Coefficient of variance

cv=double

Units: unitless

Coefficient of variance (mean * cv gives standard deviation). Must be specified when distribution is not constant.

Distribution

distr=("lnorm" or "const")

Selects the distribution to use. const: constant (no distribution). Setting cv=0 has the same behaviour. lnorm: log-normal distribution

Third compartment parameters

scenariopharmacologydrugsdrugPKcompartment3

<compartment3>
IN ANY ORDER:
|   <a13 ... /> 
|   <a31 ... /> 
</compartment3>

Documentation (element)

Optional element specifying conversion parameters to- and from- a third compartment.

Absorption rate to compartment 3 (a13)

scenariopharmacologydrugsdrugPKcompartment3a13

<a13
    mean=double
  [ cv=double ]
    distr=("lnorm" or "const")
  />

Documentation (element)

Units: day^-1 Min: 0

Absorption rate from the central compartment to the second periphery compartment (3). The parameter k13 = a13 / m where m is the body mass (kg).

It is sampled per-patient when sigma > 0.

Documentation (type)

Parameters of some distribution. The mean is that provided and the standard deviation is cv*mean.

Log-normal: σ = cv * mean ; μ = ln(mean) - σ² / 2 ; X ~ ln N( μ, σ² ) ; equivalent R sample: rlnorm(1, log(mean) - ((cv * mean)^2) / 2, cv * mean).

Attributes

mean

mean=double

Units: (same as base units)

The mean of the distribution.

Coefficient of variance

cv=double

Units: unitless

Coefficient of variance (mean * cv gives standard deviation). Must be specified when distribution is not constant.

Distribution

distr=("lnorm" or "const")

Selects the distribution to use. const: constant (no distribution). Setting cv=0 has the same behaviour. lnorm: log-normal distribution

Absorption rate from compartment 3 (a31)

scenariopharmacologydrugsdrugPKcompartment3a31

<a31
    mean=double
  [ cv=double ]
    distr=("lnorm" or "const")
  />

Documentation (element)

Units: day^-1 Min: 0

Absorption rate from the second periphery compartment (3) to the central compartment. The parameter k31 = a31 / m where m is the body mass (kg).

It is sampled per-patient when sigma > 0.

Documentation (type)

Parameters of some distribution. The mean is that provided and the standard deviation is cv*mean.

Log-normal: σ = cv * mean ; μ = ln(mean) - σ² / 2 ; X ~ ln N( μ, σ² ) ; equivalent R sample: rlnorm(1, log(mean) - ((cv * mean)^2) / 2, cv * mean).

Attributes

mean

mean=double

Units: (same as base units)

The mean of the distribution.

Coefficient of variance

cv=double

Units: unitless

Coefficient of variance (mean * cv gives standard deviation). Must be specified when distribution is not constant.

Distribution

distr=("lnorm" or "const")

Selects the distribution to use. const: constant (no distribution). Setting cv=0 has the same behaviour. lnorm: log-normal distribution

Diagnostic parameters

scenariodiagnostics

<diagnostics>
IN THIS ORDER:
| ( <diagnostic ... /> )*
</diagnostics>

Documentation (element)

Diagnostic model parameters

diagnostic

scenariodiagnosticsdiagnostic

<diagnostic
    name=string
  [ units=("Other" or "Garki" or "Malariatherapy") ]
  >
IN THIS ORDER:
| EXACTLY ONE OF:
| |   <deterministic ... /> 
| |   <stochastic ... /> 
</diagnostic>

Attributes

Name of diagnostic

name=string

Name of this diagnostic (parameterisation). May be used elsewhere in the XML document to refer to this set of diagnostic parameters.

Parasite density units / methodology

units=("Other" or "Garki" or "Malariatherapy")

Parasite densities, as estimated according to standard microscopy methods, the Garki method, and as derived from Malariatherapy data are not equivalent. Internally, a "bias" factor is used to convert values estimated by one methods to values comparable with another (see AJTMHv75 supplement 2 pp20-21). This option allows specification of which methodology the density given in the diagnostic specification is measured with. Values allowed are: Malariatherapy, Garki and Other. If not specified, Other is assumed, unless the GARKI_DENSITY_BIAS model option is used, in which case this option must be specified.

Deterministic detection

scenariodiagnosticsdiagnosticdeterministic

<deterministic
    minDensity=double
  />

Documentation (element)

Specify that an artificial deterministic test is used: outcome is positive if parasite density is at least the minimum given.

Attributes

Minimum detectible density

minDensity=double

Units: parasites/microlitre Min: 0

The minimum density at which parasites can be detected. If 0, the test outcome is always positive.

Non-deterministic detection

scenariodiagnosticsdiagnosticstochastic

<stochastic
    dens_50=double
    specificity=double
  />

Documentation (element)

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

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

Some parameterisations:

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

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

Attributes

Density 50

dens_50=double

Units: parasites/microlitre Min: 0

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

Specificity

specificity=double

Units: Dimensionless Min: 0 Max: 1

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

Model options and parameters

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: model/util/ModelOptions.h and should also be in the wiki.

clinical

scenariomodelclinical

<clinical
    healthSystemMemory=string
  >
IN ANY ORDER:
| [ <NeonatalMortality ... /> ]
| [ <NonMalariaFevers ... /> ]
</clinical>

Documentation (type)

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

Attributes

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

healthSystemMemory=string

Units: User-defined (defaults to steps)

Follow-up period during which a recurrence is considered to be a treatment failure Can be specified in steps (e.g. 6t) or days (e.g. 28d).

Neonatal mortality parameters

scenariomodelclinicalNeonatalMortality

<NeonatalMortality
    diagnostic=string
  />

Attributes

Diagnostic used to parameterise model

diagnostic=string

The name of a diagnostic used to parameterise the model. Neonatal mortality is derived from malaria patency of a certain sub-population of humans. This is the diagnostic used to asses patency for this purpose. If this is not specified, the monitoring diagnostic is used.

NonMalariaFevers

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

Documentation (element)

Units: kg Min: 0

By age group data on human weight (mass).

Attributes

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 ... /> 
|   <hypnozoiteRelease ... /> 
|   <bloodStageProtectionLatency ... /> 
|   <bloodStageLengthDays ... /> 
|   <clinicalEvents ... /> 
</vivax>

probBloodStageInfectiousToMosq

scenariomodelvivaxprobBloodStageInfectiousToMosq

<probBloodStageInfectiousToMosq
    value=double
  />

Attributes

Input parameter value

value=double

A double-precision floating-point value.

hypnozoiteRelease

scenariomodelvivaxhypnozoiteRelease

<hypnozoiteRelease
  [ pSecondRelease=double ] DEFAULT VALUE 0
  >
IN ANY ORDER:
|   <numberHypnozoites ... /> 
|   <firstRelease ... /> 
| [ <secondRelease ... /> ]
</hypnozoiteRelease>

Documentation (type)

This element defines probabilites when and how many hypnozoites are released from the liverstage into the blood.

The gap between the start of a new brood of hypnozoites and its release are defined as follows:

latentP + latentRelapseDays + randomReleaseDelay

randomReleaseDelay is based on one or two lognormal distributions, which are defined in firstRelease and optionally secondRelease.

You can define 2 release distributions, which get added together and represent the probability of hypnozoites which get released before winter (first release) or after (second release).

You can omit the secondRelease element if no release to the blood happens after winter.

Attributes

latent relapse days

pSecondRelease=double

Default value: 0

Probability of a second release. If undefined it is zero.

Number of Hypnozoites

scenariomodelvivaxhypnozoiteReleasenumberHypnozoites

<numberHypnozoites
    max=int
    base=double
  />

Documentation (element)

numberHypnozoites calculates the number of hypnozoites in the liver stage based on a base which is between 0 and 1.

This number is random based on the following distribution and normalized:

max ∑ (base ^ n) n = 0

Attributes

max

max=int

base

base=double

firstRelease

scenariomodelvivaxhypnozoiteReleasefirstRelease

<firstRelease
    latentRelapseDays=int
  />

Documentation (base type)

Parameters of a normal distribution.

Variates are sampled as: X ~ N( mu, sigma² ).

Attributes

latent relapse days

latentRelapseDays=int

Usually 15 days or 10 days (3 or 2 5-day timesteps).

secondRelease

scenariomodelvivaxhypnozoiteReleasesecondRelease

<secondRelease
    latentRelapseDays=int
  />

Documentation (base type)

Parameters of a normal distribution.

Variates are sampled as: X ~ N( mu, sigma² ).

Attributes

latent relapse days

latentRelapseDays=int

Usually 15 days or 10 days (3 or 2 5-day timesteps).

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

clinicalEvents

scenariomodelvivaxclinicalEvents

<clinicalEvents>
IN THIS ORDER:
|   <pPrimaryInfection ... /> 
|   <pRelapseOne ... /> 
|   <pRelapseTwoPlus ... /> 
|   <pEventIsSevere ... /> 
</clinicalEvents>

Documentation (type)

This elements holds all information about probabilites for clinical events from infections and relapses.

pPrimaryInfection

scenariomodelvivaxclinicalEventspPrimaryInfection

<pPrimaryInfection
    a=double
    b=double
  />

Attributes

a

a=double

b

b=double

pRelapseOne

scenariomodelvivaxclinicalEventspRelapseOne

<pRelapseOne
    a=double
    b=double
  />

Attributes

a

a=double

b

b=double

pRelapseTwoPlus

scenariomodelvivaxclinicalEventspRelapseTwoPlus

<pRelapseTwoPlus
    a=double
    b=double
  />

Attributes

a

a=double

b

b=double

pEventIsSevere

scenariomodelvivaxclinicalEventspEventIsSevere

<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=string
  >
IN THIS ORDER:
| ( <parameter ... /> )+
</parameters>

Documentation (element)

Parameters of the epidemiological model

Attributes

Simulation step

interval=int

Units: Days

Simulation step

Random number seed

iseed=int

Units: Number

Seed for RNG

Pre-erythrocytic latent period

latentp=string

Units: User defined (default: steps) Min: 0 Max: 20

Pre-erythrocytic latent period Can be specified in steps (e.g. 3t) or days (e.g. 15d).

parameter

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.