Inleiding
...
Tot en met versie 1.5.0 van het afsprakenstelsel werden de functies Autorisatie en Authenticatie als onderdeel van de functies Verzamelen, Delen en Abonneren beschreven. Dit maakt dat de uitzonderingen, die voor de functies Autorisatie en Authenticatie gelden, op verschillende pagina's beschreven zijn. Bij deze uitzonderingen staat op business niveau beschreven welke actie uitgevoerd moet worden en wat het vervolg is in het proces. Technische specificaties worden niet genoemd, omdat het afsprakenstelsel verwijst naar OAuth 2.0 specificaties. In deze specificaties staat aangegeven welke mogelijkheden er zijn om met fouten om te gaan.
De verantwoordelijkheid core.rollen.206 verwijst naar het gebruik van OAuth 2.0. De Authorization Code Flow wordt gebruikt voor de autorisatie van de DVP om de Resource server te benanderen. De OAuth2.0 specificaties beschrijven verschillende foutmeldingen:
...
De ene partij zegt dat foutmeldingen handig zijn om te bepalen wat er aan de fout gedaan kan worden, zegt de ander dat teveel informatie over de fouten ook een teveel aan informatie over de resource geeft. Bij de functies Verzamelen, Delen, en Abonneren staat de volgende zin opgenomen: Om te voorkomen dat de Dienstverlener persoon informatie over het bestaan van behandelrelaties verkrijgt zonder dat daarvoor (al) toestemming is gegeven, moet het onderscheid tussen de uitzonderingen 2, 3 en 4 niet te maken zijn door de Dienstverlener persoon.
Uitzonderingen functie verzamelen
In onderstaande tabel staan de uitzonderingssituaties beschreven. Alle worden door de Dienstverlener aanbieder ontdekt. Om te voorkomen dat de Dienstverlener persoon informatie over het bestaan van behandelrelaties verkrijgt zonder dat daarvoor (al) toestemming is gegeven, moet het onderscheid tussen de uitzonderingen 2, 3 en 4 niet te maken zijn door de Dienstverlener persoon.
Op de Applicatielaag zullen, bij de usecase-implementatie Verzamelen, deze uitzonderingen opnieuw ter sprake komen, maar nu ook met hun precieze implementatie en formaat van de foutmeldingen.
Of de Aanbieder de gevraagde gezondheidsinformatie beschikbaar stelt aan de Persoon, is om te beginnen een zaak tussen de Aanbieder en Persoon, die daarvoor een behandelrelatie moeten hebben. Gegeven zo'n behandelrelatie is er wetgeving van toepassing op deze ter beschikkingstelling. Daarbinnen is eigen beslisruimte voor de Aanbieder . Omdat Aanbieder en Persoon evenwel geen Deelnemers in het MedMij Afsprakenstelsel zijn, specificeert het MedMij Afsprakenstelsel niet de exacte logica van de beslissing om de gezondheidsinformatie al dan niet ter beschikking te stellen. Om privacy-redenen vereist het MedMij Afsprakenstelsel echter wel dat er een behandelrelatie moet (hebben) bestaan waarbij de betreffende gezondheidsinformatie hoort én dat de Persoon minstens zestien jaar oud is (zie uitzondering Verzamelen 3).
...
nr. | uitzondering | actie | vervolg |
---|---|---|---|
Verzamelen 1 | Dienstverlener aanbieder vindt het ontvangen verzoek ongeldig. | Dienstverlener aanbieder informeert Dienstverlener persoon over deze uitzondering. Dienstverlener persooninformeert daarop Persoonhierover. | Allen stoppen de flow onmiddellijk na geïnformeerd te zijn over de uitzondering. |
Verzamelen 2 | Dienstverlener aanbieder kan de identiteit van de Persoon niet vaststellen. | Dienstverlener aanbieder informeert Dienstverlener persoon dat verzoek niet wordt ingewilligd. | Allen stoppen de flow onmiddellijk na geïnformeerd te zijn over de uitzondering. |
Verzamelen 3 | Dienstverlener aanbieder stelt op enig moment vast dat van Persoon bij Aanbieder geen gezondheidsinformatie voor die Gegevensdienst beschikbaar is. Hiervan is in elk geval sprake indien hetzij:
Zie de toelichting op Beschikbaarheids- en ontvankelijkheidsvoorwaarde. | ||
Verzamelen 4 | De voorgelegde Toestemmingsverklaring wordt niet afgegeven. | ||
Verzamelen 5 | Dienstverlener aanbieder kan het antwoord op de toestemmingsvraag niet vaststellen. | Dienstverlener aanbieder informeert Dienstverlener persoon over deze uitzondering. Dienstverlener persoon informeert daarop Persoon hierover. | Allen stoppen de flow onmiddellijk na geïnformeerd te zijn over de uitzondering. |
Verzamelen 6 | Dienstverlener aanbieder kan, zelfs na toestemming, de gezondheidsinformatie alsnog niet ter beschikking stellen aan de Dienstverlener persoon. | Dienstverlener aanbieder informeert Dienstverlener persoon over deze uitzondering. Dienstverlener persoon informeert daarop Persoon hierover, met opgave van oorzaak. | Mocht de gezondheidsinformatie deels wel (geautoriseerd) ter beschikking staan, dan kan de flow dat nog verzorgen. |
Verzamelen 7 | Persoon annuleert het inloggen. | Dienstverlener aanbieder presenteert een annuleringspagina en biedt Persoon de optie om toch in te loggen. | Indien Persoon kiest niet in te willen loggen, kan het scherm gesloten worden. Persoon kan er ook voor kiezen toch in te loggen. In dat geval vraagt Dienstverlener aanbieder weer om credentials. |
Uitzonderingen functie delen
In onderstaande tabel staan de uitzonderingssituaties beschreven. Alle worden door de Dienstverlener aanbiederontdekt. Om te voorkomen dat de Dienstverlener persooninformatie over het bestaan van behandelrelaties verkrijgt zonder dat (al) bevestiging is gegeven, moet het onderscheid tussen de uitzonderingen 2, 3 en 4 niet te maken zijn door de Dienstverlener persoon.
nr. | uitzondering | actie | vervolg |
---|---|---|---|
UC Delen 1 | Dienstverlener aanbieder vindt het ontvangen verzoek ongeldig. | Dienstverlener aanbieder informeert Dienstverlener persoon over deze uitzondering. Dienstverlener persoon informeert daarop Persoonhierover. | Allen stoppen de flow onmiddellijk na geïnformeerd te zijn over de uitzondering. |
UC Delen 2 | Dienstverlener aanbieder kan de identiteit van de Persoonniet vaststellen. | Dienstverlener aanbieder informeert Dienstverlener persoon dat delen niet toegelaten wordt. | Allen stoppen de flow onmiddellijk na geïnformeerd te zijn over de uitzondering. |
UC Delen 3 | Dienstverlener aanbieder stelt op enig moment vast dat betreffende informatie van Persoon bij Aanbieder niet welkom is. Hiervan is in elk geval sprake indien hetzij:
Zie de toelichting op Beschikbaarheids- en ontvankelijkheidsvoorwaarde. | ||
UC Delen 4 | De bevestiging wordt niet gegeven. | ||
UC Delen 5 | Dienstverlener aanbieder kan het antwoord op de bevestigingsvraag niet vaststellen. | Dienstverlener aanbieder informeert Dienstverlener persoon over deze uitzondering. Dienstverlener persoon informeert daarop Persoonhierover. | Allen stoppen de flow onmiddellijk na geïnformeerd te zijn over de uitzondering. |
UC Delen 6 | Dienstverlener persoon kan, zelfs na bevestiging, de gezondheidsinformatie alsnog niet plaatsen bij Dienstverlener aanbieder. | Dienstverlener persoon informeert daarop Persoonhierover, met opgave van oorzaak. | Mocht gezondheidsinformatie deels wel (geautoriseerd) geplaatst kunnen worden, dan kan de flow dat nog verzorgen. |
UC Delen 7 | Persoon annuleert het inloggen. | Dienstverlener aanbieder presenteert een annuleringspagina en biedt Persoonde optie om toch in te loggen. | Indien Persoonkiest niet in te willen loggen, kan het scherm gesloten worden. Persoonkan er ook voor kiezen toch in te loggen. In dat geval vraagt Dienstverlener aanbieder weer om credentials. |
...
Voor het laten delen van gegevens door een minder dan zestienjarige moet toestemming of een machtiging tot toestemming worden verleend door degene die de ouderlijke verantwoordelijkheid of de wettelijke verantwoordelijkheid voor de minder dan zestienjarige draagt. Omdat in dergelijke toestemmingen of machtigingen nog niet is voorzien in deze versie van het MedMij Afsprakenstelsel, kan deze controle vooralsnog als onderdeel van de ontvankelijkheidsvoorwaarde worden opgevat. Wanneer een toekomstige release van het MedMij Afsprakenstelsel wel zulke toestemmingen of machtigingen omvat, zal de leeftijdsvoorwaarde gescheiden moeten worden van de ontvankelijkheidsvoorwaarde.
Uitzonderingen functie abonneren
In onderstaande tabel staan de uitzonderingssituaties beschreven. Alle worden door de Dienstverlener aanbiederontdekt. Om te voorkomen dat de Dienstverlener persooninformatie over het bestaan van behandelrelaties verkrijgt zonder dat daarvoor (al) toestemming is gegeven, moet het onderscheid tussen de uitzonderingen 2, 3 en 4 niet te maken zijn door de Dienstverlener persoon.
Of de Aanbieder de gevraagde gezondheidsinformatie beschikbaar stelt aan de Persoon, is om te beginnen een zaak tussen de Aanbieder en Persoon, die daarvoor een behandelrelatie moeten hebben. Gegeven zo'n behandelrelatie is er wetgeving van toepassing op deze terbeschikkingstelling. Daarbinnen is eigen beslisruimte voor de Aanbieder. Omdat Aanbieder en Persoon evenwel geen Deelnemers in het MedMij Afsprakenstelsel zijn, specificeert het MedMij Afsprakenstelsel niet de exacte logica van de beslissing om de gezondheidsinformatie al dan niet ter beschikking te stellen. Om privacy-redenen vereist het MedMij Afsprakenstelsel echter wel dat er een behandelrelatie moet (hebben) bestaan waarbij de betreffende gezondheidsinformatie hoort én dat de Persoon minstens zestien jaar oud is (zie uitzondering Abonneren 3).
...
Nummer | Implementeert uitzonderingen | Uitzondering | Actie | Melding | Vervolg |
---|---|---|---|---|---|
Authorization interface 1a | Verzamelen 1 Delen 1 | Authorization Server ontvangt een authorization request zonder (geldige) redirect_uri en/of zonder een (geldige) client_id . | Authorization Server informeert User Agent over deze uitzondering. Authorization Server voert geen redirect naar de Client uit, ook niet met een foutmelding. | conform OAuth 2.0-specificatie, par. 4.1.2.1 | Allen stoppen de flow van de functies Verzamelen/Delen onmiddellijk na geïnformeerd te zijn over de uitzondering. |
Authorization interface 1b | Authorization Server ontvangt een ongeldige authorization request, anders dan uitzondering 1. | Authorization Server informeert DVP Server over deze uitzondering. DVP Server informeert Persoon daarover. | conform OAuth 2.0-specificatie, par. 4.1.2.1, met de daar genoemde, zo specifiek mogelijke, toepasselijke error code | ||
Authorization interface 2 | Verzamelen 2 Delen 2 | Authorization Server kan de identiteit van de Persoon niet vaststellen. | Authorization Server informeert DVP Server over deze uitzondering. DVP Server informeert Persoon dat diens verzoek geen voortgang kan vinden, maar laat de oorzaak daarvan helemaal in het midden. | conform OAuth 2.0-specificatie, par. 4.1.2.1, error code access denied , met in de error description "Access denied. " | |
Authorization interface 3 | Verzamelen 3 Delen 3 | Authorization Server stelt tijdens de afhandeling van de authorization request vast dat:
Zie de toelichting op Beschikbaarheids- en ontvankelijkheidsvoorwaarde. | |||
Authorization interface 4 | Verzamelen 4 Delen 4 | De autorisatievraag wordt ontkennend beantwoord. | |||
Authorization interface 5 | Verzamelen 5 Delen 5 | Authorization Server kan de autorisatie niet vaststellen. | Authorization Server informeert DVP Server over deze uitzondering. DVP Serverinformeert daarop Persoon hierover. | conform OAuth 2.0-specificatie, par. 4.1.2.1, error code access denied , met in de error description "Authorization failed. " |
...
Gewenste situatie
Vanuit Epic AF-1219 (Resource en autorisatie server los van elkaar) worden de verschillende functies van elkaar gescheiden. Autorisatie en authenticatie worden als losse functie beschreven, waardoor de uitzonderingen niet meer bij de functies Verzamelen, Delen en Abonneren beschreven worden.
...
nr. | uitzondering | actie | vervolg |
---|---|---|---|
Autoriseren 1 | Dienstverlener aanbieder vindt het ontvangen verzoek ongeldig. | Dienstverlener aanbieder informeert Dienstverlener persoon over deze uitzondering. Dienstverlener persooninformeert daarop Persoonhierover. | Allen stoppen de flow onmiddellijk na geïnformeerd te zijn over de uitzondering. |
Autoriseren 2 | Dienstverlener aanbieder kan de identiteit van de Persoon niet vaststellen. | Dienstverlener aanbieder informeert Dienstverlener persoon dat verzoek niet wordt ingewilligd. | Allen stoppen de flow onmiddellijk na geïnformeerd te zijn over de uitzondering. |
Autoriseren 3 | Persoon annuleert het inloggen. | Dienstverlener aanbieder presenteert een annuleringspagina en biedt Persoon de optie om toch in te loggen. | Indien Persoon kiest niet in te willen loggen, kan het scherm gesloten worden. Persoon kan er ook voor kiezen toch in te loggen. In dat geval vraagt Dienstverlener aanbieder weer om credentials. |
Uitzonderingen functies Verzamelen & delen
In onderstaande tabel staan de uitzonderingssituaties beschreven. Alle worden door de Dienstverlener aanbieder ontdekt. Om te voorkomen dat de Dienstverlener persoon informatie over het bestaan van behandelrelaties verkrijgt zonder dat daarvoor (al) toestemming is gegeven, moet het onderscheid tussen de uitzonderingen 2 en 3 niet te maken zijn door de Dienstverlener persoon.
nr. | Functie | uitzondering | actie | vervolg |
---|---|---|---|---|
Uitzondering 1 | Verzamelen Delen | Dienstverlener aanbieder vindt het ontvangen verzoek ongeldig. | Dienstverlener aanbieder informeert Dienstverlener persoon over deze uitzondering. Dienstverlener persooninformeert daarop Persoonhierover. | Allen stoppen de flow onmiddellijk na geïnformeerd te zijn over de uitzondering. |
Uitzondering 2 | Verzamelen Delen | Dienstverlener aanbieder stelt op enig moment vast dat van Persoon bij Aanbieder geen gezondheidsinformatie voor die Gegevensdienst beschikbaar / welkom is. Hiervan is in elk geval sprake indien hetzij:
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. |
Uitzondering 3 | Verzamelen | De voorgelegde Toestemmingsverklaring wordt niet afgegeven. | ||
Uitzondering 4 | Delen | De bevestiging wordt niet gegeven. | ||
Uitzondering 5 | Verzamelen Delen | Dienstverlener aanbieder kan het antwoord op de toestemmings- of bevestigingsvraag niet vaststellen. | Dienstverlener aanbieder informeert Dienstverlener persoon over deze uitzondering. Dienstverlener persoon informeert daarop Persoon hierover. | Allen stoppen de flow onmiddellijk na geïnformeerd te zijn over de uitzondering. |
Uitzondering 6 | Verzamelen Delen | Dienstverlener aanbieder kan, zelfs na toestemming, de gezondheidsinformatie alsnog niet ter beschikking stellen aan / plaatsen bij de Dienstverlener persoon. | Dienstverlener aanbieder informeert Dienstverlener persoon over deze uitzondering. Dienstverlener persoon informeert daarop Persoon hierover, met opgave van oorzaak. | Mocht de gezondheidsinformatie deels wel (geautoriseerd) ter beschikking staan, dan kan de flow dat nog verzorgen. |
...
Voor het verstrekken van gegevens aan een minder dan zestienjarige moet toestemming of een machtiging tot toestemming worden verleend door degene die de ouderlijke verantwoordelijkheid of de wettelijke verantwoordelijkheid voor de minder dan zestienjarige draagt. Omdat in dergelijke toestemmingen of machtigingen nog niet is voorzien in deze versie van het MedMij afsprakenstelsel, kan deze controle vooralsnog als onderdeel van de beschikbaarheidsvoorwaarde worden opgevat. Wanneer een toekomstige release van het MedMij afsprakenstelsel wel zulke toestemmingen of machtigingen omvat, zal de leeftijdsvoorwaarde gescheiden moeten worden van de beschikbaarheidsvoorwaarde.
Uitzonderingen functie abonneren
<kopie van Uitzonderingen Verzamelen en Delen>
Uitzonderingen 1, 2, 5 en 6 op de functies Verzamelen en Delen gelden ook voor de functie Abonneren. Daarnaast is de volgende uitzondering van toepassing:
...