mai
2009
Cet exercice est basé sur la modélisation de la CIM10 (Classification Internationale des Maladies de l’OMS) et comporte deux parties : réalisation des MCD et MPD et implantation de contraintes SQL complexes.
L’OMS (Organisation Mondiale de la Santé) édite un document appelé CIM (CIM10 ou CIM11 version la plus récent) pour Classification Internationale des Maladies.
Ce document, qui recense toute les maladies, est organisé par chapitre, sous chapitre et maladies avec différents niveau d’imbrication.
Pour en connaître la structure détaillé, vous pouvez consulter le site web de l’OMS : http://apps.who.int/classifications/apps/icd/icd10online/
Chaque maladie est identifiée par un code comportant deux parties :
la première partie est de 3 caractères : une lettre suivi de deux chiffres (donc de A00 à Z99)
la seconde partie est un nombre généralement de 0 à 9, mais pouvant être étendu à deux ou trois chiffres selon des besoins spécifiques
Voici quelques exemples de maladies :
E67.1 Hypercarotenaemia
E67.2 Megavitamin-B 6 syndrome
E67.3 Hypervitaminosis D
E67.8 Other specified hyperalimentation
Comme vous pouvez le constater, la numérotation n’est pas continue. Par exemple il n’y a pas de maladie E67.4
Voici un exemple des imbrications des différents chapitres :
D’abord les chapitres :
II C00-D48 Tumeurs
III D50-D89 Maladies du sang et des organes hématopoïétiques et certains troubles du système immunitaire
IV E00-E90 Maladies endocriniennes, nutritionnelles et métaboliques
Comme vous pouvez le constater il y a des « trous » entres les chapitres. Par exemple les entrées D49, D90 à D99 ne sont rattachées à aucun chapitre.
Ensuite l’arborescence des sous chapitres :
Exemple, avec une partie du chapitre II :
C00-C97 Malignant neoplasms
C00-C75 Malignant neoplasms, stated or presumed to be primary, of specified sites, except of lymphoid, haematopoietic and related tissue
C00-C14 Lip, oral cavity and pharynx
C15-C26 Digestive organs
C30-C39 Respiratory and intrathoracic organs
C40-C41 Bone and articular cartilage
C43-C44 Skin
C45-C49 Mesothelial and soft tissue
C50 Breast
C51-C58 Female genital organs
C60-C63 Male genital organs
C64-C68 Urinary tract
C69-C72 Eye, brain and other parts of central nervous system
C73-C75 Thyroid and other endocrine glands
C76-C80 Malignant neoplasms of ill-defined, secondary and unspecified sites
C81-C96 Malignant neoplasms, stated or presumed to be primary, of lymphoid, haematopoietic and related tissue
C97 Malignant neoplasms of independent (primary) multiple sites
D00-D09 In situ neoplasms
D10-D36 Benign neoplasms
D37-D48 Neoplasms of uncertain or unknown behaviour
Ici 4 niveaux d’imbrication sont à remarquer.
EXERCICES
I – Modélisation de données :
Réalisez le modèle conceptuel de données permettant la saisie des données de la CIM10, sachant que les libellés de chapitres et de maladie ont deux versions, celle en anglais et celle en français
II – dans ce modèle de données, assurez vous des règles suivantes à l’aide de contraintes ou de déclencheurs :
1 – La saisie d’un code maladie doit impérativement commencer par une lettre en majuscule suivie de deux chiffres. Des saisie commes ‘a01′, aa1′, ‘111’, ‘a 1′ doivent être rejetées.
2 – Pour les maladies comme pour les chapitres et sous chapitre au moins un des deux libellés doit être rempli
3 – Pour les chapitres et sous chapitres, le code début doit être inférieur ou égal au code fin
4 – Pour les chapitres de même niveau, aucun chevauchement de code ne doit se produire
5 – Tout chapitre de niveau n doit être inclus dans un chapitre de niveau n-1
—
Frédéric BROUARD, Spécialiste modélisation, bases de données, optimisation, langage SQL.
Le site sur le langage SQL et les S.G.B.D. relationnels : http://sqlpro.developpez.com/
Expert SQL Server http://www.sqlspot.com : audit, optimisation, tuning, formation
* * * * * Enseignant au CNAM PACA et à l’ISEN à Toulon * * * * *
Salut, bon c’est un peu vieux mais y a t-il eu la solution de publié qlq part ?
Cordialement
J’ai pas vue d’items vides dans les pages http://apps.who.int/classifications/apps/icd/icd10online/.
Par ailleurs pour les codes des sous-chapitres il faut plutôt I001, I002, II001, I001001, I001002… cela permettra de lier (par requête) les sous-chapitre aux chapitres ou sous-chapitres.
Excellente façon de faire… Il y a cependant quelques ombres. En effet il y a quelques items vides dans la CIM ….
On peut la faire de la sorte…
A la manière du plan comptable;
listemaladie(id int identity(1,1) not null primary key,code varchar(10) null,
libelle varchar(250)not null,typeelement(int) not null).
Le champ typeelement (0=chapitre,1=sous-chapitre,2=maladie,3=forme de maladie).
les sous-chapitres n’auront pas de code:on peut faire une requête qui trouve le code de la première maladie et celui de la dernière.
exemples de lignes
******************************************
id code libelle type
1 I les fous de access 0
2 les débutants 1
3 A00 niveau conception 2
4 A00.1 algo 3
5 A00.2 merise 3
6 A01 Les bases de access 2
7 A01.1 les tables 3
***********************************************
Il serait alors possible de faire sortir l’état comme tu le donne(en access avec une zone treeview; en sqlserver avec CTE je pense…)
Oui, mais j’attends que quelques personnes aient déjà commencés à ébaucher une solution… !
Bonjour, y a t-il une solution publiable de prévu?
Merci.