Blog

Validation Tasks During the Interface Lifecycle

By jeanluc.morin@caristix.com | Published: September 3rd, 2013

How to Handle Break-Fix Issues

During the validation phase of the interface lifecycle, you’re running tests. Here’s more on testing: test scenarios and test systems as well as message samples and test messages.  One other thing you may be doing is break-fix work. With break-fix work, you’re looking to solve very specific issues. And you need to get the answers quickly, share the information right away, or fix the interface yourself.

There are many ways to go about doing this. Some people go with manual review: get sample messages, and read them pipe by pipe in Notepad (or better yet: Notepad++ ).  This is very straightforward, but the disadvantage is that manual work is slow. Some people get free tools off the Internet, which can be a good choice if you’re a developer and are comfortable with scripting.  Increasingly, analysts in organizations that are focused on getting a handle on their interfacing process turn to interface lifecycle  software. We’ve outlined below how Caristix users tackle break-fix queries using Caristix Workgroup software for interface lifecycle management. (It’s also possible to do this work with the standalone Pinpoint application.)

Tutorial 1: How to find messages where field length is longer than X  

We recently had a question from one of our Workgroup users regarding how to find fields where length is longer than expected.  You can do this using regular expressions, which is advanced functionality in Workgroup. If you’ve never used regex, this tutorial is an easy way to get your feet wet. 

  1. Load the message file into Caristix Workgroup or Caristix Pinpoint.  If you don’t have Pinpoint, you can download a trial copy. You can also request a proof-of-concept for Caristix Workgroup.
  2. Move your mouse over the field you are interested in.
  3. Right-click on the field and select Add Data Filter.  A new row appears in the upper-right section describing the data filter.
  4. Change the operator and choose matching regex.
  5. In the criteria field, enter ^.{M,N}$. This is a regular expression that returns fields where length is longer than M and shorter than N.  For instance, to get all messages where the field length is longer than 10, enter ^.{10,}$.  The same way, to get all messages where field length is shorter than or equal to 3, enter ^.{0,3}$.  

validation-task-interface-lifecycle-1

Regular expressions are quite powerful, especially when combined with Workgroup. You’ll find numerous regex references and cheat sheets on Google.  Here is one of my favorites: http://regexone.com/

Tutorial 2: How to get field position

Hover over a field to view its HL7 position.  Use this feature when you’re assessing where a field or nested subcomponent might fit in a message. Example:  You’re looking up a patient address in the PID segment. Don’t count pipes. Just hover over the address, and “PID11.3 Patient Address > City” pops up.

Tutorial 3: How to check field names and values

Load a log, then right-click a segment to see the full HL7 definition (click Message Definition). Use this feature when you need to check field names and values at a glance.

validation-tasks-interface-lifecycle-3

Example: You’re looking up a PV1 segment in a message. You’re looking at Admit Sources. Rather than counting over to PV1.14, just get the Segment Definition and check SEQ 14.

Tutorial 4: Troubleshooting empty fields

Find an empty field or component in a problem message, as follows:

  1.  Load message logs and hover over the field (or component) you want to query.
  2.  Right-click and select Add Data Filter.
  3.  Change the Operator to Empty, and click once outside the grid. You’ll get all the messages with empty values in that field. 

Example: You have 24 hours of messages to look through, and you need to identify empty PID-8 fields. Set a filter (as above) in a few mouse-clicks, and avoid scripting.

Tutorial 5: How to find out if a field is present or not

Find out if a field is present in a set of message – and how often that field occurs. Load message logs and hover over the field (or component) you want to query.

  1. Right-click and select Add Data Filter.
  2. Change the Operator to Present, and click once outside the grid. You’ll get all the messages with fields that are present.

Example: You have 24 hours of messages to look through, and you need to identify which messages have ZCD-23 fields. 

Tutorial 6: How to isolate the right data values

Look up values and isolate the data you need. Use the Data Distribution feature to look up values.

  1. Load message logs and hover over the field you want to query.
  2. Right-click and select Data Distribution.  Click Show All, then Table View.
  3. You’ll get all the values in that field and the number of times they were used. Copy values to Excel or Word as needed. 

Example: you need to set up lookup tables for a new interface. You could port all the old values from the legacy interface engine. But this would include many out-of-date codes. Instead, get a message log from the current engine, and perform a Data Distribution in Pinpoint to get the currently used values.

Questions or comments? Let us know what you think below.

Categories : HL7 Interfacing Testing