Modèles de données / Solutions  
       A l'hôpital 
 
1. Un sujet très vague...

Nous avons vu dans le cours qu'il est fréquent que l'on ne dispose pas vraiment d'énoncé : celui-ci est à construire. Le but est ici de montrer comment la construction du modèle suggère le dialogue avec les utilisateurs pour déterminer quels sont les besoins.
 
Il ne s'agit donc pas d'un "corrigé" pour le problème du dossier médical. Il semble d'ailleurs que l'on ne soit pas encore vraiment parvenu à des solutions totalement satisfaisantes dans ce domaine : comme nous allons le voir elles impliquent des arbitrages entre des utilisateurs dont les intérêts sont essentiellement divergents.
 

2. Un problème initial "d'entitation".

Dans cette histoire, nous sommes en présence de médecins qui rencontrent des patients, ce qui peut donner l'idée suivante :
 

Quelle plus belle "relation" qu'un rendez-vous, n'est-il pas ?

Il va falloir maintenant préciser ce rendez-vous avec les examens, les actes, etc. Ce qui donne :

Ca ne va pas !
- Il se peut qu'aucun acte ne soit prescrit lors du rendez-vous. La règle qui dit "s'il existe une occurrence d'association, alors il existe nécessairement une occurrence de chacune des entités associéesn'est pas respectée.
En clair l'association Rendez-Vous ne fait pas sens avec l'entité Actes. Et que l'on ne prétende pas qu'une cardinalité mini à 0 sur Actes fait l'affaire ! (elle ne ferait que dire qu'il pourrait exister un exemplaire d'acte qui ne participe pas à un rendez-vous, ce qui est très exactement l'inverse de ce que nous voulons exprimer).
- D'autre part, inventer une association comme Donner Lieu ou Prescrire, rattachées au Rendez-vous est interdit : une association lie des entités, pas des associations.

D'où vient donc la difficulté ?
En fait, elle vient de ce qu'il faut attacher des descriptions pour tout ce qui se passe durant ce rendez-vous. Initialement ces informations sont des propriétés du rendez-vous, mais comme elles sont importantes pour notre dossier médical, (elles ont elles aussi des propriétés) on veut en faire des entités ayant une existence propre.

La seule solution dans le modèle Entité-Association consiste à élever le rendez-vous lui-même au rang d'entité pourvue d'existence propre.

Mais alors, comment nommer cette entité qui prendrait la place de l'association RENDEZ-VOUS ?

Nous suggérons de l'appeler CONSULTATION, un mot qui indique que, au-delà de la rencontre Médecin/Patient, nous nous intéressons à ce qui se passe lors de cette rencontre.
Nous allons devoir "inventer" un identifiant qui peut-être n'existait pas dans le domaine (en fait, si vous vous rendez dans un "vrai" hôpital, on va vous affubler d'un étrange "n° d'entrée" qui n'est autre que notre n° de consultation, mis à part qu'il est beaucoup plus général. Il intervient quel que soit le motif de votre visite : consultation externe, admission en urgence, ou hospitalisation).

Observer encore que le mot "consultation" lui-même ne figurait pas dans ce que l'on nous avait spontanément raconté ("l'énoncé") : il est engendré par la réflexion sur le modèle.

Bref, nous obtenons pour le moment :

Quelques remarques :
- On peut questionner la réalité des cardinalités 1-1 depuis Consultation vers Médecin et Patient respectivement.
- On peut questionner la pertinence de Date comme propriété de Consultation et envisager d'en faire une entité : l'application devra t'elle être utilisée pour tenir des agendas de consultations par service, par médecin ? On ne peut répondre sans les utilisateurs.
- Une erreur classique qui devient manifeste : sous prétexte que c'est le Médecin qui prescrit éventuellement les actes, on a tendance à les rattacher au seul médecin : toujours ce vieux réflexe des chaînes de causalité qui ne s'expriment pourtant pas dans un modèle de données.
En effet, on voit clairement ici que, le médecin faisant plusieurs consultations, il ne serait alors plus possible de retrouver le patient concerné par ces prescriptions. Or pour un dossier médical, c'est la moindre des choses que de pouvoir fournir un tel renseignement.
Le même raisonnement vaut, de manière symétrique, si l'on tente de rattacher les actes à la seule entité patient : on ne saura plus dire quel(s) médecin(s) a fait la prescription.
 

Auteur : Bernard Morand  Entité-Association Date de dernière mise à jour : 1/03/1999