Page History
| Navitabs | ||||
|---|---|---|---|---|
|
Under udarbejdelse...
Overblik
Formål
Identitetssløring af Ansatte i Sundhedsvæsenet (IDSAS) er et sløringsregister, så ansatte i sundhedsvæsenet kan optræde under pseudonym på tværs af borgervendte løsninger.
Læsevejledning
Dette dokument er rettet mod udviklere, der skal udvikle eller teste services, der har grænseflader mod IDSAS.
Læseren forudsættes at være bekendt med SOAP og WSDL'er.
Snitflader
IDSAS understøtter følgende adgange:
- Sundhedsfaglige og systembrugere har mulighed for at oprette en slørring over for en borger.
- Systembrugere (kun STS'en) har mulighed for at hente alle sløringer for en bestemt borger.
- Systembrugere har mulighed for at hente det aktuelle salt.
IDSAS er opdelt i to services som beskrives i disse to wsdl-filer. Bemærk, lookup-delen kun benyttes af STS'en. Som anvender har man typisk kun brug for "idsas-service.wsdl".
...
Datoen "2023060"' angiver versionen af snitfladen. Pt. findes kun denne ene version.
WSDL'erne er også udstillet med sikkerheds-headers:
...
Følgende zip folder indeholder foreløbige wsdl-filer og tilhørende xsd-filer for snitfladerne (uden security headers).
NB: Som anvender benyttes kun idsas-service.wsdl
| View file | ||||
|---|---|---|---|---|
|
WSDL for sløring (idsas-service.wsdl)
...
CreateBlurring
...
Anvenderguiden er opdelt i tre.
Der er udarbejdet en "kom igang guide", der kan guide dig til hvilken guide du har brug for: Hvordan - Kom igang med identitetssløring
IDSAS - Guide til anvendere: Afdelingssløring - til anvendere der har behov for at oprette og fjerne afdelingssløringer
IDSAS - Guide til anvendere: Specifik borgersløring - til anvendere der har behov for at oprette specifikke borgersløringer
IDSAS - Guide til anvendere: STS - til anvendere, der har brug for at kende den aktuelle salt og hente aktuelle lister af sløringer.
Snitflader
Links til snitflader kan findes under de enkelte anvender-guides
WSDL'er for lookup (idsas-lookup.wsdl)
...
GetBlurredOrganisations
...
Operationer
CreateBlurring
Oprettelse af en sløring for en borger. Organisationen, der slørres for, er den der kaldes fra (dvs. den læses fra sikkerhedsbilletten). Findes der allerede en sløring på en borger for en bestemt organisation, vil kun den seneste sløring være aktiv.
...
Element
...
Beskrivelse
...
Type
...
Obligatorisk
...
patientId
...
Angiver borgerens CPR-nummer (uden bindestreg).
...
CPR
...
Ja
...
endDateTime
...
Sluttidspunktet for slørringen. Må max ligge 2 år fremme i tiden.
...
datetime
...
Ja
Eksempel på request:
| Code Block | ||||||
|---|---|---|---|---|---|---|
| ||||||
<?xml version="1.0" encoding="UTF-8"?>
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:ds="http://www.w3.org/2000/09/xmldsig#"
xmlns:medcom="http://www.medcom.dk/dgws/2006/04/dgws-1.0.xsd"
xmlns:saml="urn:oasis:names:tc:SAML:2.0:assertion"
xmlns:sosi="http://www.sosi.dk/sosi/2006/04/sosi-1.0.xsd"
xmlns:wsa="http://schemas.xmlsoap.org/ws/2004/08/addressing"
xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd"
xmlns:wst="http://schemas.xmlsoap.org/ws/2005/02/trust"
xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" id="Envelope">
<soapenv:Header>
<wsse:Security>
<wsu:Timestamp>
<wsu:Created>2023-06-26T08:11:22Z</wsu:Created>
</wsu:Timestamp>
<saml:Assertion IssueInstant="2023-06-26T08:06:21Z" Version="2.0" id="IDCard">
<saml:Issuer>TEST1-NSP-STS</saml:Issuer>
<saml:Subject>
<saml:NameID Format="medcom:other">SubjectDN={C=DK, OID.2.5.4.97=NTRDK-98021838,
O=Testorganisation nr. 98021838,
SERIALNUMBER=UI:DK-O:G:62dda762-82f3-4048-ae60-5e6f681a67ab, CN=NSP Test
Service Consumer Certifikat},IssuerDN={C=DK, O=Den Danske Stat, OU=Test -
cti, CN=Den Danske Stat OCES udstedende-CA
1},CertSerial={146245284873245556887894707042857692882317566182}</saml:NameID>
<saml:SubjectConfirmation>
<saml:ConfirmationMethod>urn:oasis:names:tc:SAML:2.0:cm:holder-of-key</saml:ConfirmationMethod>
<saml:SubjectConfirmationData>
<ds:KeyInfo>
<ds:KeyName>OCESSignature</ds:KeyName>
</ds:KeyInfo>
</saml:SubjectConfirmationData>
</saml:SubjectConfirmation>
</saml:Subject>
<saml:Conditions NotBefore="2023-06-26T08:06:21Z"
NotOnOrAfter="2023-06-27T08:06:21Z" />
<saml:AttributeStatement id="IDCardData">
<saml:Attribute Name="sosi:IDCardID">
<saml:AttributeValue>W0zDTbDYVt1t1+/LJP0pXw==</saml:AttributeValue>
</saml:Attribute>
<saml:Attribute Name="sosi:IDCardVersion">
<saml:AttributeValue>1.0.1</saml:AttributeValue>
</saml:Attribute>
<saml:Attribute Name="sosi:IDCardType">
<saml:AttributeValue>system</saml:AttributeValue>
</saml:Attribute>
<saml:Attribute Name="sosi:AuthenticationLevel">
<saml:AttributeValue>3</saml:AttributeValue>
</saml:Attribute>
<saml:Attribute Name="sosi:OCESCertHash">
<saml:AttributeValue>dEjVOMcCEP9weRMSpVGBbGv/cRk=</saml:AttributeValue>
</saml:Attribute>
</saml:AttributeStatement>
<saml:AttributeStatement id="SystemLog">
<saml:Attribute Name="medcom:ITSystemName">
<saml:AttributeValue>Service Consumer Test</saml:AttributeValue>
</saml:Attribute>
<saml:Attribute Name="medcom:CareProviderID" NameFormat="medcom:cvrnumber">
<saml:AttributeValue>98021838</saml:AttributeValue>
</saml:Attribute>
<saml:Attribute Name="medcom:CareProviderName">
<saml:AttributeValue>Test organisation 98021838</saml:AttributeValue>
</saml:Attribute>
</saml:AttributeStatement>
<ds:Signature id="OCESSignature">
<ds:SignedInfo>
<ds:CanonicalizationMethod
Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#" />
<ds:SignatureMethod Algorithm="http://www.w3.org/2000/09/xmldsig#rsa-sha1" />
<ds:Reference URI="#IDCard">
<ds:Transforms>
<ds:Transform
Algorithm="http://www.w3.org/2000/09/xmldsig#enveloped-signature" />
<ds:Transform Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#" />
</ds:Transforms>
<ds:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1" />
<ds:DigestValue>Gs6N2rMJKq4hIgd7tQS0abnKO4o=</ds:DigestValue>
</ds:Reference>
</ds:SignedInfo>
<ds:SignatureValue>
OXR5oNhCPxGKPcLU/cpNKPSRbK7AtF4V1sec5PBJUmTaMyQdKaWC1izl7OikEpggx4qj4C3rYTZcwStDPiXF7U12e7YMq+ja9v7B3Ov1ELqHmNYAQCtKyEJA1nb27pX8XOv0Ph/efQUll73JuvwaeWMgXFA75ojNwmqLmiG38HVa19h9Qp2bKuBz0ZT7LievCmeNI4mAtyltU7BGHOmm6w7nIWmI98bokBIUbbgbBhCjFhXzV4SFvCvm47W80Dn8JP1g723JAdad7hSD3pL1DEKD1urVIphOzP/Fgdnq2bdJOhPozqqqKKs1HCaZTlCjVZPU2+hC2a26k2wHbbk/jK5o7l7p/KfDc+ggw2r479/8UqpbR57PxPvu6+2doN8s624zzEM/BTfqTZTT9P1rEfTjVW8M3pzQDCv5D+/KoBUwH6QphNqYOtt1s8hYQ8KLkk2E5H7UKkd8d+xBtKDUOZeHdBijYydMVL3XkeH9t7uMIZ1I7ohJumpDd9LW2Dme</ds:SignatureValue>
<ds:KeyInfo>
<ds:X509Data>
<ds:X509Certificate>
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</ds:X509Certificate>
</ds:X509Data>
</ds:KeyInfo>
</ds:Signature>
</saml:Assertion>
</wsse:Security>
<medcom:Header>
<medcom:SecurityLevel>3</medcom:SecurityLevel>
<medcom:Linking>
<medcom:FlowID>bc43229e-54b2-4c55-b0e9-f93778272368</medcom:FlowID>
<medcom:MessageID>c8bcfa7c-7f34-4aab-8732-e556f68e95d3</medcom:MessageID>
</medcom:Linking>
<medcom:RequireNonRepudiationReceipt>no</medcom:RequireNonRepudiationReceipt>
</medcom:Header>
</soapenv:Header>
<soapenv:Body>
<CreateBlurringRequest
xmlns="http://sundhedsdatastyrelsen.dk/identitetssloering/2023/06/01/">
<patientId>
<id>0102031234</id>
<classification>CPR</classification>
</patientId>
<endDateTime>2023-06-27T12:11:17.674+02:00</endDateTime>
</CreateBlurringRequest>
</soapenv:Body>
</soapenv:Envelope> |
Response-eksempel: TODO
GetCurrentSalt
Der er ingen explicitte parametre til denne operation. Den aktuelle salt er universel for alle med adgang til operationen.
Reguest-eksempel: TODO
Response-eksempel: TODO
GetBlurredOrganisations
Følgende operation kan kun anvendes af STS'en. For en given patient, returnerer den en liste af alle organisationer, der skal sløres for.
...
Element
...
Beskrivelse
...
Type
...
Obligatorisk
...
patientId
...
Angiver borgerens CPR-nummer (uden bindestreg).
...
CPR
...
Ja
Reguest-eksempel: TODO
Response-eksempel: TODO
Understøttelse af brugerhistorier
...
Fejlbeskeder
...
Algoritme for pseudoanonymisering
Kald af IDSAS
Mange programmeringssprog har understøttelse for at danne kode ud fra en snitfladebeskrivelse (WSDL). Det er op til anvenderen at finde en passende udviklingsstak og passende biblioteker, der kan hjælpe med denne proces.
Udover behovet for at kunne generere klientkode ud fra en WSDL, så vil succesfuld anvendelse af IDSAS kræve, at der medsendes gyldige identifikation (gyldigt SOSI Idkort) i kaldet.
Yderligere dokumentation:
...
.