Dev Lab

Медицина · 2026 · Под NDA

CRM для медицинской клиники

Пациенты, расписание врачей, электронные медкарты и биллинг в системе, которая не выпускает данные за пределы клиники.

Клиент
Частная медицинская клиника
Год
2026
Направление
CRM-системы
Срок
1-2 месяца

Задача

Медицинские данные это особая категория по статье 9 GDPR, и обращаться с ними как с обычной клиентской базой нельзя. Готовые облачные CRM почти всегда означают, что карты пациентов лежат на чужом сервере в другой стране. При этом работать в системе будут не айтишники, а врачи и регистратура, так что усложнять интерфейс ради безопасности тоже нельзя.

Что сделали

Систему сделали self-hosted: она живёт в локальной сети клиники, база и файлы на её собственном сервере, интернет нужен только для напоминаний пациентам, и без него всё остальное продолжает работать. Персональные данные шифруются, вход администратора закрыт вторым фактором, каждое действие с картой пишется в журнал аудита. Права не зашиты в код: роли настраиваются под конкретную клинику. Внутри пятнадцать сущностей, включая справочник МКБ-10 и версионирование медкарт, интерфейс на трёх языках.

Результат

Система сдана и готовится к внедрению, поэтому цифр эксплуатации у неё пока нет и мы их не приводим. Что можно проверить сейчас: данные не покидают клинику, роли настраиваются без правки кода, а каждое обращение к карте пациента остаётся в журнале.

Стек

  • React
  • TypeScript
  • Vite
  • Mantine
  • Node.js
  • Express
  • MongoDB
  • Docker

Что умеет система

Пациенты

  • Карточка с полисом, аллергиями и хроническими диагнозами
  • CNP, телефон, адрес и полис хранятся зашифрованными
  • Поиск по зашифрованным полям через слепой индекс
  • Контроль дублей по CNP и по имени с датой рождения
  • Анонимизация вместо удаления, по требованию GDPR
  • Согласие на обработку данных, с печатным бланком

Расписание

  • Сетка дня 08:00-20:00 по врачам
  • Перенос записи перетаскиванием
  • Пересечения по времени отклоняются
  • Недельный график врача и отпуска
  • 7 статусов: от подтверждения до неявки
  • Календарь обновляется живьём во всех открытых вкладках
  • Лист ожидания на освободившийся слот

Медкарты

  • Приём: жалобы, осмотр, диагноз, назначения
  • Правка создаёт новую версию, прежние остаются нетронутыми
  • История версий видна в интерфейсе
  • Справочник МКБ-10 с автодополнением на трёх языках
  • Шаблоны осмотров, сохраняются прямо из формы
  • Повторный визит одной кнопкой

Файлы и печать

  • Загрузка перетаскиванием, с проверкой типа по сигнатуре файла
  • Подделанное расширение отклоняется
  • Файлы лежат вне веб-каталога и отдаются только через API
  • Четыре документа в PDF: выписка, рецепт, счёт, согласие
  • Каждый документ печатается на трёх языках

Счета и касса

  • Счета вида INV-YYYY-NNNN, с позициями из прайса
  • Суммы в целых копейках, без чисел с плавающей точкой
  • Оплата наличными, картой и страховкой
  • Статус счёта пересчитывается по сумме оплат
  • Кассовый отчёт дня, по способам оплаты
  • Счёт создаётся прямо из завершённого приёма

Безопасность и доступ

  • 17 атомарных прав, роли собираются в админке
  • Двухфакторный вход, обязательный для администратора
  • Нарастающая блокировка после пяти неудачных попыток
  • Права перечитываются на каждом запросе, отключение действует сразу
  • Журнал аудита: входы, просмотры карт, скачивания
  • Напоминания пациентам в Telegram и на почту

Экраны системы

  • День клиники по врачам, со статусами записей
  • Карточка пациента: шифрованные данные, полис, согласие GDPR
  • Журнал приёмов с диагнозами по МКБ-10
  • Счета и оплаты: наличные, карта, страховка
  • Выручка, записи, неявки и новые пациенты
  • Конструктор ролей: 17 атомарных прав

В цифрах

данных за пределами клиникиself-hosted, без облака
0
языка интерфейсаанглийский, румынский, русский
3
кода МКБ-10 в базовом справочнике
144