From 65e98ea9413697e86fe2951bbdf459391c130f5b Mon Sep 17 00:00:00 2001 From: Hans van Roon <110399100+hansvr2022@users.noreply.github.com> Date: Wed, 14 May 2025 10:34:23 +0200 Subject: [PATCH 1/5] Update TD-ANWv2024.1.md Add measurement registration and error handling to ANW Introduced support for registering measurements in the brondossier using Nictiz profiles, without requiring additional authorization. Added error handling guidelines using OperationOutcome to notify healthcare providers of issues during registration, enabling corrective actions. --- anw/TD-ANWv2024.1.md | 46 ++++++++++++++++++++++++++++++++++++++++---- 1 file changed, 42 insertions(+), 4 deletions(-) diff --git a/anw/TD-ANWv2024.1.md b/anw/TD-ANWv2024.1.md index fc73f1e..c51c0ec 100644 --- a/anw/TD-ANWv2024.1.md +++ b/anw/TD-ANWv2024.1.md @@ -32,6 +32,9 @@ * [ANW-Regisseur](#anw-regisseur) * [ANW-Bronhouder](#anw-bronhouder) * [ANW-Zorgverlener](#anw-zorgverlener) +* [Uitbreidingen](#uitbreidingen) + * [Registeren van metingen](#registeren-van-metingen) + * [Foutafhandeling van registraties naar het brondossier](#foutafhandeling-van-registraties-naar-het-brondossier) * [TODO](#todo) @@ -62,8 +65,9 @@ ### NUTS-adresboek De regisseur heeft toegang tot het NUTS-adresboek, hierin kunnen de leveranciers voor elke organisatie die onderdeel uit - maken het ANW-netwerk aanduiden dat de betreffende organisatie de service “ANW-Zorgverlener” -en “ANW-Bronhouder” aanbiedt. De regisseur is zelf ook te vinden in het adresboek voor de bronhouder en zorgverlener om toegang +maken het ANW-netwerk aanduiden dat de betreffende organisatie de service “ANW-Zorgverlener” +en “ANW-Bronhouder” aanbiedt. De regisseur is zelf ook te vinden in het adresboek voor de bronhouder en zorgverlener om +toegang te geven tot deze regisseur met als service “ANW-Regisseur”. ### Regisseur vraagt de cliënt / medewerker gegevens op in alle ECD’s @@ -91,7 +95,7 @@ Op basis van het ontvangen access token kan de zorgaanbieder bepalen tot welke e zijn voor deze usecase de volgende twee: [Endpoints voor data regisseur](#endpoints-voor-data-regisseur) Als query wordt de query “ANW-zorg” meegegeven. Hiermee kan de zorgaanbieder bepalen welke -cliënten/medewerkers teruggestuurd moeten worden. +cliënten/medewerkers teruggestuurd moeten worden. Elke leverancier maakt het mogelijk voor organisaties om cliënten als "ANW" cliënt te kenmerken in hun ECD. Afspraak is dat alleen “In zorg” zijnde cliënten teruggegeven worden voor de ANW-usecase en ook alleen “In dienst (actief @@ -692,6 +696,7 @@ Hier staan de verschillende nutsservices die de verschillende partijen moeten re ze beschikbaar moeten stellen. ### ANW-Regisseur + - Service: **ANW-Regisseur** | Endpoint | Beschrijving | @@ -700,6 +705,7 @@ ze beschikbaar moeten stellen. | oauth | Volledige URL van de n2n/auth/v1/accesstoken van de nutsnode van de regisseur | ### ANW-Bronhouder + - Service: **ANW-Bronhouder** | Endpoint | Beschrijving | @@ -709,6 +715,7 @@ ze beschikbaar moeten stellen. | notification | Endpoint waar de notificatie naar toe gestuurd kan worden voor het verzoek om een autorisatie aan te maken voor een “ANW-Zorgverlener” | ### ANW-Zorgverlener + - Service: **ANW-Zorgverlener** | Endpoint | Beschrijving | @@ -717,6 +724,37 @@ ze beschikbaar moeten stellen. | oauth | Volledige URL van de n2n/auth/v1/accesstoken van de nutsnode van de inzage applicatie | | notification | Endpoint waar de notificatie naar toe gestuurd kan worden om mee te delen dat er een authorisatie door een “ANW-Bronhouder” is aangemaakt | +# Uitbreidingen + +## Registeren van metingen + +Eerste uitbreiding op ANW is het registreren van metingen richting het brondossier. Om te registreren is geen +uitbreiding nodig op de bestaande authorization credentials. Vanwege de tekstrapportage is de POST voor observation +toegestaan. Het is aan de +leverancier welke registraties beschikbaar zijn richting het brondossier voor de zorgverlener. Het brondossier +**accepteert te allen tijde** een valide meting volgens de onderstaande Nictiz-profielen. Hoe het brondossier dit +vervolgens +verder verwerkt is aan de leverancier. De registratie zijn losse create requests per meting. Dit gebeurt in dezelfde +stap als het registreren van de tekstrapportage. + +| ZIB | Fhir-profiel | +|:--------------------|:---------------------------------------------------------------------------------------------------------------------------------------------------------------------| +| Polsfrequentie | [https://simplifier.net/packages/nictiz.fhir.nl.stu3.zib2017/2.2.10/files/1954945](https://simplifier.net/packages/nictiz.fhir.nl.stu3.zib2017/2.2.10/files/1954945) | +| Lichaamstemperatuur | [https://simplifier.net/packages/nictiz.fhir.nl.stu3.zib2017/2.2.10/files/1954748](https://simplifier.net/packages/nictiz.fhir.nl.stu3.zib2017/2.2.10/files/1954748) | +| Lichaamslengte | [https://simplifier.net/packages/nictiz.fhir.nl.stu3.zib2017/2.2.10/files/1954746](https://simplifier.net/packages/nictiz.fhir.nl.stu3.zib2017/2.2.10/files/1954746) | +| Lichaamsgewicht | [https://simplifier.net/packages/nictiz.fhir.nl.stu3.zib2017/2.2.10/files/1954750](https://simplifier.net/packages/nictiz.fhir.nl.stu3.zib2017/2.2.10/files/1954750) | +| Respiration | [https://simplifier.net/packages/nictiz.fhir.nl.stu3.zib2017/2.2.10/files/1954947](https://simplifier.net/packages/nictiz.fhir.nl.stu3.zib2017/2.2.10/files/1954947) | + +## Foutafhandeling van registraties naar het brondossier + +In het geval van een fout bij de registratie antwoord het bronsysteem met een OperationOutcome. +Zie [Fout afhandeling/Handling Errors](https://informatiestandaarden.nictiz.nl/wiki/FHIR:V1.0_FHIR_IG_STU3#Handling_errors) +in de implementatiegids van Nictiz. De [operation outcome](https://hl7.org/fhir/STU3/operationoutcome.html) kan door een +systeem gebruikt worden om aan te geven richting de +zorgverlener wat er fout is gegaan. In het geval van inhoudelijke fouten die niet zijn toegestaan volgens de +Nictiz-profielen geeft de operationoutcome +aan welke fout dit betreft. Zodat de zorgverlener de nodige aanpassing kan doen. + ### TODO * `userContext` voor het opvragen van de lijst van Patient/Practitioner voor ANW-zorg moet duidelijk gemaakt worden: @@ -724,4 +762,4 @@ ze beschikbaar moeten stellen. duidelijk werd is bij een eerder technisch overleg overeengekomen voorlopig te gaan voor `false`, om (pre-)caching makkelijker te maken. Bij moment van schrijven op 24 juli 2024 worden de VCs bij alle partijen nog aangemaakt voor `false`, en vanuit Nedap worden de requests alvast altijd uitgevoerd met een aanwezige user context (in andere - woorden, Nuts-elevatie is verplicht alvorens het regisseursscherm geopend kan worden) en gecached per user. \ No newline at end of file + woorden, Nuts-elevatie is verplicht alvorens het regisseursscherm geopend kan worden) en gecached per user. From dba1e2f5b11634e0b9675347156b428ced954dd4 Mon Sep 17 00:00:00 2001 From: HugoFvanderGeest Date: Tue, 27 May 2025 10:07:03 +0200 Subject: [PATCH 2/5] Update TD-ANWv2024.1.md Relatieve URL's toegevoegd en basis versionering voor de nieuwe uitbreidingen --- anw/TD-ANWv2024.1.md | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/anw/TD-ANWv2024.1.md b/anw/TD-ANWv2024.1.md index c51c0ec..c13f4d7 100644 --- a/anw/TD-ANWv2024.1.md +++ b/anw/TD-ANWv2024.1.md @@ -744,6 +744,7 @@ stap als het registreren van de tekstrapportage. | Lichaamslengte | [https://simplifier.net/packages/nictiz.fhir.nl.stu3.zib2017/2.2.10/files/1954746](https://simplifier.net/packages/nictiz.fhir.nl.stu3.zib2017/2.2.10/files/1954746) | | Lichaamsgewicht | [https://simplifier.net/packages/nictiz.fhir.nl.stu3.zib2017/2.2.10/files/1954750](https://simplifier.net/packages/nictiz.fhir.nl.stu3.zib2017/2.2.10/files/1954750) | | Respiration | [https://simplifier.net/packages/nictiz.fhir.nl.stu3.zib2017/2.2.10/files/1954947](https://simplifier.net/packages/nictiz.fhir.nl.stu3.zib2017/2.2.10/files/1954947) | +| Bloeddruk | [https://simplifier.net/packages/nictiz.fhir.nl.stu3.zib2017/2.2.10/files/1954945](https://simplifier.net/packages/nictiz.fhir.nl.stu3.zib2017/2.2.10/files/1954945) | ## Foutafhandeling van registraties naar het brondossier @@ -755,6 +756,14 @@ zorgverlener wat er fout is gegaan. In het geval van inhoudelijke fouten die nie Nictiz-profielen geeft de operationoutcome aan welke fout dit betreft. Zodat de zorgverlener de nodige aanpassing kan doen. +## Relatieve naar volledige URL's +Op het moment worden er relatieve url's gebruikt in de Task van de Regisseur. Deze moeten worden omgezet naar volledige URL's. Hiermee moeten ook de brondossiers en inzage dossier compatible mee zijn. + +## Versionering +Voor de bovenstaande doorontwikkelingen wordt als versionering tijdelijk gebruik gemaakt naar een link in het compatibility statement (op te halen op het /metadata endpoint) met daarin een instantiates waarbij een van de waarden deze moet bevatten: +"https://github.com/nuts-foundation/bolts/blob/master/anw/TD-ANWv2024.1.md|1.1" +In de doorontwikkeling wordt ook het metadata endpoint verwacht dat die publiekelijk toegankelijk is. Wanneer /metadata niet resolvable is of bevat niet de bovenstaande URI dan draait er een "1.0" versie waarbij de bovenstaande doorontwikkelingen nog niet zijn geimplementeerd. + ### TODO * `userContext` voor het opvragen van de lijst van Patient/Practitioner voor ANW-zorg moet duidelijk gemaakt worden: From c298dcd86d3e9decf7f35ab818f1a247df49ba75 Mon Sep 17 00:00:00 2001 From: HugoFvanderGeest Date: Tue, 27 May 2025 10:56:28 +0200 Subject: [PATCH 3/5] Update TD-ANWv2024.1.md Sleuteltoegang beschrijving toegevoegd. --- anw/TD-ANWv2024.1.md | 94 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 94 insertions(+) diff --git a/anw/TD-ANWv2024.1.md b/anw/TD-ANWv2024.1.md index c13f4d7..bd0fe9b 100644 --- a/anw/TD-ANWv2024.1.md +++ b/anw/TD-ANWv2024.1.md @@ -759,6 +759,100 @@ aan welke fout dit betreft. Zodat de zorgverlener de nodige aanpassing kan doen. ## Relatieve naar volledige URL's Op het moment worden er relatieve url's gebruikt in de Task van de Regisseur. Deze moeten worden omgezet naar volledige URL's. Hiermee moeten ook de brondossiers en inzage dossier compatible mee zijn. +## Sleutel toegang +Voor sleuteltoegang wordt er gebruik gemaakt van de Location Resource. In de Location resource wordt in het description veld de sleutelcode gevuld als vrije veld met potentionele beschrijving erbij (TODO: bespreken sleutelcode apart in de resource vullen?). Het inzage dossier kan aan deze Location komen doormiddel van dat die in de input zit van de Task. Het is de verantwoordelijkheid van het Brondossier om bij de PUT van de Task die al gebeurd dan ook dit input mee te sturen. Daarnaast moet de bronhouder ook het verifiable credential updaten om ook hier de Location reference bij in te zetten die in de Task wordt gezet. Als voorbeeld hoe dan de PUT in de nieuwe versie eruit komt zien is: +```json +{ + "resourceType": "Task", + "id": "af10c4c8-bc4d-40c7-a335-fb63fe7158d3", + "meta": { + "profile": [ + "https://nuts.nl/fhir/StructureDefinition/nl-core-authorization-request" + ] + }, + "intent": "order", + "code": { + "coding": [ + { + "code": "ANW-autorisatie-verzoek" + } + ] + }, + "for": { + "reference": "https://fhirserverbron.example.nl/Patient/{patientId}", + "display": "patient display name" + }, + "authoredOn": "2024-01-23T13:23:42.1885689+00:00", + "requester": { + "agent": { + "identifier": { + "system": "http://nuts.nl", + "value": "{DID regiseur}" + }, + "display": "Regiseur A" + }, + "onBehalfOf": { + "identifier": { + "system": "http://nuts.nl", + "value": "{DID authorizing party}" + }, + "display": "Authorizing party C (data owner)" + } + }, + "owner": { + "identifier": { + "system": "http://nuts.nl", + "value": "{DID accessing party}" + }, + "display": "Accessing party B (data accessor)" + }, + "reason": { + "text": "{optional user input of the regisseur}" + }, + "restriction": { + "period": { + "start": "2024-01-23T14:23:42.2264869+01:00", + "end": "2024-01-26T13:23:42.2295674+00:00" + }, + "recipient": [ + { + "reference": "https://fhirserverinzagedossier.example.nl/Practitioner/{practitioner with access Id}", + "display": "anw practitioner display name" + } + ] + }, + "output": [ + { + "type": { + "coding": [ + { + "system": "http://nuts.nl", + "code": "vc-id" + } + ] + }, + "valueString": "did:nuts:EwVMYK2ugaMvRHUbGFBhuyF423JuNQbtpes35eHhkQic#b53bda82-712a-4d20-b673-e67efaf60acc" + } + ], + "input": [ + { + "type": { + "coding": [ + { + "system": "http://hl7.org/fhir/task-input-type", + "code": "location", + "display": "Location" + } + ] + }, + "valueReference": { + "reference": "https://fhirserverbron.example.nl/Location/{locationId}" + } + } + ] +} +``` + ## Versionering Voor de bovenstaande doorontwikkelingen wordt als versionering tijdelijk gebruik gemaakt naar een link in het compatibility statement (op te halen op het /metadata endpoint) met daarin een instantiates waarbij een van de waarden deze moet bevatten: "https://github.com/nuts-foundation/bolts/blob/master/anw/TD-ANWv2024.1.md|1.1" From 01e0a3e85ae4be2c8dbc25a94cc8c638140e829b Mon Sep 17 00:00:00 2001 From: HugoFvanderGeest Date: Tue, 27 May 2025 11:08:13 +0200 Subject: [PATCH 4/5] Update TD-ANWv2024.1.md extra beschrijving toegevoegd rondom versie beheer. --- anw/TD-ANWv2024.1.md | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/anw/TD-ANWv2024.1.md b/anw/TD-ANWv2024.1.md index bd0fe9b..165477b 100644 --- a/anw/TD-ANWv2024.1.md +++ b/anw/TD-ANWv2024.1.md @@ -855,8 +855,7 @@ Voor sleuteltoegang wordt er gebruik gemaakt van de Location Resource. In de Loc ## Versionering Voor de bovenstaande doorontwikkelingen wordt als versionering tijdelijk gebruik gemaakt naar een link in het compatibility statement (op te halen op het /metadata endpoint) met daarin een instantiates waarbij een van de waarden deze moet bevatten: -"https://github.com/nuts-foundation/bolts/blob/master/anw/TD-ANWv2024.1.md|1.1" -In de doorontwikkeling wordt ook het metadata endpoint verwacht dat die publiekelijk toegankelijk is. Wanneer /metadata niet resolvable is of bevat niet de bovenstaande URI dan draait er een "1.0" versie waarbij de bovenstaande doorontwikkelingen nog niet zijn geimplementeerd. +"https://github.com/nuts-foundation/bolts/blob/master/anw/TD-ANWv2024.1.md|1.1". De uiteindelijke versie beheer gaat ook werken met het vullen van de instantiates met een link naar een implementation guide voor elke specifieke rol een URI (bronhouder, inzagedossier, reggiseur). In de doorontwikkeling wordt ook het metadata endpoint verwacht dat die publiekelijk toegankelijk is. Wanneer /metadata niet resolvable is of bevat niet de bovenstaande URI dan draait er een "1.0" versie waarbij de bovenstaande doorontwikkelingen nog niet zijn geimplementeerd. ### TODO From f68c0bc9183b408526a82ca7b69a7fae75ebfd56 Mon Sep 17 00:00:00 2001 From: HugoFvanderGeest Date: Tue, 27 May 2025 12:13:09 +0200 Subject: [PATCH 5/5] Update TD-ANWv2024.1.md renamed to woningtoegang --- anw/TD-ANWv2024.1.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/anw/TD-ANWv2024.1.md b/anw/TD-ANWv2024.1.md index 165477b..5c23bdc 100644 --- a/anw/TD-ANWv2024.1.md +++ b/anw/TD-ANWv2024.1.md @@ -759,8 +759,8 @@ aan welke fout dit betreft. Zodat de zorgverlener de nodige aanpassing kan doen. ## Relatieve naar volledige URL's Op het moment worden er relatieve url's gebruikt in de Task van de Regisseur. Deze moeten worden omgezet naar volledige URL's. Hiermee moeten ook de brondossiers en inzage dossier compatible mee zijn. -## Sleutel toegang -Voor sleuteltoegang wordt er gebruik gemaakt van de Location Resource. In de Location resource wordt in het description veld de sleutelcode gevuld als vrije veld met potentionele beschrijving erbij (TODO: bespreken sleutelcode apart in de resource vullen?). Het inzage dossier kan aan deze Location komen doormiddel van dat die in de input zit van de Task. Het is de verantwoordelijkheid van het Brondossier om bij de PUT van de Task die al gebeurd dan ook dit input mee te sturen. Daarnaast moet de bronhouder ook het verifiable credential updaten om ook hier de Location reference bij in te zetten die in de Task wordt gezet. Als voorbeeld hoe dan de PUT in de nieuwe versie eruit komt zien is: +## Woningtoegang +Voor woningtoegang wordt er gebruik gemaakt van de Location Resource. In de Location resource wordt in het description veld de sleutelcode gevuld als vrije veld met potentionele beschrijving erbij (TODO: bespreken sleutelcode apart in de resource vullen?). Het inzage dossier kan aan deze Location komen doormiddel van dat die in de input zit van de Task. Het is de verantwoordelijkheid van het Brondossier om bij de PUT van de Task die al gebeurd dan ook dit input mee te sturen. Daarnaast moet de bronhouder ook het verifiable credential updaten om ook hier de Location reference bij in te zetten die in de Task wordt gezet. Als voorbeeld hoe dan de PUT in de nieuwe versie eruit komt zien is: ```json { "resourceType": "Task",