plugit- kontekstinhallinta
DESCRIPTION
PlugIT- kontekstinhallinta. Mika Tuomainen [email protected]. Common Services SIG 31.8.2004. Sisältö. Taustaa CCOW-standardi Miksi CCOW ei käynyt suoraan? PlugIT-määrittelyn taustaa PlugIT-kontekstinhallintamäärittelyn läpikäynti Tietosisältö Rajapinnat Identifiointi - PowerPoint PPT PresentationTRANSCRIPT
![Page 2: PlugIT- kontekstinhallinta](https://reader034.vdocuments.mx/reader034/viewer/2022050909/56814dc8550346895dbb1d61/html5/thumbnails/2.jpg)
Taustaa CCOW-standardi Miksi CCOW ei käynyt suoraan? PlugIT-määrittelyn taustaa
PlugIT-kontekstinhallintamäärittelyn läpikäynti Tietosisältö Rajapinnat Identifiointi Web/http-määrittely Turvallisuus
Avoimet kohdat Poikkeavuudet CCOW:sta
Sisältö
![Page 3: PlugIT- kontekstinhallinta](https://reader034.vdocuments.mx/reader034/viewer/2022050909/56814dc8550346895dbb1d61/html5/thumbnails/3.jpg)
CCOW-standardi
CCOW (Clinical Context Object Workgroup)
HL7-yhdistyksen ylläpitämä standardi terveydenhuollon työpöytäintegraatioon
kehittyvä standardi
nyt versio 1.5
![Page 4: PlugIT- kontekstinhallinta](https://reader034.vdocuments.mx/reader034/viewer/2022050909/56814dc8550346895dbb1d61/html5/thumbnails/4.jpg)
CCOW-arkkitehtuuri
Context Manager
Mapping Agent
Annotation Agent
CCOW
CCOW
arkkitehtuuri koostuu
Sovellukset: mikä tahansa web- tai Windows-pohjainen sovellus
Context Manager: koordinoi näkymättömissä integraatioon liitettyjä sovelluksia, pitää yllä kontekstia
Mapping Agent & Annotation Agent: yhdenmukaistavat eri sovellusten samaa tarkoittavia tietoja, Suomessa lähinnä käyttäjä
Morwood, 2001
![Page 5: PlugIT- kontekstinhallinta](https://reader034.vdocuments.mx/reader034/viewer/2022050909/56814dc8550346895dbb1d61/html5/thumbnails/5.jpg)
CCOW-standardi
kuvaa roolit ja vastuut komponenteille
määrittelee yksiselitteisen tietosisällön (kontekstin)
määrittelee rajapinnat komponenttien väliseen kommunikointiin
ei määrää komponenttien implementaatiota (teknologiariippumaton)
![Page 6: PlugIT- kontekstinhallinta](https://reader034.vdocuments.mx/reader034/viewer/2022050909/56814dc8550346895dbb1d61/html5/thumbnails/6.jpg)
CCOW-standardi
Technology Neutral Context Management Architecture
Technology Specific User Interface
Windows/Browser
(Swing)
(other)
COM
Web(CORBA)
Technology Specific Component Mapping
Technology-Neutral Subject
Data Defn’s
200 pgs
15 pgs
40 pgs
30 pgs
Health Level Seven, 2001
![Page 7: PlugIT- kontekstinhallinta](https://reader034.vdocuments.mx/reader034/viewer/2022050909/56814dc8550346895dbb1d61/html5/thumbnails/7.jpg)
kokonaisuudessaan CCOW-standardin mukainen toteutus koettiin liian raskaaksi tavaksi toteuttaa integraatiota
ei kotimaisia toteuttajia täydelliselle CCOW-standardin mukaiselle ratkaisulle
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 ei kiinnostunut
P-S shp:n nimissä tarjouspyyntö Sentillionin Vergence tuotteesta
ei vastausta tarjouspyyntöön..
Miksi CCOW ei käynyt suoraan?
![Page 8: PlugIT- kontekstinhallinta](https://reader034.vdocuments.mx/reader034/viewer/2022050909/56814dc8550346895dbb1d61/html5/thumbnails/8.jpg)
käyttäjien mielestä kontekstin välittäminen järjestelmien kesken ei saa olla automaattista, vaan se halutaan tapahtuvan käyttäjän toiminnosta
tarpeet Suomessa ovat vain tietojen vienti kontekstivarastoon ja niiden haku sieltä, eikä kontekstin vaihtumiseen tarvita automatiikkaa
keskeisin vaadittava toiminnallisuus saavutettavissa kevyemmälläkin ratkaisulla kuin CCOW-standardin mukainen
Miksi CCOW ei käynyt suoraan?
![Page 9: PlugIT- kontekstinhallinta](https://reader034.vdocuments.mx/reader034/viewer/2022050909/56814dc8550346895dbb1d61/html5/thumbnails/9.jpg)
työpöytäintegraation soveltamiseksi Suomessa PlugIT-hankkeessa alettiin määritellä kevyempää ratkaisua
ratkaisun pohjana käytettiin CCOW-standardissa määriteltyä työpöytäintegraation toteuttamista
tarkoitus ei kuitenkaan ollut toistaa standardissa jo määriteltyjä vaatimuksia, vaan hahmottaa minimiratkaisua, jolla CCOW-tyyppinen toiminnallisuus olisi saavutettavissa
standardista pyrittiin 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
PlugIT-määrittelyn taustaa
![Page 10: PlugIT- kontekstinhallinta](https://reader034.vdocuments.mx/reader034/viewer/2022050909/56814dc8550346895dbb1d61/html5/thumbnails/10.jpg)
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
käyttäjälähtöisyys
ei automaattista kontekstin vaihtamista
yksinkertaistaa kontekstinhallinnan toteuttamista
PlugIT-määrittelyn taustaa
![Page 11: PlugIT- kontekstinhallinta](https://reader034.vdocuments.mx/reader034/viewer/2022050909/56814dc8550346895dbb1d61/html5/thumbnails/11.jpg)
määrittelyn avulla mahdollista toteuttaa kertakirjautuminen yhteiseen kontekstiin siirtyminen (kontekstin synkronointi)
käyttäjälle tarjotaan yhdenmukainen näkymä käsiteltävään tietoon huolimatta tarpeesta käsitellä tietoa useissa eri järjestelmissä
helpottaa erillisten järjestelmien yhtäaikaista käyttöä ja parantaa näin käyttäjän työprosesseja, joista tulee tehok-kaampia ja paremmin työnkulkua tukevia
PlugIT-kontekstinhallintamäärittely
![Page 12: PlugIT- kontekstinhallinta](https://reader034.vdocuments.mx/reader034/viewer/2022050909/56814dc8550346895dbb1d61/html5/thumbnails/12.jpg)
yksinkertaistaa kontekstinhallinnan toteutusta: osallistuvien sovellusten ei tarvitse toteuttaa rajapintoja (CCOW-
standardin ContextParticipant), koska context manager ei koskaan kutsu sovelluksia
context managerin tarvitsee toteuttaa vain kontekstinhallintaan liittymisessä tarvittavat join / leave ja kontekstin tietosisällön käsittelyssä tarvittavat get/set tyyppiset metodit rajapinnassaan
kartoitusvaihetta (survey phase) ei tarvitse suorittaa, mikä yksinkertaistaa context manager komponentin toteutusta huomattavasti
context manager pitää yllä vain yhtä viimeisimmäksi asetettua kontekstia
PlugIT-kontekstinhallintamäärittely
![Page 13: PlugIT- kontekstinhallinta](https://reader034.vdocuments.mx/reader034/viewer/2022050909/56814dc8550346895dbb1d61/html5/thumbnails/13.jpg)
PlugIT-määrittelyn tietosisältö
Määrittelee yhteisen kontekstin:
PotilassubjektiPatient.Id.NationalIdNumberhetu
KäyttäjäsubjektiUser.Id.Logongeneerinen idmappaus sovelluksissa
Custom subjectjos ei löydy standardista/määrittelystä, määritellään itseerottimena avainsana (organisaation W3C domain-nimi)
![Page 14: PlugIT- kontekstinhallinta](https://reader034.vdocuments.mx/reader034/viewer/2022050909/56814dc8550346895dbb1d61/html5/thumbnails/14.jpg)
custom subject esimerkit
[plugit.fi]DateRange
[plugit.fi]DateRange.Id. [plugit.fi]StartDate
Patient.Co.[plugit.fi]Current_medications
PlugIT-määrittelyn tietosisältö
![Page 15: PlugIT- kontekstinhallinta](https://reader034.vdocuments.mx/reader034/viewer/2022050909/56814dc8550346895dbb1d61/html5/thumbnails/15.jpg)
CCOW-standardin rajapinnat (ja nämäkin karsittuina versioina):
ContextManager-rajapinta: kontekstinhallintaan liittyminen ja siitä eroaminen
ContextData-rajapinta: kontekstin tiedon käsittely
PlugIT-määrittelyn rajapinnat
![Page 16: PlugIT- kontekstinhallinta](https://reader034.vdocuments.mx/reader034/viewer/2022050909/56814dc8550346895dbb1d61/html5/thumbnails/16.jpg)
ContextManager
JoinCommonContext (kontekstinhallintaan liittyminen) inputs(string applicationName)outputs(long participantCoupon)
LeaveCommonContext (kontekstinhallinnasta eroaminen) inputs(long participantCoupon) outputs()
PlugIT-määrittelyn rajapinnat
![Page 17: PlugIT- kontekstinhallinta](https://reader034.vdocuments.mx/reader034/viewer/2022050909/56814dc8550346895dbb1d61/html5/thumbnails/17.jpg)
ContextData
setItemValues (tietojen asettaminen kontekstiin) inputs (long participantCoupon, string[ ] itemNames,
string[ ] itemValues)outputs ()
getItemValues (tietojen hakeminen kontekstista) inputs (long participantCoupon, string[ ] itemNames)outputs (string[ ] itemValues)
PlugIT-määrittelyn rajapinnat
![Page 18: PlugIT- kontekstinhallinta](https://reader034.vdocuments.mx/reader034/viewer/2022050909/56814dc8550346895dbb1d61/html5/thumbnails/18.jpg)
sovelluksen/työaseman identifiointi:
applicationName: sovelluksen nimi. Sovelluksen nimen avulla sovellus tunnistautuu context manager-komponentille. Nimen avulla voidaan myös kertoa etukäteen context managerille, mitkä sovellukset voivat osallistua yhteiseen kontekstiin
participant coupon: tunnus, jonka context manager-komponentti antaa sovellukselle sen liittyessä kontekstinhallintaan. Parametri yksilöi kontekstiin osallistuvan sovelluksen ja sovelluksen on käytettävä sitä jatkossa ollessaan yhteydessä context manageriin
työaseman ip / työaseman tunnus: tarvitaan työaseman tunnistamiseen, kun context manager on palvelimella (web/http-määrittely)
Identifiointi
![Page 19: PlugIT- kontekstinhallinta](https://reader034.vdocuments.mx/reader034/viewer/2022050909/56814dc8550346895dbb1d61/html5/thumbnails/19.jpg)
GetItemValues(98765, <”User.Id.Logon”>)
itemValue = “robs”
SetItemValues(98765,<"Patient.Id.NationalIdNumber">, <"230474-XXXX”>)
Sovellus App Kontekstinhallinta CM
JoinCommonContext(appName)
partipantCoupon = 98765
LeaveCommonContext(98765)
![Page 20: PlugIT- kontekstinhallinta](https://reader034.vdocuments.mx/reader034/viewer/2022050909/56814dc8550346895dbb1d61/html5/thumbnails/20.jpg)
viestinvälitys http-viesteillä
mallina CCOW-standardin tapa muodostaa http-viestit
huomioitava
työaseman tunnistaminen web-sovelluksissa
turvallisuus
”pollaukset”
Web/http-määrittely
Erillissovellus
Http-yhteyskomponentti
Palvelutoteutus
Http-keskustelija
http
Web-erillissovellus
WWW-palvelin
http
http
Http-yhteyskomponentti
![Page 21: PlugIT- kontekstinhallinta](https://reader034.vdocuments.mx/reader034/viewer/2022050909/56814dc8550346895dbb1d61/html5/thumbnails/21.jpg)
Kutsuttavan
komponentin
URL-osoite
Kutsuttava
rajapinta
Kutsuttava
metodiKutsun
parametrit
http://url.fi/cm?interface=ContextManager&method=JoinCommonContext&applicationName= . . .
HTTP Request Message
Argument Name Data Type Comment
interface string “ContextManager”
method string “JoinCommonContext”
applicationName string
http-viestien muodostaminen
![Page 22: PlugIT- kontekstinhallinta](https://reader034.vdocuments.mx/reader034/viewer/2022050909/56814dc8550346895dbb1d61/html5/thumbnails/22.jpg)
työaseman ip:n välitys
tarvitaan erillinen metodi
JoinCommonContextWithIp
ei CCOW-standardissa
Työaseman tunnistaminen web-sovelluksissa
Erillissovellus
Http-yhteyskomponentti
Palvelutoteutus
Http-keskustelija
http
Web-erillissovellus
WWW-palvelin
http
http
Http-yhteyskomponentti
![Page 23: PlugIT- kontekstinhallinta](https://reader034.vdocuments.mx/reader034/viewer/2022050909/56814dc8550346895dbb1d61/html5/thumbnails/23.jpg)
tällä hetkellä turvallisuutta ei oteta huomioon sovellustasolla liikenne salattava, kun tietoa liikutellaan verkossa (https)
ratkaistava, kuinka sovellukset voivat luottaa toisiinsa
suurin ongelma käyttäjäkontekstin asettamisessa
Turvallisuus PlugIT-määrittelyssä
![Page 24: PlugIT- kontekstinhallinta](https://reader034.vdocuments.mx/reader034/viewer/2022050909/56814dc8550346895dbb1d61/html5/thumbnails/24.jpg)
RATKAISUVAIHTOEHDOT:
käyttäjätunnuksen asetus vain luotetun sovelluksen kautta ja ei SetItemValues-metodilla
kontekstinhallintatoteutuksen tarjottava erillinen metodi käyttäjätunnuksen asetukseen
käyttäjätunnuksen asetus SetItemValues-metodilla siten, että käytetään jotain yleisesti käytettävää ratkaisua komponenttien autentikointiin ja tiedon eheyden varmistamiseen. Esimerkiksi SSL:ää käyttämällä voidaan toteuttaa eri osapuolien autentikointi, tiedon eheyden varmistaminen ja tiedon salaus
CCOW-standardin mukaisilla rajapinnoilla
Turvallisuus PlugIT-määrittelyssä
![Page 25: PlugIT- kontekstinhallinta](https://reader034.vdocuments.mx/reader034/viewer/2022050909/56814dc8550346895dbb1d61/html5/thumbnails/25.jpg)
Avoimet kohdat
Turvallisuus Määrittelyn seuraaviin versioihin on mietittävä, löytyykö yhtä yhteistä
standardiratkaisua turvallisuuden huomioimiseen vai jääkö sen toteuttaminen toteutuskohtaiseksi
Pollaukset Huomioitava sovelluksen/palvelun kaatuminen web-ympäristössä GetItemValues Sovellukselle aikaleima
Laajentaminen
Lisätiedot kontekstiin (uudet tiedot ja subjektit)
http content-type
![Page 26: PlugIT- kontekstinhallinta](https://reader034.vdocuments.mx/reader034/viewer/2022050909/56814dc8550346895dbb1d61/html5/thumbnails/26.jpg)
osallistuvien sovellusten ei tarvitse toteuttaa rajapintoja, koska koordinaattori ei koskaan kutsu sovelluksia
koordinaattorin tarvitsee toteuttaa vain kontekstinhallintaan liittymisessä tarvittavat join / leave ja kontekstin tietosisällön käsittelyssä tarvittavat get/set tyyppiset metodit rajapinnassaan
kartoitusvaihetta (survey phase) ei tarvitse suorittaa
sovellukset eivät päivitä tilaansa automaattisesti, vaan ainoastaan käyttäjän niin halutessa
Poikkeavuudet CCOW:sta
![Page 27: PlugIT- kontekstinhallinta](https://reader034.vdocuments.mx/reader034/viewer/2022050909/56814dc8550346895dbb1d61/html5/thumbnails/27.jpg)
palvelinpohjaiseen määritykseen on lisätty metodi JoinCommonWithIp, jota ei löydy CCOW-standardista
turvallisuutta ei ole ratkaistu CCOW-standardin mukaisella tavalla
HTTP-kutsujen muoto on text/plain, CCOW-standardissa HTTP-kutsujen muoto on applicati-on/x-www-form-urlencoded
Poikkeavuudet CCOW:sta
![Page 28: PlugIT- kontekstinhallinta](https://reader034.vdocuments.mx/reader034/viewer/2022050909/56814dc8550346895dbb1d61/html5/thumbnails/28.jpg)
![Page 29: PlugIT- kontekstinhallinta](https://reader034.vdocuments.mx/reader034/viewer/2022050909/56814dc8550346895dbb1d61/html5/thumbnails/29.jpg)
![Page 30: PlugIT- kontekstinhallinta](https://reader034.vdocuments.mx/reader034/viewer/2022050909/56814dc8550346895dbb1d61/html5/thumbnails/30.jpg)
ContextHL7-paketti
PlugIT-kontekstihallintaan liittyviä määrityksiä ja toteutuksia
Mika [email protected]
Common Services SIG
31.8.2004
![Page 31: PlugIT- kontekstinhallinta](https://reader034.vdocuments.mx/reader034/viewer/2022050909/56814dc8550346895dbb1d61/html5/thumbnails/31.jpg)
Minimitason kontekstihallinnan määrittely, versio 1
Kontekstinhallinta-v1.pdf
Kontekstinhallinta-v1.doc
Kontekstihallinnan määrittely, versio 2
Kontekstinhallinta-v2.pdf
Kontekstinhallinta-v2.doc
Suomen HL7-yhdistys pyytää lausuntoa versiosta 2
Määritysdokumentit
![Page 32: PlugIT- kontekstinhallinta](https://reader034.vdocuments.mx/reader034/viewer/2022050909/56814dc8550346895dbb1d61/html5/thumbnails/32.jpg)
Kontekstipalvelu (v1.0)-sovellus
CtxtServerUku.exe
perustuu PlugIT-kontekstinhallintamäärityksen versioon 1
Kuopion yliopiston toteuttama taustamateriaali PlugIT-hankkeelle
rajattu kuuteen yhtäaikaiseen liittyvään sovellukseen
Toteutuksen kuvaus-dokumentti
CtxtServer.rtf
sisältää asennus-, asetus- ja käyttöohjeet kontekstipalvelun käyttämiseksi
Kontekstipalvelun referenssitoteutus
![Page 33: PlugIT- kontekstinhallinta](https://reader034.vdocuments.mx/reader034/viewer/2022050909/56814dc8550346895dbb1d61/html5/thumbnails/33.jpg)
Kontekstipalvelun MS Visual Studio .NET –asiakassovellus
Testisovellus Testi1.exe
Toteutuksen kuvaus: Asiakassovelluksen käyttöönotto-ohje sekä toteutuskohtaisten ratkaisujen dokumentointi sovelluksen käyttöönottoa varten
Visual Studio .NET (C#) –lähdekoodi
toteutusdokumentaatio
Toteutusraportti vanhan FileMan (Musti)/RPC Broker/FixIT-asiakassovelluksen liittämisestä kontekstihallintaan
Toteutuskokemukset-Musti-FixIT.doc
Kontekstipalvelua käyttävät referenssitoteutukset
![Page 34: PlugIT- kontekstinhallinta](https://reader034.vdocuments.mx/reader034/viewer/2022050909/56814dc8550346895dbb1d61/html5/thumbnails/34.jpg)
kontekstipalvelinten testaussovellus
CtxtClient.exe
testaussovelluksen käyttö- ja asetusohje
CtxtClient.rtf
Kontekstipalvelun (v1.0) testauksessa käytetyt testitapaukset
Testitapaukset_ContextServer1_0_2.doc:
Kontekstipalvelinten testaus
![Page 35: PlugIT- kontekstinhallinta](https://reader034.vdocuments.mx/reader034/viewer/2022050909/56814dc8550346895dbb1d61/html5/thumbnails/35.jpg)
CCOW+MinimiKontekstinhallinta.ppt:
Yleiskuvaus ja esittely: PlugIT Minimikontekstinhallinta-esitys, CCOW- ja kontekstinhallinta-esittely
WinToteutukset-2.ppt
Windows-alustalle tehtyjen referenssitoteutusten esittely
Muuta
![Page 36: PlugIT- kontekstinhallinta](https://reader034.vdocuments.mx/reader034/viewer/2022050909/56814dc8550346895dbb1d61/html5/thumbnails/36.jpg)
![Page 37: PlugIT- kontekstinhallinta](https://reader034.vdocuments.mx/reader034/viewer/2022050909/56814dc8550346895dbb1d61/html5/thumbnails/37.jpg)
![Page 38: PlugIT- kontekstinhallinta](https://reader034.vdocuments.mx/reader034/viewer/2022050909/56814dc8550346895dbb1d61/html5/thumbnails/38.jpg)
PlugIT-kontekstinhallintaLAUSUNTOKIERROKSEN KOMMENTIT
Mika [email protected]
Common Services SIG
31.8.2004
![Page 39: PlugIT- kontekstinhallinta](https://reader034.vdocuments.mx/reader034/viewer/2022050909/56814dc8550346895dbb1d61/html5/thumbnails/39.jpg)
Suomen HL7-yhdistys pyytää lausuntoa PlugIT-hankkeessa kehitetystä minimikontekstinhallinnasta (määrityksen versio 2)
paketti löytyy osoitteesta: http://www.plugit.fi/ContextHL7.zip
lausuntoaika: 13.8.2004-13.9.2004
lausuntojen käsittelyn ja mahdollisten korjauksien jälkeen kontekstinhallinnan määrittely on Suomen HL7-yhdistyksen hyväksymä (kansallinen) standardi
lausunnot toimitetaan sähköisessä muodossa HL7 yhdistyksen tekniselle komitealle
osoitteeseen [email protected]
otsikkoon teksti PLUGITCCOW
Lausuntokierros - taustaa
![Page 40: PlugIT- kontekstinhallinta](https://reader034.vdocuments.mx/reader034/viewer/2022050909/56814dc8550346895dbb1d61/html5/thumbnails/40.jpg)
tekninen komitea käsittelee lausunnot 16.9.2004
lopullisessa määrittelyssä pyritään konsensukseen siten, että kaikkien lausujien kommentit otetaan huomioon ja eriävistä mielipiteistä neuvotellaan ko.mielipiteen esittäjän (lausujan) kanssa
lopulta tekninen komitea tekee hallitukselle esityksen hyväksyttävästä standardista
Lausuntokierros - taustaa
![Page 41: PlugIT- kontekstinhallinta](https://reader034.vdocuments.mx/reader034/viewer/2022050909/56814dc8550346895dbb1d61/html5/thumbnails/41.jpg)
liittyvät PlugIT-määrityksen laajentamiseen
”pelisäännöt” laajenemiselle
HTTP-viestit
lisätietojen määrittely kontekstiin
sovellukselle mahdollisuus tiedustella kontekstipalvelimen toteuttamia tasoja
Tulleet kommentit
![Page 42: PlugIT- kontekstinhallinta](https://reader034.vdocuments.mx/reader034/viewer/2022050909/56814dc8550346895dbb1d61/html5/thumbnails/42.jpg)
määriteltävä pelisäännöt laajentamiselle
vältytään ongelmilta, jossa useita erilaisia viritelmiä
nyt mahdollisuus vaikuttaa
kommentointi
ehdotus
käsittely
hyväksyntä
mille tasolle nyt päästään = minimitaso?
Pelisäännöt
![Page 43: PlugIT- kontekstinhallinta](https://reader034.vdocuments.mx/reader034/viewer/2022050909/56814dc8550346895dbb1d61/html5/thumbnails/43.jpg)
nyt content-type on pelkkä text/plain
estää erikoismerkkien sisällyttämisen dataan
lisätään määritykseen content-type application/x-www-urlencoded
muutoksia palvelimen toteutukseen (tuettava kahta content-typea)
sovellus ilmoittaa hyväksyvänsä application/x-www-urlencoded-muodon accept-headerissa
viestin koodauksen määrittely
HTTP - content-type
![Page 44: PlugIT- kontekstinhallinta](https://reader034.vdocuments.mx/reader034/viewer/2022050909/56814dc8550346895dbb1d61/html5/thumbnails/44.jpg)
viestin koodauksen määrittely (application/x-www-urlencoded)
merkit, joilla esitetään parametrien arvoja (merkit, jotka ovat yhtäkuin-merkin (=) oikealla puolella), pitäisi koodata yhteisesti sovitulla tavalla
yksi tällainen yhteinen tapa on määritelty IETF RFC 2396 standardissa, kappaleessa 2.4 (http://www.ietf.org/rfc/rfc2396.txt)
Muodostetaan tavallisista (US-ASCII) aakkosista, numeroista ja joistakin erikoismerkeistä.
ASCII-merkit ‘a’ - ‘z’, ‘A’ - ‘Z’ ja ‘0’ - ‘9’ pysyvät samana.
Tyhjä välilyönti ‘ ’ pitää konvertoida plus-merkiksi ‘+’ tai %20-merkinnällä.
Kaikki muut merkit pitää konvertoida 3-merkkiseksi stringiksi “%xy”. Tällöin merkki esitettään %-merkillä ja kahdella heksadesimaaliluvulla.(xy).
HTTP - content-type
![Page 45: PlugIT- kontekstinhallinta](https://reader034.vdocuments.mx/reader034/viewer/2022050909/56814dc8550346895dbb1d61/html5/thumbnails/45.jpg)
POST mukaan määritykseen
yleisesti POST poikkeaa GET-metodista siten, että POSTissa kutsutaan ensin palvelua ja lähetetään vasta sitten parametrit
riittääkö em. tarkkuus vai pitääkö POST-viestin muodostaminen tarkentaa?
HTTP - POST
![Page 46: PlugIT- kontekstinhallinta](https://reader034.vdocuments.mx/reader034/viewer/2022050909/56814dc8550346895dbb1d61/html5/thumbnails/46.jpg)
uusia tietoja subjekteille, mahdollisesti uusia subjekteja
tietojen nimeäminen
tietojen väliset riippuvuudet
GetItemValues- ja SetItemValues-metodien tarkennukset
UnknownItemName-poikkeuksen merkitys
Lisätietojen määrittely kontekstiin
![Page 47: PlugIT- kontekstinhallinta](https://reader034.vdocuments.mx/reader034/viewer/2022050909/56814dc8550346895dbb1d61/html5/thumbnails/47.jpg)
uusia tietoja Patient- ja User-subjekteille
nyt määrittelyssä Patient.Id.NationalIdNumber ja User.Id.Logon
tarvetta varsinkin Patient-subjektin tietojen lisäämiseksi
mahdollisesti uusia subjekteja
Lisätiedot kontekstiin - uudet tiedot
![Page 48: PlugIT- kontekstinhallinta](https://reader034.vdocuments.mx/reader034/viewer/2022050909/56814dc8550346895dbb1d61/html5/thumbnails/48.jpg)
otetaan CCOW-standardista mitä otettavissa on
CCOW-standardissa määritelty seuraavat subjektit:
Potilas (Patient)
Käyttäjä (User)
Käyntikerta (Encounter)
Tutkimuspyyntö (Observation request)
DICOM-objekti (DICOM study)
Käyttäjäkohtainen sertifikaatti (Certificate Annotation)
Käyttäjäntunnistus (Authenticate user-action)
Lisätiedot kontekstiin – nimeäminen
![Page 49: PlugIT- kontekstinhallinta](https://reader034.vdocuments.mx/reader034/viewer/2022050909/56814dc8550346895dbb1d61/html5/thumbnails/49.jpg)
jos ei löydy standardista, määritellään itse custom subject luotava siten, että ne eivät ole ristiriidassa jo määriteltyjen
subjektien kanssa CCOW-standardissa määriteltyjen subjektien ja custom
subjektien erottamiseen avainsana avainsanana custom subjektia käyttävän organisaation World
Wide Web Consortium (W3C) domain nimi
Lisätiedot kontekstiin – nimeäminen
![Page 50: PlugIT- kontekstinhallinta](https://reader034.vdocuments.mx/reader034/viewer/2022050909/56814dc8550346895dbb1d61/html5/thumbnails/50.jpg)
esimerkiksi
[plugit.fi]DateRange
[plugit.fi]DateRange.Id. [plugit.fi]StartDate
Patient.Co.[plugit.fi]Current_medications
jos organisaation sisäinen [organisaatio.fi]
jos kansallisesti yhdessä hyväksytty [hl7.fi] ?
Lisätiedot kontekstiin – nimeäminen
![Page 51: PlugIT- kontekstinhallinta](https://reader034.vdocuments.mx/reader034/viewer/2022050909/56814dc8550346895dbb1d61/html5/thumbnails/51.jpg)
tietojen lisääntyessä on oltava mahdollisuus määritellä/määriteltävä tietojen väliset riippuvuudet
yhden subjektin sisäiset tiedot riippuvaiseksi subjektin Id-tunnisteesta
kun asiakassovellus vaihtaa subjektia kontekstiin kontekstipalvelimen poistettava edelliseen subjektiin liittyvät tiedot
riippuvuudet myös subjektien välillä
esim. hoitojakso-subjekti on riippuvainen potilas-subjektista
kun potilasta vaihdetaan kontekstiin hoitojakso subjekti ja sen tiedot poistettava
tietojen poistaminen ei asiakassovelluksen vastuulle
Lisätiedot kontekstiin - riippuvuudet
![Page 52: PlugIT- kontekstinhallinta](https://reader034.vdocuments.mx/reader034/viewer/2022050909/56814dc8550346895dbb1d61/html5/thumbnails/52.jpg)
asiakassovelluksen asetettava tietoja hakiessaan GetItemValues-metodiin parametriksi aina myös Id-tieto
sovellus voi varmistua, että kontekstissa on haettavan subjektin tietoja
asiakassovelluksen asetettava aina muiden tietojen mukana SetItemValues-metodiin myös subjektin Id-tieto
ei yhdisty vahingossa väärään subjektiin
User Id-tunnus ongelmaksi, koska nyt määrityksen mukaan SetItemValues-metodilla ei saa asettaa User.Id.logon-tietoa
voidaan ratkaista siten, että hyväksytään User.Id.logon tiedon asetus SetItemValues-metodilla, jos Id on sama joka on jo olemassa kontekstissa
Lisätiedot kontekstiin - riippuvuudet
![Page 53: PlugIT- kontekstinhallinta](https://reader034.vdocuments.mx/reader034/viewer/2022050909/56814dc8550346895dbb1d61/html5/thumbnails/53.jpg)
UnknownItemName-poikkeus
nyt poikkeus ilmenee, jos kontekstissa ei ole haettavaa tietoa
haetaan vain kahta tietoa (User ja Patient), joten OK
muodostuu kuitenkin ongelmalliseksi, jos haetaan useampia tietoja
jos yksikin tieto puuttuu, muitakaan ei palauteta
ehdotettu, että tiedon puuttuessa puuttuvaa tietoa ei palauteta, muut palautetaan
Lisätiedot kontekstiin - UnknownItemName
![Page 54: PlugIT- kontekstinhallinta](https://reader034.vdocuments.mx/reader034/viewer/2022050909/56814dc8550346895dbb1d61/html5/thumbnails/54.jpg)
poistetaanko kokonaan?
muutetaan merkitystä
käytetään tarkistamaan tukeeko kontekstipalvelin tiettyä ItemName:a
poikkeus ilmenee, jos ItemName-tarkistaminen toteutettu kontekstipalvelimeen (valinnainen ominaisuus)
Lisätiedot kontekstiin - UnknownItemName
![Page 55: PlugIT- kontekstinhallinta](https://reader034.vdocuments.mx/reader034/viewer/2022050909/56814dc8550346895dbb1d61/html5/thumbnails/55.jpg)
minimitason määrittely
lisätasojen määrittely
taaksepäin yhteensopivuus
asiakassovellukselle mahdollisuus kysellä, mitä tasoa kontekstipalvelin tukee
ImplementationInformation
asiakassovelluksien toteutus monimutkaistuu
Eri toteutustasot
![Page 56: PlugIT- kontekstinhallinta](https://reader034.vdocuments.mx/reader034/viewer/2022050909/56814dc8550346895dbb1d61/html5/thumbnails/56.jpg)
CCOW-standardissa rajapinta ImplementationInformation
interface ImplementationInformation
{
readonly string ComponentName
readonly string RevMajorNum
readonly string RevMinorNum
readonly string PartNumber
readonly string Manufacturer
readonly string TargetOS
readonly string TargetOSRev
readonly string WhenInstalled
}
ei kuitenkaan sisällä tietoa tasoista
Eri toteutustasot
![Page 57: PlugIT- kontekstinhallinta](https://reader034.vdocuments.mx/reader034/viewer/2022050909/56814dc8550346895dbb1d61/html5/thumbnails/57.jpg)
kommentointiaikaa 13.9.2004 asti
kommentit – ehdotus – käsittely - hyväksyntä
jatkossa rajapintojen kehitys jatkuu HL7-yhdistyksen puitteissa
HL7 Common Services SIG
tekninen komitea
SerAPI.
Jatkokäsittely