CS 251 Programming Project

Fall 2008

Description

Your mission is to create an interactive medical diagnose system that is more complex than the one you did in Assignment 3.

 

Minimum requirements for every student:

  1. You need to pick at least seven diseases from http://health.allrefer.com/health/symptoms.html

As soon as you go to the above website, you will see two columns. The first one is ``frequently requested symptoms by condition'', and this is the column from which you will pick 7 diseases.

 

  1. Your Expert System has to support all the symptoms of the diseases you choose.

 

  1. The system that you need to develop should be an interactive system, meaning that your system should ask the user questions and takes answers. Based on these answers, your system should respond by asking other ``intelligent'' questions relevant to the answers of the user.

For example, if your system has already asked a user about his sex and the user responded by saying ``male'', your system should never ask the user whether he has skipped his period or not (the same old pregnant man dilemma again).

 

  1. Your system should be flexible enough to accept ``not so sure'' as an answer. For example, if your system asks the patient: ``Do you suffer from a loss of appetite?'' The user should be able to answer with ``I am not so sure about that.''

 

  1. Try to add as much common-sense knowledge to your system as you can. Explicitly specify what common-sense knowledge you added in your readme file.

 

Graduate students only:

  1. Allow the user to abort the interview part (history and symptoms taking part) at any point of time. This means your system should be able to function with an incomplete list of symptoms.

 

  1. Your system should be able to provide the user with a list of possible diseases. Each disease should be accompanied with a certainty factor.

 

Guidelines:

  1. You can choose any language you prefer (Prolog, Lisp, or CLIPS).
  2. You have to provide a readme file to state which diseases you choose, any assumptions you made, and a description of your system and how to run it.

 


The project was designed by Nagi Basha.