Skip to main content

CapabilityStatement

Overview​

The CapabilityStatement documents "a set of capabilities (behaviors) of a FHIR Server for a particular version of FHIR that may be used as a statement of actual server functionality or a statement of required or desired server implementation".

This resource serves as the single source of truth for API capabilities. Always retrieve the current CapabilityStatement before implementing against this API.

Resource Schema​

Key fields in the CapabilityStatement response:

{
"resourceType": "CapabilityStatement",
"status": "active",
"date": "2024-01-15T10:30:00Z",
"publisher": "Netsmart Technologies, Inc.",
"software": {
"name": "Netsmart CareConnect",
"version": "v1.0.0"
},
"format": ["application/fhir+json", "application/fhir+xml"],
"rest": [{
"mode": "server",
"resource": [
{
"type": "Group",
"operation": [{
"name": "export",
"definition": "http://hl7.org/fhir/uv/bulkdata/OperationDefinition/group-export"
}]
}
]
}]
}

Operations​

Read​

Retrieves the current capabilities of the FHIR server. No authorization required.

Endpoint: GET /metadata

Examples​

Retrieve CapabilityStatement
curl -X GET https://fhir.netsmartcloud.com/uscore/v1/bulk-data/metadata \
-H "Accept: application/fhir+json"

Response Example​

CapabilityStatement Response
{
"resourceType": "CapabilityStatement",
"id": "bulk-data-server",
"status": "active",
"date": "2024-01-15T10:30:00Z",
"publisher": "Netsmart Technologies, Inc.",
"software": {
"name": "Netsmart CareConnect Bulk Data API",
"version": "1.0.0"
},
"fhirVersion": "4.0.1",
"format": [
"application/fhir+json",
"application/fhir+xml",
"json",
"xml"
],
"rest": [{
"mode": "server",
"security": {
"extension": [{
"url": "http://fhir-registry.smarthealthit.org/StructureDefinition/oauth-uris",
"extension": [{
"url": "token",
"valueUri": "https://oauth.netsmartcloud.com/token"
}]
}],
"service": [{
"coding": [{
"system": "http://terminology.hl7.org/CodeSystem/restful-security-service",
"code": "SMART-on-FHIR"
}]
}]
},
"resource": [
{
"type": "Group",
"interaction": [{"code": "read"}],
"operation": [{
"name": "export",
"definition": "http://hl7.org/fhir/uv/bulkdata/OperationDefinition/group-export"
}]
},
{
"type": "Binary",
"interaction": [{"code": "read"}],
"operation": [{
"name": "binary-access-read"
}]
}
],
"operation": [{
"name": "export-poll-status",
"definition": "http://hl7.org/fhir/uv/bulkdata/OperationDefinition/export-poll-status"
}]
}]
}

Integration Patterns​

Capability Discovery Workflow​

# Step 1: Retrieve CapabilityStatement
GET /metadata

# Step 2: Parse supported resources and operations
# Extract from rest.resource array

# Step 3: Validate required operations are available
# Check for $export, $export-poll-status, $binary-access-read

# Step 4: Proceed with bulk data workflow

Supported Formats​

Extract supported formats from the format array in CapabilityStatement:

  • application/fhir+json - FHIR JSON format
  • application/fhir+xml - FHIR XML format
  • json - JSON format
  • xml - XML format

Supported Profiles​

Note: Supported profiles are extracted from the actual CapabilityStatement response. The following profiles are typically supported:

Always verify current profiles by checking the supportedProfile arrays in the CapabilityStatement response.

Error Handling​

For common error scenarios and troubleshooting guidance, see Common Errors.

Relationships to Other Resources​

  • Group: CapabilityStatement documents Group export capabilities
  • Binary: CapabilityStatement documents Binary access operations
  • Operations: CapabilityStatement lists all supported extended operations