Skip to contents

Helper functions to create and work with S3 class <daedalus_vaccination> objects for use with daedalus(). These objects store vaccination parameters for reuse and have methods for easy parameter access and editing, as well as processing raw vaccination characteristics for the DAEDALUS model.

Usage

daedalus_vaccination(
  name,
  start_time = NULL,
  rate = NULL,
  uptake_limit = NULL,
  efficacy = 50,
  waning_period = 180
)

is_daedalus_vaccination(x)

# S3 method for class 'daedalus_vaccination'
print(x, ...)

Arguments

name

A vaccination investment scenario name from among vaccination_scenario_names. Selecting an epidemic automatically pulls in vaccination parameters associated with the epidemic; these are stored as packaged data in daedalus::vaccination_scenario_data.

start_time

The number of days after the start of the epidemic that vaccination begins. Must be a single number. Defaults to NULL and the start time is taken from the vaccination scenarios specified by name.

rate

A single number for the percentage of the total population that can be vaccinated each day. This is converted into a proportion automatically within daedalus().

uptake_limit

A single number giving the upper limit for the percentage of the population that can be vaccinated. When this limit is reached, vaccination ends.

efficacy

A single number in the range [0, 100] giving the efficacy of vaccination in preventing infection. A value of 0 indicates that vaccinated individuals are as susceptible to infection as unvaccinated ones, while 100 would indicate completely non-leaky vaccination that completely protects against infection.

waning_period

A single number representing the number of days over which the average individual wanes out of the vaccinated stratum to the unvaccinated stratum. Only individuals in the susceptible and recovered compartments can wane out of being vaccinated.

x

An object to be tested or printed as a <daedalus_vaccination>.

...

For the print method, other parameters passed to print().

Details

Note that vaccination once ended by reaching the uptake_limit does not restart once individuals wane out of the vaccinated compartment.

Examples

# for no advance vaccine investment
daedalus_vaccination("none")
#> <daedalus_vaccination>
#> Advance vaccine investment: none
#>  Start time (days): 365
#>  Rate (% per day): 0.143
#>  Uptake limit (%): 40
#>  Efficacy (%): 5000
#>  Waning period (mean, days): 180

# modifying parameters during initialisation
# set daily vaccination rate to 1.5% of population
daedalus_vaccination("low", rate = 1.5)
#> <daedalus_vaccination>
#> Advance vaccine investment: low
#>  Start time (days): 300
#>  Rate (% per day): 1.5
#>  Uptake limit (%): 50
#>  Efficacy (%): 5000
#>  Waning period (mean, days): 180