public sealed class GatewayOptions
{
    public const string Section = "Gateway";
    public Guid GatewayId { get; init; }
    public Guid SiteId { get; init; }
    public string Department { get; init; } = "ICU";
    public int EncounterSyncIntervalMinutes { get; init; } = 5;
    public int CentralReachabilityIntervalSeconds { get; init; } = 30;
    public int HeartbeatIntervalSeconds { get; init; } = 60;
    public int SyncBatchSize { get; init; } = 500;

    /// <summary>
    /// When true (default), applies EF migrations at startup. The gateway is
    /// single-instance by design, so startup migration is safe. Set false if
    /// migrations are applied out-of-band (e.g. an EF migration bundle).
    /// </summary>
    public bool AutoMigrate { get; init; } = true;
}