Page History
...
Version | Dato | Ændring | Ansvarlig |
---|---|---|---|
2018-08-31 | Initialt dokument | Trifork | |
2018-09-13 | Tilføjet manglende beskrivelse af ID-attribut for Language-struktur (UUID). Beskrivelse af, at Stamkort hentes via Det Fælles Stamkort | Trifork | |
2018-09-19 | Rettet et forkert link til CreateTemporaryAddress request eksempel. | Trifork | |
2018-10-09 | Tilfø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.11 | 2019-08-02 | Opdateret beskrivelse af snitflade til 2019/08/01-snitfladen | Trifork |
1.0.17 | 2020-08-05 | Opdateret beskrivelse af snitflade til 2020/07/28-snitfladen | Kvalitetsit |
1.0.18 | 2021-04-27 | Ny migreringssnitflade | Kvalitetsit |
1.0.19 | 2021-06-08 | navne skift i snitflade fra fsk til skr | Kvalitetsit |
1.0.21 | 2021-09-02 | Præcisering af URL til wsproxy | KvalitetsIT |
2021-11-02 | Præcisering af snitflader | KvalitetsIT |
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.
...
WSDL-filer | ||
---|---|---|
HTML-side med overblik | <server>/skr/wsdl | |
Stamkortregister DGWS | <server>/skr/wsdl/ | dgws20190801dgws20210602 |
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:
Operation | Beskrivelse | ||
---|---|---|---|
Operation | Beskrivelse | ||
GetPersonalDataCard_2021_06_02 | Hent stamkort for en specifik borger.
| ||
UpdateContactInformation_2021_06_02 | Opdater en borgers kontaktoplysninger | ||
CreateRelatives_2021_06_02 | Opret en pårørende | ||
UpdateRelatives_2021_06_02 | Opdater en pårørendes stamdata | ||
DeleteRelatives_2021_06_02 | Slet en pårørende | ||
CreateTemporaryAddress_2021_06_02 | Opret midlertidig adresse for den pågældende borger
| ||
UpdateTemporaryAddress_2021_06_02 | Opdater midlertidig adresse | ||
DeleteTemporaryAddress_2021_06_02 | Slet midlertidig adresse | ||
CreateLanguage_2021_06_02 | Opret borgers sprog
| ||
UpdateLanguage_2021_06_02 | Opdater borgers sprog | ||
DeleteLanguage_2021_06_02 | Slet borgers sprog | ||
CreateHealthProvider_2021_06_02 | Opret en tandlæge for den pågældende borger
| ||
UpdateHealthProvider_2021_06_02 | Opdater tandlæge | ||
DeleteHealthProvider_2021_06_02 | Slet en tandlæge | ||
MigratePersonalDataCard_2021_04_08 | Migrering af data fra lokale fagsystemer til Fælles Stamkort |
...
Element | Beskrivelse | Type | Optionel |
---|---|---|---|
id | Som attribut "extension" angives personens CPR-nummer (uden bindestreg) | varchar(10) | Nej |
healthProvider.id | ID på den tandlæge der skal slettes. | varchar(36) | Nej |
dataEnterer | Personen 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.
Element | Beskrivelse | Type | Optionel |
---|---|---|---|
streetAddressLine | Adresselinje, 0-4 forekomster | varchar(80) | Ja |
postalCode | Postnummer |
varchar(10) |
Ja |
city |
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 | ||
---|---|---|
| ||
<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 | ||
---|---|---|
| ||
<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 | ||
---|---|---|
| ||
<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 | ||
---|---|---|
| ||
<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) |
...
By | varchar(80) | Ja | |||
country | Land | varchar(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"/> Format for value-attributten er yyyyMMdd
| varchar(8) for value-attribut | Ja (men ikke for temporayAdress) |
Organization
Organisation anvendes til at beskrive navn, adresse mv. for en tandlæge
Element | Beskrivelse | Type | Optionel |
---|---|---|---|
id | Som attribut "extension" angives organisationens ydernummer | varchar(80) | Ja |
name | Navn på organisationen | varchar(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.streetAddressLine | Adresselinje. Der kan forekomme op til 4 linjer i en adresse | varchar(80) | Ja |
addr.postalCode | Postnummer | varchar(80) | Ja |
addr.city | Bynavn | varchar(80) | Ja |
addr.country | Land | varchar(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):
Element | Beskrivelse | Type | Optionel |
---|---|---|---|
time | Tidspunkt for opdatering. Format: yyyyMMddHHmmssZ, fx. 20171024143445+0200 | varchar(19) | Nej |
assignedAuthor.id | En 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.given | For- og mellemnavn på person bag opdatering | varchar(80) | Nej |
assignedAuthor.assigningPerson.name.family | Efternavn på person bag opdatering | 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" | extension varchar(80), assigningAuthorityName varchar(30) | Ja |
assignedAuthor.representedOrganization.name | Organisations navn | varchar(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
Element | Beskrivelse | Type | Optionel |
---|---|---|---|
id | Som attribut "extension" angives personens CPR-nummer (uden bindestreg) | varchar(10) | Nej |
contactInformation | 0-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 |
relatedPersons | Liste-struktur tilsvarende relatedPerson i GetPersonalDataCard response | - | Ja |
temporaryAddress | Den midlertidige adresse der skal oprettes. Indeholder addr-struktur, som beskrevet længere nede | - | Ja |
language | Sprogkode. Format: ISO-639-1 | char(2) | Ja |
dataEntererMigration | Systemet 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 | ||
---|---|---|
| ||
<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 | ||
---|---|---|
| ||
<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 | ||
---|---|---|
| ||
<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 | ||
---|---|---|
| ||
<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:
Element | Beskrivelse | Type | Optionel |
---|---|---|---|
time | Tidspunkt for opdatering. Format: yyyyMMddHHmmssZ, fx. 20171024143445+0200 | varchar(19) | Nej |
assignedEntity.id | En 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.streetAddressLine | Adresselinje. Der kan forekomme op til 4 linjer i en adresse | varchar(80) | ja |
assignedEntity.addr.postalCode | Postnummer | varchar(80) | ja |
assignedEntity.addr.city | Bynavn | varchar(80) | ja |
assignedEntity.addr.country | Land | varchar(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 |