Digital health / Case study
Clinical Virtual Health Platform
Coordinate virtual appointments across web, mobile, and video.
- Type
- Open-source engineering
- Release
- v1.0.0
- Stack
- TypeScript · Turborepo · Next.js · Fastify · Flutter / Dart
- Automated tests
- 5
System architecture
- Domain State Machine & Clinical Validation (@docaas/domain & @docaas/validation)
- Authentication, MFA & Video SFU Gateway (@docaas/auth & @docaas/video)
- Multi-Portal Next.js Web & Modular Flutter Architecture
01 / Problem
Why it exists
Virtual care platforms require strict coordination between appointment state machines, clinician license & prescription safety validation, multi-role authentication (JWT + TOTP MFA + KYC), and low-latency WebRTC video consultations across web and mobile clients.
02 / Design
How it works
Consolidate shared domain entities, clinical validators, auth guards, and video drivers into typed workspace packages (@docaas/*) with 15 documented ADRs.
Domain State Machine & Clinical Validation (@docaas/domain & @docaas/validation)
Enforces legal appointment state transitions, data classification tiers, clinician registration formats, and prescription safety rules.
Authentication, MFA & Video SFU Gateway (@docaas/auth & @docaas/video)
Manages JWT/refresh rotation, TOTP MFA, RBAC permissions, and LiveKit WebRTC consultation room lifecycle.
Multi-Portal Next.js Web & Modular Flutter Architecture
Separates Patient, Clinician, Admin, and Analytics web portals while sharing core Dart packages across Flutter mobile targets.
Polyglot Turborepo Monorepo with Shared Domain & Validation Packages
- Context
- Duplicating appointment state transitions and clinical validation logic across separate repositories leads to drift between web portals and API services.
- Decision
- Consolidate shared domain entities, clinical validators, auth guards, and video drivers into typed workspace packages (@docaas/*) with 15 documented ADRs.
- Trade-offs
- Requires workspace-aware build orchestration (Turborepo + pnpm), but guarantees single-source-of-truth domain rules.
- Verification
- Verified across 5 test suites (domain, auth, validation, phase3-integration, phase5-video) and GitHub Actions CI.
Security and operational constraints
- Stateless JWT access tokens paired with rotating refresh tokens, TOTP multi-factor authentication, and role-based access control (@docaas/auth).
- Data classification tiers and jurisdiction residency tagging in @docaas/domain.
- Confidentiality hygiene enforced via .gitignore and CI pipeline checks.
- Illegal appointment state transitions (e.g., AVAILABLE directly to COMPLETED) are rejected by canTransitionAppointment().
- All clinical database migrations and audit index schemas are verified in GitHub Actions CI alongside PostgreSQL 16 and Redis 7 service containers.
- Presented strictly as an engineering architecture monorepo without claiming clinical certification or regulatory approval.
03 / Evidence
How to verify it
Repository-reported / Polyglot Monorepo Architecture
15 ADRs · 7 Shared Packages · 5 Test SuitesTurborepo monorepo spanning 4 Next.js portals, Fastify API, Flutter packages, and 5 verification suites
Reproduce from the command line
git clone https://github.com/codesphere-u/Clinical-Virtual-Health-Platform.git
cd Clinical-Virtual-Health-Platform && pnpm install
pnpm test