Download 5. Architecture of a Rule Based System for Medical Billing

Survey
yes no Was this document useful for you?
   Thank you for your participation!

* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project

Document related concepts

Enactivism wikipedia , lookup

Computer Go wikipedia , lookup

History of artificial intelligence wikipedia , lookup

Human–computer interaction wikipedia , lookup

Ecological interface design wikipedia , lookup

Stemming wikipedia , lookup

Personal knowledge base wikipedia , lookup

Knowledge representation and reasoning wikipedia , lookup

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