Search

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=, application/json+fhir;q=
User-Agent HAPI-FHIR/ (FHIR Client; FHIR /DSTU; apache)
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 (does not have to be resolvable, only required for POST requests)

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= application/json+fhir;q=
User-Agent HAPI-FHIR/ (FHIR Client; FHIR /DSTU; apache);
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.