Bullet Home
Bullet Resources
Bullet User's Guide
Bullet Download
Bullet Contact
Bullet SSD
Bullet ITL
thin vertical line

HL7 Conformance Testing with Message Maker
The Message Maker Project is a collaboration effort between the National Institute of Standards and Technology (NIST) and the Health Level 7 (HL7) Standards Consortium. NIST is directing their efforts towards the development of a conformance-testing tool that automatically generates test messages for HL7 message profile specifications. The messages can be used to test systems for conformance. A prototype of Message Maker is available at this site. All NIST produced source code, documents, and associated products are in the public domain. Message Maker is a work-in-progress, as such, not all planned functionality is implemented;feedback on its design, feature set, and usefulness is welcomed.

HL7 is an application-level messaging standard for the healthcare industry and defines the interfaces that allow centrally located and/or distributed information systems to communicate. HL7 establishes the rules for building interfaces and provides many optional features to accommodate the disperse needs of the health care industry. However, for interfaces to be implemented, a precise and unambiguous specification must be defined. Message profiles can be employed to constrict the definition of a message in a manner that specifically states the optional constructs and processing rules of a message. Tools, such as the Messaging Workbench (MWB), have been developed to help in the construction of message profiles. Interfaces modeled by a message profile need to be tested to ensure that they have been implemented correctly. Current practice involves meticulous by hand debugging of implementations as problems appear. Test message suites and the tools to create them are needed. Message Maker is a tool that that is designed to automatically and dynamically generates test messages.

image of message maker work flow

Figure 1. Overview of Message Maker Process

Message Maker uses the message template provided by the profile definition to populate the primitive elements (fields, components, and sub-components) with data content to create test messages. The data used to populate the messages is drawn from a number of sources including the NIST developed database of HL7 data items, HL7 tables, user tables, and external tables.

Message Maker creates a test suite of messages for a given profile. The messages can be valid or invalid and contain variation from message to message. An example of an invalid message is a missing data item for a required field. A number of test parameters control the variation in the construction of a message. These may include segment and field cardinality, the usage of certain primitive fields, value sets, data content, and more. Data content variation is achieved by randomly selecting items from the HL7 items database.

The core engine of Message Maker generates messages in an XML format. These messages can be subsequently transformed into the HL7 ER7 format. Figure 1 depicts a functional overview of Message Maker. Processing is XML based. Profile generation tools, such as MWB, export message specifications as XML documents. Data sources, converted into XML files, along with the profile are used by the XSL transformation generation engine to create the test messages. Descriptive metadata is recorded for each message. This information can be browsed to gained insight on the purpose of the test messages. Later stages of this project will include a testing framework that will utilize these messages to examine the correctness of an interface implementation to a specification.


Privacy Poilcy/Security Notice
Disclaimer | FOIA
NIST is an agency of the U.S. Commerce Department

Created on November 2, 2004

Last Modified:
Friday, 01/06/2006 3:41 PM by SSD Division Webmaster: webmaster-SSD@nist.gov