feature: Ward Gateway Service (Local-First Clinical Path)
This commit is contained in:
@@ -0,0 +1 @@
|
||||
public record AcknowledgeAlertRequest(string? Note);
|
||||
@@ -0,0 +1,13 @@
|
||||
public record EncounterDetail(
|
||||
Guid Id,
|
||||
Guid PatientId,
|
||||
string Mrn,
|
||||
string FirstName,
|
||||
string LastName,
|
||||
Department Department,
|
||||
EncounterStatus Status,
|
||||
string? RoomBed,
|
||||
string AttendingPhysician,
|
||||
DateTimeOffset AdmittedAt,
|
||||
IReadOnlyList<LocalObservation> RecentObservations,
|
||||
IReadOnlyList<LocalClinicalAlert> OpenAlerts);
|
||||
@@ -0,0 +1,13 @@
|
||||
public record WardEncounterSummary(
|
||||
Guid EncounterId,
|
||||
string Mrn,
|
||||
string FirstName,
|
||||
string LastName,
|
||||
Department Department,
|
||||
string? RoomBed,
|
||||
string AttendingPhysician,
|
||||
DateTimeOffset AdmittedAt,
|
||||
int OpenAlertCount,
|
||||
int? News2Score,
|
||||
int? QsofaScore,
|
||||
string? SepsisBundleStatus);
|
||||
@@ -0,0 +1,7 @@
|
||||
public record LocalIngestResult(bool IsDuplicate, LocalObservation Observation, LocalClinicalAlert? Alert)
|
||||
{
|
||||
public static LocalIngestResult Created(LocalObservation o, LocalClinicalAlert? a) =>
|
||||
new(false, o, a);
|
||||
public static LocalIngestResult Duplicate(LocalObservation o) =>
|
||||
new(true, o, null);
|
||||
}
|
||||
@@ -0,0 +1,7 @@
|
||||
public record IngestObservationRequest(
|
||||
string ObservationCode,
|
||||
decimal Value,
|
||||
string Unit,
|
||||
ObservationSource Source,
|
||||
DateTimeOffset RecordedAt,
|
||||
string? IdempotencyKey);
|
||||
@@ -0,0 +1,25 @@
|
||||
using System.Text;
|
||||
using System.Text.Json;
|
||||
|
||||
public record ObservationCursor(DateTimeOffset RecordedAt, Guid Id)
|
||||
{
|
||||
public string Encode()
|
||||
{
|
||||
var json = JsonSerializer.Serialize(this);
|
||||
return Convert.ToBase64String(Encoding.UTF8.GetBytes(json));
|
||||
}
|
||||
|
||||
public static ObservationCursor? Decode(string? encoded)
|
||||
{
|
||||
if (string.IsNullOrEmpty(encoded)) return null;
|
||||
try
|
||||
{
|
||||
var json = Encoding.UTF8.GetString(Convert.FromBase64String(encoded));
|
||||
return JsonSerializer.Deserialize<ObservationCursor>(json);
|
||||
}
|
||||
catch
|
||||
{
|
||||
return null;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,6 @@
|
||||
public record ThresholdCacheEntry(
|
||||
string ObservationCode,
|
||||
decimal? CriticalLow,
|
||||
decimal? WarningLow,
|
||||
decimal? WarningHigh,
|
||||
decimal? CriticalHigh);
|
||||
Reference in New Issue
Block a user