In ontwikkeling
.Verantwoordelijkheden, Abonneren v1.5.1
Inleiding
Rollen
1 | Dienstverlener persoon stelt, indien deze de functie Notificeren aanbiedt, aan Aanbieder een geautomatiseerde rol Notification Server ter beschikking, waarop de Aanbieder Notificaties kan aanbieden. Eén zulke Dienstverlener persoon biedt één of meerdere Notification Servers en elke Notification Server wordt door één Dienstverlener persoon geboden. | ext.abo.rollen.200 |
2. | Dienstverlener aanbieder biedt een geautomatiseerde rol Authorization Server, voor het namens Aanbieders uitwisselen van gezondheidsinformatie met DVP Server. Deze rol wordt altijd in combinatie met een Resource Server en/of Subscription Server. Dit geldt als uitbreiding op de verantwoordelijkheid zoals beschreven in core.rollen.201 | ext.abo.rollen.201 |
3. | Dienstverlener aanbieder biedt, indien deze de functie Abonneren aanbiedt, een geautomatiseerde rol Subscription Server voor het namens Aanbieders aangaan van Abonnementen. Elke zulke Dienstverlener aanbieder biedt één of meer combinaties van één Authorization Server en één Subscription Server en elke combinatie van één Authorization Server en één Subscription Server wordt door één Dienstverlener aanbieder geboden. | ext.abo.rollen.202 |
4. | Dienstverlener aanbieder biedt, indien deze de functie Notificeren aanbiedt, een geautomatiseerde rol Notification Client voor het namens Aanbieders plaatsen van Notificaties, genaamd Notification Client. Elke zulke Dienstverlener aanbieder biedt één of meer Notification Clients en elke Notification Client wordt door één Dienstverlener aanbieder geboden. | ext.abo.rollen.203 |
5. | Ten behoeve van het autoriseren van DVP Server voor toegang tot Subscription Server, in het kader van de functie Abonneren, zullen de betrokken User Agent, DVP Server, Authorization Server en Subscription Server gebruik maken van OAuth 2.0, waarbij als grant type gebruik wordt gemaakt van Authorization Code en waarbij: Dit geldt als uitbreiding op de verantwoordelijkheid zoals beschreven in core.rollen.206. | ext.abo.rollen.204 |
6. | De keuze, in OAuth, voor de grant type Authorization Code past bij de typische software-architectuur die in MedMij in het Persoonsdomein wordt aangetroffen: toegang tot een PGO-dienst via componenten die niet onder controle van de OAuth Client vallen en als betrekkelijk onveilig moeten worden gezien. Als MedMij-verkeer is gedefinieerd: al het gegevensverkeer in het kader van enige usecase-implementatie, onmiddellijk tussen twee verschillende van de vier volgende soorten rollen, namelijk:
met dien verstande dat:
Dit geldt als uitbreiding op de verantwoordelijkheid zoals beschreven in core.rollen.207. | ext.abo.rollen.205 |
7. | Op één:
Dit geldt als uitbreiding op de verantwoordelijkheid zoals beschreven in core.rollen.301 | ext.abo.rollen.300 |
Functies & gegevens
Abonneren
1. | Desgewenst biedt Dienstverlener persoon aan Persoon de functie Abonneren. Daarmee kan Persoon een Abonnement op Notificaties aangaan, verlengen, verkorten of beëindigen bij een Aanbieder, via Dienstverlener aanbieder. Deze Notificaties hebben betrekking op een Gegevensdienst. Bij deze functie betrokken rollen gebruiken hiertoe het betreffende stroomdiagram. | ext.abo.abonneren.100 |
2. | Bij elke combinatie van Persoon, Dienstverlener persoon, Aanbieder en Gegevensdienst mag op elk moment maximaal één Abonnement actief zijn. De Aanbieder bepaalt de duur van het Abonnement. | ext.abo.abonneren.101 |
3. | Een Dienstverlener persoon of Dienstverlener aanbieder die de functie Abonneren aanbiedt, biedt ook de functie Notificeren aan. | ext.abo.abonneren.102 |
4. | Een Dienstverlener aanbieder die de functie Abonneren ondersteunt, beëindigt een Abonnement wanneer:
Er worden geen eisen gesteld omtrent het beëindigen van een Abonnement ingeval (gezondheids)informatie van een Persoon niet langer beschikbaar is bij een Aanbieder, bijvoorbeeld na een dossieroverdracht, of na vernietiging van het dossier. Wanneer deze situatie zich voordoet, zullen simpelweg tot de einddatum van het Abonnement geen inhoudelijke Notificaties meer worden gegenereerd. Het zou kunnen gebeuren dat een Notification Client een Notificatie wenst te sturen, in het kader van een lopend Abonnement, maar de OAuth Client List aangeeft dat de betreffende Notification Server hetzij geen Notificaties meer kan ontvangen of de betreffende Gegevensdienst niet (meer) ondersteunt. In die gevallen wordt de Notificatie niet verzonden, maar blijft het Abonnement in beginsel wel intact. Omdat er geen Notificaties worden verstuurd, bestaan er geen risico's om het Abonnement aan te houden. Mocht de OAuth Client List een administratieve fout bevatten, is dat nog geen reden voor ontbinding van het Abonnement tussen Persoon en Aanbieder; als zo'n fout hersteld zou worden, kunnen er daarna weer Notificaties onder hetzelfde Abonnement verstuurd gaan worden. Mocht een Notification Client een dergelijke situatie aantreffen, is er wel aanleiding voor de betreffende Dienstverlener aanbieder om contact op te nemen met de betreffende Dienstverlener persoon en, waar dan nog nodig, met de MedMij-beheerorganisatie. Zie ook verantwoordelijkheid 3e. Het vierde punt gaat ervan uit dat de Dienstverlener aanbieder een eigen administratie bijhoudt van welke Gegevensdiensten hij voor welke Aanbieders ontsluit, en daarvoor niet leunt op de Zorgaanbiederslijst of andere lijsten. Zijn verwerkersrelaties met Personen zijn immers de bron van die lijsten, niet andersom. Het kan zijn dat de Dienstverlener aanbieder een fout in die eigen administratie maakt en dan, vanwege het vierde punt, de betreffende Abonnementen beëindigd. Het MedMij Afsprakenstelsel voorkomt dat niet, omdat die fout moet worden gezien als een fout van de Dienstverlener aanbieder als verwerker voor de Aanbieder, met andere woorden, in het kader van de Dienstverleningsovereenkomst tussen die twee, en niet op het MedMij-koppelvlak. | ext.abo.abonneren.103 |
5. | Een Dienstverlener persoon die voornemens is het voeren van een zekere Gegevensdienst te beëindigen, of het voeren van Abonnementen te beëindigen, informeert daarover zijn gebruikers en laat, voor zover mogelijk, alle hierdoor getroffen lopende Abonnementen beëindigen. | ext.abo.abonneren.104 |
6. | Een Abonnement heeft een duur, gerekend in hele dagen vanaf het moment van aangaan, verlengen of verkorten.
Bij het aangaan, verlengen, verkorten en beëindigen van Abonnementen wordt bij de betrokken interfaces gebruik gemaakt van twee verschillende parameters voor het aanduiden van de duur van het Abonnement: duration en end_date.
| ext.abo.abonneren.105 |
Notificeren
1. | Een Dienstverlener persoon of Dienstverlener aanbieder mag de functie Notificeren aanbieden, als deze ook de functie Abonneren aanbiedt. Bij deze functie betrokken rollen gebruiken hiertoe het betreffende stroomdiagram. | ext.abo.notificeren.100 |
2. | Een Notificatie hoort altijd bij slechts één Abonnement. | ext.abo.notificeren.101 |
3. | Er zijn twee soorten Notificaties:
| ext.abo.notificeren.102 |
4. | Indien een Dienstverlener aanbieder bij een Aanbieder een wijziging detecteert in gezondheidsinformatie die hoort bij een Gegevensdienst waarop een Persoon bij die Aanbieder een op dat moment geldig Abonnement heeft, via een Dienstverlener persoon, voorziet die Dienstverlener aanbieder die Dienstverlener persoon van een zogenoemde inhoudelijke Notificatie, door middel van de functie Notificeren. | ext.abo.notificeren.103 |
5. | Indien een Dienstverlener aanbieder bij een Aanbieder een wijziging detecteert in een op dat moment geldig Abonnement dat een Persoon, via een Dienstverlener persoon, bij die Aanbieder is aangegaan, voorziet die Dienstverlener aanbieder die Dienstverlener persoon van een zogenoemde abonnements-Notificatie, door middel van de functie Notificeren. | ext.abo.notificeren.104 |
6. | De in verantwoordelijkheid 4 bij Abonneren bedoelde beëindiging leidt:
| ext.abo.notificeren.105 |
Opvragen Aanbiederslijst
1. | MedMij Beheer beheert en publiceert een Aanbiederslijst, namens de deelnemende Dienstverlener aanbieder. De gepubliceerde Aanbiederslijst bevat steeds en slechts alle actuele entries, en beschrijft van elke Aanbieder:
In deze release van het MedMij Afsprakenstelsel staat de Catalogus alleen Abonnementen toe op Gegevensdiensten die zijn gebaseerd op de functie Verzamelen. Dit geldt als uitbreiding op de verantwoordelijkheid zoals beschreven in core.alst.100. | ext.abo.alst.100 |
Opvragen Whitelist
1. | De Node die
Dit geldt als uitbreiding op de verantwoordelijkheid zoals beschreven in core.whl.307. | ext.abo.whl.300 |
Opvragen OAuth Client List
1. | MedMij Beheer beheert en publiceert een actuele OAuth Client List, namens de deelnemende Dienstverleners persoon. De gepubliceerde OAuth Client List bevat steeds en slechts alle actuele entries, en beschrijft van elke OAuth Client:
De OAuth Client List bevat dus geen namen voor Dienstverleners aanbieder. Dat is niet nodig, omdat deze niet voorkomen in de Toestemmingsverklaring. Dit geldt als uitbreiding op de verantwoordelijkheid zoals beschreven in core.ocl.100 | ext.abo.ocl.100 |
2. | Notification Client implementeert de functie Opvragen OAuth Client List, door middel van het bepaalde inzake het interface voor OAuth Client List op Interfaces lijsten.. Hiervoor wordt het betreffende stroomdiagram gebruikt. | ext.abo.ocl.200 |
2. | Notification Client betrekt minstens elke vijftien minuten (900 seconden) de meest recente OAuth Client List (OCL) van MedMij Registratie. |