An auditable real-time monitoring platform for a multi-state public health programme
A single web and mobile system that carries monthly WASH indicators through collection, validation and reporting, so every figure is current, traceable and fit for international review.
· Health
The challenge
The programme reports against 34 WASH indicators every month, across a set of local government areas in three states in northern Nigeria, to a standard fit for international review. At that scale and cadence, three things are genuinely hard to achieve at once, and the client wanted a system built to deliver all three from the ground up: a single, current view of performance against target across every area, rather than one that lags the field; full traceability, so any figure can be followed back to who reported it, when, and through which checks; and a clear separation of duties between the people who report data, the people who validate it, and the people who set the targets it is measured against.
The goal was to move from periodic, manual reporting to a real-time system that is auditable and trustworthy enough to stand behind at international level.
The approach
We built a single web and mobile platform that carries the data through a governed lifecycle. Field officers submit monthly indicator values for their area, offline-capable on mobile with autosave and sync on reconnect; state officers validate each value through a structured review; and the system computes achievement against annual targets and presents it on dashboards, interactive maps and branded reports. User roles are enforced on the server, not merely hidden in the interface.
The core of the work was data governance, because that is what makes a figure defensible. A single shared rule validates every value against its indicator type and rejects a submission that contains an invalid entry, naming the offending indicator. Each value carries its own status, from not reported through pending and returned to approved, and nothing counts until a state officer approves it. Targets, the yardstick every percentage is measured against, lock at a cutoff, after which only management can change one, with a recorded and audited reason, so the person entering data cannot move the target it is judged against. Every submission, approval, return and later edit is logged with who, when, old value to new value, and why.
The platform runs as a containerised stack with automatic HTTPS behind a content delivery network, is backed up nightly with a tested restore, and is versioned for clean rollback. Published figures are rebuilt by a computation engine from approved source values rather than hand-edited, so the whole performance picture can be regenerated from the underlying data at any time.
The analysis is descriptive, auditable monitoring, not inferential statistics, and we were explicit about that. Not reported is always held distinct from a genuine reported zero, so a reporting gap is never mistaken for a result.
What was built
- A single web and mobile platform for collection, validation, dashboards and reporting
- An offline-capable mobile app built from the same codebase, with autosave and sync
- A validation and review workflow with per-value status and a full audit trail
- A performance engine computing achievement against annual targets, rebuildable from source
- Interactive dashboards, maps and branded reports, with role-based access enforced on the server
- An independent production-readiness appraisal of the data model, interfaces and deployment
The outcome
The programme moved from periodic, manual consolidation to a near real-time single source of truth across every area, with every figure attributable and every change accountable, to a standard fit for international review.
For an institutional buyer, this is the real test of a data partner: not dashboards for their own sake, but a governed data lifecycle, enforced separation of duties, and an audit trail that holds up under donor and international scrutiny.
Have something similar in mind?
Describe the problem and we will tell you honestly whether we can help.
Start a project