Pre-installation preparations

Install Python 2.7.x and pip

  • Windows – instructions and downloads are available at

  • Linux – likely to be installed already except on newer distributions

    Check by typing python -V - if the response is Python 2.7.x (x can be any number 9 or greater) then move on to installing pip.

    If the response is that the command can’t be found, you will need to install Python. On Ubuntu, Python 2.7 is python and Python 3.x is Python3:

    sudo apt install python

Add Python and the scripts folder to the path

Windows only – this is usually automatic in linux

During the Windows Python 2.7 installation, ‘install’ Add Python.exe to Path:

Add Python to Path image

Python installation customisation dialogue

If Python is already installed, you can add Python to Path yourself:

Add the following to the end of the path environment variable (to see how to edit the environment variables, see


Python package installer pip

Install pip – for details go to The quick version is as follows:


Download the latest version using the same method as for Windows, or get the version in your package manager, for example:

sudo apt-get install python-pip


Pip is normally installed with Python. If it hasn’t been, download the installer script and save it locally – right click and Save link as… or equivalent.

Open a command window (Start menu, cmd.exe) and navigate to the place you saved the get‑ file:


Quick check of python and pip

To check everything is installed correctly so far, type the following in a command window/shell. You should have the version number of pip returned to you:

pip -V

Install RabbitMQ

For either install, just follow the defaults – no special configurations required. Please note that RabbitMQ requires that Erlang is installed first, as described in the above links.


If you encounter problems running RabbitMQ as a service under Windows then try the following:

  • Create a folder called c:\rabbitmq

  • From an administrator command prompt run Advanced System Properties by typing sysdm.cpl

  • Create a new system environment variable called RABBITMQ_BASE and set its value to c:\rabbitmq

  • In the command prompt navigate to the folder containing the RabbitMQ commands and run:

    rabbitmq_service.bat remove
    rabbitmq_service.bat install
    rabbitmq_service.bat start

Enable RabbitMQ queue management interface


In a terminal:

sudo rabbitmq-plugins enable rabbitmq_management


In a terminal, find the sbin folder of the RabbitMQ installation directory - it will be something like C:\Program Files\RabbitMQ Server\rabbitmq_server-3.7.8\sbin. You might like to find the sbin folder using Windows Explorer and then type cd into a terminal followed by a space then drag the folder icon from the left hand end of the address bar and drop it into the terminal, followed by the Enter key.

rabbitmq-plugins enable rabbitmq_management

Optional - RabbitMQ Administrator

An administrator user is not required to view RabbitMQ queues and to purge queues from the OpenREM web interface.

However, if you wish to interact directly with the RabbitMQ management interface, you should create a user for this purpose.

The password is printed to the terminal, so in Linux add a space before the sudo so that the command does not get saved to your history file, and then clear the terminal so it isn’t displayed any longer. In Windows, use cls:


sudo rabbitmqctl add_user <username> <password>
sudo rabbitmqctl set_user_tags <username> administrator
sudo rabbitmqctl set_permissions -p / <username> "." "." ".*"


rabbitmqctl add_user <username> <password>
rabbitmqctl set_user_tags <username> administrator
rabbitmqctl set_permissions -p / <username> "." "." ".*"


Before continuing, consider virtualenv

Install PostgreSQL database

For production use, you will need to install and configure a database. We strongly recommend PostgreSQL, but you can use any of the databases listed on the Django website such as MySQL, Oracle or MS SQL Server, with the limitations listed there. There is one additional limitation - the calculation of median values for charts in OpenREM is dependent on using PostgreSQL.

If this is your first time installing OpenREM and you just want to test it out, you can skip this step and make use of the in-built SQLite database. However, you should expect to start again when you move to a production grade database.

Install a DICOM Store service

To have modalities send DICOM objects to your OpenREM server, or to use query-retrieve from a PACS, you need to install a DICOM Store service. For testing, you can make use of the DICOM Store OpenREM can provide. However, because this is not stable over longer periods of time we recommend using a third-party DICOM Store service. You can use any one you like, as long as it can be scripted to call OpenREM scripts when DICOM objects are received. We recommend Orthanc or Conquest for this and provide details of how to configure them in the Third-party DICOM Stores section.


Alternative - Conquest

Unlike with the database, it is possible to change DICOM Store service at a later point.

Resources for creating RDSR for older Toshiba CT scanners

New in version 0.8.0

If you need to import data from older Toshiba CT scanners into OpenREM then the following tools need to be available on the same server as OpenREM:

For more information see For CT dose summary files from older Toshiba CT scanners. The locations of these executables needs to be configured in the - see Toshiba CT RDSR creation.

Install OpenREM

You are now ready to install OpenREM, so go to the Installing OpenREM docs.

Further instructions

Virtualenv and virtualenvwrapper

If the server is to be used for more than one python application, or you wish to be able to test different versions of OpenREM or do any development, it is highly recommended that you use virtualenv or maybe virtualenvwrapper

Virtualenv sets up an isolated python environment and is relatively easy to use.

If you do use virtualenv, all the paths referred to in the documentation will be changed to:

  • Linux: vitualenvfolder/lib/python2.7/site-packages/openrem/
  • Windows: virtualenvfolder\Lib\site-packages\openrem

In Windows, even when the virtualenv is activated you will need to call python and provide the full path to script in the Scripts folder. If you call the script (such as without prefixing it with python, the system wide Python will be used instead. This doesn’t apply to Linux, where once activated, the scripts can be called without a python prefix from anywhere.