20 lines
1.0 KiB
C#
20 lines
1.0 KiB
C#
/// <summary>
|
|
/// Handles batch verification, rejection, and separation-of-duties enforcement.
|
|
/// </summary>
|
|
public interface IVerificationService
|
|
{
|
|
/// <summary>
|
|
/// Verifies a batch that is in PendingVerification status.
|
|
/// Enforces separation of duties: the verifier cannot be the same user who entered the data.
|
|
/// On pass, transitions to Verified or AwaitingClinicalApproval based on site config.
|
|
/// On fail (Passed = false), transitions to Rejected with field check notes as the reason.
|
|
/// </summary>
|
|
Task<DigitizationBatch> VerifyAsync(Guid batchId, VerifyBatchRequest request, Guid verifierUserId);
|
|
|
|
/// <summary>
|
|
/// Rejects a batch that is in PendingVerification or AwaitingClinicalApproval status.
|
|
/// Stores the rejection reason on the batch and transitions status to Rejected.
|
|
/// The batch returns to the entry work queue for re-entry by a data entry clerk.
|
|
/// </summary>
|
|
Task<DigitizationBatch> RejectAsync(Guid batchId, RejectBatchRequest request, Guid actorUserId);
|
|
} |