Upgrade to OpenREM 0.7.0 beta

Warning

This is a beta version for developer testing. It is not suitable for general use, and the instructions below are likely to be incorrect.

Headline changes

  • System

    • Django upgraded to version 1.8
    • Median function added to the database if using PostgreSQL
    • New user-defined display name for each unique system so that rooms with the same DICOM station name are displayed separately
    • Patient name and ID can optionally be stored in system, available for searching and export, but not displayed
    • Patient name, ID and accession number can be stored as a one-way hash, and remain searchable
    • Permission system has become more granular
    • System can now accept non-ASCII characters in protocol names etc
    • Menus have been tidied up
  • Charts and interface

    • Bar chart data points sorted by frequency, value or name in ascending or descending order
    • New chart of DLP per requested procedure type and requested procedure frequency
    • Chart data returned using AJAX to make pages more responsive
    • Chart plotting options available via Config menu
    • Charts can now be made full-screen
    • CTDIw phantom size is displayed with the CTDIvol measurement on the CT study detail page
  • DICOM Networking

    • Configuring and running DICOM Store SCP is now managed in the web interface
    • Query retrieve function is now built in to query PACS systems or modalities via the Import menu
  • Imports

    • Mammography RDSRs import correctly
    • Mammography imports from images now create an accumulated AGD value per breast
    • Philips Allura fluoroscopy RDSRs import correctly, including calculating the exposure time
    • Bi-plane fluoroscopy imports can now be displayed in the web interface
    • Patient height imports from csv now convert from cm to m - previously height was assumed to be cm and inserted into database without change. Existing height data will remain as cm value for csv imports, and m value for RDSR imports
  • Exports

    • Patient sex is included in all exports
    • Filters generated by navigating through charts can now be used to filter export data
    • Study description is now included in mammography exports
    • Bi-fluoroscopy studies can be exported

Updates since beta 7

  • Full screen charts
  • Test implementation of QR SCU from the command line
  • Equipment display names are now grouped by modality
  • New docs and bug fixes

Updates since beta 9

  • QR SCU has been much improved
  • Docs, charts and fixes: see git commits

Updates since beta 10

  • QR SCU further improved with more testing
  • QR SCU can now filter by include and exclude terms in study description
  • QR SCU now safe with non-ASCII characters in series names etc
  • Version number now only declared once in the project
  • Monday is now the first day of the week in the pop-up date-pickers
  • Improvements to chart tool-tip visibility
  • ‘Turn off charts’ no longer changes the page
  • Improvements (hopefully) to Store SCP - no longer a Celery task
  • Improvements (hopefully) to task performance as long-running QR and export operations shouldn’t queue tasks when there are unused workers
  • Improvements (hopefully) to the keep-alive periodic task preventing requests stacking up when something goes wrong
  • Improvements to docs, beginnings of DICOM networking docs

Updates since beta 11

  • Fixed errors with DICOM store, keep_alive and echo functions

Updates since beta 12

Requires database migration

  • Mammography RDSRs now import correctly
  • Added study description to mammography exports
  • Philips Allura fluoro RDSRs import fixed
  • Bi-plane fluoro exports fixed

Updates since beta 13

Requires database migration

  • Mammography RDSRs and images now record an Accumulated AGD per breast
  • Mammography RDSRs and images now record mA in the same way as each other
  • CTDIw phantom size now displayed in the detail view
  • Patient size imports from CSV are now assumed to be cm and converted to m to store. Interface now assumes m
  • Exposure time is now populated when not supplied for fluoro RDSRs

Upgrading from version 0.6.0

  • Back up your database

    • For PostgreSQL you can refer to Backup the database
    • For a non-production SQLite3 database, simply make a copy of the database file
  • Stop any Celery workers

  • The 0.7.0 upgrade must be made from a 0.6.0 (or later) database, and a schema migration is required:

pip install openrem==0.7.0b13

In a shell/command window, move into the openrem folder:

  • Ubuntu linux: /usr/local/lib/python2.7/dist-packages/openrem/
  • Other linux: /usr/lib/python2.7/site-packages/openrem/
  • Linux virtualenv: lib/python2.7/site-packages/openrem/
  • Windows: C:\Python27\Lib\site-packages\openrem\
  • Windows virtualenv: Lib\site-packages\openrem\

Delete all numbered migration files in openrem’s migrations folder, leaving the 0002 files ending in .inactive

If there is no file named __init__.py in the migrations folder, please create it.

python manage.py migrate --fake-initial
python manage.py makemigrations remapp
python manage.py migrate remapp --fake

Now rename the file

remapp/migrations/0002_openrem_upgrade_add_new_tables_and_populate_and_add_median_function.py.inactive

to:

remapp/migrations/0002_openrem_upgrade_add_new_tables_and_populate_and_add_median_function.py

and then run

python manage.py migrate remapp

Note

With a large database, this may take some time!

  • Review the new local_settings.py.example file and copy accross the logging section. Then see Log file settings in the install docs.

Upgrading from version 0.7.0 beta 7 or later

  • Stop any Celery workers
  • You will need to do a database migration.
pip install openrem==0.7.0b13

From the openrem folder (see above):

python manage.py makemigrations remapp
python manage.py migrate remapp
  • Review the new local_settings.py.example file and copy accross the logging section. Then see

Log file settings in the install docs.

Restart all the services!

Some of the commands and services have changed - follow the guide at Start all the services.