feature: Ward Gateway Service (Local-First Clinical Path)

This commit is contained in:
voltsrage
2026-06-23 16:45:38 +08:00
parent d8e142fffe
commit 1bf8359097
100 changed files with 5474 additions and 4 deletions
@@ -0,0 +1,5 @@
public sealed class CentralApiOptions
{
public const string Section = "CentralApi";
public string BaseUrl { get; init; } = "http://localhost:5080";
}
@@ -0,0 +1,11 @@
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;
}
@@ -0,0 +1,11 @@
public sealed class RabbitMqOptions
{
public const string Section = "RabbitMq";
public string Host { get; init; } = "localhost";
public int Port { get; init; } = 5674;
public string Username { get; init; } = "guest";
public string Password { get; init; } = "guest";
// Drives both the paging worker poll timeout and the DLQ x-message-ttl.
// In production: 300000 (5 min). In tests: 5000 (5 sec).
public int PagingAckTimeoutMs { get; init; } = 300000;
}
@@ -0,0 +1,7 @@
public class SuppressionOptions
{
public const string SectionName = "AlertSuppression";
/// <summary>Default suppression window after acknowledgment (minutes).</summary>
public int DefaultWindowMinutes { get; set; } = 30;
}