Esittely latautuu. Ole hyvä ja odota

Esittely latautuu. Ole hyvä ja odota

Kontekstinhallinta & kontekstinhallinnan alueellinen käyttö

Samankaltaiset esitykset


Esitys aiheesta: "Kontekstinhallinta & kontekstinhallinnan alueellinen käyttö"— Esityksen transkriptio:

1 Kontekstinhallinta & kontekstinhallinnan alueellinen käyttö
Mika Tuomainen SerAPI-projekti, HIS-tutkimus Kuopion yliopisto, Tietotekniikkakeskus, Centek

2 Tässä esityksessä… …esitellään yleisesti kontekstinhallintaa (minimikontekstinhallintaa) …käydään läpi kontekstinhallinnan käyttöä alueellisesti …kurkistetaan "konepellin" alle …ajan salliessa kontekstinhallinnan alueellisessa hyödyntämisessä huomioitavia erityis- ja tietoturvakysymyksiä …esiteltävät spesifikaatiot on saatavilla HL7-Dokumenttiarkistosta (linkki etusivulla)

3 Kontekstinhallinnan lähtökohdat (1)
Potilastiedot ovat useissa eri järjestelmissä Käyttäjän työasemalla on usein tarpeellista olla käynnissä yhtäaikaisesti useita eri sovelluksia Järjestelmien välillä ei ole riittävästi yhteistoiminnallisuutta Lääkärin tai muun hoitohenkilökunnan täytyy erikseen kirjautua sisään kuhunkin järjestelmään ja hakea esimerkiksi potilaan tiedot erikseen joka järjestelmään Käyttäjä joutuu näin tekemään useita samankaltaisia toimintoja eri järjestelmiin

4 Kontekstinhallinnan lähtökohdat (2)
Kontekstinhallinnan tarkoitus on tuoda apua em. ongelmaan Se määrittelee yleisen mallin samalla työpöydällä toimivien sovellusten visuaalisen integroinnin toteuttamiseen. Kontekstinhallinnan pyrkimyksenä on helpottaa erillisten järjestelmien yhtäaikaista käyttöä -> pyrkimys parantaa käyttäjän työprosesseja sekä tehdä järjestelmien käytöstä paremmin työnkulkua tukevia

5 Kontekstinhallinnan lähtökohdat (3)
Kertakirjautuminen (single sign-on) Käyttäjän tarvitsee kirjautua työasemallaan vain kerran yhteen järjestelmään Muut työpöytäintegraatioon kytketyt sovellukset voivat käyttää hyväksi tätä kirjautumistietoa, eli ne voivat liittyä samaan kontekstiin

6 Kontekstinhallinnan lähtökohdat (4)
Yhteiseen kontekstiin siirtyminen käyttäjälle tarjotaan automaattinen tai helppo siirtyminen samaan potilaaseen tai muuhun käsiteltävänä olevaan asiaan eri järjestelmissä käyttäjän tarvitsee esim. syöttää potilaan tunnus ja hakea haluamansa potilaan tiedot vain yhteen järjestelmään, muut järjestelmät osaavat työpöytäintegraatiota hyödyntäen hakea saman potilaan tiedot

7 Kontekstinhallinnan lähtökohdat (5)
Yhteinen konteksti (common context) Muodostuu joukosta yhteisiä tietoja ja käsitteitä (entiteettejä, entities), joita eri järjestelmät voivat käsitellä samalla tavalla järjestelmien sisäisestä toteutuksesta riippumatta Esimerkiksi käyttäjän ja asiakkaan (terveydenhuollossa potilaan) tunnistetiedot Myös muut mahdolliset tiedot ja käsitteet, joilla on sama merkitys eri järjestelmissä, voivat kuulua yhteiseen kontekstiin

8 Yhteinen konteksti Yhteinen konteksti Potilassubjekti Käyttäjäsubjekti
Nimi = Potilaan nimi Arvo = Meikäläinen^Matti Context Item Context Items Nimi = Potilaan hetu Arvo = xxxx Context Item

9 Kontekstinhallinnan lähtökohdat (6)
HUOM! tärkeää kuitenkin huomata, että kontekstinhallinta ei poista sovelluksissa olevaa päällekkäistä tietoa MUTTA helpottaa ja tehostaa merkittävästi käyttötilanteita, joissa sama käyttäjä joutuu käyttämään useita sovelluksia samanaikaisesti

10 Kontekstinhallinnan arkkitehtuuri
Osapuolet Koordinaattori-komponentti Järjestelmät Mahdolliset agenttikomponentit Järjestelmä 2 Järjestelmä 1 Järjestelmä 3 Koordinaattori- komponentti Agentti- Agentti- komponentti komponentti

11 Kontekstinhallinnan osapuolet (1)
Koordinaattori-komponentti (context manager) Toimii työpöydällä olevien järjestelmien näkymättömänä koordinaattorina Ohjelmistokomponentti, joka ylläpitää ja koordinoi käsiteltävää kontekstia sekä yhteyksiä sovelluksiin Koordinaattori-komponentin avulla siihen liittyneet sovellukset voivat jakaa keskenään yhteistä kontekstia ( = yhteisen kontekstin synkronointi)

12 Kontekstinhallinnan osapuolet (2)
Järjestelmät Organisaatiossa jo olemassa olevia järjestelmiä (tai alueellisessa käytössä myös org. ulkop.) Agenttikomponentit Voidaan yhdistää eri sovellusten samaa entiteettiä tarkoittavat tiedot huolimatta entiteettien eri arvoista eri järjestelmissä Esimerkiksi käyttäjällä voi olla eri käyttäjätunnus eri sovelluksissa. Agenttikomponentin avulla käyttäjän yhden järjestelmän käyttäjätunnuksen perusteella voidaan kontekstiin asettaa myös käyttäjän muissa sovelluksissa käyttämät erilaiset käyttäjätunnukset Käyttö valinnaista

13 Kontekstinhallinta ~työpöytäintegraatio ~minimikontekstinhallinta
kontekstinhallinnasta käytetään usein myös termiä työpöytäintegraatio kontekstinhallinta pitää sisällään tekniikat ja keinot, joilla työpöytäintegraatio voidaan toteuttaa minimikontekstinhallinta Suomessa (PlugIT-hankkeessa) määritelty CCOW-standardin "riisuttu" versio kontekstinhallintaan

14 CCOW-standardi (1) CCOW (Clinical Context Object Workgroup)
Kansainvälisen HL7-yhdistyksen ylläpitämä standardi terveydenhuollon työpöytäintegraatioon CCOW-standardin mukainen toteutus koettiin liian raskaaksi tavaksi toteuttaa integraatiota Ei kotimaisia toteuttajia täydelliselle CCOW-standardin mukaiselle ratkaisulle

15 CCOW-standardi (2) Täydelliselle CCOW-standardin mukaiselle ratkaisulle ei ole kuin muutama ulkomaalainen tuote Epävarmuustekijänä kontekstinhallintaympäristön hinnoittelu sekä mahdollinen riippuvaisuus toimittajasta Ulkomainen toteuttaja ja CCOW-standardin pääkehittäjä (Sentillion) ei osoittanut kiinnostusta tarjouspyyntöön…

16 PlugIT-minimikontekstinhallinta (1)
työpöytäintegraation soveltamiseksi Suomessa PlugIT-hankkeessa alettiin määritellä CCOW-standardia kevyempää ratkaisua ratkaisun pohjana käytettiin CCOW-standardissa määriteltyä työpöytäintegraation toteuttamista tavoitteena oli hahmottaa minimiratkaisua, jolla CCOW-tyyppinen toiminnallisuus olisi saavutettavissa standardista pyrittiin aluksi löytämään vain kaikkein olennaisimmat ja hyödyllisimmät osat, joilla työpöytäintegraation perustoiminnallisuus, käyttäjä- ja potilaskontekstin käsittely, voitaisiin toteuttaa

17 PlugIT-minimikontekstinhallinta (2)
käytännössä toteutus on palvelinpohjainen tietovarasto, johon kukin kontekstinhallinnan piiriin kuuluva sovellus voi tehdä tietojen hakuja ja päivityksiä palvelinpohjaisuuden etuna on, että kontekstinhallinta saadaan toimimaan eri tekniikoilla toteutettujen järjestelmien kesken (windows, web) käyttäjälähtöisyys ei automaattista kontekstin vaihtamista yksinkertaistaa kontekstinhallinnan toteuttamista

18 PlugIT-minimikontekstinhallinta (3)
määrittelyn avulla mahdollista toteuttaa kertakirjautuminen yhteiseen kontekstiin siirtyminen (kontekstin synkronointi) helpottaa erillisten järjestelmien yhtäaikaista käyttöä tehostaa käyttötilanteita, joissa sama käyttäjä joutuu käyttämään useita sovelluksia samanaikaisesti

19 PlugIT-minimikontekstinhallinta (4)
Minimikontekstinhallinnan määrittely ei ole yhteensopiva CCOW-standardin kanssa Minimitason määritysten mukaisesti toteutettu asiakassovellus ei ole yhteensopiva CCOW-standardin mukaisen koordinaattorin kanssa Vastaavasti CCOW-yhteensopiva asiakassovellus ei ole yhteensopiva minimitason määritysten mukaisen koordinaattorin kanssa

20 Yksinkertainen esimerkki toiminnasta (1)
Käyttäjä avaa järjestelmän ja kirjautuu järjestelmään Järjestelmä 1 1.

21 Yksinkertainen esimerkki toiminnasta (2)
Järjestelmä ottaa yhteyden koordinaattoriin ja liittyy koordinaattoriin Järjestelmä 1 2. Koordinaattori

22 Yksinkertainen esimerkki toiminnasta (3)
Järjestelmä asettaa käyttäjän käyttäjätunnuksen koordinaattorin ylläpitämään kontekstiin Järjestelmä 1 . 3. Koordinaattori

23 Yksinkertainen esimerkki toiminnasta (4)
Käyttäjä hakee potilaan x järjestelmästä Järjestelmä 1 4. Koordinaattori

24 Yksinkertainen esimerkki toiminnasta (5)
Järjestelmä asettaa potilaan x hetun koordinaattorin ylläpitämään kontekstiin Järjestelmä 1 . 5. Koordinaattori

25 Yksinkertainen esimerkki toiminnasta (6)
Käyttäjä avaa toisen järjestelmän . 6. Järjestelmä 1 Järjestelmä 2 Koordinaattori

26 Yksinkertainen esimerkki toiminnasta (7)
Järjestelmä 2 liittyy koordinaattorin ylläpitämään kontekstiin . Järjestelmä 1 Järjestelmä 2 7. Koordinaattori

27 Yksinkertainen esimerkki toiminnasta (8)
Järjestelmä 2 hakee kontekstista käyttäjätunnuksen ja potilaan hetun. Näiden tietojen avulla järjestelmä 2 voi suorittaa kertakirjautumisen ja siirtymiseen yhteiseen kontekstiin järjestelmän 1 kanssa . Järjestelmä 1 Järjestelmä 2 8. Koordinaattori

28 Minimikontekstinhallinnan määrittelyiden versiot
PlugIT:ssa tuotetut versiot: Minimitason kontekstinhallinnan määrittely, Versio 1 Minimitason kontekstinhallinnan määrittely, Versio 2 HL7 Finland dokumenttiarkistossa, Common Services SIGissä ja SerAPIssa tuotetut: Minimikontekstinhallinnan määrittely -organisaation sisäiseen kontekstinhallintaan, Versio 2.1 -organisaation sisäiseen kontekstinhallintaan, Väliversio 2.1.1 Tietoturvallinen kontekstinhallinta - soveltamisohje Minimikontekstinhallinnan määrittely v3 ( )

29 Alueellinen käyttö (1) Esiin nousi tarve käyttää kontekstinhallintaa myös alueellisesti Ideana, että organisaation ulkopuolinen järjestelmä voisi liittyä organisaation sisäiseen kontekstinhallintaan Näin olisi mahdollista toteuttaa organisaation ulkopuolisen järjestelmän kertakirjautuminen ja siirtyminen yhteiseen kontekstiin organisaation sisäisten järjestelmien kanssa

30 Alueellinen käyttö (2)

31 Alueellinen käyttö (3) Alueellinen käyttö nosti esiin useita tietoturvavaatimuksia Alueellisen tarpeen myötä alettiin määritellä kontekstinhallinnan tietoturvaratkaisua  Tietoturvallinen kontekstinhallinta - soveltamisohje Minimikontekstinhallinnan määrittely v3- dokumentissa huomioitu tietoturva oma luku alueellisesta kontekstinhallinnasta ja sen erityisvaatimuksista

32 Kontekstinhallinnan turvallisuus (1)
Ensimmäisissä minimikontekstinhallinnan määrittelyissä olettiin lähtökohtaisesti, että kontekstinhallintaa toteutetaan sisäverkossa, jossa paikallinen verkko ja työasemat ovat tiukasti kontrolloituja Vaatimuksia käyttäjäkontekstin asettamisen osalta Turvallisuuden ratkaisu toteutuskohtaista Uusimmassa Minimikontekstinhallinnan määrittely v3:ssa huomioitu tietoturva organisaation sisäisessä kontekstinhallinnassa ulkopuolisen järjestelmän liittämisessä kontekstinhallintaan

33 Kontekstinhallinnan turvallisuus (2)
Kontekstipalvelimen ja siihen liittyvien järjestelmien välinen tietoturva toteutetaan kaksisuuntaisella SSL:llä Kaksisuuntaisella SLL:llä kontekstipalvelin ja siihen liittyvät järjestelmät voivat varmistaa toistensa identiteetit kontekstitiedon eheyden sekä toteuttaa tietojen salauksen

34 Kontekstinhallinnan turvallisuus (3)
SSL-varmenteet sovelluskohtaisia Web-sovelluksissa palvelinvarmenteiden käyttö yksinkertaista Työasemasovelluksien osalta varmenteiden jakelu ja hallinnointi hankalaa Voidaan kiertää esim. väliohjelmiston avulla

35 Kontekstinhallinnan turvallisuus, alueellinen käyttö
Organisaation ulkopuolisen sovelluksen ja kontekstipalvelimen välillä käytetään myös kaksi suuntaista SSL:ää Parametrien välitys (sessioavain) selaimen välityksellä, one-way-SSL

36 Kurkistus konepellin alle..

37 Yleisesti kontekstinhallintarajapinnoista (1)
Minimikontekstinhallinta käsittää kaksi rajapintaa: ContextManager – kontekstinhallintaan liittyminen ja siitä eroaminen, session luominen ContextData – yhteisen kontekstin tietojen (entiteettien) käsittely

38 Yleisesti kontekstinhallintarajapinnoista (2)
Yhteisen kontekstin tietojen tietotyyppien nimeämiskäytäntö CCOW:sta Määritelty kaksi perustietotyyppiä: Potilassubjekti nimeäminen: Patient.Id.NationalIdNumber arvo: hetu Käyttäjäsubjekti nimeäminen: User.Id.Logon arvo: käyttäjätunnus Kontekstiin liittyvien sovellusten täytyy osata tulkita käyttäjäsubjektin arvo Lisäsubjektit suoraan CCOW-standardista, jos mahdollista tai sitten custom-subject mekanismin avulla määritellyt oma subjektit

39 Subject_label.role.Name_prefix.optional_name_suffix
Yleisesti kontekstinhallintarajapinnoista (3) Nimeämiskäytäntö sama kuin CCOW-standardissa Subject_label.role.Name_prefix.optional_name_suffix Subject_label: Ilmaisee subjektin, johon tieto kuuluu, esim. Patient role: Kertoo tiedon ”roolin”: Id, Co, An Name_prefix: Ilmaisee mitä tieto tarkoittaa, esimerkiksi Logon (= kirjautumistieto) Optional_name_suffix: Tämä ei ole pakollinen kenttä. Suffix-osan avulla on mahdollista esimerkiksi erottaa eri järjestelmien käyttämät subjektit, jos niiden arvot poikkeavat toisistaan

40 Yleisesti kontekstinhallintarajapinnoista (4)
Yhteisen kontekstin tietotyypit määritellään käyttämällä HL7v2.4-rakenteisia tietotyyppejä kuin CCOW-standardissakin Myös HL7v2.4-mukaisia erotinmerkkejä ja escape-sekvenssejä käytettävä tiedon eri osien kuvaamiseen, jotta viestien muoto säilyy oikeana

41 ContextManager-rajapinta
CreateSession sovellus voi pyytää koordinaattoria luomaan sessioavaimen mahdollistaa useiden sessioiden luomisen samalta työasemalta käyttö vapaaehtoista mutta suositeltavaa (alueellisessa käytössä oikeastaan pakollista) JoinCommonContext Kontekstinhallinnan yhteiseen kontekstiin liittyminen Työaseman tunnistaminen: Joko sessioavaimen tai IP-osoitteen avulla LeaveCommonContext Kontekstinhallinnasta eroaminen

42 Esimerkki: CreateSession-kutsu
Sanoma ?interface=ContextManager &method=CreateSession &applicationName=LoginMaster &hostAddress= Vastaus sessionKey=

43 Esimerkki: JoinCommonContext-kutsu
Sanoma ?interface=ContextManager &method=JoinCommonContext &applicationName=LoginMaster &sessionKey= Vastaus participantCoupon=

44 Esimerkki: LeaveCommonContext-kutsu
Sanoma ?interface=ContextManager &method=LeaveCommonContext &participantCoupon=

45 ContextData-rajapinta
SetItemValues Tietojen asettaminen yhteiseen kontekstiin GetItemValues Tietojen hakeminen yhteisestä kontekstista

46 Esimerkki: SetItemValues-kutsu
Sanoma ?interface=ContextData &method=SetItemValues &participantCoupon= &itemNames=User.Id.Logon|Patient.Id.NationalIdNumber &itemValues=mituomai| XXXX

47 Esimerkki: GetItemValues-kutsu
Sanoma ?interface=ContextData &method=GetItemValues &participantCoupon= &itemNames=Patient.Id.NationalIdNumber Vastaus itemValues=Patient.Id.NationalIdNumber| XXXX

48 Alueellisen kontekstinhallinnan tietoturvaratkaisu

49 Alueellinen tietoturva
Haasteita: Järjestelmät ja niiden käyttämät tietoliikenneverkot ovat eri organisaatioiden hallinnoimia ja ylläpitämiä Tarpeita Kertakirjautuminen Saman potilaan käsittely eri järjestelmissä Ratkaisuja: Sovellusten ja kontekstipalvelimen vahva tunnistus ja salatut yhteydet kontekstinhallinnassa Sessioavaimen turvallinen välitys järjestelmien välillä Sessioavaimen on oltava vaikeasti arvattava Kontekstinhallinta ratkaisee kertakirjautumisen ja samaan potilaaseen siirtymisen

50 Kontekstinhallinnan osapuolet alueellisessa käytössä (1)
Kontekstipalvelin Voi toimia sisä- tai ulkoverkossa Tunnistaa sovellukset sertifikaateilla ja tarkistaa sovellusten oikeudet Välittää tietoja sovellusten välillä Perusjärjestelmä Toimii organisaation omassa sisäverkossa Tunnistaa käyttäjän Luo kontekstin ja liittyy siihen, asettaa käyttäjän kontekstiin Käynnistää muita järjestelmiä ja välittää niille sessioavaimen

51 Kontekstinhallinnan osapuolet alueellisessa käytössä (2)
Ulkopuolinen järjestelmä (alueellinen järjestelmä) Toimii organisaation ulkopuolisessa verkossa Saa käynnistysparametrina sessioavaimen, jolla liittyy kontekstiin Saa kontekstista tietoonsa käyttäjätunnuksen ja käsiteltävän potilaan Voi käynnistää muita ulkopuolisia järjestelmiä ja välittää niille sessioavaimen edelleen

52 Kontekstinhallinnan osapuolet alueellisessa käytössä (3)
Sisäinen järjestelmä Toimii organisaation sisäisessä verkossa Saa käynnistysparametrina sessioavaimen, jolla liittyy kontekstiin Saa kontekstista tietoonsa käyttäjätunnuksen ja käsiteltävän potilaan Voi käynnistää muita sisäisiä tai ulkopuolisia järjestelmiä ja välittää niille sessioavaimen edelleen

53 Alueellisen käytön erityisvaatimuksia (1)
Alueellisen järjestelmän toiminta-alueella voi olla useita kontekstipalvelimia Organisaatioilla on omia sisäisiä kontekstinhallintatarpeita Kontekstipalvelin voi olla organisaation oma tai useamman organisaation yhteinen Alueellisen järjestelmän on osattava valita oikea kontekstipalvelin sen mukaan mistä organisaatiosta sitä kutsutaan

54 Alueellisen käytön erityisvaatimuksia (2)
Yhteistä kontekstipalvelinta käyttävien järjestelmien on luotava ja käytettävä yksilöllisiä sessioavaimia Uusi CreateSession-metodi takaa yksilöllisyyden Ip-osoitteisiin perustuvaa työpöydän tunnistamista ei ole mahdollista käyttää

55 Alueellisen käytön erityisvaatimuksia (3)
Kontekstiin tallennettavan käyttäjätunnuksen on oltava yksilöllinen käytetystä kontekstipalvelimesta riippumatta Käyttäjätunnus yksilöi tietyn sovelluksen tietyn käyttäjän Sovelluksen nimi voidaan liittää käyttäjätunnuksen osaksi Muita vaihtoehtoja esimerkiksi OID-koodin käyttö käyttäjän tunnistamiseen, geneerinen id (sovittava erikseen miten geneerinen id saadaan ja miten niitä hallinnoidaan)

56 Perusjärjestelmän käynnistäminen
Käyttäjä Perusjärjestelmä Kontekstipalvelin Käynnistää CreateSession(applicationName=perusjärjestelmä) sessionKey=xyz JoinCommonContext(applicationName=perusjärjestelmä, sessionKey=xyz) participantCoupon=123 Kirjautuu sisään SetItemValues(participantCoupon=123, itemNames=User.Id.Logon, (Tommi Rissanen 2005) Valitsee potilaan SetItemValues(participantCoupon=123, itemNames=Patient.Id.NationalIdNumber, itemValues= )

57 Alueellisen järjestelmän käynnistys
Käyttäjä Perusjärjestelmä Selain Aluejärjestelmä Kontekstipalvelin Käynnistä alue-järjestelmän toiminto 1 content-type: application/x-www- form-urlencoded sender=perusjärjestelmä& receiver=aluejärjestelmä& sessionKey=xyz&action=1 JoinCommonContext( applicationName=aluejärjestelmä, SessionKey=xyz) participantCoupon=456 GetItemValues( participantCoupon=456, itemNames=User.Id.Logon| Patient.Id.NationalIdNumber) itemValues=User.Id.Logon| Patient.Id.NationalIdNumber| (Tommi Rissanen 2005) Toiminnon 1 aloitussivu

58 Järjestelmien sulkeminen
Käyttäjä Perusjärjestelmä Selain Aluejärjestelmä Kontekstipalvelin Sulje järjestelmä content-type: application/x-www- form-urlencoded sender=perusjärjestelmä& receiver=aluejärjestelmä& sessionKey=xyz&action=99 LeaveCommonContext( participantCoupon=456) Ilmoitus järjestelmän sulkemisesta LeaveCommonContext(participantCoupon=123) (Tommi Rissanen 2005)

59 Lähteitä


Lataa ppt "Kontekstinhallinta & kontekstinhallinnan alueellinen käyttö"

Samankaltaiset esitykset


Iklan oleh Google