CASE SATAKUNTA PÄIVYSTYSOSASTON TOIMINNAN TEHOSTAMINEN TAPAHTUMALÄHTÖISELLÄ PALVELUARKKITEHTUURILLA (EVENT DRIVEN SOA) Timo Itälä SOA-seminaari 17.3.2011
Aiheita! Päivystyksen hoitoprosessin ja palveluiden mallintaminen BPMN notaatiolla! Tapahtumalähtöisyys eliminoi viiveitä! Prosessien ja palveluiden seurannan tietoarkkitehtuuri! väylä teknisenä ratkaisuna
Projektin taustaa! Aalto Yliopisto, tietotekniikan laitos! Ohjelmistotuotannon ja liiketoiminnan laitos, SoberIT! SOLEA-tutkimusprojekti: Itä-Suomen yliopisto, Aalto Yliopisto! arkkitehtuurit, SOA! Kokonaisarkkitehtuurit, EA! Mallinnusmenetelmät! Kokonaisarkkitehtuurin ja paikallisen projektin arkkitehtuurin yhteensovittaminen 3
Satakunnan sairaanhoitopiiri! Erikoissairaanhoito! Erityishuoltopiiri! 20 jäsenkuntaa! 226 000 asukasta! Yhteispäivystys kuntien terveyskeskusten kanssa 4
Kokonaisarkkitehtuurilinjauksia KA-Kehikko: KuntaIT:n arkkitehtuurikehikko! Toiminta-arkkitehtuuri! Kehittäminen lähtee toiminnan tarpeista! arkkitehtuuri: Uudelleen käytettävät palvelut! Tietoarkkitehtuuri! Vastaa toimintaprosessien kuvausten tasoa! Tietojärjestelmäarkkitehtuuri! Integraatio: Avoimet rajapinnat Miten projekti ja kokonaisarkkitehtuuri sovitetaan yhteen? 5
Case: Päivystyksen ongelma! Potilaan läpimenoaika päivystyksessä! Keskimäärin 4 h! 25% yli 6 h! Tavoite: Kaikki alle 4h! Kuinka suuri on ongelma?! Mitä siitä seuraa?! Missä siihen voidaan vaikuttaa? (Organisaatio ym).! Ratkaisuvaihtoehtoja? Miten seurataan ratkaisujen vaikutusta?!...! Minkälainen malli auttaa löytämään ratkaisuvaihtoehtoja? 6
Mallintamisesta Mallinnettava kohde Mallintaja ja syntyvä malli Mallin käyttäjä Mallin käyttötarkoitus ohjaa mallin laatimista!
Päivystystoiminnan yleismalli Ydinprosessi Tukiprosessit Tarvitaan tarkempi malli 8
!"#$%&'()*"'+!)()+,-.&#(+ /)01+ 2$3*43&+5'0()'#&0+ 6"33)40&7+8$-49"#&00+ :""4+ /&;(+ <''"()*"'+ =9"$4+ Author: Christoph Hartmann Web: http://www.acidum.de <7>?"#+8$-49"#&00&0+ /9)'0)#*"'+!"#$%&!'()*+((&",-.+((&#-/+00)*1&$-234-*&&56&768& @3)A'+ 2&00)B&+ /A%&9+ C99"9+ 6)'#&3+ 6"%4&'0)*"'+ 6"'7A*"')3+ 8AB')3+ 2$3*43&+ :A'1+ /&9%A')(&+ 6)(#?A'B+ /?9"DA'B+ C'7+ 5'(&9%&7A)(&+ 8()9(+!)()>-)0&7+C;#3$0AE&+=)(&D)F+ 5'#3$0AE&+=)(&D)F+ CE&'(>-)0&7+C;#3$0AE&+=)(&D)F+ @)9)333&3+=)(&D)F+ 6"%43&;+=)(&D)F+ =)(&D)F0+ CE&'(0+ <#*EA*&0+ 8&G$&'#&+H3"D+ 6"'7A*"')3+H3"D+!&I)$3(+H3"D+!)()+ /9)'0)#*"'+!)()+,-.&#(+ J'7A9&#(&7+<00"#A)*"'+!A9&#(&7+<00"#A)*"'+ KA7A9&#(&7+<00"#A)*"'+ ELMLN+ 2&00)B&+H3"D+ Pool
Tarkempi malli BPMN notaatiolla Hoito jatkuu Hoitoprosessi Tulotilanteen suunnittelu toteutus Jatkuuko hoito tässä yksikössä? Jatkohoidon suunnitelma pyyntö n tulos Potilaan hoitoprosessi on ydinprosessi. Se käyttää erilaisia palveluita:! Laboratoriotutkimuksia! Kuvantamistutkimuksia! Konsultaatioita! Toimenpiteitä! jne! 10
Kokonaisarkkitehtuuria: SOApalveluiden toteuttaminen 11
iden hierarkiaa Hoito jatkuu Hoitoprosessi Tulotilanteen suunnittelu toteutus Jatkohoidon suunnitelma Jatkuuko hoito tässä yksikössä? pyyntö n tulos BPMN level 2: kuvaa toteutuksen SOA-palveluina 12
SOA palvelun mallit! sisältää yhden tai useampia operaatioita! Operaatioon liittyy sanomienvaihdon malli (Message Exchange Pattern, MEP), n näkökulma! Request-Response operaatio! vastaanottaa sanoman ja lähettää vastaussanoman! Solicit-Response operaatio! lähettää sanoman ja odottaa vastaussanomaa! One-way operaatio! vastaanottaa sanoman! Notification operaatio! lähettää sanoman! Vastauksiin voi liittyä virhesanoma (Fault)! Pohdinta synkroninen-asynkroninen? 13
SOA palveluiden kuvaaminen : PyydäTutkimus Operaatio: LähetäTutkimuspyyntö WSDL : TeeTutkimus Operaatiot: LueTutkimuspyyntö LähetäTähystystutkimuspyyntö LueTähystystutkimustulos LähetäTutkimustulos : TeeTähystystutkimus Operaatiot: LueTähystystutkimuspyyntö LähetäTähystystutkimustulos WSDL : Potilaskertomus Operaatiot: LueTutkimustulos WSDL WSDL 14
SOA iden toteutus Notification Control Action Entity PyydaTutkimus TeeTutkimus TeeTahystystutkimus Potilaskertomus Tutkimuspyynto LahetaTutkimuspyynto LueTutkimuspyynto Tahystystutkimuspyynto LahetaTahystystutkimuspyynto LueTahystystutkimuspyynto WSDL WSDL WSDL WSDL Tahystystutkimustulos LueTahystystutkimustulos LahetaTahystystutkimustulos LahetaTutkimustulos Tutkimustulos LueTutkimustulos Potilashallinto Orkestrointi Tähystystutkimus Potilaskertomus BPEL BPEL Engine 15
Satshp palveluväylä Web Service Sovellusadapteri Application Application Application Application Application Application Osastojärjestelmä Orkestrointipalvelu Potilaskertomus Osastojärjestelmä Potilashallinto Osastojärjestelmä Valtakunnalliset palvelut WSDL BPEL WSDL WSDL WSDL WSDL WSDL
- potilaat - henkilökunta STAKES AKTIV KAPITAL puhelinvaihde henkilöstöh. palkanmaksu - palkat TERVEYSKESKUS VÄESTÖREKISTERI KESKUS - sairaslomat TT2000+ Työterveysh. -Pyynnöt tehdääm ML2:een työpäytäintegraation kautta CD postitus - hilmotiedot - perintä - kyselyt - viitesuor - puh.maksut - viitesuor - todist.palkkiot - eml palkkiot SANOMAT HL7/OVT - M-gate - Datagate Peräkkäistiedostot Luettelo järjestelmistä johon on liittymät Muut liittymät CD postitus (OVT) - synt.lapset CD postitus - hilmotiedot (OVT) - vastasyntyneen tiedot - kuolintiedot (OVT) - henkilötiedot - potilasrekisteri - käynti- ja hoitotiedot (Mynla) - potilasmaksut - potilasmaksut LÄÄKITYS Lähete-Palaute Kuva-arkisto Anestesia Teho AROMI/ tilaukset - henkilötiedot - laskutustietoja sairaskertomukset - sairaskertomustekstit HL7 - tulos (veriryhmän sopivuus) HL7 - pyyntö HL7 - tulos HL7 - pyyntö HL7 - tulos - henkilötiedot HL7 - lausunto OVT - lähete OVT - lausunto - pyyntö (veriryhmän sopivuus) - Verituotteet - tilaukset - verikeskuksen sisäinen osuus - veritilaukset / varaukset SPR / Vok - POTILASREKISTERI (kaikki käyttävät, paitsi Seniori) - KÄYNTITIEDOT (Mynla, Infekt., Maksuli, Haikara ) - lähetetiedot - ajanvaraus - käyntitiedot - rtg-upo rtg ajanvaraus - lähetteet, lausunnot - röntgenin sisäinen osuus - ilmoittautumiset ja käyntitiedot - ajanvaraus - kuljetuslista - HETU, nimi, tutk KUVANTAMISLAITTEET - pyynnöt, tulokset - laboratorion sisäinen osuus - verikortisto HL7 - vastaus - RTG, KLF, KNF ajanvaraus - patologian laboratorion sisäinen osuus - syöpäilmoitus SYÖPÄREKISTERI HL7 - tilaus - ilmoittautumiset HL7 Ajanvaraukset - vastasyntyneen tiedot - tulokset - tulokset - tilaus - laboratorion sisäinen osuus - tartuntatauti ilmoitus KANS.TERV.LAIT. - fysiatrian käynnit Sosiaalityöntekijät - sosiaalityöntekijöiden käynnit MEDREC Dialyysi OVT - vastaus NOS ksilp - esitiedot - raskaus - synnytys - vastasyntynyt - äidin tiedot - veriryhmä, vasta-aineet - tulokset - leikkaussalivaraukset - leikkauslistat - tehdyt leikkaukset - päivystysilmoitus - pkl toimenpiteet - toimenpiteet - avohoito tiedot - hoitojaksotiedot -tuotepäätös nro:t - E-osto laskut - määrärahaseuranta - kuntoutuspäätökset - OSTOPALVELUT - päätökset - APUVÄLINEET - välineiden vuokraus - väl. luokitusrekisteri - lääketilaukset - materiaalitilaukset - infektioiden seuranta - SIJAINTITIEDOT (Radu, Upo,Juvo, - sairaskertomusten sijainnit (paperit) -hoitojakso - diagnoosit - SIJAINTITIEDOT (ML 2, Radu, Upo, Toti, Puh.kesk.) - HOITOJAKSOT (Hoit.luok.,Infekt.,Maksuli,Mama,Mynla) - sis./ulos kirj. - REIPAS jonot - HILMO hoitoilmoitukset - hoitojaksotiedot - Potilaslista hoitojaksojen perusteella - Potilaslista ajanvarauste perusteella Radu,ML2,Toti,Fysis,Vertti,Maksuli,My nla CD-postitus - E-ostot - E-ostot - tilaukset - saldot -nimikkeet Radu, ML2, Toti, Fysis, Upo, Juvo, Mama, Hoit.luok., Seniori, Fina Adapterit -UPO, JUVO, Webkert,ML2, Seniori, miten uudet tiedot? - luokitustiedot - hinnoittelu Taloushallinto - laskurivit HYS TYKS SAMPO varasto / apteekki Materiaalihallinto POWERPLAY Tilastot / Raportit ATJ (kaikki käyttävät) - yksikkö-, osasto-, erikoisala-, laitos- - kunta-, postinumerorekisterit - lääkäri-, diagnoosirekisterit-, toimenpiderekisteri... - käyttäjähallinta - käyttäjien valikot - TaskMan tausta-ajojen hallinta ESB toteuttaa adapterit SATSHP:n POTILASTIETOJÄRJESTELMIEN LIITTYMÄT JOISSA TIETO SIIRTYY FYYSISESTI 21.3.2005/T Seppänen NordDRG LII potilaspuhelut DNA SENIORI Psykiatria VRK SatSHP WEBKERT UPO Poliklinikat RADU Rtg, Klf, Knf FYSIS Fysiatria SOSIS TOTI Toimenpideyksiköt JUVO Vuodeosastot Hoit.luokitus Kuntosoft Fysotools FINA Ensemble ESB CASH MANAGER PRIMA MD-TITANIA MAKSULI Maksuliikenne ML 2 Kliin.kemian lab. Haikara Äitiyshuolto AHA - KUNTOUTUS ORDER Tilaukset MYNLA Sovellukset Korvattavat Epäselvät Säilytettävät SELITYKSET Liittymät Toteutumattomat osajärjestelmät VERTTI Verikeskus QPATI Patologian lab. SAMBA Mikrobiologian lab. SAIRAALAINFEKTIOT YKERT Sairaskertomusten hallinta YLEISET REKISTERIT Kehitetään/ poistetaan Ulkopuoliste KERNEL WSDL HL7 Tähystystutkimus 17
Takaisin päivystyksen tapaukseen 18
Prosessin ja palveluiden samanaikaisuus Hoito jatkuu Hoitoprosessi Tulotilanteen suunnittelu toteutus Jatkuuko hoito tässä yksikössä? Jatkohoidon suunnitelma pyyntö n tulos ita voidaan tilata useita samaan aikaan. Potilas odottaa:! Laboratoriotutkimuksia! Kuvantamistutkimuksia! Konsultaatioita! Toimenpiteitä! jne! 19
Ongelma: Tiedon saaminen pyynnön valmistumisesta Hoito jatkuu Hoitoprosessi Tulotilanteen suunnittelu toteutus Jatkuuko hoito tässä yksikössä? Jatkohoidon suunnitelma pyyntö n tulos Päivystyksessä yksi ongelma on tiedon saaminen tuloksen valmistumisesta:! Laboratoriotutkimukset! Kuvantamistutkimukset! Konsultaatiot! Toimenpiteet! jne! 20
Ratkaisu: Ilmoitus valmistumisesta Hoito jatkuu Hoitoprosessi Tulotilanteen suunnittelu toteutus Jatkuuko hoito tässä yksikössä? Jatkohoidon suunnitelma pyyntö n tulos BPMN notaatio: Signal Mutta miten kuvataan ilmoituksen vastaanottaminen? 21
Ilmoituksen vastaanottaminen Hoito jatkuu Hoitoprosessi Tulotilanteen suunnittelu toteutus Katso palvelun tulos Jatkuuko hoito tässä yksikössä? Jatkohoidon suunnitelma pyyntö n tulos BPMN notaatio: "Non-Interrupting event subprocess". Aliprosessi voi vastaanottaa ilmoituksen pääprosessin ollessa aktiivinen. 22
Ilmoitukset voivat kiinnostaa useita tahoja Hoitoprosessi Tulotilanteen suunnittelu toteutus Katso palvelun tulos Hoito jatkuu Jatkuuko hoito tässä yksikössä? Jatkohoidon suunnitelma! Sama ilmoitus voi olla kiinnostava usealle taholle! Kiinnostavia ilmoituksia voi tulla useilta tahoilta Tutkimukset valmistuneet Kuvantamisen lausunto valmistunut Huoneentaulun päivitys Huoneentaulun päivittäminen voisi olla oma palvelu Konsultointi valmistunut Tapahtumatieto Tapahtumatiedon keruu DW 23
Miten välitetään ilmoituksia?! Perinteinen Request-Reply malli ei hyvin sovellu monelta-monelle viestien välitykseen 24
Event Driven Architecture (EDA) Ilmoitusten lähettäjät Ilmoitusten vastaanottajat Publish-Subscribe -malli 25
Hoitoprosessi BPMN mallin implementointi Web Service -palveluina WSDL Tulotilanteen suunnittelu toteutus Katso palvelun tulos Tutkimukset valmistuneet Kuvantamisen lausunto valmistunut Konsultointi valmistunut Hoito jatkuu WSDL WSDL WSDL WSDL Jatkuuko hoito tässä yksikössä? Jatkohoidon suunnitelma Huoneentaulun päivitys WSDL WSDL: (Web Service Description Language)! t! Operaatiot! Sanomat Huoneentaulun päivittäminen voisi olla oma palvelu Tapahtumatieto Tapahtumatiedon keruu DW WSDL 26
väylä EDA toteutukseen väylä (ESB) hoitaa jakelun / reitityksen, tarvitsee tilaajarekisterin Web Service palvelut WSDL-kuvausten mukaisesti Tilaajarekisteri Jakelija Julkaisijat Tilaajat
Tietomalli? Tuotetiedon hallinta! Tyyppi = Pyörä (tuotekoodi)! Yksilö = Pyörä (sarjanumero) Hoito jatkuu Hoitoprosessi Tulotilanteen suunnittelu pyyntö toteutus Jatkuuko hoito tässä yksikössä? n tulos Jatkohoidon suunnitelma Prosessitiedon hallinta! Tyyppi = Prosessi (tyyppikoodi)! Yksilö = Prosessi (xxx-tunnus) 28
Prosessin ja palveluiden yhtenäinen tietoarkkitehtuuri Hoito jatkuu Hoitoprosessi Tulotilanteen suunnittelu pyyntö toteutus Jatkuuko hoito tässä yksikössä? n tulos Jatkohoidon suunnitelma Kuka? Yritys (Organisaatio) Kuka? Työntekijä Kuka? Mikä? Missä? Potilas Hoitoprosessi Toimipaikka Miksi? Mitä? Diagnoosi Suoritenimike "Hoito"- palvelu 29
n tarkempi seuranta Hoito jatkuu tässä yksikössä Hoitoprosessi Tulotilanteen suunnittelu toteutus Jatkuuko hoito? Jatkohoidon suunnitelma pyyntö n tulos Joskus on tarve seurata palveluprosessia tarkemmin pyynnön vastaanotto Arviointi ja toteutuspäätös n asettaminen jonoon n ajan varaaminen n toteutus Tulosten raportointi 30
Ilmoituksia voidaan lähettää myös palveluprosessin keskeltä Hoito jatkuu tässä yksikössä Hoitoprosessi Tulotilanteen suunnittelu toteutus Jatkuuko hoito? Jatkohoidon suunnitelma Tapahtumatiedon keruu pyyntö n tulos DW pyynnön vastaanotto Arviointi ja toteutuspäätös n asettaminen jonoon n ajan varaaminen n toteutus Tulosten raportointi 31
Tietomallia täydennetään palvelun tehtävällä Kuka? Yritys (Organisaatio) Kuka? Työntekijä Kuka? Mikä? Missä? Hoitoprosessi Tulotilanteen suunnittelu toteutus Hoito jatkuu tässä yksikössä Jatkuuko hoito? Jatkohoidon suunnitelma Potilas Miksi? Hoitoprosessi Toimipaikka Mitä? pyyntö Diagnoosi Suoritenimike n tulos "Hoito"- palvelu pyynnön vastaanotto Arviointi ja toteutuspäätös n asettaminen jonoon n ajan varaaminen n toteutus Tulosten raportointi Tehtävä 32
EDA ja SOA! Publish-Subscribe malli täydentää Request-Reply mallia! Sopii tapahtumaohjautuviin prosessihin, kuten hoitoprosessiin! Sopii tilanteisiin, joissa samoista tapahtumista on useita kiinnostuneita tahoja! Tilaajarekisteri ja reitityspalvelu suunniteltava huolella, jotta niiden ylläpidosta ei tule liian raskasta! Standardointi ei ole vakiintunutta, ratkaisut ovat toimittajakohtaisia 33
Kiitos! timo.itala@tkk.fi 34