19
Drools – Diabetes Phenotype Identification June 30, 2011 Jeffrey Ferraro, PhDc 1 Herman Post, MS 1 Darin Wilcox, MS 1 1 Intermountain Healthcare, Salt Lake City, Utah

Drools – Diabetes Phenotype Identification

  • Upload
    marva

  • View
    39

  • Download
    1

Embed Size (px)

DESCRIPTION

Drools – Diabetes Phenotype Identification. June 30, 2011 Jeffrey Ferraro, PhDc 1 Herman Post, MS 1 Darin Wilcox, MS 1 1 Intermountain Healthcare, Salt Lake City, Utah. Discussion Points. Drools Background Drools Inference & Workflow Capabilities - PowerPoint PPT Presentation

Citation preview

Page 1: Drools – Diabetes Phenotype Identification

Drools – Diabetes Phenotype Identification

June 30, 2011

Jeffrey Ferraro, PhDc1

Herman Post, MS1

Darin Wilcox, MS1

1Intermountain Healthcare, Salt Lake City, Utah

Page 2: Drools – Diabetes Phenotype Identification

Discussion Points

Drools Background Drools Inference & Workflow Capabilities Describe Drools Inference Execution Model Exam the Drools Rule Semantics High Level Architecture Diabetes Workflow Perceived Benefits Future Directions

Page 3: Drools – Diabetes Phenotype Identification

Drools Framework

Business Logic Integration Platform Framework Supports

Production Rule Inference Engine Workflow (jBPM ≡ Workflow Engine) Complex Event Processing (CEP) Planner – Optimization of NP-hard problems in

workflow (i.e. time scheduling)

Page 4: Drools – Diabetes Phenotype Identification

Drools History

SourceForge Open Source in 2001 Licensed under Apache Part of JBoss Project in 2005 RedHat acquires JBoss in 2006 JBoss Rules (Commercially Supported Version) Published Books

JBoss Drools Business Rules, Paul Browne Drools JBoss Rules 5.0 Developer's Guide, Michal Bali Business Process Management with JBoss jBPM: A Practical

Guide for Business Analyst, Matt Cumberlidge

Page 5: Drools – Diabetes Phenotype Identification

Drools Productivity Tools

Guvnor – Business Rules Management System (BRMS) Authoring Testing Versioning Access Control of Rules & Workflow

Eclipse plugins Authoring rules and workflow Integration into Guvnor

Decision Tables Rule or Workflow Testing Structures

Page 6: Drools – Diabetes Phenotype Identification

Authoring Languages

Drools Rule Language (DRL) – Native Rule Syntax Two Language Dialects

MVEL – Expression Language Java – Programming Like

Business Process Management Notation v2 (BPMN2) Workflow Authoring

Domain Specific Language Creation (DSL) Human Readable Grammars *Production Rules Definition Only

Page 7: Drools – Diabetes Phenotype Identification

Benefits of a Rules Engine

Declarative Programming Model (‘what’ not ‘how’)

Promotes Separation of Business Logic and Data

Loose Coupling of Business Logic (Reusability)

Promote Centralization of Knowledge

Productivity: Knowledge Engineering Tools

Strive for Understandable Rules (Human Readable?)

Shareable Rules Facilitated by Common Fact Model

Page 8: Drools – Diabetes Phenotype Identification

Drools Inference Engine

Represent Knowledge thru Production Rules

Forward Chaining Inference Model Rule Matching(‘how’): Rete Algorithm & Leaps “Data Driven” – Reactionary Inference Model

Facts Asserted into Working Memory Rule Propagation takes Place Legible Rules Schedule for Execution Consequence(s) Realized (Results)

Backward Chaining Inference Model (future support) “Goal Driven” (Why Questions) Start with Conclusion Inference to Satisfy Conclusion

Page 9: Drools – Diabetes Phenotype Identification

Drools Workflow

Goal of Workflow - combine tasks into an understandable process Supports task sequencing Promotes understanding thru process visualization - graphical

modeling support Provides seamless integration of rules and flow Supports WS HumanTask 1.0 implementation State Management Supports Pluggable Work Items

Domain-specific Definition Declarative Model (‘what’, not ‘how’) High-level Definition (no code)

Page 10: Drools – Diabetes Phenotype Identification

Drools Inference Architecture

Inference Execution Model Define a Knowledge Base

Compiled Rules (*Expensive Operation) Produces Production Memory

Extract Knowledge Session from Knowledge Base

Insert Facts (data) into Knowledge Session “Agenda”

Fire Rules (*Race Conditions/Infinite Loop – ouch!)

Retrieve End Results

Page 11: Drools – Diabetes Phenotype Identification

DRL Basic Rule Semantics

rule <name>

when {Condition}<(1..n) facts in Working Memory OR data from external sources, matches this rule>

then {Consequence}<update, insert or retract some facts in Working Memory

OR set a parameter (end result)>end

Page 12: Drools – Diabetes Phenotype Identification

Example DRL Rule

rule "Glucose <= 40, Insulin On“

when $msg : GlucoseMsg(glucoseFinding <= 40, currentInsulinDrip > 0 )

then glucoseProtocolResult.setInstruction(GlucoseInstructions.GLUCOSE

_LESS_THAN_40_INSULIN_ON_MSG);end

Page 13: Drools – Diabetes Phenotype Identification

Example DRL Rule

rule "Glucose <= 40, Insulin On“

when $msg : GlucoseMsg(glucoseFinding <= 40, currentInsulinDrip > 0 )

then glucoseProtocolResult.setInstruction(GlucoseInstructions.GLUCOSE

_LESS_THAN_40_INSULIN_ON_MSG);end

{binding} {Java Class}{Class Getter Method}

Parameter {Java Class} {Class Setter Method}

{Rule Name}

Page 14: Drools – Diabetes Phenotype Identification

Current Architecture

Business Logic

Clinical Element

Database

List ofDiabetic Patients

Data Access Layer

Transformation Layer

Inference Engine (Drools)

Service for Creating Output (File, Database,

etc)

Transform physical representation Normalized logical representation (Fact Model)

Page 15: Drools – Diabetes Phenotype Identification

Diabetes Workflow

Page 16: Drools – Diabetes Phenotype Identification

Benefits

Organized representation of knowledge & process Rules and Workflow - accessibility by clinicians Facilitates collaborative authoring Potential for knowledge sharing thru common fact

model BPMN represents an explicit, declarative stateful

programming model Tight integration of rules and workflow

Page 17: Drools – Diabetes Phenotype Identification

Future Directions

Define a fact model that can be shared across organizations

Better understand use of Rules vs. Workflow Explore Domain Specific Languages (DSL) Evaluate performance & scalability Define a Rules and Workflow sharing model

Page 18: Drools – Diabetes Phenotype Identification

Collaboration & Exploration

Drools Knitting Group (hosted by Intermountain Healthcare)

Participants University of Utah Duke University Naval Medical Center (Emory Frye)

Shared Experimental Environment

Page 19: Drools – Diabetes Phenotype Identification

Thank You!