Task Reports
Overview
The Task Reports feature allows you to extract completed task information for analysis, quality assurance, and regulatory reporting. You can generate comma-separated values (CSV) reports that include form responses, annotation data, and project management information. These reports provide a comprehensive view of your clinical trial imaging data and workflow activities.
Export functionality supports two report types:
- Forms or Annotations - Detailed form responses with annotation file references
- Task - Task lifecycle and assignment tracking data
All exports are generated asynchronously and saved to the Task Reports Queue, allowing you to continue working while reports are prepared. Exports include standardized metadata columns to facilitate integration with downstream analysis tools and ensure traceability for regulatory compliance.
Understanding how to generate and access these reports enables efficient data analysis and supports quality control processes throughout your study.
Prerequisites
Required Permissions
To export task data, you must have the Manage Task Reports permission. This permission allows you to:
- Create task reports
- View existing reports in the Task Reports Queue
- Download report files
- Delete reports
Your site or project administrator assigns this permission through role configuration. Contact your administrator if you need access to export functionality.
Data Requirements
Before exporting task data, ensure:
- Completed Tasks - At least one task must be completed (submitted) in the selected project for the Forms or Annotations report type
- Protocol Association - Tasks must be associated with a protocol
- Project Access - You must have read access to the project containing the tasks
Empty Reports
If no tasks matching your selection criteria have been completed, the export will generate an empty report containing only header rows. This is normal behavior and not an error.
Starting a Task Report
To generate a task report:
- Navigate to the project you wish to generate a report for
- Click the project ellipsis menu (three vertical dots) in the top navigation bar
- Select Task Report Queue from the dropdown menu

- The Task Reports Queue page opens
- If no reports exist yet, you'll see an empty state with a description of task reports
- If reports exist, you'll see them listed in a table

- Click the Create Task Report button (top right of the page)
- The Create Task Report dialog opens

- Configure the export parameters:
- Protocol: Select the protocol whose tasks you want to report on
- Version: The version field appears after selecting a protocol
- Report Type: Select the type of report to generate

- Click Run to generate the report, or Cancel to close the dialog
The system queues your report for generation and displays it in the reports list with "Complete" status when finished. You can continue working while the report is prepared.
Export Configuration Options
Report Type
Select the type of report to generate from the Report Type dropdown:
- Forms or Annotations - Exports detailed form response data with one row per form submission. This report includes all form field values and paths to annotation files created during task completion. Use this report for clinical data analysis and quality assurance.
- Task - Exports task metadata with one row per task. This report includes task lifecycle information such as status, assignment, dates, and priority. Use this report for project management and workflow tracking.
See Export Report Types below for detailed descriptions of each report type.
Protocol Selection
The Create Task Report dialog has two separate fields for protocol selection:
- Protocol dropdown: Select the protocol from the list
- Only protocols used in tasks within the selected project appear
- Shows the protocol name (e.g., "Tumor Measurement Protocol")
- Version dropdown: After selecting a protocol, choose the version
- Shows all versions of the selected protocol that have been used in tasks
- Displays version numbers (e.g., "v1", "v2", "v3")
All tasks created using the selected protocol and version combination will be included in the report. Tasks using different protocol versions are excluded.
Protocol Versions
If your study has progressed through multiple protocol versions, you must generate separate reports for each version. This ensures data consistency and appropriate field mapping across reports.
Report Naming
The system automatically generates report filenames using this format:
Example:
Where:
MSK_Lung- Protocol namev1- Protocol versionFormReport- Report type (FormReport or ProjectManagementReport)ACME-001- Project name (or multiple project names separated by underscores)20250320- Date stamp (YYYYMMDD format)
Export Report Types
Forms or Annotations Report
The Forms or Annotations report (displayed as "Forms or Annotations" in the Report Type dropdown) provides detailed form response data for analysis and quality control. This report is essential for extracting the clinical findings and measurements collected during image review tasks.
Report Structure
- One row per form response - Each completed task generates one row in the export
- Fixed column structure - All exports use the same column structure regardless of protocol
- JSON form responses - All form field values are contained in a single JSON column
- Annotation file paths - Includes file paths or identifiers for annotation files created during the task
Data Columns
The Form and Annotation Report contains the following columns:
| Column | Description |
|---|---|
task_id | Unique identifier for the task (e.g., R-30-1) |
user | Email address of the user who completed the task |
form_response_id | Unique identifier for the form response submission |
response_data | JSON object containing all form field responses. Each field is a key-value pair where keys are field names from the protocol and values are the user's responses. |
annotation_file_path | UUID(s) of annotation files created during the task. Multiple files are comma-separated. Empty if no annotations were created. |
completion_timestamp | ISO 8601 timestamp when the task was completed (submitted) |
project | Project label/name |
protocol_type | Protocol category (e.g., "reader", "form") |
protocol_label | Protocol display name |
protocol_version | Version number of the protocol used |
subject | Subject label |
session | Session label. Multiple sessions are space-separated if task spans multiple sessions. |
acquisition | Acquisition label. Multiple acquisitions are space-separated if task spans multiple acquisitions. |
file | File name (if task is at file level) |
Working with JSON Response Data:
The response_data column contains all form field responses in JSON format. Example:
To work with this data:
- Excel/Google Sheets: Import the CSV and use JSON parsing functions or Power Query to extract specific fields
- Python (pandas): Use
pd.json_normalize()orjson.loads()to expand the JSON column into separate columns - R: Use
jsonlite::fromJSON()to parse the JSON strings - SQL databases: Use JSON parsing functions specific to your database (e.g.,
JSON_EXTRACTin MySQL)
Use Cases
Use the Forms or Annotations report for:
- Clinical data analysis - Import form responses into statistical analysis tools
- Quality assurance - Review reader responses for consistency and accuracy
- Central review - Adjudicate findings across multiple readers
- Endpoint evaluation - Extract specific measurements for primary and secondary endpoints
- Annotation retrieval - Identify and locate annotation files for further processing
Task Report
The Task report (displayed as "Task" in the Report Type dropdown) provides task-level metadata for workflow tracking and project management. This report is essential for monitoring study progress, reader productivity, and task lifecycle metrics.
Report Structure
- One row per task - Each task (regardless of completion status) generates one row
- Task metadata focus - Emphasizes assignment, status, and timing information
- Cross-project support - Can aggregate data across multiple projects
Data Columns
Common Metadata Columns:
Same as Form and Annotation Report (see above table)
Task Management Columns:
| Column | Description |
|---|---|
| Task Status | Current task status (To-Do, In Progress, Completed, etc.) |
| Priority | Task priority level (Blocker, High, Medium, Low) |
| Description | Task description or special instructions |
| Staffing Pool | Name of the staffing pool assigned (if applicable) |
| Assignee | Name of the individual user assigned (if applicable) |
| Creator | Name of the user who created the task |
| Created Date | Date and time the task was created |
| Assigned Date | Date and time the task was assigned |
| In Progress Date | Date and time the task was first opened by the assignee |
| Due Date | Target completion date (if specified) |
| Completed Date | Date and time the task was completed (submitted) |
Use Cases
Use the Task report for:
- Study progress monitoring - Track task completion rates and timelines
- Resource allocation - Identify bottlenecks and workload distribution
- Reader productivity - Analyze task completion times and throughput
- Quality metrics - Calculate turnaround times and adherence to deadlines
- Audit reporting - Demonstrate task lifecycle and assignment history for regulatory purposes
Export Process
Asynchronous Generation
Task reports are generated asynchronously to prevent blocking your work:
- Request Submission - When you click Run in the Create Task Report dialog, the system queues your request
- Background Processing - The export job runs in the background while you continue working
- Status Display - The report appears in the Task Reports Queue table with its current status
- File Storage - The completed CSV file is ready for download from the Task Reports Queue
Generation time depends on:
- Number of tasks included in the export
- Complexity of form schemas
- System load
Most exports complete within a few seconds to minutes, but large reports may take longer.
Report Status
Reports appear in the Task Reports Queue table with status information:
- Complete - Export succeeded and file is available for download
- Shows a green checkmark icon with "Complete" text
- File size displays in the Size column
- Download and delete buttons become available

You can click the Refresh Table button to update the status display and see newly completed reports.
Accessing Exported Reports
After a report is generated, you can download and review it from the Task Reports Queue.
Downloading Reports
To download a completed report:
- Navigate to the Task Reports Queue:
- From the project page, click the ellipsis menu → Task Report Queue
- Locate the completed report in the table
- Reports show "Complete" status with a green checkmark
- Hover over the report row to reveal action buttons
- Click the download icon (down arrow) on the right side of the row

- The CSV file downloads to your browser's default download location
Opening Report Files
CSV files can be opened in:
- Microsoft Excel - Double-click the file to open in Excel
- Google Sheets - Upload the file to Google Drive and open with Sheets
- Statistical software - Import into R, Python (pandas), SAS, STATA, or other analysis tools
- Database tools - Import into SQL databases or data warehouses
- Text editors - View raw CSV format in any text editor
Excel Import Settings
If opening in Excel, use the "Text Import Wizard" (Data → From Text/CSV) to ensure proper column formatting. The response_data column contains JSON that you will need to parse using Power Query or formulas to extract individual form fields. Long numeric identifiers may be converted to scientific notation - format these columns as text to preserve the full values.
Report Retention
Exported reports are stored in the Task Reports Queue:
- Reports remain available in the queue until manually deleted
- Reports are associated with the project where they were generated
- Storage limits may apply based on your instance configuration
- Old reports can be deleted to free space
- Deletion requires the "Manage Task Reports" permission
Deleting Reports
To delete a report:
- Navigate to the Task Reports Queue:
- From the project page, click the ellipsis menu → Task Report Queue
- Locate the report you want to delete in the table
- Hover over the report row to reveal action buttons
- Click the trash icon (delete button) on the right side of the row
- Confirm the deletion in the confirmation dialog
Permanent Deletion
Deleted reports cannot be recovered. If you may need the report later, download and archive it before deletion.
Troubleshooting
Report Generation Failed
Possible Causes:
- Insufficient permissions to access selected projects
- Protocol version no longer exists or was deleted
- System timeout for very large exports
- Server error or connectivity issue
Solutions:
- Verify you have read access to all selected projects
- Confirm the protocol version is still available
- For large exports, reduce scope (fewer projects, single project)
- Check system status with administrator
- Retry the export after a few minutes
Empty or Incomplete Report
Possible Causes:
- No completed tasks match the export criteria
- Tasks were completed with a different protocol version
- Date range filter excluded relevant tasks
- Tasks are in draft status (not submitted)
Solutions:
- Verify tasks exist for the selected project and protocol
- Check protocol version matches tasks in the system
- Review task completion dates against export parameters
- Ensure tasks are submitted (completed) not just saved as drafts
Report File Cannot Be Opened
Possible Causes:
- File download was interrupted or corrupted
- Character encoding issues
- Excel version compatibility
Solutions:
- Re-download the file
- Try opening in a different application (text editor, Google Sheets)
- For Excel, use "Data → From Text/CSV" import instead of double-clicking
- Check file size - if zero bytes, regenerate the report
Missing Form Fields or Data
Possible Causes:
- Optional form fields were not filled (will appear as empty strings in JSON)
- Protocol definition changed between task creation and export
- Filter or selection criteria excluded certain data
- JSON parsing errors when extracting fields
Solutions:
- Review protocol definition to understand optional fields
- Parse the
response_dataJSON column to access individual form fields - Empty values in the JSON object indicate optional fields that were not filled
- Generate separate exports for each protocol version
- Verify export parameters included all desired tasks
- When parsing JSON, handle missing keys gracefully (use default values)