Developing Dicom Apps: How to obtain an org root UID for free
If you have ever developed a DICOM-related application you may have at some point wondered how to obtain an org root UID.
An org root UID is necessary for generating certain DICOM tags, such as studyUID, seriesUID, SOPInstanceUID, etc, in a way that is consistent with the DICOM standard, ie: specifically that they be unique across the universe (ie: planet earth and nearby space for our purposes :P). Your org root is your organization’s unique identifier, and serves as the prefix when generating such tags.
Org root UIDs are typically issued by international issuing bodies, and often come with a hefty fee (think ~ $10,000 USD in 2016), and information on obtaining a free org root UID seems to be fairly scarce online as of this writing. This means many developers will just make up their own for testing purposes, which is not ideal (especially if you will be using some of this test data in a live setting, or otherwise doing something that risks leaking it out into the real world).
Luckily, Medical Connections in the UK issues them free. They generate them by appending to their own unique org root UID in a way which ensures uniqueness.
As far as I can tell, they are providing the UIDs as a public service, specifically to avoid developers rolling their own UIDs and polluting the universe with non-DICOM complaint tags. I’m sure that the free publicity doesn’t hurt :P, given that they sell medical IT software and consulting services:P.
Obtaining an org root from Medical Connections was a simple process. I simply visited:
https://www.medicalconnections.co.uk/Free_UID
and filled out their form. A few minutes later I received an email with my very own org root UID:
Dear David Simic
I have pleasure in enclosing your UID prefix as promised. It is:
1.2.826.x.x.xxxxxx.x.xxxx.
You are hereby granted full permission to use this UID prefix as your own subject only to the following minimal conditions:
1) You agree to operate a policy to ensure that UIDs subordinate to this prefix cannot be duplicated.
2) You may sub-delegate ranges using your prefix, providing this is either on a not-for-profit basis, or as part of another product.
i.e. you may not sell numbering space itselfI hope that this facility is useful to you, but if you have any questions, please ask.
Yours sincerely
xxxx
And that was it!
All in all, I’m rather surprised how long it took me find such a service (ie: several unsuccessful googling sessions online), hence why I think it was worth writing this post and increasing awareness.
Anyways, happy coding.
Hey David,
Thanks this is really useful. Do you have any advice on how to manage creating unique instance UID based on this prefix?
Cheers
Yes — basically a typical UID is 64 characters and this is specified in the DICOM standard.
Usually the first parts of the UID are org identifiers, then sub orgs /dept/ geo location / specific scanner, then timestamp in ms, and so on. In other words, scanning the UID from left to right you typically go from more general to more specific.
The free UID prefix only covers the first few of these 64 characters, so you have quite a few left to generate and enough leeway to ensure uniqueness unless you are really doing insane amounts of volume, in which case you can probably afford to purchase your own org prefix :).
If you want more info on how to generate UIDs, I recommend you google how to generate dicom UIDs, there are many resources out there that talk about it in more detail, but it’s basically what I sketched above.