This week

Overview

Cron workflows run on schedule; webhook workflows can be run from here. Job code stays version-controlled — this page starts, pauses and inspects, nothing more.

The last fifteen executions, newest first. Open one for its steps; the raw OpenFn log sits behind a disclosure so it never crowds the page.

The measles dashboard — maps, district charts, pivots — lives in DHIS2 analytics. This page shows what the pipeline last wrote, so you can confirm the write-back landed.

Effective reproduction number
EpiNow2 median per district, written back to DHIS2. Above 1.0 = growing.
Rt by district and week
output · DHIS2 analytics
Measles cases by district and week
the input series the model reads · DHIS2 analytics

Case-level line list pulled from the DHIS2 tracker, cleaned with cleanepi and validated with linelist. Names are never extracted.

Live config from the DHIS2 DataStore — this is how the workflows behave: which model, its parameters, what is extracted and where results are written. Edits apply on the next run, never to a run in flight.

Who each province's alert reaches. The alarm resolves recipients from the province's DHIS2 user group at run time — whoever is in that group with an e-mail address set. The address below is used only as a fallback, when a group is empty or no member has an e-mail. The severity words further down are the ones that go in the subject line.

Viewer access — contacts are read-only.
Severity scale — panel and e-mail
Lowrisk score below 0.4 — recorded, no e-mail Moderaterisk score 0.4 to 0.7 — province RRT e-mailed Highrisk score 0.7 and above — e-mailed and flagged for same-day response

Thresholds read from openfn/jobs/write_predictions.js, the job that both writes the risk score to DHIS2 and composes the e-mail — so this scale cannot drift from what recipients see.

Live status of the systems the pipeline depends on, checked from the panel backend on each load.

Who edited config or ran a workflow, and when. Recorded by the panel in the DHIS2 DataStore.