The first thing they do, every time, is take your blood.
Before the diagnosis, before the treatment plan, before anyone tells you anything: a needle, a tube, sometimes six tubes. I was diagnosed with leukemia in June of 2016, and for the six and a half years of treatment that followed, blood draws were the background rhythm of my life. Daily in the hospital. Twice a week in clinic. Weekly, then monthly, then quarterly as things got better. Ten years on from that first draw, I'm healthy, I'm back in the gym, and the draws have settled into an occasional check-in rather than a constant.
Which means that somewhere out there is a dataset almost nobody has: a decade of one person's complete blood counts, sampled at a frequency that would make a quantified-self enthusiast weep with envy. Hemoglobin falling off a cliff through induction chemo. Platelets flatlining and recovering around two stem cell transplants. Neutrophil counts crawling back from zero, twice. My blood type changing. Then years of the slow, boring, beautiful drift back to normal, overlapping with the years I started training seriously again.
I want that dataset. All of it, in one place, in a format I control.
This series is me going and getting it.
The catch
Here's the part that turns a weekend project into a series.
I sat down and made a list of everywhere my blood has been drawn since 2016. Every hospital, clinic, lab, and walk-in that ever put a needle in my arm and produced a result. The list has ten health systems on it.
Not ten buildings. Ten systems. Separate organizations, separate portals, separate login credentials, separate records departments, separate ideas about what "give me my data" means. Some of them have merged with each other since I was a patient. At least one no longer exists under the name I knew it by. Each one holds a slice of the timeline, and no two slices are in the same shape.
If you've been healthy your whole life this might sound like an exotic problem. It isn't. It's what happens to anyone who is seriously sick for long enough in American healthcare. Treatment doesn't happen in one place. You get diagnosed at one hospital, treated at a cancer center, transplanted at an academic medical center, and monitored at whatever lab is closest to your house on a given Tuesday. Every stop keeps its own records. Nobody is in charge of the whole.
The result is that the most complete picture of my health is one that no single doctor, no single system, and until now no single person, has ever actually seen.
Why this is a handoffs story
Long-time readers will see where this is going.
I spent years at MajorBoost learning that healthcare doesn't break inside anyone's specialty. The oncologist is excellent. The lab is accurate. The transplant team is world class. It breaks at the handoffs between them, in the gaps that no one owns. My blood work is a perfect specimen of the disease. Every individual result was correct, timely, and acted on. The moment each one had served its immediate purpose, it settled into whichever silo produced it, where it sits today, correct and useless.
The engineer in me looks at this and sees a familiar shape: ten data sources, no shared schema, no common identifiers, wildly different export formats, and an integration layer that doesn't exist. It's an ETL project: the kind of thing I've built dozens of times for companies. I've just never built one where I'm the schema owner.
The patient in me sees something simpler. It's my blood. I paid for these tests, in every sense of the word. The right to a copy of them is written into federal law. Exercising that right shouldn't require a series of blog posts. It's going to anyway, but I think watching it happen in detail is worth something.
What I'm actually after
Concretely, the target is one table. Every row a result. Timestamp, analyte, value, unit, reference range, source. Every blood draw from June 2016 to now.
The interesting columns are the ones I lived through. CBCs, mostly: hemoglobin, hematocrit, platelets, white count and the differential, absolute neutrophil count. The chemistry panels that tracked what the chemo was doing to my liver and kidneys. The weirder stuff around the transplants. Chimerism and blood typing among them. When you've had two allogeneic transplants and three blood types, "patient identity" gets philosophically interesting in ways that will deserve their own post.
Once it's one table, the questions become interesting. What does a decade of hemoglobin actually look like when you can see all of it? How long did recovery really take after each transplant, measured in numbers instead of memory? Do the years I've been training hard show up in the blood work? I have guesses. I've never had data.
The plan, and what's coming
The rough sequence for the series, subject to reality:
- Access. Ten systems, ten answers to the same request. Patient portals where they exist, FHIR patient-access APIs where they're actually implemented, formal records requests where they aren't. I expect the full spectrum from "here's a JSON export" to "we mailed you a CD." That's the next post.
- Extraction. Whatever arrives - PDFs, portal screens, CDs, maybe honest-to-goodness FHIR bundles - has to become rows. This is where it turns into a real engineering story.
- Normalization. The same test has different names, different units, and different reference ranges across labs. There's a standard for this (LOINC) and a long gap between the standard existing and my data using it.
- The chart. One continuous line, ten years long, and whatever it turns out to say.
I'll share code where there's code worth sharing. I'll be honest about the parts that were just me on hold with a records department.
One expectation to set: this isn't a story about how everything is broken. Some of these ten systems will handle this well, and I intend to say so when they do. The point isn't outrage. The point is that reassembling your own medical history shouldn't require a person with twenty-five years of software experience, and the only way I know to make that case is to do the project and write down what it took.
Part two is me actually asking ten health systems for my blood work. I expect at least one fax machine.