Skip to end of metadata
Go to start of metadata


Most of the data are shown in tables in the mib2 client. These tables support sorting and filtering. Here we use the Request Management UI (Tab 3) as an example to show how users can sort and filter tabular data.


Requires Flash Player

(video length: 1:55)

This video demonstrates mi2b2's sorting and filtering features. Learn how to

  1. Sort table data in ascending, descending, or original order.
  2. Access the filter controls.
  3. Use the check box controls and the range slider controls to perform filter.
  4. Issue complex queries involving multiple columns.

Please note that the video is based on mi2b2 1.2.00. Text-based filters have been introduced in 1.3.0. Please read below for their introduction and how to use them.


In general, users can click on the header of each column to sort the rows by that column. The first click will sort the column in ascending order, the second click results in descending order, and the third click results in the original order, resetting sort. For example, sorting by Request ID (the 1st column) in Tab three resembles the following screenshots. Note the a a sorting arrow in the highlighted column header for "Request ID" for each of the ascending and descending sorts.

Original Order

Ascending Order by Request ID

Descending Order by Request ID

Users can apply sorting to to all data in the table" dates (such as Study Date), texts (Modalities, Comments, MRNs Request ID's), time (Download Time Remaining), file size, etc.

The one place where sorting is limited is in Tab 1. The table in Tab 1 is actually a tree structure to support displaying patients that have the same MRN. A tree is not amenable to sorting on all columns like tables are. Instead, users can only sort the patients by their MRN.


In the tables in Tab 1 (Searching Patient by MRNs), 2 (Search Studies by ANs), 3 (Viewing and Managing Requests), and 5 (Managing Remote Cache), users also have the option to filter the rows. The only table that is not filterable is the Download Manager in Tab 4. We use Tab 3 to illustrate the filter functionality.

By selecting the "Show Filter" button in each of Tab 1, 2, 3, and 5, users can access the filter widgets. Press the same button again (now "Hide Filters"), users can hide them.

The mechanics filtering is simple. There is a set of widgets corresponding to each column of the table. By appropriately selecting only the values users want to see in that column, the filter will automatically hide the rest. For example, if users want to see only "Magnetic Resonance", they would select only "Magnetic Resonance" in the filter widget corresponding to the column "Modality". If the users want to see studies that either "Magnetic Resonance" or "Computed Tomography", users would then have those two selected in the widgets.

Checkboxes Filter

There are three types of filter widgets in mi2b2 client. The first type of filter widgets is a group of checkboxes (left and 1 in the full screenshot above). mi2b2 will filter out any checkbox that is not selected. By default, all checkboxes are selected (nothing is filtered).

Range Slider Filter

The second type is the range slider (left and 2, 3 in the full screenshot above). It is a scroll bar with two end points that users can move independently. The values between (and including) the two endpoints are the values that users select, and the rest are filtered out. This type of filter is useful for values that can be meaningfully ordered, such as dates (3), or have many values (2).

By default, a range slider selects all values in the table (nothing is filtered). The lower end point (minimum) and the upper end point (maximum) values are always displayed. The filter action takes place when users release the dragging action of the end point controls. Once a range is set, users can also drag the range thumb to move both the upper and lower end point controls simultaneously. Double clicking on the yellow portion of the range slider resets it.

Text Box Filter


The third type is the text box filter (left (1) ). It is a text box where users can freely enter any text, for example, a list of MRNs. After application, the filter will find items that matches any of the MRNs entered.Text filters are designed only for columns that contain MRNs or Accession Numbers (ANs). We will use MRN as an example, but the mechanics are exactly the same for ANs.

To enter a list of MRNs , users will enter them in the box, separating each MRN by a comma (","), or a space (" "), or a new line (created by pressing "enter" or "return").  Empty lines are ignored. For example, in the figure to the left, (2) shows that the following list of MRNs "0002" "0070" "0110" "1234" and "2525" are correctly entered.

After adding a list of MRNs, users need to press "Apply Filter" to apply the filter. If users wish to remove an existing text box filter, users will need to remove all text in the text box and then press "Apply Filter" to reset the filter to its no-filter default state. Tip: Users can user keyboard short cuts to select everything in the text box (ctrl-a in Windows and command-a in OSX), and then press "delete" or "backspace" to remove them.

Combining filters

Behind the scene, the filter for each column is then combined to filter the entire the table. Within each filter, the values are "OR'ed", while among filters, the values are "AND'ed". For example, the combined filter to the left means

"Show me all study requests that have modalities of either Magnetic Resonance OR Computed Tomography. AND, in addition, show me only the requests that have been requested in the time period of 7/13/2011 14:01:40-07/15/2011 10:32:45."

Users do not have to do anything to combine filters explicitly. The filters are always active. As soon as users click on a checkbox, or release an endpoint in the range slider, a new

Filter Reset

The filters are reset whenever the table is refreshed with new data. This occurs when, for example, users searched for a new MRN in Tab 1, searched for a new AN in Tab 2, or pressed "Refresh" in Tab 3 or Tab 5. Any previously set filters will be reset, and no filter will be applied to the new data. Users must re-apply the filters.

  • No labels