Разработка сайта медицинской клиники на 1С-Битрикс
Сайт медицинской клиники — это одновременно точка входа для пациентов, интерфейс записи на приём и юридически значимый ресурс, к которому предъявляют требования Роскомнадзор и поисковые системы. Google относит медицинские сайты к категории YMYL (Your Money or Your Life), а значит, технические ошибки в структуре или контенте напрямую влияют на позиции в поиске.
На 1С-Битрикс клиника реализуется через связку инфоблоков (врачи, услуги, отделения), модуль веб-форм или кастомного компонента записи, и интеграции с медицинской информационной системой. Разберём подробно два ключевых блока: онлайн-запись и интеграцию с МИС.
Онлайн-запись на приём и интеграция с МИС
Это самая технически сложная часть проекта. Запись на приём — не просто форма обратной связи. Пациент должен выбрать врача, специализацию, дату и время из реально доступных слотов, а данные должны попасть в расписание клиники без ручного переноса.
Архитектура записи
Компонент записи работает по следующей схеме:
- Пациент выбирает направление (терапевт, кардиолог, УЗИ)
- Система показывает врачей, ведущих приём по этому направлению
- Для выбранного врача подгружается расписание — свободные слоты
- Пациент выбирает дату/время, заполняет данные (ФИО, телефон, полис — при необходимости)
- Заявка фиксируется локально в Битрикс и отправляется в МИС
Расписание хранится в Highload-блоке DoctorSchedule с полями:
| Поле | Тип | Назначение |
|---|---|---|
UF_DOCTOR_ID |
Привязка к элементу | ID врача из инфоблока |
UF_DATE |
Дата | Дата приёма |
UF_TIME_FROM |
Строка | Начало слота (HH:MM) |
UF_TIME_TO |
Строка | Конец слота |
UF_STATUS |
Список | free / booked / blocked |
UF_PATIENT_NAME |
Строка | ФИО пациента (после записи) |
UF_EXTERNAL_ID |
Строка | ID записи в МИС |
Свободные слоты подгружаются AJAX-запросом. Компонент на фронтенде отрисовывает календарную сетку на неделю или месяц. При выборе слота — блокировка на 5-10 минут (таймер резерва), чтобы исключить двойную запись.
Интеграция с МИС: МЕДИАЛОГ, 1С:Медицина
МИС — это система, в которой живёт реальное расписание клиники. Без интеграции запись на сайте превращается в заявку, которую администратор вручную переносит в МИС. Это работает на потоке 10-20 записей в день, но не масштабируется.
МЕДИАЛОГ предоставляет REST API для работы с расписанием. Типовые эндпоинты:
-
GET /schedule/free-slots— получение свободных слотов по врачу и периоду -
POST /appointment/create— создание записи -
GET /appointment/{id}/status— проверка статуса
Интеграция реализуется через кастомный модуль Битрикс. Создаётся класс-обёртка для HTTP-запросов к API МЕДИАЛОГ, который вызывается из компонента записи. Расписание кэшируется в Highload-блоке с TTL 5-15 минут и обновляется при каждом запросе свободных слотов.
1С:Медицина — обмен через COM-объект или HTTP-сервис на стороне 1С. Формат данных — JSON или XML, зависит от версии конфигурации. Для 1С:Медицина. Больница используется стандарт HL7 FHIR для обмена ресурсами типа Appointment, Schedule, Slot.
Пример структуры FHIR-ресурса Slot:
Slot: {status: "free", start: "2026-03-15T09:00:00", end: "2026-03-15T09:30:00", schedule: {reference: "Schedule/doctor-42"}}
Критически важный момент — обработка конфликтов. Пациент записался на сайте, но в МИС слот уже занят (администратор записал по телефону). Решение — синхронная проверка в момент подтверждения записи: перед финальным POST делается повторный GET свободных слотов. Если слот уже занят — пациенту показывается ближайшая альтернатива.
Уведомления
После записи — цепочка уведомлений:
- SMS пациенту (через SMS-шлюз: SMS.ru, SMSC.ru) — подтверждение записи
- Email с деталями приёма
- Напоминание за 24 часа и за 2 часа — через
\Bitrix\Main\Mail\Eventили внешний сервис - Уведомление врачу/администратору — в CRM Битрикс как активность
YMYL-контент и E-E-A-T
Google оценивает медицинские сайты по критериям Experience, Expertise, Authoritativeness, Trustworthiness. Это не абстрактные рекомендации — сайты клиник, не соответствующие E-E-A-T, теряют до 70% органического трафика после обновлений алгоритма.
Страницы врачей
Инфоблок Doctors со свойствами:
- ФИО, должность, стаж — текстовые свойства
-
Специализации — множественная привязка к справочнику (Highload-блок
Specializations) - Образование, дипломы — множественное свойство типа «Файл» для сканов + текстовое для описания
-
Публикации — привязка к инфоблоку
Publications(название, журнал, год, DOI) - Сертификаты — файлы с датами выдачи и истечения
Каждая страница врача должна содержать структурированные данные Schema.org типа Physician:
{
"@type": "Physician",
"name": "Иванов Иван Петрович",
"medicalSpecialty": "Кардиология",
"memberOf": {"@type": "MedicalOrganization", "name": "Клиника N"},
"alumniOf": "РНИМУ им. Н.И. Пирогова"
}
Встраивается через компонент, формирующий JSON-LD в <head> страницы.
Страница клиники
Разметка MedicalOrganization включает: название, адрес, телефон, лицензию, часы работы, геокоординаты. Лицензия — обязательный элемент. Номер лицензии, кем выдана, дата — выводятся в подвале каждой страницы и размечаются в Schema.org.
Каталог услуг
Инфоблок Services с иерархией разделов: направление → категория → услуга. Каждая услуга содержит:
- Название и описание (SEO-оптимизированный текст, написанный врачом или под его редакцией)
- Код услуги по номенклатуре клиники
- Цена — свойство торгового каталога (если подключён модуль
catalog) или числовое свойство инфоблока - Противопоказания, подготовка к процедуре — детальное описание
- Привязка к врачам, оказывающим услугу
Цены на медицинские услуги — отдельная тема. Прейскурант публикуется в соответствии с требованиями Постановления Правительства РФ №1006. Реализуется как страница со всеми услугами в табличном виде (компонент catalog.section.list в режиме таблицы) с возможностью скачать PDF-версию прейскуранта.
Соответствие 152-ФЗ
Любая форма, собирающая персональные данные пациентов, требует:
- Согласие на обработку персональных данных — чекбокс с ссылкой на политику
- Политика обработки ПДн — отдельная страница, доступная с каждой формы
- SSL-сертификат — обязательно, без исключений
- Хранение данных на территории РФ — хостинг в российском дата-центре
- Уведомление Роскомнадзора о начале обработки ПДн
В Битрикс модуль main поддерживает настройку согласия на обработку ПДн через «Соглашения» (раздел «Настройки» → «Соглашения»). Привязка соглашения к веб-форме — через параметр компонента.
Для медицинских данных (диагнозы, результаты обследований) требования жёстче — это специальная категория ПДн по 152-ФЗ. На сайте клиники такие данные хранить не рекомендуется; личный кабинет пациента должен отображать их из МИС по API, не сохраняя локально.
Дополнительные модули
Новости и статьи — инфоблок с обязательным указанием автора-врача (для E-E-A-T). Привязка к инфоблоку Doctors через свойство типа E.
Отзывы — инфоблок Reviews с модерацией. Свойства: текст, оценка, привязка к врачу, привязка к услуге, дата визита. Публикация только после проверки администратором (ACTIVE = N по умолчанию).
Акции — инфоблок с датами активности (свойства DATE_ACTIVE_FROM / DATE_ACTIVE_TO). Автоматическое скрытие просроченных акций.
Сроки реализации
| Масштаб | Описание | Срок |
|---|---|---|
| Небольшая клиника | 5-10 врачей, каталог услуг, форма записи без интеграции с МИС | 6-8 недель |
| Средняя клиника | 20-50 врачей, интеграция с МИС, личный кабинет пациента | 12-16 недель |
| Многопрофильный центр | 100+ врачей, несколько филиалов, полная интеграция с МЕДИАЛОГ/1С:Медицина, мобильная версия с push-уведомлениями | 20-28 недель |
Основной риск по срокам — интеграция с МИС. Документация API бывает неполной, тестовые среды — нестабильными. Закладывайте буфер.







