Myriad HL7 ORM/ORU Message Standards
- Myriad uses HL7 version 2.3
- Myriad results include an embedded PDF, base64 encoded in an OBX segment in the ORU message.
Myriad prefers to exchange messages via LLP over a VPN, and supports all the following connectivity methods:
- LAN-2-LAN IPsec VPN
- Client Based Remote Access VPN
- SFTP/FTPS over public internet
- FTP (over VPN Tunnel)
- API calls
In the specification below, 'R' refers to Required field, 'C' refers to Conditional, 'O' refers to Optional.
Myriad HL7 Order Message Format
Order Message Structure (ORM)
These segments are sent in the following order:
- MSH - required
- PID - required
- PV1 - optional
INSURANCE
- IN1 - conditional
- GT1 - optional
- DG1 - required
The IN1 is required if insurance needs to be billed. If neither an IN1 segment nor GT1 segment is received, we assume that the billing option is bill-to-clinic.
ORDER
- ORC - required
- OBR - required
- DG1 - required
- OBX - optional
MSH Segment - Message Header
Field Mnemonic | Use/Value Field | Required Field? | Length | Field or Segment Delimiter |
---|---|---|---|---|
MSH-0 | Segment Type IDUse: To identify the segment | R | 3 | | |
MSH-1 | Field DelimiterUse: To separate fields | R | 1 | | |
MSH-2 | Encoding CharactersUse: To separate components, repeating fields, sub-components | R | 4 | | |
MSH-3 | Sending ApplicationUse: ID to identify EMR system. Mutually agreed upon between Myriad and Vendor | R | 15 | | |
MSH-4 | Sending FacilityUse: unique clinic ID, sent by Myriad to vendor to identify practice location | R | 15 | | |
MSH-5 | Receiving ApplicationUse: to identify the lab system receiving the orders | R | 15 | | |
MSH-6 | Receiving Facility | R | 10 | | |
MSH-7 | Date/Time of Message | R | 12 | | |
MSH-9 | Message Type | R | 3 | | |
MSH-10 | Message Control ID | O | N/A | | |
MSH-11 | Processing ID | O | 1 | | |
MSH-12 | Version of HL7 | R | 3 | CR |
PID Segment - Patient Identification
| Field Mnemonic | Use/Value Field | Required Field? | Length | Field or Segment Delimiter |
| ------------------ | --------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------- | ---------- | ------------------------------ | --- | -------------------------- | --- | --- | --- | --- | ------------------ | --- | --- | --- | --- | --------------------- | --- | --- | --- |
| PID-0 | Segment Type IDUse: To identify the segment
'U' is accepted but we need gender to appear with sample | R | | | | | PID-10 | Patient RaceCan also be provided as part of the AOE answers | R | 15 | | | | PID-11 | 11.1 Patient Address | R | 35 | ^ | | | 11.3 Patient City | R | 16 | ^ | | | 11.4 Patient State | R | 2 | ^ | | | 11.5 Patient Zip Code | R | 9 | ^ | | PID-13 | 13.1 Patient Home Phone Number | R | 10 | ^ | | | 13.4 Patient Email Address | R | 40 | ^ | | PID-14 | Patient Business Phone Number | C (required if PID-13 is empty) | 10 | | | | PID-16 | 16.1 Marital status
PV1 Segment
Optional Segment
Field Mnemonic | Use/Value Field | Required Field? | Length | Field or Segment Delimiter |
---|---|---|---|---|
PV1-0 | Segment Type IDUse: To identify the segment | R | 3 | | |
PV1-1 | Set ID | R | 4 | | |
PV1-3 | Assigned Patient Location(Can be used to distinguish sites) | O | | |
IN1 Segment - Insurance
The IN1 segment is required for third party billing and preferred for other billing options with the IN1-47 segment populated. When multiple IN1 segments are sent we bill to the first one. If we receive neither an IN1 nor a GT1, we bill to clinic.
Field Mnemonic | Use/Value Field | Required Field? | Length | Field or Segment Delimiter |
---|---|---|---|---|
IN1-0 | Segment Type IDUse: To identify the segment | R | 3 | | |
IN1-1 | Sequence NumberUse: To identify the number of the IN1 segment | O | 4 | | |
IN1-2 | 2.2 Plan name | O | | | |
IN1-4 | Insurance Company Name4.1 Carrier name | R | 30 | | |
IN1-5 | 5.1 Insurance Company Address | R | 35 | | |
5.3 Insurance Company City | R | 16 | ^ | |
5.4 Insurance Company State | R | 2 | ^ | |
5.5 Insurance Company Zip Code | R | 9 | ^ | |
IN1-8 | Group Number of Insured Patient | R | 15 | | |
IN1-16 | 16.1 Insured's last name16.2 Insured's first name | R | 15 | | |
IN1-17 | Insured's Relationship to Patient | R | 1 | | |
IN1-18 | Insured's DOB | O | | | |
IN1-19 | Insured's Address | O | | | |
IN1-31 | Type of Agreement | O | 1 | | |
IN1-36 | Policy Number (Insurance Number/Member ID) | R | 25 | | |
IN1-47 | Coverage type | R | 1 | CR |
GT1 Segment - Guarantor
Send the GT1 if the guarantor's address is to override the IN1 address.
Field Mnemonic | Use/Value Field | Required Field? | Length | Field or Segment Delimiter |
---|---|---|---|---|
GT1-0 | Segment Type IDUse: To identify the segment | R | 3 | | |
GT1-1 | Sequence Number | R | 4 | | |
GT1-3 | 3.1 Guarantor Last Name | R | 25 | ^ |
3.2 Guarantor First Name | R | 15 | ^ | |
GT1-5 | Guarantor Address(If a GT1 is provided, and GT1[11] is not 'Self', the GT1's address overrides the address in the IN1.) | R | 35 | ^ |
GT1-6 | Guarantor Home Phone Number | O | 10 | | |
GT1-11 | Guarantor Relationship to Patient | R | 1 | | |
DG1 Segment - Diagnosis
Field Mnemonic | Use/Value Field | Required Field? | Length | Field or Segment Delimiter |
---|---|---|---|---|
DG1-0 | Segment Type IDUse: To identify the segment | R | 3 | | |
DG1-1 | Sequence Number | R | 4 | | |
DG1-2 | Diagnosis Coding Method | R | 2 | | |
DG1-3 | Diagnosis Code Identifier | R | 8 | ^ |
ORC Segment - Common Order Segment
ORC and OBR segments are paired. Some ORC fields are duplicated in the OBR.
Field Mnemonic | Use/Value Field | Required Field? | Length | Field or Segment Delimiter |
---|---|---|---|---|
ORC-0 | Segment Type IDUse: To identify the segment | R | 3 | | |
ORC-1 | Order Control Code | R | 2 | | |
ORC-2 | 2.1 Unique Foreign Accession or Specimen or Requisition ID | R | 30 | ^ |
ORC-9 | Date/Time of Transaction | R | 12 | | |
ORC-12 | 12.1 Ordering Provider ID Number | R | 10 | ^ |
12.2 Ordering Provider Last Name | R | 25 | ^ | |
12.3 Ordering Provider First Name | R | 15 | ^ | |
12.8 Source Table | O | 1 | ~ or | |
OBR Segment - Observation Order
ORC and OBR segments are paired. Some OBR fields are duplicated in the ORC.
Field Mnemonic | Use/Value Field | Required Field? | Length | Field or Segment Delimiter |
---|---|---|---|---|
OBR-0 | Segment Type IDUse: To identify the segment | R | 3 | | |
OBR-1 | Sequence Number | R | 4 | | |
OBR-2 | 2.1 Unique Foreign Accession or Specimen or Requisition ID | R | 30 | ^ |
OBR-4 | 4.1 Observation Test Identifier | R | 15 | | |
4.2 Observation Test Text | R | 10 | ^ | |
4.3 Name of Coding System | O | 25 | ^ | |
OBR-7 | Observation/Specimen Collection Date/Time | R | 15 | ^ |
OBR-13 | 13.2 Comments on test order | O | 64 | ^ |
OBR-15 | Source of Specimen | C | 26 | | |
OBR-16 | 16.1 Ordering Provider ID Number | R | 20 | ^ |
16.2 Ordering Provider Last Name | R | 25 | ^ | |
16.3 Ordering Provider First Name | R | 15 | ^ | |
16.8 Source Table | O | 1 | | | |
OBR-18 | Alternate Foreign Accession/Specimen ID | O | 11 | | |
OBX Segment
AOE (ask-on-order-entry) questions and answers are sent in OBX segments. One question and one answer are transmitted per OBX.
Below are some examples of our AOEs. We will send compendia with the specific AOEs for each clinic, if supported.
Example OBX transmission in an ORM
(format is OBX|indexed number|ST|Question Code^Question||Option^Option Code|):
OBX|1|ST|Question0001^Is the patient currently pregnant||Yes^Yes|
OBX|3|ST|Question0003^Ethnicity||East Asian^ea|
OBX|8|ST|Question0050^Email Address||rogerrabbit@gmail.com^|
Example AOE Compendium format:
Question Code | Question | Tips | Required | Fieldtype |
---|---|---|---|---|
QUESTION0001 | Is the patient currently pregnant | O | DD | |
QUESTION0003 | Ethnicity | Please select the closest match if patient is of a mixed ethnicity. | R | DD |
QUESTION0050 | Patient Email Address | Necessary for more efficient handling of billing, status and results. | O | FT |
ID | OBX Code | Option | Option Code |
---|---|---|---|
1 | QUESTION0001 | Yes | Yes |
2 | QUESTION0001 | No | No |
5 | QUESTION0003 | Northern European | ne |
6 | QUESTION0003 | Southern European | so |
7 | QUESTION0003 | French Canadian | cj |
8 | QUESTION0003 | Ashkenazi Jewish | aj |
9 | QUESTION0003 | Finnish | fi |
10 | QUESTION0003 | Other Caucasian | co |
11 | QUESTION0003 | East Asian | ea |
12 | QUESTION0003 | South Asian | sa |
13 | QUESTION0003 | Southeast Asian | se |
14 | QUESTION0003 | African-American | af |
15 | QUESTION0003 | Hispanic | hi |
16 | QUESTION0003 | Middle Eastern | me |
17 | QUESTION0003 | Native American | na |
18 | QUESTION0003 | Pacific Islander | pi |
19 | QUESTION0003 | Unknown | uk |
Myriad HL7 Result Message Format
Result Message Structure (ORU)
The ORU comprises of the following messages.
- MSH
- PID
- ORC (ORC and OBR are paired, and sent once per disease panel ordered)
- OBR
- NTE (accompanies OBR where necessary)
- OBX (repeated for every observation)
- NTE (accompanies OBX where necessary)
MSH Segment - Message Header
Field Mnemonic | Use/Value Field | Required Field? | Length | Field or Segment Delimiter |
---|---|---|---|---|
MSH-0 | Segment Type IDUse: To identify the segment | R | 3 | | |
MSH-1 | Field DelimiterUse: To separate fields | R | 1 | | |
MSH-2 | Component DelimiterUse: To separate components | R | 1 | | |
Repeat Delimiter Use: To identify repeating fields | R | 1 | | | |
Sub-component delimiterUse: To create sub-components | R | 1 | | | |
MSH-3 | Sending Application | R | 15 | | |
MSH-4 | Sending Facility | R | 15 | | |
MSH-5 | Receiving Application | R | 15 | | |
MSH-6 | Receiving Facility - Alphanumeric values | R | 15 | | |
MSH-7 | Date/Time of Message | R | 12 | | |
MSH-9 | 9.1 Message Type | R | 3 | | |
9.2 | ||||
MSH-10 | Message Control ID | R | 20 | | |
MSH-11 | Processing ID | R | 1 | | |
MSH-12 | Version of HL7 | R | 3 | CR |
PID Segment - Patient Identification
Field Mnemonic | Use/Value Field | Required Field? | Length | Field or Segment Delimiter |
---|---|---|---|---|
PID-0 | Segment Type IDUse: To identify the segment | R | 3 | | |
PID-1 | Sequence Number | O | 20 | | |
PID-5 | 5.1 Patient Last Name | R | 15 | ^ |
5.2 Patient First Name | R | 15 | ^ | |
PID-7 | Date of Birth | R | ^ | |
PID-8 | Patient Gender | R | | | |
PID-11 | 11.1 Patient Address | R | 35 | ^ |
11.3 Patient City | R | 16 | ^ | |
11.4 Patient State | R | 2 | ^ | |
11.5 Patient Zip Code | R | 9 | ^ |
ORC Segment - Common Order Segment
ORC and OBR segments are paired. Some ORC fields are duplicated in the OBR.
Field Mnemonic | Use/Value Field | Required Field? | Length | Field or Segment Delimiter |
---|---|---|---|---|
ORC-0 | Segment Type IDUse: To identify the segment | R | 3 | | |
ORC-1 | Order Control Code | R | 2 | | |
ORC-2 | 2.1 Unique Foreign Accession or Specimen or Requisition ID | R | 30 | ^ |
ORC-6 | R | 1 | | | |
ORC-9 | Date/Time of Transaction | R | 12 | | |
ORC-12 | 12.1 Ordering Provider ID Number | R | 10 | ^ |
12.2 Ordering Provider Last Name | R | 25 | ^ | |
12.3 Ordering Provider First Name | R | 15 | | |
OBR Segment - Observation Order
ORC and OBR segments are paired. Some OBR fields are duplicated in the ORC.
Field Mnemonic | Use/Value Field | Required Field? | Length | Field or Segment Delimiter |
---|---|---|---|---|
OBR-0 | Segment Type IDUse: To identify the segment | R | 3 | | |
OBR-1 | Sequence Number | R | 4 | | |
OBR-2 | Unique Foreign Accession or Specimen or Requisition ID | R | 30 | | |
OBR-3 | 3.1 Requisition number. Identical to OBR-2 | | | ^ | |
OBR-4 | 4.1 Observation Test Identifier | R | 15 | ^ |
4.2 Observation Test Text | R | 50 | | | |
OBR-6 | Requisition time (datetime order was placed) | O | 25 | | |
OBR-7 | Observation/Specimen Collection Date/Time | R | 12 | | |
OBR-8 | Observation End Date/Time | O | 12 | | |
OBR-14 | Observation/Specimen Collection Date/Time | R | 15 | | |
OBR-15 | Source of Specimen | C | 26 | | |
OBR-16 | 16.1 Ordering Provider ID Number | R | 10 | ^ |
16.2 Ordering Provider Last Name | R | 25 | ^ | |
16.3 Ordering Provider First Name | R | 15 | | | |
OBR-22 | Test completion date | R | 12 | | |
OBR-25 | Order Result Status | R | 1 | | |
OBX Segment - Result Observation Segment
OBX segments will be sent with every specimen reported.
Field Mnemonic | Use/Value Field | Required Field? | Length | Field or Segment Delimiter |
---|---|---|---|---|
OBX-0 | Segment Type IDUse: To identify the segment | R | 3 | | |
OBX-1 | Sequence Number | R | 4 | | |
OBX-2 | Use: to identify the type of data being sent | R | 2 | | |
OBX-3 | 3.1 Observation Test Identifier | R | 15 | | |
3.2 Observation Test Text | R | 50 | ^ | |
OBX-5 | Observation Value | C | 21 | | |
OBX-8 | Abnormal Flags | R | 3 | | |
OBX-11 | Observation Result Status | R | 1 | | |
OBX-15 | R | ^ | ||
R | ^ | |||
R | ^ | |||
R | ^ | |||
R | ^ | |||
R | ^ | |||
R | ^ | |||
R | | |
We also use an OBX segment to send an encapsulated base64 PDF.
Field Mnemonic | Use/Value Field | Required Field? | Length | Field or Segment Delimiter |
---|---|---|---|---|
OBX-0 | Segment Type IDUse: To identify the segment | R | 3 | | |
OBX-1 | Sequence Number | R | 4 | | |
OBX-2 | Use: to identify the type of data being sent | R | 2 | | |
OBX-3 | 3.1 Observation Test Identifier | R | 15 | ^ |
3.2 Observation Test Text | R | 50 | | | |
OBX-5 | 5.1 | R | 79 | | |
5.4 | R | | | ||
OBX-11 | Observation Result Status | R | 1 | | |
NTE Segment
Multiple NTEs may be associated with a single OBX and/or OBR.
Field Mnemonic | Use/Value Field | Required Field? | Length | Field or Segment Delimiter |
---|---|---|---|---|
NTE-0 | Segment Type IDUse: To identify the segment | R | 3 | | |
NTE-1 | Sequence Number | R | 4 | | |
NTE-3 | Comment Text | R | 78 | CR |