feature: Approval and Promotion to VigilCareClinical

This commit is contained in:
voltsrage
2026-06-26 14:04:52 +08:00
parent 7121520926
commit 470df683dd
21 changed files with 2638 additions and 4 deletions
@@ -0,0 +1,11 @@
/// <summary>
/// A single field-level verification check result.
/// FieldName identifies the field (e.g. "patient.fullName", "observation.heartRate").
/// Status is "ok", "warning", or "error".
/// Note is an optional comment from the verifier.
/// </summary>
public record FieldCheck(
string FieldName,
string Status,
string? Note
);
@@ -0,0 +1,5 @@
/// <summary>
/// Request body for POST /api/v1/digitization-batches/:id/reject.
/// Reason is required — the verifier must explain why the batch was rejected.
/// </summary>
public record RejectBatchRequest(string Reason);
@@ -0,0 +1,9 @@
/// <summary>
/// Request body for POST /api/v1/digitization-batches/:id/verify.
/// FieldChecks contains the verifier's field-level review results.
/// Passed indicates whether the batch passed all verification checks.
/// </summary>
public record VerifyBatchRequest(
List<FieldCheck> FieldChecks,
bool Passed
);
@@ -0,0 +1,17 @@
/// <summary>
/// A single item in a work queue response. Contains enough information
/// for the user to pick a batch without loading the full detail.
/// </summary>
public record WorkQueueItemResponse(
Guid BatchId,
string Status,
string BatchType,
string Track,
Guid? PatientId,
Guid? EnteredByUserId,
string? EnteredByUserName,
string? RejectionReason,
DateTimeOffset CreatedAt,
DateTimeOffset UpdatedAt,
int EventCount
);
@@ -0,0 +1,11 @@
/// <summary>
/// Paginated work queue response with total count and queue metadata.
/// </summary>
public record WorkQueueResponse(
string QueueName,
IReadOnlyList<WorkQueueItemResponse> Items,
int Page,
int PageSize,
int TotalCount,
int TotalPages
);