Assignment 2 - Semester 1, 2012
Part A (Presentation)Week 9
Part B (Documentation)Week 12
Assignment Description and Background
A medical diagnostic system is a computer system that can make recommendations concerning an illness of a patient. Such a system sometimes matches the performance of a doctor. In this assignment, your group is required to design a prototype knowledge-based medical diagnostic system. The system should meet the following essential functional requirements:
First Level Input Flow:
1. Doctor enters patient’s information (such as name, gender, birthday);
2. Doctor enters patient’s illness symptoms (such as stomach pain, fever, headache, cough).
Second Level Input Flow:
A. Doctor enters additional required information (such as blood test and urine test results) when prompted by the system.
Third Level Input Flow:
a. Doctor enters additional required information (such as X-ray result) when prompted by the system.
First Level Output Flow
1. Conclusive diagnostic report (such as type of the illness diagnosed, e.g. viral pneumonia, and the reasons of reaching this conclusion);
2. Treatment report (such as the prescribed medicine if any, the expected recovery time and the next appointment if needed).
Second Level Output Flow:
A. Prompting for additional information on the patient (such as blood test and urine test results).
Third Level Output Flow:
a. Prompting for additional information on the patient (such as X-Ray result).
Main flow of diagnostic engine:
1. Take input of patient information;
2. Take input of illness symptoms;
3. Retrieve from knowledge-base the knowledge that is relevant to the symptoms;
4. Retrieve patient’s medical data from database;
5. Apply knowledge and known medical data to reach a diagnostic conclusion;
6. Prompt doctor to input additional medical data such as test results (please note not all the required tests will be known at one stage, rather in a progressive manner).
The general diagnostic process by a knowledge-based system will be explained in the following background session.
The non-functional requirement is that the medical diagnostic system should be available any time and anywhere. You are to choose an appropriate diagnostic area to work with but you must seek approval from your tutor before proceeding.
A Knowledge-based System (KBS) is a computer application that offers intelligent solutions for business problems. As shown in Figure 1, a KBS consists of a number of key components; a front-end (conventionally called presentation layer), a knowledge processing engine or inference engine (conventionally called application logic layer), a knowledge base consisting of business logic and a database which stores business transaction details.
Figure 1: Knowledge-based System Architecture and its Key Modules
In a KBS the system responds to business tasks by applying the appropriate knowledge from the knowledge base. During the application of knowledge, data may be required from the database. Tasks are received and solutions delivered via the system front-end. It is assumed vendors’ products (MS SQL Server, Oracle, etc.,) will host the knowledge base and database used by the KBS. However, it is required to show that the knowledge base and database store of the scenario related information such as patient data and related symptoms in the database, diagnostic logic in the knowledge base.
In order to help understand a KBS inference engine software design, the modules representing inference strategies such as backward-chaining and forward-chaining (Luger and Stubblefield, 1993) are supplied and shown in Figure 2. You...