public sealed class CentralEncounterListPage
{
    public List<CentralWardEncounterSummary> Items { get; set; } = [];
    public int Page { get; set; }
    public int PageSize { get; set; }
    public int TotalCount { get; set; }
    public int TotalPages { get; set; }
}

public sealed class CentralWardEncounterSummary
{
    public Guid EncounterId { get; set; }
    public Guid PatientId { get; set; }
}

public sealed class CentralEncounterDetail
{
    public Guid Id { get; set; }
    public Guid PatientId { get; set; }
    public EncounterType EncounterType { get; set; }
    public EncounterStatus Status { get; set; }
    public Department Department { get; set; }
    public string AttendingPhysician { get; set; } = null!;
    public string? RoomBed { get; set; }
    public DateTimeOffset AdmittedAt { get; set; }
    public CentralPatientDetail Patient { get; set; } = null!;
}

public sealed class CentralPatientDetail
{
    public Guid Id { get; set; }
    public string Mrn { get; set; } = null!;
    public string FirstName { get; set; } = null!;
    public string LastName { get; set; } = null!;
    public DateOnly DateOfBirth { get; set; }
    public string Gender { get; set; } = null!;
}

public sealed class CentralAlertThreshold
{
    public Guid Id { get; set; }
    public string ObservationCode { get; set; } = null!;
    public string DisplayName { get; set; } = null!;
    public string Unit { get; set; } = null!;
    public decimal? CriticalLow { get; set; }
    public decimal? WarningLow { get; set; }
    public decimal? WarningHigh { get; set; }
    public decimal? CriticalHigh { get; set; }
    public int? SuppressionWindowMinutes { get; set; }
}
