A capability statement is a set of capabilities of a FHIR Server that may be used as a statement of actual server functionality or a statement of required or desired server implementation.
Important: This site is under active development by NHS Digital on behalf of INTEROPen and is intended to provide all the technical resources you need to successfully develop the Care Connect APIs. This project is being developed using an agile methodology so iterative updates to content will be added on a regular basis.
0. References
HL7 FHIR Resource: Capability Statement |
User Stories: - |
1. Read
GET [baseUrl]/metadata
The /metadata path on the root of the FHIR server will return the Capability statement for the FHIR server:
Alternatively, a HTTP OPTIONS request against the root of the FHIR server will also return the capability profile:
OPTIONS [baseUrl]/
For details of this interaction - see the HL7 FHIR STU3 RESTful API
All requests SHALL contain a valid ‘Authorization’ header and SHALL contain an ‘Accept’ header with at least one of the following application/json+fhir or application/xml+fhir.
2. Example
2.1 Request Query
Retrieve the Capability statement from the FHIR Server, the format of the response body will be xml. Replace ‘baseUrl’ with the actual base Url of the FHIR Server.
2.1.1. cURL
curl -X GET -H 'Accept: application/xml+fhir' -H 'Authorization: BEARER [token]' -v 'https://data.developer.nhs.uk/ccri/STU3/metadata?'
2.2 Response Body
Important: The following capability statement is provided by the Reference Implementation
Reference Implementation
XML Capability Statement RI viewer
JSON Capability Statement RI viewer
Important: The following draft conformance statement will move as the implementation guide moves on.
2.3 C#
Tip: C# code snippets utilise Ewout Kramer’s fhir-net-api library which is the official .NET API for HL7® FHIR®.
var client = new FhirClient("http://[fhir_base]/");
client.PreferredFormat = ResourceFormat.Json;
var resource = client.Conformance();
FhirSerializer.SerializeResourceToXml(resource).Dump();