100% found this document useful (1 vote)
304 views

Seun Prolog Program 1

The document describes a simulated medical diagnostic system that takes input from a user about a patient's symptoms and then analyzes the symptoms to suggest possible diagnoses. The system contains definitions of diseases and their associated symptoms. It then checks the entered symptoms against the definitions to find matching diseases and outputs a probable diagnosis. The system was later revised to prompt the user for each symptom rather than taking all symptoms as input at once.
Copyright
© Attribution Non-Commercial (BY-NC)
Available Formats
Download as DOC, PDF, TXT or read online on Scribd
100% found this document useful (1 vote)
304 views

Seun Prolog Program 1

The document describes a simulated medical diagnostic system that takes input from a user about a patient's symptoms and then analyzes the symptoms to suggest possible diagnoses. The system contains definitions of diseases and their associated symptoms. It then checks the entered symptoms against the definitions to find matching diseases and outputs a probable diagnosis. The system was later revised to prompt the user for each symptom rather than taking all symptoms as input at once.
Copyright
© Attribution Non-Commercial (BY-NC)
Available Formats
Download as DOC, PDF, TXT or read online on Scribd
You are on page 1/ 6

A SIMULATED MEDICAL DIAGNOSTIC SYSTEM FOR SELF DIAGNOSIS.

SOURCE CODE:

domains

disease,indication,name=symbol

predicates

hypothesis(name,disease)
symptom(name,indication)

clauses

symptom(charlie,fever).
symptom(charlie,rash).
symptom(charlie,headache).
symptom(charlie,runny_nose).

hypothesis(Patient,measles):-

clearwindow,
symptom(Patient,fever),
symptom(Patient,cough),
symptom(Patient,conjunctivities),
symptom(Patient,runny_nose),
symptom(Patient,rash).

hypothesis(Patient,german_measles):-

symptom(Patient,fever),
symptom(Patient,headache),
symptom(Patient,runny_nose),
symptom(Patient,rash).

hypothesis(Patient,flu):-

symptom(Patient,fever),
symptom(Patient,headache),
symptom(Patient,body_ache),
symptom(Patient,conjunctivities),
symptom(Patient,chills),
symptom(Patient,sore_throat),
symptom(Patient,cough),
symptom(Patient,runny_nose).

hypothesis(Patient,common_cold):-

symptom(Patient,headache),
symptom(Patient,sneezing),
symptom(Patient,sore_throat),
symptom(Patient,chills),
symptom(Patient,runny_nose).

hypothesis(Patient,mumps):-

symptom(Patient,fever),
symptom(Patient,swollen_glands).

hypothesis(Patient,chicken_pox):-

symptom(Patient,fever),
symptom(Patient,rash),
symptom(Patient,body_ache),
symptom(Patient,chills).

hypothesis(Patient,whooping_cough):-

symptom(Patient,cough),
symptom(Patient,sneezing),
symptom(Patient,runny_nose).

OUTPUT IN DIALOG BOX:

Goal: hypothesis(Patient,Disease)
Patient=charlie, Disease=german_measles
1 Solution
THE REVISED MEDICAL DIAGNOSIS PROBLEM.

SOURCE CODE:

domains
disease,indication=symbol
patient=string

predicates
hypothesis(patient,disease)
symptom(patient,indication)
response(char)
go

clauses
go:-
write("What is the patient's name?"),nl,
readln(Patient),
hypothesis(Patient,Disease),
write(Patient," probably has ",Disease,"."),nl.

go:-
write("Sorry,I don't seen to be able to "),nl,
write("diagnose the disease."),nl.

symptom(Patient,fever):-
write("Does ",Patient," have a fever (y/n)?"),
response(Reply),
Reply='y'.

symptom(Patient,rash):-
write("Dose ",Patient," have a rash (y/n)?"),
response(Reply),
Reply='y'.

symptom(Patient,headache):-
write("Dose ",Patient," have a headache (y/n)?"),
response(Reply),
Reply='y'.
symptom(Patient,runny_nose):-
write("Dose ",Patient," have a runny nose (y/n)?"),
response(Reply),
Reply='y'.

symptom(Patient,conjunctivities):-
write("Dose ",Patient," have conjunctivities (y/n)?"),
response(Reply),
Reply='y'.

symptom(Patient,cough):-
write("Dose ",Patient," have a cough (y/n)?"),
response(Reply),
Reply='y'.

symptom(Patient,body_ache):-
write("Dose ",Patient," have a body ache (y/n)?"),
response(Reply),
Reply='y'.

symptom(Patient,chills):-
write("Dose ",Patient," have chills (y/n)?"),
response(Reply),
Reply='y'.

symptom(Patient,sore_throat):-
write("Dose ",Patient," have a sore throat (y/n)?"),
response(Reply),
Reply='y'.

symptom(Patient,sneezing):-
write("Is ",Patient," sneezing (y/n)?"),
response(Reply),
Reply='y'.

symptom(Patient,swollen_glands):-
write("Dose ",Patient," have swollen glands (y/n)?"),
response(Reply),
Reply='y'.
hypothesis(Patient,measles):-
symptom(Patient,fever),
symptom(Patient,cough),
symptom(Patient,conjunctivities),
symptom(Patient,runny_nose),
symptom(Patient,rash).
hypothesis(Patient,german_measles):-
symptom(Patient,fever),
symptom(Patient,headache),
symptom(Patient,runny_nose),
symptom(Patient,rash).

hypothesis(Patient,flu):-
symptom(Patient,fever),
symptom(Patient,headache),
symptom(Patient,body_ache),
symptom(Patient,conjunctivities),
symptom(Patient,chills),
symptom(Patient,sore_throat),
symptom(Patient,cough),
symptom(Patient,runny_nose).

hypothesis(Patient,common_cold):-
symptom(Patient,headache),
symptom(Patient,sneezing),
symptom(Patient,sore_throat),
symptom(Patient,chills),
symptom(Patient,runny_nose).

hypothesis(Patient,mumps):-
symptom(Patient,fever),
symptom(Patient,swollen_glands).

hypothesis(Patient,chicken_pox):-
symptom(Patient,fever),
symptom(Patient,rash),
symptom(Patient,body_ache),
symptom(Patient,chills).

hypothesis(Patient,whooping_cough):-
symptom(Patient,cough),
symptom(Patient,sneezing),
symptom(Patient,runny_nose).

response(Reply):-
readchar(Reply),
write(Reply),nl.
OUTPUT IN DIALOG BOX:

Goal: go

What is the Patient’s Name?


Kakoly

Does Kakoly Have a fever (y/n)? y


Does Kakoly Have a cough (y/n)? y
Does Kakoly Have conjunctivities (y/n)? y
Does Kakoly Have a rash (y/n)? y
Does Kakoly Have a runny nose (y/n)? y

Kakoly probably has measles.


yes

You might also like