Africa's Healthcare OS
# Sorabbyngo Labs — Kenya Health Platform
A modular, open-source health information system built for Kenya's healthcare infrastructure.
## Architecture
```
sorabbyngo-Labs/
├── novela/ FastAPI — Patient, Staff, Billing (NHIF/M-Pesa), Appointments
├── pulse/ FastAPI — Ward Vitals (InfluxDB), WebSocket, SMS Alerts (Africa's Talking)
├── karibu/ FastAPI — CHW Registration, Home Visits (NEWS2), ANC
├── dawa/ FastAPI — Drug Forecasting, Procurement (KEMSA routing)
├── taifa/ FastAPI — National Analytics, Surveillance, DHIS2
├── shared/ Schemas (VitalsReading), Utils (SUID), Constants (Kenya counties)
├── dashboard/ React/TypeScript — 14-page dashboard, live WardMonitor, Recharts
├── mobile/ Flutter — Offline-first CHW app, NEWS2 calculator
└── infra/ PostgreSQL SQL, Nginx, Mosquitto MQTT, Docker Compose
```
## Quick Start
```bash
# 1. Start all services
docker compose up -d
# 2. Dashboard
open
localhost
# 3. API docs
open
localhost # Novela
open
localhost # Pulse
open
localhost # Karibu
open
localhost # Dawa
open
localhost # Taifa
```
## Environment Variables
Copy `.env.example` to `.env` and fill in:
| Variable | Description |
|---|---|
| `JWT_SECRET` | JWT signing secret |
| `AT_API_KEY` | Africa's Talking API key |
| `AT_USERNAME` | Africa's Talking username |
| `MPESA_CONSUMER_KEY` | Safaricom M-Pesa consumer key |
| `MPESA_CONSUMER_SECRET` | Safaricom M-Pesa consumer secret |
| `MPESA_PASSKEY` | Safaricom STK push passkey |
| `DHIS2_BASE_URL` | DHIS2 instance URL |
## Modules
### Novela — Patient & Staff
- Staff CRUD with role-based access (doctor/nurse/chw/admin/pharmacist)
- JWT authentication with refresh tokens
- NHIF claims submission
- M-Pesa STK push for patient billing
- Appointment booking with conflict detection
### Pulse — Ward Monitoring
- Real-time vitals via WebSocket (`/ws/vitals/{ward}`)
- NEWS2 …