This function constructs the immunization date per individual by searching for the vaccine dates that satisfy the condition: vacc_date_col + immunization_delay <= limit_date, where limit_date is defined following the hierarchy: censoring_date_col, outcome_date_col, end_cohort. If a date is not provided/found the function takes the next one in the hierarchy. If several columns with vaccine dates are provided, the function selects by default the closest vaccine date to limit_date. However, it can also select the first vaccine date by setting take_first = TRUE.