Monday, January 9, 2012

Introduction to DICOM - Chapter 6 - Transfer Syntax

Transfer syntax defines how DICOM objects are serialized. When holding an object in memory, the only thing that matters is that your application can use it. The internal representation of the object is your own business. However, when sharing objects with other applications, everyone should be able to use the same object. The common solution for such problems is serialization.

Serialization is the process of writing a data structure or object state to wire i.e in a format that can be stored in a file or memory buffer, or transmitted across a network so it can be read on the other side of the wire or later by the same or by another process.

There's no shared memory in DICOM but it can be easily made using the same mechanism that is utilized for networking and files alike i.e. serializing the object into memory according to the rules dictated by the standard i.e. using transfer syntax.

In this post I'll cover the following issues:
  • Present the term Transfer Syntax, 
  • Why Transfer Syntax is required 
  • What is Transfer Syntax used for 
  • How Transfer Syntax is set when using 
    • DICOM files 
    • DICOM network
So, as I said, the serialization in DICOM is governed by a term called Transfer Syntax.

Transfer Syntax is defined at the object level and is the syntax for serializing a DICOM object. We have seen transfer syntaxes already in chapter 5 when dealing with association negotiation but did not discuss them. In order for an application to read a DICOM object from a network wire, it has to know the rules that were used to write the object into the wire. In the association request the calling AE sends a list of abstract syntaxes with SOP Class UID's. For every SOP Class, the calling AE sends a list of transfer syntax UID's. In the association response the called AE selects one of the transfer syntax UID's for every SOP class it accepts.


Thursday, November 17, 2011

Special offer for the new HL7Kit Pro 1.5

The new version 1.5 of HL7Kit Pro - HL7 to Database Integration Engine was released today. To celebrate the new release, the new version is offered at only $249 and includes all 4 applications in a single installation package. We've come to realize that our users prefer having the entire product installed on the production server including the HL7 Sender, HL7 Receiver and the HL7 Mapping Tool.

The main new feature of the new release is the support of multiple protocol versions and multiple mapping rules for a single runtime service. The runtime service can be configured to use different message definition files and different mapping XML for every remote application. This feature was requested long ago by many customers and a workaround to allow this was introduced in version 1.2. Now this feature is fully integrated into the product. The new release can be downloaded here.

Friday, October 28, 2011

HL7Kit Video Tutorials

If one picture worth a thousand words, how much does a 20 minutes video tutorials worth?
The HL7Kit web site promise that "You are 20 minutes away from HL7 integration!" I checked that again, this time on film.
From download to runtime deployment, a series of five detailed videos showing step by step how to set up a ADT^A01 message interface using HL7Kit.
Here it is. Comments and questions are most welcome.


Sunday, September 25, 2011

Open Source HL7 Sender

[update 24 March 2023: Latest releases of HRZ software can be found on HRZ website - www.hrzkit.com]




HL7 Sender source code is now available for free download.
The full source code of the HL7 editor / HL7 sender application can be obtained from the product web site

Sunday, May 15, 2011

RZDCX DICOM Library Release 2.0.0.8

The new release of RZDCX - Fast Strike DICOM Toolkit addresses customers change requests and enhancements.
The change log is detailed in the following table.

#TypeStatusCreatedBySubsysChangedAssignedSvrPriTitle
253newfixedMar 23zroniRZDCXMar 23zroni53Limit log file sizeedit
254newfixedApr 20zroniRZDCX10:52zroni33Support Unicode filenamesedit











256newfixedMay 14zroniRZDCXMay 14zroni53Add Status Detail to Error Messageedit


All changes does not affect the default behavior of the DICOM Library.

Change #253 addresses the size of the log file. This change enables the user to set a size limit in terms of number of messages in the file. The change introduces new methods to the DCXAPP interface that control the log file size and filename. For more information please read the DICOM Library Documentation page dealing with DICOM Diagnostics and Logging.

Change #254 adds support for Unicode filenames. After this change, all method parameters that carry filenames (e.g. OnStoreSetup, OnStoreDone, SaveFile, openFile, Send, CommitFiles) may use Unicode filenames strings. For example, if your application requires to save DICOM files with names with Mandarin characters, this is now supported.

Change #256 adds more information to the error description that is provided when a DICOM command fails by dumping all optional command attributes that were provided by the peer application into the error description string. The status details attributes are optional elements that a SCP may provide when commands fail. These may be a list of offending elements or other information that can help diagnose the problem. See for example DICOM Stabdard part 7, Section 10.1.5.1.6 describing N-CREATE Status Detail.

Tuesday, February 1, 2011

New HL7Kit Release 1.4 adds multiple destinations

We're happy to announce the new release 1.4 of HL7Kit, HL7 Integration Engine.
This release takes HL7Kit a major step forward with the new multiple-destinations feature.
With multiple destinations, HL7Kit can serve as a dispatcher for HL7 messages, sending the same message to multiple applications.
Every destination is monitored independently and has it's own retry counter, logging and error handling.
Users may select to send messages to all configured destinations or just to specific ones, depending on integration needs.
In addition, this release includes new message structure definitions for MDM messages.
A complete list of the features can be found in the updated user's manual available for download from the product support page at http://www.hl7kit.com/support.html.

Sunday, January 16, 2011

DICOM SR - Structured Reports Made Easy with RZDCX 2.0

A new year is the perfect time for a new product version.
2011 is the year for the new release of RDCX DICOM Toolkit version 2.0 with structured reporting.

The major feature of this release is the all new DCXSR interface for creating DICOM Structured Reports using the dynamic SR dictionary.

If you had the chance to play around with DICOM SR's, you'll probably agree with me about one thing: so many attributes for so little information, ha? Just look at all these nested sequences, oh my god!