diff --git a/docs/script-budget-history/2026-11-11-pr1621-held-clinical-review-fixes.md b/docs/script-budget-history/2026-11-11-pr1621-held-clinical-review-fixes.md new file mode 100644 index 000000000..9977812a8 --- /dev/null +++ b/docs/script-budget-history/2026-11-11-pr1621-held-clinical-review-fixes.md @@ -0,0 +1,11 @@ +# 11 Nov 2026, Held clinical review fixes (PR #1621) + +Changed on top of `main` at `5b08a5e`: Home `/ward-flow` raised 575.4 to 575.7; referrals `/ward-flow/referrals` raised 583.6 to 583.9; ward `/ward-flow/ward/rph-adult-secure` raised 613.8 to 614.1; capacity `/ward-flow/capacity` raised 654.3 to 654.7. Each raise is under 1 KB, within the 5 KB per-screen allowance in HOW-WE-WORK section 6. + +Measured on hosted CI (production build of the PR head `eda932a`, merged with main): Home 575.4 KB, referrals 583.6 KB, ward 613.8 KB, capacity 654.4 KB, each over its limit after rounding. Main alone measured 575.2, 583.5, 613.6 and 654.1. Each new limit is the measurement plus about 0.3. + +Why it changed: the shared bed-forecast code that these routes load grew by 0.1 to 0.3 KB gzipped. Planned admissions now skip a patient who already holds a named bed (`patientsHoldingANamedBed`), and the ED long-wait check moved into one shared `isLongWait` helper (D-145 item 1). + +Trim tried: the forecast is already part of each route's first load and the added code is the fix itself, so lazy loading would save nothing. No other safe trim was found. + +Later the same day (PR head `65ea28a`, merged with main `c339231`): ED `/ward-flow/ed` raised 535.4 to 535.7. Hosted CI measured 535.4 KB against main alone 535.2 KB; the same shared `isLongWait` helper and named-bed check account for the 0.2 KB. Same trim reasoning as above. diff --git a/docs/ward-flow/journey/MAP-INVENTORY.md b/docs/ward-flow/journey/MAP-INVENTORY.md index 5bf83b42e..e03ee3f2c 100644 --- a/docs/ward-flow/journey/MAP-INVENTORY.md +++ b/docs/ward-flow/journey/MAP-INVENTORY.md @@ -3,7 +3,7 @@ The route is selective. Its action notes and the additional command models have source review evidence; source digests detect later edits. This does not establish runtime or clinical acceptance. ## 193 CURRENT ENGINE EVENTS -Source-contract SHA256: e73d1cd81542d3f2030a3f69d3b7b5dc096d8695d24f6ec6a605e18616914ab6 +Source-contract SHA256: 058aeabf4009259104c6d772f6126c1c9d7fb94286b54b256eda1dd711025423 - RECORD_ADMISSION_CARE — diagram-reviewed; event roles: ward, coordinator, community Diagram action notes reviewed against the recorded source revision. Source digests detect subsequent edits; this is not runtime acceptance. Permission source: src/components/ward-management/ward-flow-event-roles.ts:20 @@ -1693,7 +1693,7 @@ Source-contract SHA256: e73d1cd81542d3f2030a3f69d3b7b5dc096d8695d24f6ec6a605e186 - BOOK_PLANNED_ADMISSION — modelled; event roles: coordinator, bed_manager, ward Reviewed command model: New PA-* record in booked state, holding no bed. Permission source: src/components/ward-management/ward-flow-event-roles.ts:613 - Event/dispatch reference: src/components/ward-management/capacity/planned-admissions-reducer.ts:74 + Event/dispatch reference: src/components/ward-management/capacity/planned-admissions-reducer.ts:78 Event/dispatch reference: src/components/ward-management/ward-flow-reducer.ts:2340 Subject: A future planned admission Before: No booking for this linked patient, or an initials-only booking to create @@ -1710,14 +1710,14 @@ Source-contract SHA256: e73d1cd81542d3f2030a3f69d3b7b5dc096d8695d24f6ec6a605e186 effects: Stores a required same-ward authorisation override. No bed count or admission changes until conversion; initials invoke the typed-text persistence boundary. tests: tests/ward-planned-admissions.test.ts tests: tests/ward-audit24-1-planned-booking-authorised.test.ts - Reviewed source: src/components/ward-management/capacity/planned-admissions-reducer.ts:299; SHA256 fcd8e3b7667a295dc58225efa80ca7dc36863ad203ca4b6873c535c7ae5a0eb3 - Reviewed source: src/components/ward-management/capacity/planned-admissions-reducer.ts:263; SHA256 fcd8e3b7667a295dc58225efa80ca7dc36863ad203ca4b6873c535c7ae5a0eb3 + Reviewed source: src/components/ward-management/capacity/planned-admissions-reducer.ts:334; SHA256 d91a5be952e2110e25d304edcac7c17bede49897d9115701033cc8be1e0c61df + Reviewed source: src/components/ward-management/capacity/planned-admissions-reducer.ts:298; SHA256 d91a5be952e2110e25d304edcac7c17bede49897d9115701033cc8be1e0c61df Reviewed source: src/components/ward-management/ward-flow-events.ts:2431; SHA256 378044cce3b2c98c2c24f4e5bb6ab27f7c361f02a7fa8ab59fa36a77388c84bf Reviewed source: src/components/ward-management/ward-access-state.ts:659; SHA256 924e9e6ab48fddbf423e5cf988cc09b75df3ace0ce4f4465f379b143957e3d07 - CHANGE_PLANNED_ADMISSION — modelled; event roles: coordinator, bed_manager, ward Reviewed command model: Still booked, with revised fields, changedAt and incremented changeCount. Permission source: src/components/ward-management/ward-flow-event-roles.ts:614 - Event/dispatch reference: src/components/ward-management/capacity/planned-admissions-reducer.ts:388 + Event/dispatch reference: src/components/ward-management/capacity/planned-admissions-reducer.ts:423 Event/dispatch reference: src/components/ward-management/ward-flow-reducer.ts:2345 Subject: An existing booked planned admission Before: booked plan with current ward/date/stay/reason/legal status/gender @@ -1735,14 +1735,14 @@ Source-contract SHA256: e73d1cd81542d3f2030a3f69d3b7b5dc096d8695d24f6ec6a605e186 effects: Replaces planning fields, records changedAt/count and record-derived linked gender. No bed is held or released. tests: tests/ward-planned-admissions.test.ts tests: tests/ward-audit24-1-planned-booking-authorised.test.ts - Reviewed source: src/components/ward-management/capacity/planned-admissions-reducer.ts:383; SHA256 fcd8e3b7667a295dc58225efa80ca7dc36863ad203ca4b6873c535c7ae5a0eb3 - Reviewed source: src/components/ward-management/capacity/planned-admissions-reducer.ts:263; SHA256 fcd8e3b7667a295dc58225efa80ca7dc36863ad203ca4b6873c535c7ae5a0eb3 + Reviewed source: src/components/ward-management/capacity/planned-admissions-reducer.ts:418; SHA256 d91a5be952e2110e25d304edcac7c17bede49897d9115701033cc8be1e0c61df + Reviewed source: src/components/ward-management/capacity/planned-admissions-reducer.ts:298; SHA256 d91a5be952e2110e25d304edcac7c17bede49897d9115701033cc8be1e0c61df Reviewed source: src/components/ward-management/ward-flow-events.ts:2488; SHA256 378044cce3b2c98c2c24f4e5bb6ab27f7c361f02a7fa8ab59fa36a77388c84bf Reviewed source: src/components/ward-management/ward-access-state.ts:659; SHA256 924e9e6ab48fddbf423e5cf988cc09b75df3ace0ce4f4465f379b143957e3d07 - CANCEL_PLANNED_ADMISSION — modelled; event roles: coordinator, bed_manager, ward Reviewed command model: cancelled with cancel reason and time. Permission source: src/components/ward-management/ward-flow-event-roles.ts:615 - Event/dispatch reference: src/components/ward-management/capacity/planned-admissions-reducer.ts:464 + Event/dispatch reference: src/components/ward-management/capacity/planned-admissions-reducer.ts:499 Event/dispatch reference: src/components/ward-management/ward-flow-reducer.ts:2350 Subject: One booked planned admission Before: booked @@ -1755,13 +1755,13 @@ Source-contract SHA256: e73d1cd81542d3f2030a3f69d3b7b5dc096d8695d24f6ec6a605e186 effects: No capacity refund occurs because booking held no bed. Cancelled plans no longer count as pending arrivals. effects: The step can be taken back by UNDO_RELEASE_STEP within the Undo window, filed against the booking. tests: tests/ward-planned-admissions.test.ts - Reviewed source: src/components/ward-management/capacity/planned-admissions-reducer.ts:459; SHA256 fcd8e3b7667a295dc58225efa80ca7dc36863ad203ca4b6873c535c7ae5a0eb3 + Reviewed source: src/components/ward-management/capacity/planned-admissions-reducer.ts:494; SHA256 d91a5be952e2110e25d304edcac7c17bede49897d9115701033cc8be1e0c61df Reviewed source: src/components/ward-management/ward-flow-events.ts:2488; SHA256 378044cce3b2c98c2c24f4e5bb6ab27f7c361f02a7fa8ab59fa36a77388c84bf Reviewed source: src/components/ward-management/ward-access-state.ts:659; SHA256 924e9e6ab48fddbf423e5cf988cc09b75df3ace0ce4f4465f379b143957e3d07 - CONVERT_PLANNED_ADMISSION — modelled; event roles: ward, coordinator Reviewed command model: Plan arrived and linked to a new occupied admission. Permission source: src/components/ward-management/ward-flow-event-roles.ts:616 - Event/dispatch reference: src/components/ward-management/capacity/planned-admissions-reducer.ts:488 + Event/dispatch reference: src/components/ward-management/capacity/planned-admissions-reducer.ts:523 Event/dispatch reference: src/components/ward-management/ward-flow-reducer.ts:743 Subject: A booked plan and its receiving ward Before: booked plan, no current linked bed/journey, ready eligible capacity @@ -1777,7 +1777,7 @@ Source-contract SHA256: e73d1cd81542d3f2030a3f69d3b7b5dc096d8695d24f6ec6a605e186 effects: Marks plan arrived with convertedAt/admissionId; does not create a numbered bed assignment or admit merely because its date passed. tests: tests/ward-planned-admissions.test.ts tests: tests/ward-planned-arrival-closed-bed.test.ts - Reviewed source: src/components/ward-management/capacity/planned-admissions-reducer.ts:483; SHA256 fcd8e3b7667a295dc58225efa80ca7dc36863ad203ca4b6873c535c7ae5a0eb3 + Reviewed source: src/components/ward-management/capacity/planned-admissions-reducer.ts:518; SHA256 d91a5be952e2110e25d304edcac7c17bede49897d9115701033cc8be1e0c61df Reviewed source: src/components/ward-management/ward-flow-events.ts:2516; SHA256 378044cce3b2c98c2c24f4e5bb6ab27f7c361f02a7fa8ab59fa36a77388c84bf Reviewed source: src/components/ward-management/ward-access-state.ts:659; SHA256 924e9e6ab48fddbf423e5cf988cc09b75df3ace0ce4f4465f379b143957e3d07 - RECORD_SUPPORT_NOTIFICATION — modelled; event roles: ward, coordinator diff --git a/docs/ward-flow/journey/event-dispositions.json b/docs/ward-flow/journey/event-dispositions.json index 4c76c503a..d55c76df1 100644 --- a/docs/ward-flow/journey/event-dispositions.json +++ b/docs/ward-flow/journey/event-dispositions.json @@ -2310,13 +2310,13 @@ "sources": [ { "path": "src/components/ward-management/capacity/planned-admissions-reducer.ts", - "line": 299, - "sha256": "fcd8e3b7667a295dc58225efa80ca7dc36863ad203ca4b6873c535c7ae5a0eb3" + "line": 334, + "sha256": "d91a5be952e2110e25d304edcac7c17bede49897d9115701033cc8be1e0c61df" }, { "path": "src/components/ward-management/capacity/planned-admissions-reducer.ts", - "line": 263, - "sha256": "fcd8e3b7667a295dc58225efa80ca7dc36863ad203ca4b6873c535c7ae5a0eb3" + "line": 298, + "sha256": "d91a5be952e2110e25d304edcac7c17bede49897d9115701033cc8be1e0c61df" }, { "path": "src/components/ward-management/ward-flow-events.ts", @@ -2361,13 +2361,13 @@ "sources": [ { "path": "src/components/ward-management/capacity/planned-admissions-reducer.ts", - "line": 383, - "sha256": "fcd8e3b7667a295dc58225efa80ca7dc36863ad203ca4b6873c535c7ae5a0eb3" + "line": 418, + "sha256": "d91a5be952e2110e25d304edcac7c17bede49897d9115701033cc8be1e0c61df" }, { "path": "src/components/ward-management/capacity/planned-admissions-reducer.ts", - "line": 263, - "sha256": "fcd8e3b7667a295dc58225efa80ca7dc36863ad203ca4b6873c535c7ae5a0eb3" + "line": 298, + "sha256": "d91a5be952e2110e25d304edcac7c17bede49897d9115701033cc8be1e0c61df" }, { "path": "src/components/ward-management/ward-flow-events.ts", @@ -2408,8 +2408,8 @@ "sources": [ { "path": "src/components/ward-management/capacity/planned-admissions-reducer.ts", - "line": 459, - "sha256": "fcd8e3b7667a295dc58225efa80ca7dc36863ad203ca4b6873c535c7ae5a0eb3" + "line": 494, + "sha256": "d91a5be952e2110e25d304edcac7c17bede49897d9115701033cc8be1e0c61df" }, { "path": "src/components/ward-management/ward-flow-events.ts", @@ -2450,8 +2450,8 @@ "sources": [ { "path": "src/components/ward-management/capacity/planned-admissions-reducer.ts", - "line": 483, - "sha256": "fcd8e3b7667a295dc58225efa80ca7dc36863ad203ca4b6873c535c7ae5a0eb3" + "line": 518, + "sha256": "d91a5be952e2110e25d304edcac7c17bede49897d9115701033cc8be1e0c61df" }, { "path": "src/components/ward-management/ward-flow-events.ts", diff --git a/docs/ward-flow/journey/machines.json b/docs/ward-flow/journey/machines.json index 2fcdf924c..8d07b6c2b 100644 --- a/docs/ward-flow/journey/machines.json +++ b/docs/ward-flow/journey/machines.json @@ -1738,8 +1738,8 @@ "sources": [ { "path": "src/components/ward-management/capacity/planned-admissions-reducer.ts", - "line": 584, - "sha256": "fcd8e3b7667a295dc58225efa80ca7dc36863ad203ca4b6873c535c7ae5a0eb3" + "line": 619, + "sha256": "d91a5be952e2110e25d304edcac7c17bede49897d9115701033cc8be1e0c61df" }, { "path": "src/components/ward-management/legal-forms/legal-forms-screen.tsx", diff --git a/docs/ward-flow/journey/ward-journey-explorer.html b/docs/ward-flow/journey/ward-journey-explorer.html index 70659ed84..ff09285b0 100644 --- a/docs/ward-flow/journey/ward-journey-explorer.html +++ b/docs/ward-flow/journey/ward-journey-explorer.html @@ -1284,7 +1284,7 @@