1 / 23

Open Source EHR Services OSEHRA Architecture Work Group Meeting June 4, 2013

Open Source EHR Services OSEHRA Architecture Work Group Meeting June 4, 2013. Agenda. Refactoring Update Problem List Package Scheduling Appointment Management Menu ADT (Registration Package) Bed Control Menu Immunization Scheduling Supervisor Menu and other future efforts

kenton
Download Presentation

Open Source EHR Services OSEHRA Architecture Work Group Meeting June 4, 2013

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. Open Source EHR ServicesOSEHRA Architecture Work Group MeetingJune 4, 2013

  2. Agenda • Refactoring Update • Problem List Package • Scheduling Appointment Management Menu • ADT (Registration Package) Bed Control Menu • Immunization • Scheduling Supervisor Menu and other future efforts • Automated Testing Update • Roll and Scroll Recorder (RASR) • Eclipse M IDE

  3. Problem List Package • Refactored code submitted to Technical Journal last year and has since been updated multiple times • Improved API • Code reuse and good practices • Problem List package modularity • Recent Changes • Additional testing and bug fixes • Regression tests (both functional and MUnit) • Documentation, packaging, and code updates based on feedback from OSEHRA team • Next Steps • Fixes for all the remaining, and any new, issues for certification • Update after ICD-10 changes • VA testing and acceptance after certification

  4. Scheduling Appointment Management Menu • Refactored code submitted to Technical Journal last summer and has since been updated multiple times • Expose core actions in Appointment Management Menu through APIs • Make appointment, Check-in, Check-out, Cancel • Electronic Wait List • Code reuse and good practices • Recent Changes • Additional testing and bug fixes • Regression tests (both functional and MUnit) • Documentation, packaging, and code updates based on OSEHRA feedback • Currently in queue for OSEHRA certification (no anticipated timeline for certification completion) • Next • Additional testing and fixes for any new issues • Should be helpful to groups participating in VA’s 21 CMS Scheduling contest • Use after contest will be based on VA direction

  5. ADT (Registration) Bed Control Menu • Refactored code submitted to Technical Journal in March 2013 • http://code.osehra.org/journal/browse/publication/35 • Expose functionality in ADT Bed Control Menu through APIs • Admit Patient, Transfer Patient, Discharge Patient, Check-in Lodger • List of wards, List of beds, List of active providers • Vocabulary such as Admission type, Transfer type, Discharge type • Should be adequate for a presentation layer • Next • Second round of testing and documentation review • Receive OSEHRA certification

  6. Immunization Investigation • Immunization in VistA • Within Patient Care Encounter Package • Multipledata entry screens • Immunization in RPMS (IHS) • Polished application complete with APIs • Applies to whole population (infants, children, adults) • Decision support (through third party software) • Meaningful Use ready • Conclusions • RPMS solution should be considered as a replacement based on range of functionality • However, RPMS and VistA Immunization applications are vastly different and clinician input is necessary on how to incorporate RPMS solution into VA workflows • They use the same database items to store different immunization data and thus data conversion is necessary (either in RPMS or VistA) • No refactoring work can be done before workflow issues are resolved

  7. Current and Future Refactoring Efforts • VA is in planning stage to align with parallel VistA efforts and our team’s focus is subject to amendment/change • Scheduling Supervisor Menu • Began work on Scheduling Supervisor Menu Spring 2013 • Expose functionality through APIs • Clinic creation and update • Sharing agreement category update • Concentrate on menu items that affect Appointment Management functionality • Serves as additional testing for Appointment Management API • Improves MUnit testing • For example, clinics are currently created directly by setting globals • ADT Supervisor Menu • If time remains we will also work on ADT Supervisor Menu • Same reasoning and focus as mentioned above for Scheduling Supervisor Menu

  8. Automated Testing Framework • Incorporated as part of OSEHRA Testing Framework • Includes functional tests to support refactoring efforts • Problem List package • Scheduling Appointment Management Menu • ADT (Registration package) Bed Control Menu • Recent Work • Some OSEHRA structural changes incorporated • Additional tests to increase coverage • Regression tests for fixed bugs • Utilized to test moving hard coded messages to DIALOG File • Log files are generated that includes all messages shown on the screen during testing • Comparing log files between refactored and original code serves as a test • Utilized to compare with and without refactoring database states • Functional tests are run for VistA-FOIA with and without refactored code • Comparing globals that belong to refactored modules serves as a test • Time related items can be filtered out using scripts

  9. Roll and Scroll Recorder (RASR) • Purpose • To record interactions between the user and the VistA roll and scroll interface • Primary Application • Generation of automated testing scripts for execution within the VistA Automated Testing Framework

  10. Roll and Scroll Recorder (cont.) Description • Eclipse Plug-in • Intended to be used by test engineers, developers, and anyone looking to document VistA Roll and Scroll interaction • Typical usage model • User establishes SSH or Telnet connection to VistA target • User interacts with VistA target via roll and scroll interface • RASR records user input and select or default VistA responses • User saves (Python) scripts within a specified project directory

  11. Roll and Scroll Recorder (cont.) RAS Recorder View (write) Expected Value View (expect) • RASR “Controls” • Establish SSH Connection • Specify Project Directory • Start/Stop Recording • Save Recording Show RASR Views

  12. Roll and Scroll Recorder (cont.) Telnet or SSH RPC HTTP CPRS Web Browser VistA Web Application RASR Python Test Harness CMake Target System / Application Selenium Sikuli SSH/Telnet Test Harness

  13. Eclipse M IDE Plug-in • Eclipse is used as IDE for many mainstream programming languages such as Java, Python, C++, etc. • Eclipse is open source and extendible, and has plug-ins for other essential tools such as version control systems (git, svn, etc.) • Goal is to provide Eclipse plug-ins for M and VistA development, testing and analysis, and promote Eclipse as a one stop development and testing environment • Increase productivity for current M/Vista developers and remove one hurdle for mainstream developers who want to experiment with M and VistA

  14. Eclipse M IDE Plug-in • VA (Joel Ivey) previously developed a plug-in for M and VistA called MEditor and MDebugger • Our team’s efforts builds on top of Joel’s work • MEditor assumes flat directory structures and does not play well with hierarchical repositories like OSEHRA VistA-FOIA • Look and feel of MDebugger deviates from other debuggers (code tracing, breakpoint view, variables view, debug configuration launch) • Ultimate goal was to run VistA roll and scroll interface from Eclipse and debug, but issues encountered on MDebugger back end • Our team has worked on fixing a number of these issues • A number of analysis and refactoring tools have been added • Other Eclipse plug-ins mentioned for tools that were built on top of M but they are proprietary and were not investigated for this project

  15. Eclipse M IDE Plug-in

  16. Eclipse M IDE Plug-in

  17. Eclipse M IDE Plug-in

  18. Eclipse M IDE Plug-in

  19. Eclipse M IDE Plug-in

  20. Eclipse M IDE Plug-in

  21. Eclipse M IDE Plug-in • Will submit to Technical Journal June 2013 • Debugger is currently a work in progress • Works only for very simple code at the moment • Working on fixing back-end issues so that it can be used for refactored “silent” code • A different back-end approach will probably be needed to run and debug VistA roll and scroll interface from Eclipse • Analysis and Refactoring Tools • MEditor runs XINDEX when files are saved and any M side tools can be run as such • Other current analysis and refactoring tools use a Java-based M parser underneath that generates an “almost” complete M parse tree and Visitor pattern • Additional analysis tools can be added relatively easily

  22. Questions/Discussion 22

  23. Additional Project References • Technical Journal • http://code.osehra.org/journal/ • Refactoring Services • http://www.osehra.org/group/ehr-refactoring-services • Eclipse Plug-in • http://www.osehra.org/content/eclipse-plug-project • Automated Testing Framework/RASR http://www.osehra.org/wiki/vista-system-test-platform-project • VOLDEMORT • http://osehra.org/group/voldemort-comparison-tool

More Related