Страница интегрируется с существующей CRM-системой «Ветменеджер» и выводится на информационные экраны в зонах ожидания.
Цель разработки
Основная цель проекта — создать удобное и безопасное табло очереди, которое:
- автоматически отображает список клиентов и их питомцев, ожидающих приёма;
- обновляется каждые 20 секунд без перезагрузки страницы;
- обеспечивает защиту персональных данных в соответствии с законодательством Республики Беларусь;
- поддерживает отображение информации по нескольким филиалам одной сети клиник.
Таким образом, посетители в зоне ожидания видят актуальную информацию об очереди, а администрация клиники — единый инструмент управления потоком пациентов.
Защита персональных данных
Одной из ключевых задач было соблюдение требований Закона «О защите персональных данных». На исходной странице CRM фамилии и имена клиентов отображались полностью, что не соответствовало требованиям безопасности.
В новой версии страницы реализован алгоритм маскировки ФИО.
Теперь фамилии отображаются, например, так:
Ар****ч В.В. вместо Архипович Виталий Владимирович
- открываются только первые две и последняя буква фамилии;
- остальные символы заменяются звёздочками
*; - инициалы имени и отчества сохраняются в сокращённом виде.
Такой подход обеспечивает узнаваемость клиента для персонала, но полностью исключает идентификацию посторонними.
Основные функции страницы
- Автоматическое обновление данных каждые 20 секунд без перезагрузки;
- Маскирование персональных данных клиентов;
- Цветовая индикация состояния пациентов:
- Красный — срочный пациент;
- Жёлтый — приближающееся время приёма;
- Зелёный — обычная очередь;
- Серый — пациенты «У врача».
- Отображение текущего времени и даты (опционально);
- Бегущая строка с информационными сообщениями (опционально);
- Возможность выбора филиала и режима отображения через параметры URL.
Параметры, изменяемые в коде
| Параметр | Назначение | Пример значения |
|---|---|---|
$clinicId |
Номер клиники по умолчанию, если не задан в URL | 1 |
$cleanMode |
Режим без часов и бегущей строки | false |
$source |
Адрес исходной CRM-страницы с данными очереди | https://example.com/queue-for-doctors.php?... |
setInterval(refreshTable, 20000) |
Интервал обновления данных (в миллисекундах) | 20000 (20 секунд) |
Параметры URL
Для гибкости и масштабируемости система поддерживает передачу параметров прямо через адресную строку.
Это позволяет использовать один и тот же файл для всех филиалов.
| Параметр | Назначение | Пример |
|---|---|---|
clinic_id |
Номер клиники, очередь которой нужно отобразить | ?clinic_id=1 |
mode |
Режим отображения: clean — без часов и бегущей строки |
?mode=clean |
💡 Примеры ссылок
- Клиника №1 — полная версия:
https://example.com/queue.php?clinic_id=1 - Клиника №2 — полная версия:
https://example.com/queue.php?clinic_id=2 - Клиника №3 — минималистичный режим:
https://example.com/queue.php?clinic_id=3&mode=clean
Технические особенности
- Разработка на PHP 8 с использованием cURL для получения данных с CRM;
- Используется AJAX-обновление таблицы без перезагрузки страницы;
- Полная совместимость с браузерами для Android TV (через веб-движок GeckoView);
- Оптимизация под широкоформатные мониторы и телевизоры;
- Все стили и скрипты встроены в один файл — легко развернуть на любом хостинге.
Результат
Внедрение новой страницы позволило повысить прозрачность очереди, снизить нагрузку на администраторов и полностью устранить риск нарушения конфиденциальности персональных данных. Теперь все филиалы клиники работают по единому стандарту отображения очередей.
Итог
Проект «Информационное табло очереди «Альфа-Вет»» стал примером того, как с помощью компактного и безопасного решения можно автоматизировать важный процесс.
Архитектура проекта позволяет легко масштабировать систему при добавлении новых филиалов и адаптировать внешний вид под фирменный стиль каждой клиники.
