Alert Types
No guarantee of delivery or read
Guarantee of delivery but not read
Guarantee of delivery and read (decide to do something if not read in x period of time)
This implementation supports alerts of the second type: Guarantee of delivery but not read.
Alerts are no longer sent to the inbox of particular users. Alerts are now related to one or more Patients. Whether a User can see an alert or not is resolved in runtime when the User's inbox is generated. This not only guarantees delivery but also allow Alerts to be automatically shared among different Users associated to a single Patient. It is no longer required to cleanup or transfer alerts after the shift of a patient ends.
Alerts to specific roles and users are also supported.
Scenario 1: Patient Alert -> Associated Nurse
A form is submitted (or because of timer), an alert generated and sent to one or more nurses caring for the patient that shift
Configuration
AlertConfiguration table:
Id | Name | Description | RuleName | RoomId | SendNotification |
---|---|---|---|---|---|
1 | RuleX | RuleX | poda | true |
Given that we only want to notify only to associated providers, we don't require to have an entry in AlertConfigurationRoleRecipient nor in AlertConfigurationUserRecipient.
Alert
Alert table:
Id | Timestamp | Title | Description | Payload | Priority | AlertConfigurationId | Status | UserId |
---|---|---|---|---|---|---|---|---|
1 | 2014-08-05 10:00:00 | Rule X was fired | - | - | High | 1 | New | UserX (or NULL if the rule was triggered by a timer) |
AlertStatusAudit table:
Id | AlertId | Status | Timestamp | UserId |
---|---|---|---|---|
1 | 1 | New | 2014-08-05 10:00:00 | UserX (or NULL if the rule was triggered by a timer) |
AlertPatient table:
This table contains the different patients an Alert is related to.
Id | AlertId | PatientId |
---|---|---|
1 | 1 | patientX |
Any user with 'read_alerts_only_from_associated_patients' permission will get this alert in his/her inbox when associated with patientX.
Scenario 2: Patient Alert -> Role
A form is submitted (by userX regarding patientX), an alert generated and sent to the charge nurse on that shift
An alert originally sent to a nurse is not read according to requirements, and is then sent to the charge nurse on that shift
The last sentence is not currently supported by this implementation. A workaround could be to configure the Alert to be sent to both: associated nurses and the charge nurse.
Configuration
AlertConfiguration table:
Id | Name | Description | RuleName | RoomId | SendNotification |
---|---|---|---|---|---|
1 | RuleX | RuleX | poda | true |
AlertConfigurationRoleRecipient table:
Id | AlertConfigurationId | RoleId |
---|---|---|
1 | 1 | charge_UNC |
Alert
Alert table:
Id | Timestamp | Title | Description | Payload | Priority | AlertConfigurationId | Status | UserId |
---|---|---|---|---|---|---|---|---|
1 | 2014-08-05 10:00:00 | Rule X was fired | - | - | High | 1 | New | UserX |
AlertStatusAudit table:
Id | AlertId | Status | Timestamp | UserId |
---|---|---|---|---|
1 | 1 | New | 2014-08-05 10:00:00 | UserX |
AlertPatient table:
This table contains the different patients an Alert is related to.
Id | AlertId | PatientId |
---|---|---|
1 | 1 | patientX |