SMART On FHIR Workflow 20211005
SMART On FHIR Workflow 20211005
SMART On FHIR Workflow 20211005
EHR App
Launcher Ocean SMART Server Server
APP
GET REQUEST https://ocean.cognisantmd.com/sso/smart/auth?
Set Patient Context & siteNum=[OceanSiteNum]&
Launch Ocean App 1 iss=https://[Base URL for FHIR Server]&
Validate issuer in
2 allow-list or
throw error
response_type=code&
5
code=[Authorization Code]&
POST RESPONSE:
9 {
id_token JWT:
“access_token” : “[Access Token]”,
{ “token_type” : “bearer”,
"jti":"[JWT ID]", “expires_in” : “3600”,
"iat":[Issue At ID],
“scope” : “patient/Patient.read”,
"exp":[Expiration Time],
“patient” : “[Patient ID]”,
"aud":"[Audience ID]",
"sub":"[Subject ID]]",
"id_token": "[User ID token]",
"iss":"https://[Base URL for FHIR Server]", "oceanSharedEncryptionKey": [oceanSharedEncryptionKey to decrypt Ocean Patient Data in Bases64]
"given_name":"GIVEN_NAME", }
"family_name":"FAMILY_NAME",
"profile":"[FHIR profile URL]",
"auth_time":[Auth Time],
"at_hash":"[Access Token Hash Value]"
}
GET RESPONSE:
11
{
"alg": "RS256",
"n": "sttddbg-_yjXzcFpbMJB1fIFam.r9smM",
Once the account is linked (and from then on in
future launches), the single sign-on is automatic.
"e": "AQAB"
}
]
}
If patient is in context:
15
GET REQUEST https://[EHR FHIR Server URL]/patient/[Patient ID] with [Access Token]
GET RESPONSE:
17
1) Patient is encrypted and
saved in Ocean
2) Redirect based on
requested action:
OR