3

I'm parsing SIU S14 with the following segments order: MSH SCH PID PV1 RGS AIL AIS

and although it parses without error, I can't retrieve data from AIS segment. But when I move AIS segement before AIL, everything seems to work fine. So does segments order matter in HL7?

sqlab
  • 6,412
  • 1
  • 14
  • 29

1 Answers1

3

The order of segments in a HL7 message is predetermined by the message type. In Schedule Information Unsolicited messages the AIS segment has to be ahead of AIL.

SIU^S12-S24,S26,S27^SIU_S12: Schedule Information Unsolicited

  MSH   Message Header  
  SCH   Schedule Activity Information       
    [ { TQ1 } ] Timing/Quantity     
    [ { NTE } ] Notes and Comments for the SCH  
  [ {   --- PATIENT begin       
      PID   Patient Identification  
      [ PD1 ]   Additional Demographics     
      [ PV1 ]   Patient Visit       
      [ PV2 ]   Patient Visit - Additional Info     
      [ { OBX } ]   Observation/Result      
      [ { DG1 } ]   Diagnosis       
  } ]   --- PATIENT end     
  {     --- RESOURCES begin     
    RGS      Resource Group Segment     
    [ { --- SERVICE begin       
        AIS     Appointment Information - Service       
        [ { NTE } ] Notes and Comments for the AIS      
    } ] --- SERVICE end     
    [ { --- GENERAL_RESOURCE begin      
        AIG      Appointment Information - General Resource     
        [ { NTE } ] Notes and Comments for the AIG      
    } ] --- GENERAL_RESOURCE end        
    [ { --- LOCATION_RESOURCE begin     
        AIL      Appointment Information - Location Resource        
        [ { NTE } ] Notes and Comments for the AIL      
    } ] --- LOCATION_RESOURCE end       
    [ { --- PERSONNEL_RESOURCE begin        
        AIP   Appointment Information - Personnel Resource      
        [ { NTE } ] Notes and Comments for the AIP      
    } ] --- PERSONNEL_RESOURCE end      
  } --- RESOURCES end       

But both segments respectively their segment groups are optional. So a message with just an AIL and no AIS segment is syntactically ok. And as HL7 messages are open, there are additional or local defined segments allowed after a complete message.In order to retrieve this additional data you need an adapted template.

sqlab
  • 6,412
  • 1
  • 14
  • 29