Symptom Analyzer

From UBC Wiki

Symptom Analyzer

Authors: Brendan, Leann

What is the problem?

Our symptom analyzer asks the user questions and makes a diagnosis based on their answers. The user must tell the analyzer the symptoms they are experiencing. Based on those symptoms, the analyzer finds the closest matching diagnosis in its database for those symptoms. It outputs:

  • The number of symptoms it used to analyze your illness.
  • Display the best diagnosis.
  • Provide a possible treatment plan for that particular diagnosis.

If you say no to all of the symptoms, it will not be able to diagnose you. Instead, it will tell you that you are not sick. The database for all the possible diagnosis will limited , and so are the number of symptoms available for the user to say no or yes to. This is ensure that the scope of our project does not become too large and not manageable.

What is the something extra?

We add a database that stores patient information for when a patient wants to check in with their symptoms again. Information about the user include:

  • Name, Age and Gender of the patient,
  • His/Her Medical History,
  • and their Current Undergoing Treatments.

What did we learn from doing this?

We learned about using input data from user to determine logic structure, storing patient user information into a static database, using a tree data structure to implement logic algorithm for out project. We also learned the limitations of Prolog in using input and output and organizing predicates in a list. We learned to use backtracking to save our variables. We also learned about using and implementing APIs into our program,.

Links to code etc

https://github.com/learese/CPSC-312-Project-2-Symptom-Analyzer.git