16
Demetrios Yannakopoulos Demetrios Yannakopoulos [email protected] [email protected] Healthcare SOA: From Requirements to Deployment Healthcare SOA: From Requirements to Deployment A Service A Service - - Oriented Analysis & Design (SOAD) Example Oriented Analysis & Design (SOAD) Example

Healthcare SOA: From Requirements to Deployment · The “Order Management”System ) Software components, each of which provide the implementation for, realization of, or operation

  • Upload
    others

  • View
    0

  • Download
    0

Embed Size (px)

Citation preview

Demetrios YannakopoulosDemetrios Yannakopoulos

[email protected]@mail.ps.net

Healthcare SOA: From Requirements to DeploymentHealthcare SOA: From Requirements to Deployment

A ServiceA Service--Oriented Analysis & Design (SOAD) Example Oriented Analysis & Design (SOAD) Example

Demetrios Yannakopoulos 06/04/2009 2

Operational NeedOperational Need

Coordinating SOA Assets, Teams, Methods, Theory, and PoliciesCoordinating SOA Assets, Teams, Methods, Theory, and Policies

It Can Be DoneIt Can Be Done

Using an SOA Framework and an Using an SOA Framework and an

IT OrganizationIT Organization’’s existing SDLC s existing SDLC ––

both identified as Actors both identified as Actors ––

Healthcare IT Teams collaborate Healthcare IT Teams collaborate

to produce service components to produce service components

that can be deployed in an that can be deployed in an

Healthcare Enterprise IT Healthcare Enterprise IT

environment and implement the environment and implement the

Healthcare OrganizationHealthcare Organization’’s s

business needs.business needs.

Demetrios Yannakopoulos 06/04/2009 3

Business Business ““Goals & RisksGoals & Risks”” HierarchyHierarchy

A A ““General PictureGeneral Picture”” View of the OrganizationView of the Organization

««Business GoalBusiness Goal»»Exceptional Patient ServiceExceptional Patient Service

««Business GoalBusiness Goal»»Timely ExaminationTimely Examination

««Business GoalBusiness Goal»»Privacy AssuredPrivacy Assured

««Business GoalBusiness Goal»»Responsiveness of the SystemResponsiveness of the System

««Business GoalBusiness Goal»»Overall Overall

FriendlinessFriendliness ««Business GoalBusiness Goal»»Easy Access to Easy Access to

Health CareHealth Care

««Business GoalBusiness Goal»»Easy Scheduling Easy Scheduling

a Visita Visit

««Business GoalBusiness Goal»»Timely AdmissionTimely Admission

««Business GoalBusiness Goal»»Timely Provider Timely Provider

ProcessProcess

««Business GoalBusiness Goal»»Less Possible Less Possible InconvenienceInconvenience

««Business GoalBusiness Goal»»AccurateAccurate & Effective TreatmentEffective Treatment

««Business GoalBusiness Goal»»Knowledgeable ProvidersKnowledgeable Providers

««Business GoalBusiness Goal»»CostCost--effectiveeffective

««Business GoalBusiness Goal»»Good CommunicationGood Communication ««Business GoalBusiness Goal»»

TimeTime--effectiveeffective

««Business RiskBusiness Risk»»Side EffectsSide Effects

««Business RiskBusiness Risk»»Conflicting Treatment Conflicting Treatment

OptionsOptions ««Business RiskBusiness Risk»»Experimental Experimental MedicationMedication

««Business RiskBusiness Risk»»Insurance ErrorsInsurance Errors

««Business GoalBusiness Goal»»Accurate DiagnosisAccurate Diagnosis ««Business GoalBusiness Goal»»

Efficient Lab TestEfficient Lab Test

««Business GoalBusiness Goal»»Timely Dispensation Timely Dispensation

of Treatmentof Treatment

««Business GoalBusiness Goal»»Consideration for PatientConsideration for Patient

««Business RiskBusiness Risk»»Errors in Errors in

TreatmentTreatment««Business GoalBusiness Goal»»Correct MedicationCorrect Medication

««Business GoalBusiness Goal»»Precise & Correct Precise & Correct

Treatment in Treatment in Prescription OrderPrescription Order

Demetrios Yannakopoulos 06/04/2009 4

Business CapabilitiesBusiness Capabilities

Based on Based on Business GoalsBusiness Goals

Demetrios Yannakopoulos 06/04/2009 5

Business Use CaseBusiness Use Case

A View of Specific Business Need A View of Specific Business Need

DescriptionDescription

–– A patient is examined by a physician. A patient is examined by a physician.

–– The physicianThe physician’’s diagnosis and s diagnosis and

subsequent treatment call for a new lab subsequent treatment call for a new lab

test. test.

–– The physician notifies Lab. The physician notifies Lab.

–– Lab, requests information about the new Lab, requests information about the new

test from Standards & Terminology test from Standards & Terminology

Definitions, performs the test, and Definitions, performs the test, and

notifies the physician about the results. notifies the physician about the results.

–– The physician then prescribes a new The physician then prescribes a new

experimental drug and notifies experimental drug and notifies

Pharmacy. Pharmacy.

–– The pharmacists requests further The pharmacists requests further

information about the drug from information about the drug from

Standards & Terminology Definitions, Standards & Terminology Definitions,

and based on this he/she fulfills the and based on this he/she fulfills the

prescription. prescription.

–– The frontThe front--end clinician is notified, and end clinician is notified, and

dispenses the medication to the patient.dispenses the medication to the patient.

Demetrios Yannakopoulos 06/04/2009 6

Business Activity DiagramBusiness Activity Diagram

Based on the Based on the Business Use CaseBusiness Use Case

Ph

arm

aci

stP

ha

rma

cist

Pa

tie

nt

Pa

tie

nt

Lab

ora

tory

Lab

ora

tory

Fro

nt

Fro

nt --

en

d

en

d

Cli

nic

ian

Cli

nic

ian

Sta

nd

ard

s &

S

tan

da

rds

&

Te

rmin

olo

gy

T

erm

ino

log

y

De

fin

itio

ns

De

fin

itio

ns

Me

dic

al

Me

dic

al

Do

cto

rD

oct

or

Visits a Hospital

due to medical

issue

Examines

patient

Orders XYZ

molecular

diagnostic

test (new)

Studies lab

results

Prescribes

medication

cocktail ABC

(new) Notifies

Pharmacist

Retrieves

cocktail’s

information

Conveys

results

Requests further

information on

cocktail ABC

Notifies

Patient

Notifies

Pharmacist

Updates

patient’s

record

Updates

patient’s

record

Performs XYZ

molecular

diagnostic test

Requests further

information XYZ

molecular

diagnostic test

Retrieves

test’s

information

Notifies Lab

Fill

Prescription

Updates patient’s

record

Notifies

Front-end

Clinician

Dispenses

medication

Updates

patient’s

record

Checks for

Drug-to-Drug

interaction

Checks for

Drug-to-Drug

interaction

Demetrios Yannakopoulos 06/04/2009 7

Business ProcessesBusiness Processes

Based on Based on Business Capabilities Business Capabilities as well as as well as Business Goals & RisksBusiness Goals & Risks

Business Event Business Event ((TriggerTrigger))

Business Business ProcessProcess Business GoalBusiness Goal Business RiskBusiness Risk Business Event Business Event

((OutputOutput))

PatientPatient’’ s New s New VisitVisit Diagnose Medical Diagnose Medical ConditionCondition Accurate Accurate DiagnosisDiagnosis

•• Erroneous Erroneous DiagnosisDiagnosis

•• Conflicting Options Conflicting Options in in DiagnosisDiagnosis

NewNew Lab Test OrderLab Test Order

NewNew Lab Test OrderLab Test OrderPerform Lab Test & Perform Lab Test & Communicate Communicate ResultsResults

Efficient Efficient Lab TestLab Test Erroneous Erroneous Lab TestLab Test Lab Test ResultsLab Test Results

DiagnosisDiagnosisRequiring Requiring TreatmentTreatment

Issue Prescription Issue Prescription OrderOrder

Precise & Correct Precise & Correct Treatment In Treatment In Prescription OrderPrescription Order

Erroneous Erroneous Prescription OrderPrescription Order

Notification to Notification to DispenseDispense MedicationMedication

Notification to Notification to DispenseDispense MedicationMedication

Fill & Dispense Fill & Dispense MedicationMedication Correct Correct MedicationMedication Erroneous Erroneous

MedicationMedicationDispensation of Dispensation of MedicationMedication

Business Objects are Business Objects are underlinedunderlined

Demetrios Yannakopoulos 06/04/2009 8

Business ClassesBusiness Classes

Based on Based on Business Activity DiagramBusiness Activity Diagram

Demetrios Yannakopoulos 06/04/2009 9

System Activity DiagramSystem Activity Diagram

Based on Based on Business Processes Business Processes as well as as well as Business ClassesBusiness Classes

Perform Lab Test & Communicate ResultsPerform Lab Test & Communicate ResultsPerform Lab Test & Communicate Results

Demetrios Yannakopoulos 06/04/2009 10

Service Implementation LayersService Implementation Layers

Brief BackgroundBrief Background

Consumer Consumer

LayerLayer

Process Process

Service Service

LayerLayer

Composite Composite

Service Service

LayerLayer

Atomic Atomic

Service Service

LayerLayer

Service Service

Component Component

LayerLayer

System System

LayerLayerSystems that are service enabled: Commercial Off The Shelf (COTSSystems that are service enabled: Commercial Off The Shelf (COTS), Government Off The Shelf (GOTS), or custom developed systems ), Government Off The Shelf (GOTS), or custom developed systems ((E.g. E.g.

TheThe ““Order ManagementOrder Management”” SystemSystem) )

Software components, each of which provide the implementation foSoftware components, each of which provide the implementation for, realization of, or operation on a service. Service componentsr, realization of, or operation on a service. Service components reflect the reflect the

definition of a service, both in its functionality and its Qualidefinition of a service, both in its functionality and its Quality of Service (E.g. ty of Service (E.g. TheThe ““OrderOrder”” Service ComponentService Component))

SelfSelf--contained services that do not invoke any other services. They ccontained services that do not invoke any other services. They can be simple dataan be simple data--centric services, logiccentric services, logic--centric services, or a combination centric services, or a combination

of the two. They are: Highly reusable and infrequency changed. Oof the two. They are: Highly reusable and infrequency changed. Of low to moderate complexity to implement. Stateless. f low to moderate complexity to implement. Stateless. (E.g. (E.g. TheThe ““OrderOrder””

Atomic ServiceAtomic Service))

One/more atomic and/or composite services that are bound togetheOne/more atomic and/or composite services that are bound together in a new service. They act as both service providers of the (cr in a new service. They act as both service providers of the (composite) omposite)

services and as a service consumers of its child services. They services and as a service consumers of its child services. They have a low level of reusability and are infrequently changed. Thhave a low level of reusability and are infrequently changed. They are ey are

moderately complex to implement and are stateless. moderately complex to implement and are stateless. (E.g. (E.g. TheThe ““Manage RecordsManage Records”” Composite ServiceComposite Service))

They manage a business process flow. They may consist of atomic,They manage a business process flow. They may consist of atomic, composite, and other process services. The process flow may be composite, and other process services. The process flow may be controlled controlled

by one process service (orchestrated) or collaborated between prby one process service (orchestrated) or collaborated between process services (choreographed). They have high frequency of chanocess services (choreographed). They have high frequency of change, low ge, low

level of reuse. Highly complex to implement and control and mainlevel of reuse. Highly complex to implement and control and maintain their state. tain their state. (E.g. (E.g. TheThe ““Sign LabSign Lab--Test OrderTest Order”” Process ServiceProcess Service))

Provides the capabilities required to deliver IT functions and dProvides the capabilities required to deliver IT functions and data to end users to meet specific usage preferences. It can alsoata to end users to meet specific usage preferences. It can also provide an provide an

interface for applicationinterface for application--toto--application communication and for humanapplication communication and for human--toto--computer interactions. Service consumers can utilize services incomputer interactions. Service consumers can utilize services in the the

atomic, composite, and process layers. atomic, composite, and process layers. (E.g. (E.g. TheThe ““Order Management ServicesOrder Management Services”” ApplicationApplication))

Demetrios Yannakopoulos 06/04/2009 11

Service SpecificationService Specification

Based on the Based on the Activity DiagramActivity DiagramConsu

mers

Consu

mers

Proce

ss

Proce

ss

Service

sService

s

Composite

Composite

Service

sService

s

Atomic

Atomic

Service

sService

sService

Service

Componen

tsComponen

tsSys

tems

Sys

tems

Demetrios Yannakopoulos 06/04/2009 12

• Message Processing Logic

• The part of a service and its environment that executes a variety of SOAP messaging tasks.

Service DeploymentService Deployment

SOA Using UMLSOA Using UML

«Endpoint Implementation»

Service RequestorService Requestor

Service ProviderService Provider

• Business Logic

• The back-end of a service that performs tasks in response to a receipt of SOAP message contents. It is business-specific with various scopes as defined by WSDL

Demetrios Yannakopoulos 06/04/2009 13

Service ProviderService Provider

Service ProviderService Provider

Service RequestorService Requestor

Service ProviderService Provider

Service RequestorService Requestor

Service RequestorService Requestor

Service Deployment ModelSatisfies Business Capability: Medical Diagnosis & Treatment

Demetrios Yannakopoulos 06/04/2009 14

Business Goals Business Goals

& Risks Model& Risks Model

Development Procedure RecapDevelopment Procedure Recap

Deployment ModelDeployment Model

Service Service

Implementation ModelImplementation Model

Activity Diagram Activity Diagram

(Systems)(Systems)

Object ModelObject Model

(Business)(Business)

Business Event Business Event ((TriggerTrigger))

Business ProcessBusiness Process Business GoalBusiness Goal Business RiskBusiness Risk Business Event Business Event ((OutputOutput))

PatientPatient’’s New s New VViissiitt

Diagnose Medical Diagnose Medical ConditionCondition

Accurate Accurate DiagnosisDiagnosis

••Erroneous Erroneous DiagnosisDiagnosis••Conflicting Conflicting Options in Options in DiagnosisDiagnosis

NewNew Lab Test Lab Test OrderOrder

NewNew Lab Test Lab Test OrderOrder

Perform Lab Test Perform Lab Test & Communicate & Communicate ResultsResults

Efficient Efficient Lab Lab TestTest

Erroneous Erroneous Lab Lab TestTest Lab Test ResultsLab Test Results

DiagnosisDiagnosisRequiring Requiring TreatmentTreatment

Issue Prescription Issue Prescription OrderOrder

Precise & Correct Precise & Correct Treatment In Treatment In Prescription Prescription OrderOrder

Erroneous Erroneous Prescription Prescription OrderOrder

Notification to Notification to DispenseDispenseMedicationMedication

Notification to Notification to DispenseDispenseMedicationMedication

Fill & Dispense Fill & Dispense MedicationMedication

Correct Correct MedicationMedication

Erroneous Erroneous MedicationMedication

Dispensation of Dispensation of MedicationMedication

Business Process Business Process

DefinitionDefinition

Business Business

CapabilitiesCapabilities

ModelModel

Activity DiagramActivity Diagram

(Business)(Business)

Business Business

Use Case Use Case

ModeModell

««Business GoalBusiness Goal»»

Accurate DiagnosisAccurate Diagnosis

««Business Use CaseBusiness Use Case»»

Patient VisitPatient Visit

««Business Process DescriptionBusiness Process Description»»

Patient VisitPatient Visit

««Business CapabilityBusiness Capability»»

Medical Diagnosis & Medical Diagnosis &

TreatmentTreatment

««Business CapabilityBusiness Capability»»

Medical Diagnosis & Medical Diagnosis &

TreatmentTreatment

««Service ImplementationService Implementation»»

Sign OrderSign Order

««Business ObjectBusiness Object»»

OrderOrder

««Business Process DefinitionBusiness Process Definition»»

Diagnose Medical ConditionDiagnose Medical Condition

««Business Process DetailsBusiness Process Details»»

Sign Lab OrderSign Lab Order

««Business Process DescriptionBusiness Process Description»»

Patient VisitPatient Visit

««Service DeploymentService Deployment»»

Sign OrderSign Order

55

66

77

88

991111

33

44

1313

xx Slide on page x of this presentationSlide on page x of this presentation

Demetrios Yannakopoulos 06/04/2009 15

What is Missing?What is Missing?

http://vista.med.va.gov/vistaarch/soa/index.asp

• Elaborate on Business Classes

- Add all other UML elements & aspects (Attributes, methods, constrictions, etc.)

• Elaborate on Service Specification

- Why services are layered as shown? What are their contracts’ specifications?

• Elaborate on Service Implementation

- How services are provisioned in terms of units of automation

• Tie ins to SOA Governance: UML expressions of:

- Registry and/or repository restrictions

- Contracts technical specifications

- Policies enforcement

• Add, possibly, other UML-based diagrams that would more thoroughly assist developers during implementation

Demetrios Yannakopoulos 06/04/2009 16

ReferencesReferences

―Dept of Veterans Affairs, SOA Framework, various internal documents of SOA

Architecture, Monitoring, Management and Governance

―CBDI Service Oriented Architecture Practice Portal, CBDi Journal, various articles on

the CBDi Service Architecture & Enterprise (SAE) UML profile (http://www.cbdiforum.com/)

―Thomas Erl

― Service-Oriented Architecture (SOA): Concepts, Technology, and Design, Prentice Hall, 2005

― SOA Principles of Service Design, Prentice Hall, 2007

― SOA Design Patterns, Prentice Hall, 2009

―Dirk Krafzig et al, Enterprise SOA: Service-Oriented Architecture Best Practices,

Prentice Hall, 2004

― IBM, Rational Unified Process, SOA plug-ins, an SDLC Framework expanded to include

SOA concepts

―zapthink, Research Papers, various articles on SOA modeling (http://www.zapthink.com/)