Versions Compared

Key

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

Versie

Datum

Status

Wijzigingen

1.0.2

Definitief

Wijziging in van toepassing zijnde eisen voor bron applicatie

1.0.1

Definitief

Deadlink opgelost

1.0.0

 

definitief

Beschrijving

Elke resource moet uniek identificeerbaar zijn door de business en technische systemen. Hypermedia/links kunnen hierbij gebruikt worden om referenties of verwijzingen naar resources te gebruiken.

Voor correct gebruik van Identifiers wordt verwezen naar: Links naar gerelateerde onderwerpenIDR - Eisen (en aanbevelingen) voor identifiers en referenties

In deze topic wordt onderscheid gemaakt in Logische in Logische ID, Bedrijfsidentifier, Referenties en Referentie  Bedrijfsidentifier, Referenties en Referentie integriteit.

Logische ID

Overwegingen

Elke resource heeft een ID-element dat de "logische ID" (logical ID) bevat. De Logische ID dient uniek te zijn zodat de resource eenduidig terug te vinden is of vinden is of naar verwezen kan worden. Verder is moet de logische ID een identifier zijn die met voorkeur slecht te raden te raden is en geen probleem vormt bij toekomstige migratie en integraties tussen systemen. Om deze reden stelt koppeltaal dat de logische id een UUID versie 4 (rfc4122) moet zijn.

...

Volgens de FHIR standaard:

  • Wanneer een nieuwe resource wordt aangemeld bij de FHIR Resource Provider, geeft de FHIR Resource Provider een nieuwe uniek logische id af binnen het domein van alle resources op dezelfde FHIR Resource Provider.

  • Eenmaal toegewezen door de FHIR Resource Provider, wordt de "logische id" NOOIT gewijzigd. Een nieuwe logische ID betekent namelijk een nieuwe resource-instantie.

  • De locatie van een resource-instantie is een absolute (locatie) URL die is samengesteld uit het basisadres waarop de instantie is gevonden, het resourcetype en de logische ID, zoals: https:/vzvz.fhir.nl/Patient/d9333b01-4491-42d3-b670-3cedc6c88a00 (waarbij d9333b01-4491-42d3-b670-3cedc6c88a00 de logische id van een patiënt is).

  • Wanneer een resource wordt gekopieerd van de ene provider naar een andere provider, kan de kopie al dan niet dezelfde logische id op de nieuwe server behouden. Dit is afhankelijk van replicatie en beleid.

Specifiek voor Koppeltaal:

  • De applicaties mogen zelf geen Logische ID's toekennen.

  • De logische ID is een UUID (rfc4122), versie 4.

Voorbeelden

Patient.id

{
  "resourceType":"Patient",
  "id": "8474394b-243c-4935-b403-ccc414090bc8",
  ...
}

Opvragen a.d.h.v een Patient.id

GET [base]/Patient/8474394b-243c-4935-b403-ccc414090bc8

Bedrijfsidentifier

Overwegingen

Een "bedrijfsidentifier" wordt gebruikt om resources uniek te kunnen identificeren met (andere) systemen, die in andere omgevingen aanwezig zijn.
Een patiënt kan bijvoorbeeld geidentificeerd worden aan de hand van een e-mail adres of een patientnummer. Een  Een zorgverlener kan men identificeren via zijn AGB code. Een taak kan men identificeren aan een Taaknummer.
Met de hulp van de "bedrijfsidentifier" kan je altijd achterhalen of de resource instantie al aanwezig en bekend is. Hiermee kan men vervolgens ook de "logische ID" achterhalen, waaronder deze resource instantie bij de FHIR Resource Provider is aangemeld. Daarnaast kan de bedrijfsidentifier gebruikt worden om de relatie tussen de eigen entitetiten en de server weer op te bouwen als deze verloren is geraakt.

...

Toepassing en restricties

Volgens de FHIR standaardFHIR standaard:

  • Naast de "logische ID" (logical ID) kan bij de resource ook één tot meerdere "bedrijf identifier" (business identifier) element(en) gebruikt worden.

Specifiek voor Koppeltaal:

  • De applicatie die een nieuwe resource instantie creëert en publiceert MOET het bedrijfsidentifier element (Identifier type) specificeren,

     als

     als het identifier element in de resource instantie verplicht is.  

  • Optioneel mogen andere applicaties ook bedrijfsidentifiers toekennen.

Voorbeelden


Patient.identifier

{
  "resourceType":"Patient",
  "id": "8474394b-243c-4935-b403-ccc414090bc8",
  "identifier":[
   {
      "use":"usual",
      "system":"https://irma.app/email",
      "value":"bard.klein@vzvz.nl"
   },
   {
      "use": "official",
      "system": "urn:oid:2.16.840.1.113883.2.4.6.3",
      "value": "123456789"
   }
  ]
}


Opvragen a.d.h.v een Patient.identifier

GET [base]/Patient?identifier=urn:oid:2.16.840.1.113883.2.4.6.3|123456789


Referenties

Overwegingen

De De "logische ID" (logical ID) kan in combinatie met de resource type gebruikt worden als referentie in resources. Dit wordt dan een zogeheten "literal" reference. Zie ook: https://www.hl7.org/fhir/references.html#literal

Toepassing en restricties

Specifiek voor Koppeltaal:

  • De Logische referentie (op basis van bedrijfsidentifier) wordt in Koppeltaal niet gebruikt.

Voorbeelden

"Literal" referentie

{
  "resourceType": "Task",
  "for":
  {   
    "reference": "Patient/8474394b-243c-4935-b403-ccc414090bc8",
    "type": "Patient"
  }
}

...

Referentie integriteit

De FHIR resource service MOET referentiële integratie afdwingen. Dit houdt in dat er enkel naar resources gerefereerd kan worden indien deze ook daadwerkelijk bestaan in de FHIR resource service. Deze integriteit MOET op zowel “write” als “delete” interacties gewaarborgd worden. 

...

De FHIR resource service maakt gedurende vele interacties automatisch een log aan in de vorm van een AuditEvent. Deze kan refereren naar een resource via het AuditEvent.entity.what veld. Wanneer de gerefereerde entiteit wordt verwijderd, moet de AuditEvent blijven bestaan. De FHIR resource service MOET een uitzondering bouwen in de referentiële integriteit voor het FHIRPath AuditEvent.entity.what tijdens een logical delete.

Eisen

IDR - Eisen (en aanbevelingen) voor identifiers en referenties

Links naar gerelateerde onderwerpen

Logische ID: https://www.hl7.org/fhir/resource.html#id

UUID: https://datatracker.ietf.org/doc/html/rfc4122

Bedrijfsidentifier Bedrijfsidentifier http://hl7.org/fhir/R4/datatypes.html#identifier

Referentie: https://www.hl7.org/fhir/references.html

...