# Liberia – code for data processing & analysis
The repository contains a reproducible R pipeline for cleaning, matching, and validating pediatric hospital **admission** and **discharge** records in Liberia. The pipeline links admissions to discharges and resolves duplicate cases (readmissions, twins, transfers). The analysis code then provides starting tables and figures about the final dataset.
---
## quick start
1. **install packages**
```r
source("R/00_setup.R")
```
2. **prepare the dataset (cleaning/matching)**
```r
source("run_all.R")
```
writes:
* `data/processed/final_matched.csv`
* `data/processed/unmatched_admissions.csv`
* `data/processed/unmatched_discharges.csv`
* `data/processed/validation_sample_5pct.csv`
3. **run the analysis (tables + figures)**
```r
source("analysis/run_analysis.R")
```
outputs go to `analysis_outputs/`.
---
## input data
Place the raw **admission** and **discharge** files in `data/raw/`.
* Recommended names: `AdmissionForm.csv`, `DischargeForm.csv`.
* From Kobo, use CSV with “_labels” (recommended). XML and excel also works.
---
## repository structure
```
R/ # cleaning + matching
00_setup.R # installs/loads packages
01_data_load.R # read raw data, standardize, basic cleaning
02_matching.R # unique-ID matching
03_matching_nonunique_functions.R # helpers for complex cases
04_matching_nonunique.R # readmissions, twins, transfers; final joins
05_validation.R # builds validation sample
analysis/ # analysis (tables + figures)
10_setup.R
20_derive_core.R
30_table1_overview.R
40_time_and_outcomes.R
50_readmissions.R
60_diagnoses_complaints.R
70_malnutrition_labs.R
80_utilization.R
90_geo_and_missing.R
run_analysis.R
analysis_outputs/ # PNGs + CSVs from the analysis
data/
raw/ # put the raw data files here (not versioned)
processed/ # final outputs from the pipeline
fo …