Stream: subscriptions
Topic: January Connectathon 2021
Jenni Syed (Nov 16 2020 at 14:44):
Is there interest in a January connectathon for subscriptions? If so, what are you most interested in testing out? If there is interest, is there someone that can take track (or co-) lead this time around? I currently have a conflict on Friday the 15th.
Josh Mandel (Nov 16 2020 at 17:21):
Given that we're planning to ballot the "Subscriptions Backport IG" in the January cycle, it'd be great to get some experience with this at the connectathon
Gino Canessa (Nov 16 2020 at 18:07):
Hi Jenni, I'm happy to co-lead, if you like. I'd offer to take the track entirely, but you're better at filing Jira tickets :-)
Gino Canessa (Nov 16 2020 at 20:05):
@Jenni Syed do you want to start the track page, or would you like me to?
Jenni Syed (Nov 16 2020 at 20:15):
I can kick it off :)
Jenni Syed (Nov 16 2020 at 20:15):
@Gino Canessa I will take the offer to co-lead, but want to make sure you would really really need to be there on the last day (report out) b/c my conflict is with most of that day :)
Jenni Syed (Nov 16 2020 at 20:15):
wasn't sure if you were going to run a different track
Gino Canessa (Nov 16 2020 at 20:30):
No worries (that's why it took me a while to respond). I'll have another track I'm supporting, but can commit to parking myself in subscriptions in general (and on Friday in particular). Though, I think people will be disappointed with my report-out vs. yours =)
Jenni Syed (Nov 16 2020 at 23:37):
@Gino Canessa double-check my links to the backport IG (especially in scenarios): https://confluence.hl7.org/display/FHIR/2021-01+Subscriptions+Track
Jenni Syed (Nov 16 2020 at 23:37):
I also linked to the reference impl in the section that is supposed to describe what servers/clients should come prepared with
Gino Canessa (Nov 17 2020 at 12:09):
Everything looks good to me, thanks!
Jenni Syed (Nov 17 2020 at 14:21):
Ok all, this is an informal poll for timezones. I would like to make sure anyone planning on participating has a chance to dial in during normal waking hours to the track orientation....
Jenni Syed (Nov 17 2020 at 14:22):
If you're participating, let me know what time zone you're in here :) If you know of someone that you think would like to participate, nag them to come provide timezone here by the end of the week so I can schedule the orientation call prior to people being out for holidays :)
Jenni Syed (Nov 17 2020 at 14:23):
I will record the call as well
Gino Canessa (Nov 17 2020 at 14:29):
/poll Informal Poll for Time Zones
US Eastern (UTC-5)
US Central (UTC-6)
US Mountain (UTC-7)
US Pacific (UTC-8)
Jenni Syed (Nov 30 2020 at 19:27):
Right now I have this penciled in for Friday, Dec 11 @ 12:00 Central time
Jenni Syed (Nov 30 2020 at 19:28):
let me know if this will be problematic for anyone (I'll wait a bit before publishing the invite)
Jenni Syed (Dec 01 2020 at 21:18):
Orientation meeting: Friday, December 11th at 12:00 Central Time
Details on confluence: https://confluence.hl7.org/display/FHIR/2021-01+Subscriptions+Track
Jenni Syed (Dec 01 2020 at 21:21):
Ummm. 11th... Fixed
Jenni Syed (Dec 02 2020 at 15:28):
It looks like we have some Pacific time peeps - everyone ok with a 10:00 Central time kickoff on the first day of the connectathon (Jan 13th)?
Jenni Syed (Dec 02 2020 at 15:29):
And then daily "wrap ups" at 16:00 Central time?
Eric Haas (Dec 02 2020 at 22:38):
We are looking to lean on this track for Davinci alerts and cdex.
Eric Haas (Dec 02 2020 at 22:38):
Gino your app essential does the adt use case right
Eric Haas (Dec 02 2020 at 22:38):
?
Gino Canessa (Dec 02 2020 at 22:54):
The RI supports admit (checks for new/update Encounter with status of in-progress
). It will be current with both the R5 version and the R4 backport for the connectathon. Is there something else you need?
Eric Haas (Dec 03 2020 at 08:36):
... transfer and discharge ...
Gino Canessa (Dec 03 2020 at 19:04):
Yes, I know what the D & T are for =). I just haven't defined and implemented topics for transfer and discharge yet. I'm happy to add those topics (and others besides), but I don't know if I'm confident enough in defining them to make reusable (documented) ones.
E.g., a simple 'encounter end' could be Encounter.status
= completed
(this mirrors the 'encounter start' in use today). This would be pretty straightforward to add support for.
If you are looking for more complex admit/discharge definitions (e.g., using fields in Encounter.hospitalization
), I don't have definitions like that yet. Again, I'm willing to put some time here, but would need others to contribute definitions/experience.
For transfer, a 'quick' definition would probably just be any change in Encounter.location
(again, would likely be simple to implement). I have no doubt that would be insufficient for actual use, but if that meets testing needs I can add it to my list.
@Eric Haas Do you have flows defined for connectathon testing already? If so, I can look at those and see what can be done.
Eric Haas (Dec 03 2020 at 19:36):
For discharge I agree the Encounter.status is completed. in a simple FHIR centric model. ( Of course as you know for Da Vinci Alerts, we side stepped what exactly triggers and event leaving that to the implementer to decide) Transfers are in the eye of the beholder and could be treated as a discharge and admit in one organization and a transfer in another. One way it to have the encounter.status
still = 'in-progress' and encounter.hospitalization.admitSource
= 'transfer'. But that may not be the way is done IRL. Our connectathon testing is very simple and documented here: https://confluence.hl7.org/display/FHIR/2021-01+Da+Vinci+-+Notifications
Eric Haas (Dec 03 2020 at 19:38):
I will try to update my app to do subscriptions using your server before the connectathon.
Gino Canessa (Dec 03 2020 at 19:49):
Eric Haas said:
Of course as you know for Da Vinci Alerts, we side stepped what exactly triggers and event leaving that to the implementer to decide
Yes, but you're asking me to implement them :-)
Gino Canessa (Dec 03 2020 at 19:52):
Makes sense - I have a list of additions/updates for the RI, so I'll add this to my list. That said, the server is sending subscription-style bundles (history
in R4 backport) and not Message Bundles. Is that an issue?
Jenni Syed (Dec 10 2020 at 23:45):
Reminder that we'll have our kick off tomorrow at 12:00 Central time! It will be recorded for those that can't attend
Jenni Syed (Dec 15 2020 at 19:39):
The track orientation page has been updated with our recording of the overview session.
René Spronk (Dec 29 2020 at 14:52):
It would be nice to have some more topics available for testing .. encounters are good, but some other status changes would be nice. By the way (I haven't tested yet): is server.subscriptions.argo.run up and running when it comes to Subscriptions? There's only 1 topic on that server, and there are no Subscriptions resources at all. Is the data reset every 24hrs ?
Jenni Syed (Dec 30 2020 at 18:02):
@Gino Canessa ^^
Jenni Syed (Dec 30 2020 at 18:02):
I know he was working on a few other topics
Jenni Syed (Dec 30 2020 at 18:06):
Documentation is here for the reference implementation: https://microsoft-healthcare-madison.github.io/argonaut-subscription-info/
Gino Canessa (Dec 30 2020 at 18:47):
Hi Rene, it is online with the September 2019 Connectathon version of the models (there have been a few minor changes since, but there has not been a release for January yet). I'm in the process of adding Discharge and Transfer topics (among other updates), but those are both Encounter based as well. Is there a particular topic you would like to see? As long as it's not too painful to add to the proxy, I'd be happy to do so.
The subscriptions get cleaned up automatically when they expire, which is forced to (I believe) one hour. This has been sufficient for testing so far, but I'm happy to extend it if needed.
René Spronk (Dec 31 2020 at 07:15):
@Gino Canessa - the encounter use case is probably the best (realistic) one for testing [and for use in training courses]. During the subscription exercise of the training course I'll run a simple script to create/activate/finish encounters at regular intervals to ensure relevant events will happen.
According to the docs this is a proxy for the public FHIR R4 server, so I can just point my event-simulator script at that server.
BTW, could non-Argonaut topic Canonical URLs be used? I always try to use non-realm-specific artefacts..
Gino Canessa (Jan 01 2021 at 00:19):
@René Spronk The proxy is what handles all of the subscription work, so it will need to have the subscriptions run through it, as well as any triggering events.
So far, that is the canonical we've been using (given that no others have/had) been defined. I can look at what can be done simply next week.
René Spronk (Jan 01 2021 at 10:17):
It may make sense to at least have a set of 'example biding' SubscriptionTopic definitions with predefined canonical URLs in R5, e.g. for the equivalent of A01, A02, A03, A04 and some other popular v2 ADT events. (Mind you: the same would be true for TriggerEvents definitions for FHIR messages, but there, given low uptake, this hasn't yet been done).
Gino Canessa (Jan 04 2021 at 16:59):
Yes, getting that started was the goal of the Argonaut Encounters IG (keeping in mind it is an informal IG). Once R5 is supported, SubscriptionTopics will be available on the FHIR registry, but without R5 support we can't put them there yet. At the same time, it doesn't make sense to build out a new directory, since the FHIR registry is a logical place for them to live.
As to including more topics R5, I'd be happy to support that effort. I'm not sure what bar needs to be met for 'examples' that have usable canonical URLs (I'll try to bring this up at the next FHIR-I call). I ask because if we want to build canonical definitions for such common topics (e.g., admission), we probably need to reach out to essentially every working group for feedback.
Eric Haas (Jan 04 2021 at 17:11):
I think we need at least an informal definitions of the topics for the connectathon, I can't find them. ( I am not trying to be pedantic, but I think its important to be simple and clear on this point "Should search or read using the $topic-list operation on the server." )
Gino Canessa (Jan 04 2021 at 17:23):
So far, I've been using the Encounter Start from the Argo IG. There is a matching Encounter End defined there as well.
For the additional topics René asked about, my plan has been to create a 'canonical' version on the GH repo and implement that. Accessing the server via R5 would also return the topic.
Gino Canessa (Jan 04 2021 at 17:25):
If we need more info available, that's good feedback =)
Eric Haas (Jan 06 2021 at 04:41):
I get an error when I try to use my test client endpoint
http://healthedatainc2.pythonanywhere.com/webhook
"Failed to connect to Client Host" Is there something I am missing?
nipun garg (Jan 06 2021 at 08:54):
@Jenni Syed
I am Nipun Garg working with Philips .
We are working on Integration area and helping EMR's to connect to different Philips devices/application
I am identified to execute Subscription track- and for us suitable actor would be client.
We would like to test Web Socket connection as Subscription client:
Do we know any partners(Subscription Server) with whom i can pair and check what they are currently supporting and define by code behavior accordingly
nipun garg (Jan 07 2021 at 04:13):
Even I am try to look for sample message based on the workflow for Websocket using the below link
http://build.fhir.org/ig/HL7/fhir-subscription-backport-ig/channels.html
But I am unable to find the sample URL and message for WS connectivity/Authentication which has to be passed from client to server.
Jenni Syed (Jan 07 2021 at 16:58):
I thought the Microsoft demo server supported websockets: https://microsoft-healthcare-madison.github.io/argonaut-subscription-info/
Jenni Syed (Jan 07 2021 at 16:59):
https://server.subscriptions.argo.run/metadata
Jenni Syed (Jan 07 2021 at 17:00):
I see some websocket extensions, at least :)
Jenni Syed (Jan 07 2021 at 17:00):
I know the Cerner server doesn't currently support it
Gino Canessa (Jan 07 2021 at 17:04):
It does, though I am in the process of updating it so it can be used with the backport (it was R5 before). I'm not sure exactly what is in the current deployed version.
nipun garg (Jan 08 2021 at 12:57):
Does this provides the capability to authenticate WS connection using token? @Gino Canessa . Let us know once this is available as we need to test it before Monday so we are prepared for Connectathon
nipun garg (Jan 14 2021 at 00:38):
HI @Jenni Syed @Gino Canessa . Is the Web Socket server now ready for us to test tomorrow. The Microsoft Server is not up to date. Can you please check and revert as we need to perform a dry run and test with any server which serves Web Socket functionality.
Gino Canessa (Jan 14 2021 at 01:03):
Hi @nipun garg . As I have mentioned a few times now, I am working on updates to that server. Please try to keep in mind this is not a product, but a reference implementation we make available to aid in development and testing. I will let you know when it is updated.
nipun garg (Jan 14 2021 at 01:25):
Thanks @Gino Canessa for the information . My question was more towards understanding if any partner has registered as WebSocket Server as I couldn't find that information on Test server page list.
Gino Canessa (Jan 14 2021 at 01:28):
I haven't looked yet (as I've been trying to finish this implementation). In general, websocket testing has been somewhat light (rest-hook appears to be the general preference), but we'll take a survey and update lists and expectations when we kick off tomorrow.
Gino Canessa (Jan 14 2021 at 04:42):
PSA: the software at subscriptions.argo.run has been updated. If you've been using it previously, note that the server URLs have changed (I've separated out the R4 and R5 endpoints). The UI in the Playground
->Websocket Playground
is still a bit rough, but I plan to keep working on it over the course of the Connectathon. Feel free to tinker tonight, but I'll plan on doing a walkthrough / tour during the kickoff in the morning.
I'll also note that I haven't updated the documentation yet. Depending on how involved the connectathon is, this should be updated within the next couple of days too.
See you all in the morning, cheers!
Jenni Syed (Jan 14 2021 at 14:53):
Hi All, looking forward to seeing everyone at the kickoff in a little over an hour. In the meantime, I added a signup sheet that you should go add yourself (and your client or Server) to: http://bit.ly/sub1-2021
Avery Allen (Jan 14 2021 at 16:21):
For info on the Cerner R4/R5 Subscription servers checkout: https://github.com/averyallen/wgm_notes/tree/jan_2021
Gino Canessa (Jan 14 2021 at 16:48):
Operation definition in R5: http://build.fhir.org/subscription-operation-get-ws-binding-token.html , will be in the backport IG after ballot.
Jenni Syed (Jan 14 2021 at 17:27):
Noting the issue discovered today during the call that $status in the backport is missing the /id/$status definition (Logged FHIR#30365 )
Jenni Syed (Jan 14 2021 at 17:35):
Also noting the question about how to do logical OR vs AND in the backport vs r5. This comes back to this discussion: https://chat.fhir.org/#narrow/stream/179229-subscriptions/topic/How.20to.20interpret.20multiple.20criteria.20in.20a.20backported.20subscr.2E.2E.2E/near/221802188 was the discussion
Jenni Syed (Jan 14 2021 at 17:37):
Issue: should the status operation (both r4 and r5) support GET (indicate that operation doesn't affect state) (Logged FHIR#30367 and FHIR#30368 for R4 backport and R5)
Jenni Syed (Jan 14 2021 at 17:43):
Log a jira to describe the goal of http://build.fhir.org/ig/HL7/fhir-subscription-backport-ig/#about-this-guide (clarify it's not functional parity, and that there are IGs that drive you to the backport), clarify that the topic operation assumes that the canonical is defined in an IG or described in the server doc, etc... (Logged FHIR#30386 )
Eric Haas (Jan 14 2021 at 18:22):
hey Gino here is my resthook endpoint: "http://healthedatainc2.pythonanywhere.com/webhook"
here is a screenshot of the app trying to point to it...
Eric Haas (Jan 14 2021 at 18:23):
and here is the error I am getting...
Gino Canessa (Jan 14 2021 at 19:35):
@Eric Haas pushing up now, should be online in about 5 minutes. In the playground there is now an option for EXTERNAL REST Hook
in the channel type. When selected, there is a text box where you can set the URL for the endpoint to be used. Note that when using this, notifications will NOT come through to the UI.
@Nandha K , I believe you were looking for the same functionality.
nipun garg (Jan 14 2021 at 20:28):
Hi @Gino Canessa @Jenni Syed : I have executed the use case with Philips acting as client. Do you want to see and provide nay inputs on the use case executed
Eric Haas (Jan 14 2021 at 22:28):
Thanks, Gino it works great....
Gino Canessa (Jan 14 2021 at 22:30):
Outstanding!
Eric Haas (Jan 14 2021 at 22:31):
is there a complete set of synthea data associated with these patients?
Gino Canessa (Jan 15 2021 at 22:16):
Thanks everyone for all the great effort during the connectathon! And thanks @Jenni Syed in particular! Have a great weekend everyone. Cheers!
Jenni Syed (Jan 15 2021 at 22:17):
Thanks @Gino Canessa ! Life saver :smile:
Last updated: Apr 12 2022 at 19:14 UTC