Patent ID: 8700637

Claim:
A method to aggregate data using a complex event processing engine, comprising: defining in real time, with a processor, a data aggregation tree, the data aggregation tree having at least one parent node and at least one child node associated with the at least one parent node, a self-organizing map arranging nodes into a data sub-tree on an as-needed basis and connections between the at least one parent node and the at least one child node being weighted based on at least one of user inputs, environmental circumstances, node statuses and node business rules to determine a weight value, the processor using a dynamic scorecard to calculate an initial data score for each data aggregation tree; determining, with the processor, the weight value assigned to the at least one child node; determining, with the processor, a threshold level assigned to the at least one child node, the threshold level being associated with child node data; assigning at least one generic rule to the at least one parent node, the at least one generic rule being associated with aggregating child node data from the at least one child node; assigning a specific business rule to the at least one child node based on the weight value, the threshold value, and the at least one generic rule; processing the child node data to determine a child node score for the child node based on the specific business rule and the child node data; assigning a status level of the at least one child node indicating a degree of priority based on the child node score; monitoring an entry status level to detect change in the status level triggering the display of an alert to a user, the change in the status level of the at least one child node being based on the specific business rule and a change in the child node-data; determining, with the processor, a parent node score at the parent node based on an aggregation of one or more of the child node data, parent node data, and the at least one child node score, the aggregation of the parent node score being re-initiated when the change in the status level of the at least one child node is detected; and categorizing, with the processor, the status level of the child node to indicate a degree of priority by way of a color coding of the categorized status level of the child node, the color coding representing an alarm level, a warning level, and a normal level.