tivi soa-seminaari ti 0.6soa-seminaari+ti… · case satakunta pÄivystysosaston toiminnan...

34
CASE SATAKUNTA PÄIVYSTYSOSASTON TOIMINNAN TEHOSTAMINEN TAPAHTUMALÄHTÖISELLÄ PALVELUARKKITEHTUURILLA (EVENT DRIVEN SOA) Timo Itälä SOA-seminaari 17.3.2011

Upload: others

Post on 31-Jan-2021

1 views

Category:

Documents


0 download

TRANSCRIPT

  • 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 ! Palveluväylä teknisenä ratkaisuna

  • Projektin taustaa

    ! Aalto Yliopisto, tietotekniikan laitos ! Ohjelmistotuotannon ja –liiketoiminnan laitos, SoberIT ! SOLEA-tutkimusprojekti: Itä-Suomen yliopisto, Aalto

    Yliopisto ! Palveluarkkitehtuurit, SOA ! Kokonaisarkkitehtuurit, EA ! Mallinnusmenetelmät ! Kokonaisarkkitehtuurin ja paikallisen projektin arkkitehtuurin

    yhteensovittaminen

    3

  • 4

    Satakunnan sairaanhoitopiiri

    ! Erikoissairaanhoito ! Erityishuoltopiiri ! 20 jäsenkuntaa ! 226 000 asukasta ! Yhteispäivystys kuntien

    terveyskeskusten kanssa

  • Kokonaisarkkitehtuurilinjauksia

    KA-Kehikko: KuntaIT:n arkkitehtuurikehikko ! Toiminta-arkkitehtuuri

    ! Kehittäminen lähtee toiminnan tarpeista ! Palveluarkkitehtuuri: 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

    Mallin käyttötarkoitus ohjaa mallin laatimista!

    Mallinnettava kohde

    Mallintaja ja syntyvä malli

    Mallin käyttäjä

  • Päivystystoiminnan yleismalli

    8

    Ydinprosessi Tukiprosessit Tarvitaan tarkempi malli

  • !"#$%&'()*"'+

    !)()+,-.(+

    /)01+

    2$3*43&+5'0()'#&0+

    6"33)40&7+8$-49"#&00+

    :""4+

    /&;(+-)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+

  • Tarkempi malli BPMN notaatiolla

    10

    Hoi

    topr

    oses

    si

    Tulotilanteen arviointi

    Hoidon suunnittelu

    Hoidon toteutus

    Hoidon arviointi

    Jatkohoidon suunnitelma

    Jatkuuko hoito tässä yksikössä?

    Hoito jatkuu

    Palv

    elu

    Palvelu

    Palvelupyyntö Palvelun tulos

    Potilaan hoitoprosessi on ydinprosessi. Se käyttää erilaisia palveluita: !  Laboratoriotutkimuksia !  Kuvantamistutkimuksia !  Konsultaatioita !  Toimenpiteitä !  jne!

  • Kokonaisarkkitehtuuria: SOA-palveluiden toteuttaminen

    11

  • Palveluiden hierarkiaa

    12

    BPMN level 2: kuvaa toteutuksen SOA-palveluina

    Hoi

    topr

    oses

    si

    Tulotilanteen arviointi

    Hoidon suunnittelu

    Hoidon toteutus

    Hoidon arviointi

    Jatkohoidon suunnitelma

    Jatkuuko hoito tässä yksikössä?

    Hoito jatkuu

    Palv

    elu

    Palvelu

    Palvelupyyntö Palvelun tulos

  • SOA palvelun mallit

    13

    ! Palvelu sisältää yhden tai useampia operaatioita ! Operaatioon liittyy sanomienvaihdon malli

    (Message Exchange Pattern, MEP), Palvelun näkökulma ! Request-Response operaatio

    !  Palvelu vastaanottaa sanoman ja lähettää vastaussanoman !  Solicit-Response operaatio

    !  Palvelu lähettää sanoman ja odottaa vastaussanomaa ! One-way operaatio

    !  Palvelu vastaanottaa sanoman ! Notification operaatio

    !  Palvelu lähettää sanoman !  Vastauksiin voi liittyä virhesanoma (Fault) !  Pohdinta synkroninen-asynkroninen?

  • 14

    SOA palveluiden kuvaaminen

    Palvelu: PyydäTutkimus Operaatio: LähetäTutkimuspyyntö

    Palvelu: TeeTutkimus Operaatiot: LueTutkimuspyyntö LähetäTähystystutkimuspyyntö LueTähystystutkimustulos LähetäTutkimustulos

    Palvelu: TeeTähystystutkimus Operaatiot: LueTähystystutkimuspyyntö LähetäTähystystutkimustulos

    Palvelu: Potilaskertomus Operaatiot: LueTutkimustulos

    WSDL

    WSDL

    WSDL WSDL

  • SOA Palveluiden toteutus

    15

    PyydaTutkimusTeeTahystys-tutkimus PotilaskertomusTeeTutkimus

    LahetaTutkimuspyynto LueTutkimuspyynto

    LahetaTahystystutkimuspyynto LueTahystystutkimuspyynto

    Tutkimuspyynto

    Tahystystutkimuspyynto

    LueTahystystutkimustulos LahetaTahystystutkimustulos

    Tahystystutkimustulos

    LahetaTutkimustulos LueTutkimustulosTutkimustulos

    Notification Control Action Entity

    Potilashallinto Tähystys-tutkimus

    Potilas-kertomus Orkestrointi

    WSDL WSDL WSDL WSDL

    BPEL

    BPEL Engine

  • Satshp palveluväylä Application

    Potilas-hallinto

    Osasto-järjes-telmä

    Potilas-kertomus

    Application

    Application

    Application

    Application

    Osasto-järjes-telmä

    Osasto-järjes-telmä

    WSDL WSDL

    Application

    Valtakunnalliset palvelut

    WSDL WSDL WSDL WSDL

    Orkestrointi-palvelu

    BPEL

    Web Service

    Sovellus-adapteri

  • 17

    ESB toteuttaa adapterit

    SELITYKSETLiittymät Toteutumattomat osajärjestelmät

    JUVO Vuodeosastot- SIJAINTITIEDOT(ML 2, Radu, Upo, Toti, Puh.kesk.)- HOITOJAKSOT(Hoit.luok.,Infekt.,Maksuli,Mama,Mynla)- sis./ulos kirj.- REIPAS jonot- HILMO hoitoilmoitukset

    Hoit.luokitus

    MAKSULI Maksuliikenne- potilasmaksut

    ML 2 Kliin.kemian lab.- pyynnöt, tulokset- laboratorion sisäinen osuus- verikortisto

    VERTTI Verikeskus- Verituotteet- tilaukset- verikeskuksen sisäinenosuus

    SAMBA Mikrobiologian lab.- laboratorion sisäinen osuus

    RADU Rtg, Klf, Knf- lähetteet, lausunnot- röntgenin sisäinen osuus- ilmoittautumiset ja käyntitiedot- ajanvaraus- kuljetuslista

    QPATI Patologian lab.- patologian laboratorion sisäinenosuus

    YKERT Sairaskertomusten hallinta- SIJAINTITIEDOT(Radu, Upo,Juvo,- sairaskertomusten sijainnit (paperit)

    Haikara Äitiyshuolto- esitiedot- raskaus- synnytys- vastasyntynyt

    TOTI Toimenpideyksiköt- leikkaussalivaraukset- leikkauslistat- tehdyt leikkaukset- päivystysilmoitus

    SAIRAALAINFEKTIOT- infektioiden seuranta

    WEBKERTsairaskertomukset- sairaskertomustekstit

    SYÖPÄREKISTERI

    FTP- syöpäilmoitus

    YLEISET REKISTERIT(kaikki käyttävät)- yksikkö-, osasto-, erikoisala-, laitos-- kunta-, postinumerorekisterit- lääkäri-, diagnoosirekisterit-, toimenpiderekisteri....

    FTP- HETU, nimi, tutk

    KUVANTAMISLAITTEET

    TERVEYSKESKUS

    OVT- lähete

    OVT- lausunto

    HL7- pyyntö

    HL7- tulos

    - pyyntö(veriryhmänsopivuus)

    HL7- tulos

    (veriryhmänsopivuus) HL7

    - vastausHL7

    - tilausOVT

    - vastaus- tilaus

    KANS.TERV.LAIT.

    FTP- tartuntatauti

    ilmoitus

    UPO Poliklinikat- POTILASREKISTERI(kaikki käyttävät, paitsi Seniori)- KÄYNTITIEDOT(Mynla, Infekt., Maksuli, Haikara )- lähetetiedot- ajanvaraus- käyntitiedot- rtg-UPO rtg ajanvaraus

    FYSIS Fysiatria- fysiatrian käynnit

    SOSISSosiaalityöntekijät- sosiaalityöntekijöidenkäynnit

    MYNLA- hinnoittelu

    VÄESTÖREKISTERIKESKUS

    FTP (OVT)- henkilötiedot

    VRK SatSHP- henkilötiedot - henkilötiedot

    -ilmoittautumiset

    - RTG, KLF, KNFajanvaraus

    HL7- lausunto

    FTP- tulokset MEDREC Dialyysi

    CD postitus (OVT)- synt.lapset

    - tulokset

    - tulokset

    - pkl toimenpiteet

    - äidin tiedot- veriryhmä, vasta-aineet

    SATSHP:n POTILASTIETOJÄRJESTELMIENLIITTYMÄT JOISSA TIETO SIIRTYY FYYSISESTI

    21.3.2005/T Seppänen

    FTP- Potilaslista hoitojaksojen perusteella- Potilaslista ajanvarauste perusteella

    - vastasyntyneentiedot

    FTP (OVT)- vastasyntyneen tiedot

    - kuolintiedot

    SENIORI Psykiatria- potilasrekisteri- käynti- ja hoitotiedot (Mynla)- potilasmaksut

    HL7- pyyntö

    HL7- tulos

    ORDER Tilaukset- lääketilaukset- materiaalitilaukset

    SAMPO varasto / apteekkiMateriaalihallinto

    - tilaukset

    FINATaloushallinto

    POWERPLAYTilastot / Raportit

    FTPRadu,ML2,Toti,Fysis,Vertti,Maksuli,My

    nla

    FTPRadu, ML2, Toti, Fysis, Upo, Juvo,

    Mama, Hoit.luok., Seniori, Fina

    CASHMANAGER

    PRIMAhenkilöstöh.palkanmaksu

    FTP- viitesuor

    FTP-

    todist.palkkiot- eml palkkiot

    STAKESCD postitus- hilmotiedot

    CD postitus- hilmotiedot

    FTP- perintä

    FTP- kyselytAKTIV KAPITAL

    FTP- viitesuor

    CD-postitus- E-ostot

    TYKS

    -luokitustiedot

    NOS ksilpHL7Ajanvaraukset

    TT2000+ Työterveysh.-Pyynnöt tehdääm ML2:eentyöpäytäintegraation kautta

    Adapterit-UPO, JUVO, Webkert,ML2, Seniori,

    miten uudet tiedot?ATJ

    MD-TITANIA

    LÄÄKITYS

    Lähete-Palaute

    Anestesia

    Teho

    NordDRG

    AROMI/tilaukset

    -hoitojakso- diagnoosit- toimenpiteet

    -hoitojaksotiedot

    SPR / Vok

    FTP- veritilaukset /

    varaukset

    -laskutustietoja

    Kuntosoft

    Fysotools

    HYS

    FTP- E-ostot

    - laskurivit

    FTP- avohoito tiedot- hoitojaksotiedot-tuotepäätös nro:t

    - E-osto laskut

    AHA- KUNTOUTUS- määrärahaseuranta- kuntoutuspäätökset- OSTOPALVELUT- päätökset- APUVÄLINEET- välineiden vuokraus- väl. luokitusrekisteri

    KERNEL- käyttäjähallinta- käyttäjien valikot- TaskMan tausta-ajojen hallinta

    SANOMAT HL7/OVT- M-gate

    - Datagate

    Luettelo järjestelmistäjohon on liittymät

    Muut liittymät

    Peräkkäistiedostot

    FTP-

    henkilökunta

    FTP- sairaslomat

    FTP- palkat

    DNApuhelinvaihde

    LII potilaspuhelut FTP- puh.maksut

    FTP- potilaat

    - saldot-nimikkeet

    Kuva-arkisto

    Sovellukset

    Säilytettävät

    Korvattavat

    Epäselvät

    Kehitetään/poistetaan

    Ulkopuoliste

    Ensemble ESB

    WSDL HL7 Tähystys-tutkimus

  • Takaisin päivystyksen tapaukseen

    18

  • Prosessin ja palveluiden samanaikaisuus

    19

    Palveluita voidaan tilata useita samaan aikaan. Potilas odottaa: !  Laboratoriotutkimuksia !  Kuvantamistutkimuksia !  Konsultaatioita !  Toimenpiteitä !  jne!

    Hoi

    topr

    oses

    si

    Tulotilanteen arviointi

    Hoidon suunnittelu

    Hoidon toteutus

    Hoidon arviointi

    Jatkohoidon suunnitelma

    Jatkuuko hoito tässä yksikössä?

    Hoito jatkuu

    Palv

    elu

    Palvelu

    Palvelupyyntö Palvelun tulos

  • Ongelma: Tiedon saaminen pyynnön valmistumisesta

    20

    Päivystyksessä yksi ongelma on tiedon saaminen tuloksen valmistumisesta: !  Laboratoriotutkimukset !  Kuvantamistutkimukset !  Konsultaatiot !  Toimenpiteet !  jne!

    Hoi

    topr

    oses

    si

    Tulotilanteen arviointi

    Hoidon suunnittelu

    Hoidon toteutus

    Hoidon arviointi

    Jatkohoidon suunnitelma

    Jatkuuko hoito tässä yksikössä?

    Hoito jatkuuPa

    lvel

    u

    Palvelu

    Palvelupyyntö Palvelun tulos

  • Ratkaisu: Ilmoitus valmistumisesta

    21

    BPMN notaatio: Signal

    Mutta miten kuvataan ilmoituksen vastaanottaminen?

    Hoi

    topr

    oses

    si

    Tulotilanteen arviointi

    Hoidon suunnittelu

    Hoidon toteutus

    Hoidon arviointi

    Jatkohoidon suunnitelma

    Jatkuuko hoito tässä yksikössä?

    Hoito jatkuu

    Palv

    elu

    Palvelu

    Palvelupyyntö Palvelun tulos

  • Ilmoituksen vastaanottaminen

    22

    Hoi

    topr

    oses

    si Tulotilanteen arviointi

    Hoidon suunnittelu

    Hoidon toteutus

    Hoidon arviointi

    Jatkohoidon suunnitelma

    Jatkuuko hoito tässä yksikössä?

    Hoito jatkuu

    Palv

    elu

    Palvelu

    Palvelupyyntö Palvelun tulos

    Katso palvelun

    tulos

    BPMN notaatio: "Non-Interrupting event subprocess". Aliprosessi voi vastaanottaa ilmoituksen pääprosessin ollessa aktiivinen.

  • Ilmoitukset voivat kiinnostaa useita tahoja

    23

    !  Sama ilmoitus voi olla kiinnostava usealle taholle

    !  Kiinnostavia ilmoituksia voi tulla useilta tahoilta

    Hoi

    topr

    oses

    si Tulotilanteen arviointi

    Hoidon suunnittelu

    Hoidon toteutus

    Hoidon arviointi

    Jatkohoidon suunnitelma

    Jatkuuko hoito tässä yksikössä?

    Hoito jatkuu

    Katso palvelun

    tulos

    Huoneen-taulun

    päivitys

    Kuvantamisen lausunto

    valmistunut

    Konsultointi valmistunut

    Huoneentaulun päivittäminen voisi olla oma palvelu

    Tutkimukset valmistuneet

    Palvelu

    Palvelu

    Tapahtuma-tiedon keruu

    Tapahtuma-tieto

    DW

  • Miten välitetään ilmoituksia?

    ! Perinteinen Request-Reply malli ei hyvin sovellu monelta-monelle viestien välitykseen

    24

  • Event Driven Architecture (EDA)

    25

    Ilmoitusten lähettäjät Ilmoitusten vastaanottajat

    Publish-Subscribe -malli

  • WSDL WSDL WSDL

    BPMN mallin implementointi Web Service -palveluina

    26

    WSDL: (Web Service Description Language) !  Palvelut ! Operaatiot !  Sanomat

    Hoi

    topr

    oses

    si Tulotilanteen arviointi

    Hoidon suunnittelu

    Hoidon toteutus

    Hoidon arviointi

    Jatkohoidon suunnitelma

    Jatkuuko hoito tässä yksikössä?

    Hoito jatkuu

    Katso palvelun

    tulos

    Huoneen-taulun

    päivitys

    Kuvantamisen lausunto

    valmistunut

    Konsultointi valmistunut

    Huoneentaulun päivittäminen voisi olla oma palvelu

    Tutkimukset valmistuneet

    Palvelu

    Palvelu

    WSDL

    WSDL WSDL

    WSDL

    Tapahtuma-tiedon keruu

    Tapahtuma-tieto

    DW

  • Palveluväylä EDA toteutukseen Palveluväylä (ESB) hoitaa jakelun / reitityksen, tarvitsee tilaajarekisterin Web Service palvelut WSDL-kuvausten mukaisesti

    Tilaajarekisteri Jakelija

    Julkaisijat Tilaajat

  • Tietomalli?

    28

    Tuotetiedon hallinta ! Tyyppi = Pyörä (tuotekoodi) ! Yksilö = Pyörä (sarjanumero)

    Prosessitiedon hallinta ! Tyyppi = Prosessi

    (tyyppikoodi) ! Yksilö = Prosessi (xxx-tunnus)

    Hoi

    topr

    oses

    si

    Tulotilanteen arviointi

    Hoidon suunnittelu

    Hoidon toteutus

    Hoidon arviointi

    Jatkohoidon suunnitelma

    Jatkuuko hoito tässä yksikössä?

    Hoito jatkuu

    Palv

    elu

    Palvelu

    Palvelupyyntö Palvelun tulos

  • Prosessin ja palveluiden yhtenäinen tietoarkkitehtuuri

    29

    Potilas Hoito-prosessi

    Yritys (Organi-saatio)

    Toimipaikka

    Työntekijä

    Suorite-nimike

    Kuka?

    Kuka? Kuka?

    Missä?

    Mitä?

    Mikä?

    Diagnoosi

    Miksi?

    "Hoito"-palvelu

    Hoi

    topr

    oses

    si

    Tulotilanteen arviointi

    Hoidon suunnittelu

    Hoidon toteutus

    Hoidon arviointi

    Jatkohoidon suunnitelma

    Jatkuuko hoito tässä yksikössä?

    Hoito jatkuu

    Palv

    elu

    Palvelu

    Palvelupyyntö Palvelun tulos

  • Palvelun tarkempi seuranta

    Joskus on tarve seurata palveluprosessia tarkemmin

    30

    Hoi

    topr

    oses

    si

    Tulotilanteen arviointi

    Hoidon suunnittelu

    Hoidon toteutus

    Hoidon arviointi

    Jatkohoidon suunnitelma

    Jatkuuko hoito?

    Hoito jatkuu tässä yksikössä

    Palv

    elu

    PalvelupyyntöPalvelun tulos

    Palvelun asettaminen

    jonoon

    Palvelu-pyynnön

    vastaanotto

    Arviointi ja toteutus-päätös

    Palvelun ajan

    varaaminenPalvelun toteutus

    Tulosten raportointi

  • Ilmoituksia voidaan lähettää myös palveluprosessin keskeltä

    31

    Hoi

    topr

    oses

    si

    Tulotilanteen arviointi

    Hoidon suunnittelu

    Hoidon toteutus

    Hoidon arviointi

    Jatkohoidon suunnitelma

    Jatkuuko hoito?

    Hoito jatkuu tässä yksikössä

    Palv

    elu

    Palvelupyyntö

    Palvelun tulos

    Palvelun asettaminen

    jonoon

    Palvelu-pyynnön

    vastaanotto

    Arviointi ja toteutus-päätös

    Palvelun ajan

    varaaminenPalvelun toteutus

    Tulosten raportointi

    Tapahtuma-tiedon keruu

    DW

  • Tietomallia täydennetään palvelun tehtävällä

    32

    Hoi

    topr

    oses

    si

    Tulotilanteen arviointi

    Hoidon suunnittelu

    Hoidon toteutus

    Hoidon arviointi

    Jatkohoidon suunnitelma

    Jatkuuko hoito?

    Hoito jatkuu tässä yksikössä

    Palv

    elu

    Palvelupyyntö

    Palvelun tulos

    Palvelun asettaminen

    jonoon

    Palvelu-pyynnön

    vastaanotto

    Arviointi ja toteutus-päätös

    Palvelun ajan

    varaaminenPalvelun toteutus

    Tulosten raportointi

    Potilas Hoito-prosessi

    Yritys (Organi-saatio)

    Toimipaikka

    Työntekijä

    Suorite-nimike

    Kuka?

    Kuka? Kuka?

    Missä?

    Mitä?

    Mikä?

    Diagnoosi

    Miksi?

    "Hoito"-palvelu

    Tehtävä

  • 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 !

    [email protected]

    34