AyushBot
An offline triage kit for ASHA workers: a vitals sensor pack, a tablet app, and a Raspberry Pi in the health centre running a local model.
The question
What can a health worker do for an unwell child when there is no signal to reach a doctor?
AyushBot keeps the whole loop local: measure the vitals, sort the case by urgency, find the right guideline and decide where to refer.
Why it exists
Built for rural primary care in India, where ASHA workers cannot always count on a connection. The kit takes a child’s vitals and symptoms and returns a triage level, a referral and guidance grounded in IMCI clinical guidelines, all on hardware that sits in the health centre.
How it works
From a child’s vitals to a referral
- 1
Vitals
The sensor pack reads pulse oximetry and temperature and sends them to the app.
- 2
Intake
Clinical rules and a classifier each score the case. The more severe level is taken, and a critical case goes straight to referral.
- 3
Guideline lookup
Two searches run side by side over the IMCI guidelines and are merged.
- Keyword search
- BM25 catches exact terms.
- Vector search
- FAISS catches paraphrases.
- 4
Assessment
A local model writes the assessment, citing the retrieved passages.
- 5
Referral
The case is matched to the nearest facility that offers the level of care it needs.
Decisions
The more severe result wins
Rules and the classifier both score every case, and the higher level is used. If the classifier is unavailable the rules still decide, and if a stage fails the case falls back to a safer output instead of stopping.
Critical cases skip the language model
A critical case goes directly to referral instead of waiting for a generated assessment.
Answers must cite what was retrieved
The assessment is held to a fixed output format, and a citation counts only if it matches a passage the retrieval step actually returned.
Evidence
- Built
The sensor firmware, the gateway pipeline, its database and sync routes and the Android app are all in the repository, with about 210 unit and integration tests for the gateway.
Trade-offs and limits
- The pre-triage rule set is marked as a draft and lists each value for a clinician to confirm before real use.
Not built yet
- Weight-based dose calculation
- Translation into Indian languages on the gateway
- Federated training on the gateways
- The Bluetooth link inside the Android app
Built with
Languages
- Kotlin
- C++
Frameworks and libraries
- Jetpack Compose
- FastAPI
- LangGraph
Data and storage
- FAISS
AI and models
- llama.cpp
- XGBoost
- Flower
Systems and hardware
- ESP32
Protocols and chains
- MQTT