From 15b8ed9d26300b38c8698dc9ef615d68bd887bce Mon Sep 17 00:00:00 2001 From: "hans.vanroon" Date: Wed, 30 Jul 2025 08:49:41 +0200 Subject: [PATCH 1/4] added measurements and residence access. --- .gitbook/assets/ANWSequence_V3.puml | 2 +- .gitbook/assets/ANW_koppel_sequence.png | Bin 132967 -> 133848 bytes anw/avond-nacht-en-weekendzorg-anw.md | 1010 ++++++++++++++++++----- 3 files changed, 804 insertions(+), 208 deletions(-) diff --git a/.gitbook/assets/ANWSequence_V3.puml b/.gitbook/assets/ANWSequence_V3.puml index 76ac9b0..6acaaf3 100644 --- a/.gitbook/assets/ANWSequence_V3.puml +++ b/.gitbook/assets/ANWSequence_V3.puml @@ -25,7 +25,7 @@ VVTB -> ANWSystem ++: Haalt Task op ANWSystem --> VVTB: Task ANWSystem -- VVTB -> VVTB: Creëert benodige credentials \nvoor ANW-Zorgverlener uit Task -VVTB --> ANWSystem --: Update de Task met VC-ID en status "ready" +VVTB --> ANWSystem --: Update de Task met VC-ID, location reference en status "ready" ANWSystem -> VVTA ++: Notificatie dat er een Task klaar staat voor zorgverlener VVTA --> ANWSystem: Accepted VVTA -> ANWSystem ++: Haalt Task op diff --git a/.gitbook/assets/ANW_koppel_sequence.png b/.gitbook/assets/ANW_koppel_sequence.png index b6cd8fdc3c1dfd707536be851185d91fbafeff05..dd58127da4512653a80a96915c0146a242840a0b 100644 GIT binary patch delta 67035 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%0AWXWp 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
  • Rapportages vervangen door SOEP verslag (rapportages is nu nog vrije tekst)
  • Patiënt
  • Bloeddruk
  • Laboratoriumuitslag
  • Lichaamsgewicht
  • Lichaamslengte
  • Lichaamstemperatuur
  • O2 saturatie
  • Polsfrequentie
  • |
    1. N.v.t.
    2. BGZ, eOverdracht
    3. BGZ, eOverdracht
    4. BGZ, eOverdracht
    5. BGZ, eOverdracht
    6. BGZ, eOverdracht
    7. eOverdracht
    8. eOverdracht
    9. eOverdracht
    | -| Medische voorgeschiedenis/gegevens (diverse ZIB’s uit patiënten context) |
    1. Zorgepisode
    2. Familieanamnese
    3. Alcoholgebruik
    4. Drugsgebruik
    5. Probleem
    |
    1. N.v.t.
    2. eOverdracht
    3. BGZ, eOverdracht
    4. BGZ, eOverdracht
    5. BGZ, eOverdracht
    | -| Medisch beleid |
    1. Allergie intolerantie
    2. Alerts
    3. Behandelaanwijzing
    4. Vrijheidsbeperkende interventie
    5. Zorgafspraak
    6. Wilsverklaring
    7. Vaccinatie
    |
    1. BGZ, eOverdracht
    2. BGZ, eOverdracht
    3. BGZ, eOverdracht
    4. Nieuw, nu nog maatregel
    5. Nieuw
    6. BGZ, eOverdracht
    7. BGZ, eOverdracht
    | -| Zorgplan |
    1. Verpleegkundige Interventie
    2. Behandeldoel
    3. Medisch hulpmiddel
    4. Uitkomst van zorg
    5. Verrichting
    |
    1. eOverdracht
    2. eOverdracht
    3. BGZ, eOverdracht
    4. eOverdracht
    5. BGZ, eOverdracht
    | -| Actuele medicatie |
    1. Medicatie gebruik
    2. Medicatie Contraindicatie
    3. Medicatietoediening
    4. Medicatie afspraak
    5. Toedieningsafspraak
    |
    1. BGZ, eOverdracht
    2. eOverdracht
    3. BGZ, eOverdracht
    4. BGZ, eOverdracht
    | -| Contactpersonen |
    1. Contactpersoon
    |
    1. BGZ, eOverdracht
    | -| Informatie m.b.t. de toegang tot de woning |
    1. Veiligheid rondom toegang
    2. Fysieke toegang (code, sleutelkastje, etc.)
    | | - -De informatie die de ANW-medewerker wil muteren/terugschrijven, betreft: - -| Informatie | Zorginformatiebouwstaan / toelichting | Informatiestandaard (BGZ of eOverdracht) | -| ----------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| Metingen |
    1. Bloeddruk
    2. Lichaamsgewicht
    3. Lichaamslengte
    4. Lichaamstemperatuur
    5. O2 saturatie
    6. Polsfrequentie
    7. Ademhaling
    8. Hartfrequentie
    9. Visus
    10. Tekstuitslag
    |
    1. BGZ, eOverdracht
    2. BGZ, eOverdracht
    3. BGZ, eOverdracht
    4. eOverdracht
    5. eOverdracht
    6. eOverdracht
    7. eOverdracht
    8. eOverdracht
    9. N.v.t.
    10. eOverdracht
    | -| Rapportages |
    1. Rapportages vervangen door SOEP verslag (rapportages is nu nog vrije tekst)
    |
    1. N.v.t.
    | -| Actuele medicatie |
    1. Medicatie gebruik
    2. Medicatietoediening
    |
    1. BGZ, eOverdracht
    2. eOverdracht
    | - -## 5. Applicaties - -Eerder is het uitgangspunt benoemd dat de ANW-medewerker werkt in de applicatie waarin hij/zij gewend is zijn/haar werk te doen. De medewerker wordt niet geconfronteerd met verschillende logins voor aparte ECD’s. In zijn/haar eigen ECD kan informatie over de desbetreffende cliënt worden ingezien (mogelijk opgehaald uit een ander ECD; notified pull, zie volgende paragraaf) of worden bijgewerkt en teruggestuurd aan het bronsysteem. Hoe de ECD-leveranciers dit om een gebruikersvriendelijke wijze inbouwen, is hun eigen verantwoordelijkheid (dit kan bijvoorbeeld middels een aparte ANW-view binnen het ECD). De manier waarop een medewerker wordt geautoriseerd kent een aantal scenario’s. Deze staan in de volgende paragraaf (6.1). Logischerwijs is het de regisseur die de autorisatie in gang zet. - -## 6. IT infrastructuur - -In dit hoofdstuk verkennen we hoe toegang tot gegevens wordt geautoriseerd. We nemen hierbij het Nuts manifest als leidraad. Daarnaast hebben we de uitdrukkelijke wens uitgesproken om de uitwerking van deze Bolt technisch zo veel mogelijk compatible te houden met de Bolts Zorginzage en eOverdracht. - -### 6.1. Scenarioschets - -We gaan er vanuit dat alle zorginstellingen onderaannemer van elkaar zijn. Gegevens opgeslagen bij zorginstelling A (de Custodian) moeten worden ingezien en aangevuld door medewerkers van zorginstelling B (de Actor). De “regisseur” moet door zorginstelling A worden vertrouwd voor het verlenen van autorisaties. Vervolgens kan de “regisseur” autorisaties aanmaken en die delen met zorginstelling B. Deze kan met de verkregen autorisatie in de hand gegevens ophalen bij A. - -![](https://lh4.googleusercontent.com/6W8NxGOScGcgKdqEfRY7NLp0l7ANjFv0\_MbVDDNgDQjh\_kr-CYpJreqEL-oPvg-G49vfDx\_-XBHIErMJaN8fkBi35-sWgCSFXw-L9RW58Cm9R\_330vSRL\_cmpU7POBZpua8cCr38cwkwaXSXjQ) - -Of in technische termen: De “regisseur” geeft een verifiable credential aan de Actor. De Actor gebruikt deze VC om (via haar eigen Nuts node) een access token te verkrijgen op het systeem van de Custodian. De Nuts node van de Custodian kan de VC cryptografisch valideren en vaststellen dat deze inderdaad door een (vertrouwde) “regisseur” is uitgegeven. Met het verkregen token kan vervolgens dossierinformatie worden opgehaald en worden aangevuld met behulp van FHIR APIs. - -![](https://lh5.googleusercontent.com/3ryDYxvl1chUhjPWggY47w9Y78MPLkmdhaYUMaup3eKV7l85zg\_ZyENGLztuQ7JED-mVOInFlcx7PPpkhLvj1cGso7h31JVydZrUNZ2RdpI5Xuc6aBQHlJCDwyHQba1iXhwMOkugJiLDrcREqw) - -Autorisaties kunnen door de “regisseur” naar de Actor worden gepusht, waardoor de Actor in staat is om aan de zorgverlener te tonen dat er een nieuwe autorisatie is. Afhankelijk van de inrichting van de leverancier kan er een push notificatie naar de juiste medewerker worden gestuurd en/of de meest recente autorisatie als eerste worden getoond in een applicatie. Daardoor wordt het voor de zorgverlener makkelijker en sneller om de juiste cliënt te vinden en te openen. - -Er kunnen vanuit het perspectief van de Actor of de Custodian meerdere “regisseurs” in het spel zijn wanneer een zorginstelling in verschillende regio’s actief is, of wanneer er in een regio sprake is van meerdere partijen die op deze manier regie voeren. Bijvoorbeeld één partij die de geplande ANW zorg organiseert en een andere partij die de ongeplande zorg coördineert. - -De bronhouder blijft verantwoordelijk voor de vraag welke “regisseurs” worden vertrouwd en welke organisaties als Actor mogen optreden. Hiertoe houdt de Custodian een “whitelist” bij van welke “regisseurs” autorisaties mogen afgeven voor welke Actors. Om de “regisseur” te ondersteunen kan deze lijst geautomatiseerd worden opgehaald, zodat een medewerker bij de “regisseur” kan zien of een specifieke ANW zorgverlener geautoriseerd kan worden voor een bepaalde cliënt bij een bepaalde Custodian. Door dit vooraf te tonen (en te blokkeren bij een mismatch) kunnen daar geen fouten in gemaakt worden, en ontstaan er geen situaties waarin een zorgverlener gegevens probeert op te halen maar het systeem van de Custodian op basis van haar eigen logica toch geen toegang verleent. - -_**Noot**: Decentralized Identifiers (DID’s) vertrouwen per zorginstelling (i.p.v. Nuts-node breed) is nog geen onderdeel van de Nuts node. Is dus werk voor Nuts core team._ - -In het systeem van de Actor wordt een viewer ontwikkeld, waarin de gebruiker zich identificeert met een cryptografisch middel. De viewer kan vervolgens gegevens tonen uit verschillende bronnen op basis van verkregen autorisaties en VCs. Eventueel kan deze informatie nog worden aangevuld met aanwezige informatie in het eigen systeem waartoe de gebruiker geautoriseerd is. Nieuwe rapportages en meetwaarden kunnen worden aangemaakt en verzonden naar het bronsysteem. - -### 6.2. Push/(notified) pull - -In het ontwerp van deze Bolt gaan we uit van een notified pull. Dit houdt in dat gegevens niet actief gestuurd worden naar het doelsysteem (push) en dat het doelsysteem niet lukraak gegevens ophaalt (pull). In plaats daarvan stuurt het systeem van de “regisseur” een notificatie naar het doelsysteem dat er toegang wordt verleend tot specifieke gegevens in het bronsysteem. Alleen naar aanleiding van die notificatie haalt het doelsysteem de benodigde gegevens op en wordt de mogelijkheid geboden om gegevens weer te geven/bewerken. De ‘fysieke bewaring’ van de gegevens blijft uitsluitend in het bronsysteem. - -Het voordeel van deze aanpak boven push is dat het doelsysteem gegevens alleen dan op hoeft te halen wanneer de ontvangende partij ook daadwerkelijk behoefte aan deze gegevens heeft. Op deze manier kan dus beter aan de eis van dataminimalisatie worden voldaan. Ook is het eenvoudiger om vast te stellen dat de persoon die gegevens ophaalt de juiste persoon is, en om te voldoen aan de NEN7513 en AVG verplichting om te loggen welke persoon de gegevens heeft ingezien. Vergelijk een persoonlijke e-mail inbox waar je inlogt om je e-mail op te halen met een faxmachine op de afdeling waar iedereen die langsloopt bij kan. Het is overigens aan de leverancier(s) om te voldoen aan de NEN7513: gebeurtenissen en acties van ANW-medewerkers dienen gelogd te worden (op gebruikers-ID/-rol). Het doelsysteem moet deze informatie aanleveren t.b.v. de logging; het bronsysteem slaat deze loggingsgegevens op. - -Het voordeel van deze aanpak boven enkel een pull mechanisme is timing en (enige) vereenvoudiging van beveiliging. Wanneer het doelsysteem geen notificatie ontvangt moet er periodiek gepulled worden om te zien of er nieuwe gegevens staan te wachten. Analoog aan het constant herladen van een webpagina. Dit veroorzaakt veel onnodig extra netwerkverkeer en vertragingen in het ontvangen van berichten. Ook moet het bronsysteem dan bij elke pull het verzoek naast een complexe rechtenstructuur leggen om te ontdekken of de ontvanger het gevraagde bericht mag ophalen. - -Het concept van notified pull is daarom de enige manier om alle gevraagde functionaliteit te ondersteunen, privacy te waarborgen en auditing (beoordeling op rechtmatigheid en betrouwbaarheid) op de juiste manier toe te passen. Het voorkomt onnodig kopiëren van gegevens tussen systemen en de bronhouder behoudt de volledige controle over wie er toegang krijgt tot gegevens. - -De notificatie kan door de ontvangende partij gebruikt worden om direct een gebruiker te notificeren of andere processen in gang te zetten. - -## 7. Wet- en regelgeving - -De in dit kader meest van toepassing zijnde wetteksten zijn: - -* de WGBO (wet op de geneeskundige behandelovereenkomst); -* de Wabvpz (wet aanvullende bepalingen verwerking persoonsgegevens in de zorg); -* de AVG (algemene verordening gegevensbescherming); -* de UAVG (uitvoeringswet algemene verordening gegevensbescherming); -* de Begz (besluit elektronische gegevensverwerking door zorgaanbieders); -* en straks mogelijk de Wegiz (wet elektronische gegevensuitwisseling in de zorg). - -De WDO is niet relevant voor deze toepassing, aangezien deze het identificeren van patiënten regelt. In het kader van de ANWzorg hebben we alleen te maken met het identificeren van zorgverleners. - -In de AVG (Artikel 9 Lid 1 van de AVG en Artikel 22 lid 1 van de UAVG) staat dat het verboden is om bijzondere (medische) persoonsgegevens te verwerken, tenzij er sprake is van een specifieke voorwaarde. In verband met het verstrekken van gezondheidszorg is het toegestaan dat bronhouders en ontvangende partij deze bijzondere persoonsgegevens verwerken voor het daarvoor gestelde doeleind (gezondheidszorg). Deze verwerking is alleen rechtmatig indien voldaan wordt aan 1 van de hieronder genoemde grondslagen in de AVG: - -1. toestemming van de betrokkene -2. uitvoeren van een overeenkomst -3. wettelijke verplichting -4. vitaal belang van de betrokkene -5. uitvoeren van een publiekrechtelijke taak -6. gerechtvaardigd belang van de organisatie - -Voor de bronhouder geldt de grond van wettelijke verplichting tot het bijhouden van een dossier, dit is in de WGBO opgenomen. - -Verder is er sprake van het uitvoeren van een overeenkomst en een onderaannemerschap tussen bronhouder en collega-zorginstelling. Er wordt zorg verleend door een afgesproken derde partij onder verantwoordelijkheid van de bronhouder. Daarom mag deze derde partij ook gegevens verwerken namens de bronhouder. In de overeenkomst tussen partijen is onder meer gewaarborgd dat alle partijen passende technische en organisatorische maatregelen hebben genomen (conform art. 32 van de AVG). - -Tenslotte stelt de WGBO (artikel 457 lid 2) dat degene die optreedt als de vervanger van een hulpverlener toegang mag krijgen tot het dossier van een patiënt, voor zover de verstrekking noodzakelijk is voor de door hen in dat kader te verrichten werkzaamheden. - -## 8. Beveiliging & vertrouwen - -Bij notified pull haalt de ontvangende partij gegevens op bij de bronhouder. De bronhouder, als gegevensbeheerder, moet zich ervan vergewissen dat de opvragende partij inderdaad bij de gegevens mag. - -Bij het opvragen is naast de opvragende partij ook een specifieke gebruiker en het doelsysteem betrokken. Het is het doelsysteem dat, technisch gezien, de gegevens ophaalt en toont aan de gebruiker. Het is de gebruiker die daadwerkelijk inzage krijgt in de gegevens. Het doelsysteem haalt gegevens op in het kader van een van de “regisseur” verkregen autorisatie. Om te voorkomen dat ongeoorloofden de gegevens kunnen ophalen en inzien moet het bronsysteem de volgende zaken kunnen controleren: - -1. Welk doelsysteem verbinding maakt -2. Dat het doelsysteem als verwerker optreedt voor de opvragende partij -3. Namens welke natuurlijke persoon het doelsysteem verbinding maakt -4. Dat deze persoon de opvragende partij vertegenwoordigt -5. Dat de opvragende partij een autorisatie heeft verkregen van de “regisseur” -6. Dat de autorisatie nog valide is (binnen gestelde tijdvak) -7. Dat de “regisseur” geautoriseerd is om autorisaties aan de opvragende partij uit te mogen geven (maw: maakt de opvragende partij wel deel uit van “onze regio”?) -8. Dat de “regisseur” geautoriseerd is om autorisaties voor deze cliënt uit te mogen geven (maw: ontvangt deze cliënt wel ANW zorg via deze “regisseur”?) - -Ervan uitgaande dat er behoefte is aan een zo open mogelijke oplossing, waarbij elke partij evenveel kansen krijgt in de markt en waarbij de beveiliging van een erg hoog niveau is, is het gebruik van cryptografische bewijzen noodzakelijk. Elke van de bovengenoemde controles moet (op termijn) met behulp van een cryptografische handtekening uitgevoerd kunnen worden. Waar dit al mogelijk is zullen we dat vanaf dag één zo inrichten. Waar dat op dit moment nog niet mogelijk is zullen aanvullende afspraken worden gemaakt. - -[RFC002 §7](https://nuts-foundation.gitbook.io/drafts/rfc/rfc002-authentication-token#7-supported-means) specificeert welke middelen geaccepteerd moeten worden voor de persoonlijke identificatie. Middelen die noodzakelijk zijn voor de identificatie van organisaties zijn nog in ontwikkeling. Voor de autorisaties die de “regisseur” uit mag geven zal gebruik worden gemaakt van verifiable credentials ([RFC011](https://nuts-foundation.gitbook.io/drafts/rfc/rfc011-verifiable-credential)). - -## 9. Open & inclusief - -We kiezen in het ontwerp van deze Bolt voor open standaarden, volgens het principe van comply or campaign. Er worden geen verplichtingen gesteld tot het gebruik van bepaalde services of software. Elke partij is vrij om te kiezen of ze gebruik maken van ondersteunende diensten zolang deze diensten geen eisen of restricties opleggen aan andere partijen. - -In de basis betekent dit dat er uitgegaan wordt van een gedistribueerde oplossing, waarbij elke partij gelijk is en waarbij zonder tussenkomst van derden, twee partijen rechtstreeks met elkaar gegevens kunnen uitwisselen inzake de ANW zorg. +# ANW + +# Inhoudsopgave + + +* [ANW](#anw) +* [Inhoudsopgave](#inhoudsopgave) + * [Uitgeschreven proces flow](#uitgeschreven-proces-flow) + * [Uitgangspunten](#uitgangspunten) + * [Woordenlijst](#woordenlijst) + * [NUTS-adresboek](#nuts-adresboek) + * [Regisseur vraagt de cliënt / medewerker gegevens op in alle ECD’s](#regisseur-vraagt-de-cliënt--medewerker-gegevens-op-in-alle-ecds) + * [Omschrijving](#omschrijving) + * [Endpoints voor data regisseur](#endpoints-voor-data-regisseur) + * [Sequentie diagram](#sequentie-diagram) + * [Voorbeeld verifiable credential Regisseur (om cliënten/medewerkers op te halen)](#voorbeeld-verifiable-credential-regisseur-om-cliëntenmedewerkers-op-te-halen) + * [Onderstaande credential geeft het inzagesysteem uit.](#onderstaande-credential-geeft-het-inzagesysteem-uit) + * [Regisseur kent medewerker toe aan cliënt](#regisseur-kent-medewerker-toe-aan-cliënt) + * [Omschrijving](#omschrijving-1) + * [Medewerker haalt gegevens op bij het bronsysteem](#medewerker-haalt-gegevens-op-bij-het-bronsysteem) + * [Voorbeeld task](#voorbeeld-task) + * [Voorbeeld update task](#voorbeeld-update-task) + * [Voorbeeld verifiable credential Regisseur (get/put op task)](#voorbeeld-verifiable-credential-regisseur-getput-op-task) + * [Bronhouder](#bronhouder) + * [Zorgverlener](#zorgverlener) + * [Voorbeeld verifiable credential bronhouder (informatie opvragen)](#voorbeeld-verifiable-credential-bronhouder-informatie-opvragen) + * [Endpoints voor data overdracht](#endpoints-voor-data-overdracht) + * [Sequentie diagram](#sequentie-diagram-1) + * [Toelichting per stap](#toelichting-per-stap) + * [Logging](#logging) + * [Nuts register](#nuts-register) + * [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) + * [Woningtoegang](#woningtoegang) + * [TODO](#todo) + + +## Uitgeschreven proces flow + +### Uitgangspunten + +* De regisseur is op de hoogte van de medewerkersplanning. Dit kan bijvoorbeeld met Excellijsten die wekelijks gedeeld + worden, zoals het al in de huidige situatie gebeurd. De implementatie die in dit document beschreven wordt, houdt geen + rekening met het + ontsluiten van de planning. +* Er is een samenwerkingsverband tussen de regisseur en de zorgaanbieders. +* Wij maken gebruik van directe aanroepen per Fhirresource en niet van compositions zoals bij de eOverdracht. Hiervoor + is gekozen omdat de meest actuele gegevens + nodig zijn voor de ANW-usecase. Zoals het ophalen van de laatste vijf rapportages. + +### Woordenlijst + +* **Regisseur**: De partij die de koppeling tussen de cliënten en ANW-zorgmedewerker maakt. +* **Bronsysteem**: Het systeem/zorgaanbieder waar de cliënt in bekend is. +* **Ontvanger**: Het systeem/zorgaanbieder waar de ANW-zorgmedewerker werkt. +* **ANW-Bronhouder**: is het bronsysteem +* **ANW-Zorgverlener**: is de ontvanger +* **ANW-regisseur**: is de regisseur +* **VC**: Verifiable credential +* **VP**: Verifiable presentation + +### 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 +te geven tot deze regisseur met als service “ANW-Regisseur”. + +### Regisseur vraagt de cliënt / medewerker gegevens op in alle ECD’s + +#### Omschrijving + +De regisseur heeft een functionaliteit tot zijn beschikking waarmee hij eenvoudig cliënten en medewerkers met elkaar kan +koppelen. Dit kan zowel zijn eigen ECD zijn als een applicatie van derden, zie onderstaande afbeelding. + +![](../.gitbook/assets/ANW_koppelen.png) +Het uitgangspunt is dat de regisseur een eigen NUTS-node heeft draaien. De regisseur kan met behulp van zijn eigen node +een access token opvragen om hiermee de +cliënt- en medewerkergegevens van de verschillende zorgaanbieders op te vragen. + +Deze zorgaanbieders vinden de regisseur door binnen het NUTS-adresboek op de service “ANW-Bronhouder” en +“ANW-Zorgverlener” te filteren. Hiervan krijgt hij de endpoints terug die gebruikt kunnen worden om de informatie mee op +te vragen. + +Binnen dit access token wordt gespecificeerd wie de bevraging uitvoert. Wanneer er een samenwerkingsverband is, is het +niet +nodig vertrouwensniveau substantieel te gebruiken. Het bevragen van de cliënt en medewerker gegevens wordt door de +regisseur geïnitialiseerd. Dit kan op eender welk moment plaatsvinden met een door de regisseur te bepalen frequentie. + +Op basis van het ontvangen access token kan de zorgaanbieder bepalen tot welke endpoints de regisseur toegang heeft. Dit +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. + +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 +contract)” zijnde medewerkers teruggegeven worden voor de ANW-usecase. + +Alle gekenmerkte cliënten worden teruggeven, onafhankelijk of er een BSN staat geregistreerd of niet. Het is de +verantwoordelijkheid van de regisseur applicatie om cliënten die niet aan de door hun gestelde voorwaarden voldoen, niet +te tonen. + +De zorgaanbieder retourneert de lijst met cliënten en medewerkers aan de regisseur. Deze kan vervolgens de lijsten +gebruiken om zelf te filteren op de gewenste cliënten / medewerkers. + +#### Endpoints voor data regisseur + +| ZIB | Endpoint | Profiel | +|:---------------|:------------------------------------|:---------------------------------------------------------------------------------------------------------------------------------------------------------------------| +| Patient | /fhir/Patient?\_query=ANW-zorg | [https://simplifier.net/packages/nictiz.fhir.nl.stu3.zib2017/2.2.10/files/1954638](https://simplifier.net/packages/nictiz.fhir.nl.stu3.zib2017/2.2.10/files/1954638) | +| Zorgmedewerker | /fhir/Practitioner?\_query=ANW-zorg | [https://simplifier.net/nictizstu3-zib2017/nl-core-practitioner](https://simplifier.net/nictizstu3-zib2017/nl-core-practitioner) | + +#### Sequentie diagram + +![](../.gitbook/assets/ANW_regisseur_sequence.png) + +#### Voorbeeld verifiable credential Regisseur (om cliënten/medewerkers op te halen) + +Onderstaande credential wordt uitgegeven door het bronsysteem. + +```json +{ + "verifiableCredential": { + "@context": [ + "https://nuts.nl/credentials/v1", + "https://www.w3.org/2018/credentials/v1", + "https://w3c-ccg.github.io/lds-jws2020/contexts/lds-jws2020-v1.json" + ], + "type": [ + "NutsAuthorizationCredential", + "VerifiableCredential" + ], + "credentialSubject": { + "id": "did:nuts:{Did van regisseur}", + "purposeOfUse": "ANW-Bronhouder-RegisseurToegang", + "resources": [ + { + "operations": [ + "search" + ], + "path": "/Patient?_query=ANW-zorg", + "userContext": true + }, + { + "operations": [ + "create" + ], + "path": "/notification", + "userContext": false + } + ] + }, + "proof": { + "created": "2024-01-18T16:27:52.939738279+01:00", + "jws": "eyJhbGciOiJFU......", + "proofPurpose": "assertionMethod", + "type": "JsonWebSignature2020", + "verificationMethod": "did:nuts:Eb1U3ap94wcziQhUfZSW........" + } + } +} +``` + +Onderstaand is een voorbeeld van een POST voor het aanmaken van deze credential: + +```json +{ + "issuer": "did:nuts:{DID van de bronhouder}", + "type": "NutsAuthorizationCredential", + "credentialSubject": { + "id": "did:nuts:{Did van de regiseur}", + "purposeOfUse": "ANW-Bronhouder-RegisseurToegang", + "resources": [ + { + "operations": [ + "search" + ], + "path": "/Patient?_query=ANW-zorg", + "userContext": true + }, + { + "operations": [ + "create" + ], + "path": "/notification", + "userContext": false + } + ] + }, + "visibility": "private" +} +``` + +### Onderstaande credential geeft het inzagesysteem uit. + +```json +{ + "verifiableCredential": { + "@context": [ + "https://nuts.nl/credentials/v1", + "https://www.w3.org/2018/credentials/v1", + "https://w3c-ccg.github.io/lds-jws2020/contexts/lds-jws2020-v1.json" + ], + "type": [ + "NutsAuthorizationCredential", + "VerifiableCredential" + ], + "credentialSubject": { + "id": "did:nuts:{Did van regisseur}", + "purposeOfUse": "ANW-Zorgverlener-RegisseurToegang", + "resources": [ + { + "operations": [ + "search" + ], + "path": "/Practitioner?_query=ANW-zorg", + "userContext": true + }, + { + "operations": [ + "create" + ], + "path": "/notification", + "userContext": false + } + ] + }, + "proof": { + "created": "2024-01-18T16:27:52.939738279+01:00", + "jws": "eyJhbGciOiJFU......", + "proofPurpose": "assertionMethod", + "type": "JsonWebSignature2020", + "verificationMethod": "did:nuts:Eb1U3ap94wcziQhUfZSW........" + } + } +} +``` + +Onderstaand is een voorbeeld van een POST voor het aanmaken van deze credential: + +```json +{ + "issuer": "did:nuts:{Did van de zorgverlener organisatie}", + "type": "NutsAuthorizationCredential", + "credentialSubject": { + "id": "did:nuts:{did van de regisseur}", + "purposeOfUse": "ANW-Zorgverlener-RegisseurToegang", + "resources": [ + { + "operations": [ + "search" + ], + "path": "/Practitioner?_query=ANW-zorg", + "userContext": true + }, + { + "operations": [ + "create" + ], + "path": "/notification", + "userContext": false + } + ] + }, + "visibility": "private" +} +``` + +Voor het aanmaken van deze credentials moet door de leverancier een functionaliteit ontwikkeld worden waar voor de twee +services rechten worden verleend aan een regisseur. + +### Regisseur kent medewerker toe aan cliënt + +#### Omschrijving + +Wanneer de regisseur een medewerker en cliënt aan elkaar gekoppeld heeft, zal deze een “Task” aanmaken. Deze “Task” +omschrijft dat er een “Verifiable credential” aangemaakt moet worden in het bronsysteem. Die task heeft als +status “[Requested](https://www.hl7.org/fhir/STU3/valueset-task-status.html)”. Binnen de “Task” staat gedefinieerd voor +wie en wat de credential uitgegeven moet worden. + +De task houdt volgende in: + +| Veld | Beschrijving | Nuts | Data type | +|:---------------|:-----------------------------------------------------------------------------------|:------------------------------------------------|:----------| +| Requester | Wie de autorisatie will aanmaken(ANW regisseur app) | Organization DID Regisseur App | DID | +| Authorizer | Bron systeem van wie de data(patient) is | Organization DID bronsysteem | DID | +| Accessor | Systeem wat de data gaat bevragen en tonen in een weergave (eigenaar Practitioner) | Organization DID partij met toegang tot de data | DID | +| PractitionerId | MedewerkerId die toegang heeft tot het systeem | | ID | +| PatientId | Patiënt waar toegang voor verleend moet worden | | ID | + +Vervolgens maakt de regisseur een verifiable credential aan voor de Task waarmee aan het bronsysteem en het ontvangende +systeem lees- en schrijfrechten worden gegeven. Aansluitend stuurt de regisseur een notificatie richting het bronsysteem +waarmee de Task daar kenbaar gemaakt wordt. + +Het bronsysteem maakt een verifiable credential aan met de gegevens in de task voor de medewerker-cliëntcombinatie. Die +credentials hebben een geldigheidsduur van 48 uur. Deze geldigheidsduur staat beschreven in zowel de Task als de +Nuts-autorisatiecredential. + +In dit credential is gedefinieerd welke profielen bevraagd mogen worden. De profiel-URL’s die opgenomen zijn kunnen in +het volgende hoofdstuk teruggelezen worden: [Endpoints voor data regisseur](#endpoints-voor-data-regisseur) + +Zodra de credential gemaakt is, wordt deze automatisch (in de huidige opzet) binnen het NUTS netwerk kenbaar gemaakt. +Het bronsysteem zet hierbij de status van de ontvangen “Task” +op “[Ready](https://www.hl7.org/fhir/STU3/valueset-task-status.html)” bij de regisseur. Ook stuurt het bronsysteem het +id van de uitgegeven verifiable credential mee in de PUT van de task. Deze id kan door de zorgverlener gebruikt worden +om het juiste VC te zoeken en mee te sturen naar het bronsysteem. Hiermee wordt voorkomen dat meerdere VC’s door de +zorgverlener worden verstuurd indien aan één cliënt meerdere medewerkers worden toegekend. + +Zodra de task de status “Ready” krijgt, stuurt de regisseur een “Notify” naar de ontvanger. Binnen deze “Notify” is de +task-id gedefinieerd waaronder het credential is aangemaakt. De notify specificeert richting de ontvanger dat medewerker +X de gegevens van cliënt Y kan gaan opvragen in het bronsysteem. + +### Medewerker haalt gegevens op bij het bronsysteem + +Zodra de medewerker de gegevens wil inzien, zoekt het ECD of er een verifiable credential is uitgegeven. Nadat dit +gevonden is authenticeert de medewerker zich via het niveau dat het bronsysteem heeft gespecificeerd bij de op te halen +endpoints. Op het moment van schrijven zal altijd het niveau “Low” aangehouden worden. Eens geautoriseerd wordt er een +Access token opgehaald waarmee de individuele endpoints bevraagd kunnen worden om de cliënt gegevens te krijgen. Het +is de verantwoordelijkheid van de ontvanger dat alleen de medewerker uit de task de informatie in het bronsysteem +ophaalt. + +De endpoints die bevraagd worden zijn bepaald door de ECD-applicatie en niet door de endpoints in het “verifiable +credential”. Voor nu houden wij hier de eerder gespecificeerde endpoints voor +aan: [Endpoints voor data regisseur](#ANW-Regisseur) + +Zodra het token opgehaald is, kan de ontvanger bij het bronsysteem de gegevens ophalen. Het bronsysteem gaat kijken of +de ontvanger gemachtigd is via het credential om de gegevens op te halen. Dit gebeurt via de profielen in het +credential. Indien de ontvanger niet gemachtigd is voor een endpoint krijgt hij hierop een “403 forbidden” terug. + +Ervan uitgaande dat de ontvanger rechten heeft tot alle gegevens vastgesteld voor de ANW-usecase, worden de opgevraagde +gegevens teruggestuurd naar de ontvanger. De ontvanger kan vervolgens de gegevens op een door hem gekozen manier tonen +in zijn eigen ECD. + +Voor nu is het bijwerken van de Task naar "Voltooid" buiten scope gelaten omdat het functionele gevolg hiervan nog niet +helder is. + +#### Voorbeeld task + +```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": "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": "Practitioner/{practitioner with access Id}", + "display": "anw practitioner display name" + } + ] + } +} +``` + +#### Voorbeeld update task + +```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": "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": "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" + } + ] +} +``` + +Het bronsysteem stuurt in de update het ID van het aangemaakt VC mee, waarmee het bevragende systeem het juiste VC kan +vinden voor het ophalen van de data. + +#### Voorbeeld verifiable credential Regisseur (get/put op task) + +Deze wordt uitgegeven door de regisseur, hiermee kan de ontvanger en bronsysteem de task die de regisseur klaarzet +bijwerken. Hiervoor heb je er één voor de Bronhouder en één voor de Zorgverlener: + +##### Bronhouder + +```json +{ + "verifiableCredential": { + "@context": [ + "https://nuts.nl/credentials/v1", + "https://www.w3.org/2018/credentials/v1", + "https://w3c-ccg.github.io/lds-jws2020/contexts/lds-jws2020-v1.json" + ], + "credentialSubject": { + "id": "did:nuts:{DID van bronhouder}", + "purposeOfUse": "ANW-Regisseur-Autorisatieverzoek", + "resources": [ + { + "operations": [ + "read", + "update" + ], + "path": "/Task/3b63dc7f-b4d2-49bf-b8ca-a91cdafdc464", + "userContext": false + } + ] + }, + "id": "did:nuts:AVoXh5Ls6kgFkENFqu6ag8jKgRVB9epvUoCuCTSqMKeb#f25de109-16bc-4323-bfda-dd36974777e1", + "issuanceDate": "2023-09-26T08:05:52.83885377Z", + "issuer": "did:nuts:AVoXh5Ls6kgFkENFqu6ag8jKgRVB9epvUoCuCTSqMKeb", + "proof": { + "created": "2023-09-26T08:05:52.839289486Z", + "jws": "eyJhbGciOiJFUzI1NiIsImI2NCI6ZmFsc2UsImNyaXQiOlsiYjY0Il0sImtpZCI6ImRpZDpudXRzOkFWb1hoNUxzNmtnRmtFTkZxdTZhZzhqS2dSVkI5ZXB2VW9DdUNUU3FNS2ViI0N1alVqQWlSdU1MSHQ3RV9KcTlueUJfc0tMRjQxc1paRklMSklpVFZxeFEifQ..e01dnQNAJ00L_iPj-TsAZvqWZrEEkZV3IRB9pSdTJd-kCzk450qMrf1l-k7iJ-T3zp4zOr1MuqUR0XnUf3cdKg", + "proofPurpose": "assertionMethod", + "type": "JsonWebSignature2020", + "verificationMethod": "did:nuts:AVoXh5Ls6kgFkENFqu6ag8jKgRVB9epvUoCuCTSqMKebCujUjAiRuMLHt7E_Jq9nyB_sKLF41sZZFILJIiTVqxQ" + }, + "type": [ + "NutsAuthorizationCredential", + "VerifiableCredential" + ] + } +} +``` + +##### Zorgverlener + +```json +{ + "verifiableCredential": { + "@context": [ + "https://nuts.nl/credentials/v1", + "https://www.w3.org/2018/credentials/v1", + "https://w3c-ccg.github.io/lds-jws2020/contexts/lds-jws2020-v1.json" + ], + "credentialSubject": { + "id": "did:nuts:{Did van zorgverlener}", + "purposeOfUse": "ANW-Regisseur-Inzageverzoek", + "resources": [ + { + "operations": [ + "read", + "update" + ], + "path": "/Task/3b63dc7f-b4d2-49bf-b8ca-a91cdafdc464", + "userContext": false + } + ] + }, + "id": "did:nuts:AVoXh5Ls6kgFkENFqu6ag8jKgRVB9epvUoCuCTSqMKeb#f25de109-16bc-4323-bfda-dd36974777e1", + "issuanceDate": "2023-09-26T08:05:52.83885377Z", + "issuer": "did:nuts:AVoXh5Ls6kgFkENFqu6ag8jKgRVB9epvUoCuCTSqMKeb", + "proof": { + "created": "2023-09-26T08:05:52.839289486Z", + "jws": "eyJhbGciOiJFUzI1NiIsImI2NCI6ZmFsc2UsImNyaXQiOlsiYjY0Il0sImtpZCI6ImRpZDpudXRzOkFWb1hoNUxzNmtnRmtFTkZxdTZhZzhqS2dSVkI5ZXB2VW9DdUNUU3FNS2ViI0N1alVqQWlSdU1MSHQ3RV9KcTlueUJfc0tMRjQxc1paRklMSklpVFZxeFEifQ..e01dnQNAJ00L_iPj-TsAZvqWZrEEkZV3IRB9pSdTJd-kCzk450qMrf1l-k7iJ-T3zp4zOr1MuqUR0XnUf3cdKg", + "proofPurpose": "assertionMethod", + "type": "JsonWebSignature2020", + "verificationMethod": "did:nuts:AVoXh5Ls6kgFkENFqu6ag8jKgRVB9epvUoCuCTSqMKeb#CujUjAiRuMLHt7E_Jq9nyB_sKLF41sZZFILJIiTVqxQ" + }, + "type": [ + "NutsAuthorizationCredential", + "VerifiableCredential" + ] + } +} +``` + +#### Voorbeeld verifiable credential bronhouder (informatie opvragen) + +Deze wordt uitgegeven door de bronhouder. Hiermee kan de ontvanger het cliëntdossier opvragen. + +```json +{ + "verifiableCredential": { + "@context": [ + "https://nuts.nl/credentials/v1", + "https://www.w3.org/2018/credentials/v1", + "https://w3c-ccg.github.io/lds-jws2020/contexts/lds-jws2020-v1.json" + ], + "type": [ + "NutsAuthorizationCredential", + "VerifiableCredential" + ], + "credentialSubject": { + "id": "did:nuts:SjkuVHVqZndMVVJwcnUzbjhuZklhODB1M1M0LW9LcWY0WUs5S2", + "purposeOfUse": "ANW-Bronhouder-Gegevensinzage", + "resources": [ + { + "operations": [ + "read" + ], + "path": "/Patient/{patientId}", + "userContext": true + }, + { + "path": "/Observation?patient={patientId}&code=http://loinc.org|8310-5&date=gt{received-date-minus-3-days}", + "operations": [ + "search" + ], + "userContext": true + }, + { + "path": "/Observation?patient={patientId}&code=http://loinc.org|85354-9", + "operations": [ + "search" + ], + "userContext": true + }, + { + "path": "/Observation?patient={patientId}&code=http://loinc.org|8893-0", + "operations": [ + "search" + ], + "userContext": true + }, + { + "path": "/Flag?patient={patientId}}&_profile=http://nictiz.nl/fhir/StructureDefinition/zib-Alert", + "operations": [ + "search" + ], + "userContext": true + }, + { + "etc": "etc" + } + ] + }, + "proof": { + "created": "2024-01-18T16:27:52.939738279+01:00", + "jws": "eyJhbGciOiJFU......", + "proofPurpose": "assertionMethod", + "type": "JsonWebSignature2020", + "verificationMethod": "did:nuts:Eb1U3ap94wcziQhUfZSW........" + } + } +} +``` + +#### Endpoints voor data overdracht + +Hieronder staan de endpoints die beschikbaar gesteld moeten worden door de partijen die toegang tot het ophalen en +wegschrijven van data aan partijen die ANW-zorg verlenen. Ter verheldering zijn de kolommen Sort en Count toegevoegd om +aan te tonen hoeveel resultaten er geretourneerd worden en op welke manier deze worden gesorteerd. Het is van belang dat +bij een aanroep alle parameters gebruikt worden die in de tabel staan en ook geen extra. Dit heeft te maken met de +controle die de systemen doen op de verifiable credentials. Die controle wordt op die manier gedaan om te voorkomen dat +met een parameter zoals een include extra gegevens meekomen. + +| ZIB | Method | Sort | Count | Endpoint | Profiel | +|:--------------------------------------------------------------|--------|-----------|-------|:---------------------------------------------------------------------------------------------------------------------------------------|:---------------------------------------------------------------------------------------------------------------------------------------------------------------------| +| Patiënt, Contactpersoon, Behandelaar(huisarts), Zorgaanbieder | GET | | | /fhir/Patient?\_id={patientId}&\_include=Patient:general-practitioner&\_include:iterate=PractitionerRole:organization | [https://simplifier.net/packages/nictiz.fhir.nl.stu3.zib2017/2.2.10/files/1954638](https://simplifier.net/packages/nictiz.fhir.nl.stu3.zib2017/2.2.10/files/1954638) | +| Bloeddruk | GET | Date DESC | 5 | /fhir/Observation?patient={patientId}&\_profile=http://nictiz.nl/fhir/StructureDefinition/zib-PulseRate&\_sort=-date&\_count=5 | [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 | GET | Date DESC | 5 | /fhir/Observation?patient={patientId}&\_profile=http://nictiz.nl/fhir/StructureDefinition/zib-BodyTemperature&\_sort=-date&\_count=5 | [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 | GET | Date DESC | 5 | /fhir/Observation?patient={patientId}&\_profile=http://nictiz.nl/fhir/StructureDefinition/zib-BodyHeight&\_sort=-date&\_count=5 | [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 | GET | Date DESC | 5 | /fhir/Observation?patient={patientId}&\_profile=http://nictiz.nl/fhir/StructureDefinition/zib-BodyWeight&\_sort=-date&\_count=5 | [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 | GET | Date DESC | 5 | /fhir/Observation?patient={patientId}&\_profile=http://nictiz.nl/fhir/StructureDefinition/zib-Respiration&\_sort=-date&\_count=5 | [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) | +| Rapportage | GET | Date DESC | 10 | /fhir/Observation?patient={patientId}&\_profile=https://nuts.nl/fhir/StructureDefinition/nl-core-nursingreport&\_sort=-date&\_count=10 | [https://simplifier.net/anw/nl-core-nursi ngreport](https://simplifier.net/anw/nl-core-nursingreport) | +| Rapportage (aanmaken) | POST | | | /fhir/Observation | [https://simplifier.net/anw/nl-core-nursingreport](https://simplifier.net/anw/nl-core-nursingreport) | +| Woonsituatie | GET | | | /fhir/Observation?patient={patientId}&\_profile=http://nictiz.nl/fhir/StructureDefinition/zib-LivingSituation | [https://simplifier.net/packages/nictiz.fhir.nl.stu3.zib2017/2.2.10/files/1954848](https://simplifier.net/packages/nictiz.fhir.nl.stu3.zib2017/2.2.10/files/1954848) | +| Alerts | GET | | | /fhir/Flag?patient={patientId}}&\_profile=http://nictiz.nl/fhir/StructureDefinition/zib-Alert | [https://simplifier.net/packages/nictiz.fhir.nl.stu3.zib2017/2.2.10/files/1954733](https://simplifier.net/packages/nictiz.fhir.nl.stu3.zib2017/2.2.10/files/1954733) | +| Wilsverklaring | GET | | | /fhir/Consent?patient={patientId}&\_profile=http://nictiz.nl/fhir/StructureDefinition/zib-AdvanceDirective | [https://simplifier.net/packages/nictiz.fhir.nl.stu3.zib2017/2.2.10/files/1954726](https://simplifier.net/packages/nictiz.fhir.nl.stu3.zib2017/2.2.10/files/1954726) | +| Allergie | GET | | | /fhir/AllergyIntolerance?patient={patientId}&\_profile=http://nictiz.nl/fhir/StructureDefinition/zib-AllergyIntolerance | [http://nictiz.nl/fhir/StructureDefinition/zib-AllergyIntolerance](http://nictiz.nl/fhir/StructureDefinition/zib-AllergyIntolerance) | + +#### Sequentie diagram + +![](../.gitbook/assets/ANW_koppel_sequence.png) + +##### Toelichting per stap + +| Stapnr. | Toelichting | +|---------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| +| 7 | Gebruikt hierbij het notificatie-endpoint dat gevonden is met de service "ANW-Bronhouder". In het AccessToken gebruik je de purposeOfUse "ANW-Bronhouder-RegisseurToegang" | +| 8 | Gebruikt hierbij het fhir-endpoint dat gevonden is met de service "ANW-Regisseur". In het AccessToken gebruik je de purposeOfUse "ANW-Regisseur-Autorisatieverzoek" | +| 10 | Gebruikt hierbij het fhir-endpoint dat gevonden is met de service "ANW-Regisseur". In het AccessToken gebruik je de purposeOfUse "ANW-Regisseur-Autorisatieverzoek" | +| 11 | Gebruikt hierbij het notificatie-endpoint dat gevonden is met de service "ANW-Zorgverlener". In het AccessToken gebruik je de purposeOfUse "ANW-Zorgverlener-RegisseurToegang" | +| 12 | Gebruikt hierbij het fhir-endpoint dat gevonden is met de service "ANW-Regisseur". In het AccessToken gebruik je de purposeOfUse "ANW-Regisseur-Autorisatieverzoek" | +| 15 | Het VC-ID dat in de uit stap 12 opgehaalde task kan gebruikt worden om de bijbehorende Verifiable credential te vinden. | +| 17 | Zie de [GET endpoints](#Endpoints-voor-data-overdracht). Afhankelijk van de implementatie per leverancier wanneer de GET requests worden uitgevoerd voor het opbouwen van het "ANW-Dossier" | + +## Logging + +Voor logging gaan we er vanuit dat implementeerders voldoen aan de huidige wet en regelgeving omtrent het inzien van +medische gegevens. + +## Nuts register + +Hier staan de verschillende nutsservices die de verschillende partijen moeten registreren met daarbij de endpoints die +ze beschikbaar moeten stellen. + +### ANW-Regisseur +- Service: **ANW-Regisseur** + +| Endpoint | Beschrijving | +|:---------|:------------------------------------------------------------------------------| +| fhir | Base fhir endpoint waar de Task opgehaald en geüpdatet kan worden. | +| oauth | Volledige URL van de n2n/auth/v1/accesstoken van de nutsnode van de regisseur | + +### ANW-Bronhouder +- Service: **ANW-Bronhouder** + +| Endpoint | Beschrijving | +|:-------------|:----------------------------------------------------------------------------------------------------------------------------------------| +| fhir | Base fhir endpoint waar de patienten ontsloten worden voor de regisseur en waar de data opgehaald kan worden voor de “ANW-Zorgverlener” | +| oauth | Volledige URL van de n2n/auth/v1/accesstoken van de nutsnode van de bronhouder van de data | +| 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 | +|:-------------|:------------------------------------------------------------------------------------------------------------------------------------------| +| fhir | Base fhir endpoint waar de Practitioners ontsloten worden waarop geautoriseerd kan worden | +| 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. + +## Woningtoegang + +Als er woningtoegang informatie beschikbaar is in het bronsysteem van de cliënt, dan is dit zeer nuttig om te delen met +de zorgverlener. De location resource is hiervoor geschikt. De overweging is gemaakt dit niet in het adres van de cliënt +te stoppen. Het adres is hier minder voor geschikt, omdat een nieuw profiel nodig zou zijn om te voorkomen dat +woningtoegang mee kan komen met alle nl-core-patients. Vooral een probleem buiten de usecase van ANW. + +De location resource relateert niet direct met de cliënt. Het bronsysteem voegt de referentie naar die resource toe aan +de inputs voor de task. Dit gebeurt in stap 12 van [het sequentiediagram](#sequentie-diagram-1) voordat de PUT-actie +richting de regisseur is gedaan. + +Het is belangrijk voor het zorgverlenersysteem dat de regisseur de inputs ook overneemt in de task. Dit betreft een +absolute referentie. Zie hieronder een voorbeeld van input met de woningtoegang die binnen een task valt. + +```json +{ + "..." : "...", + "input": [ + { + "type": { + "text": "woningtoegang" + }, + "valueReference": { + "reference": "{FHIR-SERVER}/Location/101" + } + } + ] +} +``` + +In de location resource moet de description gevuld zijn met de informatie om toegang tot de woning te verkrijgen. Zie +het onderstaande voorbeeld. + +```json +{ + "resourceType": "Location", + "id": "101", + "description": "Sleutel onder de tuinkabouter" +} +``` + +### TODO + +* `userContext` voor het opvragen van de lijst van Patient/Practitioner voor ANW-zorg moet duidelijk gemaakt worden: + `true` of `false`? Mogelijk moet dit om data protection redenen op `true` (immers grote lijst van namen). Voordat dit + 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 From bc1d4ef5b5b8080015d4cc865699c85ca186d29e Mon Sep 17 00:00:00 2001 From: "hans.vanroon" Date: Fri, 8 Aug 2025 10:07:50 +0200 Subject: [PATCH 2/4] processed text adjustments and improvements for ANW documentation. Reduced the number of observations that can be created. --- anw/avond-nacht-en-weekendzorg-anw.md | 31 ++++++++++++++++----------- 1 file changed, 18 insertions(+), 13 deletions(-) diff --git a/anw/avond-nacht-en-weekendzorg-anw.md b/anw/avond-nacht-en-weekendzorg-anw.md index c3486eb..f054f33 100644 --- a/anw/avond-nacht-en-weekendzorg-anw.md +++ b/anw/avond-nacht-en-weekendzorg-anw.md @@ -67,7 +67,8 @@ 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 +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 @@ -696,6 +697,7 @@ Hier staan de verschillende nutsservices die de verschillende partijen moeten re ze beschikbaar moeten stellen. ### ANW-Regisseur + - Service: **ANW-Regisseur** | Endpoint | Beschrijving | @@ -704,6 +706,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 | @@ -713,6 +716,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 | @@ -732,15 +736,14 @@ leverancier welke registraties beschikbaar zijn richting het brondossier voor de **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. +stap als het registreren van de tekstrapportage. Voor de onderstaande drie metingen is gekozen vanwege wat er nu +mogelijk is aan de ontvangende kant. | 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 @@ -749,15 +752,17 @@ Zie [Fout afhandeling/Handling Errors](https://informatiestandaarden.nictiz.nl/w 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. +Nictiz-profielen geeft de operationoutcome aan welke fout dit betreft. Zodat de zorgverlener de nodige aanpassing kan +doen. ## Woningtoegang Als er woningtoegang informatie beschikbaar is in het bronsysteem van de cliënt, dan is dit zeer nuttig om te delen met de zorgverlener. De location resource is hiervoor geschikt. De overweging is gemaakt dit niet in het adres van de cliënt -te stoppen. Het adres is hier minder voor geschikt, omdat een nieuw profiel nodig zou zijn om te voorkomen dat -woningtoegang mee kan komen met alle nl-core-patients. Vooral een probleem buiten de usecase van ANW. +te stoppen. Het patient.address veld is hier minder voor geschikt, omdat een nieuw profiel nodig zou zijn om te +voorkomen dat +woningtoegang mee kan komen met alle patiënten volgens het profiel nl-core-patients. Vooral een probleem buiten de +usecase van ANW. De location resource relateert niet direct met de cliënt. Het bronsysteem voegt de referentie naar die resource toe aan de inputs voor de task. Dit gebeurt in stap 12 van [het sequentiediagram](#sequentie-diagram-1) voordat de PUT-actie @@ -768,7 +773,7 @@ absolute referentie. Zie hieronder een voorbeeld van input met de woningtoegang ```json { - "..." : "...", + "...": "...", "input": [ { "type": { @@ -783,13 +788,13 @@ absolute referentie. Zie hieronder een voorbeeld van input met de woningtoegang ``` In de location resource moet de description gevuld zijn met de informatie om toegang tot de woning te verkrijgen. Zie -het onderstaande voorbeeld. +het onderstaande voorbeeld met de relevante informatie. ```json { - "resourceType": "Location", - "id": "101", - "description": "Sleutel onder de tuinkabouter" + "resourceType": "Location", + "id": "101", + "description": "Sleutel onder de tuinkabouter" } ``` From 851cdef22feadc34d3908892e3206d282094b8e7 Mon Sep 17 00:00:00 2001 From: "hans.vanroon" Date: Fri, 8 Aug 2025 10:11:52 +0200 Subject: [PATCH 3/4] added new sections for measurements, error handling, and residence access in ANW documentation. To the correct MD file --- anw/TD-ANWv2024.1.md | 87 ++++++++++++++++++++++++++++++++++++++++++-- 1 file changed, 84 insertions(+), 3 deletions(-) diff --git a/anw/TD-ANWv2024.1.md b/anw/TD-ANWv2024.1.md index fc73f1e..af33a50 100644 --- a/anw/TD-ANWv2024.1.md +++ b/anw/TD-ANWv2024.1.md @@ -32,6 +32,10 @@ * [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) + * [Woningtoegang](#woningtoegang) * [TODO](#todo) @@ -62,8 +66,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 +96,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 +697,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 +706,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 +716,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 +725,79 @@ 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. Voor de onderstaande drie metingen is gekozen vanwege wat er nu +mogelijk is aan de ontvangende kant. + +| 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) | + +## 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. + +## Woningtoegang + +Als er woningtoegang informatie beschikbaar is in het bronsysteem van de cliënt, dan is dit zeer nuttig om te delen met +de zorgverlener. De location resource is hiervoor geschikt. De overweging is gemaakt dit niet in het adres van de cliënt +te stoppen. Het patient.address veld is hier minder voor geschikt, omdat een nieuw profiel nodig zou zijn om te +voorkomen dat +woningtoegang mee kan komen met alle patiënten volgens het profiel nl-core-patients. Vooral een probleem buiten de +usecase van ANW. + +De location resource relateert niet direct met de cliënt. Het bronsysteem voegt de referentie naar die resource toe aan +de inputs voor de task. Dit gebeurt in stap 12 van [het sequentiediagram](#sequentie-diagram-1) voordat de PUT-actie +richting de regisseur is gedaan. + +Het is belangrijk voor het zorgverlenersysteem dat de regisseur de inputs ook overneemt in de task. Dit betreft een +absolute referentie. Zie hieronder een voorbeeld van input met de woningtoegang die binnen een task valt. + +```json +{ + "...": "...", + "input": [ + { + "type": { + "text": "woningtoegang" + }, + "valueReference": { + "reference": "{FHIR-SERVER}/Location/101" + } + } + ] +} +``` + +In de location resource moet de description gevuld zijn met de informatie om toegang tot de woning te verkrijgen. Zie +het onderstaande voorbeeld met de relevante informatie. + +```json +{ + "resourceType": "Location", + "id": "101", + "description": "Sleutel onder de tuinkabouter" +} +``` + ### TODO * `userContext` voor het opvragen van de lijst van Patient/Practitioner voor ANW-zorg moet duidelijk gemaakt worden: From 0bbbeba5280d338520b617c92c882709b8667761 Mon Sep 17 00:00:00 2001 From: HvanderGeest Date: Wed, 1 Oct 2025 09:44:00 +0200 Subject: [PATCH 4/4] Update TD-ANWv2024.1.md Fixes for bloodpressure --- anw/TD-ANWv2024.1.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/anw/TD-ANWv2024.1.md b/anw/TD-ANWv2024.1.md index af33a50..e284004 100644 --- a/anw/TD-ANWv2024.1.md +++ b/anw/TD-ANWv2024.1.md @@ -658,7 +658,7 @@ met een parameter zoals een include extra gegevens meekomen. | ZIB | Method | Sort | Count | Endpoint | Profiel | |:--------------------------------------------------------------|--------|-----------|-------|:---------------------------------------------------------------------------------------------------------------------------------------|:---------------------------------------------------------------------------------------------------------------------------------------------------------------------| | Patiënt, Contactpersoon, Behandelaar(huisarts), Zorgaanbieder | GET | | | /fhir/Patient?\_id={patientId}&\_include=Patient:general-practitioner&\_include:iterate=PractitionerRole:organization | [https://simplifier.net/packages/nictiz.fhir.nl.stu3.zib2017/2.2.10/files/1954638](https://simplifier.net/packages/nictiz.fhir.nl.stu3.zib2017/2.2.10/files/1954638) | -| Bloeddruk | GET | Date DESC | 5 | /fhir/Observation?patient={patientId}&\_profile=http://nictiz.nl/fhir/StructureDefinition/zib-PulseRate&\_sort=-date&\_count=5 | [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) | +| Bloeddruk | GET | Date DESC | 5 | /fhir/Observation?patient={patientId}&\_profile=http://nictiz.nl/fhir/StructureDefinition/zib-BloodPressure&\_sort=-date&\_count=5 | [https://simplifier.net/packages/nictiz.fhir.nl.stu3.zib2017/2.3.1/files/2980633](https://simplifier.net/packages/nictiz.fhir.nl.stu3.zib2017/2.3.1/files/2980633) | | Lichaamstemperatuur | GET | Date DESC | 5 | /fhir/Observation?patient={patientId}&\_profile=http://nictiz.nl/fhir/StructureDefinition/zib-BodyTemperature&\_sort=-date&\_count=5 | [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 | GET | Date DESC | 5 | /fhir/Observation?patient={patientId}&\_profile=http://nictiz.nl/fhir/StructureDefinition/zib-BodyHeight&\_sort=-date&\_count=5 | [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 | GET | Date DESC | 5 | /fhir/Observation?patient={patientId}&\_profile=http://nictiz.nl/fhir/StructureDefinition/zib-BodyWeight&\_sort=-date&\_count=5 | [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) | @@ -741,7 +741,7 @@ mogelijk is aan de ontvangende kant. | 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) | +| Bloeddruk | [https://simplifier.net/packages/nictiz.fhir.nl.stu3.zib2017/2.3.1/files/2980633](https://simplifier.net/packages/nictiz.fhir.nl.stu3.zib2017/2.3.1/files/2980633) | | 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) | @@ -805,4 +805,4 @@ het onderstaande voorbeeld met de relevante informatie. 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.