Release version 0.5, June 2010
Dcmrelay is a set of scripts developed in bash, to answer some
very special needs. It has been first installed in Hospital Amato Lusitano
(www.hal.min-saude.pt) in Portugal, but quickly spread over many hospitals
to address the same requirements. Although simple, these set of scripts
have proven to be useful and reliable to many situations. Perhaps they
can help you.
Scenario 1 – We need to send medical images to an external entity. This
was true when small hospitals have some period of time during the
night or weekends, where radiologists are not available for some
medical specialty. However, we don't want the medical workstation or
modality to deal directly with the external entity, or we could have
some firewall limitations, that makes very reasonable to forward images
to an intermediate entity, that is then responsible for the relaying of
those studies to the external entities, probably going through an image
anonymization phase before sending those images.
Scenario 2 – On top of scenario 1, we can have an agreement with two
different external entities, that provide reporting services. One could be
a backup of the other. They could have different prices for the service,
making one of them the best destination for medical reports until one
particular time, say 20h00, but during the night, other entity provides
a better or cheaper service. You will need to decide based on the hour,
and have dcmrelay send to the best destination, without direct user
Scenario 3 – Sometimes it's very hard to change the IP address of a
destination entity in a modality. We can even think of many situations,
where we need or want to have an intermediate relay of images before
sending them to final destination. One of those situations is when you
want to change the contents of some elements in the medical images,
or need to make some validation on the patient data. Even knowing this
could impact negatively in the performance of a whole system.
Scenario 4 – You could just need to send the same images to two
different destinations, but don't want to do it directly on all
modalities. Dcmrelay allows sending to a primary and an optional
Some of the utilities belong to other projects, like the
OFFIS Dicom Toolkit that provides main features like dicom store SOP
both as SCU and SCP.
Easy GPL'd solution for simple dicom file relay.
Bash files in source code that you can change.
Configuration file where the most used options are defined.
We have already tested the dicom relay package in:
- RedHat 8.0, 9.0 Fedora Core 1, 2 and 3
- Debian 2.1 (kernel 2.0.26), Debian 2.2 (kernel 2.2.19pre17)
- SuSE 9.1, 9.2, 10.x, 11.x
Installation instructions are available in:
Installation specific problems:
- Debian 2.2 : Missed the location of the pidof command, and the stat command had to be compiled and installed.
- Debian 2.1 : Didn't supported the compilation of the OFFIS dcmtk. We had to download a binary version of the package. The location of pidof once again was wrong, and the stat command had to be compiled and installed.
Configuration parameters you should know in advance
- Your dcmrelay local AET (Dicom association entity title) and PORT.
- The remote destination IP address (where dcmrelay sends files).
- Remote destinations AET (Dicom association entity title) and PORT.
There are other configuration parameters, described in
Files in dcmrelay
Antonio Cardoso Martins - firstname.lastname@example.org
Elisio Martins Catana - email@example.com