Sunnybrook Health Sciences Centre is one of Canada's largest and most research-intensive hospitals, serving over 1.3 million patient visits annually across its campus in North Toronto. With 1,325 beds, 79 operating rooms, and clinical programs spanning trauma, cancer, cardiovascular surgery, neonatal intensive care, and mental health, Sunnybrook generates an enormous volume of patient data, clinical workflows, and operational complexity every single day. When their digital health team identified that patient wait times for outpatient appointments were averaging 47 minutes, that 34% of post-discharge patients were failing to complete follow-up care plans, and that their phone-based appointment system was generating 2,300 abandoned calls per week, they knew incremental improvements to their existing systems would not be enough.
"CoderDesign's engineers understood the clinical workflow constraints that most development teams miss entirely. They built a system that nurses and physicians actually want to use, which is the hardest problem in healthcare IT." — Director of Digital Health Innovation, Sunnybrook Health Sciences Centre
Our team partnered with Sunnybrook's Digital Health Innovation department over 14 months to design and build a comprehensive patient engagement platform that integrated with their existing Epic EMR, reduced appointment no-shows by 62%, cut average wait times by 28 minutes, and gave clinicians real-time visibility into patient flow across the entire outpatient network. This case study covers exactly what we built, the compliance and integration challenges we solved, and how our full-stack development, mobile engineering, AI automation, and digital health marketing capabilities helped Sunnybrook deliver measurably better patient outcomes.
The Challenge: A Hospital System Built for the 1990s
Sunnybrook runs Epic as its primary EMR, which handles clinical documentation, orders, results, and billing. But Epic's patient-facing module (MyChart) was not meeting Sunnybrook's needs for several critical reasons.
Appointment Scheduling Was a Phone-First Bottleneck
Sunnybrook's outpatient clinics processed approximately 8,400 appointment requests per week across 47 specialty clinics. The booking process required patients to call a centralized scheduling line, navigate a phone tree, wait on hold (average 11 minutes), and speak with a booking clerk who manually checked provider availability in Epic. The system had no online self-scheduling capability, no intelligent matching of patient needs to available providers, and no automated waitlist management. The result was 2,300 abandoned calls per week, 18% appointment no-show rates, and scheduling staff spending 85% of their time on routine booking tasks rather than handling complex scheduling scenarios.
Post-Discharge Follow-Up Was Falling Through the Cracks
When patients were discharged from Sunnybrook, they received a printed care plan with medication instructions, follow-up appointment recommendations, and activity restrictions. 34% of patients failed to complete their recommended follow-up actions within the specified timeframes. Medication adherence rates for newly prescribed medications dropped to 61% within 30 days of discharge. The hospital had no systematic way to monitor whether discharged patients were following their care plans, and readmission rates for certain conditions were higher than peer institutions.
Clinical Staff Had No Real-Time Patient Flow Visibility
Outpatient clinic managers could not see in real-time how many patients were waiting, which exam rooms were occupied, which providers were running behind schedule, or where bottlenecks were forming. This information was trapped in Epic's scheduling module and required manual queries to extract. Charge nurses were making staffing and flow decisions based on instinct rather than data, leading to uneven wait times that ranged from 12 minutes in some clinics to over 90 minutes in others on the same day.
What We Built: The Sunnybrook Patient Engagement Platform
We designed the platform as three interconnected systems: a patient-facing web and mobile application, an AI-powered scheduling and communication engine, and a clinical operations dashboard. All three systems integrated bidirectionally with Epic through HL7 FHIR APIs.
Smart Appointment Scheduling with AI Matching
We built an intelligent scheduling system that allowed patients to self-book appointments through the web portal or mobile app. But this was not a simple calendar picker. The system used an AI matching algorithm that considered the patient's clinical history (pulled from Epic), the specific reason for the visit, provider specialization and availability, geographic preferences (Sunnybrook has satellite clinics), insurance and referral requirements, and historical patient preferences.
When a patient searched for "dermatology appointment for mole check", the system understood this was a routine skin screening, matched it to dermatologists who had availability for screening visits (not surgical slots), prioritized providers the patient had seen before, and presented three to five optimal options. For complex cases flagged by a referring physician, the system routed the request to a triage nurse for manual review rather than allowing self-booking.
The edge case that required the most engineering was handling appointment types that required sequential visits. A new cancer patient might need a consultation, followed by imaging, followed by a biopsy, followed by a treatment planning appointment — all with specific timing requirements between visits (imaging must be 48 hours before biopsy, treatment planning must be 5-7 days after biopsy). We built a care pathway scheduling engine that booked the entire sequence as a coordinated plan, optimizing for minimal patient trips to the hospital while respecting clinical timing constraints.
Automated Patient Communication Engine
We built a multi-channel communication system that sent appointment reminders, pre-visit instructions, and post-visit follow-up messages through SMS, email, and push notifications based on patient preferences. The system was not just a notification dispatcher — it was an intelligent engagement engine.
Pre-appointment communications included preparation instructions specific to the visit type (fasting requirements for blood work, medication holds before surgery, documents to bring for insurance verification), directions and parking information for the specific building, and estimated wait time predictions based on historical clinic data. The system learned which communication channel and timing generated the highest engagement rates for each patient segment and automatically optimized delivery.
Post-Discharge Care Plan Management
When a patient was discharged, the system automatically generated a digital care plan from the discharge summary in Epic. The care plan included medication schedules with dosage instructions and pharmacy information, follow-up appointment recommendations with one-tap booking, activity restrictions and recovery milestones, wound care instructions with photo upload capability for remote monitoring, and symptom tracking questionnaires calibrated to the patient's condition.
The system sent progressive check-in messages based on the care plan timeline. If a patient had not booked a recommended follow-up appointment within 72 hours of discharge, the system escalated to a phone call from a care coordinator. If a patient reported concerning symptoms through the tracking questionnaire, the system alerted the clinical team immediately. If medication adherence tracking (based on refill data from pharmacy integrations) showed a patient was not filling prescriptions, the system triggered an intervention workflow.
Clinical Operations Dashboard
We built a real-time operations dashboard that gave clinic managers, charge nurses, and department heads visibility into patient flow across the entire outpatient network. The dashboard showed: real-time patient counts by clinic (waiting, in-room, completed), provider schedule adherence (running on time, behind, available), exam room utilization and turnover times, predicted wait times for patients currently waiting, staffing levels compared to patient volume, and daily/weekly/monthly trend analytics.
The dashboard used WebSocket connections for real-time updates and pulled data from Epic's ADT (Admit-Discharge-Transfer) feeds, appointment scheduling data, and our smart scheduling system. Clinic managers could see at a glance where bottlenecks were forming and reassign resources accordingly. The department heads had a hospital-wide view that let them identify systemic patterns and make staffing decisions based on data rather than anecdotes.
Epic Integration: The Hardest Part of Healthcare IT
Integrating with Epic is notoriously difficult. Epic environments are highly customized at each hospital, documentation is limited, and testing requires access to the hospital's Epic sandbox environment with realistic patient data. Here is how we handled the integration challenges.
We used Epic's FHIR R4 APIs for reading patient demographics, appointments, clinical documents, and care plans. For writing data back to Epic (creating appointments, updating care plan status), we used Epic's proprietary web services and HL7v2 message interfaces because the FHIR write capabilities were limited for certain resource types. All integrations went through Epic's App Orchard certification process, which required security reviews, data privacy assessments, and functional testing by Epic's certification team.
The most challenging integration was the real-time ADT feed for the operations dashboard. Epic publishes ADT events (patient checked in, roomed, provider entered, visit completed) through HL7v2 messages over TCP/IP. These messages arrived at rates up to 200 per minute during peak hours and needed to be parsed, validated, and reflected in the dashboard within 3 seconds. We built a streaming pipeline using Node.js that consumed the HL7v2 feed, transformed events into our domain model, and pushed updates to the dashboard via WebSocket connections. The pipeline included dead letter queues for malformed messages and automatic reconnection logic for the TCP connection to Epic's interface engine.
PHIPA and Security Compliance
Ontario's Personal Health Information Protection Act (PHIPA) has strict requirements for how patient health information is collected, used, disclosed, and stored. Every design decision we made was filtered through PHIPA compliance requirements.
All patient data was encrypted at rest using AES-256 and in transit using TLS 1.3. The platform was hosted on AWS Canada (Central) region with data residency guarantees ensuring no patient data left Canadian soil. Access controls followed the principle of least privilege — patients could only see their own data, clinicians could only see data for patients in their assigned clinics, and administrative staff had access scoped to their operational role. Every data access was logged in an immutable audit trail that recorded who accessed what data, when, from what device, and for what purpose. The audit trail was designed to satisfy both PHIPA audit requirements and Sunnybrook's internal privacy office reviews.
We conducted a Privacy Impact Assessment (PIA) with Sunnybrook's privacy officer before collecting any patient data, and the platform underwent penetration testing by a third-party security firm before going live.
The Mobile App: Care in Your Pocket
We built the patient-facing mobile application using React Native for cross-platform deployment on iOS and Android. The app included: appointment self-scheduling with the AI matching engine, virtual waiting room with real-time position updates, telehealth video consultations integrated with Sunnybrook's Zoom Health instance, care plan dashboard with medication reminders and symptom tracking, secure messaging with care teams, test results viewing (synced from Epic), and biometric authentication (Face ID, Touch ID) for secure access.
The most heavily used feature was the virtual waiting room. When a patient checked in for an in-person appointment (either through the app or at a kiosk), the app showed their position in the queue, estimated wait time, and the option to wait in their car or the coffee shop and receive a push notification when it was time to come to the exam room. This was originally designed during COVID for social distancing but proved so popular that patients demanded it permanently. It reduced perceived wait times dramatically because patients could spend their wait time productively rather than sitting in a crowded waiting room.
AI-Powered Features That Changed Clinical Workflows
We built several AI-powered features that went beyond basic automation.
Predictive No-Show Model
We trained a machine learning model on three years of Sunnybrook's appointment data (anonymized) that predicted the probability of a patient no-showing for a specific appointment. The model considered: historical no-show behavior for the specific patient, appointment type and provider, day of week and time of day, weather forecast, distance from patient's postal code, and time since appointment was booked. Appointments flagged as high no-show risk received additional reminder contacts and were automatically added to the overbooking queue. The model achieved 84% accuracy in predicting no-shows, allowing the scheduling team to overbook strategically rather than leaving empty slots.
Wait Time Prediction Engine
We built a real-time wait time prediction engine that used current clinic status, historical patterns, and provider-specific pace data to estimate how long a patient would wait. The prediction was displayed in the mobile app and on waiting room screens. The model updated every 60 seconds as patients checked in, were roomed, and completed visits. Accuracy was within 5 minutes for 78% of predictions, which was sufficient to let patients make informed decisions about where to spend their wait time.
Automated Clinical Documentation Suggestions
For follow-up care plans, we built an AI system that analyzed the patient's diagnosis, procedures performed, and medication changes to suggest care plan components. Clinicians reviewed and modified the suggestions rather than creating care plans from scratch. This reduced care plan creation time from an average of 12 minutes to 3 minutes per patient, which was significant for providers seeing 25-30 patients per day.
Results: Measurable Impact on Patient Care
After 12 months in production, the platform delivered results that exceeded the original business case.
- Appointment no-show rate decreased from 18% to 6.8%, a 62% reduction
- Average outpatient wait time reduced from 47 minutes to 19 minutes
- Post-discharge care plan completion increased from 66% to 89%
- 30-day medication adherence improved from 61% to 82%
- Phone call volume to scheduling decreased 58%, freeing staff for complex cases
- Online self-scheduling adoption reached 71% of eligible appointments within 6 months
- Patient satisfaction scores (outpatient) improved from 3.6 to 4.4 out of 5
- Readmission rates for targeted conditions decreased 19%
- Clinical operations dashboard used daily by 94% of clinic managers
How We Can Help Your Healthcare Organization
Whether you run a hospital system, a multi-location clinic network, a telehealth platform, or a digital health startup, the technical patterns we applied at Sunnybrook scale to healthcare organizations of every size. We have built PHIPA and HIPAA-compliant platforms for organizations ranging from 5-provider clinics to 1,000+ bed hospital systems.
Our capabilities include full-stack platform development with EMR integrations (Epic, Cerner, Meditech, OSCAR). We build patient-facing mobile applications with telehealth, scheduling, and care plan management. Our AI team builds predictive models for no-shows, wait times, clinical decision support, and operational optimization. And our digital health marketing team helps healthcare organizations attract patients through organic search.
If your healthcare organization is struggling with patient engagement, appointment management, care plan adherence, or operational visibility, book a free consultation. We will review your clinical workflows, your EMR environment, your compliance requirements, and give you an honest assessment of where technology can improve patient outcomes and operational efficiency.