Acquire Queue and Quality Queue
SureDrive provides two document processing queues that sit between document ingestion and the filed document archive. Both must be enabled per drive in SureDrive Properties before they appear in the navigation.
| Queue | Purpose |
|---|---|
| Acquire Queue | Newly ingested documents that have not yet been classified and filed into the archive |
| Quality Queue | Filed documents that require quality checks or have open discrepancies |
Acquire Queue
Entry Point
| Item | Value |
|---|---|
| Route state | app.network.study.browse.acquire-queue |
| URL pattern | /acquire-queue?page&quickStartInit |
| Controller | AcquireQueueController |
| JS file | SC/suredms-web-client/src/main/webapp/app/js/network/study/documents/acquire-queue.js |
| Template | SC/suredms-web-client/src/main/webapp/app/views/network/study/documents/acquire/acquire-queue-dashboard.html |
Acquire Workflow
- Ingestion — A user uploads a document via the Acquire assistant (SC/suredms-web-client/src/main/webapp/app/js/acquire/acquire.js). Supported ingestion methods: Upload, Scan, Workflow.
- Document lands in the Acquire Queue — The document is held in a staging area. It is not yet part of the filed archive.
- Classification — A user opens the document in the Acquire Queue, assigns it:
- Organisation
- Person
- Content Type (folder destination)
- Any required metadata
- "Move to Archive" — Once classified, the user triggers filing. The document is moved to the correct folder in the archive and removed from the Acquire Queue.
quickStartInit Parameter
The quickStartInit URL parameter enables the Acquire Quick-Start flow — a guided mode that opens the Acquire assistant immediately when the queue is accessed.
Quality Queue
Entry Point
| Item | Value |
|---|---|
| Route state | app.network.study.browse.quality-queue |
| URL pattern | /quality-queue?page&documentId&discrepancyId&quickStartInit |
| Controller | QualityQueueController |
| JS file | SC/suredms-web-client/src/main/webapp/app/js/network/study/documents/quality-queue.js |
| Template | SC/suredms-web-client/src/main/webapp/app/views/network/study/documents/quality/quality-queue-dashboard.html |
Quality Queue Workflow
Documents land in the Quality Queue when they are already filed in the archive but have open quality issues, for example:
- Missing mandatory signatures
- Incorrect or incomplete metadata
- Open discrepancies raised by a reviewer
A quality reviewer opens the document, resolves or annotates each discrepancy, and either approves (QC OK) or rejects the document. The documentId and discrepancyId URL parameters allow deep-linking directly to a specific document or discrepancy from a notification or report.
QC OK Flag
The QC OK feature (enabled in Properties alongside the Quality Queue) marks a document as quality-checked. When enabled, a document must receive a QC OK status before it is considered complete in compliance reporting.
Enabling the Queues
Both queues are disabled by default. They are enabled per-drive via the SureDrive Properties page:
- Enable Acquire Queue — enabled via
FEATURE_SURE_QMS_PROJECT_EDITand stored on theArchiveEntity - Enable Quality Queue — same feature flag, separate toggle
- Enable QC OK — additional toggle on the same properties screen
When enabled, the Acquire Queue and Quality Queue entries appear in the SureDrive navigation menu.
Difference Between Acquire Queue and Quality Queue
| Acquire Queue | Quality Queue | |
|---|---|---|
| Document state | Not yet filed | Already filed in archive |
| Primary action | Classify and move to archive | Review, resolve discrepancies, approve/reject |
| Who uses it | Document coordinators / uploaders | Quality reviewers / QC managers |
| Trigger | Document ingested via Acquire assistant | Discrepancy raised, or QC OK required |
AcquireQueueController — Service and Operations
AcquireQueueController (SC/suredms-web-client/src/main/webapp/app/js/network/study/documents/acquire-queue.js) manages the acquire queue dashboard.
Injected Services
| Service | Role |
|---|---|
AcquireServiceFactory / EntityOperationService | Core entity operations, download, deletion |
StudyAutoArchiveService | Executes Move to Archive via moveToArchive(selectedItems) |
StudyQcOkMarkService | Add and delete QC OK marks on documents |
QualityDocumentActionItemsService | Action item management for quality documents |
StudyQuickWizardService | Quick wizard launch for classification |
DocumentDiscrepancyService | Discrepancy creation and management |
StudyBrowserService | Navigation helpers for the study context |
AcquireQueueAssignmentsService | Manage assignee lists per queue item |
Nuxeo Operations
| Operation | Trigger |
|---|---|
OPERATION_MOBILE_GET_ACQUIRE_QUEUE_ITEMS | Initial load and refresh of the queue list |
OPERATION_MOBILE_ACQUIRE_QUEUE_SET_ASSIGNEES | Update assignees for selected queue items |
Move to Archive Flow
The Move to Archive action is the primary file-processing action in the Acquire Queue:
- User selects one or more queue items and clicks "Move to Archive"
acquireQueue.canMoveToArchive(item)validates each item's eligibility- If
isDocumentSelected && canEditSelectedDocs && _.every(selectedItems, canMoveToArchive), the action is enabled acquireQueue.moveToArchive($event, items, actions)callsStudyAutoArchiveService.moveToArchive(selectedItems)- After success,
EntityOperationService.deleteDocumentsmay be called to remove the staging copies
Queue Filter Fields
| Filter | Type | Description |
|---|---|---|
| Name | text | File name substring match |
| Users | array | Filter by user who uploaded |
| Created date range | date range | Upload timestamp range |
| Status | select | Queue item status |
| Directories | array | Target folder filter |
| Source | enum | Upload / Workflow |
| Organizations | array | Organisation filter |
| Persons | array | Person filter |
| Assignees | array | Assigned reviewer filter |
hasDuplicates | boolean | Show only items with duplicate detection flags |
QC OK Mark Flags
| Property | Meaning |
|---|---|
isQcEnabled | QC OK marks enabled for this archive |
isDeleteQcOKMarkEnabled | Per-item delete QC OK mark permission |
isDeleteQcOkMarkFeatureEnabled | FEATURE_GLOBAL_DELETE_QC_OK_MARK feature flag is active |
QualityQueueController — Service and Operations
QualityQueueController (SC/suredms-web-client/src/main/webapp/app/js/network/study/documents/quality-queue.js) manages the quality queue dashboard.
Injected Services
| Service | Role |
|---|---|
DocumentDiscrepancyService | Creates, lists, and updates discrepancy records |
DocumentDiscrepancyDetailsService | Loads the full discrepancy detail model |
PortalContextService | Provides current study and archive context |
Discrepancy Filter Model
| Filter | Default | Description |
|---|---|---|
discrepancyTypes | All (from currentStudy.docDiscrepancyTypes) | Which discrepancy types are shown |
discrepancyStatus | DISCREPANCY_STATUS_OPEN | Open vs. closed filter |
showClosedItems | false | Include recently closed items |
Deep-Link Support
The controller reads $stateParams.documentId and $stateParams.discrepancyId on activation and sets:
qualityQueue.initDocumentId— auto-selects the document in the listqualityQueue.initDiscrepancyId— auto-opens a specific discrepancy record
Column Variants by Archive Type
| Archive type | Columns shown |
|---|---|
Study (STUDY_COLUMNS) | Name, Organization, Content Type, Items |
SureDrive (SURE_DRIVE_COLUMNS) | Name, Organization, Cloud Folder, Items |
Quality Queue — Audit List
The Audit List is a structured quality sampling feature available within the Quality Queue. It differs from ad-hoc discrepancy review: an Audit List is created by selecting an archive, choosing a content scope, and specifying a sample percentage — the system then randomly selects a subset of documents for review.
Web Client Entry Points
Folder: SC/suredms-web-client/src/main/webapp/app/js/network/quality/audit/
| File | Component | Purpose |
|---|---|---|
quality-audits.js | Audit list view controller | Displays the list of all Audit Lists for the current drive |
quality-audit.js | Single audit detail controller | Opens a specific Audit List, shows sampled documents, tracks review progress |
quality.js | QualityService | Shared REST client for quality operations including audit list CRUD |
quality-project-repository.js | QualityProjectRepositoryService | Repository-scoped REST client for quality projects |
Desktop Audit Wizard
The desktop client provides a four-step wizard for creating an Audit List.
| Step | Class | Description |
|---|---|---|
| 1 | AuditWizardStep1SelectStudy | Select the target archive (SureDrive or Study) |
| 2 | AuditWizardStep2SelectContent | Browse and select the folders or categories to audit using GadgetDocNav |
| 3 | AuditWizardStep3SelectSampleSize | Choose a sample percentage (0.1 % – 100 %). AuditWizardContext uses ThreadLocalRandom to pick the document subset |
| 4 | AuditWizardStep4CreateAuditList | Provide a name for the new Audit List |
Data Model
| Class | Location | Description |
|---|---|---|
AuditWizardContext | suredms-desktop-client-quality | Wizard state: selected Archive, master document list, and the randomly-sampled filteredDocuments subset |
AuditData | suredms-desktop-client-quality | Final audit result: auditDocuments, reviewedDocuments, discrepancies. Calculates qualityLevel as the ratio of documents with discrepancies |
DocumentAuditReview | suredms-desktop-client-quality | Records which user reviewed a specific document within the audit |
DocDiscrepancy | suredms-desktop-client-quality | A quality finding linked to a document in the Audit List |
SampleDocumentEntity | SC/suredms-common/src/main/java/com/sureclinical/suredms/entity/SampleDocumentEntity.java | Shared entity used for randomized audit sampling across both web and desktop |
Audit List vs. Quality Queue
| Quality Queue | Audit List | |
|---|---|---|
| Scope | All documents with open discrepancies | Randomly sampled subset from a selected folder/category |
| Creation | Automatic (documents with issues flow in) | Manually created via wizard |
| Sample logic | N/A | Configurable percentage; random selection via ThreadLocalRandom |
| Review tracking | Per-document discrepancy resolution | DocumentAuditReview per reviewer per document |
| Quality score | Not calculated automatically | qualityLevel calculated from discrepancy ratio |
Help reference: Creating_an_Audit_List_in_SureDrive.html, Viewing_and_Managing_the_Audit_List_in_SureDrive.html