Enhance happy/unhappy flow documentation

Description

Uit diverse hoeken komt terug dat we te weinig beschrijven, en meestal vooral generiek verwijzen naar de FHIR standaard, als het gaat om te hanteren http statuscodes en te verwachten OperationOutcome.

De vraag van onder andere ZorgDoc en VZVZ is om hier meer helderheid in te scheppen en bijvoorbeeld veel voorkomende situatie te beschrijven in de FHIR IG:

  • Endpoint is bekend maar wordt niet ondersteund binnen de context van de gegevensdienst. Bijvoorbeeld wilsverklaringen in BgZ

  • Backend van DVZA/FHIR server niet bereikbaar

Doel moet zijn om meer voorspelbaarheid te krijgen voor DVP/PGO die op zijn beurt daarmee patiënten van meer helderheid en betere workflow kan voorzien.

Verduidelijking van Impact

Geen impact voor huidige impelmentatie. Dit issue verandert geen specificaties en voegt niets extras toe. Daarentegen zou dit issue voor meer duidelijkheid moeten zorgen door duplicatie van informatie te voorkomen, duidelijkere consistentie tussen de standaarden te waarborgen en het toevoegen van meer context voor gebruik binnen de standaarden.

Proposed solution (NL)

Opnemen van een paragraaf tekst in de FHIR IG over de principes bij goed/fout situaties. Veel hiervan kan rechtstreeks uit de FHIR Core standaard worden geput. Hier verwijzen we nu al naar.

In de individuele informatiestandaarden waar nu in een aantal gevallen al enige tekst staat kan vervolgens worden volstaan met een verwijzing naar de generieke pagina tenzij er nog iets specifieks te melden valt.

Proposed solution (EN)

None

Release notes (NL)

All information standards contained sections about error handling without added value to the FHIR specification. This has been replaced with a reference to the Overarching Principles on the main FHIR IG page. The given information here has been deduplicated from the FHIR specification. Examples are given to provide added value by putting error handling in perspective to the use in the information standards. 

Release notes (EN)

None

Attachments

1

Activity

Show:

Vincent Goris June 26, 2020 at 1:08 PM

Dit lijstje bestaat al, nu te vinden op verschillende TO's (niet alle) en zou wat mij betreft beter naar de overkoepelende pagina kunnen om duplicatie te verminderen:

 

4.2.2 Handling errors[bewerken]

If the search fails (cannot be executed, not that there are no matches), the return value is a status code 4xx or 5xx with an OperationOutcome. An HTTP status code of 403 signifies that the server refused to perform the search, while other 4xx and 5xx codes signify that some sort of error has occurred. The HTTP status code 404 is returned if a XIS did not implement an endpoint used in a request by a PHR. When the search fails, a server SHOULD return an OperationOutcome detailing the cause of the failure. For example, in case of a not implemented FHIR endpoint, the OperationOutcome would state that the resource type is not supported. Note: an empty search result is not a failure.

Common HTTP Status codes returned on FHIR-related errors (in addition to normal HTTP errors related to security, header and content type negotiation issues):

  • 400 Bad Request - search could not be processed or failed basic FHIR validation rules

  • 401 Not Authorized - authorization is required for the interaction that was attempted

  • 404 Not Found - resource type not supported, or not a FHIR end-point

In some cases, parameters may cause an error. For instance:

  • A parameter may refer to a non-existent resource e.g. GET [base]/Observation?subject=101, where "101" does not exist

  • A parameter may refer to an unknown code e.g. GET [base]/Observation?code=loinc|1234-1, where the LOINC code "1234-1" is not known to the server

  • A parameter may refer to a time that is out of scope e.g. GET [base]/Condition?onset=le1995, where the system only has data going back to 2001

  • A parameter may use an illegal or unacceptable modifier e.g. GET [base]/Condition?onset:text=1995, where the modifier cannot be processed by the server

  • A date/time parameter may have incorrect format e.g. GET [base]/Condition?onset=23%20May%202009

  • A parameter may be unknown or unsupported

Where the content of the parameter is syntactically incorrect, servers SHOULD return an error. However, where the issue is a logical condition (e.g. unknown subject or code), the server SHOULD process the search, including processing the parameter - with the result of returning an empty search set, since the parameter cannot be satisfied.

In such cases, the search process MAY include an OperationOutcome in the search set that contains additional hints and warnings about the search process. This is included in the search results as an entry with search mode = outcome. Clients can use this information to improve future searches.

Link to relevant FHIR specification: http://hl7.org/fhir/STU3/search.html#errors

Ardon Toonstra May 14, 2020 at 3:12 PM
Edited

De tekst op de hoofdpagina zou sterk kunnen aanmoedigen op correct gebruik van foutcodes én juiste manier van de OperationOutcome. Goed gebruik hiervan zal voor zowel DVP als DVZA ten goede komen. Hierbij kan gedacht worden aan het gebruik van een juiste .location.

Verdere aanvullingen vanuit VZVZ:

Daarnaast misschien ook handig om op een generieke pagina, consistent over alle gegevensdiensten heen, aan te geven wat een resource server moet doen in geval:

  • een FHIR resource niet behoort tot de gegevensdienst of niet wordt ondersteund (OperationOutcome met foutcode "not supported").

  • een FHIR zoekparameter niet is gespecificeerd binnen de gegevensdienst of niet wordt ondersteund (OperationOutcome met foutcode "not supported”).

  • een verplichte FHIR zoekparameter ontbreekt (OperationOutcome met de foutcode "required").

  • een FHIR zoekparameter een ongeldige waarde heeft (OperationOutcome met foutcode "value").

  • gewenst gedrag bij niet ondersteuning van een zoekparameter

 __ 

Alexander Henket May 8, 2020 at 1:33 PM

De aanzet voor meer inhoud bij dit issue wordt via meetings die door VZVZ worden georganiseerd, vergaard.

Resolved
Pinned fields
Click on the next to a field label to start pinning.

Details

Assignee

Reporter

Classification

Informatiestandaard onderdelen

Technisch ontwerp

Information standard

Alle

Priority

Better Excel Exporter

Created May 8, 2020 at 1:31 PM
Updated January 12, 2024 at 12:52 PM
Resolved August 11, 2020 at 2:09 PM