FHIR Chat · SMART App Launch Request by using async request pattern · smart

Stream: smart

Topic: SMART App Launch Request by using async request pattern


view this post on Zulip B Stibbe (Nov 26 2020 at 16:26):

Hello,

Is there an "Launch" Request available as a asynchronous request pattern, like the "Kick Off Request", so we can launch a SMART app via a FHIR RESTfull API, with a FHIR Task resource as input parameter.

The advantage of this is, is that a front-end, which is already authorized and possibly has a JWT (access token), does not need to have knowledge of "SMART on FHIR" and that all parties, except for a FHIR (Launch) RESTful server, launch interventions by a FHIR RESTful API.

view this post on Zulip Robert Smayda (Nov 27 2020 at 20:26):

Just to add on to this you could add the launch context to the access_token itself. i.e. the decoded access token could look like (where patient and encounter provide context to the resource server):

{
  "patient": "fc200fa2-12c9-4276-ba4a-e0601d424e55",
  "encounter": "800321",
  "token_type": "bearer",
  "scope": "patient/*.* user/*.* launch openid fhirUser profile offline_access",
  "client_id": "whatever",
  "expires_in": 3600,
  "fhirUser": "Patient/1234",
  "iat": 1606503609,
  "exp": 1606507209
}

view this post on Zulip Isaac Vetter (Nov 30 2020 at 18:20):

Hey B, I don't entirely understand your use-case. Would the "already authorized front-end" ignore the iss and launch parameters? Are you looking for context synchronization, a la FHIRcast?

At any rate, there isn't a proven pattern using Task, but here's an approach being experimented with: SMART app launch using Task Workflow. Also CDS Hooks may also do what you're asking: https://cds-hooks.org/.

view this post on Zulip B Stibbe (Dec 01 2020 at 11:04):

Hello @Isaac Vetter

The use-case is that we like to use a FHIR RESTful service that overlays underlying (standard) technologies, like SMART on FHIR, and provide an extra layer by encapsulating the apps by means of a (launching) service provider (as infrastructural facility).

The (launching) service provider has the knowledge (registered info) of the apps: such as location, name, device, type, etc. and minimizes the dependencies between front- and back-end.

Bernard
Components.jpg


Last updated: Apr 12 2022 at 19:14 UTC