EMR Integration Architecture¶
Version: 3.0 Last Updated: 2026-02-14
Overview¶
VitaraVox integrates with multiple Electronic Medical Record (EMR) systems across Canada to enable voice-powered appointment booking. This section documents our multi-EMR adapter strategy, confirmed integration targets, and implementation approach.
Integration Strategy¶
Adapter Pattern¶
We use a unified IEmrAdapter interface that abstracts EMR-specific implementations:
This pattern allows us to: - Support multiple EMRs with one BookingEngine - Switch EMR backends without changing voice logic - Add new EMR integrations incrementally - Test adapters in isolation
Confirmed Integration Targets¶
| EMR System | Owner | Protocol | Status | Priority |
|---|---|---|---|---|
| OSCAR McMaster | Open Source | SOAP + REST | ✅ Production | 1 |
| Juno EMR | WELL Health | SOAP + REST | ✅ Production | 1 |
| OSCAR Pro | WELL Health | SOAP + REST | ✅ Production | 1 |
| MedAccess (OSCAR-based) | Various | SOAP + REST | ✅ Production | 1 |
| Accuro EMR | Loblaw/SDM | REST (OAuth 2.0) | 🔄 Planned | 2 |
| Med Access EMR | TELUS Health | GraphQL (JWT) | 🔄 Future | 3 |
Section Contents¶
- OSCAR Data Architecture - Entity relationships, REST API endpoint reference, known bugs, and creation order
- OSCAR SOAP API Reference - Complete reference for all 14 SOAP web services (operations, fields, auth, patterns)
- OSCAR Demo Data & Test Environment - Provider set, patient set, schedule templates, validation checklist, and automation
- SOAP Integration Evidence - Confirmed SOAP consumers with receipts
- Canadian EMR Landscape - Juno, Accuro, Med Access comparison
- Adapter Implementations - Technical details of each adapter
- Integration Roadmap - Priority order and effort estimates
Quick Reference¶
Current Production Adapter¶
OscarSoapAdapter covers: - OSCAR McMaster (self-hosted, open source) - Juno EMR (WELL Health cloud) - OSCAR Pro (WELL Health) - MedAccess OSCAR-based (various vendors)
One adapter → Four EMRs because they're all OSCAR forks sharing the same SOAP API surface.
Implementation Status¶
| Component | Lines | Tests | Status |
|---|---|---|---|
IEmrAdapter.ts |
167 | N/A | ✅ Interface complete |
OscarSoapAdapter.ts |
872 | Pending | ✅ Production ready |
OscarUniversalAdapter.ts |
296 | 15 | ✅ Bridge fallback |
AccuroRestAdapter.ts |
Not started | N/A | 📋 Planned |
MedAccessAdapter.ts |
Not started | N/A | 📋 Future |
Why This Matters¶
Market Coverage: OSCAR forks (OSCAR + Juno + OSCAR Pro) cover ~25% of Canadian physicians. Adding Accuro (~17%) brings us to ~42% coverage. Med Access adds another ~5% for ~47% total addressable market.
Business Model: Each EMR requires different access negotiations: - OSCAR/Juno: Self-service (IP whitelist + credentials) - Accuro: Business agreement + 6-month sandbox - Med Access: TELUS partnership approval (hardest)
By building adapters incrementally, we de-risk each integration step.
Next: Read SOAP Integration Evidence to see proof that SOAP APIs are production-proven.