business processes and business services agenda departmental applications, need for integration...

44
Satakunnan sairaanhoitopiirin kuntayhtymä Business Processes and Business Services Case Satakunta Timo Itälä

Upload: vanthuy

Post on 16-May-2018

214 views

Category:

Documents


1 download

TRANSCRIPT

Satakunnan sairaanhoitopiirin kuntayhtymä

Business Processes andBusiness Services

Case SatakuntaTimo Itälä

SoberITAgenda

Departmental applications, need for integrationBusiness processes and business servicesWeb servicesEnterprise service busDiscussion

Timo Itälä, Aino Virtanen, Jari Ukkola 2

SoberIT

Timo Itälä, Aino Virtanen, Jari Ukkola 3

Satakunta health district, project

Satakunta Health DistrictSpecialized care servicesOwned by the municipalitiesArea: 275 000 inhabitants

SerAPI Tekes Finnwellresearch projectOct 2006 - Aug 2007

SoberITThe research question

A generic model for integrating thedepartmental applicationsWhat are deparmental applications?What is the problem?What are the objectives for a generic integrationsolution and what are the constraints?

Timo Itälä, Aino Virtanen, Jari Ukkola 4

SoberITThe application map

Timo Itälä, Aino Virtanen, Jari Ukkola 5

SoberIT

Timo Itälä, Aino Virtanen, Jari Ukkola 6

Functions, processes andapplications

MLIIWebLAbSambaQPAti

UPO,

Departmentalapplications

Juvo,

Departmentalapplications

RaduWinRadu

TOTI

SchedulingPersonnellMaterial

Reporting, BI

Patient Admin:MUSTI, Seniori

ArchiveVosVosPklPklOutpatient

ClinicInpatient

wardLab RadiologyOperating

theatreMaternity

Care

Patient Care Process

Management, Planning and Control Process

Resourcing Process

YKert HAIKARA

Pharmacy.

Jne.

EPR:WebKert, Seniori

SoberIT

Timo Itälä, Aino Virtanen, Jari Ukkola 7

Need for a generig integration of adepartmental application

The number of departmental applications isgrowingPatient demographic data is re-enteredResults are printed out and not recorded inelectronic patient record (EPR)Results include also images and other digitaldata

SoberIT

Timo Itälä, Aino Virtanen, Jari Ukkola 8

The objectives for a generig integrationof a departmental application

Collect the results in one place for useAvoid re-entering patiend demographic dataSupport for the care processesHide the differences of the departmentalapplicationsA unified integration: Savings in time and cost

SoberIT

Timo Itälä, Aino Virtanen, Jari Ukkola 9

Considerations

Departmental applications are "black boxes",very little possibilities for modificationsDepartmental applications come with someinterfaces, normally HL7Differences in data formatUser identification and acces control outside thescope of this research project

SoberIT

Timo Itälä, Aino Virtanen, Jari Ukkola 10

Service Oriented Architecture?

Care Processes

Diagnosticservices

Generic services

Enterprise servicebus

Applications withinterfaces

SoberIT

Timo Itälä, Aino Virtanen, Jari Ukkola 11

Business process of EndoscopyAn example of a departmental application within a care process

Take and store imagesRedord findings as notesPrint images and notes

SoberITOther deparpmental applications

Capsule cameraRetinal image screeningVideo and still imaging in operating theatreAudiogramDermatologyEKGetc...

Departmental applications produce data indifferent formats about the patients

Timo Itälä, Aino Virtanen, Jari Ukkola 12

SoberITThe care process within specializedcare

Care process: tasks related to the care itselfA generic model: all different cases are coveredThe model of the care process

Process consist of tasks and their sequenceProcess is triggered by an eventThe customer of the process is the patientThe owner of the process: The doctor in charge

The instance of the care process: An episode of a patient

SoberITThe care process and services

The care process plans, executes and assessesthe careThe care process is a consumer of severalservices

SoberITThe care process and services

Service requests are made by the doctorLab tests, radiology tests, endoscopy tests etc...Medication orders, therapies etc are requested servicesVisit to outpatient clinic can be seen as a service which is requested by thereceiving doctor himselfInpatient episode can be seen as a serviceA care process consists of multiple services

SoberITA care process, a service process and atask

Orders:Referral, test ordersAssesment:Results, Dictation

Timo Itälä, Aino Virtanen, Jari Ukkola 16

Delivery of careBookings, Work lists,Registration,Procedures, Recordingthe results,Transcription

TasksCapture an image,Record findingsExample: Endoscopy

SoberITTask: An examination

Timo Itälä, Aino Virtanen, Jari Ukkola 17

Examinations:EndoscopyCapsule cameraRetinal image screeningVideo and still imaging in operatingtheatreAudiogramDermatologyEKGetc...

SoberIT

Timo Itälä, Aino Virtanen, Jari Ukkola 18

An examination task: Endoscopy

SoberIT

SERVICE ORIENTATION(SOA)

Can we use SOA for integration of the departmentalapplications?

Timo Itälä, Aino Virtanen, Jari Ukkola 19

SoberITIdentifying candidate services

How do we identify services?What services are provided by the departmentalapplications?Would an endoskopy examination be a service?How could we reuse services?How do we model web services?

Timo Itälä, Aino Virtanen, Jari Ukkola 20

SoberIT

21

Identifying services

serviceservice serviceservice

serviceservice

Task

Sub-process

Process

A service can be a task, a sub-process or a process

”capture imageand recordfindings”

”outpatient visit”

”a care processof a patient”

Thomas Erl:Service-Oriented

Architecture

SoberITModeling web services

22

A service consists of one or multiple operationsA Message Exchange Pattern (MEP) is related to anoperationRequest-Response operation

A service receives a request message and sends a reply message

Solicit-Response operationA service sends a request message and waits for a reply message

One-way operationA service receives a message

Notification operationA service sends a message

A fault message can be replied(Fault)Synchronous - Asynchronous

SoberIT

Timo Itälä, Aino Virtanen, Jari Ukkola23

Identifying web services

Service:RequestExaminationOperation:SendRequestMessage

Service:ExecuteExaminationOperations:ReceiveRequestMessageSendEndoscopyRequestMessageReceiveEndoscopyResultMessageSendExaminationResultMessage

Service:ExecuteEndoscopyExaminationOperations:ReceiveEndoscopyRequestMessgeSendEndoscopyResultMessage

Service:PatientRecordOperations:ReceiveExaminationResultMessage....

SoberITClassification of web services

Timo Itälä, Aino Virtanen, Jari Ukkola 24

Notification Control Action Entity

PatientAdministration

Endoscopy PatientRecordOrchestration

RequestExamination

ExecuteEndoscopy

ExaminationPatient RecordExecute

Examination

SendRequestMessage ReceiveRequestMessage

SendEndoscopyRequestMessage ReceiveEndoscopyRequestMessage

RequestMessage

EndoscopyRequestMessage

ReceiveEndoscopyResultMessage SendEndoscopyResultMessage

EndoscopyResultMessage

SendExaminationResultMessage ReceiveExaminationResultMessageExaminationResultMessage

SoberITDescription of web services

WSDL –Web Service Description LanguageData TypesMessagesServices (portType) and their operationsBinding: TransmissionLocation of services(Endpoint)

Timo Itälä, Aino Virtanen, Jari Ukkola 25

SoberITRequest Examination: WSDL

Timo Itälä, Aino Virtanen, Jari Ukkola 26

Data TypesMessagesServices and operationsBindingLocationPartnerLink

SoberITVisual WSDL

Timo Itälä, Aino Virtanen, Jari Ukkola 27

SoberITImplementing web services

Timo Itälä, Aino Virtanen, Jari Ukkola 28

Notification Control Action Entity

PatientAdministration

Endoscopy PatientRecordOrchestration

WSDLWSDL WSDL WSDL

BPEL

BPEL Engine

SoberITBPEL (Business Process ExecutionLanguage)

Timo Itälä, Aino Virtanen, Jari Ukkola 29

BPEL orchestrates the servicesused by the process

BPEL Process Engine

BPEL Process ModelPartners and rolesVariablesFault handlersProcess Execution Logic

SoberITExecute Examination -service

Timo Itälä, Aino Virtanen, Jari Ukkola 30

<?xml version="1.0" encoding="UTF-8"?><!-- edited with XMLSpy v2007 rel. 3 sp1 (http://www.altova.com) by timo itala (Conceptia Oy) --><process name="TeeTutkimus" xmlns:tutkimus="http://satshp.namespace/tutkimus/schema" xmlns:tns="http://satshp.namespace"targetNamespace="http://satshp.namespace" xmlns="http://docs.oasis-open.org/wsbpel/2.0/process/executable" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://docs.oasis-open.org/wsbpel/2.0/process/executable ws-bpel_executable.xsd"xmlns:xsd="http://www.w3.org/2001/XMLSchema"><partnerLinks>

<partnerLink name="Tutkimus" partnerLinkType="tns:TeeTutkimusType" myRole="TeeTutkimusServiceProvider"/><partnerLink name="Tahystystutkimus" partnerLinkType="tns:TeeTahystystutkimusType" partnerRole="TeeTahystystutkimusServiceProvider"

myRole="TeeTutkimusServiceProvider"/><partnerLink name="Potilaskertomus" partnerLinkType="tns:PotilaskertomusType" partnerRole="PotilaskertomusServiceProvider"/>

</partnerLinks><variables>

<variable name="input" messageType="tns:Tutkimuspyyntosanoma"/><variable name="Tahystystutkimuspyynto" messageType="tns:Tahystystutkimuspyyntosanoma"/><variable name="Tahystystutkimustulos" messageType="tns:Tahystystutkimustulossanoma"/><variable name="output" messageType="tns:Tutkimustulossanoma"/>

</variables><faultHandlers>

<catchAll> <sequence> <exit/> </sequence> </catchAll></faultHandlers><sequence name="main">

<receive xmlns="http://docs.oasis-open.org/wsbpel/2.0/process/executable" name="receiveInput" partnerLink="Tutkimus" portType="tns:TeeTutkimus"operation="LueTutkimuspyynto" variable="input" createInstance="yes"/>

<sequence name="TeeTahystystutkimus"><assign name="Muodosta_Tahystystutkimuspyynto">

<copy><from variable="input" part="Tutkimuspyyntosanoma"> </from><to variable="Tahystystutkimuspyynto" part="Tahystystutkimustulossanoma"/>

</copy></assign><invoke name="TeeTahystystutkimus" partnerLink="Tahystystutkimus" portType="tns:TeeTahystystutkimus" operation="LueTahystystutkimuspyynto"

inputVariable="Tahystystutkimuspyynto"/><receive name="VastaanotaTahystystutkimustulos" partnerLink="Tahystystutkimus" portType="tns:TeeTahystystutkimus"

operation="LahetaTahystystutkimustulos" variable="Tahystystutkimustulos"/><assign name="Muodosta_Tahystystutkimuspyynto">

<copy><from variable="Tahystystutkimustulos" part="Tutkimuspyyntosanoma"/><to variable="output" part="Tutkimustulossanoma"/>

</copy></assign>

</sequence><invoke name="LahetaTutkimustulos" partnerLink="Potilaskertomus" portType="tns:Potilaskertomus" operation="LueTutkimustulos"

inputVariable="Tutkimustulos"/></sequence>

</process>

SoberIT

Timo Itälä, Aino Virtanen, Jari Ukkola 31

Properties of web services

WSDL

WSDL

WSDL WSDL

BPEL

Notification

Control

Action Entity

Loosely coupled - minimize dependenciesAutonomy - encapsulationAbstraction - hide logicReusability - generic servicesComposability - services are composed ofservicesStateless - statefulSynchronous - asynchronousService contract - service descriptionService role: requestor or provider

SoberIT

Timo Itälä, Aino Virtanen, Jari Ukkola 32

Service instances and unique identifiers

WSDL

WSDL

WSDL WSDL

BPEL

Notification

Control

Action Entity

Which service assigns the identifiers?Are all services using the sameidentifiers?Include identifiers within messages

Examination document:HL7 CDA R2

SoberITDirectory of examination services

Timo Itälä, Aino Virtanen, Jari Ukkola 33

What service is used for certainexamination?Directory of examinations is alsoa serviceExecute Examination -service isusing directory to find out theproper examination serviceBPEL code has a service call fordirectory service

SoberITDirectory of examination services

Timo Itälä, Aino Virtanen, Jari Ukkola 34

What service is used for certainexamination?Directory of examinations is alsoa serviceExecute Examination -service isusing directory to find out theproper examination serviceBPEL code has a service call fordirectory service

SoberIT

ENTERPRISE SERVICEBUS (ESB)

Timo Itälä, Aino Virtanen, Jari Ukkola 35

SoberIT

Timo Itälä, Aino Virtanen, Jari Ukkola 36

Transport layer

All departmentalapplications areconnedted to LANMessage broker(Ensemble)

PatientAdministration

Endobase WebKertEPR

Documents Images

Ensemble

ATJAidaToti

SoberIT

Timo Itälä, Aino Virtanen, Jari Ukkola 37

Enterprise Service Bus

ESB (Enterprise Service Bus) (Gartner)Message Oriented MiddlewareWeb ServicesIntelligent Routing based on ContentXML Data transformation

SoberIT

Timo Itälä, Aino Virtanen, Jari Ukkola 38

Generic ESB Endpoint

Services Container

Invocation and ManagementFramework

ESB Endpoint

Enterprise Service Bus

Endpoint Interface

Endpoint = WSDL Port:Operation

WSDL

SoberIT

Timo Itälä, Aino Virtanen, Jari Ukkola 39

Application as an endpoint

Endobase application canact as an endpoint

WSDL

SoberIT

Timo Itälä, Aino Virtanen, Jari Ukkola 40

Bottom-Up, Transport:Message broker

SELITYKSETLiittymät Toteutumattomat osajärjestelmät

JUVO Vuodeosastot- SIJAINTIT IEDOT(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- laborator ion sisäinen osuus- ver ikortisto

VERTTI Verikeskus- Ver ituotteet- ti laukset- ver ikeskuksen sisäinenosuus

SAMBA Mikrobiologian lab.- laboratorion sisäinen osuus

RADU Rtg, Klf, Knf- lähetteet, lausunnot- röntgenin sisäinen osuus- i lmoittautumiset 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-, er ikoisala-, 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

(ver iryhmänsopivuus) HL7

- vastausHL7

- ti lausOVT

- vastaus- tilaus

KANS.TERV.LAIT.

FTP- tar tuntatauti

i lmoitus

UPO Poliklinikat- POTILASREKISTERI(kaikki käyttävät, paits i Seniori)- KÄYNTIT IEDOT(Mynla, Infekt., Maksuli, Haikara )- lähetetiedot- ajanvaraus- käyntitiedot- r tg-UPO rtg ajanvaraus

FYSIS Fysiatria- fysiatr ian 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- potilasrekister i- käynti- ja hoitotiedot (Mynla)- potilasmaksut

HL7- pyyntö

HL7- tulos

ORDER Tilaukset- lääketilaukset- materiaalitilaukset

SAMPO varasto / apteekkiMateriaalihallinto

- ti laukset

FINATaloushallinto

POWERPLAYTilastot / Rapor tit

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

- laskuriv it

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 li ittymät

Muut li ittymä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

Ensemblemessage broker

WSDL HL7HL7 Endoskopia

SoberITSatakunta ESB

Enterprise Service Bus will connect all applications together and hide thetechnical detailsOrchestration service will execute the processes

PatientAdministration

Departmentalapp

PatientRecord

WSDL WSDL

Publicservices

WSDL WSDL WSDL WSDL

Orchestration

BPEL

Departmentalapp

Departmentalapp

SoberIT

Timo Itälä, Aino Virtanen, Jari Ukkola 42

Generic integration of departmentalapplications

Service Oriented Architecture: Integrating adepartmental application

Departmental applications are integrated using their native interfacesDepartmental applications are described as web services using WSDLdescriptionsDirectory of examination services is updatedBPEL code is updated and testedGoLive

BenefitsStandardization of the integration of departmental applicationsReusable processes are createdStandardization of processes

SoberITFuture research

Data modelESB confirmed data, unique identifiers

Service DirectoriesHow to build, use and maintain?

Naming standardsServices, operations, messages, data items

Testing proceduresServices and processesFaults, exeptions and recovery routinesLoad and stress testing

VersioningVersion controlEnvironment controlAgreements, SLAs

Timo Itälä, Aino Virtanen, Jari Ukkola 43

SoberITQuestions?

Timo Itälä, Aino Virtanen, Jari Ukkola 44