public interface IBatchService { Task CreateAsync(Stream fileStream, string contentType, BatchType batchType, BatchTrack track, Guid? patientId, Guid actorUserId); Task GetByIdAsync(Guid id); Task> ListAsync(BatchStatus? status, BatchType? batchType, Guid? assignedTo, BatchTrack? track, int page, int pageSize); Task AssignAsync(Guid batchId, Guid entryClerkUserId, Guid actorUserId); BatchStatus[] GetAllowedTransitions(BatchStatus current); }