MED360 RPM
Remote Patient Monitoring Platform — Designed for Canada’s Healthcare Environment. Full system specification covering architecture, alert logic, clinical workflows, and investor summary.
MED360 is a comprehensive, cloud-native Remote Patient Monitoring platform built specifically for Canada’s healthcare ecosystem. The platform enables patients to submit daily health readings from connected home devices, receive automated intelligent alerts, and connect in real time with their clinical care team through secure video consultations.
The platform addresses a critical gap in Canadian healthcare: the management of high-risk patients between clinical visits. By combining smart alert logic, escalation workflows, role-based access, and telehealth capabilities, MED360 reduces emergency admissions, improves outcomes, and supports clinicians across primary care, cardiology, respirology, and endocrinology.
| Condition | Key Parameters | Primary Users | Alert Priority |
|---|---|---|---|
| Heart Failure | BP, weight, HR, SpO2 | Cardiologist, Nurse | HIGH |
| Hypertension | Systolic / Diastolic BP | GP, Nurse | MODERATE |
| COPD | SpO2, HR, symptoms | Respirologist, Nurse | HIGH |
| Diabetes | Weight, BP, symptoms | Endocrinologist, Nurse | MODERATE |
- Continuous monitoring of patients with chronic conditions from home
- Intelligent 3-level alert engine that routes the right message to the right person
- Clinician-configurable thresholds per patient and per care pathway
- Real-time secure video consultations between patient and care team
- Full audit trail compliant with Canadian privacy legislation (PIPEDA / provincial health acts)
- Interoperable architecture ready for integration with provincial EMRs and wearable APIs
| Layer | Components |
|---|---|
| Client Layer | Flutter Mobile App · React/Next.js Web Dashboard · Connected Devices (Bluetooth/Wi-Fi) |
| API Gateway | HTTPS REST API · OAuth 2.0 + JWT · Rate limiting · Request validation |
| Application Layer | Laravel/ASP.NET Core · Alert Engine · Notification Service · Video Call Service · Auth Service |
| Data Layer | PostgreSQL (primary) · Redis (cache/queues) · Encrypted blob storage |
| Integration Layer | SMS Gateway (Twilio/Vonage) · WebRTC/Agora Video · Wearable APIs · HL7 FHIR adapter |
| Infrastructure | AWS Canada (ca-central-1) or Azure Canada Central · Docker/Kubernetes · CI/CD · WAF |
- Patient submits reading via mobile app or device Bluetooth sync
- API Gateway validates JWT token and request schema
- Reading stored in PostgreSQL with patient ID, timestamp, and device type
- Alert Engine compares reading against patient-specific thresholds
- If threshold exceeded, Alert Engine classifies Level 1, 2, or 3
- Notification Service enqueues SMS job(s) in Redis queue
- Queue worker sends SMS via Twilio/Vonage within 30 seconds
- Dashboard flag updated in real time via WebSocket push
- Full audit log entry created for every action taken
| Vital Sign | Normal | Level 1 — Mild | Level 2 — Moderate | Level 3 — Critical |
|---|---|---|---|---|
| Systolic BP | < 140 mmHg | 140–159 mmHg | 160–179 mmHg | ≥ 180 OR < 90 mmHg |
| Diastolic BP | < 90 mmHg | 90–99 mmHg | 100–109 mmHg | ≥ 110 mmHg |
| SpO2 | ≥ 95% | 92–94% | 88–91% | < 88% |
| Heart Rate | 60–100 bpm | 101–110 / 55–59 | 111–130 / 50–54 | > 130 OR < 50 bpm |
| Weight Gain | < 1 kg / 24h | 1–2 kg / 24h | 2–3 kg / 24h | > 3 kg / 24h (HF) |
The following reported symptoms trigger a Level 3 Emergency Alert immediately, regardless of vital sign values:
| Emergency Symptom | System Action |
|---|---|
| Chest pain or pressure | Immediate Level 3 → Call 911 instruction |
| Severe shortness of breath | Immediate Level 3 → Call 911 instruction |
| Confusion or altered consciousness | Immediate Level 3 → Call 911 instruction |
| Fainting or loss of consciousness | Immediate Level 3 → Call 911 instruction |
| Blue lips or fingertips (cyanosis) | Immediate Level 3 → Call 911 instruction |
| Inability to speak comfortably | Immediate Level 3 → Call 911 instruction |
- Single mild abnormal reading
- No severe symptoms reported
- SMS to patient with self-care guidance
- Dashboard flag: YELLOW
- Auto-escalates if repeated in 24h
- Repeated or moderate reading
- Worsening trend detected
- Symptom + abnormal combination
- SMS to nurse AND doctor
- Dashboard flag: ORANGE — 4h
- Critical reading or danger symptom
- Patient: “Call 911 NOW” SMS
- Urgent SMS to doctor & nurse
- Dashboard flag: RED — locked
- Escalate to on-call in 15 min
| Role | Primary Responsibilities | Key Permissions |
|---|---|---|
| Patient | Submit readings, answer symptom checks, attend video calls | View own records · Submit readings · Receive alerts · Join video calls |
| Nurse | Monitor assigned patients, respond to Level 1–2 alerts, video check-ins | View assigned patients · Acknowledge alerts · Initiate video call · Add notes |
| Doctor | Clinical oversight, configure thresholds, respond to Level 2–3 | All nurse permissions + configure thresholds + prescribe actions |
| Clinic Admin | Manage clinic users, assign patients, view analytics | Manage users within clinic · View aggregate reports · Clinic settings |
| Super Admin | Platform-wide administration, multi-tenant management | Full platform access · All clinics · System config · Audit logs |
- Patient enrolled by clinic admin — receives onboarding SMS/email
- Patient downloads mobile app and completes profile setup
- Patient connects home devices via Bluetooth or manual entry
- Each morning patient submits daily readings (BP, weight, SpO2, HR)
- Patient answers daily symptom check-in (5 questions, under 2 minutes)
- Alert Engine evaluates readings against personal thresholds
- Patient receives SMS feedback: all-clear, guidance, or emergency instruction
- If Level 2+, patient notified that care team has been alerted
- If nurse/doctor initiates video call, patient receives push notification and SMS
- Patient joins video call — clinician reviews readings live and adds notes
- Clinician logs in to web dashboard
- Dashboard shows prioritised patient list: RED > ORANGE > YELLOW > GREEN
- Clinician selects a flagged patient to view full reading history and trend charts
- Clinician acknowledges alert — logs timestamp and name
- Clinician can send message, initiate video call, or adjust thresholds
- Video call window opens — patient vitals panel visible alongside video
- Post-call notes saved to patient record with timestamp
- If escalation needed, clinician triggers Level 3 manually from dashboard
- Clinician clicks “Video Call” button on patient card in dashboard
- System checks patient availability status (online/offline in app)
- WebRTC/Agora session initiated — unique encrypted room ID generated
- Patient receives in-app push notification and SMS with join link
- Patient clicks link or notification to join from mobile app
- Video session begins — clinician sees patient vitals panel alongside video
- Session is end-to-end encrypted per PIPEDA requirements
- Clinician can capture screenshots of abnormal readings during call (with consent)
- On call end, clinician adds structured notes (reason, assessment, plan, follow-up date)
- Call record saved: duration, timestamp, participants, notes, recording consent status
- Patient receives post-call summary via in-app message
| Panel | Content & Function |
|---|---|
| Alert Summary Bar | Real-time count of RED / ORANGE / YELLOW alerts with one-click filters |
| Patient Priority List | Sorted by severity. Shows name, condition, latest reading, alert level, last contact |
| Trend Charts | 7-day / 30-day sparklines for BP, SpO2, HR, weight per patient. Highlights threshold breaches |
| Active Alerts | Unacknowledged alerts sorted newest first. Acknowledge button with mandatory note |
| Pending Follow-ups | Patients requiring callback, post-call note completion, or threshold review |
| Video Call Button | One-click initiation per patient. Shows availability status. Call history accessible |
| Patient Notes | Chronological note feed per patient. Clinician can add text, attach file, or flag for review |
| Escalation History | Full log of all alerts, acknowledgements, escalations, and actions with actor and timestamp |
PostgreSQL 16 is used as the primary relational database with row-level security enforced for patient data isolation. All PHI columns are encrypted at the application layer using AES-256.
| Table | Key Fields | Purpose |
|---|---|---|
| users | id, name, email, role, clinic_id, status, created_at | All platform users — polymorphic role |
| patients | user_id, dob, health_card, province, care_pathway, assigned_doctor_id, assigned_nurse_id | Patient demographics and care assignments |
| readings | id, patient_id, type, value, unit, device_id, submitted_at, alert_triggered | All vital sign submissions |
| thresholds | patient_id, reading_type, level1_min/max, level2_min/max, level3_min/max, set_by | Personalized configurable thresholds |
| alerts | id, patient_id, reading_id, level, type, triggered_at, acknowledged_by, acknowledged_at | Full alert lifecycle tracking |
| notifications | id, alert_id, recipient_id, channel, message, sent_at, delivered, delivery_receipt | SMS and push notification log |
| video_calls | id, initiator_id, patient_id, room_id, started_at, ended_at, duration, notes, consent | Video consultation records |
| symptom_checkins | id, patient_id, submitted_at, chest_pain, shortness_of_breath, confusion, fatigue | Daily symptom survey responses |
| audit_logs | id, user_id, action, resource_type, resource_id, ip_address, timestamp, metadata | Immutable audit trail — append-only |
| medications | id, patient_id, name, dose, frequency, start_date, end_date, prescribed_by | Medication schedule for reminders |
| clinics | id, name, province, health_authority, admin_id, sms_config, video_config | Multi-tenant clinic configuration |
- PIPEDA (Personal Information Protection and Electronic Documents Act) — federal baseline
- PHIPA (Ontario) / HIA (Alberta) / PIPA (BC) — provincial health privacy acts
- Data residency: all patient data stored in Canadian AWS/Azure regions
- Explicit informed consent captured at onboarding with full audit record
- Right to access, correct, and delete personal health information built in
| Control | Implementation |
|---|---|
| Encryption in transit | TLS 1.3 enforced on all endpoints. HSTS headers. Certificate pinning in mobile app |
| Encryption at rest | AES-256 for PHI database columns. Key management via AWS KMS / Azure Key Vault |
| Authentication | OAuth 2.0 + JWT (15-min expiry). MFA mandatory for clinicians. Biometric unlock for patient app |
| Authorization | RBAC enforced at API level. Row-level security in PostgreSQL for patient data isolation |
| Audit logging | Immutable append-only log. Cannot be deleted by any role including Super Admin |
| Penetration testing | Annual third-party pen test. Automated DAST/SAST in CI/CD pipeline |
| Incident response | 72-hour breach notification SLA per PIPEDA. Documented runbook. On-call rotation |
- Default thresholds set by clinical advisory board at platform level
- Clinic medical directors can override defaults for their organisation
- Individual doctors can set patient-specific thresholds — changes logged with rationale
- Threshold change history preserved and cannot be retroactively altered
- Pathway templates: Heart Failure, COPD, Hypertension, Diabetes — pre-configured and peer-reviewed
- System will not allow thresholds outside physiologically plausible ranges
| Page | Role Access | Key Features |
|---|---|---|
| Login / MFA | All | Email + password + TOTP/SMS MFA. SSO via provincial IdP |
| Main Dashboard | Doctor, Nurse | Alert summary, patient priority list, trend sparklines, video call buttons |
| Patient Detail | Doctor, Nurse | Full reading history, trend charts, alert log, notes, medications, video call |
| Alert Management | Doctor, Nurse | All active/resolved alerts with filters. Acknowledge with note. Bulk actions |
| Video Call | Doctor, Nurse | WebRTC call window with patient vitals panel. Notes capture. Recording consent |
| Threshold Config | Doctor | Per-patient threshold editor. Pathway templates. Change history |
| Patient Enrolment | Clinic Admin | Onboard new patient. Assign doctor/nurse. Configure devices. Send welcome SMS |
| User Management | Clinic Admin | Add/edit/deactivate users. Role assignment. Clinic-wide settings |
| Analytics | Clinic Admin | Aggregate trends. Alert response times. Reading compliance rates. Export |
| Audit Log | Super Admin | Immutable log viewer with filters. Export to CSV |
| System Config | Super Admin | SMS gateway config. Video provider keys. Default thresholds. Maintenance mode |
MED360 addresses one of the most pressing challenges facing Canada’s healthcare system: the management of chronically ill patients between clinical visits. With more than 3.2 million Canadians living with heart failure, COPD, hypertension, or diabetes, and with an ageing population accelerating demand for home-based care, the need for intelligent remote monitoring has never been greater.
- Canadian digital health market projected at $3.8 billion CAD by 2027
- RPM reimbursement pathways established or emerging in ON, BC, AB, QC
- Average cost saving: $2,400 CAD per avoided hospital readmission
- Target: 100 clinics, 50,000 patients in Year 3
| Feature | MED360 | Typical Competitors |
|---|---|---|
| Canadian data residency | YES — mandatory | Often US-based |
| 3-level smart alert engine | YES — configurable | Basic threshold alerts |
| Integrated video calls | YES — built-in | Third-party only |
| Per-patient thresholds | YES — clinician-set | Global defaults only |
| Bilingual EN/FR | YES — Charter compliant | English only typically |
| FHIR-ready API | YES — HL7 FHIR R4 | Proprietary / siloed |
- Canada Health Infoway — Digital Health Solutions fund
- CIHR — Health System Impact Fellowships & Digital Health grants
- NRC IRAP — Industrial Research Assistance Program for health tech SMEs
- OTF (Ontario Trillium Foundation) — Community health technology grants
- SDTC — Sustainable Development Technology Canada
- MaRS Health — Toronto-based digital health accelerator program
- Phase 1: Pilot with 2 clinics, 200 patients — 6 months
- Phase 2: Efficacy study measuring readmission reduction — 12 months
- Phase 3: Multi-province rollout with provincial health authority partnership
- Phase 4: COTS submission and national scale with Infoway partnership