1 pièce(s) jointe(s)
gestion d'images - problème cognitif :)
Salut à tous, :D
Alors je vais vous expliquer un peu le cadre de travail. Je vous l’annonce en clair: Le schéma doit être flexible. Donc ça fait que tout les tests doivent être effectués par des requêtes et que les contraintes ne peuvent pas être renforcé en dur dans le schema.
Donc un site peut utiliser un ou plusieurs scanners à condition d’avoir été approuvé par une approbation . Une approbation est effectué pour un patient, qui est dans un code site et qui se porte volontaire, un code site et un scanner. Grâce à une approbation , on va pouvoir connaître les séquences que le code site pourra utiliser pour ce scanner. Toutes les informations sont enregistrés dans la relation images avec un status. (approuvé, non approuvé). Si on veut savoir si le site XY est approuvé pour une séquence XA, il suffira de faire une requête dans la relation approbation et images avec status approuvé pour savoir si la séquence a été approuvé. Cette partie n’apparait pas sur le schéma en lui-même.
Pourquoi ai-je mis un code site dans la relation approbation alors que un patient à déjà cette information? Car un patient peut changer de site et je ne saurai plus pour quel code site l’approbation initial a été faite.
Une fois cette partie effectuée, le code site peut commencer à recevoir des patients. Le patient peut aller dans n’importe quel scanner de n’importe quel site tant que ce scanner est approuvé pour la séquence demandé. Mais en général toutes les séquences se font sur le même scanner.
Maintenant passons aux visites. Donc le patient va effectuer une visite pour un numéro de semaine, et nous allons recevoir plusieurs images. On va enregistrer sa visite avec un status (succès, échec) et toutes les images acquises avec leur propre status (approuvé, non approuvé). Pourquoi deux status différents? Car si le patient ne vient pas, nous allons pas acquérir d’images et donc le status de la visite sera attribué à échec. Mais ça peut être aussi pour tout simplement dire que l'on connait pas l'information pour l'instant ou mettre les nouvelles visites à venir..
Pourquoi les relations autours de images peuvent-être nul ? Dans ma base de données pour l’instant et c’était pas trop prévu au départ, on stocke les images acquises mais aussi celle générées. Donc les images générées n’ont forcément pas de scanner, de code site, pas de numéro de semaine mais peuvent en avoir.
Donc je vois la chose ainsi. Si c’est une image acquise, l’utilisateur sera obligé de renseigné tout les paramètres nécessaires(comme le scanner, le code site [pour éviter de perdre sur quel code site la visite a été faite si le patient change de site], le numéro de semaine, les paramètres du scanners). Si c’est une image traité, il devra au minimum spécifier pour quel patient s’est et puis 2 ou 3 autres champs …
Pour encore plus m’enfoncer … Nous avons aussi des images de références qui ne sont pas lié à un patient en particulier. Elles servent juste à nous aider. Donc voici pourquoi j’ai un lien nul aussi sur patient.
Mes questions:
Peut-on considérer les métadata d’une image comme une redondance d’informations ? Par exemple, la relation image est lié à numéro de semaine lors d’une visite de patient. Donc j’ai à deux endroit l’information, dans images mais aussi dans visite! Par exemple, dans l’enregistrement visite, si je change le numéro de semaine, il faut aussi que je change le numéro de semaine pour toutes les images liées …
Est-ce une redondance ? Je dirai oui ! Comment faire pour l’éliminer si s’en est une ?
Devrai-je séparer les images acquises des images traitées mais aussi des images de références ? Je dirai bien que oui. Au moins pour les images acquises et traitées. Le soucis c’est que nous avons un prototype fonctionnel et j’aimerai éviter de faire une trop grosse modification d’un coup. Donc j’aimerai la faire en deux ou trois fois. Une idée ?
Lorsque j’enregistre une image, elle ne peut pas être pour une approbation, une visite et une image traité. Elle ne peut être que pour une seule des trois relations. Donc contrainte d’inclusion si je me trompe pas ? Si je dois descendre dans la soute: serait-ce un trigger à mettre en place ou un check ?
J’aimerai factoriser la relation approbation et visites car dans le fond, c’est la même chose. Les images acquises pour une approbation auront les mêmes informations que celles d’une visite.
La seule chose qui change, c’est de pouvoir dire dans la relation visites qu’une visite pour un patient donné et un numéro de semaine à échoué, ou mettre celle à venir... Forcément je dois pouvoir distinguer si c’est une visite normal d’une approbation. Une idée pour mettre ça en place ?
Je remercie d’avance ceux qui prendront le temps de lire et de m’aider :)
Pièce jointe 194529