The databrowser is a tool that allows you to browse from one data type to another through various search forms. This tool is flexible and made for general use. The databrowser can be reached under the Query tools menu.
When you first access the data browser, you will be presented with two lists that contain your previous searches. As it is your first visit, they will probably be empty. The first one temporarily contains your last few browsings. If you don't save them, as you create new browsing, they will be erased. The second list contains your saved browsings.
- To start a new search, click the "new" button. Then select the elements you wish to search on. If the element is a master/detail type, you can either select to search on all details by selecting the main node (eg.: sample) or by a specific one by clicking on it (eg.: blood). (Aliquot is an exception whereas you will only see the detail level if your current set is composed of a single sample type.)
- Click sumbit
- You will be presented with a search form matching the element your just selected. As in every search form, input the your search parameters and click submit.
- Here you are presented with a checklist view of your results. Check the results lines on which you want to make your next action.
- In the action dropdown, select your next action. Here you have a few more options than in the new search screen. In the first level you can create a batchset and export your selections to a CSV file. If you want to keep on browsing, select the model you wish to go to in the browsing sub menus. As you may have noticed, the browsable elements have new options: filter and no filter. Basically, filter will give you the matching search screen whereas no filter will simply access all matching data without the search screen.
- That's it. You can now browse data.
Merging allows you to join multiple data types together to display them in a single page. To merge, you need to at least have browsed over two nodes of different type. Then, if a node can be merged with your current node, the tree bubble of the corresponding node will contain a chain icon. Simply click on it. All nodes between your current node and the one you clicked on will be part of the merge. (Some exclusion rules apply for drill down nodes.)
- You browse towards identifiers. You select them all. You browse towards participants. The identifiers tree node bubble now has the chain icon. Clicking on it merges the participant node with the identifiers node. The resulting page contains participants data with their matched identifiers data from the first node.
The "Unused parents" button creates a node with the items of the first parent node that were not used to create the current node.
- You have a node with two participants. Participant A has an identifier, participant B has none. You select them both and go towards identifiers. Clicking on the "Unused parents" button will create a node with participant B since he had no attached identifier.
There is no such button because you can find that data with the available tools. All you have to do is, from your current set, browse towards the parent type. You have your used parents. (And possibly more if your parent node contained a child type.)
- Going on with the previous example, go back to the identifiers node. Browse toward participants. Your result node contains Participant A.
Version 2.5 introduces browsing filters. The most common filter is the "keep most recent/oldest entries per participant". Using this filter will usually return only one or zero entry for each participant. Filters are applied after the standard search criterions.
There are two exceptions to keep in mind. If two events occurred at the same time and if they are both the most recent/oldest entries, both will be returned. The other exception concerns events without time. If all of the events of a participants have no time value, none will be returned if the filter is applied.
Version 2.5 introduces counters. Counters allow you to specify results need to have between a and b ancestors. They can be used as long as ancestor nodes have a n to 1 relationship with your node.
How does it work
The browsing is based on the links that exists between the different elements. Let's go with an example.
- You make an initial search on consents.
- You pick 3 consents.
- As an action, you select participants -> no filter.
What's going to be displayed are the participants matching the 3 consents you selected.
You have to be careful though not to misinterpret the linking. If we continue with our previous example:
- You select all participants and pick collections -> no filter as a next action.
The returned collections are the ones linked to your selected participants. They do not necessarily match the selected consents.
With version 2.5+, if you want the consents linked to the collections, you need to go back to the collections node and use the action menu to browse directly toward consents. (ATiM pre 2.5 will always return the result toward the participants node.)
Unless stated otherwise, these examples all start at the browsing > new page.
- For a csv of participant identifiers, find their most recent follow up.
- Select Identifiers.
- Click on the upload CSV file icon and select your file. (Your identifiers must be aligned in the first column. All other CSV fields will be ignored.)
- Select the participants identifiers you want to work with and submit.
- Select Actions > Browse > Event > Clinical - General - Followup and submit.
- In the Special Parameters section, under Filter, select "Keep entries with the most recent date per participant" and submit.
- Click on the first tree node (identifiers).
- Put your mouse on the last tree node (annotation) and click on the string.
You now have identifiers - participant - follow up lined up on the screen. Lines having no follow up mean that the participant has no follow up entered in ATiM.