old-and-young
model
This version of the model features a basic epidemiological structure stratified with two age groups: young and old. The epidemiological compartments are:
- : susceptible
- : exposed
- : infected
- : hospitalized
- : recovered
- : dead
The flows within each age group are as follows:
The solid lines indicate flows between compartments and the dashed lines indicate when a compartment is involved in calculating a flow rate.
Age-based transmission
The force of infection for age group , , which is the per-capita rate of flow of age susceptibles into the exposed class (of the same age), is modelled as
where
- is the contact rate of a susceptible in age group with an infected in age group ,
- is the transmission rate for age group ,
- is the number of infectious individuals in age group ,
- is the population size of age group .
Input values
There are several input values for the base model. Some inputs are
stratified by age group (with suffix _y
for young and
_o
for old). We use the generic suffix _j
to
denote inputs for age group j
in the list below:
-
state
: a named list of the initial state for the simulation, where the name of each state follows the pattern[epi-state]_j
-
params
: a named list of model parameters used to compute flow rates, including-
transmission_j
: transmission rate, denoted by in the force of infection above, -
c_ij
: contact rate, denoted by in the force of infection above, -
progression_j
: rate of flow from exposed to infectious, -
recovery_j
: rate of flow from infectious to recovered, -
hospitalization_j
: rate of flow from infectious to hospitalized, -
discharge_j
: rate of from from hospitalized to recovered, -
deathH_j
: rate of flow from hospitalized to dead, -
deathI_j
: rate of flow from infectious to dead.
-
Optional (scenario-specific) input values are documented in the next section.
Available scenarios
change-transmission
scenario
This scenario simulates two changes in the age-dependent transmission rates on specific days.
Intervention days are specified through the
intervention.day
input value. The default values yield
changes on days 40 and 50.
Scalar multiples of the original transmission rates are specified via
the trans.factor.young
and trans.factor.old
input values, for the young and old, respectively. The default values
reduce the transmission rate to 50% then 10% of the original value
across both age groups.
hosp
model
This version of the model features a basic epidemiological structure stratified with five-year age groups up to age 80. The epidemiological compartments are:
- : susceptible
- : exposed
-
:
infected, with fate
,
where
is either:
- , recovered without hospitalization,
- , hospitalized, or
- , dead
-
:
hospitalized in acute care, with fate
,
where
is either:
- , recovered after acute care only
- , critical care with a prognosis of recovery
- , critical care with a prognosis of death
- , death after acute care only
- : recovered
- : dead
The flows within each age group are as follows:
The solid lines indicate flows between compartments and the dashed lines indicate when a compartment is involved in calculating a flow rate.
Age-based transmission
The force of infection for age group , , which is the per-capita rate of flow of age susceptibles into the exposed class (of the same age), is modelled as
The force of infection for occurs in an age-based way, as a proxy for
population heterogeneity. The transmission rate for susceptibles of age
i
and infectious individuals of age j
is
calculated as
where
- is the transmissibility of the pathogen, quantified as the proportion of contacts between a susceptible and an infectious individual that yield transmission (independent of age),
- is the proportion of age group ’s contacts that occur with age group ,
- is the average contact rate for individuals in age group (across all ages),
- is the number of infectious individuals in age group (at a given time)—totalled across infectious subcategories , , ,
- is the population size of age group .
The average contact rate vector () and the contact proportion matrix () are both generated using a weighted average of four setting-based component contact matrices, derived by Mistry et al (2021), which reflect contacts in households, workplaces, schools, and community (all other contacts outside of the three previous settings). The weights are the average overall contact rate per setting. This weighted average generates an overall contact matrix. The row sums of this matrix give the average contact rate vector, , and the row-normalized version of this matrix is the contact proportion matrix ().
Input values
There are several input values for the model, summarised by the following table:
Optional (scenario-specific) input values are documented in the next section.
Available scenarios
change-contacts
scenario
This scenario enables the simulation of an intervention that affects the age-based contact patterns starting on a specified day from the start of the simulation (the “intervention day”).
The intervention day is specified with the
intervention.day
input value. The default value simulates a
stay-at-home order starting on day 25.
An intervention involves using a new contact matrix starting on the
intervention day, which is generated with new setting weights, specified
in the setting.weight.new
input value. The default values
reflect closing all schools, 50% of workplaces, and reducing community
contacts by 75% from the default setting.weight
input value
(see above).
The user can also change overall transmissibility of the pathogen
starting on the intervention day to some scalar multiple of the original
value via the trans.factor
input value. The default values
include trans.factor = 1
, so no change to underlying
transmissibility.
five-year-age-group
model
This version of the model features a basic epidemiological structure stratified with five-year age groups up to age 80. The epidemiological compartments are:
- : susceptible
- : exposed
- : infected
- : hospitalized
- : recovered
- : dead
The flows within each age group are as follows:
The solid lines indicate flows between compartments and the dashed lines indicate when a compartment is involved in calculating a flow rate.
Age-based transmission
The force of infection for age group , , which is the per-capita rate of flow of age susceptibles into the exposed class (of the same age), is modelled as
The force of infection for occurs in an age-based way, as a proxy for
population heterogeneity. The transmission rate for susceptibles of age
i
and infectious individuals of age j
is
calculated as
where
- is the transmissibility of the pathogen, quantified as the proportion of contacts between a susceptible and an infectious individual that yield transmission (independent of age),
- is the proportion of age group ’s contacts that occur with age group ,
- is the average contact rate for individuals in age group (across all ages),
- is the number of infectious individuals in age group (at a given time),
- is the population size of age group .
The average contact rate vector () and the contact proportion matrix () are both generated using a weighted average of four setting-based component contact matrices, derived by Mistry et al (2021), which reflect contacts in households, workplaces, schools, and community (all other contacts outside of the three previous settings). The weights are the average overall contact rate per setting. This weighted average generates an overall contact matrix. The row sums of this matrix give the average contact rate vector, , and the row-normalized version of this matrix is the contact proportion matrix ().
Input values
There are several input values for the model. Some inputs are
stratified by age group (with suffix .lb[digit]
, where
[digit]
denotes the lower bound of the age group. For
example, .lb50
denotes the 50-54
age group. We
use the generic suffix .j
to denote inputs for age group
j
in the following table:
Variable | Description | Default value | Units |
---|---|---|---|
state |
A named list of the initial state for the simulation,
where the name of each state follows the pattern
[epi-state].j
|
See source | Number of individuals |
transmissibility |
Transmissibility proportion, denoted by in the force of infection described previously | 0.2 | - |
days_incubation |
Average length of the incubation period | 6 | days |
days_infectious |
Average length of the infectious period in days | 8 | days |
prop_hosp |
Proportion of infections that are hospitalised | 0.02 | - |
prop_IFR_all |
Infection Fatality Ratio across all infections | 0.034 | - |
prop_IFR_hosp |
Infection Fatality Ratio across hospitalised infections | 0.187 | - |
days_hosp |
Average length of hospital stay | 15 | days |
setting.weight |
Vector of weights for the setting-specific component contact matrices, where each weight gives the average contact rate per setting across all ages, as described previously | school = 11.41 work = 8.07 household = 4.11 community = 2.79 | Number of contacts per individual |
Optional (scenario-specific) input values are documented in the next section.
Available scenarios
change-contacts
scenario
This scenario enables the simulation of an intervention that affects the age-based contact patterns starting on a specified day from the start of the simulation (the “intervention day”).
The intervention day is specified with the
intervention.day
input value. The default value simulates a
stay-at-home order starting on day 25.
An intervention involves using a new contact matrix starting on the
intervention day, which is generated with new setting weights, specified
in the setting.weight.new
input value. The default values
reflect closing all schools, 50% of workplaces, and reducing community
contacts by 75% from the default setting.weight
input value
(see above).
The user can also change overall transmissibility of the pathogen
starting on the intervention day to some scalar multiple of the original
value via the trans.factor
input value. The default values
include trans.factor = 1
, so no change to underlying
transmissibility.