A mobile-first healthcare platform connecting rural clinics in Northern Ghana with medical specialists through video consultation, lab result sharing, digital prescriptions, and medication delivery tracking.
# Northern Health Link Software (NHLS)
A mobile-first healthcare platform connecting rural clinics in Northern Ghana with medical specialists through video consultation, lab result sharing, digital prescriptions, and medication delivery tracking.
## Problem
Over 70% of specialists in Northern Ghana are based in Tamale. Patients from rural districts like Karaga and Gushegu travel 4+ hours for basic specialist consultation. This causes delays in diagnosis, increased costs, and avoidable mortality.
## Solution
Northern Health Link enables rural clinics to:
- Register patients and manage medical records
- Schedule and conduct video consultations with specialists
- Request and receive lab results digitally
- Create and manage digital prescriptions
- Track medication delivery via motorcycle fleet
- Receive real-time notifications for all healthcare events
## Tech Stack
### Backend
- **Framework:** Flask (Python)
- **Database:** MySQL (local dev / Aiven.io production)
- **ORM:** Peewee
- **Authentication:** Flask-JWT-Extended (JWT)
- **Real-time:** Flask-SocketIO (gevent)
- **Caching:** Flask-Caching
- **Rate Limiting:** Flask-Limiter
- **CORS:** Flask-CORS
- **Validation:** Marshmallow
### Frontend
- **Framework:** React Native (Expo SDK 57)
- **Language:** TypeScript
- **Navigation:** Expo Router
- **UI Library:** React Native Paper (Material Design)
- **State Management:** Zustand, TanStack Query v5
- **HTTP Client:** Axios with JWT interceptor
- **Real-time:** Socket.IO client
- **Storage:** expo-secure-store, localStorage (web)
## User Roles
| Role | Responsibilities |
|------|-----------------|
| **ADMIN** | Manage users, clinics, system settings, audit logs, dashboard |
| **CLINIC_STAFF** | Register patients, schedule appointments, request labs, request deliveries |
| **SPECIALIST** | Conduct consultations, record diagnosis, create prescriptions |
| **LAB_OFFICER** | Receive lab requests, upload test results |
| **RIDER** | Update medication delivery statu …