1 / 13

HL7 V2 Conformance Testing

HL7 V2 Conformance Testing. Robert Snelick NIST January 20 th , 2004 rsnelick@nist.gov. NIST. National Institute of Standards and Technology Department of Commerce Software Diagnostics and Conformance Testing Assist industry and government agencies in IT standard related activities

Download Presentation

HL7 V2 Conformance Testing

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. HL7 V2 Conformance Testing Robert Snelick NIST January 20th, 2004 rsnelick@nist.gov

  2. NIST • National Institute of Standards and Technology • Department of Commerce • Software Diagnostics and Conformance Testing • Assist industry and government agencies in IT standard related activities • development of standards • reference implementations • conformance testing • tools • Public Domain • Explore what role we can play in HL7 conformance testing

  3. Session Goals • Explore HL7 V2 conformance testing issues • Proposal for conformance testing based on the concept of message profiles • Identify the gaps—what needs to be done? • Feedback: • What does conformance testing mean, exactly? • What are the most important aspects to test? • How much of an impact will it have on the community? • How is testing done now? • Should better conformance statements be created? • What tools can be leveraged (MWB, HAPI, etc.)? • What have others done (MWB, AHML, etc.)? • Move forward? • Refine testing plan

  4. Overview • Generate test message suites and test harness for conducting conformance tests • Suite of Test Messages • based on the concept of message profiles • conformant message structures derived from profiles • numerous message instances for each profile • test cases and scenarios • combine “fixture-data” and automation • huge state space  limited selective tests • Conformance Testing • testing framework based on test messages • acts as a “model” or “simulated” system • tool that generates and validates messages • mechanisms to use messages • batch file, tool, web-service Not Certification!

  5. Test Messages • Test messages to ensure that a system is conformance to a given profile • Coherent design to systematically test implementation • Covers the definition of the message profile • Static definition of profile • Dynamic definition of profile • Reference Database of fixture data • Used for message generation • Public domain • Test Cases and Test Scenarios • Valid and (Invalid ?)

  6. Test Cases • Static Definition of Profile • Message Level Profile • segment definition (message structure) • segment cardinality; Example: • [0..1]  segment optional, but can have one occurrence • generate 3 messages with 0, 1, and 2 segments • missing or extra data fields • Segment Level Profile • field length, usage (R, RE, C, CE, X), repetitions • Field Level Profile • coded entry • composite data (components, sub-components) • Content • out-of-range data, table data, missing data • boundary conditions, data type, more… • Dynamic Definition of Profile • Acknowledgements • What else?

  7. Test Scenarios • Test behavior as specified by the standard Example: update, field X = “A” “null”  field X = empty, i.e., deleted “not-present”  field X = “A” • String sequence of test messages together to test certain functional aspects of an implementation Example: swap patients, merge patient information • Many others…

  8. Test Message Path to Conformance Testing HL7 Messaging Standard Message Profile Profile Specific Library Testing Support (test cases, fixture data, data generator) e.g., MWB e.g., HAPI Source Generator (XML Document) Test Framework Message Factory

  9. Conformance Testing Model “A Conceptual Process” Test Driver System Under Test Profile (XML) Request Message Generate Message Record Message Send Message Parse Message Process Message compares actual vs. expected Process ACK Message Send ACK Message Send Query Process Query Process Response Send Query Response Analyze Test Report Report Result

  10. Specific Java Class Library Profile (XML) Message Factory Implementation HAPI Source Generator Reference Fixture Data Test Messages Data Generator Message Factory HL7 Test Messages Test Case Specifications Testing Framework Existing Components Proposed Components

  11. Specific Java Class Library Registered Profiles (XML) Test System Design HAPI Source Generator Reference Data Test Messages Data Generator Message Factory HL7 Test Messages Test Cases Profile, Request Messages System Under Test Reference Test System (Tool) Deliver Messages* Query Test Scenarios Send Messages for Validation Send Query Response Existing Components Test Report Proposed Components * SUT determines use of messages

  12. Specific Java Class Library Profiles (XML) Test Service Design Reference Data HAPI Source Generator Test Messages Data Generator Message Factory Conformant HL7 Messages Test Cases OR Test Validator System Under Test Test Service Need API Test Scenarios Round-trip Messages Separate Connection Test Report Test Report Existing Components Proposed Components

  13. Discussion • Is there utility in creating the profile specific test messages (reference data, test cases, testing framework)? • Are message profiles used in practice to make conformance testing worthwhile? In the Future? • What are the most important aspects to test? • What is the shelf-life for this service/tool? • Can we achieve better conformance statements? • How much can be automated? At what level? • Is it feasible to automatically generate sensible test messages? • Does this infringe upon someone’s business model?

More Related