HL7 Soup Desktop · 56-second tip

Find every invalid date in 250,000 HL7 messages

Find invalid dates in 250,000 HL7 messages with automatic date checks, see why each message failed, and filter the list to the messages that need fixing.

Try it yourself

  1. Open your HL7 file in HL7 Soup Desktop. Messages with invalid dates are highlighted pink in the message list.
  2. Open a pink message to see the reason in red above it, such as PID-7 contains an invalid date. The invalid value is highlighted in the message.
  3. Open Tools, then Highlighting, to see the Invalid Date checks HL7 Soup created for the date fields it found.
  4. Use the Filter button to add a message is valid filter, then change it to invalid. In this example, that leaves 12 messages out of 250,000.

These checks catch impossible dates and malformed values, such as 30 February, month 13, or a time of 25:61:30. Empty dates and valid future dates are not flagged by the date check.

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

Video transcript

0:00250,000 HL7 messages. Which ones have a broken date? HL7 Soup already knows. They're the pink ones.

0:09Open one, and it tells you why. This birth date is the 30th of February. This one was sent on the 32nd of October. Dates like these get messages rejected, and you'd never spot them by eye.

0:23And you did not set anything up. HL7 Soup works out which fields are dates, and checks them all.

0:30Want all of them? Add a “message is valid” filter, then flip it to invalid. 12 messages, out of 250,000.

0:44Month 13. The 31st of June. All caught, before you even asked.

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