Почему голосовой помощник работает в 3 раза хуже: главные ошибки интеграции
Как их избежать и довести конверсию до 70%+: на опыте внедрения помощника линии 122
Медицинские голосовые помощники могут записать пациента на прием, вызвать врача на дом или отменить запись. Все это возможно только благодаря интеграции с медицинской информационной системой. Если настроить интеграцию плохо, робот будет работать медленно и постоянно возвращать ошибки, а инженерам придется то и дело «латать дыры».
Мы внедрили медицинских помощников на линию 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 ошибки интеграции, которые сделают сервис почти бесполезным
Когда данные приведены в порядок, успех работы виртуального медицинского помощника зависит от того, как настроено его взаимодействие с информационной системой медучреждения на трех этапах его работы:
- выбор услуги
- идентификация пациента
- получение услуги – например, запись или вызов врача на дом.
Разберу по одной ключевой ошибке на каждом из них, и как мы научились их исправлять.
На этапе выбора услуги: сложная цепочка внутренних запросов
Когда для одного простого действия боту приходится делать десятки шагов и обращаться к нескольким крупным базам данных (найти медучреждение, выбрать специалиста, подобрать дату и время приема), это приводит к двум проблемам.
Во-первых, чем больше шагов, тем больше вероятность, что в цепочку действий закрадется ошибка. Во-вторых, увеличивается время ответа, а значит риск, что клиент его не дождется: если ожидание превышает 5 секунд, большинство прерывает звонок.
Какое решение мы нашли: Сокращаем количество запросов и сужаем поиск, передавая от робота в базы данных более точные параметры. Вместо цепочки из десяти запросов лучше использовать несколько целевых запросов с четкими параметрами.
Например, вместо того чтобы сначала запрашивать список всех специальностей, а затем все доступные даты, лучше использовать метод «Получить свободные слоты», передав в МИС код специальности и нужный диапазон дат.
На этапе идентификации пациента: сырые данные
Если данные о пациенте передаются роботу в виде служебных таблиц с описанием типов и датами в техническом формате, процесс подтверждения личности затягивается, потому что боту надо сначала эти данные очистить. И вероятность того, что пациент бросит трубку, вырастает в разы.
Какое решение мы нашли: Настраиваем автоматическое приведение дат к нужному виду, проверку пустых полей и нормализацию соответствия полей системы (ФИО, номер СНИЛС и т.д.) и полей робота перед передачей данных в робота.
Система должна сразу передавать данные в готовом для обработки формате, чтобы бот мгновенно мог сверить как минимум три категории данных с базой: ФИО и дату рождения, номер СНИЛС и номер полиса ОМС.
На этапе получения услуги: непонятные статусы
Информационная система может возвращать роботу слишком общие сообщения, которые не помогают понять, что произошло и что делать дальше, например: «Невозможно завершить операцию». В такой ситуации ИИ-помощнику не хватает информации, чтобы выбрать следующий шаг.
Какое решение мы нашли: Предусматриваем в информационной системе понятные ответы для каждого развития событий, например, «Пациент не найден», «Найдено несколько совпадений», «Запись успешно создана». Так система сообщает роботу, что делать дальше: запросить у пациента дополнительную информацию, подтвердить успешную запись или перевести обращение на оператора.
Итоги правильной интеграции
Таким образом, качественная интеграция начинается с подготовки самой информационной системы – если не убрать противоречия и дубли, любой робот будет работать плохо.
После этого начинается настройка взаимодействия робота с системой на трех этапах. Повторим ключевые принципы, которые мы выделили на собственном опыте внедрений:
- Нужно сократить количество обращений к системе за счет методов с точными параметрами, которые сужают поиск
- К роботу должны попадать данные в виде чистых и понятных единиц информации (ФИО, дата, врач, время), все технические моменты должны обрабатываться до этого
- Пустые поля должен обрабатывать умный фильтр, который проверяет необходимость информации и ищет ее в других источниках
- Информационная система должна возвращать понятные статусы, чтобы робот однозначно понимал результат каждого действия и мог выбрать следующий сценарий.
Только если медицинское учреждение правильно настроит справочники, методы и обмен данными с информационной системой, ИИ-помощник будет работать стабильно, приносить реальную пользу и вызывать доверие пациентов. К тому же:
- Освобождается до 60–80% времени на развитие сервиса, которые в противном случае пришлось бы потратить на исправление ошибок и попытки понять, почему цепочка запросов оборвалась.
- Появляется возможность внедрять новые функции за часы, а не недели, за счет того, что инженер в такой системе работает с готовыми и надежными блоками данных.
- Конверсия сервисов будет достигать 70%+, в противном случае – примерно втрое меньше.