190 likes | 550 Views
Acknowledgement Discussion (MSH 15 -16). Version 4.0. November 13, 2013. Notes. Slides 12-16 added Slide 14-15 set stage (14) and propose solution (15) See note at bottom of slide 15 for clarifcation Slide 16 is the proposal for both LOI and LRI. Acknowledgement Background. Architecture
E N D
Acknowledgement Discussion(MSH 15 -16) Version 4.0 November 13, 2013
Notes • Slides 12-16 added • Slide 14-15 set stage (14) and propose solution (15) • See note at bottom of slide 15 for clarifcation • Slide 16 is the proposal for both LOI and LRI
Acknowledgement Background Architecture • EHR direct to LIS (no intervening technologies that do anything other than forward messages) • EHR connected to Gateway then to LIS • EHR connected to Gateway then to second Gateway then to LIS • EHR connected to unknown number of intermediate Gateways then to LIS Gateway (or middleware) is technology that: • receives messages, • optionally validates a message syntax, but usually not the content • acknowledges messages (NACK only if validation is done) • optionally transforms the message • Forwards the message to the next Gateway or LIS • Receives the acknowledgement from the next Gateway or LIS
Desired Behaviors • Gateway acknowledges receipt of message (next in chain response) • LIS acknowledges message is complete and syntactically correct to EHR (end-to-end) • LIS sends error if message is unable to be processed (list of reasons)
Transactions • OML^O21_OML_O21 New and append • All levels of acknowledgement • OML^O21^OML_O21 Cancel (provider) • Control Code in ORC • All levels of acknowledgement • ACK^O21^ACK Acknowledge • Next in line ACK – MSH-15/16 NE on response • End to end ACK with MSH-16 NE on response • ORL^O22^ORL_O22 Application Level Ack • End to end only MSH-16 must be NE on response
Relevant Segments / Elements • MSH – Message Header Segment • MSH-3 Sending Application (Varies, RE) • MSH-5 Receiving Application (Varies, RE) • MSH-10 Message Control ID (ST, R) • MSH-15 Accept Acknowledgement (ID, R) • Request type for System Acknowledgement • See table HL7 0155 • MSH-16 Application Acknowledgement (ID, R) • Request type for Application Acknowledgement • See table HL7 0155 • MSA – Message Acknowledgement Segment (ID, R) • MSA-1 Acknowledgement Code • From table HL7 0008 • MSA-2 Message Control ID (ST, R) • ERR – Error Segment • MSH-3 HL7 Error Code • From table HL7 0357 • MSH-4 Severity • From table HL7 0516
HL7 Tables (MSH / MSA) HL7 0155 Accept/application acknowledgment AL Always ER Error/reject conditions only NE Never SU Successful completion only AE NEW to accommodate End-to-End HL7 0008 Acknowledgment code AA Original mode: Application Accept Enhanced mode: Application acknowledgment: Accept AE Original mode: Application Error Enhanced mode: Application acknowledgment: Error AR Original mode: Application Reject Enhanced mode: Application acknowledgment: Reject CA Enhanced mode: Accept acknowledgment: Commit Accept CE Enhanced mode: Accept acknowledgment: Commit Error CR Enhanced mode: Accept acknowledgment: Commit Reject
Tables (MSA / ERR) HL7 0357 Message error condition codes 0 Message accepted 100 Segment sequence error 101 Required field missing 102 Data type error 103 Table value not found 200 Unsupported message type 201 Unsupported event code 202 Unsupported processing id 203 Unsupported version id 204 Unknown key identifier 205 Duplicate key identifier 206 Application record locked 207 Application internal error HL7 0119 Order Control Codes UA Unable to accept order/service UC Unable to cancel HL7 0516 Error severity E Error F Fatal Error I Information W Warning
Transaction Process Original Message (Order/Append/Cancel) OML AL/ER OML AL/ER OML AL/ER Gateway 2 EHR Gateway 1 LIS 1a/b 2a/b 3a/b ACK NE/NE ACK NE/NE ACK NE/NE End-to-End Acknowledgement ACK AE/NE ACK AE/NE ACK AE/NE Gateway 2 EHR Gateway 1 LIS 4a/b 6a/b 5a/b ACK NE/NE ACK NE/NE ACK NE/NE Application Level Acknowledgement (on Error) ORL AL/NE ORL AL/NE ORL AL/NE Gateway 2 EHR Gateway 1 LIS 9a/b 8a/b 7a/b ACK NE/NE ACK NE/NE ACK NE/NE
Transaction Process (LIS only AE) Original Message (Order/Append/Cancel) OML AL/ER OML AL/ER OML AL/ER Gateway 2 EHR Gateway 1 LIS 1a/b 2a/b 3a/b ACK NE/NE ACK NE/NE ACK NE/NE End-to-End Acknowledgement ACK AE/NE ACK AE/NE ACK AE/NE Gateway 2 EHR Gateway 1 LIS 4a/b 6a/b 5a/b ACK NE/NE ACK NE/NE ACK NE/NE Application Level Acknowledgement (on Error) ORL AL/NE ORL AL/NE ORL AL/NE Gateway 2 EHR Gateway 1 LIS 9a/b 8a/b 7a/b ACK NE/NE ACK NE/NE ACK NE/NE
Transaction Process (no Gateways) Original Message (Order/Append/Cancel) OML AE/ER EHR LIS 1a/b ACK NE/NE End-to-End Acknowledgement ACK AE/NE EHR LIS 2a/b ACK NE/NE Application Level Acknowledgement (on Error) ORL AL/NE EHR LIS 3a/b ACK NE/NE
ORDERS ACKNOWLEDGEMENTS David Burgess • Senders always initiate connections, and after delivery switch to listen for a timely response. Once a response is received, or set timeout occurs, it switches back to send mode and will not receive data. • Listeners accept data, and when data is received, they reply to the sender to inform them of receipt (generally an accept level acknowledgment.) EHR Gateway 1 Gateway 2 LIS OML AL/ER OML AL/ER OML AL/ER Sender Listener Listener Listener 1a/b ACK NE/NE 3a/b 2a/b Sender Sender ACK NE/NE ACK NE/NE ORL AL/NE ORL AL/NE ORL AL/NE Listener Listener Listener Sender 7a/b ACK NE/NE 9a/b 8a/b Sender Sender ACK NE/NE ACK NE/NE
ORDERS ACKNOWLEDGEMENTS Edited (OML is AL/AL) • Senders always initiate connections, and after delivery switch to listen for a timely response. Once a response is received, or set timeout occurs, it switches back to send mode and will not receive data. • Listeners accept data, and when data is received, they reply to the sender to inform them of receipt (generally an accept level acknowledgment.) EHR Gateway 1 Gateway 2 LIS OML AL/AL OML AL/AL OML AL/AL Sender Listener Listener Listener 1a/b ACK NE/NE 3a/b 2a/b Sender Sender ACK NE/NE ACK NE/NE ORL AL/NE ORL AL/NE ORL AL/NE Listener Listener Listener Sender 7a/b ACK NE/NE 9a/b 8a/b Sender Sender ACK NE/NE ACK NE/NE
Orders and Reporting Environment • Sendersalways initiate connections, and after delivery switch to listen for a timely response. Once a response is received, or set timeout occurs, it switches back to send mode and will not receive data. • Listeners accept data, and when data is received, they reply to the sender to inform them of receipt (generally an accept level acknowledgment.) MSG aa/bb MSG: OML/ORU/OML aa = MSH-15 bb = MSH-16 Xna/bX:O=Orders,R=Results n pt-pttxn number, a=forward txn (e.g. OML/ORU/OML) b=response (e.g. ACK) ACK NE/NE is synchronous response Gateway 1 Gateway 2 LIS EHR OML AL/NE OML AL/NE OML AL/NE Orders Listener Listener Orders Sender Listener O1a/b ACK NE/NE O2a/b O3a/b Sender Sender ACK NE/NE ACK NE/NE ORU AL/NE ORU AL/NE Listener Listener Sender Results Listener ORU AL/NE Results R1a/b ACK NE/NE R3a/b R2a/b Sender Sender ACK NE/NE ACK NE/NE
Guaranteed Delivery and Validation • Sendersalways initiate connections, and after delivery switch to listen for a timely response. Once a response is received, or set timeout occurs, it switches back to send mode and will not receive data. • Listeners accept data, and when data is received, they reply to the sender to inform them of receipt (generally an accept level acknowledgment.) MSG aa/bb MSG: OML/ORU/OML aa = MSH-15 bb = MSH-16 Xna/bX:O=Orders,R=Results n pt-pttxn number, a=forward txn (e.g. OML/ORU/OML) b=response (e.g. ACK) ACK NE/NE is synchronous response Gateway 1 Gateway 2 LIS EHR OML AL/AL OML AL/AL OML AL/AL OML Orders Listener Listener Orders Sender Listener O1a/b R4a/b ACK NE/NE O2a/b R5a/b O3a/b R6a/b ORL ACK AL/NE Sender Sender ACK NE/NE ACK NE/NE ORL AL/NE ACK ORU AL/AL ORU AL/AL Listener Listener Sender Results Listener ORU AL/AL Results R1a/b O4a/b ORU ACK NE/NE R2a/b O5a/b R3a/b O5a/b Sender Sender ACK NE/NE ACK NE/NE Notes: 1) All LISs and Certified EHRs support both electronic orders and results communication – general statement – does not apply to every client 2) Propose to have application acknowledgement (success or error) use the other path (e.g. result acknowledgement via order path) to respond asynchronously -- receiver splits message based on message type
Proposal for LOI MSH – 16 OML AL – required - default ER – optional - if pt-pt environment where transport protocols guarantee delivery to intended recipient SU and NE are not valid ORL NE - required AL, SU, ER – are not valid System ACK NE – required AL, SU, ER – are not valid • MSH – 15 • IF OMLmessage then • AL – required - default • NE – optional - if pt-pt environment where transport protocols guarantee delivery to intended recipient • SU and ER are not valid • ORL • AL – required • NE - optional • SU, ER – are not valid • System ACK • NE only • AL, SU, ER – are not valid
Proposal for LOI • Motion to accept as proposed slide 16 (15 as clarification) for Orders. Bob Dieterle, David Burgess • Clarify the Xna/b in subsequent version as it is confusing. • Suggest to use AL/AL. Is the default. • Problem to distinguish between application level vs. system acknowledgement when using ACK on ORU. • Suggest to use MSH-21 profile component • Split LOI and LRI • Against: 4, Abstain: 5, In Favor: 12 • Motion to re-open item #20. Bob Dieterle, RikiMerrick • See spreadsheet for vote
Proposal for LRINote: LIS and EHR are black boxes MSH – 16 ORU AL – required - default ER – optional - if pt-pt environment where transport protocols guarantee delivery to intended recipient SU and NE are not valid System ACK NE – required AL, SU, ER – are not valid Application ACK NE - required AL, SU, ER – are not valid • MSH – 15 • ORU • AL – required - default • NE – optional - if pt-pt environment where transport protocols guarantee delivery to intended recipient • SU and ER are not valid • System ACK • NE only • AL, SU, ER – are not valid • Application ACK • AL – required • NE - optional • SU, ER – are not valid
Proposal for LRINote: LIS and EHR are black boxes June 19, 2014 • Motion to accept proposal as defined on slide 18 – Bob Dieterle, Rob Snelick • Discussion: what about batch mode? • Will stay silent at this time • Monitor ELR approach • Against: 0 Abstain: 6 In Favor: 13 • Add text to IG clarify intent of ack generation and exchange in terms of guarantee of delivery (use of MSH-15/16) • 493.1291a – CLIA reg