Page History
...
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 Servicen beskrives i det følgende, som forudsætter kendskab til HL7 CDA og webservices.
...
Indhold
...
| Table of Contents |
|---|
...
Præcisering omkring antal midlertidige adresser, så der altid kun er én
...
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)
...
Tilrettet således pårørendes telefonnummer, efternavn gøres optionel
Slut-dato på midlertidig adresse gøres optionel
...
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:
| Gliffy Diagram | ||||||
|---|---|---|---|---|---|---|
|
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:
| Type | OID | Beskrivelse | Eksempel |
|---|---|---|---|
| Patientkontakt | 1.3.6.1.4.1.19376.1.5.3.1.2.4 | Template-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"/> |
| SOR | 1.2.208.176.1.1 | Type af organisations-ID baseret på SOR. | <id extension="368061000016003" root="1.2.208.176.1.1" assigningAuthorityName="SOR"/> |
| SKS | 2.16.840.1.113883.3.4208.100.5 | Type af organisations-ID baseret på SKS. | <id extension="368061000016003" root="2.16.840.1.113883.3.4208.100.5" assigningAuthorityName="SKS"/> |
| CVR-P | 1.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"/> |
| CVR | 1.2.208.184.15.10* | Type af organisations-ID baseret på CVR. | <id extension="368061000016003" root="1.2.208.184.15.10" assigningAuthorityName="CVR"/> |
| Ydernummer | 1.2.208.184.15.8* | Type af organisations-ID baseret på Ydernummer |
...
Indhold
| Table of Contents |
|---|
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:
| Gliffy Diagram | ||||||
|---|---|---|---|---|---|---|
|
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:
| Type | OID | Beskrivelse | Eksempel | ||
|---|---|---|---|---|---|
| Patientkontakt | 1.3.6.1.4.1.19376.1.5.3.1.2.4 | Template-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"/> | ||
| SOR | 1.2.208.176.1.1 | Type af organisations-ID baseret på SOR. | <id extension="368061000016003" root="1.2.208.176184.115.18" assigningAuthorityName="SORYder"/> | ||
| Kommunekode | SKS | 2.16.840.1.1138832.3208.4208184.10015.511* | Type af organisations-ID baseret på SKSKommunekode. | <id extension="3680610000160033680610000" root="2.16.840.1.1138832.3208.4208184.10015.511" assigningAuthorityName="SKSKommunekode"/> | |
| CVR-PCPR | 1.2.208.184176.151.9*2 | CPR-nummerType af organisations-ID baseret på CVR-P. | <id extension=" 3680610000160032512489996" root="1.2.208. 184176. 151. 92" assigningAuthorityName=" CVR-PCPR"/> CVR | ||
| DK MedCom (member body) | 1.2.208.184.15.10* | Type af organisations-ID baseret på CVR. | Id på ClinicalDocument. Ikke aktual ifm. SKR (extension=NA) | <ns2:id assigningAuthorityName="MedCom" extension="NA <id extension="368061000016003" root="1.2.208.184 .15.10" assigningAuthorityName=" CVR"/> | |
| Ydernummer | 1.2.208.184.15.8* | Type af organisations-ID baseret på Ydernummer. | <id extension="368061000016003" root="1.2.208.184.15.8" assigningAuthorityName="Yder"/> | ||
| Kommunekode | 1.2.208.184.15.11* | Type af organisations-ID baseret på Kommunekode. | <id extension="3680610000" root="1.2.208.184.15.11" assigningAuthorityName="Kommunekode"/> | ||
| CPR | 1.2.208.176.1.2 | CPR-nummer | <id extension="2512489996" root="1.2.208.176.1.2" assigningAuthorityName="CPR"/> | ||
| DK MedCom (member body) | 1.2.208.184 | Id på ClinicalDocument. Ikke aktual ifm. SKR (extension=NA) | <ns2:id assigningAuthorityName="MedCom" extension="NA" root="1.2.208.184"/> | ||
| Fortrolighed | 2. | Fortrolighed | 2.16.840.1.113883.5.25 | Altid N=Normal ifm. SKR | <ns2:confidentialityCode code="N" codeSystem="2.16.840.1.113883.5.25"/> |
| ISO-angivelse af sprog | 1.0.639.1 | ISO-639-1 formatteret sprog | <ns4:languageCode codeSystem="1.0.639.1">de</ns4:languageCode> | ||
| ISO-angivelse af køn | 2.16.840.1.113883.5.1 | En borgers køn (M/F) | <ns2:administrativeGenderCode code="F" codeSystem="2.16.840.1.113883.5.1"/> | ||
| Dokument type-id | 2.16.840.1.113883.1.3 | HL7-registreret RMIM (HL7 internal) | <ns2:typeId extension="POCD_HD000040" root="2.16.840.1.113883.1.3"/> | ||
| Stamkode code system | 1.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 adresse | 1.2.208.184.15.2* | IDer (UUID) på midlertidige adresse | <ns4:temporaryAddress> | ||
| Pårørende | 1.2.208.184.15.3* | IDer (UUID) på pårørende | <ns4:relatedPerson> | ||
| Pårørende type | 1.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"/> | ||
| Autorisationsid | 1.2.208.176.1.3* | IDer (UUID) på autorisationskoder | <ns2:id assigningAuthorityName="AUTORISATION" extension="09YM8" root="1.2.208.176.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.
...
Følgende er et eksempel på en opdateringsnotifikation:
...
Der anvendes dette topic: http://sundhedsdatastyrelsen.dk/PersonalDataCard/2020/11/01:DataCardUpdated
...
Stamkortet kan desuden hentes som et "on demand"-dokument via Dokumentdelingsservicen (DDSvia SFSK ("Synkroniseringsservice til Fælles Stamkort" i anvendernes fagsystemer).
| WSDL-filer | |
|---|---|
| JSON-output med overblik over WSDL'erne, der viser nyeste versioner, alle versioner og tilhørende operationer. | <server>/skr/wsdl |
| Nyeste version af Stamkortregister DGWS | <server>/skr/wsdl/dgws20240101 |
| Nyeste version af Stamkortregister IDWS | <server>/skr/wsdl/idws20240101 |
WSDL
Forskellen mellem den nyeste og den gamle snitflade er, at den nye snitflade i version 3.0 af Fælles Stamkort CDA indeholder detaljerede informationer om, hvem der har udfyldt hvert delelement af stamkortet via det udvidede AssignedAuthor-felt. Denne udvidelse gør det muligt at identificere, om dataene er indtastet af en sundhedsfaglig medarbejder, patienten selv, eller en pårørende med fuldmagt, hvilket ikke er en del af den tidligere version. (Ændring er sket i SDS-6761)
WSDL
WSDLen for SKR indeholder nedenstående operationer
...
Response-eksempel (indeholder ingen ingen data):
| Code Block | ||||||
|---|---|---|---|---|---|---|
| ||||||
<soap:Body> <ns5:CreateRelativesResponse xmlns:ns10="http://www.medcom.dk/dgws/2006/04/dgws-1.0.xsd" xmlns:ns11="urn:oasis:names:tc:SAML:2.0:assertion" xmlns:ns2="urn:hl7-org:fsk" xmlns:ns3="urn:hl7-org:v3" xmlns:ns4="urn:hl7-org:sdtc" xmlns:ns5="http://sundhedsdatastyrelsen.dk/skr/2024/01/01" xmlns:ns6="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss- wssecurity-utility-1.0.xsd" xmlns:ns7="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd" xmlns:ns8="http://www.w3.org/2001/04/xmlenc#" xmlns:ns9="http:// www.w3.org/2000/09/xmldsig#"/> </soap:Body> |
...
| Code Block | ||||||
|---|---|---|---|---|---|---|
| ||||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ds="http://www.w3.org/2000/09/xmldsig#" xmlns:medcom="http://www.medcom.dk/dgws/2006/04/dgws-1.0.xsd" xmlns:saml="urn:oasis:names:tc:SAML:2.0:assertion" xmlns:sosi="http://www.sosi.dk/sosi/2006/04/sosi-1.0.xsd" xmlns:wsa="http://schemas.xmlsoap.org/ws/2004/08/addressing" xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd" xmlns:wst="http://schemas.xmlsoap.org/ws/2005/02/trust" xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" id="Envelope">
<soapenv:Header>
...
</soapenv:Header>
<soapenv:Body>
<ns4:DeleteRelativesRequest xmlns:ns2="urn:hl7-org:v3" xmlns:ns3="urn:hl7-org:sdtc" xmlns:ns4="http://sundhedsdatastyrelsen.dk/skr/2024/01/01" xmlns:ns5="urn:hl7-org:fsk"
xmlns:ns6="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns7="http://www.medcom.dk/dgws/2006/04/dgws-1.0.xsd">
<id assigningAuthorityName="CPR" extension="1509669054" root="1.2.208.176.1.2"/>
<relativeId assigningAuthorityName="FSK" extension="1b0ccade-f3aa-4c74-b341-10528b5eb126" root="1.2.208.184.15.3"/>
<relativeId assigningAuthorityName="FSK" extension="86ae6d2c-96a4-441f-99ee-c8ff30b4e579" root="1.2.208.184.15.3"/>
<dataEnterer>
<ns2:time value="20190711015959+0200"/>
<ns2:assignedAuthor>
<ns2:id assigningAuthorityName="CPR" extension="0611809735" root="1.2.208.176.1.2"/>
<ns2:assignedPerson>
<ns2:name>
<ns2:given>Charles</ns2:given>
<ns2:family>Babbage</ns2:family>
</ns2:name>
</ns2:assignedPerson>
<ns2:representedOrganization classCode="ORG">
<ns2:id assigningAuthorityName="SOR" extension="1.2.208.176.1.2" root="1.2.208.176.1.1"/>
<ns2:name>Sundhedsdatastyrelsen</ns2:name>
</ns2:representedOrganization>
</ns2:assignedAuthor>
</dataEnterer>
</ns4:DeleteRelativesRequest>
</soapenv:Body>
</soapenv:Envelope> |
Response-eksempel eksempel (indeholder ingen data):
| Code Block | ||||||
|---|---|---|---|---|---|---|
| ||||||
<soap:Body> <ns5:DeleteRelativesResponse xmlns:ns10="http://www.medcom.dk/dgws/2006/04/dgws-1.0.xsd" xmlns:ns11="urn:oasis:names:tc:SAML:2.0:assertion" xmlns:ns2="urn:hl7-org:fsk" xmlns:ns3="urn:hl7-org:v3" xmlns:ns4="urn:hl7-org:sdtc" xmlns:ns5="http://sundhedsdatastyrelsen.dk/skr/2024/01/01" xmlns:ns6="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss- wssecurity-utility-1.0.xsd" xmlns:ns7="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd" xmlns:ns8="http://www.w3.org/2001/04/xmlenc#" xmlns:ns9="http:// www.w3.org/2000/09/xmldsig#"/> </soap:Body> |
...
| Code Block | ||||||
|---|---|---|---|---|---|---|
| ||||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ds="http://www.w3.org/2000/09/xmldsig#" xmlns:medcom="http://www.medcom.dk/dgws/2006/04/dgws-1.0.xsd" xmlns:saml="urn:oasis:names:tc:SAML:2.0:assertion" xmlns:sosi="http://www.sosi.dk/sosi/2006/04/sosi-1.0.xsd" xmlns:wsa="http://schemas.xmlsoap.org/ws/2004/08/addressing" xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd" xmlns:wst="http://schemas.xmlsoap.org/ws/2005/02/trust" xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" id="Envelope">
<soapenv:Header>
...
</soapenv:Header>
<soapenv:Body>
<ns5:UpdateTemporaryAddressRequest xmlns:ns2="urn:hl7-org:fsk" xmlns:ns3="urn:hl7-org:v3" xmlns:ns4="urn:hl7-org:sdtc" xmlns:ns5="http://sundhedsdatastyrelsen.dk/skr/2024/01/01"
xmlns:ns6="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns7="http://www.medcom.dk/dgws/2006/04/dgws-1.0.xsd">
<id assigningAuthorityName="CPR" extension="1509669054" root="1.2.208.176.1.2"/>
<ns2:temporaryAddress>
<ns2:id extension="5e56a675-9f6e-4410-8920-c0b8a3047299" root="1.2.208.184.15.2"/>
<ns2:addr isNotOrdered="false" use="H">
<ns3:streetAddressLine>Wallabyvej 42</ns3:streetAddressLine>
<ns3:streetAddressLine>Wallabyvej 42</ns3:streetAddressLine>
<ns3:streetAddressLine>Wallabyvej 42</ns3:streetAddressLine>
<ns3:streetAddressLine>Wallabyvej 42</ns3:streetAddressLine>
<ns3:postalCode>8000</ns3:postalCode>
<ns3:city>Aarhus</ns3:city>
<ns3:country>Sweden</ns3:country>
<ns3:useablePeriod value="20241029"/>
<ns3:useablePeriod value="20241029"/>
</ns2:addr>
</ns2:temporaryAddress>
<dataEnterer>
<ns3:time value="20190711015959+0200"/>
<ns3:assignedAuthor>
<ns3:id assigningAuthorityName="CPR" extension="0611809735" root="1.2.208.176.1.2"/>
<ns3:assignedPerson>
<ns3:name>
<ns3:given>Charles</ns3:given>
<ns3:family>Babbage</ns3:family>
</ns3:name>
</ns3:assignedPerson>
<ns3:representedOrganization classCode="ORG">
<ns3:id assigningAuthorityName="SOR" extension="1.2.208.176.1.2" root="1.2.208.176.1.1"/>
<ns3:name>Sundhedsdatastyrelsen</ns3:name>
</ns3:representedOrganization>
</ns3:assignedAuthor>
</dataEnterer>
</ns5:UpdateTemporaryAddressRequest>
</soapenv:Body>
</soapenv:Envelope> |
Response-eksempel eksempel (indeholder ingen data):
| Code Block | ||||||
|---|---|---|---|---|---|---|
| ||||||
<soap:Body> <ns5:UpdateTemporaryAddressResponse xmlns:ns10="http://www.medcom.dk/dgws/2006/04/dgws-1.0.xsd" xmlns:ns11="urn:oasis:names:tc:SAML:2.0:assertion" xmlns:ns2="urn:hl7-org:fsk" xmlns:ns3="urn:hl7-org:v3" xmlns:ns4="urn:hl7-org:sdtc" xmlns:ns5="http://sundhedsdatastyrelsen.dk/skr/2024/01/01" xmlns:ns6="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss- wssecurity-utility-1.0.xsd" xmlns:ns7="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd" xmlns:ns8="http://www.w3.org/2001/04/xmlenc#" xmlns:ns9="http:// www.w3.org/2000/09/xmldsig#"/> </soap:Body> |
...
| Code Block | ||||||
|---|---|---|---|---|---|---|
| ||||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ds="http://www.w3.org/2000/09/xmldsig#" xmlns:medcom="http://www.medcom.dk/dgws/2006/04/dgws-1.0.xsd" xmlns:saml="urn:oasis:names:tc:SAML:2.0:assertion" xmlns:sosi="http://www.sosi.dk/sosi/2006/04/sosi-1.0.xsd" xmlns:wsa="http://schemas.xmlsoap.org/ws/2004/08/addressing" xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd" xmlns:wst="http://schemas.xmlsoap.org/ws/2005/02/trust" xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" id="Envelope">
<soapenv:Header>
...
</soapenv:Header>
<soapenv:Body>
<ns4:DeleteTemporaryAddressRequest xmlns:ns2="urn:hl7-org:v3" xmlns:ns3="urn:hl7-org:sdtc" xmlns:ns4="http://sundhedsdatastyrelsen.dk/skr/2024/01/01" xmlns:ns5="urn:hl7-org:fsk"
xmlns:ns6="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns7="http://www.medcom.dk/dgws/2006/04/dgws-1.0.xsd">
<id assigningAuthorityName="CPR" extension="1509669054" root="1.2.208.176.1.2"/>
<temporaryAddressId assigningAuthorityName="FSK" extension="5e56a675-9f6e-4410-8920-c0b8a3047299" root="1.2.208.184.15.2"/>
<dataEnterer>
<ns2:time value="20190711015959+0200"/>
<ns2:assignedAuthor>
<ns2:id assigningAuthorityName="CPR" extension="0611809735" root="1.2.208.176.1.2"/>
<ns2:assignedPerson>
<ns2:name>
<ns2:given>Charles</ns2:given>
<ns2:family>Babbage</ns2:family>
</ns2:name>
</ns2:assignedPerson>
<ns2:representedOrganization classCode="ORG">
<ns2:id assigningAuthorityName="SOR" extension="1.2.208.176.1.2" root="1.2.208.176.1.1"/>
<ns2:name>Sundhedsdatastyrelsen</ns2:name>
</ns2:representedOrganization>
</ns2:assignedAuthor>
</dataEnterer>
</ns4:DeleteTemporaryAddressRequest>
</soapenv:Body>
</soapenv:Envelope> |
Response-eksempel eksempel (indeholder ingen data):
| Code Block | ||||||
|---|---|---|---|---|---|---|
| ||||||
<soap:Body> <ns5:DeleteTemporaryAddressResponse xmlns:ns10="http://www.medcom.dk/dgws/2006/04/dgws-1.0.xsd" xmlns:ns11="urn:oasis:names:tc:SAML:2.0:assertion" xmlns:ns2="urn:hl7-org:fsk" xmlns:ns3="urn:hl7-org:v3" xmlns:ns4="urn:hl7-org:sdtc" xmlns:ns5="http://sundhedsdatastyrelsen.dk/skr/2024/01/01" xmlns:ns6="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss- wssecurity-utility-1.0.xsd" xmlns:ns7="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd" xmlns:ns8="http://www.w3.org/2001/04/xmlenc#" xmlns:ns9="http:// www.w3.org/2000/09/xmldsig#"/> </soap:Body> |
...
| 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/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 | ||||
| author.assignedAuthor.code | Bruger type (borger, pårørende eller sundhedsprofessionel). På response. Atributter:
| - | 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" | 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) - SAVEDATACARDSNITFLADE ER DEPRECATED OG SKAL DERFOR IKKE BRUGES LÆNGER
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.
| Code Block | ||||
|---|---|---|---|---|
| ||||
<?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
WSDLen indeholder nedenstående operationer:
...
Opdater en borgers stamkort.
Serviceoperationer for SaveDataCard
SAVEDATACARDSNITFLADE ER DEPRECATED OG SKAL DERFOR IKKE BRUGES LÆNGER
...
Ja
(fra release 1.0.5)
...
Ja
(fra release 1.0.5)
...
- 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" | extension varchar(80), assigningAuthorityName varchar(30) | Ja |
| assignedAuthor.representedOrganization.name | Organisations navn | varchar(30) | Ja |
Request-eksempel:
| Code Block | ||||||
|---|---|---|---|---|---|---|
| ||||||
<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):
| Code Block | ||||||
|---|---|---|---|---|---|---|
| ||||||
<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
SAVEDATACARDSNITFLADE ER DEPRECATED OG SKAL DERFOR IKKE BRUGES LÆNGER
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:
| Code Block | ||||||
|---|---|---|---|---|---|---|
| ||||||
<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:
| Code Block | ||||||
|---|---|---|---|---|---|---|
| ||||||
<?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
SAVEDATACARDSNITFLADE ER DEPRECATED OG SKAL DERFOR IKKE BRUGES LÆNGER
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:
...
Migreringssnitflade
Der er lavet en midlertidig migreringssnitflade der kan benyttes til migrering af lokale stamkort.
...
| 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 |
...
Fejlsituationer i forbindelse med MigratePersonalDataCard
Udover xml valideringsfejl og interne fejl kan migreringssnitfladen returnere følgende fejlkoder.
...
| WSDL-filer | |
|---|---|
| Stamkortregister DGWS | <server>/skr/wsdl/dgws20180501 |
| Stamkortregister DGWS | <server>/skr/wsdl/dgws20190801 |
| Stamkortregister DGWS | <server>/skr/wsdl/dgws20200728 |
| Stamkortregister DGWS | <server>/skr/wsdl/dgws20210602 |
| Stamkortregister IDWS | <server>/skr/wsdl/idws20180501 |
| Stamkortregister IDWS | <server>/skr/wsdl/idws20190801 |
| Stamkortregister DGWSIDWS | <server>/skr/wsdl/dgws20200728idws20200728 |
| Stamkortregister IDWS | <server>/skr/wsdl/idws20200728idws20210602 |
Valideringsbeskeder
Fejlkoder:
...