Functioneel ontwerp (1.0.0-alpha)
PGO-koppelvlak is bedoeld om dataportabiliteit mogelijk te maken tussen PGO’s. De volgende requirements en user stories zijn vastgesteld om dit mogelijk te maken.
Uitwisseling over het koppelvlak is zinvol wanneer een PGO zowel de rollen van beschikbaarstellend als raadplegend implementeert (bron en doel). Alle PGO’s in de aanbesteding moeten daarom aan het eind van het proces verplicht kunnen ontvangen en delen.
Requirements
De volgende requirements zijn doorgaans gelijk aan wat al reeds van toepassing is op dienstverlener aanbieders in het afsprakenstelsel. Voor de volledigheid noemen wij de vereisten in het functioneel ontwerp, kijk in de kolom ‘Nieuw’ of het daadwerkelijk om een toevoeging gaat op het huidig stelsel.
Functionele requirements
ID | Aspect | Als…. | Wil ik, zodat… | Afspraak | Nieuw |
|---|---|---|---|---|---|
PGOK-FR001 | Authenticatie en Autorisatie | Gebruiker | mij kunnen authenticeren via een door MedMij goedgekeurde methode, zodat mijn gegevens veilig zijn en alleen ik toegang heb | ||
PGOK-FR002 | Authenticatie en Autorisatie | Gebruiker | dat alleen ik als eigenaar van het dossier toestemming kan geven voor de overdracht, zodat mijn medische gegevens niet zonder mijn goedkeuring gedeeld worden. | (jur.avg.201) | |
PGOK-FR011 | Toestemming en Logging | Gebruiker | expliciet toestemming geven voor de gehele overdracht, zodat ik volledige controle heb over mijn gegevens.
| (jur.avg.201) | |
PGOK-FR012 | Toestemming en Logging | Gebruiker | dat mijn toestemming eenmalig is voor de specifieke transactie en niet hergebruikt kan worden, zodat ik niet ongewenst gegevens deel.
| ||
PGOK-FR013 | Toestemming en Logging | MedMij | dat toestemming wordt gelogd inclusief tijdstip en details, zodat de transactie auditbaar en compliant is met de wetgeving en NEN7510/7513.
| ||
PGOK-FR021 | Gegevensformaat en Interoperabiliteit | DVP | het dossier uitwisselen in een door MedMij gespecificeerd formaat, zodat het interoperabel is met andere PGO’s.
| ||
PGOK-FR022 | Gegevensformaat en Interoperabiliteit | Gebruiker | dat mijn gegevens volledig en correct worden overgezet, zodat ik geen informatie verlies. | ||
PGOK-FR023 | Gegevensformaat en Interoperabiliteit | MedMij | dat de bron-DVP gekwalificeerd is als aanbieder voor de betreffende gegevensdienst, zodat alleen vertrouwde partijen gegevens verwerken | ||
PGOK-FR024 | Gegevensformaat en Interoperabiliteit | MedMij | dat de bevragende doel-PGO gekwalificeerd en geregistreerd is in de ZAL, zodat de gegevensuitwisseling betrouwbaar en gecontroleerd is. | ||
PGOK-FR032 | Informatiebeveiliging | MedMij | dat data in transit en data-at-rest versleuteld zijn volgens MedMij-normen, zodat de privacy en veiligheid gewaarborgd blijft | ||
PGOK-FR041 | Portabiliteit | Gebruiker | dat alle gegevens in mijn dossier worden overgedragen bij een overstap, zodat ik mijn volledige dossier kan meenemen naar een andere PGO. | Nieuw | |
PGOK-FR042 | Dataminimalisatie | DVP | geen onnodige gegevens meesturen, zodat de overdracht voldoet aan het principe van dataminimalisatie (conform AVG).
| ||
PGOK-FR051 | Bevestiging en fallback-mogelijkheid | Gebruiker | een bevestiging na een succesvolle overdracht, zodat ik weet dat mijn gegevens correct zijn overgezet. | Nieuw | |
PGOK-FR052 | Portabiliteit | DVP | dat alle documenten voor portabiliteit een typecodering hebben, zodat ik als patiënt weet welke documenten een ander PGO als bron hebben. | Nieuw | |
PGOK-FR053 | Bevestiging en fallback-mogelijkheid | Gebruiker | een herstelmechanisme bij falen, zodat ik een nieuwe poging kan doen of instructies krijg bij een foutmelding.
|
Non-functionele requirements
ID | Aspect | Als…. | Wil ik, zodat… | Afspraak | Nieuw |
|---|---|---|---|---|---|
PGOK-NFR001 | Veiligheid | MedMij | dat de overdracht voldoet aan de AVG en NEN 7510-standaarden, zodat de privacy en veiligheid gewaarborgd zijn. | ||
PGOK-NFR002 | Veiligheid | MedMij | dat authenticatie- en encryptiemethoden regelmatig worden geüpdatet, zodat de beveiliging up-to-date blijft | ||
PGOK-NFR003 | Veiligheid | Gebruiker | De overdracht voldoet aan de actuele TLS-richtlijnen zoals vastgesteld in het MedMij Afsprakenstelsel, zodat mijn gegevens niet kunnen worden onderschept. | ||
PGOK-NFR011 | Betrouwbaarheid | Gebruiker | dat de overdracht geen gegevensverlies veroorzaakt, zodat mijn medische informatie volledig blijft. | ||
PGOK-NFR012 | Betrouwbaarheid | MedMij | dat eventuele fouten worden gelogd en beheerd via een incidentmanagementproces, zodat problemen snel worden opgelost. | ||
PGOK-NFR021 | Prestaties | Gebruiker | dat de overdracht binnen een redelijke tijd wordt voltooid en als het langer duurt ik bericht krijg, zodat ik niet onnodig hoef te wachten. | Richtlijnen: vooraf informeren over wachttijd als uitwisselen verwacht langer neemt dan 10s; actief informeren en notificeren als wachttijd langer dan 30s; nooit langer dan 15 minuten. | Nieuw* |
PGOK-NFR022 | Prestaties | Gebruiker | dat de service een uptime van 99,9% garandeert, zodat de beschikbaarheid gewaarborgd is. | ||
PGOK-NFR031 | Auditability & Logging | MedMij | dat alle transacties gelogd worden voor auditdoeleinden, zodat naleving gecontroleerd kan worden. | ||
PGOK-NFR032 | Auditability & Logging | MedMij | dat logs minimaal 5 jaar worden bewaard conform MedMij-richtlijnen, zodat historische gegevens beschikbaar blijven voor audits. | ||
PGOK-NFR041 | Gebruiksvriendelijkheid | Gebruiker | dat de overdracht eenvoudig uit te voeren is via een intuïtieve gebruikersinterface, zodat ik mijn PGO‑overstap volledig en betrouwbaar kan uitvoeren. | ||
PGOK-NFR050 | Portabiliteit | Gebruiker | dat het overstapdocument een toekomstbestendig formaat (PDF/A) volgen zonder licentiebeperkingen (lettertypen, huisstijl), zodat ik documenten in mijn dossier altijd mag inzien, kopiëren, downloaden, meenemen en delen. |
In PGOK-NFR021 passen we de richtlijnen op ‘overdracht binnen redelijke tijd’ mogelijk aan na overleg en resultaten met PGO’s die als eerste implementeren. We gaan er vooralsnog vanuit dat de richtlijnen goed haalbaar blijken. Bij technische beperkingen kan het nodig zijn de non-functionele eisen bij te stellen tot wat redelijk en nuttig is.
Use cases
Overstapservice PGO-leverancier
Overstapservice met het verzamelen en beschikbaar stellen van documenten over PGO-koppelvlak. Doel-PGO haalt een document (PDF/A) en portabiliteitsrapport (XML) op bij bron-PGO volgens MedMij-richtlijnen. Bijbehorende testcase met gebruiker XXX_Helleman. In deze implementatie van het PGO-koppelvlak wordt per overstap maximaal één PDF/A-overstapdocument overgedragen.
Rollen in de overstapservice
Persoon (gebruiker van een PGO die wil overstappen)
Raadplegend PGO (Dienstverlener persoon)
Beschikbaarstellend PGO (Dienstverlener persoon als aanbieder in het persoonsdomein)
Failed to load the diagram preview image.
Authentication Required
Page ID: 1083900118
Stap 1: Initiëren van de aanvraag in doel-PGO
De gebruiker logt in op doel-PGO met
2-factortweefactorauthenticatie en kiest de optie "Dossier ophalen bij een andere PGO".Doel-PGO toont een lijst van gekwalificeerde PGO’s.
De gebruiker selecteert bron-PGO als bron.
Doel‑PGO bereidt een overstapverzoek voor de overdracht van 1 overstapdocument
Stap 2: Authenticatie en toestemmingn bij bron-PGO
Doel-PGO stuurt de gebruiker door naar bron-PGO voor authenticatie met de inlogmethode van bron.
De gebruiker logt in op beschikbaarstellend bron-PGO en krijgt een algemeen toestemmingsverzoek te zien waarin staat dat doel-PGO gegevens wil ophalen. Er is geen optie voor langdurige toestemming.Bron‑PGO toont een duidelijk toestemmingsverzoek voor de eenmalige overdracht van het overstapdocument aan de gekozen doel‑PGO
De gebruiker geeft expliciet toestemming, waarna de gebruiker terugkeert naar doel-PGO met een code. Doel-PGO wisselt de code in voor een token en heeft daarmee toestemming gekregen om één PDF/A-document langs gegevensdienst 51 op te halen.
Stap 3: Genereren van een access token Tokenuitgifte en autorisatie
Bron-PGO controleert of het opgevraagde dossier voor ingelogde gebruiker beschikbaar is.
Bron-PGO genereert een unieke, tijdelijke auth-code met beperkte geldigheidsduur (bijv. 15 minuten).
Bron-PGO stuurt de gebruiker met een redirect terug naar het return-url van Doel-PGO. Op het terugkeeradres is als query-parameter de code opgenomen of een een foutmelding.
Doel-PGO gebruikt de code om bij het token-endpoint van bron-PGO in te wisselen. Het token-endpoint is beschikbaar in MedMij-register zorgaanbiederlijst.
Bron-PGO deelt een access token met doel-PGO.
Beide PGO’s loggen de transactie inclusief tijdstip, IP-adres en de gevraagde bestanden in een auditlog.
Stap 4: Ophalen van het bestand door doel-PGO
Doel-PGO gebruikt het access token om toegang te verkrijgen tot medische patiëntinformatie in het dossier. In deze uitwisseling wordt per overstap maximaal één PDF/A overstapdocument opgehaald. De informatie is steeds versleuteld in opslag en tijdens transport bij bron en doel.
Bron-PGO valideert de access token, genereert optioneel een document en een gevraagde documentenlijst en het documentbestand versleuteld naar doel-PGO via een beveiligde verbinding.
Doel-PGO vraagt de documentenlijst op langs gegevensdienst 51 (Verzamelen Documenten) met
waardecodelijstMedMijPortabiliteitCodelijsttypecodering.alle documenten moeten vastgelegd onder type=EXPORT en optioneel onder extra codeaanduidingen zoals voor het levensloopdossier, aangeboden bijlagen en het XML-dataportabiliteitsrapport.Doel-PGO controleert de integriteit van het bestand via een hashcontrole indien aangeboden.
Als de controle slaagt, wordt het bestand opgeslagen in de omgeving van doel-PGO.
Stap 5: Bevestiging en afronding
Doel-PGO toont de gebruiker krijgt een melding dat het dossier is overgenomen of een foutmelding als dit niet lukte met herstelopties.
De gebruiker kan het bestand in doel-PGO openen en eventueel delen met een zorgverlener.
Bron‑PGO en doel‑PGO registreren de transactie in een auditlog (tijdstip, bron/doel, document‑identifier(s), status, eventuele foutcodes).
Foutpaden en herstel
Toestemming geweigerd: overdracht wordt afgebroken; doel‑PGO toont melding dat geen document is overgedragen.
Code/token ongeldig of verlopen: doel‑PGO biedt herstart van het toestemmingsproces aan.
Overstapdocument niet beschikbaar of integriteitscontrole mislukt: doel‑PGO meldt het probleem en biedt herhaalactie/herlevering; status blijft “niet geslaagd” tot succesvol herstel.