A physician ordering a 500-gene panel expects the result to behave like every other lab value in Epic: discrete, filterable, plottable over time. Instead it arrives as a nine-page PDF dropped into the chart, because the interpretation platform that generated it and the EHR that displays it were never designed to agree on what a variant actually is.
The gap isn’t a FHIR problem, though vendors will sell you that story. HL7’s genomics reporting profiles exist. Epic’s Genomics module exists. The gap is operational: someone has to map every field the interpretation platform emits to a discrete Beaker component, decide what happens when the vendor’s variant nomenclature changes between panel versions, and own the reconciliation when a reflex test updates a call that already posted to the chart.
That’s the work nobody puts in the RFP. Vendor selection documents compare turnaround time and CAP/CLIA validation studies. They rarely ask what the discrete data mapping looks like at go-live, or who maintains it once the vendor’s annotation database updates. I’ve watched vendor migrations slip by months over exactly this, not the wet lab or the bioinformatics pipeline, but the last hundred feet between a JSON variant call and a queryable field a clinician can trend.
If you’re standing up genomic results in Epic, or evaluating a vendor that claims to already be “integrated,” ask for three things before you sign: a sample message showing what actually posts as discrete data versus PDF-only, the mapping table between their variant classification and your flowsheet rows, and a documented process for what happens to already-posted results when a variant gets reclassified. If the vendor can’t produce the third one, budget for building it yourself, because six months post-launch a reclassification will hit and someone will ask why the chart still shows a VUS that’s now pathogenic.
That’s the seam. It’s unglamorous, it’s rarely staffed correctly, and it’s where most clinical genomics programs actually stall.