Система управления сетью медицинских центров: приём, ведение, кадры и P&L

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

Система управления сетью медицинских центров: приём, ведение, кадры и P&L
INGELLO / BUSINESS2811
Связаться с нами

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

Задача

В сети медицинских центров одновременно живут четыре разных мира: привлечение и запись пациентов, клиническое ведение, кадры и финансы. Обычно они разъезжаются по трём таблицам и мессенджеру. Маркетолог не знает, дошло ли обращение до приёма. Заведующий филиалом не видит загрузку среднего персонала. Врач ведёт назначения в своём файле. А владелец узнаёт про убыточный месяц постфактум, когда закрыть его уже нечем.

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

Что покрывает первая фаза

  • Центры и места — филиалы, кабинеты, места дневного и круглосуточного пребывания, размещение пациента;
  • CRM и приём — обращения, события, статусы, переход обращения в пациента;
  • HRM — кандидаты, сотрудники, квалификации, график смен и нагрузка;
  • Индивидуальный план ведения — потребности, степени, назначения и порождаемые ими задачи персонала;
  • Договоры — договор, приложение, тип плательщика и печатные документы;
  • Управление и P&L — dashboard, план и факт, доходы и расходы.

Ядро системы: как оценка превращается в расписание работ

Самая содержательная часть проекта — не карточка пациента и не календарь, а цепочка, которая связывает состояние человека с конкретными задачами конкретных специалистов. Она устроена так.

Клиническое состояние описывается таблицами потребностей. В боевой конфигурации их шестнадцать, и внутри них — девяносто шесть отдельных потребностей: подвижность, питание, когнитивный статус, риск падений, болевой синдром и так далее. Каждая потребность принадлежит категории и может быть обязательной для заполнения.

У каждой потребности есть степени выраженности — всего в справочнике их двести семнадцать. Степень несёт балл и принадлежит группе уровня: низкий, умеренный, высокий, критический. Это даёт не субъективное «пациент тяжёлый», а воспроизводимую шкалу, по которой два разных специалиста придут к близкой оценке.

Дальше работает слой рекомендаций — триста сорок девять правил вида «такая степень такой потребности требует такого назначения». Именно он превращает оценку в план: система не ждёт, пока врач вспомнит весь протокол, а предлагает назначения с приоритетом и признаком обязательности. Врач принимает или отклоняет, но отправной точкой служит правило, а не память.

Назначения берутся из каталога медицинских и сервисных действий: сто семьдесят четыре позиции, у каждой своя длительность в минутах, стоимость, признак индивидуального или группового исполнения и правило частоты — сколько раз в день, с каким интервалом, в какие дни недели.

Сеть медицинских центров: схема данных

Кто имеет право выполнить назначение

Каталог действий связан со справочником квалификаций — их двадцать одна, от младшей медицинской сестры до врача, и у каждой есть уровень. Связей «действие — квалификация» в системе сто четыре, и у связи два параметра: обязательна ли квалификация и какой минимальный стаж в месяцах требуется.

Практический смысл простой: система не поставит процедуру в смену человеку, который не имеет права её выполнять. Это снимает целый класс управленческих ошибок, который в сети из нескольких филиалов обнаруживается обычно при проверке, а не при планировании.

У задачи, попавшей в расписание, хранится причина назначения. Когда её сгенерировало правило, в поле записывается, какое именно. Через полгода никто не гадает, почему пациенту назначили эту процедуру.

План ведения как документ, а не как список задач

Индивидуальный план — версионируемый документ. У него есть номер версии, срок действия, цель и ожидаемый результат в текстовом виде, дата обязательного пересмотра, суммарный балл оценки и две отметки подписи: со стороны получателя услуги и со стороны учреждения, с приложением файла.

Это принципиально для медицинского контура. План — это то, что предъявляется при проверке и в спорной ситуации. Версия и подпись отвечают на вопрос, какая редакция действовала в конкретный день, а срок пересмотра не даёт плану тихо устареть.

Где в этом деньги

У каждой задачи в расписании есть плановая и фактическая стоимость, плановая и фактическая длительность. У сотрудника — ставка и тип занятости. У филиала — вместимость и дополнительные расходы.

Из этих полей собирается P&L, который считается не в конце месяца по бухгалтерским проводкам, а непрерывно по фактически выполненным работам. Разрыв между плановой и фактической стоимостью назначения — это и есть операционная эффективность филиала, видимая до закрытия периода.

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

Сеть медицинских центров: контур системы

Ролевая модель как продукт, а не как галочка

В системе двенадцать ролей: суперадминистратор, директор, системный администратор, владелец, администратор центра, HR-менеджер, маркетолог, врач, средний медперсонал, бухгалтер, инвестор и кандидат.

Роль ограничивает страницы и действия, а привязка к филиалу ограничивает видимые бизнес-объекты. Администратор центра работает со своим филиалом и кадрами, но не видит финансовую аналитику. HR видит персонал всей сети, но не видит пациентов и деньги. Врач видит клинику и не видит P&L.

Единый источник правды о том, что видит каждая роль, закрыт автотестом. Это единственный способ, чтобы доступ не «разъезжался» при доработках: список экранов роли проверяется машинально, а не на совести того, кто вносил правку.

Путь кандидата в сотрудника

Анкета трудоустройства открыта гостю: неавторизованный посетитель видит форму заявки вместо списка персонала. Дальше кандидат проходит собеседование, и при найме одна транзакция активирует профиль сотрудника, фиксирует дату приёма, привязывает его к филиалу и заменяет роль доступа. При увольнении рабочие роли отзываются, а дата увольнения сохраняется.

Отдельно у сотрудника хранится квалификация — та самая, по которой система решает, какие назначения ему вообще можно поставить в смену. Кадровый контур и клинический здесь не два разных модуля, а одна связь.

Встроенное обучение

У каждого залогиненного пользователя в шапке есть кнопка обучения. Она открывает инструкцию именно для его роли: кто он в системе, с чего начать, что делать по шагам и чего в его роли нет. Тест проверяет, что у каждой роли есть инструкция и что каждый её шаг ведёт только на доступный этой роли экран.

Для сети с текучкой среднего персонала это дешевле, чем повторять обучение вживую каждому новому человеку.

Сеть медицинских центров: схема интерфейса

Безопасность боевого контура

Отдельная часть работы — приёмка. Сервисный шлюз отдаёт наружу только действия из явного реестра, каждое со своим списком ролей и допустимых HTTP-методов; изменяющие действия принимаются только POST-ом с CSRF-токеном. Инструменты разработчика на бою выключены и закрыты в robots.txt. База входит в обязательный список резервного копирования и снимается каждые три часа.

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

Что это даёт сети

  • Единая шкала оценки состояния вместо субъективных формулировок в разных филиалах.
  • План ведения, которыйпорождает задачи сам и объясняет, почему именно эти.
  • Расписание, которое физически не может поставить процедуру неподходящему специалисту.
  • P&L по факту выполненных работ, а не по итогам месяца.
  • Договорный контур, одинаково работающий со страховой, корпоративным клиентом и самоплательщиком.

Следующий шаг

Такая архитектура переносится на любую сеть с объектами, персоналом и подопечными: многопрофильные клиники, реабилитационные и диагностические центры, санатории, сети стоматологий. Начинаем с карты ролей и одного сквозного сценария — от обращения до закрытой смены.

Где посмотреть

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

Технологический стек и подходы

SaaS архитектура Микросервисы Облачные вычисления Масштабируемость ПО API интеграции DevOps процессы High-load системы Кибербезопасность решений

Частые вопросы

01Почему не назван заказчик?

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

02Что входило в первую фазу?

Центры и места, CRM и приём пациентов, HRM с квалификациями, индивидуальный план ведения с автоподбором назначений, договоры с разными типами плательщиков и управленческий контур с P&L.

03Как устроен доступ?

Двенадцать ролей: роль ограничивает страницы и действия, а привязка к филиалу — видимые объекты. Врач видит клинику и не видит финансы, HR видит персонал и не видит пациентов. Набор экранов каждой роли закрыт автотестом, чтобы доступ не «разъезжался» при доработках.