Wiki Spaces


Get Help from Others

Q&A: Ask OpenMRS
Discussion: OpenMRS Talk
Real-Time: IRC Chat | Slack


Page tree
Skip to end of metadata
Go to start of metadata

Mentor :  Barry Levine


This project is aimed at extending the existing Radiology Module (2013) for OpenMRS – computer software for electronic medical records – from using Xebra PACS (Picture Archiving and Communication System) – a currently unsupported light weight medical imaging service - to dcm4chee medical imaging archive – a widely used open source medical imaging archive conforming with the DICOM standard - in conjunction with Oviyam/Weasis( DICOM image viewers) to form a PACS system as well as extending its basic functionality. The project required the understanding of the existing code base to remove inconsistencies and errors occurring due to changes in the code build architecture and also to resolve dependencies between DICOM toolkit applications and to finally upgrade the module to comply with the requirements of the latest version of the OpenMRS framework and community development practices. Additionally, several functionalities and interfaces were designed and implemented to satisfy the complete workflow from a physician’s perspective while ordering a Radiology exam on a patient.

This radiology module of OpenMRS is a module compliant with current DICOM and IHE radiology workflow standards. It facilitates the addition of radiological orders to form modality worklists available to various modalities to provide seamless porting of patient information. It also provides listeners to receive updates from modalities of the status of the order and storage commitment of images supplied by various modalities to form radiology studies. These functionalities are performed in accordance with the DICOM standard and follow the basic IHE radiology workflow. These features along with existing OpenMRS functionalities provide the basis for a Radiology Information System that can be easily deployed to improve the delivery of healthcare.


  • Analyze existing code structure and layout.
  • Port existing code structure from Ant based layout to Maven based layout.
  • Create radiology orders/worklists from OpenMRS and transfer these worklists to dcm4chee via HL7 messages.
  • Update the status of an order as and when it is performed during the course of its execution.

  • Launch appropriate viewers to view images and add observations to these studies.


Some of the usability features are implemented/carried over from the previous Radiology Module (2013) :

  • Design based on IHE Scheduled Workflow integration profile.
  • Communication with modalities (CR, MR, CT, NM, US, XA) using the DICOM services: MWL,HL7, MPPS.
  • Access to medical images through WADO from viewers deployed in dcm4chee.
  • Creation of radiology orders.
  • Generates a worklist via HL7 messages. Allows you to search, filter and sort patient information and procedure. Exchanges information with the modality.
  • Tracking the status of the procedure.
  • Assignment of reading physician.
  • Display of DICOM metadata relating to the procedure, the study, equipment, etc..
  • Generation of radiology reports.
  • Association of imaging studies and reports of a patient.
  • Generation of various reports of the same order, allowing other experts give their opinion.
  • Access to the system based on user roles and privileges. Shows different views depending on the role.
  • Addition of Radiology Tab in patient dashboard.
  • Images can be viewed using web based HTML5 compliant image viewer Oviyam or Java based Weasis.

Code based features:

  • Ported to Maven build archetype.
  • Spring binding issues resolved.
  • dcm4chee libraries included in maven's pom.xml along with the versions linked to their public maven repository.
  • Using OpenMRS 1.9 Obs and Order structure. OrderType and Roles support necessary to launch module.
  • Could be ported to OpenMRS 1.8 with changing dependency versions and minor change in code.
  • Removed packaging of Xebra PACS and Weasis from Radiology Module (2013).
  • Using latest version of dcm4che2 toolkit application 'dcmof'.
  • Using latest version of dcm4che 3.0 toolkit application 'hl7snd'.


OpenMRS Version : 1.9.0 - 1.9.7 (tested across these versions)

Operating Systems : Tested on Windows 7 and Ubuntu 12.04. 

Browsers :  Chrome. (Oviyam 2.0 is not usable in Firefox)  



  1. user-35feb

    Is there a omod for OpenMRS 2.0? Or do I have to build one myself? Thanks for any advise.

    1. Sorry, this was built and tested for OpenMRS 1.9.*

      For 2.0, there are a few underlying changes to OrderType which may cause problems if I understand the changes correctly. 

    2. Hi ttk nk... did you build already this module for 2.0? Tnx (smile)

      1. user-35feb

        not yet. we might take a look of it in the next 6 month. The 1.9 works fine for us now.

  2. Hi,

    I have to questions:

    1) Are you working for implementation of your module in OpenMRS 2.* ?

    2) Is there a Print Report module?

    Thank you so much,



    1. No, 

      I'm not currently working on porting it to 2.0.

      I'm not sure about Print Report Module, you should mail the developer or implementers community to find that out.

  3. from what I understand, ( and I've used this too in openMRS 1.9 ) dcm4chee is in sync with openMRS so whatever updates that happen in dcm4chee will also happen in openMRS, correct?

    And can openMRS radiology module pull the studies and the reports in dcm4chee?


    thanks (smile)


    1. Sorry for the late response. What do you mean by pull? Retrieve Dicom files? 

  4. Hi... I need to know how to generate radiology reports... Tnx (smile)

    1. Sorry for the late response. The information regarding the study and its observations are stored within OpenMRS. dcm4chee is used purely as a PACS service.

      Radiology module doesn't have any support for reporting directly but OpenMrs has a reporting module that can be customized I believe. You should explore that. 

  5. Hi,

    Is there a way to delete modalities in dcm4chee when it is completed in openMRS??

    I know that in order for them to sync ( dcm4chee and openMRS) in deletion, openMRS must issue a discontinue/void order status on the modality.

    My question is what if the order was just completed?, it still shows up at the modality page of dcm4chee, so is there a way to delete the modalities found in dcm4chee that were completed besides discontinuing it ?? 


      You probably want to take a look at that.

      There is no support for that currently. Deleting would involve deleting the order in OpenMRS and deleting the study in dcm4chee.

  6. btw, I'm using openMRS v 1.9.8 and uploaded your radiology module omod file, and works fine. 

  7. Hi.

    When adding an order, I need to specify other tags (example tags 0008 0060 "ID Modality" or 0008 1010 "ID Station Name") 

    Any help will be appreciated (smile) Tnx.

  8. Hello!

    please join the discussion on the future of this module on:

  9. Hello all,

    The default port for openMRS in Tomcat is 8080. The default port for dcm4chee in JBoss is 8080. I have to change the port # of either Tomcat or JBoss to something else. Say JBoss.

    JBoss required by this app is version 4.2.3.GA. Is it true for this version of JBoss, it uses a self included version of Tomcat for server? Or only earlier version of JBoss relied on Tomcat? If Tomcat is included inside JBoss 4.2.3.GA, what port should I use for openMRS and dcm4chee? If JBoss 4.2.3.GA does not relies on Tomcat, then setting port # of 8080 to openMRS and port # of say 12345 to dcm4chee is the correct thing to do. Correct?

    1. Hello!

      yes JBoss 4.2.3.GA itself comes with tomcat included and the config file for its http port is


      <Connector port="8080" address="${jboss.bind.address}"
               maxThreads="250" maxHttpHeaderSize="8192"
               emptySessionPath="true" protocol="HTTP/1.1"
               enableLookups="false" redirectPort="8443" acceptCount="100"
               connectionTimeout="20000" disableUploadTimeout="true" />


      For OpenMRS you install a seperate instance of tomcat (currently version 6.0.29 is suggested) see:

      Step 3 - Install Tomcat


      So you can for example:

      • leave the default port for the tomcat instance you install for OpenMRS
      • and change the port in dcm4chee-2.18.0-mysql/server/default/deploy/jboss-web.deployer/server.xml to for ex 8081 (make sure to restart jboss after changing its port)


      If you like you could also try out the vagrant/puppet project I created which installs tomcat+openmrs and dcm4chee  in a Ubuntu VM (using virtualbox) and configures the ports so they dont collide:

      This should help you get started quickly (smile)

      And please join discussion on if you need more help!

  10. From this url:

    The openMRS version this radiology module supports is 1.9.*

    From: Platform Release Notes

    The release prior to Platform Release Notes 1.10.0 is Release Notes 1.9.8. But Platform Release Notes 1.9.9 is at the end of the list & there is a database structure changed between these 2 releases.

    Should I use openMRS release 1.9.8 or release 1.9.9?

    Please note: I had worked backward. I uninstalled and purged the latest release of openMRS from my system. Uninstalled and reinstalled MySQL. Installed dcm4chee. Now I want to install openMRS but not sure which version (1.9.8 or 1.9.9) I should install.

    Also, where can I find the button for posting new questions at:




    1. I have only tried 1.9.8 (which is also the version which is currently installed if you use the puppet/vagrant project

      Cant say for sure if 1.9.9 will work, you'll have to try and tell us (smile)

      And for if you have an openmrs id and are logged in there should appear "Reply to" buttons next to every message or "Reply to Topic" at the bottom of the topic.

      1. OK. I do the 1.9.9 & report back asap. I need a bit more info. I installed openMRS not too long ago (the 2.x version). So I am not familiar with the procedures of integrating the radiology (or any) module to openMRS. In fact I don't know openMRS at all. My question (likely have an answer already):

        I have installed dcm4chee. Once I install openMRS 1.9.9, is there any instructions (link please) I can follow how to integrate the content of this to openMRS so that I can get data from dcm4chee forward to openMRS and vice versa?

        Please Note: I am using windows 8.1 OS, not linux.

        Thanks in advance.

        1. thanks for testing it with 1.9.9!

          please join as this is the place meant for ongoing discussions (smile)

          for the installation process: please follow the install guide (pdf) which you find above!