Skip to content

Latest commit

 

History

History
167 lines (160 loc) · 11.7 KB

TODO.md

File metadata and controls

167 lines (160 loc) · 11.7 KB

TODO

Top

  • Delete VSCode stuff inside containers (I think its only when using the container itself as devcontainer)
  • Study Date is changed when using Selective Transfer
  • Fix that ADIT DICOMweb supports STOW of multiple image files at once -- Currently it only allow to upload only one file after another -- When multiple files at once are stored than those are send as a chunked transfer -- This seems to be not supported by DRF
  • Bring back some kind of ID in batch modes to better correlate the failures in the Excel files
    • Users must provide "QUERY_ID" in Batch Query and "TRANSFER_ID" in Batch Transfer in uploaded Excel files
    • BatchQueryTask gets an additional "query_id" and BatchTransferTask gets an additional "transfer_id"
    • Show those to the user in the task views so that they can find the corresponding Excel row more easily
    • Create new export batch query results view to optionally allow the users to export with failures
    • Also provide some more info in that view what users should do to transfer
    • https://github.com/openradx/adit/commit/c6d840b1872b3c8f39b0f0008cdce131d5863f4d
  • Add a permission to only allow to add a new job when all other jobs of the user are finished
  • Show failures in exported batch results
  • Add permissions to dicom_web views (see TODOs there)
  • Update documentation
  • Just warn when one only one series of the study could not be transferred (only error when all series could not be transferred)
  • test job_utils
  • Test canceled task/job in test_workers.py
  • Make sure all views are atomic
    • Use ATOMIC_REQUESTS database setting
    • Unfortunately we can't just set ATOMIC_REQUESTS in the database settings globally as those don't seem to work with async views
    • Try this again when Django 5.0 is released
    • Otherwise tell those async views to be @transaction.non_atomic_requests
    • Alternative is to decorate all appropriate views with @transaction.atomic
  • Use DicomLogEntry during C-STORE
  • Fix dicom explorer search over Accession Number
  • Make warning when only one image fails
  • Exclude SR and PR when in pseudonymization mode
  • Cancel processing tasks actively
  • Make registration Email unique and required. Also maybe check if an Email is of specific domains (optional).
    • We must first delete those users with duplicate or non existing Emails
    • Do this also for RADIS
  • Make sure temporary folder created in retrieve DICOM web API is cleaned up (see TODO in /home/adm-adit/workspace/adit/adit/dicom_web/views.py)
  • Look into how we can stream the file from disc (from the temp folder) with WADO (see https://chat.openai.com/share/d5a2f27f-4854-4deb-85df-b7f574638ae3)
  • Look into how we can improve STOW (do we have to upload one file at a time, can we stream it somehow)
  • DICOMwebClient currently does not support to access warnings when transferring images
  • Directly stream images from the connectors through the operators
    • Currently we download them to a folder first
    • This is ok for selective and batch transfer, but not really ok for our API calls to retrieve images
    • Also the DicomWebConnector seems to support this through iter_ interface, see ImagingDataCommons/dicomweb-client#88
    • For DimseConnector this is already partly implemented by using generators (see yield there)
  • Remove files in test folders from autoreload
  • Selective transfer choose series
  • Locked info for other apps like batch_transfer_locked.html
  • Encrypt data between swarm containers
  • Redirect after restart/retry/delete job
  • Option in batch query to query whole study or explicit series
  • Make whole receiver crash if one asyncio task crashes
  • Auto refresh job pages und success or failure
  • Query with StudyDateStart, StudyDateEnd, StudyDate
  • Common search query Websocket component
  • Improve cancel during transfer
  • Allow admin to kill a job (with task revoke(terminate=True))
  • Fix the ineffective stuff in transfer_utils, see TODO there
  • Write test_parsers.py
  • DICOM data that does not need to be modified can be directly transferred between the source and destination server (C-MOVE). The only exception is when source and destination server are the same, then the data will still be downloaded and uploaded again. This may be helpful when the PACS server treats the data somehow differently when sent by ADIT.

Fix

Maybe

RADIS