The present invention is directed to a system and methods for integrating flexible event detection into a near real-time streaming environment. A streaming platform streams raw data from multiple sources, adds contextual information to the raw data, and makes inferences from the enriched information. A rule execution operator, being integrated within the streaming platform, executes rules against the enriched information to detect events, using a rule repository that stores a plurality of flexible, dynamic, and customizable rules. When an event is detected by the rule execution operator, the streaming platform may use a middleware component to instantiate actions that are responsive to a detected event. Actions may be directly performed, and/or the actions and instructions for implementing or performing those actions are communicated to external devices.
Please help me write a proper abstract based on the patent claims. CLAIM: 1. A complex event processing system, the system comprising: a rule repository that stores a plurality of rule sets in persistent memory; a platform that enriches streamed data with context in near real time and communicates enriched streamed data to a rule execution operator in near real time; a rule execution operator that executes one or more rules of the plurality of rule sets in the rule repository against the enriched streamed data to detect an event and, when an event is detected, communicates a notification of the event to the platform, wherein the rule execution operator is integrated within the platform. 2. The system of claim 1, wherein the platform builds a plurality of person-specific records in cache memory in near real time. 3. The system of claim 2, wherein each of the plurality of person-specific records in cache memory is built by caching an association of a person identifier unique to the first person with streamed data identified as corresponding to the first person. 4. The system of claim 3, wherein the rule execution operator communicates a notification of the at least one detected event to the platform, and upon receiving the notification of the at least one detected event, the platform identifies one of the plurality of person-specific records in cache memory that corresponds to the at least one detected event. 5. The system of claim 1, wherein the rule execution operator assigns the enriched streamed data to a plurality of sessions, each of the plurality of sessions corresponding to different person identifiers. 6. The system of claim 5, wherein the rule execution operator executes the one or more rules of the plurality of rule sets against each of the one or more sessions. 7. The system of claim 1, wherein the rule execution operator includes an input mapper that maps the enriched streamed data to one or more sessions. 8. The system of claim 7, wherein the input mapper maps a first tuple of the enriched streamed data to a first session associated with a first person identifier by identifying that the first tuple corresponds to enriched streamed data of the first person, the first person corresponding to the first person identifier. 9. The system of claim 1, wherein the rule execution operator includes an output mapper that creates output using the at least one detected event and communicates the at least one detected event to the streaming platform for communication to a user application. 10. The system of claim 9, wherein the output mapper interfaces with the streaming platform. 11. The system of claim 1, wherein the rule execution operator includes: a rule set manager that defines usage of the plurality of rule sets in the rule repository, wherein the rule set manager is an application program interface. 12. The system of claim 1, wherein the rule execution operator includes: a rule session manager that creates one or more rule sessions using the enriched streamed data and that destroys the one or more sessions. 13. The system of claim 1, further comprising: a middleware component that, upon receiving the notification of the at least one detected event via the platform, performs one or more of storing the at least one detected event in an electronic health record, adding an event to a workflow, or triggering an alert. 14. One or more non-transitory computer-readable media having stored therein instructions executable by a processor for complex event processing, the media comprising instructions for: via a rule execution operator integrated within a streaming platform: receiving enriched streamed data from a streaming platform in near real time; assigning the enriched streamed data to a plurality of sessions; accessing at least one rule stored in a rule repository, wherein the rule repository stores a plurality of rules in persistent memory; executing the at least one rule against one or more of the plurality of sessions to detect an event; and when an event is detected based on the execution of the at least one rule against the enriched streamed data, communicating a notification of the event to the streaming platform. 15. The media comprising instructions of claim 14, wherein via the rule execution operator: for each of the plurality of sessions, identifying one or more rules of the plurality of rules to execute against the corresponding enriched streamed data, wherein the one or more rules are specifically identified based on content of the enriched streamed data. 16. The media comprising instructions of claim 14, wherein via the rule execution operator: when an event is detected based on the execution of the at least one rule against the enriched streamed data, activating one or more additional rules for execution against a subsequent session. 17. The media comprising instructions of claim 14, wherein assigning the enriched streamed data to a plurality of sessions further comprises assigning enriched streamed data corresponding to a first person to a first session, and assigning enriched streamed data corresponding to a second person to a second session, wherein the first and second sessions are associated with different session identifiers. 18. The media comprising instructions of claim 17, wherein accessing the at least one rule stored in a rule repository further comprises determining the at least one rule is to be applied to the first session based on content of the enriched streamed data corresponding to the first person. 19. The media comprising instructions of claim 14, wherein executing the at least one rule against one or more of the plurality of sessions to detect an event is performed in near real time, and enriched streamed data is provided to the rule execution operator in an ongoing manner from a streaming platform. 20. A method for complex event processing, the method comprising: receiving enriched streamed data from a streaming platform; accessing at least one rule stored in a rule repository, wherein the rule repository stores a plurality of rules in persistent memory; executing the at least one rule against the enriched streamed data; and when an event is detected based on the execution of the at least one rule against the enriched streamed data, communicating a notification of the event to the streaming platform.