Custom state values in CEP

classic Classic list List threaded Threaded
5 messages Options
Reply | Threaded
Open this post in threaded view
|

Custom state values in CEP

Sowmya Vallabhajosyula
Is there a way to store a custom state value along with triggering an event? This would not only help in maintaining an audit of the values that triggered the state, but also for some complex set of conditions - for e.g. if the earlier state was triggered by the temperature of a patient, I do not want to consider temperature in the subsequent state calculation.

At this point of time, I feel that for such a scenario I will have to go with Data Streaming API and manage state on my own. Is that right?

Thanks and Regards,
Sowmya Vallabhajosyula
Reply | Threaded
Open this post in threaded view
|

Re: Custom state values in CEP

Till Rohrmann
Hi Sowmya,

I'm afraid at the moment it is not possible to store custom state in the filter or select function. If you need access to the whole sequence of matching events then you have to put this code in the select clause of your pattern stream.

Cheers,
Till

On Fri, Apr 22, 2016 at 7:55 AM, Sowmya Vallabhajosyula <[hidden email]> wrote:
Is there a way to store a custom state value along with triggering an event? This would not only help in maintaining an audit of the values that triggered the state, but also for some complex set of conditions - for e.g. if the earlier state was triggered by the temperature of a patient, I do not want to consider temperature in the subsequent state calculation.

At this point of time, I feel that for such a scenario I will have to go with Data Streaming API and manage state on my own. Is that right?

Thanks and Regards,
Sowmya Vallabhajosyula

Reply | Threaded
Open this post in threaded view
|

Re: Custom state values in CEP

Sowmya Vallabhajosyula
Hi Till,

Thank you for the quick reply. May be you can help me find a way of doing it in CEP.

Scenario:

If any of the patient vitals received in the last 24 hours are out of range, I want to set the state as SIRS. 

In the sample code, I implement a Filter Function that identifies if the vital is out of range. In reality, patient 3 should not be added to SIRS (his temperature vital is already recorded or another record came in where the temperature is still high which should be invalidated as well). Is there a different way of achieving this? I cannot have a separate filter for each vital as the order of vitals can be random.

Inline image 1

On Fri, Apr 22, 2016 at 2:35 PM, Till Rohrmann <[hidden email]> wrote:
Hi Sowmya,

I'm afraid at the moment it is not possible to store custom state in the filter or select function. If you need access to the whole sequence of matching events then you have to put this code in the select clause of your pattern stream.

Cheers,
Till

On Fri, Apr 22, 2016 at 7:55 AM, Sowmya Vallabhajosyula <[hidden email]> wrote:
Is there a way to store a custom state value along with triggering an event? This would not only help in maintaining an audit of the values that triggered the state, but also for some complex set of conditions - for e.g. if the earlier state was triggered by the temperature of a patient, I do not want to consider temperature in the subsequent state calculation.

At this point of time, I feel that for such a scenario I will have to go with Data Streaming API and manage state on my own. Is that right?

Thanks and Regards,
Sowmya Vallabhajosyula




--
Thanks and Regards,
Sowmya Vallabhajosyula

SepsisDemo.java (3K) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Re: Custom state values in CEP

Till Rohrmann
Hmm I think you won't come around the problem of deduplication because if you look for 2 events which are out of range and all of your 4 vitals are out of range, then you will have at least two matching sequences (given that you don't reuse the events). Maybe it's best to simply use a tumbling time window of 24 hours and then count the elements which are out of range for each user. That you can simply do with a fold function.

Cheers,
Till

On Fri, Apr 22, 2016 at 11:22 AM, Sowmya Vallabhajosyula <[hidden email]> wrote:
Hi Till,

Thank you for the quick reply. May be you can help me find a way of doing it in CEP.

Scenario:

If any of the patient vitals received in the last 24 hours are out of range, I want to set the state as SIRS. 

In the sample code, I implement a Filter Function that identifies if the vital is out of range. In reality, patient 3 should not be added to SIRS (his temperature vital is already recorded or another record came in where the temperature is still high which should be invalidated as well). Is there a different way of achieving this? I cannot have a separate filter for each vital as the order of vitals can be random.

Inline image 1

On Fri, Apr 22, 2016 at 2:35 PM, Till Rohrmann <[hidden email]> wrote:
Hi Sowmya,

I'm afraid at the moment it is not possible to store custom state in the filter or select function. If you need access to the whole sequence of matching events then you have to put this code in the select clause of your pattern stream.

Cheers,
Till

On Fri, Apr 22, 2016 at 7:55 AM, Sowmya Vallabhajosyula <[hidden email]> wrote:
Is there a way to store a custom state value along with triggering an event? This would not only help in maintaining an audit of the values that triggered the state, but also for some complex set of conditions - for e.g. if the earlier state was triggered by the temperature of a patient, I do not want to consider temperature in the subsequent state calculation.

At this point of time, I feel that for such a scenario I will have to go with Data Streaming API and manage state on my own. Is that right?

Thanks and Regards,
Sowmya Vallabhajosyula




--
Thanks and Regards,
Sowmya Vallabhajosyula

Reply | Threaded
Open this post in threaded view
|

Re: Custom state values in CEP

Sowmya Vallabhajosyula
Thanks Till! I will try that out.

Virus-free. www.avast.com

On Fri, Apr 22, 2016 at 3:14 PM, Till Rohrmann <[hidden email]> wrote:
Hmm I think you won't come around the problem of deduplication because if you look for 2 events which are out of range and all of your 4 vitals are out of range, then you will have at least two matching sequences (given that you don't reuse the events). Maybe it's best to simply use a tumbling time window of 24 hours and then count the elements which are out of range for each user. That you can simply do with a fold function.

Cheers,
Till

On Fri, Apr 22, 2016 at 11:22 AM, Sowmya Vallabhajosyula <[hidden email]> wrote:
Hi Till,

Thank you for the quick reply. May be you can help me find a way of doing it in CEP.

Scenario:

If any of the patient vitals received in the last 24 hours are out of range, I want to set the state as SIRS. 

In the sample code, I implement a Filter Function that identifies if the vital is out of range. In reality, patient 3 should not be added to SIRS (his temperature vital is already recorded or another record came in where the temperature is still high which should be invalidated as well). Is there a different way of achieving this? I cannot have a separate filter for each vital as the order of vitals can be random.

Inline image 1

On Fri, Apr 22, 2016 at 2:35 PM, Till Rohrmann <[hidden email]> wrote:
Hi Sowmya,

I'm afraid at the moment it is not possible to store custom state in the filter or select function. If you need access to the whole sequence of matching events then you have to put this code in the select clause of your pattern stream.

Cheers,
Till

On Fri, Apr 22, 2016 at 7:55 AM, Sowmya Vallabhajosyula <[hidden email]> wrote:
Is there a way to store a custom state value along with triggering an event? This would not only help in maintaining an audit of the values that triggered the state, but also for some complex set of conditions - for e.g. if the earlier state was triggered by the temperature of a patient, I do not want to consider temperature in the subsequent state calculation.

At this point of time, I feel that for such a scenario I will have to go with Data Streaming API and manage state on my own. Is that right?

Thanks and Regards,
Sowmya Vallabhajosyula




--
Thanks and Regards,
Sowmya Vallabhajosyula




--
Thanks and Regards,
Sowmya Vallabhajosyula