# Phase: Medical Record | Field | Value | | --- | --- | | Identifier | `healthcare-13-5` | | Status | Planned | | Owner | Platform | | Module(s) | `healthcare.medical_records`, `healthcare.encounters`, `healthcare.clinical_lists` | | Service(s) | `healthcare` | | Depends On | `healthcare-13-0`, `healthcare-13-2` | | ADR(s) | TBD | | Manifest | [phase-manifest.yaml](../../ai-framework/phase-manifest.yaml) | | Framework | [ADR-013](../../architecture/adr/ADR-013.md) · [ADR-018](../../architecture/adr/ADR-018.md) · [ADR-019](../../architecture/adr/ADR-019.md) | ## Objective Introduce structured medical record shells: MedicalRecord per patient, Encounter linked to VisitSession/Appointment, conditions/allergies/medications lists, immunization refs, and access-control policies — without national EHR exchange, mandatory HL7/FHIR compliance, or pharmacy dispensing. ## Enterprise Phase Discovery > **Required before Implementation.** | Field | Value | | --- | --- | | Discovery date | TBD at implementation | | Inputs reviewed | Phase 13.2 visit sessions · privacy/regulatory non-goals | ### Target Responsibility (this phase when Complete) - MedicalRecord aggregate (one per patient per clinic or tenant policy) - Encounter records with immutable finalized state - Clinical list items: Condition, Allergy, MedicationStatement (shells) - ImmunizationRecord refs - MedicalRecordAccessPolicy (doctor role, department, break-glass audit) - Append-only clinical audit for record access and amendments - Permissions `healthcare.medical_records.*`, `healthcare.encounters.*` - Events `healthcare.medical_record.*`, `healthcare.encounter.*` ### Explicitly Excluded - Sports Center `medical_information` (sports clearance only) - National health information exchange - AI diagnosis / treatment recommendation - Pharmacy inventory and dispensing (13.6) - Binary imaging PACS (Storage refs only) ## Business Analysis | Item | Detail | | --- | --- | | Actors | Doctor, authorized clinic staff, patient (read subset via 13.4 later) | | Business capabilities | Document encounters; maintain problem/medication/allergy lists | | Success metrics | Finalized encounters immutable; access logged | | Non-goals | Legal e-signature archive, regulated prescription format | ## Scope ### In Scope - Aggregates: MedicalRecord, Encounter, Condition, Allergy, MedicationStatement, ImmunizationRecord, MedicalRecordAccessLog - Lifecycle: encounter draft → in_progress → finalized (immutable) - Amendment pattern for finalized records (addendum, not silent edit) - Storage refs for attachments/lab results metadata - Alembic `0006_phase_135_medical_record`; version `0.13.5.0` ### Domain Model | Aggregate | Entities | Invariants | | --- | --- | --- | | MedicalRecord | Encounter, Condition, Allergy, MedicationStatement | Patient-scoped; access policy enforced | | Encounter | — | Links VisitSession; finalized = immutable body | ## Out of Scope - Pharmacy orders (13.6) - Delivery of supplies (13.7) - Accounting clinical billing codes - Patient portal full record export (partial read may extend 13.4) ## Completion Criteria - [ ] Encounter finalize immutability tests - [ ] Access policy + audit tests - [ ] Handover + registry at `0.13.5.0` ## Related Documents - [Phase 13.2](phase-13-2-doctor-panel.md) - [Healthcare Roadmap](../../healthcare-roadmap.md) - [Module Registry](../../module-registry.md#healthcare)