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
- Production
- Preview
curl -X GET https://fhir.netsmartcloud.com/uscore/v1/bulk-data/metadata \
-H "Accept: application/fhir+json"
curl -X GET https://fhirtest.netsmartcloud.com/uscore/v1/bulk-data/metadata \
-H "Accept: application/fhir+json"
Response Example
{
"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 formatapplication/fhir+xml- FHIR XML formatjson- JSON formatxml- 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