...
Om de bruikbaarheid van de response af te wegen tegen de juiste hoeveelheid (detail) informatie te openbaren aan de client, moeten we dit met een bepaald beleid doordacht doorvoeren.
Typische methoden status codes die veel gebruikt worden , binnen FHIR zijn:
...
Bestaat de FHIR Resource?
...
Kan autorisatie bepaalt worden?
...
Bij alle beschermde HTTP requests:
Geautoriseerd? | Geauthentiseerd? | HTTP Statuscode | |||
---|---|---|---|---|---|
√ | √ | √ | 20x (200 OK) | ||
√ | √ | x | x | 401 Unauthorized | √|
x | ?√ | 403 Forbidden | |||
x | √ | √ | 404 Not Found | ||
x | √ | x | 403 Forbidden | x | x | ? | 403 Forbidden
Daarna is de status code afhankelijk van de HTTP method:
Actie | Beschrijving | Resource state | HTTP Statuscode |
---|---|---|---|
GET /Resource | Read all van type <Resource> | Nul of meer resources bestaan | 200 OK |
GET /Resource/<id> | Read van één resource | Resource bestaat | 200 OK |
GET /Resource/<id> | Read van één resource | Resource bestaat NIET | 404 Not Found |
GET /Resource/<id> | Read van één resource | Resource is soft-deleted | 410 Gone |
POST /Resource | Aanmaken van een resource | Resource is valide | 201 Created |
POST /Resource | Aanmaken van een resource | Resource is NIET valide | 422 Unprocessable Entity |
PUT /Resource/<id> | Updaten van een resource | Resource is valide, bestaat en If-Match header bevat de laatste versie | 200 OK |
PUT /Resource/<id> | Updaten van een resource | Resource is NIET valide | 422 Unprocessable Entity |
PUT /Resource/<id> | Updaten van een resource | Resource bestaat NIET | 404 Not Found |
PUT /Resource/<id> | Updaten van een resource | Resource is valide, bestaat en If-Match header bevat NIET de laatste versie | 412 Precondition Failed |
DELETE /Resource | Deleten van een resource | Resource bestaat | 204 No Content |
DELETE /Resource | Deleten van een resource | Resource bestaat NIET | 404 Not Found |
Het idee van bovenstaande regels is dat eerst wordt bepaald of de aanroeper (principal) gerechtigd (geautoriseerd) is voor een (FHIR) resource.
...