Centralised digital health records platform for African healthcare providers — PWA + Express + SQLite, FHIR-compatible, offline-first, AI-assisted.
MedCore is a centralised digital health records platform for African healthcare providers — a **Vite + React PWA**front-end with a**Node + Express + SQLite (libSQL)** API. It implements the PRD's eight features end-to-end with FHIR-shaped resources, RBAC-gated access, and an AI assist layer that summarises patient context and surfaces risk flags. Every external integration (Daily.co, OpenAI Whisper, Africa's Talking, OpenFDA, Web Push) ships with a working mock so the demo runs offline.
## 🏆 Recognition
**Winner — Yale Africa Innovation Symposium IV (April 16–18, 2026)**, built within the **Technology & AI Innovation Lab** track under the symposium's "The Pulse of Progress" theme.
Final presentation, Yale, April 18, 2026
Technology & AI Innovation Lab participants, YAIS IV
## Quick start
```bash
git clone
github.com
cd MedCore
npm install
npm --prefix server install
npm run dev
```
- Web:
- API:
The Vite dev server proxies `/api/*`to the Express server on port 3001 and binds to`0.0.0.0`, so a phone on the same Wi-Fi can open `http:// :5173`.
### Sign-in (demo)
| Role | User ID | Default PIN |
| ------ | --------- | ------------- |
| Doctor | `DOC-001` | `4242` |
| Patient | `PAT-001` | `1212` |
| Admin | `ADM-001` | `3434` |
PINs are configurable in `server/.env`(see`server/.env.example`). For production, set `SESSION_SECRET` to a long random string (≥32 characters). If a login fails after editing PINs, restart the API to resync demo PINs — dev does this on every start.
## How it works
```mermaid
sequenceDiagram
actor Doctor
participant PWA as PWA (Vite + React)
participant API as Express API
participant DB as SQLite (libSQL)
participant Ext as External APIs (OpenFDA · Daily · AT · Whisper)
participant AI as AI Layer (OpenRouter · Groq)
Doctor->>PWA: Open patient chart
PWA->>API: GET /api/patients/:id (session cookie)
API->>API: requireApiSession + audit
API->>DB: SELECT patient, meds, labs, encounters
DB-->>A …