Skip to content
Bob Milius edited this page Nov 5, 2016 · 20 revisions

HL7 FHIR

Background material

There's a lot of information around FHIR, and if you aren't already familiar with HL7, it can be a bit intimidating to find your way around.

NMDP hosted FHIR Server

Example data

HML informing FHIR

  • This is a set of xml files and snippets of python3 code to POST resource instances to a FHIR server.
    • 00_Patient
      contains a simple example of an instance of a Patient resource. Also included are short examples of python3 code that sends the resource instance to http://fhirtest.b12x.org/baseDstu3/Patient. POSTing this to a FHIR server will return the URI endpoint of the resource instance. For example, the URI that is returned might look like<br > http://fhirtest.b12x.org/baseDstu3/Patient/27/_history/1<br> Keep track of the URI if you want to reuse the same Patient with another resource instance.

    • 01_Specimen
      example of an instance of Specimen resource, that represents a buccal swab from the Patient described above.

    • 02_SimpleTransactionBundle
      simple transaction

      A single transaction bundle that creates a Patient, a Specimen from that patient, a Sequence from that Specimen, and an Observation about a single HLA-A allele. Here are example resources that were created with this Transaction:
    • todo: A buccal smear collected on a swab (Specimen) is collected from a potential donor (Patient) and is sent to a HLA typing lab (Organization) and requests that HLA typing for HLA-A, HLA-B, and HLA-DBR1 (DiagnosticRequest). The lab does DNA sequencing for each locus (Sequence) and assigns allele names (Observation) and generates genotypes for each locus (Observation). These are aggregated into a single report (DiagnosticReport) and sent back to the requestor.

    • todo: (Use case summary from @npearson, as discussed with @bmilius, @jschneid_nmdp, @mmaiers-nmdp) Via a personally authorized onling proxy (e.g., Unum), an authenticated registry member (what HL7/FHIR calls 'Patient') requests her/his registry-held genomic and ancillary data (latter e.g., contact detail, use consent scope, etc.), in what HL7/FHIR likely calls a 'DiagnosticRequest'. Registry then returns requested data to proxy, who parses and interprets it (latter by first assessing which components of registry member's data such do or, if ambiguous (e.g., serotype versus high-resolution calls), do not suffice to answer each of a set of registry member-configured interpretive questions, and privately returns such interpretation, along with genomic and ancillary dta, to registry member. Registry member can then review interpreted data and ancillary metadata, and edit particular components of ancillary metadata (e.g., contact info), which latter get returned to registry and updated in registry member's record.

A possible FHIR strategy for reporting HLA genotyping

  • a DiagnosticReport contains a collection of Observations, each referring to a separate locus Diagnostic Report 1
  • One locus expanded to show how genotypes, alleles, and sequence are related for a particular locus DiagnosticRequest 2

DaSH

Clone this wiki locally