Enhanced RDSR import

14 views
Skip to first unread message

Joe Whitbourn

unread,
Jul 15, 2025, 8:27:42 AMJul 15
to OpenREM
Hi all,

We have OpenREM set up for our CT scanners and are getting great use out of it - thanks for creating this useful tool.

Elekta have recently added the functionality of producing Enhanced RDSRs from CBCT scans. I've had a quick experiment at getting these to import and unfortunately they don't (unsurprising given they are a different SOP Class UID).

In Conquest I've added to dgatesop.lst the following to get it to recognise the Enhanced files: ENHANCED_XRAY_RADIATION_DOSE_SR                                1.2.840.10008.5.1.4.1.1.88.76 sop

I've also added an import converter specific to its SOP Class UID (1.2.840.10008.5.1.4.1.1.88.76)

I can see the files come across and they are processed but I can't track back any specific issue as there is nothing reported in the OpenREM logs.

I'm not an expert in the RDSR dicom structure (or it's enhanced version) so am unsure of what to try next.

Could you advise of any pre-processing we could do to help these files import? Or even anything in OpenREM? I can provide example (anonymised) files if this helps?

Being able to use these files in an aggregated way would be be very useful for those of us in radiotherapy.

Kind regards,


Joe Whitbourn


Ed McDonagh

unread,
Jul 16, 2025, 4:39:00 AMJul 16
to OpenREM
Dear Joe, all

I too have Elekta Enhanced RDSRs being thrown at my OpenREM instance, and for now I am having to store them separately to process them later. With Orthanc, I have added the following code to the lua file on my Linux installation of 1.0.0b2:

     -------------------------------------------------------------------------------------
     -- Saving ERDSRs until we can read them

     if instance_tags.SOPClassUID ~= nil and instance_tags.SOPClassUID == '1.2.840.10008.5.1.4.1.1.88.76' then
         -- it is an Enhanced X-ray Radiation Dose Structured Report
         erdsr_file_path = '/var/dose/orthanc/erdsr/'
         local dicom = RestApiGet('/instances/' .. instanceId .. '/file')
         local target = assert(io.open(erdsr_file_path .. instanceId .. '.dcm', 'wb'))
         target:write(dicom)
         target:close()
         Delete(instanceId)
         return true
     end

     -- End of saving ERDSRs
     -------------------------------------------------------------------------------------

The Elekta Enhanced RDSR is actually a fairly simple implementation, and it would be possible to write a bespoke import routine to add the data to the database.

But what I would rather (someone) would do is to work out how all enhanced RDSRs can be imported into the database. The existing structure of the database is heavily based on the traditional RDSR - this is unlikely to work with the additional flexibility of the enhanced RDSR, and therefore we will need to work on that. In turn, this will have an effect on the display tables, charts and exports.

I have just now created an issue to track this work: issue #1049

If you or anyone else reading this would like to get started on the work for this, I would be thrilled!

Otherwise, I or someone will get to it, but it won't be in the next few months.

Kind regards

Ed



--
You received this message because you are subscribed to the Google Groups "OpenREM" group.
To unsubscribe from this group and stop receiving emails from it, send an email to openrem+u...@googlegroups.com.
To view this discussion, visit https://groups.google.com/d/msgid/openrem/132a5c27-b887-49d4-bf3e-fc2dcb02fd3en%40googlegroups.com.
Message has been deleted

Joe Whitbourn

unread,
Jul 18, 2025, 4:01:36 AMJul 18
to OpenREM
Hi Ed,

Yes - it sounds like it makes sense to move OpenREM towards covering these types of files.

I'm afraid I've got a very busy patch at work coming up - likely till Xmas - so can't offer to help right now. I'll see if I can return to it when I have time.

Is your imaging data transfer that all XVI images go to Orthanc and then onto Mosaiq? Also need to understand how to receive them all in the first instance.

Kind regards,


Joe
Reply all
Reply to author
Forward
0 new messages