Розробка сайту стоматології на 1С-Бітрікс

Наша компанія займається розробкою, підтримкою та обслуговуванням рішень на Бітрікс та Бітрікс24 будь-якої складності. Від простих односторінкових сайтів до складних інтернет-магазинів, CRM систем з інтеграцією 1С та телефонії. Досвід розробників підтверджено сертифікатами від вендора.
Пропоновані послуги
Показано 1 з 1 послугУсі 1626 послуг
Розробка сайту стоматології на 1С-Бітрікс
Складна
від 1 тижня до 3 місяців
Часті питання

Наші компетенції:

Етапи розробки

Останні роботи

  • image_website-b2b-advance_0.png
    Розробка сайту компанії B2B ADVANCE
    1262
  • image_bitrix-bitrix-24-1c_fixper_448_0.png
    Розробка веб-сайту для компанії ФІКСПЕР
    851
  • image_bitrix-bitrix-24-1c_development_of_an_online_appointment_booking_widget_for_a_medical_center_594_0.webp
    Розробка на базі Бітрікс, Бітрікс24, 1С для компанії Development of an Online
    585
  • image_bitrix-bitrix-24-1c_mirsanbel_458_0.webp
    Розробка на базі 1С Підприємство для компанії МИРСАНБЕЛ
    751
  • image_crm_dolbimby_434_0.webp
    Розробка сайту на CRM Бітрікс24 для компанії DOLBIMBY
    657
  • image_crm_technotorgcomplex_453_0.webp
    Розробка на базі Бітрікс24 для компанії ТЕХНОТОРГКОМПЛЕКС
    989

Розробка сайту стоматології на 1С-Бітрікс

Стоматологічна клініка — це не загальна клініка з приставкою «зубна». Специфіка істотна: пацієнт приходить не на один прийом, а на план лікування з кількох візитів та процедур, вартість якого хоче зрозуміти заздалегідь. Галерея робіт до/після — основний аргумент при виборі клініки. Запис привʼязаний не просто до лікаря, а до лікаря конкретного напрямку, і розклад залежить від обладнання кабінету.

На 1С-Бітріксі стоматологічний сайт будується з інфоблоків послуг, лікарів, робіт та кастомного калькулятора плану лікування. Калькулятор — найбільш нетривіальна частина, на ній зупинимося детально.

Калькулятор вартості плану лікування

Пацієнт заходить на сайт стоматології з конкретною проблемою: болить зуб, потрібна коронка, хоче вирівняти прикус. Але підсумкова вартість складається з ланцюжка процедур: консультація → діагностика (КЛКТ-знімок) → лікування → протезування. Калькулятор повинен зібрати цей ланцюжок і показати діапазон вартості.

Структура даних

Основа — інфоблок Services з ієрархією розділів за напрямками:

  • Терапія (лікування карієсу, пульпіту, періодонтиту)
  • Ортодонтія (брекети, елайнери)
  • Імплантація (установка імпланта, формувач ясен, коронка на імплант)
  • Хірургія (видалення, костна пластика, синус-ліфтинг)
  • Ортопедія (вінири, коронки, мости, знімні протези)
  • Дитяча стоматологія
  • Професійна гігієна та відбілювання

У кожної послуги — властивості:

Властивість Тип Призначення
PRICE_FROM Число Ціна від (у рублях)
PRICE_TO Число Ціна до
DURATION_MINUTES Число Тривалість процедури
REQUIRED_EQUIPMENT Привʼязка до HL Необхідне обладнання кабінету
LINKED_SERVICES Множественна привʼязка E Супутні процедури
IS_REQUIRED_STEP Логічна Обов'язковий етап у плані
SORT_IN_PLAN Число Порядок у плані лікування
TOOTH_ZONE Список Зона: передні / жувальні / всі

Ключова властивість — LINKED_SERVICES. Вона визначає, які процедури включаються в план автоматично. Наприклад, при виборі «Установка імпланта Nobel Biocare» автоматично додаються: КЛКТ-знімок, консультація імплантолога, анестезія, формувач ясен, тимчасова коронка. Кожен з цих зв'язків має флаг IS_REQUIRED_STEP — обов'язкова вона чи опціональна (пацієнт може відмовитися від тимчасової коронки).

Логіка калькулятора

Калькулятор — це JavaScript-компонент (React або Vue, вбудований у шаблон Бітрікса), який отримує дані з API.

Поетапний сценарій роботи:

  1. Вибір проблеми — пацієнт вибирає зі списку: «Болить зуб», «Потрібна коронка», «Хочу імпланти», «Вирівнювання зубів», «Професійна гігієна». Кожна проблема маппиться на набір базових послуг
  2. Уточнення — для імплантації: скільки зубів, яка зона (передні/жувальні), є ли костова тканина (від цього залежить необхідність синус-ліфтингу). Для ортодонтії: металеві/керамічні брекети або елайнери
  3. Формування плану — система збирає ланцюжок процедур, підтягує пов'язані послуги, розраховує сукупний діапазон цін
  4. Результат — таблиця з етапами лікування, ціною кожного етапу, загальною сумою «від» і «до», приблизною кількістю візитів

API-ендпоінт реалізується як кастомний компонент Бітрікса, що повертає JSON. Запит: GET /api/calculator/?problem=implant&count=2&zone=chewing. Відповідь містить масив етапів з цінами.

Додаткові можливості калькулятора

  • Порівняння варіантів. Для протезування: металокераміка vs діоксид цирконію vs E-max. Три колонки з різними цінами та характеристиками
  • Збереження плану. Авторизований користувач зберігає план у особистому кабінеті. Неавторизований — отримує посилання на email (план зберігається в Highload-блоці SavedPlans з унікальним хешем)
  • Відправлення плану на консультацію. Кнопка «Обговорити з лікарем» — дані йдуть в CRM Бітрікса як лід з деталізацією плану

Принципіальний момент: калькулятор показує діапазон, а не точну ціну. Точна вартість визначається лише після огляду лікарем. Це й юридично коректно, й зменшує кількість претензій.

Каталог послуг за напрямками

Каталог послуг стоматології відрізняється від загальномедичного тим, що пацієнт шукає не за назвою процедури (він не знає, що йому потрібна «резекція верхівки кореня»), а за проблемою. Тому навігація будується подвійна:

  • За напрямками — розділи інфоблока: терапія, хірургія, ортопедія, ортодонтія, дитяча, естетична
  • За проблемами — окремий інфоблок Problems з привʼязкою до послуг: «Болить зуб» → лікування карієсу, лікування пульпіту, видалення; «Відсутній зуб» → імплантація, міст, знімний протез

Для SEO кожен напрямок — окрема посадкова сторінка з унікальним текстом, написаним під контролем профільного лікаря. Компонент catalog.section виводить список послуг напрямку, catalog.element — детальну сторінку послуги.

Галерея робіт до/після

Це один з головних конверсійних елементів стоматологічного сайту. Пацієнт хоче бачити реальні результати, а не стокові фото.

Інфоблок CaseGallery з властивостями:

  • PHOTO_BEFORE — фото до (тип F, файл)
  • PHOTO_AFTER — фото після
  • DOCTOR_ID — привʼязка до лікаря (тип E)
  • SERVICE_ID — привʼязка до послуги (множественна E)
  • DESCRIPTION — опис клінічного випадку
  • TREATMENT_DURATION — тривалість лікування
  • PATIENT_AGE — вікова група (без персональних даних)
  • TAGS — теги для фільтрування: вінири, імплантація, брекети

Компонент відображення — кастомний, з інтерактивним слайдером «до/після» (бігунок, який користувач перетягує). На фронтенді — JS-бібліотека типу image-compare-viewer.

Фільтрування галереї: за лікарем, за напрямком, за типом робіт. Реалізується через AJAX-підгрузку з параметрами фільтра в CIBlockElement::GetList().

Згода пацієнта на публікацію фотографій — обов'язковий юридичний момент. В інфоблоці можна зберігати флаг наявності згоди, але сам документ — в захищеному сховищі, недоступному з сайту.

Онлайн-запис до лікаря

Запис у стоматології складніше, ніж у загальній клініці, з двох причин:

  1. Привʼязка до кабінету. Не кожен кабінет обладнаний для імплантації чи ортодонтії. Розклад лікаря залежить від доступності кабінету з потрібним обладнанням
  2. Тривалість прийому варіюється. Консультація — 30 хвилин, установка імпланта — 1,5 години, фіксація брекетів — 2 години. Слоти розкладу повинні враховувати тривалість вибраної послуги

Highload-блок розкладу доповнюється полями UF_CABINET_ID (привʼязка до кабінету) та UF_SLOT_DURATION (тривалість у хвилинах). При виборі послуги «Установка імпланта» (120 хвилин) система показує лише ті часові вікна, де доступний підходящий кабінет на потрібну тривалість.

Інтеграція з МІС стоматології (IDENT, StomPRO, 1С:Стоматологія) працює за аналогічним принципом: синхронізація розкладу через API, створення запису в МІС при підтвердженні на сайті.

Відгуки з модерацією

Інфоблок Reviews:

  • PATIENT_NAME — імʼя (без прізвища, для конфіденційності)
  • REVIEW_TEXT — текст відгуку
  • RATING — оцінка від 1 до 5
  • DOCTOR_ID — привʼязка до лікаря
  • SERVICE_IDS — привʼязка до послуг
  • SOURCE — звідки відгук: сайт, Яндекс, Google, ПроДокторів
  • EXTERNAL_LINK — посилання на оригінал (для агрегованих відгуків)

Всі відгуки, залишені через форму на сайті, створюються з ACTIVE = N. Адміністратор перевіряє та активує. Для Schema.org — розмітка Review з itemReviewed типу Physician або MedicalOrganization.

Агрегація відгуків з зовнішніх площадок — через cron-задачу, яка парсить API Яндекс.Карт або Google Places та додає нові відгуки в інфоблок з позначкою джерела.

Терміни реалізації

Масштаб Склад Термін
Одиничка клініка Каталог послуг, 5-10 лікарів, галерея, форма запису без інтеграції 6-8 тижнів
Мережа з 2-3 філіалів Калькулятор лікування, інтеграція з МІС, особистий кабінет пацієнта 12-18 тижнів
Крупна мережа Мультисайтовість Бітрікса, єдина база лікарів та розкладу, маршрутизація запису за філіалами 20-26 тижнів