Flywheel Core 22.2
22.2.0
FEATURES
Tasks Manager
Adjudication
Building on the Tasks Manager protocol model, a study administrator can now configure a double-read adjudication workflow within a Read protocol definition. Publishing tasks from an adjudication-enabled protocol creates a linked block of exactly two independent Reader Tasks plus one adjudication task. The adjudication task is itself a read: it remains blocked until both Reader Tasks are complete, at which point it becomes available to the assigned adjudicator. Reader and adjudicator assignments are constrained so that neither reader on a given dataset can also adjudicate it, preserving reader independence.
Opening an adjudication task launches the V3 Viewer in adjudication mode, where the adjudicator can review both readers' form answers and annotations side by side in a comparison view. The adjudicator can choose one reader's read, modify a read, or perform an independent read to establish the read of record. Completing an adjudication task captures the decision with an electronic signature and records it in the audit trail, in support of 21 CFR Part 11 requirements.
Warning
Reader identities are not yet fully masked from the adjudicator in Tasks Manager, so blinding is not fully enforced in this release. This will be fixed in an upcoming release.
Forms and Protocols
Forms now support numerical field types (integer and float) in addition to text fields. Study administrators can configure number fields with validation rules — such as requiring whole numbers or applying comparison checks — so that form submissions are validated against expected numeric ranges before a task can be submitted.
Viewers
V3 Viewer
-
This new release includes UI/UX improvements to the measurements panel intended to facilitate reviewing and comparing measurements created by different users:
-
Measurements grouped under the same label now load in a collapsed state in the measurement panel, to help users focus on the label and not overcrowd the panel for labels with many individual measurements. Users have the option to expand and collapse the labels.
-
Measurements get highlighted in the viewport upon hovering over the measurement panel:
- Hovering over a measurement set highlights all measurements from that measurement set.
- Hovering over a label highlights all measurements from that label.
- Hovering over an individual measurement highlights that measurement.
-
Clicking on a measurement set in the measurement panel shows all measurements in an active state in the viewport. Measurements from other measurement sets are shown in a reduced opacity.
-
Clicking on a label in the measurement set causes the viewport to jump to the slice that contains the first measurement from that label.
-
-
Viewer footer bar design updates to make the link to documentation more obvious to users.
Data Management
Smart Copy
Smart Copy now uses the shared Hierarchy Filter component to select which projects, subjects, sessions, acquisitions, and files to copy. This replaces the previous custom-built filter with a consistent interface that aligns with the rest of the Flywheel application.
Extension Applications SDK
The Extension Applications Software Development Kit (SDK) now provides an API request method for using most Flywheel API endpoints. Using the new apiRequest method, an extension can reach most Flywheel API endpoints rather than being limited to the specific set of methods the SDK exposes. This makes it easier to build and maintain richer extensions that take fuller advantage of the Flywheel platform.
Gears and Compute
-
The Manage Gear Access dialog previously capped the Users and Projects lists at a limited number of visible entries, with no way to scroll further. Site administrators can now scroll through the full list of users and projects, see which entries already have access granted, and search for specific entries.
-
Flywheel deployments configured with S3-compatible (
s3_compat) object storage can now export job logs from the database to object storage. Previously, the log exporter did not support thes3_compatprovider, leaving job logs accumulating in the database on affected deployments.
Data Transfer
DICOM Push
Flywheel Core can now act as a DICOM receiver, accepting DICOM data pushed directly to Flywheel from imaging devices and PACS over standard DIMSE C-STORE, in addition to web-based DICOM upload. Because it is hosted by Flywheel, this provides a cloud-based DICOM receiver that scanners and PACS can push to directly, without the need to deploy and maintain on-premises DICOM push connectors.
Key capabilities include:
- Secure transport: Incoming connections are protected with mutual TLS (mTLS), so the sending device and Flywheel authenticate each other.
- Routing and filtering rules: Incoming studies can be filtered and routed by Application Entity Title (AET), with unmatched data sent to an Unsorted location for later review.
- De-identification on ingest: DICOM data can be de-identified before it is persisted to Flywheel storage.
- Monitoring and configuration: DICOM push activity can be monitored alongside other imports and configured through the Flywheel web app and CLI.
Limited Release
DICOM push support is not enabled by default in this release and remains under active development, with further enhancements planned for upcoming releases. Interested customers should contact Flywheel Support to request enablement.
Add Data Dialog
When configuring an upload, clicking outside the Add Data dialog no longer silently dismisses the window and discards all entered settings. Users now receive a confirmation prompt before the dialog closes, preventing accidental loss of upload configuration.
Python SDK
The Flywheel Python SDK documentation has been overhauled and expanded, and is now available at api-docs.flywheel.io. The refreshed site provides broader coverage of SDK capabilities, clearer organization, executable examples, and practical tips, alongside the auto-generated API reference.
- New Overview and Getting Started — installation, connecting to a Flywheel instance, and making your first API requests.
- Core Concepts — Flywheel hierarchy, containers, file upload and download, finders and queries, metadata, and Smart Copy.
- Gear Concepts — find and inspect gears, run and monitor jobs, and work with analyses.
- Clinical Concepts — Protocols, Tasks Manager, Form responses, and Staffing Pools.
- Admin Concepts — groups, users, roles, permissions, site settings, External Storage, UI extensions, Gear Rules, the modality and classification schema, the Access Log, the Audit Trail, and Usage Reporting.
- Advanced Usage — performance optimization, object reloading and caching, and low-level API access.
- A dedicated Client Configuration page in Core Concepts.
FIXES
Viewers
V3 Viewer
-
Fixed an issue where drawing a segmentation with the rectangle threshold tool in TMTV mode displayed a false
Something went wrongerror and reported the volume and SUV Peak as zero. -
Fixed an issue where measurement tools stopped responding in Multi-Planar Reconstruction (MPR) and 3D view layouts when working with oblique datasets.
-
Fixed an issue where Total Metabolic Tumor Volume (TMTV) mode was incorrectly enabled for PET and CT series that did not share a common Frame of Reference UID (
FrameOfReferenceUID), causing aSomething went wrongerror. -
Fixed an issue where switching between layout views that include the 3D viewport and a segmentation intermittently displayed multiple redundant status notifications.
-
Fixed a crash that occurred when drawing a Circle region of interest (ROI) annotation before image statistics finished loading.
BrainBrowser
- Routine updates to viewer dependencies. See the BrainBrowser documentation for updated installation instructions.
Montage Viewer
- Routine updates to viewer dependencies. See the Montage Viewer documentation for updated installation instructions.
Form Builder and Viewer
- Routine updates to viewer dependencies. See the Form Builder and Viewer documentation for updated installation instructions.
Gears and Compute
-
Fixed an issue where editing an existing Gear Rule allowed the gear itself to be changed rather than only the gear version. The gear label can no longer be changed on a saved Gear Rule.
-
Fixed an issue where refreshing a Gear Rule cleared the specified file from a gear's optional fixed input, and where switching such a rule to auto-update mode returned a
Gear rule cannot be auto-updated with fixed inputserror. -
Fixed an issue where helper tooltips did not dismiss when setting up Gear Rules, leaving them visible and obscuring the interface.
-
Fixed an issue where the gear selection dialog could be cut off on smaller screens or when a gear had a long description, hiding the Run Gear button. The button now remains visible regardless of screen size or description length.
-
Fixed an issue where a 255-character limit prevented users from saving gear configuration inputs that contained longer values. The limit has been removed.
-
Fixed an issue where gear jobs configured with backup machine types did not fall back to those machine types when the primary machine type was unavailable.
-
Fixed a deployment misconfiguration that caused jobs submitted to the High-Performance Computing (HPC) Hold Engine to remain in a Pending state and never run.
Tasks Manager
-
Fixed an issue where the Exclude Tags filter did not apply the Any and All options correctly, causing tasks with excluded tags to appear in filtered results.
-
Fixed an issue where filter selections were not preserved when creating a new task.
-
Fixed an issue where task status and assignee changes did not update in real time for non-site-admin users, requiring a page refresh. A permissions mismatch between the task list and events endpoints prevented live updates.
-
Fixed an issue where the
saved_json_textfield — which contains the saved protocol JSON text — was missing from the responses returned by the protocol JSON file list and get endpoints.
Legacy Tasks
- Fixed an issue in Legacy Tasks where a slow or delayed form load could cause duplicate form responses to be saved for the same task.
Data Management
-
Fixed an issue where the Subject tab header on the Audit Trail screen did not display promptly for large projects.
-
Fixed an issue where deleting a session on a site with the Audit Trail disabled displayed an incorrect confirmation dialog reading
Are you sure you want to delete [container|analysis|file]? -
Fixed an issue in Site Catalog settings where clicking a tag from the dropdown after typing in the Therapeutic Areas field did not select the tag.
-
Fixed an issue where navigating to the Site Catalog caused the sidebar to expand beyond its intended height.
-
Fixed an issue where the subject tag field in the new session dialog displayed "No tag suggestions" on empty projects. The text now reads "No suggestions" to avoid implying that tag lookup failed.
-
Fixed an issue where hierarchy filters loaded indefinitely when users typed in the filter input.
-
Fixed an issue where clicking the button to create a new project caused the "Create new project" dialog to open twice in rapid succession.
-
Fixed an issue where attempting to delete a project caused multiple confirmation dialogs to appear simultaneously.
-
Fixed an issue where the Project Permissions page failed to load the user list and disabled the Save button when a project referenced a deleted user account.
-
Fixed an issue where Data Views failed with a
RuntimeError: Execution of data view failederror on large projects, caused by a database timeout value that was interpreted in milliseconds instead of seconds. -
Fixed an issue where search results could persistently lag behind the underlying data. Newly added sessions and metadata could be missing from search results, or a
Site data is being indexed. Search results may be unavailable or incomplete.warning banner could appear in the search interface. -
Fixed an issue where the API did not return the
copy_offield on acquisition and analysis containers created with Smart Copy, preventing programmatic tracing of a copied object's source. -
Fixed an issue where the "Export All Results as CSV" button remained active and displayed no tooltip when search results exceeded 10,000 items. The button is now disabled with an explanatory tooltip when the result count exceeds the export limit.
-
Fixed an issue where the AI Chat Assistant scrollbar became unresponsive after the chat panel was resized.
-
Fixed an issue where clicking the back button after navigating from the Task page to the Search page returned a
404 Page Not Founderror.
Python SDK
- Fixed an issue where the Python SDK file content methods (
download,read,url,download_zip_member,read_zip_member, andget_zip_info) did not pass the file version to the server, always returning the latest version instead of the version represented by theFileEntryobject. These methods now use the file object's version by default, while still accepting an explicitversionparameter.
Data Transfer
-
Fixed an issue where cancelling or failing a Bulk Import or Bulk Export operation could occasionally cause an unexpected error while stopping the operation's remaining in-progress work items.
-
Fixed an issue where an unstable connection between the Data Transfer connector and the server could block new Bulk Import and Bulk Export operations. In-progress transfers were not affected.
-
Fixed an issue where a misconfigured network policy blocked internal service communication on certain deployments, preventing Bulk Import and Bulk Export jobs from starting.
-
Fixed an issue where running multiple CLI login or logout operations in parallel could corrupt the CLI configuration file. A file lock now prevents concurrent writes from overwriting each other.
Bulk Import
- Fixed a broken documentation link on the Imports page and restored custom filter suggestions that stopped appearing after a shared component update.
Bulk Export
-
Fixed an issue where export jobs could fail with a
Snapshot had no progress for 5merror. On large projects, access logging during export preparation caused timeouts that prevented data from transferring. -
Fixed an issue where Bulk Export did not record downloads of exported DICOM zip files in Access Logging.
External Storages
- Fixed an issue where External Storage status checks could incorrectly report storage as offline, blocking new Data Transfer operations on affected sites.