Alert Configuration
Table of Contents
AlertConfiguration Table
This table contains the configuration about alerts. Each alert can be configured in a different way for each of the rooms in an organization.
When an alert fires, its configuration is retrieved from this table using the room of the alert's source patient and the specific rule name that generated the alert.
The structure of this table is:
Id | Name | Description | RuleName | RoomId | NotifyAssociatedProviders |
---|
Where:
- Id: unique id of this configuration.
- Name: a decriptive name of this configuration.
- Description: a human friendly description of the configuration.
- RuleName: the name of the rule that this particular configuration belongs to.
- RoomId: The configuration is valid only for this room. Different rooms could have different configurations.
- NotifyAssociatedProviders: boolean value that specifies whether providers currently associated with the patient that generated the alert must receive the alert or not.
If a rule is fired, and there is no particular entry in this table for the name of the rule or for the room where the room got executed (this information comes from the patient that generated the alert), the alert is going to be sent
to all the associated providers the originator patient currently has. In other words, NotifyAssociatedProviders = true is the default value when there is no specific configuration for a particular alert.
AlertConfigurationExtraRecipient Table
This table is an extension of AlertConfiguration table that allows to register extra recipients for a specific alert. No matter the value of AlertConfiguration.NotifyAssociatedProviders in the associated alert configuration is, the users listed in this table will ALWAYS receive this alert.
The structure of this table is:
Id | AlertConfigurationId | UserId |
---|
Where:
- Id: unique id of this entry.
- AlertConfigurationId: the id of the Alert Configuration where this recipient belongs.
- UserId: the extra recipient.
TimeBasedAlertConfiguration
This table is an extension of AlertConfiguration that allows the configuration of alerts that are generated by a chron job instead of by the submissionof a form. When the system starts-up, a Quartz job is created for each of the entries in this table. The job will be configured using the cron expression provided by this table and using the timezone ofe the facility where the associated Alert Configuration belongs to (given by the RooId column of AlertConfiguration).
The structure of this table is:
Id | AlertConfigurationId | CronExpression | FactName | JobKey |
---|
Where:
- Id: unique id of this configuration.
- AlertConfigurationId: the id of the Alert Configuration where this recipient belongs.
- CronExpression: the cron expression used to register a job in Quartz.
- FactName: This string is used by the time-based rules to know when they should be fired.
- JobKey: The Quartz job key associated with this entry. If this entry doesn't have a Quartz job associated, this value is null.
Configuration Examples
Scenario:
"[S4-ALERT] No skin to skin contact in 7 days" alert must be delivered to all the nurses associated to the patient that generated the alert as well as to 'charge' nurse.
"[S2-ALERT] Question Answered as Not Done" alert must be delivered to 'charge' and 'superadmin' nurses not matter who the nurses currently associated to the patient are.
"[TIME-BASED-ALERT] Maintenance report needs to be completed" alert must be only sent to nurses currently associated to the patient that generated the alert.
The example is only going to include 'poda' room. If we want to have the same configuration for all of the rooms in an organization, we will need to duplicate the configuration for each of the rooms.
AlertConfiguration:
Id | Name | Description | RuleName | RoomId | NotifyAssociatedProviders |
---|---|---|---|---|---|
1 | Skin | [S4-ALERT] No skin to skin contact in 7 days | poda | true | |
2 | Not Done | [S2-ALERT] Question Answered as Not Done | poda | false | |
3 | Report Due | [TIME-BASED-ALERT] Maintenance report needs to be completed | poda | true |
AlertConfigurationExtraRecipient:
Id | AlertConfigurationId | UserId |
---|---|---|
1 | 1 | charge |
2 | 2 | charge |
3 | 2 | superadmin |
TimeBasedAlertConfiguration:
Id | AlertConfigurationId | CronExpression | FactName | JobKey |
---|---|---|---|---|
1 | 3 | 0 0 7 1/3 * ? * | MaintenanceReportdDue |