Upload
shona-simmons
View
219
Download
0
Tags:
Embed Size (px)
Citation preview
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]
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
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
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
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
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
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
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!
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
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
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
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
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
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)
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
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
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
??
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
19
Key Component
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
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??
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