HL7 Soup Desktop · 58-second tip

Add your own HL7 validation in two clicks

Add a validation rule from any HL7 field, see which messages break it, and filter a 250,000-message file to the invalid messages.

Try it yourself

  1. For a feed that should contain only ADT messages, right-click the message code (MSH-9.1) on an ADT message.
  2. Choose Validation, then Value is not "ADT". The rule describes what makes a message invalid, so messages with another message code turn pink.
  3. Open a pink message to see which rule it broke. Add a message is valid filter, then change it to invalid to show all failures. This example finds 15,240 messages out of 250,000.
  4. Right-click other fields to add checks for a particular value, an empty value, a missing path, or a value that is not in the field's HL7 table.
  5. Manage the rules under Tools, then Highlighting. Select a rule and choose Delete Selected when you no longer need it.

Custom rules appear alongside the automatic date checks in Highlighting.

Recorded in HL7 Soup Desktop on a Mac mini with 16 GB of memory. Filtering the 250,000 messages took 14 seconds, and changing the filter to invalid took 10.8 seconds. The waits are sped up in the video, with a stopwatch showing the actual elapsed time.

Video transcript

0:00This feed is meant to carry ADT messages only. So, does it?

0:04Right-click the message code, choose Validation, then “Value is not ADT”. Instantly, every message that isn't an ADT turns pink.

0:15Open one, and it tells you which rule it broke. Add a “message is valid” filter, flip it to invalid, and there they are: 15,240 messages that don't belong in this feed.

0:32You can validate any field like this: a value that's wrong, a field that's empty, or a code that isn't in its HL7 table.

0:40Your rules are listed under Tools, Highlighting, next to the date checks HL7 Soup builds for you. Tick one, and delete it when you're done.

0:52HL7 Soup Desktop. Try it free for 30 days.