Skip to content

Shanoir TAGS

jcomedouteau edited this page Oct 13, 2021 · 3 revisions

Shanoir TAG spécification

The idea of this feature is to allow users to put specific labels on subjects with colored tags. Then the user will be able to discriminate subjects using these tags. These tags must not convey any identifying informations from a clinical document, but only a way to discrimine them.

Usage:

I have a 100 patients on Shanoir after a study on traumatic brain injury:

  • 30 Healthy patients
  • 30 Patients with a glasgow > 9
  • 40 Patients with a glasgow < 9 Among these patients, some of them have visible trauma on the image, some haven't. I want to be able to easily visualize/download my data according to this criteria (train an algorithm on healthy patients first, then on Galsgow > 9 patients, then on glasgow < 9 patients).

Functional specification

1. Allow the creation of specific tags on a study

On the study detail/edition, we add the possibility to create tags with specific colors.

  • Every tag is linked to one and only one study (cannot be shared).
  • Every tag has a unique name
  • Tags can be deleted only when they are not linked anymore.

2. Apply these tags on subjects

The tag is linked to the Subject-study link, and not directly to a subject. That means that a subject can be tagged differently for different studies.

This link can be created on three pages:

  • Study edition
  • Subject edition
  • Import - clinical context when selecting the subject

3. Filter subjects based on this tags.

On solr display, let the user be able to search by tags, and possibly to exclude some tags, with logical operator. (example: I want all subjects with no visible trauma and a glasgow < 9) On study detail, display the tags in the study tree On subject detail, display the tags in the data tree

Technical specification

Tag is an entity with:

  • Name (unique in the study)
  • Color (defined as #hexa text in DB)
  • Study ID
  • ID

The study also carries its list of tags in the java object.

An association table is created between tags and subject_study table <subject_study_id, tag_id>

So that:

  • A tag can be linked to one or more subject
  • A subject can have one or more tags

Solr search

As Solr is defined in datasets microservice, we need to transfer information from studies to datasets to keep the information alive for solr. The information will be kept in an IdName element that will have as information

  • subjectStudyID
  • Tag ID

Opening

We could imagine being able to tag examinations or others entities.

Clone this wiki locally