public async Task ExecuteAsync(IProcessContext processContext)
        {
            var logger = processContext.ServiceProvider.GetService<ILogger>()?.ForContext<KaskoSasCheckProcess>();

            var deal = Deal.Get(processContext);
            var basket = Basket.Get(processContext);
            var recalculationChanges = RecalculationChanges.Get(processContext);

            var checkKaskoUpProjectServiceAdapter = processContext.ServiceProvider.GetService<ICheckKaskoUpProjectServiceAdapter<Basket, Deal>>();
            var autoCostCalculator = processContext.ServiceProvider.GetService<IAutoCostCalculator>();
            var validationResultsAggregator = processContext.ServiceProvider.GetRequiredService<IValidationResultsAggregator>();
            var entityContext = processContext.ServiceProvider.GetRequiredService<IEntitySettingsManager>();
            var priceMax = await SasRequestResultHelper.GetMaxPriceAsync(autoCostCalculator, deal);

            var integrationLoginName = processContext.GetCustomVariable(Link2Constants.IntegrationLoginKey) as string;

            try
            {
                var sw = Stopwatch.StartNew();

                var requestGuid = Guid.NewGuid().ToString();
                if (deal.AutoDeal.IsSasCoefficientOutdate != false)
                {
                    var firstCheckResult = await checkKaskoUpProjectServiceAdapter.FirstCheckBasketAsync(basket, deal, priceMax, requestGuid);

                    AutoCheckResultHelper.CreateKaskoRtdmAutoCheckResult(deal, firstCheckResult);
                }

                var secondCheckResult = await checkKaskoUpProjectServiceAdapter.SecondCheckBasketAsync(basket, deal, requestGuid);
                var decision = secondCheckResult.FinDecision?.ToLower();

                sw.Stop();

                logger?.ForContext("BasketNumber", basket.Number)
                    .Information("Блок проверки Check Kasko Project SAS: {TotalTime} ms", sw.ElapsedMilliseconds);

                AutoCheckResultHelper.CreateKaskoRtdmPassportCheckAutoCheckResult(deal, secondCheckResult);

                var comment = $"Проверка через SAS. {decision}";

                logger?.ForContext("BasketNumber", basket.Number)
                    .Information(comment, sw.ElapsedMilliseconds);

                if (secondCheckResult.Inspection || (decision is KaskoSasCheckProcessConstants.KaskoSasCheckNoDecision && deal.GetAuto().HasMileage == true))
                {
                    deal.EntityContext[PsoEntityValuesConstants.IsInspectionForPartnerBySasDecision] = true;
                }

                UpdateSasApprovalInDeal(deal, SASApprovalStatusCodeHelper.GetSASStatusCode(decision), secondCheckResult.SasCoefficient);
                string exitBranch = string.Empty;

                switch (decision)
                {
                    case KaskoSasCheckProcessConstants.KaskoSasCheckAccept:
                        UrmHelper.SetUrmApprovalNotRequired(deal);
                        exitBranch = ExitBranch_TargetedSegment;
                        break;
                    case KaskoSasCheckProcessConstants.KaskoSasCheckUrm:
                        UrmApprovalStatusHelper.SetURMApprovalStatus(basket, false, comment); // возможно не нужен этот вызов, поресерчить
                        FixUrm(deal, requestGuid, processContext, integrationLoginName, logger, decision);
                        exitBranch = ExitBranch_NotTargetedSegment_CorrData;
                        break;
                    case KaskoSasCheckProcessConstants.KaskoSasCheckNoDecision:
                        UrmApprovalStatusHelper.SetURMApprovalStatus(basket, false, comment); // возможно не нужен этот вызов, поресерчить
                        FixUrm(deal, requestGuid, processContext, integrationLoginName, logger, decision);
                        exitBranch = ExitBranch_NotTargetedSegment_CorrData;
                        break;
                    case KaskoSasCheckProcessConstants.KaskoSasCheckReject:
                    default:
                        SetUrmStatus(deal, UrmApprovalStatusCodes.Rejected, requestGuid, decision);
                        AddValidationError(validationResultsAggregator);
                        exitBranch = ExitBranch_NotTargetedSegment_Reject;
                        break;
                }

                processContext.SetExitBranch(exitBranch);
                logger?.ForContext("BasketNumber", basket.Number).Information($"Переход на {exitBranch}", sw.ElapsedMilliseconds);

                var dataServiceInvoker = processContext.ServiceProvider.GetRequiredService<IDataServiceInvoker>();
                dataServiceInvoker.Publish(deal.AutoDeal, _aggregateName);
            }
            catch (Exception ex)
            {
                logger.Error(ex, $"Ошибка в работе блока {GetType().Name}");

                AddValidationError(validationResultsAggregator);

                processContext.SetExitBranch(ExitBranch_NotTargetedSegment_Reject);
                logger?.ForContext("BasketNumber", basket.Number)
                                .Information($"Переход на {ExitBranch_NotTargetedSegment_Reject}");
            }
        }

        private void FixUrm(Deal deal, string requestGuid, IProcessContext context, string integrationLoginName, ILogger logger, string decision)
        {
            bool needCheckUrm = NeedCheckUrm(decision, deal, context, integrationLoginName, logger);

            if (needCheckUrm)
            {
                UrmHelper.AddOrUpdateUrmApprovalToDeal(deal, UrmApprovalStatusCodes.Required, requestGuid);
            }
            else
            {
                UrmHelper.SetUrmApprovalNotRequired(deal);
            }
        }

Мне надо добавить логику назначения обязательности проверок на основе изменения чувствительных данных

Проверка	Чувствительные данные
УРМ	
Добавление нового ЛДУ
Изменение данных в полях фамилия, имя, отчество и дата рождения по ранее согласованным ФЛ (страхователю, собственнику, ЛДУ)
Изменение данных в поле ИНН по ранее согласованным ЮЛ (страхователю, собственнику, лизингополучателю)
Изменение данных в полях: VIN, рег. знак по ранее согласованному ТС.
Увеличение страховой суммы >10% от ранее согласованной.
ПСО 	Нет перерасчета после прохождения ПСО
ОТА	Нет перерасчета после прохождения ОТА