*** ### **Attribute Mapping to IQVIA OneKey** The following mappings are used when creating or updating entities in OneKey via the `submitVR` operation. The data is compiled from the direct mapping table and the comparator rules for Data Steward-suggested changes. #### **1. Common Validation Attributes (HCP & HCO)** These attributes are part of the `validation` block in the OneKey request and are mandatory for all DCRs. | OneKey Attribute | Value/Source | Description | | :--- | :--- | :--- | | `validation.clientRequestId` | HUB\_GENERATED\_ID | A unique identifier generated by the MDM HUB to trace the request. | | `validation.process` | "Q" | A static value indicating the processing type. | | `validation.requestDate` | Current Timestamp | The date the DCR was created. | | `validation.callDate` | Current Timestamp | The date the API call was made. | | `validation.requestProcess` | "I" | A static value indicating an "Insert" or "Update" process. | | `validation.requestComment` | `extDCRComment` | A free-text comment provided in the initial DCR, often used for context or to specify removals. | | `isoCod2` | `Country` from DCR | The two-letter ISO country code, which is mandatory for all requests. | --- #### **2. Healthcare Organization (HCO) Attribute Mapping** | Reltio / HUB Attribute | OneKey Attribute | Mandatory | Description & Notes | | :--- | :--- | :--- | :--- | | **Entity Type** | `entityType` | **Yes** | Static value set to **`WORKPLACE`** to identify the entity as an HCO. | | **OneKey ID** | `workplace.workplaceEid` | **Yes (for updates)** | The unique OneKey identifier for the HCO. It is sourced from the `ONEKEY` crosswalk on the Reltio entity. This is mandatory for any update operation. | | **Name** | `workplace.usualName` / `workplace.officialName` | Optional | The primary name of the HCO. Both `usualName` and `officialName` are typically populated with the same value from the Reltio `Name` attribute. | | **Other Names** | `workplace.usualName2` | Optional | Sourced from the `OtherNames.Name` nested attribute in Reltio. | | **Type Code** | `workplace.typeCode` | Optional | Maps the HCO's `subTypeCode` from the HUB model. This requires a lookup from a canonical code (e.g., `COTFacilityType`, `TET.W.*`) to the OneKey specific code. | | **Website** | `workplace.website` | Optional | The official website URL of the HCO, sourced from `WebsiteURL`. | | **Parent HCO Affiliation** | `workplace.parentWorkplaceEid` | Optional | The OneKey ID of the parent HCO. This is sourced by looking up the `otherHCOAffiliations` relation in Reltio and finding the OneKey crosswalk of the referenced parent entity. | | **Addresses** | `address.*` fields | **Yes** | A complex object representing the HCO's primary address. It is mandatory for creating a new HCO.
- `address.country`
- `address.city`
- `address.addressLine1` (from `addressLine1`)
- `address.addressLine2` (from `addressLine2`)
- `address.Zip5` (from `zip`)
- `address.countyCode` (from `stateProvince`, requires lookup) | | **Specialties** | `workplace.speciality1` / `2` / `3` | Optional | Reltio's list of `Specialities` is flattened into three separate fields in the OneKey request, ranked by priority. | | **Phone (Telephone)** | `workplace.telephone` | Optional | The primary telephone number. Sourced from the `Phone` list in Reltio where the type is **not** FAX. The number with the highest rank is chosen. | | **Phone (Fax)** | `workplace.fax` | Optional | The primary fax number. Sourced from the `Phone` list where the type **is** FAX. The number with the highest rank is chosen. | | **Email** | `workplace.email` | Optional | The primary email address of the HCO. The email with the highest rank from Reltio's `Email` list is used. | --- #### **3. Healthcare Professional (HCP) Attribute Mapping** | Reltio / HUB Attribute | OneKey Attribute | Mandatory | Description & Notes | | :--- | :--- | :--- | :--- | | **Entity Type** | `entityType` | **Yes** | Static value set to **`ACTIVITY`** to identify the entity as an HCP. | | **OneKey ID** | `individual.individualEid` | **Yes (for updates)** | The unique OneKey identifier for the HCP, sourced from the `ONEKEY` crosswalk on the Reltio entity. Mandatory for updates. | | **Last Name** | `individual.lastName` | **Yes** | The HCP's last name. This is a mandatory field for creating an HCP. | | **First Name** | `individual.firstName` | Optional | The HCP's first name. | | **Middle Name** | `individual.middleName` | Optional | The HCP's middle name. | | **Type Code** | `individual.typeCode` | Optional | The HCP's subtype (e.g., Physician, Nurse). This is sourced from `subTypeCode` in the HUB model and requires a lookup (`HCPSubTypeCode`, `TYP..*`). | | **Title** | `individual.titleCode` | Optional | The HCP's professional title (e.g., Dr.). Requires lookup (`HCPTitle`, `TIT.*`). | | **Prefix** | `individual.prefixNameCode` | Optional | The HCP's name prefix (e.g., Mr., Mrs.). Requires lookup (`HCPPrefix`, `APP.*`). | | **Gender** | `individual.genderCode` | Optional | The HCP's gender. Requires a lookup to map the Reltio value to the OneKey code. | | **Year of Birth** | `individual.birthYear` | Optional | The four-digit year of birth of the HCP. | | **Day of Birth** | `individual.birthDay` | Optional | The day of birth of the HCP. | | **Language** | `individual.languageEid` | Optional | The preferred language of the HCP. | | **Website** | `individual.website` | Optional | The personal or professional website of the HCP. | | **Identifiers** | `individual.externalId1` / `externalId2` | Optional | Mapped from Reltio's `Identifier` values. | | **Affiliation** | `workplace.workplaceEid` | Optional | The OneKey ID of the HCO to which the HCP is affiliated. This is sourced from the `contactAffiliations` relation in Reltio by finding the OneKey crosswalk of the referenced HCO. | | **Addresses** | `address.*` fields | **Yes** | A complex object representing the HCP's primary address (often a workplace address). See HCO section for field details. | | **Specialties** | `individual.speciality1` / `2` / `3` | Optional | Reltio's list of `Specialities` is flattened into three separate fields, ranked by priority. A lookup is required to map the canonical code (`HCPSpecialty`, `SP.W.*`) to the OneKey code. | | **Phone (Mobile)** | `individual.mobilePhone` | Optional | The primary mobile phone number, sourced from the `Phone` list in Reltio. | | **Email** | `individual.email` | Optional | The primary email address of the HCP. | *** ### **Attribute Mapping to Veeva OpenData (VOD)** DCRs for Veeva are processed asynchronously. The HUB maps the DCR data into a series of CSV file lines, which are then zipped and sent to Veeva via S3/SFTP. The mapping connects Reltio/HUB concepts to specific columns in different Veeva CSV files. #### **1. `change_request.csv` - Manifest File** This file contains metadata for each DCR. A single line is created for each DCR. | Veeva Field Name | Source / Logic | Required | Description | | :--- | :--- | :--- | :--- | | `dcr_key` | Mongo Generated DCR ID | **Yes** | A unique ID generated by the HUB for the DCR. This key is used to link all related records across the different CSV files. | | `description` | `extDCRComment` | **Yes** | Free-text comments from the requester explaining the purpose of the DCR. | | `created_by` | `createdBy` from DCR | **Yes** | Identifies the user or system that initiated the DCR. | | `change_request_type` | Inferred | **Yes** | Set to **`ADD_REQUEST`** if a new profile is being created (no Veeva crosswalk exists) or **`CHANGE_REQUEST`** if an existing profile is being updated. | | `entity_type` | Main DCR object type | **Yes** | Set to **`HCP`** or **`HCO`** depending on the primary subject of the DCR. | #### **2. `change_request_hco.csv` - HCO Details** This file contains the specific attribute changes for an HCO. | Veeva Field Name | Reltio / HUB Attribute | Required (Add) | Description & Notes | | :--- | :--- | :--- | :--- | | `dcr_key` | Mongo Generated DCR ID | **Yes** | Links this record back to the manifest file. | | `entity_key` | `refId.entityURI` or Reltio Crosswalk | **Yes** | The unique identifier for the HCO in the source system (Reltio). It is a concatenation of the source name and value (e.g., `Reltio:rvu44dm`). | | `vid__v` | VEEVA Crosswalk Value | No (Yes for Change) | The unique Veeva ID for the HCO. This is required for `CHANGE_REQUEST` types to identify which Veeva profile to update. | | `corporate_name__v` | `Name` | No | The official name of the HCO. | | `alternate_name_1__v` | `OtherNames.Name` (first element) | Yes | An alternative name for the HCO. | | `major_class_of_trade__v` | `HCO.subTypeCode` | No | Maps to Reltio's `FacilityType`. This requires a lookup from the `COTFacilityType` canonical code to the Veeva source code. | | `hco_type__v` | `typecode` | No | The type of the HCO. Requires lookup from `HCOType`. | | `hco_status__v` | `StatusDetail` | No | The operational status of the HCO. Requires lookup from `HCOStatus`. | | `specialty_1__v` to `specialty_10__v` | `specialties` | No | Reltio's list of HCO specialties is flattened into 10 separate columns, ranked by priority. | | `email_1__v`, `email_2__v` | `emails` | No | The top two ranked email addresses from the Reltio `Email` list. | | `phone_1__v`, `phone_2__v`, `phone_3__v` | `phones` | No | Top-ranked phone numbers where type is `TEL.OFFICE`. | | `fax_1__v`, `fax_2__v` | `phones` | No | Top-ranked fax numbers where type is `TEL.FAX`. | | `primary_country__v` | `DCRRequest.country` | No | The two-letter ISO country code. | #### **3. `change_request_hcp.csv` - HCP Details** This file contains the specific attribute changes for an HCP. | Veeva Field Name | Reltio / HUB Attribute | Required (Add) | Description & Notes | | :--- | :--- | :--- | :--- | | `dcr_key` | Mongo Generated DCR ID | **Yes** | Links this record back to the manifest file. | | `entity_key` | `refId.entityURI` or Reltio Crosswalk | **Yes** | The unique identifier for the HCP in Reltio. | | `vid__v` | VEEVA Crosswalk Value | No (Yes for Change) | The unique Veeva ID for the HCP. Required for `CHANGE_REQUEST` types. | | `first_name__v` | `firstName` | **Yes** | The HCP's first name. | | `last_name__v` | `lastName` | **Yes** | The HCP's last name. | | `middle_name__v` | `middleName` | No | The HCP's middle name. | | `prefix__v` | `prefix` | No | Name prefix. Requires lookup (`HCPPrefix`). | | `professional_title__v` | `title` | No | Professional title. Requires lookup (`HCPProfessionalTitle`). | | `hcp_type__v` | `subTypeCode` | **Yes** | HCP subtype. Requires lookup (`HCPType`). | | `hcp_status__v` | `StatusDetail` | No | Operational status of the HCP. Requires lookup (`HCPStatus`). | | `gender__v` | `gender` | No | HCP's gender. Requires lookup (`HCPGender`). | | `specialty_1__v` to `specialty_10__v` | `specialties` | **Yes (at least 1)** | Reltio's list of HCP specialties is flattened into 10 columns. At least one specialty is required for an `ADD_REQUEST`. | | `medical_degree_1__v`, `medical_degree_2__v` | Not specified | No | HCP's medical degrees. Requires lookup (`HCPMedicalDegree`). | | `primary_country__v` | `DCRRequest.country` | **Yes** | The two-letter ISO country code. | #### **4. `change_request_address.csv` - Address Details** This file contains address information, linked to either an HCP or an HCO. | Veeva Field Name | Reltio / HUB Attribute | Required (Add) | Description & Notes | | :--- | :--- | :--- | :--- | | `dcr_key` | Mongo Generated DCR ID | **Yes** | Links this record back to the manifest file. | | `entity_key` | `refId.entityURI` of HCP/HCO | **Yes** | The Reltio identifier of the parent HCP or HCO to which this address belongs. | | `address_key` | `address.refId` (`PfizerAddressID`) | **Yes** | A unique identifier for the address itself within Reltio. | | `address_line_1__v` | `addressLine1` | **Yes** | The first line of the street address. | | `address_line_2__v` | `addressLine2` | No | The second line of the street address. | | `locality__v` | `city` | **Yes** | The city. | | `administrative_area__v` | `stateProvince` | **Yes** | The state or province. Requires lookup (`AddressAdminArea`). | | `postal_code__v` | `zip` | **Yes** | The postal code. | | `country__v` | `country` | **Yes** | The two-letter ISO country code. | | `address_type__v` | `addressType` | **Yes** | The type of address (e.g., Office, Home). Requires lookup (`AddressType`). | | `address_status__v` | Static "A" | No | The status of the address, typically set to "A" for Active. | | `vid__v` | VEEVA `SourceAddressID` | No (Yes for Change) | The unique Veeva ID for an existing address being updated. | #### **5. `change_request_parenthco.csv` - Affiliation/Relation Details** This file is used to define or update relationships between entities (HCP-HCO or HCO-HCO). | Veeva Field Name | Reltio / HUB Attribute | Required (Add) | Description & Notes | | :--- | :--- | :--- | :--- | | `dcr_key` | Mongo Generated DCR ID | **Yes** | Links this record back to the manifest file. | | `parenthco_key` | Relation URI (`relationUri`) | **Yes** | The unique identifier for the relationship object in Reltio. | | `child_entity_key` | Start Object's `entity_key` | **Yes** | The `entity_key` of the child entity in the relationship (e.g., the HCP). | | `parent_entity_key` | End Object's `entity_key` | **Yes** | The `entity_key` of the parent entity in the relationship (e.g., the HCO). | | `relationship_type__v` | Affiliation `type` | **Yes** | The type of relationship. This requires a lookup from the `RelationType` canonical values. | | `is_primary_relationship__v` | Affiliation `primary` flag | No | A boolean flag indicating if this is the primary affiliation. | | `vid__v` | VEEVA Relation ID | No (Yes for Change) | The unique Veeva ID for an existing relationship being updated. |