1 / 79

Reading for Fun – Official History

Reading for Fun – Official History. VistA*/U.S. Department of Veterans Affairs national-scale HIS Steven H. Brown, Michael J. Lincoln, Peter J. Groen , Robert M. Kolodner International Journal of Medical Informatics 69 (2003) 135/156 VistA Document Library (VDL) www4.va.gov/vdl.

elmer
Download Presentation

Reading for Fun – Official History

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Reading for Fun – Official History • VistA*/U.S. Department of Veterans Affairs national-scale HIS • Steven H. Brown, Michael J. Lincoln, Peter J. Groen, Robert M. Kolodner • International Journal of Medical Informatics 69 (2003) 135/156 • VistA Document Library (VDL) • www4.va.gov/vdl

  2. The VA Data Lifecycle - Internals, Data Flows, and Business Intelligence (With Pharmacy Additions) Richard Pham, PharmD Enterprise Architect OI&T Corporate Data Warehouse – Architecture Richard.Pham@va.gov

  3. The Health Care System Is MUCH MORE COMPLICATED Than Other Business Processes (~7% of VistA)

  4. Each Process Is A World Unto Itself

  5. DHCP/VistA/CPRS • VistA – Veterans Health Information Systems and Technology Architecture - Refers both to the architecture and the database which the architecture supports • DHCP - Decentralized Hospital Computer Program – The DOS (Unix-like) system where many of VistA’s non-clinical entries take place • CPRS - Computerized Provider Record System – A user-friendly GUI providing access to clinical order entry functions

  6. Objectives • The main objective is to understand the data lifecycle of VA’s VistA/CPRS and the user experience of VistA/CPRS • A high-level overview of VistA Internals • Learn about data structures and outputs in VistA • Learn where data enters and travels throughout the VA • Try to make sense of data resources within the VA and how they are accessed

  7. The VA Data Lifecycle

  8. The VA Data Lifecycle

  9. Core Patient Care Functionality • VistA is first and foremost an Electronic Medical Record. The architecture design supports veteran health care.

  10. Core Patient Care Functionality • VistA Internals • DHCP • CPRS

  11. VistA Internals 101 • MUMPS • Server and Operating System • Kernel • “Three Wise Men (Managers)” • TaskMan • MailMan • FileMan • Modules

  12. Massachusetts General Hospital Utility Multi-Programming System (MUMPS or M) • My definition in English: M is a programming language designed for hierarchical databases that is convenient for medical applications or anything else where speed and data storage upkeep are a problem and programmer intelligence/organization is not • My technical definition: M is a Turing-complete, low and high-level, imperative, machine-compiled (no longer interpreted) programming language utilizing a hierarchical global array file structure • Used commonly in healthcare and financial industry settings

  13. Structure of The Veterans Administration Data Efforts (Late 1970s) VHA Ancestor Department of Medicine and Surgery (DMAS) OI&T Ancestor Office of Data Management & Telecommunications (ODM&T) VHA-OI Ancestor Computer Assisted System Staff (CASS)

  14. Comparing The Two Offices CASS ODM&T • Decentralized design philosophy • Rapid, agile development • SME-involved development • Centralized design philosophy • Bureaucratic, process-focused development • Development without SME’s

  15. Highlights of ODM&T Development • Took 6 years to deploy APPLES Pharmacy at 10 sites • A 1980 paper detailing ODM&T’s transactional patient treatment file (PTF) system promised an interactive national solution by 1990. • Navigating the mandated 17 steps between system specification and deployment alone is said to have required at least 3 years.

  16. Beginnings of DHCP • There were subject matter experts that believed that they could put out useful applications faster than the ODM&T sloth • Development of the testing and principles was done unofficially throughout the late 1970s • The Second

  17. Original DHCP Design Principles • A commitment to rapid prototype development • All use ANSI MUMPS • Modular Design • Actively Maintained Data Dictionary • Code Sharing/Portability • Involve the SME’s

  18. DHCP Kernel • Functions as both an operating system for VistA applications and an M virtual machine • Kernel shields DHCP modules from needing to know hardware and OS configurations on the server • Isolates M to the ANSI standard (1995) • Provides a toolbox of standard functions for most programmers

  19. VistA to Relational Database Terminology

  20. MUMPS Classic Database • One Data Type • String (Text) • Other types • Cardinal Numbers • Float Numbers • $H Dates • One Data Storage Type • Multidimensional Array aka Globals • Dynamic (duck) typing

  21. VistA Data Organization • Namespace • File • Field • Record • 654 (VAMC Reno) • File 120.5 (GMR Vitals) • Field 0.1 (DATE/TIME VITALS TAKEN) • IEN-1, BP, 140/90 • Most Files have an entry at the 0.001 Field called “IEN” or “Internal Entry Number” as an identity key to mark the record as unique

  22. Upside of Using Globals • Faster - No joins • Faster – All parameter pointers built in • Faster – Direct and planned programmatic access to database (Look at SQL execution plans) • Less Data Storage Overhead and faster paging – If the data point does not exist in the array, there does not need to be a fixed point like in relational

  23. Downside of Using Globals • No Intrinsic Structure and No Enforcement* - M believes whatever you put into the globals (most M programmers view this as an advantage while relational programmers have an MI) • ACID-compliance not mandated • (Il)logical data structures guaranteed – There are many interesting* ways that the M programmers modeled the data that does not make sense to later viewers

  24. MUMPS Quirks • Whitespace (Space) matters • Requires knowledge of kernel and sometimes lower-level concepts • Programming Without Type or Structure Enforcement • VA programming standards and conventions

  25. The Three Wise Men (Managers) • TaskMan – The man(anger) that schedules tasks to the kernel • MailMan – The man(anger) that messages between the user, TaskMan, and any other two-way communication between packages • FileMan – The man(anager) that controls internal file (data structure) interactions

  26. TaskMan • TaskMan handles application processing: • Creation of application processing tasks • Scheduling these tasks • Monitoring health/statistics of these tasks • If kernel is the brain, then TaskMan is the body of the operation • If programming, NEVER EVER use the TaskMan global. This subverts TaskMan’s scheduling queue, and can cause a system memory leak. Use the calls instead…

  27. MailMan • VistA needs a way to pass and receive data from the database to other areas • MailMan fulfills this function in the pre-TCP/IP days • “Electronic mail” doesn’t mean just email • Practically any message between the database and anyone else (the end-user, another site, or application, etc.) can be moved this way • Gives programmers methods to both receive and return data to the database

  28. FileMan • A higher-level method to access the VistA database without exposing a programmer interface • Mostly menu-driven • One can use limited programming • Serves as the model for all other modules that interact with the VistA database

  29. ODM&T Initial Action Plan To DHCP Development (1980) • Ordered that development stop • Fired the developers • Removed the hardware • Cut the DMAS budget so it would never happen again…

  30. The official history

  31. Development Goes Underground • Developers that survived the ODM&T purge continued their work as a black project in DMAS • During 1980 and 1981, the survivors (Underground Railroad) continued work on developing modules for system integration

  32. Modules • Modules are programmed to interact with the VistA database • Most use Fileman as a model for programming

  33. Some of the Many Modules Not really in the scope of this presentation to cover each module . Try the VistA Documentation Library: http://www4.va.gov/vdl/ Or VHA eHealth University (VeHU): http://www.vehu.va.gov/

  34. Acceptance and DHCP 1.0 • Once there was a critical mass of packages that were shown to be useful, the tide turned and the project was blessed… • Initial testing done in 1980-83 • 1.0 installation was in 1985 • Most of the underlying packages can still be recognized by the original programmers

  35. Special Topic – The Pharmacy Package (File 50 Series) • Where are the files? • File 50 Series is the main line, though there are other places • How many files are there? - 437 • Look at screen capture on next side for File 50 series. • How many columns? - 3174

  36. How Many File 50 Tables Are There? (1096 – 659 = 437 Tables!!)

  37. How Many File 50 Series Columns Are There? (8526 – 5352 = 3172!!)

  38. Further Information On The Background • For the VA Base M Training • http://vaww.vistau.med.va.gov/VistaU/MTraining/Default.htm • For the VA Programming Standards and Conventions • http://vista.med.va.gov/sacc/ • For the VA Document Library • http://vista.med.va.gov/vdl/

  39. Computerized Patient Record System (CPRS) • A Real-Time Order Checking System that alerts clinicians during the ordering session that a possible problem could exist if the order is processed • A Notification System that immediately alerts clinicians about clinically significant events • A Patient Posting System, displayed on every CPRS screen, that alerts clinicians to issues related specifically to the patient, including crisis notes, warning, adverse reactions, and advance directives • The Clinical Reminder System, which allows caregivers to track and improve preventive health care for patients and ensure timely clinical interventions are initiated • Remote Data View functionality that allows clinicians to view a patient’s medical history from other VA facilities to ensure the clinician has access to all clinically relevant data available at VA facilities • CPRS DOES NOT STORE DATA!!!

  40. CPRS Internals • Written in Embarcadero Delphi (NOT in MUMPS) • Connects from the Graphic User Interface to the VistA database using a Remote Procedure Call (RPC) Broker • This Remote Procedure Call Broker translates instruction sets from other languages into M

  41. Present State of VistA • Large MUMPS database • Over 50+ Main Clinical Packages • Over 10,000 + Tables • Each medical center runs somewhere between 2-4 TB worth of data over 30 years (mostly imaging) • Many processes • 300+ MB of running executable at any given time • Over 20,000 subroutines (VDL) • Many simultaneous users

  42. The VA Data Lifecycle

  43. National Analytic Systems • A list of systems that support policy, planning, and congressional needs • There are more extracts than this, but I have chosen the most common ones…

  44. Systems to Support Planning • Decision Support System (DSS) • Supports accounting and costing for the OIG, GAO, CBO, and other auditing agencies • Allocation Resource Center • Supports personnel and resource allocation at the medical center level • Workload capture, resource allocation • Basis for the VERA (VA’s Fund Control Point) Model

  45. VistA DSS Data Feeds ADM Admissions CLI Clinic Visits DEN Dental ECS Event Capture System IVP Pharmacy: IV LAB Lab LAR Lab Results MOV Patient Movement – Inpatient MTL Mental Health Test NUR Nursing PAS Patient Assessment PRE Pharmacy OP PRO Prosthetics RAD Radiology/Nuclear Med SUR Surgery TRT Patient Treatment Specialty UDP Pharmacy Unit Dose IP May be transmitted by site at any time of the month, ideally around the 25th of the month prior to the processing month.

  46. Systems to Support Research • National Patient Care Database • An integrated set of data that captures a patient’s care encounter with the VA • Corporate Data Warehouse – • A near real-time accumulation of much of the same data • The result of the Health Data Repository process

  47. NPCD Data Flow Diagram VistA MailMan • NPCD data is sent from the facilities to the AAC via MailMan messaging • Once a message reaches the AAC MailMan server, • It automatically moves to the Data Management • Interface System (DMI) Acknowledgement message MailMan Message • NPCD and other applications retrieve their respective • data from DMI for use • Acknowledgement messages are sent to facilities z900 Data extracted & backed up nightly M-F Data extracted by application Austin MailMan Server Data Stream DMI NPCD Acknowledgement message Acknowledgement message Data received in DMI 24x7 HL7 data to Oracle DB

More Related