A healthcare market's commerce surface is its revenue cycle

Featurekamo-internal
Shipped
August 25, 2026 at 9:10 PM UTC
Author
kamo
Commit
6364dd0

The other verticals show orders and agreements because that is where their money is. A medical practice's money is in claims — and specifically in the ones nothing else will ever mention again. Rejected claims lead the screen and that ordering is its whole argument. A claim a clearinghouse rejected never reached the payer, so it is in no denial report; it was never paid, so it is in no payment report; its status changed once, weeks ago, and then nothing. Timely filing is second because it is the only absolute deadline in the cycle: past it the money is gone permanently with no appeal, and practices usually find out months later. Uncharged procedures are last and are the quietest of all, because the failure is a row that was never written. Appointments and encounters deliberately do NOT appear here. They live in /patients, where the care-relationship rules are — a schedule rendered on a commerce screen would be a chart surface without a chart's access control. Vocabulary mirrors the Java: an appointment is the INTENT, a slot someone holds and may not keep; the ENCOUNTER is the commitment, the visit that happened and the thing a claim is billed from. Calling both "appointments" loses the number every other number depends on. Timestamps in the patient formatters now go through parseServerDate. The clinical tables are TIMESTAMPTZ so those 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. 3033 tests green, typecheck clean.

All changes

Like what you see shipping?

Every one of these updates lands in your workspace automatically. Start free and watch it grow week after week.

Start Free ForeverView Pricing