Business Processes and Business Services Agenda Departmental applications, need for integration...
Transcript of Business Processes and Business Services Agenda Departmental applications, need for integration...
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
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
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
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
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