A lab value only enters the health record if someone orders the test. We prove that observational EHR data alone cannot separate a patient's biology from that care process, and we show what can.
Models trained on electronic health records learn from what was measured. But a measurement exists only because a clinician ordered it, and ordering depends on suspicion, local habits and hospital policy.
So every representation learned from the EHR mixes the patient with the care process. The paper asks whether observational data can undo that mixing, within one dataset or by comparing hospitals, and proves where the answer is no.
Two narrated explainers: the full argument, and a closer look at the information-decomposition result.
Two hospitals. Sepsis kills the same share of patients at both, so the biology is identical. Only the case mix differs, and the model's "septic" label is wrong for some patients. Move the sliders and watch a mortality gap appear between hospitals for patients the model treats alike. Then compare the two explanations in the table: they produce exactly the same observed data.
| Quantity | Model 1: different patients biology the same | Model 2: different care biology differs by site |
|---|
Model 2 is the paper's collapsing construction (Lemma 1): it treats the model's label as the true state and moves every site difference into the outcome mechanism. Green rows are everything the data can see. They match to every decimal place, so no amount of observational data can tell the two worlds apart.
If the model's errors are known, the case mix at each hospital follows from the data, and that bounds how large a gap shared biology can produce. This is the calculation in Section 4.4.
To split what a lab value says about an outcome from what the decision to order it says, you need the value for everyone. For untested patients it was never measured. Every way of filling it in below agrees with everything the hospital actually recorded. Watch what happens to the information split.
| Part (bits) | Completion A | Your completion |
|---|
Decomposition uses the Williams–Beer redundancy measure; the Bertschinger (BROJA) measure gives the same values at completions A and B (SI S3). The interval's upper end, 0.688 bits, is approached but not reached.
The usual alternative is to write a code for untested patients. Pick one. A code that cannot be mistaken for a real result turns the value into a record of the ordering decision, and the decomposition of ordering is then fixed in advance. A fill-in that looks like a real result just moves the ordering information into the fill-in rule.
Routine tests, such as a basic metabolic panel at every admission, have no ordering gate. If one of them measures the true state, it breaks the tie from Explore 1. Choose which world is secretly true, then turn the routine test on. This uses the hospitals you set up in Explore 1.
The routine test here measures the true state exactly (V = Z*), the strongest case. Proposition 5 shows that two imperfect routine tests with independent errors also work for binary physiology, as long as the case mix differs between sites. These results rest on assumptions about the assays, not on the data alone.
Four changes to how cross-site analyses of EHR models are run and reported.
A cross-site comparison tests shared biology and a site-stable representation together. Report it that way, not as proof of shared biology.
State the representation error rate you assume and the gap it can explain, as in Explore 1.
Where a test is drawn for everyone, use it as a reference standard to calibrate the model's errors.
Missingness indicators are useful predictors, but they cannot separate patient from process. Use interventional variation in who gets tested where you can.
Every number on this page is computed in your browser from the formulas in the paper and matches the accompanying scripts. No patient data are used.
@misc{shahin2026darkmatter,
title = {The Dark Matter of Clinical Data: An identification limit on
disentangling physiology from care process in electronic health records},
author = {Shahin, Mohammad and Chaisutyakorn, Krittaphas and Proios, Dimitrios and
Restrepo, David and Mishra, Vishala and Zhang, Boya and Sivaraman, Aadarsh and
Roy, Sparsh and Fit{\'e} Abril, Benet and Chen, Tina Yen-Ting and
Kwak, Hyunjung Gloria and Kurepa Waschka, Andre and Mathur, Vinayak and
Celi, Leo Anthony},
year = {2026},
note = {Preprint}
}