Epic & Cerner Integration
Epic sandboxโ
Register your appโ
- Go to fhir.epic.com โ My Apps โ Create app
- Set redirect URI:
http://localhost:8081/callback(dev) or your production URL - Set launch URI:
http://localhost:8081/launch - 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โ
| Feature | Epic | Cerner |
|---|---|---|
| Scope format | patient/Patient.rs | patient/Patient.read |
| Token extras | patient, encounter | Same field names |
| PKCE | Required | Required |
aud parameter | Required | Required |
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โ
- Go to
code.cerner.comโ Create developer account - Register app with redirect URI and scopes using
.readformat - Wait 15 minutes for configuration to propagate
Cerner sandbox ISSโ
https://fhir-myrecord.cerner.com/r4/{tenant-id}