One of the earliest HL7 testing tools is a simple C# application written by DeltaWare Systems, Inc. as part of the work they did for PEI’s implementation of the back end. They’ve subsequently open-sourced their tool and posted it on SourceForge.
We’ve worked with this tool, and while we can see many of its benefits, it does have a fairly narrow role in HL7 testing. It’s not designed to be easily used by, say, QA departments — it has no easy interface for setting up or changing test data — and it is generally only promoted as a conformance tool only.
Recognizing that most HL7 development projects need fuller test support, we’ve worked up our own test suite. Nonetheless, the PEI Test Harness is a standard tool offered up by the Standards Collaborative people, and this page discusses it in a bit more detail.
The following diagram displays the overall architecture for the test harness:
This diagram shows three key layers:
The Client Simulator
The client simulator can be useful for emulating a client sending messages. This might be useful if you’re building an implementation of DIS.
The Server Simulator
The server simulator can emulate a fake “DIS”, and respond to messages sent by a client. This might be useful if you’re building a client application (such as software for a Doctor’s office), and want a DIS-like system to respond to messages.
The Message Proxy
The message proxy can be used to provide validation and transformation of messages going from client to server.