Business
Inc drawio | ||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
Bovenstaand diagram bevat een uitwerking voor de functie Verzamelen, maar voor de functie Delen geldt dezelfde flow.
Persoon opent zijn PGO. Persoon geeft binnen zijn PGO aan dat hij gegevens wil uitwisselen (verzamelen of delen) met één of meerdere aanbieders.
De eerste keer leidt de PGO de Persoon naar de Authorization server van Mitz. Later in de tijd is dit niet nodig, omdat de PGO en Mitz elkaar al kennen en geautoriseerd zijn.
Voor de authenticatie van de persoon stuurt Mitz de Persoon door naar Digid.
DigiD stuurt, nadat de persoon geauthenticeerd is, het BSN van de Persoon naar Mitz.
Mitz stuurt de persoon door naar het toestemmingen Toestemmingen register om zijn toestemming voor het uitwisselen met het PGO vast te leggen.
Het Toestemmingen register legt de toestemmingen vast.
Het Toestemmingen register geeft terug dat er toestemmingen zijn vastgelegd.
Mitz stuurt naar de PGO dat deze geautoriseerd is om gegevens bij Mitz op te halen.
De PGO verzoekt Mitz om de gegevens van de persoon.
Mitz controleert de toestemmingen. De persoon moet eerder al toestemming hebben gegeven voor de uitwisseling van gegevens.
De bekende toestemmingen worden binnen Mitz gedeeld met de Authorization server, zodat deze kan bepalen wat teruggegeven moet worden aan de PGO.
Mitz controleert de locaties waar gegevens bekend zijn van (de BSN behorende bij) de Persoon.
De bekende locaties worden binnen Mitz gedeeld met de Authorization server, zodat deze kan bepalen wat teruggegeven moet worden aan de PGO.
De gegevens van de Persoon, inclusief de locaties (URA’s van de Zorgaanbieders) worden teruggegeven aan de PGO. Hierbij wordt de BSN niet meegestuurd.
De PGO stuurt een verzoek naar de Authorization server van de Dienstverlener aanbieder die namens een Zorgaanbieder gegevens uitwisselt binnen MedMij.
De Dienstverlener aanbieder vraagt Mitz om te controleren of dit verzoek ingewilligd mag worden.
Mitz geeft aan dat het verzoek oké is en geeft de BSN van bijbehorende Persoon terug aan de Dienstverlener aanbieder.
De Dienstverlener aanbieder voert een beschikbaarheids- of ontvankelijkheidstoets uit.
Als alles oké is, verleent de authorization server van de Dienstverlener aanbieder de PGO autorisatie om gegevens uit te wisselen.
De PGO verzoekt de Resource server van de Dienstverlener aanbieder om gegevens van de Persoon.
De Dienstverlener aanbieder stuurt de aanwezige gegevens terug naar de PGO.
Applicatie
Inc drawio | ||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
Bovenstaand diagram bevat een uitwerking voor de functie Verzamelen, maar voor de functie Delen geldt dezelfde flow.
Persoon opent zijn PGO. Persoon geeft binnen zijn PGO aan dat hij gegevens wil uitwisselen (verzamelen of delen) met één of meerdere aanbieders.
De User agent stuurt een OpenIdConnect OpenId Connect authorization request naar de AuthorizationServer Authorization server van Mitz.
De AuthorizationServer Authorization server van Mitz stuurt een authenticatie verzoek naar de DigiD.
DigiD stuurt, nadat de persoon geauthenticeerd is, het BSN van de Persoon naar de Authorization server van Mitz.
De Authorization server van Mitz stuurt de persoon naar het toestemmingen register van Mitz om daar de toestemming voor uitwisseling vast te leggen.
Het Toestemmingen register legt de toestemmingen vast.
Toestemmingen register meldt de Authorization server dat er toestemming is vastgelegd.
De Authorization server stuurt een Authorization code naar de User agent.
De User agent stuurt een OpenIdConnect OpenId Connect Token ruwst request naar de Authorization server van Mitz.
De Authorization server van Mitz controleert de Authorization code of het refresh token.
Indien deze in orde is, stuurt de Authorization server van Mitz een access token en refresh token naar de User agent terug.
De User agent stuurt het acces token als een verzoek om userinfo met het access token naar Authorization server van Mitz.
De Authorization server van Mitz controleert het acces access token.
Als het acces access token in orde is, stuurt de Authorization server van Mitz een verzoek om toestemmingen naar het Toestemmingen register.
Het Toestemmingen register stuurt de toestemmingen behorende bij het gegeven BSN en desbetreffend PGO terug naar de Authorization server van Mitz.
De Authorization server van Mitz stuurt vervolgens een verzoek om locaties naar de Lokalisatie server van Mitz.
De Lokalisatie server verzamelt de bekende locaties behorende bij het gegeven BSN
Vervolgens stuurt de Lokalisatie server de locaties terug naar de Authorization server.
De Authorization server van Mitz bepaalt voor welke locaties toestemming is afgegeven.
De Authorization server van Mitz stuurt dan een ID token inclusief de locaties (URA’s) naar de User agent.
De User agent bepaalt aan de hand van de verkregen URA’s de in de ZAL vastgelegde dicsovery endpoints.
De User agent stuurt een verzoek om endpoints naar Discovery server van de Dienstverlener aanbieder.
De Discovery server van de Dienstverlener aanbieder stuurt het Endpoints de endpoints van de authorization server van de Dienstverlener aanbieder terug naar de User agent.
De User agent stuurt een token request met het ID token als token request naar de Authorization server van de Dienstverlener aanbieder.
De Authorization server van de Dienstverlener aanbieder stuurt een verzoek om toestemming tot gegevensuitwisseling naar de Authorization server van Mitz.
De Authorization server van Mitz controleert het ID token.
Indien er toestemming is, stuurt de Authorization server van Mitz de toestemming en BSN naar de Authorization server van de Dienstverlener aanbieder.
De Authorization server van de Dienstverlener aanbieder voert de beschikbaarheids- of ontvankelijkheidstoets uit.
Als de toets slaagt, stuurt de Authorization server van de Dienstverlener aanbieder een access token naar de User agent.
De User agent stuurt het Resource request met het access token als Resource request naar de Resource server van de Dienstverlener aanbieder.
De Resource server van de Dienstverlener aanbieder stuurt de gegevens naar de User agent.
Drawio sketch | ||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
Overwegingen/discussie
Risico : DVP doet uitvraag bij DVA die geen koppeling heeft met een aanbieder die een BSN van mij heeft. DVA kan dan beschikken over een BSN-URA combinatie, terwijl hij geen contract heeft met die URA. DVA werkt in opdracht van de aanbieder. Als hij dus niet vooraf de URA controle doet, houdt hij zich niet aan het afsprakenstelsel. Vertrouwensmodel.
...