public class LiveObservation { public Guid Id { get; set; } public Guid EncounterId { get; set; } public Guid? PatientId { get; set; } public Guid SourceBatchId { get; set; } public string ObservationCode { get; set; } = null!; public decimal Value { get; set; } public string Unit { get; set; } = null!; public DateTimeOffset RecordedAt { get; set; } public string? Note { get; set; } public DateTimeOffset CreatedAt { get; set; } // Phase 5: Supersession fields public bool IsSuperseded { get; set; } public Guid? SupersededByBatchId { get; set; } public DateTimeOffset? SupersededAt { get; set; } public LiveEncounter Encounter { get; set; } = null!; }