openemr / openemr

The most popular open source electronic health records and medical practice management solution.
https://open-emr.org/
GNU General Public License v3.0
3.1k stars 2.12k forks source link

EMR Direct Toggle for Verify Message Received check #5539

Closed adunsulag closed 2 years ago

adunsulag commented 2 years ago

ONC requires that we support the Direct protocol for message disposition notification. This allows us to ensure that a message was delivered to the intended recipient.

Without the flag checked, EMR Direct will deliver a message to the recipients HISP (essentially their direct email provider) but does not guarantee that the recipient has received and accepted the message (security rules, network outage, etc).

If the flag is checked then EMR Direct will ensure that the message was received and accepted by the recipient. According to EMR Direct's documentation. Some DIrect mail providers may not support this feature, or may have it disabled for security reasons. If the flag is turned off then the message is automatically marked as failed since a confirmation that the message was received could not be confirmed. In this case individuals will need to communicate with the direct recipient and determine whether to resend the message with the verify flag turned off.

By default I will have the flag turned off. I'll set it up as a global setting that the flag will default from and I will use it as well in the care coordination module since there is no easy way to bundle yet another checkbox in that GUI.

adunsulag commented 2 years ago

I will say I'm a little annoyed as I thought that I tested the ETT MT 46 test that verifies this is all working and it passed. Not sure if we had an old flag set on our test account or if the ETT tool was buggy so we didn't discover this until now.

lcmaas commented 2 years ago

There haven't been any changes to the OpenEMR test account or its flags.

To clarify how this works, when the final delivery notification option is enabled and an outgoing message is sent, the sending side asks the receiving side to confirm whether or not final delivery to the final recipient occurred. If the sending side does not receive a response from the receiving side within the timeout interval (industry standard is one hour), the sending side is required to mark the message as a failure.