HL7 V2 Implementation Guide
Authoring Tool Proposal
Robert Snelick, NIST
National Institute of Standards and Technology May 14th 2012
NIST and Veterans Administration Joint Project
• NIST will provide Project Management, Requirements and Design,
Existing Tool Components, Tool Integration, and Developers
• Peter Rontey, designer and developer of the Messaging Workbench
(MWB) will be the Chief Architect and Senior Developer
• Key Aspects:
– develop Implementation Guide Authoring and Management Tool
– component-based Java tool
– expands MWB concepts and functionality
– integrate with existing NIST tooling
• Goals of the Collaboration
– Provide tools to be better specify and validate HL7 V2 implementation guides
– Tool driven specification development
– Leverage VA and NIST expertise
– Leverage, expand, and integrate VA and NIST tooling
• Messaging Workbench (MWB)
• NIST Message Maker, Testing Infrastructure, and Meaningful Use (MU) Tools
– Support the Healthcare IT testing and certification efforts (End-to-End)
Specification to Testing: An End-to-End Approach
• Proposed methodology and tools to support the development
of HL7 V2 implementation guides and testing of systems that
implement the implementation guides
• End-to-End Scope
– Implementation Guide Authoring and Management
– Test Data Authoring and Management
– Message Generation and Inspection Document Generation
– Test Case Authoring and Management
– Testing Infrastructure
• Test Engine – Choreography • Validation Engine – Messaging Validation – Functional Validation • Communication Platforms• Leverage and Extend Existing Concepts and Tools
– Messaging Workbench (MWB), NIST Message Maker and Testing
Infrastructure, OHT MDHT Concepts and components
What will the tools address?
Standards Test Cases
Test Execution
Test Scripts Results Analysis
Test Material specification of test cases implementation guide development processable test cases automated or human analysis juror document or test report execution of the test scripts healthcare use case development create requirements to guide the standards development create inspection document provide validation test report XML message profiles vocabulary validation context files test or certification managers determine pass/fail based on results ensure use case requirements are satisfied create testable assertions criteria tests cases should test all requirements specified in the implementation guide methods and tools to transform test cases into machines process-able instructions Use Cases artifacts to support testing test engine interprets test scripts validate message against test material Implementation implementation application implements the standard Test Data development of test messages messages support test cases
valid and invalid
Implementation Guide Authoring and Management Tool (IGAMT)
IGAMT and TCAMT Test Case Authoring and Management Tool (TCAMT) Message Maker Tool Testing Infrastructure (Test Engine) Test Case Authoring and Management Tool (TCAMT) Vendors Testing Infrastructure (Validation) and TCAMT Testing Organizations
Shortcoming of V2 Implementation Guides
• Each guide has their own style, format, terminology, and interpretation of
concepts
– The only thing that is consistent with implementation guides is that they are inconsistent – Interpretation of the conformance constructs is not universal
• Not only across organization but within originations (e.g., IHE and HL7) • IHE varies from standard HL7 V2 constructs (e.g., R2 Usage)
• Conformance requirements written in English and often as embedded
comments
– If written at all, are often not clear
• Condition Predicates not well defined (if at all)
• Difficult to create machine processable representation of implementation
guide
– Current process is to create English document and then create conformance profile – Use MWB to create XML conformance profile
– Often the conformance profile is not created
– HL7 XML Conformance Profile does not capture the complete set of requirements specified in the implementation guide
– Ambiguous statements difficult to translate to concrete conformance requirements
• Testing approach, plan, and requirements are absent
The need for Uniformity: NIST Experience with HL7 V2 IGs
• ONC S&I Framework Lab Results Interface (LRI)
– MU-2014 (HL7 Balloted)
• CDC PHIN Immunization (EHR to Public Health)
– MU-2011 and MU-2014
• HL7 Labs to Public Health (EHR to Public Health)
– MU-2011 and MU-2014 (HL7 Balloted)
• IHE PIX (Patient Identification Cross-referencing)
– Integration Profile (Multiple Message Profiles)
– Pre-connectathon and Connectathon Testing
• IHE PDQ (Patient Demographic Querying)
– Integration Profile (Multiple Message Profiles)
– Pre-connectathon and Connectathon Testing
• IHE PCD (Patient Care Devices)
– Integration Profile (Multiple Message Profiles)
– Pre-connectathon and Connectathon Testing
How can we Address the Increased Demand for Tools?
Test System (Allow NIST/others to build tools quickly)
Implementation Guide Authoring Tools (Create more “testable” specifications!)
Test Cases and Testing Artifacts
Test Case Management Tool (Let domain experts help write the test cases!)
Implementation
Guides
(Number is increasing rapidly—no testing tools available) HL7 v2 MU Syndromic Surveillance Implementation Guide ELINCS HL7 v2 Lab Orders and Results Implementation Guide HL7 v2 MU incorporate Lab Results & Reportable Lab Results Implementation Guides HL7 v2 MU Immunization Reporting Implementation Guides IHE HL7 v2 PCD Technical Framework IHE HL7 v2 PIX/PDQ Technical Framework HL7 v2 MU Lab Results Interface (LRI) Implementation Guide IHE HL7 v2 Technical Framework In General HL7 v2 Implementation Guides in General (HL7, CDC, PHIN, ISDS, ONC, etc.)20+ IHE integration profiles using V2!
Proposed Use and Goals Integrated Tooling
•
Develop tooling to automate process as much as possible
– Component integration—one tool output flows into the next• E.g., Conformance profile and conformance statements created during implementation guide development can directly be used by validation engine
– Machine processable message profile specification
• Used and built upon throughout and the development and testing cycle
• Constraints as specified in Implementation Guide Authoring Tool are used directly by validation engine
•
Goal is to enable domain experts to develop artifacts
– Tooling will better enable domain experts to produce quality implementation guide requirements and test criteria
•
HL7 Balloted Implementation Guides should use the tool to create (template)
– Ensure consistent definition and use of HL7 V2 Conformance Concepts– Ensure conformance constructs specified correctly and completely – Ensure compatibility with the standard or document variances
•
Implementation Guides should have companion test plans complete with
example/test messages
– A quality level for implementation guides can be establish – Test plans can be balloted by HL7
– Developing test plans in coordination with the implementation guide development promotes better understanding of the requirements and force clear conformance requirements
– Establish Implementation Guide Best Practices—Enforce with tooling
– With HL7 CGIT WG participation the ONC S&I Framework Lab Results Interface (LRI) Implementation Guide and NIST’s development of the LRI Test Plans and Test Tool is an example that is heading in the right direction
Tool Component Overview
• Implementation Guide Authoring and Management
– Messaging Profiling and IG Document Generation
• Test Data Authoring and Management
– Test Data Organization, Library Creation, and Management
• Message Generation and Inspection Document Generation
– Assembly of Test Data, Message Generation, and Juror Inspection
Documents
• Test Case Authoring and Management
– Support complete Test Plan Life Cycle
– Incorporates Conformance Profiles, Test Messages, Inspection Documents
– Support Scenario and Application Functional Behavior Testing (Actor based)
• Testing Infrastructure
– Test Engine
• Choreograph a sequence of transactions
– Validation Engine
• Messaging Validation • Functional Validation
– Communication
Implementation Guide Authoring & Management
Tool
The Big Picture: HL7 V2 End-to-end Testing Support
HL7 v2 Standard Message Definition General Transaction Constraints (e.g., IG , TF, or user input)¹ HL7 v2 Standard Value Sets Test Case Requirements Vocabulary Library (XML) Conformance Profile (XML) Test Case Management and Authoring Tool Message Profiling Test Plan Execution Script (XML) Test Plan Template HL7 V2 Impl. Guide Template Test Plan English Document Data Sheets Impl. Guide English Document Specification Validation Context File (XML)
Use Cases Vocabulary Profiling Use Case Development Disposition Traceability Utilities IG Template Wizard Constraint Generator Test Case Development Test Script Generator
Data Sheet and Juror Document Generator Test Plan Development Document Generator MessageMaker Data Management Message Generation Testing Infrastructure Document Generator Execution Engine Validation Engine Test Agents Report Generation Communication Testing Environments Capabilities Artifact Repository Testing Tools Web Applications Testing Infrastructure Components Test Plan Integration Validation Resource Bundle Management Message Generation Engine Vocabulary Libraries (XML) Conformance Profiles (XML) Test Case Specific Context Files (XML) Domain Specific Tools Juror Documents Utilities Documentation Communication Resource Bundle Test Plan Execution Script (XML) Domain Experts Domain Experts and Test Case Developers Software Engineers Tool Developers Import Value Sets DITA XML
Implementation Guide Authoring Tool Overview
•
Provides support to create a consistent (“standardized”) HL7 V2 Implementation
Guide
•
The HL7 V2 conformance principles and profile is the foundation
•
Explicitly define conformance requirements that can be processed automatically
– HL7 V2 conformance profile constraints– Value Set constraints – Conditional constraints
– Explicit conformance statements – Other constraints
•
Authoring tool maintains internal representation of message definition and
constraints
•
Constraints/Conformance Requirements must be specified in such a manner that
they can be processed/tested automatically
•
Publishes English version implementation guide
– Work the other way around; define constraint in tool publish IG – Modifications made in tool and republished
– Pre-defined Implementation Guide Skeleton
•
Think of it as a “Super MWB”
– Will include many of the concepts and functionality of the MWB
– Expand scope to document generator and support additional conformance constructs – Build modular/reusable components—Java Platform
– Leverage and integrate existing NIST testing Infrastructure components – Deploy as Web Applications
Conformance Profile (XML)¹
Validation
Tool
Current IG Authoring and NIST Testing Process²
Value Sets (XML)
MWB
Constraint Generator Test Case Specific Validation Context File (XML)³ Create Implementation Guide English Document Manually Specification Validation Context File (XML) Implementation Guide English Document Constraint Generator¹ Often not created; NIST creates default conformance profile automatically and adds use case specific constraints in validation context. Current NIST testing for meaningful use certification is an example.
² This is the current NIST approach. This may differ in other organizations.
³ Testing for conditional requirements are implemented with data sets and a dynamic “profile”—captured in a spreadsheet and rendered as a validation Table Library (XML) Table Library (XML)
HL7 V2 Implementation Guide Authoring Tool
• Graphical User Interface tool
• Provides “template” Implementation Guide
– Conformance terminology and meaning section
– Use Case(s)
– Dynamic model (message interactions)
– Static model (message layout and constraints)
– Value Set Definitions
– Expanded Conformance Profile Attributes
• Text and Machine processable conformance statements • Text and Machine processable conditional predicates
• Standard constraint model infrastructure
• Exports message profile and table library
• Utilities (profile comparison, profile compatibility checker, etc.)
• Implementation Guide Management
Skeleton Implementation Guide Structure and Format
Introduction and Overview
•
Define template sub-sectionsConformance Construct Definitions
and Validation Interpretations
Including an explanation of how conformance
constructs are tested
Adapted from HL7 Conformance Profile
Could be a standardized Appendix or Supplement
Static Message Definition Layout
Created with XML conformance profile or
internal message definition representation
Column for assertion description and tagged
format sufficient for automated processing
Dynamic Behavior Description
Develop format to process automatically
Extracted List of Conformance
Requirements
Processable by tooling
Example Messages (
Incorporate/Use
Message Maker Tool
)
Value Set Definitions
HL7 V2 Implementation Guide Title
Associated Files
XML Conformance Profile XML Table Library
XML Conditional Constraint Definitions
XML Static Constraint Definitions (formats, etc)
Use Case Description
Implementation Guide Authoring & Management
Tool
Implementation Guide Authoring and Management Tool Proposed Design
HL7 v2 Standard Message Definition General Transaction Constraints (e.g., IG , TF, or user input)¹ HL7 v2 Standard Value Sets Vocabulary Library (XML) Conformance Profile (XML) Message Profiling HL7 V2 Impl. Guide Template Impl. Guide English Document Specification Validation Context File (XML) Use Cases Vocabulary Profiling Use Case Development Disposition Traceability Utilities IG Template Wizard Document Generator MessageMaker Data Management Message Generation Domain Experts Import Value Sets
¹ Support existing specifications; ideally we would want to start writing an IG with
Example Messages Provides list of conformance constraints not captured in conformance profile DITA XML Code Generator Java Library - Parser - Validation ??
Messaging Profiling
• Define Message Constraints (Abstract Level)
• Conformance Constructs
– Message Structure (Support Libraries and Variances)
• Message Level • Segment Level • Data Type Level
– Usage
• Conditional (Condition Predicates)