1/23/2014 9:52 AM SOA4HL7: Defining Services based on HL7 Messaging Artifacts Alan Honey, Kaiser Permanente Enterprise Architect (Based on material initially.

Slides:



Advertisements
Similar presentations
Andrea Maurino Web Service Design Methodology Batini, De Paoli, Maurino, Grega, Comerio WP2-WP3 Roma 24/11/2005.
Advertisements

Chapter 7 System Models.
© Telelogic AB Modeling DoDAF Compliant Architectures Operational Systems Technical.
2/11/2014 8:44 AM The CDA Release 3 Specification Stack September 2009 HL7 Services-Aware Enterprise Architecture Framework (SAEAF)
1 Service Oriented Architectures (SOA): What Users Need to Know. OGF 19: January 31, 2007 Charlotte, NC John Salasin, Ph.D, Visiting Researcher National.
1 Introducing the Specifications of the Metro Ethernet Forum.
3 Copyright © 2005, Oracle. All rights reserved. Designing J2EE Applications.
Presented to: By: Date: Federal Aviation Administration Registry/Repository in a SOA Environment SOA Brown Bag #5 SWIM Team March 9, 2011.
Week 2 The Object-Oriented Approach to Requirements
OOAD – Dr. A. Alghamdi Mastering Object-Oriented Analysis and Design with UML Module 3: Requirements Overview Module 3 - Requirements Overview.
6/7/2014 1:02 AM Healthcare Service Specification Project (HSSP): Producing Service Functional Models (SFMs) October 2007.
Service Description: WSDL COMP6017 Topics on Web Services Dr Nicholas Gibbins –
An Approach to Wrap Legacy Applications into Web Services Wesal Al Belushi, Youcef Baghdadi Department of Computer Science, Sultan Qaboos University, Sultanate.
Generalizable Element Namespace Model Element name visibility isSpecification Classifier isRoot Constraint Body Use Cases CS/SWE 421 Introduction to Software.
Component-Based Software Engineering Main issues: assemble systems out of (reusable) components compatibility of components.
Chapter 19 Design Model for WebApps
Chapter 13 Review Questions
4/12/2015 7:43 AM HL7 Interoperability Paradigms September 2007 WGM, Atlanta, GA John Koisch, OCTL Consulting Alan Honey, Kaiser Permanente Grahame Grieve,
1 XML Web Services Practical Implementations Bob Steemson Product Architect iSOFT plc.
FRED Interlinked Registries DRAFT roadmap for consideration.
Karolina Muszyńska Based on:
OOAD Using the UML - Use-Case Analysis, v 4.2 Copyright  Rational Software, all rights reserved 1/18 Use Case Analysis – continued Control Classes.
Lecture 5 Themes in this session Building and managing the data warehouse Data extraction and transformation Technical issues.
1 Introduction to SOA. 2 The Service-Oriented Enterprise eXtensible Markup Language (XML) Web services XML-based technologies for messaging, service description,
Page 1 Building Reliable Component-based Systems Chapter 7 - Role-Based Component Engineering Chapter 7 Role-Based Component Engineering.
Objects First With Java A Practical Introduction Using BlueJ Designing object-oriented programs How to write code in a way that is easily understandable,
Practical Object-Oriented Design with UML 2e Slide 1/1 ©The McGraw-Hill Companies, 2004 PRACTICAL OBJECT-ORIENTED DESIGN WITH UML 2e Chapter 5: Restaurant.
1 ECCF Training 2.0 Introduction ECCF Training Working Group January 2011.
Chapter 8 Object Design Reuse and Patterns. Finding Objects The hardest problems in object-oriented system development are: –Identifying objects –Decomposing.
You’ve Built The Pieces, Now Integrate Your Enterprise! Mid-Atlantic Regional Conference January 17, 2003 Patty Gertz, Princeton University
Roles and Responsibilities Jahangheer Shaik. Service Specification Specification requires development of three inter-related documents CIM, PIM and PSM.
Enterprise Architecture
Problems with reuse – Increased maintenance costs; lack of tool support; not-invented- here syndrome; creating, maintaining, and using a component library.
Initial slides for Layered Service Architecture
Page 1 May 2009 SOS Concepts in DM2 – SoaML Example The purpose of this is to refine SOA concepts in DM2 –It is a summary for the DM2/SOA team –Based on.
Interoperability Tests for IEC Scott Neumann November 12, 2009.
Chapter 5 Analysis Model. Analysis model (AM) The first step in describing how the system will implement the requirements specification The first step.
1 ECCF Training 2.0 Platform Specific Model (PSM) ECCF Training Working Group January 2011.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 7 Slide 1 System models l Abstract descriptions of systems whose requirements are being.
1 Phases in Software Development Lecture Software Development Lifecycle Let us review the main steps –Problem Definition –Feasibility Study –Analysis.
UNIT – II ARCHITECTING WEB SERVICES. WHAT ARE WEB SERVICES ? Web Services are loosely coupled, contracted components that communicate via XML-based interfaces.
SOFTWARE DESIGN AND ARCHITECTURE LECTURE 09. Review Introduction to architectural styles Distributed architectures – Client Server Architecture – Multi-tier.
Networking and Health Information Exchange Unit 6b EHR Functional Model Standards.
SWE © Solomon Seifu ELABORATION. SWE © Solomon Seifu Lesson 10 Use Case Design.
Requirements as Usecases Capturing the REQUIREMENT ANALYSIS DESIGN IMPLEMENTATION TEST.
IHE Profile – SOA Analysis: In Progress Update Brian McIndoe January 18, 2011.
Systems Analysis and Design in a Changing World, Fourth Edition
1 ECCF Training 2.0 Implemental Perspective (IP) ECCF Training Working Group January 2011.
Health eDecisions Use Case 2: CDS Guidance Service Strawman of Core Concepts Use Case 2 1.
1 ECCF Training 2.0 Introduction ECCF Training Working Group January 2011.
A division of Data Access Technologies, Inc. 2 May 2007 Copyright © 2007 Data Access Technologies, Inc. Model Driven Service Oriented Architecture Ed Seidewitz.
WSDL in a Healthcare Enterprise Architecture Lorraine Constable, Constable Consulting John Koisch, Guidewire Architecture Jean Henri Duteau, GPI.
Independent Insight for Service Oriented Practice Summary: Service Reference Architecture and Planning David Sprott.
Systems Analysis and Design in a Changing World, Fourth Edition
This material was developed by Duke University, funded by the Department of Health and Human Services, Office of the National Coordinator for Health Information.
Generalizable Element Namespace Model Element name visibility isSpecification Classifier isRoot Constraint Body Use Cases CS/SWE 421 Introduction to Software.
Behavioral Framework Background & Terminology. Behavioral Framework: Introduction  Background..  What was the goal..
March 24, 2007 SOA CoP Demo Model Driven Enterprise SOA GSA Financial Management Enterprise Architecture Cory Casanave cory-c (at) modeldriven.com Oct.
Introduction to Service Orientation MIS 181.9: Service Oriented Architecture 2 nd Semester,
PIX/PDQ – Today and Tomorrow Vassil Peytchev Epic.
Metadata Driven Aspect Specification Ricardo Ferreira, Ricardo Raminhos Uninova, Portugal Ana Moreira Universidade Nova de Lisboa, Portugal 7th International.
7 Systems Analysis – ITEC 3155 The Object Oriented Approach – Use Cases.
Enterprise Architectures Course Code : CPIS-352 King Abdul Aziz University, Jeddah Saudi Arabia.
OOAD Using the UML - Use-Case Analysis, v 4.2 Copyright  Rational Software, all rights reserved 1 Use Case Analysis – Part 4 Analysis Mechanisms.
Chapter 4: Business Process and Functional Modeling, continued
Chapter 4 – Requirements Engineering
Use Case Analysis – continued
Chapter 8, Design Patterns Introduction
Presentation transcript:

1/23/2014 9:52 AM SOA4HL7: Defining Services based on HL7 Messaging Artifacts Alan Honey, Kaiser Permanente Enterprise Architect (Based on material initially prepared by John Koisch, OCTL Consulting) Alan Honey, Kaiser Permanente Enterprise Architect (Based on material initially prepared by John Koisch, OCTL Consulting) HL7 Educational Summit, November 2007

Page 2 Goals Show a (Phase 2) method for using messaging artifacts in HSSP Service Definition and Modeling (SOA4HL7) This is an interim methodology for defining more SOA compatible services based on existing messaging artifacts until a full set of standard services are defined Can also support migration activities This is not intended to supplant definition of Service Standards

Page 3 Problem Statement There are not yet many standard services defined Defining new ones takes time What do we do with more urgent development or implementation needs? –For software vendors: define services using custom methodology based on own database schema (most common current practice)? –For consumers or in-house developers: create service definitions from scratch or from own legacy systems ? Or apply some level of consistent methodology? –What about existing v2 or v3 messaging artifacts? Enter SOA4HL7

Page 4 Build or Re-Use Decision Tree Use existing service definition Define a standard service - Use the HSSP Service Specification Process Follow the SOA 4 HL7 Process Service Definition Approaches

Page 5 SOA4HL7 Work Products and Deliverables Methodology (Balloted HL7 informative document) –Methodology for creating service definitions and implementations. This offers a more consistent way to define and implement interim Services based on HL7 V3 content. NOT a replacement for standard HSSP Services SOA Architecture Framework –Leverage existing IT standards to enable services to be consistently described and used in healthcare environments. Includes a mapping of V3 Infrastructure a the SOA framework. Again an interim until HSSP Reference Architecture is complete. Note - This artifact was not balloted. Focus here is on methodology

Page 6 SOA 4 HL7 - Overall Methodology 1. Functional Specification –Define Requirements –Define Process and Information Capabilities –Id and Name Service Components –Map Requirements to Components –Produce Logical Specification 2. Solution Specification (PIM) –Refine Interaction Solution –Refine Component definitions –Define Detailed Dynamic Model –Specify Operations and Messages –Define QoS considerations –Produce PIM Specification 3. Technical Specification (PSM) –Platform Selection (e.g. WSDL) –Identify Services (/consumers, interfaces, operations, parameters) –Produce Interface Specification –Define Technical Conformance Levels

Page 7 SOA 4 HL7 – Deliverable X-Ref Deliverables and their relation to HL7 components

Page 8 SOA 4 HL7 – Service Description General SOAHL7 Artifact Based Primary Top down Service Portfolio Planning, based on analysis of business processes and business information. Service name usually includes the name of the focal business object where there is one followed by a passive verb. Names should be meaningful to business. Granularity based on cohesion and completeness (see Section 5 below) Use abstraction where appropriate. Examples: Member Registration, Flight Reservation, Employee Recruitment, Order Fulfillment etc. Use Whole Domains and/or Topics (where available) as basis, applying considerations of granularity and abstraction. Follow Service naming convention (see left hand column) Granularity based on cohesion and completeness (see Section 5 below) Use abstraction where topics and even domains are specific to one sub-type of a Domain model class (where a reusable service is viable) Examples: Eligibility Verification, Laboratory Order Management, Ambulatory Encounter Management (or Encounter Management), Scheduling. Altern- atives Based on Middle-in (Goal-Service Analysis) Based on existing legacy interfaces (bottom up) Based on Meet-in-the-middle combination of both top down and bottom up methods Aggregate a set of related Application Roles and or Trigger Events, applying granularity and abstraction criteria as mentioned above.

Page 9 SOA 4 HL7 - Interface Identification General SOAHL7 Artifact Based Primary If there is a natural split of business functionality into two or three areas, then define different interfaces. Questions of granularity are similar to that for the Service level. May split different interaction types/styles into different interfaces (particularly for data- oriented services), e.g. Query (read only) vs Update vs Notification (subscription based). As general SOA in left hand column. Also consider different Topics for interfaces if more than one in the Service. Examples Eligibility Verification (Service) -> Eligibility Query, Authorization (Interfaces) (Laboratory) Order Management (Service) -> (Laboratory) Oder Maintenance, (Laboratory) Order Query (Interfaces) Altern- atives Define a single business interface for the Service with the same name.

Page 10 SOA 4 HL7 – Operation Identification General SOAHL7 Artifact Based Identify individual business actions within the service scope, often based on steps in the business process, particular those that cross domain or system boundaries. For data-oriented services, ensure major business objects within scope have create, read, update and delete capabilities defined. For services where deterministic outcomes are required, use explicit, directed instructions rather than deriving implicit instructions from generic messages where possible. (see discussion below) Capability Names are active verbs, usually with business object as subject. Names should be meaningful business actions rather than system actions such as update record. Defining Operations may also take specific interaction styles or performance implications into account, which may lead to splitting a Capability into multiple operations or occasionally aggregating Capabilities together. There are many approaches to defining queries, see the discussion below. Event-based or pub-sub issues will be considered in later versions of this document Granularity based on performance considerations and adaptability (see Section 5 below) Examples: Book Flight, Reserve Resource, Check Credit, Update Address, etc. Identify individual actions from Storyboards, Use Cases, Activity Diagrams, Application Roles, Trigger Events DIM/D-MIM – look at major classes in scope and ensure that main create, read, update, delete actions are supported. This applies to services which manage and control data. Follow naming and granularity guidelines as for General SOA. Consider defining and/or using CMETs for data content of appropriate granularity operations Examples: Authorization (I/f) -> Request Authorization, Nullify Authorization Request, Query Authorization Request Status (Operations). Scheduling (I/f) -> Book Appointment, Cancel Appointment, Reschedule Appointment (Operations). (Bottom-Up) Use existing legacy interface APIs or messages and re- define or wrap them as service operations. Use individual Interactions and/or CIM/R- MIM/LIM/HMD/Message Types and define operations for each

Page 11 SOA 4 HL7 – Operation Identification In a messaging world, it is common practice to define large, multi-purpose messages and derive the appropriate instruction and meaning from them in hidden business logic. This obscures the behavior from the service client and often leads to non-deterministic states of objects. Wherever possible, explicit actions should be identified that take deterministic action. This does NOT imply that the how should be exposed, but it is important that the what is made very clear.

Page 12 Example – Eligibility Service Service, Interface and Operation Names HL7 Artifact (if any relevant) Comments (Service) Eligibility Verification: (I/F)Eligibility Query -Query Eligibility (I/F)Authorization -Request Authorization -Request Immediate Authorization -Nullify Authorization Request -Query Authorization Request Status Eligibility Query Request (Trigger Event) Authorization Request (Trigger Event) Authorization Nullify Request (Trigger Event) Authorization Query Request (Trigger Event) These operations fairly closely match the HL7 Messaging Interactions, but there would probably not be separate operations defined for different Specialties, although it could be done that way too. This would be handled by an input parameter indicating the request type. This leaves a closer match with the Trigger Events rather than the interactions. Note – defining separate operations is one way to deal with situations where the service requestor can indicate whether an immediate response is required. Nullify and Query would only apply in the asynchronous response case.

Page 13 SOA 4 HL7 – Message Content General SOAHL7 Artifact Based Primary For data oriented services, this is normally complete business objects or sets of related objects For functional services, the appropriate parameters and return values are defined. It is important to consider extensibility, and use of more general document type approaches are now more common. Messages are normally named as a (qualified) noun describing the business content. Examples: Flight Reservation Details, Credit Card Verification Request, Reservation Confirmation. If there is a matching CIM/R-MIM for the scope of the operation then this should be used. Otherwise start with DIM and identify appropriate classes in scope. Look for relevant reusable information structures (e.g. CMETs) May use aggregation of 1 or more CIMs / R-MIMs, LIMs, HMDs or message content. Data Types and Vocabulary should be based on existing V3 artifacts where they exist. Examples: Patient Demographics, Laboratory Order, Eligibility Authorization Request, Appointment Confirmation Altern- atives Bottom Up – Existing API content or message schema. Use previously generated Message Schema

Page 14 SOA 4 HL7 – Design Guidance Guidance is given on each of the following topics: –Modular Design –Tolerance of Independent Invention (Scope and flexibility) –Types of Functional Requirements –Adaptability –Granularity –Abstraction Level and composition –Cohesion / coupling / complexity –Completeness –Design for Reuse –Security –Process Management –Technical Governance

Page 15 A Word on Implementation Use (or otherwise) of the H7 V3 wrappers. –Transmission wrapper can be omitted (see SOA4HL7 Architecture document for initial suggested mappings) –Include Control Act as payload or omit depending on need / circumstances XML Schema –Some suggestions included in document (based on work in Finland SerAPI project) –Also see New ITS work in UK

Page 16 SOA 4 HL7 – Worked Example A worked example is included (Appointment Scheduling). This includes: –Storyboard definitions (taken from existing v3 material) –Service, Interface, Operation, Message Definitions –WSDL definitions (partial)