Survey
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
Software and Enterprise Architectures CSE 5810 Prof. Steven A. Demurjian, Sr. Computer Science & Engineering Department The University of Connecticut 371 Fairfield Road, Box U-255 Storrs, CT 06269-2155 [email protected] http://www.engr.uconn.edu/~steve (860) 486 - 4818 Copyright © 2008 by S. Demurjian, Storrs, CT. SWEA1 Software Architectures CSE 5810 Emerging Discipline in Mid-1990s Software as Collection of Interacting Components What are Local Interactions (within Component)? What are Global Interactions (between Components)? Advantages of SW Architectural Design Understand Communication/Synchronization Definition of Database Requirements Identification of Performance/Scaling Issues Detailing of Security Needs and Constraints Towards Large-Scale Software Development For Biomedical Informatics: What are Architectures for Data Sharing? How is Interoperability Facilitated? SWEA2 Concepts of Software Architectures CSE 5810 Exceed Traditional Algorithm/Data Structure Perspective Emphasize Componentwise Organization and System Functionality Focus on Global and Local Interactions Identify Communication/Synchronization Requirements Define Database Needs and Dependencies Consider Performance/Scaling Issues Understand Potential Evolution Dimensions SWEA3 Software Design Levels CSE 5810 Architecturally: Modules Interconnections Among Modules Decomposition into Subsystems Code: Algorithms/Data Structures Tasking/Control Threads Executable: Memory Management Runtime Environment Is this a Realistic/Accurate View? Yes for a Single “Application” What about Application of Applications? System of Systems? SWEA4 Software Engineering - an Oxymoron? CSE 5810 Is there any Engineering? Is there any Science? Collection of Disparate Techniques: Data-Flow Diagrams E-R Diagrams Finite State Machines Petri Nets UML Class, Object, Sequence, Etc. Design Patterns Model Drive Architectures What is being “Engineered”? How do we Know we are Done? E.g. Does Artifact Match Specification? SWEA5 What's Available for Engineering Software? CSE 5810 Specification (Abstract Models, Algebraic Semantics) Software Structure (Bundling Representation with Algorithms) Languages Issues (Models, Scope, User-Defined Types) Information Hiding (Protect Integrity of Information) Integrity Constraints (Invariants of Data Structures) Is this up to date? What else can be Added to List? Design Patters Model Driven Architectures XML –Data Modeling and Dependencies Others? SWEA6 Engineering Success in Computing CSE 5810 Compilers Have Had Great Success Originally by Hand Then Compiler Compilers Parser Generators - Lex/Yacc Solid Science Behind Compilers Regular, Context Free, Context Sensitive Languages FSAs, PDAs, CFGs, etc. Science has Provided Engineering Success re. Ease and Accuracy of Modern Compiler Writing SWEA7 History of Programming CSE 5810 C - Still Remains Industry Stronghorse Separate Compilation Decomposition of System into Subsystems, etc. Shared Declarations ADTs in C, But Compiler won't Enforce Them Modula-II and Ada 83 Had Information Hiding Public/Private Paradigm Module/Package Concepts Import/Export Paradigm Rigor Enforced by Compiler – but Can’t Bind/Group Modules into Subsystems Precisely Specify Interconnections and Interactions Among Subsystems and Components SWEA8 ‘Recent-Past’ Generation? CSE 5810 C++ and Ada95 Considered “Legacy” Languages - Old Java, C# - Are they Headed Toward Legacy? How do they Rate? What Do they Offer that Hasn't been Offered Before? What are Unique Benefits and Potential of Java? What about new Web Technologies? Javascript, Perl, PhP, Phython, Ruby XML and SOAP Mobile Computing How do all of these fit into this process? Particularly in Regards to C/S Solutions! SWEA9 What's Next Step? CSE 5810 Architectural Description Languages Provide Tools to Describe Architectures Definition and Communication Codification of Architectural Expertise Frameworks for Specific Domains DB vs. GUI vs. Embedded vs. C/S Formal Underpinning for Engineering Rigor What has Appeared for Each of these? Struts for GUI Open Source Frameworks (mediawiki) Wide-Ranging Standards (XML) Model-Driven Architectures What Else??? SWEA10 Architectural Styles CSE 5810 What are Popular Architectural Styles? How are they Characterized? Example in Practice Explore a Taxonomy of Styles Focus on “Micro-Architectures” Components Flow Among Components Represents “Single” Application Forms Basis for “Macro-Architectures” System of Systems Application of Applications Significantly Scaling Up SWEA11 Taxonomy of Architectural Styles CSE 5810 Data Flow Systems Batch Sequential Pipes and Filters Call & Return Systems Main/Subroutines (C, Pascal) Object Oriented Implicit Invocation Hierarchical Systems Virtual Machines Interpreters Rule Based Systems Data Centered Systems DBS Hypertext Blackboards Independent Components Communicating Processes/Event Systems Client/Server Two-Tier Multi-Tier SWEA12 Taxonomy of Architectural Styles CSE 5810 Establish Framework of … Components Building Blocks for Constructing Systems A Major Unit of Functionality Examples Include: Client, Server, Filter, Layer, DB Connectors Defining the Ways that Components Interact What are the Protocols that Mandate the Allowable Interactions Among Components? How are Protocols Enforced at Run/Design Time? Examples Include: Procedure Call, Event Broadcast, DB Protocol, Pipe SWEA13 Overall Framework CSE 5810 What Is the Design Vocabulary? Connectors and Components What Are Allowable Structural Patterns? Constraints on Combining Components & Connectors What Is the Underlying Conceptual Model? Von Newman, Parallel, Agent, Message-Passing… Are their New Emerging Models? Collaborative Environments/Shareware? What Are Essential Invariants of a Style? Limits on Allowable Components & Connectors Common Examples of Usage Advantages and Disadvantages of a Style Common Specializations of a Style SWEA14 Pipes and Filters CSE 5810 Components are Independent Entities. No Shared State! Components with Input and Output Sort Sort Merge Connectors for Flow Streams of I/O Filters: Invariant: Unaware of up and Down Stream Behavior Streamed Behavior: Output Could Go From One Filter to the Next One Allowing Multiple Filters to Run in Parallel. SWEA15 Pipes and Filters CSE 5810 Possible Specializations: Pipelines - Linear Sequence Bounded - Limits on Data Amounts Typed Pipes - Known Data Format What is a Classic Example? Other Examples: Compilers Sequential Processes Parallel Processes SWEA16 Pipes and Filters - Another Example CSE 5810 Text Information Retrieval Systems Scanning Newspapers for Key Words, Etc. Also, Boolean Search Expressions Where is Such an Architecture Utilized Today? What is Potential Usage in BMI? User Commands Search Disk Controller Controller Programming Result Query Resolver Control Term Search Comparator Data DB SWEA17 Pipes and Filters – In BMI CSE 5810 Can be Structured to Model Medical Workflows Series of Actions taken by Stakeholders on Patient SWEA18 Patterns for Ontologies CSE 5810 Extension of Rishi’s work … Linear Ontology Architectural Pattern (LOAP) Model Knowledge in a Process Continue with Examples from Prior PPT http://www.engr.uconn.edu/~steve/Cse5810/Attaining-SemanticEnterprise-Interoperability-through-Ontology-ArchitecturalPatterns.pdf SWEA19 Patterns for Ontologies CSE 5810 Linear Ontology Architectural Pattern (LOAP) Diagnosis, Test, and Anatomy Ontologies SWEA20 Extending the Example CSE 5810 SWEA21 What has OO Evolved Into? CSE 5810 What has Classic OO Solution Evolved into Today? Client (Browser + Struts) Server (Many Variants of OO Languages) Database Server (typically Relational) Different Style (e.g., Design Pattern) Does Pattern Capture All Aspects of Style? Do we Need to Couple Technology with Pattern? Dr. D, Jan 01, 08 Fever, Flu, Bed Rest No Scripts No Tests Item(Phy_Name*, Date*, Visit_Flag, Symptom, Diagnosis, Treatment, Presc_Flag, Pre_No, Pharm_Name, Medication, Test_Flag, Test_Code, Spec_No, Status, Tech) SWEA22 Design Patterns as Software Architectures CSE 5810 Emerged as the Recognition that in Object-Oriented Systems Repetitions in Design Occurred Gained Prominence in 1995 with Publication of “Design Patterns: Elements of Reusable ObjectOriented Software”, Addison-Wesley “… descriptions of communicating objects and classes that are customized to solve a general design problem in a particular context…” Akin to Complicated Generic Usage of Patterns Requires Consistent Format and Abstraction Common Vocabulary and Descriptions Simple to Complex Patterns – Wide Range SWEA23 The Observer Pattern CSE 5810 Utilized to Define a One-to-Many Relationship Between Objects When Object Changes State – all Dependents are Notified and Automatically Updated Loosely Coupled Objects When one Object (Subject – an Active Object) Changes State than Multiple Objects (Observers – Passive Objects) Notified Observer Object Implements Interface to Specify the Way that Changes are to Occur Two Interfaces and Two Concrete Classes SWEA24 The Observer Pattern CSE 5810 SWEA25 Model View Controller http://java.sun.com/blueprints/patterns/MVC-detailed.html CSE 5810 SWEA26 Model View Controller CSE 5810 Three Parts of the Pattern: Model Enterprise Data and Business Rules for Accessing and Updating Data View Renders the Contents (or Portion) of Model Deals with Presentation of Stored Data Pull or Push Model Possible Controller Translates Interactions with View into Actions on Model Actions could be Button Clicks (GUI), Get/Post http (Web), etc. SWEA27 Model View Controller http://java.sun.com/blueprints/patterns/MVC-detailed.html CSE 5810 SWEA28 The Façade Design Pattern CSE 5810 Unified higher-level global interface/system developed from a set of complex heterogeneous source interfaces/subsystems makes local sources easier to utilize for the clients Composition of Pattern Subsytems System Composed of Subsytems Clients SWEA29 Facade CSE 5810 SWEA30 Other Ontology Architectural Patterns CSE 5810 Leverage Façade Pattern for Local As View (LAV) Methodology MApping FRAmework (MAFRA) provides a conceptual framework for building semantic mappings between heterogeneous ontology models using semantics bridges High Level Centralized Ontology Architectural Patterns (COAP) Extend Façade Concept Subsystems are Local Schemas System is Global Schema SWEA31 LAV Ontology and Example CSE 5810 SWEA32 MAFRA Ontology and Example CSE 5810 SWEA33 COAP Ontology and Example CSE 5810 COAP Allows us to Define and Integrate Ontologies at a Much Higher Level Integrating Multiple Ontologies Global Ontology Model (OG) OM1 Local Ontology Model (LO1) OM2 Local Ontology Model (LO2) OMN OM3 Local Ontology Model (LO3) …. Local Ontology Model (LON) SWEA34 COAP Ontology and Example Example Unifies ICS, DSM, SNOMED etc. CSE 5810 UMLS SNOMED-CT OMIM Disease Gene Ontology Gene Symptoms, Procedure, Findings, etc. Mental Disorders ICD DSM SWEA35 COAP Ontology and Example Example Unifies ICS, DSM, SNOMED etc. CSE 5810 UMLS Metathesaurus MICD ICD Codes MNCBI MSNOMED SNOMED ………… NCBI MLOINC LONIC SWEA36 Layered Systems CSE 5810 Useful Systems Base Utility Core level Users Components - Virtual Machine at Each Layer Connectors - Protocols That Specify How Layers Interact Interaction Is Restricted to Adjacent Layers SWEA37 Layered Systems CSE 5810 Advantages: Increasing Levels of Abstraction Support Enhancement - New Layers Support for Reuse Drawbacks: Not Feasible for All Systems Performance Issues With Multiple Layers Defining Abstractions Is Difficult. SWEA38 Layered Systems in BMI CSE 5810 One Approach to Constructing Access to Patient Data for Clinical Research and Clinical Practice Construct Layered Data Repositories as Below Each Layer Targets Different User Group Need to Fine Tune Access Even within Layers Aggregated De-identified Patient Data Provider Cl. Researchers Public Health Researchers SWEA39 ISO as Layered Architecture CSE 5810 ISO Open Systems Interconnect (OSI) Model Now Widely Used as a Reference Architecture 7-layer Model Provides Framework for Specific Protocols (Such as IP, TCP, FTP, RPC, UDP, RSVP, …) Application Presentation Session Transport Network Data Link Physical Application Presentation Session Transport Network Data Link Physical SWEA40 ISO OSI Model Application Presentation Session Transport Network Data Link Physical CSE 5810 Application Presentation Session Transport Network Data Link Physical Physical (Hardware)/Data Link Layer Networks: Ethernet, Token Ring, ATM Network Layer Net: The Internet Transport Layer Net: Tcp-based Network Presentation/Session Layer Net: Http/html, RPC, PVM, MPI Applications, E.g., WWW, Window System, Algorithm SWEA41 Layered Ontology Architectural Pattern (LaOAP) Consider a set of Domain Models CSE 5810 id Name Disease Id:Integer Name:String Disease Disease hasSymptom 0…* 0…* Symptom Name Symptom id (a): Clinical ERD Model cId cEmail Id:Integer Name:String (b): Clinical UML Model Customer cId:Integer cEmail:String Customer Laboratory Tests owl:Class ∩ Disease owl:Class Laboratory Tests (c): Clinical OWL representation Customer hasCloudSpace 0…* 0…* Cloud Space Cloud Space Cloud Space Space Space:Integer Location:String Location Content Allowed Content Allowed (d): Business ERD Model cloudAllows Content Allowed types:Enum owl:Class owl:Class Customer ∩ CloudSpace (e): Business UML Model (f): Business OWL representation SWEA42 LaOAP and Example CSE 5810 Query and Web Service Disease Queries Query and Web Service Terminology Heart Attack, Fever, Cold Model Terminology Mapping Axioms & Rules Mapping Disease(id) ~ Disease(uid) Axiom Disease ∩ Symtom Ontology Conceptual Model (a): Layered Ontology Architectural Pattern (LaOAP). Disease Ontology Model (b): Instance of LaOAP. SWEA43 Implementation from Model to Code Query and Web Service Layer CSE 5810 PREFIX laoap: <http://xmlns.com/Laoap/> Select ?disease ?symp {?disease laoap:hasSymptom ?symp} Terminology Layer High Fever, Asthma, Heart Attack, John Smith, 50GB, Mapping Layer Disease Illness severity uid id severity name commonName Axiom & Rules Layer owl:Class Disease ∩ owl:Class Symptom owl:Class CloudSpace ∩ owl:Class Customer Conceptual Model Layer Disease hasSymptom Symptom cloudAllows ContectAllowed CloudSpace hasSpace Space SWEA44 id severity Implementation from Model to Code name commonName Axiom & Rules Layer CSE 5810 owl:Class Disease owl:Class CloudSpace ∩ owl:Class Symptom ∩ owl:Class Customer Conceptual Model Layer Disease hasSymptom Symptom cloudAllows ContectAllowed CloudSpace hasSpace Space SWEA45 Implementation from Model to Code Query and Web Service Layer CSE 5810 PREFIX laoap: <http://xmlns.com/Laoap/> Select ?disease ?symp {?disease laoap:hasSymptom ?symp} Terminology Layer High Fever, Asthma, Heart Attack, John Smith, 50GB, Mapping Layer Disease Illness severity id uid severity commonName name Axiom & Rules Layer owl:Class owl:Class SWEA46 Other Ontology Patterns CSE 5810 Ontology Pattern (OP) Content OP Structural OP Architectural OP Lexico-Syntactic OP Logical OP Logical Macro OP Naming OP Transformation OP Reasoning OP Annotation OP Presentation OP Correspondence OP Reengineering OP SchemaReengineering OP Mapping OP Refactoring OP Gangemi, A., & Presutti, V. (2009). Ontology Design Patterns. In Handbook on Ontologies: International Handbooks on Information Systems (pp. 221-243). IOS Press. SWEA47 Other Ontology Patterns CSE 5810 1 Setting-for Setting-for Object 1 1 1 Space-Location Space-Location Event Object 1 Setting-for SpaceRegion SpaceRegion Time-IndexedParticipation 1 Object temporal-part-of 1…* temporal-location TimeInterval Participant-in Constant-Participantin (a): CODeP - Time Indexed Participation Pattern. 1…* 1…* defines Role Task Modal Target 1…* Description defines Temporal-location TimeInterval 1…* satisfies Part-of classifies classifies Object Event 1…* Temporal-location 1…* participant Event Setting-for Situation 1…* Event 1…* TimeInterval (c): CODeP - Participation Pattern. (b): CODeP - Task Role Pattern. Gangemi, A. (2006). Ontology Patterns for Semantic Web Content. Proceeding of 4th International Semantic Web Conference, (pp. 262-276). SWEA48 Repositories ks8 CSE 5810 ks1 Blackboard (shared data) ks2 ks3 ks6 ks4 ks7 ks5 Knowledge Sources Interact With the Blackboard. Blackboard Contains the Problem Solving State Data. Control Is Driven by the State of the Blackboard. DB Systems Are a Form of Repository With a Layer Between the BB and the KSs - Supports Concurrent Access, Security, Integrity, Recovery SWEA49 Database System as a Repository c8 CSE 5810 c1 Database (shared data) c2 c3 c6 c4 c7 c5 Clients Interact With the DBMS Database Contains the Problem Solving State Data Control is Driven by the State of the Database Concurrent Access, Security, Integrity, Recovery Single Layer System: Clients have Direct Access Control of Access to Information must be Carefully Defined within DB Security/Integrity SWEA50 Team Project as a Repository c8 CSE 5810 c1 Web Portal Shared c2 c3 c6 c4 c7 c5 Clients are Providers, Patients, Clinical Researchers Database Underlies Web Portal Simply a Portion of Architecture Interactions with PHR (Patients) Interactions with EMR (Providers) Interactions with Database/Warehouse (Researchers) SWEA51 Virtual Chart as a Repository c8 CSE 5810 c1 Virtual Chart c2 c3 c6 c4 c7 c5 Clients are Providers, Patients, Clinical Researchers SWEA52 Interpreters CSE 5810 Inputs Outputs Program being interpreted Data (program state) Simulated interpretation engine Selected instruction Selected data Internal interpreter state What Are Components and Connectors? Where Have Interpreters Been Used in CS&E? LISP, ML, Java, Other Languages, OS Command Line SWEA53 Java as Interpreter CSE 5810 SWEA54 Process Control Paradigms Input variables CSE 5810 Set point Ds to manipulated variables Controller Input variables Set point Controller Ds to manipulated variables With Feedback Process Controlled variable Without Feedback Process Controlled variable Also: Open vs. Close Loop Systems Well Defined Control and Computational Characters Heavily Used in Engineering Fields. SWEA55 Process Architecture: Statechart Diagram? CSE 5810 SWEA56 Process Architecture: Activity Diagram? CSE 5810 Clear Applicability to Medical Processes that have Underlying BMI – Low Level Processes Waiting for Heart Signal timeout irregular beat Heartbeat Heart Signal Waiting for Resp. Signal Breath Trigger Local Alarm Trigger Remote Alarm Resp Signal Alarm Reset SWEA57 Single and Multi-Tier Architectures CSE 5810 Widespread use in Practice for All Types of Distributed Systems and Applications Two Kinds of Components Servers: Provide Services - May be Unaware of Clients Web Servers (unaware?) Database Servers and Functional Servers (aware?) Clients: Request Services from Servers Must Identify Servers May Need to Identify Self A Server Can be Client of Another Server Expanding from Micro-Architectures (Single Computer/One Application) to Macro-Architecture SWEA58 Single and Multi-Tier Architectures CSE 5810 Normally, Clients and Servers are Independent Processes Running in Parallel Connectors Provide Means for Service Requests and Answers to be Passes Among Clients/Servers Connectors May be RPC, RMI, etc. Advantages Parallelism, Independence Separation of Concerns, Abstraction Others? Disadvantages Complex Implementation Mechanisms Scalability, Correctness, Real-Time Limits Others? SWEA59 Example: Software Architectural Structure CSE 5810 Initial Data Entry Operator (Scanning & Posting) Advanced Data Entry Operators Analyst Manager 10-100MB Network Document Server Stored Images/CD Database Server Running Oracle RMI Registry RMI Act. Obj/Server RMI Act. Obj/Server Functional Server SWEA60 Business Process Model CSE 5810 DB DB Historical Completed Records Applications Licensing DB Supervisor Review Scanner DB Licensing Division Scanning Operator Stored Images Licensing Division Printer Data Entry Operator DB Basic Information Entered New Licenses New Appointments FOI Letters (Request Information, etc.) SWEA61 Two-Tier Architecture CSE 5810 Small Manufacturer Previously on C++ New Order Entry, Inventory, and Invoicing Applications in Java Programming Language Existing Customer and Order Database Most of Business Logic in Stored Procedures Tool-generated GUI Forms for Java Objects SWEA62 Three-Tier Architecture CSE 5810 Passenger Check-in for Regional Airline Local Database for Seating on Today's Flights Clients Invoke EJBs at Local Site Through RMI EJBs Update Database and Queue Updates JMS Queues Updates to Legacy System DBC API Used to Access Local Database SWEA63 Four-Tier Architecture CSE 5810 Web Access to Brokerage Accounts Only HTML Browser Required on Front End "Brokerbean" EJB Provides Business Logic Login, Query, Trade Servlets Call Brokerbean Use JNDI to Find EJBs, RMI to Invoke Them SWEA64 Architecture Comparisons CSE 5810 Two-tier Through JDBC API is Simplest Multi-tier: Separate Business Logic, Protect Database Integrity, More Scaleable JMS Queues vs. Synchronous (RMI or IDL): Availability, Response Time, Decoupling JMS Publish & Subscribe: Off-line Notification RMI IIOP vs. JRMP vs. Java IDL: Standard Cross-language Calls or Full Java Functionality JTS: Distributed Integrity, Lockstep Actions SWEA65 Comments on Architectural Styles CSE 5810 Architectural Styles Provide Patterns Suppose Designing a New System During Requirements Discovery, Behavior and Structure of System Will Emerge Attempt to Match to Architectural Style Modify, Extend Style as Needed By Choosing Existing Architectural Style Know Advantages and Disadvantages Ability to Focus in on Problem Areas and Bottlenecks Can Adjust Architecture Accordingly Architectures Range from Large Scale to Small Scale in their Applicability We’ll see Examples for BMI Shortly … SWEA66 The Next Big Challenge CSE 5810 Macro-Architectures System of Systems Application of Applications Particularly for HIT and HIE! Involves Two Key Issues Interoperability Heterogeneous Distributed Databases Heterogeneous Distributed Systems Autonomous Applications Scalability Rapid and Continuous Growth Amount of Data Variety of Data Types Different Privacy Levels or Ownerships of Data SWEA67 Interoperability: A Classic View CSE 5810 Local Schema Simple Federation Multiple Nested Federation FDB Global Schema FDB Global Schema 4 Federated Integration Federated Integration Local Schema Local Schema FDB 1 Local Schema Federation FDB3 Federation SWEA68 Database Interoperability in the Internet CSE 5810 Technology Web/HTTP, JDBC/ODBC, CORBA (ORBs + IIOP), XML Architecture Information Broker •Mediator-Based Systems •Agent-Based Systems SWEA69 Connecting a DB to the Web CSE 5810 DBMS CGI Script Invocation or JDBC Invocation Web Server Web Server are Stateless DB Interactions Tend to be Stateful Invoking a CGI Script on Each DB Interaction is Very Expensive, Mainly Due to the Cost of DB Open Internet Browser SWEA70 Connecting More Efficiently CSE 5810 DBMS Helper Processes CGI Script or JDBC Invocation Web Server Internet To Avoid Cost of Opening Database, One can Use Helper Processes that Always Keep Database Open and Outlive Web Connection Newly Invoked CGI Scripts Connect to a Preexisting Helper Process System is Still Stateless Browser SWEA71 DB-Internet Architecture CSE 5810 WWW Client (Netscape) WWW client (Info. Explore) WWW Client (HotJava) Internet HTTP Server DBWeb Gateway DBWeb Gateway DBWeb Gateway DBWeb Dispatcher DBWeb Gateway SWEA72 Biomedical Architectures CSE 5810 Transcend Normal Two, Three, and Four Tier Solutions – Macro-Architecture Emerging Standards FHIR, SMART, open mHealth An Architecture of Architectures! Need to Integrate Systems that are Themselves Multi-Tier and Distributed Need to Resolve Data Ownership Issues State of Connecticut Agencies Don’t Share Competing Hospitals Seek to Protect Market Share T1, T2, and Clinical Research Requires Interoperating Genomic Databases/Supercomputers Integration of De-identified Patient Data from Multiple Sources to Allow Sufficient Study Samples De-identified Data Repositories or Data Marts Dealing with Ownership Issues (DNA Research) SWEA73 Internet and the Web CSE 5810 A Major Opportunity for Business A Global Marketplace Business Across State and Country Boundaries A Way of Extending Services Online Payment vs. VISA, Mastercard A Medium for Creation of New Services Publishers, Travel Agents, Teller, Virtual Yellow Pages, Online Auctions … A Boon for Academia Research Interactions and Collaborations Free Software for Classroom/Research Usage Opportunities for Exploration of Technologies in Student Projects What are Implications for BMI, HIE? SWEA74 WWW: Three Market Segments Server CSE 5810 Business to Business Corporate Network Server Intranet Decision support Mfg.. System monitoring corporate repositories Workgroups Information sharing Ordering info./status Targeted electronic commerce Internet Corporate Server Network Internet Sales Marketing Information Services Provider Network Server Provider Network Exposure to Outside SWEA75 Information Delivery Problems on the Net CSE 5810 Everyone can Publish Information on the Web Independently at Any Time Consequently, there is an Information Explosion Identifying Information Content More Difficult There are too Many Search Engines but too Few Capable of Returning High Quality Data Most Search Engines are Useful for Ad-hoc Searches but Awkward for Tracking Changes What are Information Delivery Issues for BMI? Publishing of Patient Education Materials Publishing of Provider Education Materials How Can Patients/Providers find what Need? How do they Know if its Relevant? Reputable? SWEA76 Example Web Applications CSE 5810 Scenario 1: World Wide Wait A Major Event is Underway and the Latest, Up-tothe Minute Results are Being Posted on the Web You Want to Monitor the Results for this Important Event, so you Fire up your Trusty Web Browser, Pointing at the Result Posting Site, and Wait, and Wait, and Wait … What is the Problem? The Scalability Problems are the Result of a Mismatch Between the Data Access Characteristics of the Application and the Technology Used to Implement the Application May not be Relevant to BMI: Hard to Apply Scenario SWEA77 Example Web Applications CSE 5810 Scenario 2: Many Applications Today have the Need for Tracking Changes in Local and Remote Data Sources and Notifying Changes If Some Condition Over the Data Source(s) is Met To Monitor Changes on Web, You Need to Fire Your Trusty Web Browser from Time to Time, Cache the Most Recent Result, and Difference Manually Each Time You Poll the Data Source(s) Issue: Pure Pull is Not the Answer to All Problems BMI: If a Patient Enters Data that Sets off a Chain Reaction, how Can Provider be Notified and in Turn the Provider Notify the Patient (Bad Health Event) SWEA78 What is the Problem? CSE 5810 Applications are Asymmetric but the Web is Not Computation Centric vs. Information Flow Centric Type of Asymmetry Network Asymmetry Satellite, CATV, Mobile Clients, Etc. Client to Server Ratio Too Many Clients can Swamp Servers Data Volume Mouse and Key Click vs. Content Delivery Update and Information Creation Clients Need to be Informed or Must Poll Clearly, for BMI, Simple Web Environment/Browser is Not Sufficient – No Auto-Notification FHIR and moving to Mobile Dominated World SWEA79 What are Information Delivery Styles? CSE 5810 Pull-Based System Transfer of Data from Server to Client is Initiated by a Client Pull Clients Determine when to Get Information Potential for Information to be Old Unless Client Periodically Pulls Push-Based System Transfer of Data from Server to Client is Initiated by a Server Push Clients may get Overloaded if Push is Too Frequent Hybrid Pull and Push Combined Pull First and then Push Continually SWEA80 Publish/Subscribe CSE 5810 Semantics: Servers Publish/Clients Subscribe Servers Publish Information Online Clients Subscribe to the Information of Interest (Subscription-based Information Delivery) Data Flow is Initiated by the Data Sources (Servers) and is Aperiodic Danger: Subscriptions can Lead to Other Unwanted Subscriptions Applications Unicast: Database Triggers and Active Databases 1-to-n: Online News Groups May work for Clinical Researcher to Provider Push SWEA81 Design Options for Nodes CSE 5810 Three Types of Nodes: Data Sources Provide Base Data which is to be Disseminated Clients Who are the Net Consumers of the Information Information Brokers Acquire Information from Other Data Sources, Add Value to that Information and then Distribute this Information to Other Consumers By Creating a Hierarchy of Brokers, Information Delivery can be Tailored to the Need of Many Users Brokers may be Ideal Intermediaries for BMI! Act on Behalf of Patients, Providers Incorporate Secure Access SWEA82 Research Challenges CSE 5810 Ubiquitous/Pervasive Many computers and information appliances everywhere, networked together Inherent Complexity: Coping with Latency (Sometimes Unpredictable) Failure Detection and Recovery (Partial Failure) Concurrency, Load Balancing, Availability, Scale Service Partitioning Ordering of Distributed Events “Accidental” Complexity: Heterogeneity: Beyond the Local Case: Platform, Protocol, Plus All Local Heterogeneity in Spades. Autonomy: Change and Evolve Autonomously Tool Deficiencies: Language Support (Sockets,rpc), Debugging, Etc. SWEA83 Infosphere Problem: too many sources,too much information CSE 5810 Internet: Information Jungle Infopipes Clean, Reliable, Timely Information, Anywhere Digital Earth Personalized Filtering & Info. Delivery Sensors SWEA84 Current State-of-Art CSE 5810 Web Server Mainframe Database Server Thin Client SWEA85 Infosphere Scenario – for BMI CSE 5810 Infotaps & Fat Clients Sensors Variety of Servers Many sources Database Server SWEA86 Heterogeneity and Autonomy CSE 5810 Heterogeneity: How Much can we Really Integrate? Syntactic Integration Different Formats and Models Web/SQL Query Languages Semantic Interoperability Basic Research on Ontology, Etc Autonomy No Central DBA on the Net Independent Evolution of Schema and Content Interoperation is Voluntary Interface Technology (Support for Isvs) DCOM: Microsoft Standard CORBA, Etc... SWEA87 Security and Data Quality CSE 5810 Security System Security in the Broad Sense Attacks: Penetrations, Denial of Service System (and Information) Survivability Security Fault Tolerance Replication for Performance, Availability, and Survivability Data Quality Web Data Quality Problems Local Updates with Global Effects Unchecked Redundancy (Mutual Copying) Registration of Unchecked Information Spam on the Rise SWEA88 Data Warehousing and Data Mining CSE 5810 Data Warehousing Provide Access to Data for Complex Analysis, Knowledge Discovery, and Decision Making Underlying Infrastructure in Support of Mining Provides Means to Interact with Multiple DBs OLAP (on-Line Analytical Processing) vs. OLTP Data Mining – Role in BMI and Healthcare? Discovery of Information in a Vast Data Sets Search for Patterns and Common Features based Discover Information not Previously Known Medical Records Accessible Nationwide Research/Discover Cures for Rare Diseases Relies on Knowledge Discovery in DBs (KDD) SWEA89 Data Warehousing and OLAP CSE 5810 A Data Warehouse Database is Maintained Separately from an Operational Database “A Subject-Oriented, Integrated, Time-Variant, and Non-Volatile Collection of Data in Support for Management’s Decision Making Process [W.H.Inmon]” OLAP (on-Line Analytical Processing) Analysis of Complex Data in the Warehouse Attempt to Attain “Value” through Analysis Relies on Trained and Adept Skilled Knowledge Workers who Discover Information Data Mart Organized Data for a Subset of an Organization Establish De-Identified Marts for BMI Research SWEA90 Building a Data Warehouse CSE 5810 Option 1 Leverage Existing Repositories Collate and Collect May Not Capture All Relevant Data Option 2 Start from Scratch Utilize Underlying Corporate Data Corporate data warehouse Option 1: Consolidate Data Marts Option 2: Build from scratch Data Mart ... Data Mart Data Mart Data Mart Corporate data SWEA91 BMI – Partition/Excerpt Data Warehouse CSE 5810 Clinical and Epidemiological Research (and for T2 and T1) Each Study Submitted to Institutional Review Board (IRB) For Human Subjects (Assess Risks, Protect Privacy) See: http://resadm.uchc.edu/hspo/irb/ To Satisfy IRB (and Privacy, Security, etc.), Reverse Process to Create a Data Mart for each Approved Study Export/Excerpt Study Data from Warehouse May be Single or Multiple Sources BMI data warehouse Data Mart ... Data Mart Data Mart Data Mart SWEA92 Data Warehouse Characteristics CSE 5810 Utilizes a “Multi-Dimensional” Data Model Warehouse Comprised of Store of Integrated Data from Multiple Sources Processed into Multi-Dimensional Model Warehouse Supports of Times Series and Trend Analysis “Super-Excel” Integrated with DB Technologies Data is Less Volatile than Regular DB Doesn’t Dramatically Change Over Time Updates at Regular Intervals Specific Refresh Policy Regarding Some Data SWEA93 Three Tier Architecture CSE 5810 monitor External data sources OLAP Server integrator Summarization report Operational databases Extraxt Transform Load Refresh serve Data Warehouse Query report Data mining metadata Data marts SWEA94 Data Warehouse Design CSE 5810 Most of Data Warehouses use a Start Schema to Represent Multi-Dimensional Data Model Each Dimension is Represented by a Dimension Table that Provides its Multidimensional Coordinates and Stores Measures for those Coordinates A Fact Table Connects All Dimension Tables with a Multiple Join Each Tuple in Fact Table Represents the Content of One Dimension Each Tuple in the Fact Table Consists of a Pointer to Each of the Dimensional Tables Links Between the Fact Table and the Dimensional Tables for a Shape Like a Star SWEA95 What is a Multi-Dimensional Data Cube? CSE 5810 Representation of Information in Two or More Dimensions Typical Two-Dimensional - Spreadsheet In Practice, to Track Trends or Conduct Analysis, Three or More Dimensions are Useful For BMI – Axes for Diagnosis, Drug, Subject Age SWEA96 Multi-Dimensional Schemas CSE 5810 Supporting Multi-Dimensional Schemas Requires Two Types of Tables: Dimension Table: Tuples of Attributes for Each Dimension Fact Table: Measured/Observed Variables with Pointers into Dimension Table Star Schema Characterizes Data Cubes by having a Single Fact Table for Each Dimension Snowflake Schema Dimension Tables from Star Schema are Organized into Hierarchy via Normalization Both Represent Storage Structures for Cubes SWEA97 Example of Star Schema CSE 5810 Product Date Date Month Year Sale Fact Table Date ProductNo ProdName ProdDesc Categoryu Product Store Customer Unit_Sales Store StoreID City State Country Region Dollar_Sales Customer CustID CustName CustCity CustCountry SWEA98 Example of Star Schema for BMI CSE 5810 Vitals Date Date Month Year Patient Fact Table Visit Date BP Temp Resp HR (Pulse) Vitals Symptoms Patient Medications Symptoms Pulmonary Heart Mus-Skel Skin Digestive Etc. Patient PatientID PatientName PatientCity PatientCountry Reference another Star Schema for all Meds SWEA99 A Second Example of Star Schema … CSE 5810 SWEA100 and Corresponding Snowflake Schema CSE 5810 SWEA101 Data Warehouse Issues CSE 5810 Data Acquisition Extraction from Heterogeneous Sources Reformatted into Warehouse Context - Names, Meanings, Data Domains Must be Consistent Data Cleaning for Validity and Quality is the Data as Expected w.r.t. Content? Value? Transition of Data into Data Model of Warehouse Loading of Data into the Warehouse Other Issues Include: How Current is the Data? Frequency of Update? Availability of Warehouse? Dependencies of Data? Distribution, Replication, and Partitioning Needs? Loading Time (Clean, Format, Copy, Transmit, Index Creation, etc.)? For CTSA – Data Ownership (Competing Hosps). SWEA102 Knowledge Discovery CSE 5810 Data Warehousing Requires Knowledge Discovery to Organize/Extract Information Meaningfully Knowledge Discovery Technology to Extract Interesting Knowledge (Rules, Patterns, Regularities, Constraints) from a Vast Data Set Process of Non-trivial Extraction of Implicit, Previously Unknown, and Potentially Useful Information from Large Collection of Data Data Mining A Critical Step in the Knowledge Discovery Process Extracts Implicit Information from Large Data Set SWEA103 Steps in a KDD Process CSE 5810 Learning the Application Domain (goals) Gathering and Integrating Data Data Cleaning Data Integration Data Transformation/Consolidation Data Mining Choosing the Mining Method(s) and Algorithm(s) Mining: Search for Patterns or Rules of Interest Analysis and Evaluation of the Mining Results Use of Discovered Knowledge in Decision Making Important Caveats This is Not an Automated Process! Requires Significant Human Interaction! SWEA104 OLAP Strategies CSE 5810 OLAP Strategies Roll-Up: Summarization of Data Drill-Down: from the General to Specific (Details) Pivot: Cross Tabulate the Data Cubes Slide and Dice: Projection Operations Across Dimensions Sorting: Ordering Result Sets Selection: Access by Value or Value Range Implementation Issues Persistent with Infrequent Updates (Loading) Optimization for Performance on Queries is More Complex - Across Multi-Dimensional Cubes Recovery Less Critical - Mostly Read Only Temporal Aspects of Data (Versions) Important SWEA105 On-Line Analytical Processing CSE 5810 Data Cube A Multidimensonal Array Each Attribute is a Dimension In Example Below, the Data Must be Interpreted so that it Can be Aggregated by Region/Product/Date Product Product Store Date Sale acron Rolla,MO 7/3/99 325.24 budwiser LA,CA 5/22/99 833.92 large pants NY,NY 2/12/99 771.24 Pants Diapers Beer Nuts West East 3’ diaper Cuba,MO 7/30/99 81.99 Region Central Mountain South Jan Feb March April Date SWEA106 On-Line Analytical Processing CSE 5810 For BMI – Imagine a Data Table with Patient Data Define Axis Summarize Data Create Perspective to Match Research Goal Essentially De-identified Data Mart Medication Patient Med BirthDat Dosage Steve Lipitor 1/1/45 10mg John Zocor 2/2/55 Harry Crestor 3/3/65 5mg Lois Lipitor 4/4/66 20mg Charles Crestor 7/1/59 Lescol Crestor Zocor Lipitor 80mg 10mg 5 10 Dosage 20 40 80 1940s 1950s 1960s 1970s Decade SWEA107 Examples of Data Mining CSE 5810 The Slicing Action A Vertical or Horizontal Slice Across Entire Cube Months Slice on city Atlanta Products Sales Products Sales Months Multi-Dimensional Data Cube SWEA108 Examples of Data Mining CSE 5810 The Dicing Action A Slide First Identifies on Dimension A Selection of Any Cube within the Slice which Essentially Constrains All Three Dimensions Months Products Sales Products Sales Months March 2000 Electronics Atlanta Dice on Electronics and Atlanta SWEA109 Examples of Data Mining Drill Down - Takes a Facet (e.g., Q1) and Decomposes into Finer Detail Jan Feb March Products Sales CSE 5810 Drill down on Q1 Roll Up on Location (State, USA) Roll Up: Combines Multiple Dimensions From Individual Cities to State Q1 Q2 Q3 Q4 Products Sales Products Sales Q1 Q2 Q3 Q4 SWEA110 Mining Other Types of Data CSE 5810 Analysis and Access Dramatically More Complicated! Time Series Data for Glucose, BP, Peak Flow, etc. Spatial databases Multimedia databases World Wide Web Time series data Geographical and Satellite Data SWEA111 Advantages/Objectives of Data Mining CSE 5810 Descriptive Mining Discover and Describe General Properties 60% People who buy Beer on Friday also have Bought Nuts or Chips in the Past Three Months Predictive Mining Infer Interesting Properties based on Available Data People who Buy Beer on Friday usually also Buy Nuts or Chips Result of Mining Order from Chaos Mining Large Data Sets in Multiple Dimensions Allows Businesses, Individuals, etc. to Learn about Trends, Behavior, etc. Impact on Marketing Strateg SWEA112 Data Mining Methods (1) CSE 5810 Association Discover the Frequency of Items Occurring Together in a Transaction or an Event Example 80% Customers who Buy Milk also Buy Bread Hence - Bread and Milk Adjacent in Supermarket 50% of Customers Forget to Buy Milk/Soda/Drinks Hence - Available at Register Prediction Predicts Some Unknown or Missing Information based on Available Data Example Forecast Sale Value of Electronic Products for Next Quarter via Available Data from Past Three Quarters SWEA113 Association Rules CSE 5810 Motivated by Market Analysis Rules of the Form Item1^Item2^…^ ItemkItemk+1 ^ … ^ Itemn Example “Beer ^ Soft Drink Pop Corn” Problem: Discovering All Interesting Association Rules in a Large Database is Difficult! Issues Interestingness Completeness Efficiency Basic Measurement for Association Rules Support of the Rule Confidence of the Rule SWEA114 Data Mining Methods (2) CSE 5810 Classification Determine the Class or Category of an Object based on its Properties Example Classify Companies based on the Final Sale Results in the Past Quarter Clustering Organize a Set of Multi-dimensional Data Objects in Groups to Minimize Inter-group Similarity is and Maximize Intra-group Similarity Example Group Crime Locations to Find Distribution Patterns SWEA115 Classification CSE 5810 Two Stages Learning Stage: Construction of a Classification Function or Model Classification Stage: Predication of Classes of Objects Using the Function or Model Tools for Classification Decision Tree Bayesian Network Neural Network Regression Problem Given a Set of Objects whose Classes are Known (Training Set), Derive a Classification Model which can Correctly Classify Future Objects SWEA116 An Example CSE 5810 Attributes Attribute Possible Values outlook sunny, overcast, rain temperature continuous humidity continuous windy true, false Class Attribute - Play/Don’t Play the Game Training Set Values that Set the Condition for the Classification What are the Pattern Below? Outlook Temperature Humidity sunny 85 85 overcast 83 78 sunny 80 90 sunny 72 95 sunny 72 70 … … … Windy false false true false false … Play No Yes No No Yes ... SWEA117 Data Mining Methods (3) CSE 5810 Summarization Characterization (Summarization) of General Features of Objects in the Target Class Example Characterize People’s Buying Patterns on the Weekend Potential Impact on “Sale Items” & “When Sales Start” Department Stores with Bonus Coupons Discrimination Comparison of General Features of Objects Between a Target Class and a Contrasting Class Example Comparing Students in Engineering and in Art Attempt to Arrive at Commonalities/Differences SWEA118 Summarization Technique CSE 5810 Attribute-Oriented Induction Generalization using Concert hierarchy (Taxonomy) barcode category 14998 milk brand diaryland content size Skim 2L food 12998 mechanical MotorCraft valve 23a 12in … … … … ... Milk … Skim milk … 2% milk Category milk milk … Content Count skim 2% … 280 98 ... bread White whole bread … wheat Lucern … Dairyland Wonder … Safeway SWEA119 Why is Data Mining Popular? CSE 5810 Technology Push Technology for Collecting Large Quantity of Data Bar Code, Scanners, Satellites, Cameras Technology for Storing Large Collection of Data Databases, Data Warehouses Variety of Data Repositories, such as Virtual Worlds, Digital Media, World Wide Web Corporations want to Improve Direct Marketing and Promotions - Driving Technology Advances Targeted Marketing by Age, Region, Income, etc. Exploiting User Preferences/Customized Shopping What is Potential for BMI? How do you see Data Mining Utilized? What are Key Issues to Worry About? SWEA120 Requirements & Challenges in Data Mining CSE 5810 Security and Social What Information is Available to Mine? Preferences via Store Cards/Web Purchases What is Your Comfort Level with Trends? User Interfaces and Visualization What Tools Must be Provided for End Users of Data Mining Systems? How are Results for Multi-Dimensional Data Displayed? Performance Guarantees Range from Real-Time for Some Queries to LongTerm for Other Queries Data Sources of Complex Data Types or Unstructured Data - Ability to Format, Clean, and Load Data Sets SWEA121 CSE 5810 An Initiative of the University of Connecticut Center for Public Health and Health Policy Robert H. Aseltine, Jr., Ph.D. Cal Collins January 16, 2008 SWEA122 What is CHIN? CSE 5810 State of Connecticut Agencies Collect and Maintain Data in Separate Databases such as: Vital Statistics: Birth, Death (DPH) Surveillance data: Lead Screening and Immunization Registries (DPH) Administrative services: LINK system (DCF), CAMRIS (DMR) Benefit programs: WIC (DPH), Medicaid (DSS) Educational achievement: (PSIS) Such Data is Un-Integrated Impossible to Track Assess Target Populations Difficult to Develop Evidence-Based Practices Limits Meaningful Interactions Among State Agencies SWEA123 What Do We Mean by “Integration?” UCONN Health Center Low Birth Weight Infant Registry Dept. of Mental Retardation Birth to Three System CT Dept. of Education PSIS System CSE 5810 Last Name First Name DOB SSN Birth Wt. (kg) Last Name First Name DOB Street Town Appel April 01/01/1 999 016-000-9876 2.8 Allen Gwen 01/01/19 99 Apple Enfie Berry John 02/02/1 997 216-000-4576 2.9 Buck Jerome 07/01/19 99 Burbank West Carat Colleen 03/03/1 993 119-000-1234 1.9 Cleary Jane 03/03/19 93 Cedar Tolla Ernst Max 04/04/1 994 116-000-3456 2.7 Dory Daniel 03/03/19 93 Dogfish Hartf Gomez Gloria 05/05/1 995 036-000-9999 2.6 Ernst Max 04/04/19 94 Elm Enfie Hurst William 06/06/1 996 016-000-5599 3.1 Friday Joe 11/03/19 99 Fruit Wind Keller Helene 07/07/1 997 017-000-2340 2.5 Glenn Valerie 03/23/19 98 Glen Branf Pedro 08/08/1 998 018-000-9886 Martinez Pedro 08/08/19 98 High Hartf Felix 09/09/1 999 029-000-9111 Riley Lily 03/03/19 96 Ipswich Bridg Sanchez Ramon New Peggy 016-000-8787 03/03/19 93 Juniper 10/10/2 000 Martinez Rodriguez Smith 3.0 2.8 2.5 Last Name First Name CMT Math Polio Vac Date Days in Attendance Appel April 134 01/05/ 1999 179 Carat Colleen 256 05/01/ 1998 122 Cleary Jane 268 01/28/ 2000 178 Ernst Max 152 01/09/ 1999 145 Gomez Gloria 289 01/01/ 1999 168 Friday Joe 265 10/01/ 1999 170 Keller Helene 309 11/01/ 2001 180 Martinez Pedro 248 12/01/ 2003 180 Riley Lily 201 01/01/ 1999 122 Sanchez Ramon 249 01/01/ 1999 159 Last Name First Name DOB SSN Birth Wt. Street Town CMT Math Grade 3 Polio Vaccination Date Days in Attendance Ernst Max 04/04/1994 116-000-3456 2.7 Elm Enfield 152 01/09/1999 145 Martinez Pedro 08/08/1998 018-000-9886 3.0 High Hartford 248 12/01/2003 180 SWEA124 Key Challenges to Integrating Data CSE 5810 Security and Privacy HIPAA FERPA WIC, Social Security (Medicaid/Medicare) regulations State statutes Alteration/disruption of business practices Unique identification of individuals/cases Accuracy and reliability of data Disparate hardware/software platforms SWEA125 Key Challenges to Integrating Data CSE 5810 Security and Privacy HIPAA FERPA WIC, Social Security (Medicaid/Medicare) regulations State statutes Alteration/disruption of business practices Unique identification of individuals/cases Accuracy and reliability of data Disparate hardware/software platforms SWEA126 The Solution: CHIN CSE 5810 Connecticut Health Information Network A Federated Network That: Allows Shared Access to “Health”-related Data From Heterogeneous Databases Allows Agencies to Retain Complete Control Over Access to Data Has Minimal Impact on Business Practices Complies with Security and Privacy Statutes Incorporates Cutting-edge Approaches to Case Matching Partnership of: Early Partners: DPH, DCF, DDS, DoE, DOIT, UConn, Akaza Research SWEA127 Current CHIN Architecture CSE 5810 SWEA128 Path – Modular Data Integration CSE 5810 Produce relational, record-level datasets by merging data from multiple agencies to support research into health, education, and social services, licensing De-identify or anonymize that data to the level necessary for a particular application Utilized internally within an agency to integrate data that does not need to be anonymized. Supports Integraiton with legacy systems that hold data in incompatible formats http://www.publichealth.uconn.edu/pathproduct.html SWEA129 Path – Capabilities CSE 5810 integrates data from diverse sources that may or may not share a universal record identifier handles data in a HIPAA and FERPA compliant manner utilizes a highly secure architecture maintains the autonomy of agency data - exposure, location, and schema provides an extremely easy to learn and flexible user interface requires no changes to agency database schemas needs minimal upgrade to departmental computer hardware and software once installed, it can quickly and efficiently produce integrated datasets SWEA130 Concluding Remarks CSE 5810 Only Scratched Surface on Architectures Micro Architectures Macro Architectures Super-Macro Architectures (We’ll see …) What’s are Key Facets in the Discussion? Role and Impact of Standards Open Solutions Architectural Variants – Reuse “Architecture” Can we Reuse CHIN for Clinical Practice? Are All Contributors Simply Each Hospital and EHR? How do we Connect all of the Pieces? What are Next Steps? Let’s Review Some other Work Source: Wide Range of Presentations on Web SWEA131