# ClinicSim CFPC 2027 • Personal Learning System > Adaptive longitudinal learning platform for the Canadian Family Medicine Certification Examination (CFPC / CCFP). ## Overview ClinicSim is an evidence-based clinical education engine engineered specifically for Canadian Family Medicine certification candidates preparing for the 105 Priority Topics, Short Answer Management Problems (SAMPs), and Simulated Office Orals (SOOs). ### Primary URLs - Canonical Remote Web: https://ccfp.thepagal.duckdns.org - UI/UX Review & Audit Showcase: https://ccfp.thepagal.duckdns.org/ui-review - API Documentation: https://ccfp.thepagal.duckdns.org/docs - Alternate Cloudflare Tunnel: https://intersection-intervals-liked-local.trycloudflare.com --- ## Architecture & Technology Stack - **Backend**: FastAPI (Python 3.14 async), SQLite with SQLAlchemy ORM, Pydantic v2 schemas. - **Frontend**: Vanilla ES6+ SPA architecture, Calm Clinical Design System (custom CSS design tokens, components, and zero heavy JS frameworks for maximum speed). - **Design Tokens**: Standardized CSS variables defined in `/static/css/tokens.css`, `/static/css/components.css`, `/static/css/app.css`, and `/static/css/theme-bridge.css`. - **Audio Simulation**: Real-time bidirectional WebSocket voice streaming via Google Gemini 3.8 Live API (`gemini-3.8-live`) with Gemini 3.8 Flash TTS (`gemini-3.8-flash-tts`) and automatic turn-by-turn fallback. - **Accessibility & UX**: WCAG 2.1 AA compliant, 44px touch targets, high contrast tokens, full keyboard navigation (Cmd+K global search, ? shortcut HUD, number key option selection), and dark/light system and manual toggles. --- ## Key Exam Sections & UI Modules ### 1. Dashboard (`#dashboard`) - Real-time study trajectory status (Improving, Stable, Mixed, Needs Attention). - Readiness score & percentile projection for Spring 2027 sitting. - Category mastery breakdown across the 105 CFPC Priority Topics. - Spaced review recommendations based on SM-2 forgetting curve metrics. ### 2. SAMP Case Runner (`#samps`) - Authentic CFPC Short Answer Management Problem runner conforming strictly to the official CFPC SAMP Style Guide. - Multi-part clinical vignettes displayed with serif typography (`Source Serif 4`) optimized for clinical legibility. - Strict menu-style questions with exact count constraints (e.g., "Select up to TWO options"). - Immediate and debrief scoring modes with itemized rationales, clinical reference guidelines, and peer performance distributions. ### 3. Voice SOO Practice (`#soo-live`) - Real-time simulated patient consultations running a 15-minute clinical interview. - Strict 5-tier disclosure ladder preventing standardized patient actors from rushing or leaking secondary complaints or hidden medical secrets prematurely. - Candidate must earn disclosures by active listening, emotional cue exploration (FIFE: Feelings, Ideas, Function, Expectations), and specific questioning. - Dual-issue scoring rubric evaluating both presenting complaints, social context, and physician-patient communication. ### 4. Timed Mock Exam Engine (`#mock-exam`) - Full-length simulated examination matching CFPC sitting conditions. - Real-time countdown timer, question bookmarking, strikethrough logic, and post-exam debrief analysis. ### 5. Active Recall & Error Log (`#error-log`, `#strengths-weaknesses`) - 5-point Error Classification Taxonomy: 1. Knowledge Gap (factual deficit) 2. Over-investigation (ordering unnecessary tests) 3. Premature Closure (stopping diagnostic workup too early) 4. Misaligned Management (incorrect medication/dose or clinical decision) 5. Format Violation (providing more/fewer answers than instructed by CFPC rubric) - Longitudinal analytics tracking recurrence rates and targeted remediation paths. --- ## Design System Tokens & Guidelines - Primary Brand: Petrol Blue (`--ds-brand: #0A5C7A`) - Dark Mode Background: Midnight Slate (`--ds-bg: #0B191D`, surface: `#112328`) - Light Mode Background: Cool Paper (`--ds-bg: #F3F7F7`, surface: `#FFFFFF`) - Correct / Mastered: Forest Sage (`--ds-ok: #1E7F55`) - Incorrect / Alert: Crimson Rust (`--ds-bad: #B8323A`) - Caution / Flagged: Warm Amber (`--ds-warn: #8F5A00`) - Spacing Scale: 4px base increments (`--ds-space-1` through `--ds-space-11`) - Touch Targets: Strictly minimum 44px (`--ds-tap: 44px`) For a comprehensive live rendering of all components and screens for evaluation, visit: https://ccfp.thepagal.duckdns.org/ui-review