Table Of Contents
Table of Contents | ||||
---|---|---|---|---|
|
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 to specific roles and users are also supported.
Scenarios
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 | 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.a:
...
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 (Scenario 2.b)
Configuration
AlertConfiguration 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 | patientXId | AlertId | PatientId |
1 | 1 | patientX |
A nurse (whose role has 'read_alerts_only_from_associated_patients' permission) will not be able to see the Alert even if she is associated to patientX. This is because the Alert is associated to an AlertConfiguration that only has charge_UNC role as a recipient.
A nurse with charge_UNC role will receive this alert in her inbox and a notification in any device she is logged in.
Scenario 2.b: Patient Alert -> Role and Nurses
A form is submitted (by userX regarding patientX), an alert generated and sent to the charge nurse on that shift and to any nurse associated with the patient
Configuration
AlertConfiguration table:
Id | Name | Description | RuleName | RoomId | SendNotification |
---|---|---|---|---|---|
1 | RuleX | RuleX | poda | true |
AlertConfigurationRoleRecipient table:
Id | AlertConfigurationId | RoleId |
---|---|---|
1 | 1 | charge_UNC |
2 | 1 | nurse_UNC |
The entry for nurse_UNC is now mandatory (not like in Scenario 1) otherwise the Alerts are only going to be visible to charge_UNC nurses.
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:
Id | AlertId | PatientId |
---|---|---|
1 | 1 | patientX |
Scenario 3: Patient Alert -> Named Individual
A form is submitted, an alert generated and sent to Marty McCaffrey
Configuration
AlertConfiguration table:
Id | Name | Description | RuleName | RoomId | SendNotification |
---|---|---|---|---|---|
1 | RuleX | RuleX | poda | true |
AlertConfigurationUserRecipient table:
Id | AlertConfigurationId | UserId |
---|---|---|
1 | 1 | marty_mccaffrey |
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:
Id | AlertId | PatientId |
---|---|---|
1 | 1 | patientX |
Workflows
Workflow A: Core pattern
A nurse starts her shift, scans her patients, and submits a form. An alert is generated for the patient and sent to her device.
This is supported as long as:
- The nurse's role has 'read_alerts_only_from_associated_patients' permission
- The rule that fired either:
- Doesn't have any entry in AlertConfiguration table
- Has an entry in AlertConfiguration table that is either:
- not associated with any AlertConfigurationRoleRecipient
- associated with an AlertConfigurationRoleRecipient containing nurse's role as a recipient
- For the notification to occurr, the following must be true:
- The nurse is at least registered in one device
- The rule that fired has an entry in AlertConfiguration table with SendNotification field = true
Workflow B: Change of shift pattern
A nurse starts her shift, scans her patients, and her inbox is populated with all unread alerts for that patient.
A Charge Nurse starts her shift and her inbox is populated with all unread alerts for her role.
A Second Charge Nurse starts the same shift and her inbox is populated with all the same unread alerts for her role.
As soon as the nurse is associated with a patient, any previous Alert of this patient is going to be present in nurse's inbox. Any new alert for this patient will also be received by this nurse (as long as the prerequisites in Workflow A are fulfilled).
The charge nurse's inbox will contain all the alerts (unread and not) for her role as long as:
- The nurse's role doesn't have 'read_alerts_only_from_associated_patients' permission
- The Alert has an entry in AlertConfiguration table that has nurse's role as an AlertConfigurationRoleRecipient table
- Optional: if then nurse's role has 'read_alerts_from_entire_organization' permission, the nurse will receive any Alert from the entire Organization that has her role as a recipient. Otherwise, only Alerts from the same Facility where she belongs having her role as a recipient will be shown.
The second charge nurse will be affected by the same behavior explained before. Any Alert received by charge nurse #1 will be received by charge nurse #2. No special configuration is required.
Workflow C: Intra-shift device association - alerting
A nurse swaps out her device because the batter is dead. She places her old device on the charger and the device is automatically disassociated from her. She forgets to log in and associate herself to the new device. Later that shift an alert is generated for her patient and an alert is sent. The device does not ring or vibrate. Alerts are escalated as required.
The generated alert will be placed in nurse's inbox as long as she remains associated to the patient. The notification will not be sent given that the nurse doesn't have any active device.
The current implementation doesn't support Alert escalation though.
Warning |
---|
Alert escalation is not currently supported |
Workflow D: Alert status is synchronized among different inboxes
A user of the device logins in and sees three unread alerts for her patient. She reads one. When she returns she only sees one remaining unread alert, because another nurse has, in the interim, read one of the remaining unread alerts.
Given that alerts don't belong to any specific User anymore, their status is shared among all the users having access to them.