Using the VistA Appliance
Contents
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
The following are working notes for a project in progress.
This document discusses using the VistA Appliance. See this document for details on HowTo Build an Appliance.
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
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
- Gain permission to distribute QEMU Accelerator Module
- done KQEMU now open source --gra'pa Z 10:57, 12 Feb 2007 (CST)