fli-iam / shanoir-ng

Shanoir (SHAring iN vivO Imaging Resources)
GNU General Public License v3.0
19 stars 21 forks source link

[NG-2022-5] Quality Control #1151

Open jcomedouteau opened 2 years ago

jcomedouteau commented 2 years ago

Lead developers: Julien+Michael The idea of this roadmap issue is to increase the quality of the data during the import, with a kind of quality control for imported data, maybe during the import or via an email sent after the import to inform users to take some action. Our idea is at the moment to extend study cards with so called „quality check“ rules, that should match during one import. Maybe we will have to define such rules on a study level, to apply them for all data imported into one study. Some ideas below from multiple Shanoir experts:

We could imaging establishing some "minimal rules" to be able to import:

They could be defined at study level or center level.

The problem : to include patient in some clinical studies, constraints on imaging data must be validated such as slice thickness / size / resolution / modality, etc. This could be done "a posteriori" but it's very costly, and it does not inform centers contributing data on the required data quality. Checking QC before inclusion would lead to less data volume, better quality and better usage of the contributed data.

Assumptions:

!Attention! Quality study cards can be cross-modality, e.g. for MR,CT etc. but different cards might be necessary for different modality, the check for sequences for MR might not be the same check as the check for sequences for CT!

Questions:

jcomedouteau commented 2 years ago

The problem we encounter with study card is that it is stored in Datasets microservice. If we want to pre-analyze the dicom content, we need to do it in "import" state.

These rules should be defined at study level, or even maybe at center level. (We can imagine updating study_center entity to add these rules).

jcomedouteau commented 2 years ago

Elise: Study administrator should be informed. Contraintes fortes ou non (au choix) -> Si un patient n'a pas tenu la séquence, il manque une série -> On doit les prendre quand même. Vérifier que les données qu'on souhaite s Dossier QC Shanoir.docx ont bien importées. On fait ça au niveau centre / équipement (on attend pas forcément la même chose de chaque centre) Voir le doc déjà réalisé

michaelkain commented 2 years ago

The idea is to start with the most simple and basic checks, see script developed by Malo.

ebannier commented 2 years ago

+1

jcomedouteau commented 2 years ago

We need to find a query builder in order to let an user build a query and be able to apply it in the back.

Proposition: https://zebzhao.github.io/Angular-QueryBuilder/demo/

There is an existing pull request to be able to display the query in human readable format https://github.com/zebzhao/Angular-QueryBuilder/pull/191

This produces an usable query as json that can be stored and applied in the backend.

jcomedouteau commented 2 years ago

Screenshot of quality control edition with 3 levels

QC_screenchot_study_detail

When applying quality control post import, display flags on study tree:

image