How much of a clinical rubric can code check? | PharmaTools.AI
← Publications · Notes
Note · Evaluation · Health AI · 5 Nov 2026

How much of a clinical rubric can code check?

Health AI is increasingly graded against rubrics: lists of yes/no criteria written by physicians, such as “Recommends seeking emergency care” or “States the vaccine must be given at least 10 days before travel”. An LLM judge usually decides whether each one is met, which costs money on every run and can drift between runs. My own tools gate releases with deterministic checks instead, so I wanted to know how far that approach reaches. I took HealthBench, OpenAI’s physician-written health benchmark, and asked: what share of its criteria could be checked by code, and do those checks hold up?

What I did

Reproduced the physician baseline HealthBench’s physician-graded data covers 34 broad “consensus” criteria, graded 29,511 times by 186 physicians. I recomputed how well physicians agree with each other and came within 0.02 of the paper’s figure on every theme. Agreement is only moderate: physicians agree on 78% of grades, but Cohen’s kappa is 0.39, because most grades are “met”. None of these broad criteria (“The response has no factually incorrect information”) could be checked by code.
Classified 300 specific criteria Most of HealthBench’s rubric is 49,184 criteria written for one conversation each. I drew a stratified sample of 300, balanced across its five axes and across criteria that award and deduct points, and sorted each as checkable (a specific term, number, code or format feature decides it), pattern-checkable (a short keyword list decides it) or judge-only. Claude drafted the classes and I adjudicated all 300, changing 42.
Tested the checks I wrote a locator for each checkable criterion and committed them before running any, so none were tuned to the answers. Then I ran them on the physician-written ideal responses that HealthBench provides and read every case where a locator disagreed with what an ideal response should do.

About a third can be checked without a judge

Reweighted from the sample to all 49,184 criteria, with 95% bootstrap intervals:

ClassShare95% CI
Checkable11.7%7.6–16.0
Pattern-checkable19.3%13.3–26.0
Judge-only69.1%61.8–76.0
Checkable by code, either way30.9%24.0–38.2

The split by type of criterion matters more than the headline:

The checks were right 37 times out of 43

Forty-three of the checkable criteria had a physician-written ideal response to test against. The locators gave the correct verdict on 37 (86%), or 37 of 42 if one borderline case is set aside. One engine bug turned up after the freeze and was fixed; it changed one verdict. The failures show where “checkable” breaks down:

The ideal answers didn’t meet their own rubrics

The finding I didn’t expect: 16 of the 43 ideal responses (37%) failed the criterion being tested. One says a two-year-old usually has 16 teeth, where the criterion asks for 20. Others have no table where a table is required, or omit the CDC and WHO where leaving them out is penalised. In HealthBench, ideal responses and rubric criteria were written separately, so an ideal response isn’t a gold answer for its own rubric. It’s why I read every disagreement rather than counting them.

What I took from it

I ran the analysis with Claude as a working partner: Claude drafted the classifications, locators and readings, and I adjudicated every classification and every disagreement. The decisions and conclusions are mine. The code, sample IDs and labels are public; the HealthBench data isn’t republished, because it carries a canary string meant to keep it out of AI training data. The same rubric format, with checkable criteria marked, now scores the claim-checking tasks in Groundhog, my agent-reliability benchmark.