STEVE SPARANO: Hi.
My name is Steve Sparano.
I'm the product manager for SAS Event Stream Processing.
And today I'd like to show you how
we're going to use Event Stream Processing to find insights
in your live streaming data.
Today we'll use Event Stream Processing Studio,
to design an ESP model and use that to process
live incoming transactions and find the insights that
are important to you.
So let's get started.
Now we've opened the SAS Event Stream Processing Studio.
Within the Studio, I'm looking at the health monitoring
ESP model that we've created.
This model's been created to receive vital information
from various patient monitoring devices like heartbeat, blood
pressure, and so on, evaluate this information as it streams
in, in real time, and then generate
alerts to alert medical care teams to provide
the critical care that's needed based on the alerts
we've identified using our ESP model.
Let's start by looking at the vitals source window.
It's in this window that I define all of the input schema
data so all the various fields I'll
be using to monitor and evaluate the incoming event streams.
Second, I'd like to focus on event retention periods,
and for this we use a copy window.
This is where I can capture information
in various time periods, in this case one hour and one minute.
Downstream from my one minute time period
I'm going to be looking at only those events across a one
minute sliding window, and I'm going
to be performing calculations looking
for patterns of interest, or in this case looking
for calculations that I might care about.
The calculations I'll be using are standard deviations,
based on that one minute of data as it arrives,
and I'll be doing things like looking for standard deviations
on heart rate, maximum temperature,
and the last readings on various sensor data that comes in.
In a similar way, I'll be doing other calculations
based on a one hour sliding time window.
And in this case, I'll be looking across that one
hour of data as it streams in, looking
for standard deviation of heart rate and maximum temperature.
I'll join that data together and use a filter window
to be able to compare these various calculations together,
to identify a pattern of interest, in this case
as my standard deviation of heart rate over the last minute
exceeded the standard deviation of my heart rate
over the last hour, and has the maximum temperature
over the last minute exceeded the temperature
max over the last hour.
I use that information to determine
should I raise an alert to that critical care team.
Another method I'm using to identify
those events of interest is a pattern window.
In this case, I've created a pattern called vitals warning.
Inside of this pattern window, I'm
looking for three different patterns
but not individually, I'm looking at these patterns
as they correlate to each other.
In this case, the relationship between the oxygen saturation,
the heart rate, and the systolic blood pressure.
I use all of those together to identify a pattern of interest
and if all of these occur, I raise an alert
because I'm passing the event I found down to the alert engine
at the end.
And we'll get to that in a moment.
Last thing I'm using is a DS2 procedural window.
In this case, I'm able to insert DS2 code generated either
by SAS tools like Enterprise Miner,
or data step 2 code generated by hand inserted into this window.
That runs then on any events that
move through this particular ESP model.
I score those transactions, if an issue is identified
using the filter window, that is if I get blood pressure equals
high, I'll pass that on to the alert window.
The alert window itself is where I generate the alerts
and send those out in real time to the critical care team.
I'm using SMTP server with the following settings
in generating any one of three different message types.
If I look at the SMS message type,
you can see I specify the delivery channel, as well
as the to and from and the subject line,
and inside of the body of the message
I can look at information embedded,
using the different escape characters from my event stream
schema, and embed those in the message itself to make
the message more relevant.
But before I can actually deploy this model,
I'd like to test it.
So let's go into the Test mode provided by Event Stream
Processing Studio.
If I zoom in on the model, I'm going
to subscribe to a couple of different windows,
just like a downstream application would subscribe
to these individual windows looking for events that they
care about.
In this case I've selected three different windows
at random, press play and I'm now
subscribing to an event stream that's already
been set up streaming vital statistic information
into the ESP engine.
As you can see my calculations are displayed at the bottom.
I can evaluate these various calculations
and determine whether or not these are correct.
If not, I can make adjustments back
an ESP Studio I should be receiving events now
as alerts on my mobile device.
Now that I'm done testing I can press stop.
This will stop the project on the ESP server.
I can close my test mode window, make any changes inside
of my ESP Studio, continue to test until I get the desired
results.
And that completes the demo of the Event Stream Processing
Studio.
Showing you how we can use retention policies
and aggregations to find insights in your data
in real time.
Thank you.