Auditable Emergency Triage for Maternal and Newborn Care in India
Abstract
We run a WhatsApp-based service where nurses answer over 50,000 medical queries per month. Their most time-critical task is emergency triage: deciding which queries need immediate in-person attention. To support them, we built a system that uses a large language model (LLM) to classify whether a message is an emergency and provide a rationale for interpretability. Nurses can flag if the system missed an emergency or incorrectly labeled it as one, giving us a live measure of missed emergencies and false alarms. But the system was opaque: analyzing mistakes meant reading reasoning chains for each message, infeasible at our scale. Prompt changes meant re-running a full evaluation to prevent regressions, both costly and operationally challenging. Clinicians follow a decision tree to make this call, but it was never documented or passed to the model, which relied on a flat list of danger signs. To address the issues, we decomposed triaging into two steps: an LLM extracts canonical symptoms and patient context from the query against a clinician-authored vocabulary, and a deterministic rule engine captures the scenarios that indicate an emergency. We show that the new system raises recall from 0.565 to 0.810 and F1 from 0.606 to 0.702, with structured rules driving most of the accuracy gains while the decomposition provides auditability: clinical experts inspect each stage of the new system to see whether the query was mistranslated, symptoms were incorrectly extracted, patient context wrongly inferred, or the necessary rules were missing. They add new rules independently without causing regressions and avoid running costly evaluations. Since deployment, the new system has triaged 152,421 patient queries and flagged 28,535 (18.7%) as emergencies. The over-escalation rate was 17.8% without any increase in missed emergencies. Clinicians have also added 48 new rules since deployment, evidence of the faster correction loop we set out to build.