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:

SKR ClinicalDocument v5

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"/>
Autorisationsid1.2.208.176.1.3*IDer (UUID) på autorisationskoder<ns2:id assigningAuthorityName="AUTORISATION" extension="09YM8" root="1.2.208.176.1.3"/>

* 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

Notifikationer i NAS

I forbindelse med skriveoperationer i SKR (oprettelse, opdateringer og sletninger) oprettes notifikationer via NAS. Se evt. NAS 2.0 Anvenderguide.

De enkelte notifikationer indholder ikke detaljer vedr. opdateringen eller stamkortet, men udelukkende oplysninger om det cprnummer der er blevet opdateret. Det er efterfølgende op til anvenderen at hente det opdaterede stamkort ud via snitfladerne.

DataCardUpdated
<?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 opdateringsnotifikation:

Eksempel på notifikation ved skrivning fra SKR
<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 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:

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

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

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

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

CreateRelatives organization request
<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:

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

DeleteHealthProvider response
<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/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

Snitflade til asynkron opdatering af stamkortet (Savedatacardsnitflade)

Denne snitflade gør det muligt 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. Anvendes niveau 3 ID-kort, pålægges det anvendersystemet at lave en registrering i borgerens Minlog med angivelse af den sundhedsfaglige bruger som ændringen skrives på vegne af.

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 øvrige 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.

SaveDataCard.xsd
<?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:

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

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

Eksempel på borgerens eksisterende stamkort
<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:

  • relatedPerson: En pårørende: Anne Nielsen, Nabo.
  • relatedPerson: En pårørende: Mathias Jensen, Far.
  • temporaryAddress: En midlertidig adresse for borgeren.
  • patientContact: Kontaktoplysninger på borgeren med et hjemmetelefonnr.

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

  • Den midlertidige adresse slettes
  • En Opdatering af den pårørende Anne Nielsen, hvor navnet rettes til Anna Nielsen
  • Der oprettes endnu en pårørende ved navn Tanja Jensen med relationen Mor.
  • Der oprettes sprog for borgeren, som er Engelsk.
  • Kontaktoplysninger og den anden pårørende forbliver det samme.
  • Der er fortsat ikke oprettet en tandlæge i borgerens stamkort. 

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:

Eksempel på SaveDataCardRequest, hvor borgerens stamkort opdateres
<?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>

Mapning af Yder OID mellem FSK og SKR

SaveDataCard snitfladen anvender nogle andre OID'er/værdier end FSK faktisk returnerer, så derfor skal der ske en mapning mellem dem.

Yder OID'er i retursvar fra FSK skal mappes til SKR SaveDataCard request på denne måde:


1.2.208.176.1.4 - NSI OID fra FSK

1.2.208.184.15.8 - Medcom OID der benyttes i SKR

Dvs når man får en korrekt NSI OID ind for yderregisteret fra FSK, så skal man ikke bare indsætte sammen OID i savedatacard snitfladen - der SKAL benyttes den anden MedCom OID.

Migreringssnitflade

Der er lavet en midlertidig migreringssnitflade der kan benyttes til migrering af lokale stamkort.

De generelle 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 migreringssnitfladen returnere følgende fejlkoder. 

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

I denne situation har stamkortet i skr allerede et arbejdstelefonnummer.

Der forsøges migrering af arbejdstelefonnummer.

Request-eksempel:  FailWorkPhoneExist_request.xml

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

Fejl fordi stamkort i skr allerede indeholder sprog.  Fejlkode 820

I denne situation indeholder stamkortet i skr borgerens sprog.

Der forsøges migrering af sprog.

Request-eksempel: FailLanguageExist_request.xml

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

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

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

Der forsøges migrering af midlertidig adresse.

Request-eksempel: FailTemporaryAddressExist_request.xml

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

Fejl fordi stamkort i skr allerede indeholder pårørende.  Fejlkode 840

I denne situation indeholder stamkortet i skr en eller flere pårørende på borgeren.

Der forsøges migrering af pårørende.

Request-eksempel: FailRelativesExist_request.xml

Response body
<SOAP-ENV:Body>
  <SOAP-ENV:Fault>
	<faultcode>SOAP-ENV:Server</faultcode>
	<faultstring xml:lang="en">840: Fejl i request i forbindelse med migrering af stamkort, Borgerens pårørende 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 migreringssnitfladen 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ølgende 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 adresse

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

  • Hvis den angivne adresse allerede eksisterer.
  • Der er en anden TemporaryAddress.
  • Tidsperioden for TemporaryAddress er forkert. 
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 adresse

Fejlen opstår når man forsøger at slette TemporaryAddress vha. kald til operationen DeleteTemporaryAddress og der gælder at den angivne adresse er tom eller ikke eksisterer.

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æge

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

  • Hvis den angivne HealthProvider ikke eksisterer.
  • Der eksisterer allerede en anden HealthProvider.
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æge

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

  • hvis der ikke er nogen HealthProvider at opdatere.
  • Den medsendte HealthcareProvider eksistere allerede
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æge

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

  • Hvis den angivne HealthProviderId er tom.
  • Der er ingen nuværende HealthProvider at slette. 
311Intern fejl i forbindelse med sletning af tandlægeFejlen opstår ved kald af operationen DeleteHealthProvider.
320Fejl i request i forbindelse med ændring af kontaktinformationFejlen opstår ved opdatering af ContactInformation vha. kald til operationend UpdateContactInformation og en af attributterne i kaldet ikke er i det forventede format. Eksempelvis hvis 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

Fejlen opstår i en af følgende situationer:

  • Et af følgende elementer for Relative i kaldet er tomt (Relative.ServiceActor, TempAddress.ServiceActor, Language.ServiceActor, HealthProvider.ServiceActor, ContactInformation.ServiceActor).
  • Den angivne slægtning i kaldet ikke findes.
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 forvejenFejlen opstår hvis de angivne kontaktoplysninger i kaldet allerede findes.
420Borgerens midlertidige adresse eksisterer i forvejenFejlen opstår hvis den angivne adresse i kaldet allerede findes.
430Borgerens sprog eksisterer i forvejenFejlen opstår hvis det angivne sprog i kaldet allerede findes.
440Borgerens tandlæge eksisterer i forvejenFejlen opstår hvis den angivne tandlæge i kaldet allerede findes.
500Ugyldig sikkerhedsbilletFejlen opstår hvis sikkerhedsbilletten enten mangler eller er ugyldig.
501Adgang til CPR-nummeret ikke tilladtFejlen opstår hvis brugeren brugeren ikke har tilladelse til at kalde operationen.
502CPR-nummer angivet som DataEnterer i request matcher ikke CPR-nummer i certifikatFejlen opstår hvis det CPR-nummer, der er angivet i kaldet, ikke stemmer overens med det certifikat der benyttes i service kaldet.
503CVR-nummer er ikke whitelisted til DGWS niveau 3 kald på denne operationFejlen opstår hvis CVR-nummeret i certifikatet er ikke whitelisted.
504Delegering ikke tilladtFejlen opstår hvis ActingUser er en HealthcareProfessional, men ingen PrincipalUser er til stede.
505CVR nummer ikke fundet i sikkerhedsbillettenFejlen opstår ved sikkerhedsbilletten ikke indeholder et CVR nummer.
506Bruger skal være identificeret ved CPR nummerFejlen opstår hvis UserIdentifier ikke er i CPR-format
507

Brugertype kunne ikke bestemmes udfra sikkerhedsbillet

-
508Forkert audience i sikkerhedsbilletFejlen opstår hvis sikkerhedsbilletten ikke indeholder det korrekte audience.
509Ingen gyldig bruger type identificeretFejlen opstår hvis sikkerhedsbilletten ikke indeholder hverken ActingUser eller Organisation.
510Delegering ikke tilladt, da ingen relation angivet mellem borgere kunne bestemmesFejlen opstår hvis sikkerhedsbilletten ikke indeholder en person der hvor der er relation til det CPR nummer der er angivet i service kaldet.
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]
Uoverensstemmelse mellem root '[oid værdi]' og assigning authority '[værdi]' i elementet: [element navn]
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.




  • No labels