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!;
}