Рішення · Стоматологічні клініки
Список послуг із позначкою покриття через обов’язкове страхування, який може редагувати рецепція, — не PDF з цінами, надісланий електронною поштою.
Сайт стоматологічної клініки оцінюють за одним: чи знаходить людина потрібну їй послугу, з її ціною та одиницею — за зуб, за щелепу, за сеанс — і чи знає вона, входить це в страхування чи ні. Решта — декор. Ми будуємо структуру, що це утримує, і панель, з якої персонал змінює її самостійно.
Вже збудованоLucrarea se poate verifica din exterior chiar acum: datele publice ale unui centru stomatologic raional pe care îl administrăm sunt servite ca fișier structurat — 89 de servicii, fiecare cu categorie, subcategorie, denumire, preț, unitate de măsură și un indicator de eligibilitate pentru asigurarea obligatorie, dintre care 27 marcate ca eligibile; 7 categorii și 10 subcategorii, verificate de noi pe 06.09.2026. A doua parte a dovezii e securizarea, cu diff în istoric: la preluare, parola de administrator era comparată în browser și ajungea în pachetul JavaScript public, iar scrierile pe interfața de programare se puteau face de oricine de pe internet. Precizarea corectă, ca să nu ne atribuim mai mult decât e al nostru: prima variantă a site-ului nu e a noastră. Contribuția care se poate arăta cu diff e preluarea, securizarea, tipurile, integrarea continuă și igiena dependințelor.
Стоматологічна клініка не продає «послуги». Вона продає дуже довгий список тарифних позицій з одиницями, які не схожі ні на що в іншій сфері: за зуб, за щелепу, за видалення, за пролікований випадок, за сеанс, за візит, за втручання. Людина, яка шукає в інтернеті, не шукає клініку, а шукає свою позицію: скільки коштує видалення, чи оплачується за зуб або за візит, чи покривається страхуванням. Сайт, який відповідає на це, корисний; той, що має сторінку «Ціни» з прикріпленим PDF, — ні.
Друга річ, яку вимагає реальність клініки, — щоб список можна було змінювати без програміста. Тарифи змінюються, лікарі змінюються, графік невідкладної допомоги взимку оголошують інакше. Якщо кожна зміна проходить через розробника, список залишається старим і за кілька місяців пацієнти приходять із ціною минулого року. Структура, яку ми будуємо, тримає публічні дані — послуги та команду — у структурованих файлах, які читають і інтерфейс програмування, і безпосередньо видима частина сайту, а персонал редагує їх із панелі.
Третя річ, яку ніхто не просить у брифі й яка має найбільше значення, — хто може записувати в цей список. Під час приймання проєкту, про який ми тут пишемо, будь-хто з інтернету міг надіслати запис до інтерфейсу програмування, а пароль панелі потрапляв у пакет JavaScript, який видавався браузеру, — бо його перевірка виконувалася в браузері. Ми перенесли перевірку на сервер: пароль більше не залишає сервер, натомість повертається підписаний токен, дійсний дванадцять годин, з лімітом у вісім спроб за п’ятнадцять хвилин на IP-адресу та порівняннями в сталий час; інтерфейс слухає лише на локальній адресі, тож вебсервер — єдиний публічний шлях.
Маркування покриття через обов’язкове страхування заслуговує окремого речення, бо це поле з найбільшою цінністю для пацієнта і з найбільшим ризиком для клініки: це твердження з наслідками. Тому воно живе як дані, відредаговані установою, а не як текст, написаний нами на сторінці; ми будуємо поле, відображення і можливість виправити його за хвилину.