Product Roadmap
VitaraVox Release Plan: v0.5 → v1.0 → v2.0
Version Overview
| Version |
Codename |
Focus |
Target |
| v0.5 |
Foundation |
Core booking for single clinic |
✅ Complete |
| v1.0 |
Production |
Multi-clinic, registration, waitlist |
✅ Complete |
| v1.1 |
Refinement |
BC Health compliance, bug fixes |
✅ Complete |
| v1.2 |
Hardening |
Input validation, logging, circuit breaker |
✅ Complete |
| v1.3 |
Integration |
Vapi production, phone search, OSCAR Bridge |
✅ Complete |
| v1.4 |
Abstraction |
EMR adapter pattern, feature flags |
✅ Complete |
| v1.5 |
Admin |
Admin dashboard, per-clinic EMR control |
✅ Complete |
| v2.0 |
Scale |
Multi-language expansion, analytics |
Q1 2026 |
v0.5 — Foundation ✅
Goal: Prove the voice-to-EMR pipeline works end-to-end.
Functional Scope
| Feature |
Status |
| Single Vapi assistant configuration |
✅ |
| Patient lookup by phone (caller ID) |
✅ |
| Patient lookup by name + DOB |
✅ |
| Find earliest appointment (any provider) |
✅ |
| Book appointment |
✅ |
| Reschedule appointment |
✅ |
| Cancel appointment |
✅ |
| Transfer to clinic staff |
✅ |
| English language support |
✅ |
Technical Scope
| Component |
Status |
| Express.js webhook server |
✅ |
| OSCAR OAuth 1.0a integration |
✅ |
| Docker containerization |
✅ |
| NGINX reverse proxy |
✅ |
| SSL/TLS (Let's Encrypt) |
✅ |
| Basic rate limiting |
✅ |
| Health check endpoint |
✅ |
Data Flow
Patient → Telnyx → Vapi → Vitara → OSCAR
(single clinic)
v1.0 — Production ✅
Goal: Production-ready multi-clinic platform with new patient support.
Functional Scope
| Feature |
Status |
| Multi-clinic support |
✅ |
| Phone number → Clinic routing |
✅ |
| Per-clinic configuration |
✅ |
| New patient registration |
✅ |
| Waitlist when registration closed |
✅ |
| Mandarin Chinese support |
✅ |
| Clinic hours display |
✅ |
| Provider selection |
✅ |
Technical Scope
| Component |
Status |
| PostgreSQL database |
✅ |
| Multi-tenant schema |
✅ |
| Clinic configuration tables |
✅ |
| Waitlist management |
✅ |
| Call logging (analytics) |
✅ |
| Per-endpoint rate limiting |
✅ |
| Admin dashboard (basic) |
✅ |
| Terraform (AWS dev OSCAR) |
✅ |
Database Schema
clinics -- Clinic profiles
clinic_config -- Settings, OSCAR credentials
clinic_hours -- Working hours
clinic_holidays -- Closures
clinic_providers -- Display names
waitlist -- Patient queue
call_logs -- Analytics
users -- Admin access
audit_logs -- Admin actions
Data Flow
Patient → Telnyx → Vapi → Vitara → Clinic A OSCAR
│ Clinic B OSCAR
│ Clinic C OSCAR
▼
Vitara DB
(config + logs)
v1.1 — Refinement ✅
Goal: BC Health compliance and production hardening.
Functional Scope
| Feature |
Status |
| BC Personal Health Number (PHN) collection |
✅ |
| BC Services Card validation |
✅ |
| Out-of-province coverage handling |
✅ |
| Private pay option |
✅ |
| Registration status check (pre-registration) |
✅ |
| Improved error handling |
✅ |
| 3-second delay messaging |
✅ |
Technical Scope
| Component |
Status |
get_clinic_info endpoint |
✅ |
accepting_new_patients flag |
✅ |
add_to_waitlist endpoint |
✅ |
| Enhanced logging |
✅ |
| API documentation |
✅ |
Conversation Guardrails
| Scenario |
Handling |
| Patient not found |
Offer registration or transfer |
| Registration closed |
Offer waitlist |
| Tool delay > 3s |
"Just one moment please..." |
| Medical question |
Transfer to staff |
| Emergency |
"Please hang up and call 911" |
| Frustrated caller |
Transfer after 2 attempts |
v1.2 — Hardening ✅
Goal: Production-grade reliability and security.
Technical Scope
| Component |
Status |
| Input Validation (Joi) |
✅ |
| Structured Logging (Pino) |
✅ |
| Circuit Breaker (Opossum) |
✅ |
| Health Checks (K8s-ready) |
✅ |
| Error Standardization |
✅ |
| Configuration Management |
✅ |
v1.3 — Integration ✅
Goal: Production-ready Vapi integration and OSCAR improvements.
Functional Scope
| Feature |
Status |
| Bearer Token Authentication |
✅ |
| Phone Number Normalization |
✅ |
| Name Spelling Confirmation |
✅ |
| OSCAR Phone Search |
✅ |
| DB-Based Availability Endpoint |
✅ |
| Schedule Pattern Parsing |
✅ |
v1.4 — Abstraction ✅
Goal: EMR-agnostic architecture for multi-EMR support.
Technical Scope
| Component |
Status |
| IEmrAdapter Interface |
✅ |
| BaseEmrAdapter Base Class |
✅ |
| OscarUniversalAdapter |
✅ |
| EmrAdapterFactory |
✅ |
| Data Transformers (Patient, Provider, Appointment) |
✅ |
| EmrService Integration Layer |
✅ |
| Feature Flags System |
✅ |
| 224 Unit Tests |
✅ |
v1.5 — Admin ✅
Goal: Multi-tenant admin dashboard with per-clinic EMR control.
Functional Scope
| Feature |
Status |
| React Admin UI |
✅ |
| Two User Roles (Vitara Admin, Clinic Manager) |
✅ |
| Clinic Management |
✅ |
| User Management |
✅ |
| Audit Logging |
✅ |
| Go-Live Workflow |
✅ |
| Demo Mode (emr_live = false) |
✅ |
Technical Scope
| Component |
Status |
| PassportJS + JWT Authentication |
✅ |
| bcrypt Password Hashing |
✅ |
| Account Lockout |
✅ |
| RBAC Middleware |
✅ |
| admin_users Table |
✅ |
| audit_log Table |
✅ |
| Enhanced clinic_config |
✅ |
| 125 New Unit Tests |
✅ |
v2.0 — Scale (Planned)
Goal: Enterprise features, expanded languages, comprehensive analytics.
Planned Functional Scope
| Feature |
Priority |
Status |
| French Canadian (fr) |
High |
Planned |
| Cantonese (yue) |
High |
Planned |
| Punjabi (pa) |
Medium |
Planned |
| Appointment reminders (outbound) |
High |
Planned |
| SMS confirmation |
Medium |
Planned |
| Prescription refill requests |
Medium |
Planned |
| Lab result notifications |
Low |
Backlog |
Planned Technical Scope
| Component |
Priority |
Status |
| Admin UI v2 (React) |
High |
In Progress |
| Analytics dashboard |
High |
Planned |
| Real-time metrics |
Medium |
Planned |
| Webhook retry logic |
Medium |
Planned |
| Multi-region deployment |
Low |
Backlog |
| EMR abstraction layer |
Low |
Backlog |
Admin UI v2 Features
| Feature |
Description |
| Clinic Dashboard |
Today's stats, recent calls |
| Settings |
Registration toggle, hours, holidays |
| Waitlist Management |
View, contact, mark registered |
| Call Analytics |
Success rates, language split, peak hours |
| Provider Management |
Display names, accepting status |
| OSCAR Connection |
Credential management, test connection |
Analytics Dashboard
┌─────────────────────────────────────────────────────────────────┐
│ CALL ANALYTICS [Export CSV] │
├─────────────────────────────────────────────────────────────────┤
│ │
│ Date Range: [Last 30 days ▼] │
│ │
│ ┌─────────────────────────────────────────────────────────┐ │
│ │ SUMMARY │ │
│ │ │ │
│ │ Total Calls: 847 Booked: 693 (82%) Transferred: 89│ │
│ │ │ │
│ │ By Language: English 71% | Mandarin 29% │ │
│ │ Avg Duration: 2m 18s │ │
│ └─────────────────────────────────────────────────────────┘ │
│ │
│ ┌─────────────────────────────────────────────────────────┐ │
│ │ CALL VOLUME BY HOUR │ │
│ │ │ │
│ │ ▄▄▄ │ │
│ │ ███ ▄▄▄ │ │
│ │ ███ ███ ▄▄▄ ▄▄▄ ▄▄▄ │ │
│ │ ███ ███ ███ ███ ▄▄▄ ▄▄▄ ▄▄▄ ▄▄▄ ███ ▄▄▄ │ │
│ │ ───────────────────────────────────────────────────── │ │
│ │ 8AM 9AM 10AM 11AM 12PM 1PM 2PM 3PM 4PM 5PM │ │
│ └─────────────────────────────────────────────────────────┘ │
│ │
└─────────────────────────────────────────────────────────────────┘
Future Backlog (v3.0+)
| Feature |
Description |
| Multi-EMR Support |
Telus Health, Accuro, MOIS adapters |
| Patient Portal |
Web interface for self-service |
| Outbound Campaigns |
Appointment reminders, recalls |
| AI Summarization |
Call summary sent to EMR notes |
| Voice Biometrics |
Patient identification by voice |
| Virtual Receptionist |
Handle multiple concurrent calls |
Release Notes
v1.5.1 (January 16, 2026)
- Fixed API response pagination preservation
- Fixed frontend field name mapping (clinic_id, clinic_name)
- Added safeJsonParse helper for JSONB columns
- Fixed Nginx Authorization header forwarding
- Added seed data (5 clinics, 5 users, 22 audit logs)
v1.5.0 (January 14, 2026)
- React Admin UI with Vitara Admin and Clinic Manager roles
- PassportJS + JWT authentication with refresh tokens
- Account lockout after 5 failed attempts
- admin_users and audit_log tables
- Per-clinic emr_live flag for go-live workflow
- Demo mode when emr_live = false
- 125 new unit tests
v1.4.0 (January 14, 2026)
- EMR Abstraction Layer (adapter pattern)
- IEmrAdapter, BaseEmrAdapter, OscarUniversalAdapter
- EmrService integration layer
- Feature flags system (USE_EMR_ADAPTER)
- Patient, Provider, Appointment transformers
- 224 total unit tests
v1.3.2 (January 14, 2026)
- Admission records on patient registration
- Configuration centralization (env vars)
- Health check improvements
- Graceful shutdown
v1.3.1 (January 13, 2026)
- DB-based availability endpoint
- Schedule pattern parsing
- Voice agent integration improvements
v1.3.0 (January 13, 2026)
- Bearer Token Authentication for Vapi
- Phone number normalization
- Name spelling confirmation
- OSCAR phone search fix
- Deepgram Nova-3 transcriber
v1.2.0 (January 13, 2026)
- Input Validation (Joi schemas)
- Structured Logging (Pino)
- Circuit Breaker (Opossum)
- Health Checks (K8s-ready)
- Error Standardization
v1.1.0 (January 12, 2026)
- Added BC Health registration requirements (PHN, BC Services Card)
- Added
get_clinic_info endpoint for registration status
- Added
add_to_waitlist endpoint
- Improved delay handling (3-second threshold)
- Enhanced error messages for voice agent
- Documentation overhaul
v1.0.0 (December 29, 2025)
- Multi-clinic support with phone number routing
- PostgreSQL database for configuration
- New patient registration flow
- Waitlist management
- Mandarin Chinese language support
- Admin dashboard (basic)
- Call logging and analytics
v0.5.0 (December 19, 2025)
- Initial release
- Single-clinic appointment booking
- Patient lookup by phone and name
- OSCAR EMR integration (OAuth 1.0a)
- English language support
- Docker deployment
Next Steps