1 / 16

NIST HL7 Conformance Testing Framework

NIST HL7 Conformance Testing Framework. Promoting HL7 Compliance to Improve Care. Justin Manweiler The College of William and Mary, class of 2007 Computer Science. OU: ITL Division: SDCT (897) Advisor: Rob Snelick. SURF Student Colloquium NIST – Gaithersburg, MD August 8-10, 2006. Focus.

elu
Download Presentation

NIST HL7 Conformance Testing Framework

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. NIST HL7 Conformance Testing Framework Promoting HL7 Compliance to Improve Care Justin Manweiler The College of William and Mary, class of 2007 Computer Science OU: ITL Division: SDCT (897) Advisor: Rob Snelick SURF Student Colloquium NIST – Gaithersburg, MD August 8-10, 2006

  2. Focus • Current state of healthcare IT • HL7 messaging standard • The role of NIST • Personal work

  3. Motivation • Safety: much room for improvement … • Up to 98,000 American deaths/year due to preventable errors (according to the Institute of Medicine) • Mere existence of healthcare IT does not solve problem • Lack of communication between diverse systems • Need for enhancement of information and data systems • Goal Strong informatics standards (provided by the HL7 standard) Correct implementations (facilitated by NIST) Realization of benefits possible with healthcare IT (improved care) + =

  4. Health Level Seven (HL7) Standard • Enables key healthcare data exchange • Clinical and administrative messaging standard • Example message types: lab order, report request, patient transfer • Widespread basic usage • 90% US hospitals, international use growing • Expanded compliance would lead to… • Superior quality of care • Improved patient safety • Reduction of costs

  5. Major HL7 Shortcoming: Complexity • Universal design problematic • Needed to gain broad support • Attempts to accommodate most business cases • Overwhelmingly large • Many optional features • Systems difficult to implement/debug • Plug-and-play installations impossible • Described as “total chaos” • Complexity limits effectiveness

  6. Response: Message Profiles • Allow for the customization/simplification of HL7 • For a particular implementation • Limit scope to a manageable size • Specify optional constructs • Path to conformance testing • System interoperability requires strict profile compliance by each endpoint • Conformance testing critical

  7. Message Types Message Events ACK ADR ADT BAR CRM CSU DFT DOC DSR EAC EAN EAR EDR EQQ ERP ESR ESU INR INU LSR LSU MCF MDM MFD MFK MFN MFQ MFR NMD NMQ NMR OMD OMG OML OMN OMP OMS ORD ORF ORG ORL ORM ORN ORP ORR ORS ORU OSQ OSR OUL PEX PGL PIN PMU PPG PPP PPR PPT PPV PRM PRR PTR QBP QCK QCN QRY QSB QSX QVR RAR RAS RCI RCL RDE RDR RDS RDY REF RER RGV ROR RPA RPI RPL RPR RQA RQC RQI RQP RQQ RRA RRD RRE RRG RRI RSP SIU SPQ SQM SRM SSR SSU SUR TBR TCR TCU UDM VQQ VXQ VXR VXU VXX A01 A02 A03 A04 A05 A06 A07 A08 A09 A10 A11 A12 A13 A14 A15 A16 A17 A18 A19 A20 A21 A22 A23 A24 A25 A26 A27 A28 A29 A30 A31 A32 A33 A34 A35 A36 A37 A38 A38 A39 A40 A41 A42 A43 A44 A45 A46 A47 A48 A49 A50 A51 Message Profile - ADT^A01 Message Profile HL7 Message Structure MSH MSH EVN Segments/Segment Groups: EVN - Cardinality (min, max) PID PID ... ... NK1 NK1 NK1 NK1 NK1 NK1 NK1 NK1 NK1 NK1 PV1 PV1 ... ... Fields/Components: - Field Usage ( Optionality ) PV2 PV2 (R, RE, C, CE, X) - Cardinality (max OBX OBX repeats) AL1 AL1 - Value Sets/Coding ... ... system - Descriptions Profile Complexity The Need for Dynamic Test Creation • Testing must be profile specific • Current practice: manual, expensive • Test suites generated by hand • Plug-and-play interoperability is often cost-prohibitive

  8. The Role of NIST: Message Maker • Created under Lead Scientist, Rob Snelick (Division 897) • Dynamic test generator • Produces a set of test messages • Based on a system’s specific profile • Form a customized testing suite Real System <?xml version="1.0"?> <HL7v2xConformanceProfile H <MetaData Name="CALINX" Or <Encodings> <Encoding>ER7</Encoding> </Encodings> <DynamicDef AccAck="NE" Ap <HL7MsgType=“ADT" EventType=“A01 <MetaData Name="CALINX"> <Segment Name="MSH" LongN <Field Name="Field Separator" Us </Field> <Field Name="Encoding Characters" <Reference>2.16.9.2</Reference </Field> <Field Name="Sending Application" <Component Name="namespace ID" Usage="X</Component> Profile Test Messages Message Maker HL7 Standard MSH|^~\&|REGAEVN|A05|199901PID|1||191919^NK1|1|MASSIE^ENK1|2|MASSIE^I…

  9. Personal Work Supporting the Message Maker project. • Validation Infrastructure • Profile Validation Support • Message Validation Support • Basic direct message-to-standard validation • Message-to-standard validation chain • Message-to-profile validation • Profile-to-standard validation

  10. Employed Technologies Many XML technologies are utilized for validation as HL7 messages can be expressed as XML. Profiles are always in XML. • XML: eXtensible Markup Language • Similar in structure to HTML • Way of storing and describing data • Java: object-oriented programming language • DOM: XML representation as tree data structure • XMLBeans: Java-to-XML data type binding • XSLT: transformation of XML documents • XML Schema: valid document structure definition HL7 XML Encoded Messages Conversion XML representation can be easily manipulated. HL7 ER7 Encoded Messages MSH|^~\&|REGAEVN|A05|199901PID|1||191919^NK1|1|MASSIE^ENK1|2|MASSIE^I…

  11. Profile Validation Strategy Profile-to-standard validation XML HL7 Profile <?xml version="1.0"?> <HL7v2xConformanceProfile H <MetaData Name="CALINX" Or <Encodings> <Encoding>ER7</Encoding> </Encodings> <DynamicDef AccAck="NE" Ap <HL7MsgType=“ADT" EventType=“A01 <MetaData Name="CALINX"> <Segment Name="MSH" LongN <Field Name="Field Separator" Us </Field> <Field Name="Encoding Characters" <Reference>2.16.9.2</Reference </Field> <Field Name="Sending Application" <Component Name="namespace ID" Usage="X</Component> Version-specific HL7 Profile XML Schema HL7-provided Message XML Schemas (HL7-version-specific, message-structure-specific) Construction using DOM Generated XML Schema XML Schema Validator Schema Violation Interpreter Validation Report

  12. Message Validation Strategy Basic direct message-to-standard validation When a profile does not exist to validate against, HL7-provided schemas are used to perform basic validation. HL7-provided Message XML Schema Refinement by DOM Modification Validation Messages XML Schema Validator HL7 ER7 Encoded Messages Conversion HL7 XML Encoded Messages MSH|^~\&|REGAEVN|A05|199901PID|1||191919^NK1|1|MASSIE^ENK1|2|MASSIE^I… Schema Violation Interpreter Validation Report

  13. Message Validation Strategy Message-to-profile validation Profile XLST Transformer XML HL7 Profile Refinement by DOM Modification <?xml version="1.0"?> <HL7v2xConformanceProfile H <MetaData Name="CALINX" Or <Encodings> <Encoding>ER7</Encoding> </Encodings> <DynamicDef AccAck="NE" Ap <HL7MsgType=“ADT" EventType=“A01 <MetaData Name="CALINX"> <Segment Name="MSH" LongN <Field Name="Field Separator" Us </Field> <Field Name="Encoding Characters" <Reference>2.16.9.2</Reference </Field> <Field Name="Sending Application" <Component Name="namespace ID" Usage="X</Component> Validation Profile Profile-specific Message XML Schema XSLT Transformation Refinement by DOM Modification Validation Messages XML Schema Validator HL7 ER7 Encoded Messages Conversion HL7 XML Encoded Messages MSH|^~\&|REGAEVN|A05|199901PID|1||191919^NK1|1|MASSIE^ENK1|2|MASSIE^I… Schema Violation Interpreter Validation Report

  14. Message Validation Reporting Example error section of an XML message validation report. Reports provides as much detail as can be determined about detected errors. … <errorseverity="NORMAL" type="Field Cardinality"> <profileLocelementType="Field"> <SegmentmaxCard="1" minCard="1" name="MSH" usage="R" /> <Fieldlength="20" maxCard="1" minCard="1" name="Message Control ID" usage="R" /> <XPathmatchCnt="1“ type="profile">/HL7v2xConformanceProfile/HL7v2xStaticDef/ Segment[@Name='MSH']/Field[10]</XPath> </profileLoc> <messageLoccolumnNo="13" lineNo="27"> <Segmentname="MSH" occNo="1" /> <Fieldname="MSH.10" occNo="2" /> <XPathmatchCnt="2" type="base">(/*:ADT_A01/*:MSH)[1]/*:MSH.10</XPath> <XPathmatchCnt="1" type="exact">((/*:ADT_A01/*:MSH)[1]/*:MSH.10)[2]</XPath> </messageLoc> <failureDetailsclass="Cardinality"> <valueactual="MSG.0" lenAct="5" /> <cardinalityactual="2" max="1" min="1" /> <schemavalRule="cvc-complex-type.2.4.a">Invalid content....</schema> <description>Cardinality error detected at Field 'Message Control ID'. Element must appear at least 1 time and no greater than 1 time in the message instance.</description> </failureDetails> </error> … Name of the error (classification) Location of the error Textual description

  15. Benefits of the Message Maker Testing Framework Impact: • Manual Test Suite • tests needed for each profile • written individually • meticulous work • high cost • often tests not performed Message Profile Build your own ($$$) Use Message Maker vs • Message Maker Test Suite • tests needed for each profile • automatically generated • easy • lower cost • increases likelihood tests will be performed HL7 Standard Goal: test suite Profile Verification Message Verification Personal Work Chaos Agreement TestabilityVerification Interoperability

  16. Acknowledgements • My group, especially, • My advisor, Robert Snelick • Sydney Henrard • The SURF ITL advisors, • Tim Boland • Larry Reeker • Ivelisse Aviles

More Related