Enterprise Platform
Laboratory Management System
Full-stack clinical lab platform with WhatsApp notifications, Keycloak RBAC, and automated patient report delivery.
Status
Live
Deployment
Live on GCP
Auth
Keycloak RBAC
Notifications
WhatsApp API
Services
5 Docker containers
The Problem
Clinical labs struggle with manual test tracking, paper-based patient records, and no automated communication with patients — leading to delays, errors, and poor patient experience.
The Solution
A unified platform with a FastAPI backend, Next.js frontend, and a dedicated WhatsApp microservice (Node.js). Admins manage labs, patients, and test results from a single dashboard. Patients receive automated WhatsApp messages for appointments, reports, and billing — all secured via Keycloak group-based RBAC.
Features
Patient Management
- Register and manage patient records with full history
- Track test orders and sample collection status
- Generate, store, and deliver lab reports digitally
- Billing and invoice management per patient
Lab Administration
- Multi-lab support with owner-based access isolation
- Keycloak group-based role management per lab
- Admin dashboard for system-wide control and analytics
- Lab-level configuration — owner_username, keycloak_group_id
WhatsApp Notifications
- Dedicated Node.js WhatsApp microservice
- Automated patient notifications — report ready, appointments
- Real-time delivery status tracking
- Decoupled from main API for fault tolerance
Infrastructure & DevOps
- 5 Docker containers: FastAPI, Next.js, PostgreSQL, Keycloak, WhatsApp
- GitHub Actions CI/CD pipeline for automated deploys
- Nginx reverse proxy with SSL via Certbot
- Deployed and tested end-to-end on Google Cloud Platform
Architecture
“FastAPI backend with patient, admin, and system routers — all JWT-verified via Keycloak. PostgreSQL stores all relational data with auto-migration on startup (ALTER TABLE IF NOT EXISTS). Next.js frontend communicates through a proxy layer. A separate Node.js WhatsApp service handles all notification delivery asynchronously. All five services orchestrated via Docker Compose on GCP with Nginx as the entry point.”