160 likes | 301 Views
HL7 V2 Implementation Guide Authoring Tool Proposal. Robert Snelick National Institute of Standards and Technology October 6 th 2010 Contact: rsnelick@nist.gov. Shortcoming of V2 Implementation Guides. Each guide has their own style, format, terminology, and interpretation of concepts
E N D
HL7 V2 Implementation Guide Authoring Tool Proposal Robert Snelick National Institute of Standards and Technology October 6th 2010 Contact: rsnelick@nist.gov
Shortcoming of V2 Implementation Guides • Each guide has their own style, format, terminology, and interpretation of concepts • E.g., Interpretation of the conformance constructs is not universal • Conformance requirements written in English and often as embedded comments • 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 • Implementation Guides do not relate or provide guidance on how conformance requirements should be tested
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 • 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” • Builds upon the MWB output (i.e., the XML Conformance Profile) • Add methodology and capabilities unavailable in the MWB
Current IG Authoring and NIST Testing Process² Validation Tool Conformance Profile (XML)¹ Create Implementation Guide English Document Manually Value Sets (XML) MWB Specification Validation Context File (XML) Implementation Guide English Document Constraint Generator Table Library (XML) Test Case Specific Validation Context File (XML)³ Constraint Generator Table Library (XML) ¹ 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 context
HL7 V2 Implementation Guide Authoring Tool • Graphical User Interface tool • Provides boilerplate template • Conformance terminology and meaning section • Dynamic model (message interactions) • Static model (message layout and constraints) • Value Set Definitions • Tagged conformance requirements • Requirements not captured in XML conformance profile, e.g., details of a conditional • Conformance requirement validation interpretation description • Standard constraint model infrastructure • Exports English aided written implementation guide • Exports message profile and additional conformance constraint doucments
Skeleton Implementation Guide Structure and Format HL7 V2 Implementation Guide Title • Introduction and Overview • Define template sub-sections Value Set Definitions • Conformance Construct Definitions and Validation Interpretations • Including an explanation of how conformance constructs are tested • Adapted from HL7 Conformance Profile Example Messages • Extracted List of Conformance Requirements • Processable by tooling • Dynamic Behavior Description • Develop format to process automatically • 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 • Associated Files • XML Conformance Profile • XML Table Library • XML Conditional Constraint Definitions • XML Static Constraint Definitions (formats, etc)
Authoring Tool Proposed Design Authoring Tool HL7 v2 Standard Message Definition MWB Conformance Profile (XML) Conformance Profile (XML) General Transaction Constraints (e.g., IG , TF, or user input)¹ TWB Table Library (XML) Provides list of conformance constraints not captured in conformance profile Constraint Generator HL7 v2 Standard Value Sets Specification Validation Context File (XML) HL7 V2 Implementation Guide Skeleton Implementation Guide English Document A risk is that the MWB will not be supported moving forward which means the authoring tool would need to build in the profiling functionality of the MWB. We want to avoid this if possible. TWB = Table Workbench, tool to create, organize, and manage table library files. Note that the MWB supports tables but would need to be updated to support new external Table Library format (accepted proposal for HL7 version 2.8). ¹ Support existing specifications; ideally we would want to start writing an IG with the tool but many guides currently exist.
The Big Picture: HL7 V2 End-to-end Testing Support Authoring Tool Test Case Management and Authoring Tool HL7 v2 Standard Message Definition Test Plan Management Test Suite (Test Cases) English Document Test Plan MWB Conformance Profile (XML) Authoring Tool Conformance Profile (XML) Test Case Specific Context Files (XML)² General Transaction Constraints (e.g., IG , TF, or user input)¹ TWB Table Library (XML) Test Case Builder Constraint Generator Constraint Generator Test Case Execution Script (XML) HL7 v2 Standard Value Sets Specification Validation Context File (XML) HL7 V2 Implementation Boilerplate Template Implementation Guide English Document Test Plan Boilerplate Template Test Case Requirements Proposed Tool or Specification ¹ Support existing specifications ² Both generation and validation Test Assertions
The Big Picture: HL7 V2 End-to-end Testing Support II Conformance Profile (XML) Testing Infrastructure GUI Test Report English Document Message Generation Table Library (XML) Test Report Documents (XML) Message Validation Specification Validation Context File (XML) Test Agents Execution Engine Test Case Specific Context Files (XML)¹ Test Case Execution Script (XML) Other Services Mapped Test Case Execution Script (XML) Execution Engine Mapping Proposed Tool Test Assertions ¹ Both generation and validation
Other Industry Consortia Implementers Certification Body Vendors HITSP NHIN Conceptual View of System Components STAKEHOLDERS NIST TEST INFRASTRUCTURE SYSTEM SUT Test System Instance System(s) Under Test Resource Repository User Interface Test Cases, Machine-Readable Test Scripts Templates, Common File Format Specifications Test System Control Test Environments Supported Instance Testing Test Harness Isolated System Testing Workflow Management /Execution Engine Test Analyzer Peer-to-Peer System Testing Test System Development Components Services Test Management Tools and Test Systems Test Agent Proxy Evaluation Agent Test Initiation and Test Identification Management Test Framework Test Framework Test Framework Test Case Creation Generation Test Data Validation Report Remote Services Configuration Settings Management Existing Tool Time Log Analyzer Security Logging User Repository Management Registry/ Repository Aggregated Specialized Other Services External Service Real-Time Monitor
Vendor Isolated System Test Environment E.g., IHE PIX Testing using a Web Application Client Services Test Management Web Application Client HL7 V2 Message Validation HL7 V2 Message Generation IHE PIX Client Test Scenario Results HL7 V2 Message Validation Reports IHE PIX Source Test Agent IHE PIX Consumer Test Agent Test Harness (Java Code) Report Test Execution • Test Artifacts • Conformance Profiles • HL7 Tables • Validation Context Files • Generation Context Files IHE PIX Manager Application Router/Logger/Proxy System Under Test
Test Case Management and Authoring Tool • Creates, Maintains, and Manages Test Plans • Embedded Standard Constraint Model or Imports Test Artifacts • Supports Multistep Test Cases (Test Scenarios) • Defines Each Test Case (Test Steps) • Builds Test Environment • Defines transactions, actors, and sequence to execute tests • Defines generation context files and validation context files • Defines configuration parameters • Creates executable test script in XML format • Independent of any execution engine • Generates English Document Test Plan • Describes test cases and expected results • Provides traceability to specification reference • Overall has to incorporate/use results of the other tools
Implementation Guide Test Plan Structure and Format HL7 V2 Implementation Guide Test Plan Title Introduction and Overview • Example Test Messages • Driver Messages • Expected Results Messages • Test Plan • Actors • Transactions • Test Cases List of Extracted Conformance Requirements and Test Case Mappings • Test Cases • Definition of Test Cases • Reference to Conformance Requirements • Test Setup • Actor Description • Configuration • Generation Context File • Test Data • Test Steps • Assertions • Expected Results • Associated Files • XML Conformance Profile • XML Table Library • XML Conditional Constraint Definitions • XML Static Constraint Definitions (formats, etc) • Context Value Specifications
Comparison of V3 and V2 IG Authoring Tool Proposals VA/OHT HL7 V3 NIST HL7 V2 • Java Library • Parser • Validation Code Generator MDHT Tool Authoring Tool HL7 v2 Standard Message Definition MWB Conformance Profile (XML) Templates Definition (RIM?) • Java Library • Parser • Validation UML + OCL Annotations/ Comments Conformance Profile (XML) General Transaction Constraints (e.g., IG , TF, or user input)¹ TWB Table Library (XML) HL7 v2 Standard Value Sets DITA XML • - IG PDF • Eclipse Help Constraint Generator HL7 v2 Standard Value Sets Specification Validation Context File (XML) DITA Toolkit IG Skeleton? IG PDF for developers HL7 V2 Implementation Skeleton Implementation Guide English Document
Comparison of V3 and V2 IG Authoring Tool Proposals VA/OHT HL7 V3 NIST HL7 V2 • Java Library • Parser • Validation Code Generator MDHT Tool Authoring Tool HL7 v2 Standard Message Definition Standard Constraint Model Tool Conformance Profile (XML) Templates Definition (RIM?) • Java Library • Parser • Validation UML + OCL Annotations/ Comments TWB General Transaction Constraints (e.g., IG , TF, or user input)¹ Table Library (XML) HL7 v2 Standard Value Sets Constraint Generator DITA XML • - IG PDF • Eclipse Help HL7 v2 Standard Value Sets Specification Validation Context File (XML) DITA Toolkit DITA XML IG Skeleton? IG PDF for developers DITA Toolkit HL7 V2 Implementation Skeleton Implementation Guide English Document
Discussion and Collaboration • Essentially the same ideas and realization for the need • However, V2 and V3 information models significantly different • Component Equivalency • MDHT Tool/V3 UML Model MWB/V2 Conformance Profile • Investigate Standard Constraint Model for replacing MWB • MDHT/V3 OCL Constraint Generator/Validation Context File • Investigate OCL or other constraint language for V2 • Not straightforward in V2 • Collaboration Opportunities • User Interface • Creating English Implementation Guide • Implementation Guide Skeleton • Converting test to DITA XML • Integration of DITA toolkit • Common format for describing constraints