...
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 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.
...
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 OpenId Connect authorization request naar de Authorization server van Mitz.
De 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 OpenId Connect Token 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 een verzoek om userinfo met het acces token naar Authorization server van Mitz.
De Authorization server van Mitz controleert het acces token.
Als het acces 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 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 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 naar de Resource server van de Dienstverlener aanbieder.
De Resource server van de Dienstverlener aanbieder stuurt de gegevens naar de User agent.
...