Stream: cds hooks
Topic: Multi-step real-time data capture
Amrit (May 14 2020 at 05:25):
Could someone please answer this for me? (I am new to CDS Hooks, so please forgive if this is a very basic question.)
My use case is: The service needs to request the clinician to fill out in real-time in the EMR any additional data (beyond the pre-fetch) that the service needs, the service then receive this data from the EMR and run an algorithm on the data. Based on the result, the service may or may not request the clinician for further data. Eventually, after the service has received all the data it needs, the service performs its final calculation and returns the information and suggestion cards to the EMR.
(a) Is it possible for the CDS service to do multiple sequential API requests and responses with the EMR in this manner, all originating from a single hook?
(b) The service is certainly going to require the clinician to enter at least some additional data in real-time, and though I would prefer to gather data in multiple steps, all data can potentially be gathered in a single step. Even in that case, the questions remains whether there is anything in the standard that allows for real-time data entry followed by transmission in this manner.
(c) It appears that an app link card could perhaps be used to allow the clinician to enter the data in the service app itself instead of the EMR - but since the data collected also belongs to the EMR, is there a provision in the Hooks standard to allow this data to flow back into the EMR?
Dennis Patterson (May 14 2020 at 13:33):
Hi! Great questions! Yes, it sounds like you'd want to use an app link card so that a SMART app can ask these questions of the user. As for the final recommendation, it depends on the nature of the recommendation. If it's working with persisted data, it could call the FHIR server to make changes. If it's working with data not available to the FHIR server, it may be communicating using SMART Web Messages
Amrit (May 15 2020 at 05:21):
@Dennis Patterson Thanks a bunch for the response, Dennis! Just trying to understand better what you said - In this model then, the data entered by the clinician - which should henceforth persist in the EMR database - could be sent to the EMR via SMART Web Messaging (which essentially acts like a data interface) from the SMART app. But what about the result and the suggestion from the CDS service - could the service send those back to the EMR? I am trying to ascertain if the service is allowed to send to the EMR another set of cards - which would include information and suggestion cards - beyond the app link card. Is there any notification sent by the service to the EMR to signal that all communication from the service for this particular hook is over? Or is the passage of cards meant to signal that intrinsically?
Dennis Patterson (May 15 2020 at 13:55):
The CDS Service's guidance is the initial response to the hook invocation. After surface level, this means the CDS Service's communication is complete. These cards in the response can be textual, web links, suggestions in the form of FHIR data.
If further interactions are needed, a SMART App link card can be returned which can cary over some context from the hook invocation via appContext.
The SMART App can potentially write data back to FHIR. Or, if the guidance pertains to in-memory data (e.g. order-select was triggered for 'scratchpad' orders that haven't yet been signed), the SMART App may want to send communication to the EHR via SMART Web Message.
When SMART App interaction is complete, the user can close the SMART App, or of SMART Web Messaging is supported, the SMART App can send a 'ui.done' message and ask for it to be closed.
Last updated: Apr 12 2022 at 19:14 UTC