SAVEDATACARDSNITFLADE ER DEPRECATED OG SKAL DERFOR IKKE BRUGES LÆNGERE

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.

<?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-filer
Stamkortregister DGWS<server>/skr/wsdl/dgws20220210

WSDL

WSDLen indeholder nedenstående operationer:

OperationBeskrivelse
savedatacard_2022_02_10.wsdl

Opdater en borgers stamkort.

Serviceoperationer for SaveDataCard

ElementBeskrivelseTypeOptionel
idSom attribut "extension" angives personens CPR-nummer (uden bindestreg)varchar(10)Nej
contactInformationElement for opdatering af kontaktinformation.-Ja
contactInformation.contactInformation.lastupdatedTidspunkt for seneste opdatering. Format: yyyyMMddHHmmssZ, fx. 20171024143445+0200varchar(19)Ja
contactInformation.contactInformation.telecom0-3 forekomster med attribut use=H/MP/WP (H=home, MP=mobile phone, WP=work place). Telefonnummer angives i attributten "value" med præfix "tel:", fx value="tel:01123622"varchar(45)Nej
contactInformation.contactInformation.dataEntererPersonen der opretter. Se tabel ovenfor (delt struktur)-Ja
relatedPersonsElement for opdatering af relatedPersons. Indeholder en liste af RelatedPersonType-Ja
relatedPersons.relatedPerson.idPårørendes id (UUID). Skal benyttes som nøgle ifm. UpdateRelatives/DeleteRelativesvarchar(36)Ja
relatedPersons.relatedPerson.lastupdatedTidspunkt for seneste opdatering. Format: yyyyMMddHHmmssZ, fx. 20171024143445+0200varchar(19)Ja
relatedPersons.relatedPerson.associatedEntity.addrSe tabel ovenfor (delt struktur)-Ja
relatedPersons.relatedPerson.associatedEntity.telecom0-3 forekomster med attribut use=H/MC/WP (H=home, MC=mobile contact, WP=work place). Telefonnummer angives i attributten "value" med præfix "tel:", fx value="tel:01123622"varchar(45)

Ja

(fra release 1.0.5)

relatedPersons.relatedPerson.associatedEntity.associatedPerson.name.givenPårørendes for- og mellemnavnvarchar(80)Nej
relatedPersons.relatedPerson.associatedEntity.associatedPerson.name.familyPårørendes efternavnvarchar(80)

Ja

(fra release 1.0.5)

relatedPersons.relatedPerson.relationshipTypePårørendes type (en af følgende MedCom-typer: uspec_paaroerende, barn, aegtefaelle, forælder, barnebarn, svigerbarn, ingen_relationer, nabo, samboende, registreret_partner, søskende, øvrig_familie)<relationshipType code=MecomType codeSystem="1.2.208.184.15.4"
displayName=MecomType />
Nej
relatedPersons.relatedPerson.noteFritekstbeskrivelse af den pårørendes rolle i forhold til borgeren, hvilke opgaver personen kan være behjælpelig med osv.varchar(1000)Ja
relatedPersons.relatedPerson.dataEntererSe tabel længere ovenfor (delt struktur)-Ja 
relatedPersons.relatedPerson.tobeDeletedIndikerer om opdateringen er en sletning af den pårørende.booleanJa
temporaryAddressElement for opdatering af midlertidig adresse.-Ja
temporaryAddress.temporaryAddress.idMidlertid adresse id (UUID). Skal benyttes som nøgle ifm. opdatering og sletning af midlertidig adresse.varchar(36)Ja
temporaryAddress.temporaryAddress.lastupdatedTidspunkt for seneste opdatering. Format: yyyyMMddHHmmssZ, fx. 20171024143445+0200varchar(19)Ja
temporaryAddress.temporaryAddress.addrSe tabel ovenfor (delt struktur)-Nej
temporaryAddress.temporaryAddress.dataEntererSe tabel længere ovenfor (delt struktur)-Ja 
temporaryAddress.temporaryAddress.tobeDeletedIndikerer om opdateringen er en sletning af den pårørende.booleanJa
languageElement for opdatering af sprog.
Ja
language.language.idSprog id (UUID). Skal benyttes som nøgle ifm. opdatering og sletning af sprog.varchar(36)Ja
language.language.lastupdatedTidspunkt for seneste opdatering. Format: yyyyMMddHHmmssZ, fx. 20171024143445+0200varchar(19)Ja
language.language.languageCodeSprogkode. Format: ISO-639-1char(2)Nej
language.language.dataEntererSe tabel længere ovenfor (delt struktur)-Ja 
language.language.tobeDeletedIndikerer om opdateringen er en sletning af sprog.booleanJa
healthProviderElement for opdatering af tandlæge.-Ja
healthProvider.healthProvider.idSprog id (UUID). Skal benyttes som nøgle ifm. opdatering og sletning af tandlæge.varchar(36)Ja
healthProvider.healthProvider.lastupdatedTidspunkt for seneste opdatering. Format: yyyyMMddHHmmssZ, fx. 20171024143445+0200varchar(19)Ja
healthProvider.healthProvider.providerTypeSom attribut "code" angives "tandlæge", som er den eneste værdi der understøttes i aktuelle version.-Nej
healthProvider.healthProvider.organizationTandlægeorganisation. Se tabel ovenfor (delt struktur)-Nej
healthProvider.healthProvider.dataEntererSe tabel ovenfor (delt struktur)-Ja 
healthProvider.healthProvider.tobeDeletedIndikerer om opdateringen er en sletning af tandlægen.booleanJa

Request-eksempel:

<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):

<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 

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: 

<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:

I en opdatering af stamkortet for borgeren ønskes det at:

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:

<?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

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:


1.2.208.176.1.4 - NSI OID fra FSK

1.2.208.184.15.8 - Medcom OID der benyttes i SKR

Dvs når man får en korrekt NSI OID ind for yderregisteret fra FSK, så skal man ikke bare indsætte sammen OID i savedatacard snitfladen - der SKAL benyttes den anden MedCom OID.