← All work
Clinical decision supportIn daily useHealthcare AI

OnePA Doc Alert

An always-on review companion for live prior-authorization cases. v1 through v6.2, 20+ releases.

A decision-support companion that attaches to a live case-review platform, reads the case in front of the pharmacist, looks the governing rule up in roughly 100,000 rows of criteria workbooks in seconds, walks the question logic, and renders a color-coded verdict - while showing which signal triggered it so the reviewer can sanity-check the answer rather than trust it.

Built inside a Fortune 20 health company and actively deployed, so it cannot be publicly demonstrated. De-identified throughout; no client data leaves the environment.

At a glance

v1 through v6.2, 20+ releases, in daily use by a ~60-pharmacist utilization-management team
~100,000 rows of criteria workbooks, indexed and resolved in seconds
Attaches to the live platform via Playwright over the Chrome DevTools Protocol
Nine distinct verdict states, each showing the signal that triggered it
Documentation classifier that distinguishes a real ask from boilerplate
Packaged with PyInstaller; SOP, user guide and team training written and delivered by me

The problem

A prior-authorization reviewer opens a case and has to answer one question quickly: what does policy actually require here? The answer lives in Excel criteria workbooks running to about 100,000 rows, spread across therapeutic areas, with conditional question logic layered on top. Looking it up by hand is slow, and being slow is expensive when you are measured on turnaround time against a quality standard.

What it does

The tool attaches to the running case system through Playwright over the Chrome DevTools Protocol and reads the product rule, case description and medical markers directly off the live page. It indexes the criteria workbooks, resolves the governing rule, walks the conditional question logic, and renders one of several color-coded verdicts: attestation-only, standard review, documentation required, full review with copy-to-clipboard note templates, a separate routing path for a second line of business, quantity-limit, no guidance, or a medical and program-enrollment indicator. A dedicated classifier separates a genuine documentation request from boilerplate language that only looks like one.

The design decision that matters

It shows its work. Every verdict surfaces the signal that triggered it, so the reviewer can check the reasoning instead of taking the output on faith. That is the difference between a tool clinicians adopt and one they quietly stop opening - and it is the same principle behind every AI system I build. The pharmacist remains the decision-maker; the tool removes the lookup, not the judgment.

Shipping it, not just building it

Twenty-plus releases across six major versions, packaged with PyInstaller and distributed from a team SharePoint library - pharmacists download each release, with first-run self-setup and no auto-sync dependency. I wrote the rollout email, installation guide, user guide, banner reference and SOP, and delivered the team training myself. Reviewer feedback came straight into the backlog and regressions were fixed from those reports within days. Code-quality sweeps with pyflakes and vulture; changelog kept in the file.

Built with

PythonPlaywrightChrome DevTools ProtocolopenpyxlPyInstallerSharePoint

Next case study

PAHub Helper →

Three tools in one desktop app: DecisionFlow, QPath and PathLogic Mapper.


Have something that should be automated?

Tell me the rough shape of the problem. I will tell you honestly whether it is worth building — and if it is not, I will say so.