A Framework to Assess VistA Open-Source SOA-Stacks An Open-Source VistA SOA Platform objective is to provide an environment within which VA employees, large prime contractors, healthcare professionals, innovative small companies, healthcare software vendors, and entrepreneurs can all contribute to improving the best care anywhere' being provided by VA today. OSEHRA Community Seong K. Mun PhD, President and CEO Mike Henderson, Director, Open Source Product Management Peter Li, co-chair, Architecture Work Group (AWG) Chris Edwards, Implementer, Open-Source VistA 8-Oct-2013 DRAFT-D AWG Presentation www.osehra.org 1
Plan-of-Actions and Milestones Participation Welcome SITUATION: OSEHRA represents the open-source VistA EHR community; where, VA s VistA Evolution initiative proposes to transform legacy VistA into a Healthcare SOA Platform that can leverage modern technologies and Cloud offerings. OSEHRA advocates an open-source SOA stack assessment framework, as described in this presentation. 8 Oct (Tuesday) 4PM AWG AWG Discussion on 1 st draft of this presentation OSEHRA team create a Plan-of-Action for next week s AWG. 15 Oct (Tuesday) 4PM AWG AWG Discussion on 2nd draft of this presentation OSEHRA team creates a Plan-of-Action for next week s AWG. 22 Oct (Tuesday) 4PM AWG OSEHRA provide finalized presentation to open-source community and VA. Talend present their recommendations for VistA Service Backplane 2
Open Source is not Free Open source is often called a "community" and there is a good reason why: most open source projects depend on volunteers, some of whom may be paid by their employer. People who are skilled and motivated get involved in open-source projects to help bring useful-ideas to life. User skin-in-the game generally provides better results; where, It is important to realize that successful organizational use of open-source software implies resource investment for the betterment of the Open-Source community as well as a particular organization s betterment; and where, Open-Source communities are meritocracies; where, leadership in a meritocracy is based on intellectual talent, demonstrated achievement and resource contribution. Although not free, open-source development can be: FASTER: Community participation encourages faster results. BETTER: Community peer-review of products & tests encourages quality. CHEAPER: Community software reuse encourage agility, economy and quality. 3
LAYER Notional VistA-Business SOA-Stack adapted from: http://www.ibm.com/developerworks/webservices/library/ws-wsbfoverviewpart1/index.html Business End-User Clinicians Patients Partners Business Processes Business Services Business Components ESB Business Integration Business Resources VistA MUMPS Ancillary Serv ices First Databank 4
TALKING POINTS: Notional VistA s-business SOA-Stack Based on http://www.infoq.com/articles/soa-enterprise-data 1. User Facing Layer provide support for users (both inside and outside the enterprise) to view and control the execution of the enterprise business processes and/or services. These users can be either humans using Web or rich clients or B2B connections (e.g., VLER) supporting intra-enterprise business processes. 2. Business Processes Layer, such as Orders Management, allow for creation of complex business protocols through orchestration of business services. 3. Business Services Layer, such as Ancillary Services, provide high-level business functionality throughout the enterprise. This layer effectively bridges between the "ideal" business model and the existing enterprise IT assets - applications and business components. 4. Business Components Layer, such as Laboratory, uses Service Orchestration to produce deployable units of software that provide the functionality required by business services. These components can be either newly developed or "wrappers" using integration layer to access the functionality of existing enterprise resources (e.g., Virtual Patient Record (VPR)). 5. Integration Layer uses various technologies (e.g., JASON, RLUS API) to expose existing enterprise resources (e.g., data stores, laboratory test machines) and operational systems (e.g., VistA) so resources could be used by business components. 6. Enterprise Resources Layer represents the portfolio of Operational Systems and existing applications (i.e., legacy, COTS and custom built systems). 5
ESB is intended to support Advanced SOA Maturity [Microsoft SOA Roadmap] ESB Objectives 6
Enterprise Data Access Issues Mitigated by ESB Based On http://www.infoq.com/articles/soa-enterprise-data Vision VistA Evolution SOA Enablement + ESB SOA Suite = Healthcare SOA Platform that can leverage modern technologies and Cloud offerings. Consolidation of data between multiple applications. DOD and VA data is scattered between multiple silo applications; where there is potential data redundancy among applications creating inconsistent enterprise data representations of "master" data stored for particular functionality/unit. As an SOA implementation is attempting to represent enterprise-wide functionality it needs to operate based on a well-defined enterprise data model. This means that enterprise data access from service implementations is required to correctly align and consolidate data from multiple existing applications and ensure propagation of data changes to all applications, using this data. 7
Enterprise Data Access Issues Mitigated by ESB Ownership of enterprise data by services. Foundation of the modern service definition technique - functional decomposition is not easily mapped to the enterprise data. For example, the notion of the patient (and corresponding data) is usually shared between multiple functional services; where, The problem is that functional and data decompositions are driven by completely different rules. Functional decomposition is defined based on the enterprise business processes - enterprise functionality, whereas Data decomposition is defined based on the enterprise data taxonomy - underlying enterprise data model. As a result, aligning of the enterprise data with enterprise services becomes a daunting task. Interface definitions. Because service invocations are often remote, service design strives towards large granularity interfaces, aiming at minimizing service traffic (chattiness) between service consumers and providers; where, Data access can require fine granularity of interfaces to meet functional requirements and Data access typically implements pure CRUD (Create, Read, Update, Delete) a where as enterprise services implement business meaningful interface, like orders management, etc. 8
TALKING POINTS: Enterprise Service Bus (ESB) The enterprise data bus provides access to the VistA enterprise data and other DOD and VA databases. ESB based business components implement business logic based on the existing functionality; but, data access is implemented through the ESB; where, the ESB advantage is explicit separation of concerns between implementation of the service functionality (business logic) and enterprise data support logic; because, the ESB creates an abstraction layer shielding business functionality from enterprise data access and transformations among enterprise semantic data model and data models of enterprise applications. Because all service implementations have access to all enterprise data, implementations significantly reduce coupling among services; because, actual data accesses are implemented by the service itself using enterprise data bus. The disadvantage of this approach is performance, due to the amount of concurrent synchronous accesses, which should be mitigated by Virtual Patient Record (VPR) local data caches. 9
Notional SOA-Stack View of Clinical Decision Support (CDS) Services Gartner has described Clinical Decision Support (CDS) as the CPR Systems Crown Jewel, because, CDS has the potential to be the most valuable component of a CPR as CDS evolves to be a clinician s trust mentor. ESB Business Resources 10
Notional SOA-Stack for VistA Exchange-Architecture 11
Traditional Standards DICOM for radiology, LOINC for laboratory, anatomical pathology, LOINC document types for inpatient notes, A VistA Open-Architecture Must Be Standards-Based HL7 CCD (HITSP C32), and CCDA-CCD for VLER Health data, RxNORM for pharmacy, ICD-10 and SNOMED CT for outpatient visits, ICD-10 and LOINC for admissions encounter, SNOMED CT for smoking status, CPT4 and HCPCS for procedures, PDA-F for scanned paper reports, CDC Race Codes for demographics, UCUM for units of lab measures, NUCC Health provider taxonomy for provider types, CVX and MVX for immunology, ICD9, CPT4/HCPCS, ICD9PCS for billing data. Emerging Standards CTS or Common Terminology Service RLUS or Retrieve Locate Update Service for heterogeneous database facades CDS or Clinical Decision Support VPR or Virtual Patient Record FHIR or Fast Healthcare Interoperability Resource with RESTful API. RDF or Resource Description Framework for semantic web applications JSON or JavaScript Object Notation WS* or Web Service Standards 12
An Example VistA-Evolution Enterprise-Architecture Infrastructure-Alignment Layer System Management Security & Privacy Virtual Stack Transformation Physical Stack 1 Service Contracts Vulnerability Detection SOA Services Layer Service Facade Legacy Systems 2 Network Latency Standard Headers Enterprise Standard Message Layer Message Adapters Legacy Point-to-Point Communication 3 Application Firewalls Encryption Virtual Interface Layer Message Adapters Physical Interface Layer 4 Performance Mgmt Security Domains COTS Software Environment Service Facades Physical COTS Environment 5 Performance Mgmt Security Domains Virtual Enterprise Software Environment Configuration Physical Middleware Environment 6 Data Replication Data Access Controls Virtual Data Layer SQL Physical Data Layer 7 System Monitoring Audit Logs Virtual Management Environment Provisioning System Management and Control 8 Software Distribution Encryption-Anti Virus Virtual Hardware / OS Environment Provisioning Physical Hardware / OS Environment oauth Syncope WS-Security Google Calendar API, CIA, MDWS RPC, CIA, HL7, ical, CalDav GAE, GCE Talend 2011 13
Notional Open-Source Assessment Criteria Applicability to need Software License Maturity of Software Documentation Use Cases Testable Requirements-specifications Test procedures, fixtures and results Community size and scope Supportability Community Commercial venders Other users Scalability & Performance 14
Popular Open-Source Components OSEHRA will not recommend a particular SOA solution stack Apache ServiceMix is a flexible, open-source integration container that unifies the features and functionality of Apache ActiveMQ, Camel, CXF, ODE, Karaf into an enterprise ready ESB exclusively powered by OSGi; where, The OSGi framework is a module system and service platform for the Java programming language that implements a dynamic component model. It is released under Apache License v2. The main features are: reliable messaging with Apache ActiveMQ messaging, routing and Enterprise Integration Patterns with Apache Camel WS-\* and RESTful web services with Apache CXF loosely coupled integration between all the other components with Apache ServiceMix NMR including rich Event, Messaging and Audit API complete WS-BPEL engine with Apache ODE OSGi-based server runtime powered by Apache Karaf JBossESB offers Business Process Monitoring, Integrated Development Environment, Human Workflow User Interface, Business Process Management, Connectors, Transaction Manager, Security, Application Container, Messaging Service, Metadata Repository, Naming and Directory Service, Distributed Computing Architecture. JBossESB is part of an SOI (Service Oriented Infrastructure). (Parts of Jboss accepted on VA TRM) Drools 5 includes a Business Logic integration Platform which provides a unified and integrated platform for Rules, Workflow and Event Processing 15
Popular Open-Source Components OSEHRA will not recommend a particular SOA solution stack Mirth Connect is the Swiss Army knife of healthcare integration engines, specifically designed for HL7 message integration. It provides tools for developing, testing, deploying, and monitoring interfaces. 3M Opens Access Healthcare Data Dictionary (HDD) Apelon Open-Source Common Terminology Service (CTS) version 2 OpenID is about authentication (ie. proving who you are) OAuth could be used in external partner sites to allow access to protected data without them having to re-authenticate a user. Please suggest additional candidates to put here. 16
How can OSEHRA help? Questions? www.osehra.org Seong K. Mun PhD, MunSK@osehra.org Mike Henderson, HendersonM@osehra.org Peter Li, LiP@OSEHRA.ORG Thank You 17