Replay the Execution History of Rule-based. Information. Essam Mansour. March 2009. Essam Mansour. DBKDA 2009 Cancun, Mexico. March 2009. 1 / 26 ...
DB&IS Research Group Introduction Background Research Problem Research Objective
Contributions
Replay the Execution History of Rule-based Information
DRDoc Model AIMQL Language AIMS System Evaluation
Essam Mansour
Conclusion Contact Me
March 2009
Essam Mansour
DBKDA 2009 Cancun, Mexico
March 2009
1 / 26
Outline DB&IS Research Group
1
Introduction Background Research Problem Research Objective
2
Contributions DRDoc Model AIMQL Language AIMS System Evaluation
3
Conclusion
4
Contact Me
Introduction Background Research Problem Research Objective
Contributions DRDoc Model AIMQL Language AIMS System Evaluation
Conclusion Contact Me
Essam Mansour
DBKDA 2009 Cancun, Mexico
March 2009
2 / 26
Introduction DB&IS Research Group Introduction Background Research Problem Research Objective
Contributions DRDoc Model AIMQL Language AIMS System Evaluation
Conclusion Contact Me
Applications, such as disease management or customer relationship management, monitor changes of interest. Information formalizing this monitoring process could be modeled as ECA rules (Rule-Based Information). Approaches adopting active database implement this information as triggers.
Essam Mansour
DBKDA 2009 Cancun, Mexico
March 2009
3 / 26
Background: working scenario DB&IS Research Group Introduction Background Research Problem Research Objective
Contributions DRDoc Model AIMQL Language AIMS System Evaluation
Conclusion Contact Me
In healthcare, clinical guidelines are used to monitor the clinical events of interest concerning a specific patient. a medical patient plan is generated based on a clinical guideline for each diabetes patient. In the execution process, medical patient plan determines the reaction to the changes of the patients state. Clinicians are interested to review the execution history of these medical plans.
Essam Mansour
DBKDA 2009 Cancun, Mexico
March 2009
4 / 26
Background: Our SIM Framework DB&IS Research Group Introduction Background Research Problem Research Objective
Contributions DRDoc Model AIMQL Language AIMS System Evaluation
Conclusion Contact Me
We developed a framework, called SIM, for managing rule-based information using XML and active databases. The management process goes through three phases: Specification: the rule-based information (such as clinical guidelines) is formalized at a generic form Instantiation: an entity specific plan (such as medical patient plan) is generated from the generic form. Maintenance : the plans are executed, manipulated and queried.
Essam Mansour
DBKDA 2009 Cancun, Mexico
March 2009
5 / 26
Research Problem (1) DB&IS Research Group Introduction Background Research Problem Research Objective
Contributions DRDoc Model AIMQL Language AIMS System Evaluation
Conclusion Contact Me
Execution History contains several information scenes. End users, such as clinicians, are interested to: replay the execution history of a specific plan, determine the action made, when and why, compare the progress of two plans, and specify how many times a rule was executed
Essam Mansour
DBKDA 2009 Cancun, Mexico
March 2009
6 / 26
Research Problem (2) DB&IS Research Group Introduction Background Research Problem Research Objective
Contributions DRDoc Model AIMQL Language AIMS System Evaluation
Problem Statement Move the complexity of querying the rule-based information and its execution history from user/application code to a high level declarative language.
Conclusion Contact Me
Essam Mansour
DBKDA 2009 Cancun, Mexico
March 2009
7 / 26
Research Objective DB&IS Research Group Introduction Background Research Problem Research Objective
Objective Statement Develop a replay support management that is based on XML technologies and DBMS.
Contributions DRDoc Model AIMQL Language AIMS System Evaluation
Conclusion Contact Me
The main aspects of the replay support management are: a model for formalizing the plans generated for a specific entity, such as patient, and a replay query language that declaratively query the plans and thier execution history.
Essam Mansour
DBKDA 2009 Cancun, Mexico
March 2009
8 / 26
DRDoc: A model for the Rule-Based Information DB&IS Research Group Introduction Background Research Problem Research Objective
Contributions DRDoc Model AIMQL Language AIMS System Evaluation
Conclusion Contact Me
stands for Dynamic Rule-based Document Formalizes the plans generated for specific entities and their history as a temporal XML document, called DRDoc document. DRDoc document consists of two main parts, active and passive.
Essam Mansour
DBKDA 2009 Cancun, Mexico
March 2009
9 / 26
DRDoc: A model for the Rule-Based Information DB&IS Research Group Introduction Background Research Problem Research Objective
Contributions DRDoc Model AIMQL Language AIMS System Evaluation
Conclusion Contact Me
DRDoc document Active Part the reactive behavior of the rule-based information coded as several triggers . Passive Part descriptive information, which represents states of the rule-based information and the execution history
Essam Mansour
DBKDA 2009 Cancun, Mexico
March 2009
10 / 26
DRDoc: A model for the Rule-Based Information DB&IS Research Group Introduction Background Research Problem Research Objective
Contributions DRDoc Model AIMQL Language AIMS System Evaluation
Conclusion Contact Me
The XML Schema of DRDoc. Essam Mansour
DBKDA 2009 Cancun, Mexico
March 2009
11 / 26
DRDoc: A model for the Rule-Based Information DB&IS Research Group Introduction Background Research Problem Research Objective
An Example Part of a medical plan Rule MAP1 ON 2 days After the patient admission, DO order the test albumin creatine ratio (ACR).
Contributions DRDoc Model AIMQL Language AIMS System Evaluation
Conclusion
Rule MAP2
Contact Me
ON receiving the result of the ACR test, IF the result is greater than 25 DO Add rule MAP3.
Essam Mansour
DBKDA 2009 Cancun, Mexico
March 2009
12 / 26
DRDoc: A model for the Rule-Based Information DB&IS Research Group
An Example Introduction Background Research Problem Research Objective
Contributions DRDoc Model AIMQL Language AIMS System Evaluation
Conclusion Contact Me
A part of a patient plan..
Essam Mansour
DBKDA 2009 Cancun, Mexico
March 2009
13 / 26
AIMQL Replay Language DB&IS Research Group Introduction Background Research Problem Research Objective
Contributions DRDoc Model AIMQL Language AIMS System Evaluation
Conclusion Contact Me
- AIMQL plays over again the history of DRDoc documents to show the in details the actions that cause changes on them. - The AIMQL replay query statement consists of main three clauses as follows: REPLAY Clause: indicates the element that is subject to be replayed SHOW Clause: determines which pieces of information are to be returned WHERE Clause: includes a comparison predicate
Essam Mansour
DBKDA 2009 Cancun, Mexico
March 2009
14 / 26
AIMQL Replay Language DB&IS Research Group Introduction Background Research Problem Research Objective
Contributions DRDoc Model AIMQL Language AIMS System Evaluation
Conclusion Contact Me
The AIMQL replay query structure Essam Mansour
DBKDA 2009 Cancun, Mexico
March 2009
15 / 26
DRDoc: A model for the Rule-Based Information DB&IS Research Group Introduction Background Research Problem Research Objective
Examples Replay plan (X,PID) over the period (TP1,TP2) REPLAY PLAN p1 SHOW When OF p1 WHERE p1[@DEID = X and @SPID = PID] and p1.overlaps(valid(TP1,TP2))
Contributions DRDoc Model AIMQL Language AIMS System Evaluation
Conclusion Contact Me
Retrieve the first instance of the plan (X,PID) REPLAY PLAN p1 SHOW When OF FIRST(p1) WHERE p1 [@DEID = X and @SPID = PID]
Essam Mansour
DBKDA 2009 Cancun, Mexico
March 2009
16 / 26
DRDoc: A model for the Rule-Based Information DB&IS Research Group Introduction Background Research Problem Research Objective
Contributions
Examples Compare the progress of plan (X1,PID1) with plan (X2,PID2) after its state (ST)
DRDoc Model AIMQL Language AIMS System Evaluation
REPLAY PLAN p1,p2 SHOW When, How, Why OF p1 WHERE p1 [@DEID = X1 and @SPID = PID1] and p2[@DEID = X2 and @SPID = PID2] and NOT(p1.precedes(valid(p2.state[value=ST])))
Conclusion Contact Me
Essam Mansour
DBKDA 2009 Cancun, Mexico
March 2009
17 / 26
AIMS: A Proof-of-concept System DB&IS Research Group Introduction Background Research Problem Research Objective
Contributions DRDoc Model AIMQL Language AIMS System Evaluation
Conclusion Contact Me
stands for Advanced Information Management System utilizes the modern DBSs that provide XML data management and triggering mechanism extends the XML support provided by DBSs to provide temporal support and utilizes the DBS to validate and store the DRDOC documents maps the AIMQL queries into XQuery scripts
Essam Mansour
DBKDA 2009 Cancun, Mexico
March 2009
18 / 26
AIMS: A Proof-of-concept System DB&IS Research Group
AIMS: A Complex Information Management System
Introduction Background Research Problem Research Objective
Modifications
- Specification - Instantiation - Execution
Result and Acknowledgement
- Manipulation - Query and Replay
- Queries and Manipulations - Skeletal Plan Doc - Entity-Specific Plan Doc
Contributions DRDoc Model AIMQL Language AIMS System Evaluation
AIM Language Statement
Complex Information Manager
Registration and Manipulation
Rule Manager - Temporal Execution - Rule Manipulation
Information Manager - Validation method - Temporal storage method - Temporal query method
Communication Manager - Dissemination method - Distribution method
Conclusion Contact Me
Messages DBMS Trigger Mechanism
XML Repository - Domain Information - AIMSL Specification - AIM ESPDoc
XML Schemas
Modern DBMS
User/Client
Information Provider
External Entities
the AIMS conceptual architecture Essam Mansour
DBKDA 2009 Cancun, Mexico
March 2009
19 / 26
AIMS: A Proof-of-concept System DB&IS Research Group Introduction Background Research Problem Research Objective
Contributions DRDoc Model AIMQL Language AIMS System Evaluation
Conclusion Contact Me
The XQuery script of the replay query “retrieve the first instance of the plan (X,PID)” XQUERY declare namespace xsd =”http://www.w3.org/2001/XMLSchema”; for $p1 in db2-fn:xmlcolumn(’AIM ESPlan TAB.ESPDOC’)//Plan[@DEID=X and @SPID=PID] where( ( xsd:dateTime($p1/@startTime) = xsd:dateTime($p1/@startTime) ) ) return {for $PState in $p1/state return { $PState/value[( ( xsd:dateTime($p1/@startTime)