# About the EMA RMS Integration (RIM)

Identification of Medicinal Products (IDMP) data uses controlled vocabularies to harmonize terms across markets. Each controlled vocabulary can have hundreds of terms, and the EMA updates and replaces terms regularly, requiring frequent reconciliation between the _Controlled Vocabulary_ records in Vault and the EMA's SPOR Referentials Management System (RMS) database.

The Vault integration with the EMA's SPOR RMS database can update _Controlled Vocabulary_ records automatically, keeping terms consistent with the master SPOR database and helping your organization stay compliant.

<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 application Vaults.</p>
    </div>
  </div>
</div>



## How the EMA RMS Integration Works

The integration with the SPOR RMS database allows Vault to update _Controlled Vocabulary_ records through an asynchronous job that you can schedule to fit your organization's business processes. Each time the job runs, Vault uses the SPOR referential ID to match the _Controlled Vocabulary_ records in your Vault against the latest SPOR terms in the RMS database. Vault creates and updates _Controlled Vocabulary_ records as needed and sends you a notification when the job is complete.

If the SPOR referential ID matches, Vault updates the following fields on existing _Controlled Vocabulary_ records:

  * _SPOR Domain_
  * _SPOR List ID_
  * _SPOR List Name_
  * _SPOR Referential ID_
  * _SPOR Status_
  * _SPOR Term Name_
  * _SPOR Version_
  * _Valid as Of_

If your Vault doesn't contain matching SPOR referential IDs, Vault creates a new _Controlled Vocabulary_ record for each unmatched ID.

## Configuring the EMA RMS Integration

The following sections explain how to set up the integration between your Vault and the SPOR RMS database.

### Retrieving EMA SPOR User Credentials

First, you must get login credentials for the SPOR RMS database. You will likely need to create accounts using the EMA's identity management solution.

  1. Request access to the EMA's UAT (User Acceptance Testing) environment. The EMA Service Desk will instruct you on the appropriate process to follow.
  2. Download the <a class="download-link " href="https://platform.veevavault.help/assets/downloads/SPOR-RMS-API-Test-Cases.xlsx" target="_blank" rel="noopener">SPOR RMS API Test Cases<i class="fa fa-download" aria-hidden="true"></i></a> file provided by the EMA. In the file's RMS Test Cases tab, find TestID 018. Enter the test case into Postman and copy the results from Postman back into the file.
  3. Send the updated SPOR RMS API Test Cases file with the Postman results to the EMA Service Desk to request access to the production SPOR RMS API. When you send the file, we recommend including the following note to inform the EMA about the API calls you tested: "We are connecting a software application with a programmatic interface to the RMS API. The Vault RMS Sync feature uses only one endpoint. It is a one-way, pull-only feature to sync predetermined lists of terms from the RMS database to Vault."
  4. The EMA Service Desk will grant production SPOR RMS API access to your existing production account. You will use this account to create an external connection in Vault.

See the EMA's <a class="external-link " href="https://spor.ema.europa.eu/sporwi/" target="_blank" rel="noopener">SPOR website<i class="fa fa-external-link" aria-hidden="true"></i></a> for more information.

### Creating an External Connection {#create-connection}

After you have your username and password for the SPOR RMS database, navigate to the **Admin > Connections** page in your Vault to create an external connection. See <a href="/en/gr/53358/">Creating & Managing Connections</a> for more information about setting up an external connection.

### Preparing Controlled Vocabularies in Vault

Before you schedule the RMS Integration and Synchronization job, you need to map the existing _Controlled Vocabulary_ records in your Vault to the terms in the SPOR RMS database. To do this, use <a href="/en/gr/26607/">Vault Loader</a> to update the _SPOR List ID_ field on the appropriate _Controlled Vocabulary_ records with the SPOR referential ID for each term. See <a href="/en/gr/60772/">IDMP Configuration</a> for more information about the controlled vocabulary files to load to your Vault.

Certain lists have the same name but different SPOR referential IDs due to the term hierarchies. We recommend updating the _Name_ field on the _Controlled Vocabulary_ records for these terms to reflect the hierarchy, for example, "Biological Testing for Testing of Medicinal Product" and "Biological Testing for Testing of Active Substance".

### Activating & Scheduling the Synchronization Job

After you have created the connection and mapped _Controlled Vocabulary_ records to the terms in the SPOR RMS database, you can activate and schedule the RMS Integration and Synchronization job.

  1. Navigate to **Admin > Operations > Job Definitions**.
  2. Open the **RMS Integration and Synchronization** job and click **Edit**.
  3. Optional: Edit the **Title** and **Job Owner**. The Job Owner will receive the notification and CSV results file each time the job runs.
  4. Set the job's schedule. See <a href="/en/gr/22897/">Configuring Job Definitions</a> for more information about scheduling jobs.
  5. Set the **Status** to **Active**.
  6. In the **Connection Details** field, select the external connection that you created on the **Admin > Connections** page.
  7. Optional: Clear the **Update Inactive Terms** checkbox if you don't want Vault to update inactive _Controlled Vocabulary_ records when the job runs.
  8. Optional: Review the **Current Lists** and deselect any terms that you don't want Vault to compare and update. If you want to restore the original selections after you've made changes, click **Restore defaults**.
  9. Optional: Review the **Domain** or **Term Status** values and deselect any values that you don't want Vault to update.
 10. Click **Save** to activate and schedule the job.

#### Maintaining the Synchronization Job

You may need to update the job's _RMS List for Compare_ based upon your organization's requirements as the EMA expands its referential data with additional lists.

Vault supports the below RMS lists as of the 22R3 release. Lists added after the 22R3 release are indicated by the release number.

  * Marketing Authorisation Application Legal Basis
  * Application Submission Type
  * Combination Package
  * Combined Pharmaceutical Dose Form
  * Combined Term
  * Contact Party Role
  * Country
  * Country Grouping
  * Data Classification (23R1)
  * Domain
  * eCTD EU Context of Use (23R1)
  * EU Regulatory Authorisation Procedure
  * Ingredient Role
  * Language
  * Legal Status of the Supply
  * Manufacturing Activity
  * Marketing Status
  * Master File Type
  * Material
  * Medical Device Classification (23R1)
  * Medical Device Legislation Category (23R1)
  * Medicinal Product Name Part Type
  * Medicinal Product Type (23R1)
  * Packaging
  * Pharmaceutical Dose Form
  * Product Category (23R1)
  * Product Cross Reference Type
  * Product Information Document Type
  * Quantity Operator
  * Reason for Marketing Unavailability (23R1)
  * Regulating Authority Submission Unit Type (23R1)
  * Regulatory Entitlement Status
  * Regulatory Entitlement Type
  * Routes and Methods of Administration
  * Shelf Life Type
  * Source of Information (23R1)
  * Special Precaution for Storage
  * Target Species
  * Tissue
  * Units of Measurement
  * Units of Measurement Prefix
  * Units of Presentation
  * Variation Classification (23R1)
  * Variation Classification - Veterinary (23R1)
  * XEVMPD Medical Device
  * XEVMPD Medicinal Product Type

## Job Results

Each time the RMS Integration and Synchronization job runs, Vault sends the Job Owner an email and a Vault notification with a link to download a CSV file containing the job results. The CSV file includes:

  * New terms that were created
  * Existing _Controlled Vocabulary_ records that were updated
  * Terms on which updates failed
  * Existing terms on which the SPOR status has changed to non-current; note that this process doesn't make any changes to _Controlled Vocabulary_ records in your Vault
