Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.


Expand
titleVersiegeschiedenis


VersieDatumStatusWijzigingen
0.1.2

conceptImplementationGuide toegevoegd
0.1.1

 

conceptOnderdeel encoding toegevoegd
0.1.0

 

concept


Beschrijving

Om Resources binnen domeinen uit te wisselen maakt Koppeltaal gebruik van een FHIR resource service. Dit document beschrijft welke interacties er ondersteund worden.

...

De FHIR resource service beschrijft de functionele mogelijkheden in de CapabilityStatement. Zie /wiki/spaces/K2/pages/17531608 en https://www.hl7.org/fhir/r4/capabilitystatement.html voor meer informatie.

ImplementationGuide

De ImplementationGuide beschrijft de versie, release datum e.d. van de Koppeltaal Profielen. Zie ook Koppeltaal ImplementationGuide voor meer Informatie. 

FHIR RESTful API

De FHIR RESTful API biedt een groot scala aan functionaliteiten. De specificatie bevat ook optionele functionaliteiten. Binnen Koppeltaal is gekozen wat wel en niet ondersteund wordt:

...

Instance Level Interactions


OndersteundRemark
readRead the current state of the resource
conditional readRead the current state of the resource if modified since of matches ETag
vreadRead the state of a specific version of the resource
updateUpdate an existing resource by its id (or create it if it is new)If-Match header verplicht
conditional updateAllows a client to update an existing resource based on some identification criteriaTrial use fase
patchUpdate an existing resource by posting a set of changes to itWordt mogelijk in een toekomstige versie toegevoegd
conditional patchAllows a client to patch an existing resource based on some identification criteria
deleteDelete a resourceBij voorkeur gebruik maken van een end-of-life status i.p.v. een delete
conditional deleteAllows a client to delete an existing resource based on some selection criteriaTrial use fase
historyRetrieve the change history for a particular resource
Type Level Interactions
OndersteundRemark
createCreate a new resource with a server assigned id
conditional createAllows a client to create a new resource only if some equivalent resource does not already exist on the server.Trial use fase
searchSearch the resource type based on some filter criteriaZie ondersteunde search result parameters
search pagingSupport paging for the results of a search or history interaction
historyRetrieve the change history for a particular resource type
Whole System Interactions
OndersteundRemark
capabilitiesGet a capability statement for the system
batch/transactionUpdate, create or delete a set of resources in a single interaction (FHIR Bundle)
historyRetrieve the change history for all resources
searchSearch across all resource types based on some filter criteria


Anchor
connection type
connection type
ConnectionType

Aangezien we met een FHIR RESTFull API te maken hebben is de waarde van Endpoint.connectionType gefixed op hl7-fhir-rest. 

Anchor
mime_types
mime_types
Mime-Type

...

Voor zowel application/fhir+xml  en application/fhir+json gaat FHIR er van uit dat de encoding utf-8 is, de encoding mag dus op verschillende plekken worden meegegeven, in dat geval MOET ZOU de encoding utf-8  zijn zijn. Indien er een andere encoding wordt meegegeven MAG de FHIR resource service een a) foutmelding geven in het 4xx segment of b) de encoding accepteren en de inhoud naar utf-8 converteren.

...

De FHIR resource service MOET de FHIR resources aanbieden in utf-8  encoding, zowel voor application/fhir+json  als application/fhir+xml, ook als dezelfde resource origineel in een andere encoding is aangeboden

Character escapes

Van tekst in zowel XML als JSON dienen bepaalde tekens specifiek geëncodeerd te worden. Het staat de FHIR resource service vrij om content aangeboden in een andere encoding and utf-8 niet te accepteren.Dit heeft te maken met het specifiek formaat en is onderdeel van de specificatie van het formaat. Het wordt in Koppeltaal sterk aangeraden gebruik te maken van utf-8  als het gaat op speciale tekens (é, ö, ï) en NIET van formaat specifieke escapes (é, ö ï), XML unicode references (&#00C9 , &#00D6   &#00EF;) of JSON unicode reference (\u00C9, \u00D6, \u00EF).

Xml Syntax

De xml syntax wordt hier beschreven. Praktisch zijn de volgende escapes van toepassing:

Symbol (name)

Escape Sequence

< (less-than)

&#60; or &lt;

> (greater-than)

&#62; or  &gt;

& (ampersand)

&#38; or &amp

' (apostrophe or single quote)

&#39; or &apos

" (double-quote)

&#34; or &quot

JSON syntax

De JSON syntax wordt hier beschreven. Praktisch zijn de volgende escapes van toepassing:

Symbol (name)

Escape Sequence

Newline

\n or \u002A

Carriage return\r or \u0045
Form feed\f or \u002C
Backspace\b or \u0028

Tab

\t or \u0029

" (double-quote)

\" or \u0022

\ Backslash\\ or \u005C


Update

Koppeltaal forceert het gebruik van de If-Match header. Dit waarborgt dat een Update altijd gebaseerd is op de laatste versie. Zo wordt de kans op dataverlies geminimaliseerd. Zie https://www.hl7.org/fhir/r4/http.html#concurrency voor meer informatie.

...

Koppeltaal maakt bij voorkeur geen gebruik van een DELETE request. Wanneer data niet meer gebruikt dient te worden, dient dit opgelost te worden middels een status. Zie Levenscyclus van een FHIR Resource voor meer informatie. Een DELETE request wordt wel ondersteund, maar zal een logical-delete uitvoerenzou in normaal gebruik van Koppeltaal niet voorkomen. Om die reden krijgen de applicaties in het domein de DELETE rechten niet, de DELETE operatie blijft van toepassing in beheer en migratie scenario's.

Info
titleRecht op vergetelheid

In een aantal gevallen mag een gebruiker aan een organisatie vragen om alle (historische) gegevens, van die gebruiker, uit hun systeem te verwijderen.

Voor het fysiek verwijderen van resources hebben sommige FHIR Resource Providers een $expunge functionaliteit geïmplementeerd. Deze functie verwijdert alle versies van een resource uit de FHIR Store.

De $expunge operatie is echter GEEN STANDAARD (FHIR RESTfull) operatie, en moet apart geïmplementeerd worden voor de FHIR Store. Deze operatie mag alleen op instance-level aangeroepen worden.

...