FHIR Chat · docs / Issue #154 Hook Versioning · cds hooks/github

Stream: cds hooks/github

Topic: docs / Issue #154 Hook Versioning


view this post on Zulip Github Notifications (Jan 28 2018 at 17:34):

AlexTatiyants opened Issue #154

Given that hook definitions are independent from the overall specification, is there a need to version them individually? So, for instance, one can talk about using CDS Hooks V1.0 along with order-review v1.2 hook.

As to what specific changes will require versioning hooks, I'm primarily concerned with changes to the hook context.

cc @kpshek

view this post on Zulip Github Notifications (Jan 28 2018 at 20:59):

kpshek milestoned Issue #154

view this post on Zulip Github Notifications (Jan 29 2018 at 20:52):

olbrich commented on Issue #154

Perhaps the core defined hooks can be defined as part of the standard, so you can only refer to cds-hooks v1.0 patient-view. Custom ones that deviate from the standard ones can use the url naming convention.

view this post on Zulip Github Notifications (Jan 30 2018 at 00:00):

bvdh commented on Issue #154

I totally agree, versioning hooks is a good idea. I would not make a distinction between what hooks to version and which not. Also the core-hooks can have changes.

view this post on Zulip Github Notifications (Feb 21 2018 at 16:46):

isaacvetter assigned Issue #154

view this post on Zulip Github Notifications (Mar 14 2018 at 04:33):

abrooke commented on Issue #154

A new version property can be added to the CDS Service objects returned from the discovery endpoint, the version attribute would be located at the following JSONPath:

$.services[*].version

The version attribute would be an array of objects, where each object would indicate version compatibility of a CDS service. An example of the version compatibility object would be:

{
   "cds":"1.0",
   "hook":"1.2"
}

The above version means that the specific CDS Service object has attributes according to CDS Hooks version 1.0 and prefetch specification compatible with hook version 1.2. A complete CDS Services object example returned from the discovery endpoint is as follows:

{
  "services": [
    {
      "hook": "patient-view",
      "title": "Static CDS Service Example",
      "description": "An example of a CDS Service that returns a static set of cards",
      "id": "static-patient-greeter",
      "prefetch": {
        "patientToGreet": "Patient/{{Patient.id}}"
      },
      "version" : [ { "cds":"1.0","hook":"1.2" } ]
    }]
}

The above CDS Service would be compatible with CDS Hooks version 1.0 and patient-view hook version 1.2 (with a prefetch that potentially made use of the context specification for patient-view version 1.2).

view this post on Zulip Github Notifications (Mar 14 2018 at 07:41):

rongchen commented on Issue #154

Versioning of individual services (hooks) are necessary. We include version information in the URL.

view this post on Zulip Github Notifications (Mar 21 2018 at 15:48):

kpshek commented on Issue #154

@rongchen - This issue is discussing the version of the hook definition, not the version of your CDS Service.

view this post on Zulip Github Notifications (Mar 21 2018 at 17:37):

bkaney commented on Issue #154

FYI -- This is a duplicate of the issue I opened: https://github.com/cds-hooks/docs/issues/74

view this post on Zulip Github Notifications (Mar 21 2018 at 17:42):

brynrhodes commented on Issue #154

@bkaney, looking at #74, that's talking about services, right? This issue is talking about the version of the hook definition, not the version of the service.

view this post on Zulip Github Notifications (Mar 26 2018 at 14:04):

bkaney commented on Issue #154

@bkaney, looking at #74, that's talking about services, right? This issue is talking about the version of the hook definition, not the version of the service

Hmm, #74 is about just the version of CDS Hooks. Upon re-reading this issue seems to conflate that and the specific hook definition version at first, but then seems to move toward only to the hook definition version. So yea, not a dupe :)

Is there consensus forming that the hook definition version ought to be handled by the service discovery endpoint using different URLs? I guess it might be nice to advertise when a hook has been deprecated in favor of another...

view this post on Zulip Github Notifications (Mar 26 2018 at 17:07):

kpshek commented on Issue #154

This has been addressed in PR #154 which was just merged to master.

view this post on Zulip Github Notifications (Mar 26 2018 at 17:07):

kpshek closed Issue #154


Last updated: Apr 12 2022 at 19:14 UTC