Use Cases MAP Server
Overzicht MAP Server
Onderstaande figuur toont een overzicht van de interfaces, services en functies van de MAP Server. De MAP Server toetst of beoogde uitwisselingen tussen partijen mogen plaatsvinden. Hierbij wordt gebruik gemaakt van een (Medisch) Autorisatie Protocol, dat is opgesteld door beroepsgroepen in de zorg.
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 "MAP Autorisatie".
Bepaal MAP autorisatie
Primaire actor | Autorisatie Server ZA |
---|---|
Systeem | MAP Autorisatie |
Code | |
Realiseert Feature |
Pre-condities
AOF.MAP-I.MI.100.v1 Het systeem biedt een endpoint voor checkRequest operatie van de MAP Interface. |
Het systeem is slechts benaderbaar voor
|
Triggers
De primaire actor stuurt een request in.
Main flow
Stap | Omschrijving | Uitzondering(en) |
---|---|---|
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 | Het systeem toetst of het gehanteerde vertrouwensniveau toereikend is voor de gevraagde interactie, zoals beschreven in "Toelichting controle vertrouwensniveau". | |
4 | Indien vertrouwensniveau "midden" of hoger (roleCode ontvangen): het systeem toetst of de gevraagde scope van autorisatie is toegestaan conform het (medisch) autorisatieprotocol, zoals beschreven in "Toelichting controle autorisatieprotocol". | |
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. |
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:
|
Toelichting controle vertrouwensniveau
Binnen AORTA worden verschillende niveaus van authenticatie (vertrouwensniveaus) onderkend, bijvoorbeeld:
Vertrouwensniveau | Wijze van authenticatie | Aanwezige AORTA tokens |
---|---|---|
Laag | systeemauthenticatie o.b.v. een servercertificaat | AORTA transactietoken, gesigned met een UZI-servercertificaat. |
Midden | authenticatie o.b.v. een UZI-pas op naam (zorgverlenerpas of medewerkerpas op naam) | Verschillende mogelijkheden:
|
authenticatie middels PKIo-pas | SAML PKIo Authenticatietoken met indicatie "urn:oasis:names:tc:SAML:2.0:ac:classes:SmartcardPKI" |
Voor iedere interactie is bepaald welk vertrouwensniveau tenminste vereist is om de interactie te mogen uitvoeren. Dit is vastgelegd in een MAP-tabel.
Toetsing van het vertrouwensniveau omvat de volgende stappen:
Indien van toepassing: bepaal voor welke context autorisatie wordt gevraagd;
Bepaal het interactie-id waarvoor (binnen deze context) autorisatie wordt gevraagd (vooralsnog is slechts het major versienummer van een interactie-id van belang);
Stel vast of het gehanteerde vertrouwensniveau hoger of gelijk is dan het minimaal vereiste niveau> Indien een rolcode is ontvangen, dan is het daadwerkelijk gehanteerde vertrouwensniveau “midden” of hoger. Indien géén rolcode is ontvangen, dan is het daadwerkelijk gehanteerde vertrouwensniveau “laag”, en dient in de MAP-tabel te zijn opgenomen dat het interactie-id (binnen deze context), mag worden uitgevoerd op vertrouwensniveau “laag”.
Zie ook de "Toelichting controle autorisatieprotocol" voor de wijze waarop de contextcode en het interactie-id worden bepaald.
Toelichting controle autorisatieprotocol
Het Medisch Autorisatie Protocol (MAP) is een tabel waarin is vastgelegd welke bedrijfsrollen (bijvoorbeeld beroepstitels/specialismen) bevoegd zijn om toegang te krijgen tot welke (medische) gegevenssoorten. Iedere regel in het MAP definieert een bevoegdheid tussen:
bedrijfsrol, te weten
zorgverlener - beroepstitel en eventueel specialisme (o.b.v. UZI),
burger, of
wettelijk vertegenwoordiger van burger
gebruikersinteractie
interactie-id (bijvoorbeeld "search:eAfspraak-Appointment:2", vooralsnog is voor het MAP slechts het major versienummer van een interactie-id van belang)
minimaal vereist vertrouwensniveau
gegevenssoort OF contextcode (bijvoorbeeld "BGZ") OF leeg (voor FHIR-interacties wordt gebruik gemaakt van de contextcode)
Toetsing van een token exchange request tegen het MAP omvat de volgende stappen:
Bepaal de rolcode van de persoon die verantwoordelijk is voor het achterliggende verzoek;
Bepaal voor welke context autorisatie wordt gevraagd;
Bepaal het interactie-id waarvoor, binnen deze context, autorisatie wordt gevraagd;
Stel vast of een bevoegdheid is gedefinieerd voor de bovenstaande combinatie.
Wanneer de scope meerdere interactie-id's bevat, dan zijn meerdere MAP-regels van toepassing.