DDFS FHIR API Documentation Reference
Reference information about DDFS FHIR API endpoints, OAuth scope forms, and custom operations.
Public FHIR Surface
- FHIR resources are exposed under
/api/fhir/r4and/api/fhir/r6-ballot4, depending on the supported resource family. - The FHIR
metadatainteraction remains the public discovery surface for capability information. - DDFS does not expose SMART authorization endpoints, including
/smart/authorize,/smart/token, or/api/fhir/{r4,r6-ballot4}/.well-known/smart-configuration. - Subscriptions and SubscriptionTopics are available for FHIR R6.
- Custom administrative purge behavior is exposed through FHIR custom operations, not standard FHIR delete semantics.
OAuth Scope Forms
| Context | Scope form |
|---|---|
| Resource-server definition | system/... |
| Client grant/token request | ddfssystem/... |
Issued token's scope claim |
system/... |
- DDFS uses OCI Identity Domains for OAuth access token issuance and JWT/JWKS checks.
- The supported authorization model uses OAuth 2.0 scopes issued by OCI Identity Domains.
- Supported FHIR resource grants are defined on the DDFS resource server without the client-facing
ddfsprefix, such assystem/Device.rs. - Client application grants and token requests use the fixed
ddfs-prefixed form, such asddfssystem/Device.rs. The issued token contains the corresponding canonical scope, such assystem/Device.rs. - Token validation checks the access token's
audclaim independently of FHIR resource scopes. - DDFS does not support SMART launch context, SMART patient context,
patient/...scopes, oruser/...scopes for FHIR resource authorization.
Custom Administrative Operations
DDFS exposes custom operations for permanently removing deleted resources:
POST /api/fhir/{r4|r6-ballot4}/{Resource}/{id}/$hardDelete
POST /api/fhir/{r4|r6-ballot4}/{Resource}/$purgeDeleted
- Standard FHIR delete logically deletes a resource.
$hardDeletepermanently removes one deleted resource, and$purgeDeletedpermanently removes eligible deleted resources of a requested type.- For
$purgeDeleted, sendbeforeand optionallimitin a FHIRParametersrequest body usingvalueDateTimeandvalueInteger. - Both operations require the canonical DDFS hard-delete scope and a matching resource delete scope for the target resource.
- Example client grant/token-request scopes:
ddfssystem/Patient.dandddfshttps://docs.oracle.com/iaas/device-data-fhir/scopes/hard-delete. The issued token containssystem/Patient.dandhttps://docs.oracle.com/iaas/device-data-fhir/scopes/hard-delete.