**Source URL:** https://clinical.veevavault.help/en/lr/24430/index.md

# Working with Milestones

Vault _Milestones_ specify important points in time at the study, study country, and study site levels. During the course of a study, you accumulate documents of various types. By associating milestones with documents, you can measure milestone completeness by reporting on the status of the study's documents and those documents' milestones.

## How to Create Milestones

_Milestone_ object records define your individual milestones. You can [modify these in the same way as other object data records](/en/lr/18769/).

Even if you [created milestones from a template][2], you can still add individual milestones.

Each milestone object record includes the _Study_, _Study Country_, or _Study Site_ to which the milestone applies. The object record also specifies the planned and actual start and finish dates, the milestone type, and other milestones that share dependencies.

When creating or editing _Milestone_ object records, you'll need to fill the following object fields:

|Field|Description|
|--- |--- |
|Milestone|Name of the milestone: "Study Startup," "Site Startup," "Study Close," etc. These will generally be visible to most users.|
|Milestone Type|A [classification][16] for the milestone. An Admin defines these values in a picklist. (Study Startup only) Admins also use milestone types to determine what EDL items appear in the [Site Activation Progress view](/en/lr/33827/).|
|Study|The Study to which the milestone applies; this field is always required.|
|Study Country|The Study Country to which the milestone applies; if you populate this field, the milestone will exist at the Study Country level To select this, you must first select a parent study from the Study field.|
|Study Site|The Study Site to which the milestone applies; if you populate this field, the milestone will exist at the Study Site level. To select this, you must first select a parent study country from the Study Country field.|

<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>: Depending on your Vault’s version, application, and configuration, you may have different field labels on <em>Milestone</em> and its related objects.</p>
    </div>
  </div>
</div>



### Milestones & Monitoring Events (CTMS) {#monitoring}

In CTMS, _Monitoring Event_ records have a _Milestone_ object reference field. You can select a _Milestone_ from this field to associate that milestone to the monitoring event. If you don't select a _Milestone_, Vault creates a _Milestone_ record of the correct type automatically after you save your _Monitoring Event_ record. Depending on the object type of your _Monitoring Event_ record, Vault creates different types of _Milestones_. For example, if you create a _Pre Study Visit_ monitoring event, Vault creates a _Pre Study Monitoring Visit_ milestone. Vault only creates _Milestones_ for the following standard monitoring event types: _Interim Monitoring Event_, _Pre Study Visit_, _Site Close Out Visit_, and _Site initiation Visit_; Admins can configure the creation of additional _Milestones_ when configuring [_Monitoring Event_ types](/en/lr/42837/#custom-monitoring-event-type).

Vault auto-populates the _Study_, _Study Country_, and _Study Site_ fields on the new _Milestone_ record. If your Vault has additional required fields on the _Milestone_ object, the _Milestone_ record creation fails. Vault sends you a notification for the failure. Note that Vault still creates the _Monitoring Event_ record even if the _Milestone_ record creation fails.

## About Milestones from Templates {#about_milestone_templates}

You can create _Milestones_ in bulk using [milestone templates](/en/lr/37552/). _Template Milestones_, _Milestone Dependency Templates_, and _Template Tasks_ are grouped in a single _Template Milestone Set_ object record, similar to ELDs. Once an Admin creates a _Template Milestone Set_, you can use it to create milestones in bulk at any level. You can create milestones from a template at the start of your study using the **Create Milestone from Template** action. When your study is in progress, and you require additional milestones to represent ad hoc events, such as a protocol amendment, your Vault may have _Story Events_ configured to create milestones.

### How to Create Milestones from Templates {#how-to-create-from-templates}

  1. Select **Create Milestones from Template** from the _Study_, _Study Country_, or _Study Site's_ **Actions** menu. The _Create Milestones from Template_ dialog opens.
  2. Click **Continue**.

Vault creates _Milestones_ from the template at the _Study_ level and adds the associated _Milestones_ to the _Study Country_ and _Study Site_ levels. After Vault creates _Milestones_, it checks to see if the associated _Study_ has an _EDL Template_ record associated with it. If it does, Vault will use that _EDL Template_ when creating _EDL Item_ records.

If the milestone template has its own _EDL Template_ associated with it, Vault ignores it and uses the _EDL Template_ at the _Study_ level.

After the asynchronous job completes, you'll receive a notification.

### Milestones & Story Events {#story-events}

Depending on your Vault's configuration, you can create _Milestones_ and _EDLs_ for ad hoc events in your _Study_ using _Story Events_. _Story Events_ represent different points in time during your _Study_, such as _Site Selection_ or _Protocol Amendment_. They include templated _Milestones_, _Milestone_ dependencies, and _EDL Items_.

To apply a _Milestone Template_ for an ad hoc event:
  1. Select **Apply Milestone Template** from the _Study_, _Study Country_, or _Study Site_'s **Actions** menu.
  2. Select a **Story Event** to use for _Milestone_ and _EDL_ creation.
  3. Click **OK**.
  
Vault creates _Milestones_ and _EDLs_ from templates related to the _Story Event_ at the _Study_ level, and adds the associated _Milestones_ and _EDLs_ to the _Study Country_ and _Study Site_ levels. After the asynchronous job completes, you'll receive a notification.

You can use the _Apply Milestone Template_ action during any lifecycle states it is configured for. This way, you can create any necessary _Milestones_ or _EDL Items_ for ad hoc events, as well as planned events.

Note that your Vault may have the _Apply Milestone Template_ entry action configured in addition to or instead of the user action. With this configuration, Vault automatically creates the appropriate records when a _Study_, _Study Country_, or _Study Site_ enters a certain lifecycle state. You can configure your Vault to [exclude lifecycle states from _Milestone_ creation](/en/lr/37552/#excluded-lifecycle-states) by enabling **Prevent Milestone Creation for Excluded Lifecycle States**. 

<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>: Enabling the <em>Enable Selective Ad Hoc Events</em> setting allows you to select which <em>Study Countries</em> and <em>Study Sites</em> Vault creates <em>Milestones</em> and <em>Expected Documents</em> for when you initiate an <em>Ad Hoc Event</em>. To enable this setting, navigate to <strong>Admin &gt; Settings &gt; Application Settings</strong> and select the <strong>Enable Selective Ad Hoc Events</strong> checkbox.</p>
    </div>
  </div>
</div>



### Milestones & Task Templates

Depending on your Vault's configuration, Admins can define the creation of templated _Clinical User Tasks_ associated with a _Template Milestone Set_.

When you create _Milestones_ from a _Template Milestone Set_, either as part of planned activities or an ad hoc event, Vault creates individual _Clinical User Tasks_ from the associated _Template Tasks_, sets their due dates, category, requiredness, and task priority, and populates the _Study_, _Study Country_, and _Study Site_ based on the context in which they were created. Vault relates the _Clinical User Task_ to the appropriate _Milestone_, based on the _Template Milestone_ selected on the _Template Task_ record. Vault creates _Clinical User Tasks_ as _Study Tasks_, _Study Country Tasks_, or _Study Site Tasks_, based on the level of the _Template Milestone Set_. Vault sends a notification about task creation, and the newly-created user tasks appear in the task assignee's _My Tasks_ tab. You can complete and work with these tasks as you would for any [user task](/en/lr/40751/).

Note that your Vault may have the _Apply Milestone Template_ entry action configured in addition to or instead of a user action. With this configuration, Vault automatically creates the appropriate _Clinical User Task_ records when an associated _Study_, _Study Country_, or _Study Site_ enters a certain lifecycle state.

## Completing Milestones

Milestones can be completed using manual or automated methods, but the most important step is to provide an _Actual Finish Date_. In the standard configuration, providing this date automatically updates the lifecycle state to _Complete_. 

If a milestone has an _Actual Finish Date_, the _% Complete_ field displays _100%_, even if your Vault allows a milestone to be completed before all expected documents are approved. Vault also prevents expected document removal from the milestone to preserve the milestone in the condition it was in when completed.

For completed milestones, Vault recalculates _% Complete_, or any of the metric fields on which it is based, only if the _Actual Finish Date_ value is removed.

### About Milestone Autocompletion {#autocompletion}

An Admin can configure your milestones to autocomplete. When the _Autocomplete_ field is set to _All Dependencies_ or _Any Dependencies_, Vault moves the milestone to the _Completed_ lifecycle state and populates the _Actual Finish Date_ field once dependent milestones are complete, EDL items have matched, and required Clinical User Tasks are complete. Vault uses the most recent date on previous milestones, matched documents, and required tasks for the milestone's _Actual Finish Date_.

Vault does not recalculate _% Complete_, or any of the metric fields on which it is based, on completed milestones.

<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>: Vault automatically calculates completeness metrics and autocompletion after a five-minute delay to ensure that the calculations account for related activities.</p>
    </div>
  </div>
</div>



Admins can also [set up milestone autocompletion](/en/lr/37552/#autocompletion) on your existing _Milestone_ object records.

### Milestone Hovercards {#hover-cards}

When you hover over a _Milestone_, Vault displays a hovercard for the record that allows you to quickly view a summary of the _Milestone_'s completeness. This hovercard includes:

  * _Milestone name_
  * _% Complete_; see [details below][17] for how Vault calculates this value
  * Status indicator icon, representing the milestone's _Completeness_ value
  * List of [_Milestone Dependencies_][18] with each record's _Completeness_, _Name_, _Planned Finish Date_, and _Actual Finish Date_
  * List of [expected documents](/en/lr/37991/) with the number of _Expected_, _Actual_, and _Approved_ documents related to the _Milestone_
  * List of [matched documents](/en/lr/32749/#matching) with each document's _Name_, _Status_, and _Version_
  * Counts of clinical user tasks, with the number of _Total_, _Complete_, _Required_, and _Complete Required_ clinical user tasks

Click a document or object record link in the hovercard to navigate to that document or record detail page. If you click a **View All** link, Vault navigates you to a list view, for example, a list of all _Milestone Dependencies_.


<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>: <em>Milestone</em> hovercards must be <a href="/en/lr/63304/#enabling_milestone_hovercards">enabled by an Admin</a>.</p>
    </div>
  </div>
</div>



### Milestone Completeness {#completeness}

Vault calculates the _% Complete_ for a milestone by adding _Completed Previous Milestones_ (`completed_previous_milestones__v`), _Completed EDL Item Records_ (`completed_edl_item_records__v`) and _Total Complete Required Tasks_ (`count_of_complete_required_tasks__v`), and dividing that total by the sum of _Total Previous Milestones_ (`total_previous_milestones__v`), _Total EDL Item Records_ (`total_edl_item_records__v`), and _Total Required Tasks_ (`count_of_required_tasks__v`).

Vault takes these values from _EDL Item_ object records. Note that the _\# Expected_ value of the _EDL Item_ record is not considered when calculating completeness.

In the _Completeness_ field, Vault references a milestone's _% Complete_ and displays the value as a status indicator icon. If a milestone has an _Actual Finish Date_, the _% Complete_ displays 100%, even if your Vault allows a milestone to complete before all expected documents are approved.

Vault does not recalculate _% Complete_, or any of the metric fields on which it is based, on completed milestones. It will only recalculate those fields if the value in _Actual Finish Date_ is removed.

<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>: Vault automatically calculates completeness metrics and autocompletion after a five-minute delay to ensure that the calculations account for related activities.</p>
    </div>
  </div>
</div>



## Automated Enrollment Milestones (CTMS) {#automated-enrollment-milestones}

An [Admin can configure your CTMS Vault](/en/lr/37552/#automated-enrollment-milestones) to automatically populate the _Actual Finish Dates_ of first and last subject-related milestones based on the corresponding dates on _Subject_ records at the site level and for a subject group or the study as a whole. For example, if the earliest _Screened Date_ of the _Subjects_ at a site is 10/27/2020, Vault automatically populates the _Actual Finish Date_ of the _First Subject Screened_ milestone for the site with 10/27/2020.

To utilize this feature, you must set the [_Metric Calculation_](/en/lr/52876/#metric-calculation) field to _Date-Based_ on the _Study_ record. If the _Metric Calculation_ field is set to _Status Snapshot_, Vault will not automatically populate the _Actual Finish Dates_ of milestones for the study.

<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>: Subject-related milestones without subject groups evaluate all subjects at the site, including subjects with subject group.</p>
    </div>
  </div>
</div>



Admins may also [disable the manual editing of _Actual Finish Dates_](/en/lr/37552/#milestone-date-locking) on Site-level _Automated Enrollment Milestones_. In these Vaults, users must update the data on the corresponding _Subject_ record to update the date on the Milestone.

### First Subject Milestones

The _Actual Finish Dates_ of first-subject related milestones are populated as follows:

|Milestone Type|Auto-Populated Value|
|--- |--- |
|_First Subject Consented_|The earliest _Initial Consent Date_ of the _Subject_|
|_First Subject Screened_|The earliest _Screened Date_ of the _Subject_|
|_First Subject In_|The earliest _Enrolled Date_ of the _Subject_|
|_First Subject Randomized_|The earliest _Randomized Date_ of the _Subject_|
|_First Subject Started Treatment_|The earliest _Started Treatment Date_ of the _Subject_|
|_First Subject Treated_|The earliest _End of Treatment Date_ of the _Subject_|
|_First Subject Started Follow Up_|The earliest _Started Follow Up Date_ of the _Subject_|
|_First Subject Out_|The earliest _End of Study Date_ of the _Subject_|

### Last Subject Milestones {#last-subject-milestones}

The _Actual Finish Date_ fields on last subject-related milestones are populated when you set the _No New Subjects_ checkbox for the _Study Site_ record and all subjects at the site meet the milestone criteria. Clearing the _No New Subjects_ checkbox on the _Study Site_ record clears dates from all related _Milestone_ records.

The _Actual Finish Dates_ of last-subject related milestones are populated as follows:

| Milestone Type | Auto-Populated Value |
| --- | --- |
| _Last Subject Consented_ | The latest _Initial Consent Date_ of the _Subject_ |
| _Last Subject Screened_ | The latest _Screened Date_ of the _Subject_ |
| _Last Subject In_ | The latest _Enrolled Date_ of the _Subject_ if all _Subjects_ for the _Study Site_ have either: <br> &nbsp; &nbsp; - A _Subject Status_ value of _Screen Failure_, _Enrolled_, _Randomized_, _Started Treatment_, _End of Treatment_, _Started Follow Up_, _Complete_, _Withdrawn_, or _Deleted in CDMS_ <br> &nbsp; &nbsp; - A value in the _Screen Failed Date_, _Enrolled Date_, _Randomized Date_, _Started Treatment Date_, _End of Treatment Date_, _Started Follow Up Date_, _Lost to Follow Up Date_, _End of Study Date_, or _Withdrawn Date_ |
| _Last Subject Randomized_ | The latest _Randomized Date_ of the _Subject_ if all _Subjects_ for the _Study Site_ have either: <br> &nbsp; &nbsp; - A _Subject Status_ value of _Screen Failed_, _Randomized_, _Started Treatment_, _End of Treatment_, _Start Follow Up_, _Lost to Follow Up_, _Complete_, _Withdrawn_, or _Deleted in CDMS_<br> &nbsp; &nbsp; - A value in the _Screen Failed Date_, _Randomized Date_, _Started Treatment Date_, _End of Treatment Date_, _Start Follow Up Date_, _Lost to Follow Up Date_, _End of Study Date_, or _Withdrawn Date_ |
| _Last Subject Started Treatment_ | The latest _Started Treatment Date_ of the _Subject_ if all _Subjects_ for the _Study Site_ have either: <br> &nbsp; &nbsp; - A _Subject Status_ value of _Screen Failed_, _Started Treatment_, _End of Treatment_, _Started Follow Up_, _Lost to Follow Up_, _Complete_, _Withdrawn_, or _Deleted in CDMS_ <br> &nbsp; &nbsp; - A value in the _Screen Failed Date_, _Started Treatment Date_, _End of Treatment Date_, _Started Follow Up Date_, _Lost to Follow Up Date_, _End of Study Date_, or _Withdrawn Date_ |
| _Last Subject Treated_ | The latest _End of Treatment Date_ or _Withdrawn Date_\* of the _Subject_ if all _Subjects_ for the _Study Site_ have either:<br> &nbsp; &nbsp; - A _Subject Status_ value of _Screen Failure_, _Withdrawn_, _End of Treatment_, _Started Follow Up_, _Lost to Follow Up_, _Complete_, or _Deleted in CTMS_ <br> &nbsp; &nbsp; - A value in the _Screen Failed Date_, _Withdrawn Date_, _End of Treatment Date_, _Started Follow Up Date_, _Lost to Follow Up Date_, or _End of Study Date_ fields<br><br>And at least one _Subject_ for the _Study Site_ has a value in the _Enrolled Date_ field<br><br>\* _Withdrawn Date_ is used if no _Subjects_ have a value in the _End of Treatment Date_ field |
| _Last Subject Started Follow Up_ | The latest _Started Follow Up Date_ or _Withdrawn Date_* of the _Subject_ if all _Subjects_ for the _Study Site_ have either:<br> - A _Subject Status_ value of _Screen Failure_, _Withdrawn_, _Started Follow Up_, _Lost to Follow Up_, _Complete_, or _Deleted in CDMS_ <br> - A value in the _Screen Failed Date_, _Withdrawn Date_, _Started Follow Up Date_, _Lost to Follow Up Date_, or _End of Study Date_ fields<br><br>\* _Withdrawn Date_ is used if no _Subjects_ have a value in the _Started Follow Up Date_ field |
| _Last Subject Out_ | The latest _End of Study Date_, _Withdrawn Date_, or _Lost to Follow Up_ date for the _Subject_ if all _Subjects_ for the _Study Site_ have either:<br> &nbsp; &nbsp; - A _Subject Status_ value of _Screen Failure_, _Withdrawn_, _Lost to Follow Up_, _Complete_, or _Deleted in CDMS_ <br> &nbsp; &nbsp; - A value in the _Screen Failed Date_, _Withdrawn Date_, _Lost to Follow Up_, or _End of Study Date_ fields<br><br>And at least one _Subject_ for the _Study Site_ has a value in the _Enrolled Date_ field  |

#### Incomplete Subject Status Dates

By default, the _Incomplete Subject Status Dates_ field on the _Subject_ object is inactive. When activated and set to _Yes_, Vault excludes blank _Subject Date_ fields from Automated Enrollment Milestones. 

For example, if a _Study Site_ has three _Subjects_, two of which are populated with _Enrolled Dates_ and one of which has a _Subject_ status of _In Screening_ and no _Enrolled Date_, Vault does not populate the _Last Subject In_ milestone since all criteria are not met. However, when _No New Subjects_ is checked, if the _Subject_ with the _In Screening_ status is also marked as _Yes_ in the _Incomplete Subject Status Dates_ field, Vault populates the _Last Subject In_ milestone.

### No Subjects Enrolled

The _No Subjects Enrolled_ field identifies any non-enrolling sites when you set the _No New Subjects_ checkbox for the _Study Site_ record. In your configuration, you can use this field to set a site's milestones and determine which milestones dependencies to inactivate. This ensures proper roll-up of milestone dates. Clearing the _No New Subjects_ checkbox on the Study Site record clears dates from all related _Milestone_ records and sets _No Subjects Enrolled_ to **False/No**.

## How to Add Milestones to Documents

In order to use milestones, an Admin must first add the _Milestone_ object document field to documents. An Admin can also configure a Vault to [populate the _Milestone_ field by EDL Item](/en/lr/37991/).

## Viewing Expected Documents

You can view all _Expected Document_ records associated with a _Milestone_ record using [EDL Hierarchical View](/en/lr/45400/).

## About Milestone Types {#milestone_types}

The _Milestone Type_ picklist field (`milestone_type__v`) is defined on the _Milestone_ object (`milestone__v`) and as a document field. Vault allows an Admin to define custom milestone types based on the level of detail needed when tracking study startup or TMF completeness. Vaults using Study Startup and the [associated milestone template set](/en/lr/37552/#ssu_templates) have [milestones types](/en/lr/37182/) pre-configured.

Your organization may expand milestone types to include higher levels of detail. This is common in large organizations who want to leverage milestone data coming from a CTMS or other project management source.

## About Global Milestone Types {#about-global-milestone-types}

If you use Study Startup, your Admin can map standard milestone types and offset types to custom milestone types to enable Vault to automatically calculate cycle times for completed milestones.



<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>: Note that your Admin must <a href="/en/lr/37552/#configuring-automated-calculation-of-milestone-cycle-times">configure <em>Global Milestone Mapping</em></a> for Vault to calculate cycle times.</p>
    </div>
  </div>
</div>



## About Cycle Times {#about-cycle-times}

Vaults with Study Startup automatically calculate cycle times when an Admin has [mapped _Global Milestone Types_ to custom _Milestone Types_](/en/lr/37552/#configuring-automated-calculation-of-milestone-cycle-times). Vault uses a system-managed job to calculate cycle times based on the actual offset times between milestones in your Vault. When active, the job calculates _Cycle Times_ for milestones that meet one of the following conditions:

  * A new milestone record was created and has an _Actual Finish Date_
  * The _Actual Finish Date_ field was populated or was modified since the job ran the day prior
  * One of the following fields was modified since the job ran the day prior:
      * _Milestone Type_
      * _Study_
      * _Study Country_
      * _Site_

The job applies existing _Cycle Time_ records to milestones, creates new records if needed, and deletes records that no longer apply.

How Vault populates new _Cycle Time_ records for _Finish to Finish_ offset types:

| Field | Value |
| --- | --- |
| _Cycle Time_ | Number of days between the _Actual Finish Dates_ of the next and previous milestones<br><br>If the difference is <=0, the record is deleted |
| _Start Date_ | _Actual Finish Date_ of the _Previous Milestone_ |
| _End Date_ | _Actual Finish Date_ of the _Next Milestone_ |
| _Object Type_ | _Object Type_ of the corresponding _Global Milestone Offset_ record |
| _Study_ | _Study_ of the corresponding values in the _Next Milestone_ record |
| _Study Country_ | _Study Country_ of the corresponding values in the _Next Milestone_ record |
| _Site_ | _Site_ of the corresponding values in the _Next Milestone_ record |
| _Previous Milestone_ | Based on the configuration of the _Global Milestone Offset_ record |
| _Next Milestone_ | Based on the configuration of the _Global Milestone Offset_ record |


## About Milestone Object Types

If you use Study Startup, you may have default object types on the _Milestone_ object. _Milestone_ object types specify different fields and page layouts to differentiate types of milestones, like those related to submissions or study startup. You can select a _Milestone_ object type when creating a new milestone record or by editing the _Milestone Object Type_ field.

## About Milestone Dependencies {#milestone_dependencies}

Each _Milestone Dependency_ object record represents preconditions for a _Milestone_'s status. You can configure the order of milestones and the dependencies involved in milestone completion. When related to _Milestone Dependency_ records, _Milestone_ records can have [many-to-many relationships](/en/lr/28740/). For example, one milestone may depend on the completion of three other milestones. Milestone dependencies follow the _Study_, _Study Country_, and _Study Site_ hierarchy.

As of V16, milestone dependencies replaced "Up" and "Previous" milestone fields. (["Up" and "Previous" fields are still available](/en/lr/37622/).)

### Example: Protocol Approval & Study Start

For example, for a study to enter the _Protocol Approval_ milestone, the milestone _Study Start_ must be in _Completed_ status. This can be ensured using a "Finish to Finish" milestone dependency. An Admin can enforce the order of milestones by using a lifecycle and [entry criteria](/en/lr/37552/#completeness).

### Example: Site Initiation

For example, a "rollup" type dependency can automatically fill the _Actual Finish Date_ field on the _Country First Site Initiated_ milestone with the earliest _Actual Finish Date_ from all of the _Site Initiated_ milestones associated with that _Study Country_. In this example, the _Country First Site Initiated_ milestone has multiple _Milestone Dependencies_. These "rollup" type dependencies all use _Country First Site Initiated_ as the _Next Milestone_ field, and each _Site Initiated_ milestone is the _Previous Milestone_ for each dependency.

## Milestone Dependency Types {#dependency_types}

A milestone dependency's type determines how it functions:

|Finish to Finish|A user can't set a _Milestone_'s status as _Done_ until the dependent _Milestone_ is _Done_. When the _Date Offset_ (`date_offset__v`) field is populated, an update to the _Previous Milestone_'s (`previous_milestone__v`) baseline, planned, or actual dates will trigger the _Update Dependencies_ workflow to update the corresponding date on the _Next Milestone_ (`next_milestone__v`) by adding the _Date Offset_ to the _Previous Milestone_'s date.|

[Enabling Milestone Rollups](/en/lr/37552/#rollups) introduces behavior for two other milestone dependency types. You can also enable Milestone Rollup Enhancements, which adds additional checks and can provide more accurate rollup behavior in some scenarios.

<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>: Your Vault may have customizations that modify the Standard Behavior listed here.</p>
    </div>
  </div>
</div>



|Milestone Dependency Type|Standard Behavior (Milestone Rollups enabled)|Enhanced Behavior (Milestone Rollup Enhancements enabled)|
|--- |--- |--- |
|Rollup (Max date)|Vault will not populate a milestone's baseline, planned, and actual date fields until the milestones indicated in the dependency have relevant date values. Vault updates the field values to the latest possible date when the previous milestones are updated. If you set the _Block Automatic Updates_ field to _Yes_, or select values in the [_Block Rollup Dates_](/en/lr/37552/#about-milestone-rollups) field Vault does not update the baseline and planned dates based on previous milestones. Vault will only update the actual date fields based on previous milestones.|Vault checks to see if any previous milestones have a null date value. If so, the next milestone retains the null value; otherwise, the next milestone uses the latest date. Both the milestone and the dependency must be active. Vault will not populate a milestone's baseline, planned, and actual date fields until all of the previous milestone dates have values. Once all previous milestone dates are populated (or milestones or dependencies are inactivated), then Vault populates the milestone's date with the latest possible date, which is the accurate last date.|
|Rollup (Min date)|Vault will not populate a milestone's baseline, planned, and actual date fields until the milestones indicated in the dependency have relevant date values. Vault updates the field values to the earliest possible date when the previous milestones are updated. If you set the _Block Automatic Updates_ field to _Yes_, or select values in the [_Block Rollup Dates_](/en/lr/37552/#about-milestone-rollups) field Vault does not update the baseline and planned dates based on previous milestones. Vault will only update the actual date fields based on previous milestones.|Vault gives the next milestone the earliest date value, or null if no earliest date exists.  Both the milestone and the dependency must be active.|

If needed, an Admin can configure additional [milestone dependency types](/en/lr/32857/).

<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 a milestone dependency involves updating any date values, the audit logs record it as a System Action. The action is not dependent on the permissions of the user changing the date values on the previous milestone.</p>
    </div>
  </div>
</div>



## How to Create a Milestone Dependency

You can create milestone dependencies individually or from milestone templates using the **Create Milestones from Template** action. If you created milestones individually, you must also configure milestone dependencies individually:

  1. Open the _Milestone Dependency_ object in **Admin > Business Admin** or in a custom tab.
  2. Click **Create**.
  3. Fill the required fields and relate the _Milestone Dependency_ record to the correct _Milestone_ records.
  4. For Finish to Finish type dependencies, enter a number of days in the **Date Offset** field. This number of days (true days) represents the number of days Vault adds to dependent milestones with the [**Apply Updated Dependencies** workflow step][15].
  5. Click **Save**.

When you create a new _Finish to Finish_ dependency for a for a planned _Previous Milestone_, Vault automatically populates the _Baseline_ and _Planned Dates_ on the _Next Milestone_ using the _Date Offset_ value.

## Updating Dependent Milestones {#updated_dependencies}

<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 is only available for <em>Milestones</em> connected by <em>Finish to Finish</em> type milestone dependencies.</p>
    </div>
  </div>
</div>



Vault automatically runs the _Update Dependencies_ workflow when you create a new _Finish to Finish_ dependency for a planned _Milestone_ or when a user or the system updates an upstream _Milestone_ date to recalculate and update related downstream _Milestone_ dates.

You can update _Baseline_, _Planned_, and _Actual_ dates of your _Milestone_ records and then have Vault propagate those changes to all downstream _Milestone_ records. When a user updates a _Milestone_ record's _Baseline_, _Planned_, or _Actual_ date, Vault initiates the _Apply Updated Dependencies_ system action to update your dependent milestones based on the _Date Offset_ field. Vault also reevaluates all existing rollups affected by the date changes. Once complete, Vault sends users a notification.

If the _Offset Date_ value that causes a _Planned_ date for a downstream _Milestone_ record lands on a Saturday or Sunday, Vault automatically shifts the _Planned_ date to the following Monday. 

Set the _Block Automatic Updates_ field to _Yes_ to prevent the _Update Dependencies_ workflow from updating the baseline and planned date fields on the next _Milestone_ record. This setting supports top-down planning for the study.

<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>: Vault cannot initiate the <em>Update Dependencies</em> workflow when a <em>Milestone</em> record is involved with a different object workflow. Wait until the active workflow ends before updating dependent milestones.</p>
    </div>
  </div>
</div>



## Related Permissions

You can complete all steps in this article with the standard Business Admin, System Admin or Vault Owner profile.

If your Vault uses custom security profiles, your profile must grant the following [permissions](/en/lr/22824/):

| Type | Permission | Controls |
| --- | --- | --- |
| Security Profile | Objects: Template Milestone Master Set | Ability to view _Template Milestone Master Set_ records; necessary to create milestones from template |
| Security Profile | Objects: Template Milestone Set | Ability to view _Template Milestone Set_ records; necessary to create milestones from template |
| Security Profile | Objects: Template Milestone | Ability to view _Template Milestone_ records; necessary to create milestones from template |
| Security Profile | Objects: Template Task | Ability to view _Template Task_ records; necessary to create milestones from template  |
| Security Profile | Objects: Milestone Dependency Template |  Ability to view _Milestone Dependency Template_ records; necessary to create milestones from template |
| Security Profile | Objects: Selected Milestone Set | Ability to view _Selected Milestone Set_ records; necessary to create milestones from template |
| Security Profile | Objects: Story Event | Ability to view _Story Event_ records; necessary to create milestones from a _Story Event_ |
| Security Profile | Objects: EDL Template | Ability to view _EDL Template_ records; necessary for creating milestones from templates including EDLs |
| Security Profile | Objects: EDL Item Template | Ability to view _EDL Item Template_ records; necessary for creating milestones from templates including EDLs |
| Security Profile | Objects: Milestone | Ability to create and edit _Milestone_ records; you must have _Create_ and _Edit_ permissiond on all object types for the _Milestone_ object |
| Security Profile | Objects: Cycle Time | Ability to read _Cycle Time_ records |
| Security Profile | Objects: Milestone Dependency | Ability to create and edit _Milestone Dependency_ records; you must have _Create_ and _Edit_ permissions on all object types for the _Milestone Dependency_ object. |
| Security Profile | Objects: Milestone Item | Ability to create and edit _Milestone Item_ records |
| Security Profile | Objects: Clinical User Task | Ability to create and edit _Clinical User Task_ records |
| Security Profile | Objects: EDL | Ability to create and edit _EDL_ records; necessary for creating milestones from templates including EDLs |
| Security Profile | Objects: EDL Item | Ability to create and edit _EDL Item_ records; necessary for creating milestones from templates including EDLs |


 [2]: #about_milestone_templates
 [15]: #updated_dependencies
 [16]: #milestone_types
 [17]: #completeness
 [18]: #milestone_dependencies
