Remotriage is an offline-first digital health platform designed to improve healthcare accessibility across Africa. It helps users assess symptoms, receive reliable health guidance, access localized health education, and make informed decisions while supporting low-connectivity environments, multilingual communication, and low-end smartphones.
# RemoTriage v4
**Safe, rule-based health triage for Kenya. Web + USSD. WHO IMCI-aligned.**
> ⚠️ Triage guidance tool only. Not a medical device. Always confirm with a qualified health worker.
---
## 🏗️ Architecture Overview
```
remotriage/
├── backend/
│ ├── server.js ← Entry point
│ ├── config/
│ │ └── database.js ← MongoDB connection
│ └── src/
│ ├── app.js ← Express app, middleware stack
│ ├── controllers/
│ │ ├── triageController.js
│ │ ├── authController.js
│ │ ├── facilityController.js
│ │ └── ussdController.js
│ ├── services/
│ │ ├── triageEngine.js ← DETERMINISTIC core (no AI)
│ │ ├── aiService.js ← Supplementary AI layer
│ │ ├── facilityService.js ← KMHFR + offline DB
│ │ └── ussdService.js ← Africa's Talking USSD
│ ├── routes/
│ │ ├── triage.js
│ │ ├── auth.js
│ │ ├── facilities.js
│ │ └── ussd.js
│ ├── models/
│ │ ├── User.js
│ │ ├── Assessment.js
│ │ └── Facility.js
│ ├── middlewares/
│ │ ├── auth.js ← JWT auth
│ │ ├── optionalAuth.js
│ │ ├── validate.js ← Joi schemas
│ │ └── errorHandler.js ← Centralized errors
│ └── utils/
│ └── logger.js
│
└── frontend/
└── src/
├── App.jsx
├── context/AuthContext.jsx
├── hooks/useTriage.js
├── services/api.js
└── pages/
├── Landing.jsx
├── Login.jsx
├── Register.jsx
├── Assessment.jsx
└── Results.jsx
```
---
## 🚀 Quick Start
### Backend
```bash
cd backend
npm install
cp .env.example .env
# Edit .env with your MongoDB URI and Anthropic API key
npm run dev
```
### Frontend
```bash
cd frontend
npm install
npm run dev
```
---
## 🔌 API Reference
### POST /api/v4/triage
```json
{
"symptoms": ["fever", "altered_consciousness"],
"ageGroup": "adult",
"isPregnant": false,
"county": "Kisumu",
"season": "rainy",
"language": "en",
"reques …