Procesbeschrijvingen
MedMij Core beschrijft processen op het autoriseren, authentiseren en verzamelen van gegevens. Solution design voegt hier een functie Starten en gegevensdienst Verzamelen taken aan toe.
De volgende stappen gaan inhoudelijk de diepte in met eventueel meerdere scenario’s. Deelnemers implementeren de volgende stappen met de bijbehorende beveiligingsmaatregelen, per stap is ook een proces diagram beschikbaar die het proces verduidelijkt:
Procesdiagram - High Level
Onderstaand diagram toont het proces - high level - van autorisatie, authenticatie en gegevensverwerking. Dit vormt de technische basis (“hoe”) waarop de verdere toelichting per stap - en per pagina is uitgewerkt - is gebaseerd.
Uitgangspunt: De Persoon is reeds ingelogd in de PGO en gebruikt deze om gezondheidsgegevens te verzamelen en bekijken. Dit uitgangspunt is weergegeven met de Witte Stip.
De inrichting van het proces voor het starten van aanbiedermodules volgt niet alleen uit technische voorkeur, maar uit een bredere afweging tussen interoperabiliteit, veiligheid, juridische eisen en toekomstige Europese harmonisatie.
SMART on FHIR App Launch
Verschillende varianten van het starten van modules kwamen naar voren tijdens het ontwerpproces. In het starten van aanbiedermodules kiezen wij voor een HL7 SMART on FHIR
App Launch, een industriestandaard waarbij als nodig de gebruiker opnieuw geïdentificeerd wordt. Door een launch context te registreren en de browser vooraf en na de start van de aanbiedermodule bij DVA langs te laten gaan wordt dit voorkomen.
Token exchange en gebruikersidentificatie
De solution beschrijft dat het PGO eerst een Launch code verkrijgt via een Token Exchange (RFC 8693) bij de DVA, waarna de module een volledige SMART on FHIR flow doorloopt met gebruikersidentificatie door de DVA. De combinatie van Launch code en gebruikersidentificatie biedt dubbele beveiliging. Op hoog niveau:
De PGO gebruikt de bestaande usecase Verzamelen en krijgt een access_token van de DVA
Voor module launch: PGO gebruikt Token Exchange om een launch_token te verkrijgen
PGO stuurt gebruiker naar module met launch_token en DVA als audience
Module start SMART on FHIR flow met DVA
DVA kan de gebruiker opnieuw identificeren (niet alleen browser sessie)
Module krijgt access_token van DVA voor directe resource toegang
Voordelen van deze Token Exchange Launch Token aanpak:
Dubbele beveiliging: Zowel launch_token als gebruikersidentificatie
Standaard SMART on FHIR: Module gebruikt bekende SMART launch flow met DVA
Token Exchange compliance: Gebruikt RFC 8693 voor launch_token verkrijging
Gebruikerszekerheid: DVA kan gebruiker opnieuw identificeren voor gevoelige modules
Directe toegang: Module communiceert direct met DVA FHIR service
Flexibiliteit: DVA kan verschillende identificatiemethoden gebruiken
Audit trail: Volledige logging van zowel launch_token als gebruikersidentificatie
Het solution design gebruikt termen Launch code. In de technische implementatie is de naam van de parameter om technische redenen access_token of launch. Zie beschrijving in 3.3, 3.4 en 3.5.
