Recommendations from the EHR-S Functional Requirements IG: Lab Results Interface Error Handling 7/10/2014.

Slides:



Advertisements
Similar presentations
March 7, 2011 COMPARATIVE ANALYSIS HL7 V2.5.1 Implementation Guide: Orders and Observations; Interoperable Laboratory Result Reporting to EHR (US REALM)
Advertisements

HL7 V2 Conformance Testing Robert Snelick NIST January 20 th, 2004
LRI Validation Suite Meeting August 16, Agenda Review of LRI Validation Suite Charter/Overview Acquiring test data update Review of proposed test.
IHE PCD MEM-DMC CMMS & RTLS Vendor Perspective
Acknowledgement Discussion (MSH ) November 13, 2013 Version 4.0.
S&I Framework Testing HL7 V2 Lab Results Interface and RI Pilot Robert Snelick National Institute of Standards and Technology June 23 rd, 2011 Contact:
IHE PCD Interoperability Mini-Showcase at AAMI 2013 Long Beach, CA CMMS New Directions Demonstrations Monroe Pattillo Practical Health Interoperability,
SAFER – HEALTHIER – PEOPLE CDC NEDSS Drug Reaction Notification 2 October Page: 1 Notification Messaging to Support FDA Building an HL7 Version.
Cardinality Behaviors Discussion November 13, 2013 Version 4.0.
Result Status Relationships
Cross-Jurisdictional Immunization Data Exchange Project Updated 4/29/14.
Electronic Submission of Medical Documentation (esMD) Clinical Document Architecture R2 and C-CDA Comparison April 24, 2013.
1.  An inadvertent issue begins upon the discovery of an Inadvertent Gain or Move-In transaction submission. Upon identification of an Inadvertent Gain.
S&I Framework Laboratory Initiatives Update June 6, 2013.
EHR-S Functional Requirements IG: Lab Results Interface Error Handling 7/7/2014.
1 Cardinality Specification and Testing Recommendations LOI and LRI MU Certification September 9 th, 2013 Draft
Systems Analysis I Data Flow Diagrams
Series DATA MANAGEMENT. 1 Why ? Alarm/Status Notification –Remote unattended sites »Pumping stations –Pharmaceutical/Plant maintenance.
LRI Validation Suite Meeting November 1st, Agenda Review of LIS Test Plan Template CLIA Testing EHR testing (Juror Document)—Inspection Testing.
The OSI Model A layered framework for the design of network systems that allows communication across all types of computer systems regardless of their.
S&I Framework LRI Validation Suite Vocabulary Testing Proposal (Lab Results Interface) Robert Snelick National Institute of Standards and Technology October.
Gursharan Singh Tatla Transport Layer 16-May
Applicability Statement v1.1 Feedback: DirectTrust May 5, 2015.
Software and Systems Division “IHE-PCD F2F Meeting” (NIST Testing Tool Status) National Institute of Standards and Technology (NIST) John Garguilo, Sandra.
Module 3: Table Selection
Address Refer to Slide 2 for instructions on how to view the full-screen slideshow.Slide 2.
LRI Validation Suite LRI Prototype Tool Demonstration Rob Snelick—NIST January 31st, 2011.
1 Cardinality Specification and Testing Recommendations LOI and LRI MU Certification October 21, 2013 Draft
Laboratory Pilots/Deployment May 15, Participants Coordination of Effort Validation Suite Vocabulary Group Implementation Guide Analysis Support.
Copyright © 2007, Oracle. All rights reserved. Managing Concurrent Requests.
Toolkit for Planning an EHR-based Surveillance Program | HL7 Version 2 Messages An Introduction.
Established Profile Laboratory Scheduled WorkFlow Established Profile Laboratory Scheduled WorkFlow Charles Parisot GE Healthcare IHE IT Technical Committee.
EHR-S Functional Requirements IG: Lab Results Interface Laboratory Initiative.
Lab Results Interfaces S&I Framework Initiative Bi-Weekly Initiative Meeting March 12, 2012.
DEMO - 8/14/2007. R2 Feature List ReceiveDocumentBatch Web Service SendPESCAcknowledgment Web Service Validate Acknowledgment Upload Acknowledgment Transcript.
Computer Emergency Notification System (CENS)
1. To start the process, Warehouse Stationery (WSL) will invite you to use The Warehouse Group Supplier Electronic Portal and will send you the link to.
(Business) Process Centric Exchanges
1 Agenda  For PSS preparation discuss naming of the final deliverables: – 3 Documents from OO  EHR Functional Profile for Lab  EHR Functional Requirements.
EHR-S Functional Requirements IG: Lab Results Interface 10/17/2014.
Public Health Reporting Initiative Stage 3 Sprint: Implementation Guide Development Phone: x
EDOS Workgroup Update May 21, 2013 Laboratory Orders Interface Initiative.
Health eDecisions Use Case 2: CDS Guidance Service Strawman of Core Concepts Use Case 2 1.
Lab Results Interface Validation Suite WG July 28, 2011.
1 Requirements for Internet Routers (Gateways) and Hosts Relates to Lab 3. (Supplement) Covers the compliance requirements of Internet routers and hosts.
EHR-S Functional Requirements IG: Lab Results Interface Error Handling 6/30/2014.
Collaborative Planning Training. Agenda  Collaboration Overview  Setting up Collaborative Planning  User Setups  Collaborative Planning and Forecasting.
© 2002 Six Sigma Academy and Helix Systems1 Interface Overview Version 1.0.
LRI Validation Suite Meeting Prototype Tool Demonstration December 20th, 2011.
Laboratory Pilots/Deployment June 26, Participants Coordination of Effort Validation Suite Vocabulary Group Implementation Guide Analysis LRI/LOI/eDOS.
20/11/2009 DICOM WG13 Atsushi Amano Medical Imaging Systems Committee Japanese Association of Healthcare Information Systems Industry (JAHIS) 1 JAHIS /
AIRA Interoperability Project Intro Presentation for Conformance & Guidance for Implementation/Testing.
IBM Global Services © 2005 IBM Corporation SAP Legacy System Migration Workbench| March-2005 ALE (Application Link Enabling)
Cardinality Behaviors and MSH Overview November 7, 2013.
ISA 95 Working Group (Business) Process Centric Exchanges Dennis Brandl A Modest Proposal July 22, 2015.
September, 2005What IHE Delivers 1 Patient Index and Demographic Implementation Strategies IHE Vendors Workshop 2006 IHE IT Infrastructure Education Rick.
Lab Results Interface Validation Suite Workgroup and Pilots Workgroup Vision, Charter, NIST Collaboration, July 8,
PIX/PDQ – Today and Tomorrow Vassil Peytchev Epic.
Collecting Copyright Transfers and Disclosures via Editorial Manager™ -- Editorial Office Guide 2015.
Case Study: HL7 Conformance in VA Imaging Mike Henderson Principal Consultant Eastern Informatics, Inc.
Labs Early Adoption Program Template Insert the Name of Your Implementation / Organization Here MM/DD/YYYY.
Validation Gary Gensinger Deputy Director Office of Business Process Support Center for Drug Evaluation and Research.
Orders – Create Responses Boeing Supply Chain Platform (BSCP) Detailed Training July 2016.
Labs Early Adoption Program Template Insert the Name of Your Implementation / Organization Here MM/DD/YYYY.
Chris K. Kim, MS Information Systems Manager
Laboratory Orders Interface Initiative
How is Data Quality Defined?
Care Coordination and Interoperable Health IT Systems
Chapter 9 ICMP.
What is Data Quality? Accurate Data Complete Data Timely Data
Presentation transcript:

Recommendations from the EHR-S Functional Requirements IG: Lab Results Interface Error Handling 7/10/2014

Issues Is there a requirement to have a 1:1 relationship between application level ACKs and the messages? –If yes, then can you mix order control codes within the same ACKs (ORL = LOI question) –If no, you can send multiple ACKs for a message? Can you mix order control codes in OML?

To Do Verify treatment of hard errors for LRI –Describe best practice permissible to stop validation on hard error? continue and report all error if possible? –stop on hard error and no commit of any ORC/OBR One ACK with “hard error” notification (MSA1=AR) –Partial consumption (e.g. 5 ORC/OBR groups, where only 1 cannot be consumed) Get one ACK with “combined error” notification –if YES, then use MSA-1 = new code, ERR-4 = ? Get 5 ACKs –4 with MSA-1 = AA or AE if soft errors –1 with MSA-1 = AR Guidance for use of ERR-7 and ERR-8 Guidance for use of ERR-3 vs ERR-5 in single ERR segment Flow diagrams for message processing at each step

Message Flow (needs diagram) Message received at destination –Send system ACK to last hop Process message for compliance with IG (includes value sets) –No Error – continue –Soft Error – note and continue –Hard Error – Application ACK MSA-1 = AR Process message for ability to consume and associate –No Error – continue –Soft Error – note and continue –Hard Error – Application ACK MSA-1 = AR Consume/store message content –Success – Continue –Failure -- Application ACK MSA-1 = AR Application ACK –MSA-1 = AA (no soft errors) –MSA-1 = AE (soft errors)

Acknowledgement Message Structure TABLE 3‑2. ACK^R01^ACK ABSTRACT MESSAGE SYNTAX SegmentNameUsageCardinality C.LENDescription MSHMessage HeaderR[1..1] The message header (MSH) segment contains information describing how to parse and process the message. This includes identification of message delimiters, sender, receiver, message type, timestamp, etc. [{SFT}]Software SegmentO[0..*] MSAMessage Acknowledgment R[1..1] The Message Acknowledgment Segment (MSA) contains the information sent as acknowledgment to the result message received by a Electronic Health Record System. [{ ERR }]ErrorC(R/O)[0..*] Condition predicate: If MSA.1 (Message Acknowledgement) is not valued AA or CA Guaranteed delivery is required. Where use of an ACK is appropriate for the transport mechanism it should be used as described in this guide. All other acknowledgement methods are beyond the scope of this document (e.g., acknowledgement of batches using the HL7 batch methods). No changes here. Assumption is 1 ACK/message

MSA TABLE 3 ‑ 6. ACKNOWLEDGMENT SEGMENT (MSA) SEQElement NameDTUsageCardinalityValue SetDescription/Comments 1Acknowledgment CodeIDR[1..1]HL Message Control IDSTR[1..1] 3Text Message X Excluded for this Implementation Guide, see Section Expected Sequence Number O 5Delayed Acknowledgment Type X Excluded for this Implementation Guide, see Section Error Condition X Excluded for this Implementation Guide, see Section The Message Acknowledgment Segment (MSA) contains the information sent as acknowledgment to the result message received by a Electronic Health Record System. No changes here. Assumption is 1 ACK/message Consider use of MSA-1 to indicate hard error vs soft error

Table 0008 Acknowledgement Code ValueDescription AA Original mode: Application Accept - Enhanced mode: Application acknowledgment: Accept = NO ERROR AE Original mode: Application Error - Enhanced mode: Application acknowledgment: Error = ANY OTHER ERROR AR Original mode: Application Reject - Enhanced mode: Application acknowledgment: Reject = ERROR in MSH-9, MSH-11 or MSH-12 or NOT MESSAGE RELATED CA Enhanced mode: Accept acknowledgment: Commit Accept = NO ERROR CE Enhanced mode: Accept acknowledgment: Commit Error = ANY OTHER ERROR CR Enhanced mode: Accept acknowledgment: Commit Reject = ERROR in MSH-9, MSH-11 or MSH-12 or NOT MESSAGE RELATED Immunization Use

Table 0008 Acknowledgement Code ValueDescription AA Original mode: Application Accept - Enhanced mode: Application acknowledgment: Accept = NO ERROR AE Original mode: Application Error - Enhanced mode: Application acknowledgment: Error = ANY OTHER ERROR AR Original mode: Application Reject - Enhanced mode: Application acknowledgment: Reject = ERROR in MSH-9, MSH-11 or MSH-12 or NOT MESSAGE RELATED CA Enhanced mode: Accept acknowledgment: Commit Accept = NO ERROR CE Enhanced mode: Accept acknowledgment: Commit Error = ANY OTHER ERROR CR Enhanced mode: Accept acknowledgment: Commit Reject = ERROR in MSH-9, MSH-11 or MSH-12 or NOT MESSAGE RELATED MACombined mode: Message Accept: No Errors MSCombined mode: Message Soft Errors: Soft Errors MPCombined mode: Message Partial Hard Errors: No/Soft/Hard (partial consumption) MRCombined mode: Message Reject: Hard errors (nothing consumed) Option 1: Creating IG specific codes to indicate hard vs soft error

Table 0008 Acknowledgement Code ValueDescription AA Original mode: Application Accept - Enhanced mode: Application acknowledgment: Accept = NO ERROR AE Original mode: Application Error - Enhanced mode: Application acknowledgment: Error = SOFT ERROR(s) AR Original mode: Application Reject - Enhanced mode: Application acknowledgment: Reject = HARD ERROR(s) CA Enhanced mode: Accept acknowledgment: Commit Accept = Not used CE Enhanced mode: Accept acknowledgment: Commit Error = Not used CR Enhanced mode: Accept acknowledgment: Commit Reject = Not used Option 2: Use existing codes to indicate hard vs soft error

ERR TABLE 3 ‑ 7. ERROR SEGMENT (ERR) SEQElement NameDTUsageCardinalityValue SetDescription/Comments 1Error Code and Location X Excluded for this Implementation Guide, see Section Error LocationERLO RE[0..1] Use to identify segment/field where error occurred 3HL7 Error CodeCWER[1..1]HL70357Used to identify issues based on conformance profile in message (structure and vocabulary) – may use the immunization codes here OR to indicate application error Expand table values – must include a code for application error 4SeverityIDR[1..1]HL70516This is where you look, if the identified error is a HARD ERROR or a SOFT ERROR, if we have only 1 ACK message/message Create specific codes for HARD ERROR and SOFT ERROR (and warning?) 5Application Error CodeCWEO C(RE/O) [0..1]HL70533 (2.7.1) Used to indicate error in content – nothing wrong with the message, but system cannot use the data CP: If ERR-3 is valued “code for application error” Empty table, can supply suggested values as a base set for lab IGs, remains user defined and is extendable 6Application Error Parameter O 7Diagnostic InformationTXRE[0..1] IS OPTIONAL IN IMMUNIZATION HL7 Definition: Information that may be used by help desk or other support personnel to diagnose a problem Length: User MessageTXRE[0..1] IS RE IN IMMUNIZATION HL7 Definition: The text message to be displayed to the application user. Length: 250 9Inform Person Indicator O 10Override Type O 11Override Reason Code O 12Help Desk Contact Point O The ERR segment is used to add error comments to acknowledgment messages – ONE FOR EACH ERROR.

Define ERL datatype SEQElement NameDTUsageValue SetDescription/Comments (from HL7 base for discussion only) 1Segment ID STR 2Segment SequenceNMR Is this absolute position in message? Or for the specific segment the x occurrence? 3Field PositionNM RE Not used, when entire segment is referred to 4Field RepetitionNM RE If not specified repetition is assumed 1 5Component NumberNM RE Not used, when entire field is referred to 6Sub-Component NumberNM RE Not used, when entire component is referred to

Table 0357 in ERR-3 Message error condition codes (HL7 defined) ValueDescription 0Message accepted 100Segment sequence error 101Required field missing 102Data type error 103Table value not found 5**Table value not found = The value is not found in the associated table. 200Unsupported message type 201Unsupported event code 202Unsupported processing id 203Unsupported version id 204Unknown key identifier 205Duplicate key identifier 206Application record locked 207Application internal error TBDApplication Error – see ERR-6 TBDCardinality Error 1**Illogical Date error = Date conflicts with another date in the message. 2**Invalid Date = Date is not valid or lacks required precision. 3**Illogical Value error = The value conflicts with other data in the message 4**Invalid value = The value is not valid. This applies for fields that are not associated with a table of values. 6**Required observation missing = A required observation, such as VFC eligibility status, is missing. **From Immunization in HL70357

ValueDescriptionDefinition from base E Error Transaction was unsuccessful (or use this for hard error) F Fatal Error (v2.7.1) Message not processed due to application or network failure condition I Information Transaction was successful, but includes information e.g., inform patient W Warning Transaction successful, but there may be issues (or use this for SOFT ERROR) Table 0516 in ERR-4 Error Severity (HL7 defined) These definitions are not very helpful Suggestion: Create 2 new codes that indicate HARD ERROR and SOFT ERROR respectively Hard error- Application cannot meaningfully consume the message content – content NOT processed Soft error – application cannot meaningfully consume part of the message content as indicated in ERL, but consumed remainder of message sections

Table 533 suggested codes (empty user defined table in base HL7) ValueDescription Can’t match Patient Can’t match Provider Can’t match to local code Can’t match order number 1**Illogical Date error = Date conflicts with another date in the message. This is logic check – could also be done in application not just message, keep here? 2**Invalid Date = Date is not valid or lacks required precision. Message level – NOT HERE 3**Illogical Value error = The value conflicts with other data in the message. This is logic check – could also be done in application not just message, keep here? 4**Invalid value = The value is not valid. This applies for fields that are not associated with a table of values. Need more information to decide what this would mean in LRI 5**Table value not found = The value is not found in the associated table. Message level – NOT HERE 6**Required observation missing = A required observation, such as VFC eligibility status, is missing. This is a logic/business rule check – could also be done in application not just message, keep here? **From Immunization in HL70357

Table 533 suggested codes (empty user defined table in base HL7) ValueDescription Can’t match Patient Can’t match Provider Can’t match to local code Can’t match order number 4**Invalid value = The value is not valid. This applies for fields that are not associated with a table of values. Only for user defined values or mapping tables 6**Required observation missing = A required observation, such as VFC eligibility status, is missing. This is a logic/business rule check – could also be done in application not just message, keep here? **From Immunization in HL70357

Example Hard Error 1 ACK message – application level MSA-1 = AR ERR-2 = MSH^1^12 ERR-3 = code for Message Header Error ERR-4 = E (or code for hard error) ERR-5 = empty ERR-7 = Incompatible version of HL7 message ERR-8 = Cannot process results; call or FAX results See Chapter 2, section for clarification

Example Hard Error 1 ACK message – application level MSA-1 = AR ERR-2 = PID^1^3 ERR-3 = code for Application Error (or would we use 0 = message processed?) ERR-4 = E (or code for hard error) ERR-5 = code for cannot match patient ID ERR-7 = Cannot match patient ID, message content not processed ERR-8 = Cannot match patient ID; message content not processed; call or Fax results

Example soft error 1 ACK message – application level MSA-1 = ACE ERR-2 = OBX^1^3 ERR-3 = code for Application Error (or would we use 0 = message processed?) ERR-4 = W (or code for soft error) ERR-5 = code for cannot match to local code ERR-7 = empty ERR-8 = Resulted test code does not match what is expected based on ordered test; results stored; call to resolve for future results

Error Handling Overview ERROR HANDLING As a follow up item to the LRI and LOI IG publications November 2013, the S&I Lab WG analyzed and discussed the various error situations that should be formally addressed with consistent guidance and testing to ensure consistent and robust end-to-end interoperability from the construction of a laboratory order within an EHR to the receipt of results by an EHR. The topics were originally addressed as two tracks – LOI [item LOI 1.7, LRI [item LRI 1.5] – but were merged into a single conversation and set of decisions reflected in item LRI-1.5, excerpted below. Definitions– NEED TO DEFINE WHAT THE RESPECTIVE MESSAGES FOR THESE LOOKS LIKE (not used in immunization that way) Hard Error – full stop; suspend processing and notify sender, do not commit info to patient record Soft Error – notify (as directed) but can continue to process message unless a hard error is encountered prior to end of message processing; may commit error-free data to patient record while continuing to resolve soft errors with sender.

Handling of Non-Cardinality Errors Handling of errors other than cardinality failures Categories: length, cardinality, invalid codes (value can’t be found, format, which code sets, etc.), what constitutes ‘hard’ vs. ‘soft’ errors, encourage folks to bring concerns to add to list of categories, anything that keeps the result from getting to the provider, e.g., provider ID, procedure codes, organization code mismatch with provider codes. Length –which fields are ‘in-scope’? NTE-3, OBX-5 –NTE-3 is tied to cardinality conversation Adopt consistent failure criteria –if the error results in the inability to file the results to the database, it is a ‘hard’ error, the sender must be notified. Missing data –only where usage is ‘R’ Cardinality –See CardinalitySegmentFieldManagement V13.xlsx

Order Errors MATCHING – FOR ORDERS (LOI): –Patient out of scope for orders in ambulatory setting (systems that have no tight coupling, not owned by same organization) in-patient is not within the LOI IG scope as currently published, but may be addressed in future release There is no prohibition on a lab sending an error if patient matching fails –Provider soft error (inform/resolve but don’t stop processing) copy-to-provider – soft error (inform but don’t stop processing) –new order (ORC/OBR) Placer Order Number – see missing data OBR-4 – service identifier – hard error OBX –OBX-3 – observation ID not match with what expected in OBR-4 – soft error –OBX-5 – inconsistent with what was expected – soft error –cancel order (ORC/OBR) Placer Order Number – hard error

Result Errors MATCHING – FOR RESULTS (LRI): –Patient within ordering provider system No match – hard error back to Lab (how matching occurs or defining confidence levels are not within scope of the IG) –Patient within copy-to-provider system No match – no expectation that a copy-to-provider system would be able to resolve who the ordering provider is and/or be able to communicate using application-level ACKs Out of scope for this version, but may be addressed in the future due to complexity –Provider No match – soft error –Order (ORC/OBR) – Not applicable to copy-to receivers Placer Order Number – local decision on level of error –OBR–4 – service identifier – hard error for this pair in the event that it is not on the patient record, can continue with other pairs »Does not apply when specimen action code is ‘G’ for reflex testing –Specific data

Cardinality Errors Source: two action items, one for LOI, one for LRI re: cardinality errors and test limits for senders and receivers, these were addressed in a single track and resulting artifact noting the agreed upon limits. During discussions errors and omissions in the respective guides were identified and are queued for disposition as errata updates to each guide. LRI-1.6 Testing of stated and implied cardinality limits 5/22/ closed on LRI call Log CR for LRI – change PID-5 (Patient Name) to [1..1] to sync with LOI See CardinalitySegmentFieldManagement V13.xlsxCardinalitySegmentFieldManagement V13.xlsx