Files
vigilcare-clinical/vigilcare-dashboard/src/composables/criticalAlertDetect.js
T

20 lines
632 B
JavaScript

export function isNotifiableCriticalAlert(alert) {
return (
alert.severity === 'Critical'
&& (alert.status === 'Open' || alert.status === 'Escalated')
)
}
export function detectNewCriticalAlerts(alerts, lastSeenIds, seeded = false) {
const criticalOpen = alerts.filter(isNotifiableCriticalAlert)
const criticalIds = criticalOpen.map(alert => alert.id)
if (!seeded) {
return { newAlerts: [], nextSeenIds: criticalIds, seeded: true }
}
const seen = new Set(lastSeenIds)
const newAlerts = criticalOpen.filter(alert => !seen.has(alert.id))
return { newAlerts, nextSeenIds: criticalIds, seeded: true }
}