feature: Degraded Operations Visibility
This commit is contained in:
@@ -0,0 +1,65 @@
|
||||
export const AUDIT_ACTIONS = [
|
||||
{ value: 'THRESHOLD_CREATED', label: 'Threshold created' },
|
||||
{ value: 'THRESHOLD_UPDATED', label: 'Threshold updated' },
|
||||
{ value: 'THRESHOLD_DELETED', label: 'Threshold deleted' },
|
||||
{ value: 'ALERT_ACKNOWLEDGED', label: 'Alert acknowledged' },
|
||||
{ value: 'ALERT_RESOLVED', label: 'Alert resolved' },
|
||||
{ value: 'ENCOUNTER_STATUS_CHANGED', label: 'Encounter status changed' },
|
||||
{ value: 'PATIENT_REGISTERED', label: 'Patient registered' },
|
||||
{ value: 'PATIENT_UPDATED', label: 'Patient updated' },
|
||||
{ value: 'SUPPRESSION_WINDOW_SET', label: 'Suppression window set' },
|
||||
{ value: 'USER_LOGIN', label: 'User login' },
|
||||
{ value: 'AUTHORIZATION_DENIED', label: 'Authorization denied' },
|
||||
]
|
||||
|
||||
export const PHI_ACCESS_TYPES = [
|
||||
{ value: 'VIEW', label: 'View' },
|
||||
{ value: 'LIST', label: 'List' },
|
||||
{ value: 'SEARCH', label: 'Search' },
|
||||
{ value: 'CREATE', label: 'Create' },
|
||||
{ value: 'UPDATE', label: 'Update' },
|
||||
]
|
||||
|
||||
export function actionLabel(action) {
|
||||
return AUDIT_ACTIONS.find((a) => a.value === action)?.label ?? action
|
||||
}
|
||||
|
||||
export function accessTypeLabel(accessType) {
|
||||
return PHI_ACCESS_TYPES.find((a) => a.value === accessType)?.label ?? accessType
|
||||
}
|
||||
|
||||
export function formatAuditTimestamp(iso) {
|
||||
if (!iso) return '—'
|
||||
return new Date(iso).toLocaleString([], {
|
||||
month: 'short',
|
||||
day: 'numeric',
|
||||
year: 'numeric',
|
||||
hour: '2-digit',
|
||||
minute: '2-digit',
|
||||
second: '2-digit',
|
||||
})
|
||||
}
|
||||
|
||||
export function formatJsonBlock(raw) {
|
||||
if (!raw) return null
|
||||
try {
|
||||
return JSON.stringify(JSON.parse(raw), null, 2)
|
||||
} catch {
|
||||
return raw
|
||||
}
|
||||
}
|
||||
|
||||
export function defaultFromDate() {
|
||||
const d = new Date()
|
||||
d.setDate(d.getDate() - 30)
|
||||
return d.toISOString().slice(0, 16)
|
||||
}
|
||||
|
||||
export function defaultToDate() {
|
||||
return new Date().toISOString().slice(0, 16)
|
||||
}
|
||||
|
||||
export function toIsoOffset(localDatetime) {
|
||||
if (!localDatetime) return undefined
|
||||
return new Date(localDatetime).toISOString()
|
||||
}
|
||||
Reference in New Issue
Block a user