4.2 Harmonisatie afsprakenstelsels
De wens op het uniform gebruiken van aanbiedermodules vanuit PGO’s en patiëntportalen bestaat ruim drie jaar. In juni 2024 schreef VZVZ een concept solutiondesign met een proof-of-concept op workflow met applicaties. De wens is om snel tot een geharmoniseerde aanpak te komen in de afsprakenstelsels van Koppeltaal en MedMij en in 2026 aanbiedermodules in productie te nemen.
Compatibiliteit met Koppeltaal afsprakenstelsel
In Koppeltaal 2.0 wordt in de launch parameter een HTI token (gegenereerd door de EPD/EHR) meegegeven. De module hoeft hier geen losse code voor te schrijven, maar gaat simpelweg naar de iss die in de URL is meegegeven (of Koppeltaal of de DVA) en geeft blind de launch waarde door.
De Auth Server verifieert vervolgens:
Indien de launch waarde een MedMij One-Time Code is:
Of de One-Time code inderdaad voor deze module is en niet al is gebruikt of is verlopen
Indien authenticatie gewenst is: of de One-Time Code gebruiker matcht met de gebruiker vanuit DigiD
Indien authenticatie niet gewenst is: of de verifier die de gebruiker selecteert ook overeenkomt met de One-Time Code gebruiker
Indien de launch waarde een HTI is:
Of de HTI verwijst naar waarden die ook werkelijk bestaan bij de FHIR server
Of de ingelogde gebruiker vanaf DigiD ook werkelijk dezelfde is als waarde HTI naar verwijst
Daarna geeft de Auth Server een authorization code terug, die volgens de App Launch specificatie sectie 2.1.10 wordt ingewisseld voor een access token. Dit gebeurt in beide gevallen (MedMij & HTI).
Indien de launch waarde een MedMij One-Time Code is:
De module krijgt hier direct een access_token terug, zoals volgens de App Launch specificatie.
Indien de launch waarde een HTI is:
De waarde
NOOP
wordt teruggeven voor het access token en decontext
parameter bevat de inhoud van de HTI, zie Confluence Koppeltaal: TOP-KT-007De module gebruikt SMART on FHIR backend services samen met de context om de juiste gegevens op te halen.
Compatibiliteit MedMij Afsprakenstelsel
In Afsprakenstelsel 2.2 is de functionaliteit op het starten van modules nog niet beschikbaar. In die zin zijn er geen breaking changes, wel wordt Afsprakenstelsel (naast een gegevensdienst op het verzamelen van taken) aangevuld met een techniek op SMART on FHIR App Launch. Deze functionaliteit is nieuw en compatibel met de gebruikte technologieën in Afsprakenstelsel.
Bijzonder is wel dat App Launch gebruik maakt van OpenID Connect-authenticatieflows
(gebaseerd op OAuth 2.0). Koppeltaal 2 ondersteunt OIDC volledig, deelnemers in MedMij niet.
Voorstel zoals er nu ligt is om MedMij-deelnemers te vragen de OpenID Connect-autorisatieflows waar nodig te implementeren, zonder de OIDC-standaard volledig te omarmen. Praktisch betekent dit dat een .well-known/smart-configuration
en een token-exchange beschikbaar wordt bij DVA, maar dat scope openid
tijdens autorisatieflow niet gebruikt tijdens het creëren van launch-context zoals dat gewoon is in OAuth 2.0 en de implementatie in MedMij Afsprakenstelsel.