Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Reverted from v. 37

...

På oidref.com kan man i øvrigt se betydningen af enkeltcifre i de fleste OIDer, fx http://oidref.com/2.16.840.1.113883.1.3

Snitflader

Til SKR er der 2 hold gældende snitflader. Et hold til normalt brug og et til migreringsbrug.

Derudover er et antal forældede snitflader der SKR snitfladerne findes i et antal versioner. Versionerne er angivet med angivelse af dato. Forældede snitflader vil blive udfaset over tid, se længere nede i dokumentet. 

Snitflade til normal brug

Sundhedsfaglige anvender servicen gennem en DGWS­-snitflade, som skal kaldes med et MOCES niveau 4 medarbejdercertifikat. Sundhed.dk har dog undtagelsesvis whitelisting til at kalde med et niveau 3 certifikat.

...

WSDL-filer
HTML-side med overblik
<server>/skr/wsdl
Stamkortregister DGWS<server>/skr/wsdl/dgws20210602
Stamkortregister IDWS<server>/skr/wsdl/idws20210602

Notificeringer i NAS

I forbindelse med skriveoperationer i SKR (oprettelse, opdateringer og sletninger) sker der en notificering via NAS. Se evt. NAS 2.0 Anvenderguide.

De enkelte notificeringer indholder ikke detaljer vedr. opdateringen eller stamkortet, men udelukkende oplysninger om det cprnummer, for hvilket opdateringen har fundet sted. Det er efterfølgende op til anvenderen at hente det opdaterede stamkort ud via snitfladerne.

Følgende er et eksempel på en opdateringsnotificering:

Code Block
languagexml
titleEksempel på notifikation ved skrivning fra SKR
collapsetrue
    <ns3:Notify xmlns:ns2="http://www.w3.org/2005/08/addressing" xmlns:ns3="http://docs.oasis-open.org/wsn/b-2" xmlns:ns4="http://docs.oasis-open.org/wsn/t-1" xmlns:ns5="http://docs.oasis-open.org/wsrf/bf-2" xmlns:ns6="http://nsi.dk/advis/v10" xmlns:ns8="http://sundhedsdatastyrelsen.dk/skr/2021/06/02">
      <ns3:NotificationMessage>
        <ns3:Topic Dialect="http://docs.oasis-open.org/wsn/t-1/TopicExpression/Simple">SKR-TOPIC</ns3:Topic>
        <ns3:Message>
          <ns6:NotifyContent id="0309691444" idType="http://nsi.dk/advis/v10/CPR">
            <ns8:DataCardUpdated>
              <date value="2021-12-22"/>
              <id value="0309691444"/>
              <messageId value="AAABfeIdUdOcGhp3cE/gtlNPU0k="/>
              <type value="http://sundhedsdatastyrelsen.dk/MessageDefinition/PDC-notification"/>
              <version value="1"/>
            </ns8:DataCardUpdated>
          </ns6:NotifyContent>
        </ns3:Message>
      </ns3:NotificationMessage>
    </ns3:Notify>

Topic der anvendes: http://sundhedsdatastyrelsen.dk/PersonalDataCard/2020/11/01:DataCardUpdated

WSDL

WSDLen for SKR indeholder nedenstående operationer:

...

Hent stamkort for en specifik borger.

Info
Denne service er beregnet til kald fra Det Fælles Stamkort (FSK).
Andre anvendersystemer skal benytte FSK til hent af Stamkort.

...

UpdateContactInformation_2021_06_02

...

Opret midlertidig adresse for den pågældende borger

Info

Det har tidligere været muligt at oprette flere midlertidige adresser. Det er dog bestemt efter pilotafprøvningen, at dette ikke skal være muligt. Derfor har den nye udgave af WSDL fjernet denne mulighed, hvis man bruger en tidligere udgave af operationen,  så vil man få en SOAP-fejl, om at en en midlertidig adresse allerede findes.

...

Opret borgers sprog

Info

Det har tidligere været muligt at oprette flere sprog. Det er dog bestemt efter pilotafprøvningen, at dette ikke skal være muligt. Derfor har den nye udgave af WSDL fjernet denne mulighed, hvis man bruger en tidligere udgave af operationen,  så vil man få en SOAP-fejl, om at en et sprog allerede findes.

...

UpdateLanguage_2021_06_02

...

Opret en tandlæge for den pågældende borger

Info

Det har tidligere været muligt at oprette flere tandlæger til  en borger. Det er dog bestemt efter pilotafprøvningen, at dette ikke skal være muligt. Derfor har den nye udgave af WSDL fjernet denne mulighed, hvis man bruger en tidligere udgave af operationen,  så vil man få en SOAP-fejl, om at en en tandlæge allerede findes.

...

WSDL

WSDLen for SKR indeholder nedenstående operationer:

OperationBeskrivelse
GetPersonalDataCard_2021_06_02

Hent stamkort for en specifik borger.


Info
Denne service er beregnet til kald fra Det Fælles Stamkort (FSK).
Andre anvendersystemer skal benytte FSK til hent af Stamkort.

UpdateContactInformation_2021_06_02

Opdater en borgers kontaktoplysninger
CreateRelatives_2021_06_02Opret en pårørende
UpdateRelatives_2021_06_02Opdater en pårørendes stamdata
DeleteRelatives_2021_06_02Slet en pårørende
CreateTemporaryAddress_2021_06_02

Opret midlertidig adresse for den pågældende borger

Info

Det har tidligere været muligt at oprette flere midlertidige adresser. Det er dog bestemt efter pilotafprøvningen, at dette ikke skal være muligt. Derfor har den nye udgave af WSDL fjernet denne mulighed, hvis man bruger en tidligere udgave af operationen,  så vil man få en SOAP-fejl, om at en en midlertidig adresse allerede findes.

UpdateTemporaryAddress_2021_06_02Opdater midlertidig adresse
DeleteTemporaryAddress_2021_06_02Slet midlertidig adresse
CreateLanguage_2021_06_02

Opret borgers sprog

Info

Det har tidligere været muligt at oprette flere sprog. Det er dog bestemt efter pilotafprøvningen, at dette ikke skal være muligt. Derfor har den nye udgave af WSDL fjernet denne mulighed, hvis man bruger en tidligere udgave af operationen,  så vil man få en SOAP-fejl, om at en et sprog allerede findes.

UpdateLanguage_2021_06_02

Opdater borgers sprog
DeleteLanguage_2021_06_02Slet borgers sprog
CreateHealthProvider_2021_06_02

Opret en tandlæge for den pågældende borger

Info

Det har tidligere været muligt at oprette flere tandlæger til  en borger. Det er dog bestemt efter pilotafprøvningen, at dette ikke skal være muligt. Derfor har den nye udgave af WSDL fjernet denne mulighed, hvis man bruger en tidligere udgave af operationen,  så vil man få en SOAP-fejl, om at en en tandlæge allerede findes.

UpdateHealthProvider_2021_06_02Opdater tandlæge
DeleteHealthProvider_2021_06_02Slet en tandlæge
MigratePersonalDataCard_2021_04_08Migrering af data fra lokale fagsystemer til Fælles Stamkort


De enkelte operationer forklares i de følgende afsnit.

Serviceoperationer

Nedenfor beskrives de forskellige operationer i SKR servicen. For hver operation gives eksempler på request/response (for simpelhedens skyld uden DGWS/IDWS headers). Eksemplerne tjener dels til formål at give overblik over hvad der skal til for at bruge en operation, men demonstrerer samtidigt hvilke attributter der er krævet. Dvs. de forskellige requests angiver hvad der som minimum skal angives (dog ikke i situationer hvor der fx slettes to pårørende i samme request - ingen services kræver mere end én liste-indgang).

GetPersonalDataCard

Request

ElementBeskrivelseTypeOptionel
idSom attribut "extension" angives personens CPR-nummer (uden bindestreg)varchar(10)Nej

Response

ElementBeskrivelseTypeOptionel
realmCodeKrævet pr. standard, fast værdi--
typeIdKrævet pr. standard, fast værdi--
templateIdKrævet pr. standard, fast værdi--
idKrævet pr. standard, fast værdi--
codeKrævet pr. standard, fast værdi--
titleKrævet pr. standard, fast værdi--
effectiveTimeTidspunkt for generering af svar

confidentialityCodeKrævet pr. standard, fast værdi--
languageCodeKrævet pr. standard, fast værdi--
versionNumberStamkortets versionsnummerint(11)Nej
recordTarget.patientRole.idBorgerens CPR-nr i "extension"-attributint(10)Nej
author.timeDato/tid. Format: yyyyMMddHHmmssZ, fx. 20171024143445+0200varchar(19)Ja (2)
author.assignedAuthor.assignedPerson.name.givenSeneste stamkort-modifikator, fornavnvarchar(80)Ja (1)
author.assignedAuthor.assignedPerson.name.familySeneste stamkort-modifikator, efternavnvarchar(80)

Ja (1)
custodian.assignedCustodian.representedCustodianOrganization.idKrævet pr. standard, fast værdi--
Nedenstående elementer hører alle under component.structuredBody.component.section.entry.relatedPerson:
idPårørendes id (UUID). Skal benyttes som nøgle ifm. UpdateRelatives/DeleteRelativesvarchar(36)Nej
associatedEntity.addrSe tabel længere nede (delt struktur)-Ja
associatedEntity.telecom0-3 forekomster med attribut use=H/MC/WP (H=home, MC=mobile contact, WP=work place). Telefonnummer angives i attributten "value" med præfix "tel:", fx value="tel:01123622"varchar(45)

Ja

(fra release 1.0.5)

associatedEntity.associatedPerson.name.givenPårørendes for- og mellemnavnvarchar(80)Nej
associatedEntity.associatedPerson.name.familyPårørendes efternavnvarchar(80)

Ja

(fra release 1.0.5)

relationshipTypePårørendes type (en af følgende MedCom-typer: uspec_paaroerende, barn, aegtefaelle, forælder, barnebarn, svigerbarn, ingen_relationer, nabo, samboende, registreret_partner, søskende, øvrig_familie)<relationshipType code=MecomType codeSystem="1.2.208.184.15.4"
displayName=MecomType />
Ja
noteFritekstbeskrivelse af den pårørendes rolle i forhold til borgeren, hvilke opgaver personen kan være behjælpelig med osv.varchar(1000)Ja
dataEntererSe tabel længere nede (delt struktur)-Nej
Nedenstående elementer hører alle under component.structuredBody.component.section.entry.temporaryAddress:
idMidlertidig adresses id (UUID). Skal benyttes som nøgle ifm. UpdateTemporaryAddress/DeleteTemporaryAddressvarchar(36)Nej
addrSe tabel længere nede (delt struktur)-Nej
dataEntererSe tabel længere nede (delt struktur)-Nej

...

Serviceoperationer

Nedenfor beskrives de forskellige operationer i SKR servicen. For hver operation gives eksempler på request/response (for simpelhedens skyld uden DGWS/IDWS headers). Eksemplerne tjener dels til formål at give overblik over hvad der skal til for at bruge en operation, men demonstrerer samtidigt hvilke attributter der er krævet. Dvs. de forskellige requests angiver hvad der som minimum skal angives (dog ikke i situationer hvor der fx slettes to pårørende i samme request - ingen services kræver mere end én liste-indgang).

GetPersonalDataCard

Request

...

Response

varchar(80)
ElementBeskrivelseTypeOptionel
realmCodeKrævet pr. standard, fast værdi--
typeIdKrævet pr. standard, fast værdi--
templateIdKrævet pr. standard, fast værdi--
idKrævet pr. standard, fast værdi--
codeKrævet pr. standard, fast værdi--
titleKrævet pr. standard, fast værdi--
effectiveTimeTidspunkt for generering af svar
confidentialityCodeKrævet pr. standard, fast værdi--
languageCodeKrævet pr. standard, fast værdi--
versionNumberStamkortets versionsnummerint(11)Nej
recordTarget.patientRole.idBorgerens CPR-nr i "extension"-attributint(10)Nej
author.timeDato/tid. Format: yyyyMMddHHmmssZ, fx. 20171024143445+0200varchar(19)Ja (2)
author.assignedAuthor.assignedPerson.name.givenSeneste stamkort-modifikator, fornavnvarchar(80)Ja (1)
author.assignedAuthor.assignedPerson.name.familySeneste stamkort-modifikator, efternavnJa (1)custodian.assignedCustodian.representedCustodianOrganization.idKrævet pr. standard, fast værdi--
Nedenstående elementer hører alle under component.structuredBody.component.section.entry.relatedPersonlanguage:
idPårørendes Sprog id (UUID). Skal benyttes som nøgle ifm. UpdateRelativesUpdateLanguage/DeleteRelativesDeleteLanguagevarchar(36)Nej
associatedEntity.addrSe tabel længere nede (delt struktur)-Ja
languageCodeSprogkode (kan være tom for fx spædbørn, borgere uden taleevne mm). Format: ISO-639-1char(2)Ja
dataEntererSe tabel længere nede (delt struktur)-Nej
Nedenstående elementer hører alle under component.structuredBody.component.section.entry.healthProvider:
idTandlæges id (UUID). Skal benyttes som nøgle ifm. UpdateHealthProvider/DeleteHealthProvidervarchar(36)Nej
providerTypeIndeholder sundhedspersonens type. Pt. altid code/displayName=tandlæge.-Nej
organizationSe tabel længere nede (delt struktur)-Ja
dataEntererSe tabel længere nede (delt struktur)-Nej
Nedenstående elementer hører alle under component.structuredBody.component.section.entry.patientContact:
associatedEntity.telecom0-3 forekomster med attribut use=H/MCMP/WP (H=home, MCMP=mobile contactphone, WP=work place). Telefonnummer angives i attributten "value" med præfix "tel:", fx value="tel:01123622"varchar(45)Ja

(fra release 1.0.5)

associatedEntity.associatedPerson.name.givenPårørendes for- og mellemnavnvarchar(80)Nej
associatedEntity.associatedPerson.name.familyPårørendes efternavnvarchar(80)

Ja

(fra release 1.0.5)

relationshipTypePårørendes type (en af følgende MedCom-typer: uspec_paaroerende, barn, aegtefaelle, forælder, barnebarn, svigerbarn, ingen_relationer, nabo, samboende, registreret_partner, søskende, øvrig_familie)<relationshipType code=MecomType codeSystem="1.2.208.184.15.4"
displayName=MecomType />
Ja
noteFritekstbeskrivelse af den pårørendes rolle i forhold til borgeren, hvilke opgaver personen kan være behjælpelig med osv.varchar(1000)Ja
dataEntererSe tabel længere nede (delt struktur)-Nej
Nedenstående elementer hører alle under component.structuredBody.component.section.entry.temporaryAddress:
idMidlertidig adresses id (UUID). Skal benyttes som nøgle ifm. UpdateTemporaryAddress/DeleteTemporaryAddressvarchar(36)Nej
addrSe tabel længere nede (delt struktur)-Nej
dataEntererSe tabel længere nede (delt struktur)-Nej
Nedenstående elementer hører alle under component.structuredBody.component.section.entry.language:
idSprog id (UUID). Skal benyttes som nøgle ifm. UpdateLanguage/DeleteLanguagevarchar(36)Nej
languageCodeSprogkode (kan være tom for fx spædbørn, borgere uden taleevne mm). Format: ISO-639-1char(2)Ja
dataEntererSe tabel længere nede (delt struktur)-Nej
Nedenstående elementer hører alle under component.structuredBody.component.section.entry.healthProvider:
idTandlæges id (UUID). Skal benyttes som nøgle ifm. UpdateHealthProvider/DeleteHealthProvidervarchar(36)Nej
providerTypeIndeholder sundhedspersonens type. Pt. altid code/displayName=tandlæge.-Nej
organizationSe tabel længere nede (delt struktur)-Ja
dataEntererSe tabel længere nede (delt struktur)-Nej
Nedenstående elementer hører alle under component.structuredBody.component.section.entry.patientContact:
telecom0-3 forekomster med attribut use=H/MP/WP (H=home, MP=mobile phone, WP=work place). Telefonnummer angives i attributten "value" med præfix "tel:", fx value="tel:01123622"varchar(45)Ja
dataEntererSe tabel længere nede (delt struktur)-Nej

(1): Mangler kun hvis der ikke findes et stamkort

(2): Mangler kun såfremt kald til CPR-enkeltopslag (SCES) fejler

I situationer hvor der endnu ikke er oprettet et stamkort, vil svaret være uden "structuredBody", men stadig med CPR-data i headeren.

Hvis der skulle opstå en teknisk fejl ifm. kommunikationen med CPR, vil svaret kun indeholde udvalgte attributter.

Request-eksempel:

Code Block
languagexml
titleGetPersonalDataCard request
collapsetrue
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
                  xmlns:ns="http://sundhedsdatastyrelsen.dk/skr/2021/06/02">
    <soapenv:Header/>
    <soapenv:Body>
        <ns:GetPersonalDataCardRequest>
            <id assigningAuthorityName="CPR" extension="0309691444" root="1.2.208.176.1.2"/>
        </ns:GetPersonalDataCardRequest>
    </soapenv:Body>
</soapenv:Envelope>
  

Response-eksempel:

dataEntererSe tabel længere nede (delt struktur)-Nej

(1): Mangler kun hvis der ikke findes et stamkort

(2): Mangler kun såfremt kald til CPR-enkeltopslag (SCES) fejler

I situationer hvor der endnu ikke er oprettet et stamkort, vil svaret være uden "structuredBody", men stadig med CPR-data i headeren.

Hvis der skulle opstå en teknisk fejl ifm. kommunikationen med CPR, vil svaret kun indeholde udvalgte attributter.

Request-eksempel:

Code Block
languagexml
titleGetPersonalDataCard request
collapsetrue
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
                  xmlns:ns="http://sundhedsdatastyrelsen.dk/skr/2021/06/02">
    <soapenv:Header/>
    <soapenv:Body>
        <ns:GetPersonalDataCardRequest>
            <id assigningAuthorityName="CPR" extension="0309691444" root="1.2.208.176.1.2"/>
        </ns:GetPersonalDataCardRequest>
    </soapenv:Body>
</soapenv:Envelope>
  


Response-eksempel:

Code Block
languagexml
titleGetPersonalDataCard response
collapsetrue
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/">
  <SOAP-ENV:Header/>
  <SOAP-ENV:Body>
	<ns6:GetPersonalDataCardResponse xmlns:ns2="urn:hl7-org:v3" xmlns:ns3="urn:hl7-org:sdtc" xmlns:ns4="urn:hl7-org:fsk" xmlns:ns6="http://sundhedsdatastyrelsen.dk/skr/2021/06/02">
	  <ClinicalDocument classCode="DOCCLIN" moodCode="EVN">
		<ns2:realmCode code="DK"/>
		<ns2:typeId extension="POCD_HD000040" root="2.16.840.1.113883.1.3"/>
		<ns2:templateId root="1.2.208.184.15.1"/>
		<ns2:id assigningAuthorityName="MedCom" extension="NA" root="1.2.208.184"/>
		<ns2:code code="NA" codeSystem="1.2.208.184.15.1" displayName="Stamkort"/>
		<ns2:title>Det Fælles StamKort</ns2:title>
		<ns2:effectiveTime value="20211109105024+0100"/>
		<ns2:confidentialityCode code="N" codeSystem="2.16.840.1.113883.5.25"/>
		<ns2:languageCode code="da-DK"/>
		<ns2:versionNumber value="186"/>
		<ns2:recordTarget contextControlCode="OP" typeCode="RCT">
		  <ns2:patientRole classCode="PAT" nullFlavor="NA">
			<ns2:id assigningAuthorityName="CPR" extension="0309691444" root="1.2.208.176.1.2"/>
		  </ns2:patientRole>
		</ns2:recordTarget>
		<ns2:author>
		  <ns2:time value="20211109105023+0100"/>
		  <ns2:assignedAuthor>
			<ns2:id assigningAuthorityName="CPR" extension="ANONYM
Code Block
languagexml
titleGetPersonalDataCard response
collapsetrue
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/">
  <SOAP-ENV:Header/>
  <SOAP-ENV:Body>
	<ns6:GetPersonalDataCardResponse xmlns:ns2="urn:hl7-org:v3" xmlns:ns3="urn:hl7-org:sdtc" xmlns:ns4="urn:hl7-org:fsk" xmlns:ns6="http://sundhedsdatastyrelsen.dk/skr/2021/06/02">
	  <ClinicalDocument classCode="DOCCLIN" moodCode="EVN">
		<ns2:realmCode code="DK"/>
		<ns2:typeId extension="POCD_HD000040" root="2.16.840.1.113883.1.3"/>
		<ns2:templateId root="1.2.208.184.15.1"/>
		<ns2:id assigningAuthorityName="MedCom" extension="NA" root="1.2.208.176.1.1842"/>
			<ns2:code code="NA" codeSystem="1.2.208.184.15.1" displayName="Stamkort"/>
		<ns2:title>Det Fælles StamKort</ns2:title>
		<ns2:effectiveTime value="20211109105024+0100"/>
		<ns2:confidentialityCode code="N" codeSystem="2.16.840.1.113883.5.25"/>
		<ns2:languageCode code="da-DK"/>
		<ns2:versionNumber value="186"/>
		<ns2:recordTarget contextControlCode="OP" typeCode="RCT">assignedPerson>
			  <ns2:name>
				<ns2:given>Anders</ns2:given>
				<ns2:family>Andersen</ns2:family>
			  </ns2:name>
			</ns2:assignedPerson>
		  </ns2:assignedAuthor>
		</ns2:author>
		<ns2:custodian>
		  <ns2:patientRole classCode="PAT" nullFlavor="NA">assignedCustodian>
			<ns2:id assigningAuthorityName="CPR" extension="0309691444"representedCustodianOrganization>
			  <ns2:id root="1.2.208.176.1.2NA"/>
		  	</ns2:patientRole>representedCustodianOrganization>
		  </ns2:recordTarget>assignedCustodian>
		<ns2</ns2:author>custodian>
		  <ns2:time value="20211109105023+0100"/>component>
		  <ns2:assignedAuthor>structuredBody>
			<ns2:id assigningAuthorityName="CPR" extension="ANONYM" root="1.2.208.176.1.2"/>component>
			<ns2:assignedPerson>
			  <ns2:name>section>
				<ns2:given>Anders<text>FSK</ns2:given>text>
				<ns2:family>Andersen</ns2:family>
			  </ns2:name>
			</ns2:assignedPerson>
		  </ns2:assignedAuthor>
		</ns2:author>
		<ns2:custodian>
		  <ns2:assignedCustodian>
			<ns2:representedCustodianOrganization>
			  <ns2:id root="NA"/>
			</ns2:representedCustodianOrganization>
		  </ns2:assignedCustodian>
		</ns2:custodian>
		<ns2:component>
		  <ns2:structuredBody>
			<ns2:component>
			  <ns2:section>
				<ns2:text>FSK</ns2:text>
				<ns2:entry>
				  entry>
				  <ns4:relatedPerson>
					<ns4:id extension="f4ea9b0a-21d2-45b6-9ab3-bfb2f4d777ec" root="1.2.208.184.15.3"/>
					<ns4:associatedEntity classCode="CON">
					  <ns2:addr isNotOrdered="false" use="H">
						<ns2:streetAddressLine>Trifork</ns2:streetAddressLine>
						<ns2:streetAddressLine>Europaplads 2</ns2:streetAddressLine>
						<ns2:postalCode>8000</ns2:postalCode>
						<ns2:city>Aarhus</ns2:city>
						<ns2:country>Denmark</ns2:country>
					  </ns2:addr>
					  <ns2:telecom use="H" value="tel:86111213"/>
					  <ns2:telecom use="MC" value="tel:25111213"/>
					  <ns2:telecom use="WP" value="tel:70111213"/>
					  <ns2:associatedPerson>
						<ns2:name>
						  <ns2:given>Chris</ns2:given>
						  <ns2:family>Green</ns2:family>
						</ns2:name>
					  </ns2:associatedPerson>
					</ns4:associatedEntity>
					<ns4:relationshipType code="barn" codeSystem="1.2.208.184.15.4" displayName="Barn"/>
					<ns4:note>54b0554f-2ac1-4140-a66f-5c692f2eeb5f Kan være behjælpelig med kørsel udenfor arbejdstiden</ns4:note>
					<ns4:dataEnterer>
					  <ns2:time value="20211109105021+0100"/>
					  <ns2:assignedAuthor>
						<ns2:id assigningAuthorityName="CPR" extension="ANONYM" root="1.2.208.176.1.2"/>
						<ns2:assignedPerson>
						  <ns2:name>
							<ns2:given>Anders</ns2:given>
							<ns2:family>Andersen</ns2:family>
						  </ns2:name>
						</ns2:assignedPerson>
					  </ns2:assignedAuthor>
					</ns4:dataEnterer>
				  </ns4:relatedPerson>
				</ns2:entry>
				<ns2:entry>
				  <ns4:patientContact>
					<ns4:telecom use="H" value="tel:536f08a1-cf84-4c8c-9266-03c9a687a1ce"/>
					<ns4:telecom use="MC" value="tel:25111213"/>
					<ns4:telecom use="WP" value="tel:25111214"/>
					<ns4:dataEnterer>
					  <ns2:time value="20211109104421+0100"/>
					  <ns2:assignedAuthor>
						<ns2:id assigningAuthorityName="CPR" extension="ANONYM" root="1.2.208.176.1.2"/>
						<ns2:assignedPerson>
						  <ns2:name>
							<ns2:given>Anders</ns2:given>
							<ns2:family>Andersen</ns2:family>
						  </ns2:name>
						</ns2:assignedPerson>
					  </ns2:assignedAuthor>
					</ns4:dataEnterer>
				  </ns4:patientContact>
				</ns2:entry>
			  </ns2:section>
			</ns2:component>
		  </ns2:structuredBody>
		</ns2:component>
	  </ClinicalDocument>
	</ns6:GetPersonalDataCardResponse>
  </SOAP-ENV:Body>
</SOAP-ENV:Envelope>

...

Code Block
languagexml
titleDeleteHealthProvider request
collapsetrue
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
                                  xmlns:ns="http://sundhedsdatastyrelsen.dk/skr/2021/06/02"
                                  xmlns:urn="urn:hl7-org:v3" >
        <soapenv:Header/>
        <soapenv:Body>
                <ns:DeleteHealthProviderRequest>
                        <id assigningAuthorityName="CPR" extension="2512484916" root="1.2.208.176.1.2"/>
                        <healthProviderId assigningAuthorityName="FSK" extension="HEALTH_PROVIDER_ID" root="1.2.208.184.15.13"/>
                        <dataEnterer>
                                <urn:time value="20170921094500+0100"/>
                                <urn:assignedAuthor>
                                        <urn:id assigningAuthorityName="CPR" extension="0501792275" root="1.2.208.176.1.2"/>
                                        <urn:assignedPerson>
                                                <urn:name>
                                                        <urn:given>Anders</urn:given>
                                                        <urn:family>Andersen</urn:family>
                                                </urn:name>
                                        </urn:assignedPerson>
                                </urn:assignedAuthor>
                        </dataEnterer>
                </ns:DeleteHealthProviderRequest>
        </soapenv:Body>
</soapenv:Envelope>

Response-eksempel (indeholder ingen data):

Code Block
languagexml
titleDeleteHealthProvider response
collapsetrue
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/">
    <SOAP-ENV:Header/>
    <SOAP-ENV:Body>
        <ns2:DeleteHealthProviderResponse xmlns:ns2="http://sundhedsdatastyrelsen.dk/skr/2021/06/02"/>
    </SOAP-ENV:Body>
</SOAP-ENV:Envelope>

Addr

Bemærk at der på en "addr"-struktur skal anvendes attribut isNotOrdered="false", da funktionalitet afhænger af en bestemt rækkefølge af streetAddressLine.

...

1 eller 2 forekomster. 1 til at indikere en periode gældende fra et givet tidpunkt og fremad, eller 2 til at angive et datointerval, f.eks. således (værdien operator="I" betyder "intersection"):

<cda:useablePeriod value="20140106" operator="I"/>
<cda:useablePeriod value="20250106" operator="I"/>

Format for value-attributten er yyyyMMdd

Info

Bemærk at Addr er en delt adresse struktur som benyttes af flere elementer, for midlertidig adresse "temporaryAddress" er useable period ikke optionel - der er det påkrævet at der sættes en start og en slutdato således adressen er gældende for en periode.

(Fra release 1.0.5 gøres slutdato'en optionel)

...

Envelope>


Response-eksempel (indeholder ingen data):

Code Block
languagexml
titleDeleteHealthProvider response
collapsetrue
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/">
    <SOAP-ENV:Header/>
    <SOAP-ENV:Body>
        <ns2:DeleteHealthProviderResponse xmlns:ns2="http://sundhedsdatastyrelsen.dk/skr/2021/06/02"/>
    </SOAP-ENV:Body>
</SOAP-ENV:Envelope>


Addr

Bemærk at der på en "addr"-struktur skal anvendes attribut isNotOrdered="false", da funktionalitet afhænger af en bestemt rækkefølge af streetAddressLine.

ElementBeskrivelseTypeOptionel
streetAddressLineAdresselinje, 0-4 forekomstervarchar(80)Ja
postalCodePostnummervarchar(10)Ja
cityByvarchar(80)Ja
countryLandvarchar(80)Ja
useablePeriod

1 eller 2 forekomster. 1 til at indikere en periode gældende fra et givet tidpunkt og fremad, eller 2 til at angive et datointerval, f.eks. således (værdien operator="I" betyder "intersection"):

<cda:useablePeriod value="20140106" operator="I"/>
<cda:useablePeriod value="20250106" operator="I"/>

Format for value-attributten er yyyyMMdd

Info

Bemærk at Addr er en delt adresse struktur som benyttes af flere elementer, for midlertidig adresse "temporaryAddress" er useable period ikke optionel - der er det påkrævet at der sættes en start og en slutdato således adressen er gældende for en periode.

(Fra release 1.0.5 gøres slutdato'en optionel)

varchar(8) for value-attributJa (men ikke for temporayAdress)

Organization

Organisation anvendes til at beskrive navn, adresse mv. for en tandlæge

ElementBeskrivelseTypeOptionel
idSom attribut "extension" angives organisationens ydernummervarchar(80)Ja
nameNavn på organisationenvarchar(120)Ja
telecom

Telefonnummer på organisationen

Attribut use=WP (WP=work place). Telefonnummer angives i attributten "value" med præfix "tel:", fx value="tel:01123622"

varchar(45)Ja
addr.streetAddressLineAdresselinje. Der kan forekomme op til 4 linjer i en adressevarchar(80)Ja
addr.postalCodePostnummervarchar(80)Ja
addr.cityBynavnvarchar(80)Ja
addr.countryLandvarchar(80)Ja

DataEnterer

Den generelle dataEnterer-struktur der anvendes på diverse request, samt på relatedPerson, temporaryAddress og language, ser ud som følger (organisationsoplysninger skal angives hvis der er tale om en sundhedsperson):

ElementBeskrivelseTypeOptionel
timeTidspunkt for opdatering. Format: yyyyMMddHHmmssZ, fx. 20171024143445+0200varchar(19)Nej
assignedAuthor.idEn eller flere forekomster med værdi i attribut "extension" og type (fx CPR/AUTORISATION/UDDANNELSESKODE) i attribut "assigningAuthorityName". Ved responses forekommer kun ét element, hvor assigningAuthorityName="CPR" og extension="ANONYM" for at skjule følsomme oplysninger om eksempelvis sundhedsfaglige.

extension varchar(10), assigningAuthorityName varchar(30)

Nej
assignedAuthor.assigningPerson.name.givenFor- og mellemnavn på person bag opdateringvarchar(80)Nej
assignedAuthor.assigningPerson.name.familyEfternavn på person bag opdateringvarchar(80)Nej
assignedAuthor.representedOrganization.idOrganisations id, såfremt der er tale om en sundhedsperson. Værdi findes i attribut "extension", type i attribut "assigningAuthorityName"extension varchar(80), assigningAuthorityName varchar(30)Ja
assignedAuthor.representedOrganization.nameOrganisations navnvarchar(30)Ja

Migreringssnitflade

Der er lavet en midlertidig migregingsnitflade der kan benyttes til migrerering af lokale stamkort.

De gennerelle beskrivelser under afsnittet om snitfladen til normalt brug er og så gældende her. I dette afsnit beskrives kun det der specielt for migreringssnitfladen.

Til migreringssnitfladen er der følgende wsdl fil.

WSDL-filer
Stamkortregister DGWS<server>/skr/wsdl/dgws20210408

MigratePersonalDataCard

Request-eksempel: Migrate_request.xml

ElementBeskrivelseTypeOptionel
idSom attribut "extension" angives personens CPR-nummer (uden bindestreg)varchar(10)Nej
contactInformation0-3 forekomster med attribut use=H/MP/WP (H=home, MP=mobile phone, WP=work place). Telefonnummer angives i attributten "value" med præfix "tel:", fx value="tel:01123622"varchar(45)Ja
relatedPersonsListe-struktur tilsvarende relatedPerson i GetPersonalDataCard response-Ja
temporaryAddressDen midlertidige adresse der skal oprettes. Indeholder addr-struktur, som beskrevet længere nede-Ja
languageSprogkode. Format: ISO-639-1char(2)Ja
dataEntererMigrationSystemet der migrerer stamkort. Se tabel længere nede (delt struktur)-Nej

Fejl situatuioner i forbindelse med MigratePersonalDataCard

Udover xml valideringsfejl og interne fejl kan migrerings snitflade returnerer følgende fejlkoder. 

Fejl fordi stamkort i skr er verificeret af borgeren. Fejlkode 800

I denne situation har borgeren allerede verificere stamkortet i skr.

Der forsøges migrering af sprog, men da borgeren allerede har verificeret stamkortet fejles med fejlkode 800. 

Request-eksempel: FailVerifiedLanguageExist_request.xml

Code Block
titleResponse body
<SOAP-ENV:Body>
  <SOAP-ENV:Fault>
	<faultcode>SOAP-ENV:Server</faultcode>
	<faultstring xml:lang="en">800: Fejl i request i forbindelse med migrering af stamkort, Fælles Stamkort er verificeret af borgeren</faultstring>
  </SOAP-ENV:Fault>
</SOAP-ENV:Body>

Fejl fordi stamkort i skr allerede indeholder telefonnummer af samme type. Fejlkode 810

I denne situation har stakmkortet i skr allerede et arbejdstelefonnummer.

Der forsøges migrering af arbejdstelefonnummer.

Request-eksempel:  FailWorkPhoneExist_request.xml

Code Block
titleResponse body
<SOAP-ENV:Body>
  <SOAP-ENV:Fault>
	<faultcode>SOAP-ENV:Server</faultcode>
	<faultstring xml:lang="en">810: Fejl i request i forbindelse med migrering af stamkort, Der eksisterer et telefonnummer af type arbejde i forvejen</faultstring>
  </SOAP-ENV:Fault>
</SOAP-ENV:Body>

Fejl fordi stamkort i skr allerede indeholder sprog.  Fejlkode 820

I denne situation indeholder stakmkortet i skr borgerens sprog.

Der forsøges migrering af sprog.

Request-eksempel: FailLanguageExist_request.xml

Code Block
titleResponse body
<SOAP-ENV:Body>
  <SOAP-ENV:Fault>
	<faultcode>SOAP-ENV:Server</faultcode>
	<faultstring xml:lang="en">820: Fejl i request i forbindelse med migrering af stamkort, Borgerens sprog eksisterer i forvejen</faultstring>
  </SOAP-ENV:Fault>
</SOAP-ENV:Body>

Fejl fordi stamkort i skr allerede indeholder midlertidig adresse.  Fejlkode 830

I denne situation indeholder stakmkortet i skr en midlertidig adresse på borgeren.

Der forsøges migrering af midlertidig adresse.

Request-eksempel: FailTemporaryAddressExist_request.xml

Code Block
titleResponse body
<SOAP-ENV:Body>
  <SOAP-ENV:Fault>
	<faultcode>SOAP-ENV:Server</faultcode>
	<faultstring xml:lang="en">830: Fejl i request i forbindelse med migrering af stamkort, Borgerens midlertidige adresse eksisterer i forvejen</faultstring>
  </SOAP-ENV:Fault>
</SOAP-ENV:Body>

DataEntererMigration

Den generelle dataEnterer-struktur der anvendes på Migrations requestet,  ser ud som følger, da det er en systembruger der benyttes ved migrationssnitfladen skal organisationsoplysninger angives

Organization

Organisation anvendes til at beskrive navn, adresse mv. for en tandlæge

...

Telefonnummer på organisationen

Attribut use=WP (WP=work place). Telefonnummer angives i attributten "value" med præfix "tel:", fx value="tel:01123622"

...

DataEnterer

Den generelle dataEnterer-struktur der anvendes på diverse request, samt på relatedPerson, temporaryAddress og language, ser ud som følger (organisationsoplysninger skal angives hvis der er tale om en sundhedsperson):

ElementBeskrivelseTypeOptionel
timeTidspunkt for opdatering. Format: yyyyMMddHHmmssZ, fx. 20171024143445+0200varchar(19)Nej
assignedAuthor
assignedEntity.idEn eller flere forekomster med værdi i attribut "extension" og type
(fx CPR/AUTORISATION/UDDANNELSESKODE)
SOR i attribut "assigningAuthorityName". Ved responses forekommer kun ét element, hvor assigningAuthorityName="CPR" og extension="ANONYM" for at skjule følsomme oplysninger om eksempelvis sundhedsfaglige.extension varchar(
10
80), assigningAuthorityName varchar(30)Nej
assignedAuthor.assigningPerson.name.givenFor- og mellemnavn på person bag opdatering
assignedEntity.addr.streetAddressLineAdresselinje. Der kan forekomme op til 4 linjer i en adressevarchar(80)ja
assignedEntity.addr.postalCodePostnummervarchar(80)
Nej
ja
assignedAuthor.assigningPerson.name.familyEfternavn på person bag opdatering
assignedEntity.addr.cityBynavnvarchar(80)ja
assignedEntity.addr.countryLandvarchar(80)
Nej
ja
assignedAuthor
assignedEntity.representedOrganization.id
Organisations
 Organisations id, såfremt der er tale om en sundhedsperson. Værdi findes i attribut "extension", type i attribut "assigningAuthorityName"extension varchar(80), assigningAuthorityName varchar(30)
JaassignedAuthor.representedOrganization.nameOrganisations navnvarchar(30)Ja
ja

Ældre snitflader

Der har tidligere været føldende snitflader. Disse bør ikke benyttes længere da de vil blive udfaset. Da disse kun har historisk værdi beskrives de ikke yderligere i dette dokument.

...