Исчерпывающий обзор методов очистки данных и разработки функций для клинических данных.

Эта статья размещена на сайте BioSymetrics. Чтобы увидеть исходный пост, загляните в блог BioSymetrics.

Электронная медицинская карта (EMR) - это цифровая версия карты пациента, которая собирает данные, связанные с визитом пациента, такие как история болезни, результаты лабораторных исследований, рецепты, диагноз и результаты, полученные пациентом. Данные EMR печально известны своей беспорядочной, неполной и непоследовательной. Отчасти «беспорядок» связан с разнообразием клинических данных. Типичный EMR состоит из разнородных типов данных, включая:

  • неструктурированный текст (например, клинические заметки)
  • 2D и 3D изображения (например, рентген, МРТ, фМРТ)
  • сигналы временного ряда (например, кривые ЭКГ и ЭЭГ)
  • PDF-файлы с текстом (например, лабораторные отчеты)

В этом посте мы рассмотрим несколько методов очистки клинических данных и технических характеристик из базы данных EMR.

Стандартизация данных

Первый шаг процесса очистки данных - стандартизация данных. Допустим, мы работаем с данными, хранящимися в нескольких EMR. Хотя стандарты совместимости обеспечивают единообразие содержимого историй болезни, официального стандарта хранения этого содержимого не существует, а это означает, что каждая EMR может иметь свою собственную схему данных. Согласно недавнему отчету, одна больничная сеть будет иметь в среднем 16 различных платформ EMR, используемых в ее дочерних учреждениях [1]. Чтобы анализировать данные на разных платформах EMR, нам необходимо преобразовать их в общий формат.

Модель общих данных Партнерства по наблюдению за медицинскими результатами (OMOP-CDM) - это структура, которая может помочь согласовать разрозненные данные в стандартизованный формат [2]. OMOP-CDM был разработан группой международных исследователей, координируемой Колумбийским университетом, с целью разработки стандарта для облегчения воспроизводимых исследований. Его можно разбить на два этапа:

  1. Преобразование схемы данных в стандартный формат: данные должны быть преобразованы в OMOP-CDM, который состоит из 15 таблиц клинических данных. Некоторые из этих таблиц включают PERSON (с демографической информацией о пациенте), OBSERVATION_PERIOD (с отметкой времени посещения пациентом врача) и DRUG_EXPOSURE (с рецептурными и безрецептурными лекарствами, вакцинами и крупномолекулярными биологическими препаратами). Подробное описание схемы OMOP-CDM вы можете найти в официальной вики здесь.
  2. Сопоставление содержания стандартизированным словарям. Существует множество способов описать клиническое событие. Чтобы сопоставить медицинский жаргон со стандартизованными словарями, OMOP-CDM использует Унифицированную систему медицинского языка (UMLS) Национальной медицинской библиотеки США, которая содержит такие медицинские онтологии, как SNOMED, ​​RxNorm, ICD10 и LOINC.

Этот процесс может включать обширную ручную обработку данных в зависимости от того, насколько разнообразны структуры данных. Чтобы узнать больше о том, как стандартизировать данные EMR с помощью OMOP, ознакомьтесь с этим репозиторием на Github.

Коды диагностики

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

  1. ICD-9, поддержка которого прекращена, содержит 13 000 диагностических кодов.
  2. МКБ-10 содержит 68 000 диагностических кодов и считается золотым стандартом для классификации диагнозов пациентов. Существуют ресурсы для преобразования кодов МКБ-9 в МКБ-10.

Допустим, мы создаем модель клинического диагноза и хотим включить «диагноз» как функцию. Используя необработанный формат кодов ICD, у нас будет очень разреженный многомерный набор данных, в котором каждый столбец представляет уникальный код ICD. Чтобы уменьшить размерность данных, мы можем разделить коды МКБ на меньшее подмножество четко определенных сопутствующих заболеваний, используя сопоставления сопутствующих заболеваний Чарлсона и Эликсхаузера. Чарлсон разделяет коды МКБ на 17 сопутствующих заболеваний, а Эликсхаузер группирует коды на 30 сопутствующих заболеваний. Полный список категорий коморбидности Эликсхаузера и Чарлсона можно найти ниже:

  • Чарлсон: инфаркт миокарда, застойная сердечная недостаточность, заболевание периферических сосудов, цереброваскулярное заболевание, деменция, хроническая болезнь легких, ревматическая болезнь, язвенная болезнь, легкое заболевание печени, диабет без хронических осложнений, диабет с хроническим осложнением, Гемиплегия / параплегия, заболевание почек, любые злокачественные новообразования, умеренное / тяжелое заболевание печени, метастатическая солидная опухоль, СПИД / ВИЧ
  • Эликсхаузер: застойная сердечная недостаточность, сердечная аритмия, пороки клапанов, нарушения легочного кровообращения, периферические сосудистые заболевания, гипертензия (неосложненная), гипертензия (осложненная), паралич, другие неврологические расстройства, хроническое заболевание легких, диабет (неосложненный). ), диабет (осложненный), гипотиреоз, почечная недостаточность, заболевание печени, язвенная болезнь, СПИД / ВИЧ, лимфома, метастатический рак, солидный репетитор без метастазов, ревматоидный артрит, коагулопатия, ожирение, потеря веса, нарушения жидкости и электролитов, кровопотеря анемия, дефицитная анемия, злоупотребление алкоголем, наркомания, психозы, депрессия

Вот пример кодов МКБ-10, которые подпадают под «язвенную болезнь», как определено в картировании коморбидности Эликсхаузера:

Сопоставляя гиперспецифические диагностические коды ICD с четко определенными сопутствующими заболеваниями, мы уменьшаем размеры нашего набора данных, что эффективно снижает уровень шума и сложности. В нескольких исследованиях было высказано предположение, что показатель коморбидности Эликсхаузера лучше предсказывает исход для пациента, чем метод Чарлсона [3], [4], [5].

Данные о лекарствах

Поля с произвольным текстом позволяют врачу быстро вводить данные. Однако этот тип ввода неструктурированных данных может привести к орфографическим ошибкам и вариациям сокращений, что затрудняет анализ данных о пациентах. Лекарства, отпускаемые по рецепту, не всегда записываются в стандартизированном формате в истории болезни пациента. У разных врачей может быть различие в правилах наименования. Например, разжижающий кровь препарат Варфарин также может называться Кумадин. Ацетаминофен, распространенное обезболивающее, также известно под своим торговым названием Тайленол. Внутривенный физиологический раствор, который часто вводят пациентам в отделении интенсивной терапии, может быть записан как NS, что означает физиологический раствор, или по его химическому описанию 0,9% хлорид натрия. Пример множества вариантов названий лекарств проиллюстрирован в таблице ниже.

Нормализация названий лекарств

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

  1. Национальные коды лекарств (NDC). NDC - это система кодирования, состоящая из 10 или 11 цифр, которая однозначно идентифицирует лекарства, одобренные Управлением по санитарному надзору за качеством пищевых продуктов и медикаментов США. Все препараты, распространяемые в коммерческих целях в США, имеют уникальный NDC. NDC для 100 таблеток ацетаминофена (Tylenol) составляет 69618–010– [01], а NDC для 1000 таблеток - 69618–010– [10]. Два NDC почти идентичны, за исключением двух последних цифр.
  2. RxNorm: RxNorm представляет лекарства по 3 свойствам: 1) ингредиенты, 2) сила и 3) форма дозы. Он был разработан Национальной медицинской библиотекой США, поскольку существовала потребность в стандартном представлении лекарств [6]. Каждая уникальная комбинация ингредиента, силы и формы дозы имеет общий уникальный идентификатор, называемый RxCUI. Например, пероральная таблетка ацетаминофена 500 мг (тайленол) представлена ​​RxCUI 209459. RxCUI для того же лекарства, но в дозе 325 мг, составляет 209387.

Хотя обе номенклатуры являются допустимыми вариантами для нормализации названий лекарств, RxNorm, по-видимому, более широко используется, чем NDC, для представления лекарств в клиническом контексте. Нельсон и др. объясняет, что NDC менее привлекателен, потому что он содержит очень подробную информацию о производителе / ​​упаковщике, которая обычно не требуется для клинических исследований [7]. Какую бы номенклатуру вы ни выбрали, важно убедиться, что названия лекарств нормализованы, прежде чем переходить к этапу разработки функций и моделирования вашего конвейера. Чтобы узнать больше об этих номенклатурах лекарств, вы можете проверить RxNorm API, который предоставляет RxCUI и NDC для данного лекарства, а также имеет другие функции, такие как возврат предложений по написанию названия лекарства с ошибкой.

Извлечение функций из лекарств

В рамках нашего этапа интеллектуального анализа данных мы можем захотеть уменьшить размеры нашего набора данных о лекарствах. Чтобы сгруппировать лекарства, мы можем извлечь свойства с помощью предметных медицинских заголовков Национального института здравоохранения (MeSH). Допустим, мы хотим знать, прописали ли пациенту антибиотик, но у нас есть только название лекарства. Мы можем получить соответствующие атрибуты препарата, посмотрев на его термины MeSH. Например, термины MeSH для тайленола - это «противовоспалительные агенты, нестероидные» и «анальгетики, ненаркотические», в то время как термины MeSH амоксициллина - «антибактериальные агенты» и «ингибиторы бета-лактамаз». При таком подходе мы можем идентифицировать антибиотические препараты, отфильтровывая те, которые имеют термин MeSH «Антибактериальные агенты».

Еще одна стратегия группировки лекарств - это система классификации лекарств по анатомо-терапевтическим химическим веществам (АТХ) Всемирной организации здравоохранения. ATC классифицирует лекарства на 5 различных уровнях, включая орган или систему, на которые действует лекарство, их терапевтическое применение и химические свойства лекарства. Каждый компонент кода ATC лекарства представляет собой определенное свойство этого лекарства. Например, код ATC для амоксициллина - J01CR02, который можно разбить на следующие уровни:

С помощью подхода ATC мы можем идентифицировать антибиотики, отфильтровывая те, которые начинаются с J01. Доступны API с открытым исходным кодом, такие как RxNorm и OpenFDA, которые можно использовать для дополнения данных о лекарствах терминами MeSH и свойствами ATC.

Клинические заметки

Клинические записи - ценный источник информации, который может значительно улучшить качество модели прогностической диагностики. Ghassemi et al. обнаружили, что клинические записи являются наиболее значимыми данными для повышения точности прогноза внутрибольничной летальности [8]. В других исследованиях также сообщалось о значительном улучшении характеристик модели при использовании повествовательного текста из клинических заметок.

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

Тематическое моделирование

Тематическое моделирование - это тип обучения без учителя, при котором похожие группы документов объединяются в кластеры на основе общих атрибутов. Его цель - обнаружить скрытые темы из коллекции документов. Прежде чем применять тематическое моделирование к набору данных клинических заметок, рекомендуется провести предварительную обработку текста, используя технику, называемую термином частота-обратная частота документа (TF-IDF). Здесь мы рассматриваем слово как термин. TF-IDF - это метрика взвешивания терминов, которая оценивает важность слова на основе его частоты в документе. Чем чаще слово появляется в документе, тем выше оценка TF-IDF. Слова, которые появляются чаще в целом, имеют понижающий вес в зависимости от количества документов, в которых они появляются. После применения TF-IDF к набору данных клинических заметок вы получите матрицу формы документ-термин (n_docs, n_terms), где каждый ячейка представляет собой взвешенную оценку TF-IDF для данного термина в документе. Мы можем использовать эту матрицу документ-термин для обучения нашей тематической модели.

Есть два разных метода моделирования темы:

  • Скрытое распределение Дирихле (LDA): Эта вероятностная модель основана на предположении, что 1) каждый документ может быть описан смесью тем, взвешенных по вероятностям, и 2) каждая тема определяется смесью слова [9]. LDA использует иерархическое байесовское моделирование, чтобы одновременно оценивать сочетание слов, связанных с каждым документом, и находить сочетание тем, описывающих каждый документ.
  • Неотрицательная матричная факторизация (NMF): этот линейно-алгебраический алгоритм использует матричную факторизацию для создания скрытых тем из матрицы документа-термина. С помощью NMF исходная матрица (n_docs, n_terms) факторизуется на две факторные матрицы: матрицу «документ-тема» (n_docs, n_topics) и матрица «тема-термин» (n_topics, n_terms).

И в LDA, и в NMF вам необходимо определить количество тем, которые вы хотите создать. Этот гиперпараметр можно настроить с помощью таких показателей, как сложность модели и согласованность тем, чтобы найти оптимальное количество тем, которое наилучшим образом соответствует имеющемуся набору данных. Если вы используете Python, обратите внимание на библиотеки gensim и scikit-learn, в которых есть модули для выполнения TF-IDF, LDA и NMF.

Модель распознавания именованных сущностей

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

Если вы хотите применить NER к неструктурированному тексту, есть несколько подходов на выбор: подход, основанный на правилах (например, регулярные выражения), обучение без учителя (например, кластеризация), обучение с учителем (например, условные случайные поля ) или глубокое обучение (например, долговременная кратковременная память). SpaCy - полезный пакет NLP с открытым исходным кодом, который реализует NER с использованием техники глубокого обучения с использованием остаточных сверточных нейронных сетей (CNN). Amazon (AWS) недавно запустила программу Comprehend Medical, в которой ключевые медицинские термины выделяются из клинических текстов с использованием биомедицинской модели NER. Эти готовые решения - отличное начало применения NER к вашему собственному набору данных.

Заворачивать

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

Выводы

  • Электронные медицинские записи беспорядочные, и их необходимо стандартизировать, очистить и обработать, прежде чем вводить в модель машинного обучения.
  • Общая модель данных OMOP - это структура для стандартизации данных из нескольких EMR в общий формат.
  • Карты коморбидности Чарлсона и Эликсхаузера помогают свести коды диагнозов к четко определенным категориям коморбидности.
  • RxNorm и NDC - две номенклатуры для нормализации названий лекарств.
  • MeSH и ATC - это системы классификации, которые можно использовать для определения свойств данного лекарственного средства.
  • Клинические заметки содержат ценную информацию о пациенте, но требуют обработки для преобразования неструктурированного текста в структурированные функции.
  • Тематическое моделирование - это метод интеллектуального анализа текста, который может быть реализован двумя способами (LDA и NMF) для извлечения скрытых тем из неструктурированного текста.

использованная литература

  1. Почему взаимодействие данных EHR такое беспорядок в 3 графиках | Новости информационных технологий в сфере здравоохранения . нет данных По состоянию на 30 сентября 2019 г. https://www.healthcareitnews.com/news/why-ehr-data-interoperability-such-mess-3-charts.
  2. Оверхэдж, Дж. Марк, Патрик Б. Райан, Кристиан Дж. Райх, Авраам Дж. Харцема и Пол Э. Стэнг. 2012. «Валидация общей модели данных для исследований активного надзора за безопасностью». Журнал Американской ассоциации медицинской информатики: JAMIA 19 (1): 54–60.
  3. Саузерн, Даниэль А., Худ Куан и Уильям А. Гали. 2004. «Сравнение методов Эликсхаузера и Чарлсона / Дейо для измерения коморбидности в административных данных». Медицинское обслуживание 42 (4): 355.
  4. Метод коморбидности Эликсхаузера превосходит индекс Чарлсона в прогнозировании стационарной смерти после ортопедической операции | SpringerLink . нет данных По состоянию на 30 сентября 2019 г. https://link.springer.com/article/10.1007/s11999-014-3686-7.
  5. Лиефферс, Джессика Р., Вики Э. Баракос, Марси Уингет и Конрад Фассбендер. 2011. «Сравнение показателей коморбидности Чарлсона и Эликсхаузера для прогнозирования выживаемости при колоректальном раке с использованием административных данных здравоохранения». Рак 117 (9): 1957–65.
  6. Лю С., Вэй Ма, Р. Мур, В. Ганесан и С. Нельсон. 2005. «RxNorm: рецепт для электронного обмена информацией о лекарствах». ИТ-специалист 7 (5): 17–23.
  7. Нельсон, Стюарт Дж., Келли Зенг, Джон Килборн, Тэмми Пауэлл и Робин Мур. 2011. «Нормализованные названия для клинических препаратов: RxNorm через 6 лет». Журнал Американской ассоциации медицинской информатики: JAMIA 18 (4): 441–48.
  8. Гассеми, Марзие, Тристан Науман, Финале Доши-Велес, Николь Бриммер, Рохит Джоши, Анна Румшиски и Питер Соловиц. 2014. «Развитие физиологического состояния: моделирование смертности в отделениях интенсивной терапии». KDD: Proceedings / International Conference on Knowledge Discovery & Data Mining. Международная конференция по открытию знаний и интеллектуальному анализу данных 2014 (август): 75–84.
  9. Блей, Дэвид М., Эндрю Й. Нг и Майкл И. Джордан. 2003. Скрытое размещение Дирихле. Журнал исследований в области машинного обучения 3 (2003): 993–1022.