This is the code associated with the article: "Health and economic impacts of Lassa vaccination campaigns in West Africa" This code was developed by OxLiv Consortium members David R M Smith, Joanne Turner, Patrick Fahr, Paul Bessell, Emily Nixon, Koen Pouwels and Deirdre Hollingsworth.
This repository includes three main sections:
- LASV: A branching process model describing human-to-human LASV transmission throughout "districts" (ADM1 divisions) of West Africa, and accompanying code that prunes both spillover infections and human-acquired infections among vaccinated individuals
- LassaX: A gravity model describing the geospatial spread of Lassa-X across districts, underlying an SEIR model describing within-district Lassa-X transmission and vaccination
- HealthEconomics: A health-economic model that post-processes epidemiological data (infection incidence over space and time) for both LASV and Lassa-X to estimate clinical and economic outcomes
- An R project containing all necessary files and input data
- housekeeping.R contains background functions and inputs called across multiple scripts
Code for LASV transmission and vaccination, built upon estimates from a geospatial risk map of LASV spillover from Mastomys natalensis to humans.
-
(1) lassa_fever_R0_0631.R
- Functions and parameter inputs underlying the stochastic branching process model, producing the "unpruned" model output (i.e. LASV incidence in absence of vaccination)
-
(2) initialise.R
- Generates indexed input files for branching process model from spillover incidence data ("spillover_data.csv" and "incidence_ADM_1_SampleDF_Centiles.xlsx")
-
(3) lassa
- Condor job submission file to run branching process model from (1) based on inputs from (2)
-
(4) file_processing.R
- Reformats and summarises outputs generated after running (3)
-
(5) Lassa_pruning_functions.R
- Function that prunes formatted outputs from (4)
-
(6) UsingLassaPruningFunction.R
- Script that runs code from (5) to execute infection pruning, using a range of necessary input parameters (vaccine efficacy against infection; R0 of LASV infection from h2h transmission; vaccine allocation scenarios from corresponding CSV scenario files containing the district-specific coverages applied under each scenario and the year in which vaccination was applied in each district). Resulting "pruned" files are very large and were run for this work by dispatching jobs across supercomputing cores
NB: this LASV code contains 7 vaccination scenarios. Scenario 2 was ultimately removed for downstream analyses, and scenarios 3 through 7 have been renumbered as 2 through 6.
Code for Lassa-X transmission and vaccination.
-
(1) custom_EpiEstim.R
- Updates the estimate_R function from EpiEstim (https://www.sciencedirect.com/science/article/pii/S1755436519300350) to return daily estimates of Rt parameters (from Gamma distribution)
-
(2) ebola_simulate_Rt.R
- Generates district-level Rt curves from case data from the 2013/16 West Africa Ebola outbreak (https://royalsocietypublishing.org/doi/10.1098/rstb.2016.0308)
-
(3) DiseaseX_gravity.R
- Generates trajectories of the geospatial spread of Lassa-X across districts, built upon a gravity model fit to Ebola 2013/16 case data (https://royalsocietypublishing.org/doi/full/10.1098/rsos.160294)
-
(4) DiseaseX_initialConditions.R
- Creates initial conditions for numerical ODE integration, reflecting the geospatial spread of Lassa-X across districts and vaccination assumptions (rate of uptake and delay to first dose)
-
(5) DiseaseX_ODEs.R
- Ordinary differential equations describing within-district Lassa-X transmission (deterministic SEIR model with vaccination)
-
(6) DiseaseX_launchSimulations.R
- Script to run SEIR model in (5) based on Rt curves estimated using (1) and (2) and initial conditions generated by (3) and (4)
Code to run post-processing of epidemiological data.
-
(1) Lassa_data_overview.pptx
- Descriptive slide providing an overview of the data inputs and support code for calculation of economic parameters, including demographic data, treatment costs, productivity losses, risks of catastrophic expenditures, etc., as well as parameters varied in Monte Carlo simulations and univariate sensitivity analyses
-
(2) /data_econ
- Directory containing raw data, data processing scripts and processed data for economic parameter inputs; see (1) for detail
-
(3) /simulationInputs...
- Directories containing summarized epidemic data from LASV and Lassa-X (annual infection incidence with and without vaccination)
-
(4) econOutcomes_inputs.R
- Script to load and format economic parameter input data from (2)
-
(5) econOutcomes_func.R
- A function that calculates health-economic outcomes from epidemic input data from (3) and input parameters prepared in (4)
-
(6) econOutcomes_launch.R
- Script that launches (5), allowing specification of desired input arguments
-
(7) /econOutputs...
- Directories containing summarized health-economic data from LASV and Lassa-X, after running (6)
David R M Smith
Nuffield Department of Population Health
University of Oxford
david.smith@ndph.ox.ac.uk; davidrobertmundysmith@gmail.com