Skip to main content

Bouwblok service discovery

Resultaat van een eerste schets sessie:

Inventarisatie van rollen, processen, systemen en transacties.

Rollen

Zorgtoepassingdeelnemer

De deelnemer is in het algemeen is het de rechtspersoon die verantwoordelijk is voor het naleven van de afspraken van de zorgtoepassing. Verder genoemd: "deelnemer".

Zorgtoepassingleverancier

De maker van een software systeem of applicatie die gebruikt wordt door de deelnemer. Vaak ook aangeduid met XIS/ECD. Verder genoemd: "leverancier".

Discovery service client

Een Nuts node die geconfigureerd is als client voor een zorgtoepassing. Verder genoemd: "client".

Discovery service server

De Nuts node die de rol van server aanneemt binnen een bepaalde zorgtoepassing. Verder genoemd: "server".

Zorgtoepassingopdrachtgever

De opdrachtgever voor de zorgtoepassing conform NEN7522. Verder genoemd: "opdrachtgever".

Zorgtoepassingbeheerder

De zorgtoepassingbeheerder beheert de officiele documentatie omtrent een zorgtoepassing in opdracht van de opdrachtgever. Verder genoemd: "beheerder".

Zorgtoepassinggebruiker

De zorgtoepassinggebruiker maakt gebruik van de functionele mogelijkheden van de zorgtoepassing ter ondersteuning van het uitvoeren van zijn taak. Verder genoemd: "gebruiker".

Processen

De volgende processen zijn geïdentificeerd. Dit zijn handmatige stappen en staan in volgorde van afhankelijkheid.

Opdrachtgever stelt discovery service definition vast

De opdrachtgever accordeert de definities zoals deze opgesteld zijn door een werkgroep. Omdat deze definities de basis zijn voor vertrouwen is het belangrijk dat dit onder de verantwoordelijkheid van de opdrachtgever valt.

Beheerder publiceert endpoint requirements

De beheerder publiceert de zorgtoepassing specificatie. De specificatie bevat de endpoint definities die nodig zijn om de juiste deelnemers te vinden.

Beheerder publiceert discovery service definitie

De beheerder publiceert de discovery service definitie zodat deze controleerbaar is door leveranciers. Leveranciers downloaden de definitie voor configuratie.

Leverancier configureert discovery service definitie

De leverancier configureert de discovery service definitie welke verkregen is via de beheerder.

Deelnemer wenst zorgtoepassing

Een deelnemer wil aangesloten worden op een zorgtoepassing en zoekt een leverancier die hierin kan voorzien.

Leverancier activeert deelnemer voor zorgtoepassing

De leverancier activeert de deelnemer (klant) voor de zorgtoepassing, veelal op basis van contractuele afspraken.

Systemen

Nuts node

De Nuts node implementeert RFC022 van de Nuts specificaties en vervult daarmee de server en client rol voor service discovery.

XIS/ECD vanuit leverancier perspectief

De leverancier configureert en activeert de zorgtoepassing voor de deelnemer via een beheer interface.

XIS/ECD vanuit klant perspectief

Gebruikers vanuit de deelnemer maken gebruik van het XIS/ECD om toegang te krijgen tot de zorgtoepassing. In het kader van service discovery gaat het hierbij veelal om het vinden van andere deelnemers die geactiveerd zijn voor de zorgtoepassing.

Transacties

Voornamelijk API calls. Todo: verwijzen naar specifieke node APIs en RFCs?

Leverancier maakt wallet aan voor deelnemer

Essentieel onderdeel voor de deelname van een deelnemer aan een zorgtoepassing is dat de deelnemer een DID en DID Document krijgt. In het DID Document staat de public key van de deelnemer.

Leverancier maakt NutsOrganizationCredential aan voor deelnemer

Een deelnemer moet vindbaar zijn via kenmerken zoals naam en vestigingsplaats. Deze worden gekoppeld aan de DID van de deelnemer via een Verifiable Credential. De leverancier geeft deze (vooralsnog) uit. Dit is een specifieke stap die in de toekomst vervangen zal moeten worden door een Verifiable Credential uitgifte bouwblok.

Leverancier registreert endpoints voor deelnemer

Een zorgtoepassing kent meerdere endpoints die nodig zijn voor gegevensuitwisseling. Voorbeelden van endpoints zijn een authorization endpoint en een FHIR endpoint. De leverancier is verantwoordelijk om deze endpoints op te nemen in het DID Document van de deelnemer.

Leverancier (de)activeert deelnemer voor zorgtoepassing

De leverancier activeert een deelnemer. Na activatie zal de Nuts node automatisch de deelnemer aanmelden bij de server indien de deelnemer de juiste Verifiable Credentials in zijn wallet heeft.

Server en client synchroniseren Verifiable Presentations

De client zal automatisch nieuwe Verifiable Presentations uploaden naar de server en periodiek kijken of er nieuwe Verifiable Presentations gedownload moeten worden.

Gebruiker zoekt deelnemer

In het kader van een zorgtoepassing is een gebruiker op zoek naar een deelnemer die de juiste endpoints in zijn DID Document heeft. De zoekparameters zijn afhankelijk van de benodigde Verifiable Credentials voor de zorgtoepassing.