Kokonaisarkkitehtuurin ja projektin vaatimusten yhteensovittaminen SOLEA loppuseminaari 25.11.2011 Timo Itälä
Aiheita! Case Satakunta päivystys
Selvityksen taustaa! SOLEA-tutkimusprojekti: Itä-Suomen yliopisto, Aalto Yliopisto, eri osapuolet! arkkitehtuurit, SOA! Kokonaisarkkitehtuurit, EA! Mallinnusmenetelmät! Kokonaisarkkitehtuurin ja paikallisen projektin arkkitehtuurin yhteensovittaminen! Satakunnan sairaanhoitopiiri! Kokonaisarkkitehtuurityön edistäminen! Käytännön esimerkit 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 a! Tietojärjestelmäarkkitehtuuri! Integraatio: Avoimet rajapinnat, SOA Kysymys: Miten projekti ja kokonaisarkkitehtuuri sovitetaan yhteen? 5
KA-kehikko KuntaIT:n mukaisesti 6
Kokonaisarkkitehtuuri ja projektin arkkitehtuuri? KA Toimintaarkkitehtuuri Periaatteet ja ohjaus Tietoarkkitehtuuri Tietojärjestelmä -arkkitehtuuri Teknologiaarkkitehtuuri? Käsitteellinen PA Looginen Käsitteellinen Toimintaarkkitehtuuri! Periaatteet ja ohjaus Tietoarkkitehtuuri! Tietojärjestelmä -arkkitehtuuri Teknologiaarkkitehtuuri Fyysinen Looginen Fyysinen Vuoropuhelu kokonaisarkkitehtuurin ja projektin välillä?! KA Kokonaisarkkitehtuuri! PA Projektiarkkitehtuuri 7
Ratkaisuvaihtoehtojen luonnostelu 6. Ratkaisuehdotusten kriteerit 2.Projektin ongelmaanalyysi 8. Projektin ratkaisuehdotus 1. Aloitus 4. Nykytilakuvaukset 5. Projektin ja kokonaisarkkitehtuurin vaatimusten yhteensovitus 7. Ratkaisuehdotusten kuvaukset 3. Kokonaisarkkitehtuurikehikko ja - linjaukset 9. Kokonaisarkkitehtuurin täydennys
Mallintamisesta Mallinnettava kohde Käsitteellinen Toiminta- arkkitehtuuri Periaatteet ja ohjaus Tieto- Tietojärjestelmä Teknologiaarkkitehtuuri -arkkitehtuuri arkkitehtuuri! Looginen Fyysinen Mallintaja ja syntyvä malli Mallin käyttötarkoitus ohjaa mallin laatimista! Mallin käyttäjä
Projektin rajaus 10
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? 11
Päivystystoiminnan yleismalli Periaatteet ja ohjaus Toiminta- arkkitehtuuri Tieto- Tietojärjestelmä Teknologiaarkkitehtuuri -arkkitehtuuri arkkitehtuuri Käsitteellinen! Looginen Fyysinen Ydinprosessi Tukiprosessit Tarvitaan tarkempi malli 12
Tarkempi malli: Nähdään ongelma Käsitteellinen Toiminta- arkkitehtuuri Periaatteet ja ohjaus Tieto- Tietojärjestelmä Teknologiaarkkitehtuuri -arkkitehtuuri arkkitehtuuri! Hoito jatkuu Hoitoprosessi Tulotilanteen suunnittelu toteutus Jatkuuko hoito tässä yksikössä? Jatkohoidon suunnitelma Looginen Fyysinen pyyntö n tulos Ongelma on tiedon saaminen tuloksen valmistumisesta:! Laboratoriotutkimuksia! Kuvantamistutkimuksia! Konsultaatioita! Toimenpiteitä! jne 13
Ratkaisuehdotus: Ilmoitus tuloksen valmistumisesta Periaatteet ja ohjaus Toiminta- Tieto- Tietojärjestelmä Teknologiaarkkitehtuuri arkkitehtuuri -arkkitehtuuri arkkitehtuuri Käsitteellinen! Hoito jatkuu Hoitoprosessi Tulotilanteen suunnittelu toteutus Jatkuuko hoito tässä yksikössä? Jatkohoidon suunnitelma Looginen Fyysinen pyyntö n tulos BPMN notaatio: Signal Mutta miten kuvataan ilmoituksen vastaanottaminen? 14
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. 15
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 16
Miten välitetään ilmoituksia?! Perinteinen Request-Reply malli ei hyvin sovellu monelta-monelle viestien välitykseen 17
Event Driven Architecture (EDA) Periaatteet ja ohjaus Toiminta- arkkitehtuuri Tieto- Tietojärjestelmä Teknologiaarkkitehtuuri -arkkitehtuuri arkkitehtuuri Käsitteellinen! Publish-Subscribe -malli Looginen Fyysinen Ilmoitusten lähettäjät Ilmoitusten vastaanottajat 18
väylä EDA toteutukseen Käsitteellinen Toimintaarkkitehtuuri Periaatteet ja ohjaus Tieto- Tietojärjestelmä Teknologiaarkkitehtuuri -arkkitehtuuri arkkitehtuuri! Looginen Fyysinen Tilaajarekisteri Julkaisijat Tilaajat Jakelija Tilaajat
Prosessin ja palveluiden yhtenäinen tietoarkkitehtuuri Käsitteellinen Toimintaarkkitehtuuri Periaatteet ja ohjaus Tieto- Tietojärjestelmä Teknologiaarkkitehtuuri -arkkitehtuuri arkkitehtuuri! Hoito jatkuu Hoitoprosessi Tulotilanteen suunnittelu toteutus Jatkuuko hoito tässä yksikössä? Jatkohoidon suunnitelma Looginen Fyysinen pyyntö n tulos Kuka? Yritys (Organisaatio) Kuka? Työntekijä Kuka? Potilas Mikä? Hoitoprosessi Missä? Toimipaikka Miksi? Diagnoosi Mitä? Suoritenimike "Hoito"- palvelu 20
Kokonaisarkkitehtuurin ja projektin arkkitehtuurin vuorovaikutus Kokonaisarkkitehtuuri antaa projektille "raamit" PA Käsitteellinen Toimintaarkkitehtuuri Periaatteet ja ohjaus Tietoarkkitehtuuri! Tietojärjestelmä -arkkitehtuuri Teknologiaarkkitehtuuri Projekti täydentää kokonaisarkkitehtuuria Looginen Fyysinen 21
Kiitos! 22
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 23
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 24
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ä 25
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 26
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 27
Kokonaisarkkitehtuuria: SOApalveluiden toteuttaminen 28
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 29
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? 30
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 31
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 32
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
FTP - potilaat FTP - henkilökunta STAKES AKTIV KAPITAL puhelinvaihde henkilöstöh. palkanmaksu FTP - palkat TERVEYSKESKUS VÄESTÖREKISTERI KESKUS FTP - sairaslomat TT2000+ Työterveysh. -Pyynnöt tehdääm ML2:een työpäytäintegraation kautta CD postitus - hilmotiedot FTP - perintä FTP - kyselyt FTP - viitesuor FTP - puh.maksut FTP - viitesuor FTP - 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 FTP (OVT) - vastasyntyneen tiedot - kuolintiedot FTP (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 FTP - 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 FTP - HETU, nimi, tutk KUVANTAMISLAITTEET - pyynnöt, tulokset - laboratorion sisäinen osuus - verikortisto HL7 - vastaus - RTG, KLF, KNF ajanvaraus - patologian laboratorion sisäinen osuus FTP - syöpäilmoitus SYÖPÄREKISTERI HL7 - tilaus - ilmoittautumiset HL7 Ajanvaraukset - vastasyntyneen tiedot FTP - tulokset - tulokset - tilaus - laboratorion sisäinen osuus FTP - 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 FTP - 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 FTP - Potilaslista hoitojaksojen perusteella - Potilaslista ajanvarauste perusteella FTP Radu,ML2,Toti,Fysis,Vertti,Maksuli,My nla CD-postitus - E-ostot FTP - E-ostot - tilaukset - saldot -nimikkeet FTP 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 34
Takaisin päivystyksen tapaukseen 35
Documenta*on+ Data+Object+ Task+ Mul*ple+Instances+ Collapsed+Subprocess+ Loop+ Text+ Annota*on+ Group+ Author: Christoph Hartmann Web: http://www.acidum.de Ad>hoc+Subprocesses+ Transac*on+ BPMN:&Business&Process&Modelling&Nota4on&&v.&1.2& Plain+ Message+ Timer+ Error+ Cancel+ Compensa*on+ Condi*onal+ Signal+ Mul*ple+ Link+ Terminate+ Catching+ Throwing+ End+ Intermediate+ Start+ Data>based+Exclusive+Gateway+ Inclusive+Gateway+ Event>based+Exclusive+Gateway+ Paralllel+Gateway+ Complex+Gateway+ Gateways+ Events+ Ac*vi*es+ Sequence+Flow+ Condi*onal+Flow+ Default+Flow+ Data+ Transac*on+ Data+Object+ Undirected+Associa*on+ Directed+Associa*on+ Bidirected+Associa*on+ v.0.2+ Message+Flow+ Pool
Ongelma: Tiedon saaminen pyynnön valmistumisesta Käsitteellinen Toimintaarkkitehtuuri Periaatteet ja ohjaus Tietoarkkitehtuuri! Tietojärjestelmä -arkkitehtuuri Teknologiaarkkitehtuuri Hoito jatkuu Looginen Hoitoprosessi Tulotilanteen suunnittelu toteutus Jatkuuko hoito tässä yksikössä? Jatkohoidon suunnitelma Fyysinen pyyntö n tulos Päivystyksessä yksi ongelma on tiedon saaminen tuloksen valmistumisesta:! Laboratoriotutkimukset! Kuvantamistutkimukset! Konsultaatiot! Toimenpiteet! jne 37
Ratkaisuehdotus: Ilmoitus tuloksen 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? 38
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 39
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) 40