Presentation is loading. Please wait.

Presentation is loading. Please wait.

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

Similar presentations


Presentation on theme: "Drools – Diabetes Phenotype Identification June 30, 2011 Jeffrey Ferraro, PhDc 1 Herman Post, MS 1 Darin Wilcox, MS 1 1 Intermountain Healthcare, Salt."— Presentation transcript:

1 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

2 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

3 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)

4 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

5 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

6 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

7 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

8 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

9 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)

10 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

11 DRL Basic Rule Semantics rule when {Condition} then {Consequence} end

12 Example DRL Rule rule "Glucose <= 40, Insulin On“ when $msg : GlucoseMsg(glucoseFinding 0 ) then glucoseProtocolResult.setInstruction(GlucoseInstructions.GLUCOSE _LESS_THAN_40_INSULIN_ON_MSG); end

13 Example DRL Rule rule "Glucose <= 40, Insulin On“ when $msg : GlucoseMsg(glucoseFinding 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}

14 Current Architecture Business Logic Clinical Element Database List of Diabetic Patients Data Access Layer Transformation Layer Inference Engine (Drools) Service for Creating Output (File, Database, etc) Transform physical representation  Normalized logical representation (Fact Model)

15 Diabetes Workflow

16 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

17 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

18 Collaboration & Exploration  Drools Knitting Group (hosted by Intermountain Healthcare)  Participants  University of Utah  Duke University  Naval Medical Center (Emory Frye)  Shared Experimental Environment

19 Thank You!


Download ppt "Drools – Diabetes Phenotype Identification June 30, 2011 Jeffrey Ferraro, PhDc 1 Herman Post, MS 1 Darin Wilcox, MS 1 1 Intermountain Healthcare, Salt."

Similar presentations


Ads by Google