Onit Matter Taxonomy

by Christina Moore Updated May 28, 2020

For most implementations, all matters will have a three-tiered matter taxonomy field set:

  • area_of_law
    • matter_type
      • matter_subtype1

All of the fields above will be dropdowns. The available matter_type dropdown options will be dependent on the selected area_of_law; the available matter_subtype1 dropdown options will be dependent upon the selected matter_type.

Below are some screenshots that show the matter taxonomy approach described above.

The matter_type dropdown:      

The matter_subtype1 dropdown:

Problems to Solve

When implementing this matter taxonomy, there are a number of competing problems that must be solved:

  • Customizing Dropdown Options: At the most basic level, you’ll want to populate the taxonomy dropdown options based on the client’s specific legal operations requirements. In other words, you’ll want to customize the dropdown values that are available in the area_of_law, matter_type, and matter_subtype1 dropdowns.
  • Filtering Dropdown Options: Filter the available matter_type and matter_subtype1 dropdown options based on the value that the user selected one level up in the taxonomy chain. For example, only show matter_type dropdown options that correspond to the selected area_of_law.
  • Preventing Blank Dropdowns: Never show a blank dropdown. For example, only show the matter_subtype1 field if the selected matter_type contains subtypes (many do not).
  • Hiding/Showing Non-Taxonomy Fields: Once a user selects a full taxonomy set (e.g., an area_of_law, matter_type, and matter_sub_type), immediately show other fields that map to that taxonomy. For example, if a user selects Disputes (area_of_law), Intellectual Property (matter_type), and Patent (matter_sub_type), immediately show additional fields that map to this taxonomy (e.g., a patent_number field in this example).

To solve these problems, use the out-of-the-box plumbing already in the environment. This plumbing uses the following Onit objects:

  • Fields:
    • area_of_law: The area of law (e.g., Intellectual Property).
    • matter_type: The matter type (e.g., Patent).
    • matter_subtype1: The matter subtype, if applicable (e.g., Infringement).
    • hide_matter_sub_type: A `TRUE` or `FALSE` string used to hide the matter subtype dropdown when there is no matter subtype.
    • area_of_law_matter_type_merged: Value of area_of_law and matter_type concatenated. Used for hiding and showing additional Fields dependent on the selected matter taxonomy. This concatenation field is a workaround to a Listcombo’s limitation of only being able to filter based on the value of a single other field – as a result,  you must create a hidden field that contains a concatenation of two other fields.
  • UI Action: A UI Action named Update Tags Using List Lookup extracts values from the matter taxonomy list. This UI Action displays and hides Fields depending on the selected matter taxonomy, as well as populates the values of the hide_matter_sub_type and area_of_law_matter_type_merged fields. This action fires immediately after a user selects a new value from any of the matter taxonomy fields.
  • List: An Excel spreadsheet named Mattertypes that has been uploaded to Onit. This list is used to orchestrate much of the overall solution, as it contains the dropdown options, tags, and mapping logic. While the base Onit ELM product comes with this list by default (available on the /admin page), you will want to heavily edit it around your needs.

The following sections of this document will explain how the Onit objects above solve each of the matter taxonomy problems mentioned earlier. You can use this information to both understand the out-of-the-box configuration and to customize it around your needs.

Note: To master this solution, it’s important that you are familiar with the content covered in the following Onit tutorials: Using a UI Action to Update Fields, Formatting, Importing and Updating a List, and Using Tags to Hide/Show Fields.

Problem: Customizing Dropdown Options

Customizing the matter and matter_subtype1 dropdowns in your Matter App is straightforward. Upload a new list with your new information each time that you would like to update the taxonomy.

The Excel spreadsheet containing your matter taxonomy must be formatted as seen below:

In order for the list to be correct it must have the following rows:

  • fieldLabel: The fieldLabel row (Row 1) should match the name of the Field in Onit exactly (e.g., area_of_law)
  • type: The type row (Row 2) defines the column’s datatype. The following datatypes are available: string, date, datetime, number, decimal or boolean.
  • data: The data row (Row 3 and beyond) identifies to Onit that all values in the row contains the actual values that an Onit App can work with to populate dropdowns, hide/show fields, and activate/deactivate tags.

In addition, note the following information regarding the columns shown above:

  • area_of_law_matter_type_merged: This should be a concatenation of Column C and Column D, with a hardcoded dash (-) between the two values. It is recommended that you use Excel’s =concatenate function to populate this column.
  • hide_matter_sub_type: For any given row, this value should equal TRUE if Column F is null. Otherwise this value should be FALSE. It is recommended that you use an Excel calculation similar to the following to populate the value of this column: =IF(ISBLANK(F3),TRUE,FALSE).

Once you’re done creating and uploading the list, create a new test Record on the Matters App to ensure that you can see the correct area_of_law, matter_type, and matter_subtyp1 values.

Problem: Filtering Dropdown Options

The matter_type and matter_subtype1 dropdowns are filtered based on the value selected by the user one level above in the overall matter taxonomy (values in the area_of_law dropdown are the highest level in the matter taxonomy and require no filter). This is achieved using standard Listcombo filtering logic, as shown below.

For example, using the configuration shown above, once a user selects an area_of_law the matter_type will be automatically filtered.

Moving one level down the hierarchy, depending on the matter_type selected, there may or may not be matter_subtype1 options to choose from. The matter_subtype1 options must be filtered using two values: area_of_law and matter_type. A hidden Field named area_of_law_matter_type_merged is populated via the UI Action Update Tags Using List Lookup.

For example, when a user selects Corporate and Finance the value of area_of_law_matter_type_merged becomes Corporate – Finance. Using the value from this hidden Field the UI Action filters the Mattertypes list on the area_of_law_matter_type_merged column. When the two values match the appropriate matter subtype will be shown in the matter subtype dropdown.

Problem: Preventing Blank Dropdowns

When a matter_type does not have any corresponding matter_subtype1 values, we then want to prevent a blank matter_subtype1 dropdown from being shown to the user. To accomplish this we will use a column called hide_matter_sub_type in our Mattertypes list. This column contains the string TRUE when the matter_subtype1 dropdown should be hidden and FALSE when it should be shown. The UI Action Update Tags Using List Lookup does a lookup into this column to determine the hidden condition of the matter_subtype1 dropdown.

The Liquid used by the UI Action to perform the lookup into the Mattertypes list is as follows:

{% capture lookup_value %}{{area_of_law}}-{{matter_type}}{% endcapture %}{{ lookup_value | list_lookup: 'Mattertypes', 'area_of_law_matter_type_merged', 'hide_matter_sub_type' }}

This Liquid will perform a lookup using the value of area_of_law and matter_type (e.g., Corporate and Finance). The lookup will check values in the area_of_law_matter_type_merged column for a match. This lookup will then capture the value of the appropriate hide_matter_subtype column and push that into a field by the same name.

The hidden condition on the matter_subtype Field is then written to check the value of the hide_matter_subtype field, as seen below.

The Javascript for the Hidden condition property is as follows:  

[hide_matter_sub_type].trim() === 'TRUE' || [area_of_law] == '' || [area_of_law] == null || [matter_type] == '' || [matter_type] == null

This JavaScript checks if the hide_matter_sub_type field is equal to TRUE, and if it is then the field will be hidden. This JavaScript will also hide the dropdown when either area_of_law or matter_type is equal to null or if matter_type is blank.

In some conditions you may want to hide the matter_type dropdown for specific areas_of_law that have no further classification (e.g., no matter_type options). In this case you would create a JavaScript hidden condition on the matter type Field to specifically check for areas_of_law values that do not have matter_type options. Your JavaScript should look similar to the following:

[area_of_law] == 'Compliance' || [area_of_law] == 'Arbitration' || [area_of_law] == null

This JavaScript would hide the matter_type dropdown when the area_of_law is Compliance, Arbitration, or when area_of_law has not yet been selected.

Problem: Hiding/Showing Non-Taxonomy Fields

By using Tags, we are able to specify which Fields will be displayed to the user for different taxonomies. For example, when you choose a Litigation-focused matter taxonomy set, Onit should then immediately show a series of other litigation-related field.

All Tags should be specified in the Mattertypes list that you upload.

Each Tag specified in your Mattertypes list must have a corresponding Tag created in Onit. To create new Tags, navigate to the Tags node in your Matter App’s Advanced Designer page.

Create a new Tag for each Tag in your Mattertypes list by clicking the Add button. Name the Tag the as it appears in your Mattertypes list and click Ok.

The UI Action Update Tags with List Lookup will use values from the tags column to hide/show the appropriate Fields. When the Tag value extracted by the UI Action and the Tag applied to a Field match, the Field will be shown.

Tags are applied to Fields in the Matter App Wizard under the Advanced tab of that Field. To apply a Tag to a Field, chose the correct Field in the Wizard and click on the Advanced tab. Under the Tags box chose the appropriate Tags for that Field. Once you are done assigning Tags save your changes.

Fields not assigned a Tag or a JavaScript-based hidden condition will always show.

Previous Article Welcome to Onit ELM Tutorials
Next Article Legal Entities

© 2020 Onit, Inc.

docs.onit.com contains proprietary and confidential information owned by Onit, Inc. that is subject to copyright. Onit presents it exclusively to you for your sole use in conjunction with using Onit products. No portion of the materials contained herein may be used for any other purpose. No portion of the materials contained herein may be shared with third parties or reproduced in any form.