A Laboratory Test Expert System for Clinical Diagnosis Support in Primary Health Care

Clinical Decision Support Systems have the potential to reduce lack of communication and errors in diagnostic steps in primary health care. Literature reports have showed great advances in clinical decision support systems in the recent years, which have proven its usefulness in improving the quality of care. However, most of these systems are focused on specific areas of diseases. In this way, we propose a rule-based expert system, which supports clinicians in primary health care, providing a list of possible diseases regarding patient’s laboratory tests results in order to assist previous diagnosis. Our system also allows storing and retrieving patient’s data and the history of patient’s analyses, establishing a basis for coordination between the various health care levels. A validation step and speed performance tests were made to check the quality of the system. We conclude that our system could improve clinician accuracy and speed, resulting in more efficiency and better quality of service. Finally, we propose some recommendations for further research.


Introduction
The International Conference on Primary Health Care at Alma Ata in 1978, where the World Health Organization was seeking for advances in basic health services, with special emphasis on poor populations, took as its motto "Health for all" [1].This motto strongly involves primary health care.As suggested by Starfield primary health care is a first-contact, continuous, comprehensive and coordinated care provided to undifferentiated populations by gender, disease, or organ systems [2].
The 1978 Alma-Ata Declaration was at first focused on low-income and middle-income countries.Five years later, its goals were extended to all over the world.Alma-Ata Declaration had a great importance in the 1984 reorganisation of Spanish primary health care, establishing principles which lead current primary health care."Health for all" was not achieved by the year 2000, as it is now, and this encourages making efforts to revitalise primary health care [3].
Since then, a number of improvements have been made in primary health care in Spain.Focus has been put on teamwork among the several health professionals and more efficiency and quality of care delivery [4,5].Nevertheless, a considerable amount of issues still takes place.For example, Spain has lack of interoperability between primary and specialty health care, due to heterogeneity of patients' clinical data storage, which leads to medical errors because of the lost relevant information about patients, as de la Torre et al. [6] stated.
Losses of relevant information together with diagnosis errors involve matters as the increasing the time to properly treat the patient, which can lead life risks or irreversible health effects, as well as waste of money and other resources associated with unnecessary duplication of tests.A number of errors in laboratory medicine come from inappropriate election of laboratory tests and misinterpretation of laboratory results, which can be improved by using expert systems [7].
Based on these facts, our efforts focused on the developing of an Expert System that assists the health professional in order to make a prior and timely diagnose and set a treatment, settle the need of additional exams or dispatch the patient to a particular specialist.All of these contribute to strengthen primary health services.A significant amount of diagnoses are based on the interpretation of clinical tests, where samples are taken from the body, primarily blood and urine.Thus, our system proposes a set of likely diagnosis from a rule-based engine which takes into consideration urinalysis and blood tests outcomes.In this way, the doctor, supporting our system's suggestions with other signs and symptoms, would be able to take a decision on patient's prior diagnosis.
Despite the reluctance over the usefulness of clinical decision support systems, a number of applications and expert systems have shown great performance and some of these have been successfully used for decades in health centers, as the HELP system [8].
Expert Systems have advantages like its performance is not affected by doctor's fatigue or mood, which strongly contributes to a good health service.It also can provide feedback to doctors, turning itself into an aid to increase the expertise of staff, as well as to provide consistent outcomes and ongoing availability.
Thus, the aim of our system is to assist the process of diagnosis for medical staff in primary health care in order to improve quality, accuracy and agility of health service.It cuts costs, reduces wasting resources, which would mean better achievement of economy and efficiency indicators, which could be improved, as reported by literature.This paper is organised as follows.The next Section introduces clinical decision support systems and presents a literature review with most of the usual techniques.Section 3 explains system architecture, working of the rule-based proposed system, and system's validation.An overview of the prototype expert system and results appear in Section 4 followed by conclusions and future work in Section 5.

Search Strategy and Study Selection
A search was conducted on two electronic databases: Science Direct and PubMed.The search was limited to articles in the English language published between 1999 and 2014 about systems which support the decisionmaking step in diagnosis.A number of studies [9][10][11] were incorporated in addition.Citations of screened full-text articles were also used to find other relevant studies.
The following search terms were used in both databases: "rule based expert system", "expert system diagnosis", "expert system disease", "expert system laboratory", "automated diagnostic system", "rule based medical".Only full text articles available online were searched.
In total, 214 articles were found: 71 in PubMed, 143 in Science Direct and 10 in both databases.Initially, titles and abstracts of selected articles were read to determine if they could be relevant to our work.Articles considered as significant were acquired.Articles considered relevant from reference lists of acquired articles were also added.
Finally a selection has been made from these articles.Two reviewers independently have selected the most relevant articles regarding the similarity of the subject to our study, algorithms and techniques used and date of publication of the article.Disagreements were reconciled by discussion between the two reviewers.Finally, 19 articles were selected for the literature review section.

State of the Art
Berner and Lande described Clinical Decision Support Systems as "computer systems designed to impact clinician decision making about individual patients at the point in time that these decisions are made" [12].Our literature review focuses on expert systems developed in order to assist the diagnostic step.
In the last few years, expert systems for diagnosis and disease classification have been greatly increased, due to evolution of this area of research, the appearance of new algorithms and the successful reported performance of several proposals over the years.In comparison with the last few decades, systems focus on more specific diseases and organs lately, in order to reach better accuracy of results and overtake the great effort of obtaining a comprehensive system which determines its output between hundreds of diseases.
Despite the progress of Artificial Intelligent systems in diagnostic areas, limitations such as scarcity of open datasets slow down the evolution of systems, since this prevent verification and validation of new proposed systems and comparison between different proposals.In this way, most of the proposals in literature with open datasets like Pima Indians Diabetes, Breast Cancer Wisconsin or the Heart Disease Dataset.The high complexity inherent in medical data has caused most of the systems to become hybrid in order to improve performance.
Support Vector Machines (SVMs) were first proposed by Vladimir Vapnik [9].SVMs classify new examples, mapping them into a higher dimensional input space.SVMs have been widely used, resulting from their ability in generalization and good experimental results.This technique has been recently applied to thyroid disease diagnosis [13], early prostate cancer diagnosis [14], where SVM obtained better results than Artificial Neural Networks, or urological dysfunctions diagnosis [15].SVM also appears to be the most accurate technique in breast cancer classification, which has received much attention in recent years [16,17].
Artificial Neural Networks (ANNs) are inspired by the human brain.Neural network architectures are massively parallel and adaptive, giving an output when they receive an unknown input due to generalization from past experience.ANNs stand out in pattern recognition, but have the disadvantage that they don't explain its outcomes, working like a black box.Artificial neural networks have been widely used in decision support in cancer as showed by Lisboa and Taktak [18].Lately, neural networks are mainly exploited through hybrid systems that overcome issues derived from the absence of explanation of its outcomes, with neuro-fuzzy as a specially increasing area as reflected by Sahin, Tolun and Hassanpour [19].
Fuzzy Logic reasoning employs linguistic rules, allowing the application of human language and therefore having the advantage that they provide a ready explanation of its models and outcomes.Fuzzy rule-based systems are used in situations with uncertainty and incompleteness of data, and can incorporate expertise and knowledge extracted from experts in the field.As previously mentioned, complementary properties between fuzzy logic and neural networks leads to widespread application of neuro-fuzzy hybrid systems.These systems have shown their good performance in diabetes diagnosis [20] or thyroid disease diagnosis [21].
Rules allow knowledge representation in expert systems.Advantages of rule-based systems are their simplicity and explanatory ability and the modularity of rule sets, which can be easily modified and extended.Some drawbacks are difficulties dealing with incompleteness of data or the effort required to incorporate expertise when constructing large models.One of the earliest medical expert system, MYCIN [10], provided consultation about infectious disease, diagnosis, and choice of therapy by means of a set of rules.More recent proposals feature Expert System for Poisoning (ESP), which is a rule-based expert system for poisoning diagnosis and management that takes into account signs and symptoms of patients, coming up with a list of possible poisoning types [22].
In addition, novel techniques have been applied in medical diagnosis with promising results.Artificial immune systems (AISs) emerged in the 1990s as a new branch of artificial intelligence.This proposal is inspired by the human immune system behavior, comprising features such as recognition, memory acquisition, resource competition, diversity or self-tuning.Artificial immune systems have been successfully applied to heart, chest or thyroid disease diagnosis [23][24][25].
In addition, statistical methods, diverse training algorithms or techniques such evolutionary computation are used in conjunction with these systems in order to tune parameters and enhance results.
Almost all of these above systems perform a binary classification or are among a reduced amount of classes, which differs from our approach.As already stated, most efforts in literature focus on specific diseases and a little attention has been paid recently to prior diagnosis support in primary health care.Furthermore, previously mentioned systems work with datasets including variables extracted from medical imaging and tomography, heart-valve sounds or symptoms and signs, but only a few take into account outcomes from laboratory tests.
Despite that fact, there are some systems which focus on laboratory test's outcomes for performing a more general diagnosis between larger typology of diseases.Osuagwu and Okafor [26] proposed a framework for eliciting knowledge for a medical laboratory diagnostic expert system in order to construct a set of production rules which can interpret medical laboratory tests.They have implemented a fuzzy rule-based system prototype working with blood sugar and urine tests, although was not described how the system provides diagnosis advice neither how broad the coverage of diseases is, as they focused on knowledge's elicitation process.
McNeely and Smith [27] developed the Laboratory Advisory System (LAS).LAS is an expert system working with production rules and pattern-consequence relationships.This expert system provides recommendations and interpretations of test results, which assists clinicians with test selection and results interpretation of such laboratory tests and makes the adherence to established guidelines easier.A trial was accomplished and results showed that clinicians using the system performed a more accurate diagnosis, required fewer tests and needed less time to diagnose a patient and start a treatment.These all led to a cutting of costs and better quality care and outcomes from patients [11].
Promising results of previous systems and lack of large datasets containing high amounts of laboratory test parameters and their related diagnoses led us to the development of a system which incorporates experts' knowledge, instead of performing machine learning methods requiring a dataset.A rule-based system is selected owing to its ease and their closeness with human clinicians' reasoning regarding laboratory tests' results.
Thus, we have selected a rule-based approach regarding the possibility of incorporating experts' knowledge, explanatory ability of these systems and suitability of this approach in relation with interpretation of laboratory tests' results.Besides, there are drawbacks when learning machine approaches are intended to be used, like the inexistence of accessible databases containing laboratory parameters values and their respective precise diagnosis or lack of initiatives in Spain, which provide access to clinical information repositories.

Primary Health Care Support
Primary health care is the first point of contact for the patient with health care and is intended to resolve most of the problems without consultation with a specialist.However, when patients show certain pathology or the diagnostic is particularly difficult or complex, the patient is referred to a specialized care unit, properly prepared to address its problems.Our system is intended to assist the patient in the diagnostic steps in Primary care; therefore, it should cover a wide range of diseases.The aim is to support clinicians by means of the proposal of a set of likely diagnosis regarding laboratory test's results.The clinician must contrast all the information gathered with our system's output in order to reach a conclusion as it is shown in Figure 1.

Architecture of the System
As our diagnosis tool is designed to be used by doctors, it is intended to be user friendly, in order to ease management of patients' data and analysis and facilitate taking advantage of our diagnosis tool.The program has been implemented in the Java programming language and MySQL 5.6 was used as a database platform.The rule engine has been implemented by JRuleEngine Java library.
As is shown in Figure 2, the purpose of our system is to provide assistance to clinicians not only by suggesting a diagnosis or a set of diagnoses, but also by storing the history of patient's analyses, by easing interpretation of data by means of development graphics and by creating reports with results and interpretations from clinicians.More about the functioning of the application will be described in following sections.
Figure 2. The design of our system.

Rule-Based System
Every rule of the system characterises a disease by relating analysis outcomes with a disease, taking into account deviations in parameters' values which fall outside the reference interval.In this way, each rule receives a score by means of heuristics applied.This allows the system to sort the list of likely diseases, which would be displayed to a clinician.Our system has 357 rules with 51 parameters from blood tests and urinalysis covering aspects such as hematology, liver function, hormones, immunology, lipid profile and clinical biochemistry.
Our approach uses a set of If-Then rules which do not require following any fixed order (Figure 3).In that setting, multiple rules could be triggered.Heuristics applied in order to prioritize most likely diagnoses are further discussed in next point.Reference intervals should preferably be taken from laboratory which performs tests, regarding the fact that these intervals can be altered by the methods and techniques used to retrieve parameter values.
Rules are included in a spreadsheet containing laboratory parameters and diseases.Add or update existing knowledge of our expert system is easy, in that it is only necessary to change values in this spreadsheet without any need for computer programming skills.Rules contained in the spreadsheet are then transformed into a rule set in XML format regarding constraints of JRuleEngine library.This transformation is performed by means of a script developed with R programming language, which facilitates access and retrieval of table-type structures.This set of rules in XML format could be easily integrated in other systems also using JRuleEngine library.
We have extracted rules of our expert system taking McPherson and Pincus reference books [28] and the help of an expert in the field.The extraction of knowledge has followed a systematic approach.For each disease included in the rule set, we have obtained parameter deviation which characterises that disease and have taken particular parameter reference intervals associated with that disease.These reference intervals have been taken mostly from the previously mentioned reference book but also from the valoresnormales.comwebsite.This website provides reference values supported by specialized bibliography.The whole process of elicitation is represented in Figure 4.The reference book's chapters related with laboratory tests interpretation are structured as follows: The diseases are grouped in different areas (for example, hematology or liver function).In each of these areas, diseases are characterised by means of a theoretical explanation and the parameters' values deviations, which suggest that diagnosis.The kind of deviation for each parameter is also referenced if the abnormal value is higher or lower than reference values.
In addition, it is possible to have a different set of rules for different age groups, ethnicities or genders.This can lead the system to a better performance, due to variations in certain parameter threshold values in different groups.
This way to present the knowledge allowed us, for each disease, to (i) obtain a list of parameters deviations which characterise the disease; (ii) set an upper or lower threshold for each parameter's deviation; and (iii) set the exact value for these thresholds.In cases where no concrete values were referred in the book, we have taken them from the valoresnormales.comwebsite, which has a solid bibliographical support, or they have been proposed by an expert.In a few cases of diseases which could be characterized by two different sets of parameter deviation, we have extracted two rules to represent this knowledge.

Heuristics Applied
In order to overtake rule-based issues, we have applied in our system a number of heuristics to improve the system accuracy and utility.
Usually, rule-based systems need to be comprehensive and consistent, but this is not feasible in this area, where the number of laboratory parameters which can be measured is so large.
For each rule, our rule-based system counts the amount of parameters whose value deviates from the reference values and then our heuristic is applied.The score for every rule is: where Sj is the score of rule j, N is the number of parameters of the rule j, and µij is the evaluation of the parameter i value.This evaluation score can take different values: 1     0.3  ℎ    0  ℎ    ℎ ℎℎ (2) This heuristic is similar to the hit ratio of Batista-Navarro et al. [22], but our system attributes scores to unknown parameters in order to mitigate issues of incompleteness of data.
This mechanism allows our system to prioritize some diagnoses over others and call for further tests which could confirm or assure diagnosis.
Regarding the fact that the doctor chooses tests specifically due to the symptoms and signs that he/she has previously observed in physical examination, our system can propose fulfilment of additional tests to make more certain diagnosis or to confirm a likely diagnosis, though the final decision relies on the judgment of the doctor.

Validation
The construction of the system and the development of its interface have been supported by the validation phase [29].Several modifications and improvements have been performed during this phase.Furthermore, the validation has also allowed us to verify the effectiveness of the system with respect to the raised objectives.Two types of validations have been carried out.Both types of validation are detailed below: -Technical Validation.It has been verified that the obtained results through the user interface are consistent with the theoretical results in each one of the different phases defined in the model and implemented in the system.This validation has been carried out mainly by the research group that has developed and implemented the system.-Practical Validation.As validation of any system is affected by subjectivity, it has been necessary to count on with an expert, unconnected with our research group, so that he/she could validate it.This validation was made in two levels: usability and quality of diagnoses.

Usability of the System
The disposition and organization of the menus and data as well as the diagnosis messages and patient development graphics were analyzed and improved to address the medical staff requirements.

Quality of Proposed Diagnoses
Results of the system have been validated in two steps.In every step, it has been verified that the system improved its results with respect to the previous state: (1) Step 1: In the presence of a set of determined real cases which have been previously diagnosed, the parameters values are introduced in our system and some diagnoses and its deviations are obtained, as it has already been explained.Then, if the output of the system did not match the expected results, the rule set has been properly corrected or the patient's case has been labeled as a special case or outlier.
(2) Step 2: Later, the medical expert modifies some variables according to his/her criterion, either making the situation worse or improving it, by modifying a substance value or modifying several of them.Thus, the medical expert verifies if the suggestions that the system shows correspond with his/her professional experience, tuning rules' values as needed.

Patients and Clinicians' Registers
Our application allows registering patients and clinicians.For patients, our system collects personal and relevant medical information used to identify each patient such as Health Insurance Card and clinical record numbers.In addition, personal and access information are collected for clinician register in order to provide or restrict access for some system's functionalities.

History of Patients' Analyses
As shown in Figure 5, our system provides a table with analysis outcomes over time for each patient.For each of these analyses, the clinician can access detailed information, diagnoses and suggestions of the system and commentaries previously added to these results.The "Read analysis from PDF…" button allows adding a new analysis from pdf document, the "Start Analysis" button brings a detailed view of results and suggestions of the system, the "See Analysis Results" button brings a detailed view of results plus comments previously added, while the "Comparative Analysis" button shows development graphics.

Patient Analysis Data
Our system can retrieve analysis data from a database or an electronic document in PDF or XML format.Figure 6 shows how analysis data is displayed classified by areas, so the lecture of outcomes is more meaningful and similar to paper documents.A set of tabs are displayed to navigate between results.Each tab is related to an analysis area, including parameters belonging to this area and its values obtained.

Proposal of Likely Diagnoses
Our system proposes a list of probable diagnoses.For each item characterising a disease in the list, further information is provided, such as which parameters deviations suggest that disease and its value over or under the reference value, besides suggestions of new tests or possible causes of these abnormal outcomes.Clinicians also can include their own comments on results.
As shown in Figure 7, our system proposes a set of likely diagnoses and, for each of these diagnoses, also presents which parameter deviations point out that precise disease.In this way, the clinician not only has a list of diagnoses but also an explanation of the considerations taken by the system in order to propose that diagnosis.

Development Graphics View
Development graphics are divided in tabs in order to ease the view for the clinician, as in analysis patient data (Figure 8).These graphics show evolving values of blood and urine tests over time.These graphics could be important to detect diseases, due to the fact that a parameter value should not vary greatly in each person in successive analyses.Thus, these graphics complement deviations from reference values.

Report Generation
The system generates reports in PDF format.These reports contain dates, personal data from the patient, as well as analysis outcomes, diagnoses and suggestions proposed by the system.Clinicians can add commentaries to results and proposals, which will also be stored in the database for further requests.

Rules Set Editing
As previously mentioned, maintenance of the rule set is easy and does not require informatics specific knowledge.The rule set spreadsheet has in the first column of every row the name of the disease.Further columns have the name of a test parameter in the first row.In this way, it is possible to modify rules by only changing the value and operator ("<", "=" or ">") which relates a disease to a parameter deviation.Moreover, adding new diseases or parameters is also possible.Figure 9 shows a reduced sample of the Excel spreadsheet, which contains diseases' rules.
We have established a role in the system which provides complete access to this spreadsheet in order to update and modify the ruleset.In this way, a previously appointed clinician administrator takes care of the maintenance of the ruleset.The rest of the clinicians can see the ruleset with diseases and thresholds, but they are not allowed to make changes.Thereby, clinicians using the system can propose modifications in the ruleset, and the clinician administrator decides if these changes are made.Proposals for new settings or rules are submitted by doctors duly justified to a clinical administrator who analyses and validates all the changes.From time to time, all suggestions for improvements are taken into account and an evaluation of the changes with a set of cases previously established is performed.If the results are correct, the ruleset is updated accordingly.Therefore, the work of the clinical administrator is mainly of control and coordination of proposals for improvement.
In order to prevent possible errors in human entries, a checking in the whole set of rules is performed.If any value in a rule is very far from the other values for the same parameter in the rest of the ruleset, a warning message is shown.

Accuracy, Sensitivity, Specificity and Predictive Value
In order to evaluate the efficiency of the clinical decision support system, some measures are obtained.A confusion matrix is used to obtain classification accuracy, sensitivity, specificity, positive predictive value and negative predictive value.A confusion matrix [30,31] contains information about actual and predicted classifications done by a classification system.
Table 1 shows the confusion matrix for the clinical decision support system.Classification accuracy, sensitivity, specificity, positive predictive value and negative predictive value can be defined by using the elements of the confusion matrix as: Our system reaches an accuracy of 75% in a set of 44 clinical cases.Sensitivity has a high value, denoting the ability of the system to detect diseases.On the contrary, specificity has a lower value.This can be explained taking into account that our system proposes several diagnoses in a first approach in order to help the primary care clinician, so it is not unusual to propose several diseases that could not affect the patient.An important measure for our system is the true predictive value.With a value of 85, 29% is a very promising result.Thus, in the presence of a disease, our system proposes the right diagnosis in most of the cases, helping the clinician appropriately in the decision step.
Most current clinical diagnosis systems focus on a disease or family of diseases.This allows their systems to classify between a reduced group of diseases or the absence of disease [15,20,21,32].The main difference between our system and these other diagnosis systems in the literature is that our system is intended to give a set of proposals in the first approach.Our system is intended to help the clinician, who determines the diagnosis regarding his/her knowledge, experience and results of physical examination together with our system output.In this way, our system helps to reduce the uncertainty that arises from the diagnosis step.
A comparison between our system and others is not possible, due to the different datasets used, so that our system uses a not open dataset to measure accuracy.It should also be noted that our system is not intended to make a very specific diagnosis among a family of diagnoses but to propose several diseases in a very broad range in order to guide the clinician on diagnosing the patient and determining necessity of further tests.

Speed Performance
Analysis of the speed performance of the system was mandatory, since the system must support the clinician in a fast and timely way.Hence, they have been taken times needed to execute the set of rules and propose a set of possible diagnoses by our system.Times have been measured through the same set of 40 clinical cases in two computers with different specifications.Specifications of these computers and results are summarized in Table 2.
Results show that our decision support system can propose diagnoses in a mean time shorter than 0.5 s.Only one of the 80 cases computed through the two computers took more time than 1 s.Even though more processor power and RAM memory affect the system performance, all cases can be managed in the order of a few seconds.This means that our system can make a set of proposals in a fast and timely manner to help the clinician in diagnostic decision step.

Discussion
Diagnosis is a difficult task which requires the clinician to relate high dimensionality of data.Computer assisted medical decision-making may be the solution to deal optimally with the flood of data and explosion of knowledge occurring in the medical area [33].In addition, expertise in laboratory test results interpretation emerges from years of experience.In this way, an expert system, which has the ability to compute a high amount of data and contains knowledge from expert results, is a useful tool for improving interpretation of laboratory tests outcomes.
Insufficient communication and missing information are among the major factors contributing to unintended errors in medicine.Providing accurate and timely information at the point of care has the potential to make a significant reduction of these adverse events [34].Furthermore, Graber, Franklin and Gordon analysed 100 cases of diagnostic errors, 33 of which led to death of the patient.These errors relate to different sources and problems of communication, especially with test results [35].Our application is a framework which provides a knowledge base easy to interpret and modify by clinicians and stores patient data along with conducting data analysis.In this way, our system can be worthy to improve Spain Health care, currently suffering from a lack of coordination, including communication and loss of information issues [6].
On the other hand, our system proposes diagnoses in matter of seconds, referring also to parameter deviations which suggest each of these diagnoses proposed, helping the clinician to make a decision.According to Darlington, expert systems with an explanation facility can enhance the quality of the decision making, improving performance in terms of speed and accuracy of judgments [36].
More accuracy together with less adverse events would lead to lesser waste of resources and necessity of supplementary tests.This is particularly relevant, since clinical laboratory costs increase rapidly, partly due to increment of laboratory use.For example, the Hospital Costa del Sol laboratory (Málaga, Spain) expenditures increase about 10%-15% annually [37].Regarding all these aspects, our proposed system could lead to more efficient and less expensive primary health care.
In summary, our system provides the followings advantages: (a) Proposal of most likely diseases taking into consideration laboratory test results, leading to better accuracy and consistent process of diagnosis; (b) advanced Informatics knowledge is not mandatory for the use of the system; (c) maintenance of the set of rules by only modifying an Excel Spreadsheet, without needing of recompiling or programming knowledge; (d) value for teaching in analysis' interpretations, because the system explains outcomes and suggestions.In this way it could be used to train medical students; and (e) our system contributes by setting a framework which also allows improving communication and coordination between primary health care and further levels of health care.
It is necessary to state limitations and omissions of the framework proposed, which suggest further research in order to overcome such issues: (1) Prove system outcomes in several areas of diseases with the purpose of checking relevance and accuracy of system's diagnoses and suggestions.(2) The system does not have a learning method which allows the system to tune itself and grow by creating new rules.(3) Rules in the rule set do not take into consideration development of laboratory test parameter values over time, which is valuable information to signal likely diseases.(4) Retrieval of similar cases could lead to more comprehensive suggestions by the system.
(5) The system must be used by experts in order to correctly interpret and apply system's suggestions.

Conclusions and Future Research
Number of Clinical Decision Support Systems have been increasing in recent years, and they have proven to be a valuable help in the diagnosis process.Most of these systems are focused on specific areas of diseases in order to improve accuracy.However, our system focuses on a wider set of diseases so that it could help clinicians in primary health care.Our system's advice could avoid misinterpretation of laboratory tests' results, which leads to high waste of resources and longer turnaround times for diagnosis.In addition, our application could become a tool for information sharing between diverse health care levels, since it allows storing and retrieving of patient data.Our Expert System is not intended to replace clinicians or medical staff, which also must consider signs and symptoms to achieve a conclusion but can imply a useful tool for the process of diagnosis.Furthermore, our tool is easy to use and the rule set is also easy to maintain, without any need of advanced computer skills.Thus, we conclude that use of this system in primary health care can lead to increased efficiency and quality of the health service.
As future research, we consider extending the framework by means of the application of a neural network on analysis data to make a model which allows us to compare current outputs of system with outputs from machine learning methods and combine both of them synergically, taking advantage of pattern recognition, ability of artificial neural networks as well as the development of a module, which enables the rule set to grow and to correct itself taking into account previous cases.The rules could be improved taking into account age group, gender or ethnicity.In this way, it is possible to generate diverse rulesets, individualized for each of these groups, which could lead to an improvement of the accuracy of the system.We intend to test system outputs with a broader set of cases, taking into consideration several areas of diseases, in order to check accuracy and relevance of system's suggestions.In addition, the system could incorporate symptoms and inquiries of physical examinations in order to have a more comprehensive framework and improve quality results.As the ease of use is very important for the exploitation of the system, a research on the usability of the system is intended to be performed.This will allow us to check how much time it takes to use and familiarize oneself with the system and inquire about difficulties shown by the doctors, in order to improve the system interface.

Figure 3 .
Figure 3. Structure of a rule.

Figure 4 .
Figure 4. Elicitation process for each rule.

Table 1 .
Confusion matrix with the value for every measure.

Table 2 .
Speed performance of the expert system.