Why FHIR for genomics is harder than it sounds
The HL7 FHIR Genomics Implementation Guide defines a coherent set of profiles — but implementing them correctly requires fluency in both FHIR resource modeling and oncology knowledge representation. A variant isn't just an Observation; it's an Observation with specific LOINC codes, genomic coordinate components, transcript reference sequences, and the right links back to the parent DiagnosticReport.
Most labs end up either ignoring FHIR entirely (PDF-only delivery) or producing FHIR that fails strict validation. UNMIRI emits genomics bundles that pass the HL7 Genomics IG validator out of the box.
FHIR resources in the UNMIRI genomics bundle
| FHIR Resource | Profile | What it carries |
|---|---|---|
| DiagnosticReport | lab.genomics | The overall Actionable Insight — status, conclusion, linked observations |
| Observation (genetic-variant) | Genomics IG v2.0+ | Per-variant data: gene, HGVS, VAF, tier assignment |
| Observation (genomic-implication) | Genomics IG v2.0+ | Treatment recommendation linked to specific variants |
| Observation (tumor-marker-test) | Genomics IG v2.0+ | Biomarker results: TMB, MSI, PD-L1 |
| MolecularSequence | FHIR R4 core | Reference sequence, coordinate system, variant coordinates |
| ServiceRequest | FHIR R4 core | The original order that triggered NGS testing |
| Bundle (collection) | FHIR R4 core | All of the above wrapped for transport |
Ingestion: accepting FHIR inbound
Your LIMS can POST a FHIR genomics Bundle containing the raw variant observations and patient metadata. UNMIRI normalizes, enriches (with knowledge graph classifications), and returns an extended Bundle with additional Observations for genomic-implication (treatment recommendations) and linked trial matches.
We also accept VCF and structured PDF for labs whose LIMS doesn't emit FHIR natively — the ingestion layer normalizes all three into the same internal representation, and emits FHIR regardless of input format.
Why LOINC codes matter here
Downstream FHIR-capable systems — whether LIMS, EHR, or research data warehouse — discover meaning through coded values, not freetext. A DiagnosticReport with the LOINC code 51969-4(“Genetic analysis report”) is machine-routable. A DiagnosticReport with a custom local code is not. Every Observation UNMIRI emits uses the LOINC codes specified in the Genomics IG, plus secondary coding (SNOMED CT where relevant) for maximum downstream utility.
Integration pattern
The typical LIMS integration uses FHIR as the machine-to-machine format and PDF as the human-readable delivery. Both are produced from the same structured graph output, so they never disagree — an audit concern for CAP/CLIA labs where inconsistency between electronic and paper records is a finding.
Full integration guidance on the LIMS integration page. Our rationale for graph-based reasoning (which is what makes the FHIR output semantically consistent) is in Why Vector RAG Fails for Oncology. Compliance context on the security page.
How UNMIRI actually does this
Incoming FHIR Bundles are normalized into UNMIRI's internal variant representation, queried against a knowledge graph built on OncoKB, ClinVar, ClinicalTrials.gov, and openFDA, and then re-emitted as FHIR R4 genomics-profile-conformant Observations and DiagnosticReport resources — rendered deterministically, not LLM-generated. More on the architecture.