Stream: cds hooks
Topic: context changes
Kevin Shekleton (Jan 28 2018 at 15:12):
FYI - We are moving forward with our proposed context changes:
- context is a JSON object, not array
- For all 3 hooks in our Sandbox, the context will contain a patiendId
(REQUIRED) and enocunterId
(OPTIONAL) parameters.
- For medication-prescribe
, the context will also contain a medications
(REQUIRED) parameter that is the array of FHIR medications.
We have left the patient
and encounter
CDS Service request parameters as-is for now as to not break everyone testing patient-view
. For those testing medication-prescribe
, this is a breaking change (we couldn't avoid it). We will drop patient
and encounter
from the request later today (tonight? or when everyone updates).
@Zach Plata is preparing the Sandbox changes right now and they should be deployed within the next few minutes. He will post here when the change has been made.
@Matt Henkes already updated the Cerner implementation so if you are ready to test talk with him.
Robert Sax (Jan 28 2018 at 15:19):
for order-review, will the field change to orders
from orders-in-progress
Kevin Shekleton (Jan 28 2018 at 15:21):
Yeah, that's my proposal.
My thinking is that if we are trying to name the context fields to be that descriptive, we're going to end up with long names (and I'd like to avoid that).
Kevin Shekleton (Jan 28 2018 at 15:22):
Thoughts?
Kevin Shekleton (Jan 28 2018 at 15:22):
(I'm updating PR #109 right now for all of this)
Kevin Shekleton (Jan 28 2018 at 15:22):
....almost done
Aziz Boxwala (Jan 28 2018 at 15:24):
@Kevin Shekleton : Can you please share sample hooks request bodies in the new format. I need a medication-prescribe request.
Robert Sax (Jan 28 2018 at 15:24):
that is fine from my perspective - only in the case that you need two order sets would you make them more descriptive
Kevin Shekleton (Jan 28 2018 at 15:25):
"context":{ "patientId": "123", "medications":[ { "resourceType":"MedicationOrder", "id":"smart-MedicationOrder-103", "status":"draft", "patient":{ "reference":"Patient/smart-1081332" }, "medicationCodeableConcept":{ "coding":[ { "system":"http://www.nlm.nih.gov/research/umls/rxnorm", "code":"617993", "display":"Amoxicillin 120 MG/ML / clavulanate potassium 8.58 MG/ML Oral Suspension" } ], "text":"Amoxicillin 120 MG/ML / clavulanate potassium 8.58 MG/ML Oral Suspension" }, "dosageInstruction":[ { "text":"5 mL bid x 10 days", "timing":{ "repeat":{ "boundsPeriod":{ "start":"2005-01-04" }, "frequency":2, "period":1, "periodUnits":"d" } }, "doseQuantity":{ "value":5, "unit":"mL", "system":"http://unitsofmeasure.org", "code":"mL" } } ], "dispenseRequest":{ "numberOfRepeatsAllowed":1, "quantity":{ "value":1, "unit":"mL", "system":"http://unitsofmeasure.org", "code":"mL" }, "expectedSupplyDuration":{ "value":10, "unit":"days", "system":"http://unitsofmeasure.org", "code":"d" } } }, { "resourceType":"MedicationOrder", "id":"smart-MedicationOrder-104", "status":"draft", "patient":{ "reference":"Patient/smart-1081332" }, "medicationCodeableConcept":{ "coding":[ { "system":"http://www.nlm.nih.gov/research/umls/rxnorm", "code":"211307", "display":"Azithromycin 20 MG/ML Oral Suspension [Zithromax]" } ], "text":"Azithromycin 20 MG/ML Oral Suspension [Zithromax]" }, "dosageInstruction":[ { "text":"15 mL daily x 3 days", "timing":{ "repeat":{ "boundsPeriod":{ "start":"2005-01-18" }, "frequency":1, "period":1, "periodUnits":"d" } }, "doseQuantity":{ "value":15, "unit":"mL", "system":"http://unitsofmeasure.org", "code":"mL" } } ], "dispenseRequest":{ "numberOfRepeatsAllowed":1, "quantity":{ "value":1, "unit":"mL", "system":"http://unitsofmeasure.org", "code":"mL" }, "expectedSupplyDuration":{ "value":3, "unit":"days", "system":"http://unitsofmeasure.org", "code":"d" } } } ] }
Aziz Boxwala (Jan 28 2018 at 15:32):
Thank you @Kevin Shekleton . We'll be ready to test shortly.
Kevin Shekleton (Jan 28 2018 at 16:03):
Ok everyone, I have PR 109 updated and ready for review. You can view the changes on the deployed site here: https://cds-hooks-docs-pr-109.herokuapp.com/
cc @Matt Berther @Brett Marquard @Isaac Vetter
Kevin Shekleton (Jan 28 2018 at 16:04):
Once PR 109 is done then we will review the change to move patient/encounter into context. PR 109 is just to formally document our existing hooks as well as define how new hooks must be defined
Zach Plata (Jan 28 2018 at 16:46):
Sandbox update: changes have been made so that the context
property is now an object with a patientId key and a medications key (on the Rx View)
Aziz Boxwala (Jan 28 2018 at 16:49):
@Zach Plata : we tested our service against the sandbox. Seems to be working well now. New keys and change to the context fields.
Kevin Power (Jan 28 2018 at 17:01):
@Aziz Boxwala - Just tested order workflow and I see the card again.
Travis Stenerson (Feb 02 2018 at 06:16):
Quick related question.. our implementation will require the organization or hospital from which the hook originated to accumulate meta data about system use and guideline appropriate ordering. Would this be most appropriate in the context field? (Which will require a new hook submitted? (Prefetch seems more approriate for related clinical data, but would not require a new hook. Anyone have insight?
Robert Sax (Feb 02 2018 at 11:45):
I opened an issue on this a while back (#17), and there is some useful feedback. Context has since change, and this could be in the context, but to me it belongs as a top-level element in the request, because it is useful information for every request, just like the user. As a result I would build it as an extension for the time being.
Kevin Shekleton (Feb 02 2018 at 19:16):
This is also a request in SMART too (see #133). Unfortunately, we couldn't come to consensus on that for the SMART ballot that is wrapping up. We should solve this in the same manner between both SMART and CDS Hooks.
Last updated: Apr 12 2022 at 19:14 UTC