HL7 Version 2 to FHIR
1.0.0 - STU 1

HL7 Version 2 to FHIR - Downloaded Version 1.0.0 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 v2 | Condition (IF True, args) | HL7 FHIR | Comments
--- | --- | --- | ---
Sort Order | Identifier | Name | Data Type | Cardinality - Min | Cardinality - Max | Computable ANTLR | Computable FHIRPath | Narrative | FHIR Attribute | Extension | Data Type | Cardinality - Min | Cardinality - Max | Data Type Mapping | Vocabulary Mapping (IS, ID, CE, CEN, CWE) | Assignment
1 | OBR-1 | Set ID – OBR | SI | 0 | 1 |  |  |  |  |  |  |  |  |  |  |  |
2 | OBR-2 | Placer Order Number | EI | 0 | 1 |  |  | If ORC-2 of the same ORC/OBR pair is not valued OR there is ORC segment in the current ORDER_OBSERVATION segment group | Identifier |  | Identifier | 0 | -1 | EI[Identifier-Extension] |  |  |
2 | OBR-2 | Placer Order Number | EI | 0 | 1 |  |  | If ORC-2 of the same ORC/OBR pair is not valued OR there is ORC segment in the current ORDER_OBSERVATION segment group | DiagnosticReport.identifier.type.coding.code |  | code | 0 | 1 |  |  | "PLAC" |
2 | OBR-2 | Placer Order Number | EI | 0 | 1 |  |  | If ORC-2 of the same ORC/OBR pair is not valued OR there is ORC segment in the current ORDER_OBSERVATION segment group | DiagnosticReport.identifier.type.coding.system |  | uri | 0 | 1 |  |  | "http://terminology.hl7.org/CodeSystem/v2-0203" |
3 | OBR-3 | Filler Order Number | EI | 0 | 1 |  |  | If ORC-3 of the same ORC/OBR pair is not valued OR there is ORC segment in the current ORDER_OBSERVATION segment group | Identifier |  | Identifier | 0 | 1 | EI[Identifier-Extension] |  |  |
3 | OBR-3 | Filler Order Number | EI | 0 | 1 |  |  | If ORC-3 of the same ORC/OBR pair is not valued OR there is ORC segment in the current ORDER_OBSERVATION segment group | DiagnosticReport.identifier.type.coding.code |  | code | 0 | 1 |  |  | "FILL" |
3 | OBR-3 | Filler Order Number | EI | 0 | 1 |  |  | If ORC-3 of the same ORC/OBR pair is not valued OR there is ORC segment in the current ORDER_OBSERVATION segment group | DiagnosticReport.identifier.type.coding.system |  | uri | 0 | 1 |  |  | "http://terminology.hl7.org/CodeSystem/v2-0203" |
4 | OBR-4 | Universal Service Identifier | CWE | 1 | 1 |  |  |  | code |  | CodeableConcept | 1 | 1 | CWE[CodeableConcept] |  |  |
5 | OBR-5 | Priority | ID | 0 | 1 |  |  |  |  |  |  |  |  |  |  |  |
6 | OBR-6 | Requested Date/Time | TS | 0 | 1 |  |  |  |  |  |  |  |  |  |  |  |
7 | OBR-7 | Observation Date/Time | DTM | 0 | 1 | IF OBR-8 NOT VALUED |  |  | DiagnosticReport.effectiveDateTime |  | dateTime | 0 | 1 |  |  |  | This should not be populated in a message corresponding to a ServiceRequest (eg ORM)
7 | OBR-7 | Observation Date/Time | DTM | 0 | 1 | IF OBR-8 VALUED |  |  | DiagnosticReport.effectivePeriod.start |  | dateTime | 0 | 1 |  |  |  |
8 | OBR-8 | Observation End Date/Time | DTM | 0 | 1 |  |  |  | DiagnosticReport.effectivePeriod.end |  | dateTime | 0 | 1 |  |  |  | This should not be populated in a message corresponding to a ServiceRequest (eg ORM)
9 | OBR-9 | Collection Volume | CQ | 0 | 1 |  |  |  |  |  |  |  |  |  |  |  |
10 | OBR-10 | Collector Identifier | XCN | 0 | -1 |  |  |  |  |  |  |  |  |  |  |  |
11 | OBR-11 | Specimen Action Code | ID | 0 | 1 |  |  |  |  |  |  |  |  |  |  |  |
12 | OBR-12 | Danger Code | CWE | 0 | 1 |  |  |  |  |  |  |  |  |  |  |  |
13 | OBR-13 | Relevant Clinical Information | CWE | 0 | -1 |  |  |  |  |  |  |  |  |  |  |  |
14 | OBR-14 | Specimen Received Date/Time * | TS | 0 | 1 |  |  |  |  |  |  |  |  |  |  |  |
15 | OBR-15 | Specimen Source | CM | 0 | 1 |  |  |  |  |  |  |  |  |  |  |  |
16 | OBR-16 | Ordering Provider | XCN | 0 | -1 |  |  |  |  |  |  |  |  |  |  |  |
17 | OBR-17 | Order Callback Phone Number | XTN | 0..2 | 2 |  |  |  |  |  |  |  |  |  |  |  |
18 | OBR-18 | Placer Field 1 | ST | 0 | 1 |  |  |  |  |  |  |  |  |  |  |  | If this field is valued, the implementer must decide how to map this as the content varies by implementation.
19 | OBR-19 | Placer Field 2 | ST | 0 | 1 |  |  |  |  |  |  |  |  |  |  |  | If this field is valued, the implementer must decide how to map this as the content varies by implementation.
20 | OBR-20 | Filler Field 1 + | ST | 0 | 1 |  |  |  |  |  |  |  |  |  |  |  | If this field is valued, the implementer must decide how to map this as the content varies by implementation.
21 | OBR-21 | Filler Field 2 + | ST | 0 | 1 |  |  |  |  |  |  |  |  |  |  |  | If this field is valued, the implementer must decide how to map this as the content varies by implementation.
22 | OBR-22 | Results Rpt/Status Chng – Date/Time + | DTM | 0 | 1 |  |  |  | DiagnosticReport.issued |  | instant | 0 | 1 |  |  |  |
23 | OBR-23 | Charge to Practice + | MOC | 0 | 1 |  |  |  |  |  |  |  |  |  |  |  |
24 | OBR-24 | Diagnostic Serv Sect ID | ID | 0 | 1 |  |  |  | DiagnosticReport.category |  | CodeableConcept | 0 | -1 | ID[CodeableConcept] | DiagnosticServiceSectionID |  |
25 | OBR-25 | Result Status + | ID | 0 | 1 | IF OBR-25 VALUED |  |  | DiagnosticReport.status |  | code | 1 | 1 |  | ResultStatus[Non-Queries] |  |
25 | OBR-25 | Result Status + | ID | 0 | 1 | IF OBR-25 NOT VALUED ERROR |  | If OBR-25 is not valued, that is an error on the v2 side as in this use case it is required. |  |  |  |  |  |  |  |  |
26 | OBR-26 | Parent Result + | PRL | 0 | 1 |  |  |  |  |  |  |  |  |  |  |  | This will be mapped in a next edition with micro and other structures.
27 | OBR-27 | Quantity/Timing | TQ | 0 | -1 |  |  |  |  |  |  |  |  |  |  |  |
28 | OBR-28 | Result Copies To | XCN | 0 | -1 |  |  |  |  |  |  |  |  |  |  |  | Deferred 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.
29 | OBR-29 | ParentResults Observation Identifier | EIP | 0 | 1 |  |  |  |  |  |  |  |  |  |  |  | This will be mapped in a next edition with micro and other structures.
30 | OBR-30 | Transportation Mode | ID | 0 | 1 |  |  |  |  |  |  |  |  |  |  |  |
31 | OBR-31 | Reason for Study | CWE | 0 | -1 |  |  |  |  |  |  |  |  |  |  |  |
32 | OBR-32 | Principal Result Interpreter + | NDL | 0 | 1 |  |  |  | DiagnosticReport.resultsInterpreter(DiagnosticReport.PractitionerRole) |  | Reference(DiagnosticReport.PractitionerRole) | 0 | -1 | NDL[PractitionerRole] |  |  |
33 | OBR-33 | Assistant Result Interpreter + | NDL | 0 | -1 |  |  |  |  |  |  |  |  |  |  |  |
34 | OBR-34 | Technician + | NDL | 0 | -1 |  |  |  | DiagnosticReport.performer(DiagnosticReport.PractitionerRole) |  | Reference(DiagnosticReport.PractitionerRole) | 0 | -1 | NDL[PractitionerRole] |  |  |
34 | OBR-34 | Technician + | NDL | 0 | -1 |  |  |  | DiagnosticReport.performer.extension.url |  | uri | 1 | 1 |  |  | "http://hl7.org/fhir/StructureDefinition/event-performerFunction" |
34 | OBR-34 | Technician + | NDL | 0 | -1 |  |  |  | DiagnosticReport.performer.extension.valueCodeableConcept.coding.code |  | code | 0 | 1 |  |  | "SPRF" |
34 | OBR-34 | Technician + | NDL | 0 | -1 |  |  |  | DiagnosticReport.performer.extension.valueCodeableConcept.coding.system |  | uri | 0 | 1 |  |  | "http://terminology.hl7.org/CodeSystem/v3-ParticipationType" |
35 | OBR-35 | Transcriptionist + | NDL | 0 | -1 |  |  |  | DiagnosticReport.performer(DiagnosticReport.PractitionerRole) |  | Reference(DiagnosticReport.Practitioner) | 0 | -1 | NDL[PractitionerRole] |  |  |
35 | OBR-35 | Transcriptionist + | NDL | 0 | -1 |  |  |  | DiagnosticReport.performer.extension.url |  | uri | 1 | 1 |  |  | "http://hl7.org/fhir/StructureDefinition/event-performerFunction" |
35 | OBR-35 | Transcriptionist + | NDL | 0 | -1 |  |  |  | DiagnosticReport.performer.extension.valueCodeableConcept.coding.code |  | code | 0 | 1 |  |  | "TRANS" |
35 | OBR-35 | Transcriptionist + | NDL | 0 | -1 |  |  |  | DiagnosticReport.performer.extension.valueCodeableConcept.coding.system |  | uri | 0 | 1 |  |  | "http://terminology.hl7.org/CodeSystem/v3-ParticipationType" |
36 | OBR-36 | Scheduled Date/Time + | DTM | 0 | 1 |  |  |  |  |  |  |  |  |  |  |  |
37 | OBR-37 | Number of Sample Containers * | NM | 0 | 1 |  |  |  |  |  |  |  |  |  |  |  |
38 | OBR-38 | Transport Logistics of Collected Sample * | CWE | 0 | -1 |  |  |  |  |  |  |  |  |  |  |  |
39 | OBR-39 | Collector's Comment * | CWE | 0 | -1 |  |  |  |  |  |  |  |  |  |  |  |
40 | OBR-40 | Transport Arrangement Responsibility | CWE | 0 | 1 |  |  |  |  |  |  |  |  |  |  |  |
41 | OBR-41 | Transport Arranged | ID | 0 | 1 |  |  |  |  |  |  |  |  |  |  |  |
42 | OBR-42 | Escort Required | ID | 0 | 1 |  |  |  |  |  |  |  |  |  |  |  |
43 | OBR-43 | Planned Patient Transport Comment | CWE | 0 | -1 |  |  |  |  |  |  |  |  |  |  |  |
44 | OBR-44 | Procedure Code | CNE | 0 | 1 |  |  |  |  |  |  |  |  |  |  |  |
45 | OBR-45 | Procedure Code Modifier | CNE | 0 | -1 |  |  |  |  |  |  |  |  |  |  |  |
46 | OBR-46 | Placer Supplemental Service Information | CWE | 0 | -1 |  |  |  |  |  |  |  |  |  |  |  |
47 | OBR-47 | Filler Supplemental Service Information | CWE | 0 | -1 |  |  |  |  |  |  |  |  |  |  |  |
48 | OBR-48 | Medically Necessary Duplicate Procedure Reason | CWE | 0 | 1 |  |  |  |  |  |  |  |  |  |  |  |
49 | OBR-49 | Result Handling | CWE | 0 | 1 |  |  |  |  |  |  |  |  |  |  |  |
50 | OBR-50 | Parent Universal Service Identifier | CWE | 0 | 1 |  |  |  |  |  |  |  |  |  |  |  | This will be mapped in the next phase with micro and other structures.
51 | OBR-51 | Observation Group ID | EI | 0 | 1 |  |  |  |  |  |  |  |  |  |  |  |
52 | OBR-52 | Parent Observation Group ID | EI | 0 | 1 |  |  |  |  |  |  |  |  |  |  |  |
53 | OBR-53 | Alternate Placer Order Number | CX | 0 | -1 |  |  |  |  |  |  |  |  |  |  |  |
54 | OBR-54 | Parent Order | EIP | 0 | 1 |  |  |  |  |  |  |  |  |  |  |  | This will be mapped in the next phase with micro and other structures.
54 | OBR-54 | Parent Order | EIP | 0 | 1 |  |  |  |  |  |  |  |  |  |  |  |

Mapping from (not specified) to (not specified)

Group 1 Mapping from `unspecified code system` to `unspecified code system`

Source Concept Details | Relationship | Target Concept Details | Comment
Codes from | NarrativeCondition | ComputableANTLR |  | Codes from |
OBR-2 | Placer Order Number | If ORC-2 of the same ORC/OBR pair is not valued OR there is ORC segment in the current ORDER_OBSERVATION segment group |  | is equivalent to | identifier[1] | identifier[1] |
OBR-2 | Placer Order Number | If ORC-2 of the same ORC/OBR pair is not valued OR there is ORC segment in the current ORDER_OBSERVATION segment group |  | is equivalent to | identifier[1].type.coding.code | identifier[1].type.coding.code |
OBR-2 | Placer Order Number | If ORC-2 of the same ORC/OBR pair is not valued OR there is ORC segment in the current ORDER_OBSERVATION segment group |  | is equivalent to | identifier[1].type.coding.system | identifier[1].type.coding.system |
OBR-3 | Filler Order Number | If ORC-3 of the same ORC/OBR pair is not valued OR there is ORC segment in the current ORDER_OBSERVATION segment group |  | is equivalent to | identifier[2] | identifier[2] |
OBR-3 | Filler Order Number | If ORC-3 of the same ORC/OBR pair is not valued OR there is ORC segment in the current ORDER_OBSERVATION segment group |  | is equivalent to | identifier[2].type.coding.code | identifier[2].type.coding.code |
OBR-3 | Filler Order Number | If ORC-3 of the same ORC/OBR pair is not valued OR there is ORC segment in the current ORDER_OBSERVATION segment group |  | is equivalent to | identifier[2].type.coding.system | identifier[2].type.coding.system |
OBR-4 | Universal Service Identifier |  |  | is equivalent to | code | code |
OBR-7 | Observation Date/Time |  | IF OBR-8 NOT VALUED | is equivalent to | effectiveDateTime | effectiveDateTime | This should not be populated in a message corresponding to a ServiceRequest (eg ORM)
OBR-7 | Observation Date/Time |  | IF OBR-8 VALUED | is equivalent to | effectivePeriod.start | effectivePeriod.start |
OBR-8 | Observation End Date/Time |  |  | is equivalent to | effectivePeriod.end | effectivePeriod.end | This should not be populated in a message corresponding to a ServiceRequest (eg ORM)
OBR-22 | Results Rpt/Status Chng – Date/Time + |  |  | is equivalent to | issued | issued |
OBR-24 | Diagnostic Serv Sect ID |  |  | is equivalent to | category | category |
OBR-25 | Result Status + |  | IF OBR-25 VALUED | is equivalent to | status | status |
OBR-32 | Principal Result Interpreter + |  |  | is equivalent to | resultsInterpreter(PractitionerRole) | resultsInterpreter(PractitionerRole) |
OBR-34 | Technician + |  |  | is equivalent to | performer[1](PractitionerRole) | performer[1](PractitionerRole) |
OBR-34 | Technician + |  |  | is equivalent to | performer[1].extension[1].url | performer[1].extension[1].url |
OBR-34 | Technician + |  |  | is equivalent to | performer[1].extension[1].valueCodeableConcept.coding.code | performer[1].extension[1].valueCodeableConcept.coding.code |
OBR-34 | Technician + |  |  | is equivalent to | performer[1].extension[1].valueCodeableConcept.coding.system | performer[1].extension[1].valueCodeableConcept.coding.system |
OBR-35 | Transcriptionist + |  |  | is equivalent to | performer[2](PractitionerRole) | performer[2](PractitionerRole) |
OBR-35 | Transcriptionist + |  |  | is equivalent to | performer[2].extension[1].url | performer[2].extension[1].url |
OBR-35 | Transcriptionist + |  |  | is equivalent to | performer[2].extension[1].valueCodeableConcept.coding.code | performer[2].extension[1].valueCodeableConcept.coding.code |
OBR-35 | Transcriptionist + |  |  | is equivalent to | performer[2].extension[1].valueCodeableConcept.coding.system | performer[2].extension[1].valueCodeableConcept.coding.system |

### Notes: