Architecture spike · synthetic data

Provider onboarding, from application to payable — on one derivation.

Northstar is a fictional health plan. This spike runs its credentialing, contracting, claims configuration and directory work on Elixir, Ash, LiveView and PostgreSQL, with every status derived once, in SQL, and shown the same way everywhere.

NS-APP-2026-000001

Maya Chen

Cardiology · Riverbend Cardiology Group

Credentialing
  1. Received 1 Sep
  2. Completeness clean
  3. Network need accepted
  4. Credentialing awaiting designee
  5. Contracting countersigned 20 Oct
  6. Data & config PDM validated
  7. Payable from 1 Nov
  8. Directory

How it works

One derivation, every surface

Writes append events and bitemporal facts and start clocks, in one transaction. Progress, stage and payable status are computed by SQL functions from those facts, so the pipeline, the application page, Provider 360, the API and the public status page cannot disagree.

Event log append-only Bitemporal facts valid × recorded time Clocks as rows business-day calendar SQL One derivation progress · stage · payable Pipeline Application Provider 360 JSON API Public status

What to try

The Northstar scenarios

Each one is also an automated test. Sign in with the account shown, then switch roles from the header as the steps need. The demo date starts at 26 October 2026.

S1

Maya becomes payable

The happy path: approval starts the handoff chain, and payable follows the date.

  1. 1 Open NS-APP-2026-000001 and approve it as designee.
  2. 2 The claims system answers in seconds: as claims configuration, confirm it on Staging.
  3. 3 As directory specialist, publish the listing; it is scheduled for 1 November.
  4. 4 As network admin, move the date to 1 November: Maya is payable everywhere.

Sign in as medical director

S2

Signed, but not payable

Kwame's contract was signed early and is held until credentialing approves.

  1. 1 Open Signed, not payable: Kwame is listed with his blocking step and team.
  2. 2 In the pipeline, contracting is blocked and he has 22 days on the step, not 130.

Sign in as network operations manager

S3

A cure clock runs out

Jordan's pend notice gives five business days to send the missing items.

  1. 1 On 26 October the cure clock is running, 4 of 5 days.
  2. 2 Move the date to 28 October: one "Rejection eligible" task appears, and only one.
  3. 3 Nothing is rejected until a person confirms it with a reason.

Sign in as network admin

S4

Two reasons to wait

Lena's committee submission is blocked by a stale verification and contract-first sequencing.

  1. 1 Open NS-APP-2026-000012: Submit to committee is disabled with both reasons.
  2. 2 Re-verify the licence, then accept the result on Staging: only the contract-first reason remains.

Sign in as credentialing analyst

S7

Correcting the past

A countersign date was entered wrong. Correct it and ask what we believed before.

  1. 1 After S1, with the date on 3 November, correct the countersign date to 2 November.
  2. 2 Confirm 1 December: Maya is scheduled again, and the stale PDM and packet dates turn red.
  3. 3 Provider 360's history shows the old and the new belief, each with its recorded time.

Sign in as contract manager

S9

Two plans, one database

Southgate shares the database and the provider registry, and nothing else.

  1. 1 Sign in with an sg-… account: no Northstar application, task or contract is visible.
  2. 2 Row-level security enforces it even for a query that forgets its tenant filter.

Sign in as a Southgate account

Proven, not claimed

What the spike checked

13 / 13

hypotheses pass, each backed by a named test or measurement

21

theorems proved in Lean 4 about the calendar, bitemporal writes and payable

166

actions checked against the permission matrix for every role

< 0.5 s

p95 for every read at 50,000 applications and 1 million events

Demo accounts

One account per role

Accounts are seeded; there is no sign-up. The password is shared with you separately. Southgate accounts (sg-…) belong to a second plan and see none of Northstar's data.

Network admin
ns-network_admin@demo.local
Network operations manager
ns-net_ops_manager@demo.local
Credentialing analyst
ns-cred_analyst@demo.local
Committee member
ns-committee_member@demo.local
Medical director
ns-medical_director@demo.local
Contract manager
ns-contract_manager@demo.local
PDM analyst
ns-pdm_analyst@demo.local
Claims configuration
ns-claims_config@demo.local
Directory specialist
ns-directory_specialist@demo.local
Compliance
ns-compliance@demo.local

Check a status

The applicant-facing page: a tracking ID and the submitter's email show public progress only. Try NS-APP-2026-000001 with maya@demo.local.

Open the status page
Northstar

Synthetic data. Rules are demo configuration, not a legal determination.