Skip to main content

Reference data design pattern

A picklist field uses Data Pages to source values from reference data objects. The Common Data Model retrieves reference data in three ways:

  • A centralized approach that uses a consistent set of Data Pages, fields, and Data Transforms to supply picklist values. Use this approach when there are only a few fields and filters. This approach includes two options:
    • Use a shared database table that stores records for many picklists.
    • Use an independent database table that contains values for a single picklist, which is helpful when there are many records.
  • A generic reference Data Page approach that uses a common Data Page to access different lists.
  • A standalone approach in which you create a specific Data Page, fields, and Data Transforms to supply the values for a picklist. Use this approach when metadata associated with a record is used in other Pega rules or if the record requires its own preview and maintenance.

All savable Data Pages perform direct database saves, aligning with Pega Blueprint™ and Pega Platform™ out-of-the-box behavior. All list Data Pages that enable search and select are backed by Report Definitions, ensuring consistency with Pega Platform out-of-the-box behavior. You can configure Data Pages to interaction with an API to connect to an external data source.

The following diagram shows the reference data design patterns and how a Data Page retrieves reference data.

Reference data diagram

Generic reference list design pattern

This approach includes a main reference Data Object from which all the generic reference Data Objects inherit. Use this approach when your picklist contains a few properties and filters. When you use a generic reference Data Page list:

  • Each set of values for a picklist is a Data Object inherited from a main Data Object. Each Data Object has its own Data Page and provides values to the top-level reference Data Page.
  • The D_Reference_Data_List Data Page is a centralized source for all generic picklist fields.
  • The D_Reference_Data_List Data Page accepts parameters such as referenceName, which is a data type name, and Key1 and Key2, which are data filters.

From the D_Reference_Data_List Data Page, click Run and enter a referenceName such as Country to test and view the results.

Generic reference data page

Based on the reference name, the D_Reference_Data_List Data Page triggers the Data Page for the specific reference Data Object by appending it as D_Reference_Data_List_(referenceName). For example, if the reference name "ContactMethodType" is passed, then the D_Reference_Data_List Data Page creates the D_Reference_Data_List_ContactMethodType Data Page using the D_Reference_List Decision table. The D_Reference_Data_List_ContactMethodType Data Page accepts parameters from the main Data Page, sets the reference data connector by using the RefData_ContactMethodType_Request Data Transform, and retrieves the data.

The D_Reference_Data_List_(referenceName) Data Page runs the GetReferenceData Report Definition and retrieves the data.

If picklist values do not display, refresh the D_Reference_Data_List main Data Page and the D_Reference_Data_List_ContactMethodType sub-Data Pages.

The benefits of using the generic reference pattern include:

  • Consistent across all applications
  • Faster to add new picklist Data Objects
  • Central validation and logging so improvements are shared
  • Easier to troubleshoot and correct issues

Data reference design pattern for a single record

Use a data reference Data Page to retrieve a single record. The sequence pattern for the data reference Data Page that retrieves a single record is the same as the generic reference Data Page list.

Standalone reference design pattern

This approach contains fields that are specific to a reference Data Object. Use this approach when there are many filters or fields particular to that picklist field or if the data is from an external source. In this approach, Data Objects inherit from the main reference Data Object, but the execution pattern varies.

For picklist values, a picklist uses the direct reference Data Object's Data Page to retrieve values. For example, you want to create a Specialty reference Data Object that defines a picklist of roles (Allergist, Audiologist, Radiologist) for a healthcare provider. This reference Data Object needs a field for ProviderTaxonomyType and classification fields, which makes it not generic. You create these fields in the Specialty Data Object. The Specialty picklist field sources data using the D_Reference_Data_List_Specialty Data Page. The D_Reference_Data_List_Specialty Data Page accepts parameters, which are passed while configuring the picklist property. The request Data Transform to response data sequence is the same as the generic reference data page sequence. The D_Reference_Data_List_Specialty Data Page contains the values.

Using reference data

For more information on using reference data, refer to Adding a generic reference Data Object and Adding a standalone reference Data Object in the Common Data Model documentation.


This Topic is available in the following Module:

If you are having problems with your training, please review the Pega Academy Support FAQs.

Did you find this content helpful?

Want to help us improve this content?

We'd prefer it if you saw us at our best.

Pega Academy has detected you are using a browser which may prevent you from experiencing the site as intended. To improve your experience, please update your browser.

Close Deprecation Notice