Jämförda versioner

Nyckel

  • Dessa rader lades till.
  • Denna rad togs bort.
  • Formateringen ändrades.

Teknisk anslutning Pascal med uthoppslösning
Innehållsförteckning
Dokumentinformation
Syfte och omfattning
Systemlösning uthopp till Pascal
Översikt systemlösning
Säkerhetslösning för åtkomst till Pascal
Tekniskt anrop
Olika sätt att anropa/uthoppa
Patientval via uthopp
URL till Pascal
Sammanfattning
Implementationstekniska rekommendationer
Rekommendation

...

Detta dokument beskriver
Här beskrivs tekniskt anrop till Pascal för att åstadkomma s.k. uthopp från annan applikation (typiskt journalsystem/läkemedelsmodul) till Pascals webbapplikation.

...

Innehållsförteckning

Systemlösning uthopp till Pascal

...

Översikt systemlösning

Nedan bild visar översiktligt s.k. uthopp från en applikation (X) till Pascal webbapplikation. Uthopp innebär en mycket lös integration mellan applikationerna.
Image Removed

...


Uthopp görs genom att anropa en specifik URL (https-protokoll) mot Pascal webbapplikation. Uthoppet kan t ex triggas genom att användaren väljer en knapp i Applikation X användargränssnitt.
Det går att ta med sig aktuell patients personnummer i uthoppsanropet. Om detta görs låses Pascal-sessionen till denna patient och det går inte att byta patient inom Pascal-applikationen. Byte av patient kan göras genom att anropa Pascal med nytt patientval från Applikation X.
Om ingen patient anges kommer användaren till sida i Pascal där patient måste väljas.

...

Samma tekniska säkerhetslösning används vid uthopp mot Pascal som när användare loggar in i Pascal direkt. Det innebär att Pascal kommer att avkräva en giltig SAML-biljett utställd från en Autentiseringstjänst (IdP), endera den Pascal använder sig av eller en SP, service provider. I de fall Pascals Autentiseringstjänst (IdP) används ställs SAML-biljetten ut och skickas till Pascal efter att användaren har loggat in i Autentiseringstjänsten med s.k. stark autentisering, med SITHS-kort. Från och med Pascal 2.3 är endast SITHS-kort (eTjänstelegitimation) godkänd som metod för inloggning.
Applikationen (X) som gör uthoppet behöver dock inte hantera detta; autentisering och utväxling av SAML-biljett hanteras i samverkan mellan webbläsare, Pascal och Autentiseringstjänst.
Det ställs samma krav i de fall användarens system använder sig av en annan SAML-biljett-utställare/autentiseringstjänst än den Pascal använder sig av (så kallad SP, service provider-initierad inloggningstjänst). Då förväntas användaren anropa med en giltig SAML-biljett från sin SP-IdP som då Pascal validerar och tar ett aktorisationsbeslut utifrån innehållet/egenskaperna.
Se vidare Checklista – Säkerhetslösning för Pascal för de omkringliggande krav som finns för säkerhetslösningen, t ex att användaren behöver finnas i Nationell Katalog HSA med vissa attribut.

...

Tekniskt anrop

...

...

Olika sätt att anropa/uthoppa

Pascal kan anropas från annat system på ett antal sätt: med
[URL]/start
eller
[URL]/start/[PNR] (låst till patienten med personnummer PNR)
eller
[URL]/start/[PNR]/lf (låst till patienten med personnummer PNR)
eller
[URL]/start/ bevakaderecept/0, [URL]/start/bevakaderecept/1, [URL]/start/bevakaderecept/2 resp (olåst Pascal)
eller
[URL]/start/bevakadehandelser (olåst Pascal)
eller
[URL]/start/bestallningar (olåst Pascal)
där [URL] ersätts med aktuell URL-adress till aktuell Pascal-miljö,[PNR] ersätts med önskad patients personnummer angivet med 10 eller 12 siffror med eller utan bindestreck.

Exempel 1:
https://utbsiths.eordinationpascal.se/start
Innebär att man "låser upp" Pascal sessions-låsning till viss patient. Resultatet är att låsningen låses upp och Pascals startsida visas (efter eventuella autentiseringsdialoger).
Exempel 2:
https://utbsiths.eordinationpascal.se/start/19050426xxxx
Innebär uthoppsadressering till Pascal med öppnad läkemedelslista om patienten är dospatient (efter eventuella autentiserings- och vårdrelationsdialoger). Pascal är nu låst till patienten. Byte kan inte ske annat än att först låsa upp Pascal eller stänga kopplingen mot Pascal och öppna en ny koppling. För upplåsning se Exempel 1. För icke-dospatienter se Exempel 3. Image Removed
Ankarebild2bild2

...

Bild 2: Uthoppsadressering till dospatients läkemedelslista (OBS! inaktiverat kryss för att stänga patient)
Exempel 3:
https://utbsiths.eordinationpascal.se/start/19100529xxxx
För en icke-dospatient innebär samma adressering att användaren (efter eventuella autentiserings- och vårdrelationsdialoger) kommer in i "registrera patienten som dospatient"-dialogen om användaren har förskrivningsrätt och "förbered patienten som dospatient"-dialogen om användaren inte har förskrivningsrätt.
Image Removed

...

Bild 3: Uthoppsadressering med personnummer för icke-dospatient (användare med förskrivningsrätt)
Exempel 4:

https://utbsiths.eordinationpascal.se/start/19300206xxxx/lf
Innebär uthoppsadressering till Pascals visning av Läkemedelsförteckningen oavsett om patienten är dospatient eller inte. Efter eventuella autentiseringsdialoger får användaren upp samtyckesdialogen till Läkemedelsförteckningen (om inte aktivt samtycke redan finns). Image Removed

...

Bild 4: Uthoppsadressering till Läkemedelsförteckningen för icke-dospatient
Exempel 5:
https://utbsiths.eordinationpascal.se/start/bevakaderecept/0
Innebär uthoppsadressering till Pascals bevakningslista (för användaren) och vyn utgående recept. Efter eventuella autentiseringsdialoger får användaren upp bevakningslistan för utgående recept eller information om att inga bevakningar finns.
Image Removed

...

Bild 5: Utgående recept
Exempel 6:
https://utbsiths.eordinationpascal.se/start/bevakaderecept/1
Innebär uthoppsadressering till Pascals bevakningslista (för användaren) och vyn utgångna recept. Efter eventuella autentiseringsdialoger får användaren upp bevakningslistan för utgångna recept eller information om att inga bevakningar finns.
Image Removed

...

Bild 6: Utgångna recept
Exempel 7:
https://utbsiths.eordinationpascal.se/start/bevakaderecept/2
Innebär uthoppsadressering till Pascals bevakningslista (för användaren) och vyn slutexpedierade recept. Efter eventuella autentiseringsdialoger får användaren upp bevakningslistan för slutexpedierade recept eller information om att inga bevakningar finns. Image Removed

...

Bild 7: Slutexpedierade recept
Exempel 8:
https://utbsiths.eordinationpascal.se/start/bevakadehandelser
Innebär uthoppsadressering till Pascals bevakningslista (för användaren) och vyn bevakade händelser. Efter eventuella autentiseringsdialoger får användaren upp bevakningslistan för bevakade händelser eller information om att inga bevakningar finns.
Image Removed

...

Bild 8: Bevakade händelser
Exempel 89:
https://utbsiths.eordinationpascal.se/start/bestallningar
Innebär uthoppsadressering till Pascals beställningar (lagda av användaren "Mina beställningar"). Efter eventuella autentiseringsdialoger får användaren upp vyn Beställningar och fliken Mina beställningar är aktiverad.
Image Removed

...


Bild 89: Mina beställningar

...

Patientval via uthopp

...

[PNR] anges för att direkt välja patient i Pascal. I detta fall låses Pascal-sessionen till denna patient och byte kan inte göra av användaren inom Pascalapplikationen (patientval är inte tillgängligt). Pascal har också inaktiverat möjligheten att stänga patienten via krysset inne i Pascal på öppnad patient.
Patientbyte kan då göras ifrån anropande applikation genom att anropa på nytt med annan patient.
OBS! Skickas enbart [URL]/start så nollställs patientvalet och användaren kan själv välja patient i Pascal via Pascals startsida. OBS! Det är inte rekommenderat att visa urlen för användaren hur nollställning sker då det kan innebära en risk att man från uthoppande system tappar spårbarheten på vad användaren gör.
Exempel:
https://utbsiths.eordinationpascal.se/start/191212121212
låser Pascal-sessionen till patient 19121212-1212.
Nytt anrop med
https://utbsiths.eordinationpascal.se/start/191313131313
byter till patient 19131313-1313.
Nytt anrop med
https://utbsiths.eordinationpascal.se/start
byter till Pascal startsida och låser upp föregående Pascal-session och dess koppling till föregående patient.
Om https://utbsiths.eordinationpascal.se/start anropas utan aktiv låsning fås felmeddelande
"Felaktig uthoppslänk: /start"

...


...

URL till Pascal

[URL] motsvarar https-länk till den Pascal-miljö som ska användas, t ex motsvarande testmiljö eller produktion.
För produktions-URLer, se dokumentet Checklista - Säkerhetslösning för Pascal.
För test av tekniken kan användas testsite för Pascal med kortinloggning https://utbsiths.eordinationpascal.se

...

(Innehåller aktuell release motsvarande som i produktionsmiljön. Testmiljön hålls tillgänglig under kontorstid)
https://demosiths.eordinationpascal.se (Innehåller nästkommande release. Testmiljön existerar endast i anslutning till en kommande release.)

...


...

Sammanfattning

URL

Beskrivning

https://utbsiths.eordinationpascal.se/start

Låser upp en eventuell tidigare låst Pascal-session kopplad till viss patient och visar Pascals startsida
Rekommenderas att inte använda för uthoppande system

https://utbsiths.eordinationpascal.se/start/YYYYMMDDXXXX

Uthoppsadressering till Pascal med öppnad läkemedelslista om patienten är dospatient (efter eventuella autentiserings- och vårdrelationsdialoger).
För en icke-dospatient innebär samma adressering att användaren (efter eventuella autentiserings- och vårdrelationsdialoger) får välja mellan att registrera patienten som dospatient eller visa Läkemedelsförteckningen (efter eventuell samtyckesdialog).

[https://utbsiths.eordinationpascal.se/start/YYYYMMDDXXXX /lf

Uthoppsadressering till Pascals visning av Läkemedelsförteckningen oavsett om patienten är dospatient eller inte. Efter eventuella autentiseringsdialoger får användaren upp samtyckesdialogen till Läkemedelsförteckningen (om inte aktivt samtycke redan finns).

https://utbsiths.eordinationpascal.se/start/bevakaderecept/0

Uthoppsadressering till Pascals bevakningslista (för användaren) och vyn utgående recept. Efter eventuella autentiseringsdialoger får användaren upp bevakningslistan vyn för utgående recept eller information om att inga utgående recept finns i bevakningslistan. Ingen låsning till viss patient.

[https://utbsiths.eordinationpascal.se/start/bevakaderecept/1

Uthoppsadressering till Pascals bevakningslista (för användaren) och vyn utgångna recept. Efter eventuella autentiseringsdialoger får användaren upp bevakningslistan vyn för utgående recept eller information om att inga utgångna recept finns i bevakningslistan. Ingen låsning till viss patient.

https://utbsiths.eordinationpascal.se/start/bevakaderecept/2

Uthoppsadressering till Pascals bevakningslista (för användaren) och vyn slutexpedierade recept. Efter eventuella autentiseringsdialoger får användaren upp bevakningslistan vyn för slutexpedierade recept eller information om att inga slutexpedierade recept finns i bevakningslistan. Ingen låsning till viss patient.

https://utbsiths.eordinationpascal.se/start/bevakadehandelser

Uthoppsadressering till Pascals bevakningslista (för användaren) och vyn bevakade händelser. Efter eventuella autentiseringsdialoger får användaren upp bevakningslistan med vyn för bevakade händelser eller information om att inga bevakningar finns bevakningslistan. Ingen låsning till viss patient.

[https://utbsiths.eordinationpascal.se/start/

bestallningar

bestallningar

Uthoppsadressering till Pascals beställningar (lagda av användaren "Mina beställningar"). Efter eventuella autentiseringsdialoger får användaren upp vyn Beställningar och fliken Mina beställningar är aktiverad. Ingen låsning till viss patient.

...

...

Implementationstekniska rekommendationer

Oadresserat uthopp (uthopp utan personnummer) innebär ett problem att som journalsystem visa rätt läkemedelslista som aktualiseras i och med att Pascal har möjlighet att visa bevakningslistan. Problematiken är inte ny utan har funnits sedan tidigare i och med att man kan hoppa ut till Pascals startsida.
Ett exempel:
1 Start av exempel med uthopp till bevakningslista-funktionen
2 Journalssystemanvändare vill titta i "sin" bevakningslista hos Pascal (endera inloggad eller inte)
3 Journalssystemanvändare väljer att hoppa till "olåst Pascal", dvs utan personnummer i anropet och någon av bevakningsfunktionerna (utgående recept, utgångna recept eller bevakade händelser) (om inte användaren är inloggad blir användaren vidarebefordrad till inloggning först, se Översikt systemlösning)
4 I detta exempel så visas det 5 patienter i bevakningslistan (P1-P5) för att lättare åskådliggöra
5 Användaren tar som exempel utifrån det han ser i bevakningslistan beslut om att ändra i 2 av dessa patienters läkemedelslista, patient 1 och patient 2, P1 och P2
6 Användaren väljer P1 i bevakningslistan och kommer in på P1s läkemedelslista och gör de ändringar som användaren önskar
7 Användaren stänger P1 i Pascal (inte i journalen) och kommer tillbaka till bevakningslistan
8 Användaren väljer nu P2 i bevakningslistan och kommer in på P2s läkemedelslista och gör de ändringar som användaren önskar
9 Användaren stänger P2 i Pascal och kommer tillbaka till bevakningslistan
10 Användaren stänger Pascal, alternativt loggar ut ur Pascal (webbfönstret) och därefter stänger Pascalfönstret och återvänder till sitt journalsystem
Exemplet ovan belyser problemet med att om ett journalsystem (och dess användare) går in i Pascal/gör ett uthopp till bevakningslistan och gör ändringar så kommer inte journalsystemet kunna återge korrekt status på patienten och dess förskrivningar i sitt journalsystem eftersom man inte vet vad användaren har gjort och på vilka patienter.
För att det ska bli rätt i journalsystemet bör alla uthoppsintegrerade journalsystemen ändra princip och alltid hämta aktuella och icke-aktuella ordinationer samt hämta vårdtagarstatus för den dospatient som ska öppnas dvs innan öppning/presentation av uthoppsknapp.
Som det är nu så uppdaterar journalsystem (de vi känner till) med uthopp, dospatientens status och ordinationer efter att användaren är klar i Pascal. I och med den ändrade rekommendationen för alla direktadresserade (med personnummer) uthopp till Pascal kommer journalsystemen kunna visa rätt dospatientstatus varje gång patienten öppnas i journalsystemet vilket är mer patientsäkert.
Se bild 2; Uthoppsadressering till dospatients läkemedelslista med inaktiverat kryss för att stänga patient

...

Rekommendation

  1. Hämta alltid aktuella och icke-aktuella ordinationer samt vårdtagarstatus för den dospatient som ska öppnas i journalsystemet innan öppning/presentation av uthoppsknapp med direktadresserat uthopp (med personnummer). Genom detta så säkerställer journalsystemet att den har senaste status för dospatienten och kan ta rätt beslut om förändringar. Om man har en synkning av patientens läkemedelslista vid stängning av direktadresserat uthopp (med personnummer) så kan man ha kvar den (för att t ex logga vad användaren gjort i sitt eget journalsystem).

  2. Tillåt inte uthopp till olåst Pascal om möjligt.