WOW !! MUCH LOVE ! SO WORLD PEACE !
Fond bitcoin pour l'amélioration du site: 1memzGeKS7CB3ECNkzSn2qHwxU6NZoJ8o
  Dogecoin (tips/pourboires): DCLoo9Dd4qECqpMLurdgGnaoqbftj16Nvp


Home | Publier un mémoire | Une page au hasard

 > 

Réalisation d'un système expert pour la thérapeutique et le diagnostic des maladies de la tuberculose

( Télécharger le fichier original )
par Schadrac KANDE KANUMUAMBIDI
Université de Notre Dame du Kasayi - Licence 2009
  

précédent sommaire suivant

Bitcoin is a swarm of cyber hornets serving the goddess of wisdom, feeding on the fire of truth, exponentially growing ever smarter, faster, and stronger behind a wall of encrypted energy

CHAPITRE VI: IMPLEMENTATION DU SYSTEME EXPERT EN CLIPS

Le point de chute d'un travail informatique est la réalisation d'une application qui consistera au développement d'un logiciel pouvant assurer un bon service à l'utilisateur.

VI.1. PRESENTATION DE LOGICIEL

Pour cette application, nous utiliserons le langage de programmation CLIPS qui est un type de langage de programmation conçu pour implémenter des systèmes experts. Un système expert est un programme spécialement conçu pour modéliser une expertise ou une Connaissance humaine.

Nous avons porte notre choix sur ce langage de programmation, parce qu'il est un outil pour le système expert il est aussi un environnement complet pour développer des systèmes experts, incluant des caractéristiques telles qu'un éditeur intégré et un outil de débogage.

VI.2. LE CODE SOURCE

(defrule presentation

(initial-fact)

=>

(printout t "*******************************************************************************************"crlf

"* SYSTEME EXPERT POUR LE DIAGNOSTIC ET LA THERAPEUTIQUE DES MALADIES DE LA TUBERCULOSE *"crlf

"*******************************************************************************************"crlf "*Auteur: schadrac KANDE *"crlf

"*Promotion: L2 Informatique *"crlf

"*version: clips 6.30 beta *"crlf

"*Année Academique: 2009-2010 *"crlf

"*******************************************************************************************"crlf

crlf crlf crlf "Tapez la touche ENTREE pour continuer ... "

crlf

)

(bind ?touche (readline))

(assert (fait debut))

)

(defrule regle1

(fait debut)

=>

(printout t "voici la liste des symptomes:"

crlf crlf

"A. Adénopathies cervicales" crlf

"B. Amaigrissement" crlf

"C. Anorexie" crlf

"D. Asthénie" crlf

"E. Fiévre peu élevée" crlf

"F. Température" crlf

"G. Transpiration" crlf

"H. Toux avec ou sans expectoration dépuis plus de 15 jours, parfois avec hémoptysies" crlf crlf crlf

" Introduire des symptomes constatés(au plus 10 codes des symptomes tel qu'indiqué ci-haut):" crlf crlf

)

(printout t "tapez une lettre : ")

(bind ?reponse (readline))

(assert (fait ?reponse))

(printout t "tapez une lettre : ")

(bind ?reponse (readline))

(assert (fait ?reponse))

(printout t "tapez une lettre : ")

(bind ?reponse (readline))

(assert (fait ?reponse))

(printout t "tapez une lettre : ")

(bind ?reponse (readline))

(assert (fait ?reponse))

(printout t "tapez une lettre : ")

(bind ?reponse (readline))

(assert (fait ?reponse))

(printout t "tapez une lettre : ")

(bind ?reponse (readline))

(assert (fait ?reponse))

(printout t "tapez une lettre : ")

(bind ?reponse (readline))

(assert (fait ?reponse))

(printout t "tapez une lettre : ")

(bind ?reponse (readline))

(assert (fait ?reponse))

(printout t "tapez une lettre : ")

(bind ?reponse (readline))

(assert (fait ?reponse))

(printout t "tapez une lettre : ")

(bind ?reponse (readline))

(assert (fait ?reponse))

)

(defrule regle2

(fait "A")

(fait "B")

(fait "C")

(fait "D")

(fait "E")

(fait "F")

(fait "G")

(fait "H")

=>

(printout t crlf crlf crlf crlf "VOUS SOUFFREZ DE LA TUBERCULOSE" crlf crlf crlf

)

(printout t "Le traitement se donne selon les différentes catégories des malades" crlf crlf

"voici la liste de classement en catégorie:" crlf crlf

"I. Malades tuberculeux gravement atteints avec une infection concomitante par le VIH." crlf crlf

"J. Nouveaux cas de TP à frottis négatif avec une atteinte importante du parenchyme." crlf crlf

"K. Nouveaux cas de TP à frottis positif." crlf crlf

"L. Nouveaux cas de tuberculose extra-pulmonaire." crlf crlf

"M. Nouveaux cas de tuberculose jamais traités." crlf crlf

"N. Nouveaux cas de tuberculose pulmonaire à microscopie négative avec lésions peu étendues et autres cas bénins de TEP et séronégatifs au VIH." crlf crlf

"O. Malades tuberculeux gravement atteints avec infection concomitante par le VIH." crlf crlf

"P. Réchutes." crlf crlf

"Q. Traitément après échec thérapeutique." crlf crlf

"R. Traitément après interruption." crlf crlf crlf crlf

" Introduire le classement constatés (au plus 6 codes tel qu'indiqué ci-haut):" crlf crlf

)

(reset)

(assert (fait catégorie))

)

(defrule regle3

(fait catégorie)

=>

(printout t "tapez une lettre : ")

(bind ?reponse (readline))

(assert (fait ?reponse))

(printout t "tapez une lettre : ")

(bind ?reponse (readline))

(assert (fait ?reponse))

(printout t "tapez une lettre : ")

(bind ?reponse (readline))

(assert (fait ?reponse))

(printout t "tapez une lettre : ")

(bind ?reponse (readline))

(assert (fait ?reponse))

(printout t "tapez une lettre : ")

(bind ?reponse (readline))

(assert (fait ?reponse))

(printout t "tapez une lettre : ")

(bind ?reponse (readline))

(assert (fait ?reponse))

)

(defrule regle4

(fait "I")

(fait "J")

(fait "K")

(fait "L")

(fait "M")

(fait "O")

=>

(printout t crlf crlf crlf crlf "VOUS ETES CLASSES DANS LA CATEGORIE I" crlf crlf crlf crlf crlf crlf)

(printout t "voici la liste de poids du patient en KG avant le début du traitément:" crlf crlf

"S. Le poids du patient est jusqu'a 7Kg." crlf crlf

"T. Le poids du patient est de 8 à 9Kg." crlf crlf

"U. Le poids du patient est de 10 à 14Kg." crlf crlf

"V. Le poids du patient est de 15 à 19Kg." crlf crlf

"W. Le poids du patient est de 20 à 24Kg." crlf crlf

"X. Le poids du patient est de 25 à 29Kg." crlf crlf

"Y. Le poids du patient est de 30 à 39Kg." crlf crlf

"Z. Le poids du patient est de 40 à 54Kg" crlf crlf

"AA. Le poids du patient est de 55 à 70Kg." crlf crlf

"AB. Le poids du patient est de 70 et plus de Kg." crlf crlf

" Introduire le poids constatés:" crlf crlf crlf

)

(reset)

(assert (fait catégorie))

)

(defrule regle5

(fait "P")

(fait "R")

(fait "Q")

=>

(printout t crlf crlf crlf crlf "VOUS ETES CLASSES DANS LA CATEGORIE II" crlf crlf crlf )

(printout t "voici la liste de poids du patient en KG avant le début du traitément:" crlf crlf

"S. Le poids du patient est jusqu'a 7Kg." crlf crlf

"T. Le poids du patient est de 8 à 9Kg." crlf crlf

"U. Le poids du patient est de 10 à 14Kg." crlf crlf

"V. Le poids du patient est de 15 à 19Kg." crlf crlf

"W. Le poids du patient est de 20 à 24Kg." crlf crlf

"X. Le poids du patient est de 25 à 29Kg." crlf crlf

"Y. Le poids du patient est de 30 à 39Kg." crlf crlf

"Z. Le poids du patient est de 40 à 54Kg" crlf crlf

"AA. Le poids du patient est de 55 à 70Kg." crlf crlf

"AB. Le poids du patient est de 70 et plus de Kg." crlf crlf

" Introduire le poids constatés:" crlf crlf crlf

)

(reset)

(assert (fait catégorie))

)

(defrule regle6

(fait "N")

=>

(printout t crlf crlf crlf crlf "VOUS ETES CLASSES DANS LA CATEGORIE III" crlf crlf crlf crlf crlf crlf)

(printout t "voici la liste de poids du patient en KG avant le début du traitément:" crlf crlf

"S. Le poids du patient est jusqu'a 7Kg." crlf crlf

"T. Le poids du patient est de 8 à 9Kg." crlf crlf

"U. Le poids du patient est de 10 à 14Kg." crlf crlf

"V. Le poids du patient est de 15 à 19Kg." crlf crlf

"W. Le poids du patient est de 20 à 24Kg." crlf crlf

"X. Le poids du patient est de 25 à 29Kg." crlf crlf

"Y. Le poids du patient est de 30 à 39Kg." crlf crlf

"Z. Le poids du patient est de 40 à 54Kg" crlf crlf

"AA. Le poids du patient est de 55 à 70Kg." crlf crlf

"AB. Le poids du patient est de 70 et plus de Kg." crlf crlf

" Introduire le poids constatés:" crlf crlf crlf crlf

)

(reset)

(assert (fait catégorie))

)

(defrule regle7

(fait catégorie)

=>

(printout t "voici la liste de poids du patient en KG avant le début du traitément:" crlf crlf

"S. Le poids du patient est jusqu'a 7Kg." crlf crlf

"T. Le poids du patient est de 8 à 9Kg." crlf crlf

"U. Le poids du patient est de 10 à 14Kg." crlf crlf

"V. Le poids du patient est de 15 à 19Kg." crlf crlf

"W. Le poids du patient est de 20 à 24Kg." crlf crlf

"X. Le poids du patient est de 25 à 29Kg." crlf crlf

"Y. Le poids du patient est de 30 à 39Kg." crlf crlf

"Z. Le poids du patient est de 40 à 54Kg" crlf crlf

"AA. Le poids du patient est de 55 à 70Kg." crlf crlf

"AB. Le poids du patient est de 70 et plus de Kg." crlf crlf

" Introduire le poids constatés:" crlf crlf crlf crlf

)

(printout t "tapez une lettre : ")

(bind ?reponse (readline))

(assert (fait ?reponse))

)

(defrule regle8

(fait "S")

=>

(printout t "Le poids du patient est jusqu'a 7Kg." crlf crlf

"Traitement,posologies pour enfant:(Les médicaments antituberculeux essentiel sont au nombre de 5.

un code sous forme d'une lettre a été attribué à chacun d'eux:Isoniaside(H), Rifampicine(R), Pyrazinamide(Z), Streptomycine(S), Ethambutol(E)).

- RHZ:1comprimé chaque jour pendant 2mois dans la 1ère phase.

- Ethambutol:0,25comprimés chaque jour pendant 2mois dans la 1ère phase.

- RH:1comprimé chaque jour pendant 4mois dans la 2ème phase. " crlf crlf )

(reset)

(assert (fait traitément))

)

(defrule regle9

(fait "T")

=>

(printout t "Le poids du patient est de 8 à 9Kg." crlf crlf

"Traitement,posologies pour enfant:(Les médicaments antituberculeux essentiel sont au nombre de 5.

un code sous forme d'une lettre a été attribué à chacun d'eux:Isoniaside(H),Rifampicine(R),Pyrazinamide(Z),

Streptomycine(S),Ethambutol(E)).

- RHZ:1,5comprimés chaque jour pendant 2mois dans la 1ère phase.

- Ethambutol:0,5comprimé chaque jour pendant 2mois dans la 1ère phase.

- RH:1,5comprimés chaque jour pendant 4mois dans la 2ème phase." crlf )

(reset)

(assert (fait traitément))

)

(defrule regle10

(fait "U")

=>

(printout t "Le poids du patient est de 10 à 14Kg." crlf crlf

"Traitement,posologies pour enfant:(Les médicaments antituberculeux essentiel sont au nombre de 5.

un code sous forme d'une lettre a été attribué à chacun d'eux:Isoniaside(H), Rifampicine(R), Pyrazinamide(Z), Streptomycine(S), Ethambutol(E)).

- RHZ:2comprimés chaque jour pendant 2mois dans la 1ère phase.

- Ethambutol:0,5comprimé chaque jour pendant 2mois dans la 1ère phase.

- RH:2comprimés chaque jour pendant 4mois dans la 2ème phase." crlf crlf)

(reset)

(assert (fait traitément))

)

(defrule regle11

(fait "V")

=>

(printout t "Le poids du patient est de 15 à 19Kg." crlf crlf

"Traitement: (Les médicaments antituberculeux essentiel sont au nombre de 5.

un code sous forme d'une lettre a été attribué à chacun d'eux: Isoniaside(H), Rifampicine(R), Pyrazinamide(Z), Streptomycine(S), Ethambutol(E)).

- RHZ:3comprimés chaque jour pendant 2mois dans la 1ère phase.

- Ethambutol:0,75comprimés chaque jour pendant 2mois dans la 1ère phase.

- RH:3comprimés chaque jour pendant 4 mois dans la 2ème phase." crlf crlf)

(reset)

(assert (fait traitément))

)

(defrule regle12

(fait "W")

=>

(printout t "Le poids du patient est de 20 à 24Kg." crlf crlf

"Traitement:(Les médicaments antituberculeux essentiel sont au nombre de 5.

un code sous forme d'une lettre a été attribué à chacun d'eux:I soniaside(H), Rifampicine(R), Pyrazinamide(Z), Streptomycine(S), Ethambutol(E)).

- RHZ:4comprimés chaque jour pendant 2mois dans la 1ère phase.

- Ethambutol:1comprimé chaque jour pendant 2mois dans la 1ère phase.

- RH:4comprimés chaque jour pendant 4mois dans la 2ème phase." crlf crlf)

(reset)

(assert (fait traitément))

)

(defrule regle13

(fait "X")

=>

(printout t "Le poids du patient est de 25 à 29Kg." crlf crlf

"Traitement:(Les médicaments antituberculeux essentiel sont au nombre de 5.

un code sous forme d'une lettre a été attribué à chacun d'eux: Isoniaside(H) ,Rifampicine(R), Pyrazinamide(Z), Streptomycine(S), Ethambutol(E)).

- RHZ:5comprimés chaque jour pendant 2mois dans la 1ère phase.

- Ethambutol:1,5comprimés chaque jour pendant 2mois dans la 1ère phase.

- RH:5comprimés chaque jour pendant 4mois dans la 2ème phase." crlf crlf)

(reset)

(assert (fait traitément))

)

(defrule regle14

(fait "Y")

=>

(printout t "Le poids du patient est de 30 à 39Kg." crlf crlf

"Traitement pour les catégories I et III: (Les médicaments antituberculeux essentiel sont au nombre de 5.

un code sous forme d'une lettre a été attribué à chacun d'eux: Isoniaside(H), Rifampicine(R), Pyrazinamide(Z), Streptomycine(S), Ethambutol(E)).

- RHZE:2comprimés chaque jour pendant 2mois dans la 1ère phase.

- RH:2comprimés chaque jour pendant 4mois dans la 2ème phase.

catégorie II:

- RHZE: 2comprimés chaque jour pendant 3mois dans la 1ère phase.

- Streptomycine:0,5g/jour chaque jour pendant 2mois dans la 1ère phase.

- RHE:2comprimés chaque jour pendant 5mois dans la 2ème phase." crlf crlf)

(reset)

(assert (fait traitément))

)

(defrule regle15

(fait "Z")

=>

(printout t "Le poids du patient est de 40 à 54Kg." crlf crlf

"Traitement pour les catégories I et III:(Les médicaments antituberculeux

essentiel sont au nombre de 5.

un code sous forme d'une lettre a été attribué à chacun d'eux:I soniaside(H), Rifampicine(R), Pyrazinamide(Z), Streptomycine(S), Ethambutol(E)).

- RHZE:3comprimés chaque jour pendant 2mois dans la 1ère phase.

- RH:3comprimés chaque jour pendant 4mois dans la 2ème phase.

catégorie II:

- RHZE:3comprimés chaque jour pendant 3mois dans la 1ère phase.

- Streptomycine:0,75g/jour chaque jour pendant 2mois dans la 1ère phase.

- RHE:3comprimés chaque jour pendant 5mois dans la 2ème phase." crlf crlf)

(reset)

(assert (fait traitément))

)

(defrule regle16

(fait "AA")

=>

(printout t "Le poids du patient est de 55 à 70Kg." crlf crlf

"Traitement pourles catégories I et III:(Les médicaments antituberculeux essentiel sont au nombre de 5.

un code sous forme d'une lettre a été attribué à chacun d'eux: Isoniaside(H), Rifampicine(R), Pyrazinamide(Z), Streptomycine(S),Ethambutol(E)).

- RHZE:4comprimés chaque jour pendant 2mois dans la 1ère phase.

- RH:4comprimés chaque jour pendant 4mois dans la 2ème phase.

catégorie II:

- RHZE: 4comprimés chaque jour pendant 3mois dans la 1ère phase.

- Streptomycine:1g chaque jour pendant 2mois dans la 1ère phase.

- RHE:4comprimés chaque jour pendant 5mois dans la 2ème phase." crlf crlf)

(reset)

(assert (fait traitément))

)

(defrule regle17

(fait "AB")

=>

(printout t "Le poids du patient est de 70 et plus de Kg." crlf crlf

"Traitement pour les catégories I et III:(Les médicaments antituberculeux essentiel sont au nombre de 5.

un code sous forme d'une lettre a été attribué à chacun d'eux: Isoniaside(H), Rifampicine(R), Pyrazinamide(Z), Streptomycine(S),Ethambutol(E)).

- RHZE:5comprimés chaque jour pendant 2mois dans la 1ère phase.

-RH:5comprimés chaque jour pendant 4mois dans la 2ème phase.

catégorie II:

- RHZE:5comprimés chaque jour pendant 3mois dans la 1ère phase.

- Streptomycine:1g chaque jour pendant 2mois dans la 1ère phase.

- RHE:5comprimés chaque jour pendant 5mois dans la 2ème phase.")

(reset)

(assert (fait traitément))

)

précédent sommaire suivant






Bitcoin is a swarm of cyber hornets serving the goddess of wisdom, feeding on the fire of truth, exponentially growing ever smarter, faster, and stronger behind a wall of encrypted energy








"Il y a des temps ou l'on doit dispenser son mépris qu'avec économie à cause du grand nombre de nécessiteux"   Chateaubriand