Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Navitabs
rootDin digitale tandlægevælger (DDTV ) - Guide til anvendere
includeroottrue


Indhold

Table of Contents

Overblik

Læsevejledning

Dette dokument er rettet mod udviklere, der skal udvikle eller teste services, der har grænseflader mod services i IDSAS vedrørende "specifik borgersløring"DDTV.

Snitflader

Til denne type anvender, findes der en snitflade til IDSAS. WSDL'erne er både udstillet med og uden sikkerheds-headers:


SnitfladeEndpoint
Uden sikkerheds-headerregistrationdentist<server>/idsas-registration/20240124/registration?/ddtv-dentist-service/service-contract/wsdl/DDTV_Dentist.wsdl
Med sikkerheds-headerregistrationdentist<server>/idsasddtv-dentist-registrationservice/service-contract/secure-wsdl/20240124/idsas-registration.wsdl/DDTV_Dentist.wsdl

dentist<server>/ddtv-dentist-service/service-contract/xsd/20250501/DDTV_Common.xsd

dentist<server>/ddtv-dentist-service/service-contract/xsd/dgws/wsse.xsd

dentist<server>/ddtv-dentist-service/service-contract/xsd/dgws/saml.xsd

dentist<server>/ddtv-dentist-service/service-contract/xsd/dgws/medcom.xsd

Datoen "20250501Datoen "20240124" angiver versionen af snitfladen. Der findes også en tidligere version, "20230601", kan potentielt findes andre versioner, men det anbefales, at man anvender den nyeste. De relevante operationer er de samme, men strukturen af snitfladen er forbedret i nyeste udgave.

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å borgeren for denne organisation, vil kun den seneste sløring (og udløbsdato) være gældende.

Elementer

...

Dentist Accept

Angiver at en tandlæge eller klinikassistent har accepteret ansøgning om tandlæge fra en borger.

Elementer

ddtvDentistAcceptRequest

Element

Beskrivelse

Type

Obligatorisk

dentistChoiceToken

GUID der oprindeligt blev genereret (af den centrale DDTV service)  
da borgeren valgte tandlægen på Sundhed.dk 

String

Ja

ddtvDentistAcceptResponse

Element

Beskrivelse

Type

Obligatorisk

patientIdpersonID

Angiver borgerens ID.

ID på borgeren (CPR)

PersonIDPatientID

Ja

endDateTime

Sluttidspunktet for slørringen. Må max ligge 2 år fremme i tiden.

datetime

Ja

...

personName

Borgerens navn

string

Ja

personPhoneNumber

Telefon nummer

string

Nej

PersonID

Element

Beskrivelse

Type

Obligatorisk

id

Angiver borgerens ID (CPR-nummer uden bindestreg).

string

Ja

classification

Typen af ID . Gyldige værder er: 'CPR'som OID, e.g. OID:1.2.208.176.1.2 for CPR.

string

Ja

Eksempler

Code Block
languagexml
titleCreateBlurring Dentist Accept request
collapsetrue
<?xml version="1.0" encoding="UTF-8"?>
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
    xmlns:dsns="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"sundhedsdatastyrelsen.dk/ddtv/2025/05/01/">
    <soapenv:Header>Body>
        <wsse<ns:Security>ddtvDentistAcceptRequest>
            <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<dentistChoiceToken>24dfc5ae-5d13-4111-958b-df9c1bfca0bc</dentistChoiceToken>
      </ns:ddtvDentistAcceptRequest>
   </soapenv:Body>
</soapenv:Envelope>
Code Block
languagexml
titleDentist Accept response
collapsetrue
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
   <soap:Body>
      <ns2:ddtvDentistAcceptResponse xmlns:ns2="http://sundhedsdatastyrelsen.dk/ddtv/2025/05/01/">
         <personID>
           <saml:Attribute Name="medcom:ITSystemName"> <id>1811804807</id>
                        <saml:AttributeValue>Service Consumer Test</saml:AttributeValue>
    <classification>OID:1.2.208.176.1.2</classification>
                </saml:Attribute>personID>
         <personName>Peter           <saml:Attribute Name="medcom:CareProviderID" NameFormat="medcom:cvrnumber">Test Naur</personName>
                        <saml:AttributeValue>98021838</saml:AttributeValue>
              <personPhoneNumber>+4512345678</personPhoneNumber>
      </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>
    ns2:ddtvDentistAcceptResponse>
   </soap:Body>
</soap:Envelope>

Dentist Reject

Angiver at en tandlæge eller klinikassistent har afvist en ansøgning om tandlæge fra en borger.

ddtvDentistRejectRequest

Element

Beskrivelse

Type

Obligatorisk

dentistChoiceToken

GUID der oprindeligt blev genereret (af den centrale DDTV service)  
da borgeren valgte tandlægen på Sundhed.dk 

String

Ja

rejectReason

0: Tandlægen afviste eksplicit

1: Anmodningen fik timeOut

Byte

Ja

ddtvDentistRejectResponse

Element

Beskrivelse

Type

Obligatorisk

OK/Fail

Giver status OK eller fejlmeddelelse

-

Ja

Eksempler

Code Block
languagexml
titleDentist Reject request
collapsetrue
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns="http://sundhedsdatastyrelsen.dk/ddtv/2025/05/01/">
   <soapenv:Body>
      <ns:ddtvDentistRejectRequest>
         <dentistChoiceToken>24dfc5ae-5d13-4111-958b-df9c1bfca0bc</dentistChoiceToken>                            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>bc43229e-54b2-4c55-b0e9-f93778272368</medcom:FlowID>
                <medcom:MessageID>c8bcfa7c-7f34-4aab-8732-e556f68e95d3</medcom:MessageID>
      <rejectReason>0</rejectReason>
      </medcomns:Linking>ddtvDentistRejectRequest>
            <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
languagexml
titleCreateBlurring Dentist Reject response
collapsetrue
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
    <soap:Body>
      <ns2:ddtvDentistRejectResponse  <BlurResponse xmlns:ns2="http://sundhedsdatastyrelsen.dk/identitetssloeringddtv/20232025/0605/01/">OK</BlurResponse>
 >
         <status>true</status>
      </ns2:ddtvDentistRejectResponse>
   </soap:Body>
</soap:Envelope>

Understøttelse af brugerhistorier

BrugerhistorieUdførsel
Oprette slørringDentist AcceptUdføres ved at kalde CreateBlurringDentist Accept.
Slette sløringI praksis kan en sløring ikke slettes, men man kan i stedet oprette en ny sløring, hvor udløbsdato er sat til før dags dato. På den måde vil der ikke længere være en aktiv sløring på den pågældende borger for den aktuelle organisation.
Dentist RejectForlænge sløringUdføres ved at kalde CreateBlurring med en ny udløbsdato sat længere ude i fremtiden.
Forkorte sløringUdføres ved at kalde CreateBlurring med en ny udløbsdato, der er kortere.

...

Dentist Reject.

Kald af DDTV

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 DDTV kræve, at der medsendes gyldig identifikation (gyldigt SOSI Idkort) i kaldet.

...

Whitelisting

For at kunne benytte IDSAS DDTV skal organisationen også være whitelistet til at anvende servicen.
Opret supporthenvendelse om whitelistning.

...