Twenty destinations across care, pharmacy, finance, business, people and the workspace, joined by one rule: an invoice line names the procedure, the bed days or the medication course it bills. Looking at it should settle whether operations and revenue can sit in one product without either lying about the other.
Preview interactive design
The operator is a ward manager at handover and a finance officer three weeks later, looking at the same records. The constraint is that a bed cannot be created — every admission waiting is somebody in a corridor — and everything billed afterwards has to reconcile to what the ward actually did.
01The screens →Two patients are waiting on a bed, and each clock started when ED requested it rather than when somebody typed a status. A bed is not a route: it is a pip on its ward’s card.
the bed count is a setting, and it divides02TreatThe theatre list is a timed ladder rather than a table, because the question is what happens next and what is late. A procedure will not start without consent on the record.
consent gates the transition, not the button03RecoverCoding turns an episode into lines, each naming the care it bills. Only cleared money moves a balance, terms come from the payer’s own contract, and a disputed invoice is never chased.
pending money is not paid moneyForty registered routes: twenty destinations over six rail categories, six records, the profile, seven under settings and six for auth. There is deliberately no /admissions/:id and no bed record — an admission is one row on the ward board, and a bed is only ever reached through its ward.
02The status set →A figure row, the ward board, then the work owed to a person: bed waits, held discharges, the theatre list. No occupancy percentage without the bed count that divides it, and no summing unlike work into one number.

A timed ladder rather than a table, because the question is what is next and what is late. The record carries the clock and the gate: what it is over by, and which transitions exist at all.

Not a list of prescriptions: what is overdue, due this hour, and later today, derived from each course’s frequency against the clock. Recording a dose moves the next one by that interval.

One invoice per episode, each line pointing at the intervention, admission or course behind it. The contracted price is looked up at render, so a line billed off contract is a finding.

Balance, terms, last contact, and the step the ladder says comes next. Overdue is not stored, so an invoice arrives on this screen without anybody moving it — and a disputed one is never chased.

The value nobody finds here is overdue: a due date in the past with a balance outstanding, computed at render, so an invoice becomes overdue on its own and the worklist, the aged-debt buckets and the nav badge read one predicate. Expiring is absent for the same reason.
03The awkward cases →All three are records in the fixture rather than hypotheticals, and each one is why a figure on some other screen is derived rather than stored.
04The audit →The contracted price for a line lived in two places — on the tariff item, and implied by the line’s own unit price — with nothing checking they agreed, so a line billed off contract was invisible unless somebody compared them by eye. The price is looked up at render now, and a line that disagrees is a finding on three screens at once.
05Back to the top →
Reckon
The ward writes the facts and finance bills them months later. If a figure cannot be walked back to the bed day that produced it, it is not a figure — it is a guess with a currency symbol.