public class DigitizationBatch
{
    public Guid Id { get; set; }
    public BatchStatus Status { get; set; }
    public BatchType BatchType { get; set; }
    public BatchTrack Track { get; set; }
    public Guid? PatientId { get; set; }
    public Guid? EncounterDraftId { get; set; }
    public string DocumentRef { get; set; } = null!;
    public string DocumentSha256 { get; set; } = null!;
    public bool EnableRetroactiveAlerts { get; set; }
    public Guid? EnteredByUserId { get; set; }
    public Guid? VerifiedByUserId { get; set; }
    public Guid? ApprovedByUserId { get; set; }
    public string? RejectionReason { get; set; }
    public DateTimeOffset? PromotedAt { get; set; }
    public Guid? PromotionEncounterId { get; set; }
    public Guid? SupersedesBatchId { get; set; }
    public bool ClinicianAttestation { get; set; }
    public DateTimeOffset CreatedAt { get; set; }
    public DateTimeOffset UpdatedAt { get; set; }

    public User? EnteredByUser { get; set; }
    public User? VerifiedByUser { get; set; }
    public User? ApprovedByUser { get; set; }
    public ScannedDocument? Document { get; set; }
    public DraftPatient? DraftPatient { get; set; }
    public DraftEncounter? DraftEncounter { get; set; }
    public ICollection<DraftObservation> DraftObservations { get; set; } = new List<DraftObservation>();
    public ICollection<DigitizationEvent> Events { get; set; } = new List<DigitizationEvent>();
}