RFC0012 Coördinatie, regie en uitwisseling
Samenvatting
Waarom is deze RFC nodig? | Het MedMij Afsprakenstelsel past een scheiding toe tussen enerzijds de rollen en functionaliteit waarmee de Persoon *afspraken* maakt met een Zorgaanbieder over de uitwisseling van gezondheidsinformatie en anderzijds de *uitvoering* van die afspraken door middel van het uitwisselen van die gezondheidsinformatie. Met deze scheiding zorgt MedMij ervoor dat de Persoon altijd helder kan hebben wanneer hij afspraken aan het maken is (bijvoorbeeld: toestemming geeft of een abonnement aangaat) en ook altijd overzicht kan hebben over welke afspraken hij gemaakt heeft, met wie, en wat de status daarvan is. Zo kan de Persoon goed regie voeren. Deze scheiding is wel op meerdere plaatsen aanwezig in het MedMij Afsprakenstelsel (in de fasering van UC(I) Verzamelen en Delen, en in de beschikbaarheids-/ontvankelijkheidsvoorwaarde), maar niet op één plaats gedefinieerd, noch expliciet zichtbaar in de rest van het MedMij Afsprakenstelsel. Nu abonneren en notificeren ook opgenomen gaat worden in het MedMij Afsprakenstelsel, gaat dit knellen en dreigt deze scheiding onscherp te worden. Deze RFC stelt voor hoe deze scheiding expliciet wordt gemaakt in het MedMij Afsprakenstelsel en gaat dienen als uitgangspunt voor allerlei ontwerpkeuzes, waaronder voor RFC0005. Op de niveaus Processen en informatie en Applicatie is er naast Regie en Uitwisseling nog een derde soort functionaliteit: Coördinatie (beheer, publicatie en ophalen van lijsten en Catalogus). Deze RFC geeft met name ook invulling aan principes P1 en P16. |
---|---|
Oplossingsrichting | Zie uitwerking. |
Aanpassing van |
|
Impact op rollen | Zie bij oplossingsrichting. |
Impact op beheer | geen |
Gerelateerd aan (Jira issues) | veel |
Eigenaar | Paul Oude Luttighuis |
Implementatietermijn | Release 1.2.0 |
Motivatie verkorte RFC procedure (patch) | n.v.t. |
Goedkeuring
Beoordelaar | Datum | Toelichting | Beoordelaar | Datum | Toelichting |
---|---|---|---|---|---|
Productmanager Stichting MedMij | Productmanager Beheerorganisatie | ||||
Leadarchitect Stichting MedMij | Leadarchitect Beheerorganisatie | ||||
Ontwerpteam | |||||
Deelnemersraad | Eigenaarsraad |
Principe's
Principe | Principe | ||
---|---|---|---|
1 Het MedMij-netwerk is zoveel mogelijk gegevensneutraal | Positief | 11 Stelselfuncties worden vanaf de start ingevuld | Neutraal |
2 Dienstverleners zijn transparant over de gegevensdiensten | Neutraal | 12 Het afsprakenstelsel is een groeimodel | Positief |
3 Dienstverleners concurreren op de functionaliteiten | Neutraal | 13 Ontwikkeling geschiedt in een half-open proces met verschillende stakeholders | Neutraal |
4 Dienstverleners zijn aanspreekbaar door de gebruiker | Neutraal | 14 Uitwisseling is een keuze | Positief |
5 De persoon wisselt gegevens uit met de zorgaanbieder | Positief | 15 Het MedMij-netwerk is gebruiksrechten-neutraal | Positief |
6 MedMij spreekt alleen af wat nodig is | Neutraal | 16 De burger regisseert zijn gezondheidsinformatie als uitgever | Positief |
7 De persoon en de zorgaanbieder kiezen hun eigen dienstverlener | Neutraal | 17 Aan de persoonlijke gezondheidsomgeving zelf worden eisen gesteld | Neutraal |
9 De dienstverleners zijn deelnemers van het afsprakenstelsel | Neutraal | 18 Afspraken worden aantoonbaar nageleefd en gehandhaafd | Neutraal |
10 Alleen de dienstverleners oefenen macht uit over persoonsgegevens bij de uitwisseling | Positief | 19 Het afsprakenstelsel snijdt het gebruik van normen en standaarden op eigen maat | Neutraal |
Uitwerking
Nieuwe pagina maken, onder Architectuur en technische specificaties, met de titel: Coördinatie, Regie en Uitwisseling. Deze vervangt het blok "Regie en uitwisseling" op Architectuur en technische specificaties.
===
Scheiding tussen Regie, Uitwisseling en Coördinatie
Het MedMij Afsprakenstelsel scheidt, op de Processen-en-Informatie-laag en op de Applicatie-laag, drie hoofdfuncties: Regie, Uitwisseling en Coördinatie. Al het gedrag van de betrokken rollen op deze lagen hoort bij één van deze drie hoofdfuncties. De hoofdfuncties hebben een onderlinge relatie. Aan de hoofdfuncties zijn beginselkeuzes verbonden (zie onder).
Centraal staat de Regie; hiermee voert de Persoon regie, in interactie met de Zorgaanbieder, over (de uitwisseling van) zijn gezondheidsinformatie. Dat doet hij als uitgever, conform principe 16. Onder deze hoofdfunctie vallen bijvoorbeeld het geven van toestemming van de Persoon aan de Zorgaanbieder, het authenticeren van de Persoon door de Zorgaanbieder, het autoriseren van de PGO door de Zorgaanbieder en het aangaan, beëindigen en onderhouden van abonnementen. Regie leidt zo steeds tot overeenkomsten tussen Persoon, Zorgaanbieder en Dienstverlener Persoon, en is gebaseerd op vertrouwen in de identiteit van de anderen in de overeenkomst. De Dienstverlener Zorgaanbieder is geen partij in deze overeenkomsten, omdat deze geen verwerkingsverantwoordelijke is zoals wel de Dienstverlener Persoon. De Dienstverlener Zorgaanbieder speelt wel een belangrijke uitvoerende rol in de totstandkoming van de overeenkomsten, als verwerker namens de Zorgaanbieder.
Regie stuurt Uitwisseling. Uitwisseling geeft uitvoering aan de Regie. Deze tweede hoofdfunctie voert het feitelijke verkeer van gezondheidsinformatie uit, van Zorgaanbieder naar PGO (Verzamelen) of andersom (Delen). Alle uitwisseling vindt plaats conform gestandaardiseerde Gegevensdiensten en in het kader van een Regie-overeenkomst. Regie en Uitwisseling worden, conform principe 10, alleen uitgevoerd door partijen die onder de volledige verantwoordelijkheid vallen van een Dienstverlener Persoon of Dienstverlener Zorgaanbieder. MedMij kent een volledig decentrale uitvoering. MedMij is zelf niet betrokken in de uitvoering van Regie of Uitwisseling. Toch is een voorbereidende rol van MedMij nodig om de partijen in staat te stellen de onderlinge Regie tot stand te brengen.
Coördinatie is de derde hoofdfunctie zorgt voor het tot stand brengen van vertrouwen tussen de Dienstverleners Persoon enerzijds en de Dienstverleners Zorgaanbieder anderzijds, zodat zij van elkaar kunnen weten wat zij kunnen en mogen op het MedMij-netwerk. Deze functie wordt uitgevoerd met de Catalogus, die zegt welke Gegevensdiensten op enig moment op het MedMij-netwerk van kracht zijn, en vier lijsten (Gegevensdienstnamenlijst, OAuthclientlist, Whitelist en Zorgaanbiederslijst), die zeggen wat de Deelnemers kunnen en mogen.
Processen-en-Informatie-laag
Op deze laag zijn worden de drie hoofdfuncties door de volgende rollen uitgevoerd.
hoofdfunctie | Persoonsdomein | MedMij-domein | Zorgaanbiedersdomein |
---|---|---|---|
Coördinatie | Uitgever | MedMij Beheer | Bron Lezer |
Regie | Zorggebruiker Uitgever | - | Bron Lezer |
Uitwisseling | Zorggebruiker Uitgever | - | Bron Lezer |
Op deze laag worden de drie hoofdfuncties in de volgende UC's uitgevoerd.
hoofdfunctie | Persoonsdomein | MedMij-domein | Zorgaanbiedersdomein |
---|---|---|---|
Coördinatie | UC Opvragen GNL UC Opvragen ZAL | UC Opvragen GNL UC Opvragen ZAL UC Opvragen OCL | UC Opvragen GNL UC Opvragen OCL |
Regie | UC Verzamelen (eerste twee fasen) UC Delen (eerste twee fasen) | - | UC Verzamelen (eerste twee fasen) UC Delen (eerste twee fasen) |
Uitwisseling | UC Verzamelen (laatste fase) UC Delen (laatste fase) | - | UC Verzamelen (laatste fase) UC Delen (laatste fase) |
De beschikbaarheids- en ontvankelijkheidsvoorwaarde zijn een Regie-aangelegenheid en moeten om precies die reden in de Regie-fase van de UC Verzamelen en UC Delen worden uitgevoerd. Vanwege implementatiebeperkingen biedt het MedMij Afsprakenstelsel momenteel niettemin de ruimte om de beschikbaarheidsvoorwaarde uiterlijk aan het begin van de Uitwisselingsfase te regelen.
Applicatielaag
Op deze laag zijn worden de drie hoofdfuncties door de volgende rollen uitgevoerd.
hoofdfunctie | Persoonsdomein | MedMij-domein | Zorgaanbiedersdomein |
---|---|---|---|
Coördinatie | PGO Server | MedMij Registratie | Authorization Server |
Regie | PGO Gebruiker PGO User Agent PGO Server OAuth Resource Owner OAuth User Agent OAuth Client Authentication User Agent | Authorization Server OAuth Authorization Server Authentication Client Authentication Service Subscription Server | |
Uitwisseling | PGO Gebruiker PGO User Agent PGO Server OAuth Resource Owner OAuth User Agent OAuth Client | Resource Server OAuth Resource Server |
Op deze laag worden de drie hoofdfuncties op de volgende interfaces uitgevoerd. Elk interface hoort bij één hoofdfunctie.
hoofdfunctie | interface |
---|---|
Coördinatie | GNL interface OCL interface ZAL interface |
Regie | user interface (Verklaringen) authorization interface token interface subscription interface subscription alert interface |
Uitwisseling | resource interface notification interface |
Beginselen
De architectuur van het MedMij Afsprakenstelsel hanteert de volgende beginselen ten aanzien van de hoofdfuncties:
- Een interface (op de Applicatie-laag) hoort bij precies één hoofdfunctie. Bij voorkeur horen ook een rol en een use case bij precies één hoofdfunctie. Deze voorkeur is sterker op de Applicatie-laag dan op de Processen-en-Informatie-laag. Deze voorkeur is bovendien minder sterk bij de gebruikersrollen in beide domeinen.
- Noch MedMij Beheer noch enige andere partij heeft een centrale of intermediaire rol in Regie of Uitwisseling.
- Voor Coördinatie en Regie gebruikt het MedMij Afsprakenstelsel geen sector-specifieke oplossingen of standaarden. Sector-specificiteit moet hier niet alleen qua inhoud begrepen worden, maar ook qua governance (van een standaard). Gezondheid houdt zich niet aan sectorale verkavelingen; de Regie erop moet niet sectoraal verkaveld worden, omdat dat de regie zou beperken. Voor Uitwisseling heeft sector-specificiteit evenmin de voorkeur, maar vraagt de realiteit erom sector-specifieke uitwisselstandaarden te gebruiken (zoals HL7 for de zorgsector en bijvoorbeeld StUF voor het gemeentelijke veld). Verreweg de meeste informatie-inhoudelijke standaardisatie vindt binnen sectoren plaats. Dit beginsel laat principe 19 onverlet.
- Er vindt geen Uitwisseling plaats waaraan geen Regie-overeenkomst ten grondslag ligt. Mochten er Uitwisselingen in het MedMij Afsprakenstelsel moeten worden opgenomen die een andere legitimatie vereisen dan waarin Regie op enig moment voorziet, moet die nieuwe legitimatie dus onder de hoofdfunctie Regie worden toegevoegd.
- Al het verkeer in het kader van Uitwisseling vindt plaats op basis van gestandaardiseerde Gegevensdiensten, die in de Catalogus zijn opgenomen.
- De eenheid van Regie tussen Persoon en Zorgaanbieder is een hele Gegevensdienst. Een Uitwisseling, bijvoorbeeld een Notificatie, kan echter een kleinere eenheid betreffen, maar wel altijd als onderdeel van één Gegevensdienst.
- Alle functionaliteit van de hoofdfunctie Coördinatie is gestoeld op één gezamenlijke set informatiemodellen, die geordend zijn in drie lagen: conceptueel (metamodel), logisch (logische modellen) en technisch (XML-schema's). Deze informatiemodellen zijn onderdeel van het MedMij Afsprakenstelsel.
- De scheiding tussen de drie hoofdfuncties vertegenwoordigt een structureel aspect van het evoluerende MedMij Afsprakenstelsel. Dat betekent dat, ondanks de grote implementatievrijheid van Deelnemers, zij hun implementatielast van nieuwe releases kunnen beperken door deze scheiding ook in hun implementatie-architectuur aan te brengen. De scheiding tussen de hoofdfuncties maakt de evolutie van het afsprakenstelsel voor Deelnemers voorspelbaarder.
===
Verder: op vrijwel alle pagina's onder Processen en informatie en Applicatie stukjes tekst toevoegen over de hoofdfunctie waarbij een zeker gedrag, rol, functionaliteit, UC, UCI of interface hoort. Dat kan het best gebeuren in de eindredactiefase.
===
Risico's
Omschrijf de (privacy)risico's die kunnen ontstaan als deze RFC wordt aangenomen. In het onwaarschijnlijke geval dat deze RFC's geen risico's introduceert, geef dat dan wel aan.
Dreiging | Kans | Impact | Maatregelen |
---|---|---|---|
geen | 100% | 0 | geen |
Bijlagen