HL7 Version 2 to FHIR
1.0.0 - STU 1 International flag

HL7 Version 2 to FHIR, published by HL7 International / Orders and Observations. This guide is not an authorized publication; it is the continuous build for version 1.0.0 built by the FHIR (HL7® FHIR® Standard) CI Build. This version is based on the current content of https://github.com/HL7/v2-to-fhir/ and changes regularly. See the Directory of published versions

ConceptMap: Segment OBR to DiagnosticReport Map (Experimental)

Official URL: http://hl7.org/fhir/uv/v2mappings/ConceptMap/segment-obr-to-diagnosticreport Version: 1.0.0
Standards status: Informative Computable Name: SegmentOBRToDiagnosticReport

Copyright/Legal: Copyright (c) 2025, HL7 International, Inc., All Rights Reserved.

This ConceptMap represents a mapping from the HL7 V2 Segment OBR to the FHIR DiagnosticReport Resource.

This ConceptMap represents the mapping from the HL7 V2 OBR Segment to the FHIR DiagnosticReport Resource. See also the FHIR Shorthand or the CSV Source.

HL7 v2Condition (IF True, args)HL7 FHIRComments
Sort OrderIdentifierNameData TypeCardinality - MinCardinality - MaxComputable ANTLRComputable FHIRPathNarrativeFHIR AttributeExtensionData TypeCardinality - MinCardinality - MaxData Type MappingVocabulary Mapping
(IS, ID, CE, CEN, CWE)
Assignment
1OBR-1Set ID – OBRSI01
2OBR-2Placer Order NumberEI01If ORC-2 of the same ORC/OBR pair is not valued OR there is ORC segment in the current ORDER_OBSERVATION segment groupIdentifierIdentifier0-1EI[Identifier-Extension]
2OBR-2Placer Order NumberEI01If ORC-2 of the same ORC/OBR pair is not valued OR there is ORC segment in the current ORDER_OBSERVATION segment groupDiagnosticReport.identifier.type.coding.codecode01"PLAC"
2OBR-2Placer Order NumberEI01If ORC-2 of the same ORC/OBR pair is not valued OR there is ORC segment in the current ORDER_OBSERVATION segment groupDiagnosticReport.identifier.type.coding.systemuri01"http://terminology.hl7.org/CodeSystem/v2-0203"
3OBR-3Filler Order NumberEI01If ORC-3 of the same ORC/OBR pair is not valued OR there is ORC segment in the current ORDER_OBSERVATION segment groupIdentifierIdentifier01EI[Identifier-Extension]
3OBR-3Filler Order NumberEI01If ORC-3 of the same ORC/OBR pair is not valued OR there is ORC segment in the current ORDER_OBSERVATION segment groupDiagnosticReport.identifier.type.coding.codecode01"FILL"
3OBR-3Filler Order NumberEI01If ORC-3 of the same ORC/OBR pair is not valued OR there is ORC segment in the current ORDER_OBSERVATION segment groupDiagnosticReport.identifier.type.coding.systemuri01"http://terminology.hl7.org/CodeSystem/v2-0203"
4OBR-4Universal Service IdentifierCWE11codeCodeableConcept11CWE[CodeableConcept]
5OBR-5PriorityID01
6OBR-6Requested Date/TimeTS01
7OBR-7Observation Date/TimeDTM01IF OBR-8 NOT VALUEDDiagnosticReport.effectiveDateTimedateTime01This should not be populated in a message corresponding to a ServiceRequest (eg ORM)
7OBR-7Observation Date/TimeDTM01IF OBR-8 VALUEDDiagnosticReport.effectivePeriod.startdateTime01
8OBR-8Observation End Date/TimeDTM01DiagnosticReport.effectivePeriod.enddateTime01This should not be populated in a message corresponding to a ServiceRequest (eg ORM)
9OBR-9Collection VolumeCQ01
10OBR-10Collector IdentifierXCN0-1
11OBR-11Specimen Action CodeID01
12OBR-12Danger CodeCWE01
13OBR-13Relevant Clinical InformationCWE0-1
14OBR-14Specimen Received Date/Time *TS01
15OBR-15Specimen SourceCM01
16OBR-16Ordering ProviderXCN0-1
17OBR-17Order Callback Phone NumberXTN0..22
18OBR-18Placer Field 1ST01If this field is valued, the implementer must decide how to map this as the content varies by implementation.
19OBR-19Placer Field 2ST01If this field is valued, the implementer must decide how to map this as the content varies by implementation.
20OBR-20Filler Field 1 +ST01If this field is valued, the implementer must decide how to map this as the content varies by implementation.
21OBR-21Filler Field 2 +ST01If this field is valued, the implementer must decide how to map this as the content varies by implementation.
22OBR-22Results Rpt/Status Chng – Date/Time +DTM01DiagnosticReport.issuedinstant01
23OBR-23Charge to Practice +MOC01
24OBR-24Diagnostic Serv Sect IDID01DiagnosticReport.categoryCodeableConcept0-1ID[CodeableConcept]DiagnosticServiceSectionID
25OBR-25Result Status +ID01IF OBR-25 VALUEDDiagnosticReport.statuscode11ResultStatus[Non-Queries]
25OBR-25Result Status +ID01IF OBR-25 NOT VALUED ERRORIf OBR-25 is not valued, that is an error on the v2 side as in this use case it is required.
26OBR-26Parent Result +PRL01This will be mapped in a next edition with micro and other structures.
27OBR-27Quantity/TimingTQ0-1
28OBR-28Result Copies ToXCN0-1Deferred to a future edition and considering CommunicationRequest using .basedOn and .reason plus a means to indicate that the request to copy was made at the time of the request being made or later in the process.
29OBR-29ParentResults Observation IdentifierEIP01This will be mapped in a next edition with micro and other structures.
30OBR-30Transportation ModeID01
31OBR-31Reason for StudyCWE0-1
32OBR-32Principal Result Interpreter +NDL01DiagnosticReport.resultsInterpreter(DiagnosticReport.PractitionerRole)Reference(DiagnosticReport.PractitionerRole)0-1NDL[PractitionerRole]
33OBR-33Assistant Result Interpreter +NDL0-1
34OBR-34Technician +NDL0-1DiagnosticReport.performer(DiagnosticReport.PractitionerRole)Reference(DiagnosticReport.PractitionerRole)0-1NDL[PractitionerRole]
34OBR-34Technician +NDL0-1DiagnosticReport.performer.extension.urluri11"http://hl7.org/fhir/StructureDefinition/event-performerFunction"
34OBR-34Technician +NDL0-1DiagnosticReport.performer.extension.valueCodeableConcept.coding.codecode01"SPRF"
34OBR-34Technician +NDL0-1DiagnosticReport.performer.extension.valueCodeableConcept.coding.systemuri01"http://terminology.hl7.org/CodeSystem/v3-ParticipationType"
35OBR-35Transcriptionist +NDL0-1DiagnosticReport.performer(DiagnosticReport.PractitionerRole)Reference(DiagnosticReport.Practitioner)0-1NDL[PractitionerRole]
35OBR-35Transcriptionist +NDL0-1DiagnosticReport.performer.extension.urluri11"http://hl7.org/fhir/StructureDefinition/event-performerFunction"
35OBR-35Transcriptionist +NDL0-1DiagnosticReport.performer.extension.valueCodeableConcept.coding.codecode01"TRANS"
35OBR-35Transcriptionist +NDL0-1DiagnosticReport.performer.extension.valueCodeableConcept.coding.systemuri01"http://terminology.hl7.org/CodeSystem/v3-ParticipationType"
36OBR-36Scheduled Date/Time +DTM01
37OBR-37Number of Sample Containers *NM01
38OBR-38Transport Logistics of Collected Sample *CWE0-1
39OBR-39Collector's Comment *CWE0-1
40OBR-40Transport Arrangement ResponsibilityCWE01
41OBR-41Transport ArrangedID01
42OBR-42Escort RequiredID01
43OBR-43Planned Patient Transport CommentCWE0-1
44OBR-44Procedure CodeCNE01
45OBR-45Procedure Code ModifierCNE0-1
46OBR-46Placer Supplemental Service InformationCWE0-1
47OBR-47Filler Supplemental Service InformationCWE0-1
48OBR-48Medically Necessary Duplicate Procedure ReasonCWE01
49OBR-49Result HandlingCWE01
50OBR-50Parent Universal Service IdentifierCWE01This will be mapped in the next phase with micro and other structures.
51OBR-51Observation Group IDEI01
52OBR-52Parent Observation Group IDEI01
53OBR-53Alternate Placer Order NumberCX0-1
54OBR-54Parent OrderEIP01This will be mapped in the next phase with micro and other structures.
54OBR-54Parent OrderEIP01

Mapping from (not specified) to (not specified)


Group 1 Mapping from unspecified code system to unspecified code system

Source Concept DetailsRelationshipTarget Concept DetailsComment
Codes from NarrativeConditionComputableANTLRCodes from
OBR-2Placer Order NumberIf ORC-2 of the same ORC/OBR pair is not valued OR there is ORC segment in the current ORDER_OBSERVATION segment groupis equivalent toidentifier[1]identifier[1]
OBR-2Placer Order NumberIf ORC-2 of the same ORC/OBR pair is not valued OR there is ORC segment in the current ORDER_OBSERVATION segment groupis equivalent toidentifier[1].type.coding.codeidentifier[1].type.coding.code
OBR-2Placer Order NumberIf ORC-2 of the same ORC/OBR pair is not valued OR there is ORC segment in the current ORDER_OBSERVATION segment groupis equivalent toidentifier[1].type.coding.systemidentifier[1].type.coding.system
OBR-3Filler Order NumberIf ORC-3 of the same ORC/OBR pair is not valued OR there is ORC segment in the current ORDER_OBSERVATION segment groupis equivalent toidentifier[2]identifier[2]
OBR-3Filler Order NumberIf ORC-3 of the same ORC/OBR pair is not valued OR there is ORC segment in the current ORDER_OBSERVATION segment groupis equivalent toidentifier[2].type.coding.codeidentifier[2].type.coding.code
OBR-3Filler Order NumberIf ORC-3 of the same ORC/OBR pair is not valued OR there is ORC segment in the current ORDER_OBSERVATION segment groupis equivalent toidentifier[2].type.coding.systemidentifier[2].type.coding.system
OBR-4Universal Service Identifieris equivalent tocodecode
OBR-7Observation Date/TimeIF OBR-8 NOT VALUEDis equivalent toeffectiveDateTimeeffectiveDateTimeThis should not be populated in a message corresponding to a ServiceRequest (eg ORM)
OBR-7Observation Date/TimeIF OBR-8 VALUEDis equivalent toeffectivePeriod.starteffectivePeriod.start
OBR-8Observation End Date/Timeis equivalent toeffectivePeriod.endeffectivePeriod.endThis should not be populated in a message corresponding to a ServiceRequest (eg ORM)
OBR-22Results Rpt/Status Chng – Date/Time +is equivalent toissuedissued
OBR-24Diagnostic Serv Sect IDis equivalent tocategorycategory
OBR-25Result Status +IF OBR-25 VALUEDis equivalent tostatusstatus
OBR-32Principal Result Interpreter +is equivalent toresultsInterpreter(PractitionerRole)resultsInterpreter(PractitionerRole)
OBR-34Technician +is equivalent toperformer[1](PractitionerRole)performer[1](PractitionerRole)
OBR-34Technician +is equivalent toperformer[1].extension[1].urlperformer[1].extension[1].url
OBR-34Technician +is equivalent toperformer[1].extension[1].valueCodeableConcept.coding.codeperformer[1].extension[1].valueCodeableConcept.coding.code
OBR-34Technician +is equivalent toperformer[1].extension[1].valueCodeableConcept.coding.systemperformer[1].extension[1].valueCodeableConcept.coding.system
OBR-35Transcriptionist +is equivalent toperformer[2](PractitionerRole)performer[2](PractitionerRole)
OBR-35Transcriptionist +is equivalent toperformer[2].extension[1].urlperformer[2].extension[1].url
OBR-35Transcriptionist +is equivalent toperformer[2].extension[1].valueCodeableConcept.coding.codeperformer[2].extension[1].valueCodeableConcept.coding.code
OBR-35Transcriptionist +is equivalent toperformer[2].extension[1].valueCodeableConcept.coding.systemperformer[2].extension[1].valueCodeableConcept.coding.system

Notes: