Reusable maternal-child health AI engine for Zimbabwe (MIT)
# mwana-ai-engine
A reusable, open-source maternal-child health AI engine for Zimbabwe. Provides clinical decision support for symptom triage, immunization scheduling, growth monitoring, developmental milestones, nutrition guidance, postnatal depression screening, and more.
Built on WHO IMCI guidelines, the Zimbabwe Expanded Programme on Immunization (EPI), and validated clinical tools adapted for the Zimbabwean context.
## Installation
```bash
pip install mwana-ai-engine
```
## Quick Start
```python
from datetime import date
from mwana_ai_engine import (
TriageEngine,
ImmunizationScheduler,
GrowthMonitor,
DevelopmentalMilestones,
NutritionAdvisor,
EPDSScreening,
StageManager,
Stage,
)
# Determine the care stage
stage = StageManager.determine_stage(child_dob=date(2026, 1, 15))
# Triage symptoms
result = TriageEngine.triage(
symptoms=["fever", "fast_breathing"],
stage=stage,
child_age_months=4,
)
print(result.level) # TriageLevel.YELLOW
# Check immunizations
scheduler = ImmunizationScheduler()
due = scheduler.get_next_due(
date_of_birth=date(2026, 1, 15),
completed_codes=["BCG", "HepB_birth"],
)
print(due.vaccine_name) # "Oral Polio Vaccine"
# Monitor growth
monitor = GrowthMonitor()
assessment = monitor.assess_growth(
weight_grams=7200,
height_cm=67.0,
age_months=6,
gender="male",
)
print(assessment.interpretation)
# Screen for postnatal depression
epds = EPDSScreening()
score = epds.calculate_score([0, 1, 1, 0, 0, 1, 1, 0, 0, 0])
result = epds.interpret_score(score)
print(result["level"]) # "low"
```
## Care stages
The engine models the maternal-child health journey as a sequence of stages.
`StageManager.determine_stage(...)` selects the stage from pregnancy status or
the child's age.
| Stage | Age range | Notes |
|-------|-----------|-------|
| `PREGNANT` | Before delivery | Antenatal care, danger signs |
| `NEWBORN` | 0 to 28 days | WHO IMCI applies |
| `INFANT` | 29 days to under 12 months | WHO IMCI applies |
| `TODDLER` | 1 to under 3 years | …