In ontwikkeling
Subscription interface
Het subscription interface hoort bij de hoofdfunctie Regie.
Er zijn drie typen subscription request:
de subscription creation request voor het aanmaken van een nieuw Abonnement;
de subscription modification request voor het wijzigen van de duur van een bestaand Abonnement;
de subscription termination request voor het beëindigen van een bestaand Abonnement.
Met de subscription creation request biedt de DVP Server aan de Subscription Server een nieuwe Subscription-resource aan, die het Abonnement representeert, met daaraan verbonden het vooralsnog eenzijdige akkoord van de Persoon. Hij verzoekt daarmee bovendien om een subscription response, waarmee ook het akkoord van de Aanbieder is verbonden. Zo ontstaat de overeenkomst.
Ook het aanpassen van de duur, via de einddatum parameter, van het Abonnement, door het versturen van een subscription modification request, ontvangt zo het akkoord van beide partijen; al mag de Aanbieder een verkorting van het Abonnement niet weigeren; een verlenging kan wel geweigerd worden door de Aanbieder.
Een beëindiging van een Abonnement, door het versturen van een subscription termination request, is een eenzijdige opzegging van de overeenkomst. De Aanbieder mag deze niet weigeren en er is in die zin geen sprake van een akkoord van beide partijen.
1. | De OAuth Client en de Subscription Server maken op de subscription interface gebruik van HTTP 1.1. | ext.abo.subint.200 | |||||||||||||||||||||||||||||||||
2. | De OAuth Client en de Subscription Server maken voor het uitwisselen van subscription requests en de bijbehorende responses gebruik van het formaat JSON. Dit wordt in de HTTP header aangegeven middels:
| ext.abo.subint.201 | |||||||||||||||||||||||||||||||||
3. | De OAuth Client gebruikt voor het sturen van het access token, voor alle typen subscription request, de methode De methode Het access token moet een scope hebben die precies overeenkomt met de parameters van het betreffende subscription request en bij wijzen of beëindigen van een Abonnement ook met de zorgaanbieder en gegevensdienst van het betreffende Abonnement dat wordt aangeduid met het | ext.abo.subint.202 | |||||||||||||||||||||||||||||||||
4. | De subscription creation request:
| ext.abo.subint.203 | |||||||||||||||||||||||||||||||||
5. | Een response op een succesvol verwerkt subscription creation request:
| ext.abo.subint.204 | |||||||||||||||||||||||||||||||||
6. | De subscription modification request:
| ext.abo.subint.205 | |||||||||||||||||||||||||||||||||
7. | In het geval van een subscription modification request verifieert de Subscription Server dat voor het meegegeven subscription-id een geldig Abonnement is geregistreerd, waarvan de waarden van de attributen overeenkomen met de parameters in de scope van het gebruikte access token. Indien dit niet het geval is, behandelt de Subscription Server dat als uitzondering Subscription interface 4.3c. | ext.abo.subint.206 | |||||||||||||||||||||||||||||||||
8. | Een response op een succesvol verwerkt modification creation request:
| ext.abo.subint.207 | |||||||||||||||||||||||||||||||||
9. | De subscription termination request:
| ext.abo.subint.208 | |||||||||||||||||||||||||||||||||
10. | In het geval van een subscription termination request verifieert de Subscription Server dat voor het meegegeven subscription-id een geldig Abonnement is geregistreerd, waarvan de waarden van de attributen overeenkomen met de parameters in de scope van het gebruikte access token. Indien dit niet het geval is, behandelt de Subscription Server dat als uitzondering Subscription interface 4. | ext.abo.subint.209 | |||||||||||||||||||||||||||||||||
11. | Een response op een succesvol verwerkt termination creation request:
| ext.abo.subint.210 | |||||||||||||||||||||||||||||||||
12. | In het geval van een subscription creation request of een subscription modification request stelt de Subscription Server stelt de einddatum ( Een Aanbieder heeft zowel verantwoordelijkheden als vrijheidsgraden rond het aanbieden en aangaan van Abonnementen. In het Afsprakenstelsel wordt dit gefaciliteerd door de Aanbieder de mogelijkheid te geven beleid te voeren rond Abonnement op Notificaties. Een Aanbieder kan voor een bepaalde Gegevensdienst een eigen maximale duur (binnen die gesteld in de Catalogus) opgeven. Een Aanbieder mag het verlengen van een bestaand Abonnement weigeren. De Subscription Server heeft zekere vrijheid om bij het bepalen van de einddatum van een Abonnement rekening te houden met tijdzone's en datumgrenzen. | ext.abo.subint.211 | |||||||||||||||||||||||||||||||||
13. | Indien bij het verwerken van een subscription request aan alle voorwaarden is voldaan, dan
De Subscription Server heeft enige vrijheid bij het hanteren van het precieze moment op de dag waarop gestopt wordt met het versturen van Notificaties. Het staat de Subscription Server vrij om dit op enig moment van de betreffende dag te doen. | ext.abo.subint.212 | |||||||||||||||||||||||||||||||||
14. | Bij het verlopen van het Abonnement verstuurt de Subscription Server een subscription notification naar de client van de Persoon. | ext.abo.subint.213 | |||||||||||||||||||||||||||||||||
15. | Na ontvangst van een subscription request , in de functie Abonneren, zal de Subscription Server, indien in antwoord daarop een subscription response dient te worden gedaan, na maximaal zestig (60) seconden dit subscription response ter beschikking stellen aan de DVP Server. Dit gedrag van de Subscription Server is gedurende minimaal 98,5% van de tijd beschikbaar. | ext.abo.subint.214 | |||||||||||||||||||||||||||||||||
16. | Voor zover er in het verkeer tussen DVP Server en Subscription Server in de functie Abonneren sprake is, in de stuurgegevens, van een gegevenselement dat tot de identiteit van de Persoon herleid kan worden, gebruiken zij daarvoor niets anders dan de OAuth-gegevens die zij in hun respectievelijke OAuth Client en OAuth Resource Server moeten uitwisselen. DVP Server, Authorization Server en Subscription Server treffen goed beveiligde voorzieningen waarmee zij hieruit waar nodig zelf de identiteit van de Persoon kunnen vaststellen. Met het oog op het borgen van de privacy en het zo eenvoudig mogelijk houden van de architectuur van het MedMij Afsprakenstelsel, wordt ervoor gekozen de identifier voor de Persoon onderweg zo betekenisloos mogelijk te houden. Alle betekenis wordt er ter weerszijden aan verbonden door raadpleging van interne registraties. Omdat de DVP Server, Authorization Server en Subscription Server samen een OAuth-flow afhandelen, beschikken zij (na authenticatie van de Persoon) over tokens die de identiteit van de Persoon vertegenwoordigen, namelijk (eerst) de authorization code en (later) het access token. Buiten deze hoeven en mogen er geen identificerende gegevenselementen in het verkeer worden opgenomen. | ext.abo.subint.215 | |||||||||||||||||||||||||||||||||
17. | OAuth Resource Server en OAuth Client handelen uitzonderingssituaties inzake het subscription interface af volgens onderstaande tabel.
| ext.abo.subint.216 |