Versions Compared

Key

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

...

Dette dokument beskriver designet af Stamkortregister-servicen..

Det forudsættes at læseren er bekendt med grundfunktionaliteten i servicen, beskrevet i dokumentet Stamkortregister-service (SKR).

Ændringslog

Version

Dato

Ændring

Ansvarlig

1.0.0

2018-08-31

Initialt dokument

Trifork

1.0.112019-08-16Fjernet note om SCES. Tilføjet note om MinLog SessionId.Trifork
1.0.122021-01-18Opdateret 'Design'-figurKvalitetsIT
1.0.132021-04-13Opdateret med NAS-integrationKvalitetsIT
1.0.142021-04-29Opdateret 'Design'-figurKvalitetsIT

Terminologi



HL7 CDA

Standard til udveksling af oplysninger indenfor sundhedsvæsenet.

...

Forkortelse

Betydning

SKR

Stamkortregistret

FSKDet Fælles Stamkort
DDSDokumentdelingsservicen
DCCViderestillingsservicen

Arkitektur

Systemet består af to services. Stamkortregister-servicen håndterer funktionalitet og databaseadgang, og en separat DGWS/IDWS Proxyservice håndterer DGWS- og IDWS-specifik sikkerhed i forbindelse med udefrakommende kald til systemet.er en webservice, der anvendes som datakilde for Det Fælles Stamkort. Anvendere skal hente oplysningerne igennem Det Fælles Stamkort.


HTML
<iframe src="https://archi.nspop.dk/NSP/570928ca/views/b5e29947-a12a-45ae-80e5-2edccfd8589b.html" name="test" height="780" width="800">You need a Frames Capable browser to view this content.</iframe>   

* Hver kasse i ovenstående diagram har en kort forklaring, som kommer frem i et nyt browservindue, når der klikkes på kassen.


Brugerne tilgår servicen indirekte via Som illustreret på figuren herunder tilgår brugerne servicen indirekte via Sundhed.dk, patientjournalsystemer, lægepraksissystemer osv. Herudover kan stamkort hentes via Dokumentdelingsservicen (DDS), som anvender FSK som On-Demand datakilde. FSK henter data fra en række datakilder, herunder Stamkortregistret.:

Gliffy Diagram
displayNameFSK-Arktiektur, v2 v5
nameFSK-Arktiektur, v2 v5
pagePin12

Standarder

Dataudveksling er basereret på HL7 CDA.

...

Kald til Stamkortregister-servicen kan foretages som enten DGWS- (Den Gode Webservice) eller IDWS- (Identity Based Web Services) kald. Som beskrevet i afsnittet Arkitektur ovenfor, foretages kald til SKR igennem en DGWS/IDWS proxy, der har det primære formål at Servicen vil validere, at der kaldet er foretaget et korrekt DGWS- eller IDWS-kald.

Sundhedsprofessionelle, der vil tilgå Stamkortregister-servicen fra deres EPJ- eller EOJ-system, kan foretage DGWS-kald igennem den centrale NSP afkoblingskomponent (DCC), som viderestiller kaldet til Stamkortregistret igennem DGWS/IDWS Proxyen. Der kræves som udgangspunkt anvendelse af OCES sikkerhedsniveau 4, hvor der skal medsendes et ID-kort, som er signeret med medarbejdercertifikat (MOCES). Proxyen Servicen vil verificere at kaldet er korrekt signeret, og at signeringen ikke er udløbet. Det pågældende brugercertifikat skal være hvidlistet i SKR og have den nødvendige funktion - ret til at få adgang til en specifik SKR-servicemetode.

Borgere, der vil tilgå Stamkortregister-servicen, skal gøre dette igennem Sundhed.dk, som står for borgervendt funktionalitet. Sundhed.dk kan kan foretage et IDWS-kald til Stamkortregistret igennem DGWS/IDWS Proxyen. Proxyen , som vil verificere at der er tale om et korrekt IDWS-kald.

Såfremt Proxyen kan verificere at der er tale om et korrekt DGWS- eller IDWS-kald, vil kaldet blive viderestillet til Stamkortregister-servicen. Servicen vil tillade kaldet hvis:

...

Alle opslag og ændringer af Stamkort registreres i MinLog2. Med undtagelse af system bruger og borgerens egen læsning af data. 

Ved manglende adgang til MinLog-servicen vil servicekaldet fejle.

NAS

Alle ændringer (oprettelser, opdateringer og sletning) af Stamkort afstedkommer adviseringer til NAS.

Ved manglende adgang til MinLogNAS-servicen vil servicekaldet fejle.

Beskedformat

Som MinLog SessionId anvendes MessageID defineret i anvender-requests. Hvis SessionId er længere end 46 tegn (det maksimalt tilladte i MinLog-servicen) anvendes i stedet SHA-1 værdien (altid 40 tegn).

Design

Der anvendes følgende topic (som kan konfigureres): http://sundhedsdatastyrelsen.dk/PersonalDataCard/2020/11/01:DataCardUpdated.

Indholdet i notifikationen bestpår af et DataCardUpdated xml objekt, med følgende attributter:

  • id: Patientens CPR-nummer
  • date: Dato for hvornår ændringen er sket
  • type: Type for beskeddefinitionen
  • version: Versionsnummer for beskeddefinitionen.
  • messageid: unik besked-id på baggrund af enten DGWS eller IDWS kald
Code Block
titleDataCardUpdated
collapsetrue
<?xml version="1.0" encoding="UTF-8"?>
	<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
			   targetNamespace="http://sundhedsdatastyrelsen.dk/skr/2021/06/02"
			   xmlns:ns="http://sundhedsdatastyrelsen.dk/skr/2021/06/02">

		<xs:element name="DataCardUpdated">
			<xs:complexType>
				<xs:sequence>
					<xs:element name="date" type="ns:element"/>
					<xs:element name="id" type="ns:element"/>
					<xs:element name="messageId" type="ns:element"/>
					<xs:element name="type" type="ns:element"/>
					<xs:element name="version" type="ns:element"/>
				</xs:sequence>
			</xs:complexType>
		</xs:element>

		<xs:complexType name="element">
			<xs:attribute name="value" type="xs:string" use="required"/>
		</xs:complexType>
	</xs:schema>

Eksempel på notifikation:

Code Block
titleEksempel pa notification
collapsetrue
<ns3:Notify xmlns:ns2="http://www.w3.org/2005/08/addressing" xmlns:ns3="http://docs.oasis-open.org/wsn/b-2"
            xmlns:ns6="http://nsi.dk/advis/v10" xmlns:ns8="http://sundhedsdatastyrelsen.dk/skr/2021/06/02">
    <ns3:NotificationMessage>
        <ns3:Topic Dialect="http://docs.oasis-open.org/wsn/t-1/TopicExpression/Simple">TESTNAS-TOPIC1</ns3:Topic>
        <ns3:Message>
            <ns6:NotifyContent id="0501792275" idType="http://nsi.dk/advis/v10/CPR">
                <ns8:DataCardUpdated>
                    <date value="2022-11-01"/>
                    <id value="0501792275"/>
                    <messageId value="AAABhDKrCSD8xJkQXp07iFNPU0k="/>
                    <type value="http://sundhedsdatastyrelsen.dk/MessageDefinition/PDC-notification"/>
                    <version value="1"/>
                </ns8:DataCardUpdated>
            </ns6:NotifyContent>
        </ns3:Message>
    </ns3:NotificationMessage>
</ns3:Notify>

PersonInformation

PersonInformation anvendes på 3 områder i SKR:

  1. Gennem kald til PersonInformation Service foretages validering af CPR nummer. CPR valideringen kan køre i følgende tre modes:
    • OFF: Der foretages ikke yderligere verifikation af CPRnummeret udover simpel validering af længde. PersonInformation kaldes ikke
    • WARNING: PersonInformation service kaldes. Hvis denne service svarer, at CPR nummeret ikke findes, så audit logges denne information.
    • REJECT: PersonInformation service kaldes. Svaret fra denne er en hård validering dvs kaldet til SKR fejler, hvis PersonInformation service ikke kender CPR nummeret.
  2. Gennem kald til PersonInformation Service tjekkes anvenderens relation til CPR numret, skulle anvender og patient ikke være den samme. Anvender kan have en af 2 relationer
    • Forældre relation
    • Værge
  3. CPR oprydningsjobbet benytter PersonInformation servicen til at tjekke om tal strenge i tekstfelter er rigtige CPR numre, som skal fjernes.

Design

Gliffy Diagram
Gliffy Diagram
displayNameDesign v1
nameDesign v1
pagePin112

Datamodel

Service og database er opbygget således at det vil være nemt at udvide stamkortet med yderligere informationer senere.

...

Hver stamkortopdatering har tilknyttet en aktør (tabel: ServiceActor) som er den person, der lavede den pågældende ændring af stamkortet. Denne aktør kan være borgeren selv, en sundhedsprofessionel eller en person der har fuldmagt til at opdatere stamkortet.

Det detaljerede schema for databasen er vist på figuren herunder.

Image Removed

Specifikke designbeslutninger

Vedr. DGWS/IDWS Proxy'en, er der foretaget følgende beslutninger:

...


HTML
<iframe src="https://archi.nspop.dk/NSP/570928ca/views/bb995f9c-1f1e-4bbb-a379-79a2dc0709fc.html" name="test" height="410" width="800">You need a Frames Capable browser to view this content.</iframe>   

* Hver kasse i ovenstående diagram har en kort forklaring, som kommer frem i et nyt browservindue, når der klikkes på kassen.


Det detaljerede schema for databasen er vist på figuren herunder.

Image Added