- Shipped
- August 25, 2026 at 8:20 PM UTC
- Author
- kamo
- Commit
- 257d575
A nav entry, four panels and a chart. The design decisions worth reading are the ones where the screen is a control rather than a view. The chart's allergy banner has THREE states. "No known allergies — reviewed", "Allergies not reviewed", and the list itself. An empty allergy list means one of two very different things — no known allergies, or nobody asked — and only one of them is safe to prescribe against. That is the entire reason "no known drug allergies" is a documented statement in medicine rather than an absence of data, and rendering the second as the first is the quiet substitution that ends in an anaphylaxis report. Medications are shown as prescribed AND patient-reported, separately, both present. A prescription says what a clinician intended; a reported medication says what the patient is actually doing, including the drugs from other practices, the OTCs, the interacting supplements and the prescribed drug they stopped three weeks ago without telling anyone. Reconciliation is the act of comparing the two, and a screen that merges them into "medications" makes that impossible while looking tidier. The safety tab is five counts, and a zero renders as GOOD NEWS rather than as an empty list — a queue that shows nothing when it is clear is a queue people stop looking at. Every one of those five fails silently: an order placed and never resulted produces no error and fills no inbox, a critical value nobody acknowledged looks identical to one everybody saw, and a result withheld from a patient looks exactly like one nobody has got to. Each queue settles on its own so a single failing endpoint cannot blank the other four. The waiting room leads the day tab, because it is the only thing on that screen happening right now, and the wait is coloured before it becomes a complaint. It re-renders on a timer: a wait time that only updates on reload is a wait time nobody trusts. A denied chart and a missing one look identical, deliberately — the API answers both 404 so a caller cannot walk the id space and learn which patients a practice has. The screen offers the one honest resolution: emergency access, whose notice says it is recorded and reviewed BEFORE it asks for a reason, because the person deciding should be reading that while they decide. purpose of use is sent explicitly on every read and never defaulted. §164.528 excludes treatment from the accounting of disclosures while 42 CFR §2.25 includes it, so the same access belongs in one report and not the other, and only the screen knows why it is open. One proxy route serves the whole clinical surface, and it forwards the query string — almost every clinical read is parameterised by a date, a purpose or a search term, and the per-endpoint copies elsewhere in this app drop it. Timestamps go through parseServerDate rather than `new Date`. The clinical tables are TIMESTAMPTZ so these values do carry an offset, but the rest of this platform sends LocalDateTime with none — a parser that is right for both stays right when a payload changes shape underneath it. 3025 tests green, typecheck clean.