# RIM Registrations Validation

When creating or updating records in bulk, the Create Related Records wizard validates *Event* data against existing *Registration* and *Application* records before creating any new records. Along with the relevant Application Settings, Vault uses several types of validation logic to ensure the wizard does not create invalid or duplicate records.



<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>: This article is intended for RIM Registrations users to understand how and when the <a href="/en/gr/31322/">Create Related Records</a> wizard validates records and metadata in certain configuration scenarios. It does not detail all cases of validation in RIM Registrations nor other Veeva RIM applications, except where noted.</p>
    </div>
  </div>
</div>




## Create Related Records Validation Flow

The flow diagram below summarizes the Create Related Records wizard logic it follows when determining which type(s) of validation apply:

* [Core][1]
* [Impact Assessment Report][2]
* [Related Change Type][3]
* [Registration][4]


<a href="https://platform.veevavault.help/assets/images/casro-validation-flow.png" data-lightbox="casro-validation-flow.png" data-title="" data-alt="create related records wizard validation flow">
  <img class="docimage" src="https://platform.veevavault.help/assets/images/casro-validation-flow.png" alt="create related records wizard validation flow" style="max-width: 50%;"  />
</a>


## Core Validation {#core}

Core validation applies in all cases when the Submission Wizard (*Enable Application Relationships*) is enabled and the Create & Manage Event Details wizard is in use. Core validation additionally occurs alongside Related Change Type (when dynamic validation is enabled) or Impact Assessment Report validation (when a user launches the Create Related Records wizard <a href="/en/gr/31322/#iar">from an Impact Assessment Report</a>).


### Core Validation Logic

Core validation cycles through exact, wildcard, and inactive record matches. When multiple matches are found, Vault flags them for review within the <a href="/en/gr/5498722/#reviewing-and-refining-event-details">preview</a> (when used) or otherwise copies all existing matching records from the *Application* to the resulting *Regulatory Objective* or *Submission*.

* When there is not an exact match, Vault treats any blank *Event* record fields to find a wildcard match.
* When a match is still not found, Vault looks for an exact match within inactive records on the *Application*. When at least one inactive record exists, Vault deselects it in the preview and flags it with a warning. When preview is not in use, Vault does not create any records.

Vault also runs core validation when <a href="/en/gr/49520/">bundling</a> *Activities* and *Regulatory Objectives* and when splitting <a href="/en/gr/4946040/">*Activities*</a> or <a href="/en/gr/50022/">*Regulatory Objectives*</a>.


## Impact Assessment Report Validation {#iar}

Along with core validation, Impact Assessment Report (IAR) validation applies when:

* The Submission Wizard (*Enable Application Relationships*) is enabled.
* The Create & Manage Event Details wizard is not in use.
* A user launches the Create Related Records wizard <a href="/en/gr/31322/#iar">from an Impact Assessment Report</a>.


### IAR Validation Logic

IAR validation specifies field values and object types Vault reviews based on *Submission* and *Regulatory Objective* relationship records. See <a class="download-link " href="https://platform.veevavault.help/assets/downloads/CASRO-from-Impact-Assessment-Validation-Logic-22R1.xlsx" target="_blank" rel="noopener">additional details<i class="fa fa-download" aria-hidden="true"></i></a> on IAR validation.


## Related Change Type Validation {#rct}

Related Change Type (RCT) validation applies only when <a href="/en/gr/59835/#dynamic-validation">dynamic validation</a> is enabled.


### RCT Validation Logic

Related Change Type validation logic confirms that a required parent or supporting record exists on the *Application* before the wizard creates a new record. This logic references a record's <a href="/en/gr/5498722/#change-types">*Related Change Type*</a> value previously set by the Create & Manage Event Details wizard for the selected add, replace, update, or withdraw change type.


## Registration Validation {#registration}

Vault applies Registration validation only when the Create & Manage Event Details wizard is not in use.


### Registration Validation Logic

Vault first determines whether this Registration validation applies by confirming the *Registration* object type: Registration validation applies for all *Registration* object types except *Site Registration*. Then, Vault gathers a list of core data, or the *Products*, *Product Variants*, and *Packaging* records that are related to the *Registered Product* for each *Registration* within the Impact Assessment Report.

Finally, Vault validates the new, in-scope *Event* relationship records against the core data list by minimally checking for high-level, contextual relationships rather than requiring an exact match. For example, an *Event Product* has both *Product* and *Product Variant* values, and the core data list includes three *Products*, one for each of three *Product Variants*:

|                   | Product | Product Variant |
|-------------------|---------|-----------------|
| **Event Product**     | P-001   | PV-A            |
| **Core data Product** | P-001   | PV-A            |
| **Core data Product** | P-001   | PV-B            |
| **Core data Product** | P-002   | PV-C            |

When Vault validates new *Regulatory Objective Product* and *Submission Product* records, it references *Event Product* P-001 and checks whether its exact *Product* and *Product Variant* values match a valid record from the core data list. Because there is an exact match, Vault creates the target records.

In the event Vault does not locate an exact match, it will instead make a contextual match. Using the example above, suppose *Event Product* P-001 instead references a PV-D *Product Variant*. Because the core data list does not include the PV-D variant, Vault instead verifies that the *Primary Product Family* associated with P-001 is a *Product Family* which is already linked to the *Application*. In order to create the new *Regulatory Objective Product* and *Submission Product* records, the *Event Product*'s related *Product* (P-001) must reference the same *Primary Product Family* as the *Application*.

Vault creates new *Regulatory Objective* and *Submission* relationship records when it locates matching values across the below records and fields.

| Event Relationship Record | Core Data Record(s) | Core Data Field(s) | Additional Checks |
|---|---|---|---|
| Event Packaging | Product, Product Variant | `packaging_product_detail__rim`<br>`pharma_product_packaging__rim` | None |
| Event Active Substance | Product Variant | `product_detail_active_substance__rim` | For _Active Substance Registrations_, there is an additional check to verify whether the _Event Active Substance_'s primary product family is valid for the _Application_ via the _Product Family Application_ relationship. |
| Event Inactive Ingredient | Product Variant | `product_detail_inactive_ingredient__rim` | None |
| Event Clinical Study | Product Family referenced by the target Application | `product_clinical_study__rim`<br>`product_application__rim` | None |
| Event Nonclinical Study | Product Family referenced by the target Application | `product_nonclinical_study__rim`<br>`product_application__rim` | None |

[1]: #core
[2]: #iar
[3]: #rct
[4]: #registration