Skip to content
Assessing the evidence for the 2005 BCG policy change in England
R Makefile Dockerfile
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.

Reassessing the Evidence for Universal School-age Bacillus Calmette Guerin (BCG) Vaccination in England and Wales

badge Documentation Paper DOI

Sam Abbott, Hannah Christensen, Ellen Brooks-Pollock


In 2005, England and Wales switched from universal BCG vaccination against tuberculosis (TB) disease for school-age children to targeted vaccination of neonates. We aimed to assess the quantitative evidence that informed this policy change.


We recreated a previous approach for estimating the impact of ending the BCG schools’ scheme, updating the model with parameter uncertainty. We investigated scenarios considered by the UK’s Joint Committee on Vaccination and Immunisation, and explored new approaches using notification data.


England and Wales.

Outcome measures

The number of vaccines needed to prevent a single notification, and the average annual additional notifications caused by ending the BCG schools’ scheme.


We found a 1.9% annual decrease in TB incidence rates best matched notification data. We estimate that 1600 (2.5-97.5% Quantiles (Q): 1300-2100) vaccines would have been required to prevent a single notification in 2004. If the scheme had ended in 2001, 302 (2.5-97.5% Q: 238-369) additional annual notifications would have occurred compared to if the scheme had continued. If the scheme ended in 2016, 120 (2.5-97.5% Q: 88-155) additional annual notifications would have occurred.


Our estimates of the impact of ending the BCG schools’ scheme were highly sensitive to the annual decrease in incidence rates. The impact of ending the BCG schools’ scheme was found to be greater than previously thought when parameter values were updated, and notification data were used. Our results highlight the importance of including uncertainty when forecasting the impact of changes in vaccination policy.


Repository structure

The repository is structured as an R package. It has the following structure:

  • data-raw: Raw data processing.
  • data: Processed data.
  • R: Supporting R functions.
  • docs: Documentation for R code.
  • vignettes: Analysis paper, results, and analysis plan.
  • peer-review: Documentation required for peer review.

Manual install

git clone
  • Once this has been downloaded click on the project file (AssessBCGPolicyChange.Rproj).

  • Install the analysis dependencies and build the package using the following. To enable more robust reproducibility consider using the checkpoint package versioned locked to R 3.5.2.

# To build locally
devtools::install_dev_deps(dependencies = TRUE)
# Alternatively to remote install
devtools::install_github("seabbs/AssessBCGPolicyChange", dependencies = TRUE)
  • Load the analysis results by running vignettes/paper.Rmd. Alternatively the complete analysis (along with documentation) can be reconstructed using make in the project root directory.

  • See data-raw for data processing and the documentation for implementation details.


This analysis was developed in a docker container based on the tidyverse docker image. To run the docker image run:

docker run -d -p 8787:8787 --name assessbcgpolicychange -e USER=assessbcgpolicychange -e PASSWORD=assessbcgpolicychange seabbs/assessbcgpolicychange

The rstudio client can be found on port :8787 at your local machines ip. The default username:password is assessbcgpolicychange:assessbcgpolicychange, set the user with -e USER=username, and the password with - e PASSWORD=newpasswordhere. The default is to save the analysis files into the user directory.

If you have access to the required underlying raw data (see tbinenglanddataclean) then the entire analysis can be reproduced from scratch by adding the following to the docker run command, with the data saved into data/tb_data. The data requirements, and structure, can be found here.

--mount type=bind,source=$(pwd)/data/tb_data,target=/home/DirectEffBCGPolicyChange/data/tb_data

Alternatively the analysis environment can be accessed via binder.

You can’t perform that action at this time.