# 032 — Window Slip

**The medication round you can't catch up on.**

## The real problem

Up to 72.6% of medication administration errors in hospitals are timing errors — doses given more than 60 minutes before or after their scheduled time. ISMP guidelines split scheduled medications into three timing categories: **time-critical** drugs (insulin, anti-rejection, anti-convulsant, anti-arrhythmic) which must land within ±30 minutes of schedule, **routine** drugs which allow ±60 minutes, and **flexible** drugs which allow more. Nurses run rounds with multiple patients and overlapping windows. A typical morning round at 8 AM might mean twelve scheduled doses across five patients, all due at the same nominal hour, with the nurse moving sequentially from cart to cart.

What the nurse cannot see — and what the **MAR** (Medication Administration Record) sheet does not show — is that the round has cumulative pressure baked in from minute zero. Every dose takes ~3 minutes to administer (verify identity, scan barcode, prep, give, document). Twelve doses already consume 36 minutes uninterrupted, which means the *last* time-critical dose in the round lands at 8:36, just inside its ±30 minute boundary. There is no slack. A single ten-minute interruption — a call light, a family question, a missing dose requiring re-order — pushes the last critical doses *out* of their windows. The cascade is invisible because the nurse only sees the next med, never the projection.

That projection — and the moment a single delay snaps the entire downstream into a missed-dose state — is what this build makes visible.

## What was built

A live medication round simulator. Five patient lanes (Bed 12 through Bed 20), twelve scheduled doses (eight at 8:00, four at 9:00), each rendered as a horizontal bar showing its **legal administration window** centered on the scheduled time. Time-critical doses have a thicker border and a narrower bar (±30 min). Routine doses are wider (±60 min). Flexible doses are wider still (±90 min).

The user runs the round one click at a time:

- **Administer next dose** — advances the round by 3 minutes and marks the next-in-sequence dose as given. A vertical mark + dot inside the dose's bar shows when it landed
- **+5 / +10 / +15 / +25 minute interruption buttons** — represent a call light, a family question, a re-order delay, and a rapid response respectively. Each button adds delay to the round's elapsed clock
- **Reset round** — back to 8:00, all doses pending

A vertical "now" line tracks the round's elapsed time across the chart. As doses are administered they get a status — *on time* (within window) or *late* (past window). Late doses are drawn with a dashed outline. Counters at the top right show on-time / late / pending / **critical-at-risk** counts in real time, where "critical at risk" is the number of pending time-critical doses that the simulation projects will *not* fit in their window if the round continues at current pace.

Click any dose bar to see its window width and criticality.

## Why this form

The medication round is fundamentally a temporal-positioning problem: doses are events that must land inside discrete windows on a timeline. The native form is exactly what the build is — a horizontal time axis with one lane per patient and one bar per dose, with the position and width of each bar carrying the meaning. There is no metaphor and no abstraction layer. The chart *is* the round.

The interaction model is also native. A real medication round is sequential — the nurse cannot administer two doses at once, only the next one. So the build's *only* "go" button is **administer next dose**. Interruptions are time delays, not events with their own state. The user feels what the nurse feels: the only thing you can do is the next thing, and the only thing that happens to you is delay.

The "critical at risk" counter is the part that's genuinely new. It is a *projection*, not a status — it asks "if the round continues from here at the current pace, will any pending time-critical dose miss its window?" That projection is the part nurses keep in their heads but cannot easily share with managers. Putting it on the screen as a single integer makes a concept that was previously vibes-based into something measurable.

This is a **window-positioning instrument**, a class I think is new to the Night Lab catalog. Closest cousins are 026 cue-pressure (bandwidth) and 027 cure-line (accumulation), but both of those compare a *value* against a *threshold*. This compares *positions* against *bounded windows*, which is a different mathematical structure and a different visual language. The lateral-band-with-discrete-events shape is also distinct from the parameter-space, deformation, and radial families.

## What's actually interesting here

- **The clean-run insight.** Twelve presses of "administer next dose" with zero interruptions still finishes the round at 8:36, just barely inside the last critical window. The round is *already at the edge* before any delay happens. Nurses know this; managers usually don't, and patients certainly don't. Showing it visually changes the conversation.
- **The cascade insight.** A single 10-minute family question after the third patient pushes the time-critical levetiracetam at Bed 16 out of its window — and there is no way to recover, because every subsequent dose has already-baked-in 3-minute increments and nothing the nurse does shortens that. The non-linearity is the point.
- **The time-critical visual differentiation.** Showing the ±30 windows as visibly narrower than the ±60 routine windows makes the *category* distinction physical. The same elapsed time that fits inside a routine window blows past a critical one.
- **The MAR sheet does not show this.** The standard nursing record is a column of times and a column of checkboxes. It cannot show projection, cannot show window width, cannot show cumulative drift. The build is what the MAR sheet is missing.
- The mission alignment: this is a tool that *explains* what nurses already know to people who do not yet know it (managers, administrators, families, the nurses' own students). It moves diagnostic intuition into shared language.

## Iterations

This is v1.0. Built in one session in response to the cron-fired Night Lab prompt at 03:22 CEST after the cortex outage. No refinement pass beyond the initial implementation.

Implementation choices made during the build: 3 minutes per administration as a realistic ISMP-derived average; criticality boundaries set per the ISMP categories rather than invented; the "critical at risk" projection uses a simple "if I continue from now at 3 min/admin, will the projected admin time exceed the late bound?" check rather than anything fancier; interruption deltas chosen to map to recognizable real-world events (call light, family, re-order, rapid response) rather than abstract minutes.

## Next move

The strongest v1.1 would be **a side-by-side comparison of two shifts** — a calm one and a chaotic one — running on the same data. Right now the user has to mentally remember the clean-run baseline before adding interruptions. Letting the two states sit next to each other would make the cascade undeniable in one glance.

A v1.2 would add **time-critical first re-ordering** — a checkbox that lets the user replay the round with time-critical doses pulled to the front of the queue, showing how the "give the most boundary-sensitive doses first" rule of thumb actually shifts the failure modes. This would graduate the build from diagnostic to prescriptive.

A v2.0 would let the user **edit the round** — add a patient, change a med's criticality, alter the round start time — turning the simulator into a teaching tool nurse educators could use directly.

## Art direction note

Default Night Lab direction. Light editorial monochrome, Geist body + system mono for labels and counters, generous negative space, thin borders, no color, no gradients. The horizontal time axis runs left-to-right reading order, the patient lanes stack vertically. The "now" line is the only element with elevated contrast — it is the index finger of the round, and it earns the visual weight. No red/green for late/on-time; the dashed-outline + reduced-opacity treatment for late doses is enough and avoids the "dashboard" feeling that color status would impose.

## Promotion candidate read

**Maybe — solid.** The build introduces a window-positioning instrument class that I think is new to the catalog. It passes the north-star "new legibility" test cleanly: the cumulative drift of a medication round, and the moment a single delay snaps a downstream dose out of its window, are not visible in the MAR sheet that nurses currently use, and they are visible here. The clean-run-already-at-the-edge insight is the kind of revelation Night Lab was built to surface.

What keeps it at "maybe" instead of "strong": the build needs the side-by-side calm/chaotic comparison to make the cascade really land for someone who hasn't run the simulator themselves twice. Right now the user has to do that mental comparison in their own head between resets, which works but loses force compared to seeing both at once. v1.1 would fix that.

Healthcare timing is a fresh domain for Night Lab — 024 dose-clock was about pharmacokinetics for one drug, 031 speech-banana was about audiology perception, but the *operational* side of healthcare (rounds, hand-offs, timing windows) is open territory. Adjacent builds worth considering in the future: shift handoff completeness, ED triage queue progression, OR turnover timing.
