© 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?