Getting EHR "client"

250 views
Skip to first unread message

Philip Thompson

unread,
Jan 26, 2021, 12:21:11 AM1/26/21
to SMART on FHIR
Hi. I have the smart on fhir authorization process working as desired (in the sandbox). I know that I'll need to provide my real `client id` when authenticating once my app is registered with the specific EHR vendor.

Aside from my app's `client id`, is there a way for my app to retrieve the "client identifier of the EHR" launching my application (preferably during authentication phase)? Since multiple EHRs may be accessing my application, I need a reliable way to identify each one. I'm sure this is probably trivial, but I've not been able to find it (and searching for "client id" provides results unrelated to what I'm looking for).

Thanks,
~Philip

Luis Sayago

unread,
Jan 26, 2021, 10:07:31 AM1/26/21
to SMART on FHIR
Depending on the FHIR endpoint you are using, the client ID may be one per organization or may be one client ID for many organizations.

There was a nice discussion on here:


You don't specify if it is a SMART Launch or stand-alone app. With launch, the "simple" way may be to just have the EHR add a orgID=xyz parameter to the launch URL. With stand-alone, I've seen apps just have the user select from a list of Orgs at login.

Philip Thompson

unread,
Jan 26, 2021, 10:33:48 PM1/26/21
to SMART on FHIR
Thanks for the reply. Yes, that discussion (and internally-referenced links) do seem to be asking the same question I have regarding "organizations." I see several items in that discussion:

1. "For Epic, each customer has their own base URL so you would know based on that." What exactly does this mean? What base URL are they referring to?

2. "For Cerner, there's more info here but basically the tenant returned during the SMART launch is your best bet." I've not done any specific test integrations with Cerner yet, but this seems straightforward.

My application is using a SMART launch. Do you know if it's fairly standard/reasonable to have the EHR add an identifying parameter, such as "orgId"? If so, that would work perfectly. I would handle the mapping on my side to know who is doing what.

Thanks,
~Philip


--
You received this message because you are subscribed to the Google Groups "SMART on FHIR" group.
To unsubscribe from this group and stop receiving emails from it, send an email to smart-on-fhi...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/smart-on-fhir/4f6b6f14-c77d-4e13-8f1e-aa7915a4be2fn%40googlegroups.com.

Luis Sayago

unread,
Jan 27, 2021, 9:58:58 AM1/27/21
to SMART on FHIR
Hi Philip,

For #1, I think what they are referring to is the FHIR endpoint. With launch you will receive it in the "ISS" parameter in the launch URI so you will have it from the very beginning.

Epic has a small snippet on orgID in their FHIR documentation under "Determine the Organization Launching your App":


I'm not sure if the orgID they are referring to is Epic specific, but I would stay away from using their ID since this will be for you to identify them on your system so just give them an ID to use instead; and that way you avoid conflicts with other vendors if your app is not Epic specific.

vzha...@gmail.com

unread,
Oct 8, 2021, 1:28:15 PM10/8/21
to SMART on FHIR
What is the solution for Cerner, how can I validate the request is coming from a reliable EHR? I have not seen any documentation of org ID. Also, we are using the sample code provided by Cerner.
Reply all
Reply to author
Forward
0 new messages