Skip to main content

Need Help Using Spok Knowledge?

Internet Explorer is not supported. Please reload in Chrome, Edge, Firefox, or Safari.
Spok

Managing Events in Spok Messenger

Adding Events

  1. Choose the Edit > Event Actions menu option. The Events dialog displays.
  2. Click New. The fields clear and information can be added.
    M_NewEvent.png
  3. Enter the following information:

    Name

    In the Name field, enter a name for the event being created.

    Abbreviation

    In the Abbreviation field, enter a shortened name for the event being created.

    Trigger  Expression

    In the Trigger Expression field, enter any free-form text that should be associated with the event action that is being created. The Trigger Expression is used to match particular events or actions. The field searches information that is coming into the system based on the information that is entered in the field. For example, if you are looking for information including “Code Blue,” you could enter “Code Blue” into the Trigger Expression field. Values could consist of symbols, letters, and spaces that help identify information. Please note that if you are receiving information from a system that does not need the extraction expression manipulated, you just need to enter the desired keywords into the Trigger Expression field in the event.

    *Detailed information on commonly used regular expressions is included in the Regular Expressions section.

    Enabled

    Enable the Enabled option if the event being created should exist but should not be active, or fire off.

    Accept Clears Event

    Enable the Accept Clears Event option if you would like the event to be automatically cleared after the message from the event is accepted.

    Trigger on Destination

    Enable the Trigger on Destination option if the recipient information should be used and not the message. When this field is enabled, the PIN that comes in from the input is taken and passed along to the chosen gateway.

    Case Insensitive Triggers

    Enable the Case Insensitive Triggers option if the system should ignore if letters are upper case or lower case. For example, if “Blood Clot” is entered into the system, the system can read this information as “Blood Clot,”  “blood clot,” “Blood clot,” or “blood Clot.”

    Keep Alive

    Enable the Keep Alive option if you would like the system to automatically reset the chosen event’s expiration timer instead of triggering an identical event when a duplicate message is received.

    For example, if you are using a PMSG gateway to receive messages, PMSG continuously receives update messages from the input system identifying that the alarm is active until the alarm is no longer active. Then, the alarm resets itself after the defined self-cancel timeout. So if the Keep Alive option is enabled, the self-cancel timeout resets itself whenever it receives a message indicating that an alarm is active.

    Priority

    From the Priority drop down menu, choose the desired event level. The event level is used to sort the events. Events that are assigned a level one display at the top of the list, and the rest of the events are organized in descending level of importance from top to bottom. From the Event Priority drop down menu, event priority levels from zero to 20 can be chosen.

    Color

    From the Color field, a color can be chosen to represent the event that is being created.

    Type

    • Activation: Choose the Activation option if an incoming event should have a life cycle of the event.
    • Momentary: Choose the Momentary option if the event should be sent once, and then immediately close after being sent.
    • Send via Direct: Choose the Send via Direct option if the system should take a message from one gateway and send it directly to another gateway with minimal processing.

    Default Tags

    The default tag values are the characters in the input that you want to match. Clicking the Default Tags button takes you to the Default Tags dialog.

    Trigger Delay

    In the Trigger Delay field, enter the amount of time the system should wait before the event being created becomes active. Please note that this field dictates how long the system waits before the event becomes active internally in the system. This field is measured in seconds.

    Sources

    Clicking the Sources button takes you to the Gateway Selection dialog. This dialog allows you to choose gateways that are active in receiving the event being created. Therefore, the gateways that are classified as Non-Receiving Input Gateways are inactive in the receiving of the event being created, while the gateways that are classified as Receiving Input Gateways are active in the receiving of the event being created.

     

    *Clicking this button displays the Gateway Selection dialog. 

    Self Cancel timeout (Seconds)

    In the Self Cancel timeout (Seconds) field, enter the number of seconds you would like the system to wait before canceling the event that is being created.

    Actions

    In the Actions field, a list of actions that are performed when the event is started displays.

    Global Tags

    Clicking the Global Tags button takes you to the Global Tags dialog. In the Global Tags dialog, you have the ability to add, edit, and delete global tags. This dialog manages the name of the tag, the value of the tag, and the actual global tag.

     

Managing Default Tags

Within the Events dialog, default tags can be added, edited, and deleted. To access the Event Default Tags dialog where the tags are managed, click Default Tags in the Events dialog.

Adding Default Tags

Default tags can be added in the Events dialog.

  1. In the Events dialog, click Default Tags .
    M_EventDefaultTags.PNG
  2. From the Name drop down menu, choose the desired name for the default tag. The chosen name displays in the Name field and the tag for the chosen name displays in the Tag field.
  3. In the Value field, enter the desired value for the default tag. For example, if you are entering in a room name as the default tag, you could enter “100” as the value, representing the room number.
  4. After all the desired information is added, click Add in the Event Default Tags for dialog. The default tag is saved and displays in the Event Default Tags list.
Editing Default Tags

Existing default tags can be edited in the Events dialog by accessing the Event Default Tags dialog.

  1. In the Event Default Tags screen, choose the event default tag you would like to edit from the Event Default Tag list. The tag becomes highlighted and the information for the tag displays in the fields.
  2. Edit the desired information.
  3. After all desired changes are made, click Update in the Event Default Tags for dialog. The changes are saved and display in the Event Default Tags dialog.
    NOTE: When the Name field is altered, the Update button changes to an Add button. Therefore, when you would like to save the name change of the global tag, click Add instead of the Update button.

 

Deleting Default Tags

Existing default tags can be deleted from the Events dialog by accessing the Event Default Tags dialog.

  1. In the Event Default Tags dialog, choose the default tag you would like to delete from the Event Default Tags list. The tag becomes highlighted and the information for that tag displays in the fields.
  2. In the Event Default Tags for dialog, click Delete . The default tag is deleted from the list.

 

Managing Global Tags

Global tags can be added, edited, and deleted in the Events dialog by accessing the Global Tags dialog.

Adding Global Tags

Global tags can be added to the Events dialog by accessing the Global Tags dialog.

  1. In the Events dialog, click Global Tags . The Global Tags dialog displays.
    M_EventGlobalTag.PNG
  2. From the Name drop down menu, choose the desired name for the global tag. The chosen name displays in the Name field, and a tag for the name automatically displays in the Tag field.
  3. In the Value field, enter a value for the global tag you are creating. For example, if you are creating a global tag with a name of “Facility Name,” you could enter “Emergency Department” into the Value field, implying that the Emergency Department is the facility name.
  4. After the desired information is entered, click Add in the Global Tags dialog. The entered global tag displays in the Global Tags list.
Editing Global Tags

Existing global tags can be edited in the Events dialog by accessing the Global Tags dialog.

  1. In the Global Tags dialog, choose the global tag you would like to edit from the Global Tags list. The global tag becomes highlighted and the information for the tag displays in the field.
  2. In the fields, edit the desired information.
  3. After the desired information is edited, click Update . The changes are saved and are shown in the Global Tags list.
    NOTE: When the Name field is altered, the Update button changes to an Add button. Therefore, when you would like to save the name change of the global tag, click Add instead of the Update button.

 

Deleting Global Tags

Existing global tags can be deleted from the Events dialog by accessing the Global Tags dialog.

  1. From the Global Tags list, choose the tag you would like to delete. The tag becomes highlighted and the information for the tag displays in the fields.
  2. In the Global Tags dialog, click Delete . The global tag is deleted from the Global Tags list.

Managing Gateways (Sources)

Gateways can be managed in the EditEvent Actions > Sources dialog. This opens the Gateway Selection dialog.

  1. Click Sources . The Gateway Selection dialog displays.
    M_EventDisallowGWY.PNG
  2. In the list of gateways, choose the desired gateway to edit. The gateway becomes highlighted.
  3. Click one of the following buttons:
    M_EventMoveGWYRcv.PNG

    Clicking this button moves a gateway from the Non-Receiving Input Gateways field to the Receiving Input Gateways field.

    M_EventClearGwy.PNG

    Clicking the Clear button reverses all changes that were made since the last time changes were saved.

    M_EventMoveGWYNonRcv.PNG

    Clicking this button moves a gateway from the Receiving Input Gateways field to the Non-Receiving Input Gateways field.

  4. After the gateways are displayed in the desired field, click Save . The changes to the Gateway Selection dialog are saved and you are returned to the Events dialog.

Managing Message Actions

Message actions can be managed in the Events dialog by accessing the Event Actions dialog.

  1. In the Events dialog, click New . The Event Action dialog displays.
    M_Notify Options.PNG
  2. Edit the following information:

    Action Name

    In the Action Name field, enter a name for the event action that is being created.

    Abbreviation

    In the Abbreviation field, enter a shortened name for the name of the event action that is being created.

    Action Type

    From the Action Type drop down menu, choose one of the following options:

    Staff Assignment: When the Staff Assignment option is chosen, the system performs a location lookup based on the staff assignment. For example, the system uses the facility, unit, bed number, etc. instead of performing a PIN lookup.

    Keyword: When the Keyword option is chosen, the system performs a lookup based on a keyword that is entered.

    PIN and Lookup: When the PIN and Lookup option is chosen, the system performs a lookup by identifier, instead of by staff assignment. 

    Gateway Reset: When the Gateway Reset option is chosen, all of the actions that are currently running at that time can be reset. Simply, if you have several active events that you would like to cancel, choose this option.

    RTLS Lookup: This action type only works when the Ekahau RTLS gateway is enabled. When the RTLS Lookup option is chosen, the system performs a recipient list lookup based on the Ekahau event zone information. The recipient list only contains active Ekahau device tags which are in the same zone.

    Default Tags

    The default tag values are the characters in the input that you want to match. Clicking the Default Tags button takes you to the Default Tags dialog.

    Trigger Expression

    Enable the Trigger Expression option if the recipient information should be used and not the message.

    Filter Duplicate Actions For Same Location

    Enable the Filter Duplicate Actions For Same Location option if you would like the timer to be extended for alarms that have the same regular expression and the same location as a previous event action. If this option is disabled, it begins a new event action even if the new event action has the same regular expression and the same location as a previously created event action.

    Case Insensitive Triggers

    Enable the Case Insensitive Triggers option if the system should ignore if letters are upper case or lower case. For example, if “Blood Clot” is entered into the system, the system can read this information as “Blood Clot,”  “blood clot,” “Blood clot,” or “blood Clot.”

    Trigger Expression

    In the Trigger Expression field, enter any free-form text that you would like to invoke the event action that is being entered.

     

    *Clicking in this field takes you to the Regular Expression Editor dialog.

    Extraction Expression

    In the Extraction Expression field, enter the format in which the information that is entered in the Activation Msg field should be entered. The Extraction Expression is used to identify where pertinent data is located in the input and if it should be included in the message coming from the input system.

    For example, a system sends Spok Messenger text that we want to process such as the following: “HOSPITAL:WEST:202:2 Code Blue”.

    In the Extraction Expression field, the following format can be entered to capture the information for processing:

         ^(?<FI>\w+)[:](?<UI>\w+)[:](?<RI>\w+)[:](?<BI>\w+)\s(?<MS>.*)

    This expression captures any input coming from a targeted input integration and passes that information into the Events interface for processing. Below is a breakdown of the regular expression and what each component means to the expression.

    Text Message

    In the Text Message field, enter the message that is sent out with the event that is being created. The information that is entered in the Activation Msg field should be entered in the format that is defined in the Extraction Expression field. Please note that regular text can be included.

    For example:

    Patient needs assistance: ${RI} Bed: ${BI} Msg: ${MS}

    Clear Message

    In the Clear Message field, enter the information that should be sent out when the reset identifier is set in the extraction expression.

    For example:

    Patient no longer needs assistance: ${RI} Bed: ${BI} Msg: ${MS}

    Alert Profile

    From the Alert Profile drop down menu, choose the desired tone you would like to override the beep code for the event.

    Action Priority

    From the Action Priority drop down menu, choose the desired priority level. The priority level is used to sort the events. Events that are assigned a level one display at the top of the list, and the rest of the events are organized in descending level of importance from top to bottom. This field also acts as a filter. If a specific event is triggered, this field can prevent the system from pursuing any other event actions or this field can tell the system to continue to pursue other event actions. For example, if the system receives an event that matches the desired search criteria, the system would not continue to pursue other events if configured to do so by the system. In contrast, if the system has not received an event that matches the desired search criteria, it continues to go down the list to search for a match. This field prevents multiple actions from being triggered from one input. From the Action Priority drop down menu, event priority levels from zero to 20 can be chosen.

    Actions are High Priority

    Enable the Actions are High Priority option if you would like to mark the event action that is being created as a high priority item.

    Send Alarm Clear Messages

    Enable the Send Alarm Clear Messages option if you would like to send alarm clear messages. If this option is not enabled, the message is cleared and a message is not sent.

    Self Cancel timeout (Seconds)

    In the Self Cancel timeout (Seconds) field, enter the desired number of seconds that you would like the event action that is being created to wait before the event action cancels itself due to lack of response.

    Time Rule

    From the Time Rule drop down menu, choose the desired time rule. Time rules include defined weeks, days, start times, and end times for when an event action becomes active. The time rules that are available from the Time Rule drop down menu are defined by clicking the Edit Times button and editing the information in the Time Rules dialog. 

    Edit Times

    The Edit Times button allows you to dictate when the event is active. When the Edit Times button is clicked, the Time Rules dialog displays, allowing you to create time rules that become available in the Time Rule field after being saved. Time rules include defined times (week, day, start time, and end time) that an event action can become active.

    *Clicking this button brings you to the Time Rules dialog. For detailed information on editing times, please see the Editing Times section below.

    Delay before Primary device is notified

    In the Delay before Primary device is notified field, enter the time delay that should occur after an event of this type is activated and before a message is sent to a staff member on his or her primary device. Please note that the first field represents the hour and the second field represents the minute. Please note that for events that do not need to be delayed, this field is commonly set at zero.

    Primary to Secondary escalation time

    In the Primary to Secondary escalation time field, enter the time delay that should occur after a message is sent to the primary device and before a message is sent to a staff member on their secondary device. The formation for this field is: MM:SS.

    Secondary to Tertiary escalation time

    In the Secondary to Tertiary escalation time field, enter the time delay that should occur after a message is sent to the secondary device and before a message is sent to a staff member on his or her tertiary device. Please note that the first field represents the hour and the second field represents the minute.

    Notify All Enabled: Allows Messenger to send duress/man down event messages to all active Ekahau devices regardless of the location. Enabling this option will disable the Notify Zone and Notify Nearest options.

    NOTE: The device that triggered the duress/Man down event will not receive the event message.
     
    Notify Zone

    Enabled: Messenger delivers the duress/man down event messages to all active Ekahau devices in the same location as the device that generated the alarm.

    NOTE: The device that triggered the duress/Man down event will not receive the event message.

    Notify Nearest

    Notify Nearest will notify only the specified number of Ekahau Devices with the same map id that are nearest to the duress device. It is is enabled when the value is greater than '0' and determines how many Ekahau Devices will be notified.

    NOTE: This option is disabled if Notify All or Notify Zone is enabled.

    Enable Callback

    Enable the Enable Callback option to insert callback information into the message triggered by the event.

    Override Hunt Group

    In the Override Hunt Group field, enter a number that will override the hunt group value provided by the incoming message that triggered the event action. This is used when connecting to a phone system to perform a callback.

    Leave this field empty to use the hunt group defined by the event originator (defined in the ${ah} tag).

    Extension

    In the Extension field, enter the number for the extension that is used when connecting to a phone system to perform a callback.  Pieces of the message can be included with the same data we use for the outgoing message.

    By including the following, we can insert the room and bed numbers we identified earlier into the extension for the room for call back.

    ${RN}#${BN}

    In the example above, the room number and bed number are inserted with a pound (#) key manually inserted between to execute a dial pattern. The hunt group is added to this before it is passed to the phone system for processing.

    Leave this field empty to use the callback extension value defined by the event originator (defined in the ${ae}).

    Modify Recipients

    In the Recipients field, the Modify Recipients button can be clicked. When this button is clicked, you can choose recipients to add to the Recipients section. The recipients that should be chosen for this section are recipients whom you would like to receive notifications when an event action becomes active.

    *Clicking this button brings you to the Recipients dialog. For detailed information on modifying recipients, please see the Modifying Recipients section below.

     

Using the Regular Expression Editor

When you click the Regular Expression, Extraction Expression, Activation Message, or Clear Message field, the Regular Expression Editor dialog displays. When using the Regular Expression Editor, the following regular expressions can be used:

 

Regular Expressions

Input Message

Extraction Expression

Activation Message

Hunt

Extension

Messenger (Expression Result)

This message should pass through

       

This message should pass through

Message with text and no spaces should pass through

       

Message with text and no spaces should pass through

How about a pass through with * characters?

       

How about a pass through with * characters?

Have Phone Call

 

${raw}

   

Have Phone Call

Room101 Emergency Call

^[\D]+(?<ri>\w+)[\W]+(?<ms>.*)

${raw}

8888,,,

${RI}

Room101 Emergency Call EXT:8888,,,101

Apartment101 Emergency Call

^[\D]+(?<ri>\w+)[\W]+(?<ms>.*)

${raw}

8888,,,

${RI}

Apartment101 Emergency CallEXT:8888,,,101

Apt_101 Emergency Call

^[\D]+(?<ri>\w+)[\W]+(?<ms>.*)

${raw}

8888,,,

${RI}

Apt_101 Emergency CallEXT:8888,,,101

W202:2 Patient Call

^[\D]+(?<ri>\w+)[\W]+(?<bi>\w+)[\W]+(?<ms>.*)

${raw}

8888,,,

${RI}#${BI}

W202:2 Patient CallEXT:8888,,,202#2

W202:200 Patient Call

^[\D]+(?<ri>\w+)[\W]+(?<bi>\w+)[\W]+(?<ms>.*)

${raw}

8888,,,

${RI}#${BI}

W202:200 Patient CallEXT:8888,,,202#200

W202:A Patient Call

^[\D]+(?<ri>\w+)[\W]+(?<bi>\w+)[\W]+(?<ms>.*)

${raw}

8888,,,

${RI}#${BI}

W202:A Patient CallEXT:8888,,,202#1

W202:I Patient Call

^[\D]+(?<ri>\w+)[\W]+(?<bi>\w+)[\W]+(?<ms>.*)

${raw}

8888,,,

${RI}#${BI}

W202:I Patient CallEXT:8888,,,202#9

W202:L Patient Call

^[\D]+(?<ri>\w+)[\W]+(?<bi>\w+)[\W]+(?<ms>.*)

${raw}

8888,,,

${RI}#${BI}

W202:L Patient CallEXT:8888,,,202#1

W202:R Patient Call

^[\D]+(?<ri>\w+)[\W]+(?<bi>\w+)[\W]+(?<ms>.*)

${raw}

8888,,,

${RI}#${BI}

W202:R Patient CallEXT:8888,,,202#2

101 Emergency Call

^(?<ri>\w+)[\W]+(?<ms>.*)

${raw}

8888,,,

${RI}

101 Emergency CallEXT:8888,,,101

W202-1 Emergency Call

^[\D]+(?<ri>\w+)[\W]+(?<bi>\w+)[\W]+(?<ms>.*)

${raw}

8888,,,

${RI}#${BI}

W202-1 Emergency CallEXT:8888,,,202#1

W202-101 Emergency Call

^[\D]+(?<ri>\w+)[\W]+(?<bi>\w+)[\W]+(?<ms>.*)

${raw}

8888,,,

${RI}#${BI}

W202-101 Emergency CallEXT:8888,,,202#101

202;A Patient Call

^(?<ri>\w+)[\W]+(?<bi>\w+)[\W]+(?<ms>.*)

${raw}

8888,,,

${RI}#${BI}

202;A Patient CallEXT:8888,,,202#1

202,3 Shower Call

^(?<ri>\w+)[\W]+(?<bi>\w+)[\W]+(?<ms>.*)

${raw}

8888,,,

${RI}#${BI}

202,3 Shower CallEXT:8888,,,202#3

202,301 Shower Call

^(?<ri>\w+)[\W]+(?<bi>\w+)[\W]+(?<ms>.*)

${raw}

8888,,,

${RI}#${BI}

202,301 Shower CallEXT:8888,,,202#301

202.D Bath Call

^(?<ri>\w+)[\W]+(?<bi>\w+)[\W]+(?<ms>.*)

${raw}

8888,,,

${RI}#${BI}

202.D Bath CallEXT:8888,,,202#4

W99*500*1 Code Blue

^[\D]+(?<ui>\w+)[\W]+(?<ri>\w+)[\W]+(?<bi>\w+)[\s]+(?<ms>.*)

${raw}

8888,,,

${UI}#${RI}#${BI}

W99*500*1 Code BlueEXT:8888,,,99#500#1

W99*5000*1 Code Blue

^[\D]+(?<ui>\w+)[\W]+(?<ri>\w+)[\W]+(?<bi>\w+)[\s]+(?<ms>.*)

${raw}

8888,,,

${UI}#${RI}#${BI}

W99*5000*1 Code BlueEXT:8888,,,99#5000#1

W99*500*101 Code Blue

^[\D]+(?<ui>\w+)[\W]+(?<ri>\w+)[\W]+(?<bi>\w+)[\s]+(?<ms>.*)

${raw}

8888,,,

${UI}#${RI}#${BI}

W99*500*101 Code BlueEXT:8888,,,99#500#101

1*5*1 Code Blue

^(?<ui>\w+)[\W]+(?<ri>\w+)[\W]+(?<bi>\w+)[\s]+(?<ms>.*)

${raw}

8888,,,

${UI}#${RI}#${BI}

1*5*1 Code BlueEXT:8888,,,1#5#1

1*107*1 Staff Assist

^(?<ui>\w+)[\W]+(?<ri>\w+)[\W]+(?<bi>\w+)[\s]+(?<ms>.*)

${raw}

8888,,,

${UI}#${RI}#${BI}

1*107*1 Staff AssistEXT:8888,,,1#107#1

1*100*101 Staff Assist

^(?<ui>\w+)[\W]+(?<ri>\w+)[\W]+(?<bi>\w+)[\s]+(?<ms>.*)

${raw}

8888,,,

${UI}#${RI}#${BI}

1*100*101 Staff AssistEXT:8888,,,1#100#101

5:100:A Patient Call

^(?<ui>\w+)[\W]+(?<ri>\w+)[\W]+(?<bi>\w+)[\s]+(?<ms>.*)

${raw}

8888,,,

${UI}#${RI}#${BI}

5:100:A Patient CallEXT:8888,,,5#100#1

99:99999:9 The priority of the message would be here

^(?<ui>\w+)[\W]+(?<ri>\w+)[\W]+(?<bi>\w+)[\s]+(?<ms>.*)

${raw}

8888,,,

${UI}#${RI}#${BI}

99:99999:9 The priority of the message would be hereEXT:8888,,,99#99999#9

W201 Normal

^[\D]+(?<ri>\w+)[\s]+(?<ms>.*)

${raw}

8888,,,

${RI}

W201 NormalEXT:8888,,,201

W202:2 Normal

^[\D]+(?<ri>\w+)[\W]+(?<bi>\w+)[\s]+(?<ms>.*)

${raw}

8888,,,

${RI}#${BI}

W202:2 NormalEXT:8888,,,202#2

W202:201 Normal

^[\D]+(?<ri>\w+)[\W]+(?<bi>\w+)[\s]+(?<ms>.*)

${raw}

8888,,,

${RI}#${BI}

W202:201 NormalEXT:8888,,,202#201

RM_4431 Normal

^[\D]+(?<ri>\w+)[\s]+(?<ms>.*)

${raw}

8888,,,

${RI}

RM_4431 NormalEXT:8888,,,4431

RM_4432 Normal

^[\D]+(?<ri>\w+)[\s]+(?<ms>.*)

${raw}

8888,,,

${RI}

RM_4432 NormalEXT:8888,,,4432

4623 Pillow Speaker Out

^(?<ri>\w+)[\W]+(?<ms>.*)

${raw}

8888,,,

${RI}

4623 Pillow Speaker OutEXT:8888,,,4623

Bed 8 Bed Out

^[\D]+(?<ri>\d+)[ ](?<ms>.*)

${raw}

   

Bed 8 Bed Out

10*340*1 Can you have * characters in a message?

^(?<ui>\w+)[\W]+(?<ri>\w+)[\W]+(?<bi>\w+)[\s]+(?<ms>.*)

${raw}

8888,,,

${UI}#${RI}#${BI}

10*340*1 Can you have * characters in a message?EXT:8888,,,10#340#1

10*340*1 Can you have : characters in a message?

^(?<ui>\w+)[\W]+(?<ri>\w+)[\W]+(?<bi>\w+)[\s]+(?<ms>.*)

${raw}

8888,,,

${UI}#${RI}#${BI}

10*340*1 Can you have : characters in a message?EXT:8888,,,10#340#1

100Exam_201:1 Staff Assist

^(?<ui>[\d]*)([a-z:.-/*-][^\d]+)(?<ri>[\d]+)([^\d])(?<bi>[\d]+)[\s]+(?<ms>.*)

${raw}

8888,,,

${UI}#${RI}#${BI}

100Exam_201:1 Staff AssistEXT:8888,,,100#201#1

100Exam-201:1 Staff Assist

^(?<ui>[\d]*)([a-z:.-/*-][^\d]+)(?<ri>[\d]+)([^\d])(?<bi>[\d]+)[\s]+(?<ms>.*)

${raw}

8888,,,

${UI}#${RI}#${BI}

100Exam-201:1 Staff AssistEXT:8888,,,100#201#1

100Exam_201-1 Staff Assist

^(?<ui>[\d]*)([a-z:.-/*-][^\d]+)(?<ri>[\d]+)([^\d])(?<bi>[\d]+)[\s]+(?<ms>.*)

${raw}

8888,,,

${UI}#${RI}#${BI}

100Exam_201-1 Staff AssistEXT:8888,,,100#201#1

100Exam_201*1 Staff Assist

^(?<ui>[\d]*)([a-z:.-/*-][^\d]+)(?<ri>[\d]+)([^\d])(?<bi>[\d]+)[\s]+(?<ms>.*)

${raw}

8888,,,

${UI}#${RI}#${BI}

100Exam_201*1 Staff AssistEXT:8888,,,100#201#1

100Exam-201*1 Staff Assist

^(?<ui>[\d]*)([a-z:.-/*-][^\d]+)(?<ri>[\d]+)([^\d])(?<bi>[\d]+)[\s]+(?<ms>.*)

${raw}

8888,,,

${UI}#${RI}#${BI}

100Exam-201*1 Staff AssistEXT:8888,,,100#201#1

100ICU123:3 Code Blue

^(?<ui>[\d]*)([a-z:.-/*-][^\d]+)(?<ri>[\d]+)([^\d])(?<bi>[\d]+)[\s]+(?<ms>.*)

${raw}

8888,,,

${RI}#${BI}

100ICU123:3 Code Blue EXT:8888,,,123#3

100Exam201:101 Staff Assist

^(?<ui>[\d]*)([a-z:.-/*-][^\d]+)(?<ri>[\d]+)([^\d])(?<bi>[\d]+)[\s]+(?<ms>.*)

${raw}

8888,,,

${RI}#${BI}

100Exam201:101 Staff AssistEXT:8888,,,201#101

100:Exam_201:1 Staff Assist

^(?<ui>[\d]*)([a-z:.-/*-][^\d]+)(?<ri>[\d]+)([^\d])(?<bi>[\d]+)[\s]+(?<ms>.*)

${raw}

8888,,,

${RI}#${BI}

100:Exam_201:1 Staff AssistEXT:8888,,,201#1

100-Exam_201-1 Staff Assist

^(?<ui>[\d]*)([a-z:.-/*-][^\d]+)(?<ri>[\d]+)([^\d])(?<bi>[\d]+)[\s]+(?<ms>.*)

${raw}

8888,,,

${RI}#${BI}

100-Exam_201-1 Staff AssistEXT:8888,,,201#1

100*Exam_201*1 Staff Assist

^(?<ui>[\d]*)([a-z:.-/*-][^\d]+)(?<ri>[\d]+)([^\d])(?<bi>[\d]+)[\s]+(?<ms>.*)

${raw}

8888,,,

${RI}#${BI}

100*Exam_201*1 Staff AssistEXT:8888,,,201#1

100:ICU123:3 Code Blue

^(?<ui>[\d]*)([a-z:.-/*-][^\d]+)(?<ri>[\d]+)([^\d])(?<bi>[\d]+)[\s]+(?<ms>.*)

${raw}

8888,,,

${RI}#${BI}

100:ICU123:3 Code BlueEXT:8888,,,123#3

100:Exam201:101 Staff Assist

^(?<ui>[\d]*)([a-z:.-/*-][^\d]+)(?<ri>[\d]+)([^\d])(?<bi>[\d]+)[\s]+(?<ms>.*)

${raw}

8888,,,

${RI}#${BI}

100:Exam201:101 Staff AssistEXT:8888,,,201#101

ICU100:Exam201:101 Staff Assist

^[\D]+(?<ui>\w+)[\W]+[\D]+(?<ri>\w+)[\W]+(?<bi>\w+)[\s]+(?<ms>.*)

${raw}

8888,,,

${UI}#${RI}#${BI}

ICU100:Exam201:101 Staff AssistEXT:8888,,,201#101

5524 Bd:1 Canceled Normal Message

\G(?<bi>.*:\S+[\s])(?=.*(?<reset>canceled) > .)(?<msg>.*\S+)

${raw}

     

 

  1. In the Event Action dialog, click in the Regular Expression, Extraction Expression, Activation Message, or Clear Message field. The Regular Expression Editor dialog displays.
    M_RegExEditor.PNG
  2. In the Regular Expression Editor dialog, click the Show Editor button. The Regular Expression Editor dialog expands.
    M_RegExEditorShow.PNG
Extract Tab

When you click the Extract tab in the Regular Expression Editor dialog, the following fields display: Recipient ID, Test Message, Case Insensitive, and Results.

 

Match/Extraction Regex is valid

In the Match/Extraction Regex is valid field, enter a valid regular expression.

Recipient ID

In the Recipient ID field, enter any identifying information that you would like associated with the recipient. This field generally represents the PIN or extension number of the recipient from the sending system.

Test Message

In the Test Message field, enter information to identify the pieces of the regular expression. For example, if ^(?<FI>\w+)[:](?<UI>\w+)[:](?<RI>\w+)[:](?<BI>\w+)\s(?<MS>.*)  is your regular expression, you need to identify the bolded portions of the expression in the Test Message field:

 

      ^(?<FI>\w+)[:](?<UI>\w+)[:](?<RI>\w+)[:](?<BI>\w+)\s(?<MS>.*) 

  

 Meaning:  (Facility Identifier):(Unit Identifier):(Room Identifier):(Bed Identifier) (Message)

 

Example:   slh:250:300:1 Assistance needed


For example, if you enter “slh:250:300:1 Assistance needed” into the Test Message field,  you are identifying the facility identifier as “slh,” the unit identifier as “250,” the room identifier as “300,” the bed identifier as “1,” and the message as “Assistance needed.”

 

After this information is added into the Test Message field, press the Enter key on the keyboard. The identifiers are added to the Results portion of the dialog.

Case Insensitive

Enable this option if you would like the interface to treat characters as the same regardless of if they are capitalized or not. For example, if you enable the Case Insensitive option, “RI,” “Ri,” “ri,” and “rI” are considered the same identifier.

Results

In the Results section, the interface automatically breaks down the identifiers that are entered into the Test Message field. For example, if you broke down ^(?<FI>\w+)[:](?<UI>\w+)[:](?<RI>\w+)[:](?<BI>\w+)\s(?<MS>.*) into “slh:250:300:1 Assistance needed”, the system automatically identifies the following tags:

 

Tag

What the Tag Means

<0> = slh:250:300:1 Assistance needed

The entire string is valid. Please note that if the recipient regular expression string that you entered is invalid, no information displays in this field.

<FI> = slh

The facility identifier is “slh”

<UI> = 250

The unit identifier is “250”

<RI> = 300

The room identifier is “300”

<BI> = 1

The bed identifier is “1”

<MS> = Assistance needed

The message is “Assistance needed”

<FN> = St. Lukes Hospital

The facility name is “St. Lukes Hospital”

<FA> = St. Lukes

The facility abbreviation is “St. Lukes”

 

*Please note that the Spok Messenger system performs a live lookup in the existing database if the tags match an existing entry in the system. If the live lookup returns data, the information is automatically entered in the respective tags with the information found in the database. For example, in the information above, the <FN> and the <FA> values are automatically populated with information from the database. The lookup that is performed does not affect any records or performance in the system while operating.

 

Express Tab

When you click the Express tab in the Regular Expression Editor dialog, the following fields display: Expressing Regex to be used with Extraction Tab Message and Expressed Result.

M_RegExEditorExpress.PNG

Expressing Regex to be used with Extraction Tab Message

In the Expressing Regex to be used with Extraction Tab Message field, enter text for a template that you would like to display in the Templates tab. This field allows you to save a commonly used regular expression and reuse the expression again.

For example, if you would like to create a template for “The patient needs assistance in (Facility):(Unit):(Room):(Bed)(Message)”, enter “The patient needs assistance in the ${fi} campus at Unit ${ui} in room ${ri}, bed ${bi}”.

Expressed Result

After the information is entered in the Expressing Regex to be used with Extraction Tab Message field, the values that are entered for the tags automatically display in the fields.

For example, if you identified the facility as “slh,” the unit as “250,” the room as “300,” and the bed as “1” in the Extract tab in the Regular Expression Editor dialog, this field automatically enters in the values for the tags.

 

Cookbook Tab

When you click the Cookbook tab in the Regular Expression Editor dialog, the following fields display: Cookbook Entry Name and Cookbook Entry Data. The Cookbook portion of the Regular Expression Editor manages extracting (input) expressions.

The Cookbook tab allows you to create a standard list of regular expressions that can easily be exported and used in the Events dialog. For example, if you use the “^(?<FI>\w+)[:](?<UI>\w+)[:](?<RI>\w+)[:](?<BI>\w+)\s(?<MS>.*)” regular expression regularly, you can add the entry to your cookbook. When an entry is created in your cookbook for this regular expression, you can easily export the expression. So, if you have a regular expression cookbook entry created for the “^(?<FI>\w+)[:](?<UI>\w+)[:](?<RI>\w+)[:](?<BI>\w+)\s(?<MS>.*)” regular expression and you would like to use that regular expression, you choose the name you assigned to that regular expression in the Cookbook Entry Name field and click Export to insert the commonly used regular expression into the desired field.

This allows you to enter a regular expression into any desired field within the Events dialog by simply choosing the pre-existing regular expression from the cookbook. By doing so, you do not need to manually type out commonly used regular expressions.

M_RegExEditorCook.PNG

Cookbook Entry Name

In the Cookbook Entry Name field, enter a name that would help you easily recognize the regular expression cookbook entry that you are creating.

Cookbook Entry Date

In the Cookbook Entry Data field, enter the data for the regular expression.

 

NOTE: After the regular expression cookbook entry is created, you can easily import the regular expression into any desired field within the Events dialog by choosing the regular expression cookbook entry from the Cookbook Entry Name drop down menu and clicking Import.

Templates Tab

When you click the Templates tab in the Regular Expression Editor dialog, the following fields display: Template Name and Template Data. The Templates portion of the Regular Expression Editor manages expressing (output) expressions.

After a template is created, the template can be easily accessed and used. For example, if you commonly enter “Assistance needed in 300”, you can create a template for “Assistance needed in ${ri}”. That way, you can access this template whenever you need this text.

M_RegExEditorTempl.PNG

Template Name

In the Template Name field, enter an easily identifiable name for the regular expression template you are creating.

Template Data

In the Template Data field, enter a message template.

 

Managing Tags

Tags can be managed in the Action Default Tags dialog. In the Spok Messenger system, tags are read in this order: Global tags, Event tags, Action tags, and then Extraction Expressions. Because of this, if any higher tag has the same ID, it overwrites the older tag.

For example, if you put “unit ID = ABC Medical Center” in the global, but then at the action level the “Unit ID = COVER”, then when the system processes the event/action, the unit ID is “COVER.”

  1. In the Event Action dialog, click Default Tags . The Action Default Tags dialog displays.
    M_EventDefaultTags.PNG
  2. Edit the following information:

    Name

    From the Name drop down menu, choose a tag.

    In addition, you can also create your own tag. For example, if there is not already a tag for a wing identifier, you can enter “Wing Identifier” into the Name field.

    Tag

    In the Tag field, a tag automatically displays if you choose a pre-defined tag. Or, if you created your own name tag in the Name field, enter a tag for the entered name. For example, if you entered “Wing Identifier” in the Name field, you can enter “wi” in the Tag field. This creates a tag for a wing identifier of “wi”.

    Value

    In the Value field, enter a value for the tag you are adding. For example, if your specific site’s wing identifier represents the Emergency Department wing, enter “Emergency Department” in the Value field. This represents that for your site, wing identifier is synonymous with Emergency Department.

  3. After the desired information is entered, click Add . The tag is added to the list of action default tags for your chosen event action.

Managing Times

Times in the Events interface can be managed in the Time Rules dialog.

  1. In the Event Action dialog, click Edit Times . The Time Rules dialog displays.
    M_EventTimeRules.PNG
  2. Edit the desired information.

    Time Rule Name

    In the Time Rule Name field, enter a name for the time rule you are creating.

    Interval

    From the Interval drop down menu, choose one of the following options:

    • Weekly: Choose the Weekly option if you would like to configure the time rules by days of the week.
    • Monthly: Choose the Monthly option if you would like to configure the time rules by a specific date in a month.

     

    Active Days

    In the Active Days field, buttons including the days of the week or the dates in the month display, depending on the option you chose from the Interval drop down menu.

    Always

    Enable the Always option if you would like the times for the time rules that are being created to always be active.

    Specific Times

    Enable the Specific Times option if you would like the times for the time rules that are being created to only be active during defined times. When this option is enabled, the Begin and End fields become available for editing.

    • Begin: In the Begin field, enter the time that you would like the time rule to become active. Please note that the following format should be used: HH:MM.
    • End: In the End field, enter the time that you would like the time rule to become inactive. Please note that the following format should be used: HH:MM.
  3. Click Save to save any changes.

Managing Recipients

Recipients can be managed in the Recipients dialog.

  1. In the Event Action dialog, click Modify Recipients . The Recipients dialog displays.
    M_EventModRcpt.PNG
  2. From the list of message recipients, choose the recipient you would like to edit. The recipient becomes highlighted.
  3. Click one of the following buttons:
    M_EventMoveGWYRcv.PNG

    Clicking this button moves a recipient from the list of recipients to the Current Active Recipients list.

    M_EventClearGwy.PNG

    Clicking the Clear button reverses all changes that were made since the last time changes were saved.

    M_EventMoveGWYNonRcv.PNG

    Clicking this button removes a recipient from the Current Active Recipients list.


     

Above the recipient’s name, two fields display: A and E.

  1. Click in the A field if you would like the chosen recipient to be able to cancel the action. When the field is clicked, an “X” displays and the recipient has the ability to cancel actions.
  2. Click in the E field if you would like the chosen recipient to be able to cancel the event. When the field is clicked, an “X” displays and the recipient has the ability to cancel events.
  1. After all desired changes are made, click Save . The changes are saved and you are returned to the Event Action dialog.

After all desired information is entered in the Event Actions dialog, click Save . The event action is saved and displays in the Message Actions section in the Events dialog.

 

Organizing Message Actions

Message actions can be organized in the Events dialog. This allows administrators to easily look up events that have been configured in the system.

In the Message Actions section of the Events dialog, a list of message actions displays.

M_EventActions.PNG

  1. Highlight the message action you would like to rearrange. The message action becomes highlighted and the buttons that allow you to rearrange the message actions become available for use.
  2. Rearrange the message actions using the buttons described below:
    M_EventActUp.PNG

    Clicking this button moves the chosen message action one step up in the Message Actions list.

    M_EventActStop.PNG

    Clicking this button marks the chosen action as a stopping point. If an event reaches the stopped action, Messenger stops trying to process actions that match the event. For example, if there is an event with three actions and the message matches two of those actions and the first one it matches against has a stop associated with it, the system does not try to match the section action.

    M_EventActStart.PNG

    Clicking this button starts a chosen message action that is currently stopped from going into effect.

    M_EventActDwn.PNG

    Clicking this button moves the chosen message action one step down in the Message Actions list.

     

    The message action is moved or stopped. If the message action is stopped, a stop sign displays next to the message action in the list.

 

Including Patient Context in an Event Action

Patient demographic and status context (example: their currently assigned location) can be included in alerts when the Patient Repository Service (PRS) and Patient Data Integration license option are enabled.

Integration Scenario: Expanding Patient Context

In this example, the input provides a patient identifier that matches the patient identifier used in the ADT feed connected to the PRS. We can use this to expand the patient context.

The patient identifier tag (<patientid>) needs to be defined when the action is triggered. This can be extracted from the input source message. The events processing engine will query the Patient Repository Service for the patient’s details and expand the action’s patient context. The patient identifier extracted from the input source message must match the medical record number of the patient in the Patient Repository Service in order for this correlation and expansion to work. Once the patient context has been expanded, all of the patient context tags will be set to values that correlate with the patient’s information in the PRS.

 

Integration Scenario: Getting Patient Location based on a Patient Identifier and Routing messages to staff assigned to that location

In this example, the input event provides an alarm description and a fully qualified location (or a partial location combined with default tags set to define the location components that are missing from the input). We can use this location information to query the PRS for what patient is currently assigned there and route alerts to the staff assigned at that location.

The location tags must be used to define the location. Extract the location components into these tags and/or set these tags in default tags. Also, the patient identifier tag must not be defined.

The events engine will query the PRS using the location context defined in the tags. The location context is mapped to the canonical locations in Messenger before the PRS query is performed. Therefore the canonical locations defined in Messenger must match the locations defined in the ADT feed. If any patient is assigned to that location then a patient context will be added to the event by automatically setting the patient context tags to the values of the patient currently assigned to the location. These tags may be used in messaging and templates downstream.

Actions will still be processed if a patient lookup fails with the Patient Repository Service. The patient context will not be expanded and warning messages will be created in the log but the action will still attempt to deliver messages as designed. In the event that the action results in no recipients to message, a system notification will be generated to the global maintenance recipient.

 

 

Editing Events

Existing events can be edited in the Spok Messenger system.

  1. Choose the Edit > Event Actions menu option. The Events dialog displays.
  2. Edit any desired information. 
  3. After all desired changes are made, click Save in the Events dialog. The changes are saved.

 

Deleting Events

Existing events can be deleted from the Spok Messenger system.

  1. Choose the Edit > Event Actions menu option. The Events dialog displays.
  2. From the list of events, choose the event you would like to delete. The event becomes highlighted.
  3. In the Events dialog, click Delete . A warning dialog displays.
  4. Click Yes. The event is deleted.