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

HL7 CDA

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

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

Begreber

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

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

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

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

<ns2:participant typeCode="IND">

<ns2:templateId root="1.3.6.1.4.1.19376.1.5.3.1.2.4"/>

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

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

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

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

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

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

Fortrolighed2.16.840.1.113883.5.25Altid N=Normal ifm. SKR

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

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

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

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

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

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

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

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

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

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

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

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

* id defineres endeligt af MedCom.

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

Snitflade

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) via DGWS/IDWS Proxy-service. Sidstnævnte rammes ved at kalde URL'en <server>/skr/skr . I driftsvejledningen er beskrevet mere detaljeret 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/dgws20190801
Stamkortregister IDWS
<server>/skr/wsdl/idws20190801
Stamkortregister DGWS<server>/skr/wsdl/dgws20200728
Stamkortregister IDWS<server>/skr/wsdl/idws20200728
Stamkortregister DGWS<server>/skr/wsdl/dgws20210408
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 ikkom e 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-eksempel: GetPersonalDataCard_request.xml

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


Response-eksempel: GetPersonalDataCard_response.xml

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

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

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

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

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

UpdateContactInformation

Request-eksempel: UpdateContactInformation_request.xml

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

Response-eksempel (indeholder ingen data): UpdateContactInformation_response.xml

CreateRelatives

Request-eksempel: CreateRelatives_organisation_request.xml

Request-eksempel med Id: CreateRelativesWithId_request.xml

ElementBeskrivelseTypeOptionel
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

Response-eksempel (indeholder ingen data): CreateRelatives_response.xml

UpdateRelatives

Request-eksempel: UpdateRelatives_request.xml

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

Response-eksempel (indeholder ingen data): UpdateRelatives_response.xml

DeleteRelatives

Request-eksempel: DeleteRelatives_request.xml

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

Response-eksempel (indeholder ingen data): DeleteRelatives_response.xml

CreateTemporaryAddress

Request-eksempel: CreateTemporaryAddress_request.xml

Request-eksempel med id: CreateTemporaryAddressWithId_request.xml

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

Response-eksempel (indeholder ingen data): CreateTemporaryAddress_response.xml

UpdateTemporaryAddress

Request-eksempel: UpdateTemporaryAddress_request.xml

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

Response-eksempel (indeholder ingen data): UpdateTemporaryAddress_response.xml

DeleteTemporaryAddress

Request-eksempel: DeleteTemporaryAddress_request.xml

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

Response-eksempel (indeholder ingen data): DeleteTemporaryAddress_response.xml

CreateLanguage

Request-eksempel: CreateLanguage_request.xml

Request-eksempel med id: CreateLanguageWithId_request.xml

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

Response-eksempel (indeholder ingen data): CreateLanguage_response.xml

UpdateLanguage

Request-eksempel: UpdateLanguage_request.xml

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

Response-eksempel (indeholder ingen data): UpdateLanguage_response.xml

DeleteLanguage

Request-eksempel: DeleteLanguage_request.xml

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

Response-eksempel (indeholder ingen data): DeleteLanguage_response.xml

CreateHealthProvider

Request-eksempel: CreateHealthProvider_request.xml

Request-eksempel med Id: CreateHealthProviderWithId_request.xml

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

UpdateHealthProvider

Request-eksempel: UpdateHealthProvider_request.xml

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

DeleteHealthProvider

Request-eksempel: DeleteHealthProvider_request.xml

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

MigratePersonalDataCard

Request-eksempel: Migrate_request.xml

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

Fejl situatuioner i forbindelse med MigratePersonalDataCard

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

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

I denne situation har borgeren allerede verificere stamkortet i skr.

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

Request-eksempel: FailVerifiedLanguageExist_request.xml

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

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

I denne situation har stakmkortet i skr allerede et arbejdstelefonnummer.

Der forsøges migrering af arbejdstelefonnummer.

Request-eksempel:  FailWorkPhoneExist_request.xml

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

Fejl fordi stamkort i skr allerede indeholder sprog.  Fejlkode 820

I denne situation indeholder stakmkortet i skr borgerens sprog.

Der forsøges migrering af sprog.

Request-eksempel: FailLanguageExist_request.xml

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

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

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

Der forsøges migrering af midlertidig adresse.

Request-eksempel: FailTemporaryAddressExist_request.xml

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

Addr

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

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

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

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

Format for value-attributten er yyyyMMdd

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
telecomTelefonnummer på organisationenvarchar(45)Ja
addr.streetAddressLineAdresselinje. Der kan forekomme op til 4 linjer i en adressevarchar(80)Ja
addr.postalCodePostnummervarchar(80)Ja
addr.cityBynavnvarchar(80)Ja
addr.countryLandvarchar(80)Ja

DataEnterer

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

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

extension varchar(10), assigningAuthorityName varchar(30)

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

DataEntererMigration

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

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