27.03.2014 Views

SEKE 2012 Proceedings - Knowledge Systems Institute

SEKE 2012 Proceedings - Knowledge Systems Institute

SEKE 2012 Proceedings - Knowledge Systems Institute

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

Match<br />

production rules<br />

Enterprise System<br />

<strong>Knowledge</strong><br />

Base<br />

Conector<br />

Adapter<br />

Engine<br />

Data<br />

Events<br />

Facts<br />

Persists the<br />

accounting<br />

Database<br />

Id Rule Count Measure Timestamp<br />

1 Cardiology 10 <strong>2012</strong>-06-31<br />

cost age > 50<br />

2 Cardiology 20 <strong>2012</strong>-07-01<br />

cost age > 50<br />

4 Other Rule 71 <strong>2012</strong>-07-02<br />

5 Other Rule 12 <strong>2012</strong>-07-02<br />

Table 2. Table that illustrates how our system<br />

integrates all matched occurrences of the<br />

LRS of a rule over time, using day as the<br />

smaller unit of time. All events that match<br />

a given rule are summed into the count measure.<br />

Figure 5. Run-time Engine<br />

by the production rules are stored in a relational database<br />

through auxiliary functions provided by a simple API.<br />

Dynamically, all these five components work together<br />

as a consumer of data streams from an enterprise system.<br />

When a new event arrives in the stream, it is splited in facts<br />

to be confronted with the production rules from the knowledge<br />

base, producing measures that will compose the OLAP<br />

cube. This process is shown in Figure 6.<br />

Event Stream<br />

Production Rules<br />

Yes<br />

No<br />

Discretized Time<br />

Measures<br />

Figure 6. Stream to business measures<br />

In the next section we describe how this system was integrated<br />

into a large governmental health care management<br />

system.<br />

5. Case Study<br />

The proposed architecture is part of a real claim processing<br />

system of a government health insurance service in<br />

Brazil. This system is currently being used to smartly monitor<br />

health service spending for some medical specialities,<br />

for instance cardiological procedures on people older than<br />

50 years old. With this kind of data, it is possible to efficiently<br />

manage financial resources and create prevention<br />

campaigns.<br />

This goal is implemented by creating rules that filter only<br />

the specific medical events, monitoring, accounting for and<br />

storing the associated appointments. For instance, a possible<br />

query to be executed in this scenario could be: ”How<br />

much did cost the cardiology exams made in july for persons<br />

above 50 years old?”. In our system, the whole conversion<br />

into a cube, and the query over a traditional OLAP system<br />

can be replaced by the simpler production rule shown<br />

in Figure 7.<br />

production rule "CARDIOLOGY exams' costs for USER with age > 50"<br />

when<br />

User(age > 50)<br />

Speciality(name = "cardiology", isExam = true)<br />

Claim($cost = totalCost, $date = date)<br />

do<br />

update_cube($cost, $date, $this)<br />

Figure 7. Production rule that filters only the<br />

events of interest and integrates them over<br />

time.<br />

As this rule is applied to an event stream, the business<br />

measures are persisted into a database as shown in Table 2,<br />

characterizing a cube with the well-defined time dimension<br />

in column ”timestamp” and aditional dimensions (User and<br />

Speciality) implicitly defined trough the rule’s LHS. With<br />

this data, the query from example can be executed by filtering<br />

only the desired date interval.<br />

6. Conclusions<br />

OLAP applications allow the execution of complex<br />

queries over summarized data, also know as measures,<br />

which aids decision-making for managers. Normally, the<br />

creation and maintenance of a data warehouse separated<br />

from normal system database is required, where the data<br />

716

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!