© R. A. LaMora 2004 Towards an Open-Architecture, [sort-of] Open-Source Software System for Modern Hospitals Andrew LaMora Surgery for Engineers 2004 A.

Slides:



Advertisements
Similar presentations
COM vs. CORBA.
Advertisements

1 Introducing Collaboration to Single User Applications A Survey and Analysis of Recent Work by Brian Cornell For Collaborative Systems Fall 2006.
CS 501: Software Engineering Fall 2000 Lecture 16 System Architecture III Distributed Objects.
Ch 12 Distributed Systems Architectures
Fall 2011 Nassau Community College ITE153 – Operating Systems Session 24 NTFS Permissions and Sharing Printers 1.
SM3121 Software Technology Mark Green School of Creative Media.
1 Alternate Title Slide: Presentation Name Goes Here Presenter’s Name Infrastructure Solutions Division Date GIS Perfct Ltd. Autodesk Value Added Reseller.
Course: Introduction to Computers
SERVICE BROKER. SQL Server Service Broker SQL Server Service Broker provides the SQL Server Database Engine native support for messaging and queuing applications.
Slide 1 of 9 Presenting 24x7 Scheduler The art of computer automation Press PageDown key or click to advance.
Client/Server Architectures
Object Oriented Databases by Adam Stevenson. Object Databases Became commercially popular in mid 1990’s Became commercially popular in mid 1990’s You.
Digital Image Processing Lecture3: Introduction to MATLAB.
Microsoft Visual Basic 2012 CHAPTER ONE Introduction to Visual Basic 2012 Programming.
Systemic Issues of Software Confederations Jaroslav Král, Michal Žemlička Charles University, Prague
 2008 Pearson Education, Inc. All rights reserved Introduction to Computers, the Internet and World Wide Web.
Chapter 5CSA 217 Design in Construction Chapter 5 1.
ERC Center for Computer Integrated Surgical Systems & Technology1 A Review of Two Robot Control Language Papers to Define our Scope Presented by: Andy.
Silberschatz, Galvin and Gagne ©2009 Operating System Concepts – 8 th Edition, Chapter 2: System Structures.
This presentation is the property of Paradigm Information Systems It is confidential to the intended recipient for the purpose of evaluating FMS Any other.
Liang, Introduction to Java Programming, Sixth Edition, (c) 2007 Pearson Education, Inc. All rights reserved Programming Languages Machine.
COM vs. CORBA Computer Science at Azusa Pacific University September 19, 2015 Azusa Pacific University, Azusa, CA 91702, Tel: (800) Department.
Uniting Cultures, Technology & Applications A Case Study University of New Hampshire.
Windows Presentation Foundation. Goal The goal of Windows Presentation Foundation (WPF) is to provide these advances for Windows. Included in version.
Fundamentals of Database Chapter 7 Database Technologies.
Computing Fundamentals Module Lesson 19 — Using Technology to Solve Problems Computer Literacy BASICS.
The IRE Project Interactive Robot Environment Spring 2004.
Chapter 4 System Software. Software Programs that tell a computer what to do and how to do it. Sets of instructions telling computers to perform actions.
Introduction of Geoprocessing Topic 7a 4/10/2007.
1 Computer Programming (ECGD2102 ) Using MATLAB Instructor: Eng. Eman Al.Swaity Lecture (1): Introduction.
OPERATING SYSTEMS Goals of the course Definitions of operating systems Operating system goals What is not an operating system Computer architecture O/S.
Archivists' Toolkit - CDL Presentation, October 17, 2005 The Archivists’ Toolkit Lee Mandell Brad Westbrook.
2005 Epocrates, Inc. All rights reserved. Integrating XML with legacy relational data for publishing on handheld devices David A. Lee Senior member of.
Lead Black Slide. © 2001 Business & Information Systems 2/e2 Chapter 5 Information System Software.
PVSSProxy The first piece of the MACS procedure framework (ProShell) Angela Brett.
STIEL/IPS, Inc. Presents © STIEL/IPS, Inc.. STIEL/IPS, Inc.  Founded as an MIS Consulting Company.  Offered Custom Programming Solutions.
CHAPTER TWO INTRODUCTION TO VISUAL BASIC © Prepared By: Razif Razali 1.
February 6-8, 2006[Joint Techs] Albuquerque, NM Performance Tool Development: NLANR Network Performance Advisor J. W. Ferguson NCSA.
CITA 342 Section 2 Visual Programming. Allows the use of visual expressions (such as graphics, drawings, or animation) in the process of programming.
S imple O bject A ccess P rotocol Karthikeyan Chandrasekaran & Nandakumar Padmanabhan.
SFTW241 Programming Languages Architecture I University of Macau Faculty of Science and Technology Computer and Information Science Year2 Class A Group.
© 2013, published by Flat World Knowledge Chapter 10 Understanding Software: A Primer for Managers 10-1.
Introduction to OOP CPS235: Introduction.
INFORMATION SYSTEM – SOFTWARE TOPIC: GRAPHICAL USER INTERFACE.
Chapter 1 Basic Concepts of Operating Systems Introduction Software A program is a sequence of instructions that enables the computer to carry.
SPI NIGHTLIES Alex Hodgkins. SPI nightlies  Build and test various software projects each night  Provide a nightlies summary page that displays all.
The Development Process Compilation. Compilation - Dr. Craig A. Struble 2 Programming Process Problem Solving Phase We will spend significant time on.
Getting ready. Why C? Design Features – Efficiency (C programs tend to be compact and to run quickly.) – Portability (C programs written on one system.
Introduction of Geoprocessing Lecture 9 3/24/2008.
TEAM FOUNDATION VERSION CONTROL AN OVERVIEW AND WALKTHROUGH By: Michael Mallar.
Submitted by: Moran Mishan. Instructed by: Osnat (Ossi) Mokryn, Dr.
Troubleshooting Windows Vista Lesson 11. Skills Matrix Technology SkillObjective DomainObjective # Troubleshooting Installation and Startup Issues Troubleshoot.
Your Interactive Guide to the Digital World Discovering Computers 2012 Chapter 13 Computer Programs and Programming Languages.
Tools and technology usage in PFMS application lifecycle management process LEPL Financial-Analytical Service, Ministry of Finance October, 2015 Dimitri.
INTRO. To I.T Razan N. AlShihabi
Python Programming Unit -1.
CST 1101 Problem Solving Using Computers
Obtaining the Required Tools
GUI Design and Coding PPT By :Dr. R. Mall.
System Programming and administration
Introduction to System Administration
Introduction to System Administration
Database Management System (DBMS)
Dev Test on Windows Azure Solution in a Box
CIS16 Application Development Programming with Visual Basic
CIS16 Application Development – Programming with Visual Basic
Digital Image Processing
Computer Literacy BASICS
OU BATTLECARD: Oracle Systems Learning Subscription
Presentation transcript:

© R. A. LaMora 2004 Towards an Open-Architecture, [sort-of] Open-Source Software System for Modern Hospitals Andrew LaMora Surgery for Engineers 2004 A Crazy Idea:

© R. A. LaMora 2004 Hospital Care: “THE” Problem Much (most?) error is due to “system” failure System: (my definition) The body of procedures employed by humans and computers in cooperation that minimizes error and maximizes expected results for a patient, from check-in to check-out. Some System Pressure (and Failure) Points: Patients under management Administration of prescription drugs Distinctions in surgical preparation Measure of success: how well/poorly a system reacts to load and complexity pressure against it.

© R. A. LaMora 2004 … and System Pressure is Increasing: More patients More doctors More specialties requiring specialized equipment –Additional procedures performed via MIS –Additional tools added to MIS suites Advances in wireless –Patient/Doctor Proximity devices –PDAs Advances in Automation/AI –Nursebot ‘Pearl’

© R. A. LaMora 2004 Reasons for Failure: Unnecessary Pressure from Current Systems Design Decentralized Administration Disparate Technologies Isolated Vendors (non-cooperative) Vague Maintenance Ownership “who’s calling Oracle???” “Rube-Goldberg” effect between humans and computer systems

© R. A. LaMora 2004 For Instance… Billing PharmacyRadiology Payroll File Server Oracle Microsoft Informix White Plains PeopleSoft

© R. A. LaMora 2004 For Instance… Billing PharmacyRadiology Payroll File Server Where does the PDA go?

© R. A. LaMora 2004 For Instance… Billing PharmacyRadiology Payroll File Server On its own convenient system, of course!

© R. A. LaMora 2004 How do you add ‘Pearl’? NurseBot Pearl (CMU Robotics Institute)

© R. A. LaMora 2004 A Solution “Open Agreements Openly Arrived At” - Woodrow Wilson (take 2) Open-Architecture, (mostly) Open-Source Open Architecture: XML CORBA SOAP Open Source: Linux MySql VTK

© R. A. LaMora 2004 Open Source: Benefits Tangible: –Broad programmer base; easy familiarization –Rigorous peer review of code –Nightly update builds –Rigorous automatic testing –Potentially many more developers than would be otherwise affordable –Homogenous software and system needs Intangible: –Collective experience by default –Rich featurization for no extra cost

© R. A. LaMora 2004 Open Architecture: Benefits Tangible: –Broad vendor support –Extensive user-group support –New devices can afford to address the general case –Vendors must provide standard APIs, but are not required to disclose source code –System Blend complexity greatly reduced –Job management greatly simplified

© R. A. LaMora 2004 Benefits of Homogenous Technologies Less error due to apples talking to oranges Less dependence on vendors to provide integration interfaces Elimination of Rube-Goldberg: affordable solutions can be developed in-house Addition of next-generation medical devices greatly simplified Systems may still be easily modified to meet specific technical or procedural needs. SIGNIFICANTLY LESS COST

© R. A. LaMora 2004 This… Billing PharmacyRadiology Payroll File Server On its own convenient system, of course!

© R. A. LaMora 2004 Becomes This: Radiology PharmacyBilling Payroll Closed-source 3 rd party vendors expose functionality via standardized, well-defined APIs

© R. A. LaMora 2004 Closer View: Glue for Integration; beyond shoestring and chewing gum HiPyir Glue: High-level, Python-based Integration Resource What it does: –Provides a “scripting” language overlay to compiled code via “wrappers” provided by the vendor –Provides an extremely powerful, object orientated, natively networked programming language to write both new programs and systems integration code. How do you bring so many systems together?

© R. A. LaMora 2004 Microscopic View: IRE C++ Robot Control LibraryC++ Numerical LibraryC++ Vector/Matrix Libraries MFC Windows Application (Including Edit boxes, Dialog boxes, buttons, etc) How a typical ERC/CISST robot application may appear today… No scripting! No Command Line Interaction!

© R. A. LaMora 2004 IRE: Implementation C++ Robot Control LibraryC++ Numerical LibraryC++ Vector/Matrix Libraries MFC Windows Application (Including Edit boxes, Dialog boxes, buttons, etc) …and how it would appear with IRE We can script whole programs! We can interact with running MFC applications at the command line! And we might be able to do other things too. SWIG Class Wrapper Python Workspace SWIG Class Wrapper Object Registry

© R. A. LaMora 2004 Take-Home Message Open architecture paradigms provide clear instructions and designs for multi-modal systems integration Open source programs are now as stabile and capable as commercial applications, and are subject to rigorous testing Most of the needs of the modern hospital can be solved better with open source solutions than the current methods If coupled with a well designed integration environment, the open solutions together still permit vendors to protect key source code, but simplify integration, maintenance, and development.

© R. A. LaMora 2004 Questions?