Project Repository: Lassa Fever RCI Nigeria (2012–2025) This repository hosts a production-grade, fully reproducible Python pipeline dedicated to calculating and modeling the Reporting Completeness Index (RCI) for Lassa fever surveillance in Nigeria across a 14-year timeline.
# Lassa Fever Reporting Completeness — Nigeria 2012–2025
Reproducible analysis code for:
> **A Mortality-Based Reporting Completeness Index for Lassa Fever Surveillance in Nigeria, 2012–2025**
>
> *Manuscript submitted to Epidemiology & Infection (Cambridge University Press)*
---
## Overview
This repository contains the complete analysis pipeline that reproduces every quantitative result, figure, and supplementary table in the manuscript. Given the four input data files, running `scripts/run_pipeline.py` end-to-end regenerates every number in the paper.
### Key methodological contributions
| Component | Description |
|---|---|
| **Reporting Completeness Index (RCI)** | Deaths-based back-calculation (Eq 1), extending Simons (2022) |
| **Monte Carlo uncertainty** | N = 10,000 draws from truncated-normal CFR (Eq 3–4) |
| **Five CFR scenarios** | 10%, 15%, 16.5% (reference), 20%, 25% |
| **Non-parametric trend** | Mann–Kendall τ, Spearman ρ, Sen's slope + bootstrap CI |
| **Change-point detection** | Binary segmentation, L2 cost, F-test α = 0.05 |
| **Outlier detection** | Grubbs test + robust z-score (MAD-based) |
| **Random Forest** | TimeSeriesSplit CV (primary); shuffled K-fold (upper bound) |
| **State validation** | Edo and Ondo States, 2018–2025 |
---
## Repository Structure
```
lassa-rci-nigeria/
│
├── README.md
├── LICENSE
├── requirements.txt
├── environment.yml
│
|─── data/raw/
| |── ncdc_weekly.xlsx # Sourced from Emmanuel's Kaggle dataset (CC BY 4.0)
| |── simons_annual.xlsx # Sourced from David Simons' GitHub (MIT)
| |── LICENSE_NCDC.txt
| ├── LICENSE_SIMONS.txt
| |── edo_weekly.xlsx # Curated by author from NCDC reports (Public Domain/CC BY)
| └── endo_weekly.xlsx # Curated by author from NCDC reports (Public Domain/CC BY)
|
├── src/ # One module per analytical section
│ ├── config.py # All constants, paths, CFR scenarios
│ ├── data_cleaning.py …