Plug ITydinrajapintademo Marko Sormunen Plug ITprojekti HISyksikk Kuopion

  • Slides: 15
Download presentation
Plug. IT-ydinrajapintademo Marko Sormunen Plug. IT-projekti, HIS-yksikkö Kuopion tietotekniikkakeskus Kuopion yliopisto Marko. Sormunen@uku. fi

Plug. IT-ydinrajapintademo Marko Sormunen Plug. IT-projekti, HIS-yksikkö Kuopion tietotekniikkakeskus Kuopion yliopisto Marko. Sormunen@uku. fi

Demossa toteutetut & käytetyt rajapinnat • Authenticate. User – käyttäjän varmentaminen (salasana/tunnus –varmennus) –

Demossa toteutetut & käytetyt rajapinnat • Authenticate. User – käyttäjän varmentaminen (salasana/tunnus –varmennus) – käyttäjäkontekstin asettaminen • Authorization. Access – käyttäjän valtuuksien tutkiminen tarvittaessa (demosovelluksen käyttöoikeus, onko oikeus katsoa potilastietoja) • Identify. Profile – ehdokkaiden (potilaiden) löytäminen hakuominaisuuksien perusteella (haku etunimen, sukunimen ja hetun perusteella) • Profile. Access – profiilien haku ja päivitys (potilaan perustiedot ja henkilötietolomake)

Ydin-rajapintatoteutus & Potilas-demo • Tekniset valinnat – – – WWW-palvelin ja JSP-ympäristö: Resin 2.

Ydin-rajapintatoteutus & Potilas-demo • Tekniset valinnat – – – WWW-palvelin ja JSP-ympäristö: Resin 2. 1. 10 XML-parseri: Xerces 2. 6. 2 XSLT- ja Xpath- toteutukset: Xalan 2. 6. 0 taustatietokanta: My. SQL 4. 0 tietokantaliittymä: JDBC 2 • …eli ilmaista Java-teknologiaa paitsi Resinpalvelin (myös ilmainen Apache Tomcat kelpaisi)

Ydin-palvelujen toteutuksesta • Single-signon saavutetaan ulkopuolisen kontekstipalvelimen avulla – Plug. IT: issa tehty referenssitoteutus

Ydin-palvelujen toteutuksesta • Single-signon saavutetaan ulkopuolisen kontekstipalvelimen avulla – Plug. IT: issa tehty referenssitoteutus kontekstipalvelimen minimitoteutuksen määrittelyn v 1. 1 pohjalta • Authenticate. User –palvelu voi toimia ns. ainoana luotettuna sovelluksena joka saa asettaa käyttäjäkontekstin kontekstipalveluun • Fyysisten työasemien tunnistus edelleen IPosoitteen perusteella ð ratkaisu toimii vain valvotuissa intranetympäristöissä

Ydin-palvelujen toteutuksesta • Potilas/Käyttäjätietoa käsittelevät ydinpalvelumetodit käytännössä mappaavat XMLdokumentin sisällön SQL-lausekkeiksi, suorittavat sen ja

Ydin-palvelujen toteutuksesta • Potilas/Käyttäjätietoa käsittelevät ydinpalvelumetodit käytännössä mappaavat XMLdokumentin sisällön SQL-lausekkeiksi, suorittavat sen ja rakentavat paluu-XML – dokumentin

Potilas-demon toiminnallisuus Selain (esitys selaimen oletusmerkistökoodauksella) HTML-sivu HTTP-sanoma Demosovellus (JSP) XML-vastaus XML-sanoma Ydin-palvelut (servlet)

Potilas-demon toiminnallisuus Selain (esitys selaimen oletusmerkistökoodauksella) HTML-sivu HTTP-sanoma Demosovellus (JSP) XML-vastaus XML-sanoma Ydin-palvelut (servlet) Tietokanta (My. SQL) (data talletettu UTF-8 –koodattuna)

Potilas-demon toiminnallisuus • Haku hetun, etunimen ja sukunimen perusteella Patient: Identify. Profile –palvelua käyttäen

Potilas-demon toiminnallisuus • Haku hetun, etunimen ja sukunimen perusteella Patient: Identify. Profile –palvelua käyttäen • Potilaan valinta hakutuloksesta perustietojen lähempää tarkastelua varten Patient: Profile. Access –palvelua käyttäen – vain käyttäjän yksikön potilaiden tietoja voidaan katsella – myös tietojen päivitys

Potilas-demon toiminnallisuus • Potilaasta saadaan myös Open. CDA v 1. 0 määritysten mukainen henkilötietolomake

Potilas-demon toiminnallisuus • Potilaasta saadaan myös Open. CDA v 1. 0 määritysten mukainen henkilötietolomake esille • myös XSL-muotoilu Open. CDA 1. 0 – määrityksistä …pienin lisäyksin • henkilötietolomakkeen muuttaminen ja tallettaminen on myös mahdollista potilasdemossa

Potilas-demon henkilötietolomake • Potilastietolomake haetaan ja talletetaan yhtenä potilaan ominaisuuksista – ”henkilotietolomake” • Lomake

Potilas-demon henkilötietolomake • Potilastietolomake haetaan ja talletetaan yhtenä potilaan ominaisuuksista – ”henkilotietolomake” • Lomake on tallennettu yhteen potilas-taulun longtext –tyyppiseen kenttään UTF-8 – muotoisena XML-dokumenttina • ”Oikeassa elämässä” lomakkeen tietoalkiot olisi ehkä talletettu omiin kenttiinsä, mutta tämä on hyvä esimerkki XML-standardien (Xpath, XSLT) käytöstä XML-dokumenttien käsittelyssä. • XML-dokumentteja suoraan tietokantaan – tulevaisuus?

”Henkilötietolomake-editori” (selitys) • Patient: Profile. Access –palvelu hakee lomakkeen (potilaan ominaisuus ”henkilötietolomake”) • Patient.

”Henkilötietolomake-editori” (selitys) • Patient: Profile. Access –palvelu hakee lomakkeen (potilaan ominaisuus ”henkilötietolomake”) • Patient. Profile. Access. Adapter –liitin rakentaa DOMpuun lomakkeesta ja lisää siihen viittauksen XSLtyylisivuun • Potilastietolomake palautetaan selaimeen, joka suorittaa XSLT-muunnoksen sille, tuloksena HTMLsivu jossa editoitavia INPUT-elementtejä • Kun/Jos selain lähettää HTML-sivun elementit HTTP POST –sanomana, demosovellus asettaa niiden arvot DOM-puuhun (Xpath) korvaten entiset arvot. HTTP POST-sanoman elementit on jo UTF-8 koodattu. • Patient. Profile. Access. Adapter-liitin muuntaa DOM-puun tekstimuotoon ja tallettaa lomakkeen tietokantaan Patient: Profile. Access –palvelun kautta.

”Henkilötietolomake-editori” (kuva) XSL (xsl-stylesheet –referenssi) XSLT (selain) HTTP POST (selain) DOM <text>terveydenhuolto</ text> <title>Henkilötietojen

”Henkilötietolomake-editori” (kuva) XSL (xsl-stylesheet –referenssi) XSLT (selain) HTTP POST (selain) DOM <text>terveydenhuolto</ text> <title>Henkilötietojen käyttötarkoitus</title> XML Tietokanta <ul> <span style="fontweight: normal; color: green"> Henkilötietojen käyttötarkoitus</span> <ul><input type="text" name="Henkilötietojen käyttötarkoitus" value="terveydenhuolto”> </ul>

Standardeista… • Miksi XSLT, Xpath, DOM, … – W 3 C: n määrittelemiä tekniikkariippumattomia

Standardeista… • Miksi XSLT, Xpath, DOM, … – W 3 C: n määrittelemiä tekniikkariippumattomia standardeja – tuki niin Java- kuin Microsoft-yhteisöistä • UTF-8 tuo lisätyötä, mutta helpottaa kansainvälistymistä ja merkistöongelmia siirrettäessä tekstimuotoista dataa eri alustojen välillä – UTF-8 on tapa ilmaista Unicode-merkkejä ASCIImerkistöllä (http: //www. unicode. org) – UTF-8 on XML-dokumenteissa standardi merkkaustapa

Ydin-palvelutoteutuksia ja demoa väsättäessä huomattua • Myös tietokannan pitää ymmärtää, että sen data on

Ydin-palvelutoteutuksia ja demoa väsättäessä huomattua • Myös tietokannan pitää ymmärtää, että sen data on UTF-8 –koodattua! – muuten ongelmia esim. palautettujen tietueiden järjestyksessä – UTF-8 –tuki uutta tietokannoissa (Oracle, My. SQL) – My. SQL 4. 0 ei vielä ymmärrä UTF-8 -merkistöä • UTF-8 –koodauksen säilyminen oikeassa muodossa XSLT-transformaatioissa välillä hieman haasteellista… – XSLT-prosessorit mielellään UTF-8 –koodaavat uudelleen jo yhteen kertaan koodatun datan

Ydin-palvelujen referenssitoteutus • Ydin-palveludemo on tarkoitus laajentaa yhdeksi referenssitoteutukseksi – sisältää asennusohjeet, dokumentaation ja

Ydin-palvelujen referenssitoteutus • Ydin-palveludemo on tarkoitus laajentaa yhdeksi referenssitoteutukseksi – sisältää asennusohjeet, dokumentaation ja tietokannan – toteutusta voisi käyttää testauspalveluna omalle asiakkaalle? • XML-viestien validointi mukana • . NET-toteutus myös tulossa • Myös SOAP-toteutus tekeillä ainakin Javatekniikoilla