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 ServiceRequest Map (Experimental)

Official URL: http://hl7.org/fhir/uv/v2mappings/ConceptMap/segment-obr-to-servicerequest | Version: 1.0.0
Standards status: Informative | Computable Name: SegmentOBRToServiceRequest
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 ServiceRequest Resource.

This ConceptMap represents the mapping from the HL7 V2 OBR Segment to the FHIR ServiceRequest 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
0 | OBR |  |  |  |  |  |  |  | ServiceRequest.intent |  |  |  |  |  |  | "order" |
1 | OBR-1 | Set ID – OBR | SI | 0 | 1 |  |  |  |  |  |  |  |  |  |  |  |
2 | OBR-2 | Placer Order Number | EI | 0 | 1 | IF ORC-2 NOT VALUED |  |  | Identifier |  | Identifier | 0 | -1 | EI[Identifier-Extension] |  |  |
2 | OBR-2 | Placer Order Number | EI | 0 | 1 | IF ORC-2 NOT VALUED |  |  | ServiceRequest.identifier.type.coding.code |  | code | 0 | 1 |  |  | "PLAC" |
2 | OBR-2 | Placer Order Number | EI | 0 | 1 | IF ORC-2 NOT VALUED |  |  | ServiceRequest.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 NOT VALUED |  |  | Identifier |  | Identifier | 0 | -1 | EI[Identifier-Extension] |  |  |
3 | OBR-3 | Filler Order Number | EI | 0 | 1 | IF ORC-3 NOT VALUED |  |  |  | extension??-fingerprint[1]=fingerprint(ORC-2,ORC-3,....) |  |  |  |  |  |  | To be resolved as part of parent-child guidance from the base standard, including reflex/add-on/micro.
3 | OBR-3 | Filler Order Number | EI | 0 | 1 | IF ORC-3 NOT VALUED |  |  | ServiceRequest.identifier.type.coding.code |  | code | 0 | 1 |  |  | "FILL" |
3 | OBR-3 | Filler Order Number | EI | 0 | 1 | IF ORC-3 NOT VALUED |  |  | ServiceRequest.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 | 0 | 1 | CWE[CodeableConcept] |  |  |
5 | OBR-5 | Priority | ID | 0 | 1 |  |  |  | ServiceRequest.priority |  | code | 0 | 1 | ID[code] | ExtendedPriorityCodes |  |
6 | OBR-6 | Requested Date/Time | TS | 0 | 1 |  |  |  | ServiceRequest.occurrenceDateTime |  | dateTime | 0 | 1 |  |  |  |
7 | OBR-7 | Observation Date/Time | DTM | 0 | 1 |  |  |  |  |  |  |  |  |  |  |  | This should not be populated in a message corresponding to a ServiceRequest (eg ORM)
8 | OBR-8 | Observation End Date/Time | DTM | 0 | 1 |  |  |  |  |  |  |  |  |  |  |  | This should not be populated in a message corresponding to a ServiceRequest (eg ORM)
9 | OBR-9 | Collection Volume | CQ | 0 | 1 | c |  |  |  |  |  |  |  |  |  |  |
10 | OBR-10 | Collector Identifier | XCN | 0 | -1 |  |  |  |  |  |  |  |  |  |  |  |
11 | OBR-11 | Specimen Action Code | ID | 0 | 1 | IF OBR-11 EQUALS "A" | element("11")="A" |  | ServiceRequest.intent |  |  |  |  |  |  | "#add-on#" |
11 | OBR-11 | Specimen Action Code | ID | 0 | 1 | IF OBR-11 EQUALS "G" | element("11")="G" |  | ServiceRequest.intent |  | code | 1 | 1 |  |  | "reflex-order" |
11 | OBR-11 | Specimen Action Code | ID | 0 | 1 | IF OBR-11 NOT IN ("G","A") | element("11")! IN ("G","A") |  | ServiceRequest.intent |  |  |  |  |  |  | "order" |
12 | OBR-12 | Danger Code | CWE | 0 | 1 |  |  |  |  |  |  |  |  |  |  |  |
13 | OBR-13 | Relevant Clinical Information | CWE | 0 | -1 |  |  | If this does not represent fasting status | ServiceRequest.extension.url |  | uri | 0 | -1 |  |  | "http://hl7.org/fhir/5.0/StructureDefinition/extension-ServiceRequest.supportingInfo" | If desired, implementers could map to supportingInfo using the Observation or other references if they know exactly what it is and have the relevant resource.code values to add.
13 | OBR-13 | Relevant Clinical Information | CWE | 0 | -1 |  |  | If this does not represent fasting status | ServiceRequest.extension.valueCodeableReference.concept |  | ServiceRequest.CodeableReference(ServiceRequest.Any) | 0 | -1 | CWE[CodeableConcept] |  |  |
13 | OBR-13 | Relevant Clinical Information | CWE | 0 | -1 |  |  | If this represents fasting status then use OBR[Specimen] mapping. |  |  |  |  |  |  |  |  |
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 | IF ORC-12 NOT VALUED |  |  | ServiceRequest.requester(ServiceRequest.Practitioner) |  | Reference(ServiceRequest.Practitioner) | 0 | 1 | XCN[Practitioner] |  |  |
17 | OBR-17 | Order Callback Phone Number | XTN | 0 | 2 |  |  |  | ServiceRequest.requester.extension.url |  | uri | 0 | 1 |  |  |  | "http://hl7.org/fhir/StructureDefinition/servicerequest-order-callback-phone-number"
17 | OBR-17 | Order Callback Phone Number | XTN | 0 | 2 |  |  |  | ServiceRequest.requester.extension.valueContactPoint |  | ContactPoint | 0 | 1 | XTN[ContactPoint] |  |  |
18 | OBR-18 | Placer Field 1 | ST | 0 | 1 |  |  |  |  |  |  |  |  |  |  |  | The use of OBR-18 is variable and the transformation of it is an implementation level decision. ServiceRequest.note exists to hold text, but should only be used if the content of the field doesn't require any context to be understood.
19 | OBR-19 | Placer Field 2 | ST | 0 | 1 |  |  |  |  |  |  |  |  |  |  |  | The use of OBR-19 is variable and the transformation of it is an implementation level decision. ServiceRequest.note exists to hold text, but should only be used if the content of the field doesn't require any context to be understood.
20 | OBR-20 | Filler Field 1 + | ST | 0 | 1 |  |  |  |  |  |  |  |  |  |  |  | The use of OBR-20 is variable and the transformation of it is an implementation level decision. ServiceRequest.note exists to hold text, but should only be used if the content of the field doesn't require any context to be understood.
21 | OBR-21 | Filler Field 2 + | ST | 0 | 1 |  |  |  |  |  |  |  |  |  |  |  | The use of OBR-21 is variable and the transformation of it is an implementation level decision. ServiceRequest.note exists to hold text, but should only be used if the content of the field doesn't require any context to be understood.
22 | OBR-22 | Results Rpt/Status Chng – Date/Time + | DTM | 0 | 1 |  |  |  |  |  |  |  |  |  |  |  |
23 | OBR-23 | Charge to Practice + | MOC | 0 | 1 |  |  |  |  |  |  |  |  |  |  |  |
24 | OBR-24 | Diagnostic Serv Sect ID | ID | 0 | 1 |  |  |  |  |  |  |  |  |  |  |  |
25 | OBR-25 | Result Status + | ID | 0 | 1 |  |  |  |  |  |  |  |  |  |  |  |
26 | OBR-26 | Parent Result + | PRL | 0 | 1 |  |  |  |  |  |  |  |  |  |  |  | To be resolved as part of parent-child guidance from the base standard, including reflex/add-on/micro.
27 | OBR-27 | Quantity/Timing | TQ | 0 | -1 | IF ORC-7 NOT VALUED AND ORC-6 NOT VALUED |  |  | ServiceRequest.$this |  |  |  |  | TQ[ServiceRequest] |  |  |
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 | IF OBR-29.1 VALUED AND OBR-50 NOT VALUED |  | If OBR-29.2 is also valued, implementation needs to decide which one to use. | ServiceRequest.basedOn.identifier |  | Identifier | 0 | -1 | EIP[Identifier-PlacerAssignedIdentifier] |  |  |
29 | OBR-29 | ParentResults Observation Identifier | EIP | 0 | 1 | IF OBR-29.1 VALUED AND OBR-50 NOT VALUED |  | If OBR-29.2 is also valued, implementation needs to decide which one to use. | ServiceRequest.basedOn.type |  | uri | 0 | -1 |  |  | "ServiceRequest" |
29 | OBR-29 | ParentResults Observation Identifier | EIP | 0 | 1 | IF OBR-29.2 VALUED AND OBR-50 NOT VALUED |  | If OBR-29.1 is also valued, implementation needs to decide which one to use. | ServiceRequest.basedOn.identifier |  | Identifier | 0 | -1 | EIP[Identifier-FillerAssignedIdentifier] |  |  |
29 | OBR-29 | ParentResults Observation Identifier | EIP | 0 | 1 | IF OBR-29.2 VALUED AND OBR-50 NOT VALUED |  | If OBR-29.1 is also valued, implementation needs to decide which one to use. | ServiceRequest.basedOn.type |  | uri | 0 | -1 |  |  | "ServiceRequest" |
29 | OBR-29 | ParentResults Observation Identifier | EIP | 0 | 1 |  |  | If OBR-50 is valued, need something else that we have not figured out yet. |  | extension??-parent.reference.id=ServiceRequest[??].extension??-fingerprint#[1](EIP.1,EIP.2,EIP,........) |  |  |  |  |  |  |
30 | OBR-30 | Transportation Mode | ID | 0 | 1 |  |  |  |  |  |  |  |  |  |  |  |
31 | OBR-31 | Reason for Study | CWE | 0 | -1 |  |  |  | ServiceRequest.reasonCode |  | CodeableConcept | 0 | -1 | CWE[CodeableConcept] |  |  |
32 | OBR-32 | Principal Result Interpreter + | NDL | 0 | 1 |  |  |  |  |  |  |  |  |  |  |  |
33 | OBR-33 | Assistant Result Interpreter + | NDL | 0 | -1 |  |  |  |  |  |  |  |  |  |  |  |
34 | OBR-34 | Technician + | NDL | 0 | -1 |  |  |  |  |  |  |  |  |  |  |  |
35 | OBR-35 | Transcriptionist + | NDL | 0 | -1 |  |  |  |  |  |  |  |  |  |  |  |
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 |  |  |  | ServiceRequest.orderDetail |  | CodeableConcept | 0 | -1 | CWE[CodeableConcept] |  |  |
47 | OBR-47 | Filler Supplemental Service Information | CWE | 0 | -1 |  |  |  | ServiceRequest.orderDetail |  | CodeableConcept | 0 | -1 | CWE[CodeableConcept] |  |  |
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 |  |  |  |  |  |  |  |  |  |  |  |
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 |  |  |  | Identifier |  | Identifier | 0 | -1 | CX[Identifier] |  |  |
53 | OBR-53 | Alternate Placer Order Number | CX | 0 | -1 |  |  |  | ServiceRequest.identifier.type.coding.code |  | code | 0 | 1 |  |  | "PLAC" |
53 | OBR-53 | Alternate Placer Order Number | CX | 0 | -1 |  |  |  | ServiceRequest.identifier.type.coding.system |  | uri | 0 | 1 |  |  | "http://terminology.hl7.org/CodeSystem/v2-0203" |
54 | OBR-54 | Parent Order | EIP | 0 | 1 |  |  |  |  |  |  |  |  |  |  |  | This will be addressed in a future edition when addressing parent relationships for micro results.

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 | ComputableFHIRPath | ComputableANTLR |  | Codes from |
OBR |  |  |  |  | is equivalent to | intent | intent |
OBR-2 | Placer Order Number |  |  | IF ORC-2 NOT VALUED | is equivalent to | identifier[1] | identifier[1] |
OBR-2 | Placer Order Number |  |  | IF ORC-2 NOT VALUED | is equivalent to | identifier[1].type.coding.code | identifier[1].type.coding.code |
OBR-2 | Placer Order Number |  |  | IF ORC-2 NOT VALUED | is equivalent to | identifier[1].type.coding.system | identifier[1].type.coding.system |
OBR-3 | Filler Order Number |  |  | IF ORC-3 NOT VALUED | is equivalent to | identifier[2] | identifier[2] |
OBR-3 | Filler Order Number |  |  | IF ORC-3 NOT VALUED | is equivalent to | identifier[2].type.coding.code | identifier[2].type.coding.code |
OBR-3 | Filler Order Number |  |  | IF ORC-3 NOT VALUED | is equivalent to | identifier[2].type.coding.system | identifier[2].type.coding.system |
OBR-4 | Universal Service Identifier |  |  |  | is equivalent to | code | code |
OBR-5 | Priority |  |  |  | is equivalent to | priority | priority |
OBR-6 | Requested Date/Time |  |  |  | is equivalent to | occurrenceDateTime | occurrenceDateTime |
OBR-11 | Specimen Action Code |  | element("11")="A" | IF OBR-11 EQUALS "A" | is equivalent to | intent | intent |
OBR-11 | Specimen Action Code |  | element("11")="G" | IF OBR-11 EQUALS "G" | is equivalent to | intent | intent |
OBR-11 | Specimen Action Code |  | element("11")! IN ("G","A") | IF OBR-11 NOT IN ("G","A") | is equivalent to | intent | intent |
OBR-13 | Relevant Clinical Information | If this does not represent fasting status |  |  | is equivalent to | extension[1].url | extension[1].url | If desired, implementers could map to supportingInfo using the Observation or other references if they know exactly what it is and have the relevant resource.code values to add.
OBR-13 | Relevant Clinical Information | If this does not represent fasting status |  |  | is equivalent to | extension[1].valueCodeableReference.concept | extension[1].valueCodeableReference.concept |
OBR-16 | Ordering Provider |  |  | IF ORC-12 NOT VALUED | is equivalent to | requester(Practitioner) | requester(Practitioner) |
OBR-17 | Order Callback Phone Number |  |  |  | is equivalent to | requester.extension[1].url | requester.extension[1].url | "http://hl7.org/fhir/StructureDefinition/servicerequest-order-callback-phone-number"
OBR-17 | Order Callback Phone Number |  |  |  | is equivalent to | requester.extension[1].valueContactPoint | requester.extension[1].valueContactPoint |
OBR-27 | Quantity/Timing |  |  | IF ORC-7 NOT VALUED AND ORC-6 NOT VALUED | is equivalent to | $this | $this |
OBR-29 | ParentResults Observation Identifier | If OBR-29.2 is also valued, implementation needs to decide which one to use. |  | IF OBR-29.1 VALUED AND OBR-50 NOT VALUED | is equivalent to | basedOn[1].identifier | basedOn[1].identifier |
OBR-29 | ParentResults Observation Identifier | If OBR-29.2 is also valued, implementation needs to decide which one to use. |  | IF OBR-29.1 VALUED AND OBR-50 NOT VALUED | is equivalent to | basedOn[1].type | basedOn[1].type |
OBR-29 | ParentResults Observation Identifier | If OBR-29.1 is also valued, implementation needs to decide which one to use. |  | IF OBR-29.2 VALUED AND OBR-50 NOT VALUED | is equivalent to | basedOn[2].identifier | basedOn[2].identifier |
OBR-29 | ParentResults Observation Identifier | If OBR-29.1 is also valued, implementation needs to decide which one to use. |  | IF OBR-29.2 VALUED AND OBR-50 NOT VALUED | is equivalent to | basedOn[2].type | basedOn[2].type |
OBR-31 | Reason for Study |  |  |  | is equivalent to | reasonCode | reasonCode |
OBR-46 | Placer Supplemental Service Information |  |  |  | is equivalent to | orderDetail[1] | orderDetail[1] |
OBR-47 | Filler Supplemental Service Information |  |  |  | is equivalent to | orderDetail[2] | orderDetail[2] |
OBR-53 | Alternate Placer Order Number |  |  |  | is equivalent to | identifier[3] | identifier[3] |
OBR-53 | Alternate Placer Order Number |  |  |  | is equivalent to | identifier[3].type.coding.code | identifier[3].type.coding.code |
OBR-53 | Alternate Placer Order Number |  |  |  | is equivalent to | identifier[3].type.coding.system | identifier[3].type.coding.system |

### Notes: