• Added keep_strains_Rt option to Rt calculation, allowing return of both the strain-specific Rts and the weighted Rt together
  • Severity now calculated based on daily incidence instead of step incidence
  • D_hosp is now disaggregated by age and vaccine class
  • New historic variants layer added to R compartment. These individuals can now get reinfected with either strain 1 or strain 2. Those recovered from strain 1 (including from a reinfection) can get reinfected with strain 2, while those recovered from strain 2 are immune to strain 1
  • Reinfections move to PCR pre-positive instead of PCR positive
  • Add severity outputs by vaccine class and age
  • Can now fit to ONS prevalence data
  • Add severity outputs by strain
  • Add logical flag to turn on/off exporting of severity outcomes and weight parameter in combine_rt function, to use more flexibly for Rt and severity aggregation
  • Multiple vaccine skip moves now allowed and lancelot_parameters now allows multiple boosters
  • Add logical flag to turn on/off exporting all death classes by age
  • Fit to REACT prevalence by age
  • Fix compatibility with mac M1
  • Fit to hospital admissions by age
  • Fit to deaths in the community by age
  • gamma_U is now time-varying
  • IFR post-processing calculation removed
  • Fit to deaths in hospital by age
  • Have strain_rel_p_death, strain_rel_p_icu, strain_rel_p_hosp_if_sympt and strain_rel_p_sympt as separate parameters in odin code to clarify effects of strains and vaccines on severity and so these parameters can be changed more easily without necessarily going through the lancelot_parameters function
  • Remove vestiges of “initial step” control, now we do this directly from the particle filter data
  • Add ability to change duration of latency period (E) for strain 2 in lancelot_parameters
  • Add new function vaccine_eligibility for computing lancelot-compatible vaccine eligibility vectors based on a minimum age.
  • Support for the multistage particle filter added
  • New function rotate_strains to allow cycling of strains
  • modify_severity now caps at 1 for all vaccine strata
  • Corrected implementation of cross immunity in effective Rt calculation
  • Fixed issue #365 and simulation to the UK level is now restored
  • Fixed initial seeding of the epidemic replace by a Poisson seeding
  • Add an extra vaccination move between vaccine strata vacc_skip_from and vacc_skip_to, for the purpose of allowing boosting before waning
  • Ensure booster_population_left is rounded in vaccine_schedule_future
  • vaccine_schedule_from_data function refactored to deal with flexible number of doses
  • carehomes model removed from the package
  • D_inc now returned as a state from odin for daily deaths (deaths_inc)
  • p_NC and phi_pillar2_cases now must be age-specific for lancelot model, including when fitting to aggregated Pillar 2 data.
  • Default value of I_A_transmission updated to actual value currently used
  • booster_groups renamed to boosters_proportion and now allows partial exclusion of age groups. For backward compatibility defaults have the same effect on the priority population.
  • Added sircovid_models and check_sircovid_model to list and check sircovid models respectively
  • Introduce lancelot model. Initially a clone of the carehomes model with the added flexibility to fit to positivity or cases (pillar 2) by age. Respectively, p_NC and phi_pillar2_cases parameters can be generic or age-specific for fitting to aggregate or age stratified data.
  • England NHS region populations now obtained directly from mid-2020 ONS CCG-level estimates
  • Introduced phi_pillar2_cases_weekend, which is used instead of phi_pillar2_cases on weekends
  • Can now choose between a random sample or thinned sample in carehomes_forecast via the random_sample logical input
  • Introduced p_NC_weekend, which is used instead of p_NC on weekends
  • Increase code coverage
  • NHS regions populations updated to ONS mid-2020 estimates
  • Added p_R, the probability a non-fatal infection leads to post-infection immunity, otherwise the individual instantly becomes susceptible again post-infection
  • Added beta_type option to carehomes_parameters, now allowing it to be "piecewise-linear" or "piecewise-constant"
  • Fix bug in modify_severity for single strain model
  • Add modify_severity function to modify severity and transmission params of a VOC from VE assumptions
  • Relax checks on relative vaccination parameters so only first vacc class of first strain needs to be 1 for all age groups
  • prob_strain now measures the proportion of total I_weighted (the number of infectives weighted by the infectivity of their compartment) for each strain
  • IFR calculation now works fully for a multistrain model
  • Can now account for vaccine efficacy against death
  • Can now also output ALOS (average length of stay) from carehomes_ifr_t
  • Fix coverage hole in Rt
  • Fixes bug in calculating Rt when only one time-point is non-NA in prob_strain
  • Fixes bug in calculating Rt for multiple strains when the prob_strain matrix is all NA
  • Can now fit to variant data for all ages (previously just for over 25s)
  • Booster doses can now be added to a vaccine schedule with parameters to determine which groups get boosters
  • Fix Rt calculations for multistrain models when including interpolation
  • For simplicity, it is now assumed that individuals that progress through model compartments at a given time step cannot also move vaccine classes in that same step
  • carehomes_Rt now only returns NA when prob_strain is NA and weight_Rt is TRUE
  • Can now input population and carehome_beds to carehomes_parameters to allow use for regions where these are not included in the package
  • rel vacc params can now be less than one in unvaccinated classes for second infections (strains 3 and 4)
  • Fix Rt calculations for multistrain models with cross-immunity
  • Add lag_groups and lag_days parameters to vaccine_schedule_future to manually add lags for given age groups to the vaccine schedule
  • Added carehomes_check_severity to check all severity probabilities lie in [0, 1] after transformation and all relative parameters are mirrored as expected
  • Deaths and admissions by age and vaccination class compartments exported as predicted samples
  • Improve efficiency of Rt calculation for single strains when supplying multistrain parameters
  • Fix multistrain Rt calculation for single particle case
  • Fix IFR_t calculation for multi-strain models
  • R compartment now exported as part of predicted samples
  • Added ability to fit 2nd serology assay with different serology parameters
  • Added ability to directly set time-varying severity and progression parameters in carehomes_parameters_progression and carehomes_parameters_severity.
  • sircovid_parameters_beta renamed to sircovid_parameters_piecewise_linear and sircovid_parameters_beta_expand renamed to sircovid_parameters_expand_step
  • Fixed Rt calculation for multistrain so that Rt is NA only in the steps where prob_strain is NA (previously all Rt set to NA if any prob_strain was NA)
  • Fixed carehomes_rt function to have flexibility for multiple dimensions, given strains, age categories and vaccinations classes.
  • test-support.R updated accordingly.
  • Can now input a list of observation parameters into the carehomes_parameters function instead of taking the default observation parameters.
  • Add cross_immunity to control the amount of immunity conferred by one strain that decreases the probability of immediately being exposed to the other strain (ignored in single strain model).
  • Removed model_super_infection as model_super_infection = 0 is equivalent to cross_immunity = 1 (default)
  • Parameters describing vaccine efficacy (rel_susceptibility, rel_p_sympt, rel_p_hosp_if_sympt and rel_infectivity) can now take array values for varying across age groups, vaccination classes, and pathogen strains.
  • Multi-strain model now allows for ‘super-infections’, after recovering from strain 1 or 2, one can now be immediately infected with the ‘other’ strain. This can be turned on with model_super_infection.
  • Relaxed restrictions on waning immunity - the number of recovered individuals losing immunity is no longer capped by the number of individuals in the T_sero_neg or T_PCR_neg compartments.
  • Add parameter strain_rel_severity for varying the probabilities of p_G_D, p_H_D, p_W_D and p_ICU_D by strain.
  • Add additional disaggregated outputs for deaths and diagnosed admissions
  • New set of parameter strain_rel_gamma_ for varying gamma_A, gamma_P, gamma_C_1, and gamma_C_2 by strain.
  • Support to allow catch up of vaccine doses that could not be delivered (e.g. when people were infected at the time they should have been vaccinated)
  • Added support for time-varying hospital durations
  • Output cumulative numbers vaccinated
  • Changed fixed strain_seed_value to stochastic strain_seed_rate vector
  • Changed strain_seed_date from vector of start and end seeding dates to a vector of dates corresponding to rates set by strain_seed_rate
  • EpiEstim now allows age-varying p_C
  • New functions to support reordering samples in mcstate_pmcmc objects
  • Fix corner case in vaccination exposed by recent dust updates
  • New functions to estimate effective Rt using EpiEstim
  • Added utils for nested pmcmc
  • Can control the number of initial infected individuals used in seeding
  • Predefined vaccination schedule implemented
  • Rt corrected for restructured model
  • Carehomes model restructured
  • Symptomatic pathway now includes presymptomatic compartment and two symptomatic compartments
  • Cases for pillar 2 testing arise in the movement from presymptomatic to the first symptomatic compartment
  • NHS regions populations updated to ONS mid-2019 estimates
  • Output deaths by age
  • Can now fit non-hospital deaths as two separate streams: community deaths and care home deaths
  • Allow vector of absolute values in future_Rt()
  • Faster Rt calculation (#209)
  • IFR calculation added for carehomes model
  • Allow a subset of Rt types to be calculated, perhaps in parallel
  • Enables daily vaccine doses to be time-varying
  • Fixed Rt calculation for multistrain so that Rt is NA when prob_strain is NA
  • Allow specification of Rt calculation in add_future_betas()
  • Add over 25 strain data stream to likelihood
  • Corrected calculation of NGM for multistrain model
  • Added different infectivity levels depending on vaccination stage
  • Corrected calculation of NGM with vaccination (but not for multistrain model)
  • Rename compartments and parameters to match paper notation
  • Multistrain model: ability to model 2 strains (and flexibility for more in the future) with strain-specific transmissibility. 2nd strain can be seeded over a number of pre-specified days at a pre-specified seeding level.
  • Added functions add_future_betas and future_Rt for constructing future transmission scenarios
  • Added new helper functions add_trajectory_incidence, drop_trajectory_incidence and drop_trajectory_predicted
  • Move vaccination process inside odin code
  • Now drawing equal numbers of care home workers across worker age groups.
  • Correct Rt calculation accounting for vaccination
  • I_mild compartment removed from both models and I_ILI renamed to I_sympt
  • Extended model structure for vaccination modelling
  • Deaths in stepdown now incorporated in carehomes model
  • Triage compartments merged in carehomes model
  • Implement trajectory and Rt aggregation (e.g., across regions)
  • Support for vaccination modelling, with vaccination affecting only levels of susceptibility (age-specific)
  • Parameter N_age was split into n_age_groups (both models) and n_groups (carehomes)
  • Implement preliminary support for waning immunity
  • Implement preliminary support for seroreversion
  • Implement preliminary support for vaccination modelling
  • Support for probability of positive calculation directly in the package
  • Pillar 2 data can now be fitted to over 25s only, as well as all ages
  • Sensitivity is explicitly considered in the sero probability calculation
  • Add REACT to log-likelihood