IP Library Granted Patent US 9,990,598
Granted Patent B2
US 9,990,598 · App. 13/768,012 · Granted Jun 5, 2018

Apparatuses, systems, and methods for providing a rules engine system

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 9,990,598
App. No.
13/768,012
Granted
Jun 5, 2018
Kind
B2
Abstract

Apparatuses, systems, methods, and computer program products are provided for that have a cross-module scope for facilitating the use and management of rules on an application level. The rules engine system is configured to accept inputs from multiple modules of an application, retrieve data from multiple modules, and cause actions to be carried out by multiple modules. A rules engine provider component of the system is isolated from a rules manager component of the system by a rules wrapper component, such that the rules manager component is unaffected by changes that are made to the rules engine provider component.

Claims (36)

1. An apparatus for supporting a rules engine system, the apparatus comprising at least one processor and at least one memory including computer program code, the at least one memory and the computer program code configured to, with the processor, cause the apparatus to at least:

provide for communication, via a rules wrapper component, between a rules engine provider component comprising a plurality of rules and a rules manager component configured to edit at least one of the plurality of rules, the rules wrapper component comprising a first portion configured to communicate with the rules manager component and a second portion configured to communicate with the rules engine provider component;

wherein the rules wrapper component is configured to communicate with the rules manager component via the first portion to perform at least one of a rule execution function, a rule searching function, a rule creation function, a rule management function, a rule deployment function, or a rule tracking function, such that the rules wrapper component functionally isolates the rules manager component from the rules engine provider component;

wherein the rule tracking function includes at least one of accessing rule names, trigger point names, rule performance data, an action to be taken when a rule condition is satisfied, and user inputs;

wherein the rule tracking function evaluates the rule condition and obtains information regarding what facts caused the rule condition to be evaluated as true and is accomplished via communication with the rules engine provider component;

wherein a functionality of the rules manager component is unaffected by changes to the rules engine provider component; and

wherein the rules wrapper component remains the same for different rules of the rules engine provider component.

2. The apparatus of claim 1 , wherein the at least one memory and the computer program code are further configured to, with the processor, cause the apparatus to provide for communication between the rules engine system and an application server via a rules service component.

3. The apparatus of claim 2 , wherein the rules service component is unaffected by changes to the rules engine provider component.

4. The apparatus of claim 2 , wherein the rules wrapper component is configured to de-couple a framework of the application server from the rules engine provider component of the rules engine system.

5. The apparatus of claim 1 , wherein each component comprises a layer of functionality and the rules engine provider component comprises an innermost layer of functionality.

6. The apparatus of claim 1 , wherein the rules wrapper component is configured to communicate with a fact retriever of the rules manager component to access domain objects that have been retrieved by the fact retriever.

7. The apparatus of claim 1 , wherein the rules wrapper component is further configured to isolate a rules service component from the rules engine provider component such that the rules service component is unaffected by changes to the rules engine provider component, wherein the rules service component is configured to define a user interface and to communicate with the rules manager component.

8. The apparatus of claim 1 , wherein functionality of the first portion is unaffected by changes to the second portion.

9. A method for interacting with a rules engine provider component comprising:

accessing a plurality of rules provided by a rules engine provider component; managing editing of at least one of the plurality of rules via a rules manager component; and

functionally isolating the rules manager component from the rules engine provider component via a rules wrapper component configured to communicate with the rules manager component and the rules engine provider component, wherein the rules wrapper component comprises a first portion configured to communicate with the rules manager component and a second portion configured to communicate with the rules engine provider component, wherein the rules wrapper component is configured to communicate with the rules manager component via the first portion to perform at least one of a rule execution function, a rule searching function, a rule creation function, a rule management function, a rule deployment function, or a rule tracking function, such that the rules manager component is unaffected by changes to the rules engine provider component,

wherein the rule tracking function includes at least one of accessing rule names, trigger point names, rule performance data, an action to be taken when a rule condition is satisfied, or user inputs,

wherein the rule tracking function evaluates the rule condition and obtains information regarding what facts caused the rule condition to be evaluated as true and is accomplished via communication with the rules engine provider component,

wherein the rules wrapper component remains the same for different rules of the rules engine provider component.

10. The method of claim 9 further comprising providing for interaction with an application server via a rules service component, wherein the rules wrapper component is configured to isolate the rules service component from the rules engine provider component such that the rules service component is unaffected by changes to the rules engine provider component.

11. The method of claim 10 , wherein the rules wrapper component is configured to de-couple a framework of the application server from the rules engine provider component of the rules engine system.

12. The method of claim 9 comprising configuring each component as a layer of functionality, wherein the rules engine provider component comprises an innermost layer of functionality.

13. The method of claim 9 , wherein the rules wrapper component is configured to communicate with a fact retriever of the rules manager component to access domain objects that have been retrieved by the fact retriever.

14. A computer program product comprising at least one nontransitory computer-readable storage medium having computer-executable program code portions stored therein, the computer-executable program code portions comprising program code instructions for:

accessing a plurality of rules provided by a rules engine provider component;

managing editing of at least one of the plurality of rules via a rules manager component; and

functionally isolating the rules manager component from the rules engine provider component via a rules wrapper component configured to communicate with the rules manager component and the rules engine provider component, wherein the rules wrapper component comprises a first portion configured to communicate with the rules manager component and a second portion configured to communicate with the rules engine provider component, wherein the rules wrapper component is configured to communicate with the rules manager component via the first portion to perform at least one of a rule execution function, a rule searching function, a rule creation function, a rule management function, a rule deployment function, or a rule tracking function, such that the rules manager component is unaffected by changes to the rules engine provider component,

wherein the rule tracking function includes at least one of accessing rule names, trigger point names, rule performance data, an action to be taken when a rule condition is satisfied, or user inputs,

wherein the rule tracking function evaluates the rule condition and obtains information regarding what facts caused the rule condition to be evaluated as true and is accomplished via communication with the rules engine provider component,

wherein the rules wrapper component remains the same for different rules of the rules engine provider component.

15. The computer program product of claim 14 , wherein the program code portions further comprise program code instructions configured for providing for interaction with an application server via a rules service component.

16. The computer program product of claim 15 , wherein the rules wrapper component is configured to isolate the rules service component from the rules engine provider component such that the rules service component is unaffected by changes to the rules engine provider component.

17. The computer program product of claim 15 , wherein the rules wrapper component is configured to de-couple a framework of the application server from the rules engine provider component of the rules engine system.

18. The computer program product of claim 14 , wherein the program code portions further comprise program code instructions configured for configuring each component as a layer of functionality, wherein the rules engine provider component comprises an innermost layer of functionality.

19. The computer program product of claim 14 , wherein the rules wrapper component is configured to communicate with a fact retriever of the rules manager component to access domain objects that have been retrieved by the fact retriever.

Assignments (11)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 4, 2022
From: ALLSCRIPTS SOFTWARE, LLC
To: HARRIS DAWN HOLDINGS, INC
Reel/Frame 061933/0655 →
NOTICE OF PARTIAL TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENT RIGHTS Recorded May 16, 2022
From: JPMORGAN CHASE BANK, N.A.
To: ALLSCRIPTS SOFTWARE, LLC
Reel/Frame 060381/0954 →
SECURITY INTEREST Recorded May 10, 2022
From: ALTERA DIGITAL HEALTH INC.
To: JPMORGAN CHASE BANK, N.A., AS ADMINISTRATIVE AGENT
Reel/Frame 059913/0710 →
SECURITY INTEREST Recorded Nov 10, 2017
From: ALLSCRIPTS SOFTWARE, LLC
To: JPMORGAN CHASE BANK, N.A., AS ADMINISTRATIVE AGENT
Reel/Frame 044096/0852 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 19, 2017
From: MCKESSON CORPORATION
To: PF2 MCKESSON TECHNOLOGIES INC.
Reel/Frame 043904/0271 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 19, 2017
From: PF2 MCKESSON TECHNOLOGIES INC.
To: PF2 EIS LLC
Reel/Frame 043904/0405 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 9, 2017
From: ALLSCRIPTS HEALTHCARE US, LP
To: ALLSCRIPTS SOFTWARE, LLC
Reel/Frame 043815/0967 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 9, 2017
From: PF2 EIS LLC
To: ALLSCRIPTS HEALTHCARE, LLC
Reel/Frame 043815/0918 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 9, 2017
From: ALLSCRIPTS HEALTHCARE, LLC
To: ALLSCRIPTS HEALTHCARE US, LP
Reel/Frame 043815/0939 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 12, 2017
From: MCKESSON FINANCIAL HOLDINGS UNLIMITED COMPANY
To: MCKESSON CORPORATION
Reel/Frame 041355/0408 →
CHANGE OF NAME Recorded Jan 11, 2017
From: MCKESSON FINANCIAL HOLDINGS
To: MCKESSON FINANCIAL HOLDINGS UNLIMITED COMPANY
Reel/Frame 041329/0879 →