Use Cases Resource Broker GTK
Overzicht Resource Broker GTK
Onderstaande figuur toont een overzicht van de interfaces, services en functies van de Resource Broker GTK component.
Resource Broker GTK is verantwoordelijk voor:
Het ontvangen van AORTA requests van Resource Broker VnC, en deze verwerken tot TWIIN requests bij een ander GTK;
Het ontvangen van TWIIN requests van andere GTK’s, en deze verwerken tot AORTA requests bij Resource Broker VnC.
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 Uitgaand TWIIN Knooppunt.
Opleveren AORTA CapabilityStatement
Primaire actor | Resource Broker VnC |
---|---|
Systeem | Uitgaand TWIIN Knooppunt |
Code | |
Realiseert Feature |
Pre-condities
De systeem is aangesloten op de primaire actor. |
Triggers
De resource broker wil de operationele status van de resource server toetsen.
Main flow
Stap | Omschrijving | Uitkomst |
---|---|---|
1 | Het systeem ontvangt een verzoek en start de verwerking. | |
2 | Het systeem toetst of het verzoek voldoet aan de interface specificatie. | Ongeldig verzoek statuscode 400 Bad Request |
Het systeem genereert de vereiste response en gaat verder met de exit stap van de main flow. | ||
3 <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. |
Verwerken interactie van extern GTK
Primaire actor | Extern GTK |
---|---|
Systeem | TWIIN FHIR Processor |
Secundaire actor | RB VnC |
Code | |
Realiseert Feature |
Pre-condities
De primaire actor is aangesloten op het TWIIN netwerk. |
Het systeem is slechts benaderbaar voor
|
Het systeem beschikt over een voldoende actueel AORTA Stelseltoken die het via de AORTA Stelsel Metadata Interface heeft verkregen. |
Triggers
De primaire actor stuurt een resource 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.200.v1 - Toetsing tokens bij inkomend 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
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. |
AOF.UCe.VAL.150.v2 - Inhoudelijke toetsing request | Uitkomst | |
---|---|---|
Stap | Omschrijving | |
i | Het systeem toetst of het request geen malafide inhoud bevat (zie FHIR security, input validation). | Ongeldig FHIR-verzoek statuscode 400 Bad Request
|
Het systeem genereert de vereiste response en gaat verder met de exit stap van de main flow. | ||
ii | Het systeem bepaalt, m.b.v. de interactietabel en m.b.v. de _vrb_ter_scope claim in het AORTA access_token, welk interactie-id van toepassing is op het ontvangen request. Zie ook de toelichting "Bepalen van het interactie-id". | Ongeldig FHIR-verzoek statuscode 400 Bad Request
|
Het systeem genereert de vereiste response en gaat verder met de exit stap van de main flow. | ||
iii | Het systeem toetst of het verzoek voldoet aan de interface specificatie. Hierbij moet ook worden voldaan aan de toelichting "Controle van batch en transaction requests". FHIR-requests dienen te worden getoetst tegen de core FHIR specificaties (RESTful API). Indien een Indien een specifieke FHIR-profiel van toepassing is voor het gevonden interactie-id, dan dient het FHIR-request hier ook tegen te worden getoetst. NB. toetsing tegen een volledig FHIR-profiel wordt nog niet gedaan - consequenties van deze toets worden eerst in kaart gebracht. | Ongeldig FHIR-verzoek statuscode 400 Bad Request
|
Het systeem genereert de vereiste response en gaat verder met de exit stap van de main flow. |
AOF.UCe.VAL.300.v1 - Toetsing scope van request | Uitkomst | |
---|---|---|
Stap | Omschrijving | |
i | Het systeem controleert of het ontvangen resource request is toegestaan binnen de scope van het access_token. Zie ook de toelichting "Controle of request binnen scope valt" en de toelichting "Controle van batch en transaction requests". | Scope is niet toereikend statuscode 403 Forbidden
|
Het systeem genereert de vereiste response en gaat verder met de exit stap van de main flow. |
De stappen in onderstaande tabel worden slechts uitgevoerd indien een notification-Task wordt ontvangen met de indicatie dat een workflow-Task moet worden opgevraagd (attribuut get-workflow-task
is aanwezig en heeft waarde true
).
Indien een workflow-Task moet worden opgevraagd | Uitkomst | |
---|---|---|
Stap | Omschrijving | |
i | Het systeem verkrijgt, o.b.v. de URA in de audience van het ontvangen AORTA access_token, via ZORG-AB het authorization endpoint en het resource endpoint van de zorgaanbieder aan wie het ontvangen resource request moet worden doorgezet. NB. omdat verwacht wordt dat ZORG-AB hiervoor niet tijdig geschikt zal zijn, wordt in eerste instantie gewerkt met een interne registratie in het systeem, waarbij per URA een authorization endpoint en een resource endpoint worden vastgelegd. | Endpoints niet gevonden binnen Twiin statuscode 500 Internal Server Error |
Fout bij bepalen endpoints statuscode 500 Internal Server Error | ||
Het systeem genereert de vereiste response en gaat verder met de exit stap van de main flow. | ||
ii | Het systeem verkrijgt m.b.v. Feature Issue TWIIN Assertions een client_assertion en zonodig een assertion om te gebruiken bij het gevonden authorization endpoint. Indien de ontvangen notification-Task een authorization_base bevat, dan moet deze worden doorgegeven in het issueAssertionsRequest, zodat deze kan worden toegevoegd aan de uit te geven assertion. | Geen assertions verkregen statuscode 500 Internal Server Error |
Het systeem genereert de vereiste response en gaat verder met de exit stap van de main flow. | ||
iii | Het systeem verzendt, conform het Twiin afsprakenstelsel, een token request naar het gevonden authorization endpoint. De scope van het token request wordt gevuld met | |
iv | Het systeem ontvangt een token response. | Geen access_token verkregen statuscode 403 Forbidden
|
Het systeem genereert de vereiste response en gaat verder met de exit stap van de main flow. | ||
v | Het systeem verzend, conform het Twiin afsprakenstelsel, het ontvangen resource request naar het gevonden resource endpoint. Het gaat hier om een FHIR-read van de workflow-Task, zoals opgenomen in de | |
vi | Het systeem ontvangt een response. | Geen (tijdig) antwoord van secundaire actor statuscode 504 Gateway Timeout |
Het systeem genereert de vereiste response en gaat verder met de exit stap van de main flow. | ||
vii | Het systeem voegt de volgende informatie uit de ontvangen workflow-Task toe aan de eerder ontvangen notification-Task:
| Géén enkele input en/of geen BSN aanwezig in workflow-Task statuscode 400 Bad Request |
Het systeem genereert de vereiste response en gaat verder met de exit stap van de main flow. |
De stappen in onderstaande tabel worden slechts uitgevoerd indien een notification-Task werd ontvangen, met daarbij een AORTA access_token zonder een patient claim.
Indien AORTA access_token ontvangen zonder patient claim | Uitkomst | |
---|---|---|
Stap | Omschrijving | |
i | Het systeem gebruikt Feature GetTokenRequest om een AORTA access_token te verkrijgen. Hierbij worden de volgende attributen gebruikt:
| |
ii | Het systeem retourneert een response naar de primaire actor. | Geen access_token verkregen statuscode 403 Forbidden
|
Het systeem genereert de vereiste response en gaat verder met de exit stap van de main flow. |
Stap | Omschrijving | Uitkomst |
---|---|---|
1 | Indien het ontvangen verzoek een notification-Task betreft: Het systeem wijzigt de inhoud van het het attribuut die de ID van het initiërende systeem bevat ( | |
2 | Het systeem initieert de use case Verzenden & Consolideren benodigde interacties middels de Verzending & Consolidatie Interface. Het kan hierbij gaan om
Het systeem genereert hiervoor, t.b.v. de vulling van de AORTA-ID header, naast een requestID zelf ook een initialRequestID. | |
3 | Het systeem ontvangt een response. | Verwerking succesvol statuscode 200 OK |
Geen (tijdig) antwoord van secundaire actor statuscode 504 Gateway Timeout | ||
Het systeem genereert de vereiste response en gaat verder met de exit stap van de main flow. |
AOF.UCe.SCR.100.v1 - Screening van response | Uitkomst | |
---|---|---|
Stap | Omschrijving | |
i | Het systeem toetst of eventueel aanwezige patiënt BSN's uit het opgeleverde resultaat overeenkomen met het BSN dat is opgenomen in de | BSN in resultaat komt niet overeen met access_token statuscode 500 Internal Server Error
|
Het systeem genereert de vereiste response en gaat verder met de exit stap van de main flow. | ||
ii | Indien de response moet worden geretourneerd aan MedMij, dan verwijderd het systeem alle aanwezige BSN's uit de op te leveren response. | |
iii | Het systeem voert de filtering uit zoals beschreven in de toelichting "Filtering HTTP-response". |
Stap | Omschrijving | Uitkomst |
---|---|---|
3 <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. |
Het systeem heeft ontvangen request en de geretourneerde response gelogd, zoals beschreven in de Toelichting logging. |
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:
Aanvullend daarop heeft het systeem van het ontvangen request 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:
|
Initiëren interactie bij extern GTK
Primaire actor | Resource Broker VnC |
---|---|
Systeem | Uitgaand TWIIN Knooppunt |
Secundaire actor | Extern GTK |
Code | |
Realiseert Feature |
Pre-condities
De secundaire actor is aangesloten op het TWIIN netwerk. |
Het systeem is slechts benaderbaar voor
|
Het systeem beschikt over een voldoende actueel AORTA Stelseltoken die het via de AORTA Stelsel Metadata Interface heeft verkregen. |
Triggers
De primaire actor stuurt een resource request in
Main flow
Stap | Omschrijving | Uitkomst |
---|---|---|
1 | 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. | ||
2 | Het systeem controleert de geldigheid van het AORTA access_token, zoals omschreven in de toelichting Controle en gebruik van het access_token. | Ongeldig token statuscode 401 Unauthorized
|
Het systeem genereert de vereiste response en gaat verder met de exit stap van de main flow. |
AOF.UCe.VAL.300.v1 - Toetsing scope van request | Uitkomst | |
---|---|---|
Stap | Omschrijving | |
i | Het systeem controleert of het ontvangen resource request is toegestaan binnen de scope van het access_token. Zie ook de toelichting "Controle of request binnen scope valt" en de toelichting "Controle van batch en transaction requests". | Scope is niet toereikend statuscode 403 Forbidden
|
Het systeem genereert de vereiste response en gaat verder met de exit stap van de main flow. |
Stap | Omschrijving | Uitkomst |
---|---|---|
3 | Het systeem verkrijgt, o.b.v. de URA in de audience van het ontvangen AORTA access_token, via ZORG-AB het authorization endpoint en het resource endpoint van de zorgaanbieder aan wie het ontvangen resource request moet worden doorgezet. NB. omdat verwacht wordt dat ZORG-AB hiervoor niet tijdig geschikt zal zijn, wordt in eerste instantie gewerkt met een interne registratie in het systeem, waarbij per URA een authorization endpoint en een resource endpoint worden vastgelegd. | Endpoints niet gevonden binnen Twiin statuscode 500 Internal Server Error |
Fout bij bepalen endpoints statuscode 500 Internal Server Error | ||
Het systeem genereert de vereiste response en gaat verder met de exit stap van de main flow. | ||
4 | Het systeem verkrijgt m.b.v. Feature Issue TWIIN Assertions een client_assertion en zonodig een assertion om te gebruiken bij het gevonden authorization endpoint. | Geen assertions verkregen statuscode 500 Internal Server Error |
Het systeem genereert de vereiste response en gaat verder met de exit stap van de main flow. | ||
5 | Het systeem verzendt, conform het Twiin afsprakenstelsel, een token request naar het gevonden authorization endpoint. Indien in de vorige stap een scope attribuut werd verkregen, dan gebruikt het systeem dit attribuut in het te verzenden token request. Indien in de vorige stap géén scope attribuut werd verkregen, dan zijn er twee mogelijkheden:
Vooralsnog wordt de 2e mogelijkheid gehanteerd. | |
6 | Het systeem ontvangt een token response. | Toegang geweigerd (403 met error=access_denied ontvangen) statuscode 403 Forbidden
|
Geen access_token verkregen (andere redenen) statuscode 500 Internal Server Error | ||
Het systeem genereert de vereiste response en gaat verder met de exit stap van de main flow. | ||
7 | Het systeem verzend, conform het Twiin afsprakenstelsel, het ontvangen resource request naar het gevonden resource endpoint. | |
8 | Het systeem ontvangt een response. | Verwerking succesvol statuscode 200 OK
Voor bovenstaande criteria geldt dat ze
|
Verwerking succesvol - resource instance gecreëerd statuscode 201 Created | ||
Geen (tijdig) antwoord van secundaire actor statuscode 504 Gateway Timeout | ||
Het systeem genereert de vereiste response en gaat verder met de exit stap van de main flow. | ||
9 <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. |
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:
Aanvullend daarop heeft het systeem van het ontvangen request 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:
|