using adas_core.Domain.Enums; using MongoDB.Bson; namespace adas_core.Domain.Models.MongoModels; /// /// Represents a point-of-care location or entity within a healthcare delivery context. /// /// /// This class serves as a data model for capturing information related to a specific point where care is administered to patients. /// 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 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 } /// /// Represents the configuration settings for a point-of-care system, encapsulating the parameters and options required to manage its behavior. /// public class PointOfCareConfiguration { public List? BeaconIdList { get; set; } = []; public List? CameraIdList { get; set; } = []; public List? RelayIdList { get; set; } public List? BeaconList { get; private set; } public List? CameraList { get; private set; } public List? 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; } }