HL7 ORM/ORU Message Standards

Myriad HL7 ORM/ORU Message Standards

  1. Myriad uses HL7 version 2.3
  2. Myriad results include an embedded PDF, base64 encoded in an OBX segment in the ORU message.
  3. 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:

  1. MSH - required
  2. PID - required
  3. PV1 - optional

INSURANCE

  1. IN1 - conditional
  2. GT1 - optional
  3. 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

  1. ORC - required
  2. OBR - required
  3. DG1 - required
  4. OBX - optional

MSH Segment - Message Header

Field MnemonicUse/Value FieldRequired Field?LengthField or Segment Delimiter
MSH-0Segment Type IDUse: To identify the segment
  • 'MSH'
  • R3|
    MSH-1Field DelimiterUse: To separate fields
  • '|'
  • R1|
    MSH-2Encoding CharactersUse: To separate components, repeating fields, sub-components
  • '^~&`
  • R4|
    MSH-3Sending ApplicationUse: ID to identify EMR system. Mutually agreed upon between Myriad and Vendor
  • Alpha, Numeric characters
  • R15|
    MSH-4Sending FacilityUse: unique clinic ID, sent by Myriad to vendor to identify practice location
  • Alpha, Numeric characters
  • R15|
    MSH-5Receiving ApplicationUse: to identify the lab system receiving the orders
  • 'Myriad'
  • R15|
    MSH-6Receiving Facility
  • 'Myriad'
  • R10|
    MSH-7Date/Time of MessageR12|
    MSH-9Message Type
  • 'ORM^O01'
  • R3|
    MSH-10Message Control IDON/A|
    MSH-11Processing ID
  • 'P'
  • O1|
    MSH-12Version of HL7
  • '2.3'
  • R3CR

    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

  • 'PID'
  • | R | 3 | | | | PID-1 | Sequence Number | O | 20 | | | | PID-2 | External Patient ID | O | | | | | PID-3 | Internal Patient ID | O | | | | | PID-4 | Alternate Patient ID | O | | | | | PID-5 | 5.1 Patient Last Name | R | 30 | ^ | | | 5.2 Patient First Name | R | 30 | ^ | | PID-7 | Date of Birth Formatted as YYYYMMDD | R | | ^ | | PID-8 | Patient Gender
  • 'F' - Female
  • 'M' - Male
  • 'U' - Unknown

  • '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
  • Not null=married
  • | O | 10 | | |

    PV1 Segment

    Optional Segment

    Field MnemonicUse/Value FieldRequired Field?LengthField or Segment Delimiter
    PV1-0Segment Type IDUse: To identify the segment
  • 'PV1'
  • R3|
    PV1-1Set IDR4|
    PV1-3Assigned 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 MnemonicUse/Value FieldRequired Field?LengthField or Segment Delimiter
    IN1-0Segment Type IDUse: To identify the segment
  • 'IN1'
  • R3|
    IN1-1Sequence NumberUse: To identify the number of the IN1 segmentO4|
    IN1-22.2 Plan nameO|
    IN1-4Insurance Company Name4.1 Carrier nameR30|
    IN1-55.1 Insurance Company AddressR35|
    5.3 Insurance Company CityR16^
    5.4 Insurance Company StateR2^
    5.5 Insurance Company Zip CodeR9^
    IN1-8Group Number of Insured PatientR15|
    IN1-1616.1 Insured's last name16.2 Insured's first nameR15|
    IN1-17Insured's Relationship to Patient
  • '1' - Self
  • '2' - Spouse
  • '3' - Other
  • R1|
    IN1-18Insured's DOBO|
    IN1-19Insured's AddressO|
    IN1-31Type of AgreementO1|
    IN1-36Policy Number (Insurance Number/Member ID)R25|
    IN1-47Coverage type
  • 'P' = Bill to patient
  • 'C' = Bill to clinic
  • 'T' = Bill to Insurance
  • R1CR

    GT1 Segment - Guarantor

    Send the GT1 if the guarantor's address is to override the IN1 address.

    Field MnemonicUse/Value FieldRequired Field?LengthField or Segment Delimiter
    GT1-0Segment Type IDUse: To identify the segment
  • 'GT1'
  • R3|
    GT1-1Sequence NumberR4|
    GT1-33.1 Guarantor Last NameR25^
    3.2 Guarantor First NameR15^
    GT1-5Guarantor Address(If a GT1 is provided, and GT1[11] is not 'Self', the GT1's address overrides the address in the IN1.)R35^
    GT1-6Guarantor Home Phone NumberO10|
    GT1-11Guarantor Relationship to Patient
  • '1' - Self
  • '2' - Spouse
  • '3' - Other
  • R1|

    DG1 Segment - Diagnosis

    Field MnemonicUse/Value FieldRequired Field?LengthField or Segment Delimiter
    DG1-0Segment Type IDUse: To identify the segment
  • 'DG1'
  • R3|
    DG1-1Sequence NumberR4|
    DG1-2Diagnosis Coding Method
  • 'I10' - ICD10
  • R2|
    DG1-3Diagnosis Code IdentifierR8^

    ORC Segment - Common Order Segment

    ORC and OBR segments are paired. Some ORC fields are duplicated in the OBR.

    Field MnemonicUse/Value FieldRequired Field?LengthField or Segment Delimiter
    ORC-0Segment Type IDUse: To identify the segment
  • ORC'
  • R3|
    ORC-1Order Control Code
  • NW'
  • R2|
    ORC-22.1 Unique Foreign Accession or Specimen or Requisition ID
  • Alphanumeric
  • Values in ORC-2 and OBR-2 must match
  • R30^
    ORC-9Date/Time of TransactionR12|
    ORC-1212.1 Ordering Provider ID Number
  • NPI of the ordering provider
  • R10^
    12.2 Ordering Provider Last NameR25^
    12.3 Ordering Provider First NameR15^
    12.8 Source Table
  • 'N' - NPI number
  • O1~ or |

    OBR Segment - Observation Order

    ORC and OBR segments are paired. Some OBR fields are duplicated in the ORC.

    Field MnemonicUse/Value FieldRequired Field?LengthField or Segment Delimiter
    OBR-0Segment Type IDUse: To identify the segment
  • 'OBR'
  • R3|
    OBR-1Sequence NumberR4|
    OBR-22.1 Unique Foreign Accession or Specimen or Requisition ID
  • Alphanumeric
  • Values in ORC-2 and OBR-2 must match
  • R30^
    OBR-44.1 Observation Test IdentifierR15|
    4.2 Observation Test TextR10^
    4.3 Name of Coding SystemO25^
    OBR-7Observation/Specimen Collection Date/TimeR15^
    OBR-1313.2 Comments on test orderO64^
    OBR-15Source of SpecimenC26|
    OBR-1616.1 Ordering Provider ID NumberR20^
    16.2 Ordering Provider Last NameR25^
    16.3 Ordering Provider First NameR15^
    16.8 Source TableO1|
    OBR-18Alternate Foreign Accession/Specimen IDO11|

    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 CodeQuestionTipsRequiredFieldtype
    QUESTION0001Is the patient currently pregnantODD
    QUESTION0003EthnicityPlease select the closest match if patient is of a mixed ethnicity.RDD
    QUESTION0050Patient Email AddressNecessary for more efficient handling of billing, status and results.OFT
    IDOBX CodeOptionOption Code
    1QUESTION0001YesYes
    2QUESTION0001NoNo
    5QUESTION0003Northern Europeanne
    6QUESTION0003Southern Europeanso
    7QUESTION0003French Canadiancj
    8QUESTION0003Ashkenazi Jewishaj
    9QUESTION0003Finnishfi
    10QUESTION0003Other Caucasianco
    11QUESTION0003East Asianea
    12QUESTION0003South Asiansa
    13QUESTION0003Southeast Asianse
    14QUESTION0003African-Americanaf
    15QUESTION0003Hispanichi
    16QUESTION0003Middle Easternme
    17QUESTION0003Native Americanna
    18QUESTION0003Pacific Islanderpi
    19QUESTION0003Unknownuk

    Myriad HL7 Result Message Format

    Result Message Structure (ORU)

    The ORU comprises of the following messages.

    1. MSH
    2. PID
    3. ORC (ORC and OBR are paired, and sent once per disease panel ordered)
    4. OBR
    5. NTE (accompanies OBR where necessary)
    6. OBX (repeated for every observation)
    7. NTE (accompanies OBX where necessary)

    MSH Segment - Message Header

    Field MnemonicUse/Value FieldRequired Field?LengthField or Segment Delimiter
    MSH-0Segment Type IDUse: To identify the segment
  • 'MSH'
  • R3|
    MSH-1Field DelimiterUse: To separate fields
  • '|'
  • R1|
    MSH-2Component DelimiterUse: To separate components
  • '^'
  • R1|
    Repeat Delimiter
    Use: To identify repeating fields
  • '\'
  • R1|
    Sub-component delimiterUse: To create sub-components
  • '&'
  • R1|
    MSH-3Sending Application
  • 'Myriad'
  • R15|
    MSH-4Sending Facility
  • 'Myriad'
  • R15|
    MSH-5Receiving Application
  • Code provided by clinic or Myriad
  • R15|
    MSH-6Receiving Facility - Alphanumeric values
  • Clinic ID, provided by Myriad
  • R15|
    MSH-7Date/Time of MessageR12|
    MSH-99.1 Message Type
  • 'ORU'
  • R3|
    9.2
  • 'R01'
  • MSH-10Message Control IDR20|
    MSH-11Processing ID
  • 'P'
  • R1|
    MSH-12Version of HL7
  • '2.3'
  • R3CR

    PID Segment - Patient Identification

    Field MnemonicUse/Value FieldRequired Field?LengthField or Segment Delimiter
    PID-0Segment Type IDUse: To identify the segment
  • 'PID'
  • R3|
    PID-1Sequence NumberO20|
    PID-55.1 Patient Last NameR15^
    5.2 Patient First NameR15^
    PID-7Date of BirthR^
    PID-8Patient GenderR|
    PID-1111.1 Patient AddressR35^
    11.3 Patient CityR16^
    11.4 Patient StateR2^
    11.5 Patient Zip CodeR9^

    ORC Segment - Common Order Segment

    ORC and OBR segments are paired. Some ORC fields are duplicated in the OBR.

    Field MnemonicUse/Value FieldRequired Field?LengthField or Segment Delimiter
    ORC-0Segment Type IDUse: To identify the segment
  • 'ORC'
  • R3|
    ORC-1Order Control Code
  • 'RE'
  • R2|
    ORC-22.1 Unique Foreign Accession or Specimen or Requisition ID
  • Alphanumeric
  • Values in ORC-2 and OBR-2 must match
  • R30^
    ORC-6
  • 'F'
  • R1|
    ORC-9Date/Time of TransactionR12|
    ORC-1212.1 Ordering Provider ID Number
  • NPI of the ordering provider
  • R10^
    12.2 Ordering Provider Last NameR25^
    12.3 Ordering Provider First NameR15|

    OBR Segment - Observation Order

    ORC and OBR segments are paired. Some OBR fields are duplicated in the ORC.

    Field MnemonicUse/Value FieldRequired Field?LengthField or Segment Delimiter
    OBR-0Segment Type IDUse: To identify the segment
  • 'OBR'
  • R3|
    OBR-1Sequence NumberR4|
    OBR-2Unique Foreign Accession or Specimen or Requisition ID
  • Alphanumeric
  • R30|
    OBR-33.1 Requisition number. Identical to OBR-2|^
    OBR-44.1 Observation Test IdentifierR15^
    4.2 Observation Test TextR50|
    OBR-6Requisition time (datetime order was placed)O25|
    OBR-7Observation/Specimen Collection Date/TimeR12|
    OBR-8Observation End Date/TimeO12|
    OBR-14Observation/Specimen Collection Date/TimeR15|
    OBR-15Source of SpecimenC26|
    OBR-1616.1 Ordering Provider ID NumberR10^
    16.2 Ordering Provider Last NameR25^
    16.3 Ordering Provider First NameR15|
    OBR-22Test completion dateR12|
    OBR-25Order Result Status
  • P = Preliminar
  • F = Final
  • C = Corrected
  • R1|

    OBX Segment - Result Observation Segment

    OBX segments will be sent with every specimen reported.

    Field MnemonicUse/Value FieldRequired Field?LengthField or Segment Delimiter
    OBX-0Segment Type IDUse: To identify the segment
  • 'OBX'
  • R3|
    OBX-1Sequence NumberR4|
    OBX-2Use: to identify the type of data being sent
  • (eg: TX, ED, etc.)
  • R2|
    OBX-33.1 Observation Test IdentifierR15|
    3.2 Observation Test TextR50^
    OBX-5Observation ValueC21|
    OBX-8Abnormal Flags
  • N = Normal
  • HH = Abnormal
  • Blank = No result or abnormal flag does not apply
  • R3|
    OBX-11Observation Result Status
  • P = Preliminary
  • F = Final
  • C = Corrected
  • R1|
    OBX-15
  • 15.1 'Myriad'
  • R^
  • 15.2 'Myriad'
  • R^
  • 15.3 '180 Kimball Way'
  • R^
  • 15.4 'South San Francisco'
  • R^
  • 15.5 'CA'
  • R^
  • 15.6 '94080'
  • R^
  • 15.7 '<Medical Director Name + Title>'
  • R^
  • 15.8 '(888)268-6795'
  • R|

    We also use an OBX segment to send an encapsulated base64 PDF.

    Field MnemonicUse/Value FieldRequired Field?LengthField or Segment Delimiter
    OBX-0Segment Type IDUse: To identify the segment
  • 'OBX'
  • R3|
    OBX-1Sequence NumberR4|
    OBX-2Use: to identify the type of data being sent
  • 'ED' - Encapsulated Data
  • R2|
    OBX-33.1 Observation Test Identifier
  • 'PDFReport1'
  • R15^
    3.2 Observation Test Text
  • 'PDF Report'
  • R50|
    OBX-55.1
  • 'PDF'
  • R79|
    5.4
  • PDF value in base64
  • R|
    OBX-11Observation Result StatusR1|

    NTE Segment

    Multiple NTEs may be associated with a single OBX and/or OBR.

    Field MnemonicUse/Value FieldRequired Field?LengthField or Segment Delimiter
    NTE-0Segment Type IDUse: To identify the segment
  • 'NTE'
  • R3|
    NTE-1Sequence NumberR4|
    NTE-3Comment TextR78CR