Automate patient triage note entry
The canonical OpenAdapt tutorial: a nurse’s triage-note workflow demonstrated once in a synthetic clinic app, compiled into a deterministic local program, and replayed with the note text as a parameter — including the policy gate that refuses to certify it for clinical writes.
This reference workflow has published run evidence. The trial count, oracle, exact version, and limits appear below.
Published results
- Trials
- 18
- Verified / expected halts
- 3 / 15
- Silent incorrect successes
- 0
- Over-halts
- 0
- Model API calls per run
- 0
- Duration
- 4.71 s
median of the three verified representative-run durations published in the pack outcomes (4820.51 ms, 4706.64 ms, 4697.14 ms). Source: Immutable public-demo evidence pack mockmed-triage-v3. Measured on openadapt-flow 1.23.0, commit 7cc518ee0b83dd571c0902423134a5525635e6b2, pack generated 2026-07-26.
Provenance
Footage and evidence media
Runs on
MockMed, the synthetic clinic application bundled with the OpenAdapt CLI — no setup and no real patient data. It ships so you can run this entire template in about two minutes.
Demonstrated steps
- 1Sign in to the clinic app
- 2Open the first referral in the task list
- 3Start a new encounter for the patient
- 4Select the Triage encounter type
- 5Enter the triage note — recorded as the parameter "note", overridable at every replay
- 6Save the encounter
Parameters: note — the triage note text — recorded values are the defaults; every replay can override them.
How the outcome is verified
Replay writes report.json and an illustrated REPORT.md for every run. lint reports the demonstration’s coverage gaps — including its unarmed irreversible final click — and certify with the strict clinical-write policy refuses the bundle. That refusal is deliberate: the bundled tutorial is runnable but intentionally not certified for clinical writes, so you see the governance boundary working before you trust it with a workflow that matters.
- per-step postconditions
- lint coverage report
- policy certification gate (permissive passes, clinical-write refuses)
Evidence and scope
A nightly clean-machine test runs this complete install-to-uninstall journey on Linux, macOS, and Windows.
Questions about this template
Does this template make model API calls when it runs?
No. Every one of the 18 published trials in evidence pack mockmed-triage-v3 recorded 0 model API calls, including the 15 fault trials.
Source: Pack outcome envelopes
What happens when the target is ambiguous?
The run halts before acting. In the published fault trials, an ambiguous locator produced a structural safety refusal - no action was admitted - in 3 of 3 trials.
Source: fault-ambiguity outcome example
Is the clinical-write bundle certified?
No. The bundled tutorial is runnable but intentionally not certified for clinical writes; lint reports its unarmed irreversible final click and the strict policy gate refuses certification. That refusal is the safety boundary working.
Try it from the command line
The compiler and runtime are open source and MIT licensed. The default healthy path runs locally and makes no generative-model API calls.
pip install openadaptInstall the OpenAdapt launcher, compiler, and included browser capability.
openadapt flow demo-record --out recServe the bundled MockMed clinic app locally and record the canonical triage demonstration.
openadapt flow compile rec --out bundle --name triage-noteCompile the recording into a deterministic, locally executable bundle.
openadapt flow lint bundleReport the bundle’s coverage gaps — expected: it finds the demo’s unarmed irreversible final click.
openadapt flow certify bundle --policy clinical-writeEnforce the strict clinical-write policy — expected: refusal. That is the safety boundary working.
openadapt flow replay bundleUse the local rehearsal path. The default healthy path makes no generative-model API calls or model API charges, and it writes report.json plus an illustrated REPORT.md.
Qualify this workflow
Bring your version of this workflow and the record that proves its outcome. We'll map the deployment, verification, shadow run, and supervised rollout.