Skip to main content
Skip table of contents

AORTA access_token

Inleiding

Feature

AORTA access_token

Type

Subfeature

Versie

3.1.1

Groep

Tokens

Gepubliceerd

Delta

Toevoeging scope elementen voor FHIR-interacties m.b.t. secundaire resources voor MedMij gegevensdiensten:

  • Delen BgZ-wijzigingsverzoek 1.0

  • Delen Meetwaarden vitale functies 2.0

Het JWT-based AORTA access_token bestaat uit een header, een payload en een signature, waarbij gebruik wordt gemaakt van JWS Compact Serialization.

Met een access_token wordt aan de ontvanger bewezen dat aan een gegeven subject bepaalde toegangsrechten zijn verstrekt.

Header

De header van het token bevat de volgende attributen:

Claim

Vaste waarde

Toelichting

alg

RS256

typ

aorta-at+JWT

"aorta-at" is een afkorting voor AORTA access_token.

kid

-

The identifier of the key-pair used to sign this JWT

Signature

Het token wordt op basis van RS256 (RSA Signature met SHA-256), digitaal ondertekend met de private key van de Autorisatie Server. De signature wordt geplaatst over de header en de payload.

Payload

De payload van het token is omschreven in onderstaande tabel.

Claim

Cardinaliteit

Vaste waarde

Toelichting

jti

1..1

-

jti bevat een globaal uniek ID van het betreffende token. Aanbevolen wordt om een UUID te gebruiken.

iat

1..1

-

iat bevat het tijdstip van uitgifte van dit token (aantal seconden sinds 1970-01-01T0:0:0Z gemeten in UTC).

iss

1..1

-

iss bevat de HTTPS-URL van de autorisatieserver die het token heeft uitgegeven. Op deze manier kan automatisch de juiste metadata, met daarin de juiste endpoints, worden opgehaald.

sub

1..1

-

Formaat: "<id-systeem>|<id>"

Het ID van de gebruiker, of van een systeem, die uitgifte van dit access_token legitimeert. De claim kan bevatten:

role

0..1

-

Formaat: "<codesysteem>|<rolcode>"

De rolcode van de gebruiker die uitgifte van dit access_token legitimeert. De claim kan bevatten:

Verplicht indien de sub claim is gevuld met een ID van een persoon.

act

0..1

-

De act claim bevat een aantal subclaims en wordt opgenomen wanneer iets of iemand handelt namens een ander persoon. Zie ook RFC 8693 voor voorbeelden.

act.sub

1..1

(verplicht indien act aanwezig is)

-

Formaat: "<id-systeem>|<id>"

Het ID van de gebruiker of van het systeem die handelt namens de persoon, die is opgenomen in de sub claim. De claim kan bevatten:

acr

1..1

-

De Authentication Context Class Reference. Geeft informatie over het niveau waarop de sub van het token is geauthenticeerd. Mogelijke waarden, zoals gespecificeerd binnen SAML zijn:

  • "urn:oasis:names:tc:SAML:2.0:ac:classes:PasswordProtectedTransport" (bijvoorbeeld DigiD-basis)

  • "urn:oasis:names:tc:SAML:2.0:ac:classes:MobileTwoFactorContract" (bijvoorbeeld DigiD-midden)

  • "urn:oasis:names:tc:SAML:2.0:ac:classes:Smartcard" (bijvoorbeeld DigiD-substantieel)

  • "urn:oasis:names:tc:SAML:2.0:ac:classes:SmartcardPKI" (bijvoorbeeld UZI-pas of DigiD-hoog)

  • "urn:oasis:names:tc:SAML:2.0:ac:classes:X509" (servercertificaat)

attest

1..1

-

Informatie over op welke grondslag of grondslagen dit token is gebaseerd. Het betreft een door spatie gescheiden set van strings. Mogelijk waarden:

  • "MAP" - het Medisch Autorisatie Protocol is toegepast.

  • "TR"- toestemming van patiënt is vastgelegd in een toegelaten toestemmingsregister (Mitz).

  • "MedMij" - het token is uitgeven n.a.v. een conform MedMij afgegeven toestemmingsverklaring.

  • "BRON" - toestemming van de patiënt is nog niet getoetst door de Autorisatie Server, en moet daarom nog worden getoetst bij de bronhoudende zorgaanbieder zelf.

  • "CNST" - toestemming mag door de bronhoudende zorgaanbieder worden verondersteld te zijn verkregen, bijvoorbeeld t.b.v. een verwijzing van de patiënt - deze is vastgelegd in een consent_token, en het juiste gebruik van dit token voor het ontvangen request is reeds getoetst.

  • "LOG" - specifieke autorisatieregels m.b.t. de toegangslog zijn toegepast.

  • "ACT/VWI" - specifieke autorisatieregels m.b.t. toegang tot ACT/VWI-entries zijn toegepast.

Een voorbeeld van een attest claim is "MAP TR", waarmee dan wordt aangeduid dat het MAP is getoetst en dat toestemming is vastgelegd en getoetst in een toegelaten toestemmingsregister.

nbf

1..1

-

nbf bevat het tijdstip waarvoor het token niet mag worden geaccepteerd (in dit geval gelijk aan tijdstip van uitgifte van dit token - aantal seconden sinds 1970-01-01T0:0:0Z gemeten in UTC).

exp

1..1

-

Wordt gevuld met de expiration time van het MedMij access_token of met de expiration time van het AORTA transactietoken naar aanleiding waarvan dit AORTA access_token wordt uitgegeven.

aud

0..1

-

JSON array met string values.

Zie "Vulling van client en audience claims in tokens".

scope

1..1

-

Het scope attribuut bestaat uit één of meerdere, door een spatie van elkaar gescheiden, onderdelen.

De volgende scope onderdelen zijn mogelijk:

Voor de mogelijk vulling van de scope in specifieke situaties, zie de tekst onder deze tabel. De Autorisatie Server dient de scope slechts te vullen met onderdelen die vereist zijn om te gevraagde interactie of set van interacties te kunnen uitvoeren.

patient

0..1

-

Het ID van de patiënt (BSN, hash van BSN of COA nummer), d.w.z. de persoon waarop de gegevens, die worden uitgewisseld, betrekking hebben.

Verplicht gevuld bij patiëntgebonden interacties.

Formaat (één van de volgende):

  • "urn:oid:2.16.840.1.113883.2.4.6.3.<BSN>" OF "http://fhir.nl/fhir/NamingSystem/bsn| <bsn>"

  • "urn:oid:2.16.840.1.113883.2.4.3.111.4.<Hash van BSN>"

  • "urn:oid:2.16.840.1.113883.2.4.3.111.6.<COA nummer>"

client_id

1..1

-

Zie "Vulling van client en audience claims in tokens".

_vrb

0..1

-

De _vrb claim bevat, in een aantal subclaims, VZVZ Resource Broker specifieke informatie over de afhandeling van interacties. Een resource server (GBZ-applicatie) mag deze claim desgewenst negeren.

Deze claim is slechts aanwezig wanneer een interactie, via RB VnC, wordt geïnitieerd bij een resource server.

_vrb. _vrb_aud

1..1

-

JSON array met string values.

Zie "Vulling van client en audience claims in tokens".

_vrb. _vrb_client_id

1..1

-

JSON array met string values.

Zie "Vulling van client en audience claims in tokens".

_vrb. _vrb_ion

1..1

-

Een kenmerk van de organisatie die die het request heeft geïniteerd (de "initiating organisation name"). In de MedMij use case gaat het om de OAuthclientOrganisatienaam (naam van het PGO), zoals opgenomen in de MedMij OCL. In de ZA-ZA use case gaat het om de URA (formaat: "urn:oid:2.16.528.1.1007.3.3.<URA>").

_vrb. _vrb_ter_scope

1..1

-

De waarde van de scope parameter, zoals geretourneerd in het token exchange response. Indien van toepassing, dan bevat deze scope, per interactie, ook het van toepassing zijnde transformation-id.

_vrb. _vrb_consent_id

0..1

Het ID kenmerk van het AORTA consent_token op basis waarvan dit AORTA access_token is uitgegeven. Slechts gevuld indien de attest claim de waarde "CNST" bevat.

ver

1..1

3.1

De versie van de tokendefinitie die wordt gehanteerd.

Scope claim

De scope claim van het token kan de volgende onderdelen bevatten, waarbij verschillende scope-onderdelen door een spatie van elkaar worden gescheiden. Van de genoemde onderdelen worden slechts die opgenomen die echt nodig zijn om te gevraagde interactie(s) te kunnen uitvoeren.

Bijvoorbeeld, wanneer een search wordt uitgevoerd op een DocumentManifest in de context van MedMij dan is de scope "patient/DocumentManifest.s medmij.gegevensdienst.51".

Ander voorbeeld, wanneer in een batch gelijktijdig een search wordt uitgevoerd op Immunization en op AllergyIntolerance, in de context van zorgaanbieder-zorgaanbieder BGZ uitwisseling, dan is de scope "patient/Immunization.s patient/AllergyIntolerance.s aorta.contextcode.BGZ".

Gegevensdienst / Interactie

Mogelijke SMART-on-FHIR scope onderdelen

Toevoeging op scope bij interactie vanuit MedMij

Toevoeging op scope bij interactie vanuit AORTA

Verzamelen Afspraken 2.0

patient/Appointment.s

medmij.gegevensdienst.47

nog niet beschikbaar

Verzamelen Basisgegevens zorg 3.0

patient/Patient.s

patient/Practitioner.r

patient/PractitionerRole.r

patient/Coverage.s

patient/Consent.s?category=http://snomed.info/sct|11291000146105,http://snomed.info/sct|11341000146107 (of een subset van deze codes)

patient/RelatedPerson.r

patient/DocumentReference.r

patient/Binary.r

patient/Condition.s

patient/Observation.s?code=http://snomed.info/sct|228366006,http://snomed.info/sct|228273003,http://snomed.info/sct|365980008

patient/Observation$lastn?category=http://snomed.info/sct|118228005,http://snomed.info/sct|384821006,http://snomed.info/sct|275711006

patient/Observation$lastn?code=http://snomed.info/sct|365508006,http://loinc.org|85354-9,http://loinc.org|29463-7,http://loinc.org|8302-2,http://loinc.org|8306-3,http://loinc.org|8308-9

patient/Specimen.r

patient/NutritionOrder.s

patient/Flag.s

patient/AllergyIntolerance.s

patient/MedicationStatement.s?category=urn:oid:2.16.840.1.113883.2.4.3.11.60.20.77.5.3|6

patient/MedicationRequest.s?category=http://snomed.info/sct|16076005

patient/MedicationDispense.s?category=http://snomed.info/sct|422037009

patient/Medication.r

patient/DeviceUseStatement.s

patient/Immunization.s

patient/Procedure.s?category=http://snomed.info/sct|387713003

patient/Encounter.s?class=http://hl7.org/fhir/v3/ActCode|IMP,http://hl7.org/fhir/v3/ActCode|ACUTE,http://hl7.org/fhir/v3/ActCode|NONAC (of een subset van deze codes)

patient/ProcedureRequest.s?category=http://snomed.info/sct|387713003

patient/ImmunizationRecommendation.s

patient/DeviceRequest.s

patient/Device.r

patient/Appointment.s

medmij.gegevensdienst.48

aorta.contextcode.BGZ

Verzamelen Huisartsgegevens 2.0

patient/Patient.s

patient/Practitioner.r

patient/Organization.r

patient/Observation.s?code=https://referentiemodel.nhg.org/tabellen/nhg-tabel-45-diagnostische-bepalingen|

patient/AllergyIntolerance.s?category=medication

patient/MedicationRequest.s?category=http://snomed.info/sct|16076005

patient/Composition.s?type=http://loinc.org|67781-5

patient/Encounter.s

patient/EpisodeOfCare.s

medmij.gegevensdienst.49

nog niet beschikbaar

Verzamelen Basisgegevens GGZ 2.0

patient/Patient.r patient/Patient.s

patient/Coverage.s

patient/Condition.s

patient/Consent.s?category=http://snomed.info/sct|11291000146105,http://snomed.info/sct|11341000146107 (of een subset van deze codes)

patient/Observation.s?category=http://snomed.info/sct|118228005,http://snomed.info/sct|384821006,http://hl7.org/fhir/observation-category|survey (of een subset van deze codes)

patient/Observation.s?code=http://snomed.info/sct|228366006,http://snomed.info/sct|228273003,http://snomed.info/sct|365980008,http://snomed.info/sct|365470003,http://snomed.info/sct|55801000146105,http://snomed.info/sct|314845004  (of een subset van deze codes)

patient/Observation$lastn?category=http://snomed.info/sct|275711006

patient/Observation$lastn?code=http://snomed.info/sct|365508006

patient/CarePlan.s?category=http://snomed.info/sct|243114000

patient/Procedure.s

patient/DiagnosticReport.s

patient/CareTeam.s

medmij.gegevensdienst.50

nog niet beschikbaar

Verzamelen Documenten 3.0

patient/DocumentManifest.s

patient/DocumentReference.s

patient/Binary.r 

medmij.gegevensdienst.51

nog niet beschikbaar

Verzamelen Meetwaarden vitale functies 2.0

patient/Observation.s 

medmij.gegevensdienst.52

nog niet beschikbaar

Delen Meetwaarden vitale functies 2.0

patient/Observation.c

patient/Patient.c

medmij.gegevensdienst.53

nog niet beschikbaar

Verzamelen verwijzingen naar vragenlijsten 2.0

patient/Task.s?code=http://loinc.org|74468

medmij.gegevensdienst.59

nog niet beschikbaar

Delen antwoorden op vragenlijsten 2.0

patient/Task.u

patient/QuestionnaireResponse.c

medmij.gegevensdienst.60

nog niet beschikbaar

Delen BgZ-wijzigingsverzoek 1.0

patient/Communication.c?category="http://hl7.org/fhir/uv/fhir-patient-correction/CodeSystem/PatientCorrectionCommunicationTypes|medRecCxReq"

patient/Patient.c

patient/Organization.c

medmij.gegevensdienst.62

n.v.t.

$is-allowed

patient$is-allowed

-

n.v.t.

Interacties m.b.t. het actualiteitsregister en de verwijsindex

Vulling bij interactie vanuit GBZ (zorgverlener/medewerker), afhankelijk van gevraagd interactie:

  • patient/List.cu?source:Device.identifier=http://fhir.nl/fhir/NamingSystem/aorta-app-id|<appID>

  • patient/List.s?source:Device.identifier=http://fhir.nl/fhir/NamingSystem/aorta-app-id|<appID>

  • patient/List.d?source:Device.identifier=http://fhir.nl/fhir/NamingSystem/aorta-app-id|<appID>

  • patient$delete-dossier?app-id=<appID>

Vulling bij search vanuit GBP (patiënt) of GBK (GBK-medewerker):

  • patient/List.s

n.v.t.

-

Interacties m.b.t. de toegangslog (RB-logging)

patient/AuditEvent.s

n.v.t.

-

Interacties m.b.t. het Abonnementenregister

Vulling bij interactie vanuit GBZ (zorgverlener/medewerker), afhankelijk van gevraagd interactie:

  • patient/Subscription.c?SourceSystem=urn:oid:2.16.840.1.113883.2.4.6.6.<appID>

  • patient/Subscription.s

  • patient/Subscription.u?SourceSystem=urn:oid:2.16.840.1.113883.2.4.6.6.<appID>

  • patient/Subscription.d

Vulling bij interactie vanuit GBP (patiënt), afhankelijk van gevraagd interactie:

  • patient/Subscription.c

  • patient/Subscription.s

  • patient/Subscription.u

  • patient/Subscription.d

Patiëntgebonden workflow interacties

patient/Task.c

-

-

Niet-patiëntgebonden workflow interacties

user/Task.c

n.v.t.

-

$get-aorta-data

patient$get-aorta-data?context=<de geautoriseerde contextcode>, bijvoorbeeld "patient$get-aorta-data?context=BGZ"

n.v.t.

aorta.contextcode.<de geautoriseerde contextcode>

JavaScript errors detected

Please note, these errors can depend on your browser setup.

If this problem persists, please contact our support.