Doel
(FHIR) Meta is een set metadata die technische content meegeeft aan elke type FHIR resource. De metadata elementen zijn allemaal optioneel, echter in de context van Koppeltaal worden enkele elementen in de implementatie vereist.
Referentie
FHIR Specification (v4.0.1: R4 - Mixed Normative and STU). Dit is de huidige gepubliceerde versie. Zie ook: https://www.hl7.org/fhir/resource.html#Meta
Koppeltaal 2.0 profiel van Meta
Element | Omschrijving | Card. | Type |
---|---|---|---|
versionId | 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). De versionId wordt bij Koppeltaal gebruikt om ervoor te zorgen dat updates altijd zijn gebaseerd op de nieuwste versie (of meest recente content) van de resource. De versie kan globaal uniek zijn, of binnen het bereik van de logische id van de resource. VersionId's zijn over het algemeen ofwel een serieel oplopende identificatie binnen het bereik van de logische ID, ofwel een uuid, hoewel geen van deze beschrijvingen vereist is. Er is geen vaste volgorde voor de versionId's. Cliënten of afnemers mogen er niet van uitgaan dat een versionId die na een andere komt, numeriek of alfabetisch een latere versie vertegenwoordigt. Dezelfde versionId mag nooit worden gebruikt voor meer dan één versie van dezelfde resource.
| 0..1 | Id |
lastUpdated | Dit element verandert de waarde als de content van de resource verandert. Gebruik hier de tijdzonecode van de server waarop de FHIR service functioneert. RESTful API:
| 0..1 | instant |
source | Een uri die het resource systeem en interactie (bv create, update, etc) identificeert. In de context van Koppeltaal wordt voor het resource systeem het "domein uri" bedoeld. Per resource moet er één genomineerde domein ingevuld worden; voor aanvullende gegevens zullen eventueel andere resources gebruikt worden. Er mogen geen relaties of referenties gelegd worden tussen resources, die verschillende domein uri's bevatten. RESTful API:
Kanttekening: We zouden het 'source' ook voor 'Multitenancy' kunnen gebruiken, zodat we kunnen achterhalen bij welke tenant (container of huurder van een dienst) de resource behoort. | 0..1 | string |
profile | 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. Een FHIR server kan ongeldige interacties afwijzen en testen aan de hand van de profile(s). | 0..1 | canonical |
User Stories
- Elke FHIR resource behoort bij één domein (Meta.source) dat uit een domein uri en een interactie id is samengesteld .
- FHIR resource met verschillende domeinen mogen niet aan elkaar gerelateerd worden.
- Een FHIR resource voldoet aan een profile (Meta.profile) zoals vastgelegd is in de StructureDefinition resource.
Parameters voor zoekopdrachten (search)
HTTP Request | Methode | Actie |
---|---|---|
/ResourceType?_source=uri.domain | Get | Ophalen van het (bron) domein uri |
/Resourcetype?_source=%23interactieId | Get | Ophalen van het requestId |
Zoek parameters:
Naam | Type | Omschrijving |
---|---|---|
_source | samengestelde string | zoeken naar het (uri) domein en interactie id |
Creatie
HTTP Request | Methode | Actie |
---|---|---|
/ResourceType.meta.source | Post | Definiëren van een bron of domein |
De volgende elementen zijn vereist:
Naam | Details |
---|---|
meta.source | Het domein van de ResourceType. |
Update
Naam | Methode | Actie |
---|---|---|
/ResourceType.meta.source | Put | Aanpassen van domein |
Aandachtspunten bij migratie vanuit Koppeltaal 1.x / DSTU1
- TBD
Voorbeelden
Aannames en opmerkingen:
Source informatie van Location
- Als de X-Request-ID header afwezig is, wordt er een random id gegenereerd en opgeslagen
- Als de meta.source afwezig is , wordt de domein uri niet gevuld
POST /Location X-Request-ID: vzvz_1234 <Location xmlns='http://hl7.org/fhir'> <meta> <source value="vzvz.nl/fhir/R4"/> </meta> <endpoint> <reference value="Endpoint/159"/> <type value="Endpoint"/> </endpoint> </Location>
{ "resourceType": "Location", "id": "1839404", "meta": { "versionId": "1", "lastUpdated": "2021-01-28T08:45:06.773+00:00", "source": "vzvz.nl/fhir/R4#vzvz_1234" }, "endpoint": [ { "reference": "Endpoint/159", "type": "Endpoint" } ] }
Zie ook:
https://smilecdr.com/docs/fhir_repository/fhir_endpoint_module.html#capturing-source-information
https://smilecdr.com/docs/fhir_repository/tracing_and_provenance.html#storing-source-information