FHIR:V1.0 FHIR Error handling examples: verschil tussen versies

Uit informatiestandaarden
Naar navigatie springen Naar zoeken springen
k (Remove MedMij issuebox)
(MM-1882: Add a "not authorized" example)
Regel 6: Regel 6:
  
 
==All interactions==
 
==All interactions==
 +
===Not authorized===
 +
{| class="wikitable"
 +
|-
 +
| '''Scenario'''
 +
| Not authorized.
 +
|-
 +
| '''Request'''
 +
| <pre> GET [base]/Practitioner/86475712701</pre>
 +
|-
 +
| '''Response'''
 +
|
 +
* HTTP 401 Unauthorized
 +
* OperationOutcome with {{fhir|OperationOutcome.code}} set to {{term|security}} or if applicable a more specific child code.
 +
|}
 +
{{Collapse top|XML contents - response}}
 +
<syntaxhighlight lang="xml">
 +
<OperationOutcome xmlns="http://hl7.org/fhir">
 +
    <id value="01464674-b4b6-11eb-8529-0242ac130003" />
 +
    <text>
 +
    ...
 +
    </text>
 +
    <issue>
 +
        <severity value="error"/>
 +
        <code value="security"/>
 +
        <details>
 +
            <text value="Not authorized to access this resource"/>
 +
        </details>
 +
    </issue>
 +
</OperationOutcome>
 +
</syntaxhighlight>
 +
{{Collapse bottom}}
 
===Invalid authorization===
 
===Invalid authorization===
 
{| class="wikitable"  
 
{| class="wikitable"  

Versie van 25 mei 2021 09:29


1 Error handling examples

This page provides guidance on how a server could handle errors. Examples are provided in XML format but could have been in JSON format as well. Please note: these examples are not considered to be part of the normative content of the implementation guide.

1.1 All interactions

1.1.1 Not authorized

Scenario Not authorized.
Request
 GET [base]/Practitioner/86475712701
Response
  • HTTP 401 Unauthorized
  • OperationOutcome with OperationOutcome.code set to security or if applicable a more specific child code.

1.1.2 Invalid authorization

Scenario Invalid authorization.
Request
 GET [base]/Patient/20118482245
Response
  • HTTP 403 Forbidden
  • OperationOutcome with OperationOutcome.code set to security or if applicable a more specific child code.

1.1.3 Resource is not supported

Scenario The Resource is not supported by the resource server.
Request
GET [base]/Questionnaire
Response
  • HTTP 404 Not Found
  • OperationOutcome with OperationOutcome.code set to not-supported

1.2 Search

1.2.1 Unkown or unsupported search parameter value

Scenario

Unknown or unsupported search parameter value. In this example scenario, the Consent endpoint is supported. Although a system has implemented support for the HCIM TreatmentDirective (category=http://snomed.info/sct|11291000146105) it has not implemented the HCIM AdvanceDirective (category=http://snomed.info/sct|11341000146107).

Request
GET [base]/Consent?category=http://snomed.info/sct|11341000146107
Response
  • HTTP 200 OK
  • Empty Bundle of .type searchset
  • OperationOutcome in Bundle as an entry marked with Bundle.entry.search.mode of outcome
  • OperationOutcome with OperationOutcome.code set to not-found and OperationOutcome.severity not set to fatal or error

1.2.2 Syntactically incorrect parameter

Scenario Syntactically incorrect parameter in the search request.
Request
 GET [base]/Procedure?patient:john
Response * HTTP Status code 404 Not Found
* OperationOutcome

1.3 Read

1.3.1 Request on an unknown id

Scenario The id is not known by the server
Request
GET [base]/Patient/wrong-id
Response * HTTP Status code 404 Not Found
* OperationOutcome

1.4 Create/Update

1.4.1 No or incorrect Resource id

Scenario Update an existing Patient resource, using a wrong id in the Resource.
Request
 PUT [base]/Patient/34235234
Response
  • HTTP 400 Bad Request

OperationOutcome with OperationOutcome.code set to invalid

1.4.2 Resource syntax or data is incorrect or invalid

Scenario Resource syntax or data is incorrect or invalid.
Request
 POST [base]/Patient
Response
  • HTTP 400 Bad Request or HTTP 422 Uprocessable Entity
  • OperationOutcome with OperationOutcome.code set to invalid or a more specific child code.