Разработка эффективного индивидуального потока для поиска медицинской документации

"Как я могу получить свои медицинские записи?"

Это один из самых частых запросов в здравоохранении. С Коммутатором Datavant мы сокращаем время и количество шагов, необходимых для получения пациентами своих медицинских карт. Но медицинские документы запрашивают не только пациенты — значительное количество запросов на медицинские документы поступает, например, от страховых компаний, вносящих поправки на риски Medicare. Чтобы продемонстрировать, что застрахованное население соответствует определенным критериям риска, страховые компании должны собирать медицинские записи для этих пациентов в большом количестве. Datavant направляет только запросы, которые имеют надлежащую авторизацию и разрешены в соответствии с рекомендациями HIPAA, количество которых в настоящее время составляет около 50 миллионов запросов на записи в год от различных инициаторов.

Как выполняются запросы на запись больших объемов и как мы можем сделать этот процесс более быстрым и надежным?

Два пути к записи: поставщики и пациенты

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

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

a.) получить запись вручную (по факсу, отправив человека в физическое место и т. д.) или,

b.) получить запись в цифровом виде (через вызов API, через стороннего поставщика EMR и т. д.).

2. Информация о пациенте. Мы знаем, чью запись мы ищем.

3. Дата контакта. Среди различных записей для данного пациента у данного поставщика мы определяем правильную запись по дате предоставления услуги («Контакт»).

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

Когда информации недостаточно

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

Индивидуальный поток уже используется в нашем продукте Convenet в Англии, что стало возможным благодаря централизованной системе здравоохранения Англии и интеграции Convenet с NHS-Spine. Проблема в США намного сложнее из-за крайней фрагментации и разрозненности нашего ландшафта здравоохранения. Продолжая приведенную выше метафору, в американской экосистеме здравоохранения есть много-много невидимых стогов, где можно хранить записи.

Настройка параметров пользовательского потока

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

Мы можем думать о построении потока, основанного на людях, как о создании надмножества потоков, основанных на поставщиках:

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

Найти стог сена в поле со стогами

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

В нашей маршрутизации потоков на основе людей используется подход, который сочетает в себе Выборку Томпсона (TS) с k ближайших соседей (KNN).

В нашем случае наше «казино» размером со все Соединенные Штаты.

Томпсон Сэмплинг

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

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

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

K-ближайшие соседи

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

Сравнительный анализ с алгоритмом DS

Мы протестировали производительность двух алгоритмов: модифицированного TS, подробно описанного ниже, и простой эвристики расстояния (DS), которая будет использоваться в качестве эталона. По умолчанию алгоритм DS возвращал любую клинику в пределах 100 миль от почтового индекса пациента:

Разработка нашего модифицированного подхода к TS

Наш подход «модифицированного TS» можно резюмировать в четыре шага.
После получения почтового индекса пациента в качестве входных данных мы:

1. Создайте группу из 100 ближайших к пациенту почтовых индексов (KNN).

2. Модели вероятностных функций распределения (PDF*) для пар "клиника-почтовый индекс" (TS).

3. Образцы PDF-файлов пациентов и клиник, а затем средневзвешенные и ранжированные клинические оценки (TS).

4. Отправлять клиники с вероятностью выше 3 % в наш инструмент Dispatcher (служба маршрутизации, отвечающая за координацию заданий).

*не путать с Portable Document Format

Давайте сломаем это.

Шаг 1. Создайте группу из 100 почтовых индексов, ближайших к пациенту.

Первым шагом модифицированного алгоритма TS является формирование группы из 100* почтовых индексов, ближайших к почтовому индексу пациента, называемой «сегментом». Ведро использует сходство в поведении при посещении клиники между пациентами, которые живут рядом друг с другом. Это также позволяет алгоритму смоделировать вероятность того, что пациент проживает в почтовом индексе, для которого практически нет информации. Вес сегмента является одинаковым, то есть исторические данные берутся из каждого почтового индекса в ведро имеет равные права голоса.

*Мы протестировали переменные расстояния для жесткого ограничения на основе пробега, а также различное количество k-ближайших соседей; K=100 оказался оптимальным.

Шаг 2. Смоделируйте функции распределения вероятностей (PDF) для пар клиника-почтовый индекс

Второй шаг алгоритма модифицированного TS заключается в моделировании PDF-файлов каждой пары клиника-почта. Для этого был выбран PDF-распределение бета-распределение, которое моделирует вероятность на основе успеха или неудачи каждого запроса диаграммы, полученного клиникой для данного почтового индекса пациента. Как правило, историческую информацию можно использовать с помощью моделирования, при котором параметры распределения обновляются в соответствии с правилом Байеса. Однако это моделирование требует больших вычислительных ресурсов, поскольку Datavant обрабатывает многолетние данные поиска записей (сотни миллионов записей).

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

  • Успех (альфа) принимался за общее количество диаграмм, полученных из клиники по ее парному почтовому индексу.
  • Отказ (бета) принимался как общее количество диаграмм, найденных для парного почтового индекса, минус альфа.

Шаг 3. Образцы PDF-файлов пациентов и клиник, затем средневзвешенные и ранжированные оценки клиник

Выборка PDF-файлов — это то, что позволяет найти компромисс между разведкой и эксплуатацией в традиционном подходе TS. Шаг ранжирования гарантирует, что приоритет отдается клиникам с высоким ожидаемым значением, но иногда также выбираются клиники с более низким ожидаемым значением и высокой дисперсией. После выборки из PDF-файлов для клиник, представленных несколькими почтовыми индексами, берется равновзвешенное (плоское) среднее значение.

Шаг 4. Отправка клиник с вероятностью выше 3 % диспетчеру

На последнем этапе в Dispatcher отправляются клиники с наивысшей вероятностью (те, которые превышают минимальное отсечение в 3%). Имейте в виду, что алгоритм не ограничивается возвратом клиник в пределах 100 миль от пациента: мы можем вернуть клиники в любой точке США, если есть исторические данные о пациентах, перемещающихся из корзины в соответствующую клинику.

Тонкая настройка модели: добавление гиперпараметров

Для алгоритма модифицированного TS были выбраны четыре гиперпараметра: K в KNN (размер корзины), starting_context_scale (вес, присвоенный окружающим почтовым индексам), max_returns (жесткое количество лучших клиник, которое нужно вернуть) и prob_min(минимальная вероятность, по которой будет выбрана клиника).

Мы не будем вдаваться здесь во все подробности, но был выполнен обширный первичный поиск по сетке, чтобы получить 54 уникальных комбинации гиперпараметров. После выбора max_distance, starting_context_scale и max_returns для оптимизации prob_min был выполнен более выборочный поиск по вторичной сетке. Результаты вторичного поиска по сетке показаны ниже.

Запросы API и показатель успешности отображаются друг против друга. «Колено», обозначенное зеленым кругом, указывает на то, что при значении prob_min, равном 3 %, соотношение между процентом успешных попыток и запросами API начинает ухудшаться, и для достижения очень скромного увеличения требуется намного больше вызовов API. в успехе.

Окончательные выбранные значения гиперпараметров соответствуют 95 % успешности и 7,2 вызовам API в среднем на 10 тысяч тестовых данных.

Как избежать предвзятости: контекстуализация веса ведра

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

В симуляциях, ограниченных отдельными городами в базе данных, модифицированному алгоритму TS было разрешено хранить и обновлять веса между почтовыми индексами, хранящимися в корзине (см. Шаг 1 выше), в стиле градиентного спуска. Это продемонстрировало значительное улучшение по сравнению со стандартным подходом с использованием правила Байеса:

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

Полученные результаты

Результаты нашего сравнительного теста показаны ниже. Набор тестовых данных 10 000 был идентичен для обоих алгоритмов (ни один из них не использовался при обучении алгоритму модифицированного TS). Успех определялся тем, была ли фактическая клиника в тестовом наборе данных возвращена в списке клиник, созданном алгоритмом.

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

Доля успешных попыток значительно увеличилась с 91% до 95%, а число вызовов API резко сократилось с 27,98 до 7,18. Наш модифицированный подход к TS, скорее всего, приведет к небольшому увеличению количества извлекаемых карт пациентов, но при значительно меньших затратах ресурсов.

Заключение

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

Приложение

Математические детали

Глоссарий

𝑋 : матрица коэффициентов контекста (называемая сегментом в основном документе)
𝜃 : предполагаемые вероятности успеха
𝑡 : текущий временной шаг
𝑝 : доступные регионы (почтовые индексы)
𝑘 : доступные цели/действия (сооружения)
𝑥𝑡 : выбранная цель/предпринятое действие
𝑦𝑡 : текущий регион
𝑟𝑡 : награда за выбранную цель (0 или 1)
𝛼 : альфа-параметр бета-распределения
𝛽 : бета-параметр бета-распределения
𝜂 : скорость контекстного обучения

Тета, PDF-файлы

Критерии обновления для 𝜃, объекта, в котором хранятся веса бета-распределений:

X, почтово-почтовые ведра

Критерии обновления для X, объекта, в котором хранятся почтовые корзины:

Об авторах

Автор: Уэсли Бекнер и Николас ДеМеисон, при участии Райана Ма, Джона Лешина, Арджуна Сангви, Аниша Кулкарни и Шеннон Уэст.

Уэсли Бекнер имеет степень доктора наук в области химической инженерии, полученную в Инженерном колледже Вашингтонского университета, и работает специалистом по обработке и анализу данных в компании Datavant. Свяжитесь с Уэсли в LinkedIn.

Райан Ма имеет опыт работы в области компьютерных наук, молекулярной и клеточной биологии. Он инженер-программист Datavant. Свяжитесь с Райаном в LinkedIn.

Николас ДеМезон пишет для Datavant, где он возглавляет инициативы по брендингу талантов. Свяжитесь с Ником в LinkedIn.

Мы проводим удаленный набор сотрудников в разные команды. Ознакомьтесь с нашими открытыми позициями.