feature: Clinical Data Model Expansion & Observation Vocabulary

This commit is contained in:
voltsrage
2026-06-18 15:00:42 +08:00
parent 3b4c5c524b
commit 7d630fbbd9
33 changed files with 2636 additions and 36 deletions
@@ -32,7 +32,7 @@ public class EncounterService : IEncounterService
}
public async Task<EncounterStatusTransitionResult> TransitionStatusAsync(
Guid encounterId, EncounterStatus targetStatus)
Guid encounterId, EncounterStatus targetStatus, string? dischargeDiagnosis = null)
{
var encounter = await _db.Encounters
.Include(e => e.Patient)
@@ -50,7 +50,10 @@ public class EncounterService : IEncounterService
encounter.Status = targetStatus;
if (targetStatus == EncounterStatus.Discharged)
{
encounter.DischargedAt = DateTimeOffset.UtcNow;
encounter.DischargeDiagnosis = dischargeDiagnosis;
}
_db.OutboxEvents.Add(new OutboxEvent
{
@@ -66,6 +69,8 @@ public class EncounterService : IEncounterService
newStatus = targetStatus.ToDbString(),
department = encounter.Department.ToDbString(),
attendingPhysician = encounter.AttendingPhysician,
roomBed = encounter.RoomBed,
admissionReason = encounter.AdmissionReason,
admittedAt = encounter.AdmittedAt,
changedAt = DateTimeOffset.UtcNow
}),