Plug ITydinrajapintademo Marko Sormunen Plug ITprojekti HISyksikk Kuopion
- Slides: 15
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) – 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. 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 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 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) Tietokanta (My. SQL) (data talletettu UTF-8 –koodattuna)
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 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 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. 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 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 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 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 tietokannan – toteutusta voisi käyttää testauspalveluna omalle asiakkaalle? • XML-viestien validointi mukana • . NET-toteutus myös tulossa • Myös SOAP-toteutus tekeillä ainakin Javatekniikoilla
- Kari sormunen
- Pentti sormunen
- Päihdehoito kuopio
- Kuopion peruskoulut
- Kuopio seksuaaliterveysneuvola
- Ekl uudenmaan piiri
- Kuopion klassillinen lukio
- Marko marulić otac hrvatske književnosti
- Marko maruli
- Commercial practice definition
- Marko stupar wikipedia
- Marko ferek
- Ankyloitunut
- Marko pernhart
- Ivan robert
- Anna blom