WorldVistA on Ubuntu
WorldVistA consists of two parts: a database server and a collection of client modules. The server runs in Linux, whereas the clients are generally Windows-based (at this time). The first step is to install the WorldVistA server. It can be installed on the operating system of a stand-alone computer or on the guest operating system of a virtual machine (usually running on the same computer as the client modules).
When the VistA server is run within a virtual machine on the same computer as the client modules, a fully self-contained WorldVistA EHR is created on a single computer.
- If you will run the WorldVistA server on a standalone computer, then install the Ubuntu Server edition as an operating system on that computer first. (You can add an ubuntu-desktop or kubuntu-desktop GUI to the server later, if you so desire).
- If you will run the WorldVistA server within a virtual machine, then install the Ubuntu Server edition (virtual machine minimal install) into a virtual machine first. See these instructions.
Then proceed in a similar fashion (in each type of operating system installation) for the subsequent installation of Astronaut VistA.
Contents
- 1 Preparing your server
- 2 Installation
- 3 Installation Notes
- 4 Installing on a Server edition
- 5 Installing WorldVistA Server in a Virtual Machine
- 6 Use a static IP address for the server
- 7 Connect with a CPRS client
- 8 Using the VistA Configuration Utility
- 9 Using the VistA Clinical Scheduling utility
- 10 Configure access to the WorldVistA server from the Internet through a virtual server
Preparing your server
- The Astronaut installer uses an emerging standardized installation framework for VistA derivatives (WorldVistA and OpenVistA currently). These instruction reflect this framework, with modifications I have used in setting up my system on Ubuntu.
- Port 9260 is used for communications with the VistA server. The server should have a static IP address on your LAN, and your LAN should forward port 9260 traffic to the VistA server's IP address. Make sure your firewall allows port 9260 traffic.
It is easiest to set this up before using the Astronaut installer, since the Astronaut server installer autodetects IP address settings.
Installation
Installation Notes
- The MUMPS database (GT.M) is installed into /opt/lsb-gtm/V5.3-004A_i686.
- The WorldVistA EHR program is installed into /opt/worldvista/EHR.
- m2web is installed into /opt/worldvista/EHR/web/m2web.
- A startup file is installed as /etc/init.d/vista-EHR.
- The listener port for clients like CPRS is 9260.
- The listener port for m2web is 80.
The following default actions where done:
gtm Mumps interpreter installed in: /opt/lsb-gtm/gtm Default user id created: worldvistaEHR in /home/worldvistaEHR textEHR user id created. VistA software installed in: /opt/worldvista/EHR Started port listener on port: 9260 Open port: 9260
NEXT STEPS: Log in as user: worldvistaEHR with default password: vista!123 You will be prompted to immediately change the password. Use a strong password. Full disk encryption of your Linux is strongly recommended.
Write down the IP address of this machine and port:
IP address of this machine: 192.168.0.24 Port: 9260
(Obviously, use the IP address of your own server.)
Installing on a Server edition
If you are installing on a Server edition without a desktop/package manager installed, you may need to install as root:
sudo -s sudo dpkg -i astronaut-wv-server-current.deb sudo apt-get -f install
Note: The command "apt-get -f install" finds and installs unmet dependencies. This is only needed for Server editions in which a package manager is not installed.
Installing WorldVistA Server in a Virtual Machine
There are two methods for doing this.
- Install the Ubuntu Server edition (virtual machine minimal install) into a virtual machine (like VirtualBox) and then install Astronaut WorldVistA on top of this. See these instructions.
- The WorldVistA EHR Personal Toaster is a self-contained appliance for Windows that includes a bundled QEMU virtual machine, a Damn Small Linux operating system, and a WorldVistA server (it does not use the Astronaut format). All are installed in a one-step process.
Another example solution is demonstrated in this YouTube video.
Use a static IP address for the server
It will be difficult for the WorldVistA clients to locate the WorldVistA server if the IP address of the server is always changing (i.e. repeatedly assigned a new dynamic IP address by the router/network DHCP server). It is best, therefore, to assign a static IP adress to the server.
The network administrator must assign the static IP address on the LAN for use by the server (especially if a DNS nameserver is in use on the network). Let's say the LAN has a router/gateway address of 192.168.1.1, a static IP address range of 192.168.1.125 - 192.168.1.253, and the server is assigned an IP address of 192.168.1.135. Then the Ubuntu Server can be configured to use this static IP address.
- When the Ubuntu Server OS is running, edit the /etc/network/interfaces configuration file:
sudo nano /etc/network/interfaces
- Make sure the settings are similar to:
# The loopback network interface auto lo iface lo inet loopback # # The primary network interface auto eth0 #iface eth0 inet dhcp # iface eth0 inet static address 192.168.1.135 broadcast 192.168.1.255 netmask 255.255.255.0 gateway 192.168.1.1
- Reboot the Ubuntu OS again so that the new IP address is used.
sudo reboot
Connect with a CPRS client
- Download the Astronaut CPRS client onto your Windows machine and install it. During installation, enter the IP address (or hostname URL) and port (9260 by default) of the server you installed in the preceding steps.
- The SSH tunneling utility PuTTY is installed with the CPRS client. It will start automatically on the first run. Do not close PuTTY; merely minimize it (to the desktop taskbar).
- Start the CPRS client:
- Windows menu -> All Programs -> Astronaut -> TMG-CPRS
- Use the default login intially:
Access Code: sys.admin Verify Code: vista!123
You can watch a YouTube video of TMG-CPRS here.
When done with your CPRS session, you can close the PuTTY SSH tunnel. Subsequently, however, you must restart the PuTTY SSH tunnel (and then minimize it) prior to making a new CPRS (or other) connection:
- Windows menu -> All Programs -> Astronaut -> Astronaut SSH
You can then restart CPRS again:
- Windows menu -> All Programs -> Astronaut -> TMG-CPRS
There are several settings in the Astronaut Client package that can be changed. For more details on installing and changing this package to suit your installation, see this Astronaut Client Package page.
Using the VistA Configuration Utility
The Astronaut WorldVistA package comes pre-populated with sample users, patients, and settings. You can add additional users and patients and change settings using the VistA Config utility. (Make sure the PuTTY SSH tunnel is open before using it.) Here is a YouTube video that is a good introduction to this utility.
- Windows menu -> All Programs -> Astronaut -> VistA Config
- Add a new physician user:
- VistA Config -> Users -> Active Users -> DOCTOR,TWO -> Clone User
this will create a new user in the Inactive Users section named TEMP,MUST-EDIT. Click on the user to edit it:
- VistA Config -> Users -> Inactive Users -> TEMP,MUST-EDIT
Edit the fields. For example:
- NAME: SCHWEITZER,ALBERT
- INITIAL: AS
- ACCESS CODE: ASCHWEITZER
- VERIFY CODE: ASVERIFYCODE
- DISUSER: NO
- ELECTRONIC SIGNATURE CODE: ASSIGCODE
- PRIMARY MENU OPTION: DGZ REGISTRATION MENU
- The field DISUSER: stands for disabled user. When it is set to YES, the user remains in the Inactive Users section (i.e. disabled). When it is set to NO, the user is moved to the Active Users section (i.e. enabled). When all the fields have been set as desired, click Apply.
Now this user can log in using CPRS (or other utility), with the Access Code and Verify code that has been assigned.
Using the VistA Clinical Scheduling utility
The VistA Clinical Scheduling utility may advertise itself (at startup) as using port 10501, but it has been altered to use port 9260 (just like the other Astronaut client modules).
- After starting, if an "Unable to connect to VistA" error appears, then click the "Retry" button. A configuration screen will appear. Enter:
- RPMS server address: 192.168.56.101
- Server Port: 9260
Use the IP address of your VistA server in place of the RPMS server address (use your own VistA server IP address, obviously). Always use Server Port 9260 (not 10501).
- When prompted for the RPMS Access Code and RPMS Verify Code, use the VistA Access Code and VistA Verify Code established for your user (e.g. sys.admin / vista!123 for the initial administrator, as above).
Configure access to the WorldVistA server from the Internet through a virtual server
(This section is under construction.)
- Copy and edit a configuration file in the Apache2 sites-available folder.
cd /etc/apache2/sites-available sudo cp default worldvista sudo kate worldvista
- Edit the virtual host file so that it looks like:
<VirtualHost *:9260> ServerAdmin webmaster@worldvista.myoffice.org DocumentRoot /opt/worldvista/EHR ServerName worldvista.myoffice.org ServerAlias www.worldvista.myoffice.org worldvista.myoffice.org </VirtualHost>
where worldvista.myoffice.org is an example URL for your server (use your own, of course)
- Restart Apache2:
sudo /etc/init.d/apache2 restart