1. 🎯 Sprint Summary
| Sprint | 4.2 (M10 WEAR · Wearables + IoT) |
| Duration | 26 Apr - 16 May 2027 (3 minggu · 15 working days) |
| Module | M10 WEAR — first net-new module since Phase 3 |
| Goal | Patient links wearable in Patient PA · device pushes vitals continuously · stored in patient profile · doctor sees trend in pre-consult briefing · out-of-range triggers M1 amber/red · 30%+ patients linked at least one device by end of phase |
| Capacity | 5 FTE (2 BE + 1 FE + 1 prompt + 1 DevOps) + 0.5 Founder + 0.5 Doc Zam |
| Velocity target | 75 SP |
| Demo date | 16 May 2027 |
2. ⌚ Supported Devices (v1.0)
BP Cuff
Omron HEM-7361T (BLE) · Withings BPM Connect
Glucometer
Accu-Chek Guide BLE · OneTouch Verio Reflect
CGM
FreeStyle Libre 3 · Dexcom G7 (via patient app)
Apple Watch
HealthKit bridge · HR · ECG · SpO2 · steps
Samsung Health
Galaxy Watch · S Health bridge · BP · HR · ECG
Pulse Ox
Masimo MightySat · SpO2 + PI
Smart Scale
Withings Body+ · weight/BMI/body comp
ECG Patch
Bittium Faros · 24-72h hold-er Monitor data
Thermometer
Withings Thermo · iHealth NoTouch
Strategy: Prioritize BLE-direct devices in v1.0 (BP, glucometer, pulse ox) · use HealthKit/Samsung Health bridges for watches · CGM via vendor cloud APIs. Future v1.1: AED partner · spirometer · weight-bearing peds growth chart.
3. 🚦 Pre-Sprint Gate Checklist
- Sprint 4.1 demoed and signed off
- FHIR Observation resource shape locked (heart rate · BP · glucose · SpO2 · weight · temperature)
- Apple Developer Program enrolled · HealthKit entitlement
- Samsung Health Partners API approved
- Dexcom + Abbott (FreeStyle Libre) developer accounts active
- Out-of-range alerting policy approved by Doc Zam (clinical thresholds locked)
- Privacy policy update reviewed by legal (continuous monitoring vs episodic)
- Test devices procured: 2× Omron BP · 2× Accu-Chek · 2× Apple Watch · 2× Galaxy Watch · 1× FreeStyle Libre · 1× Masimo
4. 🧩 Module Scope
- Device Pairing: Patient PA "Tambah peranti" flow · BLE scan · OAuth where needed · per-device consent capture
- Patient App PWA: Background sync of HealthKit/SHealth · BLE foreground reads · offline buffer · resync on connection
- FHIR Observation Pipeline: Device readings → FHIR Observation (with code, valueQuantity, effectiveDateTime, device, performer)
- Vitals Time-Series Store: Postgres TimescaleDB hypertable · 1-year hot retention · cold archive after
- Trend Dashboards (Patient): Last-24h, last-7d, last-30d per metric · target ranges shown · alert markers
- Pre-Consult Vitals (M2 integration): Pre-consult briefing now includes "Last 7d vitals" widget
- Out-of-Range Alerting: Per-metric thresholds · age + condition-aware · escalates to M1 triage red/amber
- Doctor Trend View (M4): In-encounter vitals trend chart · last reading + 30d window
- Privacy Controls: Per-device consent · suspend/resume sync · revoke and purge data within 24h
5. 📅 Day-by-Day Plan (15 Days)
D1Mon 26 Apr · Schema + Pairing
DB:
DB:
devices, device_pairings, vitals_observations (TimescaleDB hypertable). FHIR shape locked.D2Tue 27 Apr · BLE BP Cuff Integration
Omron HEM-7361T pairing flow on PWA · reading → backend → FHIR Observation persisted.
Omron HEM-7361T pairing flow on PWA · reading → backend → FHIR Observation persisted.
D3Wed 28 Apr · BLE Glucometer + Pulse Ox
Accu-Chek + Masimo pairing · same pipeline · second device class verified.
Accu-Chek + Masimo pairing · same pipeline · second device class verified.
D4Thu 29 Apr · Apple HealthKit Bridge
PWA HealthKit consent · background sync · last-30-day backfill on first link.
PWA HealthKit consent · background sync · last-30-day backfill on first link.
D5Fri 30 Apr · Mid-Demo + Course Correct
Live pairing demo · 3 device classes · Doc Zam clinical review of vitals quality.
Live pairing demo · 3 device classes · Doc Zam clinical review of vitals quality.
D6Mon 3 May · Samsung Health + Galaxy Watch
SHealth Partners API · HR + ECG sync · same FHIR shape.
SHealth Partners API · HR + ECG sync · same FHIR shape.
D7Tue 4 May · CGM via Vendor Cloud
FreeStyle Libre 3 + Dexcom G7 OAuth · cloud API polling · 5-min granularity.
FreeStyle Libre 3 + Dexcom G7 OAuth · cloud API polling · 5-min granularity.
D8Wed 5 May · Trend Dashboard (Patient)
Patient app · 24h/7d/30d · target zones · alert markers.
Patient app · 24h/7d/30d · target zones · alert markers.
D9Thu 6 May · Out-of-Range Alerting
Threshold engine · age/condition-aware · M1 triage trigger · push notif.
Threshold engine · age/condition-aware · M1 triage trigger · push notif.
D10Fri 7 May · Mid-Demo Round 2
Out-of-range demo: Doc Zam triggers a high-BP scenario · M1 escalates · audit logged.
Out-of-range demo: Doc Zam triggers a high-BP scenario · M1 escalates · audit logged.
D11Mon 10 May · M2 Pre-Consult Vitals
Briefing card now includes "Last 7d vitals" widget · doctor reads → walks in.
Briefing card now includes "Last 7d vitals" widget · doctor reads → walks in.
D12Tue 11 May · M4 In-Encounter Trend
Encounter UI · vitals trend chart in Objective tab · last reading prominent.
Encounter UI · vitals trend chart in Objective tab · last reading prominent.
D13Wed 12 May · Privacy + Revocation
Per-device consent · suspend/resume · revoke + purge within 24h verified.
Per-device consent · suspend/resume · revoke + purge within 24h verified.
D14Thu 13 May · Hardening + Production Test
Load test 10 patients × 5 devices each · Doc Zam tenant flips on first.
Load test 10 patients × 5 devices each · Doc Zam tenant flips on first.
D15Fri 14 May · Demo Prep + Polish
Demo deck · 30%-linked-by-end-of-phase narrative · pen-test light scoping.
Demo deck · 30%-linked-by-end-of-phase narrative · pen-test light scoping.
+Mon 16 May · Sprint Demo + Retro
9am demo · 11am retro · 2pm 4.3 prep.
9am demo · 11am retro · 2pm 4.3 prep.
6. 📦 Deliverables
| FR | Item | SP |
|---|---|---|
| FR-10.1 | Device + pairing schema · FHIR Observation | 3 |
| FR-10.2 | BLE BP cuff (Omron) integration | 5 |
| FR-10.3 | BLE glucometer + pulse ox | 5 |
| FR-10.4 | Apple HealthKit bridge + backfill | 8 |
| FR-10.5 | Samsung Health bridge | 5 |
| FR-10.6 | CGM cloud OAuth (Libre + Dexcom) | 8 |
| FR-10.7 | Vitals time-series store (TimescaleDB) | 3 |
| FR-10.8 | Patient trend dashboard (24h/7d/30d) | 5 |
| FR-10.9 | Out-of-range threshold engine | 5 |
| FR-10.10 | M1 triage escalation integration | 5 |
| FR-10.11 | M2 pre-consult vitals widget | 3 |
| FR-10.12 | M4 in-encounter trend chart | 5 |
| FR-10.13 | Per-device consent + revocation + purge | 5 |
| FR-10.14 | Production rollout + monitoring | 5 |
| FR-10.15 | Pen-test light + privacy docs update | 3 |
| TOTAL | 73 SP |
7. 👥 Team Capacity
| Role | Allocation | Focus |
|---|---|---|
| Eng Lead / BE | 1.0 FTE | Time-series store · alerting engine |
| BE Dev 2 | 1.0 FTE | Vendor cloud APIs (HealthKit/SHealth/Libre/Dexcom) |
| FE Dev | 1.0 FTE | PWA pairing flow · trend dashboards · M4 integration |
| Prompt Eng | 1.0 FTE | Vitals interpretation in pre-consult briefing |
| DevOps | 1.0 FTE | BLE bridge ops · TimescaleDB tuning · vendor OAuth |
| Founder | 0.5 FTE | Vendor relationships · privacy policy update |
| Doc Zam | 0.5 FTE | Threshold lockdown · clinical validation · alerting policy |
| QA | 0.5 FTE | Multi-device · long-soak · load tests |
8. 🔔 Sprint Ceremonies
- Mon 26 Apr 9am — Sprint Planning (90 min)
- Daily 9am — Standup (15 min)
- Fri 30 Apr + Fri 7 May 4pm — Mid-sprint demos (45 min each)
- Wed 5 May — Doc Zam threshold review (60 min · clinical alert policy lockdown)
- Wed 12 May — Privacy review with legal (60 min)
- Mon 16 May 9am — Sprint Demo (60 min)
- Mon 16 May 11am — Sprint Retro (60 min)
9. 🩺 Doc Zam Sign-off Items
- Out-of-range threshold table clinically valid (age + condition aware)
- Alerting policy doesn't over-alert (target false-positive < 5%)
- Vitals quality acceptable per device class (BLE direct vs vendor cloud)
- M1 escalation from out-of-range vitals clinically appropriate
- Pre-consult briefing vitals widget useful (not noise)
- In-encounter trend chart UX acceptable for 8-min consult
- Privacy revocation flow legally + clinically defensible
- Final demo (16 May) — written sign-off
10. 🎬 Demo Agenda — 16 May 9am (60 min)
| Time | Segment |
|---|---|
| 0-5 | Sprint recap · M10 narrative · patient-asked feature |
| 5-15 | Live device pairing: BP cuff → glucometer → Apple Watch |
| 15-25 | Trend dashboards (patient view) · 24h/7d/30d |
| 25-35 | Out-of-range scenario · M1 escalation live · audit verified |
| 35-45 | Pre-consult briefing with vitals widget · doctor reads |
| 45-55 | In-encounter trend chart · M4 SOAP integration |
| 55-60 | Doc Zam sign-off · 4.3 (Self-Service Onboarding) prep |
11. 🛡️ Contingency
| Risk | Trigger | Response |
|---|---|---|
| HealthKit entitlement delay | Apple approval slip | Ship BLE-only first · backfill HK + SHealth as 4.2 stretch |
| CGM API restrictive (Dexcom commercial) | Approval blocked | Ship Libre-only · Dexcom as v1.2 |
| BLE flaky on tablets | Drop-out rate > 10% | Bridge via Bluetooth Web API · companion patient app on phone |
| Threshold over-alerts | FP > 8% | Tighten thresholds · Doc Zam pause + recalibrate before scaling |
| Privacy concerns from tenant | Tenant blocks rollout | Per-tenant feature flag · opt-in only · individual patient consent always required |