Document toolboxDocument toolbox

(1.6.0J) Autoriseren voor Vertegenwoordiging

Inleiding

De functie Autoriseren voor Vertegenwoordiging is een afgeleide van de functie Autoriseren, die in de Core staat beschreven. Een groot gedeelte van de functie Autoriseren geldt ook voor de functie Autoriseren voor Vertegenwoordeging. Alleen de wijzigingen op de originele functie staan beschreven. De diagrammen tonen alleen de situatie waarin alle acties slagen tot en met dat de Dienstverlener persoon geautoriseerd is (de zogenaamde happy flow). De oranje elementen horen, conform de MedMij-huisstijl, tot het Persoonsdomein, de blauwe tot het Aanbiedersdomein, de grijze tot externe domein.

Businesslaag

De wijzigingen voor Vertegenwoordiging hebben vooral effect op de functie Authenticeren. Daarom is ook voor deze functie een afgeleide gemaakt. Daarnaast controleert de Dienstverlener aanbieder of tijdens authenticatie gebruikgemaakt is van vertegenwoordiging. Dezelfde controle wordt door de Dienstverlener persoon aan het einde van de flow uitgevoerd.

De totale procesgang van de functie Autoriseren voor Vertegenwoordiging kent de volgende stappen:

  • De Dienstverlener aanbieder vraagt de Dienstverlener authenticatie de Persoon te authenticeren.
  • De Dienstverlener aanbieder controleert of tijdens authenticatie gebruikgemaakt is van vertegenwoordiging.
  • De Dienstverlener aanbieder  vraagt aan de  Persoon   of hij toestemming geeft tot het verstrekken van de gevraagde informatie aan de  Dienstverlener persoon. Deze vraag  staat op de pagina Toestemmingsverklaring.
  • De  Dienstverlener aanbieder   logt die toestemming en geeft een autorisatie af aan de  Dienstverlener persoon.
  • De Dienstverlener persoon controleert of gebruikgemaakt is van vertegenwoordiging.

Uitzonderingen op de Happy flow van de functie Autoriseren voor Vertegenwoordiging

Naast de uitzonderingen die gelden voor de functie Autorisatie gelden voor deze uitbreiding de volgende uitzonderingen:

nr.uitzonderingactievervolg

Autoriseren Vertegenwoordiging 1

Dienstverlener aanbieder ondersteunt geen vertegenwoordigingDienstverlener aanbieder breekt de flow af en informeert Dienstverlener persoon betreffende een onjuiste scope, of Dienstverlener persoon breekt de flow af zodra duidelijk is dat in het Aanbiedersdomein geen vertegenwoordiging gebruikt is.Allen stoppen de flow onmiddellijk na geïnformeerd te zijn over de uitzondering.
Autoriseren Vertegenwoordiging 2Aanbieder - gegevensdienst combinatie ondersteunt geen vertegenwoordigingDienstverlener persoon biedt geen vertegenwoordiging aan, of breekt de flow af zodra duidelijk is dat in het Aanbiedersdomein geen vertegenwoordiging gebruikt is.Dienstverlener persoon stopt de flow.
Autoriseren Vertegenwoordiging 3Dienstverlener persoon ondersteunt geen vertegenwoordigingDienstverlener aanbieder biedt geen vertegenwoordiging aan, of breekt de flow af zodra duidelijk is dat bij de Authentication Server vertegenwoordiging gebruikt is.Dienstverlener aanbieder stopt de flow.
Autoriseren Vertegenwoordiging 4

Dienstverlener aanbieder stelt op enig moment vast dat van Vertegenwoordigde bij Aanbieder geen gezondheidsinformatie voor die Gegevensdienst beschikbaar is. Hiervan is in elk geval sprake indien hetzij:

  • er geen behandelrelatie is aan te wijzen als grondslag voor het verzamelen;
  • Vertegenwoordigde nog geen zestien jaar oud is.

Zie de toelichting op Beschikbaarheids- en ontvankelijkheidsvoorwaarde.

Dienstverlener aanbieder informeert Dienstverlener persoon dat verzoek niet wordt ingewilligd.Allen stoppen de flow onmiddellijk na geïnformeerd te zijn over de uitzondering.

Applicatielaag

De flow van de functie Autoriseren kent voor Vertegenwoordiging de volgende wijzigingen:

  1. In plaats van de normale functie Authenticeren wordt een voor Vertegenwoordiging aangepast versie aangeroepen.
  2. Na het verkrijgen van de authenticatieverklaring controleert de Authorization server of binnen de functie Authenticeren vertegenwoordiging is toegepast:
    1. De Authorization server stelt vast dat Vertegenwoordiging is toegepast tijdens authenticatie en gaat verder met de flow.
    2. De Authorization server stelt vast dat geen Vertegenwoordiging is toegepast tijdens authenticatie, terwijl dit wel gevraagd werd. De Authorization server stopt de flow onmiddellijk.
    3. De Authorization server stelt vast dat de in het Authorization request meegestuurde geboortedatum gelijk is aan de geboortedatum van de Vertegenwoordigde, zoals deze bekend is in de achterliggende component(en).
  3. Na het verkrijgen van een access token controleert de DVP server de scope op het gebruik van Vertegenwoordiging:
    1. De DVP Server stelt vast dat de scope van het access-token 'onbehalfof' bevat waar dit in de scope van het Authorization Request ook meegegeven was. DVP Server gaat verder met de flow.
    2. De DVP Server stelt vast dat de scope van het access-token geen 'onbehalfof' bevat waar dit in de scope van het Authorization Request wel meegegeven was. DVP Server stopt de flow onmiddellijk.
    3. De DVP Server stelt vast dat de scope van het access-token 'onbehalfof' bevat waar dit in de scope van het Authorization Request niet meegegeven was. DVP Server stopt de flow onmiddellijk.

      De DVP server kan deze situaties alleen vaststellen als de DVP server Vertegenwoordiging ondersteunt. Omdat deze extensie optioneel is voor alle deelnemers, kan de situatie zich voordoen dat de uitzondering wel van toepassing is, maar niet opgemerkt wordt door de DVP Server. Daarom heeft ook de Authorization Server de verantwoordelijkheid controles uit te voeren. Deze staan beschreven bij de Authorization interface.