Источники пациентов — управляемый справочник
Список источников «Откуда узнал о клинике» теперь управляется из админки — без разработчика и без деплоя.
Что это
Раньше список «Откуда узнал о клинике» (Сарафан, Реклама, Соцсети, Сайт, 2ГИС, Google, Другое) был жёстко зашит в код — изменить его мог только разработчик через правку и пересборку фронтенда.
Теперь это управляемый справочник: список источников хранится в базе данных и редактируется прямо в админке, без участия разработчика и без деплоя.
Где используется
Карточка пациента (визит → информация о пациенте → редактирование) — поле «Откуда узнал»
Создание записи на приём — при добавлении нового пациента система спрашивает, откуда он узнал о клинике
Оба места теперь подгружают актуальный список источников с сервера.
Как управлять источниками
Открыть Админка → Финансы и аналитика → Источники пациентов (доступно директору и выше)
В открывшемся окне можно:
Добавить новый источник (название + порядок сортировки)
Редактировать название и порядок существующего
Скрыть/показать источник (значок глаза) — скрытые не предлагаются при выборе, но не удаляются из истории пациентов
Удалить источник полностью
Технические детали (для разработчика)
Технические детали (для разработчика)
Таблица: patient_source_types (id, name, sort_order, is_active)
Колонка patient.source изменена с ENUM на VARCHAR(50) — теперь принимает любое значение из справочника
API:
GET /api/patient-sources — активные источники (любой авторизованный пользователь)
GET /api/patient-sources/all — полный список, включая скрытые (директор+)
POST /api/patient-sources — добавить
PUT /api/patient-sources/:id — изменить (название, сортировка, активность)
DELETE /api/patient-sources/:id — удалить
При сохранении источника пациента бэкенд проверяет, что значение существует и активно в справочнике — иначе записывает NULL
