Use case for reading a location resource.
Prerequisites
Consumer
The Consumer system:
- SHALL have previously resolved the organisation’s FHIR endpoint Base URL through the Spine Directory Service
API Use Case
This specification describes a single use cases. For complete details and background please see the Foundations Capability Bundle.
Security
- GP Connect utilises TLS Mutual Authentication for system level authorization.
- GP Connect utilises a JSON Web Tokens (JWT) to transmit clinical audit & provenance details.
API Usage
Request Operation
FHIR Relative Request
GET /Location/[id]
FHIR Absolute Request
GET https://[proxy_server]/https://[provider_server]/[fhir_base]/Location/[id]
Request Headers
Consumers SHALL include the following additional HTTP request headers:
Header | Value |
---|---|
Ssp-TraceID |
Consumer’s TraceID (i.e. GUID/UUID) |
Ssp-From |
Consumer’s ASID |
Ssp-To |
Provider’s ASID |
Ssp-InteractionID |
urn:nhs:names:services:gpconnect:fhir:rest:read:location-1 |
Payload Request Body
N/A
Error Handling
Provider systems SHALL return an GPConnect-OperationOutcome-1 resource that provides additional detail when one or more data fields are corrupt or a specific business rule/constraint is breached.
For example the:
- Logical identifier of the resource is not valid/can’t be found on the server.
Refer to Development - FHIR API Guidance - Error Handling for details of error codes.
Request Response
Response Headers
Provider systems are not expected to add any specific headers beyond that described in the HTTP and FHIR® standards.
Payload Response Body
Provider systems:
- SHALL return a
200
OK HTTP status code on successful execution of the operation. - SHALL return
Location
resources that conform to the CareConnect-GPC-Location-1 profile. - SHALL include the URI of the
CareConnect-GPC-Location-1
profile StructureDefinition in theLocation.meta.profile
element of the returnedLocation
resource. - SHALL include the
versionId
of the current version of theLocation
resource. - SHALL include all relevant business
identifier
details (i.e. ODS Site Code) for theLocation
resource.
{
"resourceType": "Location",
"id": "17",
"meta": {
"versionId": "636064088100870233",
"lastUpdated": "2016-08-10T14:27:49.778+01:00",
"profile": ["https://fhir.nhs.uk/STU3/StructureDefinition/CareConnect-GPC-Location-1"]
},
"identifier": [{
"system": "https://fhir.nhs.uk/Id/ods-site-code",
"value": "L001"
}],
"name": "Honley Highstreet",
"address": {
"line": [
"Trevelyan Square",
"Boar Ln",
"Leeds"
],
"postalCode": "LS1 6AE"
}
}
Examples
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://gpconnect.aprovider.nhs.net/GP001/STU3/1/");
client.PreferredFormat = ResourceFormat.Json;
var resource = client.Read<Location>("Location/17");
FhirSerializer.SerializeResourceToXml(resource).Dump();
Java
Tip: Java code snippets utilise James Agnew’s hapi-fhir library.
FhirContext ctx = new FhirContext().forStu3();
IGenericClient client = ctx.newRestfulGenericClient("http://gpconnect.aprovider.nhs.net/GP001/STU3/1/");
Location location = client.read().resource(Location.class).withId("17").execute();