knitr::opts_chunk$set(echo = TRUE)
COVID-19 cases and hospital admissions have been rising in Michigan. We estimate an effective reproductive number of 1.36 as of March 25. We consider 4 possible strategies using the LEMMA model:
1. Maintain the status quo.
2. Vaccine Surge: Double the current vaccine allocation for two weeks.
3. Reopening Pause: Reenact restrictions that reduce the effective contact rate by 30% for two weeks.
4. Both Vaccine Surge and Reopening Pause.
With regard to the reopening pause, this might be possible by closing indoor dining, indoor bars and indoor gyms for two weeks. For comparison, we estimate that restrictions and behavior change in March 2020 reduced the effective contact rate by 67%.
Relative to the status quo, we estimate that the combined Vaccine Surge and Reopening Pause could reduce hospital admissions by 23000 and deaths by 2500 from April 3 to July 1. The Vaccine Surge alone could reduce hospital admissions by 10000 and deaths by 1200. The Reopening Pause alone could reduce hospital admissions by 16000 and deaths by 1700.
``` {r, eval = FALSE} library(LEMMA) no_change <- CredibilityIntervalFromExcel("MI.xlsx") pause <- CredibilityIntervalFromExcel("MI_pause.xlsx") double <- CredibilityIntervalFromExcel("MI_double.xlsx") pause_double <- CredibilityIntervalFromExcel("MI_pause_double.xlsx")
   ## Key Uncertainty - Seroprevalence We are not aware of good estimates of current seroprevalence in Michigan - if you have one please let us know! We use the CDC seroprevalence [estimate](https://covid.cdc.gov/covid-data-tracker/#national-lab) prior to vaccine rollout. After vaccine rollout begins, interpretation of the CDC seroprevalence estimate is unclear ("Testing platforms differ between jurisdictions, with laboratories using a mix of anti-spike (i.e., seen with vaccine and/or infection) and anti-nucleocapsid (i.e., only with infection), some estimates will reflect receipt of vaccines."). The CDC estimates imply a case detection rate of around 40%, which seems high, but we used a prior of 35% for our base case. This would mean that there are many people without natural immunity and that the benefits from a vaccine surge and/or reopening pause would be large. In the Sensitivity Analysis section, we also used a lower prior of 25% case detection rate, implying a larger number with natural immunity and thus reductions in admissions and deaths that are roughly 40% as large as above. ## Assumptions As our base case, we assume the UK variant currently makes up 50% of the circulating SARS-COV2, grows at 3% per day and is 70% more transmissable than wild-type SARS-COV2. These values are considered fixed by LEMMA but we vary these assumptions in the Sensitivity Analysis. Other fixed values regarding variants and vaccine efficacy are on the `Variants` sheet of the Excel input. Paramters on the `Parameters with Distributions` (e.g. latent period, hospitalization rate, etc) are treated as parametersw with prior distributions to be estimated. Their posterior modes can be found in the Excel output file. See the main [LEMMA](https://localepi.github.io/LEMMA/) page for more details on the LEMMA model and how to install and use it.  ## Sensitivity Analysis We examined the effect of high or low seroprevalence (prior on case detection rate = 25% or 35%), increased transmisability for the UK variant of 50% and 70%, current UK variant proportion 30%, 50%, 70%, and daily growth_UK 2%, 3%, 4%. Code to reproduce this sensitivity analysis is below. ```r options(width=120) print(read.csv("MI_sensitivity.csv"))
Scenario <- function(pause, double_vaccines, low_seroprev, trans_mult_UK, cur_UK, growth_UK) { sheets <- LEMMA:::ReadInputs("MI.xlsx") pause_date <- as.Date("2021/4/3") if (pause) { sheets$Interventions <- rbind(sheets$Interventions, data.table(mu_t_inter = c(pause_date, pause_date + 14), sigma_t_inter = 0.1, mu_beta_inter = c(0.7, 1/0.7), sigma_beta_inter = 0.1, mu_len_inter = 7, sigma_len_inter = 0.1)) } if (double_vaccines) { sheets$`Vaccine Doses - Observed`[date >= pause_date & date <= (pause_date + 14), dose1 := dose1 * 2] sheets$`Vaccine Doses - Observed`[date >= pause_date & date <= (pause_date + 14), dose2 := dose2 * 2] sheets$`Vaccine Doses - Observed`[date >= pause_date & date <= (pause_date + 14), doseJ := doseJ * 2] } if (low_seroprev) { sheets$`Parameters with Distributions`[internal.name == "frac_tested", Mean := 0.35] } else { sheets$`Parameters with Distributions`[internal.name == "frac_tested", Mean := 0.25] } sheets$Variants[name == "UK", transmisson_mult := trans_mult_UK] sheets$Variants[name == "UK", frac_on_day0 := cur_UK] sheets$Variants[name == "Wild", frac_on_day0 := 1 - cur_UK] sheets$Variants[name == "UK", daily_growth_prior := growth_UK] sheets$Variants[name == "UK", daily_growth_future := growth_UK] sheets$Internal[internal.name == "output.filestr", value := paste0("MI_", pause, double_vaccines, low_seroprev, trans_mult_UK, cur_UK, growth_UK)] inputs <- LEMMA:::ProcessSheets(sheets) lemma <- LEMMA:::CredibilityInterval(inputs) return(lemma) } RunScenario <- function(index) { with(scen[index, ], Scenario(pause, double_vaccines, low_seroprev, trans_mult_UK, cur_UK, growth_UK)) } scen <- expand.grid(pause = c(T, F), double_vaccines = c(T, F), low_seroprev = c(T, F), trans_mult_UK = c(1.5, 1.7), cur_UK = c(0.3, 0.5, 0.7), growth_UK = c(1.02, 1.03, 1.04)) lemma_list <- mclapply(1:nrow(scen), RunScenario, mc.cores = 12)
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.