Ubuntu-Med is a project to incorporate several servers useful to medical practitioners into a single customized (K)Ubuntu-based operating system.
Note: There are currently two formats for Ubuntu-Med downloads: a Filesystem Archive (.fsa/.f01, both parts needed) and a LiveCD image (.iso). See the bottom of the page for more information.
Note: Any device (including software) used for diagnosis or treatment requires FDA approval in the US (or CE approval in Europe) as a medical device. Therefore, nothing in Ubuntu-Med can be used for any purpose other than for administrative and evaluation purposes in those areas. No warranty of any sort or representation of suitability for purpose is expressed or implied with the distribution of this software.
What is included in Ubuntu-Med ?
- Astronaut OpenVistA Electronic Health Record -- this is a server/client combination that can be used over a network or can be used as a self-contained EHR system
- DAViCal -- this is a group calendar server that can be used over a network, either with the (included) Mozilla Sunbird calendar or with other calendar clients
- MediaWiki -- two wikis are pre-installed. A public wiki is used for information that should be made public, and a secure private wiki is used for internal information. (A complete copy of Kubuntuguide is included with the private wiki.)
- Drupal6 -- two sample websites have been pre-configured. One can be used for public use (for example), and the other for internal use. (This is the same website software the US White House uses.) An online store (Ubercart) capability and PayPal (among other) payment integration modules allow fee-for-service payments through the website.
- Moodle -- this is the same online teaching system used by many universities. It allows you to create teaching modules for patients, other medical practitioners, etc.
- BigBlueButton -- this teleconferencing server is Java based and is accessed (using a webcam and microphone) through a standard web browser, so users do not need to install special software to use it. It has been pre-integrated into both the Moodle and Drupal6 website components in Ubuntu-Med. This is useful for telemedicine or merely as an alternative to Skype for teleconferencing/dektop sharing. It has the capabilities of WebEx, GoToMeeting, and other similar teleconferencing suites, but since the entire system is self-contained on the server (and not located elsewhere), it is HIPAA compliant.
Any or all of these servers can be installed separately on an Ubuntu/Kubuntu system (either server or desktop). See Kubuntuguide or Ubuntuguide for information on installing server components individually.
Is Ubuntu-Med available for other versions of Ubuntu/Kubuntu ?
Ubuntu-Med uses Kubuntu Lucid 10.04 32-bit (for its .FSA version) because the BigBlueButton teleconferencing server used components from that version of Ubuntu/Kubuntu.
Ubuntu-Med can also be installed using Ubuntu instead of Kubuntu:
What are the hardware requirements?
The Ubuntu-Med distribution requires about 6-7 Gb hard drive space to install, but will also need room for data as you use it. It is probably best if at least a 30 Gb partition is dedicated to it.
Ubuntu is not a memory hog, but if several servers are in use simultaneously, it is good to have at least 1 -2 Gb RAM installed.
It is important in the early stages of planning to consider storage failsafes (both RAID and storage replication mechanisms (such as dual NAS servers)). Achieving both high availability and high reliability is important for an eventual production installation
The biggest problem with servers is often the bandwidth that is available from an Internet Service Provider. Many consumer ISPs are not adequate for multiple servers, especially those (such as Comcast) that "throttle" or limit bandwidth usage. If you plan to use Ubuntu-Med in a production environment, pay attention to your network setup and capabilities. Consult Ubuntu Doctors Guild for more advice, if needed.
Can I add or subtract other software?
Of course. Ubuntu-Med is a standard Kubuntu (i.e. Ubuntu with a KDE-based desktop) installation (for which some components and parameters have already been configured). It runs in every other way like a standard Kubuntu installation and relies on standard Ubuntu/Kubuntu repositories (and source code). Add any other software you choose according to the instructions in Kubuntuguide.
Additions to the upcoming version of Ubuntu-Med
- Kubuntu 12.04 LTS Precise.
- A web-based image jukebox (PACS server) for web retrieval of images (to be associated with the EHR and website). Software under evaluation includes dcm4chee (using these instructions) and packages from this list. For some explanation of choices, see this article.
- One (or more) of several imaging viewers:
- Aeskulap DICOM image viewer
sudo apt-get install aeskulap
- Amide DICOM image viewer
sudo apt-get install amide
- Oviyam web-based DICOM image viewer
- Practice management software (including VistA-Edge)
- Customized accounting software using KMyMoney2
- Single sign-on modules, OpenVPN
- Knockd port security module.
- WebDAV server (Kubuntu has native WebDAV client abilities).
- The new BigBlueButton teleconferencing package
- One or more of the following Debian-med packages have been evaluated and are available, but are not likely to be included:
- med-imaging -- primarily Aeskulap and Amide. Unfortunately, a large number of other useless programs are installed with this package, so I do not recommend installing the entire package.
- med-config -- used by med-tasks
- med-epi -- not widely useful in its current state
- med-pharmacy -- no suitable packages
- med-physics -- no packages specific to medicine
- med-practice -- primarily Aeskulap and GnuMed
- med-tools -- mostly trivial tools that are not widely useful
- med-typesetting -- not generally needed
- cl-pubmed (included in med-tools) -- not generally useful since PubMed has browser-based portals
- gnumed-client (included in med-practice). GnuMed is based in Germany.
- medcon -- Xmedcon medical image conversion tool for specialized uses only
Of course, these can be installed at any time (for evaluation) on an Ubuntu-Med system. However, the majority of the Debian-Med programs are not useful, are disorganized, and/or are incomplete. (I therefore do not recommend installing them at this time.) To evaluate:
sudo apt-get install tasksel med-tasks cl-pubmed gnumed-client medcon sudo tasksel
The tasksel will then show the Debian-Med modules and the user can select which ones to install.
Note: Any device (including software) used for diagnosis or treatment requires FDA approval in the US (or CE approval in Europe) as a medical device. Therefore, nothing in Ubuntu-Med can be used for any purpose other than for administrative and evaluation purposes in those areas.
Alternative to LiveCD installation
The Filesystem Archive and the LiveCD were created using the steps outlined in the Ultimate Server with OpenVistA EHR walkthrough almost exactly, and some of the steps that were done when creating the Filesystem Archive/LiveCD (such as a few database names used during installation) cannot easily be changed by the end user. Therefore, for a fully secure and customized installation, it is sometimes better to install a system by walking through the installation outline yourself, replacing every ID, database name, and password specified in italics (in the walkthrough) with a secure ID, name, or password. In this fashion a highly secure server can be achieved. A typical installation "from scratch" (following the walkthrough step by step) usually takes about 6 hours to complete.
Of course, prior to installing a production environment it is always worthwhile to install a test/demo version first. The Ubuntu-Med LiveCD (or Filesystem Archive) can serve as such a demo/test version. (Be sure to change IDs and passwords as instructed below, even when using it as a demo/test system.)
Lastly, if you choose, a fully customized version can be created for you and mailed on a CD or installed directly on your computer. See this offer.
Installation of the Ubuntu-Med Demo
Ubuntu-Med is currently available in two Beta formats:
- a Filesystem Archive in two parts (.fsa and .f01)
- a LiveCD .iso image
Both have been created with an installation that follows the walkthrough almost exactly.
The Filesystem Archive can be restored to any partition and run with only minor adjustments (matching of the partition's UUID with settings in the Grub bootloader and fstab configuration files, for example). This is an assured method of installation.
At this time the installation scripts for the LiveCD are being re-worked. Completion is anticipated within the next several weeks.
See the relevant detailed instructions below for each installation method.
Create Free Space on the hard drive
Free space on the hard drive is needed. You can dedicate a new hard drive (such as a second hard drive) or can shrink an existing partition (such as a Windows partition) on an existing drive in order to create the free space. In reality, installing a secondary drive is the easier option. (Instructions for installing a second hard drive to your system must be found elsewhere.) When two hard drives exist on a system, the first is usually named (hda) or (sda) and the second is generally named (hdb) or (sdb).
If you wish to shrink a Windows partition on an existing hard drive and and then create multiple partitions on it, please consult these excellent recommendations.
Restoring from the Filesystem Archive
- The Filesystem Archive files are available for download at the Ubuntu-Med project at Sourceforge. You must download both. Copy them onto a DVD (or USB flash drive).
- The Filesystem Archive (.fsa) was created using the FSArchiver utility found on the SystemRescueCD LiveCD. Currently you will need this LiveCD in order to restore the filesystem archive.
- Boot the SystemRescueCD using option 2 (SystemRescueCD: all files cached to memory (docache)). This option is necessary so that the SystemRescueCD can later be removed and the DVD containing the Filesystem Archive then be placed into the CD/DVD drive. Enter the GUI desktop with the command:
and choose your preferred display mode. The desktop GUI will start and a command-line terminal will automatically be opened (as the root user).
- Create a new partition for Ubuntu-Med in the free space available using the GParted utility on the SystemRescueCD. From the command-line (in the open terminal) start GParted:
Look for unallocated space (preferably 15 Gb at a minimum for a demo system) in which to create two new partitions: a new ext3 partition for Ubuntu-Med and a 2 Gb Linux-swap partition. (If you already have a Linux-swap partition on your system, you do not need a second one.)
- Create the swap partition (if one doesn't already exist):
- Gparted -> Highlight unallocated -> Partition -> New -> File system: linux-swap -> New size (Mb): 2048 -> Create as: Logical partition (can be Primary partition, if you choose) -> Add -> Edit -> Apply all operations -> Apply
- Create an ext3 partition for Ubuntu-Med:
- Gparted -> Highlight unallocated -> Partition -> New -> File system: ext3 -> New size (Mb): (as much as you can spare) -> Create as: Logical partition (can be Primary partition, if you choose) -> Add -> Edit -> Apply all operations -> Apply
Make a note of the device number of the swap partition (e.g. dev/sda5) and of the newly created partition (e.g. /dev/sda6) then quit GParted:
- -> Close -> GParted -> Quit
- Remove the SystemRescueCD CD from the drive and place the DVD with the Ubuntu-Med Filesystem Archive(s) on it (jauntysrv00ov.fsa and jauntysrv00ov.f01) into the CD/DVD drive. Mount the CD/DVD drive (designated in my system as /dev/cdrom or /dev/sr0):
mkdir /mnt/dvdfiles mount /dev/cdrom /mnt/dvdfiles
- Restore the Filesystem Archive to the newly created partition (which in this example is /dev/sda6) using the command:
fsarchiver restfs /mnt/dvdfiles/jauntysrv00ov.fsa id=0,dest=/dev/sda6
Both segments will be restored from the DVD automatically, and the filesystem will be recreated in its entirety.
- Find out and record the UUID (unique identifier) of both the swap partition and the newly restored Ubuntu-Med partition using the command:
Note: After restoration, the UUID for the Ubuntu-Med partition will generally be the same UUID as that of the partition on which the filesystem was originally created. If it happens to be the same UUID as another existing partition (or device) on your system (which is not very likely), it will have to be changed. If a new random UUID must be created (using tune2fs), record the new UUID and then change it several places in the /boot/grub/menu.lst and /etc/fstab configuration files (as detailed below).
- If necessary for your system, change the UUID of the Ubuntu-Med partition (in this example /dev/sda6) to a new random UUID:
tune2fs -U random /dev/sda6 blkid
- and record the new UUID.
- If you have previously created a small /boot partition on your system (used to chainload individual operating system bootloaders as recommended here), then edit the main Grub bootloader menu (in the small /boot partition) to reflect the UUID of the new Ubuntu-Med partition. In this example, the small /boot partition is at /dev/sda3:
mdkir /mnt/partition3 mount /dev/sda3 /mnt/partition3 cd /mnt/partition3/boot/grub geany menu.lst
- Create a new entry:
title Ubuntu-Med Server Jaunty 32-bit (partition 6) uuid xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx configfile /boot/grub/menu.lst
where xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx represents the UUID of the new partition (as shown by the command blkid). (Note: You can also use chainloader +1 instead of configfile /boot/grub/menu.lst, if you choose).
- Save the file:
- Save -> File
- If you have created a new random UUID for the newly restored Ubuntu-Med partition (using tune2fs), you must also edit the local /boot/grub/menu.lst and /etc/fstab files on the newly restored Ubuntu-Med filesystem itself:
mdkir /mnt/partition6 mount /dev/sda6 /mnt/partition6 cd /mnt/partition6/boot/grub geany menu.lst
- Edit all the uuid entries there to match your new UUID. (Be careful: The UUID is listed twice for each menu item -- be sure to change both).
- Then edit /etc/fstab:
cd /mnt/partition6/etc geany fstab
- Edit the line:
UUID=xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx / ext3 relatime,errors=remount-ro 0 1
to reflect the new Ubuntu-Med partition UUID (as shown in blkid),
UUID=yyyyyyyy-yyyy-yyyy-yyyy-yyyyyyyyyyyy none swap sw 0 0
to reflect the UUID of your swap partition (as shown in blkid).
- Unless you have installed a small /boot partition previously, you must now change the Master Boot Record so that it points to the Grub bootloader stored within the new Ubuntu-Med partition. Assuming the Ubuntu-Med filesystem is now in the /dev/sda6 partition, set the Master Boot Record to load the Grub bootloader there.
grub grub> root (hd0,5) grub> setup (hd0) grub> quit
Note: A peculiarity of Grub is its numbering scheme (which starts counting at 0). In this scheme, /dev/sda6 corresponds to (hd0,5) and /dev/sdb2 corresponds to (hd1,1).
- Reboot into the new system:
- Note: This method should take about 30 - 60 minutes to perform (excluding download time).
Download the Ubuntu-Med LiveCD .iso image
Note: At this time the installation scripts for the LiveCD are being re-worked; completion is anticipated soon. Until it is available, please use the Filesystem Archive method instead.
- This CD .iso can be burned and then installed on any computer. (Generic user ids and passwords have been included on the LiveCD which ought to be changed before use.)
Note: The .iso file is 1.7 Gb and will only fit on a DVD (not a CD); therefore it must be burned to a DVD.
- Note: This method should take about 45 minutes to perform (excluding download time).
Changing passwords and other customization
These steps are mandatory after installing Ubuntu-Med, no matter which method is used.
- See Ubuntu-Med Customization for the Lucid version
- See Ubuntu-Med Customization for the Jaunty version
Ubuntu-Med development has temporarily stopped at this time. Certain components have not been updated since Lucid, and files have been removed. A new self-installing version will be compiled during the summer of 2012, possibly using a Debian base with updated components from Debian-Med.