HL7 Test Automation: Where’s the Low-Hanging Fruit?

HL7 Test Automation: Low Hanging FruitTesting and validation are important tasks, as we explained in the Interoperability Tip Series and the HL7 Survival Guide.

Shouldn’t interfacing be easy by now?

Testing is what takes the longest when you’re building an interface. So when you hear about interface engines that allow you to get an interface into production in a couple of hours, that’s absolutely true. Coding is quick with modern interface engines. But bear in mind that coding time seldom includes testing. We’ve worked with organizations that can code a change in 15 minutes, but need 2 weeks to actually implement — due to testing.

Given the need to test, test automation can save you a lot of time.

Why Automate Testing?

Simple: the benefits are clear. Organizations that adopt test automation spend less time on project lifecycles. They meet tighter deadlines with less project effort. They uncover more bugs, before end-users are impacted. The code is easier to maintain. In a nutshell, when it comes to software testing, it’s all about “find early, fix cheaply.”. Interfaces are no different; after all, they are simply forms of code.

Why Automate HL7 Testing? 6 Key Reasons

1. Save time – the most obvious benefit.

2. Repeatability. Set a series of tests. Run them as often as needed, without manual intervention. Validate that you didn’t break anything simply by pushing a button. Apart from saving time, you get consistency. If you’re a vendor, you ensure that the most critical tests are run across all sites, regardless of client availability. So you deliver consistent quality. The result is less downtime and increased client satisfaction at lower cost.

3. Avoid frozen interface syndrome, maintain interfaces more easily.

4. Implement changes much faster, so clinicians gain access to newer functionality and information in source and destination systems. Ultimately, this puts you on the path to easier, more agile interoperability.

5. Ensure traceability. Test reports allow you to document that tests succeeded and/or failed over time.

6. Increase test coverage. More testing works out to better quality. Manual testing takes so much effort that you can’t test and retest everything. You end up focusing on just the highest risk items.

What If You’re Busy?

These are great reasons to embark on test automation. The organizations that embark on automation get it. But there are other teams that are so crazy-busy, with their heads practically underwater, that they can’t add any more to their plates.

We get that. New methodologies and new ways to get things done put you on a learning curve. Even if the payoff is worth it, it can be hard to get started.

What if there was low-hanging fruit? There is now. We’ve put together some basic tests/validations that are tedious to run manually but easy to automate. If you’re looking for the low-hanging fruit of HL7 test automation, start with segment and field validation here:

Validate Field1 = value
Validate Field1 = Field2 within the same message
Validate Field is X characters long
Validate Field contains a limited set of characters
Validate Field does not contain a set of characters
Validate Field is a valid date

These tests will get you going. They’re easily set up and run easily. Adapt them to your own test automation software. Or if you want to get HL7-specific, ask for an intro to Caristix software to check them out. They’re quick to set up and run repeatedly.