Inspiration

Like many university students and young people, I move around all the time - always changing my walk-in clinic, my pharmacy, my context. Often when something feels off, options are Google, a very tempting general-use chatbot that misleads, an 8-hour ER wait only to miss more suitable resources nearby, or even worse - to ignore something that actually needs attention. And that's with having a family doctor - around 6 million Canadians don't.

Most hospitals in Canada are also over 100% capacity, with frontline workers overworked, and overcrowding mismanaged. In 2024, roughly 500,000 Canadians left ERs before seeing a doctor.

MedUnity exists to empower not only individuals in making the best decisions with their health data, but allowing every user action to inform and benefit the community at large. It's built on 3 areas: acuity, continuity, and community.


What it does

MedUnity is a longitudinal health platform that creates a shared layer of medical intelligence across multiple audiences:

For patients: an AI-powered preliminary triage system.

  1. Describe symptoms in plain language
  2. Answer a dynamically generated short triage form
  3. Receive a structured clinical assessment with a CTAS score and recommendations, all based on CTAS 2025 (the Canadian Triage and Acuity Scale, the same framework used in every Canadian ER)
  4. Entries build a 30-day health timeline, where the agent detects patterns and links related entries
  5. When you're ready to seek care, routes you to the right facility that matches your condition and optimizes your time
  6. Send your triage report and ETA ahead so the facility knows you're coming

For healthcare providers: real-time demand projections.

  1. Incoming patient signals along with their CTAS score and reports appear on the map, with ETA and location updated live
  2. The system detects clusters ("4 respiratory patients inthe last hour, consider isolation protocol"), projects capacity ("full in 45 minutes at current rate"), suggests ward assignments, generates prep checklists, and recommends diversions to less-loaded facilities.
  3. Simulate different scenarios to stress-test readiness.

For communities:

  1. Features under each facility to communicate live updates, wait times, strain and resource shortage. e.g. health centres with live resource inventories, where staff can report shortages (naloxone kits running low, menstrual products out of stock) and the community can see what's available where.
  2. Hospital staff can report alerts and capacities to advocate for government attention and funding under this network of shared health visibility.

How it was built

Gemini & Vertex AI - CTAS Fine-Tuning: Using 1,000 synthetic training examples covering all five CTAS levels, 80% written in casual language, I fine-tuned Gemini 2.5 Flash on Vertex AI and achieved 77% validation accuracy on a 5-class task where most errors are clinically reasonable off-by-one boundary decisions (CTAS 3 vs 2). The model outputs structured assessments: CTAS level, CEDIS complaint, modifiers applied, and clinical rationale – parsed into a structured triage report that both the patient and provider can access.

About CTAS 2025: has 169 CEDIS complaint categories, Primary Modifiers (airway, breathing, circulation, disability, pain, mechanism of injury, frailty), Complaint-Specific Modifiers, and a 2025 update that reclassified sexual assault into trauma, added frailty as a universal modifier, and introduced new modifiers for diplopia, sensory loss, and pruritus.

Agentic Framework - Railtracks: The provider side dashboard uses Railtracks to power ER demand intelligence. Five deterministic tool nodes run the analytics – ward routing, prep checklists, cluster detection, capacity projection, diversion recommendations, while a Railtracks agent with Gemini 2.5 Flash synthesizes them into actionable summaries for charge nurses. The tools are fast and deterministic (no LLM latency for critical decisions); the agent adds the narrative layer on top for more accessible insights.

Features:

  • Triage: Gemini extracts symptoms and generates triage questions → user answers → fine-tuned CTAS model classifies → Gemini generates the structured report.
  • Facility discovery: Overpass API (OpenStreetMap) for real-time hospital/clinic queries, merged with sample data for community health centres that carry resource inventories.
  • Simulation engine: Four demand scenarios (normal day, flu season, mass casualty, heat wave) with curated Toronto patient profiles, realistic ETAs, deterministic routing table for wards suggestions, time-acceleration controls.

Challenges ran into

  • CTAS boundary ambiguity was the hardest problem. Solution was to craft training examples where the rationale section explicitly reasons about why a level was chosen, teaching the model to weigh modifiers rather than keyword-match symptoms.

  • Facility matching noise: querying for nearby facilities returns every eye clinic, chiropractor, and vet office. We built a multi-layer filter: specialist keyword exclusion, AI-recommended facility types from the triage report, with exclusion keywords.


What was learned

The biggest lesson was that the value isn't limited in the triage for an individual when the problem is systemic. A CTAS level by itself is just a number. But when that number routes you to the right facility, generates a prep checklist for the receiving nurse, feeds into a cluster detection algorithm that triggers an isolation protocol, and shows up on a community resource dashboard – that's when a single patient interaction benefits others in the community

I learned that simulation wasn't just a demo feature. Running a mass casualty scenario and watching 10 patients converge on Toronto General, triggering cluster alerts and diversion recommendations, revealed bottlenecks in the demand analysis pipeline that I wouldn't have found testing one signal at a time.

Sources: Hall JN, McCarron J, Toarta C, McLeod SL; CTAS National Advisory Committee and NENA Triage Committee. Canadian Emergency Department Triage and Acuity Scale (CTAS) Guidelines 2025. CJEM. 2025 Oct;27(10):774-777. doi: 10.1007/s43678-025-00996-1. Epub 2025 Sep 12. PMID: 40938532. (https://link.springer.com/article/10.1007/s43678-025-00996-1) https://www.cbc.ca/news/marketplace/hospital-wait-times-9.6983849 https://www.cbc.ca/news/health/primary-care-ourcare-family-doctors-9.7007471

Built With

Share this project:

Updates