Duplicate display names for GE OEC Fluorostar mobile fluoroscopy system

Issue #908 resolved
David Platten created an issue

A GE OEC Fluorostar system has recently been configured so that DICOM RDSR objects can be sent to OpenREM. This works, but each study sent creates a new entry in the Display Name table. This seems to be because each study uses a different Device Observer UID. My understanding is that this field should be unique to the equipment, but for this system it changes for each study.

It is very unlikely that I will be able to change the data being sent from the system, so would like a solution built into OpenREM.

We could add a section to the local_settings.py:

IGNORE_DEVICE_OBSERVER_UID_FOR_THESE_MODELS = ['GE OEC Fluorostar']

Then in rdsr.py before the equip_display_name is created:

from django.conf import settings
if device_observer_uid in settings.IGNORE_DEVICE_OBSERVER_UID_FOR_THESE_MODELS:
    device_observer_uid = None

May need to add the above into the other extractors too.

Thoughts?

Comments (23)

  1. Ed McDonagh

    Is it a maintained/current model? Might it be fixed in a future software release?

    We’d need to add it to the .env.prod docket file too.

  2. David Platten reporter

    The system is serviced by a third-party company. I have contacted them to report the issue, and asked for contact details of the manufacturer so I can report it directly.

  3. David Platten reporter

    Added a setting to contain a list of equipment models where the Device Observer UID must be ignored when creating display name data during RDSR import. Refs issue #908

    → <<cset b228c5505959>>

  4. David Platten reporter

    @Ed McDonagh would you like me to add this to the .env.prod file in the Docker repository?

  5. Ed McDonagh

    Yes please. This is where it can get complicated… I think you should create a issue908ignoreDeviceObserverUID branch in that repo too, and if/when we merge in this repo, we remember to merge into develop in that repo too. Hmm. Not a pretty workflow.

  6. David Platten reporter

    Correcting error in logic: I need to see if the current RDSR is in the ignore list, not check if the device observer uid is in the list. Doh. I can confirm that this code works. Refs issue #908

    → <<cset 8a57c669560a>>

  7. Ed McDonagh

    @David Platten I notice that this is in settings.py after local_settings.py is imported, and doesn’t exist in local_settings.py

    I think maybe when you were implementing this we were just doing Docker, where the local_settings.py file was redundant?

    If I’m reading this right, I’ll move it up the settings.py file, add it to local_settings.py file and modify the docs.

    I’ll reopen the issue for now so I don’t forget.

  8. Ed McDonagh
    • changed status to open

    Reopening to remember to make sure this is right before release (location of setting and docs) - see comment on 16th October 2022

  9. David Platten reporter

    Good spot @Ed McDonagh . I’ve just noticed that my test 1.0 system has lots of display name entries and was wondering what was going on. I have just moved the settings.py variable so it is before the import of local settings, and expect that will fix it.

  10. Log in to comment