Skip to main content

Epic & Cerner Integration

Epic sandboxโ€‹

Register your appโ€‹

  1. Go to fhir.epic.com โ†’ My Apps โ†’ Create app
  2. Set redirect URI: http://localhost:8081/callback (dev) or your production URL
  3. Set launch URI: http://localhost:8081/launch
  4. Copy the non-production client ID

Configureโ€‹

# .env
EPIC_CLIENT_ID=your-non-production-client-id

Testโ€‹

Use Epic's SMART launcher at https://fhir.epic.com/interconnect-amrs-fhir/oauth2/authorize with iss=https://fhir.epic.com/interconnect-amrs-fhir/api/FHIR/R4.

Cerner / Oracle Healthโ€‹

Known differences from Epicโ€‹

FeatureEpicCerner
Scope formatpatient/Patient.rspatient/Patient.read
Token extraspatient, encounterSame field names
PKCERequiredRequired
aud parameterRequiredRequired

Scope normalisationโ€‹

The platform normalises both formats โ€” .read is accepted alongside .rs. SmartScopeAuthorizationInterceptor.normaliseOps() maps:

  • .read โ†’ rs
  • .write โ†’ cud

Register on Oracle Health code Consoleโ€‹

  1. Go to code.cerner.com โ†’ Create developer account
  2. Register app with redirect URI and scopes using .read format
  3. Wait 15 minutes for configuration to propagate

Cerner sandbox ISSโ€‹

https://fhir-myrecord.cerner.com/r4/{tenant-id}