Veriton RDSR doesn't import correctly

Issue #865 resolved
Ed McDonagh created an issue

Veriton SPECT-CT imports, but isn’t registered as CT.

Comments (22)

  1. Ed McDonagh reporter

    DICOM TID_1020 details how the Person Participant should be implemented.

    DICOM Table TID 10015. CT Dose Check Details shows that Person Participant is mandatory, conditional on the Accumulated DLP Forward Estimate exceeding DLP Alert Value or Accumulated CTDIvol Forward Estimate exceeding CTDIvol Alert Value. Which it didn’t in the example I have, but if it is there, it surely must conform!

    This is the sequence from the Spectrum Dynamics RDSR:

       (0040, a010) Relationship Type                   CS: 'CONTAINS'
       (0040, a040) Value Type                          CS: 'PERSON NAME'
       (0040, a043)  Concept Name Code Sequence   1 item(s) ---- 
          (0008, 0100) Code Value                          SH: '113870'
          (0008, 0102) Coding Scheme Designator            SH: 'DCM'
          (0008, 0104) Code Meaning                        LO: 'Person Name'
          ---------
       (0040, a160) Text Value                          UT: ''
       ---------
       (0040, a010) Relationship Type                   CS: 'HAS PROPERTIES'
       (0040, a040) Value Type                          CS: 'CODE'
       (0040, a043)  Concept Name Code Sequence   1 item(s) ---- 
          (0008, 0100) Code Value                          SH: '113875'
          (0008, 0102) Coding Scheme Designator            SH: 'DCM'
          (0008, 0104) Code Meaning                        LO: 'Person Role in Procedure'
          ---------
       (0040, a168)  Concept Code Sequence   1 item(s) ---- 
          (0008, 0100) Code Value                          SH: '113850'
          (0008, 0102) Coding Scheme Designator            SH: 'DCM'
          (0008, 0104) Code Meaning                        LO: 'Irradiation Authorizing'
          ---------
       ---------
       (0040, a010) Relationship Type                   CS: 'HAS PROPERTIES'
       (0040, a040) Value Type                          CS: 'TEXT'
       (0040, a043)  Concept Name Code Sequence   1 item(s) ---- 
          (0008, 0100) Code Value                          SH: '113871'
          (0008, 0102) Coding Scheme Designator            SH: 'DCM'
          (0008, 0104) Code Meaning                        LO: 'Person ID'
          ---------
       (0040, a160) Text Value                          UT: ''
    

    This shows that instead of providing (0040, a123) Person Name in the Concept Name Code Sequence, (0040, a160) Text Value has been provided.

    As that isn’t allowed or expected, the RDSR code fell over when it came across it.

  2. Ed McDonagh reporter

    @David Platten I’m getting nine errors like the following one when I run the tests locally on my machine, and I don’t understand where the 1.0.2 requirement comes from. Do you have any ideas?

    ======================================================================
    ERROR: test_pulse_level_data (remapp.tests.test_export_rf_xlsx.ExportRFxlsx)
    Tests that RDSR with pulse level kVp, mA, pulse width data imports and exports with mean values
    ----------------------------------------------------------------------
    Traceback (most recent call last):
      File "/usr/lib/python3.8/unittest/case.py", line 60, in testPartExecutor
        yield
      File "/usr/lib/python3.8/unittest/case.py", line 676, in run
        self._callTestMethod(testMethod)
      File "/usr/lib/python3.8/unittest/case.py", line 633, in _callTestMethod
        method()
      File "/home/mcdonaghe/research/bbOpenREM/openrem/remapp/tests/test_export_rf_xlsx.py", line 151, in test_pulse_level_data
        rfxlsx(filter_set, pid=pid, name=name, patid=patient_id, user=self.user)
      File "/home/mcdonaghe/research/vep38/lib/python3.8/site-packages/celery/local.py", line 191, in __call__
        return self._get_current_object()(*a, **kw)
      File "/home/mcdonaghe/research/vep38/lib/python3.8/site-packages/celery/app/task.py", line 393, in __call__
        return self.run(*args, **kwargs)
      File "/home/mcdonaghe/research/bbOpenREM/openrem/remapp/exports/rf_export.py", line 610, in rfxlsx
        create_summary_sheet(tsk, e, book, summarysheet, sheetlist)
      File "/home/mcdonaghe/research/bbOpenREM/openrem/remapp/exports/export_common.py", line 646, in create_summary_sheet
        vers = pkg_resources.require("openrem")[0].version
      File "/home/mcdonaghe/research/vep38/lib/python3.8/site-packages/pkg_resources/__init__.py", line 892, in require
        needed = self.resolve(parse_requirements(requirements))
      File "/home/mcdonaghe/research/vep38/lib/python3.8/site-packages/pkg_resources/__init__.py", line 783, in resolve
        raise VersionConflict(dist, req).with_context(dependent_req)
    pkg_resources.ContextualVersionConflict: (pandas 1.1.3 (/home/mcdonaghe/research/vep38/lib/python3.8/site-packages), Requirement.parse('pandas==1.0.2'), {'openrem'})
    

    I’m also getting a lot of these:

    /home/mcdonaghe/research/vep38/lib/python3.8/site-packages/plotly/express/_core.py:387: FutureWarning:
    
    Support for multi-dimensional indexing (e.g. `obj[:, None]`) is deprecated and will be removed in a future version.  Convert to a numpy array before indexing instead.
    

    Have you seen this?

  3. David Platten

    I’ve seen the plotly multi-dimensional indexing warning and have tried to identify exactly where in the code it is being used, but have been unable to track it down. I’ll have another look.

  4. Ed McDonagh reporter

    I was wondering if it was in the plotly code rather than yours, but the deprecation came into pandas for v1.0, and we are on v1.1.3 so it seems unlikely (there are several plotly releases between when pandas 1.0 was released and the version we are currently on)

  5. David Platten

    I’ve fixed the plotly multi-dimensional indexing warning - see the issue870improveDataFrameMemoryEfficiency branch and associated pull request.

  6. Log in to comment