16
HL7 V2 Implementation Guide Authoring Tool Proposal Robert Snelick National Institute of Standards and Technology October 6 th 2010 Contact: [email protected]

HL7 V2 Implementation Guide Authoring Tool Proposal

Embed Size (px)

DESCRIPTION

HL7 V2 Implementation Guide Authoring Tool Proposal. Robert Snelick National Institute of Standards and Technology October 6 th 2010 Contact: [email protected]. Shortcoming of V2 Implementation Guides. Each guide has their own style, format, terminology, and interpretation of concepts - PowerPoint PPT Presentation

Citation preview

Page 1: HL7 V2 Implementation Guide Authoring Tool Proposal

HL7 V2 Implementation Guide Authoring Tool Proposal

Robert Snelick

National Institute of Standards and TechnologyOctober 6th 2010

Contact: [email protected]

Page 2: HL7 V2 Implementation Guide Authoring Tool Proposal

2

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

Page 3: HL7 V2 Implementation Guide Authoring Tool Proposal

3

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

Page 4: HL7 V2 Implementation Guide Authoring Tool Proposal

4

ConformanceProfile(XML)¹

ValidationTool

Current IG Authoring and NIST Testing Process²

Value Sets(XML)

MWB

ConstraintGenerator

Test CaseSpecific

Validation Context File

(XML)³

CreateImplementation

GuideEnglish

DocumentManually

SpecificationValidation

ContextFile

(XML)Implementation

GuideEnglish

Document

ConstraintGenerator

¹ 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

TableLibrary(XML)

TableLibrary(XML)

Page 5: HL7 V2 Implementation Guide Authoring Tool Proposal

5

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

Page 6: HL7 V2 Implementation Guide Authoring Tool Proposal

6

Skeleton Implementation Guide Structure and Format

Introduction and Overview• Define template sub-sections

Conformance Construct Definitions and Validation Interpretations Including an explanation of how conformance constructs are tested Adapted from HL7 Conformance Profile

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

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)

Page 7: HL7 V2 Implementation Guide Authoring Tool Proposal

7

AuthoringTool

Authoring Tool Proposed Design

HL7 v2StandardMessage

Definition

GeneralTransactionConstraints(e.g., IG , TF,

or user input)¹

HL7 v2Standard

Value Sets

TableLibrary(XML)

ConformanceProfile(XML)

TWB

MWB

HL7 V2Implementation

GuideSkeleton

ConstraintGenerator

ImplementationGuide

EnglishDocument

SpecificationValidation

ContextFile

(XML)

¹ Support existing specifications; ideally we would want to start writing an IG with the tool but many guides currently exist.

ConformanceProfile (XML)

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).

Provides list of conformance constraints not captured in conformance profile

Page 8: HL7 V2 Implementation Guide Authoring Tool Proposal

8

AuthoringTool

The Big Picture: HL7 V2 End-to-end Testing Support

HL7 v2StandardMessage

Definition

GeneralTransactionConstraints(e.g., IG , TF,

or user input)¹

HL7 v2Standard

Value Sets

Test CaseRequirements

TableLibrary(XML)

ConformanceProfile(XML)

Test CaseManagement

and Authoring Tool

TWB

Proposed Tool or Specification

MWB

Test CaseExecution

Script(XML)

Test PlanBoilerplateTemplate

HL7 V2Implementation

BoilerplateTemplate

Test Suite(Test Cases)

English DocumentTest Plan

ConstraintGenerator

Test CaseSpecific

Context Files(XML)²

ImplementationGuide

EnglishDocument

SpecificationValidation

ContextFile

(XML)

ConstraintGenerator

Test PlanManagement

AuthoringTool

Test CaseBuilder

Test Assertions ¹ Support existing specifications² Both generation and validation

ConformanceProfile (XML)

Page 9: HL7 V2 Implementation Guide Authoring Tool Proposal

9

TestingInfrastructure

The Big Picture: HL7 V2 End-to-end Testing Support II

Proposed Tool

ExecutionEngine

MessageValidation

Test ReportEnglish

Document

GUI

Test CaseSpecific

Context Files(XML)¹

Test Assertions

¹ Both generation and validation

TableLibrary(XML)

ConformanceProfile(XML)

SpecificationValidation

ContextFile

(XML)

MessageGeneration

TestAgents

Test ReportDocuments

(XML)

Test CaseExecution

Script(XML)

MappedTest CaseExecution

Script(XML)

OtherServices

ExecutionEngine Mapping

Page 10: HL7 V2 Implementation Guide Authoring Tool Proposal

10

Conceptual View of System Components

Registry/ RepositoryRegistry/

Repository

TestDataTestData

AggregatedAggregated

ValidationValidation

ProxyProxy

SecuritySecurity

GenerationGeneration

LoggingLoggingLog

AnalyzerLog

Analyzer

Services

TimeTime

SpecializedSpecialized OtherServices

OtherServices

Test AgentTest Agent Evaluation AgentEvaluation Agent

NIST TEST INFRASTRUCTURE SYSTEM

Test Harness

Workflow Management /Execution Engine

Workflow Management /Execution Engine

Resource Repository

Templates, Common File Format Specifications

Templates, Common File Format Specifications

Test Cases, Machine-Readable Test ScriptsTest Cases, Machine-Readable Test Scripts

Test System Development Components

Test Case CreationTest Case Creation

Test Initiation and Test Identification Management

Test Initiation and Test Identification Management

Configuration Settings Management

Configuration Settings Management

User Repository ManagementUser Repository Management

Certification Body

NHIN

Other IndustryConsortia

Implementers

HITSP

STAKEHOLDERS

Vendors

Te

st

Ma

na

ge

me

nt

To

ols

an

d T

es

t S

ys

tem

s

ReportReport

Test Environments SupportedTest Environments Supported

Peer-to-Peer System TestingPeer-to-Peer System TestingTest AnalyzerTest Analyzer

System(s) Under Test

SUT

Real-Time MonitorReal-Time Monitor

Test Framework Test Framework Test Framework

Test System Instance

Instance TestingInstance Testing

Isolated System TestingIsolated System Testing

User InterfaceUser Interface

Test System ControlTest System Control

RemoteServicesRemoteServices

ExistingTool

ExternalService

Page 11: HL7 V2 Implementation Guide Authoring Tool Proposal

11

Isolated System Test Environment E.g., IHE PIX Testing using a Web Application Client

ReportReport

IHE PIXConsumerTest Agent

IHE PIXConsumerTest Agent

HL7 V2Message

Generation

HL7 V2Message

Generation

IHE PIXSource

Test Agent

IHE PIXSource

Test Agent

HL7 V2MessageValidation

HL7 V2MessageValidation

Services Test Management

Router/Logger/ProxyRouter/Logger/Proxy

Vendor

System Under Test

Test Artifacts• Conformance Profiles• HL7 Tables• Validation Context Files• Generation Context Files

Test Artifacts• Conformance Profiles• HL7 Tables• Validation Context Files• Generation Context Files

IHE PIX ClientTest ScenarioIHE PIX ClientTest Scenario

ResultsHL7 V2 Message Validation Reports

ResultsHL7 V2 Message Validation Reports

Test Harness(Java Code)

Test Harness(Java Code)

Test Execution

Web Application

Client

Page 12: HL7 V2 Implementation Guide Authoring Tool Proposal

12

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

Page 13: HL7 V2 Implementation Guide Authoring Tool Proposal

13

Implementation Guide Test Plan Structure and Format

Introduction and Overview

Test Plan Actors Transactions Test Cases

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

List of Extracted Conformance Requirements and Test Case Mappings

Example Test MessagesDriver MessagesExpected Results Messages

HL7 V2 Implementation Guide Test Plan Title

Associated Files XML Conformance Profile XML Table Library XML Conditional Constraint Definitions XML Static Constraint Definitions (formats, etc) Context Value Specifications

Page 14: HL7 V2 Implementation Guide Authoring Tool Proposal

14

MDHTTool

TemplatesDefinition

(RIM?)

HL7 v2Standard

Value Sets

Java Library- Parser- Validation

IG Skeleton?

UML + OCLAnnotations/Comments

- IG PDF- Eclipse Help

DITA XML

DITAToolkit

IG PDF for developers

AuthoringTool

HL7 v2StandardMessage

Definition

GeneralTransactionConstraints(e.g., IG , TF,

or user input)¹

HL7 v2Standard

Value Sets

TableLibrary(XML)

ConformanceProfile(XML)

TWB

MWB

HL7 V2Implementation

Skeleton

ConstraintGenerator

ImplementationGuide

EnglishDocument

SpecificationValidation

ContextFile

(XML)

ConformanceProfile (XML)

Comparison of V3 and V2 IG Authoring Tool Proposals

CodeGenerator

Java Library- Parser- Validation

VA/OHT HL7 V3 NIST HL7 V2

Page 15: HL7 V2 Implementation Guide Authoring Tool Proposal

15

AuthoringTool

MDHTTool

TemplatesDefinition

(RIM?)

HL7 v2Standard

Value Sets

Java Library- Parser- Validation

IG Skeleton?

UML + OCLAnnotations/Comments

- IG PDF- Eclipse Help

DITA XML

DITAToolkit

IG PDF for developers

HL7 v2StandardMessage

Definition

GeneralTransactionConstraints(e.g., IG , TF,

or user input)¹

HL7 v2Standard

Value Sets

TableLibrary(XML)

ConformanceProfile(XML)

TWB

HL7 V2Implementation

Skeleton

ConstraintGenerator

ImplementationGuide

EnglishDocument

SpecificationValidation

ContextFile

(XML)

Comparison of V3 and V2 IG Authoring Tool Proposals

CodeGenerator

Java Library- Parser- Validation

VA/OHT HL7 V3 NIST HL7 V2

StandardConstraint Model Tool

DITA XML

DITAToolkit

Page 16: HL7 V2 Implementation Guide Authoring Tool Proposal

16

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