Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Navitabs
rootStamdatamodul (SDM)
firsttabRegisterudtrækservices (SDM)
includeroottrue


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.


OBS: Denne guide  er under revision - dele af indholdet mangler opdatering.

Multiexcerpt
MultiExcerptNameSKRS Kom godt igang guide
Numbered Headings

Table of Contents

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

Neden for anførte datasamlinger/registre er derfor ikke tilgængelige for alle. Se liste over hvad der er tilgængeligt her: NSP services#Datasamlinger

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

bogstaveligt, 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.
bgoBegrænset Ordinationsret registeret

Begrænset ordinationsret angiver via CPR og autorisationsnummer hvilke typer medicin der ikke må ordineres

cprCPR registeretIndeholder informationer om borgere i Danmark, herunder navne, adresse,
familerelationer
familierelationer 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

m.m.

doseringsforslagDoseringsforslagIndeholder informationer om doseringsenheder og
doseringsforslag
-forslag, 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.
nationalRolesNationale Roller fra SEBIndeholder information om hvilke nationale roller fra SEB der er knyttet til et medarbejdercertifikat (identificeret ved SSN). Datatypen i SKRS hedder nationalRolePerson.
sikredeSygesikringsregisteretIndeholder sygesikringsinformationer om den enkelte borger, herunder
,
hvilken
yder gruppe 1
ydergruppe 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

genereret 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

servicen logges.

Whitelisting

Servicen er underlagt whitelistningbegrænsning. Denne whitelistning er baseret på CVR-nummeret, der er indeholdt i anvendte

id

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

ID-kort af niveau 3, dvs.

id

ID-kort udstillet med et VOCES- eller FOCES-certifikat.

Replikering

Der vil være en kort forsinkelse efter modtagelse af en ny udgave af et register, indtil ændringerne kan hentes ud via servicen. Grunden til dette er at data skal replikeres

fra centralt

ud til alle NSP-installationer fra centralt hold. Der er ikke nogen garanti for hvor

aktuel

aktuelt 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 og adgang til 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

eksemplerne i svar herunder samt SOAP-header indhold

i svar

, for

,

at lette overblikket.

Endpoints

Der findes et enkelt endpoint til denne service:

  • http://[host]:[port]/stamdata-batch-copy-ws/service/StamdataReplication

Anchor
replicate
replicate

Operation replicate

Denne operation bruges til at sende replikerings-requestet til SKRS. Svaret er SOAP,

hvor i

hvori der findes et ATOM-feed, som har det

reele

reelle 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

id>tag:nsi.dk,2011:cpr/person/v1/

13667186340000000001<

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:

Code Block
languagexml
<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:

Code Block
languagexml
<?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å 

Bemærkninger

Servicen vedligeholder historik på entiteter. I det ovenstående eksempel-svar findes felterne <validFrom> og <validTo>. Disse felter angiver gyldighedsperioden for en instans af den konkrete entitet. Den nuværende gyldige entitet indeholder et <validFrom> tidsstempel i fortiden eller nærværende øjeblik og et <validTo> i fremtiden. I tilfælde af, at entiteten opdateres i det bagvedliggende register, opdateres den eksisterende gyldige instans af entiteten på <validTo> med et tidsstempel der har værdien opdaterings-øjeblikket. Derved afsluttes instansens gyldighed. Samtidig skabes en ny instans af entiteten, hvor  <validFrom>  er sat til værdien for skabelses-øjeblikket og <validTo> sat til fremtiden. Dette kommer til udtryk i det afleverede svar, som en ATOM-entry for hver af disse operationer på entiteten, i nærværende eksempel 2 ATOM-entries.

Eksempel kode

Tilhørende eksempelkode kan findes på http://svn.nspop.dk/public/guides/

http://svn.nspop.dk/public/guides/

latest, specielt under modulet skrs. Eksempelkoden indeholder

1

et 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

fem borgere i stedet for én, 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.