# Configuring Project Management (Veeva Claims)

<a href="/en/gr/54331/">Veeva Claims</a> provides Brand Managers the ability to initiate a <a href="/en/gr/58792/">project</a> and group claims pertaining to a particular initiative in this project so that key R&D, regulatory, and legal stakeholders can track and work on the related claims as a group. From a _Project_, users can generate multiple _Claim_ records and multiple _Local Adaptations_.

Brand Managers in the consumer goods industry typically work on initiatives such as new product development, product line extensions, and packaging refresh initiatives. Proposing, substantiating, reviewing and approving product marketing <a href="/en/gr/54337/">claims</a> is a sub-activity of these initiatives.

Project Management is automatically active on all Veeva Claims Vaults and allows you to edit and add to your application data model by customizing standard objects, creating custom objects, and configuring object relationships. You can also configure business rules using lifecycle and workflow options.

## Configuration Overview {#overview}

Configuring your Vault to use Project Management involves the following steps:

1. [Configure _Project_ cloning][2]
2. [Configure project teams][27]
3. [Configure _Claim_ generation from a _Project_][7]
4. [Configure _Local Adaptation_ from a _Project_][8]
5. [Configure the _Project Hierarchy Viewer_][17]
6. [Configure comments][9]
7. [Configure statement and related record removal][23]
8. [Configure user permissions][18]

<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 Project Cloning {#clone-config}

The _Project_ object contains the _Clone Project_ action, which allows users to dynamically deep copy (or "clone") an existing _Project_ record and selectively copy related records from the existing _Project_ to reference in the new _Project_.

After <a href="/en/gr/58792/#clone">users select the _Clone Project_ action</a>, make their selections to copy, and finish the action, and then click _Clone Project_, Vault does the following:

* Copies the _Project_ record and includes "_Copy of [Project Name of cloned record]_" in the _Project Name_ of the new record.
* Creates new join records to the users-selected groups of records such as _Claims_, _Local Adaptations_, _Locations_, _Products_, and _Statements_.
* Excludes any child records in the existing project, such as _Project Comments_.

Review the following behavior regarding the way Vault handles fields on the existing _Project_ during the cloning process:

* All custom field values are copied over.
* All fields with the attribute _Users must always enter a value (required)_ selected (including custom fields) are copied over.
* If a field has the attribute _Values must be unique_ selected and _Users must always enter a value (required)_ unselected, Vault does not copy over the field.
* If a field has the attribute _Values must be unique_ selected and _Users must always enter a value (required)_ selected, the action will fail.
* If any _Picklist_ type field has an inactive field value, the action will fail.

### How to Configure Project Cloning {#how-to-clone}

To configure project cloning:

1. Navigate to **Admin > Configuration > Pages > Clone Project**.
2. In the _Layouts_ section, click **Clone Project**.
3. Click **Edit**.
4. Optional: Specify up to ten (10) [**Exclusion Rules**][6].
5. Optional: Select **Enforce Claim - Statement and Product Dependency** to automatically select the related _Statement_ and _Product_ records when users select a _Claim_ for cloning.
6. Optional: Select **Enforce Local Adaptation - Claim and Country Dependency** to automatically select the related _Claim_ and _Location_ (country) records when users select a _Local Adaptation_ for cloning.
7. Click **Save**.

<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>: If you enforce dependencies, users cannot unselect the automatically selected related records without unselecting the record with dependencies.</p>
    </div>
  </div>
</div>



#### About Exclusion Rules {#excl-rules}

When configuring the _Clone Project_ page, you can specify _Exclusion Rules_ to instruct Vault to exclude records in specific states from appearing to users to select when they run the Clone Project action. You can specify only one (1) _Exclusion Rule_ per object; however, you can include multiple lifecycle states using a comma (",") delimiter. If you don't specify any _Exclusion Rules_, Vault displays all records in all lifecycle states for users to select when cloning a project.

Use the following format for _Exclusion Rules_:

`{"objectName":"object_name", "statesToBeExcluded":["state_id", "state_id"]}`

Where `object name` and `state id` are the _Object Name_ and _State Name_, respectively, such as `claim__v` and `rejected_state__c`. For example, you could use the following _Exclusion Rule_ to ensure that join records are not created in the new _Project_ to _Claim_ records in the _Rejected_ or _Withdrawn_ lifecycle states:

`{"objectName":"claim__v", "statesToBeExcluded":["rejected_state__c", "withdrawn_state__c"]}`

### Configuring the Clone Project Action {#clone-action}

You can configure the _Clone Project_ action as a user action:

* <a href="/en/gr/43127/#assign-actions">Assign</a> the _Clone Project_ action to the _Project_ object.
* Configure the <a href="/en/gr/59885/#user-actions">user action</a> on the appropriate lifecycle states for the _Project Lifecycle_.

### Configuring the Project Object Layout {#project-page-layout}

We recommend configuring the _Project_ <a href="/en/gr/26387/">object layout</a> to include the system-managed field _Copied from Project_ (`copied_from_project__v`) so that users can see which record a project was copied from.

## Configuring Project Teams {#teams}

To support project teams, you must update the [_Project_ object layout][26] to include a related object section for the _Project Team User_ object.

## Configuring Claim Generation For a Project {#claim-gen}

You can configure _Projects_ to allow users to create and add _Claims_ to a _Project_. See <a href="/en/gr/78537/">Configuring Claim Generation For a Project</a> for more details.

## Configuring Local Adaptation Generation From a Project {#la-gen}

You can configure _Projects_ to allow users to generate _Local Adaptations_ from a _Project_. See <a href="/en/gr/78539/">Configuring Local Adaptation Generation From a Project</a> for more details.

## Configuring the Project Hierarchy Viewer {#viewer}

You can configure the _Project Hierarchy Viewer_, allowing users to easily visualize and interact with a _Project's_ hierarchy. Users can review all related records within the context of a _Project_ to make an informed assessment. See <a href="/en/gr/76884/">Configuring the Project Hierarchy Viewer</a> for more details.

## Configuring Comments {#project-comments}

You can configure your Vault to allow users to add comments to any object, including the ability to reply to comments in comment threads on _Project_ object records. See <a href="/en/gr/523453/">Configuring Comments</a> for details.

## Configuring Statement & Related Record Removal {#statement-removal}

Veeva Claims allows users to remove _Statements_, _Claims_, and _Local Adaptations_ from a _Project_ to quickly remove all records they don't need before moving the project forward.

You must add the _Remove Statement and Related Records_ action as a <a href="/en/gr/43127/#assign-actions">record action</a> to the _Project_ object. When users run the action, Vault displays the _Remove Statement and Related Records from Project_ page, where users can select which _Project Statements_, _Claims_, and _Local Adaptations_ they want to remove from a _Project_. When users complete the action, Vault deletes the applicable _Project Statement_, _Claim Project Join_, and _Project Local Adaptation Join_ records.

### Configuring the Remove Statement and Related Records from Project Page {#statement-removal-page}

To configure the _Remove Statement and Related Records from Project_ page to customize the details users see on the page:

1. Navigate to **Admin > Configuration > Pages > Remove Statement and Related Records from Project**.
2. In the _Layouts_ section, click **Remove Statement and Related Records from Project**.
3. Click **Edit**.
4. Optional: Modify the **Label** for the page that appears to users as the page title.
5. Optional: Enter **Instructional Text** that appears to users on the top of the page.
6. Optional: Select or clear the **Remove Statement** checkbox to determine the default value displayed to users on the _Remove Statement and Related Records from Project_ page. When selected by a user, Vault removes the _Project Statements_ in addition to any related _Claim Project Joins_ and _Project Local Adaptation Joins_ selected by the user. When cleared by a user, Vault deletes only the related _Claim Project Joins_ and _Project Local Adaptation Joins_ selected by the user.
7. Click **Save**.

## Project Lifecycle {#lifecycle}

The _Project_ lifecycle is an <a href="/en/gr/30683/">object lifecycle</a> which applies to all _Project_ object records. New projects begin in the _New_ lifecycle state.

You can configure and use state changes as simple actions to move _Projects_ from one (1) state to another, and also configure <a href="/en/gr/33550/">custom workflows</a> for _Projects_ to suit your specific needs.

### Project States {#states}

The _Project_ lifecycle includes the following standard states:

  * **New**: The initial state of the _Project_.
  * **In Progress**: _Claims_ within the _Project_ are in various stages of approval.
  * **Completed**: All _Claims_ within the _Project_ have been approved.

## Configuring User Permissions {#user-perms}

You must ensure users have the appropriate read and create <a href="/en/gr/22824/">permissions</a> to access the appropriate objects and object fields in addition to the permissions outlined below:

### Clone Project

Users must have the following permissions to be able to run the _Clone Project_ action and be able to select sections of objects on the _Clone Project_ page:

 * _Create_ permission on the _Project_ object.
 * _Create_ permission on the appropriate _Project_ join objects.
 * _Execute_ permission on the _Clone Project_ object action.

If users do not have _Create_ permissions on any of the _Project_ join objects, they cannot view or select any records to copy for that object when they clone a _Project_.

### Statement & Related Record Removal

Users must have the following permissions to remove _Statements_, _Claims_, and _Local Adaptations_ from a _Project_:

* _Pages: Remove Statement and Related Records from Project: View_
* _Read_ permission on the following objects:
  * _Statements_
  * _Claim_
  * _Local Adaptation_
* _Delete_ permission on the following objects, including any relevant object types users need to remove from _Projects_:
  * _Project Statement_
  * _Claim Project Join_
  * _Project Local Adaptation Join_

## Related Permissions

You can complete all 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 <a href="/en/gr/22824/">permissions</a>:

<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 Lifecycle: Edit</td>
    <td>Ability to 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>
  <tr>
    <td>Security Profile</td>
    <td>Pages: All Pages: Remove Statement and Related Records from Project: View</td>
    <td>Ability to configure the <em>Remove Statement and Related Records from Project</em> page.</td>
  </tr>
</table>

 [1]: #claims-user-input
 [2]: #clone-config
 [3]: #clone
 [4]: #how-to-clone
 [5]: #project-objects
 [6]: #excl-rules
 [7]: #claim-gen
 [8]: #la-gen
 [9]: #project-comments
 [10]: #bulk-comments
 [11]: #user-input
 [13]: #claim-gen
 [14]: #la-gen
 [15]: #bulk-create-claims
 [16]: #configure-scoc
 [17]: #viewer
 [18]: #user-perms
 [19]: #page-layout
 [20]: #bulk-comments
 [21]: #cleanup-job
 [22]: #remove
 [23]: #statement-removal
 [24]: #comment-threads
 [25]: #comment-without-threads
 [26]: #project-page-layout
 [27]: #teams
