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

Official URL: http://hl7.org/fhir/uv/v2mappings/ConceptMap/segment-orc-to-servicerequest | Version: 1.0.0
Standards status: Informative | Computable Name: SegmentORCToServiceRequest
Copyright/Legal: Copyright (c) 2025, HL7 International, Inc., All Rights Reserved.

This ConceptMap represents a mapping from the HL7 V2 Segment ORC to the FHIR ServiceRequest Resource.

This ConceptMap represents the mapping from the HL7 V2 ORC 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
1 | ORC-1 | Order Control | ID | 1 | 1 | IF ORC-5 NOT VALUED | ORC.element("5").empty() |  | ServiceRequest.status |  | code | 1 | 1 |  | OrderControlCode[ServiceRequest.status] |  | This is a complicated mapping where .status, .intent, and Task get involved that may have various localized interpretation.
1 | ORC-1 | Order Control | ID | 1 | 1 |  |  |  | ServiceRequest.intent |  | code | 1 | 1 |  |  | "order" |
1 | ORC-1 | Order Control | ID | 1 | 1 |  |  |  | ServiceRequest.extension.url |  | uri | 1 | 1 |  |  | "http://hl7.org/fhir/StructureDefinition/businessEvent" |
1 | ORC-1 | Order Control | ID | 1 | 1 |  |  |  | ServiceRequest.extension.extension.url |  | uri | 1 | 1 |  |  | "value" |
1 | ORC-1 | Order Control | ID | 1 | 1 |  |  |  | ServiceRequest.extension.extension.valueCodeableConcept.coding.code |  | code | 1 | 1 |  |  |  |
1 | ORC-1 | Order Control | ID | 1 | 1 |  |  |  | ServiceRequest.extension.extension.valueCodeableConcept.coding.system |  | uri | 1 | 1 |  |  | "http://terminology.hl7.org/ValueSet/v2-0119" |
2 | ORC-2 | Placer Order Number | EI | 0 | 1 | IF OBR-2 NOT VALUED | OBR.element("2").empty() |  | Identifier |  | Identifier | 0 | -1 | EI[Identifier-Extension] |  |  |
2 | ORC-2 | Placer Order Number | EI | 0 | 1 | IF OBR-2 NOT VALUED | OBR.element("2").empty() |  | ServiceRequest.identifier.type.coding.code |  | code | 0 | 1 |  |  | "PLAC" |
2 | ORC-2 | Placer Order Number | EI | 0 | 1 | IF OBR-2 NOT VALUED | OBR.element("2").empty() |  | ServiceRequest.identifier.type.coding.system |  | uri | 0 | 1 |  |  | "http://terminology.hl7.org/CodeSystem/v2-0203" |
3 | ORC-3 | Filler Order Number | EI | 0 | 1 | IF OBR-3 NOT VALUED | OBR.element("3").empty() |  | Identifier |  | Identifier | 0 | -1 | EI[Identifier-Extension] |  |  |
3 | ORC-3 | Filler Order Number | EI | 0 | 1 | IF OBR-3 NOT VALUED | OBR.element("3").empty() |  | ServiceRequest.identifier.type.coding.code |  | code | 0 | 1 |  |  | "FILL" |
3 | ORC-3 | Filler Order Number | EI | 0 | 1 | IF OBR-3 NOT VALUED | OBR.element("3").empty() |  | ServiceRequest.identifier.type.coding.system |  | uri | 0 | 1 |  |  | "http://terminology.hl7.org/CodeSystem/v2-0203" |
4 | ORC-4 | Placer Group Number | EI | 0 | 1 |  |  | If ORC-4 data type "EI" is used | ServiceRequest.requisition.value |  | Identifier | 0 | 1 |  |  |  |
4 | ORC-4 | Placer Group Number | EI | 0 | 1 |  |  | If ORC-4 data type "EI" is used | ServiceRequest.requisition.type.coding.code |  | code | 0 | 1 |  |  | "PGN" |
4 | ORC-4 | Placer Group Number | EI |  |  |  |  | If ORC-4 data type "EI" is used | ServiceRequest.requisition.type.coding.system |  | uri | 0 | 1 |  |  | "http://terminology.hl7.org/CodeSystem/v2-0203" |
4 | ORC-4 | Placer Group Number | EIP | 0 | 1 |  |  | If ORC-4 data type "EIP" is used | ServiceRequest.requisition.value |  | Identifier | 0 | 1 |  |  |  | Note that the ORC-4 data type was changed from EI to EIP in 2.8.2 and then changed back to EI in 2.9 while ORC-38 was added. This mapping ensures that a Filler Group Number always is mapped to ServiceRequest.identifier.
4 | ORC-4 | Placer Group Number | EIP | 0 | 1 |  |  | If ORC-4 data type "EIP" is used | ServiceRequest.requisition.type.coding.code |  | code | 0 | 1 |  |  | "PGN" |
4 | ORC-4 | Placer Group Number | EIP | 0 | 1 |  |  | If ORC-4 data type "EIP" is used | ServiceRequest.requisition.type.coding.system |  | uri | 0 | 1 |  |  | "http://terminology.hl7.org/CodeSystem/v2-0203" |
4 | ORC-4 | Placer Group Number | EIP | 0 | 1 | IF ORC-4.2 VALUED AND ORC-38 IS NOT VALUED |  | If ORC-4 data type "EIP" is used | ServiceRequest.identifier.value |  | Identifier | 0 | 1 |  |  |  |
4 | ORC-4 | Placer Group Number | EIP | 0 | 1 | IF ORC-4.2 VALUED AND ORC-38 IS NOT VALUED |  | If ORC-4 data type "EIP" is used | ServiceRequest.identifier.type.coding.code |  | code | 0 | 1 |  |  | "FGN" |
4 | ORC-4 | Placer Group Number | EIP | 0 | 1 | IF ORC-4.2 VALUED AND ORC-38 IS NOT VALUED |  | If ORC-4 data type "EIP" is used | ServiceRequest.identifier.type.coding.system |  | uri | 0 | 1 |  |  | "http://terminology.hl7.org/CodeSystem/v2-0203" |
5 | ORC-5 | Order Status | ID | 0 | 1 |  |  |  | ServiceRequest.status |  | code | 1 | 1 |  | OrderStatus |  |
6 | ORC-6 | Response Flag | ID | 0 | 1 |  |  |  |  |  |  |  |  |  |  |  |
7 | ORC-7 | Quantity/Timing | TQ | 0 | -1 |  |  |  | ServiceRequest.$this |  |  |  |  | TQ[ServiceRequest] |  |  |
8 | ORC-8 | Parent Order | EIP | 0 | -1 |  |  |  |  |  |  |  |  |  |  |  | This will be addressed in a future edition when addressing parent relationships for micro results.
9 | ORC-9 | Date/Time of Order Event | DTM | 0 | 1 | IF ORC.1 IS "NW" | ORC.element("1")="NW" |  | ServiceRequest.authoredOn |  | dateTime | 0 | 1 |  |  |  |
9 | ORC-9 | Date/Time of Order Event | DTM | 0 | 1 |  |  |  | ServiceRequest.extension.url |  | uri | 1 | 1 |  |  | "http://hl7.org/fhir/StructureDefinition/businessEvent" |
9 | ORC-9 | Date/Time of Order Event | DTM | 0 | 1 |  |  |  | ServiceRequest.extension.extension.url |  | uri | 1 | 1 |  |  | "date" |
9 | ORC-9 | Date/Time of Order Event | DTM | 0 | 1 |  |  |  | ServiceRequest.extension.extension.valuedateTime |  | dateTime | 1 | 1 |  |  |  |
10 | ORC-10 | Entered By | XCN | 0 | -1 |  |  |  |  |  |  |  |  |  |  |  |
11 | ORC-11 | Verified By | XCN | 0 | -1 |  |  |  |  |  |  |  |  |  |  |  |
12 | ORC-12 | Ordering Provider | XCN | 0 | -1 |  |  |  | ServiceRequest.requester(ServiceRequest.PractitionerRole.practitioner) |  | Reference(ServiceRequest.Practitioner) | 0 | 1 | XCN[Practitioner] |  |  |
13 | ORC-13 | Enterer's Location | PL | 0 | 1 |  |  |  |  |  |  |  |  |  |  |  |
14 | ORC-14 | Call Back Phone Number | XTN | 0 | 2 | IF OBR-17 NOT VALUED | OBR.element("17").empty() |  | ServiceRequest.extension.url |  | uri | 0 | 2 |  |  | "http://hl7.org/fhir/StructureDefinition/servicerequest-order-callback-phone-number" |
14 | ORC-14 | Call Back Phone Number | XTN | 0 | 2 | IF OBR-17 NOT VALUED | OBR.element("17").empty() |  | ServiceRequest.extension.valueContactPoint |  | ContactPoint | 0 | 2 | XTN[ContactPoint] |  |  |
15 | ORC-15 | Order Effective Date/Time | DTM | 0 | 1 |  |  |  |  |  | dateTime | 0 | 1 |  |  |  | We are requesting ballot feedback on how systems are using ORC-15 today so that we can either establish a mapping or define a new extension
16 | ORC-16 | Order Control Code Reason | CWE | 0 | 1 | IF ORC-5 NOT VALUED |  |  | ServiceRequest.extension.url |  | uri | 1 | 1 |  |  | "http://hl7.org/fhir/StructureDefinition/request-statusReason" |
16 | ORC-16 | Order Control Code Reason | CWE | 0 | 1 | IF ORC-5 NOT VALUED |  |  | ServiceRequest.extension.valueCodeableConcept |  | CodeableConcept | 1 | 1 | CWE[CodeableConcept] |  |  |
16 | ORC-16 | Order Control Code Reason | CWE | 0 | 1 |  |  |  |  | extension??-orderControlCodeReason | CodeableConcept | 0 | 1 | CWE[CodeableConcept] |  |  |
17 | ORC-17 | Entering Organization | CWE | 0 | 1 |  |  |  |  |  |  |  |  |  |  |  |
18 | ORC-18 | Entering Device | CWE | 0 | 1 |  |  |  |  |  |  |  |  |  |  |  |
19 | ORC-19 | Action By | XCN | 0 | -1 |  |  |  |  |  |  |  |  |  |  |  |
20 | ORC-20 | Advanced Beneficiary Notice Code | CWE | 0 | 1 |  |  |  |  |  |  |  |  |  |  |  |
21 | ORC-21 | Ordering Facility Name | XON | 0 | -1 |  |  |  | ServiceRequest.requester(ServiceRequest.PractitionerRole.organization(ServiceRequest.Organization) |  | Reference(ServiceRequest.Organization) | 0 | 1 | XON[Organization] |  |  | PractitionerRole.location is an alternative mapping, we invite ballot comments on which element in PractitionerRole is best.
22 | ORC-22 | Ordering Facility Address | XAD | 0 | -1 |  |  |  | ServiceRequest.requester(ServiceRequest.PractitionerRole.organization(ServiceRequest.Organization.address) |  | Address | 0 | -1 | XAD[Address] |  |  |
23 | ORC-23 | Ordering Facility Phone Number | XTN | 0 | -1 |  |  |  | ServiceRequest.requester(ServiceRequest.PractitionerRole.organization(ServiceRequest.Organization.telecom) |  | ContactPoint | 0 | -1 | XTN[ContactPoint] |  |  |
24 | ORC-24 | Ordering Provider Address | XAD | 0 | -1 |  |  |  | ServiceRequest.requester(ServiceRequest.PractitionerRole.practitioner(ServiceRequest.Practitioner.address) |  |  |  |  | XAD[Address] |  |  | We request feedback on whether this address is more directly related to the Practitioner rather than the PractitionerRole
25 | ORC-25 | Order Status Modifier | CWE | 0 | 1 |  |  |  |  | extension??-statusModifier | CodeableConcept | 0 | 1 | CWE[CodeableConcept] |  |  |
26 | ORC-26 | Advanced Beneficiary Notice Override Reason | CWE | 0 | 1 |  |  |  |  |  |  |  |  |  |  |  |
27 | ORC-27 | Filler's Expected Availability Date/Time | DTM | 0 | 1 |  |  |  |  |  |  |  |  |  |  |  |
28 | ORC-28 | Confidentiality Code | CWE | 0 | 1 |  |  |  | meta.security |  | Coding | 0 | -1 | CWE[Coding] | ConfidentialityCode |  |
29 | ORC-29 | Order Type | CWE | 0 | 1 |  |  |  | ServiceRequest.locationCode |  | CodeableConcept | 0 | -1 | CWE[CodeableConcept] | OrderType |  |
30 | ORC-30 | Enterer Authorization Mode | CNE | 0 | 1 |  |  |  |  |  |  |  |  |  |  |  |
31 | ORC-31 | Parent Universal Service Identifier | CWE | 0 | 1 |  |  |  |  | basedOn[1].extension??-parent.service | CodeableConcept |  |  | CWE[CodeableConcept] |  |  |
32 | ORC-32 | Advanced Beneficiary Notice Date | DT | 0 | 1 |  |  |  |  |  |  |  |  |  |  |  |
33 | ORC-33 | Alternate Placer Order Number | CX | 0 | -1 | IF OBR-53 NOT VALUED | OBR.element("2").empty() |  | Identifier |  | Identifier | 0 | -1 | CX[Identifier] |  |  |
33 | ORC-33 | Alternate Placer Order Number | CX | 0 | -1 | IF OBR-53 NOT VALUED | OBR.element("2").empty() |  | ServiceRequest.identifier.type.coding.code |  | code | 0 | 1 |  |  | "PLAC" |
33 | ORC-33 | Alternate Placer Order Number | CX | 0 | -1 | IF OBR-53 NOT VALUED | OBR.element("2").empty() |  | ServiceRequest.identifier.type.coding.system |  | uri | 0 | 1 |  |  | "http://terminology.hl7.org/CodeSystem/v2-0203" |
34 | ORC-34 | Order Workflow Profile | CWE | 0 | -1 |  |  |  |  |  |  |  |  |  |  |  |
35 | ORC-35 | Action Code | ID | 0 | 1 |  |  |  |  |  |  |  |  |  |  |  |
36 | ORC-36 | Order Status Date Range | DR | 0 | 1 |  |  |  |  |  |  |  |  |  |  |  |
37 | ORC-37 | Order Creation Date/Time | DTM | 0 | 1 |  |  |  |  |  |  |  |  |  |  |  |
38 | ORC-38 | Filler Order Group Number | EI | 0 | 1 |  |  |  | ServiceRequest.identifier.value |  | Identifier | 0 | 1 |  |  |  |
38 | ORC-38 | Filler Order Group Number | EI | 0 | 1 |  |  |  | ServiceRequest.identifier.type.coding.code |  | code | 0 | 1 |  |  | "FGN" |
38 | ORC-38 | Filler Order Group Number | EI | 0 | 1 |  |  |  | ServiceRequest.identifier.type.coding.system |  | uri | 0 | 1 |  |  | "http://terminology.hl7.org/CodeSystem/v2-0203" |

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 |
ORC-1 | Order Control |  | ORC.element("5").empty() | IF ORC-5 NOT VALUED | is equivalent to | status | status | This is a complicated mapping where .status, .intent, and Task get involved that may have various localized interpretation.
ORC-1 | Order Control |  |  |  | is equivalent to | intent | intent |
ORC-1 | Order Control |  |  |  | is equivalent to | extension.url | extension.url |
ORC-1 | Order Control |  |  |  | is equivalent to | extension[1].extension[1].url | extension[1].extension[1].url |
ORC-1 | Order Control |  |  |  | is equivalent to | extension[1].extension[1].valueCodeableConcept.coding.code | extension[1].extension[1].valueCodeableConcept.coding.code |
ORC-1 | Order Control |  |  |  | is equivalent to | extension[1].extension[1].valueCodeableConcept.coding.system | extension[1].extension[1].valueCodeableConcept.coding.system |
ORC-2 | Placer Order Number |  | OBR.element("2").empty() | IF OBR-2 NOT VALUED | is equivalent to | identifier[1] | identifier[1] |
ORC-2 | Placer Order Number |  | OBR.element("2").empty() | IF OBR-2 NOT VALUED | is equivalent to | identifier[1].type.coding.code | identifier[1].type.coding.code |
ORC-2 | Placer Order Number |  | OBR.element("2").empty() | IF OBR-2 NOT VALUED | is equivalent to | identifier[1].type.coding.system | identifier[1].type.coding.system |
ORC-3 | Filler Order Number |  | OBR.element("3").empty() | IF OBR-3 NOT VALUED | is equivalent to | identifier[2] | identifier[2] |
ORC-3 | Filler Order Number |  | OBR.element("3").empty() | IF OBR-3 NOT VALUED | is equivalent to | identifier[2].type.coding.code | identifier[2].type.coding.code |
ORC-3 | Filler Order Number |  | OBR.element("3").empty() | IF OBR-3 NOT VALUED | is equivalent to | identifier[2].type.coding.system | identifier[2].type.coding.system |
ORC-4 | Placer Group Number | If ORC-4 data type "EI" is used |  |  | is equivalent to | requisition[1].value | requisition[1].value |
ORC-4 | Placer Group Number | If ORC-4 data type "EI" is used |  |  | is equivalent to | requisition[1].type.coding.code | requisition[1].type.coding.code |
ORC-4 | Placer Group Number | If ORC-4 data type "EI" is used |  |  | is equivalent to | requisition[1].type.coding.system | requisition[1].type.coding.system |
ORC-4 | Placer Group Number | If ORC-4 data type "EIP" is used |  |  | is equivalent to | requisition[2].value | requisition[2].value | Note that the ORC-4 data type was changed from EI to EIP in 2.8.2 and then changed back to EI in 2.9 while ORC-38 was added. This mapping ensures that a Filler Group Number always is mapped to ServiceRequest.identifier.
ORC-4 | Placer Group Number | If ORC-4 data type "EIP" is used |  |  | is equivalent to | requisition[2].type.coding.code | requisition[2].type.coding.code |
ORC-4 | Placer Group Number | If ORC-4 data type "EIP" is used |  |  | is equivalent to | requisition[2].type.coding.system | requisition[2].type.coding.system |
ORC-4 | Placer Group Number | If ORC-4 data type "EIP" is used |  | IF ORC-4.2 VALUED AND ORC-38 IS NOT VALUED | is equivalent to | identifier[3].value | identifier[3].value |
ORC-4 | Placer Group Number | If ORC-4 data type "EIP" is used |  | IF ORC-4.2 VALUED AND ORC-38 IS NOT VALUED | is equivalent to | identifier[3].type.coding.code | identifier[3].type.coding.code |
ORC-4 | Placer Group Number | If ORC-4 data type "EIP" is used |  | IF ORC-4.2 VALUED AND ORC-38 IS NOT VALUED | is equivalent to | identifier[3].type.coding.system | identifier[3].type.coding.system |
ORC-5 | Order Status |  |  |  | is equivalent to | status | status |
ORC-7 | Quantity/Timing |  |  |  | is equivalent to | $this | $this |
ORC-9 | Date/Time of Order Event |  | ORC.element("1")="NW" | IF ORC.1 IS "NW" | is equivalent to | authoredOn | authoredOn |
ORC-9 | Date/Time of Order Event |  |  |  | is equivalent to | extension[2].url | extension[2].url |
ORC-9 | Date/Time of Order Event |  |  |  | is equivalent to | extension[2].extension[1].url | extension[2].extension[1].url |
ORC-9 | Date/Time of Order Event |  |  |  | is equivalent to | extension[2].extension[1].valuedateTime | extension[2].extension[1].valuedateTime |
ORC-12 | Ordering Provider |  |  |  | is equivalent to | requester(PractitionerRole.practitioner) | requester(PractitionerRole.practitioner) |
ORC-14 | Call Back Phone Number |  | OBR.element("17").empty() | IF OBR-17 NOT VALUED | is equivalent to | extension[3].url | extension[3].url |
ORC-14 | Call Back Phone Number |  | OBR.element("17").empty() | IF OBR-17 NOT VALUED | is equivalent to | extension[3].valueContactPoint | extension[3].valueContactPoint |
ORC-16 | Order Control Code Reason |  |  | IF ORC-5 NOT VALUED | is equivalent to | extension[3].url | extension[3].url |
ORC-16 | Order Control Code Reason |  |  | IF ORC-5 NOT VALUED | is equivalent to | extension[3].valueCodeableConcept | extension[3].valueCodeableConcept |
ORC-21 | Ordering Facility Name |  |  |  | is equivalent to | requester(PractitionerRole.organization(Organization)) | requester(PractitionerRole.organization(Organization)) | PractitionerRole.location is an alternative mapping, we invite ballot comments on which element in PractitionerRole is best.
ORC-22 | Ordering Facility Address |  |  |  | is equivalent to | requester(PractitionerRole.organization(Organization.address)) | requester(PractitionerRole.organization(Organization.address)) |
ORC-23 | Ordering Facility Phone Number |  |  |  | is equivalent to | requester(PractitionerRole.organization(Organization.telecom)) | requester(PractitionerRole.organization(Organization.telecom)) |
ORC-24 | Ordering Provider Address |  |  |  | is equivalent to | requester(PractitionerRole.practitioner(Practitioner.address)) | requester(PractitionerRole.practitioner(Practitioner.address)) | We request feedback on whether this address is more directly related to the Practitioner rather than the PractitionerRole
ORC-28 | Confidentiality Code |  |  |  | is equivalent to | meta.security | meta.security |
ORC-29 | Order Type |  |  |  | is equivalent to | locationCode | locationCode |
ORC-33 | Alternate Placer Order Number |  | OBR.element("2").empty() | IF OBR-53 NOT VALUED | is equivalent to | identifier[4] | identifier[4] |
ORC-33 | Alternate Placer Order Number |  | OBR.element("2").empty() | IF OBR-53 NOT VALUED | is equivalent to | identifier[4].type.coding.code | identifier[4].type.coding.code |
ORC-33 | Alternate Placer Order Number |  | OBR.element("2").empty() | IF OBR-53 NOT VALUED | is equivalent to | identifier[4].type.coding.system | identifier[4].type.coding.system |
ORC-38 | Filler Order Group Number |  |  |  | is equivalent to | identifier[5].value | identifier[5].value |
ORC-38 | Filler Order Group Number |  |  |  | is equivalent to | identifier[5].type.coding.code | identifier[5].type.coding.code |
ORC-38 | Filler Order Group Number |  |  |  | is equivalent to | identifier[5].type.coding.system | identifier[5].type.coding.system |

### Notes: