Under construction!
Voor de huidige versie https://afsprakenstelsel.medmij.nl/display/MMOptioneel
Verantwoordelijkheden, Abonneren
Inleiding
De verantwoordelijkheden die in de MedMij Core staan beschreven, zijn ook van toepassing op deze extensie. Daarnaast gelden de hieronder (vervangende) verantwoordelijkheden. Net als in de MedMij Core zijn de volgende kleuren voor de verantwoordelijkheden op de verschillende lagen gebruikt:
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. | 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:
| 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.
| 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:
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. | ext.abo.ocl.201 |
2. | Notification Client valideert elke nieuwe verkregen OAuth Client List (OCL) tegen het XML-schema van de OAuth Client List. Dit XML-schema is een technische implementatie van het MedMij-metamodel. | ext.abo.ocl.202 |
Autorisatie
1. | Dienstverlener aanbieder vergewist zich ervan, elke keer opnieuw voordat hij Persoon een Abonnement met Aanbieder laat aangaan, dat deze Persoon uitdrukkelijk Toestemming heeft gegeven aan Aanbieder om Notificaties, betreffende de in de Gegevensdienst betrokken (gezondheids)informatie, aan Dienstverlener persoon ter beschikking te laten stellen. De vraag om Toestemming heeft een vaste formulering, die is opgenomen in de functie Abonneren. | ext.abo.autorisatie.100 |
2. | In de implementatie van de functie Abonneren handelen DVP Server enerzijds en Authorization Server en Subscription Server anderzijds, hun onderlinge verkeer af conform de standaard OAuth 2.0. | ext.abo.autorisatie.200 |
Authenticatie
1. | Dienstverlener aanbieder draagt ervoor zorg dat de onder core.gegevensdiensten.103, core.gegevensdiensten.104, core.autorisatie.100, core.autorisatie.101 en ext.geguit.autorisatie.100 bedoelde vraag om Toestemming, respectievelijk bevestiging, slechts plaatsvinden wanneer hij de identiteit van de Persoon met passende zekerheid heeft vastgesteld. Dit geldt als uitbreiding op de verantwoordelijkheid zoals beschreven in core.authenticatie.100 | ext.abo.authenticatie.100 |
Adressering
1. | De OAuth Client stelt conform RFC 3986 de URI samen waarmee hij zichzelf, de Authorization Server en de Subscription Server adresseert. De Notification Client stelt conform RFC 3986 de URI samen waarmee hij de Notification Server adresseert. Dit geldt als uitbreiding op de verantwoordelijkheid zoals beschreven in core.adressering.200 | ext.abo.adressering.200 |
2. | In alle adressering op de Subscription interface, de Subscription notification interface en de resource notification interface is het gebruik van het voor | ext.abo.adressering.201 |
3. | Voor het samenstellen van alle adressen van het subscription request, betrekt de OAuth Client de eerste onderdelen van de URI, namelijk host en path , uit de Aanbiederslijst, op basis van de van toepassing zijnde Aanbieder, Interfaceversie en Gegevensdienst. Andere elementen van de algemene URI-syntax, zoals user , password , query en fragment , zijn afwezig in de adressen. | ext.abo.adressering.202 |
4. | De adressen voor de subscription notification en de resource notification betrekt de Notification Client uit de OAuth Client List, op basis van de van toepassing zijnde OAuth Client en Gegevensdienst. | ext.abo.adressering.203 |
Logging
1. | Dienstverlener persoon zal het Dossier zo inrichten dat deze ook dienst kan doen als logbestand van ontvangen Notificaties en aangegane Abonnementen. | ext.abo.logging.100 |
2. | Dienstverlener aanbieder zal een logbestand bijhouden van verzonden Notificaties en aangegane Abonnementen. | ext.abo.logging.101 |
Beveiliging
1. | In het gegevensverkeer voor de functies Abonneren en Notificeren, maken betrokken rollen gebruik van de functies Versleuteling, Server Authentication en Server Authorization. | ext.abo.beveiliging.200 |