Summary
"Critical" risk means 75 on the population dashboards but 80 in alerts — the two Director surfaces disagree about who needs immediate review.
Evidence
apps/api/src/alerts/service.ts:37 — CRITICAL_THRESHOLD = 80
apps/api/src/fhir-data/population.ts:22 — CRITICAL_RISK_THRESHOLD = 75, used by getPopulationSummary / bucketFor
Impact
A patient with riskScore 76-79 lands in the "critical" bucket on GET /api/population/summary and risk-distribution, but GET /api/alerts classifies them only as "high" — inconsistent triage signal on exactly the decision these dashboards exist to support.
Summary
"Critical" risk means 75 on the population dashboards but 80 in alerts — the two Director surfaces disagree about who needs immediate review.
Evidence
apps/api/src/alerts/service.ts:37—CRITICAL_THRESHOLD = 80apps/api/src/fhir-data/population.ts:22—CRITICAL_RISK_THRESHOLD = 75, used bygetPopulationSummary/bucketForImpact
A patient with riskScore 76-79 lands in the "critical" bucket on
GET /api/population/summaryandrisk-distribution, butGET /api/alertsclassifies them only as "high" — inconsistent triage signal on exactly the decision these dashboards exist to support.