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

**Class:** `metadata`

This component type is available only in Quality Vaults with QMS enabled. This component defines a *Reason for Change* configuration. Admins can create configurations to prompt users for a *Reason for Change* upon editing specific fields on an object type record in a particular lifecycle state.

Learn more about [Reasons for Change in Vault Help](https://quality.veevavault.help/en/lr/769480).

| 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. |
| `capture_field` | Type: Subcomponent | The name of the field on the target object that Veeva QMS will use to capture the *Reason For Change*. |
| `capture_type_field` | Type: Subcomponent | The field type of the `capture_field`. |
| `description` | Type: String Max length: 1500 | UI-friendly string in the Vault’s base language. |
| `record_trigger` | Type: ComponentReference | References a  component. |
| `target_object` | Type: Component **Required** | The object on which the *Reason for Change* is configured. |
| `target_object_type` | Type: Component | The `Objecttype` of the `target_object`. |

### Qualityreasonforchangefieldcriteria

| 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. |

### Qualityreasonforchangestate

| 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. |
| `field_criteria` | Type: SubcomponentReference **Required** | Reference to `Qualityreasonforchangefieldcriteria` subcomponent. |
| `lifecycle_state` | Type: Subcomponent **Required** | Indicates the lifecycle state in which Vault should require a *Reason for Change* for the chosen field. |
| `object_lifecycle` | Type: Component **Required** | The lifecycle of the `target_object`. |
| `reason_for_change` | Type: ComponentReference **Required** | References the associated `Qualityreasonforchange` component. |

### Qualityreasonforchangecommentcriterion

| 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. |
| `reason_for_change_picklist` | Type: Component **Required** | Defines the *Reason for Change* picklist. |
| `value_requiring_comment` | Type: Subcomponent **Required** | Indicates whether a *Comment* is required for a specific `reason_for_change_picklist` value. |

### Qualityreasonforchangefield

| 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. |
| `field` | Type: Subcomponent **Required** | The field on which to require a *Reason for Change*. |
| `field_criteria` | Type: SubcomponentReference **Required** | Reference to `Qualityreasonforchangefieldcriteria` subcomponent. |
| `reason_for_change` | Type: ComponentReference **Required** | References the associated `Qualityreasonforchange` component. |
| `target_object` | Type: Component **Required** | The object on which the *Reason for Change* is configured. |
| `target_object_type` | Type: Component | The `Objecttype` of the `target_object`. |
| `type_field` | Type: Subcomponent | The `Typefield` of the `field`. |

### Supported Operations

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

---

**Previous:** [Qualityobjectrelationshipconfig](/quality/mdl/component-types/qualityobjectrelationshipconfig)  
**Next:** [Qualityrecordcheck](/quality/mdl/component-types/qualityrecordcheck)