Skip to main content

Traceability Matrix: Desktop Electron EHR

Version: 1.2
Date: 2026-04-13

Maps requirements in SPEC.md and TECHNICAL_REQUIREMENTS.md to verification artifacts; extends to REQ-DESK-* (EHEALTH_DESKTOP_PLATFORM_REQUIREMENTS.md) and DESK-US-* backlog stories (backlog/UNIFIED_USER_STORIES.md). Update this file when features ship.

Requirement IDSummaryVerification
FR-DSK-001Offline-capable local UXE2E: offline mode navigation + local persistence
FR-DSK-002Stable mutation idsUnit: outbox generates UUID/ULID once per user action
FR-DSK-003Sync on reconnect with backoffIntegration: mock 429/401; assert backoff and no infinite 401 retry
FR-DSK-004Conflict surfacingIntegration: mock 409; UI test conflict path
FR-DSK-005Connectivity + sync status UIE2E: indicator states
FR-DSK-006Online-only degradationManual/E2E: disabled state + copy for representative flows
FR-DSK-007Licensing gatesIntegration: 403 MODULE_NOT_LICENSED handling
FR-DSK-008Message catalogs + locale fallbackUnit: loader; integration: config-resolver snapshot
FR-DSK-009LTR/RTL layoutE2E: dir + nav mirror; visual baseline optional
FR-DSK-010Mixed-direction identifiersComponent/E2E: MRN/code in RTL shell
FR-DSK-011Locale preference persistenceUnit: settings store; integration: login restore
FR-DSK-012Cloud AI via Kong/orchestratorIntegration: mock Kong AI route; no secrets in bundle lint
FR-DSK-013AI offline degradationE2E: offline → feature disabled or local-only path per flag
FR-DSK-014On-device AI policySecurity review + IPC contract tests when enabled
FR-DSK-015Scheduling rich UI parityVisual/ E2E: calendar + RTL axis; module contract tests
FR-DSK-016Desktop notificationsE2E/manual: OS notification permission path + in-app fallback
NFR-DSK-001Encryption at restSecurity review + unit test of DB open with key
NFR-DSK-002No secrets in rendererStatic check + code review of preload surface
NFR-DSK-003Minimal PHI in logsLog review checklist
NFR-DSK-004Automated testsCI: unit + integration + E2E jobs
NFR-DSK-005Signed updatesRelease pipeline test (where applicable)
NFR-DSK-006Locale formatting + RTL E2EE2E: TR-DSK-063; date/number format checks
TR-DSK-001–004Electron security modelAudit: webPreferences, CSP, contextIsolation
TR-DSK-010–013SQLite + tenant isolationUnit: query scoping tests
TR-DSK-020–022Outbox semanticsUnit + integration vs mock Kong
TR-DSK-030–035Kong HTTP behaviorIntegration: headers on sample POST
TR-DSK-040–042Auth storageManual + automated token vault tests
TR-DSK-050–051Update securityPipeline docs + verify signature step
TR-DSK-060–063Test obligationsCI coverage; TR-DSK-063 RTL E2E
TR-DSK-070–076Localization + directionUnit + E2E per TR-DSK-075/076
TR-DSK-080–083AI integrationIntegration: orchestrator + local IPC mocks; policy flag tests

Platform cross-reference

Desktop requirements inherit offline platform IDs (FR-OFF / NFR-OFF / TR-OFF) from offline-first/SPEC.md and offline-first/TECHNICAL_REQUIREMENTS.md. AI features additionally trace to AI_PLATFORM.md and FR-AI / FR-NFR-015..018 in EHR_FUNCTIONAL_REQUIREMENTS.md where applicable. When implementing, trace dual IDs in PR descriptions where relevant.


REQ-DESK (EHEALTH) → backlog story → verification

Full REQ → Epic → Story mapping: backlog/LINKAGE.md. Jira ADF descriptions: backlog/adf/.

REQ-DESK IDSummaryPrimary StoryVerification
FR-001Tenant isolation in local storeDESK-US-010Unit: SQLite queries scoped by tenantId
FR-002Offline writes + idempotencyDESK-US-011Unit: outbox idempotency; integration: replay
FR-003Online-only degradation UXDESK-US-017E2E: disabled flows offline
FR-004Server permissions authoritativeDESK-US-004, US-005Integration: 403 from API
FR-005Licensing / feature flagsDESK-US-004, US-009Integration: unlicensed module hidden
FR-006Audit correlationDESK-US-015Integration: correlation header present
FR-007–009Modular shell, site profile, no unlicensed syncDESK-US-004–009E2E: nav + scheduler registration
FR-010–015EHR intake, notes, orders, problems, vitals, schedulingDESK-US-018–023E2E + module contract tests
FR-020–021Radiology summary + virtual visit embedDESK-US-042–049, US-026Security: allowlist; E2E embed
FR-030–032Messaging, notifications, virtual careDESK-US-024–026E2E: notification + offline labels
FR-040–042Care plans, med mgmt, e-prescribingDESK-US-027Integration: eRx online gate
FR-050–051Documents + OCRDESK-US-050–052Integration: OCR IPC + confirm dialog
FR-062Billing online submit + draftsDESK-US-053–054Integration: idempotent billing replay
FR-070–072Pop health, reporting, adminDESK-US-055–058E2E: admin blocked offline mutations
FR-080–083AI cloud, ONNX, search, suggestionsDESK-US-059–062Integration: Kong AI; IPC tests
FR-090–098Capability map, nav, lazy load, tenant switch, telemetryDESK-US-003–008E2E: entitlement refresh
FR-100–107Laboratory LIS desktopDESK-US-028–034Integration: LIS APIs; role UI tests
FR-110–117Pharmacy desktopDESK-US-035–041Integration: pharmacy + 403 SoD
FR-120–127Imaging / radiology desktopDESK-US-042–049E2E: viewer allowlist; draft report
REQ-DESK IDSummaryPrimary StoryVerification
NFR-001–003Perf: virtualize, SQLite workers, sync UIDESK-US-012–014, US-063–064Perf/unit tests
NFR-010–013Encryption, secrets, CSP, logsDESK-US-002, US-016Security review + static analysis
NFR-020Local audit reconciliationTBDWhen device audit API defined
NFR-030–031Cross-platform CI, proxyDESK-US-068CI matrix; doc review
NFR-040–041A11y, densityDESK-US-065E2E RTL; axe optional
NFR-050–051Crash opt-in, feature kill-switchDESK-US-066Config + payload inspection
NFR-052Lazy bundles + entitlement refreshDESK-US-067Bundle analysis; E2E
NFR-060–063Sync ordering, cursors, batching, conflictsDESK-US-011–013Integration: conflict + cursor tests
INT-001,005,007–008Kong, sync endpoints, FHIR, entitlementsDESK-US-011, US-003Integration: headers + bootstrap

DESK-US-* (backlog) verification focus

Story IDEpicVerification focus
DESK-US-001–009DESK-EPIC-01Auth integration; IPC audit; E2E shell + entitlements
DESK-US-010–017DESK-EPIC-02Unit + integration outbox/sync; E2E offline
DESK-US-018–027DESK-EPIC-03E2E clinical flows; module API mocks
DESK-US-028–034DESK-EPIC-04LIS integration tests; role-gated UI
DESK-US-035–041DESK-EPIC-05Pharmacy integration; SoD 403
DESK-US-042–049DESK-EPIC-06Viewer allowlist security; reporting states
DESK-US-050–052DESK-EPIC-07File IPC; OCR orchestrator mock
DESK-US-053–054DESK-EPIC-08Billing idempotency integration
DESK-US-055–058DESK-EPIC-09Report export E2E; admin guards
DESK-US-059–062DESK-EPIC-10AI route lint + IPC tests
DESK-US-063–068DESK-EPIC-11Perf/a11y E2E; CI smoke

Per-story status: backlog/IMPLEMENTATION_STATUS.md.