Почему голосовой помощник работает в 3 раза хуже: главные ошибки интеграции

Как их избежать и довести конверсию до 70%+: на опыте внедрения помощника линии 122

Почему голосовой помощник работает в 3 раза хуже: главные ошибки интеграции

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

Мы внедрили медицинских помощников на линию 112 более чем в 35 регионах России – на основе этого опыта разберу, какие ошибки чаще всего возникают при интеграции и что делать, чтобы их избежать.

Никита Андреев
Инженер департамента голосовых цифровых технологий БСС ИИ

Как робот “общается” с МИС

Прежде чем говорить об ошибках интеграции, стоит разобраться, как системы обмениваются данными. Одна программа может безопасно и предсказуемо использовать функции другой программы с помощью стандартизированного интерфейса – API (Application Programming Interface). Такой обмен данными можно организовать двумя способами:

REST (Representational State Transfer) как правило использует протокол HTTP, и данные передаются через обычные запросы: «получить», «создать», «изменить», «удалить». Это своего рода набор гибких правил для общения между клиентом (например, через мобильное приложение) и сервером.

Можно представить, что REST – это быстрая записка или СМС: короткая, легкая и содержит только самую суть, поэтому передается мгновенно.

SOAP (Simple Object Access Protocol) может работать не только через HTTP, но и через другие протоколы (HTTPS, SMTP и тд), и данные передаются в виде структурированных сообщений в формате XML. Это строгий протокол обмена сообщениями, он обеспечивает высокую безопасность и часто применяется в банковских системах и корпоративных сервисах.

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

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

2 критические ошибки на уровне данных

Плохое качество данных

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

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

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

Отсутствие данных

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

Такую проблему мы научились решать с помощью настройки робота таким образом, чтобы он работал с системой как «умный фильтр»:

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

3 ошибки интеграции, которые сделают сервис почти бесполезным

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

  • выбор услуги
  • идентификация пациента
  • получение услуги – например, запись или вызов врача на дом.

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

На этапе выбора услуги: сложная цепочка внутренних запросов

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

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

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

Например, вместо того чтобы сначала запрашивать список всех специальностей, а затем все доступные даты, лучше использовать метод «Получить свободные слоты», передав в МИС код специальности и нужный диапазон дат.

На этапе идентификации пациента: сырые данные

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

Какое решение мы нашли: Настраиваем автоматическое приведение дат к нужному виду, проверку пустых полей и нормализацию соответствия полей системы (ФИО, номер СНИЛС и т.д.) и полей робота перед передачей данных в робота.

Система должна сразу передавать данные в готовом для обработки формате, чтобы бот мгновенно мог сверить как минимум три категории данных с базой: ФИО и дату рождения, номер СНИЛС и номер полиса ОМС.

На этапе получения услуги: непонятные статусы

Информационная система может возвращать роботу слишком общие сообщения, которые не помогают понять, что произошло и что делать дальше, например: «Невозможно завершить операцию». В такой ситуации ИИ-помощнику не хватает информации, чтобы выбрать следующий шаг.

Какое решение мы нашли: Предусматриваем в информационной системе понятные ответы для каждого развития событий, например, «Пациент не найден», «Найдено несколько совпадений», «Запись успешно создана». Так система сообщает роботу, что делать дальше: запросить у пациента дополнительную информацию, подтвердить успешную запись или перевести обращение на оператора.

Итоги правильной интеграции

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

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

  • Нужно сократить количество обращений к системе за счет методов с точными параметрами, которые сужают поиск
  • К роботу должны попадать данные в виде чистых и понятных единиц информации (ФИО, дата, врач, время), все технические моменты должны обрабатываться до этого
  • Пустые поля должен обрабатывать умный фильтр, который проверяет необходимость информации и ищет ее в других источниках
  • Информационная система должна возвращать понятные статусы, чтобы робот однозначно понимал результат каждого действия и мог выбрать следующий сценарий.

Только если медицинское учреждение правильно настроит справочники, методы и обмен данными с информационной системой, ИИ-помощник будет работать стабильно, приносить реальную пользу и вызывать доверие пациентов. К тому же:

  • Освобождается до 60–80% времени на развитие сервиса, которые в противном случае пришлось бы потратить на исправление ошибок и попытки понять, почему цепочка запросов оборвалась.
  • Появляется возможность внедрять новые функции за часы, а не недели, за счет того, что инженер в такой системе работает с готовыми и надежными блоками данных.
  • Конверсия сервисов будет достигать 70%+, в противном случае – примерно втрое меньше.
66