Document toolboxDocument toolbox

Subscription notification interface

1. De Notification Client en de Notification Server maken gebruik van HTTP 1.1

2. De Notification Client verstuurt de notification middels een HTTP POST van een Notification resource op het beoogde Subscription Notification Endpoint. De Notification Client en de Notification Server maken voor het uitwisselen van notificaties en foutmeldingen gebruik van JSON.

3. De parameters in de notification worden als volgt gevuld:

parameter

vulling

toelichting

id

  1. Identificatienummer van de Notificatie
  2. Een combinatie van ASCII hoofdletters of kleine letters ('A'..'Z', 'a'..'z'), cijfers ('0'..'9'), '-' of '.', met een lengte van 64 karakters
Het id kan bijvoorbeeld een integer waarde zijn, of een UUID, maar kan ook volgens een ander geldig ID-patroon worden gevuld.

subscription_id

  1. Identificatienummer van het Abonnement dat aanleiding was voor deze Notificatie
Een gebeurtenis bij een Zorgaanbieder kan theoretisch leiden tot meerdere Notificaties. Iedere Notificatie is echter gerelateerd aan één en slechts één Abonnement.

subscription_status

  1. De huidige status van het Abonnement
  2. Letterlijke waarde off
Indien gevuld met de waarde off, dan is het bijbehorende Abonnement door Bron beëindigd. Er mogen dan, m.b.t. dit Abonnement geen nieuwe Notificaties meer worden gestuurd. Een Abonnement kan na beëindiging niet meer worden geheractiveerd. Desgewenst kan wel een nieuw Abonnement worden aangegaan.
Toelichting
Abonnementen kunnen zowel door Bron als door Uitgever worden beëindigd. Beëindiging door Uitgever verloopt via de subscription interface. Beëindiging door Bron verloopt via de subscription notification interface.

4. Een notification response bevat geen parameters.


Toelichting
Voorbeeld van een subscription notification:

notificationnotification response

POST /Notification HTTP/1.1
Host: https://medmij.pgobridge.net
Content-Type: application/json

{  

"id" : "201973957649", 
"subscription_id" : "496749327x", 
"subscription_status" : "off"

}

HTTP/1.1 200 OK

Voorbeeld van een foutmelding na een notification:

notificationnotification response

POST /Notification HTTP/1.1
Host: https://medmij.pgobridge.net
Content-Type: application/json

{  

"id" : "201973957649", 
"subscription_id" : "496749327y", 
"subscription_status" : "off"

}

HTTP/1.1 400 Bad Request
Content-Type: application/json

{  

"error" : "invalid_subscription_id"

}

5. Na ontvangst van een notification, in UCI Notificeren, zal de Notification Server, indien in antwoord daarop een notification response dient te worden gedaan, na maximaal tien (10) seconden dit antwoord ter beschikking stellen aan de Notification Client. Dit gedrag van de Notification Server is gedurende minimaal 98,5% van de tijd beschikbaar.

6. Notification Server en Notification Client handelen uitzonderingssituaties inzake het notification interface af volgens onderstaande tabel.

Nummer

Implementeert uitzondering

Uitzondering

Actie

Melding

Vervolg

Subscription notification interface 1UC Notificeren 1

Notification Server vindt de ontvangen Notification ongeldig.

Notification Server informeert Notification Client over deze uitzondering.

Conform HTTP specificatie met met status code 400 "Foute aanvraag", en met in de body de van toepassing zijnde error code ("invalid_id", "invalid_subscription_id", "invalid_subscription_status")

Allen stoppen de flow onmiddellijk na geïnformeerd te zijn over de uitzondering.

Wanneer Notification Client een error "invalid_subscription_id" ontvangt, dan dient het Abonnement direct te worden beëindigd, en wel zonder hiervoor opnieuw een notification te sturen.

Subscription notification interface 2UC Notificeren 2

Notification Server kan in de request niet, niet geheel of niet tijdig verwerken.

Notification Server informeert Notification Client over deze uitzondering.Conform HTTP specificatie met met status code 500 "Interne serverfout"Allen stoppen de flow onmiddellijk na geïnformeerd te zijn over de uitzondering.