Air + heat data paths: PM2.5 / index resolve via /api/air-quality/current;
effective °C (+ feels-like tier) uses /api/heat/current.
Thresholds mirror POST /api/alerts/evaluate and /api/alerts/evaluate-heat defaults
(adjust with env vars).
Air Quality 24H
📊
—
🤖 5-Day ForecastAI Powered
✓ Predicted respiratory cases based on air quality forecast
Loading AI forecasts...
Recent Alerts
🔔
Loading alerts...
Cases This Week
🏥
Scenario A · Stress sandbox
Move the sliders to explore illustrative respiratory load if pollution and heat
stayed at the values you dial in.
The baseline comes from this week's synthetic case curve (until DHIS2 is connected).
Numbers are a simple multiplied scenario for discussion — not validated forecasting and not a
substitute for local surveillance.
Baseline (synthetic avg / day)
—
From “Cases This Week” API series for selected city.
Illustrative load index
—
0–100 composite of dialled PM2.5 + heat strain (sandbox only).
Multipliers applied
Pollution — · Heat —
Combined × — applied to baseline daily avg.
Rough scenario daily / week
—
Week scale ≈ — —
Your account
👤
Facility sign-in, your registration profile, and workplace preparedness buttons are on the
Users page so this dashboard stays focused on environmental and case data.
Same APIs as before — visit /users or use the link in the site navigation.
Compare cities · air snapshot
Select cities below to load side-by-side air readings (nothing is fetched until at
least one box is checked). Checking many cities at once can hit RapidAPI rate limits (HTTP 429); keep
selections small, or ensure
WEATHERAPI_COM_API_KEY is set so the server prefers paid WeatherAPI before WAQI/Rapid.
Compare runs one city at a time (~0.65s apart) after you check a city or tap Refresh.
Snapshot chart: PM2.5 (µg/m³) for each selected city. Bars are coloured by the same
alert tiers as the table; the dashed line is your stored PM2.5 threshold (150 µg/m³).
Select one or more cities above — the chart loads with the table.