Hundreds of lab reports, one conversation
A decade of blood draws scattered across four patient portals. Starting the project to collect them all took one paragraph typed into a chat box.
Collecting every blood draw from ten years as a leukemia patient, scattered across ten health systems, into one dataset I own. The access fights, the parsing, the normalizing, and eventually the chart.
7 parts so far
A decade of blood draws scattered across four patient portals. Starting the project to collect them all took one paragraph typed into a chat box.
A decade of my blood work exists, scattered across ten health systems. I am going to collect all of it into one dataset I own. Part one: the plan.
Before extracting a single lab value, the project needed a census: who holds my blood work, from which years, and how each system expects me to get it back. The answer was about a dozen, and my inbox found them.
The census said twelve health systems. Opening the portals one by one, twelve became seven, the hardest paper chase evaporated, and the record turned out to start seven years earlier than I thought.
Epic will export your entire chart on request. The document it hands you first caps its results section at 200 entries, keeps the newest, drops the oldest, and says nothing about it.
Everything up to the download automates. The download does not. And the gap between what a browser reports and what is actually on disk is where a pipeline quietly starts lying to you.
The portal holds ten clonoSEQ results and every one of them is undetectable. The lab sent back the six earlier years, including one that went from 563 to 758,033. Both deliveries are complete, both are correct, and neither mentions that the other exists.