Stream: implementers
Topic: CDS Hooks - Advanced use cases
Wolfgang Wiessler (Nov 14 2017 at 11:27):
Hello,
we are implementing an EHR-type application and are currently looking into dynamically handling integration with 3rd party CDS services. We started adopting CDS Hooks and that works well so far in a strongly defined context. As we are thinking about more advanced use cases, we are struggling with matching CDS Hooks to those use cases.
The basic scenario is that for a particular hook type (e.g. "treatment-recommendation") we have various vendors that can provide support (I call them "CDS Providers") and within each vendor, they offer several services ("CDS Services"). For example, one 3rd party has 3 services for lung cancer patients (one predicting outcome, the other offering treatment selection support, etc.) and 2 services for Head and Neck cancer. Another 3rd party has various other combinations of services based on certain inclusion/exclusion criteria.
Use Case 1: Semantic filtering
We only want to show the user CDS services that make sense in the current EHR context. E.g. a lung cancer patient should not be offered H&N-specific services.
The discovery mechanism does not seem to lend itself to that since it is a simple GET call without passing any context that the CDS Provider could use to narrow down the responses.
We could use the normal CDS Service call. The CDS service would then return x App Link Cards with links to context-matching apps? The links to the apps are very basic though and there is no way to provide additional prefetch instructions for each specific service. In this case we would be using the CDS Service to discover the actual CDS Services.
Use Case 2: Admin-level, preselection
CDS Providers often have "several flavors" of algorithms for the same questions (e.g. guideline1, guideline2, guidelineX for breast cancer). A hospital typically decides to go with one particular guideline and does not want their users to see the other options when requesting the decision support within a patient context.
How would we go about that using CDS Hooks? At admin-time, there is no patient context. We would be able to create a general context (e.g. show me all available services for lung cancer patients older than 65 and female). When we get the response from the CDS service, we are not asking for actual decision support, just for a list of CDS Services that match the context. In order for the admin to select which services should be available at the point of care.
The question that I keep circling around is:
If a vendor has several services for the same hook type, do we register one CDS Service for that vendor OR do we register one CDS Service per vendor service category? E.g. One "VenderX" service that figures out the details during the user interaction OR one "VendorX-LungCancer" and one "VendorX-H&NCancer" service? In the latter example, where you draw the line seems arbitrary.
CDS Hooks seem to be very user-interaction focused. Which makes it hard to do some preselection without the user.
I hope I could express my thoughts and the challenges properly. I have a few more items to cover. Just want to get the conversation started.
Any feedback would be greatly appreciated!
Lloyd McKenzie (Nov 14 2017 at 14:54):
You might want to post this over on the cds-hooks stream
Wolfgang Wiessler (Nov 14 2017 at 15:04):
Thanks. New to Zulip and mixed up the streams
Lloyd McKenzie (Nov 14 2017 at 15:11):
No worries. The pros do it from time to time too :)
Simone Heckmann (Nov 14 2017 at 15:17):
Hi Wolfgang,
welcome to the FHIR community!
You may also want to join this stream, I guess: https://chat.fhir.org/#narrow/stream/german.20(d-a-ch) :)
Majid Afshar (Mar 08 2022 at 01:46):
Hello, I'm working with our health system to integrate CDS Connect authoring tool into CDS Hooks but we are looking for other health systems that have successfully ran this for health operations? Any takers to show us what an end-to-end CQL authoring to FHIR implementation into a CDS service like Hooks? Thanks for considering.
Lloyd McKenzie (Mar 08 2022 at 02:25):
You might want to ask on the #cds hooks stream
Last updated: Apr 12 2022 at 19:14 UTC