HL7 V2 Implementation Guide Authoring and Management Tool Proposal

22
HL7 V2 Implementation Guide Authoring and Management Tool Proposal Robert Snelick, NIST National Institute of Standards and Technology May 14 th 2012 Revised: January 24 th , 2013 Contact: [email protected]

description

HL7 V2 Implementation Guide Authoring and Management Tool Proposal. Robert Snelick, NIST National Institute of Standards and Technology May 14 th 2012 Revised: January 24 th , 2013 Contact: [email protected]. NIST and Veterans Administration Joint Project. - PowerPoint PPT Presentation

Transcript of HL7 V2 Implementation Guide Authoring and Management Tool Proposal

Page 1: HL7 V2 Implementation Guide Authoring and Management Tool Proposal

HL7 V2 Implementation Guide Authoring and Management Tool Proposal

Robert Snelick, NISTNational Institute of Standards and TechnologyMay 14th 2012Revised: January 24th, 2013

Contact: [email protected]

Page 2: HL7 V2 Implementation Guide Authoring and Management Tool Proposal

2

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)• Initial focus on MU certification but widely applicable

Page 3: HL7 V2 Implementation Guide Authoring and Management Tool Proposal

3

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

Page 4: HL7 V2 Implementation Guide Authoring and Management Tool Proposal

4

Conceptual View of NIST Testing Infrastructure 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 Testing Test 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

Specification (IG) Authoring Tools

Page 5: HL7 V2 Implementation Guide Authoring and Management Tool Proposal

5

What will the tools address?

StandardsStandards Test CasesTest Cases

Test ExecutionTest ExecutionTest ScriptsTest Scripts ResultsResults AnalysisAnalysisTest MaterialTest Material

specification of test cases

specification of test cases

implementation guide development

implementation guide development

processable test cases

processable test cases

automated or human analysis

automated or human analysis

juror document or test report

juror document or test report

execution of the test scripts

execution of the test scripts

healthcare use case development

healthcare use case development create requirements to guide the standards development

create requirements to guide the standards development

create inspection document

provide validation test report

create inspection document

provide validation test report

XML message profiles

vocabulary validation

context files

XML message profiles

vocabulary validation

context files

test or certification managers determine pass/fail based on results

test or certification managers determine pass/fail based on results

ensure use case requirements are satisfied

create testable assertions criteria

ensure use case requirements are satisfied

create testable assertions criteria

tests cases should test all requirements specified in the implementation guide

tests cases should test all requirements specified in the implementation guide

methods and tools to transform test cases into machines process-able instructions

methods and tools to transform test cases into machines process-able instructions

Use CasesUse Cases

artifacts to support testing

artifacts to support testing

test engine interprets test scripts

validate message against test material

test engine interprets test scripts

validate message against test material

ImplementationImplementation

implementation

implementation

application implements the standard

application implements the standard

Test DataTest Data

development of test messages

development of test messages

messages support test cases

valid and invalid

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

Page 6: HL7 V2 Implementation Guide Authoring and Management Tool Proposal

6

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– Implementation Guides do not provide test plan supplements

Page 7: HL7 V2 Implementation Guide Authoring and Management Tool Proposal

7

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

Page 8: HL7 V2 Implementation Guide Authoring and Management Tool Proposal

8

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

ImplementationGuides

(Number is increasing rapidly—no testing tools

available)

HL7 v2 MUSyndromic

SurveillanceImplementation

Guide

ELINCSHL7 v2

Lab Orders and Results

ImplementationGuide

HL7 v2 MU incorporate Lab

Results & Reportable Lab

ResultsImplementation

Guides

HL7 v2MU Immunization

ReportingImplementation

Guides

IHE HL7 v2PCD

Technical Framework

IHE HL7 v2PIX/PDQTechnical

Framework

HL7 v2 MULab Results

Interface (LRI) Implementation

Guide

IHE HL7 v2Technical

FrameworkIn General

HL7 v2 Implementation

Guides in General(HL7, CDC, PHIN,ISDS, ONC, etc.)

20+ IHE integration profiles using V2!

Page 9: HL7 V2 Implementation Guide Authoring and Management Tool Proposal

9

“Reusable” Test System

End-User(Vendor)

VendorSystemUnderTest

VendorSystemUnderTest

HL7 Test Tool

We

b A

pp

lic

ati

on

Real-TimeLog

TestCases

Reports

NIST Server/Other Server

Co

mm

un

ica

tio

n

HL7v2

HL7v3

Te

st

En

gin

e

Me

ss

ag

e G

en

era

tio

n a

nd

Va

lid

ati

on

MLLP (v2) or SOAP (v3)

Test AgentSupport

Test AgentSupport

TestFlow

Engine

Test AgentCore

Test AgentSupport

Test AgentSupport

Test AgentCore

Test AgentSupport

Test AgentSupport

Test AgentCore

TestManagement

Implementation Guide

Authoring Tool

Test CaseManagement

Tool

SDOs

Testers

Phase 1Phase 3

Phase 2

Tool Builder Tasks

Sp

ecia

l V

alid

atio

n

Use

r In

terf

ace

Page 10: HL7 V2 Implementation Guide Authoring and Management Tool Proposal

10

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

Page 11: HL7 V2 Implementation Guide Authoring and Management Tool Proposal

11

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

Page 12: HL7 V2 Implementation Guide Authoring and Management Tool Proposal

12

ImplementationGuide

Authoring &Management

Tool

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

VocabularyLibrary(XML)

ConformanceProfile(XML)

Test CaseManagement

and Authoring Tool

MessageProfiling

Test PlanExecution

Script(XML)

Test PlanTemplate

HL7 V2Impl.Guide

Template

Test PlanEnglish

Document

Data Sheets

Impl.Guide

EnglishDocument

SpecificationValidation

ContextFile

(XML)

¹ Support existing specifications

UseCases

VocabularyProfiling

Use CaseDevelopment

DispositionTraceability

Utilities

IG TemplateWizard

ConstraintGenerator

Test CaseDevelopment

Test ScriptGenerator

Data Sheet and Juror Document

Generator

Test PlanDevelopment

DocumentGenerator

Message Maker

DataManagement

MessageGeneration

TestingInfrastructure

DocumentGenerator

Execution Engine

ValidationEngine

Test Agents

Report Generation

Communication

TestingEnvironmentsCapabilities

ArtifactRepository

TestingTools

WebApplications

TestingInfrastructureComponents

Test PlanIntegration

Validation

ResourceBundle

ManagementMessageGeneration

Engine

VocabularyLibraries

(XML)

ConformanceProfiles(XML)

Test CaseSpecificContext

Files(XML)

Domain Specific

Tools

JurorDocuments

Utilities

Documentation

Communication

ResourceBundle

Test PlanExecution

Script(XML)

R. Snelick May 8th, 2012

DomainExperts

Domain Experts and Test Case Developers

User Input Tool Generated

Software Engineers

Tool Developers

ImportValue Sets

DITA XML

Page 13: HL7 V2 Implementation Guide Authoring and Management Tool Proposal

13

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

Page 14: HL7 V2 Implementation Guide Authoring and Management Tool Proposal

14

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 15: HL7 V2 Implementation Guide Authoring and Management Tool Proposal

15

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– including disposition history

Page 16: HL7 V2 Implementation Guide Authoring and Management Tool Proposal

16

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 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 Develop format to process automatically

Page 17: HL7 V2 Implementation Guide Authoring and Management Tool Proposal

17

ImplementationGuide

Authoring &Management

Tool

Implementation Guide Authoring and Management Tool Proposed Design

HL7 v2StandardMessage

Definition

GeneralTransactionConstraints(e.g., IG , TF,

or user input)¹

HL7 v2Standard

Value Sets

VocabularyLibrary(XML)

ConformanceProfile(XML)

MessageProfiling

HL7 V2Impl.Guide

Template

Impl.Guide

EnglishDocument

SpecificationValidation

ContextFile

(XML)

UseCases

VocabularyProfiling

Use CaseDevelopment

DispositionTraceability

Utilities

IG TemplateWizard

DocumentGenerator

Message Maker

DataManagement

MessageGeneration

DomainExperts

User Input Tool Generated

ImportValue Sets

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

ExampleMessages

Provides list of conformance constraints not captured in conformance profile

DITA XML

CodeGenerator

Java Library- Parser- Validation

??

Page 18: HL7 V2 Implementation Guide Authoring and Management Tool Proposal

18

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)

– Cardinality

– Length

– Constant Values

– Vocabulary

– Truncation

– Conformance Statements

• Captures messaging, syntax, and limited semantic (content) constraints

Page 19: HL7 V2 Implementation Guide Authoring and Management Tool Proposal

19

Key Component

Page 20: HL7 V2 Implementation Guide Authoring and Management Tool Proposal

20

Support Spectrum of Conformance Statements• Single-message Value Correlation

– Defines a relationship between 2 or element values

– E.g., For observations related to the testing of a specimen OBX.14 shall contain specimen collection time and will be value the same as OBR.7 and SPM.17.1

• Data Type Value Placement– Define the possible location of values

– CE 1st/2nd triplet

• Conditional Element Present– Either OBR.16 or ORC.21, ORC.22, and ORC.23 must be present

• Conditional Data Content– If OBR.16 is populated then ORC.12 shall contain the same data content if

populated

Page 21: HL7 V2 Implementation Guide Authoring and Management Tool Proposal

21

Team

• Rob – Project and Design Lead

• Salifou – Technical Lead

• Rizwan – HITTI PM and Technical Lead ??

• Pete – HITTI PM ??

• Woo – Developer-Integrator

• HITTI – Developer(s) ??

• Sandra – User/Tester

• Mike – Interested Party, Developer??

Page 22: HL7 V2 Implementation Guide Authoring and Management Tool Proposal

22

Timeline

• March 22 – basic profile capability

• April 12th – Prototype for review

• May 3rd - 1st official prototype to be presented at HL7

• August 9th – 1st release for review

• September 6th – 1st official release to be presented at HL7 and made publically available

• Add additional functionality and support for test data creation

• Timeline to be refined as needed and intermediate milestones will be established

• Message Maker/TCAMT will need to be considered