# Configuration for Generating UDI Data

European Union regulations require medical device manufacturers to submit Unique Device Identification (UDI) data for medical devices to the European Databank on Medical Devices (EUDAMED) in a complex XML format. RIM Registrations allows users to [generate](/en/lr/75823/#generate-udi-data) and [view](/en/lr/4667940/) XML files for product registrations for devices marketed under new EU Medical Device Regulations (EU MDR) and In Vitro Diagnostic Regulations (EU IVDR), as well as devices marketed under legacy EU directives (MDD, AIMDD, IVDD).



<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 feature is only available on RIM Registrations Vaults and must be configured prior to <a href="/en/lr/4667941/">enabling</a> the UDI Submission Viewer.</p>
    </div>
  </div>
</div>



##  Configuration Overview

  1. [Activate](/en/lr/618/#EditingDocTypes) the _UDI_ and _UDI Submission_ document type and subtype.
  2. Assign the _Generate UDI Data_ action to the _Registration_ [object](/en/lr/43127/#assign-actions), then assign it to the _Marketed Device Product Registration_ [object type](/en/lr/32857/#user-actions).
  3. [Add](/en/lr/59885/) the _Generate UDI Data_ user action to the desired _Registration_ object lifecycle states. Define the action to appear [conditionally](/en/lr/59885/#conditions), when the selected _Country_ is "European Union".
  4. [Ensure][1] the objects, object types, and fields for supporting UDI data in your Vault are active and available within page layouts.
  5. Load or update [_Controlled Vocabulary_][2], [_Constraint_][3], and [_Publishing Validation Criteria_][6] records to support UDI data.
  6. Recommended: [Configure](/en/lr/4667941/) the [UDI Submission Viewer](/en/lr/4667940/) to allow users to review UDI XML files in a user-friendly format and, optionally, submit UDI data to EUDAMED directly from your Vault. Viewer and EUDAMED submission configurations include steps for adding the below actions:
   * _Review UDI Submission_
   * _Resubmit UDI Submission_
   * _UDI Submission Accepted by HA_
   * _UDI Submission Rejected by HA_
  7. Optional: [Configure][7] your Vault to support UDI-DI Container Package submissions.
  8. Optional: [Configure][8] your Vault to support Market Information submissions.
  9.  Optional: Activate the _Enable default EUDAMED XML Version_ [Application Setting](/en/lr/53688/#enable-default-eudamed-xml-version). This setting supports situations where, for example, a newer XML version is required, but there have not been any XSD updates for UDI submissions. When Vault uses the setting's version, users generating UDI data are not required to manually override the default version. This setting is also useful for managing different version requirements for the EUDAMED Playground.
  10. Optional: [Configure][9] your Vault to support UDI submissions for multiple _Products_ with the same _Basic UDI_.

### UDI-DI Container Package Submission Support {#udi-di-container-package}

Vault can generate compliant XML submissions for all levels of medical device packaging that are not the smallest unit of use, such as boxes or shipping containers.

To configure your Vault to support this capability:

1. Within the *UDI Submission* object: 
    * Activate the *UDI-DI Container Packages* object type (`udi_submission_container_packages__v`)
    * Create a corresponding object page layout for the newly-activated object type. We recommend labeling the layout "UDI Container Packages Submission".
2. Within the *Registered Device Identifier* object, activate the *Container Packages Version* field.

This capability also uses the *Registered DI Container Package* object, which is active by default.

This configuration additionally supports the following UDI features, when enabled:

* Reviewing container package submissions within the UDI Submission Viewer.
* Submitting directly to EUDAMED from the Vault.


### Market Information Submission Support {#market-information}

Vault can generate compliant EUDAMED UDI submissions for marketing information updates, incorporating the relevant market information. This includes new markets and changes to the start and stop dates for existing markets, based on related registrations.

To configure your Vault to support this capability:

1. Within the *UDI Submission* object: 
    * Activate the *UDI-DI / EUDAMED ID Market Information* object type (`udi_submission_market_information__v`)
    * Create a corresponding object page layout for the newly-activated object type. We recommend labeling the layout "UDI Market Information Submission".
2. Within the *Registered Device Identifier* object, activate the *Container Packages Version* and *Market Information Version* fields.
3. For the *Registered Device Identifier* object's *EUDAMED ID* object type, create a custom object page layout, or otherwise ensure your Vault's existing custom layout for this type includes:
    * The *Market Information Version* field
    * Related object sections for the *Registered DI Country* and *Registered DI Container Package* objects.
4. For the *Registered Device Identifier* object's *UDI DI* object type, create a custom object page layout, or otherwise ensure your Vault's existing custom layout for this type includes:
    * The *Container Packages Version* and *Market Information Version* fields
    * Related object sections for the *Registered DI Country* and *Registered DI Container Package* objects

This configuration additionally supports the following UDI features, when enabled:

* Reviewing market information submissions within the UDI Submission Viewer.
* Submitting directly to EUDAMED from the Vault.

### UDI Submissions for Multiple Products with the Same Basic UDI {#same-basic-udi}

Vault supports defining multiple *Products* sharing the same *Basic UDI* within a single UDI submission. 

To do this:

1. Navigate to **Admin > Settings > Application Settings** and enable the *Enable enhanced UDI attribute locations* [setting](/en/lr/53688/#enable-udi-attribute).
2. Within the *Device Identifier* object:
    * Activate the *Autoname Calculation* field (`autoname_calculation__v`).
    * Update the *DI Name* (`name__v`) field's default value format to `{object_type__vr.name__v} - {device_identifier__vr.identifier__rim} - {autoname_calculation__v}`.
3. Review your Vault's security configuration and ensure that any users granted access to generate a UDI submission for one *Product* have the necessary access to all other *Products* sharing the same *Basic UDI*, as well as any associated packagings with related *UDI-DIs* that must be registered in EUDAMED. Without these permissions, users risk registering only a subset of the data for a Basic UDI.

Once configured, additionally ensure related records are [set up](/en/lr/75823/#same-basic-udi) to support this feature.


## Object Configuration {#object-configuration}

The RIM data model is periodically updated to better support evolving UDI needs and new feature functionality.

For the 24R3 release and earlier, many of these changes were incorporated into a configuration workbook as a resource for aligning RIM Vaults to the UDI data model. This workbook and its instructions are preserved below.

As of 25R1, this workbook is no longer maintained. Instead, RIM Vault Admins should consult that release's [Data Model Documentation](/en/lr/777859/) workbook in <a class="external-link " href="https://veevaconnect.com/communities/ALR_0Abp0AA/about" target="_blank" rel="noopener">Veeva Connect<i class="fa fa-external-link" aria-hidden="true"></i></a> to assess any UDI-specific RIM data model updates.

### 24R3 General Release & Earlier

<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 workbook is no longer maintained as of the 25R1 general release.</p>
    </div>
  </div>
</div>



The <a class="download-link " href="https://platform.veevavault.help/assets/downloads/udi-objects-and-fields-24r3-LEGACY.xlsx" target="_blank" rel="noopener">UDI Objects and Fields workbook<i class="fa fa-download" aria-hidden="true"></i></a> contains an inventory of the objects, object types, and fields available to manage UDI data in your Vault through the 24R3 release.

  1. Use the **Objects & Object Types** tab to confirm the UDI objects and/or object types, as applicable, are [active](/en/lr/32857/#create).
  2. Use the **Object Fields** tab to confirm the UDI fields are active and [assigned](/en/lr/32857/#assign) to the indicated objects and/or object types, as applicable. Object fields added to the workbook after 22R2 are labeled as such in the **Release** column.
  3. Review your Vault's [object page layouts](/en/lr/26387/). Create new layouts as required, and/or update existing layouts to add the active fields configured in Step 2.

The workbook references components by their Veeva-recommended _Label_, which may differ in your Vault. To aid in locating some of these components, their _Names_ are included in the **Notes** column for when the Veeva label and name do not reasonably match. (For example, the object named `classification__v` is now known by its _Nomenclature Code_ label.)

See also [Object Configuration Guidelines][4].



<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>: When reviewing <a href="/en/lr/15057/#yes-no-fields">Yes/No object fields</a> for UDI, Veeva recommends maintaining the default <em>Yes</em> and <em>No</em> radio button configuration. This configuration requires users to specify a response, thus preventing validation warnings due to blank values in the XML.</p>
    </div>
  </div>
</div>



### Object Configuration Guidelines {#object-configuration-guidelines}

The attributes collected within a UDI submission come from specific fields on specific objects or object types. As such, there is limited flexibility when modifying certain components, and updates to the Veeva-recommended object configuration should be completed with caution.

The types of configurations that can be made safely include:

  * Updating the label of an object, object type, or field.
  * Making UDI source fields required or adding validation rules.
  * Adding custom fields for reporting or other non-UDI purposes.

The following types of configuration changes are generally "safe", but must still allow Vault to populate required UDI source fields for certain UDI submissions:

  * Removing from page layouts any fields which are not applicable to your organization. For example, IVD-related fields can be removed from page layouts in a non-IVD manufacturer's Vault.
  * Inactivating object reference records which are not applicable to your organization. For example, if GS1 is your organization's only issuing agency, you can inactivate the _Organization_ record for HIBCC.
  * Modifying Veeva-provided custom object types or creating additional custom object types.
  * Changing Veeva-provided page layouts or page layout rules.
  * Updating the _Name_ of a Veeva-provided record, with respect to existing page layout rules. For example, _Controlled Vocabulary_ records where the _Controlled Vocabulary Type_ is "Product Characteristic Type" are used to show and hide fields within the _Submission Product Characteristic_ object page layouts.

Never make the following types of configuration changes:

  * Moving UDI source fields from one standard object type to another.
  * Configuring Yes/No object fields as checkboxes, which introduces compliance risk. Yes/No object fields for UDI should adhere to the default _Yes_ and _No_ radio button configuration.


## Controlled Vocabularies {#udi-controlled-vocabularies}

Vault references _Controlled Vocabulary_ records to populate many of the values included in a UDI submission.

Review the _Controlled Vocabulary_ records in your Vault and verify there are active records for each of the below UDI-related types, as identified by the _Controlled Vocabulary Type_ (`controlled_vocabulary_type__rim`) field and picklist.



<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>:  When working with Veeva-provided <em>Controlled Vocabulary</em> records, do not update the values in standard fields (ending in <code class="language-plaintext highlighter-rouge">__v</code> or <code class="language-plaintext highlighter-rouge">__rim</code>), other than the record’s <em>Name</em>. Otherwise, UDI XML generation involving <em>Controlled Vocabulary</em> records may not work as expected.</p>
    </div>
  </div>
</div>



  * _Applicable Device Legislation_ (`applicable_device_legislation__v`)
  * _Certificate Type_ (`certificate_type__v`)
  * _Clinical Size Precision_ (`clinical_size_precision__v`)
  * _Clinically Relevant Size_ (`clinically_relevant_size__v`)
  * _Critical Warning_ (`critical_warning__v`) <sup id="fnref:1" role="doc-noteref"><a href="#fn:1" class="footnote" rel="footnote">1</a></sup>
  * _Device Unit of Measure_ (`device_unit_of_measure__v`)
  * _DTD XSD Version_ (`dtd_xsd_version__v`) <sup id="fnref:1" role="doc-noteref"><a href="#fn:1" class="footnote" rel="footnote">1</a></sup>
  * _Organization Role_ (`manufacturing_site_organization_role__v`)
  * _Marketing Status_ (`marketing_status__v`)
  * _Marketing Substatus_ (`marketing_substatus__v`)
  * _Marketing Substatus Scope_ (`marketing_substatus_scope__v`)
  * _Medical Device Type_ (`medical_device_type__v`) <sup id="fnref:1" role="doc-noteref"><a href="#fn:1" class="footnote" rel="footnote">1</a></sup>
  * _Non-Medical Purpose_ (`nonmedical_purpose__v`)
  * _Packaging Characteristic Type_ (`packaging_characteristic_type__v`)
  * _Product Characteristic Type_ (`product_characteristic_type__v`)
  * _Production Identification Method_ (`production_identification_method__v`)
  * _Special Device Type_ (`special_device_type__v`)
  * _Storage and Handling Type_ (`storage_and_handling_type__v`) <sup id="fnref:1" role="doc-noteref"><a href="#fn:1" class="footnote" rel="footnote">1</a></sup>
  * _Substance Classification_ (`substance_classification__v`)

1. <a id="fn:1"></a>Additional requirements apply. See [Additional CV Requirements for Validation][5]. <a href="#fnref:1" class="reversefootnote" role="doc-backlink">↩</a>

## Additional CV Requirements for Validation {#additional-cv-requirements}

Vault references values in certain _Controlled Vocabulary_ records when validating and reporting errors in UDI data which may cause a submission to be rejected.

To ensure Vault can evaluate records against <a class="external-link " href="https://health.ec.europa.eu/medical-devices-eudamed/udidevices-registration_en" target="_blank" rel="noopener">EUDAMED UDI/Device Business Rules<i class="fa fa-external-link" aria-hidden="true"></i></a>:

  1. Populate the _Requires Description_ field on any _Critical Warning_ and _Storage and Handling Type_ records that require a description. These records are typically denoted with an asterisk (*) at the end of the record's _Name_ value.
  2. Populate the _UDI Validation Criteria Version_ field on any _Medical Device Type_ records.
  3. Create a Controlled Vocabulary record for the EUDAMED validation criteria version with the following minimum requirements:
  * **Controlled Vocabulary Name**: EUDAMED UDI Business Rules v2.7
  * **Controlled Vocabulary Type**: DTD XSD Version
  * **HA Code Source**: European Commission
  * **CV Value Filter**: Validation Criteria Version
  * **Vault RIM UUID**: 58ea2aca-e3a0-4e34-8e88-cd63847daefe

## Constraints {#udi-constraints}

Vault uses [reference constraints](/en/lr/75340/) to limit selectable options to the appropriate records, based on the context of the current record. When generating UDI data, Vault uses _Constraints_ of the _Product Type Jurisdiction_ object type to determine EU countries for the purposes of medical device regulations.

Review the _Constraint_ records in your Vault and verify or create active _Product Type Jurisdiction_ records. You can also use the <a class="download-link " href="https://platform.veevavault.help/assets/downloads/product-type-jurisdiction-constraints-21R2.xlsx" target="_blank" rel="noopener">Product Type Jurisdiction Constraints<i class="fa fa-download" aria-hidden="true"></i></a> sample file to gather your organization's data and build files for record creation or update via Vault Loader.

The above sample file also includes the appropriate _Vault RIM UUID_ values required for the constraints' underlying _Country_ and _Region_ records. For European Union records, these values are:
  * **Country**: ba930019-631a-4301-83d5-d1e5880c50ba
  * **Region**: 21e638f7-be7b-4797-85a5-236c76eab80b



<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>: In the future, specific <em>Vault RIM UUID</em> values will be required for certain object records, for example, <em>Country</em> and <em>Language</em> records for the United States.</p>
    </div>
  </div>
</div>



### Optional Constraints for UDI

Though not required for use, Veeva recommends creating and maintaining additional _Constraint_ records for the below object types to help ensure data integrity for UDI submissions:

  * _Organization Role_
  * _Packaging Characteristic_
  * _Product Characteristic_
  * _Risk Class_
  * _UDI Constraint_

##  Publishing Validation Criteria {#udi-publishing-validation-criteria}

The _Publishing Validation Criteria_ object stores the individual rules defined in <a class="external-link " href="https://health.ec.europa.eu/medical-devices-eudamed/udidevices-registration_en" target="_blank" rel="noopener">EUDAMED UDI/Device Business Rules<i class="fa fa-external-link" aria-hidden="true"></i></a>, which Vault references when validating UDI data.

To set up your Vault's _Publishing Validation Criteria_:

  1. Complete the required [object configuration][1] steps, including adding the _Validation Criteria Version_ and _Validation Errors_ fields to all _UDI Submission_ object types.
  2. Address all [_Controlled Vocabulary_][2] requirements.
  3. Download the <a class="download-link " href="https://platform.veevavault.help/assets/downloads/EUDAMED-UDI-publishing-validation-criteria-v2.7.csv" target="_blank" rel="noopener">EUDAMED UDI Publishing Criteria<i class="fa fa-download" aria-hidden="true"></i></a> and use [Vault Loader](/en/lr/26607/) to create _Publishing Validation Criteria_ records.

[1]: #object-configuration
[2]: #udi-controlled-vocabularies
[3]: #udi-constraints
[4]: #object-configuration-guidelines
[5]: #additional-cv-requirements
[6]: #udi-publishing-validation-criteria
[7]: #udi-di-container-package
[8]: #market-information
[9]: #same-basic-udi
