EMR Integration¶
Connecting VitaraVox to Electronic Medical Record systems
Status: OSCAR Family -- Production | Accuro, TELUS -- Planned
In This Section¶
| Page | Description |
|---|---|
| OSCAR API Protocol Analysis | NEW Three API surfaces, Cloudflare WAF behavior, REST extension plan |
| OSCAR SOAP API Reference | Complete reference for all 14 OSCAR SOAP web services |
| OSCAR Data Architecture | Entity relationships, REST API reference, known bugs |
| OSCAR Schedule Deep Dive | 4-table schedule chain, availability resolution, booking risks |
| Adapter Implementations | OscarSoapAdapter (production), OscarBridgeAdapter (dev/fallback) |
| OSCAR Demo Data | Test environment, providers, patients, templates |
| Canadian EMR Landscape | Market analysis: Juno, Accuro, Med Access |
| Integration Roadmap | Phase 1 COMPLETE, Phase 2-4 planned |
Architecture¶
All EMR operations flow through a canonical IEmrAdapter interface:
Production path (self-hosted): oscar-soap via OscarSoapAdapter -> OSCAR CXF SOAP directly (no middleman)
Production path (Kai-hosted): oscar-soap with preferRest=true -> OAuth 1.0a REST to /ws/services/* (bypasses Cloudflare WAF)
Dev/fallback path: oscar-universal via OscarBridgeAdapter -> REST Bridge
Three OSCAR API Surfaces
OSCAR exposes SOAP (/ws/{Service}), Cookie REST (/ws/rs/*), and OAuth REST (/ws/services/*). For Kai-hosted instances behind Cloudflare, only OAuth REST works. See OSCAR API Protocol Analysis for the full breakdown.
Current Adapter Status¶
| EMR Type | Adapter | Status |
|---|---|---|
| OSCAR Family (McMaster, Juno, OSCAR Pro, MedAccess) | OscarSoapAdapter |
Production |
| OSCAR (dev/test) | OscarBridgeAdapter |
Dev/Fallback |
| Accuro (QHR) | AccuroRestAdapter |
Planned (Q2 2026) |
| TELUS PS Suite | TelusPsSuiteAdapter |
Future |
Market Coverage¶
- OSCAR Family: ~25% of Canadian physicians (one adapter covers 4 EMR forks)
- + Accuro: ~42% cumulative
- + Med Access: ~47% cumulative
Start here: OSCAR API Protocol Analysis -- understand the three API surfaces before diving into specifics. Then see OSCAR SOAP API Reference for the detailed SOAP service reference.