Satakunnan sairaanhoitopiirin kuntayhtymä SOA approach for integration of departmental systems Case Satakunta
Agenda Departmental applications, need for integration Business processes and business services Web services, identification and implementation Enterprise service bus Discussion 2
Satakunta health district, project Satakunta Health District Specialized care services Owned by the municipalities Area: 275 000 inhabitants SerAPI Tekes Finnwell research project Oct 2006 - Aug 2007 3
THE RESEARCH QUESTION Can we use Service Oriented Architecture (SOA) for integration of the departmental applications? Reusable solution? 4
Functions, processes and (departmental) applications Pkl Pkl Outpatient Clinic Vos Inpatient Vos ward Archive Lab Patient Care Process RadiologyOperating theatre MaternityPharmacy. Care Patient Admin: MUSTI, Seniori Patient Record: WebKert, Seniori Resourcing Process Scheduling Personnell Material Management, Planning and Control Process Reporting, BI Outpatients Inpatients Departmental applications YKert Departmental applications MLII WebLAb Samba QPAti Radu TOTI WinRadu HAIKARA Departmental applications Jne. 5
THE METHOD Can we use Service Oriented Architecture (SOA) for integration of the departmental applications? 6
The Method: Top-Down and Bottom-Up Care Processes Diagnostic services Generic services Enterprise service bus Applications with interfaces 7
THE RESULTS SOA approach for integration of departmental systems 8
The care process within specialized care Business Process Modeling Notation (BPMN) Care process: tasks related to the care itself A generic model: all different cases are covered The model of the care process Process consist of activities and their sequence Process is triggered by an event The customer of the process is the patient The owner of the process: The doctor in charge The instance of the care process: An episode of a patient
The care process and services The care process plans, executes and assesses the care The care process is a consumer of several services Any activity can make request for a service
The care process and services Service requests are made by the doctor Lab tests, radiology tests, endoscopy tests etc... Medication orders, therapies etc are requested services Visit to outpatient clinic can be seen as a service which is requested by the receiving doctor himself Inpatient episode can be seen as a service A care process consists of multiple services
A care process, a service process and a task Orders: Referral, test orders Assesment: Results, Dictation Delivery of care Bookings, Work lists, Registration, Procedures, Recording the results, Transcription Tasks Capture an image, Record findings Example: Endoscopy 12
Task: An examination Examinations: Endoscopy Capsule camera Retinal image screening Video and still imaging in operating theatre Audiogram Dermatology EKG etc... 13
An examination task: Endoscopy Care Process Referral for diagnosis Assesment: The doctor makes a request for an endoscopy examination Care Service Process Booking for the examination Registration at the reception Task Capture an image, Record findings Example: Endoscopy Endoscopy Examination Capture an image, Record findings 14
SERVICE ORIENTATION (SOA) Can we use SOA for integration of the departmental applications? 15
Identifying web services Service: RequestExamination Operation: SendRequestMessage Service: ExecuteExamination Operations: ReceiveRequestMessage SendEndoscopyRequestMessage ReceiveEndoscopyResultMessage SendExaminationResultMessage Service: ExecuteEndoscopyExamination Operations: ReceiveEndoscopyRequestMessge SendEndoscopyResultMessage Service: PatientRecord Operations: ReceiveExaminationResultMessage... 16
Description of web services WSDL Web Service Description Language Data Types Messages Services (porttype) and their operations Binding: Transmission Location of services(endpoint) WSDL WSDL WSDL WSDL 17
Implementing web services Notification Control Action Entity WSDL WSDL WSDL WSDL Patient Administration Orchestration Endoscopy PatientRecord BPEL BPEL Engine 18
ENTERPRISE SERVICE BUS (ESB) 19
Transport layer Message Broker All departmental applications are connedted to LAN Message broker (Ensemble) Patient Adminis tration Endobase Toti Aida WebKert EPR Documents Images ATJ 20
Enterprise Service Bus (ESB) WSDL ESB Message Oriented Middleware Web Services Intelligent Routing based on Content XML Data transformation Endpoint = WSDL Port:Operation 21
- potilaat - henkilökunta STAKES AKTIV KAPITAL puhelinvaihde henkilöstöh. palkanmaksu - palkat TERVEYSKESKUS VÄESTÖREKISTERI KESKUS - sairaslomat TT2000+ Työter veysh. -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 FT P (OVT) - vastasyntyneen tiedot - kuolintiedot FT P (OVT) - henkilötiedot - potilasrekisteri - käynti- ja hoitotiedot (Mynla) - potilasmaksut - potilasmaksut LÄÄKITYS Lähete-Palaute Kuva-arkisto Anestesia Teho AROMI/ tilauks et - henkilötiedot sairaskertomukset - s airask ertomus tek stit - laskutustietoja HL7 - tulos (v er iry hmän s opivuus ) HL7 - pyyntö HL7 - tulos HL7 - pyyntö HL7 - tulos - henkilötiedot HL7 - laus unto OVT - lähete OVT - laus unto - pyy ntö (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 äy ntitiedot - 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 - leikk auss aliv ar auks et - leikk auslis tat - tehdy t leikk auks et - päivystysilmoitus - pkl toimenpiteet - toimenpiteet - avohoito tiedot - hoitojaksotiedot -tuotepäätös nro:t - E-osto laskut - määrärahaseuranta - kuntoutuspäätökset - OST OPALVELUT - 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 -nimikk eet 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 äy ttäjien v alik ot - TaskMan tausta-ajojen hallinta SoberIT Bottom-Up, Transport: Message broker SATSHP:n POTILASTIETOJÄRJESTELMIEN LIITTYMÄT JOISSA TIETO SIIRTYY FYYSISESTI 21.3.2005/T Seppänen LII potilaspuhelut DNA SENIORI Psykiatria VRK SatSHP WEBKERT UPO Poliklinikat RADU Rtg, Klf, Knf FYSIS Fysiatria SOSIS TOTI Toimenpideyksiköt NordDRG JUVO Vuodeosastot Hoit.luokitus Kuntosoft Fysotools FINA Ensemble message broker CASH MANAGER PRIMA MD-TITANIA MAKSULI Maksuliikenne ML 2 Kliin.kemian lab. Haikara Äitiyshuolto AHA - KUNTOUTUS ORDER Tilauks et 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 HL7 Endoscopy 22
Satakunta ESB Enterprise Service Bus will connect all applications together and hide the technical details Orchestration service will execute the processes ESB Patient Adminis tration Orchestration Depart mental app Depart mental app Depart mental app Patient Record Public services WSDL BPEL WSDL WSDL WSDL WSDL WSDL
DISCUSSION SOA approach for integration of departmental systems 24
Generic integration of departmental applications Service Oriented Architecture: Integrating a departmental application Departmental applications are integrated using their native interfaces Departmental applications are described as web services using WSDL descriptions Directory of examination services is updated BPEL code is updated and tested GoLive Benefits Standardization of the integration of departmental applications Reusable processes are created Standardization of processes 25
Future research Data model ESB confirmed data, unique identifiers Service Directories How to build, use and maintain? Naming standards Services, operations, messages, data items Testing procedures Services and processes Faults, exeptions and recovery routines Load and stress testing Versioning Version control Environment control Agreements, SLAs 26
THANK YOU! Questions 27