CASE STUDY / 01DATA → DECISIONS

From facility reports
to clearer decisions.

A reproducible analytics pipeline that identifies reporting gaps, compares forecasting methods, and drafts evidence-based programme briefs.

Try the live demo Explore the source
SYNTHETIC DATA Six fictional facilities. No patient records or claimed real-world programme impact.

01 / THE PROBLEM

Which reports need attention?

Programme teams need to know whether a low service figure reflects a reporting gap, an invalid submission, or a valid count. Combining those cases can lead to the wrong follow-up.

The project asks a focused question: which fictional facilities need attention because their reports are missing, invalid, or below an operational target?

02 / THE APPROACH

Make every decision inspectable.

INPUTCSV reports + JSON targetsFacility register and raw submissions
VALIDATEPython validation + audit logMissing, invalid, accepted, superseded
STRUCTUREFacility-month factsPostgreSQL schema and tested SQL views
DECIDEDashboard · Forecast · Draft briefSource evidence retained for review

The Streamlit dashboard reads the processed CSV outputs, so it can run without a database server. This website’s interactive demo presents those same versioned records in the browser.

A missing or invalid report keeps its delivered count unknown. A submitted zero stays zero. Resubmissions remain in the audit log, with a clear selection decision.

03 / THE EVIDENCE

Evaluate against a baseline.

213 / 216Accepted facility-months
99.1%Reporting completeness

Reporting completeness counts 214 facility-months with at least one submission, including one invalid report. It is different from the accepted-report rate.

Forecasts model monthly doses delivered. Training uses January 2023–December 2024. The holdout covers 2025, with only nine complete months scored; February, April, and June are excluded because some facility records are incomplete.

Recorded forecast evaluation · synthetic holdout
MethodMAE (doses)WAPE
Seasonal naive31.784.19%
Ridge trend + seasonality33.894.47%
Holt-Winters Lowest observed MAE27.383.61%

MAE is average absolute error in doses. WAPE expresses absolute error relative to the observed total. These figures describe a small synthetic comparison.

Read the evaluation report

04 / THE AI ASSISTANT

A draft with an evidence trail.

The reporting module builds a structured evidence pack, then uses a local Ollama model to draft qualitative statements. Verified numbers and source references are added by the program.

  • Rejects unknown citations and model-authored numbers.
  • Checks for malformed outputs and selected unsupported causal claims.
  • Records a deterministic fallback if the local model is unavailable.
  • Keeps the brief as a draft requiring human review.

The browser demo does not run the LLM. It lets visitors inspect the data and measured evaluation behind the project.

05 / THE LIMITATIONS

What I would validate next.

The same holdout selected and evaluated the model, so the reported error may be optimistic. The illustrative forecast band is a descriptive error range, not a calibrated prediction interval.

A next iteration would reserve an independent test period, evaluate stability across facilities, and examine stock and supply constraints. Delivered doses do not establish unique patients, vaccination coverage, true demand, or health outcomes.

For real data, the first step would be agreeing indicator definitions and data use authority, reconciling a sample to source records, and testing the workflow prospectively with programme staff.

Explore the evidence yourself.

Filter the fictional facility records, inspect reporting gaps, and download the current view.

Open interactive demo