Desktop Electron EHR — epics
Normative scope: EHEALTH_DESKTOP_PLATFORM_REQUIREMENTS.md, SPEC.md, TECHNICAL_REQUIREMENTS.md.
| Epic ID | Outcome | Primary REQ-DESK / FR-DSK / TR-DSK | Epic-level acceptance signals | Rollup status |
|---|---|---|---|---|
| DESK-EPIC-01 | Secure shell: OIDC, preload IPC, capability map (license ⊕ RBAC ⊕ policy), data-driven nav, site profile, tenant switch, no unlicensed background sync. | REQ-DESK-FR-007–009, 090–098; REQ-DESK-INT-002, INT-008; FR-DSK-007; TR-DSK-001–004, 040–042 | Login works; capability map drives routes; forbidden/unlicensed surfaces fail safe; tenant switch clears cross-tenant leakage. | TBD |
| DESK-EPIC-02 | SQLite tenant isolation, outbox, sync scheduler, connectivity UX, conflicts, idempotency, correlation, encryption baseline. | REQ-DESK-FR-001–006; REQ-DESK-NFR-060–063; REQ-DESK-INT-001,005; FR-DSK-001–006; TR-DSK-010–022, 030–035 | Offline edits persist; queue replays with Idempotency-Key; 409 surfaced; sync does not spin on 401. | TBD |
| DESK-EPIC-03 | EHR vertical slice: registration, encounters/notes, orders, problems/allergies/meds, vitals/immunizations, scheduling; messaging/notifications/virtual care UX; care plans, med mgmt, eRx draft paths. | REQ-DESK-FR-010–015, 030–032, 040–042 | Representative flows work online/offline per policy; stale-as-of when offline; eRx submit online-only. | TBD |
| DESK-EPIC-04 | Laboratory desktop: worklist, collection, accessioning, results/panels, QC messaging, offline lab rules, LIS role gates. | REQ-DESK-FR-100–107 | Worklist filters; collection/acc paths; server rules for release/criticals; consumes LIS APIs per specs/modules/laboratory-lis/. | TBD |
| DESK-EPIC-05 | Pharmacy desktop: Rx queues, dispensing, inventory, compounding flag, controlled/EPCS alignment, counseling print, offline policy, SoD. | REQ-DESK-FR-110–117 | Verification gate; dispense states; inventory online-first; 403 on SoD violation. | TBD |
| DESK-EPIC-06 | Imaging / radiology: worklist, priors, viewer allowlist, reporting draft/sign, peer review online, DICOM cache limits, imaging roles. | REQ-DESK-FR-020–021, 120–127 | Viewer allowlist only; draft not released when offline; progress/cancel for large payloads. | TBD |
| DESK-EPIC-07 | Documents: main-process file pickers/upload; OCR cloud/local via policy; confirm-before-chart. | REQ-DESK-FR-050–051 | Files via main; OCR via orchestrator/local IPC; user confirms extraction. | TBD |
| DESK-EPIC-08 | Billing: online claims/submit; local draft charges; no double-post on sync retry; cross-module charge errors surfaced. | REQ-DESK-FR-062 | Payer submit online; retry safe; billing errors visible. | TBD |
| DESK-EPIC-09 | Population health, reporting, admin: online-first aggregates; exports/pagination; admin mutation guard / explicit idempotency only. | REQ-DESK-FR-070–072 | Snapshots show as-of; admin does not silently queue forbidden mutations. | TBD |
| DESK-EPIC-10 | AI: Kong → ai-orchestrator; optional local ONNX IPC; semantic search policy; suggestions non-authoritative. | REQ-DESK-FR-080–083; FR-DSK-012–014; TR-DSK-080–083 | No vendor keys in renderer; local inference gated; human accept for record changes. | TBD |
| DESK-EPIC-11 | Hardening: virtualized lists, SQLite worker strategy, RTL/a11y, optional crash opt-in, lazy routes / entitlement refresh, multi-OS CI, proxy/sleep tests. | REQ-DESK-NFR-001–003, 040–052; REQ-DESK-NFR-030–031; REQ-DESK-NFR-050 | Lazy bundles skip unlicensed modules; RTL E2E; perf budgets for long lists. | TBD |