-- Обновление данных для преобразования старых значений в новые
UPDATE AKUZ.T_REK_REFFERAL
SET 
    DNPerpose = CASE 
                    WHEN DNPerpose IN (0, 1) THEN 0 -- Постановка
                    WHEN DNPerpose IN (2, 3) THEN 1 -- Снятие
                    ELSE DNPerpose -- Оставляем как есть для других значений
                END,
    DnProfile = CASE 
                    WHEN DNPerpose IN (0, 2) THEN 0 -- Психиатрический
                    WHEN DNPerpose IN (1, 3) THEN 1 -- Наркологический
                    ELSE 0 -- По умолчанию
                END
WHERE DNPerpose IS NOT NULL;


-- Обновление поля DnPerpose в AKUZ.T_REK_EXPERTISE_MENTAL
UPDATE AKUZ.T_REK_EXPERTISE_MENTAL
SET DnPerpose = CASE 
    WHEN DispToEnd IS NOT NULL THEN 1 -- Снятие с наблюдения (есть ссылка на диспансеризацию)
    ELSE 0 -- Постановка на наблюдение (нет ссылки)
END
WHERE DnPerpose IS NULL; -- Обновляем только пустые значения