Stream: cds hooks
Topic: Connectathon!
Josh Mandel (May 07 2016 at 12:57):
Screenshare from Josh: https://www.youtube.com/watch?v=Dgpe9fUGMNY
Josh Mandel (May 07 2016 at 12:58):
"v0.0.2" docs: http://cds-hooks.github.io/docs/
Grahame Grieve (May 07 2016 at 12:58):
has anything changed from last time?
Josh Mandel (May 07 2016 at 12:58):
"v0.0.2" demo: http://hooks2.smarthealthit.org/#{"hook":"medication-prescribe"}
Josh Mandel (May 07 2016 at 12:59):
We're running the same spec from last time (https://github.com/cds-hooks/cds-hooks/wiki) and also introducing a new approach
Josh Mandel (May 07 2016 at 12:59):
Which I'm going to call "v0.0.2" here.
Josh Mandel (May 07 2016 at 12:59):
Just today :-)
Grahame Grieve (May 07 2016 at 12:59):
can you summarise the high points of how it's different?
Josh Mandel (May 07 2016 at 13:03):
Yes:
1. Inputs/outputs are simple JSON docs (with FHIR for the clinical data elements within)
2. Spec is published in Swagger for auto-generation of clients and servers
3. Discovery of services is simplified with a metadata endpoint that shows all the services s provider offers
4. Prefetch is now requested through simple k:v pairs where 'k" is an arbitrary string like "patientToGreet" and the value is a FHIR query to GET
.
Josh Mandel (May 07 2016 at 13:15):
CDS Hooks shared google doc for connectathon coordination: https://docs.google.com/document/d/1EEl0mrstJUXqxfmLftc7sNea0DvrL56SwzjBwlZpoB4/edit
Josh Mandel (May 07 2016 at 13:17):
Please fill out your contact details and share any relevant links
Josh Mandel (May 07 2016 at 15:05):
I'm in the TestScript
session next door but will stay online here (just @mention me if you want to be sure to get my attention)
Josh Mandel (May 07 2016 at 15:06):
@Kevin Shekleton will you take a look at documenting the response side of the invocation (oi.e. the card parameters)
Kevin Shekleton (May 07 2016 at 15:07):
@Josh Mandel Sure, working on that now (along with the discovery response)
Josh Mandel (May 07 2016 at 15:07):
And others: I have documented the request side, so frequent reloading of http://cds-hooks.github.io/docs/ is advisable
Josh Mandel (May 07 2016 at 15:12):
OK, our docs should copy this format: https://developers.coinbase.com/api/v2#deposits
Kevin Shekleton (May 07 2016 at 15:21):
That looks nice -- I'm having trouble finding the markdown source for that site as it looks like they have a custom style for the field tables
Kevin Shekleton (May 07 2016 at 15:25):
Nevermind - it looks like that styling comes with Slate! This will be easy
Josh Mandel (May 07 2016 at 15:25):
Yeah, the source is apparently unavailable.
Brett Esler (May 07 2016 at 17:29):
hi @Josh Mandel a query - for the v2 prefetch FHIR query where did the context {{Patient.id}} syntax come from?
Josh Mandel (May 07 2016 at 18:04):
We just made it up.
Kevin Shekleton (May 07 2016 at 18:04):
@Brett Esler - The {{Patient.id}} is a parameter for the patient id (the same value as the identifier attribute of the FHIR Patient resource).
Josh Mandel (May 07 2016 at 18:05):
I mean, the double curly braces is used in other templating systems (e.g. jinja2, liquid)
Brett Esler (May 07 2016 at 18:05):
great - quite like it that way!
Kevin Shekleton (May 07 2016 at 18:22):
To anyone interested - we've moved to the breakout room right next door to discuss how CDS Services know their cards/suggestions were acted upon by the user. Join us if this is interesting to you!
Brian Postlethwaite (May 07 2016 at 18:41):
Is that {{patient.id}} also the same in the SMART patient context?
Nikolai Schwertner (May 07 2016 at 18:53):
Started list of current CDS Hooks services for people to try in the shared doc (https://docs.google.com/document/d/1EEl0mrstJUXqxfmLftc7sNea0DvrL56SwzjBwlZpoB4/edit). Please publish yours here
Kevin Shekleton (May 07 2016 at 19:16):
The Swagger API has been updated with the new analytics endpoint (commit)
Josh Mandel (May 07 2016 at 20:04):
Thanks @Nikolai Schwertner — the http://cds.medapptech.com Service Provider worked great for me with "quick add".
Yunwei Wang (May 08 2016 at 01:36):
Hi, how do I use "quick add"? Should I use just the base address or the {base}/.well-known/cds-services?
Josh Mandel (May 08 2016 at 03:05):
Base.
Josh Mandel (May 08 2016 at 13:11):
Tasks for this morning:
Josh Mandel (May 08 2016 at 13:13):
1. If you want us to demo your service, make sure it's added to the google doc at the bottom
2. Please review our nascent docs at http://cds-hooks.github.io/docs/ (source at https://github.com/cds-hooks/docs) for missing content, errors, confusing bits, etc.
3. Please review our "help wanted" issues list especially with an eye toward #4 (test cards s/ fixtures)
Josh Mandel (May 08 2016 at 13:22):
BTW did anyone use the Swagger defs this weekend, e.g. for client libraries?
Josh Mandel (May 08 2016 at 14:08):
For your CORS woes, here's a quick formula - see the top of http://docs.smarthealthit.org/tutorials/server-quick-start/
Josh Mandel (May 08 2016 at 14:09):
Basically you can create a wide-open policy by responding to OPTIONS and POSTs with
Access-Control-Allow-Credentials: true Access-Control-Allow-Headers: origin, authorization, accept, content-type, x-requested-with Access-Control-Allow-Methods: GET, HEAD, POST, PUT, DELETE, TRACE, OPTIONS Access-Control-Allow-Origin: *
Brett Esler (May 08 2016 at 14:30):
Query on v2 cds-hooks is there are way to determine what to put in context from discovery? Also assume patient, user, encounter context should be provided when available (always?)
Kevin Shekleton (May 08 2016 at 14:32):
Yes, user, patient, and encounter should be provided if they are available (and relevant to the hook).
Kevin Shekleton (May 08 2016 at 14:33):
Regarding context, I know for medication-prescribe I'm passing in the MedicationOrder resource that the user is attempting to prescribe.
Kevin Shekleton (May 08 2016 at 14:33):
But certainly we need to flesh out context and what that means for each hook (as context will vary per hook to hook)
Brett Esler (May 08 2016 at 14:37):
could we also do this with dynamic description .e.g something like the prefetch but for context?
Brett Esler (May 08 2016 at 14:37):
oh is that by reference not value?
Josh Mandel (May 08 2016 at 14:39):
"context" is fixed based on the hook -- see "Hook Catalog" in http://cds-hooks.org/
Josh Mandel (May 08 2016 at 14:39):
Now, we can make this simpler still by removing the generic context
and replacing it with specific property names (defined in each catalog entry)
Josh Mandel (May 08 2016 at 14:40):
So instead of context: [{a med}]
when hook=medication-prescribe
, we could have draftPrescription: {a med}
Brett Esler (May 08 2016 at 14:43):
okay cool that would make it easier to read
Brett Esler (May 08 2016 at 15:01):
for cards.links content to launch a SMART on FHIR app is cds service responsible for 'iss' parameter and ehr the 'launch'??
- how to determin the link is for an app and needs parameters?
Kevin Shekleton (May 08 2016 at 15:03):
Good questions - We haven't thought this through fully
Josh Mandel (May 08 2016 at 15:09):
The current approach, @Brett Esler is that it's just a URL. Your service creates this URL and you can pack in whatever params you like -- but there's no special/specific support for SMART apps or launch. We've found we can go pretty far on this alone.
Brett Esler (May 08 2016 at 15:10):
no problem - just thinking of where i'd like to go ;)
Kevin Shekleton (May 08 2016 at 15:12):
@Brett Esler - Did you want to add yourself to the participants list here? https://docs.google.com/document/d/1EEl0mrstJUXqxfmLftc7sNea0DvrL56SwzjBwlZpoB4/edit#
Josh Mandel (May 08 2016 at 15:13):
Yes definitely! In the meantime you can simulate this behavior by constructing a "deep link" (i.e. with context) from your CDS service.
Yunwei Wang (May 08 2016 at 16:10):
Finally got my CDS service running. It is a really great connectathon experience. Thank you Josh & Kevin.
Kevin Shekleton (May 08 2016 at 16:11):
Great! Do you have it deployed anywhere where we can see it?
Yunwei Wang (May 08 2016 at 16:12):
It is running on my laptop now. I will deploy it to our server in a few minutes.
Yunwei Wang (May 08 2016 at 16:31):
@Kevin Shekleton The service base URL is http://implementation.e-imo.com/cds
Kevin Shekleton (May 08 2016 at 16:32):
Got it!
Brett Esler (May 08 2016 at 16:40):
thanks all - managed to get my ehrs hooked up in the backend at least; will youtube some action when there is a ui to show..
Kevin Shekleton (May 08 2016 at 17:01):
Great @Brett Esler - looking forward to seeing it
Josh Mandel (May 08 2016 at 17:21):
I'm looking forward too, @Brett Esler -- please keep us informed, and share your experience with the new API.
Igor Sirkovich (May 10 2016 at 14:29):
(deleted)
Kalyani Yerra (Aug 24 2016 at 17:58):
I am planning to get ready for the connectathon in the CDS-hooks track. Is the documentation at the following location current?
https://github.com/cds-hooks/cds-hooks/wiki/CDS-Hook-Metadata-Operation
Josh Mandel (Aug 24 2016 at 20:03):
Docs at http://cds-hooks.org @Kalyani Yerra :)
Kevin Shekleton (Sep 12 2016 at 18:43):
Attention everyone who will be joining us in person for the CDS Hooks track at the Connecthaton this weekend in Baltimore!
Please add your name to this spreadsheet and set your primary track to CDS Hooks. This will give the Connectathon organizers a headcount as to who is participating in each track so that they can allocate space appropriately to ensure we're all sitting together.
Kevin Shekleton (Sep 16 2016 at 22:38):
For those who won't be able to join us in person tomorrow for the Connectathon but still want to participate from home...the presentation in the morning and at the conclusion of the Connectathon will be live streamed via this link:
https://attendee.gotowebinar.com/register/7818733115499491330
It will go live tomorrow morning around 9am ET when the Connectathon starts.
Also, we'll be using this topic during the Connectathon for our chat. See everyone tomorrow!
Kevin Shekleton (Sep 17 2016 at 12:31):
For those joining us in person at the Connectathon today - thanks for filling out the Connectathon spreadsheet! I've been told we have the largest response of the tracks which means they've stuck us riff-raff in the back corner of the room at three tables labeled with 'Hooks'.
Josh Mandel (Sep 17 2016 at 12:53):
I've added tabs to the spreadsheet for:
--> Please update to add what you're working on :-)
Kevin Shekleton (Sep 17 2016 at 13:29):
If you're trying to follow along from home, from @Lloyd McKenzie:
Having issues with the webinar. We'll try to get it working shortly, but probably miss the kickoff
Kevin Shekleton (Sep 17 2016 at 15:49):
fyi on Github issue #10 - Rename source.name to source.label?. Comments appreciated!
Kevin Shekleton (Sep 17 2016 at 16:06):
Comments welcome on Github issue #3 - Should CDS Services indicate the FHIR version they require?.
Tom C (Sep 17 2016 at 16:19):
hi, question about the CDS Hooks Demo site. When you click on Configure hooks, it shows you an example of the "id" = some URL. I thought the id field was just the name of the CDS service.
Josh Mandel (Sep 17 2016 at 16:22):
The config screen is really just showing internal config details -- we populate two fields with the same value, for no very good reason.
Josh Mandel (Sep 17 2016 at 16:23):
The id
field is just a value we use to index index into a JSON object where we store all configured services, inside our web app.
Tom C (Sep 17 2016 at 16:25):
I see. So when I configure my CDS service, I should still use just the name of the service and the demo site will call {baseUrL}/cds-services/{my service Id} ?
Josh Mandel (Sep 17 2016 at 16:27):
That's right. You should just pass your baseUrl into "Quick Add.
Josh Mandel (Sep 17 2016 at 16:27):
Everything else is automatic.
Josh Mandel (Sep 17 2016 at 18:00):
I'm here with Joey Nichols from MITRE -- he's a family doc here in Baltomore and would love to talk through any clinical questions with y'all. Send a note here or come find if me if you're game!
Kevin Shekleton (Sep 18 2016 at 13:41):
Good morning everyone! I'm compiling the slide deck for our 4min presentation to conclude the Connectathon today. Can everyone email me (kshekleton@cerner.com) a 1-2 sentence overview of what they accomplished at the Connectathon this weekend?
If you wrote a CDS Service, this should be a very brief description of the service(s) you wrote (include the hook they use and the purpose of the service).
If you wrote EHR support, this should be a very brief description of what service(s) you integrated with and the hooks that you supported.
Please get this to me by 10:30am today so I can get it all ready for the presentation at 11am. Thanks!
Kevin Shekleton (Sep 23 2016 at 04:19):
I wrote up a recap of our Connectathon work. If you're not following the mailing list, you can read the post here.
Kalyani Yerra (Nov 22 2016 at 14:44):
What aspects of the CDS-Hooks spec (security, smart app integration...) are we targeting for the connectathon in January.
Isaac Vetter (Nov 25 2016 at 19:12):
Hey Kalyani - Kevin put up this google doc, which includes a request for areas to focus on. He's suggesting SMART app launches and security, which definitely make sense, but there's a number of other areas that could also improve. Anything particularly important to you? https://docs.google.com/spreadsheets/d/10NMbAA0I4HRDcIkh6LPwTa0bcklfQJlBPcPjkIB1bWY/edit#gid=0
Kalyani Yerra (Nov 26 2016 at 04:09):
Thanks Isaac, I am not aware of this google doc.
Security and smart app launch are my top two priorities as well for the connectathon. I wish we can start some sprints to tackle these areas before the connectathon. I can schedule some calls if there is interest.
Kevin Shekleton (Nov 28 2016 at 20:09):
Thanks for posting the link, Isaac. I'm going to be sending out an email tonight to our mailing list (I'll link it here too) with more information on the Connectathon!
Kalyani Yerra (Jan 03 2017 at 16:14):
Are we planning to tackle the SMART backend service auth flow for the Jan connectathon?
Kevin Shekleton (Jan 05 2017 at 22:17):
Not sure yet
Travis Cummings (Jan 06 2017 at 00:04):
Is there a theme for the Jan connectathon?
Kalyani Yerra (Jan 06 2017 at 03:17):
Based on the wiki page http://wiki.hl7.org/index.php?title=201701_CDS_Hooks
, looks like the focus will be on the smart app link and security
Kevin Shekleton (Jan 14 2017 at 14:52):
Hi everyone! We'll use this stream for discussions at the Connecthon this weekend. If you're here with us in San Antonio please introduce yourself here so everyone knows who you are.
Kevin Shekleton (Jan 14 2017 at 14:55):
Also, we have four EHR vendors participating this time (that I'm aware of): AllScripts, athenahealth, Cerner, and Epic
Alex DeJong (Jan 14 2017 at 15:35):
Hi everyone! We'd like to hook our CDS Hook implementation of the Zika screening protocol into an actual EHR system. Let is know who's interested to work on this.
Kevin Shekleton (Jan 14 2017 at 15:46):
For those of you who have a CDS service, can you add your CDS Discovery endpoint to this Google Sheet?
Kevin Shekleton (Jan 14 2017 at 15:53):
Also, please fill out what you'd like to work on in that sheet
Kevin Olbrich (Jan 14 2017 at 16:04):
One of the topics I am interested in is how to configure discovered CDS services. If you look at http://cds-hooks.org/#discovery, there is a url for getting a list of services, their ids, and some other metadata. I anticipate that there might be reasons that a cds service provider might need to have configuration options of some sort. Has anyone encountered a situation like that yet?
Paul Curcio (Jan 14 2017 at 16:06):
What sort of options are you envisioning? Would they potentially be hook-specific, or general to all of the published CDS services for a particular service provider?
Kevin Olbrich (Jan 14 2017 at 16:08):
I'm thinking that a particular hook might have a specific configuration option, like 'use local regimen library' that it would make sense for an administrator on the EHR side to configure.
Kevin Shekleton (Jan 14 2017 at 16:10):
@Kevin Olbrich - So are you thinking the organization (eg, hospital/clinic) would configure something on their end and that would be passed into the request to the CDS service on a particular hook?
Kevin Olbrich (Jan 14 2017 at 16:12):
That's the idea.
Kevin Shekleton (Jan 14 2017 at 16:26):
Would you mind opening up a Github issue to discuss this further @Kevin Olbrich ?
Kevin Shekleton (Jan 14 2017 at 17:46):
A few of us are going to step outside and talk about security if anyone is interested.
Daniel Castronuova (Jan 14 2017 at 20:49):
Hey, just wanted to shop this around (and probably chat a bit while we're here in person). We (athenahealth) and Stanson Health have been working together for a few months on getting an alpha hooks implementation (coupled with our existing APIs for now) for March. We had a few thoughts around the spec we wanted to socialize. The issues in the doc are ordered by what we're considering their importance. It doesn't include any security stuff since there's chatter around that already.
CDSHooksProposal-Connectathon.pdf
Kevin Shekleton (Jan 14 2017 at 21:02):
Thanks @Daniel Castronuova for this great feedback! I'm going through your document now and will stop by to chat in person in a bit
Kevin Olbrich (Jan 14 2017 at 22:53):
@Daniel Castronuova one thought regarding the workflow bits... if the hook requires a user to accept or otherwise explain why they ignored some advice, what happens in the situation that the CDS service is down or unreachable?
Kevin Shekleton (Jan 14 2017 at 23:04):
@Kevin Olbrich - I called out this question in issue #14 here
Daniel Castronuova (Jan 14 2017 at 23:08):
@Kevin Olbrich I'm not sure what was said on the Stanson side for that, but we've intended to store what action a user takes on a card, so that would be persisted. We could resend the information to the source later (similar to how we're treating failed hooks), make an API call for the source to just get actions taken as they want, or use scheduled reports. Since most of our stuff is around the ordering workflow, I think for us this is largely about making sure we're taking the right level of action and providing an audit not just giving the source feedback.
Jennifer Hadlock (Jan 14 2017 at 23:13):
Here are few ideas for proposed ideas CDS hooks. Any thoughts?
Jennifer Hadlock (Jan 14 2017 at 23:15):
Brett Esler (Jan 15 2017 at 10:43):
@Jennifer Hadlock for encounter hooks might be nice to trigger based on Encounter.status vocabulary - so thinking at least 'encounter-in-progress' and 'encounter-finished' for my use cases - but some of the other status values might be useful also....
Naqi Khan (Jan 15 2017 at 16:53):
How do we request permissions to edit the wiki here? https://github.com/cds-hooks/docs/wiki/Proposed-Hooks
Naqi Khan (Jan 15 2017 at 16:54):
@Josh Mandel is that something you need to give permissions for?
Naqi Khan (Jan 15 2017 at 16:54):
we wanted to add proposals for new hooks
Kevin Shekleton (Jan 15 2017 at 16:56):
@naqi - If you're logged into Github you should see an edit button in the upper right and can edit the page
Michael O'Keefe (Jan 15 2017 at 16:58):
@Kevin Shekleton I actually don't see one as a logged-in user: Screen-Shot-2017-01-15-at-10.57.27-AM.png
Naqi Khan (Jan 15 2017 at 16:59):
same here. I've logged in, and forked it. I think the permissions are set to allow editing if you're a "contributor"
Kevin Shekleton (Jan 15 2017 at 16:59):
Refresh the page and try again -- I just fix the permission issue
Naqi Khan (Jan 15 2017 at 17:00):
thank you, works now!
Michael O'Keefe (Jan 15 2017 at 17:00):
Same; works for me too
Kevin Shekleton (Jan 15 2017 at 21:42):
The slides from the 4min Connectathon presentation are available here for anyone that is interested.
Last updated: Apr 12 2022 at 19:14 UTC