{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# Preliminary analysis of COVID-19 data from Israel during vaccine deployment\n", "\n", "Feb 5, 2021\n", "D. Karlen\n", "University of Victoria and TRIUMF\n", "\n", "Israel currently has the highest rate of vaccinations per capita, with more than 40% of the population having received their first dose by early February. This analysis uses data from the Israel Ministry of Health (https://data.gov.il/dataset/covid-19) to measure the effect of vaccination on the spread of SARS-CoV-2.\n", "\n", "The [preprint](https://github.com/hrossman/Patterns-of-covid-19-pandemic-dynamics-following-deployment-of-a-broad-national-immunization-program) by Rossman et al, dated February 3, finds general reduction in cases and hospitalization particularly in the older population, indicating that the vaccination is having a positive effect.\n", "\n", "The preliminary study reported here compares the observed decline in cases with expectations from a vaccination model fit to case data from August 1, 2020 through February 1, 2021.\n", "\n", "## Vaccination campaign\n", "The vaccination campaign began on December 20. The preprint linked above outlines the priorities: first high risk including those above 60. After January 21, students aged 16-18 were prioritized. After 28 January, those over 35 were also included in the priority category.\n", "\n", "The vaccination schedule is approximated by 3 periods of constant vaccination rate for each age group. The model assumes that those previously having a positive test result are not vaccinated. From the data it appears that vaccination hesitancy is low. Nearly 90% of the population over the age of 60 have received at least one dose by early February.\n", "\n", "## Government lockdowns\n", "According to the preprint above, two major lockdowns occured during the period in this study. Lockdown \\#2 came into effect on September 18, 2020 and a dramatic change from growth to decline in cases is seen. Lockdown \\#3 came into effect on January 8, 2021, shortly after the start of the vaccination campaign. This complicates the interpretation of the population level case data, in distinguishing the effects from vaccination and NPI.\n", "\n", "## Data\n", "The following time series data (all divided into age groups) were used\n", "\n", "* Cases by age group are available on a per week basis. Analysis assumes equal number of cases per day for the week.\n", "* Deaths by age group are available on a per week basis. When a total for a week is less than 15 for an age group, the number is not made available.\n", "* Number of first and second doses per day. The analysis assumes that immunity is acquired probabilistically according to a gamma distribution time delay after the first dose (presuming that the second dose is given according to a fixed schedule). Therefore only first doses are used in the analysis.\n", "\n", "The date are grouped as follows: 0-19, 20s, 30s, 40s, 50s, 60s, 70s, 80+\n", "\n", "During the epidemic, the age groups followed similar infection trajectories that can be described by 8 phases. The first two phases are not included in this study:\n", "\n", " * Phase 0: A rapid rise and fall in March 2020. This period is not studied here.\n", " * Phase 1: The re-emergence in May 2020.\n", " * Phase 2: Jul-Aug 2020 - Near constant infection rate.\n", " * Phase 3: Aug-Sep 2020 - Rapid growth\n", " * Phase 4: Sep-Oct 2020 - Rapid decline following lockdown \\#2\n", " * Phase 5: Oct-Nov 2020 - Transition period between decline and growth.\n", " * Phase 6: Nov-Dec 2020 - Rapid growth\n", " * Phase 7: Jan-Feb 2021 - Rapid decline, following the start of the vaccination campaign and lockdown \\#3\n", "\n", "## Analysis\n", "The [pypm framework](www.pypm.ca) is used to characterize the growth and decline of cases in Israel. The combined data (all age groups) is analyzed using a homogeneous model, and each age group is analyzed independently. The age group models are not combined into an ensemble (to form a heterogeneous model) for this study.\n", "\n", "The model defines an infection cycle, with the expected number of newly infected individuals each day given by\n", "\n", "$$ \\Delta I = \\alpha \\frac{S}{N}C $$\n", "\n", "where $\\alpha$ is a model dependent transmission rate parameter, and C, S, N represent the sizes of the contagious, susceptible, and total populations, respectively. The transmission rate is piecewise constant. The transition dates\n", "and the transmission rates are estimated by fitting these parameters to the data.\n", "To estimate uncertainty in the parameter estimators, several simulated datasets are fit.\n", "The model independent daily growth rate, $\\delta$, is a function of $\\alpha \\frac{S}{N}$.\n", "\n", "Many jurisdictions have been studied using the pypm framework, including Canada, United States, and Germany. It is the basis for the currently most accurate forecasts for deaths in the US-CDC forecast hub. These studies have found that case data are a useful indicator of the spread of the disease, in that hospitalization and deaths generally follow the infection trajectories determined strickly from case data. The overall spread can be described by relatively long periods of constant growth or decline. Also, particularly in the US, homogeneous models are sufficient to accurately predict future hospitalizations and deaths in the near term (up to about 4 weeks).\n", "\n", "Phases 2-7 are implemented in the pypm model as periods of constant $\\alpha$. The values for alpha and the transition dates are estimated by a simplified maximum likelihood analysis, minimizing the difference between the model expectations and the observed case history." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Fit results\n", "The figures below show in green the case data (points and stars) and the model expectations (curves), using one transmission parameter value for each period. The phases are marked by different background shades. Vaccinations are shown in light blue, with the lines showing the assumed schedule in the model to match the actual vaccination schedule.\n", "\n", "Vaccination is insufficient to fully account for the decline in phase 7 for the age groups below 60, since large fractions of those populations have yet to be vaccinated. A transition for $\\alpha$ is included to account for changes due to lockdown as well as the reduced contagious older populations. Natural immunity and vaccinations are included in the model. The figures show data from August 1, 2020 to present.\n", "\n", "#### All ages:\n", "\n", "![all](il_2_8_0203_all.png)\n", "\n", "#### Younger age groups\n", "\n", "![19](19_2_8_0203_all.png)\n", "\n", "![20](20_2_8_0203_all.png)\n", "\n", "![30](30_2_8_0203_all.png)\n", "\n", "![40](40_2_8_0203_all.png)\n", "\n", "![50](50_2_8_0203_all.png)\n", "\n", "#### Older age groups\n", "\n", "Fits are performed to consider whether the decline in daily cases in the last phase could be due primarily to vaccination immunity in the older populations. This is done by removing the transition of $\\alpha$ for phase 7, corresponding to constant NPI for the phase 6 and 7 periods. The vaccine efficacy (against infection and transmission) is assumed to be 95%, as estimated from the Phase III trial. The delay time after first dose to reach immunity is assumed to follow a gamma distribution. The mean and standard deviation of the gamma distribution were estimated in the fit.\n", "\n", "![60](60_2_8_0203_all.png)\n", "\n", "![70](70_2_8_0203_all.png)\n", "\n", "![80](80_2_8_0203_all.png)\n", "\n", "### Immunity delay\n", "\n", "The decline in infection rates for the age groups above age 60 in phase 7 can be explained as being primarily due to\n", "vaccination. The gamma distribution parameters estimated by the fit are shown in the table below.\n", "\n", "Age | mean | std dev\n", "---|---|---\n", "60s | 13.9 +/- 2.4 | 19.4 +/- 5.3\n", "70s | 21.2 +/- 3.2 | 20.2 +/- 6.6\n", "80+ | 14.5 +/- 2.3 | 13.2 +/- 5.8\n", "\n", "The mean and standard deviation estimators are strongly correlated, with $\\rho = 0.97$. The corresponding delay curves are shown in the figure below.\n", "\n", "![immunity_delay](immunity_delay.png)\n", "\n", "The immunity delay estimated from this data can be directly compared to the delay measured in the Phase 3 trial.\n", "A simple model for the Phase 3 trial using the gamma distribution parameters from the table shows good agreement with\n", "the Phase 3 trial data reproduced in the figure below.\n", "\n", "![phase3_immunity_delay](phase3_immunity_delay.png)\n", "\n", "The good agreement suggests that population level data could be used to monitor vaccine effectiveness.\n", "\n", "## Infection trajectories\n", "\n", "The estimated growth rates and transition dates for phases 2-7 are shown for each age group in the tables below.\n", "\n", "age| δ 2 | day 3 | δ 3 | day 4 | δ 4\n", "---|---|---|---|---|---\n", "All|-0.7 +/- 0.0|Aug 15| 4.7 +/- 0.0|Sep 21|-6.3 +/- 0.1\n", "19|-0.3 +/- 0.1|Aug 16| 5.1 +/- 0.1|Sep 19|-5.9 +/- 0.1\n", "20|-0.8 +/- 0.1|Aug 15| 4.7 +/- 0.1|Sep 21|-6.5 +/- 0.1\n", "30|-0.6 +/- 0.1|Aug 17| 4.9 +/- 0.1|Sep 21|-6.6 +/- 0.1\n", "40|-0.7 +/- 0.2|Aug 15| 4.6 +/- 0.2|Sep 21|-6.6 +/- 0.1\n", "50| 0.4 +/- 0.1|Aug 21| 4.8 +/- 0.1|Sep 21|-6.4 +/- 0.2\n", "60| 0.7 +/- 0.1|Aug 22| 4.3 +/- 0.2|Sep 25|-8.0 +/- 0.2\n", "70| 1.0 +/- 0.4|Aug 27| 4.8 +/- 0.3|Sep 26|-7.4 +/- 0.2\n", "80|-0.2 +/- 0.6|Aug 28| 5.4 +/- 0.3|Sep 27|-7.5 +/- 0.3\n", "\n", "\n", "age| day 5 |δ 5 | day 6 | δ 6 | day 7 | δ 7\n", "---|---|---|---|---|---|---\n", "All|Oct 25|-0.1 +/- 0.1|Nov 14| 5.3 +/- 0.0|Jan 03|-1.0 +/- 1.0\n", "19|Oct 29|-0.2 +/- 0.3|Nov 15| 6.2 +/- 0.1|Jan 04|-0.6 +/- 1.4\n", "20|Oct 28| 2.2 +/- 0.2|Nov 22| 5.5 +/- 0.1|Jan 01|-0.4 +/- 0.9\n", "30|Oct 27| 2.9 +/- 0.3|Nov 24| 5.1 +/- 0.1|Jan 03|-1.4 +/- 1.2\n", "40|Oct 27| 3.1 +/- 0.3|Nov 24| 4.9 +/- 0.1|Jan 02|-1.1 +/- 1.0\n", "50|Oct 25| 1.5 +/- 0.3|Nov 17| 4.7 +/- 0.1|Jan 01|-0.9 +/- 0.8\n", "60|Oct 20|-1.4 +/- 0.5|Nov 07| 4.6 +/- 0.2\n", "70|Oct 29| 3.9 +/- 1.4|Nov 10| 4.2 +/- 0.2\n", "80|Oct 26|-0.6 +/- 1.1|Nov 11| 4.8 +/- 0.2\n", "\n", "The growth rates in each phase are similar across age groups, dispite differences in adherance to public health measures. This can come about because of mixing between age groups (not modelled in this analysis).\n", "\n", "The estimated dates for transitions between phase differ. \n", "The rapid growth in August started early in the younger age groups.\n", "Lockdown \\#2 occured on Sept 18, and the corresponding (transition day 4) is fit to be Sept 19-21 for the younger age groups, but lags 4-6 days beyond that for the older age groups.\n", "Lockdown \\#3 occured on Jan 8, but the data show that the decline started prior to that date even for the age groups with lower rates of vaccination. The decline in infection rates in these groups would be due to many factors, including lockown, vaccination immunity within the age group, and reduced contagious population in the older age groups." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Comparison with a (modified) null hypothesis\n", "To show the magnitude of the effect of vaccination, a null hypothesis is constructed, in which the vaccines do not provide any immunity. In that hypothesis the decline in January is primarily due to measures brought in with lockdown \\#3. This hypothesis maintains the effect of natural immunity.\n", "\n", "The observed age-group behaviours from lockdown \\#2 are used to define the expected age-group behaviours for lockdown \\#3 in the null hypothesis. Consider the transition date and rates of decline resulting from lockdown \\#2 shown in the table above (day 4 and $\\delta$ 4). The declining rate (-6.3 % per day) from the fit to all age-groups is in accord with the values estimated in younger age-groups, who make up the majority of the population. The older populations had roughly 1.5% faster decline than the younger populations, and the transition dates were occured about 4 days later.\n", "\n", "As the first step to build a null hypothesis for Phase 7, the data for all age-groups are fit to a model in which\n", "vaccination effectiveness is reduced from 95% to 0.1%. A good fit for the null hypothesis is only possible for the overall population, if the transition to lower transmission is moved one week earlier than the lockdown date of January 8, 2021. The left figure below shows the best fit assuming a January 8 lockdown, and the figure on the right shows the best fit assuming a January 1 lockdown. It is clear that the decline in cases began earlier than expected from a model without vaccination immunity. (The figures show data from Dec 5 to present.)\n", "\n", "![il_compare_dates](il_compare_dates.png)\n", "\n", "For purposes of comparison, the **modified** null hypothesis assuming a January 1 lockdown is used. The figure below compares the all age-group data fits with a transition on January 1 for a model with vaccination (left) and a model without vaccination (right - the modified null hypothesis). \n", "\n", "![il_compare](il_compare.png)\n", "\n", "The modified null hypotheses for the older populations is made by setting the vaccination effectiveness to 0.1%, and adding a transition in transmission rate, deduced from the fit of the modified null hypothesis to the all age-group data shown above (assuming a January 1 lockdown). The estimated value for $\\alpha$ from that fit is adjusted to produce 1.5% faster decline, and the transition date is delayed by 4 days, in order to mimic the age-group behaviour seen in lockdown \\# 2. The figures below, compare the vaccination models (left) with the modified null hypothesis for each of the older age groups. It is clear that the modified null hypothesis is ruled out by the data, and the disagreement would be expected to increase as time passes and more data is included. The original null hypothesis (with a January 8 transition) would have worse agreement.\n", "\n", "![60_compare](60_compare.png)\n", "\n", "![70_compare](70_compare.png)\n", "\n", "![80_compare](80_compare.png)\n", "\n", "The decline seen in the older populations is a combination of lockdown, natural immunity, and vaccination immunity. Separating the effects of lockdown from immunity would be very difficult without the data from lockdown \\#2." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Summary\n", "\n", "Case data from Israel show reduction in infection rates in the older populations that are consistent with that expected from a vaccination model that assumes 95% efficacy against infection and transmission. This reaffirms the findings of the preprint, linked above, that positive effects of the vaccination are already apparent in population level data. These data provide a useful benchmark for vaccination models to improve forecasting accuracy in other communities which are vaccinating their population at a much slower rate." ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [] } ], "metadata": { "kernelspec": { "display_name": "Python 3", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.7.6" } }, "nbformat": 4, "nbformat_minor": 4 }