Beschrijving
In de doelstelling van stichting Koppeltaal is middels het woord ‘interne’ een beperking voor de gegevensuitwisseling opgenomen. Met deze beperking wordt bedoeld dat gegevensuitwisseling altijd plaatsvindt onder de verantwoordelijkheid van één zorgaanbieder.
Gegevens worden uitgewisseld tussen verschillende dienstverlenende applicaties. In Koppeltaal staat het begrip applicaties voor alle vormen van ICT-systemen en eHealth platformen die voor een zorgaanbieder relevant zijn om gegevens tussen uit te wisselen in de context van eHealth activiteiten. De dienstverlenende applicaties worden geleverd door verschillende leveranciers. Deze leveranciers kunnen hun dienstverlenende applicaties ontsluiten via Koppeltaal onder de verantwoordelijkheid van de zorgaanbieder. Alle FHIR resources van één zorgaanbieder kunnen via de Koppeltaal (FHIR Resource) Provider ontsloten worden, voor die dienstverlenende applicaties die aangesloten zijn op Koppeltaal. Daarbij maken wij gebruik van gemeenschappelijke begrippen en standaarden die gebaseerd zijn op HL7/FHIR (https://www.hl7.org/fhir/http.html).
Het volgende diagram geeft een overzicht van de FHIR Resources (Koppeltaal basis set) en de onderlinge relaties tussen de resources voor Koppeltaal 2.0.
Alle FHIR Resources en de daarbij behorende elementen in Koppeltaal 2.0 zijn gebaseerd op FHIR Release #4 (4.0.1 2019-10-30) - http://hl7.org/fhir/R4/.
Bij daadwerkelijke uitwisseling kunnen de FHIR Resources worden weergegeven in XML en/of JSON formaten.
Nieuwe plaat:
- Kleuren verwijderd omdat niemand wist wat ze voorstelden
- Related person Out of Scope geplaatst.
Volgend lijstje geeft de verplichte velden weer van de FHIR resources R4, die binnen Koppeltaal 2.0 worden gebruikt.
Dit lijstje is door VZVZ samengesteld. De CapabilityStatement, Bundle en OperationOutcome zijn niet opgenomen in dit lijstje, omdat deze resource niet in de FHIR Store worden opgenomen.
Koppeltaal 2.0 profielen
Van bovenstaande FHIR resources zijn Koppeltaal 2.0 profielen aangemaakt en gepubliceerd in https://simplifier.net/Koppeltaalv2.0.
Deze worden als basis gebruikt voor Koppeltaal 2.0.
FHIR R4 Resource | Element | Type | Verplicht in KT 2.0 (profile) | Functioneel nodig in KT 2.0 | Omschrijving en reden |
Meta | Elke FHIR R4 Resource bevat een "meta" element van het type Meta wat een set metadata is die technische content meegeeft aan de resource. Binnen de context van Koppeltaal zullen we gebruik maken van enkele elementen uit de metadata set. | ||||
versionId | id | X | De waarde van versionId verandert elke keer als de inhoud van de resource verandert. Er kan naar worden verwezen in een resource referentie (voorbeeld: ResourceType/id/_history/versionId). Dit veld wordt door FHIR Resource Provider bijgehouden. | ||
lastUpdated | instant | X | Dit element verandert de waarde als de content van de resource verandert. | ||
source | uri | X | Een samengestelde string die het resource systeem en interactie (bv create, update, etc) uniek identificeert. In de context van Koppeltaal wordt voor het resource systeem het "applicatie of client id" gebruikt. Voorbeeld: "source": "urn:uuid:client_id#interaction_id" | ||
profile | canonical(StructureDefinition) | Een bewering of toekenning dat de inhoud van de resource overeenkomt met een resource profile (vastgelegd in een StructureDefinition). Zie FHIR Profiles voor verdere uitleg. Een profile wordt gewijzigd als de waardensets wijzigen of het systeem de conformiteit opnieuw controleert. De profile kan worden gebruikt om aan te geven aan welke versie(s) de FHIR resource moet voldoen. | |||
Patient | De persoon die in behandeling is bij de zorgaanbieder. | ||||
identifier | Identifier | X..* | Elke patiënt moet uniek te identificeren zijn a.d.h.v. een identifier, zodat we altijd de gegevens kunnen opvragen. Er mogen meerdere type identifiers gebruikt worden | ||
active | booelan | X | Of de patiënt actief is, binnen de Koppeltaal context. Initieel op 'true' zetten. | ||
name | HumanName | X..* | Eén of meerdere namen die aan de patiënt wordt geassocieerd. | ||
telecom | ContactPoint | De contactdetails van de patiënt. | |||
gender | code | Het geslacht van de patiënt. Zie https://www.hl7.org/fhir/valueset-administrative-gender.html | |||
birthDate | date | Geboorte datum van de patiënt. | |||
photo | Attachement | Plaatje van de patiënt. | |||
contact | BackboneElement | Contact partij voor de patiënt. | |||
Practitioner | De zorgverlener die in overleg met de patiënt een eHealth activiteit toewijst. | ||||
identifier | Identifier | X..* | Elke behandelaar moet uniek te identificeren zijn a.d.h.v. identifiers, zodat we altijd de gegevens kunnen opvragen. | ||
active | boolean | X | Of de behandelaar actief is, binnen de Koppeltaal context. Initieel op 'true' zetten. | ||
name | HumanName | De naam die aan de behandelaar wordt geassocieerd. | |||
telecom | ContactPoint | Contact details van de behandelaar. | |||
gender | code | Het geslacht van de behandelaar. Zie https://www.hl7.org/fhir/valueset-administrative-gender.html. | |||
RelatedPerson | Naaste van de patiënt die betrokken is in het behandelproces. | ||||
identifier | Identifier | X..* | Elke naaste moet uniek te identificeren zijn a.d.h.v. een identifier, zodat we altijd de gegevens kunnen opvragen. | ||
active | boolean | X | Of de naaste persoon actief betrokken is, binnen de Koppeltaal context. Initieel op 'true' zetten. | ||
patient | Reference(Patient) | X | Uit FHIR R4. De patiënt waarmee deze persoon een relatie mee heeft. | ||
relationship | CodeableConcept | Type relatie. Zie http://terminology.hl7.org/CodeSystem/v3-RoleCode. | |||
telecom | ContactPoint | Contactdetails van deze persoon. | |||
birthDate | date | Geboortedatum van deze persoon. | |||
address | Address | Adres waar deze persoon bereikt kan worden. | |||
name | HumanName | De naam die aan deze persoon wordt geassocieerd. | |||
gender | code | Het geslacht van deze persoon. Zie https://www.hl7.org/fhir/valueset-administrative-gender.html | |||
Task | De aan een patiënt toegewezen eHealth activiteit. | ||||
identifier | Identifier | X..* | Identificatie van een activiteit | ||
description | string | Leesbaar uitleg vaan taakomschrijving | |||
code | CodeableConcept | Taaktype | |||
instantiatesCanonical | canonical(ActivityDefinition) | X | Een referentie naar een beschrijving van een eHealth activiteit moet bij het opvoeren van een taak In de context van Koppeltaal altijd gevuld worden. | ||
contained | Resource(Task) | Bevatten eHealth sub-activiteiten en worden (inline) als eHealth activiteit opgenomen. | |||
partOf | Refererence(Task) | Samengestelde eHealth activiteit waarbij sub-activiteit verwijzen naar een samengestelde activiteit via het Task.partOf element. Voor Koppeltaal beperken tot 1 niveau van nesting, dus er bestaan geen sub-sub-activiteiten. | |||
ext: observer | Reference(CareTeam) | Bevat referenties naar voor wie meekijkt of de activiteit observeert. Bij Koppeltaal kan dit de Practitioner, RelatedPerson of CareTeam zijn. | |||
status | code | X | In de context van Koppeltaal moet altijd de status van een eHealth activiteit bekend zijn. Initieel wordt de taak op 'ready' gezet om aan te geven dat de taak toegewezen en geaccepteerd is. Zie https://www.hl7.org/fhir/valueset-task-status.html. | ||
intent | code | X | Uit FHIR R4. De intentie vertegenwoordigt een 'order' tot een eHealth activiteit en autorisatie voor uitvoering van de taak door een participant. Zie http://hl7.org/fhir/R4/codesystem-request-intent.html. | ||
executionPeriod | Period | Start en eindtijd van de eHealth activiteit. | |||
requester | Reference(Practitioner) | In Koppeltaal wordt dit veld uitgevoerd met een referentie naar de aanvrager van de eHealth activiteit. | |||
owner | Reference(Patient) | X | Een verplichte referentie naar de patiënt die verantwoordelijk is voor de uitvoering van de toegewezen eHealth activiteit. | ||
restriction.recipient | Reference(Practitioner) | Wordt in Koppeltaal gebruikt voor het koppelen van betrokkenen aan de eHealth activiteit. | |||
restriction.period | Period | Taak periode (beperking) | |||
for | Reference(Patient) | Bevat een referentie naar voor wie we het doen of wie er baat bij heeft. Bij Koppeltaal is dit de Patient. | |||
priority | code | Prioriteit van de eHealth activiteit. Voor Koppeltaal initieel op 'routine' zetten (normale prioriteit) . Zie http://hl7.org/fhir/2018May/valueset-request-priority.html. | |||
authoredOn | dateTime | Creatie datum van de eHealth activiteit. | |||
lastModified | dateTime | Datum waarop laatste wijziging is doorgevoerd op de eHealth activiteit. | |||
ActivityDefinition | Beschrijving van een eHealth activiteit. | ||||
ext: publisherIdentifier | id | X | Verplichte identificatie van de uitgever van de eHealth activiteit. | ||
ext: endpoint | Reference(Endpoint) | X..* | Verplichte referentie naar de dienstverlenende applicatie (endpoint) die de eHealth activiteit levert. Kunnen er meerdere van zijn | ||
version | string | Bedrijfsversie van deze eHealth activiteit. | |||
url | uri | X | Een herkenbare identifier voor deze eHealth activiteit dat als een URI gepresenteerd wordt. | ||
identifier | Identifier | Een extra (globale) identificatie element voor het kunnen identificeren van een eHealth activiteit. | |||
name | string | De naam van de eHealth activiteit. | |||
title | string | X | Dit titel van de eHealth activiteit wordt (verplicht) getoond aan gebruikers en moet gevuld worden. Nodig voor het kunnen toewijzen van een eHealth activiteit. | ||
subtitle | string | Ondergeschikte titel van de ehealth activiteit.typexxxxx | |||
status | code | X | Uit FHIR R4. Zodra de eHealth activiteit gepubliceerd wordt, wordt deze op 'active' gezet. Indien de activiteit NIET meer gebruikt wordt, wordt deze op 'retired' gezet. Zie: http://hl7.org/fhir/publication-status | ||
description | markdown | Een omschrijving van de eHealth activiteit. | |||
code | CodeableConcept | Gedetailleerde type informatie over de eHealth activiteit. Geeft mee gedetailleerde informatie aan van de eHealth activiteit. Zie: http://hl7.org/fhir/R4/valueset-procedure-code.html. Voorbeeld:
Opmerking: In KT 1.3.x heeft dit veld een andere betekenis, en is daar verplicht. | |||
topic | CodeableConcept | Definieert topic. Zie https://www.hl7.org/fhir/valueset-definition-topic.html#4.4.1.255: (education, treatment, assessment). Opmerking: In KT 1.3.x wordt het veld 'type' gebruikt om onderscheid te maken tussen verschillende eHealth activiteiten, en is daar verplicht. | |||
Endpoint | Een eHealth (eind)punt is een technische representatie van een adres of Uniform Resource Locator (URL) van een applicatie instantie die eHealth of FHIR REST diensten aanbiedt. | ||||
identifier | Identifier | Unieke endpoint identifier. | |||
status | code | X | Uit FHIR R4. De status van een endpoint. Standaard wordt deze op 'active' gezet. Andere mogelijke modes zijn beschreven in https://www.hl7.org/fhir/valueset-endpoint-status.html | ||
name | string | Naam waarmee het endpoint geïdentificeerd kan worden. | |||
address | url | X | Uit FHIR R4. Het technische basis adres waarmee de verbinding wordt opgezet. | ||
connectionType | Coding | X | Uit FHIR R4. Het protocol wat gebruikt wordt bij dit endpoint. Standaard voor Koppeltaal op 'hl7-fhir-rest' zetten. Zie ook: https://www.hl7.org/fhir/valueset-endpoint-connection-type.html. | ||
payloadType | CodeableConcept | X | Uit FHIR R4. Type inhoud wat gebruikt wordt voor dit endpoint. Zie ook: https://www.hl7.org/fhir/valueset-endpoint-payload-type.html. | ||
Device | Een (gefabriceerde) applicatie instantie (in Koppeltaal terminologie) dat gebruikt wordt ter ondersteuning of het verlenen van gezondheidszorg. | ||||
identifier | Identifier | X | Instantie identifier van het product. Is de client id | ||
status | code | X | De status van het product | ||
type | CodeableConcept | Soort/type product. Zie: http://hl7.org/fhir/ValueSet/device-type | |||
url | uri | Netwerk adres om applicatie te bereiken | |||
specialization | BackboneElement | Mogelijkheden van product | |||
deviceName.name | string | X | Naam van het product | ||
deviceName.type | code | X | Standaard waarde: user-friendly-name | ||
Subscription | Een abonnement wordt gebruikt om geïnformeerd te worden over wijzigingen op (resource) gegevens door andere systemen. Nadat een abonnement is geregistreerd en wijzigingen op (resource) gegevens voorkomen die overeen komen met een vastgelegde criteria, verzendt deze een bericht (notificatie) op een voor gedefinieerde "kanaal", zodat een ander systeem hierop actie kan ondernemen. | ||||
status | code | X | Uit FHIR R4. Status van het abonnement. Zie: http://hl7.org/fhir/subscription-status. | ||
criteria | string | X | Uit FHIR R4. De vastgelegde criteria waarop er een bericht (notificatie) wordt verstuurd. | ||
reason | string | X | Uit FHIR R4. Omschrijving waarom dit abonnement is gecreëerd. | ||
channel | BackboneElement | X | Uit FHIR R4. Voor gedefinieerd kanaal waar het bericht wordt verstuurd. | ||
channel.type | code | X | Uit FHIR R4. Ondersteunen alleen: "rest-hook" kanaal. | ||
channel.endpoint | url | X | Omdat we rest-hook als kanaaltype verplichten, moet ook het endpoint vastgelegd worden. Endpoint zou niet raadbaar moeten zijn en uniek per subscription. | ||
channel.header | string | X | Om DOS aanvallen te voorkomen, wordt een "Authorization" header verplicht (voor afgesproken token meesturen). Men kan ook de vastgelegde criteria in de header vastleggen. | ||
channel.payload | code | XXX (NIET) | Dit veld MOET NIET gebruikt worden. De notificaties worden zonder payload verstuurd. Extra informatie over een notificatie kan via de channel.header meegegeven worden. | ||
CareTeam | Beschrijft het zorgteam met de participanten. | ||||
identifier | Identifier | X | Elke zorgteam moet uniek te identificeren zijn a.d.h.v. een identifier, zodat we altijd de gegevens kunnen opvragen. | ||
status | code | X | In de context van Koppeltaal moet altijd de status van het zorgteam bekend zijn. | ||
subject | Reference(Patient) | X | Uit FHIR R4. Voor wie het team aan de slag is. In de context van Koppeltaal is dit een referentie naar Patient. | ||
period | Period | Tijdsperiode van het zorgteam. | |||
participant | BackboneElement | Lijst van betrokken participanten bij het zorgproces | |||
participant.role | CodeableConcept | x | Uit FHIR R4. Verplichte rol van de participant, bij toevoeging van participant. | ||
participant.member | Reference(Practitioner|RelatedPerson) | x | Uit FHIR R4. Verplichte type participant, bij toevoeging van participant. | ||
AuditEvent | Een logrecord van een interactie tussen systemen. Koppeltaal Logging moet het mogelijk maken "achteraf onweerlegbaar vast te stellen welke activiteiten waar en wanneer hebben plaatsgevonden. | ||||
type | Coding | X | Soort gebeurtenis. Zie "system": http://terminology.hl7.org/CodeSystem/audit-event-type. Standaard "code": "rest" Bij het lanceren van applicaties wordt het: "system":"http://dicom.nema.org/resources/ontology/DCM", "code":"110100", "display":"Application Activity" | ||
subtype | Coding | X | Gedetailleerde beschrijving van FHIR gebeurtenis. Zie system: http://hl7.org/fhir/restful-interaction Bij het lanceren van applicaties gebruiken we: "system":"http://dicom.nema.org/resources/ontology/DCM", "code":"110120", "display":"Application Start" | ||
action | code | Welke CRUDE acties is uitgevoerd. Zie: http://hl7.org/fhir/audit-event-action | |||
recorded | instant | X | Tijdstip van logmoment. | ||
agent.who | Reference(Device) | X | De device actor (audit participant) van de zendende of ontvangende partij. | ||
agent.type | CodeableConcept | X | Zie: system: http://dicom.nema.org/resources/ontology/DCM
| ||
agent.role | CodeableConcept | Kunnen we onze applicatie rollen hier voor gebruiken, als deze zijn vastgelegd? | |||
agent.requestor | boolean | X | Is de agent de initiator van de gebeurtenissen, dan 'true' anders 'false'. | ||
entity.type | CodeableConcept | X | Type resource. Zie: "http://hl7.org/fhir/resource-types". Zie het KT 2.0 FHIR Resource Model. | ||
entity.what | Reference(Any) | X | Over welke (FHIR) resource gaat het Reference(Any). B.v: entity.what=Patient/123 | ||
entity.name | string | resource.identifier | |||
source.site | string | Naam van de omgeving (domein!) | |||
source.observer | Reference(Device) | X | Wie heeft het gelogd. Misschien een aparte Log Device. | ||
source.type | Coding | Wat voor systeem is dit. Zie: http://terminology.hl7.org/CodeSystem/security-source-type |
Rationale
FHIR Resources zijn in de basis generiek en worden met behulp van profielen uitgebreid en specifieker gemaakt voor specifieke toepassingen, zoals Koppeltaal.