Overblik

Stamkortregistret (SKR) er en service med operationer til registrering og udstilling af stamdata for borgere. Dette inkluderer pårørende, midlertidige adresser, sprog mm. Servicen beskrives i det følgende, som forudsætter kendskab til HL7 CDA og webservices.

Ændringslog

VersionDatoÆndringAnsvarlig

2018-08-31Initialt dokumentTrifork

2018-09-13Tilføjet manglende beskrivelse af ID-attribut for Language-struktur (UUID).
Beskrivelse af, at Stamkort hentes via Det Fælles Stamkort
Trifork

2018-09-19Rettet et forkert link til CreateTemporaryAddress request eksempel.Trifork

2018-10-09Tilføjet og updateres create requests eksempler med id (Uuid)Trifork

2018-10-11

Præcisering omkring antal midlertidige adresser, så der altid kun er én

SDS

2018-11-29

Tilrettet, således at fornavn og efternavn på pårørende er påkrævede.

(Der er bestilt en ændring, således efternavn gøres optionelt)

SDS

2019-01-04

Tilrettet således pårørendes telefonnummer, efternavn gøres optionel

Slut-dato på midlertidig adresse gøres optionel

SDS
1.0.112019-08-02Opdateret beskrivelse af snitflade til 2019/08/01-snitfladenTrifork
1.0.172020-08-05Opdateret beskrivelse af snitflade til 2020/07/28-snitfladenKvalitetsit
1.0.182021-04-27Ny migreringssnitfladeKvalitetsit
1.0.192021-06-08navne skift i snitflade fra fsk til skrKvalitetsit
1.0.212021-09-02Præcisering af URL til wsproxyKvalitetsIT
1.0.222021-11-02Præcisering af snitfladerKvalitetsIT
1.0.242022-04-27Dokumentation af valideringsbeskeder tilføjetKvalitetsIT
1.0.252023-06-15SDS-6305: Sproglig ajourføringKvalitetsIT

Indhold

HL7 CDA

Modellen der anvendes til at repræsentere stamdata er HL7 CDA (se evt. http://www.hl7.org/implement/standards/product_brief.cfm?product_id=7), som er en XML-baseret standard til repræsentation af kliniske data. HL7 CDA er et begrebsapparat, som kan repræsentere en enorm mængde af forskelligartede data, hvoraf kun en lille delmængde anvendes i SKR. Det anbefales derfor at studere eksemplerne der refereres her på siden frem for modellen der defineres af HL7 CDA, da de giver et mere præcist billede af hvilke data der kræves og returneres af de forskellige operationer. CDA-terminologien gør, at man kan kvalificere de forskellige begreber gennem attributter (fx at en adresse er en hjemmeadresse ved at angive use="H"), og derfor sker der validering i SKR af, at disse attributter anvendes korrekt, så der ikke er tvivl om hvordan data skal fortolkes. Dvs. i praksis sker der en strengere validering end WSDL og XSDer dikterer.

Et stamkort består kort fortalt af borgerens navn- og adresseoplysninger samt et antal pårørende (med tilhørende kontakt- og fritekstoplysninger), evt. midlertidig(e) adresse(r), og borgerens sprog. SKR indeholder operationer til vedligehold af disse data. Der sker registrering af, hvem der opdaterer de forskellige elementer af borgerens stamkort, og disse oplysninger udstilles på stamkortet.

Begreber

Et stamkort repræsenteres som et "ClinicalDocument", som er grundpillen i CDA. Ifm. SKR er der lavet en extension til CDA, som gør det muligt at repræsentere pårørende, midlertidige adresser, sprog mv. som entry-typer i dokumentets "structuredBody". Nedenfor ses ClinicalDocument-strukturen som det benyttes i SKR:

Selve dokumentets "header" indeholder (udover personen der senest har opdateret stamkortet) de statiske data, som trækkes fra CPR-registeret, og ikke kan opdateres gennem SKRs operationer. De egentlige stamkort-data ligger under "StructuredBody", som indeholder en liste en "entry"-sektioner. Disse kan i SKR-sammenhæng have indhold af typen relatedPerson, temporaryAddress, language og healthprovider. De to førstnævnte har sin egen id, som skal benyttes hvis man ønsker at slette eller opdatere entiteten via de relevante operationer. Hvis man fx ønsker at opdatere stamdata på en pårørende (RelatedPerson), så skal man bruge id'et man finder på vedkommende i "GetPersonalDataCard" til det request man sender til "UpdateRelatives"-operationen. Tilsvarende for midlertidige adresser.

Ifm. HL7 CDA er der defineret en række "OIDer", som hver især definerer et udfaldsrum for forskellige id/kode-typer. Meningen er, at der til et id (på fx en person, altså CPR-nummer) defineres et OID, som kan betragtes som en type-erklæring. For SKR er følgende OIDer aktuelle:

TypeOIDBeskrivelseEksempel
Patientkontakt1.3.6.1.4.1.19376.1.5.3.1.2.4Template-id på participant (se evt. https://wiki.ihe.net/index.php/1.3.6.1.4.1.19376.1.5.3.1.2.4)

<ns2:participant typeCode="IND">

<ns2:templateId root="1.3.6.1.4.1.19376.1.5.3.1.2.4"/>

SOR1.2.208.176.1.1Type af organisations-ID baseret på SOR.

<id extension="368061000016003" root="1.2.208.176.1.1" assigningAuthorityName="SOR"/>

SKS2.16.840.1.113883.3.4208.100.5Type af organisations-ID baseret på SKS.<id extension="368061000016003" root="2.16.840.1.113883.3.4208.100.5" assigningAuthorityName="SKS"/>
CVR-P1.2.208.184.15.9*Type af organisations-ID baseret på CVR-P.<id extension="368061000016003" root="1.2.208.184.15.9" assigningAuthorityName="CVR-P"/>
CVR1.2.208.184.15.10*Type af organisations-ID baseret på CVR.<id extension="368061000016003" root="1.2.208.184.15.10" assigningAuthorityName="CVR"/>
Ydernummer1.2.208.184.15.8*Type af organisations-ID baseret på Ydernummer.<id extension="368061000016003" root="1.2.208.184.15.8" assigningAuthorityName="Yder"/>
Kommunekode1.2.208.184.15.11*Type af organisations-ID baseret på Kommunekode.<id extension="3680610000" root="1.2.208.184.15.11" assigningAuthorityName="Kommunekode"/>
CPR1.2.208.176.1.2CPR-nummer

<id extension="2512489996" root="1.2.208.176.1.2" assigningAuthorityName="CPR"/>

DK MedCom (member body)1.2.208.184Id på ClinicalDocument. Ikke aktual ifm. SKR (extension=NA)

<ns2:id assigningAuthorityName="MedCom" extension="NA" root="1.2.208.184"/>

Fortrolighed2.16.840.1.113883.5.25Altid N=Normal ifm. SKR

<ns2:confidentialityCode code="N" codeSystem="2.16.840.1.113883.5.25"/>

ISO-angivelse af sprog1.0.639.1ISO-639-1 formatteret sprog<ns4:languageCode codeSystem="1.0.639.1">de</ns4:languageCode>
ISO-angivelse af køn2.16.840.1.113883.5.1En borgers køn (M/F)

<ns2:administrativeGenderCode code="F" codeSystem="2.16.840.1.113883.5.1"/>

Dokument type-id2.16.840.1.113883.1.3HL7-registreret RMIM (HL7 internal)

<ns2:typeId extension="POCD_HD000040" root="2.16.840.1.113883.1.3"/>

Stamkode code system1.2.208.184.15.1*Kodesystem, ikke aktuel ifm. SKR (code=NA)

<ns2:code code="NA" codeSystem="1.2.208.184.15.1" displayName="Stamkort"/>

Midlertidig adresse1.2.208.184.15.2*IDer (UUID) på midlertidige adresse

<ns4:temporaryAddress>
<ns4:id extension="5477653c-4c46-4f50-a566-591d677b5411" root="1.2.208.184.15.2"/>

Pårørende1.2.208.184.15.3*IDer (UUID) på pårørende

<ns4:relatedPerson>
<ns4:id extension="dc565d8b-cb87-4edf-9f43-02b996f73268" root="1.2.208.184.15.3"/>

Pårørende type1.2.208.184.15.4*Følger MedCom-definerede typer for pårørende: uspec_paaroerende, barn, aegtefaelle, forældre, barnebarn, svigerbarn, ingen_relationer, nabo, samboende, registreret_partner, søskende, øvrig_familie<ns2:code code="uspec_paaroerende" codeSystem="1.2.208.184.15.4"/>
Uddannelseskode1.2.208.184.15.5*IDer (UUID) på uddannelseskoder<ns2:id assigningAuthorityName="UDDANNELSESKODE" extension="7170" root="1.2.208.184.15.5"/>
Autorisationsid1.2.208.184.15.6*IDer (UUID) på autorisationskoder<ns2:id assigningAuthorityName="AUTORISATION" extension="09YM8" root="1.2.208.184.15.6"/>

* id defineres endeligt af MedCom.

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

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.

<?xml version="1.0" encoding="UTF-8"?>
	<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
			   targetNamespace="http://sundhedsdatastyrelsen.dk/skr/2021/06/02"
			   xmlns:ns="http://sundhedsdatastyrelsen.dk/skr/2021/06/02">

		<xs:element name="DataCardUpdated">
			<xs:complexType>
				<xs:sequence>
					<xs:element name="date" type="ns:element"/>
					<xs:element name="id" type="ns:element"/>
					<xs:element name="messageId" type="ns:element"/>
					<xs:element name="type" type="ns:element"/>
					<xs:element name="version" type="ns:element"/>
				</xs:sequence>
			</xs:complexType>
		</xs:element>

		<xs:complexType name="element">
			<xs:attribute name="value" type="xs:string" use="required"/>
		</xs:complexType>
	</xs:schema>


Følgende er et eksempel på en opdateringsnotificering:

<ns3:Notify xmlns:ns2="http://www.w3.org/2005/08/addressing" xmlns:ns3="http://docs.oasis-open.org/wsn/b-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">TESTNAS-TOPIC1</ns3:Topic>
        <ns3:Message>
            <ns6:NotifyContent id="0501792275" idType="http://nsi.dk/advis/v10/CPR">
                <ns8:DataCardUpdated>
                    <date value="2022-11-01"/>
                    <id value="0501792275"/>
                    <messageId value="AAABhDKrCSD8xJkQXp07iFNPU0k="/>
                    <type value="http://sundhedsdatastyrelsen.dk/MessageDefinition/PDC-notification"/>
                    <version value="1"/>
                </ns8:DataCardUpdated>
            </ns6:NotifyContent>
        </ns3:Message>
    </ns3:NotificationMessage>
</ns3:Notify>


Der anvendes dette topic: http://sundhedsdatastyrelsen.dk/PersonalDataCard/2020/11/01:DataCardUpdated

Snitflader

Til SKR er der 3 forskellige typer af gældende snitflader:

  1. Til normalt brug
  2. Til asynkron opdatering af stamkortet
  3. Til migreringsbrug.

Derudover er et antal forældede snitflader der 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.

Borgere anvender servicerne gennem en IDWS­-snitflade og har adgang til alle operationer. Der understøttes ikke fuldmagter.

Snitfladerne skal kaldes skal kaldes gennem NSP'ens DCC endpoint (afkoblingskomponenten). Driftsvejledningen beskriver i detaljer hvad der findes af endpoints.

Server-URL'er for de forskellige test-miljøer kan findes på Endpoints for eksterne testmiljøer.

Stamkortet kan desuden hentes som et "on demand"-dokument via Dokumentdelingsservicen (DDS).

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

WSDL

WSDLen for SKR indeholder nedenstående operationer:

OperationBeskrivelse
GetPersonalDataCard_2021_06_02

Hent stamkort for en specifik borger.


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

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

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

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 />
Nej
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:

<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:

<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" 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>
		</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>
				  <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>


UpdateContactInformation

ElementBeskrivelseTypeOptionel
idSom attribut "extension" angives personens CPR-nummer (uden bindestreg)varchar(10)Nej
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)Nej
dataEntererPersonen der opdaterer. Se tabel længere nede (delt struktur)-Nej

Request-eksempel:

<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"
                  xmlns:cda="urn:hl7-org:v3">
    <soapenv:Header/>
    <soapenv:Body>
        <ns:UpdateContactInformationRequest>
            <id assigningAuthorityName="CPR" extension="0501792275" root="1.2.208.176.1.2"/>
            <telecom use="H" value="tel:VALIDATION_TOKEN"/>
            <telecom use="MC" value="tel:25111213"/>
            <telecom use="WP" value="tel:25111214"/>
            <dataEnterer>
                <cda:time value="20170921094500+0100"/>
                <cda:assignedAuthor>
                    <cda:id assigningAuthorityName="CPR" extension="0501792275" root="1.2.208.176.1.2"/>
                    <cda:assignedPerson>
                        <cda:name>
                            <cda:given>Anders</cda:given>
                            <cda:family>Andersen</cda:family>
                        </cda:name>
                    </cda:assignedPerson>
                </cda:assignedAuthor>
            </dataEnterer>
        </ns:UpdateContactInformationRequest>
    </soapenv:Body>
</soapenv:Envelope>

Response-eksempel (indeholder ingen data):

<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/">
    <SOAP-ENV:Header/>
    <SOAP-ENV:Body>
        <ns2:UpdateContactInformationResponse xmlns:ns2="http://sundhedsdatastyrelsen.dk/skr/2021/06/02"/>
    </SOAP-ENV:Body>
</SOAP-ENV:Envelope>


CreateRelatives


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

Liste-struktur tilsvarende relatedPerson i GetPersonalDataCard response

-Nej
relatedPerson.idID til den pårørende der skal oprettes (UUID)varchar(36)Ja
dataEntererPersonen der opretter. Se tabel længere nede (delt struktur)-Nej

Request-eksempel:

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
                  xmlns:ns="http://sundhedsdatastyrelsen.dk/skr/2021/06/02"
                  xmlns:fsk="urn:hl7-org:fsk"
                  xmlns:cda="urn:hl7-org:v3">
    <soapenv:Header/>
    <soapenv:Body>
        <ns:CreateRelativesRequest>
            <id assigningAuthorityName="CPR" extension="0501792275" root="1.2.208.176.1.2"/>
            <fsk:relatedPerson>
                <fsk:associatedEntity classCode="CON">
                    <cda:addr use="H" isNotOrdered="false">
                        <cda:streetAddressLine>Trifork</cda:streetAddressLine>
                        <cda:streetAddressLine>Europaplads 2</cda:streetAddressLine>
                        <cda:postalCode>8000</cda:postalCode>
                        <cda:city>Aarhus</cda:city>
                        <cda:country>Denmark</cda:country>
                    </cda:addr>
                    <cda:telecom use="H" value="tel:86111213"/>
                    <cda:telecom use="MC" value="tel:25111213"/>
                    <cda:telecom use="WP" value="tel:70111213"/>
                    <cda:associatedPerson>
                        <cda:name>
                            <cda:given>Chris</cda:given>
                            <cda:family>Green</cda:family>
                        </cda:name>
                    </cda:associatedPerson>
                </fsk:associatedEntity>
                <fsk:relationshipType code="barn" codeSystem="1.2.208.184.15.4" displayName="Barn"/>
                <fsk:note>VALIDATION_TOKEN Kan være behjælpelig med kørsel udenfor arbejdstiden</fsk:note>
            </fsk:relatedPerson>
            <dataEnterer>
                <cda:time value="20170921094500+0100"/>
                <cda:assignedAuthor classCode="ASSIGNED">
                    <cda:id extension="0501792275" root="1.2.208.176.1.2" assigningAuthorityName="CPR"/>
                    <cda:representedOrganization classCode="ORG" determinerCode="INSTANCE">
                        <cda:id extension="241301000016007" root="1.2.208.176.1.1" assigningAuthorityName="SOR"/>
                        <cda:name>Odense Universitetshospital - Svendborg Sygehus</cda:name>
                    </cda:representedOrganization>
                </cda:assignedAuthor>
            </dataEnterer>
        </ns:CreateRelativesRequest>
    </soapenv:Body>
</soapenv:Envelope>

Request-eksempel med Id:

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
                  xmlns:ns="http://sundhedsdatastyrelsen.dk/skr/2021/06/02"
                  xmlns:fsk="urn:hl7-org:fsk" xmlns:cda="urn:hl7-org:v3">
        <soapenv:Header/>
        <soapenv:Body>
                <ns:CreateRelativesRequest>
                        <id assigningAuthorityName="CPR" extension="0207693049" root="1.2.208.176.1.2"/>
                        <fsk:relatedPerson>
                                <fsk:id assigningAuthorityName="FSK" extension="5477653c-4c46-4f50-a566-591d677b1111" root="1.2.208.184.15.3"/>
                                <fsk:associatedEntity classCode="CON">
                                        <cda:addr use="H" isNotOrdered="false">
                                                <cda:streetAddressLine>Trifork</cda:streetAddressLine>
                                                <cda:streetAddressLine>Europaplads 2</cda:streetAddressLine>
                                                <cda:postalCode>8000</cda:postalCode>
                                                <cda:city>Aarhus</cda:city>
                                                <cda:country>Denmark</cda:country>
                                        </cda:addr>
                                        <cda:telecom use="H" value="tel:86111213"/>
                                        <cda:telecom use="MC" value="tel:25111213"/>
                                        <cda:telecom use="WP" value="tel:70111213"/>
                                        <cda:associatedPerson>
                                                <cda:name>
                                                        <cda:given>Glitterik</cda:given>
                                                        <cda:family>Smørhår2</cda:family>
                                                </cda:name>
                                        </cda:associatedPerson>
                                </fsk:associatedEntity>
                                <fsk:relationshipType code="barn" codeSystem="1.2.208.184.15.4"/>
                                <fsk:note/>
                        </fsk:relatedPerson>
                        <dataEnterer>
                                <cda:time value="20170921094500+0100"/>
                                <cda:assignedAuthor>
                                        <cda:id assigningAuthorityName="CPR" extension="0501792275" root="1.2.208.176.1.2"/>
                                        <cda:assignedPerson>
                                                <cda:name>
                                                        <cda:given>Kar</cda:given>
                                                        <cda:family>Bunkel!</cda:family>
                                                </cda:name>
                                        </cda:assignedPerson>
                                </cda:assignedAuthor>
                        </dataEnterer>
                </ns:CreateRelativesRequest>
        </soapenv:Body>
</soapenv:Envelope>

Response-eksempel (indeholder ingen data): 

<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/">
    <SOAP-ENV:Header/>
    <SOAP-ENV:Body>
        <ns2:CreateRelativesResponse xmlns:ns2="http://sundhedsdatastyrelsen.dk/skr/2021/06/02"/>
    </SOAP-ENV:Body>
</SOAP-ENV:Envelope>

UpdateRelatives

ElementBeskrivelseTypeOptionel
idSom attribut "extension" angives id på en "relatedPerson" fra svaret på en GetPersonalDataCardvarchar(10)Nej
relatedPersonListe-struktur tilsvarende relatedPerson i GetPersonalDataCard response-Nej
dataEntererPersonen der opdaterer. Se tabel længere nede (delt struktur)-Nej

Request-eksempel:

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
                  xmlns:ns="http://sundhedsdatastyrelsen.dk/skr/2021/06/02"
                  xmlns:fsk="urn:hl7-org:fsk"
                  xmlns:cda="urn:hl7-org:v3">
    <soapenv:Header/>
    <soapenv:Body>
        <ns:UpdateRelativesRequest>
            <id assigningAuthorityName="CPR" extension="0501792275" root="1.2.208.176.1.2"/>
            <fsk:relatedPerson>
                <fsk:id assigningAuthorityName="FSK" extension="RELATED_PERSON_ID" root="1.2.208.184.15.3"/>
                <fsk:associatedEntity classCode="CON">
                    <cda:addr use="H" isNotOrdered="false">
                        <cda:streetAddressLine>Trifork</cda:streetAddressLine>
                        <cda:streetAddressLine>Europaplads 2</cda:streetAddressLine>
                        <cda:postalCode>8000</cda:postalCode>
                        <cda:city>Aarhus</cda:city>
                        <cda:country>Denmark</cda:country>
                    </cda:addr>
                    <cda:telecom use="H" value="tel:86111213"/>
                    <cda:telecom use="MC" value="tel:25111213"/>
                    <cda:telecom use="WP" value="tel:70111213"/>
                    <cda:associatedPerson>
                        <cda:name>
                            <cda:given>Chris</cda:given>
                            <cda:family>Green</cda:family>
                        </cda:name>
                    </cda:associatedPerson>
                </fsk:associatedEntity>
                <fsk:relationshipType code="barn" codeSystem="1.2.208.184.15.4" displayName="Barn"/>
                <fsk:note>Kan være behjælpelig med kørsel udenfor arbejdstiden</fsk:note>
            </fsk:relatedPerson>
            <dataEnterer>
                <cda:time value="20170921094500+0100"/>
                <cda:assignedAuthor>
                    <cda:id assigningAuthorityName="CPR" extension="0501792275" root="1.2.208.176.1.2"/>
                    <cda:assignedPerson>
                        <cda:name>
                            <cda:given>Anders</cda:given>
                            <cda:family>Andersen</cda:family>
                        </cda:name>
                    </cda:assignedPerson>
                </cda:assignedAuthor>
            </dataEnterer>
        </ns:UpdateRelativesRequest>
    </soapenv:Body>
</soapenv:Envelope>

Response-eksempel (indeholder ingen data):

<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/">
    <SOAP-ENV:Header/>
    <SOAP-ENV:Body>
        <ns2:UpdateRelativesResponse xmlns:ns2="http://sundhedsdatastyrelsen.dk/skr/2021/06/02"/>
    </SOAP-ENV:Body>
</SOAP-ENV:Envelope>

DeleteRelatives

ElementBeskrivelseTypeOptionel
idSom attribut "extension" angives personens CPR-nummer (uden bindestreg)varchar(10)Nej
relativeIdID(er) på den/de pårørende der skal slettes. Hvert id skal matche id (UUID) på en relatedPerson fra svaret på en GetPersonalDataCardvarchar(36)Nej
dataEntererPersonen der sletter. Se tabel længere nede (delt struktur)-Nej

Request-eksempel:

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
                  xmlns:ns="http://sundhedsdatastyrelsen.dk/skr/2021/06/02"
                  xmlns:cda="urn:hl7-org:v3">
    <soapenv:Header/>
    <soapenv:Body>
        <ns:DeleteRelativesRequest>
            <id assigningAuthorityName="CPR" extension="0501792275" root="1.2.208.176.1.2"/>
            <relativeId assigningAuthorityName="FSK" extension="RELATED_PERSON_ID" root="1.2.208.184.15.3"/>
            <dataEnterer>
                <cda:time value="20170921094500+0100"/>
                <cda:assignedAuthor>
                    <cda:id assigningAuthorityName="CPR" extension="0501792275" root="1.2.208.176.1.2"/>
                    <cda:assignedPerson>
                        <cda:name>
                            <cda:given>Anders</cda:given>
                            <cda:family>Andersen</cda:family>
                        </cda:name>
                    </cda:assignedPerson>
                </cda:assignedAuthor>
            </dataEnterer>
        </ns:DeleteRelativesRequest>
    </soapenv:Body>
</soapenv:Envelope>


Response-eksempel (indeholder ingen data):

<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/">
    <SOAP-ENV:Header/>
    <SOAP-ENV:Body>
        <ns2:DeleteRelativesResponse xmlns:ns2="http://sundhedsdatastyrelsen.dk/skr/2021/06/02"/>
    </SOAP-ENV:Body>
</SOAP-ENV:Envelope>


CreateTemporaryAddress

ElementBeskrivelseTypeOptionel
idSom attribut "extension" angives personens CPR-nummer (uden bindestreg)varchar(10)Nej
temporaryAddress.idID på den midlertidige adresse der skal oprettes (UUID)varchar(36)Ja
temporaryAddress.addr

Den midlertidige adresse der skal oprettes. Indeholder addr-struktur, som beskrevet længere nede

-Nej
dataEntererPersonen der opretter. Se tabel længere nede (delt struktur)-Nej

Request-eksempel:

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
                  xmlns:ns="http://sundhedsdatastyrelsen.dk/skr/2021/06/02"
                  xmlns:cda="urn:hl7-org:v3"
                  xmlns:fsk="urn:hl7-org:fsk">
<soapenv:Header/>
<soapenv:Body>
    <ns:CreateTemporaryAddressRequest>
        <id assigningAuthorityName="CPR" extension="0501792275" root="1.2.208.176.1.2"/>
        <fsk:temporaryAddress>
            <fsk:addr use="H" isNotOrdered="false">
                <cda:streetAddressLine>Trifork</cda:streetAddressLine>
                <cda:streetAddressLine>Europaplads 2</cda:streetAddressLine>
                <cda:postalCode>8000</cda:postalCode>
                <cda:city>Aarhus</cda:city>
                <cda:country>Denmark</cda:country>
                <cda:useablePeriod value="20140106"/>
                <cda:useablePeriod value="20250106"/>
            </fsk:addr>
        </fsk:temporaryAddress>
        <dataEnterer>
            <cda:time value="20180101101010+0100" />
            <cda:assignedAuthor classCode="ASSIGNED">
                <cda:id assigningAuthorityName="CPR" extension="0501792275" root="1.2.208.176.1.2"/>
                <cda:assignedPerson>
                    <cda:name>
                        <cda:given>given</cda:given>
                        <cda:family>family</cda:family>
                    </cda:name>
                </cda:assignedPerson>
                <cda:representedOrganization classCode="ORG" determinerCode="INSTANCE">
                    <cda:id assigningAuthorityName="CVR" extension="30808460" root="1.2.208.184.15.10"/>
                    <cda:name>Navn på organisation</cda:name>
                </cda:representedOrganization>
            </cda:assignedAuthor>
        </dataEnterer>

    </ns:CreateTemporaryAddressRequest>
</soapenv:Body>
</soapenv:Envelope>

Request-eksempel med id:

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
                  xmlns:ns="http://sundhedsdatastyrelsen.dk/skr/2021/06/02" xmlns:urn="urn:hl7-org:fsk" xmlns:urn1="urn:hl7-org:v3">
        <soapenv:Header/>
        <soapenv:Body>
                <ns:CreateTemporaryAddressRequest>
                        <id assigningAuthorityName="CPR" extension="2512484916" root="1.2.208.176.1.2" />
                        <urn:temporaryAddress>
                                <urn:id assigningAuthorityName="FSK" extension="01234567890123456789" root="1.2.208.184.15.2"/>
                                <urn:addr isNotOrdered="false" use="H">
                                        <urn1:country>Danmark</urn1:country>
                                        <urn1:city>84d7fb5d-09d2-456e-a2d5-9a2c32d7a0b8</urn1:city>
                                        <urn1:postalCode>8241</urn1:postalCode>
                                        <urn1:streetAddressLine>c05e60c1-bea0-4c66-98bd-7d5faffb5d41</urn1:streetAddressLine>
                                        <urn1:useablePeriod operator="I" value="20180817"/>
                                        <urn1:useablePeriod operator="I" value="20250817"/>
                                </urn:addr>
                        </urn:temporaryAddress>
                        <dataEnterer>
                                <urn1:time value="20180101101010+0100" />
                                <urn1:assignedAuthor classCode="ASSIGNED">
                                        <urn1:id assigningAuthorityName="CPR" extension="0501792275" root="1.2.208.176.1.2"/>
                                        <urn1:assignedPerson>
                                                <urn1:name>
                                                        <urn1:given>given</urn1:given>
                                                        <urn1:family>family</urn1:family>
                                                </urn1:name>
                                        </urn1:assignedPerson>
                                        <urn1:representedOrganization classCode="ORG" determinerCode="INSTANCE">
                                                <urn1:id assigningAuthorityName="CVR" extension="30808460" root="1.2.208.184.15.10"/>
                                                <urn1:name>Navn på organisation</urn1:name>
                                        </urn1:representedOrganization>
                                </urn1:assignedAuthor>
                        </dataEnterer>
                </ns:CreateTemporaryAddressRequest>
        </soapenv:Body>
</soapenv:Envelope>

Response-eksempel (indeholder ingen data):

<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/">
    <SOAP-ENV:Header/>
    <SOAP-ENV:Body>
        <ns2:CreateTemporaryAddressResponse xmlns:ns2="http://sundhedsdatastyrelsen.dk/skr/2021/06/02"/>
    </SOAP-ENV:Body>
</SOAP-ENV:Envelope>

UpdateTemporaryAddress

ElementBeskrivelseTypeOptionel
idSom attribut "extension" angives personens CPR-nummer (uden bindestreg)varchar(10)Nej
temporaryAddress.idID på den midlertidige adresse der skal opdateres. Skal modsvare id (UUID) på en temporaryAddress fra svaret på en GetPersonalDataCardvarchar(36)Nej
temporaryAddress.addrDen midlertidige adresse der skal oprettes. Indeholder addr-struktur, som beskrevet længere nede-Nej
dataEntererPersonen der opdaterer. Se tabel længere nede (delt struktur)-Nej

Request-eksempel:

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
                  xmlns:ns="http://sundhedsdatastyrelsen.dk/skr/2021/06/02"
                  xmlns:fsk="urn:hl7-org:fsk"
                  xmlns:cda="urn:hl7-org:v3">
    <soapenv:Header/>
    <soapenv:Body>
        <ns:UpdateTemporaryAddressRequest>
            <id assigningAuthorityName="CPR" extension="0501792275" root="1.2.208.176.1.2"/>
            <fsk:temporaryAddress>
                <fsk:id assigningAuthorityName="FSK" extension="TEMP_ADDRESS_ID" root="1.2.208.184.15.2"/>
                <fsk:addr use="H" isNotOrdered="false">
                    <cda:streetAddressLine>Trifork</cda:streetAddressLine>
                    <cda:streetAddressLine>Europaplads 2</cda:streetAddressLine>
                    <cda:postalCode>8000</cda:postalCode>
                    <cda:city>Aarhus</cda:city>
                    <cda:country>Denmark</cda:country>
                    <cda:useablePeriod value="20140106"/>
                    <cda:useablePeriod value="20250106"/>
                </fsk:addr>
            </fsk:temporaryAddress>
            <dataEnterer>
                <cda:time value="20170921094500+0100"/>
                <cda:assignedAuthor>
                    <cda:id assigningAuthorityName="CPR" extension="0501792275" root="1.2.208.176.1.2"/>
                    <cda:assignedPerson>
                        <cda:name>
                            <cda:given>Anders</cda:given>
                            <cda:family>Andersen</cda:family>
                        </cda:name>
                    </cda:assignedPerson>
                </cda:assignedAuthor>
            </dataEnterer>
        </ns:UpdateTemporaryAddressRequest>
    </soapenv:Body>
</soapenv:Envelope>


Response-eksempel (indeholder ingen data):

<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/">
    <SOAP-ENV:Header/>
    <SOAP-ENV:Body>
        <ns2:UpdateTemporaryAddressResponse xmlns:ns2="http://sundhedsdatastyrelsen.dk/skr/2021/06/02"/>
    </SOAP-ENV:Body>
</SOAP-ENV:Envelope>

DeleteTemporaryAddress

ElementBeskrivelseTypeOptionel
idSom attribut "extension" angives personens CPR-nummer (uden bindestreg)varchar(10)Nej
temporaryAddressIdID på den/de midlertidige adresse der skal slettes.varchar(36)Nej
dataEntererPersonen der sletter. Se tabel længere nede (delt struktur)-Nej

Request-eksempel:

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
                  xmlns:ns="http://sundhedsdatastyrelsen.dk/skr/2021/06/02"
                  xmlns:cda="urn:hl7-org:v3">
    <soapenv:Header/>
    <soapenv:Body>
        <ns:DeleteTemporaryAddressRequest>
            <id assigningAuthorityName="CPR" extension="0501792275" root="1.2.208.176.1.2"/>
            <temporaryAddressId assigningAuthorityName="FSK" extension="TEMP_ADDRESS_ID" root="1.2.208.184.15.2"/>
            <dataEnterer>
                <cda:time value="20170921094500+0100"/>
                <cda:assignedAuthor>
                    <cda:id assigningAuthorityName="CPR" extension="0501792275" root="1.2.208.176.1.2"/>
                    <cda:assignedPerson>
                        <cda:name>
                            <cda:given>Anders</cda:given>
                            <cda:family>Andersen</cda:family>
                        </cda:name>
                    </cda:assignedPerson>
                </cda:assignedAuthor>
            </dataEnterer>
        </ns:DeleteTemporaryAddressRequest>
    </soapenv:Body>
</soapenv:Envelope>


Response-eksempel (indeholder ingen data):

<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/">
    <SOAP-ENV:Header/>
    <SOAP-ENV:Body>
        <ns2:DeleteTemporaryAddressResponse xmlns:ns2="http://sundhedsdatastyrelsen.dk/skr/2021/06/02"/>
    </SOAP-ENV:Body>
</SOAP-ENV:Envelope>


CreateLanguage

ElementBeskrivelseTypeOptionel
idSom attribut "extension" angives personens CPR-nummer (uden bindestreg)varchar(10)Nej
language.idID på det sprog der skal oprettes (UUID)varchar(36)Ja
language.languageCodeSprogkode. Format: ISO-639-1char(2)Nej
dataEntererPersonen der opretter. Se tabel længere nede (delt struktur)-Nej

Request-eksempel:

<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"
                  xmlns:cda="urn:hl7-org:v3"
                  xmlns:fsk="urn:hl7-org:fsk">
    <soapenv:Header/>
    <soapenv:Body>
        <ns:CreateLanguageRequest>
            <id assigningAuthorityName="CPR" extension="0501792275" root="1.2.208.176.1.2"/>
            <fsk:language>
                <fsk:languageCode>se</fsk:languageCode>
            </fsk:language>
            <dataEnterer>
                <cda:time value="20170921094500+0100"/>
                <cda:assignedAuthor>
                    <cda:id assigningAuthorityName="CPR" extension="0501792275" root="1.2.208.176.1.2"/>
                    <cda:assignedPerson>
                        <cda:name>
                            <cda:given>Anders</cda:given>
                            <cda:family>Andersen</cda:family>
                        </cda:name>
                    </cda:assignedPerson>
                </cda:assignedAuthor>
            </dataEnterer>
        </ns:CreateLanguageRequest>
    </soapenv:Body>
</soapenv:Envelope>


Request-eksempel med id:

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
                                  xmlns:ns="http://sundhedsdatastyrelsen.dk/skr/2021/06/02" xmlns:fsk="urn:hl7-org:fsk" xmlns:cda="urn:hl7-org:v3">
        <soapenv:Header/>
        <soapenv:Body>
                <ns:CreateLanguageRequest>
                        <id extension="2512484916" root="1.2.208.176.1.2" assigningAuthorityName="CPR"/>
                        <fsk:language>
                                <fsk:id assigningAuthorityName="FSK" extension="5477653c-4c46-4f50-a566-591d677b1111" root="1.2.208.184.15.7"/>
                                <fsk:languageCode>no</fsk:languageCode>
                        </fsk:language>
                        <fsk:language>
                                <fsk:id assigningAuthorityName="FSK" extension="fc9dd3b9-e308-4b43-a7f8-a692abca6622" root="1.2.208.184.15.7"/>
                                <fsk:languageCode>da</fsk:languageCode>
                        </fsk:language>
                        <fsk:language>
                                <fsk:id assigningAuthorityName="FSK" extension="fc9dd3b9-e308-4b43-a7f8-a692abca6623" root="1.2.208.184.15.7"/>
                                <fsk:languageCode>se</fsk:languageCode>
                        </fsk:language>
                        <dataEnterer>
                                <cda:time value="20170921094500+0100"/>
                                <cda:assignedAuthor>
                                        <cda:id assigningAuthorityName="CPR" extension="0501792275" root="1.2.208.176.1.2"/>
                                        <cda:assignedPerson>
                                                <cda:name>
                                                        <cda:given>Anders!</cda:given>
                                                        <cda:family>Andersen</cda:family>
                                                </cda:name>
                                        </cda:assignedPerson>
                                </cda:assignedAuthor>
                        </dataEnterer>
                </ns:CreateLanguageRequest>
        </soapenv:Body>
</soapenv:Envelope>

Response-eksempel (indeholder ingen data):

<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/">
<SOAP-ENV:Header/>
    <SOAP-ENV:Body>
        <ns2:CreateLanguageResponse xmlns:ns2="http://sundhedsdatastyrelsen.dk/skr/2021/06/02"/>
    </SOAP-ENV:Body>
</SOAP-ENV:Envelope>


UpdateLanguage

ElementBeskrivelseTypeOptionel
idSom attribut "extension" angives personens CPR-nummer (uden bindestreg)varchar(10)Nej
language.idID på det sprog der skal opdateres.varchar(36)Nej
language.languageCodeSprogkode. Format: ISO-639-1char(2)Nej
dataEntererPersonen der opdaterer. Se tabel længere nede (delt struktur)-Nej

Request-eksempel:

<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"
                  xmlns:cda="urn:hl7-org:v3"
                  xmlns:fsk="urn:hl7-org:fsk">
    <soapenv:Header/>
    <soapenv:Body>
        <ns:UpdateLanguageRequest>
            <id assigningAuthorityName="CPR" extension="0501792275" root="1.2.208.176.1.2"/>
            <fsk:language>
                <fsk:id assigningAuthorityName="FSK" extension="LANGUAGE_ID" root="1.2.208.184.15.7"/>
                <fsk:languageCode>se</fsk:languageCode>
            </fsk:language>
            <dataEnterer>
                <cda:time value="20170921094500+0100"/>
                <cda:assignedAuthor>
                    <cda:id assigningAuthorityName="CPR" extension="0501792275" root="1.2.208.176.1.2"/>
                    <cda:assignedPerson>
                        <cda:name>
                            <cda:given>Anders</cda:given>
                            <cda:family>Andersen</cda:family>
                        </cda:name>
                    </cda:assignedPerson>
                </cda:assignedAuthor>
            </dataEnterer>
        </ns:UpdateLanguageRequest>
    </soapenv:Body>
</soapenv:Envelope>

Response-eksempel (indeholder ingen data):

<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/">
    <SOAP-ENV:Header/>
    <SOAP-ENV:Body>
        <ns2:UpdateLanguageResponse xmlns:ns2="http://sundhedsdatastyrelsen.dk/skr/2021/06/02"/>
    </SOAP-ENV:Body>
</SOAP-ENV:Envelope>

DeleteLanguage

ElementBeskrivelseTypeOptionel
idSom attribut "extension" angives personens CPR-nummer (uden bindestreg)varchar(10)Nej
languageIdID på det sprog der skal slettes.varchar(36)Nej
dataEntererPersonen der sletter. Se tabel længere nede (delt struktur)-Nej

Request-eksempel:

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
                  xmlns:ns="http://sundhedsdatastyrelsen.dk/skr/2021/06/02"
                  xmlns:cda="urn:hl7-org:v3">
    <soapenv:Header/>
    <soapenv:Body>
        <ns:DeleteLanguageRequest>
            <id assigningAuthorityName="CPR" extension="0501792275" root="1.2.208.176.1.2"/>
            <languageId assigningAuthorityName="FSK" extension="LANGUAGE_ID" root="1.2.208.184.15.7"/>
            <dataEnterer>
                <cda:time value="20170921094500+0100"/>
                <cda:assignedAuthor>
                    <cda:id assigningAuthorityName="CPR" extension="0501792275" root="1.2.208.176.1.2"/>
                    <cda:assignedPerson>
                        <cda:name>
                            <cda:given>Anders</cda:given>
                            <cda:family>Andersen</cda:family>
                        </cda:name>
                    </cda:assignedPerson>
                </cda:assignedAuthor>
            </dataEnterer>
        </ns:DeleteLanguageRequest>
    </soapenv:Body>
</soapenv:Envelope>

Response-eksempel (indeholder ingen data):

<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/">
    <SOAP-ENV:Header/>
    <SOAP-ENV:Body>
        <ns2:DeleteLanguageResponse xmlns:ns2="http://sundhedsdatastyrelsen.dk/skr/2021/06/02"/>
    </SOAP-ENV:Body>
</SOAP-ENV:Envelope>

CreateHealthProvider

ElementBeskrivelseTypeOptionel
idSom attribut "extension" angives personens CPR-nummer (uden bindestreg)varchar(10)Nej
healthProvider.idID på den tandlæge der skal oprettes (UUID)varchar(36)Ja
healthProvider.providerTypeSom attribut "code" angives "tandlæge", som er den eneste værdi der understøttes i aktuelle version.-Nej
healthProvider.organizationTandlægeorganisation. Se tabel længere nede (delt struktur)-Nej
dataEntererPersonen der opretter. Se tabel længere nede (delt struktur)-Nej

Request-eksempel:

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
                  xmlns:ns="http://sundhedsdatastyrelsen.dk/skr/2021/06/02"
                  xmlns:urn="urn:hl7-org:fsk"
                  xmlns:urn2="urn:hl7-org:v3">
    <soapenv:Header/>
    <soapenv:Body>
        <ns:CreateHealthProviderRequest>
            <id assigningAuthorityName="CPR" extension="0501792275" root="1.2.208.176.1.2" />
            <urn:healthProvider>
                <urn:providerType code="tandlæge" codeSystem="1.2.208.184.15.12" displayName="dentist"/>
                <urn:organization>
                    <urn2:id assigningAuthorityName="Yder" extension="123456" root="1.2.208.184.15.8"/>
                    <urn2:name>Arthur Dents Bix 2</urn2:name>
                    <urn2:telecom use="WP" value="tel:12345678"/>
                    <urn2:addr isNotOrdered="false" use="H">
                        <urn2:streetAddressLine>Wallabyvej 42</urn2:streetAddressLine>
                        <urn2:postalCode>1234</urn2:postalCode>
                        <urn2:city>Sydney</urn2:city>
                        <urn2:country>Danmark</urn2:country>
                    </urn2:addr>
                </urn:organization>
            </urn:healthProvider>
            <dataEnterer>
                <urn2:time value="20170921094500+0100"/>
                <urn2:assignedAuthor>
                    <urn2:id assigningAuthorityName="CPR" extension="0501792275" root="1.2.208.176.1.2"/>
                    <urn2:assignedPerson>
                        <urn2:name>
                            <urn2:given>Anders</urn2:given>
                            <urn2:family>Andersen</urn2:family>
                        </urn2:name>
                    </urn2:assignedPerson>
                </urn2:assignedAuthor>
            </dataEnterer>
        </ns:CreateHealthProviderRequest>
    </soapenv:Body>
</soapenv:Envelope>

Request-eksempel med Id:

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
                                  xmlns:ns="http://sundhedsdatastyrelsen.dk/skr/2021/06/02" xmlns:urn="urn:hl7-org:fsk"
                                  xmlns:urn2="urn:hl7-org:v3">
        <soapenv:Header/>
        <soapenv:Body>
                <ns:CreateHealthProviderRequest>
                        <id assigningAuthorityName="CPR" extension="2512484916" root="1.2.208.176.1.2" />
                        <urn:healthProvider>
                                <urn:id assigningAuthorityName="FSK" extension="5477653c-4c46-4f50-a566-591d677b1111" root="1.2.208.184.15.13"/>
                                <urn:providerType code="tandlæge" codeSystem="1.2.208.184.15.12" displayName="dentist"/>
                                <urn:organization>
                                        <urn2:id assigningAuthorityName="Yder" extension="123456" root="1.2.208.184.15.8"/>
                                        <urn2:name>Arthur Dents Bix 2</urn2:name>
                                        <urn2:telecom use="WP" value="tel:12345678"/>
                                        <urn2:addr isNotOrdered="false" use="H">
                                                <urn2:streetAddressLine>Wallabyvej 42</urn2:streetAddressLine>
                                                <urn2:postalCode>1234</urn2:postalCode>
                                                <urn2:city>Sydney</urn2:city>
                                                <urn2:country>Danmark</urn2:country>
                                        </urn2:addr>
                                </urn:organization>
                        </urn:healthProvider>
                        <dataEnterer>
                                <urn2:time value="20170921094500+0100"/>
                                <urn2:assignedAuthor>
                                        <urn2:id assigningAuthorityName="CPR" extension="0501792275" root="1.2.208.176.1.2"/>
                                        <urn2:assignedPerson>
                                                <urn2:name>
                                                        <urn2:given>Anders</urn2:given>
                                                        <urn2:family>Andersen</urn2:family>
                                                </urn2:name>
                                        </urn2:assignedPerson>
                                </urn2:assignedAuthor>
                        </dataEnterer>
                </ns:CreateHealthProviderRequest>
        </soapenv:Body>
</soapenv:Envelope>


Response-eksempel (indeholder ingen data):

<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/">
    <SOAP-ENV:Header/>
    <SOAP-ENV:Body>
        <ns2:CreateHealthProviderResponse xmlns:ns2="http://sundhedsdatastyrelsen.dk/skr/2021/06/02"/>
    </SOAP-ENV:Body>
</SOAP-ENV:Envelope>


UpdateHealthProvider

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

ID på den tandlæge der skal opdateres

varchar(36)Nej
healthProvider.providerTypeSom attribut "code" angives "tandlæge", som er den eneste værdi der understøttes i aktuelle version.-Nej
healthProvide.organizationTandlægeorganisation. Se tabel længere nede (delt struktur)-Nej
dataEntererPersonen der opdaterer. Se tabel længere nede (delt struktur)-Nej

Request-eksempel:

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
                                  xmlns:ns="http://sundhedsdatastyrelsen.dk/skr/2021/06/02"
                                  xmlns:urn="urn:hl7-org:fsk"
                                  xmlns:urn2="urn:hl7-org:v3">
        <soapenv:Header/>
        <soapenv:Body>
                <ns:UpdateHealthProviderRequest>
                        <id assigningAuthorityName="CPR" extension="2512484916" root="1.2.208.176.1.2"/>
                        <urn:healthProvider>
                                <urn:id assigningAuthorityName="FSK" extension="HEALTH_PROVIDER_ID" root="1.2.208.184.15.13"/>
                                <urn:providerType code="tandlæge" codeSystem="1.2.208.184.15.12" displayName="dentist"/>
                                <urn:organization>
                                        <urn2:id assigningAuthorityName="Yder" extension="123456" root="1.2.208.184.15.8"/>
                                        <urn2:name>Arthur Dents Bix 10</urn2:name>
                                        <urn2:telecom use="WP" value="tel:12345678"/>
                                        <urn2:addr isNotOrdered="false" use="H">
                                                <urn2:streetAddressLine>Wallabyvej 42</urn2:streetAddressLine>
                                                <urn2:postalCode>1234</urn2:postalCode>
                                                <urn2:city>Sydney</urn2:city>
                                                <urn2:country>Danmark</urn2:country>
                                        </urn2:addr>
                                </urn:organization>
                        </urn:healthProvider>
                        <dataEnterer>
                                <urn2:time value="20170921094500+0100"/>
                                <urn2:assignedAuthor>
                                        <urn2:id assigningAuthorityName="CPR" extension="0501792275" root="1.2.208.176.1.2"/>
                                        <urn2:assignedPerson>
                                                <urn2:name>
                                                        <urn2:given>Anders</urn2:given>
                                                        <urn2:family>Andersen</urn2:family>
                                                </urn2:name>
                                        </urn2:assignedPerson>
                                </urn2:assignedAuthor>
                        </dataEnterer>
                </ns:UpdateHealthProviderRequest>
        </soapenv:Body>
</soapenv:Envelope>


Response-eksempel (indeholder ingen data):

<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/">
    <SOAP-ENV:Header/>
    <SOAP-ENV:Body>
        <ns2:UpdateHealthProviderResponse xmlns:ns2="http://sundhedsdatastyrelsen.dk/skr/2021/06/02"/>
    </SOAP-ENV:Body>
</SOAP-ENV:Envelope>


DeleteHealthProvider

ElementBeskrivelseTypeOptionel
idSom attribut "extension" angives personens CPR-nummer (uden bindestreg)varchar(10)Nej
healthProvider.idID på den tandlæge der skal slettes.varchar(36)Nej
dataEntererPersonen der sletter. Se tabel længere nede (delt struktur)-Nej

Request-eksempel:

<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):

<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(men ikke for temporayAdress)
postalCodePostnummervarchar(10)Ja(men ikke for temporayAdress)
cityByvarchar(80)Ja(men ikke for temporayAdress)
countryLandvarchar(80)Ja(men ikke for temporayAdress)
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

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/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), assigningAuthorityName varchar(30)

Nej
assignedAuthor.assigningPerson.name.given

For borgere: For- og mellemnavn på person bag opdatering

For sundhedsfaglige: enten for- og evt. mellemnavn på person bag opdatering eller titel - f.eks. "Lægesekretær"

varchar(80)Nej
assignedAuthor.assigningPerson.name.family

For borgere: Efternavn på person bag opdatering

For sundhedsfaglige: enten efternavn på person bag opdatering eller overordnet sundhedsorganisation - f.eks. "Region Nordjylland" and "Silkeborg kommune"

varchar(80)Nej
assignedAuthor.representedOrganization.id

Organisations id, såfremt der er tale om en sundhedsperson. Værdi findes i attribut "extension", type i attribut "assigningAuthorityName"
(Bemærk denne attribut udstilles ikke i CDA for Fælles stamkort version PDC-DK-v.2.0)

extension varchar(80), assigningAuthorityName varchar(30)Ja
assignedAuthor.representedOrganization.name

Organisations navn (Bemærk denne attribut udstilles ikke i CDA for Fælles stamkort version PDC-DK-v.2.0)

varchar(30)Ja

Savedatacardsnitflade

Denne snitflade muliggør at data kan opdateres asynkront på baggrund af et systemkald. Snitfladen understøtter niveau 3 ID-kort (via OCES funktionscertifikater (FOCES)) samt niveau 4 ID-kort.
Snitfladen udstiller en enkelt operation, der tillader at borgerens stamdata enten oprettes, redigeres eller slettes. Det er ikke muligt at læse via denne snitflade og her skal eksisterende snitflader i stedet benyttes.

Opdatering:

Inden opdatering skal anvenderen have synkroniseret data der består i at hente en lokal kopi fra stamkortregisteret. Denne lokale kopi sendes til ”savadatacard” webservicen. Bemærk, alle information fra stamkortregisteret pånær "dataenterer" information skal medsendes ved hvert opdateringsrequest.
Webservicens opgave er at sammenligne eksistende data med de medsendte fra stamkortregisteret og her efter udlede hvilke oprettelser, opdateringer og sletninger der skal udføres på data.
Det skal ikke være nødvendigt at sende "dataenterer" tilbage på de elementer der ikke er opdateret, resten af informationen skal dog kunne verificeres af servicen.

Servicen svarer ”200 ok” hvis alt er vel, eller giver en sigende fejlkode tilbage.

Opdateringstidspunkt:

Hvert element (som beskrevet i skrdatacardservice.xsd) har et opdateringstidspunkt. Serviceanvenderen skal opgive sit eget seneste synkroniseringstidspunkt for elementet i ”lastupdated” som er et datatime element i formatet yyyymmddhhmmss+zzzz. Der er ikke millisekunders præcision på dette tidsstempel.

Hvis servertidspunktet for elementet har ændret sig siden den sidste lokale synkronisering/kopi, vil en fejlkode 900 blive returneret, og information fra stamkortregisteret skal genindlæses af anvenderen. Der bliver i det tilfælde ikke opdateret nogle elementer fra stamkortregisteret.

Sletning:

Hvert element (som beskrevet i skrdatacardservice.xsd) kan slettes af borgeren. Anvenderen skal udfylde ”tobeDeleted” og sætte værdien til true. Anvenderens seneste synkroniseringstidspunkt for elementet der forsøges slettet, skal ligeledes angives i ”lastupdated”.

Hvis servertidspunktet for elementet har ændret sig siden den sidste lokale kopi, vil en fejlkode 900 blive returneret, og information fra stamkortregisteret skal genindlæses. Der bliver i det tilfælde ikke slettet nogle elementer fra stamkortregisteret.

<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<xs:schema xmlns:hl7="urn:hl7-org:v3" xmlns:skr="urn:hl7-org:skr" xmlns:xs="http://www.w3.org/2001/XMLSchema" version="1.0" targetNamespace="http://sundhedsdatastyrelsen.dk/skr/2022/02/10">
    <xs:import schemaLocation="http://wsdl.nspop.dk/skr-service/schema/cda/POCD_MT000040_SDTC.xsd" namespace="urn:hl7-org:v3"/>

    <xs:element xmlns:xs="http://www.w3.org/2001/XMLSchema" name="SaveDataCardRequest">
        <xs:complexType>
            <xs:sequence>
                <!-- cprnr -->
                <xs:element name="id" type="hl7:II" minOccurs="1" maxOccurs="1"/>
                <xs:element name="contactInformation" minOccurs="0" maxOccurs="1">
                    <xs:complexType>
                        <xs:sequence>
                            <xs:element name="contactInformation" type="ContactInformationType" minOccurs="1" maxOccurs="1"/>
                        </xs:sequence>     
                    </xs:complexType>
                </xs:element>
                <xs:element name="relatedPersons" minOccurs="0" maxOccurs="1">
                    <xs:complexType>
                        <xs:sequence>
                            <xs:element name="relatedPerson" type="RelatedPersonType" minOccurs="1" maxOccurs="unbounded"/>
                        </xs:sequence>     
                    </xs:complexType>
                </xs:element>
                <xs:element name="temporaryAddress" minOccurs="0" maxOccurs="1">
                    <xs:complexType>
                        <xs:sequence>
                            <xs:element name="temporaryAddress" type="TemporaryAddressType" minOccurs="1" maxOccurs="1"/>
                        </xs:sequence>     
                    </xs:complexType>
                </xs:element>
                <xs:element name="language" minOccurs="0" maxOccurs="1">
                    <xs:complexType>
                        <xs:sequence>
                            <xs:element name="language" type="LanguageType" minOccurs="1" maxOccurs="1"/>
                        </xs:sequence>     
                    </xs:complexType>
                </xs:element>
                <xs:element name="healthProvider" minOccurs="0" maxOccurs="1">
                    <xs:complexType>
                        <xs:sequence>
                            <xs:element name="healthProvider" type="HealthProviderType" minOccurs="1" maxOccurs="1"/>
                        </xs:sequence>     
                    </xs:complexType>
                </xs:element>
            </xs:sequence>
        </xs:complexType>
    </xs:element>
    <xs:element xmlns:xs="http://www.w3.org/2001/XMLSchema" name="SaveDataCardRequestResponse">
        <xs:complexType>
            <xs:sequence></xs:sequence>
        </xs:complexType>
    </xs:element>
    <xs:simpleType name="NoteType">
        <xs:restriction base="xs:string">
            <xs:maxLength value="1000"/>
        </xs:restriction>
    </xs:simpleType>
    <xs:complexType name="RelatedPersonType">
        <xs:sequence>
            <!-- UUID -->
            <xs:element name="id" type="hl7:II" minOccurs="0" maxOccurs="1"/>
            <!-- Sidst opdateret dato/tid da den pårørende blev hentet fra Fælles Stamkort-->
            <xs:element name="lastupdated" type="xs:dateTime"/> 
            <xs:element name="associatedEntity" type="hl7:POCD_MT000040.AssociatedEntity" minOccurs="1" maxOccurs="1"/>
            <xs:element name="relationshipType" type="hl7:CD" minOccurs="1" maxOccurs="1"/>
            <xs:element name="note" type="NoteType" minOccurs="0" maxOccurs="1"/>
            <xs:element name="dataEnterer" type="hl7:POCD_MT000040.Author" minOccurs="0" maxOccurs="1"/>
            <xs:element name="tobeDeleted" type="xs:boolean" minOccurs="0" maxOccurs="1" />
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="TemporaryAddressType">
        <xs:sequence>
            <!-- UUID -->
            <xs:element name="id" type="hl7:II" minOccurs="0" maxOccurs="1"/>
            <!-- Sidst opdateret dato/tid da den midlertidige adresse blev hentet fra Fælles Stamkort-->
            <xs:element name="lastupdated" type="xs:dateTime"/> 
            <xs:element name="addr" type="hl7:AD" minOccurs="1" maxOccurs="1"/>
            <xs:element name="dataEnterer" type="hl7:POCD_MT000040.Author" minOccurs="0" maxOccurs="1"/>
            <xs:element name="tobeDeleted" type="xs:boolean" minOccurs="0" maxOccurs="1" />
        </xs:sequence>
    </xs:complexType>
    <xs:simpleType name="LanguageCodeStringType">
        <xs:restriction base="xs:string">
            <xs:maxLength value="2"/>
        </xs:restriction>
    </xs:simpleType>
    <xs:complexType name="LanguageCodeType">
        <xs:simpleContent>
            <xs:extension base="LanguageCodeStringType">
                <xs:attribute name="codeSystem" type="xs:string"/>
            </xs:extension>
        </xs:simpleContent>
    </xs:complexType>
    <xs:complexType name="LanguageType">
        <xs:sequence>
            <!-- UUID -->
            <xs:element name="id" type="hl7:II" minOccurs="0" maxOccurs="1"/>
            <!-- Sidst opdateret dato/tid da sprog blev hentet fra Fælles Stamkort-->
            <xs:element name="lastupdated" type="xs:dateTime"/> 
            <xs:element name="languageCode" type="LanguageCodeType" minOccurs="1" maxOccurs="1"/>
            <xs:element name="dataEnterer" type="hl7:POCD_MT000040.Author" minOccurs="0" maxOccurs="1"/>
            <xs:element name="tobeDeleted" type="xs:boolean" minOccurs="0" maxOccurs="1" />
        </xs:sequence>
    </xs:complexType>
    <xs:element name="language" type="LanguageType"/>
    <xs:complexType name="ContactInformationType">
        <xs:sequence>
            <!-- Sidst opdateret dato/tid da kontaktinformation blev hentet fra Fælles Stamkort-->
            <xs:element name="lastupdated" type="xs:dateTime"/> 
            <xs:element name="telecom" type="hl7:TEL" minOccurs="0" maxOccurs="3"/>
            <xs:element name="dataEnterer" type="hl7:POCD_MT000040.Author" minOccurs="0" maxOccurs="1"/>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="HealthProviderType">
        <xs:sequence>
            <!-- UUID -->
            <xs:element name="id" type="hl7:II" minOccurs="0" maxOccurs="1"/>
            <!-- Sidst opdateret dato/tid da tandlæge blev hentet fra Fælles Stamkort-->
            <xs:element name="lastupdated" type="xs:dateTime"/> 
            <xs:element name="providerType" type="hl7:CD" minOccurs="1" maxOccurs="1"/>
            <!-- type, f.eks. tandlæge -->
            <xs:element name="organization" type="hl7:POCD_MT000040.Organization" minOccurs="1" maxOccurs="1"/>
            <!-- tandlæge, givet ved enten ydernr eller SOR-id (institutionsejer) -->
            <xs:element name="dataEnterer" type="hl7:POCD_MT000040.Author" minOccurs="0" maxOccurs="1"/>
            <xs:element name="tobeDeleted" type="xs:boolean" minOccurs="0" maxOccurs="1" />
        </xs:sequence>
    </xs:complexType>
</xs:schema>


Til SaveDatacard-snitfladen er der følgende wsdl fil:

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

WSDL

WSDLen indeholder nedenstående operationer:

OperationBeskrivelse
savedatacard_2022_02_10.wsdl

Opdater en borgers stamkort.

Serviceoperationer for SaveDataCard


ElementBeskrivelseTypeOptionel
idSom attribut "extension" angives personens CPR-nummer (uden bindestreg)varchar(10)Nej
contactInformationElement for opdatering af kontaktinformation.-Ja
contactInformation.contactInformation.lastupdatedTidspunkt for seneste opdatering. Format: yyyyMMddHHmmssZ, fx. 20171024143445+0200varchar(19)Ja
contactInformation.contactInformation.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)Nej
contactInformation.contactInformation.dataEntererPersonen der opretter. Se tabel ovenfor (delt struktur)-Ja
relatedPersonsElement for opdatering af relatedPersons. Indeholder en liste af RelatedPersonType-Ja
relatedPersons.relatedPerson.idPårørendes id (UUID). Skal benyttes som nøgle ifm. UpdateRelatives/DeleteRelativesvarchar(36)Ja
relatedPersons.relatedPerson.lastupdatedTidspunkt for seneste opdatering. Format: yyyyMMddHHmmssZ, fx. 20171024143445+0200varchar(19)Ja
relatedPersons.relatedPerson.associatedEntity.addrSe tabel ovenfor (delt struktur)-Ja
relatedPersons.relatedPerson.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)

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

Ja

(fra release 1.0.5)

relatedPersons.relatedPerson.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 />
Nej
relatedPersons.relatedPerson.noteFritekstbeskrivelse af den pårørendes rolle i forhold til borgeren, hvilke opgaver personen kan være behjælpelig med osv.varchar(1000)Ja
relatedPersons.relatedPerson.dataEntererSe tabel længere ovenfor (delt struktur)-Ja 
relatedPersons.relatedPerson.tobeDeletedIndikerer om opdateringen er en sletning af den pårørende.booleanJa
temporaryAddressElement for opdatering af midlertidig adresse.-Ja
temporaryAddress.temporaryAddress.idMidlertid adresse id (UUID). Skal benyttes som nøgle ifm. opdatering og sletning af midlertidig adresse.varchar(36)Ja
temporaryAddress.temporaryAddress.lastupdatedTidspunkt for seneste opdatering. Format: yyyyMMddHHmmssZ, fx. 20171024143445+0200varchar(19)Ja
temporaryAddress.temporaryAddress.addrSe tabel ovenfor (delt struktur)-Nej
temporaryAddress.temporaryAddress.dataEntererSe tabel længere ovenfor (delt struktur)-Ja 
temporaryAddress.temporaryAddress.tobeDeletedIndikerer om opdateringen er en sletning af den pårørende.booleanJa
languageElement for opdatering af sprog.
Ja
language.language.idSprog id (UUID). Skal benyttes som nøgle ifm. opdatering og sletning af sprog.varchar(36)Ja
language.language.lastupdatedTidspunkt for seneste opdatering. Format: yyyyMMddHHmmssZ, fx. 20171024143445+0200varchar(19)Ja
language.language.languageCodeSprogkode. Format: ISO-639-1char(2)Nej
language.language.dataEntererSe tabel længere ovenfor (delt struktur)-Ja 
language.language.tobeDeletedIndikerer om opdateringen er en sletning af sprog.booleanJa
healthProviderElement for opdatering af tandlæge.-Ja
healthProvider.healthProvider.idSprog id (UUID). Skal benyttes som nøgle ifm. opdatering og sletning af tandlæge.varchar(36)Ja
healthProvider.healthProvider.lastupdatedTidspunkt for seneste opdatering. Format: yyyyMMddHHmmssZ, fx. 20171024143445+0200varchar(19)Ja
healthProvider.healthProvider.providerTypeSom attribut "code" angives "tandlæge", som er den eneste værdi der understøttes i aktuelle version.-Nej
healthProvider.healthProvider.organizationTandlægeorganisation. Se tabel ovenfor (delt struktur)-Nej
healthProvider.healthProvider.dataEntererSe tabel ovenfor (delt struktur)-Ja 
healthProvider.healthProvider.tobeDeletedIndikerer om opdateringen er en sletning af tandlægen.booleanJa

Request-eksempel:

<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
    <soap:Header/>
    <soap:Body>
        <ns4:SaveDataCardRequest xmlns:ns2="urn:hl7-org:v3" xmlns:ns3="urn:hl7-org:sdtc" xmlns:ns4="http://sundhedsdatastyrelsen.dk/skr/2022/02/10" xmlns:ns5="urn:hl7-org:fsk" xmlns:ns6="http://www.medcom.dk/dgws/2006/04/dgws-1.0.xsd" xmlns:ns7="urn:oasis:names:tc:SAML:2.0:assertion" xmlns:ns8="http://www.w3.org/2001/04/xmlenc#" xmlns:ns9="http://www.w3.org/2000/09/xmldsig#" xmlns:ns10="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd" xmlns:ns11="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd">
            <id assigningAuthorityName="CPR" extension="0501792275" root="1.2.208.176.1.2" />
            <contactInformation>
                <contactInformation>
                    <lastupdated>2022-05-11T10:54:13.000+02:00</lastupdated>
                    <telecom use="H" value="tel:98765432" />
                    <telecom use="WP" value="tel:98765432" />
                    <telecom use="MC" value="tel:98765432" />
                    <dataEnterer>
                        <ns2:time value="20190711015959+0200" />
                        <ns2:assignedAuthor>
                            <ns2:id assigningAuthorityName="CPR" extension="0309691444" root="1.2.208.176.1.2" />
                            <ns2:assignedPerson>
                                <ns2:name>
                                    <ns2:given>AuthorGivenName</ns2:given>
                                    <ns2:family>AuthorFamilyName</ns2:family>
                                </ns2:name>
                            </ns2:assignedPerson>
                            <ns2:representedOrganization classCode="ORG">
                                <ns2:id assigningAuthorityName="SOR" extension="1.2.208.176.1.1" root="1.2.208.176.1.1" />
                                <ns2:name>OrgName</ns2:name>
                            </ns2:representedOrganization>
                        </ns2:assignedAuthor>
                    </dataEnterer>
                </contactInformation>
            </contactInformation>
            <relatedPersons>
                <relatedPerson>
                    <associatedEntity classCode="CON">
                        <ns2:associatedPerson>
                            <ns2:name>
                                <ns2:given>Test</ns2:given>
                                <ns2:family>Testerson</ns2:family>
                            </ns2:name>
                        </ns2:associatedPerson>
                    </associatedEntity>
                    <relationshipType displayName="nabo" codeSystem="1.2.208.184.15.4" code="nabo" />
                    <note>A note</note>
                    <dataEnterer>
                        <ns2:time value="20190711015959+0200" />
                        <ns2:assignedAuthor>
                            <ns2:id assigningAuthorityName="CPR" extension="0309691444" root="1.2.208.176.1.2" />
                            <ns2:assignedPerson>
                                <ns2:name>
                                    <ns2:given>AuthorGivenName</ns2:given>
                                    <ns2:family>AuthorFamilyName</ns2:family>
                                </ns2:name>
                            </ns2:assignedPerson>
                            <ns2:representedOrganization classCode="ORG">
                                <ns2:id assigningAuthorityName="SOR" extension="1.2.208.176.1.1" root="1.2.208.176.1.1" />
                                <ns2:name>OrgName</ns2:name>
                            </ns2:representedOrganization>
                        </ns2:assignedAuthor>
                    </dataEnterer>
                    <tobeDeleted>false</tobeDeleted>
                </relatedPerson>
                <relatedPerson>
                    <id assigningAuthorityName="FSK" extension="2a527de4-2b28-4e4b-bd14-7006a0c04782" root="1.2.208.184.15.3" />
                    <associatedEntity classCode="CON">
                        <ns2:associatedPerson>
                            <ns2:name>
                                <ns2:given>Test2</ns2:given>
                                <ns2:family>Testerson2</ns2:family>
                            </ns2:name>
                        </ns2:associatedPerson>
                    </associatedEntity>
                    <relationshipType displayName="mor" codeSystem="1.2.208.184.15.4" code="mor" />
                    <note>A note</note>
                    <dataEnterer>
                        <ns2:time value="20190711015959+0200" />
                        <ns2:assignedAuthor>
                            <ns2:id assigningAuthorityName="CPR" extension="0309691444" root="1.2.208.176.1.2" />
                            <ns2:assignedPerson>
                                <ns2:name>
                                    <ns2:given>AuthorGivenName</ns2:given>
                                    <ns2:family>AuthorFamilyName</ns2:family>
                                </ns2:name>
                            </ns2:assignedPerson>
                            <ns2:representedOrganization classCode="ORG">
                                <ns2:id assigningAuthorityName="SOR" extension="1.2.208.176.1.1" root="1.2.208.176.1.1" />
                                <ns2:name>OrgName</ns2:name>
                            </ns2:representedOrganization>
                        </ns2:assignedAuthor>
                    </dataEnterer>
                    <tobeDeleted>false</tobeDeleted>
                </relatedPerson>
            </relatedPersons>
            <temporaryAddress>
                <temporaryAddress>
                    <addr isNotOrdered="false" use="H">
                        <ns2:streetAddressLine>Wallabyvej 42</ns2:streetAddressLine>
                        <ns2:streetAddressLine>Wallabyvej 42</ns2:streetAddressLine>
                        <ns2:streetAddressLine>Wallabyvej 42</ns2:streetAddressLine>
                        <ns2:streetAddressLine>Wallabyvej 42</ns2:streetAddressLine>
                        <ns2:postalCode>8000</ns2:postalCode>
                        <ns2:city>Aarhus</ns2:city>
                        <ns2:country>Denmark</ns2:country>
                        <ns2:useablePeriod value="20220511" />
                        <ns2:useablePeriod value="20220511" />
                    </addr>
                    <dataEnterer>
                        <ns2:time value="20190711015959+0200" />
                        <ns2:assignedAuthor>
                            <ns2:id assigningAuthorityName="CPR" extension="0309691444" root="1.2.208.176.1.2" />
                            <ns2:assignedPerson>
                                <ns2:name>
                                    <ns2:given>AuthorGivenName</ns2:given>
                                    <ns2:family>AuthorFamilyName</ns2:family>
                                </ns2:name>
                            </ns2:assignedPerson>
                            <ns2:representedOrganization classCode="ORG">
                                <ns2:id assigningAuthorityName="SOR" extension="1.2.208.176.1.1" root="1.2.208.176.1.1" />
                                <ns2:name>OrgName</ns2:name>
                            </ns2:representedOrganization>
                        </ns2:assignedAuthor>
                    </dataEnterer>
                    <tobeDeleted>false</tobeDeleted>
                </temporaryAddress>
            </temporaryAddress>
            <language>
                <language>
                    <languageCode codeSystem="1.2.208.184.15.7">en</languageCode>
                    <dataEnterer>
                        <ns2:time value="20190711015959+0200" />
                        <ns2:assignedAuthor>
                            <ns2:id assigningAuthorityName="CPR" extension="0309691444" root="1.2.208.176.1.2" />
                            <ns2:assignedPerson>
                                <ns2:name>
                                    <ns2:given>AuthorGivenName</ns2:given>
                                    <ns2:family>AuthorFamilyName</ns2:family>
                                </ns2:name>
                            </ns2:assignedPerson>
                            <ns2:representedOrganization classCode="ORG">
                                <ns2:id assigningAuthorityName="SOR" extension="1.2.208.176.1.1" root="1.2.208.176.1.1" />
                                <ns2:name>OrgName</ns2:name>
                            </ns2:representedOrganization>
                        </ns2:assignedAuthor>
                    </dataEnterer>
                    <tobeDeleted>false</tobeDeleted>
                </language>
            </language>
            <healthProvider>
                <healthProvider>
                    <providerType displayName="dentist" codeSystem="1.2.208.184.15.12" code="Tandl..ge" />
                    <organization>
                        <ns2:id assigningAuthorityName="Yder" extension="1.2.208.184.15.13" root="1.2.208.184.15.8" />
                        <ns2:name>hpOrg123456</ns2:name>
                        <ns2:telecom use="WP" value="tel:12345644" />
                        <ns2:addr isNotOrdered="false" use="WP">
                            <ns2:streetAddressLine>Wallabyvej 42</ns2:streetAddressLine>
                            <ns2:postalCode>8000</ns2:postalCode>
                            <ns2:city>Aarhus</ns2:city>
                            <ns2:country>Denmark</ns2:country>
                        </ns2:addr>
                    </organization>
                    <dataEnterer>
                        <ns2:time value="20190711015959+0200" />
                        <ns2:assignedAuthor>
                            <ns2:id assigningAuthorityName="CPR" extension="0309691444" root="1.2.208.176.1.2" />
                            <ns2:assignedPerson>
                                <ns2:name>
                                    <ns2:given>AuthorGivenName</ns2:given>
                                    <ns2:family>AuthorFamilyName</ns2:family>
                                </ns2:name>
                            </ns2:assignedPerson>
                            <ns2:representedOrganization classCode="ORG">
                                <ns2:id assigningAuthorityName="SOR" extension="1.2.208.176.1.1" root="1.2.208.176.1.1" />
                                <ns2:name>OrgName</ns2:name>
                            </ns2:representedOrganization>
                        </ns2:assignedAuthor>
                    </dataEnterer>
                    <tobeDeleted>false</tobeDeleted>
                </healthProvider>
            </healthProvider>
        </ns4:SaveDataCardRequest>
    </soap:Body>
</soap:Envelope>


Response-eksempel (indeholder ingen data):

<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/">
    <SOAP-ENV:Header/>
    <SOAP-ENV:Body>
        <ns2:SaveDataCardResponse xmlns:ns2="http://sundhedsdatastyrelsen.dk/skr/2022/02/10"/>
    </SOAP-ENV:Body>
</SOAP-ENV:Envelope>

Anvenderscenarie

I det følgende gives et ekempel på, hvordan et request kan se ud for en borger, der har et stamkort som opdateres. 
Da det skal kunne afgøres om stamkortet opdateres baseret på den seneste version af stamkortet for borgeren, skal requestet indeholde alle uændrede dele af stamkortet sammen med de opdateringer der skal laves. Desuden skal feltet "lastUpdated" være tilstede for alle oplysninger, der bevares, opdateres eller slettes. Kun ved oprettelse af en ikke allerede eksisterende oplysning i stamkortet kan denne udelades. LastUpdated udfyldes med værdierne fra det eksisterende stamkort. For at kunne reflektere disse krav i requestet hentes det eksisterende stamkort for patienten i eksemplet ud: 

<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
    <SOAP-ENV:Header xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" />
    <soap:Body>
        <ns2:GetPersonalDataCardResponse xmlns:ns10="http://www.medcom.dk/dgws/2006/04/dgws-1.0.xsd" xmlns:ns11="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd" xmlns:ns2="http://sundhedsdatastyrelsen.dk/skr/2021/06/02" xmlns:ns3="urn:hl7-org:v3" xmlns:ns4="urn:hl7-org:sdtc" xmlns:ns5="urn:hl7-org:fsk" xmlns:ns6="http://www.w3.org/2000/09/xmldsig#" xmlns:ns7="http://www.w3.org/2001/04/xmlenc#" xmlns:ns8="urn:oasis:names:tc:SAML:2.0:assertion" xmlns:ns9="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd">
            <ClinicalDocument classCode="DOCCLIN" moodCode="EVN">
                <ns3:realmCode code="DK" />
                <ns3:typeId extension="POCD_HD000040" root="2.16.840.1.113883.1.3" />
                <ns3:templateId root="1.2.208.184.15.1" />
                <ns3:id assigningAuthorityName="MedCom" extension="NA" root="1.2.208.184" />
                <ns3:code code="NA" codeSystem="1.2.208.184.15.1" displayName="Stamkort" />
                <ns3:title>Det F..lles StamKort</ns3:title>
                <ns3:effectiveTime value="20220512112235+0200" />
                <ns3:confidentialityCode code="N" codeSystem="2.16.840.1.113883.5.25" />
                <ns3:languageCode code="da-DK" />
                <ns3:versionNumber value="4" />
                <ns3:recordTarget contextControlCode="OP" typeCode="RCT">
                    <ns3:patientRole classCode="PAT" nullFlavor="NA">
                        <ns3:id assigningAuthorityName="CPR" extension="0501792275" root="1.2.208.176.1.2" />
                    </ns3:patientRole>
                </ns3:recordTarget>
                <ns3:author>
                    <ns3:time value="20220512112227+0200" />
                    <ns3:assignedAuthor>
                        <ns3:id assigningAuthorityName="CPR" extension="ANONYM" root="1.2.208.176.1.2" />
                        <ns3:assignedPerson>
                            <ns3:name>
                                <ns3:given>AuthorGivenName</ns3:given>
                                <ns3:family>AuthorFamilyName</ns3:family>
                            </ns3:name>
                        </ns3:assignedPerson>
                        <ns3:representedOrganization>
                            <ns3:id assigningAuthorityName="SOR" extension="1.2.208.176.1.1" root="1.2.208.176.1.1" />
                            <ns3:name>OrgName</ns3:name>
                        </ns3:representedOrganization>
                    </ns3:assignedAuthor>
                </ns3:author>
                <ns3:custodian>
                    <ns3:assignedCustodian>
                        <ns3:representedCustodianOrganization>
                            <ns3:id root="NA" />
                        </ns3:representedCustodianOrganization>
                    </ns3:assignedCustodian>
                </ns3:custodian>
                <ns3:component>
                    <ns3:structuredBody>
                        <ns3:component>
                            <ns3:section>
                                <ns3:text>FSK</ns3:text>
                                <ns3:entry>
                                    <ns5:relatedPerson>
                                        <ns5:id extension="relatedId1234567" root="1.2.208.184.15.3" />
                                        <ns5:associatedEntity classCode="CON">
                                            <ns3:associatedPerson>
                                                <ns3:name>
                                                    <ns3:given>Anne</ns3:given>
                                                    <ns3:family>Nielsen</ns3:family>
                                                </ns3:name>
                                            </ns3:associatedPerson>
                                        </ns5:associatedEntity>
                                        <ns5:relationshipType code="nabo" codeSystem="1.2.208.184.15.4" displayName="Nabo" />
                                        <ns5:note>A note</ns5:note>
                                        <ns5:dataEnterer>
                                            <ns3:time value="20220512112227+0200" />
                                            <ns3:assignedAuthor>
                                                <ns3:id assigningAuthorityName="CPR" extension="ANONYM" root="1.2.208.176.1.2" />
                                                <ns3:assignedPerson>
                                                    <ns3:name>
                                                        <ns3:given>AuthorGivenName</ns3:given>
                                                        <ns3:family>AuthorFamilyName</ns3:family>
                                                    </ns3:name>
                                                </ns3:assignedPerson>
                                                <ns3:representedOrganization>
                                                    <ns3:id assigningAuthorityName="SOR" extension="1.2.208.176.1.1" root="1.2.208.176.1.1" />
                                                    <ns3:name>OrgName</ns3:name>
                                                </ns3:representedOrganization>
                                            </ns3:assignedAuthor>
                                        </ns5:dataEnterer>
                                    </ns5:relatedPerson>
                                </ns3:entry>
                                <ns3:entry>
                                    <ns5:relatedPerson>
                                        <ns5:id extension="a703f048-7539-450d-8c9c-c60f082ebc2e" root="1.2.208.184.15.3" />
                                        <ns5:associatedEntity classCode="CON">
                                            <ns3:associatedPerson>
                                                <ns3:name>
                                                    <ns3:given>Mathias</ns3:given>
                                                    <ns3:family>Jensen</ns3:family>
                                                </ns3:name>
                                            </ns3:associatedPerson>
                                        </ns5:associatedEntity>
                                        <ns5:relationshipType code="far" codeSystem="1.2.208.184.15.4" displayName="Far" />
                                        <ns5:note>A note</ns5:note>
                                        <ns5:dataEnterer>
                                            <ns3:time value="20220512112227+0200" />
                                            <ns3:assignedAuthor>
                                                <ns3:id assigningAuthorityName="CPR" extension="ANONYM" root="1.2.208.176.1.2" />
                                                <ns3:assignedPerson>
                                                    <ns3:name>
                                                        <ns3:given>AuthorGivenName</ns3:given>
                                                        <ns3:family>AuthorFamilyName</ns3:family>
                                                    </ns3:name>
                                                </ns3:assignedPerson>
                                                <ns3:representedOrganization>
                                                    <ns3:id assigningAuthorityName="SOR" extension="1.2.208.176.1.1" root="1.2.208.176.1.1" />
                                                    <ns3:name>OrgName</ns3:name>
                                                </ns3:representedOrganization>
                                            </ns3:assignedAuthor>
                                        </ns5:dataEnterer>
                                    </ns5:relatedPerson>
                                </ns3:entry>
                                <ns3:entry>
                                    <ns5:temporaryAddress>
                                        <ns5:id extension="2cef7684-fe0f-44df-9f43-ca462b83d6cf" root="1.2.208.184.15.2" />
                                        <ns5:addr isNotOrdered="false" use="H">
                                            <ns3:streetAddressLine>Fiskergade 66</ns3:streetAddressLine>
                                            <ns3:streetAddressLine>Fiskergade 66</ns3:streetAddressLine>
                                            <ns3:postalCode>8000</ns3:postalCode>
                                            <ns3:city>Aarhus</ns3:city>
                                            <ns3:country>Denmark</ns3:country>
                                            <ns3:useablePeriod value="20220512" />
                                            <ns3:useablePeriod value="20220512" />
                                        </ns5:addr>
                                        <ns5:dataEnterer>
                                            <ns3:time value="20220512112227+0200" />
                                            <ns3:assignedAuthor>
                                                <ns3:id assigningAuthorityName="CPR" extension="ANONYM" root="1.2.208.176.1.2" />
                                                <ns3:assignedPerson>
                                                    <ns3:name>
                                                        <ns3:given>AuthorGivenName</ns3:given>
                                                        <ns3:family>AuthorFamilyName</ns3:family>
                                                    </ns3:name>
                                                </ns3:assignedPerson>
                                                <ns3:representedOrganization>
                                                    <ns3:id assigningAuthorityName="SOR" extension="1.2.208.176.1.1" root="1.2.208.176.1.1" />
                                                    <ns3:name>OrgName</ns3:name>
                                                </ns3:representedOrganization>
                                            </ns3:assignedAuthor>
                                        </ns5:dataEnterer>
                                    </ns5:temporaryAddress>
                                </ns3:entry>
                                <ns3:entry>
                                    <ns5:patientContact>
                                        <ns5:telecom use="H" value="tel:12345644" />
                                        <ns5:dataEnterer>
                                            <ns3:time value="20220512112227+0200" />
                                            <ns3:assignedAuthor>
                                                <ns3:id assigningAuthorityName="CPR" extension="ANONYM" root="1.2.208.176.1.2" />
                                                <ns3:assignedPerson>
                                                    <ns3:name>
                                                        <ns3:given>AuthorGivenName</ns3:given>
                                                        <ns3:family>AuthorFamilyName</ns3:family>
                                                    </ns3:name>
                                                </ns3:assignedPerson>
                                                <ns3:representedOrganization>
                                                    <ns3:id assigningAuthorityName="SOR" extension="1.2.208.176.1.1" root="1.2.208.176.1.1" />
                                                    <ns3:name>OrgName</ns3:name>
                                                </ns3:representedOrganization>
                                            </ns3:assignedAuthor>
                                        </ns5:dataEnterer>
                                    </ns5:patientContact>
                                </ns3:entry>
                            </ns3:section>
                        </ns3:component>
                    </ns3:structuredBody>
                </ns3:component>
            </ClinicalDocument>
        </ns2:GetPersonalDataCardResponse>
    </soap:Body>
</soap:Envelope>

Fra det hentede stamkort fremgår det at der eksisterer følgende oplysninger:

I en opdatering af stamkortet for borgeren ønskes det at:

Der oprettes et SaveDataCardRequest hvor ændringerne reflekteres.
På de forskellige oplysninger oplyses "lastUpdated", som det fremgår af dataEnterer.time feltet i det hentede stamkort.
For sprog og den nye pårørende sættes lastUpdated ikke, da de oprettes fra ny.
Desuden sendes Id også med for de forskellige oplysninger, men da Id er optionelt ved oprettelse, er det heller ikke sat for sprog og den nye pårørende. 
For den midlertidige addresse, som skal slettes, sættes toBeDeleted til true. 

Dermed kommer requestet til at se således ud:

<?xml version="1.0" encoding="UTF-8"?>
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
   <soap:Header/>
   <soap:Body>
      <ns4:SaveDataCardRequest xmlns:ns4="http://sundhedsdatastyrelsen.dk/skr/2022/02/10" xmlns:ns10="urn:oasis:names:tc:SAML:2.0:assertion" xmlns:ns11="http://www.medcom.dk/dgws/2006/04/dgws-1.0.xsd" xmlns:ns2="urn:hl7-org:v3" xmlns:ns3="urn:hl7-org:sdtc" xmlns:ns5="urn:hl7-org:fsk" xmlns:ns6="http://www.w3.org/2000/09/xmldsig#" xmlns:ns7="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd" xmlns:ns8="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd" xmlns:ns9="http://www.w3.org/2001/04/xmlenc#">
         <id assigningAuthorityName="CPR" extension="0501792275" root="1.2.208.176.1.2" />
         <contactInformation>
            <contactInformation>
               <lastupdated>20220512112227+0200</lastupdated>
               <telecom use="H" value="tel:12345644" />
               <dataEnterer>
                  <ns2:time value="20220512112227+0200" />
                  <ns2:assignedAuthor>
                     <ns2:id assigningAuthorityName="CPR" extension="ANONYM" root="1.2.208.176.1.2" />
                     <ns2:assignedPerson>
                        <ns2:name>
                           <ns2:given>AuthorGivenName</ns2:given>
                           <ns2:family>AuthorFamilyName</ns2:family>
                        </ns2:name>
                     </ns2:assignedPerson>
                     <ns2:representedOrganization>
                        <ns2:id assigningAuthorityName="SOR" extension="1.2.208.176.1.1" root="1.2.208.176.1.1" />
                        <ns2:name>OrgName</ns2:name>
                     </ns2:representedOrganization>
                  </ns2:assignedAuthor>
               </dataEnterer>
            </contactInformation>
         </contactInformation>
         <relatedPersons>
            <relatedPerson>
               <id extension="a703f048-7539-450d-8c9c-c60f082ebc2e" root="1.2.208.184.15.3" />
               <lastupdated>20220512112227+0200</lastupdated>
               <associatedEntity classCode="CON">
                  <ns2:associatedPerson>
                     <ns2:name>
                        <ns2:given>Mathias</ns2:given>
                        <ns2:family>Jensen</ns2:family>
                     </ns2:name>
                  </ns2:associatedPerson>
               </associatedEntity>
               <relationshipType displayName="Far" codeSystem="1.2.208.184.15.4" code="far" />
               <note>A note</note>
               <dataEnterer>
                  <ns2:time value="20220512112227+0200" />
                  <ns2:assignedAuthor>
                     <ns2:id assigningAuthorityName="CPR" extension="ANONYM" root="1.2.208.176.1.2" />
                     <ns2:assignedPerson>
                        <ns2:name>
                           <ns2:given>AuthorGivenName</ns2:given>
                           <ns2:family>AuthorFamilyName</ns2:family>
                        </ns2:name>
                     </ns2:assignedPerson>
                     <ns2:representedOrganization>
                        <ns2:id assigningAuthorityName="SOR" extension="1.2.208.176.1.1" root="1.2.208.176.1.1" />
                        <ns2:name>OrgName</ns2:name>
                     </ns2:representedOrganization>
                  </ns2:assignedAuthor>
               </dataEnterer>
               <tobeDeleted>false</tobeDeleted>
            </relatedPerson>
            <relatedPerson>
               <id assigningAuthorityName="FSK" extension="relatedId1234567" root="1.2.208.184.15.3" />
               <lastupdated>20220512112227+0200</lastupdated>
               <associatedEntity classCode="CON">
                  <ns2:associatedPerson>
                     <ns2:name>
                        <ns2:given>Anna</ns2:given>
                        <ns2:family>Nielsen</ns2:family>
                     </ns2:name>
                  </ns2:associatedPerson>
               </associatedEntity>
               <relationshipType displayName="nabo" codeSystem="1.2.208.184.15.4" code="nabo" />
               <note>A note</note>
               <dataEnterer>
                  <ns2:time value="20190711015959+0200" />
                  <ns2:assignedAuthor>
                     <ns2:id assigningAuthorityName="CPR" extension="0309691444" root="1.2.208.176.1.2" />
                     <ns2:assignedPerson>
                        <ns2:name>
                           <ns2:given>AuthorGivenName</ns2:given>
                           <ns2:family>AuthorFamilyName</ns2:family>
                        </ns2:name>
                     </ns2:assignedPerson>
                     <ns2:representedOrganization classCode="ORG">
                        <ns2:id assigningAuthorityName="SOR" extension="1.2.208.176.1.1" root="1.2.208.176.1.1" />
                        <ns2:name>OrgName</ns2:name>
                     </ns2:representedOrganization>
                  </ns2:assignedAuthor>
               </dataEnterer>
               <tobeDeleted>false</tobeDeleted>
            </relatedPerson>
            <relatedPerson>
               <associatedEntity classCode="CON">
                  <ns2:associatedPerson>
                     <ns2:name>
                        <ns2:given>Tanja</ns2:given>
                        <ns2:family>Jensen</ns2:family>
                     </ns2:name>
                  </ns2:associatedPerson>
               </associatedEntity>
               <relationshipType displayName="mor" codeSystem="1.2.208.184.15.4" code="mor" />
               <note>A note</note>
               <dataEnterer>
                  <ns2:time value="20190711015959+0200" />
                  <ns2:assignedAuthor>
                     <ns2:id assigningAuthorityName="CPR" extension="0309691444" root="1.2.208.176.1.2" />
                     <ns2:assignedPerson>
                        <ns2:name>
                           <ns2:given>AuthorGivenName</ns2:given>
                           <ns2:family>AuthorFamilyName</ns2:family>
                        </ns2:name>
                     </ns2:assignedPerson>
                     <ns2:representedOrganization classCode="ORG">
                        <ns2:id assigningAuthorityName="SOR" extension="1.2.208.176.1.1" root="1.2.208.176.1.1" />
                        <ns2:name>OrgName</ns2:name>
                     </ns2:representedOrganization>
                  </ns2:assignedAuthor>
               </dataEnterer>
               <tobeDeleted>false</tobeDeleted>
            </relatedPerson>
         </relatedPersons>
         <temporaryAddress>
            <temporaryAddress>
               <id extension="2cef7684-fe0f-44df-9f43-ca462b83d6cf" root="1.2.208.184.15.2" />
               <lastupdated>20220512112227+0200</lastupdated>
               <addr isNotOrdered="false" use="H">
                  <ns2:streetAddressLine>Fiskergade 66</ns2:streetAddressLine>
                  <ns2:streetAddressLine>Fiskergade 66</ns2:streetAddressLine>
                  <ns2:postalCode>8000</ns2:postalCode>
                  <ns2:city>Aarhus</ns2:city>
                  <ns2:country>Denmark</ns2:country>
                  <ns2:useablePeriod value="20220512" />
                  <ns2:useablePeriod value="20220512" />
               </addr>
               <dataEnterer>
                  <ns2:time value="20220512112227+0200" />
                  <ns2:assignedAuthor>
                     <ns2:id assigningAuthorityName="CPR" extension="ANONYM" root="1.2.208.176.1.2" />
                     <ns2:assignedPerson>
                        <ns2:name>
                           <ns2:given>AuthorGivenName</ns2:given>
                           <ns2:family>AuthorFamilyName</ns2:family>
                        </ns2:name>
                     </ns2:assignedPerson>
                     <ns2:representedOrganization>
                        <ns2:id assigningAuthorityName="SOR" extension="1.2.208.176.1.1" root="1.2.208.176.1.1" />
                        <ns2:name>OrgName</ns2:name>
                     </ns2:representedOrganization>
                  </ns2:assignedAuthor>
               </dataEnterer>
               <tobeDeleted>true</tobeDeleted>
            </temporaryAddress>
         </temporaryAddress>
         <language>
            <language>
               <languageCode codeSystem="1.2.208.184.15.7">en</languageCode>
               <dataEnterer>
                  <ns2:time value="20190711015959+0200" />
                  <ns2:assignedAuthor>
                     <ns2:id assigningAuthorityName="CPR" extension="0309691444" root="1.2.208.176.1.2" />
                     <ns2:assignedPerson>
                        <ns2:name>
                           <ns2:given>AuthorGivenName</ns2:given>
                           <ns2:family>AuthorFamilyName</ns2:family>
                        </ns2:name>
                     </ns2:assignedPerson>
                     <ns2:representedOrganization classCode="ORG">
                        <ns2:id assigningAuthorityName="SOR" extension="1.2.208.176.1.1" root="1.2.208.176.1.1" />
                        <ns2:name>OrgName</ns2:name>
                     </ns2:representedOrganization>
                  </ns2:assignedAuthor>
               </dataEnterer>
               <tobeDeleted>false</tobeDeleted>
            </language>
         </language>
      </ns4:SaveDataCardRequest>
   </soap:Body>
</soap:Envelope>


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

<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

<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

<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

<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:

ElementBeskrivelseTypeOptionel
timeTidspunkt for opdatering. Format: yyyyMMddHHmmssZ, fx. 20171024143445+0200varchar(19)Nej
assignedEntity.idEn eller flere forekomster med værdi i attribut "extension" og type 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(80), assigningAuthorityName varchar(30)Nej
assignedEntity.addr.streetAddressLineAdresselinje. Der kan forekomme op til 4 linjer i en adressevarchar(80)ja
assignedEntity.addr.postalCodePostnummervarchar(80)ja
assignedEntity.addr.cityBynavnvarchar(80)ja
assignedEntity.addr.countryLandvarchar(80)ja
assignedEntity.representedOrganization.id 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)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.

WSDL-filer
Stamkortregister DGWS
<server>/skr/wsdl/dgws20190801
Stamkortregister IDWS
<server>/skr/wsdl/idws20190801
Stamkortregister DGWS<server>/skr/wsdl/dgws20200728
Stamkortregister IDWS<server>/skr/wsdl/idws20200728


Valideringsbeskeder

Fejlkoder:

Webservicen følger ”Den Gode Webservice 1.0.1” hvilket betyder at fejlkoder, erklæres i faultelementet ”dgwsfault”, som specificerer indholdet af detail elementet for soap:Fault. I DGWS er detail elementet altid en medcom:FaultCode, der indeholder fejlkoden fra ”den gode webservice” som specificeret i deres ”Response-dataliste” eller en webservicespecifik kode.

Ved valideringsfejl for et request til SKR returneres der en fejlbesked, som indeholder en kode og overdnet tekst samt detaljer for fejlen. 
Eksempel: 200: Fejl i request i forbindelse med oprettelse af pårørende, Detaljer: Påkrævet element mangler: relatedPerson.associatedEntity.associatedPerson.name.given.

Nedenfor er de mulige fejlbeskeder beskrevet. Første tabel indeholder de overordnede fejlbeskeder og tilhørende fejlkoder, mens tabellen derunder indeholder de fejlbeskeder, der beskriver detaljer for fejlen.

For webservicespecifikke koder er der følgende, som alle pakkes ind i ”skr:FaultCode”:

Valideringsbeskeder

KodeBeskedBeskrivelse af fejlsituation
100Der opstod en fejl-
101Der opstod en fejl i forbindelse med hent stamkortFejlen opstår ved kald af operationen GetPersonalDataCard.
102Ingen data fundet-
200Fejl i request i forbindelse med oprettelse af pårørende

Fejlen opstår når man forsøger at oprette slægtninge ved kald af operationen CreateRelatives og den givne Uuid for slægtningen ikke findes.

201Intern fejl i forbindelse med oprettelse af pårørendeFejlen opstår ved kald af operationen CreateRelatives.
210Fejl i request i forbindelse med ændring af pårørendeFejlen opstår når man forsøger at opdatere slægtninge ved kald af operationen UpdateRelatives.
211Intern fejl i forbindelse med ændring af pårørendeFejlen opstår ved kald af operationen UpdateRelatives.
220Fejl i request i forbindelse med sletning af pårørende

Fejlen opstår når man forsøger at slette slægtninge ved kald af operationen DeleteRelatives og den angivne RelativeId ikke findes.

221Intern fejl i forbindelse med sletning af pårørendeFejlen opstår ved kald af operationen DeleteRelatives.
230Fejl i request i forbindelse med oprettelse af sprogFejlen opstår ved kald af operationen CreateLanguage og den angivne sprogkode ikke eksisterer i databasen.
231Intern fejl i forbindelse med oprettelse af sprog

Fejlen opstår ved kald af operationen CreateLanguage.

240Fejl i request i forbindelse med ændring af sprogFejlen opstår ved kald af operationen UpdateLanguage og hvis det angivne sprog mangler eller allerede eksisterer for en person.
241Intern fejl i forbindelse med ændring af sprogFejlen opstår ved kald af operationen UpdateLanguage.
250Fejl i request i forbindelse med sletning af sprogFejlen opstår ved kald af operationen DeleteLanguage og hvis det angivne LanguageId mangler.
251Intern fejl i forbindelse med sletning af sprogFejlen opstår ved kald af operationen DeleteLanguage.
260Fejl i request i forbindelse med oprettelse af midlertidig adresse

Fejlen opstår når man forsøger at oprette TemporaryAddress vha. kald til operationen CreateTemporaryAddress og en af følgende situationer gælder:

  • Hvis den angivne adresse allerede eksisterer
  • Der er en anden TemporaryAddress
  • Tidsperioden for TemporaryAddress er forkert. 
261Intern fejl i forbindelse med oprettelse af midlertidig adresseFejlen opstår ved kald af operationen CreateTemporaryAddress.
270Fejl i request i forbindelse med ændring af midlertidig adresseNår man opdaterer TempraryAddress med UpdateTemporaryAddress-tjenestemetoden, konstateres det, at den givne adresse allerede eksisterer, der er en anden TemporaryAddress, eller tidsperioden for TempraryAddress er forkert. Undtagelse er kastet, når du kalder UpdateTemporaryAddress-tjenestemetoden, undtagelse er knyttet til fejlmeddelelsen
271Intern fejl i forbindelse med ændring af midlertidig adresseFejlen opstår ved kald af operationen UpdateTemporaryAddress.
280Fejl i request i forbindelse med sletning af midlertidig adresseNår du sletter TempraryAddress med DeleteTemporaryAddress-tjenestemetoden, konstateres det, at den angivne adresse er tom eller ikke eksisterer. Undtagelse er kastet, når du kalder DeleteTemporaryAddress-tjenestemetoden, undtagelse er knyttet til fejlmeddelelsen
281Intern fejl i forbindelse med sletning af midlertidig adresseFejlen opstår ved kald af operationen DeleteTemporaryAddress.
290Fejl i request i forbindelse med oprettelse af tandlægeNår du opretter HealthProvider med CreateHealthProvider-tjenestemetoden, konstateres det, at den givne HealthProvider ikke eksisterer, eller en anden HealthProvider eksisterer allerede. Undtagelse er kastet, når DeleteLanguages servicemetode kaldes, undtagelse er knyttet til fejlmeddelelse
291Intern fejl i forbindelse med oprettelse af tandlægeFejlen opstår ved kald af operationen CreateHealthProvider.
300Fejl i request i forbindelse med ændring af tandlægeNår du opdaterer HealthProvider med UpdateHealthProvider-servicemetoden, konstateres det, at der ikke er nogen HealthProvider at opdatere, eller også eksisterer den HealthcareProvider, der er sendt i anmodningen, allerede. Undtagelse er kastet, når du kalder UpdateHealthProvider service metode, undtagelse er knyttet til fejlmeddelelse
301Intern fejl i forbindelse med ændring af tandlægeFejlen opstår ved kald af operationen UpdateHealthProvider.
310Fejl i request i forbindelse med sletning af tandlægeNår du sletter HealthProvider med DeleteHealthProvider-tjenestemetoden, konstateres det, at det givne HealthProviderId er tomt, eller der er ingen nuværende HealthProvider at slette. Undtagelse er kastet, når du kalder DeleteHealthProvider-servicemetoden, undtagelse er knyttet til fejlmeddelelsen
311Intern fejl i forbindelse med sletning af tandlægeFejlen opstår ved kald af operationen DeleteHealthProvider.
320Fejl i request i forbindelse med ændring af kontaktinformationNår du opdaterer ContactInformation med UpdateContactInformation-tjenestemetoden, er en af anmodningsattributterne ikke i det forventede format. For eksempel er telefonnummeret større end den maksimale længde (45 tegn)
321Intern fejl i forbindelse med ændring af kontaktinformationFejlen opstår ved kald af operationen UpdateContactInformation.
400Fejl i request i forbindelse med gem datacard

Et af følgende elementer for Relative i serviceanmodningen er tomt (Relative.ServiceActor, TempAddress.ServiceActor, Language.ServiceActor, HealthProvider.ServiceActor, ContactInformation.ServiceActor)

Den givne slægtning i anmodningen om at gemme eller opdatere tjenesten er ikke til stede.

401Intern fejl i forbindelse med gem datacardFejlen opstår ved kald af operationen saveDataCard og hvis den angivne slægning der skal slettes ikke findes.
410Borgerens kontaktoplysninger eksisterer i forvejenNår du validerer mod eksisterende kontaktoplysninger, konstateres det, at de givne kontaktoplysninger i anmodningen allerede eksisterer.
420Borgerens midlertidige adresse eksisterer i forvejenVed validering mod eksisterende adresse findes den givne adresse i anmodningen allerede.
430Borgerens sprog eksisterer i forvejenNår man validerer mod eksisterende sprog, konstateres det, at det givne sprog i anmodningen allerede eksisterer.
440Borgerens tandlæge eksisterer i forvejenVed validering mod eksisterende tandlæge konstateres det, at den givne tandlæge i anmodningen allerede eksisterer.
500Ugyldig sikkerhedsbilletNår du validerer SccurityTicket, konstateres det, at billetten mangler eller er ugyldig
501Adgang til CPR-nummeret ikke tilladtBrugeren har ikke tilladelse til at kalde den specifikke servicemetode
502CPR-nummer angivet som DataEnterer i request matcher ikke CPR-nummer i certifikatDet CPR-nummer, der er angivet i serviceanmodningen, stemmer ikke overens med det certifikat, der blev brugt til at ringe til tjenesten
503CVR-nummer er ikke whitelisted til DGWS niveau 3 kald på denne operationCVR-nummer er ikke whitelisted
504Delegering ikke tilladtActingUser er en HealthcareProfessional, men ingen PrincipalUser er til stede
505CVR nummer ikke fundet i sikkerhedsbillettenDer findes ingen CVR i sikkerhedsbilletten, der bruges til at ringe til tjenesten
506Bruger skal være identificeret ved CPR nummerUserIdentifier er ikke i CPR-format
507

Brugertype kunne ikke bestemmes udfra sikkerhedsbillet

-
508Forkert audience i sikkerhedsbilletDet angivne publikum har ikke tilladelse til at bruge tjenesten
509Ingen gyldig bruger type identificeretIngen ActingUser og ingen organisation er til stede i den medfølgende sikkerhedsbillet
510Delegering ikke tilladt, da ingen relation angivet mellem borgere kunne bestemmesDer er ikke fundet nogen delegationsrelation mellem den person, der er angivet i sikkerhedsbilletten og CPR for den person, der er angivet i serviceanmodningen
800Fejl i request i forbindelse med migrering af stamkortFælles Stamkort er verificeret af borgeren
801Intern fejl i forbindelse med migrering af stamkortFejlen opstår ved kald af operationen MigratePersonalDataCard.
802Der opstod en fejl i forbindelse med migrering af stamkort-
810Fejl i request i forbindelse med migrering af stamkortDer eksisterer et telefonnummer af type hjemme i forvejen
820Fejl i request i forbindelse med migrering af stamkortBorgerens sprog eksisterer i forvejen
830Fejl i request i forbindelse med migrering af stamkortBorgerens TempAddress findes allerede
900Tidsstempel matcher ikke allerede gemt dataTidsstemplet i serviceanmodningen for opdatering stemmer ikke overens med det tidspunkt, hvor data sidst blev opdateret. Dette gælder elementer: ContactInfo, Pårørende, Sprog, TempAddress og HealthProvider.

Detaljer for valideringsbeskeder:

Tidsstemplet [datetime] for elementet [element navn] overholder ikke det påkrævede format.

Elementet [element navn] skal starte med følgende præfiks: [præfiks]. Fandt værdien: [element værdi]

Ugyldig værdi fundet: [værdi]

Ugyldigt element fundet: [element navn]

Værdien [værdi] er ikke tilladt for elementet [element]. Tilladte værdier er: [tilladte værdier]
[antal fundet] elementer blev fundet, men der tillades maks [antal tilladt]: [element navn]
[antal fundet] elementer blev fundet, men mindst [antal påkrævet] elementer er påkrævet: [element navn]
Der blev ikke fundet noget gyldigt indhold i elementet: [element navn]
Påkrævet element mangler: [element navn]
[antal] af de påkrævede adresseelementer ([elementer]) mangler i elementet: [element navn]
Længden af værdien [værdi] overstiger det tilladte maks på [tilladt længde]
Længden af værdien [værdi] er mindre end det påkrævede minimum på [påkrævet længde]
Værdien "given + family" overstiger maks længde: [maks længde], Fundet: [længde]: [element navn]
"given" skal indeholde mindst ét tegn.
Root '[oid værdi]' og assigning authority '[værdi]' er ikke tilladte i elementet: [element navn] Tilladte elementer er: [elementer]
Ugyldig relationshiptype code: [værdi]

Person id ikke gyldigt. 10 cifre er påkrævet [element navn] [[id]]

Id eksisterer ikke

Kaldet til PersonInformation fejlede: [exception message]

Uspecificeret valideringsfejl ved indlæsning [request type] Request: [fejlbesked]

Ugyldig language code: [sprogkode]

Id for en eller flere af de specificerede pårørende matcher ikke nuværende data.

Ingen pårørende fundet med UUID: [uuid]

Ingen tandlæge fundet med UUID: [uuid]

Ingen midlertidig adresse fundet med UUID: [uuid]

Ingen sprog fundet med UUID: [uuid]

Ingen id'er for pårørende i request.

Intet id for tandlæge i request.

Intet id for midlertidig adresse i request.

Intet id for sprog i request.

Der er allerede angivet en midlertidig adresse for borgeren.

Der er allerede angivet en tandlæge for borgeren: [tandlæge navn]

Der er allerede angivet et sprog for borgeren: [sprogkode]

Et id for en pårørende i create-request findes allerede: [uuid]

Id'et for midlertidig adresse i create-request findes allerede: [uuid]

Id'et for tandlæge i create-request findes allerede: [uuid]

Id'et for sprog i create-request findes allerede: [uuid]

StartingDate må ikke være senere end EndingDate

Et ukendt adresseelement blev fundet: UsablePeriod

Mere end 2 period elementer blev fundet i adressen.

Et ukendt adresseelement blev fundet.

Adressen kunne ikke parses.

Navn skal bestå af to dele: Given og family.

Datetime string [datetime] overholder ikke det gyldige format: [datetime format]

Ukendt phone type fundet. H, MC, or WP er gyldige.

Mere end 4 street elementer blev fundet i addressen.

Intern fejl: navne på klasser og labels skal matche.

Ugyldigt input ved kald af MinLog service.

Fejl ved oprettelse af MinLog data.

Fejl ved forberedelse af input til MinLog registrering.

Fejl ved oprettelse af MinLog data: CPRnummer er påkrævet for personen, hvis data hentes/opdateres.

Fejl ved oprettelse af MinLog data: CPR for brugeren er påkrævet.

Fejl ved oprettelse af MinLog data: Activity er påkrævet.

Fejl ved oprettelse af MinLog data: Event time er påkrævet.

Fejl ved oprettelse af MinLog data: Source system er påkrævet.

Der forsøges at opdatere oplysninger i borgerens stamdata, hvor det lokale tidsstempel ikke matcher det der ligger i databasen. Genindlæs fra stamkortregister for at få de nyeste data (der kan være opdateret siden sidste hentning)

Der forsøges at oprette et telefonnummer på borgeren, hvor det eksisterer i forvejen. Genindlæs fra stamkortregister, og opdater telefonnummeret

Der forsøges at oprette en midlertidig adresse på borgeren, hvor den eksisterer i forvejen. Genindlæs fra stamkortregister, og opdater den midlertidige adresse

Der forsøges at oprette et sprog på borgeren, hvor det eksisterer i forvejen. Genindlæs fra stamkortregister, og opdater sproget

Der forsøges at oprette en tandlæge for borgeren, hvor der eksisterer en i forvejen. Genindlæs fra stamkortregister, og opdater tandlægen

DataEnterer er påkrævet ved opdatering.