FHIR Chat · Clinical Reasoning & CDS Hooks · cds hooks

Stream: cds hooks

Topic: Clinical Reasoning & CDS Hooks


view this post on Zulip Kevin Shekleton (May 15 2017 at 21:09):

In case you're not following the CDS Hooks mailing list, we posted an update to our work on the Clinical Reasoning & CDS Hooks unification project.

view this post on Zulip Kevin Shekleton (May 15 2017 at 21:10):

And if you have no idea what this is and want some backstory on this, please read this earlier post from back in February. :-)

view this post on Zulip Richard Braman (FLY.HEALTH) (Nov 09 2021 at 14:14):

I am doing some work in this space and would like to validate the implementation with the community. We have defined an operation in our implementation at /GuidanceResponse/$evaluate which returns a GuidanceResponse and a RequestGroup per the spec: http://hl7.org/fhir/R4/clinicalreasoning-cds-on-fhir.html.

Here are some questions:

  1. Does the spec contemplate GuidanceResponse and RequestGroup as "contained resources"? I believe it does, because RequestGroup references a CarePlan or RequestGroup.
  2. In our $evaluate operation, should the return be a Bundle with an entry for GuidanceResponse and RequestGroup (or Careplan), or something else, and if so, what?
  3. Why isn't the RequestGroup a profiled resource in the spec like http://hl7.org/fhir/R4/cdshooksguidanceresponse.html? Doesn't it have to have the required fields to map to the CDS Hook card per the spec?

I appreciate the discussion in advance

view this post on Zulip Bryn Rhodes (Nov 09 2021 at 16:04):

@Richard Braman (FLY.HEALTH) , yes, the RequestGroup can be a contained resource in the response, that's often how we've done that and seen it done. Whether the result of the $evaluate should be a Bundle I think depends on whether you are going to be persisting the results of the evaluation, or if the results are always transient. We typically consider the results transient, so providing them as contained resources in the GuidanceResponse is an effective way to do that. But if they are persisted, then you'd need to return them as just references, and a Bundle starts to make more sense so that clients don't have to request the additional results. As far as RequestGroup, there is a CDSHooksRequestGroup profile defined: https://hl7.org/fhir/cdshooksrequestgroup.html

view this post on Zulip Bryn Rhodes (Nov 09 2021 at 16:06):

Also, I wonder about defining the $evaluate operation on the GuidanceResponse, I would expect an operation like that to be defined on a definitional resource, like the PlanDefinition or a module-definition Library?

view this post on Zulip Richard Braman (FLY.HEALTH) (Nov 09 2021 at 18:10):

Bryn Rhodes said:

Also, I wonder about defining the $evaluate operation on the GuidanceResponse, I would expect an operation like that to be defined on a definitional resource, like the PlanDefinition or a module-definition Library?

Not sure. I dont think the spec is clear.

view this post on Zulip Richard Braman (FLY.HEALTH) (Nov 09 2021 at 18:20):

Where is CDS Hooks PlanDefinition defined? It is the only Profiled resource not linked here: http://hl7.org/fhir/R4/clinicalreasoning-module.html

view this post on Zulip Richard Braman (FLY.HEALTH) (Nov 09 2021 at 18:30):

http://hl7.org/fhir/stu3/servicedefinition-operations.html#evaluate
http://hl7.org/fhir/stu3/servicedefinition-operations.html#14.2.10.1
The evaluate operation requests clinical decision support guidance based on a specific decision support module

view this post on Zulip Wayne Williams (Nov 09 2021 at 18:30):

This seems fitting for the PlanDefinition $apply operation: http://hl7.org/fhir/R4/plandefinition-operation-apply.html which returns a CarePlan as output. Also it seems this would nicely align with obtaining guidance from a clinical decision support service: http://hl7.org/fhir/R4/clinicalreasoning-cds-on-fhir.html#processing-requests. A CarePlan can reference one or more RequestGroup to capture detailed actions of that care plan if that kind of detail is needed and can be mapped into the Card response if called from a CDS hook flow.

view this post on Zulip Richard Braman (FLY.HEALTH) (Nov 09 2021 at 18:38):

It can also be /PlanDefinition/$evaluate, which returns a GuidanceResponse

view this post on Zulip Richard Braman (FLY.HEALTH) (Nov 09 2021 at 18:39):

I also found the unlinked mapping to the CDS Hooks Plan Definition here:
https://www.hl7.org/fhir/cdshooksserviceplandefinition.html

view this post on Zulip Matt Jenks (Nov 09 2021 at 18:48):

@Wayne Williams I agree that PlanDefinition is a decent resource to look at here. but our underlying database is not population level plans. It is specific plans for the care of specific patients. Which is why I think something at the GuidanceResponse level is more appropriate. The engine behind the database of plans is analogous to the PlanDefinition you are referencing. Or at least that is my interpretation.

view this post on Zulip Richard Braman (FLY.HEALTH) (Nov 09 2021 at 19:10):

@Matt Jenks I think what I am reading now says that PlanDefinition is the FHIR Resource to describe a CDS Service, thats why $apply and $evaluate are used there in the CDS context


Last updated: Apr 12 2022 at 19:14 UTC