39 lines
1.3 KiB
C#
39 lines
1.3 KiB
C#
using adas_core.Domain.Enums;
|
|
using MongoDB.Bson;
|
|
|
|
namespace adas_core.Domain.Models.Pumps
|
|
{
|
|
/// <summary>
|
|
/// Estado actual de alarmas activas por bomba.
|
|
/// Una fila por alarma activa (DeviceId + AlarmType o AlarmCodeMdc).
|
|
/// Se actualiza vía PumpService: start/continue → upsert, end → delete.
|
|
/// </summary>
|
|
public class PumpAlarmState
|
|
{
|
|
public ObjectId Id { get; set; }
|
|
|
|
// Bomba
|
|
public string? DeviceId { get; set; }
|
|
|
|
// Paciente (si la bomba lo envía)
|
|
public ObjectId? PatientId { get; set; }
|
|
|
|
// Tipo / Identificador de alarma
|
|
public PumpEnum.AlarmType? AlarmType { get; set; }
|
|
public string? AlarmCodeMdc { get; set; }
|
|
|
|
// Estado actual
|
|
public string? AlarmDescription { get; set; }
|
|
public string? AlarmPriority { get; set; } // PL/PM/PH
|
|
public string? AlarmState { get; set; } // active / inactive / latched
|
|
public PumpEnum.EventPhase? LastPhase { get; set; } // start / continue / end
|
|
|
|
// Timestamps
|
|
public DateTime FirstSeen { get; set; } = DateTime.UtcNow;
|
|
public DateTime LastUpdated { get; set; } = DateTime.UtcNow;
|
|
|
|
// Contexto (opcional)
|
|
public string? AlertSourceMdc { get; set; }
|
|
public string? InfusionId { get; set; }
|
|
}
|
|
} |