# Configuring Regulatory Request Management (Compliance Management)

[Compliance Management](/en/lr/71434/) provides users with the ability to [mitigate non-compliance risks](/en/lr/71436/) by accessing accurate, up-to-date, and consistent information to include in responses. For each request, users can quickly create a request from predefined types and include relevant details, and then submit for review. Regulatory users can provide responses, associate related documents, view similar requests to ensure consistency in responses, and create any required secondary requests. You can configure your Vault to ensure users can respond to regulatory requests quickly and easily.

## Configuration Overview {#overview}

Configuring your Vault to use Regulatory Request Management involves the following steps:

1. [Configure object layouts][1]
2. [Add values to picklists][2]
3. [Configure custom lifecycles][3]
4. [Configure custom workflows ][4]
5. Optional: [Configure the Formulation Composition Viewer][5]
6. [Configure user permissions][6]

<div class="note-border alert-info">
  <div class="alert alert-info" role="alert">
    <div><i class="far fa-info-circle"></i></div>
    <div class="alert-text">
      <p><strong>Note</strong>: Depending on your Vault’s creation date and which features are currently enabled and configured, some of the steps described in this article may be unavailable or already complete in your Vault.</p>
    </div>
  </div>
</div>



## Configuring Object Layouts {#page-layouts}

You must modify the _Regulatory Request_ [object layout](/en/lr/26387/) so that users can access functionality.

### Detail Form Sections {#detail-forms}

You must configure multiple [detail form sections](/en/lr/26387/#how-to-add-detail-forms) on the _Regulatory Request_ object so users can capture request and response details.

#### Request Details Section {#request-details}

Insert a _Detail Form_ section where users can provide request details. We recommend labeling this section "Request Details". Ensure you include the following fields:

* _Confidentiality_
* _Country_
* _Language_
* _Organization_
* _Organization Contact_
* _Organization Type_
* _Priority_
* _Request_
* _Source_

You must also add the _Formulation_ field so users can select the appropriate _Formulation_ for a _Regulatory Request_. To do this:

1. In the _Request Details_ section, **Add** the _Formulation_ control field with the slider (<img class="inline" src="https://platform.veevavault.help/assets/images/CPC-Icon-Slider.png" alt="Slider Icon" style="" />) icon.
2. Optional: In the _Add Formulation_ dialog, change the **Name** of the field.
3. Optional: Select the **Specify different Label and Help Content** checkbox to customize the **Label** and tooltip text that appears to users.
4. Enter the **Maximum number of suggestions** displayed to users.
5. Optional: Add [**VQL Criteria**](/en/lr/1037069/) to restrict the _Formulation_ records that users can see and select for this field.
6. Click **Done**.

#### Response Details Section {#response-details}

Insert a _Detail Form_ section where users can provide response details in a section other than the _Request Details_ section. We recommend labeling this section "Response Details". Ensure the section includes the _Closed Date_, _Response_, and _Response Comments_ fields. 

### Related Object Sections {#related-object-sections}

Insert a [_Related Object_](/en/lr/26387/#related-object) section for the _Regulatory Request Formulation > Formulation_ object. We recommend labeling this section "Formulations". This allows users to modify the _Formulations_ related to the _Regulatory Request_ after creation.

Insert a [_Related Object_](/en/lr/26387/#related-object) section for the _Regulatory Request_ object. We recommend labeling this section "Secondary Requests". This uses a self-reference on the _Regulatory Request_ object so that users can create required requests for missing or additional information as part of the request.

### Related Document Section {#related-docs}

Insert a [_Related Document_](/en/lr/26387/#related-documents) section that uses the _Related Regulatory Requests_ field as the **Referencing Document Field**. We recommend labeling this section "Response Documents". In the **Criteria VQL** field, add criteria to filter on the appropriate _Document Types_ or _Formulations_. This allows users to select from relevant documents when they search for, and add, related documents to the request. For example, to display all documents related to _Formulation_ _FORM-00000001_, you could use the following criteria: `document_formulation__cr.name__v=FORM-00000001`

### Similar Requests Section {#similar-requests}

Insert the _Similar Requests_ section so that users can view requests with similar characteristics from a _Regulatory Request_. You can configure _Matching Fields_ to ensure the requests that display in this section share the same characteristics such as _Regulatory Request Type_, _Organization Type_, and _Formulation_. You can also configure the _Regulatory Request_ object fields to display as column headers for users in the section.

To insert the **Similar Requests** section to the _Regulatory Request_ object layout:

1. Navigate to **Admin > Configuration > Objects > Regulatory Request > Layouts > [Layout]**.
2. Insert the _Similar Requests_ control section with the slider (<img class="inline" src="https://platform.veevavault.help/assets/images/CPC-Icon-Slider.png" alt="Slider Icon" style="" />) icon to the object layout.
3. In the _Add Similar Requests_ dialog:
  * Optional: Change the **Section Label**.
  * Optional: In the **Show the section only in these lifecycle states** field, select one (1) or more lifecycle states. This option only appears if the object uses a [lifecycle](/en/lr/29798/).
  * Optional: Enter **Section Help** content to provide the user with any relevant information. Help content appears below the section label.
  * Select the [supported][9] active fields you want to use as **Matching Fields**.
  * Select up to 30 [supported][9] active _Regulatory Request_ fields to display as **Request Grid Columns** headers in the section.
  * Specify the **Number of Records per Page** to display to the user using an integer from 20 to 100.
4. Click **Done**.

#### Supported Fields {#supported-fields}

Vault supports the following object field types in the _Matching Fields_ and _Request Grid Columns_ fields:

* Component (for lifecycle states)
* Date
* Formula (where Return Type is Text, Number, Yes/No, or Date)
* ID
* Lookup (where type is Text, Number, Date, or Yes/No)
* Number
* Object and Parent Object
* Text (excluding Long Text and Rich Text fields)
* Yes/No

## Adding Values to Picklists {#picklists}

Regulatory Request Management contains the following picklists:

 * **Confidentiality**: This picklist contains values for the type of confidentiality required for the request and is used when users create _Regulatory Request_ records.
 * **Country**: This picklist contains values for the country of origin for the request and is used when users create _Regulatory Request_ records.
 * **Language**: This picklist contains values for the language in which the request was made and is used when users create _Regulatory Request_ records.
 * **Organization Type**: This picklist contains values for the different types of organizations and is used when users create _Regulatory Request_ records.
 * **Priority**: This picklist contains values for the level or priority for the request and is used when users create _Regulatory Request_ records.
 * **Response**: This picklist contains values for the type of response and is used when responding to a request.
 * **Source**: This picklist contains values for the source of the request and is used when users create _Regulatory Request_ records.

You can [add values to these picklists](/en/lr/1269/) to suit your organization's needs.

## Regulatory Request Lifecycle {#LC}

You can create a [custom lifecycle](/en/lr/30683/) for the _Regulatory Request_ object and add custom lifecycle states to suit your organization's needs. We recommend creating, at minimum, custom lifecycle states for _Open_, _In Review_, and _Closed_.

## Regulatory Request Workflow {#WF}

You can create a [custom workflow](/en/lr/33550/) for the _Regulatory Request_ object to suit your organization's needs. Ensure you have a custom lifecycle already created before configuring a workflow. We recommend optionally creating a separate custom workflow for _Secondary Requests_ so that secondary requests don't have to be closed before parent requests are closed.

## Configuring the Formulation Composition Viewer {#viewer}

You can add the Formulation Composition Viewer to _Formulation_ records, allowing users to easily visualize the hierarchical composition and compliance status of the chemical or packaging components in the _Formulation_ [related object section][7] on a _Regulatory Request_ record. See [Configuring the Formulation Composition Viewer](/en/lr/74427/) for more details.

## Configuring User Permissions {#user-permissions}

You must ensure users have the appropriate read and create [permissions](/en/lr/22824/)
 to access the appropriate objects and object fields in addition to the permissions outlined below:

For users to be able to select _Formulations_ while creating a _Regulatory Request_:

  * For the _Regulatory Request_ object: _Read_ permission on the _Title_ object field and _Edit_ permission on the _Create Detail JSON_ object field.
  * For the _Formulation_ object: _Read_ permission, including _Read_ permission on any fields you added to the _VQL Criteria_ applied to the _Formulation_ field in the [_Request Details_ section][8] of the _Regulatory Request_ object. Vault hides the _Formulation_ field from users that do not have _Read_ permission on all fields specified in the _VQL Criteria_.

For users to be able to view _Similar Requests_ on the _Regulatory Request_ records, they must have the appropriate field-level object permissions on the fields you configured as matching fields as well as field-level object permissions on the fields on the _Regulatory Request_ object. If a user does not have field-level object permissions on some fields, those columns will not display for the user when they view the list of _Similar Requests_.

We also recommend enabling [DAC](/en/lr/33946/) on the _Regulatory Request_ object on fields by lifecycle state and role, as well as [Atomic Security](/en/lr/47850/) on related objects and documents.

## Related Permissions {#permissions}

You can complete all the steps in this article with the standard _System Administrator_ or _Vault Owner_ security profile. If your Vault uses custom security profiles, your profile must grant the following [permissions](/en/lr/22824/):

<table>
  <tr>
    <th><strong>Type</strong></th>
    <th><strong>Permission</strong></th>
    <th><strong>Controls</strong></th>
  </tr>
    <tr>
    <td>Security Profile</td>
    <td>Admin: Configuration: Object Lifecycles: Create, Edit</td>
    <td>Ability to create and modify object lifecycles.</td>
  </tr>
  <tr>
    <td>Security Profile</td>
    <td>Admin: Configuration: Objects: Create, Edit</td>
    <td>Ability to create and modify Vault objects.</td>
  </tr>
  <tr>
    <td>Security Profile</td>
    <td>Admin: Security: Permission Sets: Edit</td>
    <td>Ability to modify permission sets for users.</td>
  </tr>
</table>


 [1]: #page-layouts
 [2]: #picklists
 [3]: #LC
 [4]: #WF
 [5]: #viewer
 [6]: #user-permissions
 [7]: #related-object-sections
 [8]: #request-details
 [9]: #supported-fields
