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.