Technisch ontwerp (1.0.0-alpha)
Samenvatting
De PGO-overstapservice bestaat uit het overbrengen van een overstapdocument tussen twee PGO’s.
PGO’s implementeren de functie Verzamelen voor gegevensdienst 51: Verzamelen Documenten 3.0 waarin een beschikbaarstellend PGO de rol neemt als aanbieder, vastgelegd op de aanbiederslijst.
Voor de volledigheid schrijven wij de processtappen bij functies kort uit met een voorbeeld. Dit zijn geen nieuwe afspraken, de deelnemers passen functies en gegevens in het afsprakenstelsel al toe als Dienstverlener aanbieder (DVA) en Dienstverlener persoon (DVP).
Wel nieuw is dat PGO nu naast gegevens raadplegen ook gegevens beschikbaar stelt als aanbieder.
Proces
Voorafgaand aan het verzamelen zijn er de bekende stappen met functies en verantwoordelijkheden om uitwisseling tussen deelnemers tot stand te brengen. Denk daarbij aan het opvragen van stelsel-
lijsten en autoriseren van het raadplegen. Zie de interfacebeschrijvingen in Afsprakenstelsel.
Functie | Beschrijving |
|---|---|
1. Registreren | MedMij valideert en registreert PGO voor functies op gegevensdienst 51. |
2. Lokaliseren | PGO biedt een overstapscherm aan met een keuzelijst PGO’s voor gebruiker. |
3. Autoriseren | PGO stuurt gebruiker naar PGO, gebruiker logt in en geeft eenmalig toestemming. |
4. Verzamelen | PGO start de functie Verzamelen en ontvangt een overstapdocument. |
5. Raadplegen | Persoon kan overstapdocument na uitwisseling bekijken in raadplegend PGO. |

De functies Lokaliseren, Autoriseren en Verzamelen in het afsprakenstelsel
Procesdiagram
Onderstaand diagram toont het proces van functies voor gegevensoverdracht. Afsprakenstelsel beschrijft elke functie in detail. In dit document herhalen we de processtappen als overzicht met voorbeelden om relevante acties voor het overbrengen van een overstapdocument te verduidelijken.
1. Registreren DVP als aanbieder in het persoonsdomein
PGO is een Dienstverlener persoon (DVP). In die rol communiceert het doorgaans als client met de servers van DVA bij zorgaanbieders. Nieuw is dat DVP nu naast gegevens raadplegen ook gegevens beschikbaar stelt in de rol van aanbieder voor een persoon. PGO’s gaan naast client ook als server communiceren. De aanbiedende PGO komt als een nieuw type aanbieder op de ZAL. Op de ZAL wordt ook geregistreerd voor welke gegevensdiensten de PGO gekwalificeerd id als aanbieder. Voor nu is gekozen voor de typeaanduiding ‘aanbieder in het persoonsdomein’ (APD) .
MedMij registreert DVP als aanbiedertype APD wanneer bewezen in staat om een overstapdocument beschikbaar te stellen volgens gegevensdienst 51 (Verzamelen Documenten 3.0). Dit ziet er als volgt uit op ZAL.
Specifiek gaat het in gegevensdienst 51 om systeemrolcodes MM-3.0-PLB-FHIR (Raadplegen PDF/A) en MM-3.0-PDB-FHIR (Beschikbaarstellen PDF/A DocumentReference):
<Zorgaanbiederslijst>
<Zorgaanbieders>
<Aanbiedertype>APD</Aanbiedertype>
<Interfaceversies>
<Interfaceversie>
<Gegevensdiensten>
<Gegevensdienst>
<GegevensdienstId>51<GegevensdienstId>
2. Lokaliseren beschikbaarstellend PGO
In de processtappen op lokaliseren maakt PGO een overstapscherm beschikbaar met hierin een selectie in de aanbiederslijst van PGO’s die ook als aanbieder beschikbaarstellen (APD). Gebruiker maakt een handmatig een keuze voor het PGO om daar een overstapdocument te verzamelen. Zie de begeleidende instructies beschikbaarstellende PGO’s voor een voorbeeld van het overstapscherm.
Processtap | Toelichting |
|---|---|
1. Persoon opent overstapscherm | Initiatief voor uitwisseling van een overstapdocument ligt bij de gebruiker. Deze logt in op een PGO en kiest een beschikbaarstellend PGO om gegevens op te halen. |
2. PGO vraagt aanbiederlijst op | Raadplegend PGO vraagt lijsten met aanbieders en gegevensdiensten bij MedMij Register. Register stuurt stelselnodelijsten ZAL en WHL, PGO houdt deze in cache. |
3. PGO toont keuzelijst ADP | Raadplegend PGO filtert in ZAL op aanbiederstype ADP |
4. Persoon kiest een PGO | PGO toont overstapscherm met keuzelijst. Persoon kiest een PGO voor verzamelen overstapdocument. |

Initiatief voor uitwisseling van een overstap-
document ligt bij een PGO-gebruiker. De gebruiker logt in op een raadplegend PGO en
kiest een beschikbaarstellend PGO om overstap-
document op te halen. Het scherm mag er bijvoorbeeld uit zien als hiernaast getoond.
3. Autoriseren raadplegend PGO
Functies Autoriseren en Authenticeren in het afsprakenstelsel beschrijven hoe deelnemers met auth-code-flow de persoon toestemming vragen om gegevens te delen. In overstapservice autoriseren wij zonder langdurige toestemming (geen refresh_token). Communicatie tussen PGO’s is kortdurend.
Processtap | Toelichting |
|---|---|
5. PGO start auth-code-flow | PGO redirect browser van Persoon naar het authorization-endpoint van gekozen beschikbaarstellend APD. |
6. Persoon logt in en stemt toe | Persoon logt in met account van beschikbaarstellend PGO en geeft toestemming gegevensdeling. |
7. ADP controleert PGO in lijsten | Autorisatieserver verifieert PGO-client deelnemer in OCL. |
8. Token exchange met code | Beschikbaarstellend PGO redirect de browser van persoon naar return_uri met een autorisatiecode. Raadplegend PGO wisselt deze in op token_endpoint voor access_token. |
Gedetailleerde uitleg over de opmaak van Toestemmingsverklaring in Afsprakenstelsel Core.
![]() | ![]() |
4. Verzamelen overstapdocument
Raadplegend PGO gebruikt het verkregen access_token voor Verzamelen Documenten 3.0 (PDF/A). De PGO-overstapservice vraagt één overstapdocument over te nemen. Zie begeleidende voorbeelden. Het overstapdocument heeft een DocumentReference.type http://snomed.info/sct|371535009.
Beschikbaarstellend PGO genereert tijdens het verzamelen of vooraf het overstapdocument met medische gegevens bekend bij het PGO. De inhoud is hier naar eigen inzicht en zo volledig mogelijk. Informatie die leidt tot overmatig veel pagina’s tekst of buitenproportionele bestandsgrootte vatten we leesbaar samen (denk aan: zeer gedetailleerd metingenoverzicht of zware radiogrambeelden).
Processtap | Toelichting |
|---|---|
9. PGO vraagt lijst documenten | PGO vraagt lijst beschikbare documenten op met FHIR STU3 (status = current) en ontvangt FHIR-bundle met DocumentReference resources |
10. PGO filtert op SNOMED-type | PGO doorzoekt lijst op verslag van overdracht (type = http://snomed.info/sct|371535009). |
11. PGO vraagt overstapdocument | PGO vraagt specifiek overstapdocument op. Beschikbaarstellend PGO stuurt overstapdocument |
12. Document genereren | Resourceserver genereert als nodig PDF/A-document. |
Invoegen van een Patient-verwijzing (subject) in DocumentReference is optioneel in de gegevensstandaard. Voegt beschikbaarstellend PGO de referenties in voor bijvoorbeeld subject of author, dan moet het ook het ophalen van die verwijzingen mogelijk maken.
5. Raadplegen dossier

Voorbeeld overstapdocument_patient123.pdf
Persoon ontvangt een bevestiging van succesvolle overdracht. Raadplegend PGO bewaart het overstapdocument.
Bij voorkeur kan persoon het PDF-document in PGO bekijken. Als alternatief zijn instructies om in te zien met een aparte viewer mogelijk.
Advies voor PGO’s in deze use-case
De use-case ‘Overstapservice met PGO-koppelvlak’ past bestaande functies in het afsprakenstelsel toe met uitwisseling de gegevensdienst op het verzamelen van documenten. De stappen voor beschikbaarstellende aanbieders zijn uitvoerig beschreven in het stelsel en gegevensdienst.
Kort enkele suggesties, verduidelijking en advies bij het toepassen van de overstapservice.
Aandachtspunten Beschikbaarstellend PGO
Voor een PGO dat overstapservice beschikbaar maakt zijn alle processtappen nieuw. Op functies Autoriseren en Verzamelen is inrichting nodig met een OAuth2-server en resourceserver. Daarnaast is aandacht vereist voor het genereren van het overstapdocument.
A1. Inrichten authenticatie en toestemmingen
MedMij-deelnemers passen OAUTH2 toe met hieromheen afspraken over het verifiëren van autorisatieverzoeken tegen stelselnodelijsten. In de praktijk is een OIDC-identityprovider nuttig.
Persoon logt in met tweefactorauthenticatie, zie https://afsprakenstelsel.medmij.nl/asverplicht/mmverplicht/a-9-4-1-beperking-toegang-tot-informatie.
In de autorisatieflow vraagt raadplegend PGO om toestemming voor uitwisseling. Het beschikbaar-
stellend PGO implementeert een autorisatieserver die dit ondersteunt. Persoon ziet na inloggen een toestemmingsverklaring zonder langdurige toestemming (d.w.z: zonder refresh_tokens). Verkeer met autorisatieserver is gebonden aan https://afsprakenstelsel.medmij.nl/asverplicht/mmverplicht/verantwoordelijkheden-core#id-(MedMijAfsprakenstelsel2.2.6d)Verantwoordelijkheden,Core-Autorisatie en deelnemers voldoen aan het normenkader informatiebeveiliging waarin het valideren van client op OCL-stelsellijst, PKI-Overheid.
A2. Inrichten resourceserver
Voor de functie Verzamelen richt beschikbaarstellend PGO een resourceserver in met ondersteuning voor FHIR STU3. Dit kan een volledige FHIR-server zijn of een façade met minimaal endpoints om de bundel met één document uit te leveren. Houd rekening met:
Endpoint voor
Bundel-resource metDocumentReference-resource.Endpoint voor
Patient-resource waarnaar verwezen wordt in DocumentReference.Endpoint ophalen document in bijvoorbeeld
DocumentReference.content.attachment.url.
De resourceserver ontvangt een HTTP-request voor de lijst met document-references en kan aanvullend alle resources opvragen waar de DocumentReference-bundle naar verwijst.
Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...
HTTP GET [base-url]/DocumentReference?status=current
In FHIR staat normatief beschreven dat alle referenties in deze lijst door de client op te vragen zijn.
Raadplegend PGO haalt alleen het overstapdocument op.
A3. DocumentReference opmaken met type-code
Geef het overstapdocument in DocumentReference-resource een type-code http://snomed.info/sct|371535009 (Verslag van overdracht) mee. Hiermee herkennen raadplegende PGO’s het overstapdocument.
Beschikbaarstellend PGO heeft met de gegevensdienst de keuze om documenten op verschillende manieren mee te sturen in DocumentReference.content.attachment: als base64-encoded data, als Binary-resource of als een verwijzing naar een url. Zie opties: IHE.MHD.Minimal.DocumentReference.
Het levensloopdossier van een PGO-gebruiker verandert regelmatig, om nuttig te zijn moet het overstapdocument relevant en bijgewerkt zijn. Een wijze om dat te bereiken is het regelmatig te verversen in de FHIR-resourceserver. Een andere manier is het document buiten een resourceserver te genereren op het moment van opvragen. Het kan dan nuttig zijn met attachment.url te werken.
Tip: veld content.attachment.contentType verwijst altijd naar application/pdf, ook als we een Binary-resource gebruiken. Bij het uitlezen van resources geeft de Content-Type header pas aan dat het gaat om Content-Type: application/pdf of Content-Type: application/fhir+json.
A4. Voorbeeldaanpak genereren overstapdocument
In het voorbeeld bij 4. Verzamelen overstapdocument verwijst de document-reference naar een endpoint waar een PDF-document met samenvatting op aanvraag genereert, in aanvraag of vooraf.
Dit overstapdocument bevat de inhoud van een medisch levensloopdossier bij een PGO en de informatie plaatsen we in één overstapdocument. Het is aan het PGO om een vorm te vinden
die past. Raadplegend PGO bewaart het overstapdocument onder bronvermelding zoals met alle informatie die PGO verzamelt op gegevensdiensten.
Een werkbare opzet om het overstapdocument te genereren is door een webpagina op te bouwen zoals in PGO al meerdere pagina’s aanwezig zijn en daarop te converteren naar PDF/A-document. Het is mogelijk om conversiesoftware de inhoud van webpagina’s snel om te laten zetten naar PDF. Eenvoudig voorbeeld met de software van Gotenberg:
HTTP POST [documentservice] /forms/chromium/convert/url
url= https://deoudepgo.nl/portal/volledig_overzicht_patient.html&
pdfa=PDF/A-1b
Uiteraard is iets dergelijks ook mogelijk met een PDF-template of een template in markdown, zolang de inhoud gelijkwaardig is aan de inhoud zoals dat te zien in op de website van het PGO. Zoals beschreven in de gegevensdienst voldoet het resultaat aan minimale vereisten voor PDF/A: bijvoorbeeld PDF/A-1 en daarbinnen is PDF/A-b ook toegestaan.
A5. Gebruik lettertypen en grafisch werk geschikt voor onbeperkt delen
Patiëntgebruikers houden de beschikking over PDF-documenten die een PGO voor hen maakt. Het doel is om de documenten ook in de toekomst te downloaden en mee te nemen naar een ander PGO. Gebruik daarom bij het ontwikkelen alleen materialen die ingesloten mogen en onbeperkt gedeeld.
Alle in de PDF/A-documenten gebruikte lettertypen dienen over een ‘permissive licence’ te beschikken met minimale restricties die het insluiten (embedding), reproduceren en verspreiden van het lettertype toestaat, in overeenstemming met de vereisten van de PDF/A-standaard (ISO 19005). We gebruiken geen lettertypen of beeldmateriaal waarvan de licentie dergelijke toepassingen beperkt of uitsluit. Houd daar rekening mee wanneer je bijvoorbeeld het logo of de huisstijl van een PGO toepast op het document. Soms liggen hierop beperkingen in verveelvuldiging, bijvoorbeeld van een ontwerpbureau.
A6. Gegevens plaatsen in document op basis van beschikbaarheid
Het doel van uitwisselen documenten langs koppelvlak is om meerwaarde te bieden aan
een patiëntgebruiker die verzamelde informatie in levensloopdossier wil meenemen naar
een ander PGO. Het is aan beschikbaarstellend PGO om daar namens gebruiker een afweging in te maken.
Zo bewaren PGO’s sommige medische gegevens deels in het dossier. Goed voorbeeld daarvan zijn (radiologische) beelden die op aanvraag opgehaald worden bij zorgaanbieders en een reeks met veel beelden opleveren. Als gegevens niet beschikbaar zijn of de presentatie ervan in een samenvatting overweldigend veel inhoud oplevert, dan laat de beschikbaarstellend PGO deze buiten het document.
A7. Ketenlogging
De normale logging voor de use case Verzamelen, zoals op https://afsprakenstelsel.medmij.nl/asverplicht/mmverplicht/logging-interface uiteengezet dient ook geïmplementeerd te worden voor de APD Auth Server & Resource bevragingen. Met de deelnemende ontwikkelpartners kijken wij naar een uitbreiding om het gebruik van overstapservice beter te loggen, aangezien DocumentReference?status=current alle documenten bevraagt.
Nog te onderzoeken in fase ‘Ontwikkelen en geïsoleerd testen’
Bespreken met Register en PGO-ontwikkelpartners: logging interface of software aanpassen
om logging op overstapservice te verbeteren bij DVP als aanbieder in persoonsdomein?
Aandachtspunten Raadplegend PGO
Voor een PGO dat overstapservice gebruikt zijn alle processtappen bekend. Bijzonder is dat voor use-case ‘Overstapservice met PGO-koppelvlak’ een overstapscherm beschikbaar komt en een overstapdocument bewaard wordt na uitiwisseling. Hier komt een klein stukje filtering te pas.
B1. Filteren
Gegevensdienst Documenten Verzamelen 3.0 ondersteunt alleen het verzamelen van alle documenten langs een volledige lijst van DocumentReference?status=current. Uit de lijst die terugkomt (FHIR STU3 Bundle) is het goed mogelijk het overstapdocument te vinden. Het hoort het enige document te zijn dat voldoet aan http://snomed.info/sct|371535009.
B2. Bewaren en tonen
Zoals dat geldt voor ander documenten, maken we het bij voorkeur mogelijk een PDF-document in de browser of applicatie te tonen. Anders een uitleg hoe document te gebruiken op apparaat. We vragen PGO’s duidelijk weer te geven dat het gaat om een overstapdocument. Bijvoorbeeld door de Nederlandse vertaling te tonen: “verslag van overdracht“ met bron.
Vragen en suggesties
Wij werken dit initiatief met deelnemers uit tot nieuwe afspraken in het stelsel. Vragen, ideeën of suggesties? Deel ze vooral. Dat kan bijvoorbeeld in een expertsessie of via MedMij Loket.


