Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

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

2021-11-02Præcisering af snitfladerKvalitetsIT

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.

...

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

Snitflader

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

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

...

dgws20190801
WSDL-filer
HTML-side med overblik
<server>/skr/wsdl
Stamkortregister DGWS<server>/skr/wsdl/dgws20210602
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:

idws20210602

WSDL

WSDLen for SKR indeholder nedenstående operationer:

OperationBeskrivelse
OperationBeskrivelse
GetPersonalDataCard_2021_06_02

Hent stamkort for en specifik borger.


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

UpdateContactInformation_2021_06_02

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

Opret midlertidig adresse for den pågældende borger

Info

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

UpdateTemporaryAddress_2021_06_02Opdater midlertidig adresse
DeleteTemporaryAddress_2021_06_02Slet midlertidig adresse
CreateLanguage_2021_06_02

Opret borgers sprog

Info

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

UpdateLanguage_2021_06_02

Opdater borgers sprog
DeleteLanguage_2021_06_02Slet borgers sprog
CreateHealthProvider_2021_06_02

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

Info

Det har tidligere været muligt at oprette flere tandlæger til  en borger. Det er dog bestemt efter pilotafprøvningen, at dette 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

...

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

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.

ElementBeskrivelseTypeOptionelidSom attribut "extension" angives personens CPR-nummer (uden bindestreg)
ElementBeskrivelseTypeOptionel
streetAddressLineAdresselinje, 0-4 forekomstervarchar(80)Ja
postalCodePostnummer
varchar(10)
Nej
Ja
city
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)JarelatedPersonsListe-struktur tilsvarende relatedPerson i GetPersonalDataCard response-JatemporaryAddressDen midlertidige adresse der skal oprettes. Indeholder addr-struktur, som beskrevet længere nede-JalanguageSprogkode. Format: ISO-639-1char(2)JadataEntererMigrationSystemet der migrerer stamkort. Se tabel længere nede (delt struktur)-Nej

Fejl situatuioner i forbindelse med MigratePersonalDataCard

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

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

I denne situation har borgeren allerede verificere stamkortet i skr.

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

Request-eksempel: FailVerifiedLanguageExist_request.xml

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

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

I denne situation har stakmkortet i skr allerede et arbejdstelefonnummer.

Der forsøges migrering af arbejdstelefonnummer.

Request-eksempel:  FailWorkPhoneExist_request.xml

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

Fejl fordi stamkort i skr allerede indeholder sprog.  Fejlkode 820

I denne situation indeholder stakmkortet i skr borgerens sprog.

Der forsøges migrering af sprog.

Request-eksempel: FailLanguageExist_request.xml

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

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

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

Der forsøges migrering af midlertidig adresse.

Request-eksempel: FailTemporaryAddressExist_request.xml

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

Addr

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

...

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

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

Format for value-attributten er yyyyMMdd

Info

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

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

...

Byvarchar(80)Ja
countryLandvarchar(80)Ja
useablePeriod

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

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

Format for value-attributten er yyyyMMdd

Info

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

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

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

Organization

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

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

Telefonnummer på organisationen

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

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

DataEnterer

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

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

extension varchar(10), assigningAuthorityName varchar(30)

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

Migreringssnitflade

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

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

Til migreringssnitfladen er der følgende wsdl fil.

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

MigratePersonalDataCard

Request-eksempel: Migrate_request.xml

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

Fejl situatuioner i forbindelse med MigratePersonalDataCard

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

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

I denne situation har borgeren allerede verificere stamkortet i skr.

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

Request-eksempel: FailVerifiedLanguageExist_request.xml

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

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

I denne situation har stakmkortet i skr allerede et arbejdstelefonnummer.

Der forsøges migrering af arbejdstelefonnummer.

Request-eksempel:  FailWorkPhoneExist_request.xml

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

Fejl fordi stamkort i skr allerede indeholder sprog.  Fejlkode 820

I denne situation indeholder stakmkortet i skr borgerens sprog.

Der forsøges migrering af sprog.

Request-eksempel: FailLanguageExist_request.xml

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

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

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

Der forsøges migrering af midlertidig adresse.

Request-eksempel: FailTemporaryAddressExist_request.xml

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

Organization

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

...

Telefonnummer på organisationen

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

...

DataEnterer

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

...

extension varchar(10), assigningAuthorityName varchar(30)

...

DataEntererMigration

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

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

Ældre snitflader

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

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