**Source URL:** https://limited.veevavault.dev/quality/mdl/component-types/qualityrecordcheck

**Class:** `metadata`

Defines the configuration for a *Quality Record Check*. You can create *Quality Record Check* configurations for each scenario in which users will need to check for recurrences. For example, if your quality system requires that a newly completed *Deviation* be checked against older *Deviations* for recurrence for either six months or one year, depending on the affected process, you can create two *Quality Record Check* configurations appropriately, both available to users as a separate user action. As of 24R2.3, creating a new *Quality Record Check* creates a new `Qualityrecordchecklifecycleassociation` component that captures the lifecycle state associations.

Learn more about [Quality Record Checks in Vault Help](https://quality.veevavault.help/en/lr/70442/#record-checks).

| Attribute | Metadata | Description |
| --- | --- | --- |
| `label` | Type: String Max length: 60 | UI-friendly string in the Vault's base language. |
| `active` | Type: Boolean | Indicates whether the component is active. |
| `allow_date_overrides` | Type: Boolean | If `true`, a user can modify the timeframe upon executing a recurrence check. |
| `allow_match_field_overrides` | Type: Boolean | If `true`, a user can modify the exact match field values upon executing a recurrence check. |
| `check_type` | Type: Subcomponent **Required** | The type of check to be executed. |
| `check_type_picklist` | Type: Component **Required** | The picklist defining the options available for `check_type`. |
| `copy_attachments` | Type: Boolean | If `true`, Veeva QMS copies any attachments on records identified as duplicates to the record identified as the original. |
| `date_field` | Type: Subcomponent **Required** | The date field from the `target_object` from which to base your timeframe. |
| `date_quantity` | Type: Number **Required** | The number of date units to include in the check. For example, if `date_quantity` is set to `3` and `date_unit_entry` is set to `weeks__v`, the recurrence check will cover 3 weeks. |
| `date_unit_entry` | Type: Subcomponent **Required** | The unit of measurement for the date, for example, `days__v` or `years__v`. |
| `date_unit_picklist` | Type: Component **Required** | References the picklist from which users choose the `date_unit_entry`. |
| `description` | Type: String Max length: 1500 | A description of the Quality Record Check. |
| `display_fields` | Type: Subcomponent Multi-value | Fields from the `target_object` to display in the record check interface. These fields are not included in the match calculation. This is required if executing a record check. |
| `editable_fields` | Type: Subcomponent Multi-value | Lists fields that users with the required permissions can edit from the record check interface. |
| `exclude_numeric_suggested_terms` | Type: Boolean |  |
| `hide_similarity_scores` | Type: Boolean |  |
| `lifecycle_states_to_not_transition` | Type: Subcomponent Multi-value | If populated, target object records in the indicated lifecycle state(s) will not change state when a user performs a record check. As of 24R2.3, this attribute is deprecated and stored in the `lifecycle_states_to_not_transition` attribute on the `Qualityrecordchecklifecycleassociation` component. Updates to this attribute for existing components will be unsuccessful. |
| `object_lifecycle` | Type: Component | The lifecycle of the `target_object`. As of 24R2.3, this attribute is deprecated and stored in the `object_lifecycle` attribute on the `Qualityrecordchecklifecycleassociation` component. Updates to this attribute for existing components will be unsuccessful. |
| `object_lifecycle_states` | Type: Subcomponent Multi-value | The lifecycle states from the `object_lifecycle` to include in the recurrence check. As of 24R2.3, this attribute is deprecated and stored in the `lifecycle_states_to_include` attribute on the `Qualityrecordchecklifecycleassociation` component. Updates to this attribute for existing components will be unsuccessful. |
| `record_check_insight_config` | Type: ComponentReference | The related `Qualityrecordcheckinsight`. |
| `relationship_type` | Type: ComponentReference | The `Qualityobjectrelationshipconfig` applicable to your recurrence check. |
| `relationship_type_entries` | Type: Subcomponent Multi-value | The picklist values to be displayed to the end user. Possible values are based on the picklist specified in the `relationship_type_picklist`. |
| `relationship_type_picklist` | Type: Component | The picklist defining the options available for `relationship_type_entries`. |
| `search_fields` | Type: Subcomponent Multi-value | The text fields on which to run the recurrence check. |
| `simple_match_fields` | Type: Subcomponent Multi-value | The fields on the `target_object` that must match. |
| `target_object` | Type: Component **Required** | The object on which the Quality Record Check is configured. |
| `target_object_type` | Type: Component **Required** | The type of the `target_object`. |

### Qualitymatchtier

| Attribute | Metadata | Description |
| --- | --- | --- |
| `label` | Type: String Max length: 60 | UI-friendly string in the Vault's base language. |
| `active` | Type: Boolean | Indicates whether the component is active. |
| `display` | Type: Boolean **Required** |  |
| `justification_required` | Type: Boolean | If set to `true`, users must define a justification when analyzing each record of a tier. |
| `relationship_type_required` | Type: Boolean | If set to `true`, users must provide a relationship type when analyzing each record of the tier. |
| `similarity_score` | Type: Number **Required** | The % minimum similarity score for a tier. |
| `tier` | Type: Number **Required** | Determines the order in which the tier appears. |
| `tier_color` | Type: String Max length: 500 | The HEX color value in which to display records in this tier. |
| `tier_label` | Type: Subcomponent **Required** | The entry from the `tier_picklist` to display in the UI. |
| `tier_picklist` | Type: Component **Required** | Defines the options available for the `tier_label`. |

### Qualityfieldsuggestion

| Attribute | Metadata | Description |
| --- | --- | --- |
| `label` | Type: String Max length: 60 | UI-friendly string in the Vault's base language. |
| `active` | Type: Boolean | Indicates whether the component is active. |
| `order` | Type: Number **Required** |  |
| `suggestion_field` | Type: Subcomponent **Required** | The field for which Vault will suggest values. This supports Boolean, Object, and Picklist references. |
| `target_object` | Type: Component **Required** | The object on which the Quality Record Check is configured. |

### Qualityrelatedrecordmatchfield

| Attribute | Metadata | Description |
| --- | --- | --- |
| `label` | Type: String Max length: 60 | UI-friendly string in the Vault's base language. |
| `active` | Type: Boolean | Indicates whether the component is active. |
| `criteria_vql` | Type: String Max length: 500 |  |
| `filter_object` | Type: Component **Required** | If the `relationship_type` is `INBOUND`, this must be the same as `related_object`. For `JOIN` relationships, this must reference the second parent object. |
| `hover_text` | Type: String Max length: 150 |  |
| `quality_record_check` | Type: ComponentReference | The associated `Qualityrecordcheck`. |
| `record_check_rule` | Type: SubcomponentReference | The associated `Qualityrecordcheckrule`. |
| `related_inbound_field` | Type: Subcomponent | The related object field for the filter. If the `relationship_type` is `INBOUND`, this can be either a parent or reference field. For `JOIN` relationships, this must be a parent field |
| `related_match_fields` | Type: Subcomponent **Required** Multi-value | The fields on the related object that must match. Allows facetable fields on the `filter_object`. |
| `related_object` | Type: Component **Required** | The related object for the filter. If the `relationship_type` is `INBOUND`, this must be a non-join object. For `JOIN` relationships, this must be a simple or complex join. |
| `related_outbound_field` | Type: Subcomponent | The related object field for the filter. If the `relationship_type` is `INBOUND`, you must omit this attribute. For `JOIN` relationships, this must reference the second parent field. |
| `relationship_type` | Type: String **Required** Max length: 50 | The `Qualityobjectrelationshipconfig` applicable to your recurrence check. |

### Qualityrelationshipstatemap

| Attribute | Metadata | Description |
| --- | --- | --- |
| `label` | Type: String Max length: 60 | UI-friendly string in the Vault's base language. |
| `active` | Type: Boolean | Indicates whether the component is active. |
| `object_lifecycle` | Type: Component **Required** | The lifecycle of the `target_object`. As of 24R2.3, this attribute is deprecated and stored in the `object_lifecycle` attribute on the `Qualityrecordchecklifecycleassociation` component. Updates to this attribute for existing components will be unsuccessful. |
| `object_lifecycle_state` | Type: Subcomponent | The associated `Objectlifecyclestate`. |
| `quality_object_relationship_config` | Type: ComponentReference **Required** | The associated `Qualityobjectrelationshipconfig`. |
| `quality_picklist_value_map` | Type: SubcomponentReference **Required** | The associated `Qualitypicklistvaluemap`. |

### Qualityrecordcheckrule

| Attribute | Metadata | Description |
| --- | --- | --- |
| `label` | Type: String Max length: 60 | UI-friendly string in the Vault's base language. |
| `active` | Type: Boolean | Indicates whether the component is active. |
| `exclude_numeric_suggested_terms` | Type: Boolean |  |
| `order` | Type: Number **Required** |  |
| `search_fields` | Type: Subcomponent Multi-value | The text fields on which to run the recurrence check. |
| `simple_match_fields` | Type: Subcomponent **Required** Multi-value | The fields on the `target_object` that must match. |
| `target_object` | Type: Component **Required** | The object on which the Quality Record Check is configured. |

### Qualityrelatedrecordsuggestion

| Attribute | Metadata | Description |
| --- | --- | --- |
| `label` | Type: String Max length: 60 | UI-friendly string in the Vault's base language. |
| `active` | Type: Boolean | Indicates whether the component is active. |
| `join_object` | Type: Component **Required** | The `JOIN` inbound relationship to the target object. |
| `order` | Type: Number **Required** |  |
| `related_object` | Type: Component **Required** | The related object for the filter. If the `relationship_type` is `INBOUND`, this must be a non-join object. For `JOIN` relationships, this must be a simple or complex join. |
| `related_object_display_field` | Type: Subcomponent **Required** | The field from the `related_object` to display in the interface. |
| `related_object_reference_field` | Type: Subcomponent **Required** | The reference field on the `related_object`. |
| `target_object_reference_field` | Type: Subcomponent **Required** | The reference field on the `target_object`. |

### Supported Operations

| Operation | Support |
| --- | --- |
| Create | Yes |
| Recreate | Yes |
| Alter | Yes\* |
| Drop | Yes |
| Rename | Yes |
| Describe | Yes |
| Generate Recreate | Yes |
| Queryable | Yes |

**Notes:**

*   **Alter:** MDL Operation may not be supported for some multi-value attributes.

---

**Previous:** [Qualityreasonforchange](/quality/mdl/component-types/qualityreasonforchange)  
**Next:** [Qualityrecordcheckinsight](/quality/mdl/component-types/qualityrecordcheckinsight)