Решения · Стоматологические клиники
Список услуг с отметкой покрытия обязательной страховкой, редактируемый ресепшеном — не PDF с ценами, отправленный по электронной почте.
Сайт стоматологической клиники оценивается по одному критерию: находит ли человек нужную ему услугу, с ценой и единицей измерения — за зуб, за челюсть, за сеанс — и понимает ли он, входит это в страховку или нет. Остальное — декор. Мы строим структуру, которая это удерживает, и панель, через которую персонал меняет всё сам.
Уже построеноРаботу можно проверить извне прямо сейчас: публичные данные районного стоматологического центра, которым мы управляем, выдаются как структурированный файл — 89 услуг, каждая с категорией, подкатегорией, наименованием, ценой, единицей измерения и индикатором права на обязательное страхование, из них 27 помечены как подходящие; 7 категорий и 10 подкатегорий, проверенные нами 06.09.2026. Вторая часть доказательства — защита, с diff в истории: при приёме пароль администратора сравнивался в браузере и попадал в публичный JavaScript-пакет, а записи в интерфейс программирования могли делать любые пользователи из интернета. Корректная оговорка, чтобы не приписывать себе больше, чем наше: первая версия сайта не наша. Вклад, который можно показать через diff, — приём, защита, типы, непрерывная интеграция и гигиена зависимостей.
Стоматологическая клиника не продает «услуги». Она продает очень длинный список тарифных позиций с единицами, которые не похожи ни на что в другой сфере: за зуб, за челюсть, за удаление, за пролеченный случай, за сеанс, за визит, за вмешательство. Человек, который ищет в интернете, ищет не клинику, а свою позицию: сколько стоит удаление, оплачивается ли за зуб или за визит, покрывается ли страховкой. Сайт, который отвечает на это, полезен; а тот, у которого есть страница «Цены» с прикрепленным PDF, — нет.
Второе, чего требует реальность клиники, — чтобы список можно было менять без программиста. Тарифы меняются, врачи меняются, график неотложной помощи зимой объявляют иначе. Если каждое изменение проходит через разработчика, список остается старым и через несколько месяцев пациенты приходят с прошлогодней ценой. Структура, которую мы строим, хранит публичные данные — услуги и команду — в структурированных файлах, читаемых и интерфейсом программирования, и непосредственно видимой частью сайта, а персонал редактирует их из панели.
Третье, чего никто не просит в brief и что важнее всего, — кто может писать в этот список. При передаче проекта, о котором мы пишем здесь, любой из интернета мог отправить запись в интерфейс программирования, а пароль панели попадал в пакет JavaScript, выдаваемый браузеру, — потому что его проверка выполнялась в браузере. Мы перенесли проверку на сервер: пароль больше не покидает сервер, обратно возвращается подписанный жетон, действительный двенадцать часов, с лимитом восемь попыток за пятнадцать минут на IP-адрес и сравнениями в постоянное время; интерфейс слушает только на локальном адресе, значит, веб-сервер — единственный публичный путь.
Маркировка покрытия по обязательному страхованию заслуживает отдельного предложения, потому что это поле с наибольшей ценностью для пациента и наибольшим риском для клиники: это утверждение с последствиями. Поэтому оно живет как дата, редактируемая учреждением, а не как текст, написанный нами на странице; мы строим поле, отображение и возможность исправить его за минуту.