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: Message ORM_O01 to Bundle Map (Experimental)

Official URL: http://hl7.org/fhir/uv/v2mappings/ConceptMap/message-orm-o01-to-bundle | Version: 1.0.0
Standards status: Informative | Computable Name: MessageORM_O01ToBundle
Copyright/Legal: Copyright (c) 2025, HL7 International, Inc., All Rights Reserved.

This ConceptMap represents a mapping from the HL7 V2 Message ORM_O01 to the FHIR Message Bundle.

This ConceptMap represents the mapping from the HL7 V2 ORM_O01 Message to the FHIR Message Bundle. See also the FHIR Shorthand or the CSV Source.

HL7 v2 | Condition (IF True, args) | HL7 FHIR | Comments
--- | --- | --- | ---
Sort Order | Identifier | Syntax | Name | Cardinality - Min | Cardinality - Max | Computable ANTLR | Computable FHIRPath | Narrative | Primary Target | Segment Map | References
1 | ORM_O01.MSH | MSH | Message Header | 1 | 1 |  |  |  | Bundle | MSH[Bundle] |  |
1 | ORM_O01.MSH | MSH | Message Header | 1 | 1 |  |  |  | MessageHeader | MSH[MessageHeader] |  | Processing of the MSH segment results in the creation of a new MessageHeader resource
1 | ORM_O01.MSH | MSH | Message Header | 1 | 1 |  |  | If there is a source in MSH-4, or known based on the configuration. | Provenance | MSH[Provenance-Source] | Provenance[1].target.reference=Bundle.id; Provenance[1].target.reference=MessageHeader[1].id | If the FHIR transformation does not yield a FHIR message, but only a set of resource (APIs, repository, etc.) than one should consider attaching this Provenance resource instance to the relevant FHIR resources generated.
1 | ORM_O01.MSH | MSH | Message Header | 1 | 1 |  |  |  | Provenance | MSH[Provenance-Transformation] | Provenance[2].target.reference=Bundle.id | If the FHIR transformation does not yield a FHIR Bunlde, but only a set of resource (APIs, repository, etc.) than one should consider attaching this Provenance resource instance to the relevant FHIR resources generated.
2 | ORM_O01.NTE | [{ NTE }] | Notes and Comments (for Header) | 0 | -1 |  |  |  |  |  |  | Incorporate SFT content for each of the SFT instances into the MessageHeader created from the MSH segment.
3 | ORM_O01.PATIENT | [ | PATIENT begin | 0 | 1 |  |  |  |  |  |  |
3.1 | ORM_O01.PATIENT.PID | PID | Patient Identification | 1 | 1 |  |  |  | Patient | PID[Patient] |  | Processing of the PID segment results in the creation of a new Patient resource
3.1 | ORM_O01.PATIENT.PID | PID | Patient Identification | 1 | 1 | IF PID-33 AND PID-34 VALUED |  | One may drop PID-33 from the condition if PID-34 Last Update Facility is still sufficient without a date. | Provenance | PID[Provenance-Patient] | Provenance.target.reference=Patient[1].id |
3.2 | ORM_O01.PATIENT.PD1 | [ PD1 ] | Additional Demographics | 0 | 1 |  |  |  | Patient | PD1[Patient] |  | Incorporate PD1 content into the Patient created from the PID segment.
3.2 | ORM_O01.PATIENT.PD1 | [ PD1 ] | Additional Demographics | 0 | 1 | IF PD1-7 VALUED |  |  | Observation | PD1[Observation-LivingWill] | Observation[2].subject.reference=Patient[1].id |
3.3 | ORM_O01.PATIENT.NTE | [{ NTE }] | Notes and Comments (for Patient ID) | 0 | -1 |  |  |  |  |  |  |
3.4 | ORM_O01.PATIENT.VISIT | [ | PATIENT_VISIT begin | 0 | 1 |  |  |  |  |  |  |
3.4.1 | ORM_O01.PATIENT.VISIT.PV1 | PV1 | Patient Visit | 1 | 1 |  |  |  | Encounter | PV1[Encounter] | Encounter.subject.reference=Patient[1].id | Processing of the PV1 segment results in the creation of a new Encounter resource
3.4.1 | ORM_O01.PATIENT.VISIT.PV1 | PV1 | Patient Visit | 1 | 1 | IF PV1-43 VALUED |  |  | Basic | PV1[Basic-EncounterHistory] | Basic.extension-EncounterHistory.subject.reference=Patient[1].id |
3.4.1 | ORM_O01.PATIENT.VISIT.PV1 | PV1 | Patient Visit | 1 | 1 |  |  |  | Patient | PV1[Patient] |  |
3.4.1 | ORM_O01.PATIENT.VISIT.PV1 | PV1 | Patient Visit | 1 | 1 | IF PV1-20 VALUE |  |  | Coverage | PV1[Coverage] | Coverage.beneficiary.reference=Patient[1].id |
3.4.2 | ORM_O01.PATIENT.VISIT.PV2 | [ PV2 ] | Patient Visit- Additional Info | 0 | 1 |  |  |  | Encounter | PV2[Encounter] |  | Incorporate PV2 content into the Encounter created from the PV1 segment.
3.4.3 | /ORM_O01.PATIENT.VISIT | ] | PATIENT_VISIT end |  |  |  |  |  |  |  |  |
3.5 | ORM_O01.PATIENT.INSURANCE | [{ | INSURANCE begin | 0 | -1 |  |  |  |  |  |  |
3.5.1 | ORM_O01.PATIENT.INSURANCE.IN1 | IN1 | Insurance | 1 | 1 |  |  |  | Coverage |  |  | Processing of the IN1 segment results in the creation of a new Coverage resource
3.5.2 | ORM_O01.PATIENT.INSURANCE.IN2 | [ IN2 ] | Insurance Additional Info | 0 | 1 |  |  |  | Coverage |  |  | Incorporate IN2 content into the Coverage created from the IN1 segment.
3.5.3 | ORM_O01.PATIENT.INSURANCE.IN3 | [ IN3 ] | Insurance Add'l Info – Cert. | 0 | 1 |  |  |  | Coverage |  |  | Incorporate IN3 content into the Coverage created from the IN1 segment.
3.5.4 | /ORM_O01.PATIENT.INSURANCE | }] | INSURANCE end |  |  |  |  |  |  |  |  |
3.6 | ORM_O01.PATIENT.GT1 | [ GT1 ] | Guarantor | 0 | 1 |  |  |  |  |  |  |
3.7 | ORM_O01.PATIENT.AL1 | [{ AL1 }] | Allergy Information | 0 | -1 |  |  |  | AllergyIntolerance | AL1[AllergyIntolerance] | AllergyIntolerance.patient.reference=Patient[1].id | Processing of the AL1 segment results in the creation of a new AllergyIntolerance resource
3.8 | /ORM_O01.PATIENT | ] | PATIENT end |  |  |  |  |  |  |  |  |
4 | ORM_O01.ORDER | { | ORDER begin | 1 | -1 |  |  |  |  |  |  |
4.1 | ORM_O01.ORDER.ORC | ORC | Common Order | 1 | 1 |  |  |  | ServiceRequest | ORC[ServiceRequest] | ServiceRequest[1].subject.reference=Patient[1].id | Processing of each ORC segment results in the creation of a new ServiceRequest resource
4.1 | ORM_O01.ORDER.ORC | ORC | Common Order | 1 | 1 |  | h |  | Task |  |  | Processing of each ORC segment results in the creation of a new Task resource which is linked back to the ServiceRequest created for the same ORC segment. =*= The creation of a Task resource and its inclusion in the FHIR bundle should only happen when the receiving system is responsible for fulfillment of the ServiceRequest. Other systems may receive notification of the order, but should not receive a Task Resource if they are not the intended filler system. =*= The actual value of the ORC-1 Order Control Code will yield different population of the Task resource.
4.1 | ORM_O01.ORDER.ORC | ORC | Common Order | 1 | 1 |  |  |  | Provenance | ORC[Provenance] | Provenance[2].target=ServiceRequest[1] |
4.2.begin | ORM_O01.ORDER_DETAIL | [ | ORDER_DETAIL begin | 0 | 1 |  |  |  |  |  |  |
4.2.1.begin | ORM_O01.ORDER_DETAIL.CHOICE | < |  | 1 | 1 |  |  |  |  |  |  |
4.2.1.1 | ORM_O01.ORDER_DETAIL.CHOICE.OBR | OBR | Order Detail Segment OBR, etc. | 0 | 1 | IF PID VALUED |  |  | ServiceRequest | OBR[ServiceRequest] |  | Incorporate OBR content into the ServiceRequest created from the ORC segment in the same segment group.
4.2.1.1 | ORM_O01.ORDER_DETAIL.CHOICE.OBR | OBR | Order Detail Segment OBR, etc. | 0 | 1 | IF PID NOT VALUED |  |  | SupplyRequest | OBR[ServiceRequest] |  |
4.2.1.2 | ORM_O01.ORDER_DETAIL.CHOICE | | |  |  |  |  |  |  |  |  |  |
4.2.1.3 | ORM_O01.ORDER_DETAIL.CHOICE.RQD | RQD | Requisition Detail | 0 | 1 |  |  |  |  |  |  |
4.2.1.4 | ORM_O01.ORDER_DETAIL.CHOICE | | |  |  |  |  |  |  |  |  |  |
4.2.1.5 | ORM_O01.ORDER_DETAIL.CHOICE.RQ1 | RQ1 | Requisition Detail-1 | 0 | 1 |  |  |  |  |  |  |
4.2.1.6 | ORM_O01.ORDER_DETAIL.CHOICE | | |  |  |  |  |  |  |  |  |  |
4.2.1.7 | ORM_O01.ORDER_DETAIL.CHOICE.RXO | RXO | Pharmacy/Treatment Order | 0 | 1 |  |  |  | MedicationRequest | RXO[MedicationRequest] |  |
4.2.1.8 | ORM_O01.ORDER_DETAIL.CHOICE | | |  |  |  |  |  |  |  |  |  |
4.2.1.9 | ORM_O01.ORDER_DETAIL.CHOICE.ODS | ODS | Dietary Orders, Supplements, and Preferences | 0 | 1 | IF PID NOT VALUED |  |  | SupplyRequest |  |  |
4.2.1.10 | ORM_O01.ORDER_DETAIL.CHOICE | | |  |  |  |  |  |  |  |  |  |
4.2.1.11 | ORM_O01.ORDER_DETAIL.CHOICE.ODT | ODT | Diet Tray Instructions | 0 | 1 |  |  |  |  |  |  |
4.2.1.12 | /ORM_O01.ORDER_DETAIL.CHOICE | > |  |  |  |  |  |  |  |  |  |
4.2.2 | ORM_O01.ORDER_DETAIL.NTE | [{ NTE }] | Notes and Comments (for Detail) | 0 | -1 |  |  |  | ServiceRequest.note | NTE[ServiceRequest] |  |
4.2.3 | ORM_O01.ORDER_DETAIL.CTD | [ CTD ] | Contact Data 1 | 0 | 1 |  |  |  |  |  |  |
4.2.4 | ORM_O01.ORDER_DETAIL.DG1 | [{ DG1 }] | Diagnosis | 0 | -1 |  |  |  | ServiceRequest.reasonReference(Condition) | DG1[Condition] | Condition.subject.reference=Patient[1].id | Processing of the DG1 segment results in the creation of a new Condition resource which is referenced in the ServiceRequest created by the ORC segment
4.2.5 | ORM_O01.ORDER_DETAIL.OBSERVATION | [{ | OBSERVATION begin | 0 | -1 |  |  |  |  |  |  |
4.2.5.1 | ORM_O01.ORDER_DETAIL.OBSERVATION.OBX | OBX | Observation/Result | 1 | 1 | IF OBX-5 LST.count LESS THAN OR EQUALS 1 OR OBX-2 IS "NA" |  |  | Observation | OBX[Observation] | ServiceRequest[1].supportingInfo.reference=Observation[1].id; Observation[1].subject.id=Patient[1].id |
4.2.5.1 | ORM_O01.ORDER_DETAIL.OBSERVATION.OBX | OBX | Observation/Result | 1 | 1 | IF OBX-5 LST.count GREATER THAN 1 AND OBX-2 IS NOT "NA" |  |  | Observation | OBX[Observation-Component] | ServiceRequest[1].supportingInfo.reference=Observation[1].id; Observation[1].subject.id=Patient[1].id |
4.2.5.2 | ORM_O01.ORDER_DETAIL.OBSERVATION.NTE | [{ NTE }] | Notes and Comments (for Results) | 0 | -1 |  |  |  |  |  |  |
4.2.5.3 | /ORM_O01.ORDER_DETAIL.OBSERVATION | }] | OBSERVATION end |  |  |  |  |  |  |  |  |
4.2.6 | /ORM_O01.ORDER_DETAIL | ] | ORDER_DETAIL end |  |  |  |  |  |  |  |  |
4.3 | ORM_O01.ORDER.FT1 | [{ FT1 }] | Financial Transaction | 0 | -1 |  |  |  |  |  |  |
4.4 | ORM_O01.ORDER.CTI | [{ CTI }] | Clinical Trial Identification | 0 | -1 |  |  |  |  |  |  |
4.5 | ORM_O01.ORDER.BLG | [ BLG ] | Billing Segment | 0 | 1 |  |  |  |  |  |  |
4.6 | /ORM_O01.ORDER | } | ORDER end |  |  |  |  |  |  |  |  |

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 |
ORM_O01.MSH | Message Header |  |  |  | is equivalent to | Bundle | Bundle |
ORM_O01.MSH | Message Header |  |  |  | is equivalent to | MessageHeader[1] | MessageHeader[1] | Processing of the MSH segment results in the creation of a new MessageHeader resource
ORM_O01.MSH | Message Header | If there is a source in MSH-4, or known based on the configuration. |  |  | is equivalent to | Provenance[1] | Provenance[1] | If the FHIR transformation does not yield a FHIR message, but only a set of resource (APIs, repository, etc.) than one should consider attaching this Provenance resource instance to the relevant FHIR resources generated.
ORM_O01.MSH | Message Header |  |  |  | is equivalent to | Provenance[2] | Provenance[2] | If the FHIR transformation does not yield a FHIR Bunlde, but only a set of resource (APIs, repository, etc.) than one should consider attaching this Provenance resource instance to the relevant FHIR resources generated.
ORM_O01.PATIENT.PID | Patient Identification |  |  |  | is equivalent to | Patient[1] | Patient[1] | Processing of the PID segment results in the creation of a new Patient resource
ORM_O01.PATIENT.PID | Patient Identification | One may drop PID-33 from the condition if PID-34 Last Update Facility is still sufficient without a date. |  | IF PID-33 AND PID-34 VALUED | is equivalent to | Provenance[4] | Provenance[4] |
ORM_O01.PATIENT.PD1 | Additional Demographics |  |  |  | is equivalent to | Patient[1] | Patient[1] | Incorporate PD1 content into the Patient created from the PID segment.
ORM_O01.PATIENT.PD1 | Additional Demographics |  |  | IF PD1-7 VALUED | is equivalent to | Observation[2] | Observation[2] |
ORM_O01.PATIENT.VISIT.PV1 | Patient Visit |  |  |  | is equivalent to | Encounter[1] | Encounter[1] | Processing of the PV1 segment results in the creation of a new Encounter resource
ORM_O01.PATIENT.VISIT.PV1 | Patient Visit |  |  | IF PV1-43 VALUED | is equivalent to | Basic | Basic |
ORM_O01.PATIENT.VISIT.PV1 | Patient Visit |  |  |  | is equivalent to | Patient[1] | Patient[1] |
ORM_O01.PATIENT.VISIT.PV1 | Patient Visit |  |  | IF PV1-20 VALUE | is equivalent to | Coverage[1] | Coverage[1] |
ORM_O01.PATIENT.VISIT.PV2 | Patient Visit- Additional Info |  |  |  | is equivalent to | Encounter[1] | Encounter[1] | Incorporate PV2 content into the Encounter created from the PV1 segment.
ORM_O01.PATIENT.INSURANCE.IN1 | Insurance |  |  |  | is equivalent to | Coverage[1] | Coverage[1] | Processing of the IN1 segment results in the creation of a new Coverage resource
ORM_O01.PATIENT.INSURANCE.IN2 | Insurance Additional Info |  |  |  | is equivalent to | Coverage[1] | Coverage[1] | Incorporate IN2 content into the Coverage created from the IN1 segment.
ORM_O01.PATIENT.INSURANCE.IN3 | Insurance Add'l Info – Cert. |  |  |  | is equivalent to | Coverage[1] | Coverage[1] | Incorporate IN3 content into the Coverage created from the IN1 segment.
ORM_O01.PATIENT.AL1 | Allergy Information |  |  |  | is equivalent to | AllergyIntolerance | AllergyIntolerance | Processing of the AL1 segment results in the creation of a new AllergyIntolerance resource
ORM_O01.ORDER.ORC | Common Order |  |  |  | is equivalent to | ServiceRequest[1] | ServiceRequest[1] | Processing of each ORC segment results in the creation of a new ServiceRequest resource
ORM_O01.ORDER.ORC | Common Order |  | h |  | is equivalent to | Task[1] | Task[1] | Processing of each ORC segment results in the creation of a new Task resource which is linked back to the ServiceRequest created for the same ORC segment. =*= The creation of a Task resource and its inclusion in the FHIR bundle should only happen when the receiving system is responsible for fulfillment of the ServiceRequest. Other systems may receive notification of the order, but should not receive a Task Resource if they are not the intended filler system. =*= The actual value of the ORC-1 Order Control Code will yield different population of the Task resource.
ORM_O01.ORDER.ORC | Common Order |  |  |  | is equivalent to | Provenance[2] | Provenance[2] |
ORM_O01.ORDER_DETAIL.CHOICE.OBR | Order Detail Segment OBR, etc. |  |  | IF PID VALUED | is equivalent to | ServiceRequest[1] | ServiceRequest[1] | Incorporate OBR content into the ServiceRequest created from the ORC segment in the same segment group.
ORM_O01.ORDER_DETAIL.CHOICE.OBR | Order Detail Segment OBR, etc. |  |  | IF PID NOT VALUED | is equivalent to | SupplyRequest[1] | SupplyRequest[1] |
ORM_O01.ORDER_DETAIL.CHOICE.RXO | Pharmacy/Treatment Order |  |  |  | is equivalent to | MedicationRequest | MedicationRequest |
ORM_O01.ORDER_DETAIL.CHOICE.ODS | Dietary Orders, Supplements, and Preferences |  |  | IF PID NOT VALUED | is equivalent to | SupplyRequest[2] | SupplyRequest[2] |
ORM_O01.ORDER_DETAIL.NTE | Notes and Comments (for Detail) |  |  |  | is equivalent to | ServiceRequest[1].note | ServiceRequest[1].note |
ORM_O01.ORDER_DETAIL.DG1 | Diagnosis |  |  |  | is equivalent to | ServiceRequest[1].reasonReference(Condition) | ServiceRequest[1].reasonReference(Condition) | Processing of the DG1 segment results in the creation of a new Condition resource which is referenced in the ServiceRequest created by the ORC segment
ORM_O01.ORDER_DETAIL.OBSERVATION.OBX | Observation/Result |  |  | IF OBX-5 LST.count LESS THAN OR EQUALS 1 OR OBX-2 IS "NA" | is equivalent to | Observation[1] | Observation[1] |
ORM_O01.ORDER_DETAIL.OBSERVATION.OBX | Observation/Result |  |  | IF OBX-5 LST.count GREATER THAN 1 AND OBX-2 IS NOT "NA" | is equivalent to | Observation[1] | Observation[1] |

### Notes: