Versions Compared

Key

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

...

Koppeltaal maakt gebruik van een FHIR resource service. Deze service kan middels de FHIR RESTful API specificaties benaderd worden. Applicaties in een domein (applicatie-instanties) kunnen na authenticatie [TODO: LINK] communiceren met de FHIR resource service. [TODO: LINK] Geautoriseerde applicatie-instanties kunnen vervolgens deze informatie ophalen en waar nodig (en mogelijk) bijwerken. De resources dienen op een eenduidige manier aangemaakt en uitgewisseld te worden. Zo kunnen applicaties in het domein eenduidig goed samenwerken. Ook moeten er uitbreidingen op de standaard gemaakt worden om bijvoorbeeld geautomatiseerd te voldoen aan wetgeving.

...

Om te waarborgen dat iedereen dezelfde taal spreekt, en alle benodigde informatie voor iedereen aanwezig is, vereist Koppeltaal het gebruik van profielen. Elk toegestane resource heeft een eigen profiel. Een profiel gebruikt een StructureDefinition resource als datastructuur. Deze resource beschrijft welke eigenschappen een Resource resource heeft, en bijvoorbeeld ook wat de kardinaliteit van elk veld is. De officiële Koppeltaal profielen zijn hier te vinden: https://simplifier.net/Koppeltaalv2.0/~resources?category=Profile&fhirVersion=R4.

...

Deze URI moet meegegeven worden aan de Resource.meta.profile array. Aangezien de StructureDefinition aangeeft waar een Resource aan moet voldoen, wordt dit gebruikt om de Resources te valideren. Zie TOP-KT-010 voor meer informatie over de validatie.

FHIR RESTful API

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

Instance Level Interactions
Geïmplementeerd

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 it
conditional patchAllows a client to patch an existing resource based on some identification criteriaTrial use fase
deleteDelete a resourceGebruik maken van status
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


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 criteriaGeen _include, _revinclude, _contained en _containedType 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


capabilitiesGet a capability statement for the system
batch/transactionUpdate, create or delete a set of resources in a single interaction
historyRetrieve the change history for all resources
searchSearch across all resource types based on some filter criteria

Mime-Type

Ook is er een keuze gemaakt welke MIME-types worden ondersteund:

MIME-typeGeïmplementeerdRemark
application/fhir+jsonHeeft de voorkeur
application/fhir+xml
application/fhir+turtle

De voorkeur voor application/fhir+json heeft te maken met de xsd schema’s voor de xml validatie. Deze dwingt een specifieke volgorde af. Dit is voor FHIR libraries die de data serializeren naar xml geen probleem. Echter, voor het zelf samenstellen van de payload is dit een lastigheid.

...

Deze functionaliteiten zijn in de “trial use” fase. Dit houdt in dat het beproefd wordt. De implementatie wordt geëvalueerd en in een toekomstige versie pas gereviewed. Er is dus een grote kans dat deze functionaliteiten in de toekomst anders zullen gaan werken. Wel zijn deze functionaliteiten geïmplementeerd. Maak enkel gebruik van deze functionaliteiten indien er bereidheid is hier later aanpassingen in door te voeren.

Eisen

EisApplicatie-instantieFHIR Resource service
Alle FHIR resource service interacties zijn gebaseerd op FHIR RESTful APIXX
Een PUT en een PATCH MOET een If-Match header bevatteXX
Een POST, PUT en PATCH MOET een Koppeltaal profiel als Resource.meta.profile gezet hebbenXX
Een POST, PUT en PATCH MOET gevalideerd worden middels het Koppeltaal profiel
X
Er is GEEN ondersteuning voor batch/transaction
X
Er is GEEN ondersteuning voor een “whole system history“
X
Er is GEEN ondersteuning voor een “whole system search“
X
Er is GEEN ondersteuning voor het application/fhir+turtle  MIME-typeXX
De $expunge operation MOET geïmplementeerd worden, en MOET op Resource instance-level plaatsvinden
X
StructureDefinition resources worden ALLEEN door Koppeltaal beheerd
X

Links naar gerelateerde onderwerpen