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

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

Feb 26, 2016

Download

Documents

kenton

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 - PowerPoint PPT Presentation
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Open Source EHR Services OSEHRA Architecture Work Group Meeting June 4, 2013

Open Source EHR Services

OSEHRA Architecture Work Group Meeting

June 4, 2013

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

2

• 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

Agenda

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

3

• 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

Problem List Package

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

4

• 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

Scheduling Appointment Management Menu

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

5

• 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

ADT (Registration) Bed Control Menu

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

6

• Immunization in VistA• Within Patient Care Encounter Package• Multiple data 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

Immunization Investigation

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

7

• 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

Current and Future Refactoring Efforts

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

8

• 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

Automated Testing Framework

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

9

• 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

Roll and Scroll Recorder (RASR)

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

10

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

Roll and Scroll Recorder (cont.)

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

Roll and Scroll Recorder (cont.)

11

RAS Recorder View

(write)

Expected Value View

(expect)

RASR “Controls”• Establish SSH

Connection• Specify Project Directory• Start/Stop Recording• Save Recording

Show RASR Views

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

Roll and Scroll Recorder (cont.)

12

CMake

CPRS

VistA

Python Test Harness

Web Browser

Selenium Sikuli

Web Application

SSH/Telnet

Telnet or SSHRPC

HTTP

Test Harness

Target System / Application

RASR

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

13

• 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

Eclipse M IDE Plug-in

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

14

• 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

Eclipse M IDE Plug-in

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

15

Eclipse M IDE Plug-in

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

16

Eclipse M IDE Plug-in

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

17

Eclipse M IDE Plug-in

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

18

Eclipse M IDE Plug-in

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

19

Eclipse M IDE Plug-in

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

20

Eclipse M IDE Plug-in

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

21

• 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

Eclipse M IDE Plug-in

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

Questions/Discussion

22

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

23

• 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/RASRhttp://www.osehra.org/wiki/vista-system-test-platform-project

• VOLDEMORT• http://osehra.org/group/voldemort-comparison-tool

Additional Project References