using adas_core.Domain.Models.Masters;
using MongoDB.Bson;

namespace adas_core.Domain.Models.MongoModels;

/// <summary>
/// Represents a discharge, typically referring to the release or emission of a substance, energy, or a patient leaving a medical facility.
/// </summary>
public class Discharge
{
    public ObjectId Id { get; set; }
    public ObjectId? PointOfCareId { get; set; }
    public ObjectId? UnitId { get; set; }
    public DateTime DischargeDate { get; set; }

    public ObjectId PatientId { get; set; }
    public string? Destination { get; set; }
    public OptionList? DestinationOption { get; set; }
    public OptionList? ServiceOption { get; set; }
    public string? Service { get; set; }
    public DateTime? MedicalDischarge { get; set; }
    public DateTime? AdminDischarge { get; set; }
    public DateTime? NurseDischarge { get; set; }

    #region UnMap

    public Patient? Patient { get; set; }
    public PatientLocation? PatientLocation { get; set; }

    #endregion
}