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.
Who can use this feature?
- iPad, iPhone Users (Browser coming soon)
- Users do not require an additional license
- Business Admin Users, End Users
Configuring CDS License Information for

To configure this feature:
- Ensure the following configuration is complete:
- 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

To configure this feature:
- Ensure the following configuration is complete:
- 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
- Add the following picklist values for the cds_status__v field on the address__v object:
- valid__v
- invalid__v
-
Add the cds__v and cds_expiration_date__v fields to the disbursement layout on the sample_transaction__v object.
-
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).
-
Create samples_state_settings__v records for each state where a valid CDS license is required. Select the cds_required__v check box for each record.
Create separate records for CDS license validation and Restricting Controlled Substance Delivery by State; the cds_required__v check box cannot be selected on a record if the setting__v picklist field is populated.
- Navigate to Business Admin > Objects > vmobile_object_configuration__v.
-
Ensure samples_state_settings__v VMOCs are active for the appropriate platforms.
Configuring CDS Validation for Non-Controlled and Schedule-Specific Sampling (MCSR) for

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.
Validation Disclaimer
This functionality is released without validation. CDS Validation for Non-Controlled and Schedule-Specific Sampling requires enablement and does not affect other Vault CRM functionality. The functionality was extensively tested by our QA team during the development and release process and will go through validation at a later date.
To configure this feature:
-
Navigate to Admin > Users & Groups > Permission Sets.
-
Select the appropriate permission set.
-
Select the Objects tab.
-
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
-
Navigate to Admin > Configuration > Objects > address__v > Layouts.
-
Place the cds_schedule__v field on the appropriate address__v layouts.
-
Navigate to Admin > Configuration > Objects > product__v > Layouts.
-
Place the cds_state_schedule__v field on the appropriate product__v layouts.
-
Navigate to Admin > Configuration > Objects > samples_state_settings__v > Layouts.
-
Place the cds_for_non_controlled__v field on the appropriate samples_state_settings__v layouts.

To configure this feature:
- Navigate to Business Admin > Objects > address__v.
- Complete the following fields on address__v records, if not already populated:
- cds__v
- cds_expiration_date__v
- cds_status__v
- 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.
- Navigate to Business Admin > Objects > product__v.
- 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.
- 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.
- Navigate to Business Admin > Objects > samples_state_settings__v.
- 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.
- Select the cds_for_non_controlled__v check box on the newly created samples_state_settings__v records. This step enables CDS validation to run regardless of whether the controlled_substance__v check box 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 check box on product__v records for Massachusetts Schedule VI substances. This check box only needs to be selected if the product is a DEA-scheduled controlled substance.
- 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.
- Navigate to Admin > Users & Groups > Permission Sets.
- Select the appropriate permission set.
- Select the Objects tab.
- 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 on the Flightpath site.
Using CDS License Fields as

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 and DEA license validation for signature capture. If Paper-Based Sampling 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.