Skip to main content

Patient Chart Service — Service Readiness

Status: populated Owner: TBD Last updated: 2026-04-18 Companion: Service Template · DEFINITION_OF_DONE

1. Readiness gate overview

Patient Chart is a Core mission-critical clinical service. Any CRITICAL gate failure blocks production deployment.


2. Gate checklist

Gate 1 — Documentation

CheckStatusVerifier
All 17 canonical docs populated (not stubs)Tech Lead
EPICS.md + USER_STORIES.md in JiraProduct Owner
MIGRATION_PLAN.md — five-module consolidation phase sign-offPlatform Eng Lead
SECURITY_MODEL.md reviewedSecurity Lead
DOMAIN_MODEL.md — all aggregate invariants confirmed by clinical informaticsClinical Informatics Lead

Gate 2 — Code quality

CheckStatusVerifier
TypeScript strict; zero errorsCI
ESLint: zero violations; hexagonal import rules passCI
Unit test coverage ≥ 80 % (domain + application)CI
Integration test coverage ≥ 70 %CI
test/integration/tenant-isolation.spec.ts greenCI — mandatory
test/integration/outbox.spec.ts greenCI — mandatory
test/integration/inbox.spec.ts greenCI — mandatory
Pact consumer contract tests greenCI
Event schema conformance tests greenCI

Gate 3 — Clinical data integrity

CheckStatusVerifier
All domain invariants tested (NKA rule, duplicate-allergy check, signed-note immutability, cosign policy)Tech Lead + Clinical Informatics
Optimistic locking conflict tests passingTech Lead
Break-glass requires reason — enforced in integration testCompliance Officer
AI-assist accept without provenance → rejected (CHART_AI_PROVENANCE_MISSING)Tech Lead
Allergy advisory returns correct data under concurrent writesTech Lead

Gate 4 — Security

CheckStatusVerifier
RLS policies enabled on all patient_chart tablesDBA
Cross-tenant reference rejected with CHART_CROSS_TENANT_REFERENCESecurity Lead
Sensitive-segment access policy enforcedSecurity Lead
Break-glass events audited to audit-serviceCompliance Officer
No PHI in log output (CI lint check)Security Lead

Gate 5 — Observability

CheckStatusVerifier
OTEL traces visible in Grafana TempoSRE
All key metrics publishing in PrometheusSRE
Grafana dashboards deployed and populatedSRE
SLO burn-rate alerts configuredSRE
Outbox lag alert configuredSRE
On-call runbooks written and linkedSRE

Gate 6 — Operations

CheckStatusVerifier
Canary deploy (5 %, 30 min) in staging; rollback verifiedSRE
Five-module data migration validated in staging (row counts match)Platform Eng
Dual-publish NATS verified for all five legacy subjectsPlatform Eng
Consumer service cutover confirmed (medication, orders, population-health, portal)Platform Eng
SERVICE_RISK_REGISTER.md reviewed; all CRITICAL/HIGH mitigatedTech Lead + SRE
On-call rotation assignedEngineering Manager
Pod disruption budget minAvailable=2 setSRE

3. Sign-off matrix

GateRequired signers
1 — DocumentationTech Lead, Product Owner
2 — Code qualityCI (automated) + Tech Lead
3 — Clinical data integrityTech Lead, Clinical Informatics Lead
4 — SecuritySecurity Lead, DBA, Compliance Officer
5 — ObservabilitySRE Lead
6 — OperationsSRE Lead, Platform Eng Lead, Engineering Manager

4. Readiness levels

LevelDescriptionTarget
L2Core aggregate CRUD live; FHIR read surface for Condition/AllergyIntolerance/ObservationM0
L3Full summary + timeline; contract tests against medication/lab/rad/imm/care-plan greenM1
L4Break-glass + snapshot + AI-assist; SLO-governed; chaos-tested; all gates greenM3