GE Surgery flat panel C-arm RDSR fails on import

Issue #739 resolved
Ed McDonagh created an issue

Reported via email from @Hamid Khosravi

Traceback (most recent call last):
  File "../bbOpenREM/openrem/remapp/extractors/rdsr.py", line 1589, in <module>
    sys.exit(rdsr(sys.argv[1]))
  File "/home/mcdonaghe/research/veOpenREM/local/lib/python2.7/site-packages/celery/local.py", line 188, in __call__
    return self._get_current_object()(*a, **kw)
  File "/home/mcdonaghe/research/veOpenREM/local/lib/python2.7/site-packages/celery/app/task.py", line 420, in __call__
    return self.run(*args, **kwargs)
  File "../bbOpenREM/openrem/remapp/extractors/rdsr.py", line 1573, in rdsr
    _rdsr2db(dataset)
  File "../bbOpenREM/openrem/remapp/extractors/rdsr.py", line 1435, in _rdsr2db
    _generalequipmentmoduleattributes(dataset, g, ch)
  File "../bbOpenREM/openrem/remapp/extractors/rdsr.py", line 1096, in _generalequipmentmoduleattributes
    content.ConceptNameCodeSequence[0].CodingSchemeDesignator == 'DCM')][0]  # 121012 = DeviceObserverUID
  File "/home/mcdonaghe/research/veOpenREM/local/lib/python2.7/site-packages/dicom/dataset.py", line 256, in __getattr__
    "'{0:s}'.".format(name))
AttributeError: Dataset does not have attribute 'UID'.

DeviceObserverUID does exist in the RDSR.

Comments (9)

  1. Ed McDonagh reporter

    GE Fluoro RDSR has a missing space in CodeMeaning for fluoro dose (RP) total, so using CodeValue instead, which we should be using anyway... Refs #739

    → <<cset fb85030d9687>>

  2. Ed McDonagh reporter

    Hoping to add example to repository for testing. For my own records, if permission is granted, I used the following command:

    dcmodify RF-RDSR-GE.dcm -m "InstitutionName=OpenREM GE Surgery" -m "TimezoneOffsetFromUTC=UTC-04:00" -m "PatientSex=O" -m "PatientAge=37Y" -m "AuthorObserverSequence[0].InstitutionName=OpenREM GE Surgery" -m "CustodialOrganizationSequence[0].InstitutionName=OpenREM GE Surgery"
    

    In addition, all UIDs were changed, patient name, ID and the accession number were added by PixelMed DICOMCleaner.

    Finally, various serial numbers, the station name and the offending UID were changed using a hex editor.

  3. Ed McDonagh reporter

    Meanings for both 'X-Ray Tube Current' and 'DateTime Started' were wrong, replaced with CodeValues. Added tests, which unearthed these issues. Refs #739

    → <<cset e33a694a2aa0>>

  4. Log in to comment