Use Cases Abonnementenregister
Overzicht Abonnementenregister
Onderstaande figuur toont een overzicht van de interfaces, services en functies van het Abonnementenregister.
Het Abonnementenregister geeft de mogelijkheid aan abonnees om notificaties te ontvangen m.b.t. mutaties in de verwijsindex/actualiteitsregister of m.b.t. mutaties in de toegangslog (bijv. omtrent gegevensuitwisselingen die hebben plaatsgevonden tussen zorgaanbieders).
Het Abonnementenregister biedt hiermee de mogelijkheid aan patiënten om genotificeerd te worden wanneer hun gegevens worden uitgewisseld. Daarnaast biedt het Abonnementenregister aan zorgaanbieders de mogelijkheid om genotificeerd te worden wanneer bij andere zorgaanbieders nieuwe gegevens ontstaan over een patiënt met wie zij zelf een behandelrelatie hebben.

De services zijn toegankelijk via een geboden interface en worden beschreven in de vorm van use cases. Een service wordt altijd vervult middels één of meerdere applicatiefuncties, bijvoorbeeld "Gebeurtenisafhandelaar".
Verwerken Abonnement Registratie
Primaire actor | Resource Client (Abonnerend Systeem) |
---|---|
Systeem | Abonnementenregister |
Secundaire actor | - |
Code | |
Realiseert Feature |
Pre-condities
Het systeem biedt een endpoint voor de registreren abonnement interactie van de Abonnement Interface. |
Het systeem is slechts benaderbaar voor
|
Triggers
De primaire actor stuurt een abonnement registratie request in
Main flow
AOF.UCe.VAL.100.v1 - Toetsing type content | Uitkomst | |
---|---|---|
Stap | Omschrijving | |
i | Het systeem ontvangt een verzoek en start de verwerking. Het systeem toetst of het gevraagde type content (Accept header) en het gehanteerde type content (Content-Type header) worden ondersteund. NB. wanneer het verzoek wordt ontvangen van een component van VZVZ, dan hoeft geen toets op type content te worden uitgevoerd. | Gevraagd type content niet ondersteund statuscode 406 Not Acceptable |
Gehanteerd type content niet ondersteund statuscode 415 Unsupported Media Type | ||
Het systeem genereert de vereiste response en gaat verder met de exit stap van de main flow. |
AOF.UCe.VAL.250.v1 - Toetsing van een intern RB-request | Uitkomst | |
---|---|---|
Stap | Omschrijving | |
i | Het systeem controleert of alle vereiste tokens zijn toegevoegd aan het request | Ontbrekend token statuscode 401 Unauthorized
|
Het systeem genereert de vereiste response en gaat verder met de exit stap van de main flow. | ||
ii | Het systeem controleert de geldigheid van de meegezonden, van toepassing zijnde, tokens
NB. wanneer het verzoek via een intern netwerk wordt ontvangen, en van een component van VZVZ, dan hoeft deze toets niet te worden uitgevoerd. Welke tokens van toepassing zijn is beschreven in de interface specificaties die horen bij deze use case. | Ongeldig token statuscode 401 Unauthorized
|
Het systeem genereert de vereiste response en gaat verder met de exit stap van de main flow. | ||
iii | Indien van toepassing: Het systeem controleert de samenhang tussen het AORTA access_token en het DigiD authenticatietoken, zoals omschreven in de de sectie "Toetsing van samenhang tussen tokens". NB. wanneer het verzoek via een intern netwerk wordt ontvangen, en van een component van VZVZ, dan hoeft deze toets niet te worden uitgevoerd. Welke tokens van toepassing zijn is beschreven in de interface specificaties die horen bij deze use case. | Ongeldig token statuscode 401 Unauthorized
|
Het systeem genereert de vereiste response en gaat verder met de exit stap van de main flow. |
Stap | Omschrijving | Uitkomst |
---|---|---|
1 | Het systeem toetst of het BSN in de patient claim van het AORTA access_token overeenkomt met het BSN in het criterium van het beoogde abonnement. | BSN in criterium komt niet overeen met token statuscode 403 Forbidden
|
Het systeem genereert de vereiste response en gaat verder met de exit stap van de main flow. | ||
2 | Het systeem toetst of de registratie van het abonnement is toegestaan:
| Registratie niet toegestaan statuscode 403 Forbidden
|
Het systeem genereert de vereiste response en gaat verder met de exit stap van de main flow. | ||
3 | Het systeem toetst het gebeurtenis-subtype
| Abonnement niet mogelijk statuscode 422 Unprocessable Entity
|
Het systeem genereert de vereiste response en gaat verder met de exit stap van de main flow. | ||
4 | Het systeem toetst of er al een abonnement bestaat met dezelfde kenmerken:
| Vergelijkbaar abonnement bestaat al statuscode 422 Unprocessable Entity
|
Het systeem genereert de vereiste response en gaat verder met de exit stap van de main flow. | ||
5 | Indien nog geen equivalent abonnement bestaat, zoals aangeduid door het equivalentie criterium ( Zie ook de toelichting “Interne verwerking van abonnementen en signalen”. | Meer dan één equivalent abonnement gevonden statuscode 412
|
Het systeem genereert de vereiste response en gaat verder met de exit stap van de main flow. | ||
6 <exit> | Het systeem retourneert een response naar de primaire actor. | Verwerking succesvol statuscode 200 OK |
Post-condities
Het systeem heeft het verzoek op de juiste wijze verwerkt en heeft een daarbij passende response geretourneerd. |
Het systeem heeft van het ontvangen request, de volgende attributen gelogd:
== Het systeem heeft voor ieder uitgaand request, dat bij het doorlopen van de use case werd verzonden, de volgende attributen gelogd:
|
Het systeem heeft van de geretourneerde response, de volgende attributen gelogd:
== Het systeem heeft voor iedere response, die bij het doorlopen van de use case werd ontvangen, de volgende attributen gelogd:
|
Opleveren Abonnementen
Primaire actor | Resource Client (Abonnerend Systeem) |
---|---|
Systeem | Abonnementenregister |
Secundaire actor | - |
Code | |
Realiseert Feature |
Pre-condities
Het systeem biedt een endpoint voor de opvragen abonnementen interactie van de Abonnement Interface. |
Het systeem is slechts benaderbaar voor
|
Triggers
De primaire actor stuurt een opvragen abonnementen request in
Main flow
AOF.UCe.VAL.100.v1 - Toetsing type content | Uitkomst | |
---|---|---|
Stap | Omschrijving | |
i | Het systeem ontvangt een verzoek en start de verwerking. Het systeem toetst of het gevraagde type content (Accept header) en het gehanteerde type content (Content-Type header) worden ondersteund. NB. wanneer het verzoek wordt ontvangen van een component van VZVZ, dan hoeft geen toets op type content te worden uitgevoerd. | Gevraagd type content niet ondersteund statuscode 406 Not Acceptable |
Gehanteerd type content niet ondersteund statuscode 415 Unsupported Media Type | ||
Het systeem genereert de vereiste response en gaat verder met de exit stap van de main flow. |
AOF.UCe.VAL.250.v1 - Toetsing van een intern RB-request | Uitkomst | |
---|---|---|
Stap | Omschrijving | |
i | Het systeem controleert of alle vereiste tokens zijn toegevoegd aan het request | Ontbrekend token statuscode 401 Unauthorized
|
Het systeem genereert de vereiste response en gaat verder met de exit stap van de main flow. | ||
ii | Het systeem controleert de geldigheid van de meegezonden, van toepassing zijnde, tokens
NB. wanneer het verzoek via een intern netwerk wordt ontvangen, en van een component van VZVZ, dan hoeft deze toets niet te worden uitgevoerd. Welke tokens van toepassing zijn is beschreven in de interface specificaties die horen bij deze use case. | Ongeldig token statuscode 401 Unauthorized
|
Het systeem genereert de vereiste response en gaat verder met de exit stap van de main flow. | ||
iii | Indien van toepassing: Het systeem controleert de samenhang tussen het AORTA access_token en het DigiD authenticatietoken, zoals omschreven in de de sectie "Toetsing van samenhang tussen tokens". NB. wanneer het verzoek via een intern netwerk wordt ontvangen, en van een component van VZVZ, dan hoeft deze toets niet te worden uitgevoerd. Welke tokens van toepassing zijn is beschreven in de interface specificaties die horen bij deze use case. | Ongeldig token statuscode 401 Unauthorized
|
Het systeem genereert de vereiste response en gaat verder met de exit stap van de main flow. |
Stap | Omschrijving | Uitkomst |
---|---|---|
1 | Het systeem voert de zoekopdracht uit:
| |
2 <exit> | Het systeem retourneert een response naar de primaire actor. | Verwerking succesvol statuscode 200 OK |
Post-condities
Het systeem heeft het verzoek op de juiste wijze verwerkt en heeft een daarbij passende response geretourneerd. |
Het systeem heeft van het ontvangen request, de volgende attributen gelogd:
== Het systeem heeft voor ieder uitgaand request, dat bij het doorlopen van de use case werd verzonden, de volgende attributen gelogd:
|
Het systeem heeft van de geretourneerde response, de volgende attributen gelogd:
== Het systeem heeft voor iedere response, die bij het doorlopen van de use case werd ontvangen, de volgende attributen gelogd:
|
Verwerken Abonnement Mutatie
Primaire actor | Resource Client (Abonnerend Systeem) |
---|---|
Systeem | Abonnementenregister |
Secundaire actor | - |
Code | |
Realiseert Feature |
Pre-condities
Het systeem biedt een endpoint voor de wijzigen abonnement interactie van de Abonnement Interface. |
Het systeem is slechts benaderbaar voor
|
Triggers
De primaire actor stuurt een abonnement mutatie request in
Main flow
AOF.UCe.VAL.100.v1 - Toetsing type content | Uitkomst | |
---|---|---|
Stap | Omschrijving | |
i | Het systeem ontvangt een verzoek en start de verwerking. Het systeem toetst of het gevraagde type content (Accept header) en het gehanteerde type content (Content-Type header) worden ondersteund. NB. wanneer het verzoek wordt ontvangen van een component van VZVZ, dan hoeft geen toets op type content te worden uitgevoerd. | Gevraagd type content niet ondersteund statuscode 406 Not Acceptable |
Gehanteerd type content niet ondersteund statuscode 415 Unsupported Media Type | ||
Het systeem genereert de vereiste response en gaat verder met de exit stap van de main flow. |
AOF.UCe.VAL.250.v1 - Toetsing van een intern RB-request | Uitkomst | |
---|---|---|
Stap | Omschrijving | |
i | Het systeem controleert of alle vereiste tokens zijn toegevoegd aan het request | Ontbrekend token statuscode 401 Unauthorized
|
Het systeem genereert de vereiste response en gaat verder met de exit stap van de main flow. | ||
ii | Het systeem controleert de geldigheid van de meegezonden, van toepassing zijnde, tokens
NB. wanneer het verzoek via een intern netwerk wordt ontvangen, en van een component van VZVZ, dan hoeft deze toets niet te worden uitgevoerd. Welke tokens van toepassing zijn is beschreven in de interface specificaties die horen bij deze use case. | Ongeldig token statuscode 401 Unauthorized
|
Het systeem genereert de vereiste response en gaat verder met de exit stap van de main flow. | ||
iii | Indien van toepassing: Het systeem controleert de samenhang tussen het AORTA access_token en het DigiD authenticatietoken, zoals omschreven in de de sectie "Toetsing van samenhang tussen tokens". NB. wanneer het verzoek via een intern netwerk wordt ontvangen, en van een component van VZVZ, dan hoeft deze toets niet te worden uitgevoerd. Welke tokens van toepassing zijn is beschreven in de interface specificaties die horen bij deze use case. | Ongeldig token statuscode 401 Unauthorized
|
Het systeem genereert de vereiste response en gaat verder met de exit stap van de main flow. |
Stap | Omschrijving | Uitkomst |
---|---|---|
1 | Het systeem toets of er inderdaad een abonnement bestaat met de identifier, zoals doorgegeven in het request. | Abonnement bestaat niet statuscode 422 Unprocessable Entity
Het systeem kan niet eenduidig vaststellen welke entry wordt bedoeld statuscode 412
|
Het systeem genereert de vereiste response en gaat verder met de exit stap van de main flow. | ||
2 | Het systeem toetst of het BSN in de patient claim van het AORTA access_token overeenkomt met het BSN in het criterium van het bestaande abonnement. | BSN in criterium komt niet overeen met token statuscode 403 Forbidden
|
Het systeem genereert de vereiste response en gaat verder met de exit stap van de main flow. | ||
3 | Het systeem toetst of de wijziging van het abonnement is toegestaan:
Een zorgaanbieder abonnement mag verder slechts worden gewijzigd wanneer de abonnee-applicatie-id van het abonnement overeenkomt met het app-id van de client GBx-applicatie. Dit wordt geborgd door Resource Broker ZA-in via toetsing van de scope van het access_token, die is beperkt tot dit app-id). | Wijziging niet toegestaan statuscode 403 Forbidden
|
Het systeem genereert de vereiste response en gaat verder met de exit stap van de main flow. | ||
4 | Het systeem toetst het gebeurtenis-subtype
| Abonnement niet mogelijk statuscode 422 Unprocessable Entity
|
Het systeem genereert de vereiste response en gaat verder met de exit stap van de main flow. | ||
5 | Het systeem verwerkt de wijziging. Zie ook de toelichting “Interne verwerking van abonnementen en signalen”. | |
5 <exit> | Het systeem retourneert een response naar de primaire actor. | Verwerking succesvol statuscode 200 OK |
Post-condities
Het systeem heeft het verzoek op de juiste wijze verwerkt en heeft een daarbij passende response geretourneerd. |
Het systeem heeft van het ontvangen request, de volgende attributen gelogd:
== Het systeem heeft voor ieder uitgaand request, dat bij het doorlopen van de use case werd verzonden, de volgende attributen gelogd:
|
Het systeem heeft van de geretourneerde response, de volgende attributen gelogd:
== Het systeem heeft voor iedere response, die bij het doorlopen van de use case werd ontvangen, de volgende attributen gelogd:
|
Verwerken Abonnement Beëindiging
Primaire actor | Resource Client (Abonnerend Systeem) |
---|---|
Systeem | Abonnementenregister |
Secundaire actor | - |
Code | |
Realiseert Feature |
Pre-condities
Het systeem biedt een endpoint voor de beëindigen abonnement interactie van de Abonnement Interface. |
Het systeem is slechts benaderbaar voor
|
Triggers
De primaire actor stuurt een abonnement beëindiging request in
Main flow
AOF.UCe.VAL.100.v1 - Toetsing type content | Uitkomst | |
---|---|---|
Stap | Omschrijving | |
i | Het systeem ontvangt een verzoek en start de verwerking. Het systeem toetst of het gevraagde type content (Accept header) en het gehanteerde type content (Content-Type header) worden ondersteund. NB. wanneer het verzoek wordt ontvangen van een component van VZVZ, dan hoeft geen toets op type content te worden uitgevoerd. | Gevraagd type content niet ondersteund statuscode 406 Not Acceptable |
Gehanteerd type content niet ondersteund statuscode 415 Unsupported Media Type | ||
Het systeem genereert de vereiste response en gaat verder met de exit stap van de main flow. |
AOF.UCe.VAL.250.v1 - Toetsing van een intern RB-request | Uitkomst | |
---|---|---|
Stap | Omschrijving | |
i | Het systeem controleert of alle vereiste tokens zijn toegevoegd aan het request | Ontbrekend token statuscode 401 Unauthorized
|
Het systeem genereert de vereiste response en gaat verder met de exit stap van de main flow. | ||
ii | Het systeem controleert de geldigheid van de meegezonden, van toepassing zijnde, tokens
NB. wanneer het verzoek via een intern netwerk wordt ontvangen, en van een component van VZVZ, dan hoeft deze toets niet te worden uitgevoerd. Welke tokens van toepassing zijn is beschreven in de interface specificaties die horen bij deze use case. | Ongeldig token statuscode 401 Unauthorized
|
Het systeem genereert de vereiste response en gaat verder met de exit stap van de main flow. | ||
iii | Indien van toepassing: Het systeem controleert de samenhang tussen het AORTA access_token en het DigiD authenticatietoken, zoals omschreven in de de sectie "Toetsing van samenhang tussen tokens". NB. wanneer het verzoek via een intern netwerk wordt ontvangen, en van een component van VZVZ, dan hoeft deze toets niet te worden uitgevoerd. Welke tokens van toepassing zijn is beschreven in de interface specificaties die horen bij deze use case. | Ongeldig token statuscode 401 Unauthorized
|
Het systeem genereert de vereiste response en gaat verder met de exit stap van de main flow. |
Stap | Omschrijving | Uitkomst |
---|---|---|
1 | Het systeem toetst of er inderdaad een abonnement bestaat met de identifier, zoals doorgegeven in het request. | Abonnement bestaat niet statuscode 200 OK
Het systeem kan niet eenduidig vaststellen welke entry wordt bedoeld statuscode 412
|
Het systeem genereert de vereiste response en gaat verder met de exit stap van de main flow. | ||
2 | Het systeem toetst of de beëindiging van het abonnement is toegestaan:
| Beëindiging niet toegestaan statuscode 403 Forbidden
|
Het systeem genereert de vereiste response en gaat verder met de exit stap van de main flow. | ||
3 | Het systeem beëindigt het abonnement. | |
4 <exit> | Het systeem retourneert een response naar de primaire actor. | Verwerking succesvol statuscode 200 OK |
Post-condities
Het systeem heeft het verzoek op de juiste wijze verwerkt en heeft een daarbij passende response geretourneerd. |
Het systeem heeft van het ontvangen request, de volgende attributen gelogd:
== Het systeem heeft voor ieder uitgaand request, dat bij het doorlopen van de use case werd verzonden, de volgende attributen gelogd:
|
Het systeem heeft van de geretourneerde response, de volgende attributen gelogd:
== Het systeem heeft voor iedere response, die bij het doorlopen van de use case werd ontvangen, de volgende attributen gelogd:
|
Afhandelen Gebeurtenis
Primaire actor | Gebeurtenisverdeler, Housekeeping |
---|---|
Systeem | Abonnementenregister (Gebeurtenisafhandelaar) |
Secundaire actor | Resource Broker VnC |
Code | |
Realiseert Feature |
Pre-condities
Het systeem biedt een endpoint voor het ontvangen van gebeurtenissen. |
Het systeem is slechts benaderbaar voor
|
Triggers
De primaire actor stuurt een gebeurtenis in (bijv. er heeft een wijziging plaatsgevonden aan de VWI, of er is een LOG entry toegevoegd, of de einddatum van een abonnement is verstreken (Housekeeping).
Main flow
Stap | Omschrijving | Uitkomst |
---|---|---|
1 | Het systeem ontvangt een verzoek en start de verwerking. | |
2 | Het systeem voert de reguliere stappen uit voor het ontvangen type gebeurtenis. Zie ook de toelichting “Interne verwerking van abonnementen en signalen”. | |
3 | Het systeem bepaalt m.b.v. de geregistreerde conformances in het APR of een FHIR- of een v3-notificatie moet worden uitgestuurd. De FQDN waarop een notificatie moet worden afgeleverd wordt eveneens verkregen uit het APR. De conformances en het FQDN worden verkregen o.b.v. het appID van de abonnee (abonnee-applicatie-id). | |
4 | Het systeem verstuurt de notificatie via het bestaande mechanisme voor guaranteed delivery, op de wijze zoals gespecificeerd in de Abonnement Notificatie Interface. | |
5 <exit> | Het systeem retourneert een response naar de primaire actor. |
Post-condities
Het systeem heeft het verzoek op de juiste wijze verwerkt en heeft een daarbij passende response geretourneerd. |
Toelichtingen
Interne verwerking van abonnementen en signalen
Interne verwerking van abonnementen en signalen
In ZIM wordt een matchingtabel bijgehouden met een mapping van “LOG event types” (soorten logmutaties), zoals opvragen patiëntgegevens, verzenden patiëntgegevens, en bijwerken/opvragen verwijsindex. Een abonnement dat via FHIR wordt aangemaakt, wordt in het abonnementsregister gezet met een nieuw event type ‘LOG’. Dit betekent: notificaties gewenst voor alle soorten (patiëntgebonden) LOG events.
Bij elke mutatie in de LOG wordt zonder naar de bestaande matchingtabel te kijken, gecontroleerd of er een abonnement is voor de betreffende patiënt op de LOG. Zo ja, dan volgt een (patiënt)notificatie.
Om over te gaan op deze nieuwe werkwijze, zal een migratie van bestaande abonnementen op LOG events moeten worden uitgevoerd, en zal mogelijk ook een soort “schakelaar” nodig zijn om aan te geven dat log event vanaf zeker moment op de nieuwe manier verwerkt moeten worden.
Let op!. Voordat een notificatie wordt gestuurd naar abonnees wordt, indien de bronhouder gebruik maakt van Mitz, in het reguliere proces eerst bij Mitz getoetst of een opvraag n.a.v. de notificatie m.b.t. toestemming zou slagen. Deze toetst wordt ook gedaan voor notificaties aan FHIR abonnees.