feature: Simulator Scenarios + Clinical Validation: SOFA/GCS

This commit is contained in:
voltsrage
2026-06-21 04:55:39 +08:00
parent bf46e6554a
commit 3638dd0669
39 changed files with 1619 additions and 213 deletions
+18 -1
View File
@@ -71,6 +71,22 @@ public static class SimulatorConsole
AnsiConsole.MarkupLine(
$"[cyan][[{simTime}]][/] NEWS2 = {poll.News2.TotalScore} ({poll.News2.RiskLevel})");
if (poll.Gcs is not null)
AnsiConsole.MarkupLine(
$"[cyan][[{simTime}]][/] GCS = {poll.Gcs.TotalScore}/15 ({poll.Gcs.Classification}) " +
$"E{poll.Gcs.EyeScore} V{poll.Gcs.VerbalScore} M{poll.Gcs.MotorScore}");
if (poll.Sofa is not null)
{
var delta = poll.Sofa.DeltaFromBaseline is int d ? $" Δ+{d}" : "";
AnsiConsole.MarkupLine(
$"[cyan][[{simTime}]][/] SOFA = {poll.Sofa.TotalScore}/24{delta}");
}
if (poll.Qsofa is not null)
AnsiConsole.MarkupLine(
$"[cyan][[{simTime}]][/] qSOFA screen = {poll.Qsofa.ActiveCriteria}/3");
foreach (var alert in poll.NewAlerts)
AnsiConsole.MarkupLine(
$"[red][[{simTime}]][/] ALERT {alert.AlertType} ({alert.Severity})");
@@ -78,6 +94,7 @@ public static class SimulatorConsole
if (poll.SepsisBundle is not null)
AnsiConsole.MarkupLine(
$"[cyan][[{simTime}]][/] SEPSIS BUNDLE {poll.SepsisBundle.ComplianceStatus} " +
$"({poll.SepsisBundle.ElementsCompleted}/4)");
$"({poll.SepsisBundle.ElementsCompleted}/4) " +
$"trigger={poll.SepsisBundle.TriggeringAlertType}");
}
}