Versions Compared

Key

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

...

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

...

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

extension varchar(10), assigningAuthorityName varchar(30)

Nej
author.assignedAuthor.code

Bruger type (borger, pårørende eller sundhedsprofessionel). På response.

Atributter:

  • code: EnteredCitizen, EnteredCitizenRelative eller EnteredHealthcareprofessional
  • displayName: Læsbar bruger type
  • codeSystem: fast værdi
  • codeSystemName: fast værdi
-Nej
assignedAuthor.assigningPerson.name.given

For borgere: For- og mellemnavn på person bag opdatering

For sundhedsfaglige: enten for- og evt. mellemnavn på person bag opdatering eller titel - f.eks. "Lægesekretær"

varchar(80)Nej
assignedAuthor.assigningPerson.name.family

For borgere: Efternavn på person bag opdatering

For sundhedsfaglige: enten efternavn på person bag opdatering eller overordnet sundhedsorganisation - f.eks. "Region Nordjylland" and "Silkeborg kommune"

varchar(80)Nej
assignedAuthor.representedOrganization.id

Organisations id, såfremt der er tale om en sundhedsperson. Værdi findes i attribut "extension", type i attribut "assigningAuthorityName"
(Bemærk denne attribut udstilles ikke i CDA for Fælles stamkort version PDC-DK-v.2.0)

extension varchar(80), assigningAuthorityName varchar(30)Ja
assignedAuthor.representedOrganization.name

Organisations navn (Bemærk denne attribut udstilles ikke i CDA for Fælles stamkort version PDC-DK-v.2.0)

varchar(30)Ja

Snitflade til asynkron opdatering af stamkortet (Savedatacardsnitflade) - 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
titleSaveDataCard.xsd
collapsetrue
<?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)

...

Request-eksempel:

Code Block
languagexml
titleSaveDataCard request
collapsetrue
<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
languagexml
titleSaveDataCard response
collapsetrue
<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
languagexml
titleEksempel på borgerens eksisterende stamkort
collapsetrue
<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
languagexml
titleEksempel på SaveDataCardRequest, hvor borgerens stamkort opdateres
collapsetrue
<?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.

...