Русский

Медицинская CRM/ERP

Медицинский центр СМТ Клиника

CRM/ERP-система для одного из крупнейших медицинских центров УрФО. Построена по микросервисной архитектуре с минимальной связанностью модулей. 

Вячеслав Устинов
Вячеслав УстиновFullstack: Next.js, Zustand, FastAPI, Django, Postgre, Redis, Kafka

Подробнее о сервисе

Сервис реализует принцип «единого окна» для менеджеров, автоматически собирает и обрабатывает входящие запросы из всех каналов, глубоко интегрирован с МИС и соответствует строгим требованиям к безопасности персональных данных. Обеспечивает высокую производительность, масштабируемость и лёгкость модификации.

Выбор архитектурного стиля: Оптимизация для локального бизнеса

При выборе архитектурного стиля для нашей системы, обслуживающей ограниченное число пользователей в рамках локального бизнеса, масштабируемость и высокая производительность не являются ключевыми драйверами. Вместо этого, приоритет отдается следующим критически важным аспектам:

  • Надежность системы: Обеспечение бесперебойной работы и доступности сервисов.
  • Высокая сохранность данных: Гарантия целостности и конфиденциальности критически важной информации, включая персональные данные пользователей и медицинские сведения. Особое внимание уделяется соответствию регуляторным требованиям по защите данных.
  • Простота функционального масштабирования и быстрота разработки: Возможность быстрого и легкого добавления нового функционала и адаптации к меняющимся бизнес-требованиям.
  • Легкость развертывания компонентов и тестирования: Оптимизация процессов CI/CD для обеспечения быстрой и надежной поставки программного обеспечения.
  • Экономия ресурсов разработки: Минимизация затрат на разработку и поддержку, учитывая, что все вопросы CRM и сопутствующих веб-приложений решаются одним специалистом.

С учетом этих требований, выбор пал на Service-Based архитектуру. В рамках данного подхода компоненты бэкенда реализованы как полнофункциональные, автономные кванты, каждый из которых обладает широкой зоной ответственности, но при этом строго ограничен определенной доменной областью бизнеса.

Например, функциональность чата выделена в отдельный сервис, в то время как работа со звонками и обработка заявок объединены в единый, монолитный бэкенд-модуль.

Важно отметить, что каждый сервис, при необходимости, может использовать собственную базу данных, не связанную с базами данных других сервисов. Это позволяет достичь жесткого разделения данных и предотвратить нежелательное соприкосновение сущностей из разных доменов.

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

Интеграции CRM с другими системами

В рамках работы с CRM реализованы:

  • интеграции с МИС для получения актуального расписания врачей;
  • с основным веб-приложением для получения всех типов записей и обратных заявок;
  • со всеми медицинскими агрегаторами;
  • для интеграции с источниками, которые не смогли предоставить API-интерфейс, был написан небольшой мэйл-сервис для парсинга сообщений (https://github.com);
  • с IP-телефонией UIS, в том числе для получения пропущенных вызовов, формирующихся в самостоятельную ленту задач.

Фронтенд CRM-системы

Фронтенд CRM-системы реализован на современном стеке Next.js и Zustand. Для быстрой реализации интерфейсов и сокращения сроков разработки в основе UX используется библиотека Mantine UI. В пользовательском интерфейсе интерактивные данные обновляются в реальном времени по WebSocket-соединению с API-гейтвеем, реализованным на асинхронном FastAPI.

Фронтенд CRM-системы

Экономическая привлекательность

С точки зрения бизнеса собственная разработка CRM/ERP-системы даёт явные экономические преимущества по сравнению с покупкой и доработкой готовых продуктов. Во-первых, совокупная стоимость владения (TCO) оказывается ниже: нет затрат на лицензии и пользовательские подписки. Во-вторых, глубокая кастомизация «единого окна» и прямая интеграция с МИС СМТ-Клиники реализуются без дорогостоящих адаптаций сторонних API и без риска «замкнуться» на вендоре.

В ходе анализа рынка было выявлено, что ни одна из существующих CRM/ERP-платформ не отвечает одновременно таким критериям:

  • Тонкая подстройка под бизнес-процессы и структуру клиники;
  • Строгие требования к защите персональных данных и соответствие GDPR/ФЗ-152;
  • Высокая пропускная способность при пиковых нагрузках;
  • Удобство эксплуатации, автоматизированные миграции и CI/CD;
  • Единый интерфейс для всех менеджеров без переключения между модулями.

Попытки нарастить недостающий функционал в готовых решениях приводили либо к компромиссам в безопасности и производительности, либо к росту расходов на поддержку и согласование с вендорами. Собственная CRM/ERP, напротив, обеспечивает полную прозрачность бюджета развития, быстрее выводит новые модули в продакшен и снижает зависимость от внешних подрядчиков.

На главную

Сотрудничаю с агентствами, бизнесом, инхаус-командами

При необходимости, могу пригласить в проект дизайнеров, дата-аналитиков, разработчиков уровня Senior

Связаться в телеграм
Обо мне: портфолио, стек-технологий, условия работы, опыт