Developing and evaluating a chatbot to support maternal health care
Organizations: Carnegie Mellon University · Population Council Institute · Sitaram Bhartia Institute of Science and Research · Nivi, Inc.
Abstract
The ability to provide trustworthy maternal health information using phone-based chatbots can have a significant impact, particularly in low-resource settings where users have low health literacy and limited access to care. However, deploying such systems is technically challenging: user queries are short, underspecified, and code-mixed across languages, answers require regional context-specific grounding, and partial or missing symptom context makes safe routing decisions difficult. We present a chatbot for maternal health in India developed through a partnership between academic researchers, a health tech company, a public health nonprofit, and a hospital. The system combines (1) stage-aware triage, routing high-risk queries to expert templates, (2) hybrid retrieval over curated maternal/newborn guidelines, and (3) evidence-conditioned generation from an LLM. Our core contribution is an evaluation workflow for high-stakes deployment under limited expert supervision. Targeting both component-level and end-to-end testing, we introduce: (i) a labeled triage benchmark (N=150) achieving 86.7% emergency recall, explicitly reporting the missed-emergency vs. over-escalation trade-off; (ii) a synthetic multi-evidence retrieval benchmark (N=100) with chunk-level evidence labels; (iii) LLM-as-judge comparison on real queries (N=781) using clinician-codesigned criteria; and (iv) expert validation. Our findings show that trustworthy medical assistants in multilingual, noisy settings require defense-in-depth design paired with multi-method evaluation, rather than any single model and evaluation method choice.
Figures & tables
| Symptom | Pregnancy | Postpartum | Neonatal | Newborn |
|---|---|---|---|---|
| Severe headache / vision changes | Crisis | Same day | Crisis | Crisis |
| Fever ( 102 ∘ F) | Same day | Same day | Crisis | Same day |
| Reduced activity or responsiveness | Same day | Same day | Crisis | Same day |
| Retriever | R@5 | Hit@5 | R@10 | Hit@10 | R@50 | Hit@50 | MRR |
|---|---|---|---|---|---|---|---|
| Hybrid RRF + Cross-encoder MiniLM | 0.340 | 0.830 | 0.481 | 0.900 | 0.634 | 0.930 | 0.618 |
| Hybrid RRF + MedCPT | 0.292 | 0.740 | 0.430 | 0.880 | 0.634 | 0.930 | 0.479 |
| Hybrid RRF (Base) | 0.291 | 0.750 | 0.395 | 0.810 | 0.634 | 0.930 | 0.528 |
| Dense (Standalone) | 0.237 | 0.670 | 0.354 | 0.800 | 0.645 | 0.910 | 0.492 |
| BM25 (Baseline) | 0.182 | 0.430 | 0.223 | 0.530 | 0.374 | 0.650 | 0.341 |
| Metric | No Reranker | Cross-encoder MiniLM | MedCPT |
|---|---|---|---|
| Correctness | 1.65 | 1.62 | 1.57 ∗∗ |
| Completeness | 1.95 | 1.80 | 1.71 ∗∗∗ |
| Emergency Flagging | 1.28 | 1.26 | 1.22 ∗∗ |
| Language Match | 1.48 | 1.29 | 1.24 ∗∗∗ |
| RAG Grounding | 2.05 | 1.94 ∗ | 2.48 |
| Pred. Escalation (Template) | Pred. Pass-through | |
| GT Emergency (n=90) | 78 | 12 |
| GT Non-emergency (n=60) | 9 | 51 |
| Metric | Value | |
| Emergency Recall | 86.7% | |
| Emergency Precision | 89.7% | |
| Missed Emergencies (FN) | 13.3% | |
| Template Type | Risk | Total | Correct | Accuracy |
|---|---|---|---|---|
| Emergency escalation | Potential crisis | 4 | 4 | 100% |
| OOD refusal | Routine | 11 | 10 | 90.9% |
| OOD refusal | Potential crisis | 2 | 1 | 50.0% |
| Overall | 17 | 15 | 88.2% |
| Metric | Simple NoRAG | NoRAG + Safety Triage | Simple RAG | RAG + Safety Triage |
|---|---|---|---|---|
| Correctness | 1.52 | 1.46 | 1.57 | 1.39** |
| Completeness | 1.63* | 1.67 | 1.71 | 1.74 |
| Clarity | 1.17 | 1.31 | 1.15*** | 1.16 |
| Cultural Appropriateness | 1.12 | 1.16 | 1.03*** | 1.05 |
| Spillage | 1.10 | 1.06 | 1.18 | 1.03*** |
| Emergency Flagging | 1.20 | 1.14 | 1.22 | 1.12** |
| Dimension | J–H MAE | J–H 0.5 | H–H MAE | H–H 0.5 |
|---|---|---|---|---|
| Correctness | 0.29 | 81% | 0.27 | 78% |
| Communication quality | 0.40 | 74% | 0.41 | 72% |
| Localization | 0.26 | 87% | 0.27 | 75% |
| Dimension | J–H QWK | H–H QWK | H–H Range |
|---|---|---|---|
| Correctness | 0.31 | 0.45 | [0.34, 0.70] |
| Communication quality | 0.045 | 0.14 | [-0.04, 0.19] |
| Localization | 0.34 | 0.37 | [0.09, 0.60] |
| Subset | Correctness Mean (95% CI) | Safety Mean (95% CI) |
|---|---|---|
| Informational answers (N=59) | 1.32 [1.20, 1.45] | 1.24 [1.15, 1.34] |
| Subset | Correctness Issues (95% CI) | Safety Issues (95% CI) |
|---|---|---|
| Informational answers (N=59) | 2/59 (3.4%) [0.9%, 11.7%] | 0/59 (0.0%) [0.0%, 6.1%] |
Appendix figures & tables8 assets
Supplementary material from the paper’s appendix.
Appendix
| Stage | Example patterns |
|---|---|
| Pregnant | \b(weeks?|months?)\s+pregnant\b |
| \btrimester\b , \bfetal\b , \bdue date\b | |
| Postpartum | \bpostpartum\b |
| \bsince\s+(delivery|birth)\b | |
| \bc[-\s]?section\b , \blochia\b |
| Level | Category | Example patterns |
| EMERGENCY_NOW | Suicidality / self-harm | suicide|suicidal , want\s+to\s+die , end(ing)?\s+.*life |
| Domestic violence | he\s+(hit|hurts?)\s+me , afraid.*safety , not\s+safe\s+at\s+home | |
| Haemorrhage | heavy\s+bleed(ing)? , soak(ing|ed)?.*pads? , hemorrhag | |
| Seizure / convulsion | seizure , convuls(ion|ing)? , shaking\s+uncontrollably | |
| Chest pain / breathlessness | chest\s+pain , can’?t\s+breathe , gasping\s+for\s+(air|breath) | |
| Hypertensive warning signs | severe\s+headache.*vision , seeing\s+(spots|stars) , epigastric\s+pain |
| Language | Accuracy (%) | Recall (%) |
|---|---|---|
| English | 89.4 | 86.7 |
| Hindi | 90.7 | 88.0 |
| Assamese | 86.2 | 87.0 |
| User query | Stage | Key signal | Outcome |
|---|---|---|---|
| “Bleeding heavily since morning” | Pregnant | Haemorrhage cue | EMERGENCY_NOW |
| “Baby has fever and is not feeding” | Newborn | Neonatal danger signs | EMERGENCY_NOW |
| “I can’t go on anymore” | Pregnant | Suicidality language | EMERGENCY_NOW |
| “Breast is red and painful, have fever” | Postpartum | Mastitis pattern | SAME_DAY |
| “Baby moving less than usual” | Pregnant | Reduced fetal movement | SAME_DAY |
| “Mild back pain at 24 weeks” | Pregnant | Common pregnancy symptom | PASS |
| Metric | Translate-first | No-translate (ours) |
|---|---|---|
| Correctness | 1.65 | 1.60 ∗ |
| Completeness | 1.95 | 1.87 ∗∗ |
| Emergency flagging | 1.28 | 1.24 ∗ |
| Language match | 1.48 ∗∗ | 1.53 |
| RAG grounding | 2.05 ∗∗ | 2.34 |
| Component | Setting |
|---|---|
| Generator model | GPT-4-Turbo |
| Decoding | temperature ; max retries ; timeout s |
| Language detection | langdetect |
| Translation | Enabled after stage/triage; before reranking only |
| Dense embeddings | intfloat/multilingual-e5-large-instruct |
| Vector index | FAISS (prebuilt, loaded from disk) |
Healthcare
Healthcare AI develops and evaluates models and systems for clinical care, medical research, public health, and healthcare operations.
See all 616 papers