hl7 v2 implementation guide authoring tool proposal robert snelick national institute of standards...
TRANSCRIPT
HL7 V2 Implementation Guide Authoring Tool Proposal
Robert Snelick
National Institute of Standards and TechnologyOctober 6th 2010
Contact: [email protected]
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
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
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)
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
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)
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
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)
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
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
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
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
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
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
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
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