Using the VistA Appliance

From VistApedia
Jump to navigationJump to search
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.

Project Goal

Create a plug and play VistA virtual appliance to support training and demonstration activities.

[1] VistA Appliance Use Case (PDF)

[2] VistA Appliance Demo V0.98 was release on 02/24/2007

This document discusses using the VistA Appliance. See this document for details on HowTo Build an Appliance.

The following are working notes for a project in progress.

Development Milestones

Beta V0.98 Progress

  • Host Configuration: 95%
    • Virtual tool selection: 100% (QEMU)
    • Virtual tool installed with QEMU Accelorator Module (optional)
    • VA Demo Appliance(Toaster) downloaded - 100%
    • Launch script preapred to run QEMU and VA Demo appliance - 100%
    • CPRS installed and launch script prepared - 100%
    • Code review and optimiazation - 20%
  • Guest Configuration: 100%
    • Modifications to inetd - 100%
    • automatically start and stop TaskMan - 100%
    • Code review and optimiazation - 20%
  • Installer design and development: 100%
  • Security Review and Certification: <out of scope for training system>
  • User documentation:
  • Technical documentation: 60%
  • Testing and User Acceptance: 10%

Host architecture - Directory structure

Windows Start Menu > WorldVistA (short-cut)

  • CPRS launch and connect(short-cut)
  • VistA Demo Appliance (short-cut) (a.k.a. QEMU/Linux/VistA/G/TM)
  • VistA Demo Wiki (URL)
  • www.WorldVistA.org (URL)

Program Files > WorldVistA

  • qemu-0.9.0-windows <dir>
  • kqemu-1.3.0pre11 <dir>
  • CPRS <dir>
  • VistA Demo Appliance_README.txt
  • www.WorldVistA.org (URL)
  • VistA Demo Appliance Wiki (URL)
  • VistA Demo Appliance (short-cut to batch file)
  • CPRS launch and connect (short-cut to batch file)
  • Uninst.exe (uninstaller)

VA VistA Demo Toaster 20060926

Extracted files from downloaded file, 'VAVistADemo20060912.zip'
File 'VAVistADemo20060912.qcow' is produced when extaction is complete
Moved 'VAVistADemo20060912.qcow' directory to 'C:\Program Files\qemu-0.8.2-windows'

Updates to VA VistA Demo Toaster appliance: http://groups.google.com/group/Hardhats/browse_thread/thread/89ba7bbdf941b19?hl=en

Modifications to inetd configuration (courtesy KS BHaskar):

To start inetd manually for only the current session:

sudo /etc/init.d/inetd start

To enable inetd to start automatically, execute each of the following commands once. When you reboot your Toaster, inetd will start automatically:

sudo ln -s /etc/init.d/inetd /etc/rc2.d/S20inetd 
sudo ln -s /etc/init.d/inetd /etc/rc3.d/S20inetd 
sudo ln -s /etc/init.d/inetd /etc/rc4.d/S20inetd 
sudo ln -s /etc/init.d/inetd /etc/rc5.d/S20inetd 
sudo ln -s /etc/init.d/inetd /etc/rc1.d/K20inetd 
sudo ln -s /etc/init.d/inetd /etc/rc2.d/K20inetd 
sudo ln -s /etc/init.d/inetd /etc/rc3.d/K20inetd 
sudo ln -s /etc/init.d/inetd /etc/rc4.d/K20inetd 
sudo ln -s /etc/init.d/inetd /etc/rc5.d/K20inetd 

Enhancement to automatically start and stop Taskaman (courtesy KS BHaskar):

Edit the file /etc/init.d/VAVistADemo20060926 (e.g., with "sudo beaver /etc/init.d/VAVistADemo20060926" which gives you a WYSIWYG GUI editor), and make it look like this:

TIP: Be sure there are no blank spaces at the end of each row!


#!/bin/sh 

PATH=/bin:/usr/bin:/sbin:/usr/sbin

source /usr/local/gtm_V5.2-000/gtmprofile
cd /var/VAVistADemo20060926/gtm_V5.2-000

case "$1" in
  start)
        sudo -u dsl /usr/local/gtm_V5.2-000/mupip journal -recover -
backward g/mumps.mjl
        sudo -u dsl ./run RESTART^ZTMB <<EOF
Y
EOF
        ;;
  stop)
        sudo -u dsl ./run STOP^ZTMKU <<EOF
y
Y
EOF
        sleep 5
        sudo -u dsl killall mumps
        sudo -u dsl /usr/local/gtm_V5.2-000/mupip journal -recover -
backward g/mumps.mjl
        ;;
  *)
        echo "Usage: /etc/init.d/VAVistADemo20060926 {start|stop}"
        exit 1
esac

exit 0


Taskman will automatically start when you boot the Toaster, and shut down when you stop it.

Alternative Toaster Modification


  • Guest launch scripting

Modifications: qemu-win.bat

The .bat file that comes with QEMU has been modified to launch Toaster.

The original file:

REM Start qemu on windows.
@ECHO OFF
REM SDL_VIDEODRIVER=directx is faster than windib. But keyboard cannot work well.
SET SDL_VIDEODRIVER=windib
REM SDL_AUDIODRIVER=waveout or dsound can be used. Only if QEMU_AUDIO_DRV=sdl.
SET SDL_AUDIODRIVER=dsound
REM QEMU_AUDIO_DRV=dsound or fmod or sdl or none can be used. See qemu -audio-
help.
SET QEMU_AUDIO_DRV=dsound
REM QEMU_AUDIO_LOG_TO_MONITOR=1 displays log messages in QEMU monitor.
SET QEMU_AUDIO_LOG_TO_MONITOR=0
qemu.exe -L . -m 128 -hda linux.img -soundhw all -localtime

The modified file: (UPDATED 01/28/06 - added 'net start kqemu' to launch QEMU Accelerator Module

net start kqemu
REM Start qemu on windows.
@ECHO OFF
REM SDL_VIDEODRIVER=directx is faster than windib. But keyboard cannot work well.
SET SDL_VIDEODRIVER=windib
REM SDL_AUDIODRIVER=waveout or dsound can be used. Only if QEMU_AUDIO_DRV=sdl.
SET SDL_AUDIODRIVER=dsound
REM QEMU_AUDIO_DRV=dsound or fmod or sdl or none can be used. See qemu -audio-help.
SET QEMU_AUDIO_DRV=dsound
REM QEMU_AUDIO_LOG_TO_MONITOR=1 displays log messages in QEMU monitor.
SET QEMU_AUDIO_LOG_TO_MONITOR=0
qemu.exe -L . -m 128 -hda -soundhw all -localtime -redir tcp:2222::22 -redir tcp:9297::9297 VAVistADemo20060912.qcow

Client connection configuration

CPRS Connection CPRS can connect to the appliance from the host with "CPRSChart s=127.0.0.1 p=9297 CCOW=DISABLE".

  • Above string stored in batch file. Batch file copied to CPRS directory.
  • Windows Hosts file modifcation not required ('127.0.0.1 BROKERSERVER')
  • When CPRS launches and connects with VistA serve, a sign-in screen appears. Use the Access and Verify codes: VistAis#1 and #1isVistA respectively.

Terminal session via puTTY
Terminal session are used to access roll-and-scroll VistA interfaces, such as Admission, Discharge and Transfer. Insert the following into a batch file, copy the file to the same directory as puTTY.exe (commands courtesy John Leo Zimmer)

     Use one of the following, not both.

     putty.exe -ssh -P 2222 -l dsl -pw VistA localhost

     (or)

     putty.exe -ssh -P 2222 -l dsl -pw VistA 127.0.0.1

Double click on the file to launch puTTY and start a terminal session with VistA.

Guest architecture

  • Guest loading scripting
    • Start up / Shut down (/etc/init.d/) - 100%
    • Start/stop TaskMan script applied - 100%
    • Code review and optization - 15%


Development Resources

  • [3] Installer script VistA Demo Appliance V0.98
  • [4] QEMU Main Page

Installation resource references

  • [5] QEMU on Windows provides precompiled QEMU versions for Windows. Version up to 0.9.0.(2007/02/07)
  • [6] QEMU Accelerator Module. kqemu-1.3.0pre11.tar.gz
  • [7] Detailed release notes and VA VistA Demo Toaster 20060926
  • [8] NullSoft Installer System - used to create the set-up installation executable.
  • [9] GUI NSIS - tool for generating basic installer scripts.

Open Issues & Questions


[10] Time Zone Map