Git Product home page Git Product logo

idis's People

Contributors

dependabot[bot] avatar sjoerdk avatar

Watchers

 avatar  avatar

idis's Issues

Make job errors via web API easier to view

Is your feature request related to a problem? Please describe.

  • Check pipeline status. There is a study in /errored, which usually means the anonymization job indicates error status
  • What went wrong with this job? It is possible to find this in the logs, and possible in principle to find this on the anonymization server by looking at all jobs created. But it is not easy.

Describe the solution you'd like
For any study in the pipeline it should be easy to get the job ID associated with it. Either through the web interface or via some CLI admin command

Sending a study again within days will raise exception

Describe the bug
See title

To Reproduce

  • send a study to a stream. It goes through the pipeline and ends up in the finished folder.
  • send the same study again
    This will cause
raise StudyPushException(e)
idissend.core.StudyPushException: Destination path '/root/stages/stage/stream/studyfolder' already exists

Expected behavior
Not sure. Possibly merging the two folders? Definitly not a hard crash.

Make PII lists more readable

Currently these are rather deep python structures. See for example a SafePrivateDefinition:

safe_private = SafePrivateDefinition(
    blocks=[
        SafePrivateBlock(
            tags=[
                "0023[SIEMENS MED SP DXMG WH AWS 1]10",
                "0023[SIEMENS MED SP DXMG WH AWS 1]11",
                "00b1[TestCreator]01",
                "00b1[TestCreator]02",
            ],
            criterion=lambda x: x.Modality == "CT",
            comment="Some test tags, only valid for CT datasets",
        ),
        SafePrivateBlock(
            tags=["00b1[othercreator]11", "00b1[othercreator]12"],
            comment="Some more test tags, without a criterion",
        ),
    ]
)

This is hard to read and edit, easy to get wrong. Make this more like this:

if Modality == "CT"  # Some test tags, only valid for CT datasets
    "0023[SIEMENS MED SP DXMG WH AWS 1]10",
    "0023[SIEMENS MED SP DXMG WH AWS 1]11",
    "00b1[TestCreator]01",
    "00b1[TestCreator]02",

"00b1[othercreator]11"
"00b1[othercreator]12"

Introduce a pipline study reset function

Is your feature request related to a problem? Please describe.

  • There is pending data for which an IDIS job has been made. The data is in the pending folder.
  • This job get an error status for some reason
  • The pending data is moved to 'errored' in pipeline which moves it to the errored folder
    Now I'd like to retry the IDIS job. However, this will fail, as the source data is no longer in pending
    I can move the data back, but the pipeline will move it back to errored as soon as it finds error status in IDIS

Describe the solution you'd like
Both IDIS and pipeline need to be reset at the same time.
There should be some command for this somewhere in the pipeline. The pipeline can reset the IDIS job and move the data back simultaneously.
I'm unsure of where to put his command though. In the django website? as a CLI command? as a django admin command?

Add anonymization completed webhook

When a study has been anonymized, send a post request to post-processing reveivers

Is your feature request related to a problem? Please describe.
For full problem and solution see sjoerdk/research-bureau-roadmap#5

Add status to datastream object

It should be possible to deactivate a datastream without completely deleting it.
It should be possible to indicate whether a datastream is active or inactive

Exception in one stream will halt processing of all streams

Describe the bug
Exception in one stream will halt processing of all streams

To Reproduce
Steps to reproduce the behavior:

  • Send a study to a stream, make sure something goes wrong so the folder for that study remains
  • Send the same study again (will cause exception due to folder already existing)
  • Now streams without a problem will not be processed

Expected behavior
Exceptions in one stream should be logged, but processing of other streams should continue

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.