FHIR Chat · How to register Hook service with FHIR? · cds hooks

Stream: cds hooks

Topic: How to register Hook service with FHIR?


view this post on Zulip Sanjay Chadha (Oct 26 2017 at 19:46):

How does a CDS Hooks Service provider register their URL as a CDS-Hook service provider to a FHiR server?
i.e. "Developers of CDS Services must provide a well-known endpoint allowing the EHR to discover all available CDS Services".
How?

Query with an hypothetical example: There are two servers:
1) FHIR fhir.ourserver.org.
2) CDS Hook server- otherserver.org/cds-services and fhir

How do we tell server 1 - fhir.ourserver.org to go look for hook services at server 2: otherserver.org/cds-services?
i.e. how do we tell FHIR the existence of a specific hook server?

view this post on Zulip Christopher Schuler (Oct 26 2017 at 23:51):

"Developers of CDS Services must provide a well-known endpoint allowing the EHR to discover all available CDS Services"
This is accomplished with the discovery endpoint, but you allude to that in your post in the implementers stream. Therefore, I am unsure what you're confused about.

Will server1 always use server2 for processing hook requests? If so, then just hardcode your cds hooks service endpoint. If it is dynamically set with a request, then make the cds hooks service endpoint a parameter. Like fhir.ourserver.org/$some-operation?patient=Patient/example&cdsEndpoint=otherserver.org/cds-services.

Does that help?

view this post on Zulip Kevin Shekleton (Oct 28 2017 at 08:07):

@Sanjay Chadha - CDS Services aren't necessarily registered with FHIR servers. Today, EHRs are the predominant entity/actor that are registering CDS Services. This is being done based upon each individual EHR's implementation and organizational practices/processes. Put another way, how a CDS Service is registered with someone is not standard (it is not something that really can be standardized).

As @Christopher Schuler noted, the Discovery API in CDS Hooks facilitates this registration.

view this post on Zulip Sanjay Chadha (Oct 28 2017 at 14:49):

Yes certainly helps. A continued query:
We use existing FHIR implementation and do not develop or add extensions to FHIR - hence we depend on the out-of-box FHIR capabilities.
Is cdsEndpoint=<server> key already defined or we use the Endpoint resource: https://www.hl7.org/fhir/endpoint.html?
From @Kevin Chavaree Shekleton's reply seems this is non-standard and FHIR implementation specific. In that case I need to investigate how to register cds hook with the implementation we are using. Thank you!

view this post on Zulip Kevin Shekleton (Oct 30 2017 at 20:01):

CDS Hooks is a separate standard from FHIR and stands alone.

view this post on Zulip Kevin Shekleton (Oct 30 2017 at 20:19):

What that means is that FHIR doesn't define the CDS Hooks Discovery endpoint (eg, http://cds-service.example.com/cds-services). CDS Hooks uses FHIR for data access, not server implementation.

view this post on Zulip Grahame Grieve (Oct 30 2017 at 22:06):

it would still be useful in the future for there to be a way to register a CDS hooks service with a consuming application

view this post on Zulip Kevin Shekleton (Oct 31 2017 at 19:13):

The challenge with this is that registration originates from the EHR. In other words, the EHR (or perhaps more correctly, the healthcare organization) determines when it wants to incorporate a CDS Service.

So, I'm not seeing your use case where a standard registration API would benefit. Can you elaborate to help me understand?

view this post on Zulip Grahame Grieve (Oct 31 2017 at 21:52):

federation/delegation of cds-hooks administration

view this post on Zulip Brett Esler (Nov 08 2017 at 06:32):

Just sounds like Endpoint location to me... am I missing something; code for cds-hooks API to use in standard Endpoint.connectionType (http://hl7.org/fhir/ValueSet/endpoint-connection-type) would be nice to start....


Last updated: Apr 12 2022 at 19:14 UTC