HTTP specifications
HTTP requests originating from ZorgDomein will always include a certain set of HTTP request headers. ZorgDomein will expect a set of HTTP response headers in return to each request. This applies to both GET
, POST
and PUT
requests. The exact set of request and response headers in each case is defined below.
Besides the specifications listed below, ZorgDomein will follow the specification of the RESTful FHIR API as described on hl7.org/fhir/STU3/http.html.
POST/PUT requests from ZorgDomein
ZorgDomein will perform POST requests for Bundle resources to send HL7 FHIR documents to a receiving XIS. These requests will always be performed on the /Bundle
endpoint, for example https://domain/path/Bundle. Addtionally, ZorgDomein may perform PUT requests to update Task resources at a sending XIS.
HTTP request headers
The table below displays the HTTP headers that are to be expected in HTTP POST or PUT requests that originate from ZorgDomein.
Header | Value |
---|---|
Accept-Charset | utf-8 |
Authorization | Bearer |
Accept | application/fhir+json;q= |
User-Agent | HAPI-FHIR/ |
Prefer | return=minimal |
Accept-Encoding | gzip |
Content-Type | application/fhir+json; charset=UTF-8 |
Example
Accept-Charset: utf-8;
Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.
eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiYWRtaW4iOnRydWV9.
TJVA95OrM7E2cBab30RMHrHDcEfxjoYZgeFONFh7HgQ;
Accept: application/fhir+json;q=1.0, application/json+fhir;q=0.9;
User-Agent: HAPI-FHIR/3.2.0 (FHIR Client; FHIR 3.0.1/DSTU3; apache);
Prefer: return=minimal;
Accept-Encoding: gzip;
Content-Type: application/fhir+json; charset=UTF-8
Required response headers
The table below describes the minimum set of HTTP headers that ZorgDomein expects in a reponse to an HTTP POST or PUT request.
Header | Value |
---|---|
Content-Type | application/fhir+json;charset=utf-8 |
Location |
Example:
date: Tue, 22 May 2018 08:21:34 GMT;
last-modified: Tue, 22 May 2018 08:21:34 GMT;
content-type: application/fhir+json;charset=utf-8;
etag: W/"1";
location: https://tio.zorgdomein.nl/fhir-test-server/baseDstu3/Bundle/
1226/\_history/1;
Response status codes and body
Upon succesful reception of the Bundle ZorgDomein expects an HTTP 201
status code in the response for POST requests and a HTTP 200
for PUT requests. When reception or processing of the Bundle failed ZorgDomein expects an HTTP 4xx
or HTTP5xx
status code. To determine the right status code and response body in case of errors please follow the specifications as described on hl7.org/fhir/STU3/http.html. When the XIS receives an HL7 FHIR Document that contains an unprocessable document type it must return an HTTP 422
status code. Potential error messages explaining a failure should be communicated to ZorgDomein using an OperationOutcome resource in the body of the response, otherwise the response can remain blank.
GET requests from ZorgDomein
ZorgDomein will ony perform HTTP GET requests on the endpoints that correspond to the resources that we’re interested in (see HL7 FHIR resources), for example http://domain/path/Patient/6
.
HTTP request headers
The table below displays the HTTP headers that are to be expected in HTTP GET requests that originate from ZorgDomein.
Header | Value |
---|---|
Accept-Charset | utf-8 |
Authorization | Bearer |
Accept | application/fhir+json;q= |
User-Agent | HAPI-FHIR/ |
Accept-Encoding | gzip |
Example
Accept-Charset: utf-8;
Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.
eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiYWRtaW4iOnRydWV9.
TJVA95OrM7E2cBab30RMHrHDcEfxjoYZgeFONFh7HgQ;
Accept: application/fhir+json;q=1.0, application/json+fhir;q=0.9;
User-Agent: HAPI-FHIR/3.2.0 (FHIR Client; FHIR 3.0.1/DSTU3; apache);
Accept-Encoding: gzip
Required response headers
The table below describes the minimum set of HTTP headers that ZorgDomein expects in a reponse to an HTTP GET request.
Header | Value |
---|---|
Content-Type | application/fhir+json;charset=utf-8 |
Example
content-length: 2069;
content-type: application/fhir+json;charset=utf-8;
Response status codes and body
When the XIS can successfully respond to an HTTP GET request from ZorgDomein, it must respond with an HTTP 200
status code. When a XIS fails to answer the HTTP GET request, ZorgDomein expects an HTTP 4xx
or HTTP5xx
status code in return. To determine the right status code and response body in case of errors please follow the specifications as described on hl7.org/fhir/STU3/http.html. Potential error messages explaining a failure should be communicated to ZorgDomein using an OperationOutcome resource in the body of the response.
GET requests from a XIS (SSO)
The Single sign-on GET request originating from a XIS in order to log in to ZorgDomein does not require specific HTTP request headers.
Questions or comments?
Leave your details below, we will contact you asap.