Method generates DICOM-compliant unique identifiers using Java

February 6, 2008

The DICOM standard specifies that all DICOM objects have globally unique identifiers. The variety of methods in use makes it difficult, however, to generate unique identifiers that comply with DICOM constraints and still ensure global uniqueness.

The DICOM standard specifies that all DICOM objects have globally unique identifiers. The variety of methods in use makes it difficult, however, to generate unique identifiers that comply with DICOM constraints and still ensure global uniqueness.New research alleviates concerns regarding unique identifier (UID) generation by offering a more simple means to create DICOM-compliant unique identifiers using the Java programming language (J Digit Imaging 2007 Sep 25 [Epub ahead of print])."This article outlines a few easy Java commands that will appropriately transform the inherent Java globally unique identifiers into DICOM-compliant UIDs without compromising their global uniqueness," said Dr. Aaron Kamauu, a clinical decision support specialist with Roche Palo Alto. Java is a commonly used programming language in biomedical applications, that can be adopted into medical imaging applications with minimal effort, Kamauu said.

When an application creates a DICOM object, such as a medical image or structured report, it must generate and assign an identifier to that object. Specific DICOM rules govern generation of identifiers:

  • they must be globally unique
  • they must consist of only numbers with no leading zeros
  • they must not be greater than 64 characters

Any application that creates DICOM objects, including PACS and imaging modalities, guarantees that the private UIDs will never become replicated either internally or externally to the institution.

Each UID, including those privately defined and registered by vendors, is made up of two components: the organization root and the suffix. The organization root ensures external uniqueness, while the suffix ensures internal uniqueness.Complying with these DICOM restrictions can be accomplished more simply by using the Java UID class, Kamauu said. His technique combines a root organization identifier, assigned descriptive identifiers, and Java-generated unique identifiers to construct DICOM-compliant UIDs. The Java UID class provides a simple technique for calculating numbers that ensures global uniqueness, he said. "We believe our Java-based solution will streamline development of radiologic and medical image software, particularly at academic institutions that do not have full software development resources," Kamauu said.