Logo Lanfrica

entaadu1/Ghana-Outbreak-EWS-full-stack-app

Domaine:

healthcare

Type de record:

software
Créateur:
ent
Hôte:
# Ghana Disease Outbreak Early Warning System A full-stack epidemiological surveillance dashboard for Ghana: detects outbreak signals in disease case data (CUSUM), tracks how fast an outbreak is growing (growth rate + doubling time), and finds which regions' case trends move together in a way that suggests spread from one to another (lagged correlation). Built for Ghana's IDSR (Integrated Disease Surveillance and Response) priority diseases: Cholera, Meningitis (CSM), Measles, Malaria, Lassa Fever, Yellow Fever. ## Stack - **Backend**: Node.js + Express + PostgreSQL, plain SQL (no ORM) so the queries are easy to audit and tune. - **Frontend**: React + Vite, hand-rolled SVG charts (no charting library dependency), custom "operations room" design. - **Real external data**: the backend pulls Ghana's actual published indicators from WHO's Global Health Observatory (GHO) OData API — a free, public, no-API-key data source. ## ⚠️ Important, honest limitation There is **no open, key-free API for live daily district-level outbreak case counts in Ghana** — Ghana Health Service's real IDSR line-list data is internal to GHS, not publicly exposed. So: - The **WHO panel** in the dashboard shows real, WHO-published historical indicators for Ghana (e.g. estimated malaria incidence by year) — genuine data, but annual/periodic, not daily. - The **day-to-day surveillance numbers that feed CUSUM, growth rate, and correlation detection** come from the `surveillance_reports` table, which you either (a) fill with real facility reports via the "Log report" button / `POST /api/reports`, or (b) seed with the included realistic *simulated* data (clearly marked `source = 'simulated'` in the database) so the dashboard has something to demonstrate the analytics on out of the box. If your organization has access to GHS's internal IDSR feed or DHIS2 instance, swap the seed step for a real ETL job pulling from that system — the schema and analytics don't need to change. ## Project structur …