* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
Download 5. Architecture of a Rule Based System for Medical Billing
Survey
Document related concepts
Transcript
International Journal of Software Engineering and Knowledge Engineering World Scientific Publishing Company SQL BASED KNOWLEDGE REPRESENTATION AND KNOWLEDGE EDITOR UMAIR ABDULLAH * Foundation University Institute of Engineering and Management Science, New Lalazar, Rawalpindi, 46000, Pakistan [email protected] AFTAB AHMED Foundation University Institute of Engineering and Management Sciences, New Lalazar, Rawalpindi, 46000, Pakistan [email protected] MOHAMMAD JAMIL SAWAR Barani Institute of Information Technology, Umair Plaza, Sixth Road Chowk, Rawalpindi, 46000, Pakistan. [email protected] Received (27 September 2011) Most of the research work in the area of knowledge representation does not focus on implementation environment of the knowledge base. Hypothesis of this paper is that implementation environment/ language/ tool, is also critical along with proper representation technique for success of a knowledge based system. It is based on the premise that ‘usability’ is basic difference between data and knowledge. ‘Production rules’ is a useful knowledge representation technique, suitable for task specific knowledge. This paper describes a successful research and development work carried out in medical billing domain, resulting in a unique and useful system. A rule based expert system has been developed with ‘production rules’, defined as part of data (not code), has been developed for identifying errors in medical claims. Structured Query Language (SQL) has been used for the implementation of production rules. SQL is widely ‘used’ in almost every system that is related to database. Success of the system is primarily because of implementation methodology/ environment, adopted for development of the system. Besides rule engine, a rule editor has also been developed to facilitate domain experts to feed their knowledge in the system. Although current system has been developed for medical billing/ medical claim processing domain, but it can be easily applied to any real life problem domain. Keywords: Knowledge Representation; Rule Based Systems; Structured Query Language. 1. Introduction Knowledge representation is an area of Artificial Intelligence concerned with representation of knowledge in a system. There are many knowledge representation techniques like semantic nets, production rules, frames, scripts, and ontologies. All these techniques are conceptual models of knowledge, independent of the implementation tools and techniques. Artificial Intelligence (AI) systems (knowledge based systems, rulebased systems, expert systems, intelligent systems etc.) use these techniques to signify * Corresponding Author: Tel.: +923005341053; Fax: +92515584574 1 2 Umair Abdullah, Aftab Ahmed, Mohammad Jamil Sawar knowledge in them. For example in CYC, knowledge is in the form of logical sentences. Further it is stated and organized in frames [1]. Frames are primary way of storing propositions in CYC [1]. CYC is concentrating on actual reality instead of targeting the knowledge source; this is also the main concern of ontological representation [2]. According to Guarino [2], Ontologies are task independent knowledge bases. Since the beginning of nineties ontologies have become a popular research topic investigated by several Artificial Intelligence research communities, including knowledge engineering, natural-language processing and knowledge representation [3]. Similarly, attempts have been made to reconcile production systems and logic programs without reducing one to the other, building on the strengths of each [4]. ‘What is knowledge representation’ is best answered by R. Davis in terms of five distinct roles it plays [5]. First, a knowledge representation is most fundamentally a surrogate, a substitute for the thing itself. Second, it is a set of ontological commitments, that is, representation of real world. Third, it is a fragmentary theory of intelligent reasoning, inferencing. Fourth, it is a medium for practically efficient computation, that is, the computational environment in which thinking is accomplished i.e. organizing information to facilitate inferencing. Fifth, it is a medium of human expression, that is, a language in which we say things about the world. Although, according to Studer [3] current trend in KR is about making task independent representation i.e. ontology [3], but our research work is related to task specific representation, based on transfer model i.e. getting knowledge from domain expert and transferring it to system. It has been dominant approach from the beginning of AI systems till the end of last century. Of all the knowledge representation techniques, ‘production rules’ are most suitable for representing task specific knowledge. Hence these have been used in AI systems extensively. Production rules fulfill the requirements of usefulness, maintenance of an evolutionary knowledge, support for interactive consultation, competence, high performance and ease of use [6]. A software system containing knowledge primarily in the form of production rules is known as Rule Based System (RBS). According to Abdullah et al. [7]; “Rule Based Systems belong to a well established branch of Artificial Intelligence. So far thousands of rule based systems and their related systems have been built and successfully used...….Rule based systems evolved from preliminary work of Artificial Intelligence (AI) researchers, one of the oldest computer science technologies being used today.” F. H. Roth [8] defines rule based systems as follow; “Rule based systems automate problem-solving know-how, provide a means for capturing and refining human expertise, and are proving to be commercially viable.” MYCIN is a famous example of rule based systems developed in early days. MYCIN developed in mid 77s at Stanford University. Developed to provide consult advice on SQL Based Knowledge Representation and Knowledge Editor 3 diagnosis and therapy for infectious diseases, in particular bacterial infections in the blood. Written in INTERLISP it is a dialog based system [6]. This paper presents research and development work carried out at a USA based medical billing company. Where a rule based system has been developed to identify errors, inconsistencies, and missing information from medical claims prior to submitting them to insurances. In the system, rules are implemented in the form of SQL queries. Rule engine of the system use database server to run rule queries and perform rule actions. In 1996 Paul Skarek [9] also used database engine for his rule based system. He argues that knowledge engineering tools are normally not part of computing environment, and may be costly. Hence it is convenient to use a simple rule language which can easily be translated into SQL queries and SQL interpreter is used to run rule queries [9]. A knowledge / rule editor has also been developed, which helps domain experts (having no knowledge of SQL queries) to build rules with the help of Graphical User Interface (GUI). Knowledge editor generates SQL queries by itself. It has been described in section 8, and is the main focus of this paper. An interesting discussion on difference between data and knowledge has been given in the next section. Third section describes a misconception related to ‘Rule Based Systems’, with the aim of carefully and critically analyzing existing concepts. Section 4 describes application domain i.e. medical billing/ medical claim processing. Section 5 presents overall software architecture of the system. Section 6 shows very simplified design of rule engine developed in SQL in the form of stored procedures. Section 7 presents details about the knowledge base of the system. Attributes related to ‘rule’ and ‘meta-rule’ and ‘logical variable’ have been discussed. Knowledge editor of the system has been described in Section 8. Section 9 describes rule development process before and after implementation of knowledge editor. Section 10 gives results and discussion with the conclusion in last section. 2. Data vs. Knowledge To differentiate data from knowledge is not an easy task. Roughly speaking data is collection of ‘raw facts and figures’ and ‘processed data’ is known as ‘knowledge’. How would we differentiate between a situation when a book placed on a table and same book with its pages torn into pieces and stack of torn pages is placed on a table? Although there is absolutely no difference of material or contents of the book and its pages, but when a book is in bind form it can said to be data as all its contents are organized, page numbers are marked, and index is given for easy access of the data. But same book when its pages torn into pieces, may better be said ‘garbage’. So data can be better described as ‘raw facts and figures organized for easy access and storage’. To differentiate between date and knowledge, continuing the example of book. Suppose there is an ‘open book’ exam. Two students have (different copies of) same book. For both students book is data as they can easily access the contents and topics of the book. One student is able to use the book for answering the questions given in the paper, as he is able to map/relate given problems to the topics of the book. So, for this student, book is knowledge, which he is 4 Umair Abdullah, Aftab Ahmed, Mohammad Jamil Sawar using to solve the problem, or to answer the questions. While other student is not able to solve the problems as he is not able to link given questions/problems to the topics of the book. For an illiterate person the book is of no use, like garbage. Same book is knowledge for one person, data for other and garbage for an illiterate person. Material useable by some processing system can be termed as knowledge. Both, processing system and the representation/ organization of material can be improved to make something useable. Let’s discuss another example, many young boys/girls learn Qur’an (religious book of Muslims) by heart. They can easily and quickly access each and every verse. But nobody goes to them for seeking answers to their questions. Peoples go to religious scholars, who are normally old persons, not necessarily remembering the whole Qur’an, even may be with weak vision and listening senses. But still their opinion is assumed to be authentic. Difference is same, young boys have data but not knowledge as they cannot link the given problem/question to the verses of Qur’an, and hence (like weak student described in above example) they are unable to use what they can easily access. Similarly, merely learning an English dictionary by heart cannot enable a person (who does not have knowledge of English language) to speak/understand English. To understand English, a person should be able to relate symbols (words) of English to the real world. Last but not the least example is World Wide Web, which is a huge network of data. That is why T. Berners-Lee has proposed ‘semantic web’ that is a network of knowledge not data, in which information is given well-defined meaning, better enabling computers and people to use it and work in cooperation [10]. He has given simple example of setting an appointment from a doctor with the help of semantic web agent i.e. software which use contents of web for performing different tasks [10]. He further says "The real power of the Semantic Web will be realized when people create many programs that collect web content from diverse sources, process the information and exchange the results with other programs. The effectiveness of such software agents will increase exponentially as more machine-readable Web content and automated services (including other agents) become available." So a rough definition of ‘knowledge’ can be “material used for problem solving, decision making or answering a question.” In literature ‘knowledge’ has many definitions. A common one is “theoretical and practical understanding of a subject”. A simple one is “to know/understand something”. Sometimes “preprocessed data i.e. material readily available for use” is also termed as knowledge. This is the most common definition of knowledge used in computer science. ‘Usability’ is the difference between data and knowledge. Production rules are pieces of information which are readily available of use; hence we use term ‘knowledge’ for collection of rules. Hence in this paper we have used terms ‘rule’ and ‘knowledge’ interchangeably. SQL Based Knowledge Representation and Knowledge Editor 5 3. Basic Concept Behind Rule Based Systems Rule based systems, knowledge based systems, decision support systems, intelligent systems and expert systems, all are the practical form of AI concepts and theories (hence we used term ‘AI systems’ in this paper in order to refer them). A typical rule based system has three components, a rule-base/ knowledgebase i.e. collection of production rules, a working memory i.e. data structure to hold data items, and a rule engine i.e. interpreter which apply rules on given data. According to Kowalski & Sadri [4] rules are “if-then” structures having different representational and computational properties. To understand the concept and advantage of rule based systems, it is important to identify how a ‘rule’ is different from an ‘if’ statement of a programming language or a ‘trigger’ of a database [11]. Conceptually all three are same i.e. having condition portion (containing one or more conditions) and an action part. Action is performed/ executed when condition portion returns true [11]. However major difference between a ‘rule’ and the other two is that a ‘rule’ is part of data, while ‘if’ statement and ‘trigger’ are part of code. Changing a trigger in database requires database admin rights. Similarly changing a portion of code requires programming skill, recompilation code, and replacement of old exe with new one. These things can be done only by those users who have proper rights and privileges. On the other hand changing of data does not need any sort of programming skill or special privileges, all it need is a user interface, with which user can access the data. Success and power of RBS technology is due to its flexibility and ease of rule adding/editing/deleting. As rules are part of data, hence can be added, edited, and deleted at runtime without any need of changing the code. Some researchers like Hanson and Widom use terms ‘programming of rules’ or ‘rule programming language’ [12]. Keeping this difference in view, when referring ‘rules’, we should not use terms like ‘programming’ rather use ‘developing’ or ‘building. Similarly instead of saying ‘rule programming languages’ we should say ‘rule development tools’. Rule based systems are suitable for domains with large and changing body of technical, task specific knowledge [6]. Similarly they are successful in application domains where a large number of knowledge oriented consistency checks are required to be applied. And against those checks/ conditions some actions are required to be performed. 4. Medical Billing as an Application domain Speed, access, and ease of use, are demands of medical domain, as time of people related to healthcare is critical [6] Four experimental systems are generally regarded as having started application of artificial intelligence in medicine. These are MYCIN, a program to advise physicians treating patients with bactericidal infections; the Present Illness Program (PIP), a system related to renal disease; INTERNIST-1, a large system aimed to assist with diagnosing complex problems in general internal medicine, and CASNET, an ophthalmology advisor designed to assess disease states and to recommend management 6 Umair Abdullah, Aftab Ahmed, Mohammad Jamil Sawar for patients with glaucoma. All four drew on Al techniques, emphasizing the encoding of large amounts of specialized medical knowledge acquired from the clinical literature and from healthcare expert [13]. Post Operative Expert Medical System (POEMS) of Sawar is example of rule based system concerned with post operative care [14]. It also has knowledge in the form of frames, with learning ability [15]. Diagnostic systems, many simple and some complex, are now ubiquitous, and research on Medical Diagnostic Decision Support (MDDS) systems is still growing. The nature of MDDS systems has diversified over time. The prospects for adoption of large-scale diagnostic systems are better now than ever before, due to enthusiasm for implementation of electronic medical record in healthcare industry. Diagnostic decision support systems have become an established component of medical technology [16]. While most of the research in healthcare is related to diagnosing problems, some research has also been carried out on administrative side of healthcare like medical claim processing. Application domain of the RBS designed and developed in a USA based company, is medical billing, medical claim processing. System developed by Ortega is an example of fraud detection system in the domain of medical claim processing [17]. Medical billing is a process of submitting medical claims to insurances for the purpose of reimbursement to healthcare provides (such as Surgeons, Physicians, Practicing Nurses, etc.) for the services rendered to the patients [18]. A medical claim is a collection of procedure codes (treatments/tests), diagnoses (diseases) codes and their relevant modifiers along with patient data. Generally medical practices employ experienced coders/billing executives to do billing. When medical billing is carried out by healthcare providers by themselves, it is termed as ‘in-house billing’, which is not an easy job. To overcome difficulties of medical billing, most of the providers generally sign up with medical billing companies which are specialized in claim submissions and follow-ups. Follow-up normally occurs when a claim is rejected due to inconsistency in patient data, services rendered or some required information is missing. Due to complexity of medical billing process, approximately 30% of claims are rejected initially. Of these rejected claims about 35% are rejected again. According to an estimate, about 10% of rejected claims are never paid [7]. By fixing preventable medical billing errors, payment collections can be increased, and rejections can be reduced. According to Carl [19] a well designed and technology supported medical billing procedure does not allow errors to propagate and will process over 90% claims to be paid after their first submission. Many companies like Alcer©, CodeCorrect, PAMCC, HealthTech Fusion, SLC Software, Practice partner, Texas Medical Systems, Alpha II [20], have developed customized software to resolve claim rejection issue. Such software are generally known as ‘claim scrubbing software’. According to Abdullah et, al. [18] claim scrubbing is SQL Based Knowledge Representation and Knowledge Editor 7 process of verification and checking of the medical claims for any potential errors and performs legitimate changes in information before it is sent to insurance payer. AthenaHealth implemented ‘claim scrubbing’ as a rule based system, instead of conventional software [21]. Team of experts is transforming medical billing knowledge in the form of rules. ClaimStaker is claim scrubbing application developed by Alpha II [22]. It is a tool to scrub claims against CCI Edits, LCDs and customized macros and rules. 5. Architecture of a Rule Based System for Medical Billing Overall software architecture of a data mining driven learning apprentice system (i.e. our rule based system) for medical billing is presented by Ahmed [23]. A simplified version of the system is shown in Fig. 1. Billing executive is a person who inserts, update, and delete medical claims and their related data from the database. Team leads & managers, Rule Based System (RBS) Domain Experts Knowledge Editor Knowledge Base Rule Based Engine (RBE) Rule Learning Module Medical Billing Related Software Claim data Operational Database Insurances Payment info Domain Users Fig. 1 Simplified Architecture of Rule Based System for Medical Billing manage all medical billing related activities like claim follow up, payment posting, claim aging etc. of one or more medical practices. Billing executives, team leads and managers are the domain users shown at bottom left corner of Fig. 1. These domain users use medical billing related software like EMR, Encoder pro, and Billing-soft etc. to interact with operational database. 8 Umair Abdullah, Aftab Ahmed, Mohammad Jamil Sawar Operational database stores all the information of medical claims, patients, providers, practices, insurance payers, procedures, diagnosis, claim follow up information etc. Rule based engine applies medical billing compliance related rules on a claim when it is saved by the domain user into the database. Rule engine ‘scrub’ the claim to remove any potential medical billing related errors. Claim data is then submitted to insurance payers over the internet, represented as a cloud at bottom right corner of Fig 1. Domain experts are persons with normally more than five years of experience in medical billing domain. They have in depth knowledge medical claim processing. They do research on web sites of government and private medical billing related organizations and extract updated medical billing knowledge. Domain experts, being shown at upper left corner of Fig. 1, use medical billing related software to obtain various reports from data and to perform analysis. They also use knowledge/ rule editor to update RBS rules defined in knowledge base of our rule based system, shown as main rectangular box in Fig. 1. It has four major components, i.e. Rule Based Engine, a machine learning module, knowledge base, and knowledge editor. Focus of this paper is Knowledge/Rule editor and as it depends upon representation of rules. So knowledge representation in the knowledge base has also been discussed. 6. Design of a Rule Based Engine Using Structured Query Language A very simplified design of the rule based engine is shown in Fig. 2. Detailed explanation of the design has been published by Abdullah [7]. Rule engine flow is similar to that of Paul Skarek [9]. Skarek & Varga [9], working at CERN particle accelerator, developed a rule engine in structured query language (ORACLE database management system), for checking valid Beam Coordination Diagram. It has been implemented in structured query language and serves the purpose of medical claim scrubbing. Our rule engine processes one claim at one time. Single claim data is input to the rule engine. It processes the claim in two phases. In first phase, selection/ activation of applicable rules is done. Rules are selected on the basis of two criteria, firstly those rules are selected which have priority 25 or 75. Secondly meta-rules are executed one by one. When a Meta rule returns true then rules associated to it are selected/ activated. At the end of this phase all applicable rules have been activated (either due to priority or due to true condition of their Meta rule). Second phase of rule engine is shown as second block, labeled ‘Executing Rules’ in Fig 2. In the second phase, rule engine applies all the selected rules one by one on a given claim and identifies data inconsistencies and errors. Each rule is like a check with some action part associated to it, implemented as “where” clause of a SQL query [19] The “select” portion of every rule query is predefined and same for all rules i.e. “select SQL Based Knowledge Representation and Knowledge Editor 9 Start Claim Data Find Applicable Rules Execute Selected Rules Report Error Found in Claim’s Data Exit Fig. 1 Simplified Design of Current Rule Based Engine @rowcnt = count(*) ”. It has a user defined SQL variable i.e. @rowcnt, being assigned count of rows returned by the rule query. This select portion is attached automatically within rule engine while applying rules on a medical claim. For example, ‘date of service’ is necessary for every claim. A claim is rejected if its ‘date of service’ is missing. Rule for this check will be implemented as follow; Rule Query: where ‘<DOS>’ = ‘’ Where token ‘<DOS>’ is a logical variable. Its value comes from the claim that is being processed. A SQL query is associated with every logical variable. Rule engine get value of a logical variable by executing SQL query associated to it. Rule engine then replaces logical variable, in rule query, by its value. Suppose date of service of a claim is missing. So rule query of above rule after replacing value of logical variable <DOS> i.e. empty string (‘’) is as follow; where ‘’ = ‘’ Rule engine then attach predefined ‘select’ portion, and rule query becomes; select @rowcnt = count(*) where ‘’ = ‘’ This query is a valid SQL query executable on database server. Rule engine then executes above query on database server and finds the value of @rowcnt. As “where” clause is true so @rowcnt user defined SQL variable will get value 1 indicating the error of “date of service missing” in given claim. 10 Umair Abdullah, Aftab Ahmed, Mohammad Jamil Sawar Meta-rule Meta Rule Name: a symbolic name to refer meta-rule Description: Information description for which metarule is defined Condition: meta-rule condition in the form of SQL query Fig. 3 Meta-rule Suppose another claim is processed in RBS, having date of service equal to ‘07/30/2010’. Hence the value of <DOS> for this claim is ‘07/30/2010’. Rule query after replacing value of logical variable <DOS> will become: where ‘07/30/2010’ = ‘’ After attaching fixed ‘select’ portion, rule query is as follow; select @rowcnt = count(*) where ‘07/30/2010’ = ‘’ In this case @rowcnt, user defined variable, will get 0 value (as condition is false in “where” clause) thus indicating that error of “date of service missing” has not occurred in the given claim. Action part of rule is also in ‘where’ clause of rule SQL query. Each production rule in knowledge base has its own action part. The critical rules stop faulty claims from submission, while non critical rules simply generate a warning message, and some rules automatically update claims to remove errors, but these changes are according to the instructions approved by the corresponding providers. 7. Knowledge Base of the System Knowledge is represented in the form of production rules, which is an extensively used technique suitable for representing task specific knowledge. In our system production rules are implemented in the form of SQL queries. In order to gain efficiency, a common condition from a group of rules is separated and defined as meta-rule. For example, suppose there are ten rules which belong to a practice X. A meta-rule will be defined performing the check that claim under processing belongs to practice X. During the processing of rule engine, if this meta-rule returns true on a claim, only then those ten rules, which are associated to it, will be activated. use of meta rules is an old concept [13] and used in different domains [24]. Hence knowledgebase of our RBS consists of three entities i.e. meta-rules, rules and logical variables, stored in their respective tables. SQL Based Knowledge Representation and Knowledge Editor 11 Rule attributes provide a declarative way to influence behavior of a rule. Attributes of meta-rules, rules and logical variables, along with their description are given below in Fig. 3 Fig. 4 and Fig. 5. Suppose a provider of practice X wants following Instruction to be followed for his/her billing: “For primary insurance Health Fist, if location is ABC then billing physician should be Dr. Doe” This instruction has been sent to the rule development team by Irfan, in an email on 06 March 2010. It can be implemented as a rule in our RBS, so that a claim violating it should be blocked from submission to insurance. Now as this instruction is only for practice X i.e. not applicable to all of the practices, so a meta-rule that this check should be applied only to the claims of practice X is needed. Meta-Rule Meta Rule Name: mrPracticeX Description: Claim belongs to practice X. Condition: ‘<Practice_code>’ = ‘X’ Meta-rule name ‘mrPracticeX’ can be any suitable symbol. We have used this because it is clear from name that this is meta-rule of practice X. We can define all the instruction from this practice under this meta-rule. Rule will be Rule Rule Name: rDOE Description: For primary insurance Health First, if location is ABC then billing physician should be Dr. Doe. Condition: where ‘<Pri_Insurance>’ = ‘515314’ and ‘<Location_code>’ = ‘500504’ and <Billing_Phy> not in (‘743’) Meta-rule name: mrPracticeX Priority: 50 Status: Active Reference: Email from Irfan on 11 March 2010 Owner: Irfan 12 Umair Abdullah, Aftab Ahmed, Mohammad Jamil Sawar Rule Rule Name: a symbolic name to refer rule. Description: Information description for which rule is defined. Condition: rule condition in the form of SQL query. Meta-rule name: to whom a rule is associated. Priority: An integer to refer importance of a rule. Status: To identify between active and inactive rules. Reference: How the rule communicate to RBS team Owner: Domain expert who has understanding of the rule. Fig. 4 Attributes of Production Rule Note that in SQL query i.e. rule condition, codes have been used for easy processing in database. In our system, code of Health first insurance is 515314, similarly code of Dr. Doe is 743 and location code of ABC is 500504. In above rule and meta-rule four logical variables have been used. These are defined as follow; Logical Variable 1 Variable Symbol: <Prctice_code> Description: Practice code of a claim Query: selec practice_code from claim_table where claim_no = @claim_no Logical Variable 2 Variable Symbol: < Pri_Insurance> Description: Primary insurance of the claim . Query: selec primary_insurance from claim_table where claim_no = @claim_no Logical Variable 3 Variable Symbol: < Location_code> Description: Location code of a claim Query: selec Location_code from claim_table where claim_no = @claim_no Logical Variable 4 Variable Symbol: <Billing_Phy> Description: Practice code of a claim Query: selec billing_physician from claim_table where claim_no = @claim_no SQL Based Knowledge Representation and Knowledge Editor 13 Logical Variable Variable Symbol: Name of logical variable to be used in meta-rules and rules. Description: English description of claim attribute for which the logical variable is defined. Query: A SQL query to fetch the value of logical variable from database. Fig. 5 Attributes of Logical Variable In queries of logical variables @claim_no is a SQL variable, and its value comes from the claim, which is under processing in RBS. Values of above four logical variables are simple columns of claim_table, obtained by executing their respective queries. Those values are then replaced in meta-rule query and rule query thus producing result of the rule on any given claim. 8. Knowledge (Rule) Editor of the System Experts agree that knowledge acquisition and verification are among the most difficult problems associated with the development of knowledge-based systems [25]. At the time of building knowledge base, mistakes in our understanding of subject domain and weaknesses in used representation techniques are highlighted [25]. There are many companies which provide rule editors for adding/editing business rules and knowledge acquisition. A few of them are described below; j.MD Solutions [26] is a tool for authoring, testing and processing expert knowledge bases in medical domain. It was originally designed for interpretation and validation of laboratory tests. Now, other medical or even non-medical domains can also be served. Today, j.MD Solutions is one of the most powerful software products for knowledgebased and rule-based systems in medical domain. j.MD Knowledge Editor authors expert medical knowledge [26]. It organizes expert medical knowledge in hierarchies of knowledge bases, laboratory tests, diagnostic concepts and rules. It provides an intuitive and easy-to-use graphical user interface. OpenRules, Inc. [27] provides a web application that consists of two parts, data input with rule engine execution and online rules editing. Blue Fish Development Group provides Web Publisher. It is a browser-based, customizable tool that allows a business user to create web content. It has advantage over raw web page authoring tools by allowing a more secure enforcement of business rules. 14 Umair Abdullah, Aftab Ahmed, Mohammad Jamil Sawar EZ-Xpert [28], AI Developers, Inc.’s rapid application development (RAD) environment makes development of powerful rule based expert systems, simple enough for even the most novice computer user. An intuitive and easy-to-learn interface walks through the steps to develop own rule bases while EZ-Xpert transparently generates the complex code. The rule base engineering techniques built into the product verify consistency of the knowledge during its building, thus minimizing the need for testing and debugging. Rule set editor of SAP America, Inc. allows editing “if-then” rules and preconditions. User can also set rule priority, override affectivity for rules [28]. Microsoft ships a robust business rule engine with Windows Workflow Foundation (WF) that can be incorporated into workflows to assist in managing business processes [29]. This business rule processing can be used in various capacities with Windows Communication Foundation (WCF) to enrich its message processing capabilities [29]. None of the rule editors described above, is associated with SQL queries. All of them have their own rule engines associated with own specific languages. The knowledge (rule) editor developed at USA based medical billing company provides a graphical interface to domain experts to feed their knowledge. Now medical billing domain experts will perform role of knowledge engineers for building rules from their knowledge. Main window of rule editor is shown in Fig 6. It is used for developing of rules, meta-rules, and logical variables. It generates SQL queries of rules, meta-rules and logical variables by itself, while user have to interact with graphical user interface only. A list of rules is appearing on left side of the window in Fig 6. User can switch to metarules and logical variables by clicking their respective radio buttons present above the rule list. User can search and select any rule from the list in order to edit/modify/delete it. Data of the selected rule appears on main area of the form/ window. Gray portion near bottom shows SQL query of the rule, generated by the rule editor. This SQL query is representation of a production rule. Upper half of the form shows attributes related to the rule. These includes rule name, description, status, meta-rule, rule owner, reference etc. Every rule name should be unique i.e. no two rules in our knowledgebase are allowed to have same name. It can be any meaningful symbol entered by the user. Description is piece of information in English describing the rule. Other two important attributes are ‘reference’ and ‘rule owner’. Often it happens that when a rule is moved to production, it is challenged by some domain users. Reference attributes helps knowledge engineering team to track the documentary proof of knowledge source of the rule. And ‘rule owner’ defends the rule and convinces domain users about the authenticity and validity of the rule. In some cases, a rule needs to be modified or even fully roll backed from the production. SQL Based Knowledge Representation and Knowledge Editor 15 On main window, middle portion of the form (labeled as ‘Rule’) is the main rule developing area. It is working area of the user, where user can build/define rule conditions and action. If user wants to add more conditions, he/she can click ‘Edit’ button List of Rules Main rule developing area SQL query generated Figure 6. Fig. 6 Knowledge (Rule) Editor main window to open an information segment window shown in Fig 7. User can click a hyperlink to open rule condition window shown in Fig. 8, and build a rule condition. Last hyperlink, after ‘then’ is action part of the rule. It opens rule action window (not shown here), where user can select some predefined actions and input rule message. Information segment window has two parts. Upper panel is the list of data attributes/columns related to claim, patient, insurance, practice, provider etc. Required information segment is included in a rule to define a rule condition. Popup menus (shown in Fig 7) have been provided to join multiple conditions with the help of logical operators i.e. ‘and’, ‘or’, ‘not’. From popup menu user can insert opening and closing parenthesis to make rule condition more logical. User can build conditions on main rule developing area of either main window or information segment window. In rule developing area values are in the form of hyperlinks. When a user clicks the hyperlink, a rule condition window opens up as shown in Fig. 8. 16 Umair Abdullah, Aftab Ahmed, Mohammad Jamil Sawar A condition is basically collection of conditional operator in the middle, left operand and right operand on left and right side respectively. Rule condition window allows the user to build a condition. Left operand is normally a logical variable associated with information segment, which was added in the rule on information segment window. Right operand can be another logical variable or a single specific value, like, in example rule of Fig. 7 Information Segment Window previous section, insurance code of Health First i.e. 515314 (a specific value) used as right operand in one of the rule conditions. Right operand can be a list of more than one values when user select ‘in’ or ‘not in’ as conditional operator. Right operand can be two values when user chooses ‘between’ operator. On rule condition window (shown on Fig 8.), ‘apply function’ button is available on both sides of conditional operator. When user clicks this button, Function application window opens up. It is shown in Fig 9. SQL Based Knowledge Representation and Knowledge Editor 17 Fig. 8 Rule condition window to insert condition operator and its operands Fig. 9 Function Application Window A list of commonly used SQL functions is provided in ‘Functions’ portion in the form of two rows of radio buttons, shown on left side of function application widow in Fig 9. Some other functions are also included in list box present below these radio buttons. Argument text box becomes active in ‘arguments’ portion, when a function requires additional argument. User can apply function by checking its radio button and clicking ‘apply’ button. Applied function along with its arguments appears in applied functions’ list present on right side of function application window shown in Fig 9. In this way user can apply many functions or even same function multiple times. User can remove a function by selecting it from applied function list and clicking the ‘remove’ button. 18 Umair Abdullah, Aftab Ahmed, Mohammad Jamil Sawar Final output value along with applied functions is shown in output text box present at top area of function application window. Functions are applied in SQL syntax. When ‘ok’ button is pressed, value appearing in output text box will be returned as left value or right value on rule condition window. In this way multiple rule conditions are built on information segment window, forming condition portion of the rule under development. Action part of the rule is added using information segment window. When check box of ‘rule action’ present at upper left corner is checked, a list of all available actions is displayed in information segment window shown in Fig. 7. User can select one action at one time to complete a rule. On pressing ‘OK’ button of information segment window, rule is displayed on main window in same format. SQL query of the rule is generated and displayed in gray area near bottom of main window shown in Fig. 6. This is flow and working of forms and windows of knowledge editor. Besides development of rules, knowledge editor has following modules; 8.1. Rule Management Knowledge editor facilitates the users in management of rules. With the help of knowledge editor user can activate, deactivate rules present in production. User can move rules from development server to production server. When user moves a rule to production, then RBS copies all its relevant from development server to production server. 8.2. Rule Serialization In knowledge editor, different classes like Rule, Rule Condition, Query etc. have been used. From objects of these classes, SQL queries of rules are generated and saved in the database. To reload saved rule in knowledge editor i.e. to create objects of Rule and Rule Condition, there are two options. Firstly, write a translator module which could build class objects from SQL query of the rule. Secondly, we can create snapshots of class objects in XML form and save them, known as ‘serialization’. Then create class objects from XML form later on, known as ‘de-serialization’. We are using second approach, as this feature is provided by Microsoft .Net programming environment and is known as ‘Serialization’. So when a rule is created in our knowledge editor, a serialized image of the object of ‘Rule’ class is also created in XML form, along with SQL query of the rule. A serialized Rule, along with Rule Conditions is shown in Fig. 10. This XML form is then de-serialized to create object of ‘Rule’ class, when a rule is loaded in knowledge editor, where user can edit this rule. SQL Based Knowledge Representation and Knowledge Editor 19 Fig. 10 Serialized Rule in XML form In future, these serialized rules in XML form can be shared, sent to other organizations and can be used as a commodity in knowledge trading. 20 Umair Abdullah, Aftab Ahmed, Mohammad Jamil Sawar 9. Rule Development Process Advantage and benefit of knowledge editor can be visualized in rule development process before and after the implementation of knowledge editor, shown in Fig. 11 and Fig. 12. Flow of rule development process prior to knowledge editor is shown in Fig. 10. Domain user initiate a rule by sending piece of knowledge to rule development group i.e. dev- Fig. 1 Simplified Design of Current Rule Based Engine Fig. 12 Rule development process flow after Knowledge Editor. SQL Based Knowledge Representation and Knowledge Editor 21 group. It is a group of domain experts, with normally more than five years of experience and in depth knowledge of medical billing. Rule development group then do analysis of information received, confirms its validity and send the refined information to RBS team for development of rule. Since there was no user interface available for them, so they were dependent on RBS team for development of rules. RBS team, consisting of persons with knowledge of SQL programming, was dependent on rule development group for knowledge of application domain. RBS team was using Microsoft SQL Server Management Studio 2005, to write production rules in the form of SQL queries. After some loops of correspondence and sign-off from dev-group, RBS team moved rules to production server. This process was time consuming and involves chances of error, miscommunications and false assumptions. Flow of rule development process after the implementation of knowledge editor is shown in Fig. 12. Now it is more simplified, efficient and less error prone. Rule initiator sends piece of knowledge to domain experts. Domain experts of rule development group can develop rules with the help of graphical user interface of knowledge editor software, which is developed and maintained by RBS team. Rule creation process has speed up due to knowledge editor. Table 1 shows monthly count of rules created prior to the implementation of knowledge editor i.e. January, February, March, April. During these months total of 208 rules were created with monthly average of 52 rules. Table 2 shows number of rules created, in four months, by rule development group using knowledge Table 1: Number of rules created without Knowledge Editor editor. A total of 366 rules created Months No. of rules with monthly average of 91 rules. January 52 Note that during first month of February 58 knowledge editor implementation March 41 i.e. May, 32 rules are created, as rule April 57 development group was learning to use the knowledge editor. 10. Results and discussion Table 2: Number of rules created with Knowledge Editor Enhanced usability and effectiveness has been achieved by developing rule based systems in relational database environment. Using a database environment helped us bridging the gap between data and knowledge thus increasing usefulness of software and gain Months No. of rules May 32 June 68 July 139 August 127 22 Umair Abdullah, Aftab Ahmed, Mohammad Jamil Sawar wide acceptance. Due to RBS, claim rejection rate has been reduced. Prior to the implementation of RBS, graph of daily rejections for the month of January is shown in Fig. 13. Daily average rejection rate is 4.98 % i.e. out of 100 claims approximately 5 claims got rejected. After Fig. 13 Daily rejection rate for the month of January 2010 i.e. prior to implementation of RBS. Fig. 14 Daily rejection rate for the month of July 2010 (after implementation of RBS) the implementation of RBS, graph of daily rejection rate is shown in Fig. 14, with average daily rejection rate of 2.70 %. Rejections have been reduced by 54%. Success of our rule based system is mainly due to implementation environment i.e. SQL database. Rules are implemented in the form of SQL queries. Thus applying rules on domain’s data is easy and fast. With the help of RBS, we have been able to do faster automation of special instructions, knowledge oriented checks and corrective actions. Process remained dependent on developers and SQL programmers till the development of knowledge editor. With Knowledge/ rule editor we got faster rule development process. Now domain experts, having no knowledge of SQL queries, develop rules. While underlying queries are generated by the knowledge editor. SQL Based Knowledge Representation and Knowledge Editor 23 With almost every rule based system suggesting a new rule language will bring us back to 1980s, when there was abundance of specialized/ generalized tools and expert system shells [30], none of them with wide spread/ global acceptance and use. 11. Conclusion and future directions ‘Usability’ is the basic difference between data and knowledge. Data needs some processing to become knowledge. Relational database environment is widely used for storing and managing huge volumes of organized data. In order to make rule based systems more useful their implementation should be done in relational database environment. As success of our RBS system is primarily due to implementation of rules and rule based engine in relational database environment. Building a knowledge base of production rules in the form of SQL queries help in applying domain knowledge more efficiently. It also facilitates to keep production rules as part of data (instead of code). This implementation methodology has helped to achieve flexibility and usability. Further improvement in effectiveness and efficiency has been achieved by developing knowledge editor for the system. Development of knowledge editor is also dependent upon implementation environment of production rules. In our case, rules are represented as SQL queries therefore knowledge editor is generating SQL queries of the rules. Implementation of rule based system in relational database environment guides to a well defined knowledge engineering process. The goal of Knowledge Engineering (KE) is similar to that of Software Engineering i.e. turning the process of constructing KBSs from an art into an engineering discipline. This requires the analysis of knowledge base building and maintenance process itself and the development of appropriate methods, languages, and tools specialized for developing KBSs [3]. As knowledge is upper level of data, so knowledge engineering process of AI systems should patch up with database tools and languages. A rule debugger can be future extension of knowledge editor. Debugger will help user in finding and removing errors in rule itself. It will provide step by step matching of rule conditions, thus will help the rule developer in finding logical mistakes also. Rule learning module. Besides data mining algorithm of rule extraction from historic data, a deductive learning module can be included in the system to learn more rules, verify existing ones and find conflicts and overlapping of existing rules. Rule performance modules can also be an extension in our rule based system. Constant and continuous performance measurement of rules is very important for the success of the system. With knowledge editor, hundreds of rules being added by rule development group monthly. Initial success may turn into failure, if bundles of useless rules got inserted into the system. To keep the system efficient, rules with zero impact should be removed from knowledge base of the system. 24 Umair Abdullah, Aftab Ahmed, Mohammad Jamil Sawar Mining of association rules is already being worked out in medical billing domain [31]. Extraction of production rules from medical billing data warehouse can be a future extension of our system. Acknowledgment This research work has been supported by Higher Education Commission of Pakistan under ‘5000 – indigenous PhD Fellowships Scheme’. Many thanks to USA based medical billing company for providing excellent research environment. Name of the company has not been disclosed due to ‘Cooperate Identity Disclosure Policy’ of the company. References [1] Elkan, C., & Geiner, R. (1993) Review of Building Large Knowledge-Based Systems: Representation and Inference in the Cyc Project, Artificial Intelligence, 61:1, 95-104. [2] Guarino, N. (1995). Formal Ontology, Conceptual Analysis and Knowledge Representation, International Journal of Human and Computer Studies, Elsevier, 43(5/6): 625-640. [3] Studer, R., Benjamins, V. R., & Fensel, D. (1998). Knowledge engineering, principles and methods, Data and Knowledge Engineering, Elsevier, 25(1-2):161–197. [4] Kowalski, R., & Sadri, F. (2009). Integrating Logic Programming and Production Systems in Abductive Logic Programming Agents, In Proceedings of The Third International Conference on Web Reasoning and Rule Systems, Chantilly, Virginia, USA. [5] Davis, R., Shrobe, H., & Szolovits, P. (1993). What Is a Knowledge Representation?, AI Magazine Volume 14 Number 1 (© AAAI) pp-17-33 [6] Davis, R., Buchanan, B., & Shortcliffe, E.H. (1977). Production Rules as a Representation for a Knowledge-base Consultation Program, Artificial Intelligence, 8, 15-45. [7] Abdullah, U., Sawar, M. J., & Ahmed, A. (2009a), Design of a rule based system using Structured Query Language, in Proceedings of 2009 Eighth IEEE International Conference on Dependable, Autonomic and Secure Computing (DASC09), Chengdu, China. pp 223 – 228 . DOI: 10.1109/DASC.2009.78 [8] Roth, F. H. (1985). Rule-based systems, Communications of the ACM, vol. 28, pp. 921-932, September. [9] Skarek, P., & Varga, L. Z. (1996). Rule-Based Knowledge Representation Using a Database, Conference on Artificial Intelligence Applications, Paris, France, 21 - 22 Oct. [10] Lee, T. B., Hendler, J., & Lassila, O. (2001). The Semantic Web, Scientific American 284, 34–43. May. [11] Sawar, M. J., Abdullah, U., & Ahmed, A. (2010). Enhanced Design of a Rule Based Engine Implemented using Structured Query Language, The 2010 International Conference of Computational Intelligence and Intelligent Systems, at World Congress on Engineering, London, U.K., 30 June - 2 July. pp67-71 [12] Hanson, E. N., & Widom, J. (1993). An overview of production rules in database systems. Knowledge. Engineering. Review. 8, 2, 121-143. [13] Shortliffe, E. H. (1986). Medical expert systems-knowledge tools for physicians, West J Med.;145:830-9. [14] Sawar, M. J., Brennan, T. G., Cole, A. J., & Stewart, J. (1992). An Expert System for PostOperative Care (POEMS), Proceedings of MEDINFO-92, Geneva, Switzerland, Sep. [15] Sawar, M. J. (1993). A learning apprentice system for medical decision support systems, PhD Thesis, School of Computer Studies, University of Leeds, UK. SQL Based Knowledge Representation and Knowledge Editor 25 [16] Miller, R. A. (1994). Medical Diagnostic Decision Support Systems - Past, Present, and Future, Journal of the American Medical Informatics Association Volume 1 Number 1 Jan/Feb. [17] Ortega, P. A., Figueroa, C. J., & Ruz, G. A. (2006). A medical claim fraud/abuse detection system based on data mining: A case study in Chile, DMIN'06, The 2006 International Conference on Data Mining, Las Vegas, Nevada, USA, June 26-29. [18] Abdullah, U., Sawar, M. J., & Ahmed, A. (2009b). Comparative Study of Medical Claim Scrubber And A Rule Based System, in Proceedings of IEEE 2009 International Conference on Information Engineering and Computer Science (ICIECS 09), Wuhan, China. DOI : 10.1109/ICIECS.2009.5363668 [19] Carl, M. (2008). "Don't Leave Money on the Table - Use a Claim Scrubber." Don't Leave Money on the Table - Use a Claim Scrubber. 30 Sep. EzineArticles.com. <http://ezinearticles.com/?Dont-Leave-Money-on-the-Table-Use-a-ClaimScrubber&id=1543716>. [20] Hazen, T. (2008). “Scrubbing Reimbursement Rates Clean” Alpha II Claim Staker solution (online) www.alphaII.com [21] Richards, B., & Mullin, L. (2010). Automated configuration of medical practice management systems. US Patent no: US7,720,701B2. Date of Patent: May 18, 2010. Assignee: athenahealth, Inc. Watertown, MA, US. [22] Wicklund, E. (2008). "Alpha II brings 'claims scrubbing' to the medical billing market," http://www.healthcareitnews.com, July 31. [23] Ahmed, A., Abdullah, U., & Sawar, M. J. (2010). Software Architecture of a Learning Apprentice System in Medical Billing. The 2010 International Conference of Computational Intelligence and Intelligent Systems, at World Congress on Engineering, 30 June - 2 July. (pp. 52-56), London, U.K. [24] Schild, U. J., & Herzog, S. (1993). The use of meta-rules in rule based legal computer systems, Proceedings of the 4th international conference on Artificial intelligence and law, p.100-109, June 15-18, Amsterdam, The Netherlands. [25] Perry, C. A. (1992). Knowledge bases in medicine: a review, Bulletin of the Medical Library Association 78(3) July. [26] http://wormek.org/jmd.jsp (web reference) [27] http://openrules.com/ExternalRulesFromGUI.htm (web reference) [28] http://www.ez-xpert.com/review.html (web reference) [29] http://msdn.microsoft.com/en-us/library/dd349784.aspx Matt Milner, "Windows Workflow Tutorial: Rules-Driven WCF Services", December, 2008 [30] Melle, W. V. (1979). A domain independent production rule system for consultation programs, In International Joint Conferences on Artificial Intelligence - 79, pp. 923 – 925, Tokyo, Japan. [31] Abdullah, U., Ahmed, J., & Ahmed, A. (2008). Analysis of effectiveness of apriori algorithm in medical billing data mining, Proceedings of 4th IEEE International Conference on Emerging Technologies, Rawalpindi, Pakistan. pp 327-331, DOI: 10.1109/ICET.2008.4777523