Page History
1. Indledning
Seal.Java er udvidet for at understøtte omveksling af et eHDSI IDWS XUA Bootstrap token (DKNCPBST) udsted af "Danish National Contact Point" til et eHDSI IDWS XUA Identity Token (IDWS-eHDSI). Den brugerrettede forklaring på dette er følgende to brugsscenarier:
- Udenlandske apoteker skal kunne udlevere medicin på baggrund af en dansk recept i FMK når en dansk borger henvender sig (ePrescription)
- Udenlandske sundhedspersoner skal kunne hente en oversigt over en dansk borgers sundhedsoplysninger, når de har denne i behandling (PatientSummary).
De danske tjenester skal fortsat være en del af SOSI-føderationen og alene stole på adgangsbilletter udstedt af SOSI-STS.
Med omvekslingssnitfladen indføres et nyt koncept i form af en ’issuance policy’ som indgår i tokens, hvilket skal gøre det muligt for token-udstedere at differentiere mellem forskellige udstedelsespolitiker (fx hvis spærrelister eller registre ikke er tilgængelige). En ’issuance policy’ angives som streng i tokenet fx som ’urn:dk:sosi:ehdsi-idws-xua:standard’.
2. Overblik
Her er et overblik over de metoder og klasser STS'en benytter fra Seal.Java i forbindelse med denne omveksling:
| Klasse | Metode | Beskrivelse |
|---|---|---|
| DkncpBootstrapSamlAssertion | Repræsentere det indgående DKNCP Bootstrap token | |
| EhdsiIdwsXuaEmployeeIdentityToken | Repræsentere det udgående EHDSI IDWS XUA Identity token | |
| DkncpBootstrapSamlAssertionToEhdsiIdwsXuaEmployeeIdentityTokenRequest | Repræsentere et deserialiseret request | |
| DkncpBootstrapSamlAssertionToEhdsiIdwsXuaEmployeeIdentityTokenResponse | Repræsentere et deserialiseret response | |
| EHDSIFactory | createDkncpBootstrapSamlAssertionBuilder() | Bygger et DkncpBootstrapSamlAssertion (kun test) |
| EHDSIFactory | createDkncpBootstrapSamlAssertionToEhdsiIdwsXuaEmployeeIdentityTokenRequestDOMBuilder() | Serialisering af request (kun test) |
| EHDSIFactory | createDkncpBootstrapSamlAssertionToEhdsiIdwsXuaEmployeedentityTokenRequestModelBuilder() | Deserialisering af request |
| EHDSIFactory | createEhdsiIdwsXuaEmployeeIdentityTokenBuilder() | Bygger et EhdsiIdwsXuaEmployeeIdentityToken |
| EHDSIFactory | createDkncpBootstrapSamlAssertionToEhdsiIdwsXuaEmployeeIdentityTokenResponseDOMBuilder() | Serialisering af response |
| EHDSIFactory | createDkncpBootstrapSamlAssertionToEhdsiIdwsXuaEmployeeIdentityTokenResponseModelBuilder() | Deserialisering af response (kun test) |
Flowet der viser hvordan STS'en benytter dem:
Gliffy Diagram macroId bb41ed8c-dae9-4745-a07f-6350f61e4ccd displayName eHDSI IDWS XUA omveksling name eHDSI IDWS XUA omveksling pagePin 9
3. SAML attributter
Den nye profil indeholder følgende SAML attributter:
| Friendly Name | Name | Mandatory |
|---|---|---|
| XSPA Subject | urn:oasis:names:tc:xspa:1.0:subject:subject-id | Yes |
| XSPA Role | urn:oasis:names:tc:xacml:2.0:subject:role | Yes |
| XSPA permissions | urn:oasis:names:tc:xspa:1.0:subject:hl7:permission | No |
| EHDSI OnBehalfOf | urn:ehdsi:names:subject:on-behalf-of | No |
| XSPA Organization | urn:oasis:names:tc:xspa:1.0:subject:organization | No |
| XSPA Organization Id | urn:oasis:names:tc:xspa:1.0:subject:organization-id | Yes |
| EHDSI Healthcare Facility Type | urn:ehdsi:names:subject:healthcare-facility-type | Yes |
| XSPA Purpose of Use | urn:oasis:names:tc:xspa:1.0:subject:purposeofuse | Yes |
| XSPA Locality | urn:oasis:names:tc:xspa:1.0:environment:locality | Yes |
| XUA Patient Id | urn:oasis:names:tc:xacml:2.0:resource:resource-id | Yes |
| NSIS AssuranceLevel | https://data.gov.dk/concept/core/nsis/loa | Yes* |
| NIST AssuranceLevel | dk:gov:saml:attribute:AssuranceLevel | Yes* |
| IDWS XUA SpecVersion | urn:dk:healthcare:saml:SpecVersion | Yes |
| IDWS XUA IssuancePolicy | urn:dk:healthcare:saml:IssuancePolicy | Yes |
| EHDSI Country of Treatment | urn:dk:healthcare:saml:CountryOfTreatment | Yes |
Detaljerne omkring hver enkelt attribut + eksempler er beskrevet her: https://github.com/Sundhedsdatastyrelsen/epps-bootstrap-poc/wiki/eHDSI-IDWS-XUA-Token-Profile-V.02