Synthetic Clinical Demo Dataset: All patient records, histories, and outcomes are entirely synthetic and modeled for hospital network research exploration. Not for clinical treatment recommendations.
3C v1.0

System & Data Architecture

Enterprise architecture documentation, PostgreSQL migration roadmap, and AI integration points

Layered Clean Architecture Pattern

Strict separation of concerns ensures frontend components are completely decoupled from storage layers

UI Presentation Layer

Next.js App Router, Tailwind CSS, Recharts, Apple/Linear Design

/components /app

API & Service Layer

Business logic, cohort queries, Kaplan-Meier engine, similarity vectors

/services /app/api

Repository Abstraction

TypeScript repository interfaces: IPatientRepository, ICohortRepository

/repositories

Storage Engine

Current: Deterministic In-Memory. Future: PostgreSQL / Prisma

/data/generator.ts

Replacing In-Memory Data with PostgreSQL

Step-by-step production database enablement

Because all components consume services through the repositories factory, switching to PostgreSQL requires zero frontend modifications:

  1. Implement Postgres Repositories: Create PostgresPatientRepository.ts implementing IPatientRepository.
  2. Configure Database URL: Set DATABASE_URL=postgresql://... in .env.local.
  3. Update Repository Factory: In /repositories/index.ts, switch RepositoryFactory to return Postgres instances when database credentials are detected.
  4. Frontend Zero-Change Guarantee: All UI pages and Recharts visualizations remain identical.

Future AI / LLM Extension Points

Architectural contracts ready for machine learning

ClinicalDocumentExtractor

Swap current deterministic regex extractor with Claude/Gemini multimodal document parsing for OCR on pathology and PET-CT scan PDFs.

NaturalLanguageQueryEngine

Extend current rule-based parser in /api/query with Text-to-SQL / RAG embeddings for arbitrary clinical questions.

PatientSimilarityEngine

Upgrade multi-attribute Euclidean matching with clinical embeddings (BioBERT / clinical LLM vectors).

Synthetic Dataset Referential Integrity Audit

Verification assertions executed via scripts/validate-data.ts

Patient Records
380 Verified
0 duplicate IDs
Cancer Episodes
388 Episodes
100% stage valid
Clinical Events
2,062 Events
0 chronological errors
Referential Orphans
0 Broken Keys
100% integrity