-
Notifications
You must be signed in to change notification settings - Fork 0
GeneratedSchema18Doc
This page is automatically generated from the following schema file: scenario_18.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
schemaVersion=int
analysisNo=int
name=string
wuID=int
assimMode=("0" or "1")
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:noNamespaceSchemaLocation="scenario_18.xsd"
>
IN THIS ORDER:
| <demography ... />
| <monitoring ... />
| <interventions ... />
| <healthSystem ... />
| <entoData ... />
| [ <drugDescription ... /> ]
| <model ... />
</scenario>
Description of scenario
schemaVersion=int
Version of xml schema. If not equal to the current version an error is thrown. Use SchemaTranslator to update xml files.
analysisNo=int
Units: Number Min: 1 Max: 100000000
Unique identifier of scenario
name=string
Units: string
Name of intervention
wuID=int
Units: Number Min: 1 Max: 100000000
Work unit ID. Only used to validate checkpointing, to prevent checkpoint cheats.
assimMode=("0" or "1")
Units: Code
Assimilator mode. Defines output of simulator as either complete (columns: time,agegroup,measure,value) or minimal (single column: value)
→ scenario → demography
<demography
name=string
popSize=int
maximumAgeYrs=double
[ growthRate=double ]
>
IN THIS ORDER:
| <ageGroup ... />
</demography>
Description of demography
name=string
Units: string
Name of demography data
popSize=int
Units: Count Min: 1 Max: 100000
Population size
maximumAgeYrs=double
Units: Number Min: 0 Max: 100
Maximum age of simulated humans
growthRate=double
Units: Number Min: 0 Max: 0
Growth rate of human population. (we should be able to implement this with non-zero values)
→ scenario → demography → ageGroup
<ageGroup
lowerbound=double
>
IN THIS ORDER:
| ( <group ... /> )+
</ageGroup>
List of age groups included in demography
List of age groups included in demography or surveys
lowerbound=double
Units: Years Min: 0 Max: 100
Lower bound of age group
→ scenario → demography → ageGroup → group
<group
poppercent=double
upperbound=double
/>
poppercent=double
Percentage of human population in age group
upperbound=double
Units: Years Min: 0 Max: 100
Upper bound of age group
→ scenario → monitoring
<monitoring
name=string
>
IN THIS ORDER:
| <SurveyOptions ... />
| <surveys ... />
| <ageGroup ... />
</monitoring>
Description of surveys
name=string
Units: string
Name of monitoring data
→ scenario → monitoring → SurveyOptions
<SurveyOptions>
IN THIS ORDER:
| ( <option ... /> )*
</SurveyOptions>
List of all active survey options. See include/Survey.h for a list of supported outputs. Should also be on the wiki.
→ scenario → monitoring → SurveyOptions → option
<option
name=string
value=boolean
/>
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.
value=boolean
Option value (true/false). Each option has a default value (may be true or false) which is used if the option is not listed.
→ scenario → monitoring → surveys
<surveys
detectionLimit=double
>
IN THIS ORDER:
| <surveyTime ... />
</surveys>
List of survey times
detectionLimit=double
Units: parasites/micolitre Min: 0 Max: 1000
Detection limit for parasitemia
→ scenario → monitoring → surveys → surveyTime
<surveyTime>
int
</surveyTime>
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.
→ scenario → monitoring → ageGroup
<ageGroup
lowerbound=double
>
IN THIS ORDER:
| ( <group ... /> )+
</ageGroup>
List of age groups included in demography or surveys
List of age groups included in surveys
lowerbound=double
Units: Years Min: 0 Max: 100
Lower bound of age group
→ scenario → monitoring → ageGroup → group
<group
upperbound=double
/>
upperbound=double
Units: Years Min: 0 Max: 100
Upper bound of age group
<interventions
name=string
>
IN THIS ORDER:
| [ <MDADescription ... /> ]
| ( <vaccineDescription ... /> ){0,3}
| [ <iptiDescription ... /> ]
| ( <anopheles ... /> )*
| [ <continuous ... /> ]
| [ <timed ... /> ]
</interventions>
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.
name=string
Units: string
Name of age specific intervention
→ scenario → interventions → MDADescription
<MDADescription>
IN THIS ORDER:
| [ <schedule ... /> ]
</MDADescription>
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.
→ scenario → interventions → MDADescription → schedule
<schedule>
IN THIS ORDER:
| ( <medicate ... /> )*
</schedule>
The base (unmodified) schedule of drugs administered for this treatment.
→ scenario → interventions → MDADescription → schedule → medicate
<medicate
drug=string
mg=double
hour=double
/>
drug=string
Units: string
Abbreviated name of drug compound
mg=double
Units: mg
Quantity of drug compound
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).
→ scenario → interventions → vaccineDescription
<vaccineDescription
vaccineType=int
>
IN THIS ORDER:
| <halfLifeYrs ... />
| <efficacyB ... />
| ( <initialEfficacy ... /> )+
</vaccineDescription>
vaccineType=int
Units: Code
Type of vaccine
→ scenario → interventions → vaccineDescription → halfLifeYrs
<halfLifeYrs
value=double
/>
Half life of drug effect
value=double
A double-precision floating-point value.
→ scenario → interventions → vaccineDescription → efficacyB
<efficacyB
value=double
/>
Measure of variation in vaccine efficacy
value=double
A double-precision floating-point value.
→ scenario → interventions → vaccineDescription → initialEfficacy
<initialEfficacy
value=double
/>
value=double
A double-precision floating-point value.
→ scenario → interventions → iptiDescription
<iptiDescription
iptiEffect=int
>
IN THIS ORDER:
| ( <infGenotype ... /> )+
</iptiDescription>
iptiEffect=int
→ scenario → interventions → iptiDescription → infGenotype
<infGenotype
name=string
freq=double
ACR=double
proph=int
tolPeriod=int
atten=double
/>
name=string
Units: string
Name of age specific intervention
freq=double
Frequency of parasite genotype
ACR=double
Adequate clinical response (proportion)
proph=int
Prophylactic period
tolPeriod=int
Tolerance period
atten=double
Tolerance period
→ scenario → interventions → anopheles
<anopheles
mosquito=string
>
IN THIS ORDER:
| [ <ITNDescription ... /> ]
| [ <IRSDescription ... /> ]
| [ <VADescription ... /> ]
</anopheles>
mosquito=string
Description of the entomological effects of interventions
→ scenario → interventions → anopheles → ITNDescription
<ITNDescription
name=string
>
IN THIS ORDER:
| <deterrency ... />
| <preprandialKillingEffect ... />
| <postprandialKillingEffect ... />
</ITNDescription>
name=string
Units: string
Name of Insecticide Treated Net intervention
→ scenario → interventions → anopheles → ITNDescription → deterrency
<deterrency
initial=double
halflife=double
[ Weibullk=double ]
/>
One minus this multiplies the host's availability (before decay).
Specification of a proportion with Weibull or exponential decay.
initial=double
Units: None Min: 0 Max: 1
The value before any decay.
halflife=double
Units: Years Min: 0
Half-life in years (more generally, halflife/ln(2) is lambda from the Weibull distribution).
Weibullk=double
Min: 0
The parameter k of the Weibull distribution. If missing, 1.0 is used (equivalent to exponential decay).
→ scenario → interventions → anopheles → ITNDescription → preprandialKillingEffect
<preprandialKillingEffect
initial=double
halflife=double
[ Weibullk=double ]
/>
One minus this multiplies the survival rate of mosquitoes attempting to bite a host.
Specification of a proportion with Weibull or exponential decay.
initial=double
Units: None Min: 0 Max: 1
The value before any decay.
halflife=double
Units: Years Min: 0
Half-life in years (more generally, halflife/ln(2) is lambda from the Weibull distribution).
Weibullk=double
Min: 0
The parameter k of the Weibull distribution. If missing, 1.0 is used (equivalent to exponential decay).
→ scenario → interventions → anopheles → ITNDescription → postprandialKillingEffect
<postprandialKillingEffect
initial=double
halflife=double
[ Weibullk=double ]
/>
One minus this multiplies the survival rate of mosquitoes attempting to escape after biting a host.
Specification of a proportion with Weibull or exponential decay.
initial=double
Units: None Min: 0 Max: 1
The value before any decay.
halflife=double
Units: Years Min: 0
Half-life in years (more generally, halflife/ln(2) is lambda from the Weibull distribution).
Weibullk=double
Min: 0
The parameter k of the Weibull distribution. If missing, 1.0 is used (equivalent to exponential decay).
→ scenario → interventions → anopheles → IRSDescription
<IRSDescription
name=string
>
IN THIS ORDER:
| <deterrency ... />
| <killingEffect ... />
</IRSDescription>
name=string
Units: string
Name of Indoor Residual Spraying intervention
→ scenario → interventions → anopheles → IRSDescription → deterrency
<deterrency
initial=double
halflife=double
[ Weibullk=double ]
/>
One minus this multiplies the host's availability.
Specification of a proportion with Weibull or exponential decay.
initial=double
Units: None Min: 0 Max: 1
The value before any decay.
halflife=double
Units: Years Min: 0
Half-life in years (more generally, halflife/ln(2) is lambda from the Weibull distribution).
Weibullk=double
Min: 0
The parameter k of the Weibull distribution. If missing, 1.0 is used (equivalent to exponential decay).
→ scenario → interventions → anopheles → IRSDescription → killingEffect
<killingEffect
initial=double
halflife=double
[ Weibullk=double ]
/>
One minus this multiplies the survival rate of resting mosquitoes.
Specification of a proportion with Weibull or exponential decay.
initial=double
Units: None Min: 0 Max: 1
The value before any decay.
halflife=double
Units: Years Min: 0
Half-life in years (more generally, halflife/ln(2) is lambda from the Weibull distribution).
Weibullk=double
Min: 0
The parameter k of the Weibull distribution. If missing, 1.0 is used (equivalent to exponential decay).
→ scenario → interventions → anopheles → VADescription
<VADescription
name=string
>
IN THIS ORDER:
| <deterrency ... />
</VADescription>
name=string
Units: string
Name of mosquito deterrency intervention
→ scenario → interventions → anopheles → VADescription → deterrency
<deterrency
initial=double
halflife=double
[ Weibullk=double ]
/>
One minus this multiplies the host's availability.
Specification of a proportion with Weibull or exponential decay.
initial=double
Units: None Min: 0 Max: 1
The value before any decay.
halflife=double
Units: Years Min: 0
Half-life in years (more generally, halflife/ln(2) is lambda from the Weibull distribution).
Weibullk=double
Min: 0
The parameter k of the Weibull distribution. If missing, 1.0 is used (equivalent to exponential decay).
→ scenario → interventions → continuous
<continuous>
IN THIS ORDER:
| ( <vaccine ... /> )*
| ( <ITN ... /> )*
| ( <ipti ... /> )*
</continuous>
→ scenario → interventions → continuous → vaccine
<vaccine
targetAgeYrs=double
coverage=double
/>
List of age groups for vaccination
targetAgeYrs=double
Units: Years Min: 0 Max: 100
Target age of intervention
coverage=double
Units: Proportion Min: 0 Max: 1
Coverage of intervention
→ scenario → interventions → continuous → ITN
<ITN
targetAgeYrs=double
coverage=double
/>
Description of ITN deployment in the community
targetAgeYrs=double
Units: Years Min: 0 Max: 100
Target age of intervention
coverage=double
Units: Proportion Min: 0 Max: 1
Coverage of intervention
→ scenario → interventions → continuous → ipti
<ipti
targetAgeYrs=double
coverage=double
/>
List of age groups for IPTi distribution
targetAgeYrs=double
Units: Years Min: 0 Max: 100
Target age of intervention
coverage=double
Units: Proportion Min: 0 Max: 1
Coverage of intervention
→ scenario → interventions → timed
<timed>
IN THIS ORDER:
| ( <intervention ... /> )+
</timed>
List of timed interventions
List of timed interventions
→ scenario → interventions → timed → intervention
<intervention
time=int
>
IN THIS ORDER:
| [ <changeHS ... /> ]
| [ <changeEIR ... /> ]
| [ <importedInfectionsPerThousandHosts ... /> ]
| [ <MDA ... /> ]
| [ <vaccinate ... /> ]
| [ <ITN ... /> ]
| [ <IRS ... /> ]
| [ <VectorAvailability ... /> ]
| [ <ipti ... /> ]
| [ <larviciding ... /> ]
</intervention>
- changeHS
- changeEIR
- importedInfectionsPerThousandHosts
- MDA
- vaccinate
- ITN
- IRS
- VectorAvailability
- ipti
- larviciding
time=int
Units: Number Min: 1 Max: 10000
Time step of intervention
→ scenario → interventions → timed → intervention → changeHS
<changeHS>
IN THIS ORDER:
| EXACTLY ONE OF:
| | <EventScheduler ... />
| | <ImmediateOutcomes ... />
| <CFR ... />
</changeHS>
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.
→ scenario → healthSystem → EventScheduler
<EventScheduler>
IN THIS ORDER:
| <uncomplicated ... />
| <complicated ... />
| <ClinicalOutcomes ... />
</EventScheduler>
→ scenario → healthSystem → EventScheduler → uncomplicated
<uncomplicated>
IN THIS ORDER:
| <decisions ... />
| <treatments ... />
</uncomplicated>
A set of decisions and a set of treatments.
→ scenario → healthSystem → EventScheduler → uncomplicated → decisions
<decisions>
IN THIS ORDER:
| ( <decision ... /> )*
</decisions>
Description of decisions for a case management tree. A generic view of this tree would be that each decision is deterministic, or based on probabilities which may depend on other decisions. Probabilistic decisions are described here.
In general, each decision has a name, a defined set of outcome values, and a set of dependent decisions mentioned by name. The following decisions, with their associated outcomes, are provided by the code (and may not be included here):
- age5Test: tests the patient's age and returns "under5" or "over5".
- case (uncomplicated only): Returns "UC1" if there is no recent history of a malarial case, or "UC2" if there is.
- result (uncomplicated only): Dependent on decision "test", this performs a parasite density test. Output is one of "none" (no test performed), "positive", "negative".
The following decisions must be described here:
- test (uncomplicated only): Outputs must be "none", "microscopy" or "RDT" to describe which test the "result" decision uses.
- treatment: Describes which treatment to use. Values aren't restricted but must match up with a treatment described in the corresponding "treatments" section.
→ scenario → healthSystem → EventScheduler → uncomplicated → decisions → decision
<decision
name=string
depends=string
values=string
>
string
</decision>
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.
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.).
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.
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).
→ scenario → healthSystem → EventScheduler → uncomplicated → treatments
<treatments>
IN THIS ORDER:
| ( <treatment ... /> )*
</treatments>
A list of drug treatment tables. Each should have a name corresponding to one of the "drug" decision's values.
→ scenario → healthSystem → EventScheduler → uncomplicated → treatments → treatment
<treatment
name=string
>
IN THIS ORDER:
| <schedule ... />
| ( <modifier ... /> )*
</treatment>
A description of a base treatment schedule along with modifiers to handle delays, quality variations, etc.
name=string
Units: string
Name corresponding to one of the drug decision's output values.
→ scenario → healthSystem → EventScheduler → uncomplicated → treatments → treatment → schedule
<schedule>
IN THIS ORDER:
| ( <medicate ... /> )*
</schedule>
The base (unmodified) schedule of drugs administered for this treatment.
→ scenario → healthSystem → EventScheduler → uncomplicated → treatments → treatment → modifier
<modifier
decision=string
>
EXACTLY ONE OF:
| ( <multiplyQty ... /> )*
| ( <delay ... /> )*
| ( <selectTimeRange ... /> )*
</modifier>
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.
decision=string
Units: string
Specifies the decision that this modifier acts on.
→ scenario → healthSystem → EventScheduler → uncomplicated → treatments → treatment → modifier → multiplyQty
<multiplyQty
value=string
effect=string
[ affectsCost=boolean ]
/>
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.
value=string
Units: string
Specifies a value of the decision to act on.
effect=string
Units: string
Comma-separated list of the effect the modifier has on each drug, in the form DRUG1(EFFECT1),DRUG2(EFFECT2), etc.
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.
→ scenario → healthSystem → EventScheduler → uncomplicated → treatments → treatment → modifier → delay
<delay
value=string
effect=string
[ affectsCost=boolean ]
/>
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.
value=string
Units: string
Specifies a value of the decision to act on.
effect=string
Units: string
Comma-separated list of the effect the modifier has on each drug, in the form DRUG1(EFFECT1),DRUG2(EFFECT2), etc.
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.
→ scenario → healthSystem → EventScheduler → uncomplicated → treatments → treatment → modifier → selectTimeRange
<selectTimeRange
value=string
effect=string
[ affectsCost=boolean ]
/>
Selects which drug doses to administer according to time of administration (before times are modified by delays).
The "drugs" attribute is a comma-separated list of all active ingredients administered in the base schedule (each must be listed once) and the content of this element is a comma- separated list of time-ranges (in hours) for each active ingredient, listed in the same order as in the "drugs" attribute. The time-ranges should be of the form x-y and are interpreted as the half-open interval [x,y); that is a drug listed with time t will only be administered if x <= t < y.
value=string
Units: string
Specifies a value of the decision to act on.
effect=string
Units: string
Comma-separated list of the effect the modifier has on each drug, in the form DRUG1(EFFECT1),DRUG2(EFFECT2), etc.
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.
→ scenario → healthSystem → EventScheduler → complicated
<complicated>
IN THIS ORDER:
| <decisions ... />
| <treatments ... />
</complicated>
A set of decisions and a set of treatments.
→ scenario → healthSystem → EventScheduler → ClinicalOutcomes
<ClinicalOutcomes>
IN THIS ORDER:
| <maxUCSeekingMemory ... />
| <uncomplicatedCaseDuration ... />
| <complicatedCaseDuration ... />
| <complicatedRiskDuration ... />
| <pImmediateUC ... />
| <propDeathsFirstDay ... />
| <communityOddsMultiplier ... />
</ClinicalOutcomes>
- maxUCSeekingMemory
- uncomplicatedCaseDuration
- complicatedCaseDuration
- complicatedRiskDuration
- pImmediateUC
- propDeathsFirstDay
- communityOddsMultiplier
Description of base parameters of the clinical model.
→ scenario → healthSystem → EventScheduler → ClinicalOutcomes → maxUCSeekingMemory
<maxUCSeekingMemory>
int
</maxUCSeekingMemory>
Maximum number of timesteps (including first of case) an individual will remember they are sick before resetting.
→ scenario → healthSystem → EventScheduler → ClinicalOutcomes → uncomplicatedCaseDuration
<uncomplicatedCaseDuration>
int
</uncomplicatedCaseDuration>
Fixed length of an uncomplicated case of malarial/non-malarial sickness (from treatment seeking until return to life-as-usual). Usually 3.
→ scenario → healthSystem → EventScheduler → ClinicalOutcomes → complicatedCaseDuration
<complicatedCaseDuration>
int
</complicatedCaseDuration>
Fixed length of a complicated/severe case of malaria (from treatment seeking until return to life-as-usual).
→ scenario → healthSystem → EventScheduler → ClinicalOutcomes → complicatedRiskDuration
<complicatedRiskDuration>
int
</complicatedRiskDuration>
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.
→ scenario → healthSystem → EventScheduler → ClinicalOutcomes → pImmediateUC
<pImmediateUC>
double
</pImmediateUC>
Probability that UC treatment seeking will be done immediately when sick, on second day given that it wasn't done on first, etc.
→ scenario → healthSystem → EventScheduler → ClinicalOutcomes → propDeathsFirstDay
<propDeathsFirstDay>
double
</propDeathsFirstDay>
Proportion of direct deaths from severe malaria or a complication which happen on the day of entry to the health system.
→ scenario → healthSystem → EventScheduler → ClinicalOutcomes → communityOddsMultiplier
<communityOddsMultiplier>
double
</communityOddsMultiplier>
Multiplies the odds of dying in a community case, where the base (hospital) probability of death comes from other inputs.
→ scenario → healthSystem → ImmediateOutcomes
<ImmediateOutcomes
name=string
>
IN THIS ORDER:
| <drugRegimen ... />
| <initialACR ... />
| <compliance ... />
| <nonCompliersEffective ... />
| <pSeekOfficialCareUncomplicated1 ... />
| <pSelfTreatUncomplicated ... />
| <pSeekOfficialCareUncomplicated2 ... />
| <pSeekOfficialCareSevere ... />
| <pSequelaeInpatient ... />
</ImmediateOutcomes>
- drugRegimen
- initialACR
- compliance
- nonCompliersEffective
- pSeekOfficialCareUncomplicated1
- pSelfTreatUncomplicated
- pSeekOfficialCareUncomplicated2
- pSeekOfficialCareSevere
- pSequelaeInpatient
Description of "immediate outcomes" health system: Tediosi et al case management model (Case management as described in AJTMH 75 (suppl 2) pp90-103).
name=string
Units: string
Name of health system
→ scenario → healthSystem → ImmediateOutcomes → drugRegimen
<drugRegimen
firstLine=string
secondLine=string
inpatient=string
/>
Description of drug regimen
firstLine=string
Units: Drug code
Code for first line drug
secondLine=string
Units: Drug code
Code for second line drug
inpatient=string
Units: Drug code
Code for drug used for treating inpatients
→ scenario → healthSystem → ImmediateOutcomes → initialACR
<initialACR>
IN THIS ORDER:
| [ <CQ ... /> ]
| [ <SP ... /> ]
| [ <AQ ... /> ]
| [ <SPAQ ... /> ]
| [ <ACT ... /> ]
| [ <QN ... /> ]
| <selfTreatment ... />
</initialACR>
Initial cure rate
→ scenario → healthSystem → ImmediateOutcomes → initialACR → CQ
<CQ
value=double
/>
Chloroquine
value=double
A double-precision floating-point value.
→ scenario → healthSystem → ImmediateOutcomes → initialACR → SP
<SP
value=double
/>
Sulphadoxine-pyrimethamine
value=double
A double-precision floating-point value.
→ scenario → healthSystem → ImmediateOutcomes → initialACR → AQ
<AQ
value=double
/>
Amodiaquine
value=double
A double-precision floating-point value.
→ scenario → healthSystem → ImmediateOutcomes → initialACR → SPAQ
<SPAQ
value=double
/>
Sulphadoxine-pyrimethamine/Amodiaquine
value=double
A double-precision floating-point value.
→ scenario → healthSystem → ImmediateOutcomes → initialACR → ACT
<ACT
value=double
/>
Artemisinine combination therapy
value=double
A double-precision floating-point value.
→ scenario → healthSystem → ImmediateOutcomes → initialACR → QN
<QN
value=double
/>
Quinine
value=double
A double-precision floating-point value.
→ scenario → healthSystem → ImmediateOutcomes → initialACR → selfTreatment
<selfTreatment
value=double
/>
Probability of self-treatment
value=double
A double-precision floating-point value.
→ scenario → healthSystem → ImmediateOutcomes → compliance
<compliance>
IN THIS ORDER:
| [ <CQ ... /> ]
| [ <SP ... /> ]
| [ <AQ ... /> ]
| [ <SPAQ ... /> ]
| [ <ACT ... /> ]
| [ <QN ... /> ]
| <selfTreatment ... />
</compliance>
Adherence to treatment
→ scenario → healthSystem → ImmediateOutcomes → nonCompliersEffective
<nonCompliersEffective>
IN THIS ORDER:
| [ <CQ ... /> ]
| [ <SP ... /> ]
| [ <AQ ... /> ]
| [ <SPAQ ... /> ]
| [ <ACT ... /> ]
| [ <QN ... /> ]
| <selfTreatment ... />
</nonCompliersEffective>
Effectiveness of treatment of non compliers
→ scenario → healthSystem → ImmediateOutcomes → pSeekOfficialCareUncomplicated1
<pSeekOfficialCareUncomplicated1
value=double
/>
Probability that a patient with newly incident uncomplicated disease seeks official care
value=double
A double-precision floating-point value.
→ scenario → healthSystem → ImmediateOutcomes → pSelfTreatUncomplicated
<pSelfTreatUncomplicated
value=double
/>
Probability that a patient with uncomplicated disease self-treats
value=double
A double-precision floating-point value.
→ scenario → healthSystem → ImmediateOutcomes → pSeekOfficialCareUncomplicated2
<pSeekOfficialCareUncomplicated2
value=double
/>
Probability that a patient with recurrence of uncomplicated disease seeks official care
value=double
A double-precision floating-point value.
→ scenario → healthSystem → ImmediateOutcomes → pSeekOfficialCareSevere
<pSeekOfficialCareSevere
value=double
/>
Probability that a patient with severe disease obtains appropriate care
value=double
A double-precision floating-point value.
→ scenario → healthSystem → ImmediateOutcomes → pSequelaeInpatient
<pSequelaeInpatient>
IN THIS ORDER:
| ( <item ... /> )+
</pSequelaeInpatient>
List of age specific probabilities of sequelae in inpatients.
Note: previously these ranges were silently remapped. To prevent unexpected differences, there must be two groups, with maxAgeYrs bounds 5 and 99 respectively.
→ scenario → healthSystem → ImmediateOutcomes → pSequelaeInpatient → item
<item
maxAgeYrs=double
/>
maxAgeYrs=double
Units: Years Min: 0 Max: 100
Upper bound of age group
→ scenario → healthSystem → CFR
<CFR>
IN THIS ORDER:
| ( <group ... /> )+
</CFR>
→ scenario → healthSystem → CFR → group
<group
cfr=double
lowerbound=double
/>
cfr=double
Units: Proportion Min: 0 Max: 1
Case fatality rate
lowerbound=double
Units: Years Min: 0 Max: 100
Lower bound of age group
→ scenario → interventions → timed → intervention → changeEIR
<changeEIR
eipDuration=int
>
IN THIS ORDER:
| ( <EIRDaily ... /> )+
</changeEIR>
New description of transmission setting for models without vector control interventions (included for backward compatibility)
eipDuration=int
The duration of sporogony in days
→ scenario → entoData → nonVector → EIRDaily
<EIRDaily
[ origin=string ]
>
double
</EIRDaily>
There are two distinct ways of inputing the transmission setting. With this option, the values of daily EIR are input separately. This is only valid for models that do not invoke vector control and is retained only for backward compatibility. When multiple values are given for a single timestep they are averaged.
origin=string
→ scenario → interventions → timed → intervention → importedInfectionsPerThousandHosts
<importedInfectionsPerThousandHosts>
double
</importedInfectionsPerThousandHosts>
→ scenario → interventions → timed → intervention → MDA
<MDA
[ maxAge=double ]
[ minAge=double ]
coverage=double
/>
Description of mass drug deployment in the community.
maxAge=double
Units: Years Min: 0 Max: 100
Maximum age of eligible individuals (defaults to 100)
minAge=double
Units: Years Min: 0 Max: 100
Minimum age of eligible individuals (defaults to 0)
coverage=double
Units: Proportion Min: 0 Max: 1
Coverage of intervention
→ scenario → interventions → timed → intervention → vaccinate
<vaccinate
[ maxAge=double ]
[ minAge=double ]
coverage=double
/>
Description of vaccine deployment in the community
maxAge=double
Units: Years Min: 0 Max: 100
Maximum age of eligible individuals (defaults to 100)
minAge=double
Units: Years Min: 0 Max: 100
Minimum age of eligible individuals (defaults to 0)
coverage=double
Units: Proportion Min: 0 Max: 1
Coverage of intervention
→ scenario → interventions → timed → intervention → ITN
<ITN
[ maxAge=double ]
[ minAge=double ]
coverage=double
/>
Description of ITN deployment in the community
maxAge=double
Units: Years Min: 0 Max: 100
Maximum age of eligible individuals (defaults to 100)
minAge=double
Units: Years Min: 0 Max: 100
Minimum age of eligible individuals (defaults to 0)
coverage=double
Units: Proportion Min: 0 Max: 1
Coverage of intervention
→ scenario → interventions → timed → intervention → IRS
<IRS
[ maxAge=double ]
[ minAge=double ]
coverage=double
/>
Description of IRS deployment in the community
maxAge=double
Units: Years Min: 0 Max: 100
Maximum age of eligible individuals (defaults to 100)
minAge=double
Units: Years Min: 0 Max: 100
Minimum age of eligible individuals (defaults to 0)
coverage=double
Units: Proportion Min: 0 Max: 1
Coverage of intervention
→ scenario → interventions → timed → intervention → VectorAvailability
<VectorAvailability
[ maxAge=double ]
[ minAge=double ]
coverage=double
/>
Description of a mosquito deterrent deployment in the community
maxAge=double
Units: Years Min: 0 Max: 100
Maximum age of eligible individuals (defaults to 100)
minAge=double
Units: Years Min: 0 Max: 100
Minimum age of eligible individuals (defaults to 0)
coverage=double
Units: Proportion Min: 0 Max: 1
Coverage of intervention
→ scenario → interventions → timed → intervention → ipti
<ipti
[ maxAge=double ]
[ minAge=double ]
coverage=double
/>
List of age groups for IPTi distribution
maxAge=double
Units: Years Min: 0 Max: 100
Maximum age of eligible individuals (defaults to 100)
minAge=double
Units: Years Min: 0 Max: 100
Minimum age of eligible individuals (defaults to 0)
coverage=double
Units: Proportion Min: 0 Max: 1
Coverage of intervention
→ scenario → interventions → timed → intervention → larviciding
<larviciding>
IN THIS ORDER:
| ( <anopheles ... /> )+
</larviciding>
Simple larviciding intervention description.
→ scenario → interventions → timed → intervention → larviciding → anopheles
<anopheles
mosquito=string
effectiveness=double
duration=int
/>
mosquito=string
Mosquito to be larvicided
effectiveness=double
Units: none Min: 0 Max: 1
Proportional reduction in emergence rate
duration=int
Units: days Min: 0 Max: inf
Number of days for which the intervention is active.
→ scenario → healthSystem
<healthSystem>
IN THIS ORDER:
| EXACTLY ONE OF:
| | <EventScheduler ... />
| | <ImmediateOutcomes ... />
| <CFR ... />
</healthSystem>
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.
<entoData
name=string
mode=("2" or "3" or "4")
>
IN THIS ORDER:
| EXACTLY ONE OF:
| | <nonVector ... />
| | <vector ... />
</entoData>
Description of entomological data
name=string
Units: string
Name of entomology data
mode=("2" or "3" or "4")
Units: Code
Transmission simulation mode
→ scenario → entoData → nonVector
<nonVector
eipDuration=int
>
IN THIS ORDER:
| ( <EIRDaily ... /> )+
</nonVector>
Description of transmission setting for models without vector control interventions (included for backward compatibility)
eipDuration=int
The duration of sporogony in days
→ scenario → entoData → vector
<vector>
IN THIS ORDER:
| ( <anopheles ... /> )+
| ( <nonHumanHosts ... /> )*
</vector>
Parameters of the transmission model.
→ scenario → entoData → vector → anopheles
<anopheles
mosquito=string
propInfected=double
propInfectious=double
>
IN THIS ORDER:
| <eir ... />
| <mosq ... />
| ( <nonHumanHosts ... /> )*
</anopheles>
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
mosquito=string
propInfected=double
Units: Proportion Min: 0 Max: 1
Initial guess of the proportion of mosquitoes which are infected, o: O_v(t) = o*N_v(t). Only used as a starting value.
propInfectious=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.
→ scenario → entoData → vector → anopheles → eir
<eir
a0=double
a1=double
b1=double
a2=double
b2=double
EIRRotateAngle=double
/>
Description of target entomological inoculation rate, used to calculate the vector emergence rate. An EIR array is generated from the exponent of the inverse discrete fourier transform of these parameters.
a0=double
a1=double
b1=double
a2=double
b2=double
EIRRotateAngle=double
→ scenario → entoData → vector → anopheles → mosq
<mosq
mosqRestDuration=int
extrinsicIncubationPeriod=int
mosqLaidEggsSameDayProportion=double
mosqSeekingDuration=double
mosqSurvivalFeedingCycleProbability=double
mosqProbBiting=double
mosqProbFindRestSite=double
mosqProbResting=double
mosqProbOvipositing=double
mosqHumanBloodIndex=double
/>
Vector species
mosqRestDuration=int
extrinsicIncubationPeriod=int
mosqLaidEggsSameDayProportion=double
mosqSeekingDuration=double
mosqSurvivalFeedingCycleProbability=double
mosqProbBiting=double
mosqProbFindRestSite=double
mosqProbResting=double
mosqProbOvipositing=double
mosqHumanBloodIndex=double
→ scenario → entoData → vector → anopheles → nonHumanHosts
<nonHumanHosts
name=string
mosqRelativeEntoAvailability=double
mosqProbBiting=double
mosqProbFindRestSite=double
mosqProbResting=double
/>
Non human host parameters, per type of host (must match up with non-species-specific parameters).
name=string
mosqRelativeEntoAvailability=double
mosqProbBiting=double
mosqProbFindRestSite=double
mosqProbResting=double
→ scenario → entoData → vector → nonHumanHosts
<nonHumanHosts
name=string
number=double
/>
name=string
Units: List of elements
Name of this species of non human hosts (must match up with those described per anopheles section)
number=double
<drugDescription>
IN THIS ORDER:
| ( <drug ... /> )+
</drugDescription>
Drug model parameters
→ scenario → drugDescription → drug
<drug
abbrev=string
>
IN THIS ORDER:
| <PD ... />
| <PK ... />
</drug>
Sequence of drug descriptions forming a library of drug parameters.
abbrev=string
→ scenario → drugDescription → drug → PD
<PD>
IN THIS ORDER:
| ( <allele ... /> )+
</PD>
→ scenario → drugDescription → drug → PD → allele
<allele
name=string
>
IN THIS ORDER:
| <initial_frequency ... />
| <max_killing_rate ... />
| <IC50 ... />
| <slope ... />
</allele>
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.
name=string
→ scenario → drugDescription → drug → PD → allele → initial_frequency
<initial_frequency>
double
</initial_frequency>
Frequency, relative to the total frequency of all alleles for this drug/locus.
→ scenario → drugDescription → drug → PD → allele → max_killing_rate
<max_killing_rate>
double
</max_killing_rate>
k1 — Maximal parasite killing rate.
→ scenario → drugDescription → drug → PD → allele → IC50
<IC50>
double
</IC50>
Half maximal effect concentration.
→ scenario → drugDescription → drug → PD → allele → slope
<slope>
double
</slope>
n — Slope of the concentration effect curve
→ scenario → drugDescription → drug → PK
<PK>
IN THIS ORDER:
| <negligible_concentration ... />
| <half_life ... />
| <vol_dist ... />
</PK>
→ scenario → drugDescription → drug → PK → negligible_concentration
<negligible_concentration>
double
</negligible_concentration>
Concentration below which drug's effects are deemed negligible and can be removed from simulation.
→ scenario → drugDescription → drug → PK → half_life
<half_life>
double
</half_life>
Used to calculate elimination rate (which is: ln(2) / half_life).
→ scenario → drugDescription → drug → PK → vol_dist
<vol_dist>
double
</vol_dist>
Volume of Distribution
<model>
IN THIS ORDER:
| <ModelOptions ... />
| <clinical ... />
| <parameters ... />
</model>
Encapsulation of all parameters which describe the model according to which fitting is done.
→ scenario → model → ModelOptions
<ModelOptions>
IN THIS ORDER:
| ( <option ... /> )*
</ModelOptions>
All model options (bug fixes, choices between models, etc.).
The list of recognised options can be found in the code at:
include/util/ModelOptions.hpp and should also be in the wiki.
<clinical
healthSystemMemory=int
/>
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.
healthSystemMemory=int
Units: Time steps Min: 1 Max: 100
Follow-up period during which a recurrence is considered to be a treatment failure
→ scenario → model → parameters
<parameters
interval=int
iseed=int
delta=double
latentp=int
>
IN THIS ORDER:
| ( <parameter ... /> )+
</parameters>
Parameters of the epidemiological model
interval=int
Units: Days
Simulation step
iseed=int
Units: Number
Seed for RNG
delta=double
Units: ? Redundant
this no longer seems to be used
latentp=int
Units: Time steps Min: 0 Max: 20
pre-erythrocytic latent period, in time steps
→ scenario → model → parameters → parameter
<parameter
name=string
number=int
value=double
include=boolean
/>
name=string
Units: string
Name of parameter
number=int
Units: Number Min: 1 Max: 100
Reference number of input parameter
value=double
Units: Number Min: 0
Parameter value
include=boolean
Units: Number Min: 0 Max: 1
True if parameter is to be sampled in optimization runs. Not used in simulator app.