Lataa esitys
Esittely latautuu. Ole hyvä ja odota
JulkaistuTapio Siitonen Muutettu yli 9 vuotta sitten
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ä
Samankaltaiset esitykset
© 2024 SlidePlayer.fi Inc.
All rights reserved.