Screenshot 2024-03-04 at 10.05.32 PM.png

The Data Dictionary provides a method for documenting case properties by grouping them and adding descriptions and labels. By doing so, it is easier to visualize and contextualize the property within the context of the case.

The documentation of case properties will aid in understanding their purpose and possible behaviour, facilitating collaboration, troubleshooting and maintenance.  

The Data Dictionary Administration Page

The Data Dictionary administration page provides access to all items in the Data Dictionary. All case types and properties are readily accessible including the following features:

Note: Linked Project Spaces

It’s possible to synchronize the Data Dictionary across Linked Project Spaces . An upstream domain with the Data Dictionary privilege may push its case type definitions to a downstream domain without the privilege. This scenario will result in a downstream domain which does not have access to the Data Dictionary UI (Admin page and App builder functions) having access to synchronized data dictionary definitions.

Getting Started

To access the data dictionary admin page, follow these steps:

1. Using the Main Menu, choose Data (1), then View All (2).

2. Choose the Data Dictionary option on the left menu of the Data Page

3. You will be directed to the Data Dictionary page, similar to the image below

dd.png

The left-hand menu shows all the case types in the domain and highlights the definition of each.

On the main page, the following items are included: 

Data Dictionary during Application Building

View Descriptions in the Form Builder

Hover your cursor over the case properties in the App properties section of the form builder to view the case property definition as saved in the Data Dictionary.

If the case property is referenced in the form question, the description can also be viewed by hovering the cursor over the property.

View Descriptions in the Application Summary

Upon selecting the case summary, each property in the case will be displayed with its description underneath.

View and Add Descriptions when saving a Property to the Case

When a case property contains a description, it will be displayed beneath the name of the property. If that description is updated, it will be reflected in the data dictionary as well. Each time a new property is added to the case, it will be added to the data dictionary. In the event that the description of a property is updated, the update will also be reflected in the data dictionary. 

Managing the Data Dictionary

Any time a new application is created, or a question-to-property mapping is saved in the Case Management of a form, the Data Dictionary is automatically updated to reflect the latest case types and property mappings.

Manually Add New Case Properties to the Data Dictionary

A new case property can be added to a case type in the Data Dictionary in two different ways:

create-case-prop.png

Add Case Property Group

Case properties can be grouped using the Case Property Group. You can manage which case properties are associated with the Case Property Group by dragging and dropping them into or out of the group. Click the button at the top right of the page to complete the process.

create-case-group.png

Add/Remove Properties to the Case Property Group

The Case Property Group can be used to group case properties. To manage which properties are associated with the Case Property Group, drag and drop case properties into or out of the group. To complete the process, click the button at the top right of the page.

Case Data integration with the Data Dictionary

The latest update to the Data Dictionary integrates with CommCareHQ's Case Data page.

This integration allows you to use the data dictionary to configure the way case properties are displayed on the case data page. It is possible to rearrange case properties, organize them into collapsible groups, assign labels, and display descriptions. 

The screenshot below displays an example of the case data page. In this example, the data dictionary was used to configure the way the case properties are presented. We can see different data sets represented in different tables, with the black "i" icon, that provides additional information about the case property when hovered over.

All properties in the data dictionary show up on CommCareHQ's Case Data page. The "---" indicate that no value has been set. Blank means the property has been set to an empty string ("") - often when it's been cleared out deliberately by a user.

To edit the case data page through the data dictionary, navigate to Data Dictionary located under Data tab in CommCareHQ. Once the relevant dictionary is selected, you will see multiple options per case property, as displayed in the screenshot below.

case-prop-list.png

From here, you can use the arrows on the left to rearrange the properties, assign properties to different Case Property Groups, which will group and tabulate them, and add relevant labels and descriptions. 

Deprecating & Delete Case Types and Case Properties

You can use the Data Dictionary to manage and delete case types and case properties

You can delete case types or case properties using the Data Dictionary. This is useful when a project space has many case type and case properties which were created in error but are actually not relevant to you. A deleted case type will no longer be selectable as a filter in the reporting filtering menu, and will not be a case type filter option for case exports/imports. 

You can delete a case type in the Data Dictionary in following conditions:

Should I deprecate or delete?

Delete Case Type

Summary

You can delete a case type from the Data Dictionary by following these steps:

Please note, a case type cannot be deleted if there are cases that use this case type.

Restoring a Deleted Case Type

You cannot restore the deleted case type from the Data Dictionary. You can however, simply create the deleted case type again. Alternatively, if the case type is being used by an application, making an update to the application will cause the case type to automatically be created in the Data Dictionary.

The Impact of Deleting a Case Type

Once a case type is deleted from the Data Dictionary

Delete Case Property

Summary

You can delete a case property from the Data Dictionary by following these steps:

delete-case-prop.png

Please note, a case property cannot be deleted if there are cases that use this case property.

Restoring a Deleted Case Property

You cannot restore the deleted case property from the Data Dictionary. You can however, always add the case property back which you had deleted initially. 

The Impact of Deleting a Case Property

Once a case property of a case type is deleted from the Data Dictionary : 

Deprecating / Restoring Case Types

You can deprecate case types or case properties using the Data Dictionary . This is useful for when you don't want to delete historical case types or case properties but you wish to hide them.

It is possible to publish new releases and submit forms with an application using deprecated case types. However, it's recommended to transition to non-deprecated case types for better compatibility and performance in the long run.

Showing Deprecated Case Types

Deprecated case types are not shown by default when loading the Data Dictionary. You can show deprecated case types by clicking on the “Show Deprecated Case Types” button.

show-deprecated-filter.png

Deprecating a Case Type

You can deprecate a case type by following these steps:

deprecate-case-type.pngdeprecated-case-types.png

Restoring a Case Type

restore-case-type.png

The case type will be restored and will no longer be tagged as deprecated.

The Impact of deprecating a Case Type

Below is a list of the impact that deprecating a case type has:

Deprecating / Restoring Case Properties

You may deprecate case properties or case group properties by selecting the deprecate icon next to each of the definitions for the property.

deprecate-case-prop.png

You can view deprecated properties by clicking the "Show Deprecated" button. 

show-deprecated-case-props.png

Once the button has been clicked, the deprecated properties will be displayed. Upon activating the button, the option to restore the deprecated properties will be displayed.

restore-case-prop.png

Effects of Deprecating Case Properties

Bulk Manage Data Dictionary Definitions

Export Data Dictionary Definitions

In Data Dictionary, it is possible to export case property definitions for the current case type to Excel. This can be accomplished by selecting Export to Excel.

export-dd.png

Upon export, an Excel file will appear as follows:

An Excel file exported from the data dictionary is shown below. As there are no descriptions or groups in the data dictionary, the columns appear empty, and the label duplicates the property name. There are tabs for each for each case type within the project space. 

Import Data Dictionary Definitions

Data dictionary definitions can be downloaded to Excel, updated, and then imported back into CommCare.  With this process, data dictionary definitions can be shared among different stakeholders, improving updates and accuracy. Furthermore, it allows for efficient changes to be made and keeps the application and data dictionary up-to-date.

Definitions can be imported by following these steps:

1. The first step is to initiate the import process. Select the Import from Excel option.kk

import-dd.png

2. Prepare the file to import: CommCare will show a page for importing the Excel file, which includes the option for downloading the data dictionary definition since it is always a good idea to download the definition first. Here is an example of a file definition we are using for the same file that we downloaded from the export data definitions step. A new property will be added to the file definition by adding a new line.

Here is an example of an Excel file definition for a team case type, each row has the case property and each column contains the property's details.

3. Import the file: Select the file and select the "upload data dictionary" option. After the import is completed, CommCare will display a message about the import. 

4. Check the updated definitions: On the left menu, click the Data Dictionary option to view the updated definitions.

imported-case-props.png

There are certain criterias to the name of case-types and case properties,

  • In Data Dictionary, CommCare doesn't allow special characters in the names of case-types and their case-properties.  It can only start with a letter, and only contain letters, numbers, hyphens, and underscores. 

  • In case of invalid names of case-types and case-properties, CommCare will show an error :

    b8da86df-bdb1-4bb2-9473-ce3ec18057bc.png

     

    25a30398-5ee8-44ab-b104-513a417656a2.png