Files
adas-core/adas-core.Domain/Models/MongoModels/PointOfCare.cs
T
2026-06-26 10:29:23 +02:00

55 lines
2.1 KiB
C#

using adas_core.Domain.Enums;
using MongoDB.Bson;
namespace adas_core.Domain.Models.MongoModels;
/// <summary>
/// Represents a point-of-care location or entity within a healthcare delivery context.
/// </summary>
/// <remarks>
/// This class serves as a data model for capturing information related to a specific point where care is administered to patients.
/// </remarks>
public class PointOfCare
{
public ObjectId Id { get; set; }
public string Room { get; set; } = string.Empty;
public string Bed { get; set; } = string.Empty;
public string? Hall { get; set; } = string.Empty;
public ObjectId UnitId { get; set; }
public PointOfCareConfiguration? Configuration { get; set; }
public StatusEnum.PointOfCare Status { get; set; }
public ObjectId? AdmissionId { get; set; }
#region Unmap
public string UnitName { get; set; } = string.Empty;
public Unit? Unit { get; set; }
public PatientLocation Location => new(UnitName, Bed, Room);
public List<PatientObservation> Observations { get; set; } = [];
public bool? HasPatient { get; set; }
public ObjectId? Patientid { get; set; }
public Patient? Patient { get; set; }
public bool? IsActive { get; set; }
public bool? IsVisible { get; set; }
public Admission? Admission { get; set; }
#endregion
}
/// <summary>
/// Represents the configuration settings for a point-of-care system, encapsulating the parameters and options required to manage its behavior.
/// </summary>
public class PointOfCareConfiguration
{
public List<ObjectId>? BeaconIdList { get; set; } = [];
public List<ObjectId>? CameraIdList { get; set; } = [];
public List<ObjectId>? RelayIdList { get; set; }
public List<LightBeacon>? BeaconList { get; private set; }
public List<Camera>? CameraList { get; private set; }
public List<Relay>? RelayList { get; private set; }
public string? Type { get; set; }
// Esta parte hay que tenerla en cuenta al momento de lanzar las grabaciones automaticas y manuales para la API de OR
// OR espera recibir roomId
public int? Id { get; set; }
}