The Cohort Builder is simple tool for building potentially complex sets of criteria for choosing a cohort of records from the UPDBL database. It opens either after you add your first criteria to a new query after clicking the Add Criteria button on the Add Criteria window (and also reappears after each new set of criteria is added to the query) — see Creating a New Query and The Add Criteria Window — or when you first load a previously created query — see Running a Previously Created Query, Changing a Previously Created Query or Examining Relationships Within a Query Cohort. You can also get back to the Cohort Builder window from the Totals window by clicking on the Back to Cohort Criteria button on that window — see The Totals Window. The criteria for the current cohort is displayed in a rather intuitive display that combines a data tree structure with a straightforward English language description of the logic structure of the criteria. It is easy to manipulate the logic structure by dragging the various criteria elements, and additional criteria can be added to the structure using the The Add Criteria Window.

At first the criteria tree may appear to be rather complicated, but it is really quite simple to read. Each branch of the tree represents either a set of criteria in the logic structure or a relationship between one or more sets of criteria. Branches that represent a relationship between more than one set of criteria always read "Patients that meet (ANY or ALL) of the following criteria:" Such branches then connect to additional inner branches. Branches that represent a single set of criteria that make up part of the logic structure contain language that describes that criteria and do not contain additional inner branches.


One way to approach reading the criteria logic structure is to imagine comparing the criteria to a single patient record. That record will be included in the cohort if it meets all of the criteria starting with the topmost (outside) description, working down through the data tree structure. Multiple criteria branches, when arrived at in the structure, will be resolved as meeting that criteria only if the inner branches of that branch meet the criteria as specified by the description. For example, in the data tree structure above, a patient will be included in the cohort if and only if that patient meets a set of criteria to be described in a second AND the patient had a procedure that includes the ICD9 code "99.25." If the patient did not have a procedure that includes the indicated ICD9 code, it really doesn't matter about the other, more complicated branch of criteria. Since the patient does not meet ALL of the criteria at the outermost level (since that is what is specified), they will not be included in the cohort. (It should be noted that in more recent versions of UPDBL, descriptions of diagnosis-based criteria often will include a text description of the diagnosis searched for, not just an indication of the appropriate ICD code, especially if that diagnosis criterion is based on diagnoses from the Utah Cancer Registry.)


Suppose the patient does meet the second criteria. They still need to meet the first criteria at this outermost level in order to be included, but the first set of criteria contains some inner criteria branching. In order to meet the first criteria, the patient must meet ANY of the following: Either they must have been born between 1900 and 2000 OR they must have received a diagnosis that fits the rather long description appearing in the screen shot. (The query used here is purely a demonstration query — we realize that the criteria specified here isn't very practical or useful.) If the patient meets either condition, they will pass this first criteria. One thing to be aware of: UPDBL will actually resolve this entire first branch of criteria before checking to see if the patient meets the second outer criteria (the procedure-based criteria). In checking against criteria, UPDBL works downward through the tree and will not proceed to the next branch of the tree at the same level, until all the inner branches of the current branch of the tree have been resolved in some fashion.

The descriptions of diagnosis-based criteria, in particular, tend to be a little bit difficult to follow. This is because different UPDBL diagnosis records appear with a different set of codes, depending on the year or source of the diagnosis information. Setting up these criteria is actually quite simple — see The Add Criteria Window for a description of the interface — but the final descriptions can appear a bit more complicated than they actually are. This has to be so in order to make certain that all of the desired records (and only those records) will be selected.

You may change the logic structure of your query by using a combination of two simple processes. To change the branching and order structure of the various criteria, simply click on a row (criterion) within the structure and drag it to its desired new location. To change whether all criteria of an inner branch group need to be met or whether simply meeting any of them will suffice, click on the ALL/ANY drop down field (right after the words "Patients that meet") in the description of the branch and select the other option.


Buttons above the logic tree are for adding or removing criteria from the structure. Click on the AND button to add criteria that will be part of a branch group where ALL of the specified requirements will need to be met.


Click on the OR button to add criteria that will be part of a branch group where meeting ANY of the specified requirements will be sufficient.


Select the description of a criterion by clicking on its row in the logic tree and then click on the Remove Criteria button to get rid of that particular requirement completely. You may not edit any criteria already listed in the logic tree. If you want to make a change to a criterion, you will need to remove it from the tree and then add the corrected version in order to make that kind of change. Any changes you make to your query on this window will be automatically saved.


Buttons at the bottom of the window are used to navigate through the query creation wizard. The button in the lower left corner of the window (Back to Introduction) takes you back to the Introduction page.


The Select and Run Aggregation button in the lower right corner of the window takes you forward to the totals page, where you can set up the aggregation for your query and run the query with your current settings — see Running a Previously Created Query.


Contact Us

Research Informatics Director
Andrew Post, MD, PhD

Research Informatics Associate Director
Shirleen Hewitt, DBA


HCI Senior Director Oversight
Aik Choon Tan, PhD

Faculty Advisory Committee Chair
Aik Choon Tan, PhD

Faculty Advisory Committee Members
HCI Research Executive Committee