Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

One problem an HL7 parser needs to solve is how to identify the message type being parsed. This is what an example HL7 message looks like:

Code Block
MSH|^~\&|EPIC|EPICADT|iFW|SMSADT|199912271408|CHARRIS|ADT^A04|1817457|D|2.5|
PID||0493575^^^2^ID 1|454721||DOE^JOHN^^^^|DOE^JOHN^^^^|19480203|M||B|254 MYSTREET AVE^^MYTOWN^OH^44123^USA||(216)123-4567|||M|NON|400003403~1129086|
NK1||ROE^MARIE^^^^|SPO||(216)123-4567||EC|||||||||||||||||||||||||||
PV1||O|168 ~219~C~PMA^^^^^^^^^||||277^ALLEN MYLASTNAME^BONNIE^^^^|||||||||| ||2688684|||||||||||||||||||||||||199912271408||||||002376853

See the “ADT^A04” in field 9 of the first MSH line of the message? This indicates the ‘type’ of the message. In this case an this is a patient registration message in the Admit Discharge Transfer category of messages.

So every HL7 parser needs a way to configure it so that rules can defined as to what message grammar should be used to parse the message. We call that a message matching system.

The HL7 parser in Iguana X has a greatly simplified message matching system compared to Chameleon.

...