Evidence · The 2026 synthetic proof of concept
A result built so it could
only mean one thing.
In 2026, PRISM's method was put to a decisive test: one fabricated condition, injected into a manufactured world of 25,000 synthetic patients, under rules that made a positive result attributable to the method and nothing else. This page holds the complete result — the setup, every number, every miss explained — and, just as prominently, what none of it proves.
Can the training method steer the ensemble to surface the screening TEST earlier in a patient's timeline than it appeared in the training data, learned purely from the utilization pattern that precedes it?
The prototype's one question, verbatim. Every clause is load-bearing: "the ensemble" means five independently trained models whose agreement — never any single output — is the signal; "surface" means the test code appears in a forced continuation, not a prediction; and "earlier" is measured by exactly one device, explained below.
The honest wager
One claim was tested. One, deliberately, was not.
Inside the experiment
Can the machinery — disjoint pools, two training rounds, forced continuation, cross-pool consensus — learn a precursor pattern and act on it at all? If the method failed even here, on a signal isolated by construction, there would be nothing worth taking to real data. This is what the prototype tested, and answered.
Outside the experiment
That some real conditions leave precursor patterns in claims data conceptually like the fabricated one — utilization phenotypes a model could learn from billing histories without anyone ever naming them. The prototype neither tests this wager nor could. Because it succeeded, the wager is worth placing — on real claims data, in the next phase.
The instrument
A condition that cannot exist,
so the signal cannot be confused.
The manufactured condition is Primary Veladrin Excess (PVE) — a disease that does not exist, invented so that detecting it can mean only one thing. It sounds plausible and that is as far as the fiction goes: it has no clinical mechanism, deliberately, and encodes no claim that any actual disease behaves this way. It exists only as rows — a pattern of billing events laid over randomly chosen synthetic patients.
Every PVE code is fabricated to sit outside all real codesets: diagnosis codes with letter-bearing suffixes no real ICD-10-CM code uses (E27.A5, R42.X3), CPT numbers drawn from unused ranges (82197, 90981), an invented medication. None appears in any base patient. The consequence is operational: whether a model surfaced the screening test — CPT-82197 — is a string match. A grep, not a judgment call.
The artificiality is the point. Real claims data would leave a positive result open to endless alternative explanations — the models keyed on age, on comorbidity, on one insurer's coding habits. The prototype's construction discipline exists so that the only thing in any patient's record that can predict the TEST is the injected pattern itself.
Contamination was closed off in three directions
Code
The risk: a phenotype code also appears in ordinary histories, making a fired TEST ambiguous.
The enforcement: every PVE code is fabricated outside all real codesets, and verified absent from every base patient at injection time.
Selection
The risk: carriers share a base-history trait, so models learn the trait instead of the pattern.
The enforcement: carriers chosen uniformly at random — no preference for sicker, older, or conveniently comorbid patients.
Placement
The risk: the TEST's position or the lead-up's spacing correlates with something in the host timeline.
The enforcement: placement randomized within a few structural bounds, decorrelated from the host patient.
The cautionary tale — told on purpose
The first build broke the selection rule deliberately: nobody knew yet whether the method could work at all, so carriers were preferentially drawn from patients who already had hypertension — an intentional leg-up. The consequences were quiet and total. The carrier cohort came out 100% hypertensive and broadly sicker and older; models appeared to work, but they also fired on background patients who merely resembled carriers, because what they had actually learned was "sick hypertensive patient → TEST" — the selection correlate, not the injected pattern. The fix was not a patch: the entire phenotype layer was regenerated from scratch with uniform random selection, and the models retrained. The moral: a shortcut that helps the experiment and a confound that fakes its success are the same object; you only find out which you built after it is too late to matter.
The setup, as run
Five worlds, five models, one grid.
Four kinds of example — and what a fire on each one measures
GOOD · 250
The prompt holds the SIGNAL lead-up of a caught-in-time arc. A fire measures sensitivity.
BAD · 750
SIGNAL plus accrued damage, cut shortly before the late TEST. A fire measures sensitivity.
FAKE · 750
Not a patient — the same BAD history cut roughly twenty rows earlier, before the TEST ever occurred. A fire measures earliness: surfacing the screening before the data did.
NOPE · 1,500
An ordinary history with a bare TEST that nothing in the record legitimately predicts. A fire is a false positive — the specificity control.
How a fire is read. Every request bans the end-of-sequence token: the model must keep writing — ten or more complete table rows — whether or not it has anything to say. A model allowed to stop would be readable as predicting "no need," and PRISM is a recall instrument, never a predictor. A model has fired if the string CPT-82197 appears anywhere in its continuation — no classifier, no threshold, no human reviewer. The read is binary, fired or silent, and a silence is stored as exactly that — never as a negative finding.
The batch runner is content-blind: nothing in the execution path knows what a fire means, which batch is the control, or which outcome would be convenient. It runs, it records, and the numbers are whatever they are.
The verdict, in one breath
On the controlled synthetic world,
the method works — decisively.
Five independently trained models, each shown patients it never trained on, surface the screening TEST when — and only when — the injected precursor pattern is present; they surface it earlier than the training timeline did; and they agree with each other when they do. Strip the injected rows back out and they fall silent — the exact win-condition the experiment named in advance.
Before you quote these
Every rate on this page was measured on synthetic, deliberately clean data with an isolated signal — an upper bound demonstrating the method, not a forecast of real-world performance. The canon's own instruction is that no number from the prototype be quoted without its limits attached; this page honors that at the bottom, in full.
Result 1 · The full-population grid
Firing by kind — judged only by models
that never saw the patient.
Out-of-distribution firing rate by example kind
Share of forced continuations containing the TEST, counting only the four models per patient that never trained on it. Full-population grid: 3,250 examples × 5 models. Synthetic data — an upper bound, not a forecast.
View the full grid as a table (including the in-distribution contrast)
| kind | patients | OOD fire% | IN fire% | avg fire row |
|---|---|---|---|---|
| GOOD | 250 | 100.0 | 100.0 | 1.10 |
| BAD | 750 | 99.8 | 100.0 | 1.11 |
| FAKE | 750 | 90.0 | 95.0 | 1.24 |
| NOPE | 1,500 | 1.5 | 0.7 | 5.24 |
Three readings, in order of importance. First, the out-of-distribution rates track the in-distribution ones across the board — the pattern transfers between pools as a real, learnable pattern, not a memorized cohort. That is the core claim of the whole experiment. Second, the rare NOPE fires land late in the continuation (average row ~5.24, versus ~row 1 for true fires) — the signature of drift during forced generation, not confident recognition. Third, FAKE's gap from 100% is almost entirely a construction artifact, explained row by row below.
Result 2 · Consensus — the actual signal
Individual models are noisy by design.
Voting is what removes the noise.
What every GOOD carrier's vote looked like
250 of 250 GOOD carriers drew this exact unanimous vote — all five models, every early-caught patient.
False positives on the NOPE controls, by decision rule
Chart axis runs 0–1.5% to make the collapse visible. Rates measured on 1,500 synthetic no-signal controls; consensus is reported as a flag ("N of 5 surfaced this"), never as a probability of need.
View the decision-rule and per-patient consensus tables
| decision rule | NOPE false-positive rate |
|---|---|
| any single model | ~1.4% |
| ≥ 4 of 5 agree | 0.13% (2 / 1,500) |
| all 5 agree | 0.07% (1 / 1,500) |
| kind | unanimous fire (5/5) | unanimous silent (0/5) | notable |
|---|---|---|---|
| GOOD | 250 / 250 | 0 | every early-caught patient, all five models |
| BAD | 744 / 750 | 1 | 5 split; the one silence is a cut artifact |
| FAKE | 656 / 750 | 63 | the 63 silences are zero-precursor FAKEs — correct |
| NOPE | — | 1,425 / 1,500 | exactly one NOPE patient reached 5/5 |
The single design choice that mattered most — voting across independently trained models — is exactly what crushes the false positives. Out of 1,500 controls built so that nothing in the record could predict the TEST, precisely one drew a unanimous vote.
Results 3–5 · The ablations
Move one variable. Watch the result follow it.
The headline numbers rest on re-running the same grid with one variable moved at a time — steering off, signal stripped, signal rationed — all executed identically by a runner blind to which batch was which.
Steering off: the base models almost never fire
Is the firing the base models' fluency, or the trained steering? Replaying the same sample of prompts with the steering adapter disabled answers it: unsteered, the models fired 7 times in 1,200 runs — essentially never. Everything in the results above is attributable to the steering round, not to base-model behavior.
Firing rate with the steering adapter on vs. off
Same prompts, replayed as a comparison batch — its rates differ slightly from the full grid because it is a different sample.
View the adapter comparison as a table
| kind | adapter ON | adapter OFF |
|---|---|---|
| GOOD | 100% | 0.3% |
| BAD | 99.7% | 1.3% |
| FAKE | 94% | 0.7% |
| NOPE | 1.0% | 0.0% |
Strip the signal: the models fall silent
The experiment's stated win-condition had a mirror: if the models learned the injected pattern and nothing else, then removing the injected rows from a carrier's history — leaving an ordinary background timeline — must return them to silence. Even for a model shown a patient it literally trained on.
Firing rate on the same patients, as-is vs. with the injected rows stripped
A 180-patient sample — directional, not the robust full-grid result. Synthetic data, upper bound.
View the strip ablation as a table
| kind | as-is fire% | stripped fire% | drop |
|---|---|---|---|
| GOOD (IN) | 100.0 | 0.0 | −100.0 |
| GOOD (OOD) | 100.0 | 1.7 | −98.3 |
| BAD (OOD) | 99.6 | 0.8 | −98.8 |
| FAKE (OOD) | 93.8 | 1.7 | −92.1 |
The first row is the punchline. In-distribution GOOD — the model shown a patient it trained on, minus the signal — fired 0 of 60. A model that had memorized its patients would recognize them anyway; it cannot, because it learned the pattern, not the patient.
See it — a real GOOD carrier from the prototype (patient 21752, pool 5)
| PERSON | WHEN | WHERE | WHO | WHAT | WHY | |
|---|---|---|---|---|---|---|
| SIGNAL | 34 female | 2025-01-06 | POS-81: Independent Laboratory | NUCC-291U00000X: Clinical Medical Laboratory | CPT-83541: 24-hour urine mineral-excretion panel | ICD-E87.A3: Recurrent electrolyte mineral derangement; |
| 34 female | 2025-01-06 | POS-11: Office | NUCC-208D00000X: General Practice | CPT-99213: Office or other outpatient visit… | ICD-M54.50: Low back pain, unspecified; | |
| 34 female | 2025-01-10 | POS-11: Office | NUCC-111N00000X: Chiropractor | CPT-98941: Chiropractic manipulative treatment (CMT); spinal, 3-4 regions | ICD-M54.50: Low back pain, unspecified; | |
| SIGNAL | 34 female | 2025-01-12 | POS-11: Office | NUCC-207V00000X: Obstetrics & Gynecology | CPT-83543: Gynecologic mineral-axis evaluation | ICD-N94.A1: Female pelvic mineral-axis symptom; |
| … | … | … | … | … | … | |
| SIGNAL | 34 female | 2025-02-15 | POS-01: Pharmacy | NUCC-333600000X: Pharmacy | ATC-C03AZ08-211584: hydralozide 25 MG Oral Tablet [#30 DS:30] | ICD-R03.A1: Resistant blood pressure elevation on multiple agents; |
| 34 female | 2025-02-17 | POS-11: Office | NUCC-111N00000X: Chiropractor | CPT-98940: Chiropractic manipulative treatment (CMT); spinal, 1-2 regions | ICD-M54.50: Low back pain, unspecified; | |
| … | … | … | … | … | … | |
| 34 female | 2025-05-20 | POS-11: Office | NUCC-207Q00000X: Family Medicine | CPT-80061: Lipid panel… | ICD-E78.00: Pure hypercholesterolemia, unspecified; | |
| SIGNAL | 34 female | 2025-05-30 | POS-11: Office | NUCC-207RC0000X: Internal Medicine, Cardiovascular Disease | CPT-93785: Extended ambulatory blood-pressure monitoring | ICD-R03.A1: Resistant blood pressure elevation on multiple agents; |
| 34 female | 2025-06-03 | POS-01: Pharmacy | NUCC-333600000X: Pharmacy | ATC-M01AE02-206165: Naproxen 500 MG Oral Tablet [#30 DS:30] | ICD-M54.50: Low back pain, unspecified; | |
| the ensemble continues the table — | ||||||
| TEST | 34 female | 2025-06-06 | POS-81: Independent Laboratory | NUCC-291U00000X: Clinical Medical Laboratory | CPT-82197: Serum veladrin / regulatory-mineral ratio, quantitative | ICD-E27.A4: Suspected mineralocorticoid-axis dysregulation; |
| no fire — CPT-82197 appears nowhere in the continuation; the silence is stored as exactly that, never as a negative finding | ||||||
Authentic rows from the prototype database, condensed with … gaps. The fired row shown is the carrier's own TEST row from the database — what a fire contains; each model's actual emitted rows vary, but all five continuations contained CPT-82197, which is the entire measured read. The condition, its codes, and this patient are synthetic by design. The SIGNAL/TEST marks are annotations for you, the reader — no model ever sees them, in training or at inference.
5 of 5 — every model's continuation contained the TEST. All 250 GOOD carriers — this one included — drew exactly this unanimous vote in the full run.
0 of 5 — with the injected rows gone, the prompt is ordinary background. In the measured ablation, in-distribution GOOD firing fell from 100.0% to 0 of 60, and out-of-distribution kinds fell to roughly 1–2%.
This toggle re-enacts the measured strip ablation on one worked carrier, for illustration. The ablation itself ran on a 180-patient sample and is directional; the full-population grid above is the robust result.
Dose-response: one row is a switch
How much of the precursor cascade does a model actually need? Holding a GOOD patient's background fixed and rationing how many of its SIGNAL rows the prompt keeps:
Firing rate by number of SIGNAL rows left in the prompt
A 50-patient sample — directional, not the robust full-grid result. Synthetic data, upper bound.
View the dose-response as a table
| signal rows in prompt | fire% | avg fire row |
|---|---|---|
| 0 (background only) | 1.6 | — |
| 1 | 90.8 | 1.83 |
| 2 | 98.8 | 1.33 |
| 3 | 100.0 | 1.14 |
| all | 100.0 | 1.06 |
Firing is a switch on presence, not a dose ramp: going from zero rows to one takes the rate from ~2% to ~91%. Additional rows do not change whether the ensemble fires; they sharpen how confidently — the fire moves toward row 1, and consensus tightens (at a single row, 37 of 50 patients are already unanimous 5-of-5). The implication for messy real data is the most encouraging shape this result could have taken: the mechanism degrades gracefully, surviving the loss of nearly the entire precursor cascade so long as one recognizable event remains in the history.
Result 6 · No unexplained failures
Every miss, explained mechanically.
One rule holds across the entire dataset: a steered model fires if and only if the prompt contains at least one precursor row. Every apparent miss traces to the prompt window containing no precursor — never to a model failing to recognize one that was there.
The 63 silent FAKEs
The FAKE construction cuts a BAD history roughly 30 rows before its TEST — and for these 63 of 750, the cut lands before any SIGNAL or IMPACT exists. The prompt is already pure background, and the ensemble's unanimous silence on it is correct behavior scored against a label with no signal in it. Conditioned on a precursor actually being present, FAKE sensitivity is ~98–100% — in line with GOOD and BAD.
The one silent BAD
The same mechanism from the other side: this carrier has a full precursor set — six SIGNAL and two IMPACT rows — but the BAD cut placed every one of them beyond the prompt boundary, leaving a signal-free prompt. All five models were correctly silent.
The rare NOPE fires
About 1.4% of single-model runs on the no-signal controls fired — and those fires land late in the continuation (average row ~5, versus row 1 for true fires): drift during forced generation, not confident recognition. Consensus is what filters them, down to 1 patient in 1,500 at unanimity.
fire ⟺ steered AND ≥ 1 precursor row in the prompt
There are no unexplained failures on either side of that rule. This is also why silence can never be read as a judgment about a patient: the experiment measured that misses are missing input, not a low-risk read — which makes denial-by-silence statistically indefensible, not merely disallowed. More on that posture →
The frame behind the numbers
Where's the hold-out set? There isn't one — by design.
PRISM never sets aside a test set, and never will. Each example trains exactly one pool's model; the other four models trained on disjoint populations — generated by different upstream models on purpose — so to those four, the patient is out-of-distribution in the fullest sense: not merely unseen, but from a world with different generation habits. Every example is simultaneously training material for its own pool and evaluation material for the other four. Nothing is held out, because everything is held out — from four-fifths of the ensemble, at all times.
Only those four out-of-distribution models count as evidence; the in-distribution model's behavior is reported for contrast, not credit. In the results above the two tracked each other closely — the strongest available sign the pattern was learned rather than memorized — and the strip ablation, where even the in-distribution model fell silent on its own training patients once the injected rows were removed, closed the case.
Two corollaries the design insists on. "Earlier" is operationalized through exactly one construction — FAKE, a BAD history cut roughly twenty rows earlier than the BAD prompt — and the read stays binary: did the TEST code appear. A graded lead-time metric is deliberately banned; it would import assumptions the data cannot support. And per-model precision is never a verdict: consensus is the unit of evidence, because any single model is expected to be noisy. The full list of intuitions not to import →
Read before quoting any number
What this does not prove.
Honest limits
The data is synthetic and deliberately clean. The signal is isolated by construction — that is the whole point, because it makes a positive result attributable to the method and nothing else — but it also means every rate on this page is an upper bound, not a forecast of real-world performance.
It proves the method works given an analogous precursor pattern. It does not establish that real conditions leave such patterns in claims data, or how strong and learnable they are. That is the explicit leap of faith the experiment was always honest about — the wager named at the top of this page.
The sub-analyses are directional. Dose-response ran on 50 patients and the strip ablation on 180; the full-population grid — 3,250 examples, 16,250 runs — is the robust result.
Single-model behavior is noisy by design. Only the cross-pool consensus counts as evidence, here and everywhere in PRISM.
The project's own documentation instructs that no number from the prototype be quoted without this section attached. Treat this page the same way.
What would prove more
Real claims data: primary and secondary training per pool, then retrospective evaluation — truncate a real patient's history at a past date and ask whether the ensemble would have fired. A patient whose condition was caught in 2023 becomes the question: would it have fired in 2021? The prototype did not run this — its stand-in was FAKE, the same idea executed inside a synthetic world. Retrospective truncation on real claims is the design for the phase ahead, not a demonstrated result.
What carries forward
The frame itself: disjoint pools, forced continuation, the binary read, cross-pool consensus, and evaluation built into the architecture rather than bolted on. The prototype's deliberately clean data makes its rates an upper bound; what carries forward to real data is the frame, not the numbers.
Keep going
Interrogate it from your side.
Still not convinced?
Good — the prototype was built so that doubt has specific places to land. Signal isolation, the no-holdout rationale, and the unproven leaps, addressed head-on.
The skeptic's view →Want the methods?
The format, the two training rounds, the rank-vs-emit surprise, and evaluation without a hold-out — stated plainly, with the guardrails.
The researcher's view →Need the mechanism first?
How a six-column table, a continuation, and five independent votes become a screening suggestion — end to end.
How it works →