Download as doc, pdf, or txt
Download as doc, pdf, or txt
You are on page 1of 31

MEDICAL

TEST

SYSTEM

PROJECT REPORT
SUBMITTED IN PARTIAL FULFILLMENT OF THE REQUIREMENT FOR THE AWARD OF THE DEGREE OF
BACHELOR OF TECHNOLOGY (Computer Science & Engineering)

PUNJAB TECHNICAL UNIVERSITY JALANDHAR, INDIA


Submitted to: Er. Arshjot Kaur A.P. (C.S.E.) Submitted By: NAME:SHIVDEV SINGH BRANCH:CSE Semester:SEVENTH(7) Univ Roll No: 80805107051 Class Roll No:80051

Table of Contents

SNO. TITLE
1. 2. 3. 4. Introduction to Project Introduction to Expert
System

PAGE NO.
1 4 11 14 19 20 21 21 22 23 24 32

Expert system development methodology Technologies used: .Net SQL SERVER ADO.NET Project Details: Aim Scope
Hardware Requirements

5.

and

Software

6. 7.

Working of Project Screen shots Bibliography

INTRODUCTION

Medical Test System is aimed at computerizing the activities involved in Medical Test. The primary activities in the Test include importing the Health Issues,Causes,Symptoms,Reports regarding the pateints.

This project includes the following Modules:

1.Doctor
Checking the patient with the detailed information related to the body part /injury. On the basis of Causes and symptoms said by pateint medicine and fees will be shown automatically.

2. Attendent
This module specifies that in the absence of doctor attendent has right to check the patients where medicine related to patient problem can be given by attendent.

INTRODUCTION TO EXPERT SYSTEM:

An expert system is a computer program that contains stored knowledge and solves problems in a specific field in much the same way that a human expert would. The knowledge typically comes from a series of conversations between the developer of the expert system and one or more experts. The completed system applies the knowledge to problems specified by a user. Expert Systems are computer programs that are derived from a branch of computer science research called Artificial Intelligence (AI). AI's scientific goal is to understand intelligence by building computer programs that exhibit intelligent behavior. It is concerned with the concepts and methods of symbolic inference, or reasoning, by a computer, and how the knowledge used to make those inferences will be represented inside the machine. Of course, the term intelligence covers many cognitive skills, including the ability to solve problems, learn, and understand language; AI addresses all of those. But most progress to date in AI has been made in the area of problem solving -- concepts and methods for building programs that reason about problems rather than calculate a solution. AI programs that achieve expert-level competence in solving problems in task areas by bringing to bear a body of knowledge about specific tasks are called knowledge-based or expert systems. Often, the term expert systems is reserved for programs whose knowledge base contains the knowledge used by human experts, in contrast to knowledge gathered from textbooks or non-experts. More often than

not, the two terms, expert systems (ES) and knowledge-based systems (KBS) are used synonymously. Taken together, they represent the most widespread type of AI application. The area of human intellectual endeavor to be captured in an expert system is called the task domain. Task refers to some goal-oriented, problemsolving activity. Domain refers to the area within which the task is being performed. Typical tasks are diagnosis, planning, scheduling, configuration and design. Building an expert system is known as knowledge engineering and its practitioners are called knowledge engineers. The knowledge engineer must make sure that the computer has all the knowledge needed to solve a problem. The knowledge engineer must choose one or more forms in which to represent the required knowledge as symbol patterns in the memory of the computer -- that is, he (or she) must choose a knowledge representation. He must also ensure that the computer can use the knowledge efficiently by selecting from a handful of reasoning methods. We first describe the components of expert systems.

When to Use Expert Systems:


ES are not suited to all types of problems. Initially, many developers actively sought problems amenable to ES solution or tried to solve all problems encountered using ES. As experience has been gained, attention has become more properly focused on the problems to be solved rather than on the solution technique. Note that in this course, we are focusing on systems engineering techniques and tools and thus have been and will be quite concerned about the solution technique. Some problems can be described using existing algorithms, or by using a statistical evaluation method. Other problems, that are not as well defined, that are illstructured and that currently require the help of a human expert, may appropriately be solved using an ES. In effect, the techniques are rapidly becoming, along with simulation and other conventional programming, important tools available to solve a wide range of problems. Incompleteness of information is characteristic of problems suitable for solution with ES. The "telephone test" can often be used to help determine if a problem that cannot readily be solved using traditional methods is amenable to ES solution. If the domain expert can solve the problem via a telephone exchange with the end-user, an ES program can probably be developed to solve the problem. On the otherhand, if the user is unable to describe the problem verbally, or if the expert is unable based on the telephone interview consistently to conclude a reasonable solution, then ES development will likely be unsatisfactory. The telephone test assures that the expert is not gaining additional information about a problem from other senses and insures that the user is able to adequately describe the problem in words (important since the user of an ES will be required to describe the problem adequately).

APPLICATION OF EXPERT SYSTEM:


1. Different types of medical diagnosis. 2. Identification of chemical component structure. 3. Diagnosis of complex electronic and electro-mechanical. 4. Diagnosis of software development projects. 5. Forecasting crop damage. 6. Numerous applications related to space planning and exploration. 7. The design of very large scale integration (VLSI) systems. 8. Numerous military applications, from battle field assessment to ocean surveillance. 9. Teaching students specialized tasks. 10.Location of faults in computers and communication systems.

Characteristics OF EXPERT SYSTEMS

1.Operates as an interactive system. 2.Make logical interfaces based on logic store. 3.Ability to explain reasoning. 4.Domain Specific. 5.Capability to assign confidence values.

Components of an Expert System A typical expert system consists of five components

_the user interface _ the working memory _ the knowledge base _ the inference engine _ and the explanation system The knowledge base and the working memory (WM) are the data structures which the system uses and the inference engine is the basic program which is used. The explanation system answers questions the user has and provides an explanation of its reasoning. Each of these components are briefly described below.

Working Memory:
The working memory represents the set of facts known about the domain. The elements of the WM reflect the current state of the world. In an expert system, the WM typically contains information about the particular instance of the problem

being addressed. For example, in a TV troubleshooting expert system, the WM could contain the details of the particular TV being looked at. The actual data represented in the WM depends on the type of application. The initial WM, for instance, can contain a priori information known to the system. The inference engine uses this information in conjunction with the rules in the knowledge base to derive additional information about the problem being solved.

Knowledge Base:
The knowledge base (also called rule base when If-then rules are used) is a set of rules which represents the knowledge about the domain. The general form of a rule is: If cond1 and cond2 and cond3 ... then action1, action2, ... The conditions cond1, cond2, cond3, etc., (also known as antecedents) are evaluated based on what is currently known about the problem being solved (i.e., the contents of the working memory).Each antecedent of a rule typically checks if the particular problem instance satisfies some condition. For example, an antecedent in a rule in a TV troubleshooting expert system could be: the picture on the TV display flickers. The consequents of a rule typically alter the WM, to incorporate the information obtained by application of the rule. This could mean adding more elements to the WM, modifying an existing WM element or even deleting WM elements. They could also include actions such as reading input from a user, printing messages, accessing files, etc. When the consequents of a rule are executed, the rule is said to have been fired. We will use a representation of the form: rule id: If antecedent1 and antecedent2 .... then consequent For instance, to represent the knowledge that if a person has a runny nose, a high temperature and bloodshot eyes, then one has a flu, we could have the following rule: r1: If is(nose, runny) and is(temperature, high) and is(eyes, bloodshot) then disease is flu

Inference Engine:
The inference engine is the program part of an expert system. It represents a problem solving model which uses the rules in the knowledge base and the situation-specific knowledge in the WM to solve a problem. Given the contents of the WM, the inference engine determines the set of rules which should be considered. These are the rules for which the consequents match the current goal of

the system. The set of rules which can be fired is called the conflict set. Out of the rules in the conflict set, the inference engine selects one rule based on some predefined criteria. This process is called conflict resolution. For example, a simple conflict resolution criterion could be to select the first rule in the conflict set. A rule can be fired if all its antecedents are satisfied. If the value of an antecedent is not known (in the WM memory), the system checks if there are any other rules with that as a consequent; thus setting up a sub-goal. If there are no rules for that antecedent, the user is prompted for the value and the value is added to the WM. If a new sub-goal has been set up, a new set of rules will be considered in the next cycle. This process is repeated till, in a given cycle, there are no sub-goals or alternatively, the goal of the problem-solving has been derived. This inferencing strategy is called backward chaining (since it reasons backward from the goal to be derived). There is another strategy, called forward chaining where the system works forward from the information it has in the working memory. In forward chaining, the conflict set will be created by rules which have all their antecedents true in a given cycle. The system continues till the conflict set becomes empty.

Inferencing strategies:
Explanation System Expert systems typically need to be able to provide explanations regarding the conclusions they make. Most expert systems provide a mechanism whereby the user can ask questions about: _ why a particular question is being asked _ how the system came to a particular conclusion Providing explanations is essential in all non-trivial domains for the user to understand how the system works and determine whether its reasoning is correct or not. Typically the system will keep track of what rules (knowledge) it is using and provide explanations based on a translation of these rules into English.

Expert system development methodology

The steps in a typical expert systems analysis and design methodology are summarized in following figure :

1 Identification phase
The first step in the identification phase, Identify problem, is similar to the problem definition phase in the traditional systems development life cycle. The objective is to identify, characterize, and define the problems the system will be expected to solve and then partition the problem into appropriate sub-tasks.

Once the problem is defined, the resources necessary for acquiring knowledge, implementing the system, and testing the system are identified. Typical resources include knowledge, time, computing facilities, and money. Because expert systems are expensive and creating one takes considerable time, a feasibility study is often conducted before work progresses beyond this point. In addition to identifying resources, the expert system analysts and/or designers also identify the systems goals and objectives. It is helpful to identify and explicitly document the goals because certain design approaches, such as heuristic search, breadth search, depth search, and reasoning are goal-driven.

2 Conceptualization phase
The central task of the conceptualization phase is to diagram the systems key concepts and relations to define a conceptual base for a prototype system. Key objectives include separating the inference engine from the problem domain, factoring (analyzing) the problem into meta-problems, identifying the systems key concepts and relations, and testing those concepts and relations by challenging them (with specific examples of problem-solving activities) to ensure that they cover every general case. Many of the tools and techniques described in Part II are used in this phase.

3 Formalization Phase
The formalization phase involves mapping key concepts, sub-problems, and information flow characteristics isolated during conceptualization into more formal representations based on various knowledge engineering and problem solving tools and knowledge representation frameworks . The key objectives are to identify the solution space (a domain with a collection of all possible solutions), the hypothesis space (the hypothetical solution space), the underlying model, and the characteristics of the data. To define the structure of the hypothesis space, the systems analysts or designers must formalize the concepts (knowledge in an abstract format that can be used to guide a searching or reasoning process) and determine how they are joined to form a hypothesis. The concepts provide clues about the nature of the space such as if it is finite, if a hierarchy must to be considered, if certain levels of abstraction can be applied, and if a specific class of the concept must be generated. Such searching techniques as blind search, heuristic search, and abstracting the solution space are often used. Reasoning techniques such as assumption building, justification building, and the constraints and goal technique help to identify the underlying model of the process used to generate solutions in the domain.

4 System design phase

During the system design phase (sometimes called the logical design phase) the analyst and/or designer specifies how the system will meet the requirements identified during the previous three phases. Typically, the reports and other outputs the systems must produce are defined first. This phase is similar to the design stage in the traditional systems development life cycle. Note, however, that the representation schemes used to describe knowledge differ from traditional methodologies.

5 System development phase


A prototype expert system is created during the system development (or physical design) stage. This stage is similar to the development stage in the traditional system development life cycle.

6 Testing and evaluation phase


During this phase, the prototype system is evaluated. This phase parallels the testing stage in the traditional system development life cycle. However, in addition to the testing tools and techniques described in Part VII, expert systems utilize a dynamic testing technique to verify the reasoning and/or inference process.

7 Prototype revision phase


An expert system evolves over time, calling for almost constant revision, a trait expert systems share with most prototypes. Based on the results of the testing/evaluation phase, concepts and relations are refined, the solution space, the model, and the data characteristics are reformalized, and the system is redesigned.

TECHNOLOGIES USED: .Net


Microsoft .NET (pronounced dot net) is a software component that runs on the Windows operating system. .NET provides tools and libraries that enable developers to create Windows software much faster and easier. .NET benefits end-users by providing applications of higher capability, quality and security. The .NET Framework must be installed on a users PC to run .NET applications.

Advantages of .Net
1. Platform independence First, it means that the same file containing byte code instructions can be placed on any platform; at runtime the final stage of compilation can then be easily accomplished so that the code will run on that particular platform. In other words, by compiling to IL we obtain platform independence for .NET, in much the same way as compiling to Java byte code gives Java platform independence. 2.Performance improvement Although we previously made comparisons with Java, IL is actually a bit more ambitious than Java byte code. IL is always Just-In-Time compiled (known as JIT compilation), whereas Java byte code was often interpreted. One of the disadvantages of Java was that, on execution, the process of translating from Java byte code to native executable resulted in a loss of performance (with the exception of more recent cases, where Java is JIT compiled on certain platforms). Instead of compiling the entire application in one go (which could lead to a slow start-up time), the JITcompiler simply compiles each portion of code as it is called (just-in-time). When code has been compiled once, the resultant native executable is stored until the application exits, so that it does not need to be recompiled the next time that portion of code is run. 3.Language interoperability

The use of IL not only enables platform independence; it also facilitates language interoperability. Simply put, you can compile to IL from one language, and this compiled code should then be interoperable with code that has been compiled to IL from another language. 4. Object-oriented programming - Both the .NET Framework and C# are entirely based on object-oriented principles right from the start. 5. Good design - A base class library, which is designed from the ground up in a highly intuitive way.

The Relationship of C# to .NET


C# is a relatively new programming language, and is significant in two respects: It is specifically designed and targeted for use with Microsofts .NET Framework (a feature-rich platform for the development, deployment, and execution of distributed applications). It is a language based on the modern object-oriented design methodology, and when designing it Microsoft has been able to learn from the experience of all the other similar languages that have been around since object-oriented principles came to prominence some 20 years ago. One important thing to make clear is that C# is a language in its own right. Although it is designed to generate code that targets the .NET environment, it is not itself part of .NET.

Introducing the Building Blocks of the .NET Platform (the CLR, CTS, and CLS)

1. The Common Language Runtime Central to the .NET Framework is its runtime execution environment, known as the Common Language Runtime (CLR) or the .NET runtime. Code running under the control of the CLR is often termed managed code. However, before it can be executed by the CLR, any source code that we develop (in C# or some other language) needs to be compiled. Compilation occurs in two steps in .NET: 1. Compilation of source code to IL 2. Compilation of IL to platform-specific code by the CLR This two-stage compilation process is very important, because the existence of the IL (managed code) is the key to providing many of the benefits of .NET. 2. Another building block of the .NET platform is the Common Type System, or CTS. The CTS specification fully describes all possible data types and programming constructs supported by the runtime, specifies how these entities can interact with each other, and details how they are represented in the .NET metadata format. 3. The Common Language Specification (CLS) is a related specification that defines a subset of common types and programming constructs that all .NET programming languages can agree on.

A Sampling of .NET Namespaces .NET Namespace

1. System:- Within System, you find numerous useful types dealing with intrinsic data, mathematical computations, random number generation, environment variables, and garbage collection, as well as a number of commonly used exceptions and attributes. 2. System.Collections:- These namespaces define a number of stock container types, System.Collections.Generic as well as base types and interfaces that allow you to build customized collections. 3. System.Data:- These namespaces are used for interacting with relational databases using ADO.NET. System.Data.Odbc System.Data.OracleClient System.Data.OleDb System.Data.SqlClient 4. System.IO :- These namespaces define numerous types used to work with Compression file I/O, compression of data, and port manipulation. System.IO System.IO.Ports 5.System.Drawing :- These namespaces define types used to build desktop System.Windows.Forms applications using .NETs original UI toolkit (Windows Forms). 6. System.Windows :- The System.Windows namespace is the root for several namespaces that represent the Windows Presentation Foundation (WPF) UI toolkit. 7. System.Linq :-These namespaces define types used when programming against the LINQ API. System.Xml.Linq System.Data.Linq 8.System.Web :-This is one of many namespaces that allow you to build ASP.NET web applications. 9. System.Security:- Security is an integrated aspect of the .NET universe. In the security-centric namespaces, you find numerous types dealing with permissions, cryptography, and so on.

10. System.Xml:- The XML-centric namespaces contain numerous types used to interact with XML data.

SQL SERVER
Microsoft SQL Server is a relational database server developed by microsoft: It is a software product whose primary function is to store and retrieve data as

requested by other software applications, be it those on the same computer or those running on another computer across a network (including the Internet). There are at least a dozen different editions of Microsoft SQL Server aimed at different audiences and for different workloads (ranging from small applications that store and retrieve data on the same computer, to millions of users and computers that access huge amounts of data from the Internet at the same time).

SQL Server Management Studio SQL Server Management Studio is tool included with SQL Server 2005 and later for configuring, managing, and administering all components within Microsoft SQL Server. The tool includes both script editors and graphical tools that work with objects and features of the server

What is SQL server? SQL server is a client/server relational database management system (RDBMS) that uses the transact-SQL to send request between the client and SQL server.

Why use SQL server as back end? SQL server is designed to be a client/server system. Client/server systems are constructed so that the database can reside on central computer known as Server and be shared among several users. Supports multiple hardware platforms Supports multiple software applications.

ADO.NET
ADO.NET (ActiveX Data Object for .NET) is a set of computer software components that programmers can use to access data and data services. It is a part of the base class library that is included with the MICROSOFT .NET Framework.

It is commonly used by programmers to access and modify data stored in relational database system, though it can also access data in non-relational sources. ADO.NET is sometimes considered an evolution of Active X Data Objects(ADO) technology, but was changed so extensively that it can be considered an entirely new product. With the release of the .NET Framework, Microsoft introduced a new data access model, called ADO.NET.The ActiveX Data Object acronym was no longer relevant, as ADO.NET was not ActiveX, but Microsoft kept the acronym due to the huge success of ADO. In reality, its an entirely new data access model written in the .NET Framework.ADO.NET supports communication to data sources through both ODBC and OLE-DB, but it also offers another option of using database-specific data providers. These data providers offer greater performanceby being able to take advantage of data-source-specific optimizations. By using custom code for the data source instead of the generic ODBC and OLEDB code, some of the overhead is also avoided.

Namespaces for ado.net: System.DataAll generic data access classes System.Data.CommonClasses shared (or overridden) by individual data providers System.Data.OdbcODBC provider classes System.Data.OleDbOLE DB provider classes System.Data.OracleOracle provider classes System.Data.SqlClientSQL Server provider classes System.Data.SqlTypesSQL Server data types

PROJECT DETAILS: AIM:


Medical Test System is aimed at computerizing the activities involved in Medical

Test. The primary activities in the Test include importing the Health Issues,Causes,Symptoms,Reports regarding the pateints.

SCOPE:
Medical Test System is designed for the Clinics and Medical stores to conduct Medical tests of their Patients on a regular basis. This system handles all the operations and generates reports as soon as the test is completed which saves the precious time of Authorities.

HARDWARE AND SOFTWARE REQUIREMENTS


HARWARE:
1. CORE 2 DUO

2. GB RAM DDR2

3 500GB HARD DISK

Software:
Operating System Windows 7

Development Tool:
Microsoft vc # . net(Framework 3.5) Sql server2008 Ado.net

Working of the Project:

This project includes the following Modules: 1.Doctor Checking the patient with the detailed information related to the body part /injury. On the basis of Causes and symptoms said by pateint medicine and fees will be shown automatically.

2. Attendent

This module specifies that in the absence of doctor attendent has right to check the patients where medicine related to patient problem can be given by attendent.

Patient Role:
1. The patient can click on Doctar form for his/her complete check up . The patient will be asked by the doctar about his disease it,s cause and other symptoms.The patient have to fulfil all these details based on which he will receive his medicine and will come to know about his/her fees. 2. The patient can also click on Attendant form if he/she have only a small problem like little fever or cough etc.The patient will receive medicine and fee charged on filling the required information.

SCREENSHOTS:

This page shows the patient two choices of Doctar and Attendant.

Here the patient will tell the cause / problem related to bodypart.

Here the patient will be asked about his symptoms.

This is the form where medicine is given to the patient. There can be number of symptoms for the same problem and by clicking on OK Required medicine and fees will be shown.

This form is providing all the information related to all the patients who have taken the medicine. Information like his body parts, cause and symptoms is given.

Under this form, attendant has right to give the medicine to the patient .

Here is the information displayed in the attendant form and respective medicine is given related to disease and fee is taken.

This form is representing all the details/ medicines that an attendant can give to the patient.

Bibliography:
Websites
http://www.google.com http://www.microsoft.com http://www.programmer2programmer.net http://www.codeproject.com http://www.msdn.com. http://www.vb123.com http://www.vbcode.com
http://www.sqltuner.com

Books
Mastering Visual Basic 6 (Paperback) Mastering Visual Basic .NET (Paperback) Visual Basic Black Book (Paperback) SQL Bible, 2nd Edition (Paperback) Database Development in Visual Basic

You might also like