个人工具

模板:OpenVistA EHR

来自Ubuntu中文

跳转至: 导航, 搜索

Install an EHR (Electronic Health Record) system

  • Although these instructions are for OpenVistA EHR, other VistA EHR derivatives can be installed in a somewhat similar fashion.
  • The OpenSSH server was set to listen on port 22199. Make sure the router forwards port 22199 to this computer's LAN IP address. The OpenSSH server will be reached by tunneling to myjaunty00.dyndns.org using port 22199.

Install OpenVistA server

sudo apt-get install xinetd update-inetd whois apache2-suexec
  • Note: The Astronaut installer checks for an open port 9260 and it will not proceed if it is closed. Re-enable the firewall (i.e. ok to close port 9260 again) after installation is complete.
  • Obtain and install Astronaut OpenVistA server:
sudo mkdir /etc/openvistaserver
cd /etc/openvistaserver
sudo wget -O astronaut-ov-server-current.deb http://sourceforge.net/projects/astronautnostro/files/astronaut-ov-server/astronaut-ov-server-beta-0.9-3.deb/download
sudo dpkg -i astronaut-ov-server-current.deb
Note: You may wish to save (as a text file) the installation notes displayed during the VistA server installation for future reference.
  • Change the passwords for the server login IDs.
sudo passwd text9260
[sudo] password for jauntyadmin00: jauntyword00
Enter new UNIX password: vista!456
Retype new UNIX password: vista!456
sudo passwd client9260
[sudo] password for jauntyadmin00: jauntyword00
Enter new UNIX password: vista!456
Retype new UNIX password: vista!456
sudo passwd openvistaEHR
[sudo] password for jauntyadmin00: jauntyword00
Enter new UNIX password: vista!456
Retype new UNIX password: vista!456
  • Create a Menu Item / Shortcut for text 9260:
su text9260
Name this Menu Item: VistA Server Admin (text9260). Make sure to set Advanced -> Run in terminal (ticked).
The password set in the previous step (for text9260) will be required upon logging in.
  • Create a Menu Item / shortcut for VistA Commander:
/opt/openvista/EHR/bin/vista_com.sh
Name this Menu Item: VistA Commander Server Admin. Make sure to set Advanced -> Run in terminal (ticked).

Install OpenVistA-CIS Linux client

sudo apt-get install mono-runtime libmono-corlib2.0-cil libgtk2.0-cil libglade2.0-cil libmono-cairo2.0-cil libmono-winforms2.0-cil libmono-system-runtime2.0-cil
  • Create directories then download and unzip the OpenVistA-CIS binaries into them:
sudo mkdir /etc/openvistacisclient
cd /etc/openvistacisclient
sudo wget http://sourceforge.net/projects/openvista/files/OpenVista%20CIS/1.0%20RC2/openvistacis-0.9.96-client.zip/download
sudo unzip openvistacis-0.9.96-client.zip

and

sudo mkdir /etc/openvistacisvitals
cd /etc/openvistacisvitals
sudo wget http://sourceforge.net/projects/openvista/files/OpenVista%20CIS/1.0%20RC2/openvistacis-0.9.96-vitals.zip/download
sudo unzip openvistacis-0.9.96-vitals.zip
  • Create Menu shortcuts:
Menu Editor -> New item
-> General -> Name: OpenVistA-CIS Client (localhost connection)
-> Command: mono OpenVistaCIS.exe --server=127.0.0.1 --port=9260
-> Advanced -> Work path: /etc/openvistacisclient

and

Menu Editor -> New item
-> General -> Name: OpenVistA-CIS Vitals (localhost connection)
-> Command: mono OpenVistaVitals.exe --server=127.0.0.1 --port=9260
-> Advanced -> Work path: /etc/openvistacisvitals

Note: When running from a menu item shortcut, make sure you set the directory as the workpath. I place the menu items in a separate submenu named EHR. Although the OpenVistA-CIS client uses port 9201 by default, the Astronaut OpenVistA server uses port 9260 by default.

Note: If you wish to connect directly through the network (without using an SSH tunnel), merely replace --server=127.0.0.1 with --server=myjaunty00.dyndns.org and make sure the LAN's router forwards port 9260 to the LAN IP address of the server (and make sure that all firewalls allow port 9260 to be open).

  • Use your Access Code / Verify Code as the LoginID / Password ( default at installation for Astronaut systems is sys.admin / vista!123 ). This should be changed at the initial connection, e.g. to vista!456.

Connecting through an SSH tunnel

This method is necessary to connect remote clients to the server through a secure, encrypted tunnel. It is worthwhile to test this connection method by setting it up on the server, as well. Make sure your router is forwarding (to your server) the SSH port you selected (in these examples port 22199).

                      1. This section is for copying the key over the network to the server. this will be necessary later, but for initial installation is not needed. #######################
  • Copy the public key ( /home/user/.ssh/id_rsa.pub ) to the server that is hosting the VistA server, into the /home/serveruser/.ssh . If the SSH tunnel is (still) set at default port 22, you can copy the key using the utility:
ssh-copy-id serveruser@myjaunty00.dyndns.org
  • The ssh-copy-id utility only works over port 22. An alternative if you have changed your SSH port is to copy the /home/user/.ssh/id_rsa.pub key to the server manually.
Once the id_rsa.pub key is copied to the ~/.ssh folder, make sure the owner of id_rsa.pub file is serveruser:
cd ~/.ssh
sudo chown serveruser id_rsa.pub
                              1. End section on network key copying ###############

<--->

  • In order to maintain the Astronaut structure, copy the (previously created) SSH authorized_keys file to the .ssh folders for client9260 and text9260 (where serveruser = jauntyadmin00 on this server):
sudo mkdir /home/client9260
sudo mkdir /home/client9260/.ssh
sudo cp /home/serveruser/.ssh/authorized_keys /home/client9260/.ssh/
sudo chown -R client9260 /home/client9260

and

sudo mkdir /home/text9260
sudo mkdir /home/text9260/.ssh
sudo cp /home/serveruser/.ssh/authorized_keys /home/text9260/.ssh/
sudo chown -R text9260 /home/text9260
  • Restart the OpenSSH server:
sudo /etc/init.d/ssh restart
ssh -l client9260 -L 9201:127.0.0.1:9260 myjaunty00.dyndns.org -p 22199
  • Create Menu shortcuts for use when connecting through the SSH tunnel:
Menu Editor -> New item
-> General -> Name: OpenVistA-CIS Client
-> Command: mono OpenVistaCIS.exe --server=127.0.0.1 --port=9201
-> Advanced -> Work path: /etc/openvistacisclient

and

Menu Editor -> New item
-> General -> Name: OpenVistA-CIS Vitals
-> Command: mono OpenVistaVitals.exe --server=127.0.0.1 --port=9201
-> Advanced -> Work path: /etc/openvistacisvitals
  • Create a Menu Item / Shortcut with the command:
ssh -f -l client9260 -L 9201:127.0.0.1:9260 myjaunty00.dyndns.org -p 22199 sleep 5; mono OpenVistaCIS.exe --server=127.0.0.1 --port=9201
but with Advanced -> Work path: /etc/openvistacisclient configured in the Menu Item / Shortcut settings. It is not necessary to have the Advanced -> Run in terminal box ticked.
  • It is also possible to use the command:
ssh -f -l client9260 -L 9201:127.0.0.1:9260 myjaunty00.dyndns.org -p 22199 sleep 5; mono /etc/openvistacisclient/OpenVistaCIS.exe --server=127.0.0.1 --port=9201
  • Create Menu shortcuts for the Text9260 Server Admin client (a text-based SSH tunnel). This will be the method used to logon (in text mode) directly to the OpenVistA Server for administrative functions:
Menu Editor -> New item
-> General -> Name: OpenVistA Server (localhost)
-> Command: ssh -l text9260 -L 9201:127.0.0.1:9260 127.0.0.1 -p 22199
-> Advanced -> Run in terminal: (ticked)

and

Menu Editor -> New item
-> General -> Name: OpenVistA Server (network)
-> Command: ssh -l text9260 -L 9201:127.0.0.1:9260 myjaunty00.dyndns.org -p 22199
-> Advanced -> Run in terminal: (ticked)

When logging on, the ACCESS CODE / VERIFY CODE are the same as at the initial logon (sys.admin and vista!123 (or vista!456 if changed as in the above section)). The exit key for the OpenVistA server functions is ^ .

For more info about the OpenVistA Server functions, see here.

Note: While the text9260 SSH tunnel is open, it is also possible to simultaneously run the OpenVistA-CIS Client (using the menu shortcut created above which contains the command: mono OpenVistaCIS.exe --server=127.0.0.1 --port=9201).

  • To access the OpenVistA Server from a Windows machine, use the Astronaut Clients (and the Windows OpenVistA-CIS clients). See here and here.

Adjust Login Manager IDs

  • The two IDs text9260 and client9260 are meant to act as interfaces to the GT.M (MUMPS) database and not as login IDs for the GUI desktop. In fact, a user that logs into them can alter their settings accidentally. It is therefore better to exclude these two IDs from the Login Manager. It is also not necessary to have the openvistaEHR login ID enabled (although there is no harm in logging into this account).
Menu -> System -> System Settings -> Advanced -> Login Manager -> Users -> Excluded users -> client9260 (ticked) -> text9260 (ticked) -> openvistaEHR (ticked)
The accounts will remain active but will not show up on the Login screen.