FHIR Capability Statements

Use the live FHIR metadata endpoints and the published ddfs-r4.json and ddfs-r6.json files to review supported resources, interactions, operations, formats, and search parameters.

What is a Capability Statement?

A FHIR CapabilityStatement describes the functionality of a FHIR server, including:

  • Supported resources, such as Patient and Observation.
  • Supported interactions, such as create, read, vread, update, delete, and search-type.
  • Supported operations, formats, and resource search parameters.

For the standard definitions, see CapabilityStatement (FHIR R4) and CapabilityStatement (FHIR R6).

Published Capability Statement Files

The following JSON files are the static capability statements for the documented release:

Each file contains a server-mode rest element with a resource list that declares the supported interactions, operations, and search parameters for that FHIR version.

Static Files and Live Server Capabilities

Use the published JSON files as stable artifacts for the documented release. Use the live metadata endpoint to confirm the capabilities of a deployed server, because supported behavior can vary by release or environment.

GET /api/fhir/r4/metadata
GET /api/fhir/r6-ballot4/metadata

Compare the live response with the published JSON file for the same FHIR version when validating a deployment or investigating an integration issue.

Published Capabilities

The current published R4 and R6 files declare:

  • application/fhir+json and application/json formats.
  • create, read, vread, update, delete, and search-type interactions for each listed resource.
  • $hardDelete and $purgeDeleted operations for each listed resource.
  • The $status operation for the R6 Subscription resource.
  • Sixteen R4 resource types and eleven R6 resource types.

For each listed resource, the current files advertise _count, _total, _id, _lastUpdated, _profile, and _tag. The files do not advertise _page. Use only the controls listed for the target resource and version.

The current resource-specific search contract includes these notable details:

  • R4 and R6 Encounter advertise the DDFS discharge-disposition token parameter.
  • R4 Location advertises identifier, status, and partof. R6 Location also advertises form.
  • R4 Provenance uses the published DDFS activity token definition.
  • PractitionerRole advertises the practitioner reference parameter. Its published SearchParameter definition supports the :identifier modifier and the .identifier and .name chains; separate dotted metadata entries are not advertised.
  • R4 Group does not advertise characteristic, characteristic-value, exclude, or value.

The $purgeDeleted operation accepts before and optional limit inputs in a FHIR Parameters POST body. It does not advertise those inputs as query parameters.

Consult the JSON file or live metadata response for the complete resource and search-parameter lists. Do not assume that an R4 capability is also available in R6, or that an R6 capability is available in R4.

Use a Capability Statement

Use a capability statement to:

  • Confirm that a resource, interaction, operation, format, or search parameter is supported before calling it.
  • Configure client tooling or review a release artifact offline.
  • Compare documented capabilities with a live deployment.

The following JavaScript example loads the published R6 file and lists the declared interactions and operations:

fetch('CapabilityStatement/ddfs-r6.json')
  .then(response => response.json())
  .then(capabilityStatement => {
    for (const resource of capabilityStatement.rest?.[0]?.resource ?? []) {
      const interactions = (resource.interaction ?? []).map(item => item.code);
      const operations = (resource.operation ?? []).map(item => item.name);
      console.log(resource.type, interactions, operations);
    }
  });

R4 and R6 Differences

The supported resource sets differ by FHIR version. The published R6 capability statement includes DeviceAssociation, Subscription, and SubscriptionTopic, and supports the $status operation for Subscription where applicable. SubscriptionStatus is returned by status operations but is not listed as an ordinary CRUD resource. The published R4 capability statement includes resources that are not listed in the R6 file.

FHIR Contract Details

This section summarizes the static release artifacts. Use the surrounding guidance and the matching live /metadata response to validate a deployed service.

Release artifact summary

FHIR surface Definition FHIR version Status Capability kind Resources Formats
R4 ddfs-r4.json 4.0.1 active instance 16 application/fhir+json, application/json
R6 ballot4 ddfs-r6.json 6.0.0-ballot4 active instance 11 application/fhir+json, application/json

Advertised behavior

Search uses count each resource-and-parameter declaration. A dash means the CapabilityStatement advertises no value for that field.

FHIR surface Interactions Operations Search uses Includes Reverse includes
R4 create, delete, read, search-type, update, vread $hardDelete, $purgeDeleted 174 PractitionerRole:endpoint, PractitionerRole:practitioner Provenance:target
R6 ballot4 create, delete, read, search-type, update, vread $hardDelete, $purgeDeleted, $status 120 Provenance:target

Artifact publication details

FHIR surface FHIR ID Definition name Title Experimental Published Publisher
R4 ddfs-r4 DDFSFhirR4CapabilityStatement DDFS FHIR R4 Server Capability Statement No 2026-06-01T00:00:00Z Oracle
R6 ballot4 ddfs-r6 DDFSFhirR6CapabilityStatement DDFS FHIR R6 Ballot 4 Server Capability Statement No 2026-08-06T00:00:00Z Oracle

Deployment declarations

FHIR surface Software Capability description Service description REST role
R4 DDFS FHIR Server DDFS FHIR R4 API server
R6 ballot4 DDFS FHIR Server Capabilities of the DDFS server implementing HL7 FHIR 6.0.0-ballot4 at the /api/fhir/r6-ballot4 base path. DDFS FHIR R6 Ballot 4 (6.0.0-ballot4) API at /api/fhir/r6-ballot4 server

The static artifacts do not declare an implementation.url. Obtain the service base URL from the DDFS instance and confirm the deployed contract through its metadata endpoint.

Authentication and authorization declarations

These declarations are published in each CapabilityStatement. See the authentication reference for configuration examples.

FHIR surface Security declaration
R4 FHIR endpoints require Bearer JWT authentication unless explicitly anonymous. DDFS evaluates canonical FHIR resource scopes in the access token, such as system/Patient.rs, and supports wildcard grants such as system/*.rs. In OCI Identity Domains, define resource-server scopes in the canonical system/... form; clients request the corresponding DDFS-prefixed form, such as ddfssystem/Patient.rs. Identity Domains emits the unprefixed canonical scope in the access token. Hard-delete operations require both matching system/{Resource}.d delete authority and the exact custom scope https://docs.oracle.com/iaas/device-data-fhir/scopes/hard-delete. This server does not advertise authorization, token, launch context, or well-known discovery endpoints in this CapabilityStatement.
R6 ballot4 FHIR endpoints require Bearer JWT authentication unless explicitly anonymous. DDFS evaluates canonical FHIR resource scopes in the access token, such as system/Patient.rs, and supports wildcard grants such as system/*.rs. In OCI Identity Domains, define resource-server scopes in the canonical system/... form; clients request the corresponding DDFS-prefixed form, such as ddfssystem/Patient.rs. Identity Domains emits the unprefixed canonical scope in the access token. Hard-delete operations require both matching system/{Resource}.d delete authority and the exact custom scope https://docs.oracle.com/iaas/device-data-fhir/scopes/hard-delete. This server does not advertise authorization, token, launch context, or well-known discovery endpoints in this CapabilityStatement.

R6 ballot version

The R6 contract is version-locked to 6.0.0-ballot4. Treat it as ballot content and recheck the exact version and capability statement when upgrading a client or service.