Source: https://vaultcrmhelp.veeva.com/doc/Content/CRM_topics/CallSampling/SamplingRegReq/CDSLicenses.htm

## Capturing and Validating CDS License Information

To enable users to distribute samples of controlled substances to HCPs with the appropriate credentials, business admins can populate Controlled and Dangerous Substances (CDS) license information for an account. Some states require HCPs to have a CDS registration number, in addition to a DEA license number, in order to receive and prescribe controlled substances.

#### Validation Disclaimer

On the Windows platform, this feature is released without validation for sampling. The feature requires enablement and does not affect other Vault CRM functionality. It was extensively tested by our QA team during the development and release process and will go through validation at a later date.

**Who can use this feature?**

* End Users — iPad, iPhone, Windows
* [Using CDS License Fields](#Using)
* Users do not require an additional license

### Configuring CDS License Validation for

[![Closed](../../../../Skins/Default/Stylesheets/Images/transparent.gif)Business Admin Users](#)

To configure this feature:

1. Ensure the following configuration is complete:
   * [Configuring Call Sampling](../Config/ConfiguringCS.htm)
   * [Configuring Products for Call Sampling](../Config/ConfiguringProductsCS.htm)
   * [Configuring Sample Requests (BRCs)](../Config/ConfiguringBRCs.htm), if using BRCs
2. Navigate to **Admin > Users & Groups > Permission Sets**.
3. Select the appropriate permission set.
4. Select the **Objects** tab.
5. Grant the following permissions:

   | Object | Object Permission | Object Types | Fields | Field Permissions |
   | --- | --- | --- | --- | --- |
   | address\_\_v | CRED | * companymaintained\_\_v * repmaintained\_\_v | * cds\_\_v * cds\_expiration\_date\_\_v * cds\_status\_\_v | Edit |
   | sample\_order\_transaction\_\_v | RE | brc\_\_v | * ship\_cds\_\_v * ship\_cds\_expiration\_date\_\_v | Edit |
   | sample\_transaction\_\_v | RE | sample\_disbursement\_layout\_\_v | * cds\_\_v * cds\_expiration\_date\_\_v | Edit |
   | samples\_state\_settings\_\_v | CRED | n/a | * cds\_required\_\_v * external\_id\_\_v * name\_\_v * setting\_\_v | Edit |

[![Closed](../../../../Skins/Default/Stylesheets/Images/transparent.gif)End Users](#)

To configure this feature:

1. Ensure the following configuration is complete:
   * [Configuring Call Sampling](../Config/ConfiguringCS.htm)
   * [Configuring Products for Call Sampling](../Config/ConfiguringProductsCS.htm)
   * [Configuring Sample Requests (BRCs)](../Config/ConfiguringBRCs.htm), if using BRCs
2. Navigate to **Admin > Users & Groups > Permission Sets**.
3. Select the appropriate permission set.
4. Select the **Objects** tab.
5. Grant at least the following permissions:

   | Object | Object Permission | Object Types | Fields | Field Permissions |
   | --- | --- | --- | --- | --- |
   | address\_\_v | CRE | repmaintained\_\_v | * cds\_\_v * cds\_expiration\_date\_\_v * cds\_status\_\_v | Read |
   | sample\_order\_transaction\_\_v | R | brc\_\_v | * ship\_cds\_\_v * ship\_cds\_expiration\_date\_\_v | Read |
   | sample\_transaction\_\_v | R | sample\_disbursement\_layout\_\_v | * cds\_\_v * cds\_expiration\_date\_\_v | Read |
   | samples\_state\_settings\_\_v | R | n/a | * cds\_required\_\_v * external\_id\_\_v * name\_\_v * setting\_\_v | Read |
6. Navigate to **Admin > Configuration > Objects > address\_\_v > Layouts**.
7. Add the following picklist values for the **cds\_status\_\_v** field on the address\_\_v object:
   * valid\_\_v
   * invalid\_\_v
8. Navigate to **Admin > Configuration > Objects > call2\_\_v > Layouts**.
9. Add the **address\_cds\_status\_\_v** field to the appropriate layouts on the call2\_\_v object.
10. Navigate to **Admin > Configuration > Objects > sample\_transaction\_\_v > Layouts**.
11. Add the **cds\_\_v** and **cds\_expiration\_date\_\_v** fields to the disbursement layout on the sample\_transaction\_\_v object.
12. Navigate to **Admin > Configuration > Objects > sample\_order\_transaction\_\_v > Layouts**.
13. Add the **ship\_to\_cds\_\_v** and the **ship\_to\_cds\_expiration\_date\_\_v** fields to the appropriate layouts on the sample\_order\_transaction\_\_v object (optional: for users creating sample requests/BRCs).
14. Navigate to **Business Admin > Objects > **samples\_state\_settings\_\_v****.
15. Create **samples\_state\_settings\_\_v** records for each state where a valid CDS license is required. Select the **cds\_required\_\_v** checkbox for each record.

    Create separate records for CDS license validation and [Restricting Controlled Substance Delivery by State](StateDelivery.htm); the cds\_required\_\_v checkbox cannot be selected on a record if the setting\_\_v picklist field is populated.
16. Navigate to **Business Admin > Objects > vmobile\_object\_configuration\_\_v**.
17. Ensure **samples\_state\_settings\_\_v** VMOCs are active for the appropriate platforms.

### Configuring CDS License Validation for Non-Controlled and Schedule-Specific Sampling (MCSR) for

[![Closed](../../../../Skins/Default/Stylesheets/Images/transparent.gif)Business Admin Users](#)

CDS validation can be customized to handle states with unique schedule categories and CDS requirements, for example, MCSR (Massachusetts Controlled Substance Registration). The following configuration extends the basic CDS validation functionality to accommodate states with varying CDS regulations.

To configure this feature:

1. Navigate to **Admin > Users & Groups > Permission Sets**.
2. Select the appropriate permission set.
3. Select the **Objects** tab.
4. Grant Edit permission for the following fields:

   * cds\_schedule\_\_v on the address\_\_v object
   * cds\_state\_schedule\_\_v on the product\_\_v object
   * cds\_for\_non\_controlled\_\_v on the samples\_state\_settings\_\_v object
5. Navigate to **Admin > Configuration > Objects > address\_\_v > Layouts**.
6. Place the **cds\_schedule\_\_v** field on the appropriate address\_\_v layouts.
7. Navigate to **Admin > Configuration > Objects > product\_\_v > Layouts**.
8. Place the **cds\_state\_schedule\_\_v** field on the appropriate product\_\_v layouts.
9. Navigate to **Admin > Configuration > Objects > samples\_state\_settings\_\_v > Layouts**.
10. Place the **cds\_for\_non\_controlled\_\_v** field on the appropriate samples\_state\_settings\_\_v layouts.

[![Closed](../../../../Skins/Default/Stylesheets/Images/transparent.gif)End Users](#)

To configure this feature:

1. Navigate to **Business Admin > Objects > address\_\_v**.
2. Complete the following fields on address\_\_v records, if not already populated:
   * cds\_\_v
   * cds\_expiration\_date\_\_v
   * cds\_status\_\_v
3. Populate the **cds\_schedule\_\_v** field on the appropriate address\_\_v records with a comma-delimited list of the schedules for which the HCP is licensed in the address’s state. For example: IV, V, VI. This step is for addresses in states where schedules are listed on CDS licenses.
4. Navigate to **Business Admin > Objects > product\_\_v**.
5. Populate the **cds\_state\_schedule\_\_v** field on product\_\_v records where CDS schedule restrictions apply, with a list of states and the schedule assigned to the product in each state. This step is for products with a schedule assigned by the state.
   * Use the format state:schedule;state:schedule, where state is the field name of the corresponding picklist value in the name\_\_v field on the address\_\_v object, and schedule is the API name of the schedule designated in that state. Only one schedule can be listed per state. HCPs must be licensed for the appropriate schedule in each state in order to receive the product.

     For example, ma\_\_v:V;ca\_\_v:06 indicates a product is categorized as Schedule Five in Massachusetts and Schedule Six in California.
   * The values in the cds\_state\_schedule\_\_v field on the product\_\_v record must be an exact match for the values in the cds\_schedule\_\_v field on address\_\_v records.

     For example, if the roman numeral VI is used in the cds\_schedule\_\_v field for addresses in Massachusetts, ma\_\_v:VI must be used for that state in the cds\_state\_schedule\_\_v field on the product\_\_v record.
6. Navigate to **Business Admin > Objects > samples\_state\_settings\_\_v**.
7. Create **samples\_state\_settings\_\_v** records for states where products are regulated as controlled substances by the state but not scheduled by the DEA, for example, Massachusetts.
8. Select the **cds\_for\_non\_controlled\_\_v** checkbox on the newly created samples\_state\_settings\_\_v records. This step enables CDS validation to run regardless of whether the controlled\_substance\_\_v checkbox is selected on the product\_\_v record.
   * Do not select both the cds\_required\_\_v and cds\_for\_non\_controlled\_\_v check boxes on the same record
   * Do not select the controlled\_substance\_\_v checkbox on product\_\_v records for Massachusetts Schedule VI substances. This checkbox only needs to be selected if the product is a DEA-scheduled controlled substance.
9. Ensure **CDS license and schedule** information is complete on all appropriate address\_\_v records, and the cds\_state\_schedule\_\_v field is populated on product\_\_v records. If this information is not complete, users may be prevented from sampling once field permissions are granted to them.
10. Navigate to **Admin > Users & Groups > Permission Sets**.
11. Select the appropriate permission set.
12. Select the **Objects** tab.
13. Grant end users Read permission for the following fields:
    * cds\_schedule\_\_v on the address\_\_v object
    * cds\_state\_schedule\_\_v on the product\_\_v object
    * cds\_for\_non\_controlled\_\_v on the samples\_state\_settings\_\_v object

For more information on MCSR, see [Ensuring Sampling Meets MCSR Requirements](https://vaultcrmflightpath.veeva.com/doc/Content/Sampling/MCSR_path5/1-Intro.htm) on the Flightpath site.

### Using CDS License Fields as

[![Closed](../../../../Skins/Default/Stylesheets/Images/transparent.gif)End Users](#)

When users select a controlled substance for sampling/sample request on the call report, the values in the CDS Number, CDS Expiration Date, and CDS Status fields are populated based on the account’s address record. The values in these fields are copied to the following objects:

* call2\_\_v
* sample\_transaction\_\_v
* sample\_order\_transaction\_\_v (for sample request/BRCs only)

CDS information is validated when an account is selected for signature capture. This is in addition to the default [sample validation](../CaptSigforSampling/ValidateOnSign.htm) and [DEA license validation](EnablingCS.htm#Validati) for signature capture. If [Paper-Based Sampling](../CaptSigforSampling/PaperBased.htm) is being used, CDS validation occurs when the call report is saved.

CDS validation does not occur if any of the following section attributes are enabled: No Sample License, No Sample License No Signature, Non-PDMA Sampling.

The enable\_license\_exp\_date\_bypass\_\_v and enable\_sample\_card\_license\_check\_\_v Veeva Settings do not affect CDS validation.

### Related Topics

[Flightpath: Ensuring Sampling Meets MCSR Requirements](https://vaultcrmflightpath.veeva.com/doc/Content/Sampling/MCSR_path5/1-Intro.htm)

[Enabling Controlled Substance Sampling](EnablingCS.htm)

[Supporting State Distributor License Validation](ValidatingSDL.htm)

[Restricting Controlled Substance Delivery by State](StateDelivery.htm)
