Denne "Kom Godt i Gang Guide" omhandler SKRS (Stamdata Kopi Register Service). Guiden er beregnet til it-faglige personer som skal til eller er i gang med at udvikle systemer, der skal integrere med SKRS på platformen. Det anbefales at Platformsintroduktion læses inden denne guide.

Servicen

Denne service giver mulighed for at hente komplette kopier af stamdata-registre. Dette giver anvendere mulighed for at ajourføre en lokal kopi af et stamdata-register. Adgangen er begrænset af den aftale der indgås med NSP-operatøren.

Registeroversigt

Her følger en oversigt, der kort beskriver indhold for hvert enkelt register. Det skal bemærkes, at registernavn i nedenstående tabel skal tages bogstavligt, når der skabes et request mod servicen.

RegisternavnAliasBeskrivelse
autorisationsregisteretAutorisationsregisteretIndeholder informationer om hvilke sundhedsfaglige uddannelser en given person har gennemgået og er blevet autoriseret til af Sundhedsstyrelsen. Se også SAES - autorisations enkeltopslagsservice
bemyndigelsesserviceBemyndigelsesregisteretIndeholder informationer om delegerede rettigheder mellem personer til brug i sundheds IT-systemer.
cprCPR registeretIndeholder informationer om borgere i Danmark, herunder navne, adresse, familerelationer og børn.
ddv
Det Danske
Vaccinationsregister
Indeholder informationer om borgeres vaccinationer
dkmaMedicinpriser eller 'Taksten'

Indeholder informationer om godkendte lægemidler, herunder priser, indholdsstoffer, indikationer, opbevaringsbetingelser, tilskudsregler, ATC mm.

doseringsforslagDoseringsforslagIndeholder informationer om doseringsenheder og doseringsforslag der består af to relaterede datasæt: Doseringsenheder knytter en enhed til et lægemiddel; doseringsforslag knytter et antal forslag til doseringer til et lægemiddel.
sikredeSygesikringsregisteretIndeholder sygesikringsinformationer om den enkelte borger herunder, hvilken yder gruppe 1 sikrede er tilknyttet (”egen læge” relationen).
sksSKS-registeret eller Sundhedsvæsenets KlassifikationssystemIndeholder klassifikationer af sundhedsvæsenets institutioner.
sorSundhedsvæsenets Organisationsregister

Indeholder detaljerede informationer om sundhedsvæsenets institutioner og personer med ydernummer.

tilskudsblanketTilskudsblanket

Indeholder et uddrag fra taksten, med informationer om, hvilke blanketter der bruges til hvilke tilskud.

vitaminStærke vitaminerIndeholder information om det godkendte sortiment af lægemidler af typerne stærke vitamin- og mineralpræparater, naturlægemidler samt radioaktive lægemidler, med oplysninger om bl.a. lægemidlernes form, styrke, indholdsstoffer, administrationsveje m.m. Disse er udeladt i 'Taksten'.
yderregisterYderregisteretIndeholder detaljerede informationer om ydere og personer tilknyttet.

 

Der findes en generet oversigt med alle udstillede registre og deres datatyper, som automatisk opdateres løbende. Denne oversigt er nyttig når en anvender skal opbygge et request mod SKRS idet der bl.a. skal angives en datatype og version for det data der ønskes leveret. Denne information indeholdes i nævnte oversigt.

Adgang til servicen

SKRS er tilgængelig på alle NSP installationer. Servicen er udstillet som en DGWS service. Alle kald til service logges.

Whitelisting

Servicen er underlagt whitelistningbegrænsning. Denne whitelistning er baseret på CVR nummeret, der er indeholdt i anvendte id-kort kombineret med et registernavn, datatypenavn og version. Der skal anmodes om whitelistning hos NSP operatøren gennem en supporthenvendelse

Sikkerhedsniveau

Servicen kræver id-kort af niveau 3, dvs. id-kort udstillet med et VOCES eller FOCES certifikat.

Replikering

Der vil være en kort forsinkelse efter modtagelse af en ny udgave af register indtil ændringerne kan hentes ud via servicen. Grunden til dette er at data skal replikeres fra centralt ud til alle NSP installationer. Der er ikke nogen garanti for hvor aktuel datagrundlaget er.

Test data

Servicen er ligeledes installeret på de eksterne testmiljøer, hvor den er fungerende i testføderationen, men er underlagt samme adgangskrav som i produktion. Adgang til testmiljøer er beskrevet her. Servicens datagrundlag er baseret på data specifik generet til testmiljøerne. En beskrivelse af testdata findes her. Specielt kan alle personer på testmiljøet ses her (kræver login).

Servicekald

Herunder er nævnt endpoint samt servicekald for SKRS. Bemærk at ID-kort og MedCom information er fjernet fra SOAP-eksempelerne i svar herunder samt SOAP-header indhold i svar for, at lette overblikket.

Endpoints

Der findes et enkelt endpoint til denne service:

Operation replicate

Denne operation bruges til at sende replikerings-requestet til SKRS. Svaret er SOAP, hvor i der findes et ATOM-feed, som har det reele indhold der ønskes kopieret. De til enhver tid mulige felter i det reelle indhold er defineret ved en række XML-skemaer. Der kan angives en række værdier til parametre i requestet, som beskrevet i nedenstående tabel:

ParameternavnBeskrivelse
registerRegisternavnet der ønskes udtræk fra, som bekrevet på tidligere nævnte oversigt
datatypeDatatypen som bekrevet på tidligere nævnte oversigt
version

Af hensyn til bagudkompabilitet versioneres udtræksfunktionaliteten for hvert enkelt register. Seneste tilgængelige version er bekrevet på tidligere nævnte oversigt

offset

En parameter, der angiver hvorfra i servicens udtræk af ændrede data svaret skal påbegyndes. Fra begyndelsen angives med '0' (nul). I hvert svar fra SKRS findes et revisionsnummer på en entitet, eksempelvis <atom:id>tag:nsi.dk,2011:cpr/person/v1/13667186340000000001</atom:id>, hvor sidste del, navnlig 13667186340000000001 angiver hvilket offset entiteten har. Denne værdi kan bruges som offset ifbm. paginering.

maxRecordsBruges til at begrænse antallet af entitieter, som returneres i hvert svar. Der eksisterer en øvre grænse defineret af servicen, som ikke kan overstyres af anvendere.

Et eksempel på en SOAP-besked i et kald til denne operation:

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">
   <soapenv:Header>
      <Security xmlns="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd">
         <Timestamp xmlns="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd">
            <Created>2014-01-31T12:39:30+01:00</Created>
         </Timestamp>
         <saml:Assertion xmlns:saml="urn:oasis:names:tc:SAML:2.0:assertion" IssueInstant="2014-01-31T11:34:30Z" Version="2.0" id="IDCard">
			...
			...
         </saml:Assertion>
      </Security>
      <Header xmlns="http://www.medcom.dk/dgws/2006/04/dgws-1.0.xsd">
			...
			...
      </Header>
   </soapenv:Header>
   <soapenv:Body>
      <ns1:ReplicationRequest xmlns:ns1="http://nsi.dk/2011/10/21/StamdataKrs/">
         <register>cpr</register>
         <datatype>person</datatype>
         <version>1</version>
         <offset>0</offset>
         <maxRecords>1</maxRecords>
      </ns1:ReplicationRequest>
   </soapenv:Body></soapenv:Envelope>

Svaret fra dette kald:

<?xml version='1.0' encoding='UTF-8'?>
   <S:Envelope xmlns:S="http://schemas.xmlsoap.org/soap/envelope/">
      <S:Header>
		...
		...
      </S:Header>
      <S:Body>
         <ns7:ReplicationResponse xmlns:ns2="http://www.w3.org/2000/09/xmldsig#" xmlns:ns3="http://www.medcom.dk/dgws/2006/04/dgws-1.0.xsd" xmlns:ns4="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd" xmlns:ns5="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd" xmlns:ns6="urn:oasis:names:tc:SAML:2.0:assertion" xmlns:ns7="http://nsi.dk/2011/10/21/StamdataKrs/">
            <atom:feed xmlns:atom="http://www.w3.org/2005/Atom">
               <atom:id>tag:nsi.dk,2011:cpr/person/v1</atom:id>
               <atom:updated>2014-01-31T11:39:30.418Z</atom:updated>
               <atom:title>Stamdata Registry Feed</atom:title>
               <atom:author>
                  <atom:name>National Sundheds IT</atom:name>
               </atom:author>
               <atom:entry>
                  <atom:id>tag:nsi.dk,2011:cpr/person/v1/13667186340000000001</atom:id>
                  <atom:title />
                  <atom:updated>2013-04-23T12:03:54.000Z</atom:updated>
                  <atom:content type="application/xml">
                     <person:person xmlns="http://nsi.dk/-/stamdata/3.0/cpr" xmlns:person="http://nsi.dk/-/stamdata/3.0/cpr">
                        <cpr>0101010000</cpr>
                        <koen>K</koen>
                        <fornavn>Lene</fornavn>
                        <mellemnavn>Johansson</mellemnavn>
                        <efternavn>Sørensen</efternavn>
                        <coNavn />
                        <lokalitet />
                        <vejnavn>Weidekampsgade</vejnavn>
                        <bygningsnummer />
                        <husnummer>40A</husnummer>
                        <etage />
                        <sideDoerNummer />
                        <bynavn />
                        <postnummer>8860</postnummer>
                        <postdistrikt>Ulstrup</postdistrikt>
                        <status>01</status>
                        <gaeldendeCPR>0101010000</gaeldendeCPR>
                        <foedselsdato>1901-01-01</foedselsdato>
                        <stilling />
                        <vejKode>6564</vejKode>
                        <kommuneKode>661</kommuneKode>
                        <validFrom>2013-04-23T14:03:54.000+02:00</validFrom>
                        <validTo>2999-12-31T00:00:00.000+01:00</validTo>
                     </person:person>
                  </atom:content>
               </atom:entry>
            </atom:feed>
         </ns7:ReplicationResponse>
      </S:Body>
   </S:Envelope>

Eksempel kode

Tilhørende eksempelkode kan findes på http://svn.nspop.dk/public/guides/latest, specielt under modulet skrs. Eksempelkoden indeholder 1 eksempel på kald af servicen:

MetodenavnBeskrivelse
personRequestExample

Svarer til eksempel i afsnit Operation replicate, dog med et større antal iterationer så der returneres information for 5 bogere istedet for 1, som vist i nærværende tekst. Eksempelkoden henter information om en borger fra CPR-registeret.

Eksemplerne anvender følgende FOCES-certifikat:

KeystorefilCVR-RID
Statens_Serum_Institut_FOCES.jksCVR:46837428-FID:92421325

CVR-nummer indeholdt i det benyttede certifikat er whitelistet på testmiljøer. Endvidere har dette CVR-nummer rettighed til at læse fra alle registre.