Page History
| Navitabs | ||||
|---|---|---|---|---|
|
Indhold
| Table of Contents |
|---|
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-registration.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 (med og uden security headers).
NB: Som anvender benyttes kun idsas-registration.wsdl
| View file | ||||
|---|---|---|---|---|
|
WSDL for sløring (idsas-registration.wsdl)
...
CreateBlurring
...
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
Eksempler på request og response:
| 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> |
| Code Block | ||||||
|---|---|---|---|---|---|---|
| ||||||
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<BlurResponse xmlns="http://sundhedsdatastyrelsen.dk/identitetssloering/2023/06/01/">OK</BlurResponse>
</soap:Body>
</soap:Envelope> |
GetCurrentSalt
Der er ingen eksplicitte parametre til denne operation. Den aktuelle salt er universel for alle med adgang til operationen.
Eksempler på request og response:
| 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-30T11:54:11Z</wsu:Created>
</wsu:Timestamp>
<saml:Assertion IssueInstant="2023-06-30T11:47:39Z" 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-33257872,
O=Sundhedsdatastyrelsen,
SERIALNUMBER=UI:DK-O:G:8d3fa047-c77e-47e4-bdd2-e91488610ce6, CN=NSP Test
Service Consumer},IssuerDN={C=DK, O=Den Danske Stat, OU=Test - cti, CN=Den
Danske Stat OCES udstedende-CA
1},CertSerial={132335570455020580755596658041035235745819139305}</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-30T11:47:39Z"
NotOnOrAfter="2023-07-01T11:47:39Z" />
<saml:AttributeStatement id="IDCardData">
<saml:Attribute Name="sosi:IDCardID">
<saml:AttributeValue>4Sf96Uf3VEbmLtQDx5Wcwg==</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>f6ZdJ0CPmwpKVPZQ1NnkpDlB0KE=</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>33257872</saml:AttributeValue>
</saml:Attribute>
<saml:Attribute Name="medcom:CareProviderName">
<saml:AttributeValue>Sundhedsdatastyrelsen</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>Sk3wxBwaHc2zRp9Leal2ERVLjIc=</ds:DigestValue>
</ds:Reference>
</ds:SignedInfo>
<ds:SignatureValue>
QZuBCxHjB7NSuDKUm5HPWN7qIa9T6utvsnTFl0ZyPZFK7oc7TV41VU2ZAzSZVJhS7cmBVyFgeMBmCCJgrzSc+6b5uIiYvKDnFdZmq3qev/bc5MVxchPJASQuddl5nRVYK2iDe0zSk+bGqbcwBF3Vd6MmR8eKUeB0ld5ouNkCpBwjUx9VHPnWgutu79EqE9RS9F/+RALMF+fuOC6pvni8VeF71IDXC2Fe6tPi1f3uBNoWrs9HNyOJlktY6jSwu0F/nTB6vFexv93Sq6rgVUZ9knovA79WxCCJkTh9jtgzfN01N+mSEpInrGddNa84hZ6323sS9Jpa5vyU7wfVq953DGWWeilZsULVZh1gMDNHxmAb30ow6Xb7HwVYsKCZYxX6wwBoakAHsIBa6TRLzHxykdX+GtMAiHn8ZqVaPmyKLTd+L8ac1VfAnIICN36Vf8Q/NIH21+nmlKbCI3QI/ZvCBLYsU1I6CDdUCSrsgjL5y8K5jvMJ0eVd94ymjZ2RHP8t</ds:SignatureValue>
<ds:KeyInfo>
<ds:X509Data>
<ds:X509Certificate>
MIIGiDCCBLygAwIBAgIUR5IfpZdXnxp/UHxA0KWAcKzWcm4wQQYJKoZIhvcNAQEKMDSgDzANBglghkgBZQMEAgEFAKEcMBoGCSqGSIb3DQEBCDANBglghkgBZQMEAgEFAKIDAgEgMGsxLTArBgNVBAMMJERlbiBEYW5za2UgU3RhdCBPQ0VTIHVkc3RlZGVuZGUtQ0EgMTETMBEGA1UECwwKVGVzdCAtIGN0aTEYMBYGA1UECgwPRGVuIERhbnNrZSBTdGF0MQswCQYDVQQGEwJESzAeFw0yMzA1MTIxMTIzMDFaFw0yNjA1MTExMTIzMDBaMIGeMR0wGwYDVQQDDBRTT1NJIFRlc3QgRmVkZXJhdGlvbjE3MDUGA1UEBRMuVUk6REstTzpHOjU4ZjEwNDNkLTNkMmYtNGRlZC1hYjUwLTk0MGRiNDc3NmExODEeMBwGA1UECgwVU3VuZGhlZHNkYXRhc3R5cmVsc2VuMRcwFQYDVQRhDA5OVFJESy0zMzI1Nzg3MjELMAkGA1UEBhMCREswggGiMA0GCSqGSIb3DQEBAQUAA4IBjwAwggGKAoIBgQCDqOcDXr2tsBXp3QqYpoZCyJAJQ4+rEtmOLJL/Qyol+5e2NyBOqIGdpXdcSI6hCTYEQu/67EDFRcO9yU6yD/u7xOcy+t3eCqx1ydOy20AZCdcKwRmxBzyQN5er+mBErG2+iprTWJdpwCw0mwjNt5edusm7Nwufk0AkN5nxvEEynwesTdTqgLzL99Jk1zdg0uokROg1s13CCvpenYks8+yXwgddO/36WmUn9V8N+1MIu+UpwsULB9zsNCU8qlDzlgg1u6nr8nnKTBBwT2mXl4xCOF2EEJF5lGUaJ+NOu/ljI2WN2pEUsiqpZPvsI14teJKucH4zCV2y7PhyCBacuti7rEZjuZ6ELeTiUvgs+TqqTFGn3dxCq6FOgz5z5N2ypPTPzg/ntBH0CqkjFn+loh5GIBcA8ff5AHNjqM3Ygu/u1p+BwszeGJLAwk0AUtp67aB4QBGuh73vWsaeERwg4Hc1HeNldv/I4iyMQFlp1qsZoAC6cApeoM6umihYcTfi7rMCAwEAAaOCAYYwggGCMAwGA1UdEwEB/wQCMAAwHwYDVR0jBBgwFoAUfyif2XGZQuJ159c1di5NCCVtdl4wewYIKwYBBQUHAQEEbzBtMEMGCCsGAQUFBzAChjdodHRwOi8vY2ExLmN0aS1nb3YuZGsvb2Nlcy9pc3N1aW5nLzEvY2FjZXJ0L2lzc3VpbmcuY2VyMCYGCCsGAQUFBzABhhpodHRwOi8vY2ExLmN0aS1nb3YuZGsvb2NzcDAhBgNVHSAEGjAYMAgGBgQAj3oBATAMBgoqgVCBKQEBAQMHMDsGCCsGAQUFBwEDBC8wLTArBggrBgEFBQcLAjAfBgcEAIvsSQECMBSGEmh0dHBzOi8vdWlkLmdvdi5kazBFBgNVHR8EPjA8MDqgOKA2hjRodHRwOi8vY2ExLmN0aS1nb3YuZGsvb2Nlcy9pc3N1aW5nLzEvY3JsL2lzc3VpbmcuY3JsMB0GA1UdDgQWBBQoPAINYQR2GfgN1KAQMauutePL6jAOBgNVHQ8BAf8EBAMCBaAwQQYJKoZIhvcNAQEKMDSgDzANBglghkgBZQMEAgEFAKEcMBoGCSqGSIb3DQEBCDANBglghkgBZQMEAgEFAKIDAgEgA4IBgQC31Dtgc8+hxB0v+/RL1N3SsyfIxKNVJBhkl2Rfihn700Or5E+0ETyP8mV8MadraDBDYbwMkd3TNOzuF6Ct8c4X5mv+XKr8m0eDPlh7I7mMZ5zzpVw5Co4Wiwwiv9Hb59P/c182FaSPAA1bpmko9AH+duPcquiQELoSRfqW23B2cejACd95XbyXQVFdbCdhyCGAexbJ4egChJsXPU2zAOXq1/pa5bNSmJMsJgqP36bTbA6r+mjv0FArkrL76W1kmchpj6F4tSuDaaJlUmKvmzzBomwhlQRr/vxZc0FOamnJ8is9wC49tOaEMUx2l2iSWZKXMh4C6LQC8hQsjiXnYsERAWgeqwzqtVE3iKaGhOv+W7ECKFndGjYM95bdVK8x9BymTrPun63BCiVGqhMzsEc2RkvbKgBpb7L+Ont0EAahwcTshBzfe0jhA2thWHNGFxXpNqI0ZaAo/NKJpHK3I0EACAB0/VjiQZ/inSKtPnof1/nQZ32QWX3ij0VkX2mE2Pw=</ds:X509Certificate>
</ds:X509Data>
</ds:KeyInfo>
</ds:Signature>
</saml:Assertion>
</wsse:Security>
<medcom:Header>
<medcom:SecurityLevel>3</medcom:SecurityLevel>
<medcom:Linking>
<medcom:FlowID>f586a245-5d50-4c59-bfc1-e95517d921d0</medcom:FlowID>
<medcom:MessageID>8a8a9858-4945-4db5-a9a4-8cedde265f04</medcom:MessageID>
</medcom:Linking>
<medcom:RequireNonRepudiationReceipt>no</medcom:RequireNonRepudiationReceipt>
</medcom:Header>
</soapenv:Header>
<soapenv:Body>
<GetCurrentSaltRequest
xmlns="http://sundhedsdatastyrelsen.dk/identitetssloering/2023/06/01/" />
</soapenv:Body>
</soapenv:Envelope> |
| Code Block | ||||||
|---|---|---|---|---|---|---|
| ||||||
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<SaltResponse xmlns="http://sundhedsdatastyrelsen.dk/identitetssloering/2023/06/01/">5kZZLNQMNIkz1Y7tCDj3GQ==
</SaltResponse>
</soap:Body>
</soap:Envelope> |
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
| 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:38:13Z</wsu:Created>
</wsu:Timestamp>
<saml:Assertion IssueInstant="2023-06-26T08:33:09Z" 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:33:09Z"
NotOnOrAfter="2023-06-27T08:33:09Z" />
<saml:AttributeStatement id="IDCardData">
<saml:Attribute Name="sosi:IDCardID">
<saml:AttributeValue>dCktYYv/K4uKt0ycEcO7Eg==</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>http://system.nspop.dk/sts</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>7QM5bINSgn6Kkai/wV4ldZCgCFg=</ds:DigestValue>
</ds:Reference>
</ds:SignedInfo>
<ds:SignatureValue>
KigPzrkWlgbiFG/PsKby4/FNKpHK2khX/fv1E1aMZzRnUVJsdIVzsh8QEYJP2VN2AhI92ozjJGu0M0pM0/0N6Krk2y91MzE4LMCUKxfvWadeEzmJh5NyEfC3gqwqebEu4+ElH5onglr5YR6zIlAzDbzbQNRv+ZuEE734B7Hv1Xz4nKFkBegs5awiizYvb9Pca//5hi0t+gvNMa3eaHiMtdCtpqdfXlqXAiy7pdaqsJehjYs+5pHi5p8TWUlcP38WsyR1mjWOsjultqLzq+qml6BP6zdL5t5/wqPZ5wcmwWtFJ3Ek/VbNQiFsjlXA5SX2rGzBHrO0TjUCDThzwNL+GgXaf/ZjRz4GNfraiOaCDTVW5Guywg1oEbAfNVKs8FvsJ7pK9slpZuYgj4CGEra0w93/OzTfE8E84OFPpF4hbx/+VDlcrs9npBMGaKRoLXztBYncckERbSRhGupA+ywk9G3IsZWmNTyfVX1EQIt7XxFpuwUkXKZo94whwl4VyC75</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>e7ef735d-1b2e-45c3-83cc-aa03e763aa42</medcom:FlowID>
<medcom:MessageID>88f1a19c-be8f-43f0-b177-853014555d00</medcom:MessageID>
</medcom:Linking>
<medcom:RequireNonRepudiationReceipt>no</medcom:RequireNonRepudiationReceipt>
</medcom:Header>
</soapenv:Header>
<soapenv:Body>
<GetBlurredOrganisationsRequest
xmlns="http://sundhedsdatastyrelsen.dk/identitetssloering/2023/06/01/">
<patientId>
<id>0102031234</id>
<classification>CPR</classification>
</patientId>
</GetBlurredOrganisationsRequest>
</soapenv:Body>
</soapenv:Envelope> |
| Code Block | ||||||
|---|---|---|---|---|---|---|
| ||||||
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<BlurredOrganisationsResponse
xmlns="http://sundhedsdatastyrelsen.dk/identitetssloering/2023/06/01/">
<organisationIds>
<id>33257872</id>
<classification>CVR</classification>
</organisationIds>
</BlurredOrganisationsResponse>
</soap:Body>
</soap:Envelope> |
Understøttelse af brugerhistorier
...
Fejlbeskeder
...
CVR '%s' er ikke whitelisted for type %s
...
Hvis et givent CVR ikke er whitelisted for en af operationerne BLURRING eller SALT, gives denne fejlbesked. Kun CreateBlurring og GetCurrentSalt kan give denne fejl.
...
CVR '%s' mapper ikke til en SOR kode
...
CVR skal mappe til en SOR-kode for at en sløring kan oprettes.
...
CPR '%s' er ikke tilknyttet en borger
...
CVR skal være tilknyttet en borger for at sløring kan oprettes.
...
Brugertypen kan ikke bestemmes ud fra den medsendte sikkerhedsbillet
...
Denne fejl gives, hvis indholdet i sikkerhedsbilletten hverken matcher "sundhedsfaglig"- eller "system"-brugertypen.
...
Brugertypen kan ikke entydigt bestemmes ud fra den medsendte sikkerhedsbillet
...
Denne fejl gives, hvis man ikke ud fra sikkerhedsbilletten entydigt kan afgøre, om brugeren er en "sundhedsfaglig"- eller "system"-bruger.
...
Brugertypen '%s' er ikke understøttet
...
Fejlen gives lige nu kun hvis man forsøger at kalde GetBlurredOrganisations uden at være "system"-bruger.
Anvenderguiden er opdelt i to.
IDSAS - Guide til anvendere: Sløring beskriver servicen, der benyttes af sundhedsfaglige til registrering af sløringer.
IDSAS - Guide til anvendere: Opslag beskriver de services, der benyttes af NSP systemer til opslag af salt og sløringer.
Systembruger med clientName \"%s\" matcher ikke det forventede navn \"%s\"
...
Det clientName som STS'en er konfigureret med skal matche det navn som IDSAS er konfigureret med i property "idsas.allowed.client.system.name". Default value er "http://system.nspop.dk/sts".
...
Ingen salt var fundet.
...
Skal indsættes i databasen af driften.
...
Slutdatoen for en sløring må ikke liggere mere end to år fremme i tiden.
...
Sikkerhedsbilletten er udløbet
...
Sikkerhedsbilletten er ikke gyldig endnu
...
Sikkerhedsbilletten er ikke valid
...
Generisk fejl hvis årsagen ikke kunne bestemmes nærmere
...
Sikkerhedsbilletten mangler
Algoritme for pseudoanonymisering
Følgende oplysninger skal med i hash-funktionen SHA256:
- Fornavn + efternavn på den ansatte
- PatientId, dvs. CPR-nummeret
- Salt
Et eksempel på inputtet kunne være: Jens+Hansen+2101691234+saltFraIdsas
Ud af SHA256 kommer der en værdi på 256-bit, typisk i et byte-array. Byte-arrayet konverteres til hexadecimal, og af dette benyttes et prefix bestående af 10 tegn som pseudonymet på den ansatte.
Til hashing kan fx anvendes Java's "MessageDigest":
MessageDigest md = MessageDigest.getInstance("SHA-256");De relevante værdier konverteres til bytes og sendes ind i "md", og tilbage får man et byte-array.
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:
Whitelisting
For at kunne benytte IDSAS skal organisationen også være whitelistet til at anvende servicen.
Opret supporthenvendelse om whitelistning.
Der er whitelistning til både Test og Produktion