This is the Feature ,we can review,sign and close the encounter which is completed. But i believe this feature is not implemented in the openEMR code-base yet. (Correct me if i am wrong here).
But we can add and customize this feature if required.
It needs only an example created to be released. This class allows the implementation of digitally signing ANY record in openEMR, not just “forms”.
It can be used as a basic for implementation of any rules based on the eSign table to lock records etc.
This a base class only, not a implementation of any specific use. We HAVE used it with numerous customers in custom development work. We provided this code to Visolve for that purpose.
Sypram, this is a badly needed feature that I don’t think has been given adequate thought. Why don’t you outline some work flow cases and identify how each should be affected by the feature, and what user interface additions are appropriate. Be sure to include cases where something about a visit needs to be changed after it is closed (perhaps due to error). Some community discussion is very much in order here.
This has been discussed a lot actually with no common agreement on the implementation side. We all agree that something is needed. We have created and posted a class library that allows this to be implemented. That is available for review at: https://github.com/tmccormi/openemr/tree/esign-class
This is a base class that can be used to implement signing and locking anything (any record in the database) but was predominately used to sign and lock medical record forms / encounters in our implementation.
How it is implemented in a given installation is the hard part …
Tony, not sure I understand but it looks like your class is about signing table rows. Seems like signings should be at a higher conceptual level than that. Or maybe I’m missing something.
In any case I’d like to underscore my recommendation to look for a consensus on the general approach before getting into detailed design.
That is the core class. So if you want to implement signing a form then the code created would identify the row in the form_encounter table as “signed”, if you wanted to sign off on an entire encounter then you reference it at that level. This allow the implementation of the e-sign for ANYTHING. You could create a class for any level of sign-off needed anywhere in the system.
Like I noted this is not the implementation of what to sign, just a model of how to do electronic signing at the lowest level.
I agree that we need to discuss various models that could supported by default.
Note that this may actually break MU2 since it appears patient notes need to be editable (go figure…), so it should be an option in globals. The flow on most systems I have used is write/dictate note, sign it (this freezes it), add text addendum(s) if needed (and sign them).
Again, though, MU2 requires “Enable a user to electronically record, change, access, and search electronic notes.”, so it appears the “change” part of a note will break this ideal flow (at least after signing the note). To see what I mean , check out the testing data for this item: http://www.healthit.gov/sites/default/files/170.314a9electronicnotes_2014_td_approvedv1.3.pdf
So, to be safe, should control the signing feature with a global to ensure we can meet MU2.