chore: necessary updates given the changes in the alert controller

This commit is contained in:
voltsrage
2026-06-25 00:40:47 +08:00
parent 666d683d67
commit 7bb9124230
32 changed files with 353 additions and 40 deletions
@@ -6,6 +6,11 @@ using VigilCare.ClinicalContracts.Sync;
public class ClinicalSyncBatchProcessor
{
private static readonly JsonSerializerOptions ExplanationJsonOptions = new()
{
PropertyNameCaseInsensitive = true
};
private readonly AppDbContext _db;
private readonly IObservationService _observations;
private readonly IAlertService _alerts;
@@ -163,6 +168,7 @@ public class ClinicalSyncBatchProcessor
AlertType = AlertTypeExtensions.FromDbString(alert.AlertType),
Severity = AlertSeverityExtensions.FromDbString(alert.Severity),
Details = alert.Details,
Explanation = ParseExplanation(alert.ExplanationJson),
Status = AlertStatus.Open,
TriggeredAt = alert.GeneratedAt
};
@@ -172,7 +178,7 @@ public class ClinicalSyncBatchProcessor
{
Id = Guid.NewGuid(),
Topic = "alert.generated",
Payload = JsonSerializer.Serialize(new
Payload = ClinicalAlertFactory.SerializeOutboxPayload(new
{
alertId = clinicalAlert.Id,
encounterId = alert.EncounterId,
@@ -180,6 +186,7 @@ public class ClinicalSyncBatchProcessor
alertType = alert.AlertType,
severity = alert.Severity,
details = alert.Details,
explanation = clinicalAlert.Explanation,
syncedFromGateway = true,
triggeredAt = alert.GeneratedAt,
partitionKey = alert.EncounterId.ToString()
@@ -231,4 +238,9 @@ public class ClinicalSyncBatchProcessor
_db.ClinicalSyncConflicts.Add(new ClinicalSyncConflict(batchId, clientRef, itemType, reason));
await _db.SaveChangesAsync(ct);
}
private static AlertExplanation? ParseExplanation(string? explanationJson) =>
string.IsNullOrWhiteSpace(explanationJson)
? null
: JsonSerializer.Deserialize<AlertExplanation>(explanationJson, ExplanationJsonOptions);
}