(-- KaareKjelstroem - NEW/UPDATED 07-12-2005)
(-- JanRiis - UPDATED 20-01-2005)

Nedenfor beskrives flowet ved udveksling af beskeder i SOSI sammenhæng. Der fremlægges to eksempler, beskrevet som et antal Use Cases:

  1. Indberetning af data til en kvalitetsdatabase, hvor det er meget vigtigt at kende brugeren og hvor brugeren står til ansvar for de indberettede data.
  2. Indberetning af medicindata til Medicinprofilen, der foregår i batch, dvs. uden en egentlig bruger, der indberetter.

I første omgang er der fokuseret på normalflowet, dvs. den situation hvor alt går vel. Undtagelser skal selvfølgelig håndteres, men er i denne sammenhæng ikke så interessante.

3.1. Aktører

Udførslen af indberetningen involverer en række aktører:

  • Den Sundhedsfaglige Bruger: Den bruger, der er logget på EPJ systemet.
  • EPJ Klienten: Den rige klient, som Den Sundhedsfaglige Bruger interagerer med.
  • EPJ Serveren: EPJ systemets serverdel, som EPJ Klienten kommunikerer med.
  • Signaturserver: En intern tjeneste hos serviceaftagere, der holder styr på Sundhedsfagliges certifikater og kan signere beskeder.
    IDEA! Bemærk: Afhængig af teknologivalg kan signaturserveren erstattes af kort, dongles, eller lignende og det beskrevne flow modificeres til at benytte signering helt ude på EPJ Klienten i stedet.
  • Identityprovider (IdP): Ekstern tjeneste, der kan autentificere Sundhedsfaglige Brugere og serviceudbydere mod TDC, brugerkataloget samt udstede ID-kort.
  • Kvalitetsdatabasen: Spiller rollen som serviceudbyder og udstiller en service til indberetning af data for en patient.
  • Medicinprofilen: Spiller rollen som serviceudbyder og udstiller en service til batch-indberetning af ordinationsdata.

3.2 Use Cases i "Indberetning til kvalitetsdatabase"

Interaktionsmodellen er opbygget omkring ID-kort-baseret autentifikation, støttet af certifikater og digitale signaturer hvor dette er nødvendigt. I alt anvendes 3 mindre Use Cases:

  • Udstedelse af ID-kort til den Sundhedsfaglige: For at EPJ systemet kan kalde service på SundhedsDataNettet på vegne af den Sundhedsfaglige er det nødvendigt først at få udstedt et ID-kort hos IdP'en. Dette ID-kort kan så bruges i et afgrænset tidsrum til at kalde flere services uden at skulle genautentificere.
  • Udstedelse af ID-kort til Kvalitetsdatabasen: EPJ systemet vil gerne senere kunne bevise, at have indberettet de pågældende data til kvalitetsdatabasen. Dertil skal der bruges en digital signatur fra kvalitetsdatabasen, hvilket kræver et System ID-kort.
  • Indberetning af data til kvalitetsdatabasen: Dette er den faktiske Use Case, der beror på at-ID-kortene er udstedte eller udstedes på rette tidspunkt i flowet. Use Casen omhandler indberetning af data for en patient til kvalitetsdatabasen.

3.2.1 Use Case: Udstedelse af ID-kort til den Sundhedsfaglige

Mål At det kaldende system (EPJ systemet) får udstedt et ID-kort, der giver adgang til tjenester inden for føderationen på SundhedsDataNettet i et fast defineret tidsrum.
Krav Den service som brugeren skal anvende kræver autenticitet på niveau 3, dvs. anvendelse af digitalt certifikat. Kravet til denne Use Case er altså udstedelse af ID-kort pba. et OCES medarbejdercertifikat.
Interessenter Den Sundhedsfaglige der har brug for at få en service udført, EPJ systemet der har brug for at kalde servicen.
Startbetingelser En Sundhedsfaglig bruger er logget på EPJ systemet.
Successlutbetingelser EPJ systemet har modtaget et ID-kort, der giver den Sundhedsfaglige adgang til tjenester på SundhedsDataNettet
Fejlslutbetingelser EPJ systemet har ikke modtaget noget eller har modtaget en afvisning fra Sundhed.dk
Aktører EPJ server, Signaturserver, Identityprovider
Trigger Den Sundhedsfaglige bruger har udført en funktion, der afføder et kald til en tjeneste på Sundhedsdatanettet (Kvalitetsdatabasen)
Sekvensdiagram UdstedBilletSundhedsfagligFlow.png

Normalforløb
Trin Aktion
1 EPJ serveren skaber en udstedIDKort() besked.
2 (entry) Beskeden sendes til signaturserveren internt i EPJ systemets organisation.
2 (return) Signaturserveren signerer beskeden med den Sundhedsfagliges private nøgle (der beregnes et digest, hvilket signeres og signaturen tilknyttes beskeden) og den signerede besked returneres til EPJ serveren sammen med et certifikat ID til Sundhedsfagliges offentlige certifikat (CVR+RID).
3 (entry) Den signerede besked (oprindelig udstedIDKort-besked, den Sundhedsfagliges signatur og certifikat-ID sendes via Sundhedsdatanettet til IdP'en.
4 IdP'en validerer:
a) At den Sundhedsfagliges certifikat er OCES
b) At certifikatet ikke er udløbet.
c) At certifikatet ikke er spærret (på en CRL).
d) At signaturen er valid
e) At lægen findes i Det Centrale Brugerkatalog, dvs. at brugeren har sundhedsfaglig autorisation og at brugeren eller den certifikatudstedende organisation ikke er spærret. (autentifikation)
5 Hvis alt er i orden, udstedes et tidsbegrænset ID-kort, der blandt andet indeholder (for præcist indhold, se afsnittet om brugeridentifikation og autententicitetsdata):
a) Tidspunkt for udstedelse (lokal tid for IdP'en)
b) Tidspunkt for udløb (lokal tid for IdP'en)
c) CVR:RID for det certifikat, ID-kortet er udstedt til
d) En signatur af ID-kortet, signeret med IdP'ens private nøgle
e) En samling attributter der tilsammen udgør en brugerprofil.
3 (return) IdP'en returnerer det signerede ID-kort til EPJ systemet.
6 EPJ systemet validerer ID-kortets signatur med IdP'ens offentlige nøgle (som EPJ systemet forudsættes at have præinstalleret) og gemmer ID-kortet til senere brug.

3.2.2. Use Case: Udstedelse af system ID-kort til serviceudbyder

Mål At serviceudbyderen (Kvalitetsdatabasen) får udstedt et ID-kort, der giver mulighed for at returnere et signeret svar til en serviceaftager (EPJ sysetmet).
Krav EPJ systemet kræver med en speciel parameter i sin indberetning, at serviceudbyderen skal returnere en digital signatur af svaret, baseret på serviceudbyderens OCES virksomhedscertifikat. Derfor skal der udstedes et ID-kort til Kvalitetsdatabasen
Interessenter Kvalitetsdatabasen, der har brug for at sende et svar samt EPJ sysetmet der har brug for et digitalt signeret svar
Startbetingelser Kvalitetsdatabasen har brug for at returnere et signeret svar på en forespørgsel
Successlutbetingelser EPJ systemet modtager et digitalt underskrevet svar, og et system ID-kort fra Kvalitetsdatabasen. Den digitale signatur på svaret skal være korrekt, jf. den offentlige nøgle, der findes på kvalitetsdatabasens ID-kort.
Fejlslutbetingelser EPJ systemet har ikke modtaget noget, har modtaget en afvisning eller modtager en signatur, der ikke kan verificeres.
Aktører EPJ system, Kvalitetsdatabasen
Trigger En serviceaftager (EPJ systemet) har udført en tjeneste hos serviceudbyderen (Kvalitetsdatabasen)
Sekvensdiagram UdstedBilletServiceProviderFlow.png

Normalforløb
Trin Aktion
1 Kvalitetsdatabasen skaber en "udstedIDKort" besked.
2 Beskeden signeres med Kvalitetsdatabasens private nøgle.
3 (entry) Den signerede besked (oprindelig "udstedIDKort"-besked, Kvalitetsdatabasens signatur, certifikat ID til Kvalitetsdatabasens OCES virksomhedscertifikat (CVR+UID)) sendes via SundhedsDataNettet til IdP'en.
4 IdP'en validerer:
a) At Kvalitetsdatabasens certifikat er et OCES virksomhedscertifikat
b) At Kvalitetsdatabasens certifikat er en kendt serviceudbyder.
c) At certifikatet ikke er udløbet.
d) At certifikatet ikke er spærret.
e) At signaturen er valid.
5 Hvis alt er i orden, udstedes en tidsbegrænset ID-kort, der bl.a. indeholder:
a) Tidspunkt for udstedelse.
b) Tidspunkt for udløb.
c) CVR+UID for det virksomhedscertifikat, ID-kortet er udstedt på baggrund af.
d) En signatur af ID-kortet, signeret med IdP'ens private nøgle.
3 (return) IdP'en returnerer det signerede ID-kort til Kvalitetsdatabasen.
6 Kvalitetsdatabasen validerer ID-kortets signatur med IdP'ens offentlige nøgle.

3.2.3 Use Case: Udførelse af "indberet patientdata"

Mål At serviceaftageren (EPJ systemet) får udført en service hos serviceudbyderen (Kvalitetsdatabasen)
Krav EPJ systemet kræver med en speciel parameter i sin indberetning, at serviceudbyderen (Kvalitetsdatabasen) skal returnere en digital signatur af svaret, baseret på serviceudbyderens OCES virksomhedscertifikat. Serviceudbyderen kræver, som en præbetingelse, at serviceaftageren leverer en digital signatur af indberetningen, baseret på den Sundhedsprofessionelles OCES medarbejdercertifikat
Interessenter Kvalitetsdatabasen, der har brug for at udføre en service samt EPJ systemet der har brug for at få servicen udført
Startbetingelser En bruger er logget på EPJ systemet. Brugeren udfører en handling der afføder et kald til Kvalitetsdatabasens indberetningsservice
Successlutbetingelser Data er opdateret i Kvalitetsdatabasen, EPJ systemet har fået et positivt svar. Både indberetning og svar har korrekt digital signatur.
Fejlslutbetingelser Kvalitetsdatabasen er ikke opdateret og / eller EPJ systemet har modtaget en afvisning
Aktører Kvalitetsdatabasen, EPJ systemet
Trigger Brugeren udfører en handling i EPJ systemets Klient, der afføder et kald fra EPJ systemets Server til Kvalitetsdatabasens service
Sekvensdiagram UdfrServiceKaldFlow.png

Normalforløb
Trin Aktion
1 EPJ systemet skaber en forespørgsel, der indeholder de data, Kvalitetsdatabasen skal opdateres med.
2 Beskeden inkl. kuvertdata signeres med den Sundhedsfagliges private nøgle.
3 (entry) Den samlede besked (besked, IdP-signeret ID-kort, signatur) sendes til Kvalitetsdatabasen.
4 Kvalitetsdatabasens autoriserer kaldet ved at kontrollere:
a) At EPJ systemet har autorisation til at kalde den pågældende service (EPJ sysetm ID aflæses i kuvertdata)
b) At den Sundhedsprofessionelle jf. attributterne på ID-kortet og evt. samtykke i kuvertdata har autorisation til at benytte servicen.
5 Kvalitetsdatabasen verificerer beskeden ved at kontrollere:
a) At ID-kortet ikke er udløbet ved at checke udløbsdatoen mod det nuværende tidspunkt.
b) At den Sundhedsprofessionelles digitale signatur er korrekt, vha. den offentlige nøgle på ID-kortet.
c) At ID-kortet er signeret af IdP'en
6 Kvalitetsdatabasen opdateres med de nye data og et svar skabes.
7 Den digitale signatur logges sammen med en reference til ID-kortet
8 Svaret signeres med Kvalitetsdatabasens private nøgle.
3 (return) Det signerede svar returneres til EPJ systemet.
9 EPJ systemet validerer:
a) At svaret er korrekt signeret vha. den offentlige nøgle i system ID-kortet fra Kvalitetsdatabasen
b) At ID-kortet er signeret af IdP'en
c) At ID-kortets CVR matcher Kvalitetsdatabasens certifikat CVR.
d) At ID-kortet ikke er udløbet ved at checke udløbsdatoen mod det nuværende tidspunkt.
10 EPJ systemet logger den digitale signatur sammen med en reference til ID-kortet.

3.3 Use Cases i "Indberetning til Medicinprofilen"

Lægemiddelstyrelsen har vurderet, at indberetning til Medicinprofilen skal gøres via en web service, der er beskyttet af HTTP basic authenticationSundhedsDataNettet. Det er således ikke en specifik bruger, der indleverer ordinationer, men EPJ systemet selv. Det er med andre ord ingen autenticitetskontrol at foretage ved denne indberetning, sålænge serviceaftagersystemet kan åbne en HTTP forbindelse til serviceudbyderserveren. Dette svarer til niveau 1, men kvalificeret med HTTP basic authentication, hvor Medicinprofilen på baggrund af login kan afgøre hvilket system en given indberetning kommer fra. I SOSI kan vi forbedre autenticitetkontrollen en smule ved at lade serviceaftagersystemet trække et system ID-kort hos IdP'en og medsende det i indberetninger. Derfor er interaktionsmodellen igen bygget op omkring ID-kort-baseret autentifikation, støttet af virksomhedscertifikatet på serviceaftagersiden. Det giver anledning til 2 mindre Use Cases:

  • Udstedelse af ID-kort til den EPJ sysetmet: For at EPJ systemet kan kalde services på SundhedsDataNettet der er beskyttet med krav om autenticitetsniveau 1, skal serviceaftagersystemet bruge et System ID-kort.
  • Indberetning af data til Medicinprofilen: Dette er den faktiske Use Case. Use Casen omhandler indberetning af data for en patient til Medicinprofilen.

3.3.1 Use Case: "Udstedelse af system ID-kort til EPJ systemet"

Denne Use Case er helt mage til "Udstedelse af system ID-kort til serviceudbyder" ovenfor, men hvor det bare er serviceaftagersystemet, der trækker et ID-kort i stedet for serviceudbyder.

3.3.2 Use Case: "Indberetning af ordinationsdata til Medicinprofilen"

Mål At serviceaftageren (EPJ systemet) får udført en service hos serviceudbyderen (Medicinprofilen)
Krav Ingen særlige
Interessenter Medicinprofilen, der har brug for at udføre en service samt EPJ systemet der har brug for at få servicen udført
Startbetingelser En bruger er logget på EPJ systemet. Brugeren udfører en handling der afføder et kald til Medicinprofilens indberetningsservice. Det forudsættes at EPJ systemet kan etablere en HTTP forbindelse til Medicinprofilen vha. basic authentication.
Successlutbetingelser Data er opdateret i Medicinprofilen, EPJ systemet har fået et positivt svar.
Fejlslutbetingelser Medicinprofilen er ikke opdateret og / eller EPJ systemet har modtaget en afvisning
Aktører Medicinprofilen, EPJ systemet
Trigger Brugeren udfører en handling i EPJ systemets Klient, der afføder et kald fra EPJ systemets Server til Medicinprofilens service
Sekvensdiagram UdfrPEMServiceKaldFlow.png

Normalforløb
Trin Aktion
1 EPJ systemet skaber en forespørgsel, der indeholder de data, Medicinprofilen skal opdateres med.
2 (entry) Den samlede besked ("opdaterMedicin"-besked, IdP-signeret system ID-kort) sendes til Medicinprofilen.
3 Medicinprofilen autoriserer kaldet ved at kontrollere at EPJ systemet har autorisation til at kalde den pågældende service (EPJ system ID aflæses i kuvertdata)
4 Medicinprofilen verificerer beskeden ved at kontrollere:
a) At ID-kortet ikke er udløbet ved at checke udløbsdatoen mod det nuværende tidspunkt.
b) At ID-kortet er korrekt signeret af IdP'en
5 Medicinprofilen opdateres med de nye data og et svar skabes.
2 (return) Svaret returneres til EPJ systemet.
Topic attachments
I Attachment Action Size Date Who Comment
pngpng UdfrPEMServiceKaldFlow.png manage 12.5 K 2006-01-20 - 10:52 TWikiGuest  
pngpng UdfrServiceKaldFlow.png manage 29.9 K 2006-01-19 - 13:27 TWikiGuest  
pngpng UdstedBilletServiceProviderFlow.png manage 13.3 K 2006-01-19 - 13:08 TWikiGuest  
pngpng UdstedBilletSundhedsfagligFlow.png manage 18.2 K 2006-01-19 - 13:38 TWikiGuest  
Topic revision: r87 - 2006-01-20 - 10:54:24 - TWikiGuest
 
This site is powered by the TWiki collaboration platformCopyright © by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding TWiki? Send feedback