Stream: implementers
Topic: ORU HL7 messages and FHIR resource mappings
Santosh Jami (Sep 11 2017 at 21:09):
I am getting HL7 ORU messages from the Lab System. I need to persist them in FHIR DB.
This ORU has 3 OBR's in it (2 Lab Tests - OBR4.1 is different for both of them, 1 pdf report).
Here is the HL7 message for reference (no PHI):
MSH|XXX
PID|XXX
ORC|RE|0165993|WD046960A^QUEST_TME||CM|||||||
OBR|1|0165993|WD046960A^QUEST_TME|8472^HEP C AB W/REFL HCV^99QDI|||20170131105900.000-0800|||||
OBX|1|ST|55071600^HEPATITIS C ANTIBODY^99QDI^13955-0^HCV Ab SerPl Ql EIA^LN|1|REACTIVE||NON-REACTIVE|A|||F|||
OBX|2|NM|55071705^SIGNAL TO CUT-OFF^99QDI^48159-8^HCV Ab s/co SerPl EIA^LN|1|10.00||<1.00|H|||F||
NTE|2|L|Following CDC recommendations the patient's HCV Antibody Reactive sample will be tested
ORC|RE|0165993|WD046960A^QUEST_TME||CM||||||
OBR|2|0165993|WD046960A^QUEST_TME|%35645^HCV RNA, QN PCR^99QDI|||20170131105900.000-0800||||G||
OBX|1|NM|55194255^HCV RNA, QUANTITATIVE REAL TIME PCR^99QDI^11011-4^HCV RNA SerPl PCR-aCnc^LN|1|15|IU/mL^^99QDI|<15|H|||F||
OBX|2|NM|55194265^HCV RNA, QUANTITATIVE REAL TIME PCR^99QDI^38180-6^HCV RNA SerPl PCR-Log IU^LN|1|1.18|Log IU/mL^Log IU/mL^99QDI|<1.18|H|||F||
NTE|2|L|Please note: Patients with circulating anti-HCV should be considered to have an active HCV
ORC|RE|0165993|WD046960A^QUEST_TME||CM|||||
OBR|3|0165993|WD046960A^QUEST_TME|EnhancedPDFReport1^Enhanced PDF Report WD046960A-1^99QDI|||20170131105900.000-0800||
OBX|1|ED|EnhancedPDFReport1^Enhanced PDF Report WD046960A-1^99QDI||TME^IM^^Base64^JVBERi0xLjUKJJVBERi0xLjUKJDgregh
I need to map this to FHIR resource and persist to DB.
1) Should I create 2 diagnosticreports and 1 binary resource to persist this data?
And the first Diagnostic Report will have 1 Observation. That Observation will have 2 Components (Component Results / LOINC codes)
2) Or Should it have 1 DiagnosticReport and 2 Observations?
3) How do I tie the DiagnosticReports to the Binary resource? Best way to reference them?
The Placer Order number - (ORC / OBR 2)/ Filler order number (ORC / OBR3) is the same for all the OBR's.
4) Is this entire approach the right one or any other preferred way of storing ORU HL7 data as per FHIR resources / models?
Could not shorten the question :(
Thanks
Santosh Jami
Eric Haas (Sep 11 2017 at 21:43):
check out the v2 mappings for Observation and DiagnosticReport. us the mapping tab on the formal definition. Also best to report thiehits on the 'v2 to FHIR' stream
Santosh Jami (Sep 11 2017 at 21:46):
Sure @Eric Haas I did review the v2 mappings.
Regarding the item 3) How do I tie the DiagnosticReports to the Binary resource? Best way to reference them?
How do you reference the Binary to the DiagnosticReport? Should I store them in a single Bundle?
Eric Haas (Sep 11 2017 at 21:48):
result.observation.valueAttachment
Eric Haas (Sep 11 2017 at 21:48):
check out the Attachment datatype
Santosh Jami (Sep 11 2017 at 22:16):
result.observation.valueAttachment
Thaks. That works for me. Will post related conversations to 'v2 to FHIR' stream
Venkat.J (Sep 12 2017 at 09:50):
Hi,
While reading ORU_R30 message , getting segments NTE,ORC .To which FHIR Resource they should be mapped ?
Santosh Jami (Sep 15 2017 at 03:02):
Hi @Venkat.J - The notes (NTE) for the Observation will be mapped to Observation.Comments. ORC will usually be mapped to DiagnosticReport.Request. You can review these following mappings for reference: http://hl7.org/fhir/DSTU2/observation-mappings.html#v2, http://hl7.org/fhir/DSTU2/diagnosticreport-mappings.html
Venkat.J (Sep 15 2017 at 06:19):
Hi @Venkat.J - The notes (NTE) for the Observation will be mapped to Observation.Comments. ORC will usually be mapped to DiagnosticReport.Request. You can review these following mappings for reference: http://hl7.org/fhir/DSTU2/observation-mappings.html#v2, http://hl7.org/fhir/DSTU2/diagnosticreport-mappings.html
Thanks @Santosh Jami for your input.
Last updated: Apr 12 2022 at 19:14 UTC