УДК 004.91
ОСОБЕННОСТИ ОБРАБОТКИ НЕСТРУКТУРИРОВАННЫХ МЕДИЦИНСКИХ ДАННЫХ С ПРИМЕНЕНИЕМ АЛГОРИТМИЧЕСКОГО ПРОГРАММИРОВАНИЯ
© 2024 В. А. Кудинов1, Д. В. Водолад2
1 доктор педагогических наук, профессор кафедры программного обеспечения и администрирования информационных систем e-mail: kudinovva @ yandex. ru
Курский государственный университет
2студент факультета физики, математики, информатики e-mail: dima v2014@mail.ru
Курский государственный университет
В условиях современности наблюдается возрастающая востребованность компьютерных информационных систем, которые оптимизируют работу сотрудников различных отраслей, обеспечивая быстрое и качественное предоставление информации и выполнение ряда функций без участия человека. Разработка таких программных продуктов представляет собой перспективное направление в развитии технологий.
Ключевые слова: обработка медицинских данных, алгоритмическое программирование, структурирование параметров.
PROCESSING FEATURES UNSTRUCTURED MEDICAL DATA USING ALGORITHMIC PROGRAMMING
© 2024 V. A. Kudinov 1, D. V. Vodolad2
1 Doctor of Pedagogical Sciences, Professor of the Department of Software and Information Systems Administration e-mail: kudinovva@yandex.ru Kursk State University
2 Student of the Faculty of Physics, Mathematics, Computer Science e-mail: dima_v2014@mail.ru
Kursk State University
In modern conditions, there is an increasing demand for computer information systems that optimize the work of employees in various industries, providing fast and high-quality information and performing a number of functions without human intervention. The development of such software products is a promising direction in the development of technologies.
Keywords: medical data processing, algorithmic programming, parameter structuring.
Медицинские учреждения сталкиваются с вызовами управления и обработки информации, особенно при работе с неструктурированными текстовыми данными. Разнообразие форматов заполнения файлов осложняет их анализ и использование.
В связи с этим возникает необходимость в создании программных решений, обеспечивающих:
- эффективную обработку больших объемов текстовых файлов с медицинской информацией;
- автоматизацию процесса структурирования данных.
Входные данные исследования представлены текстовыми файлами в форматах doc, docx, rtf, содержащими описание динамики состояния пациента в процессе лечения. Тексты включают качественные и количественные показатели, методы обработки которых существенно различаются. В данном исследовании рассматривается процесс выборки числовых показателей.
Числовые показатели обязательно связаны с параметрами, которые они характеризуют. Основная сложность заключается в корректной идентификации данных параметров. Способы представления медицинских данных различны, что затрудняет интерпретацию из-за отсутствия единого принципа сокращений терминов. Кроме того, некоторые показатели могут отсутствовать в отдельных документах, что создает задачи количественной оценки обработанных данных из начального исчерпывающего списка параметров. На рисунке 1 представлен пример неструктурированных данных.
Общий анализ крови от 03.02.2021г.: Эритроциты - 4,57 х I !)—[, НЬ - 137г/л, цв. п. — 0.9. лейкоциты - 5.73 хЮ'/п, П - 7%, С - 39%. Э - 1%, M -15%, Лимфоциты - 38%, СОЭ -25 мм/ч,
Общий анализ крови от 06.02.2021г.: Эритроциты - 4,05 х1012/л, НЬ - 135г/л, цв. п. — 1.0, лейкоциты - 6.63 х10®/л, П - 2%, С - 62%. Э - 3%, .VI -6%, Лимфоциты - 27%. СОЭ -40 мм/ч,
Обший анализ крови от 09.02.2021г.: Эритроциты - 4,51 х1012/л, НЬ - 138г/л, цв, п. - 0,91. лейкоциты - 7.21 х10»/л, П - 2%, С' - 58%. Э - 0%, M -8%, Лимфоциты - 32%. СОЭ -46 мм/ч.
Обшнй анализ мочи от 06.02.2021 г.: реакцця - кислая, Б -0,033г/л, плотность - 1020.
Общий анализ мочи от 09.02.2021 г.: реакция - кислая, Б -0 г/л, плотность - 1016, эпителии плоский - ед. в п/з, лейкоциты -2-3 в п/зр, ураты незначпт. кол-во.
Б/Х крови от 03.02.2021г.: глюкоза — 6,4 ммоль/л, креатпнпн 88 мкмоль/л, мочевина — 6,8 мкмоль/л, АСТ - 26 ЕД/л, АЛТ — 42 ЕД/л. билирубин общий — 13,8 -2,1-11,7 мкмоль/лобщии
Б/Х крови от 06.02.2021г.: креатпнпн 100 мкмоль/л, мочевина — 8,7 мкмоль/л, АСТ - 17 ЕД/л, АЛТ - 33 ЕД/л. билирубин общий - 12.7-2,3-10,4 мкмоль/л, калип -3,9 , общий белок— 73 г/л,
Б/Х кровн от 09.02.2021г.: креатпнпн 122 мкмоль/л, мочевина - 9,0 мкмоль/л, АСТ - 17 Е/л. АЛТ - 26 Е/л. билирубин общин - 14,3-2,5-11.8 мкмоль/л, общин белок - 73 г/л. С'РБ — 3,2 мг/л,
Коагулограммя от 06.02.21г.: АЧТВ -39,3". МНО - 1,08, ПТИ -94 %. фибриноген 3,8 г/л. ПВ -
Коагулограмма от 09.02.21г.: АЧТВ -28.2", МНО -1,15. ПТИ -88,2 %, фибриноген 4,6 г/л, D-
Рис. 1. Пример данных
В связи с рассмотренными проблемами автоматизации исследования медицинских данных были разработаны алгоритмы обработки и анализа числовых показателей с последующим структурированием данных в базе данных. В качестве выходного формата выбран Microsoft Excel, что объясняется удобством использования выгружаемых данных для конечного пользователя. Процесс преобразования данных включает несколько этапов:
• предобработка данных;
• обезличивание данных;
• обработка данных;
• анализ данных;
• выгрузка данных.
Предобработка и обезличивание данных
Первый этап включает предобработку текстов, извлечение информации из файлов форматов DOC, DOCX и RTF. Метод извлечения текста определяется форматом файла и требует специализированных функций для каждого формата, что обеспечивает универсальность обработки. Особое внимание уделяется формату RTF, поскольку он существенно отличается от DOC и DOCX. Для работы с RTF используется библиотека Aspose.Words.
После извлечения текста проводится его очистка, включающая удаление водяных знаков, лишних символов, пунктуации, замену запятых на точки, удаление лишних пробелов и вставку пробелов между цифрами и буквами. Это делает текст более структурированным для дальнейшего анализа. Специализированные методы применяются для удаления служебных строк и инициалов лечебного заведения.
Обезличивание данных включает удаление личной информации пациентов. Полные имена извлекаются с использованием морфологического анализа и специализированных библиотек, затем заменяются хэш-кодами, генерируемыми на основе фамилии и временной метки. Это обеспечивает конфиденциальность и безопасность данных. На рисунке 2 представлен результат предобработки тестовых данных.
Содержание:
Общий анализ крови от 03.02.2021г.: Эритроциты - 4,57х1012/л, НЬ- 137г/л, цв. п. - ОД лейкоциты - 5,73 х109/л, П - 7%, - 39%, Э - 1%, М -15%, Лимфоциты - 38%, ОЭ -25 мм/ч, тромбоциты - 200.
Общий анализ крови от 06.02.2021г.: Эритроциты -4,05 х1012/л, НЬ - 135г/л, цв. п. -1.0, лейкоциты - 6,63 ХЮ9/Л, П - 2%, - 62%, Э - 3%, М -6%, Лимфоциты - 27%, ОЭ -40 мм/ч, тромбоциты - 174.
Общий анализ крови от09.02.2021г.: Эритроциты -4,51 х1012/л, НЬ- 138г/л, цв. 1.-0,91, лейкоциты - 7,21 XI09/Л, П - 2%, - 58%, Э - 0%, М -8%, Л ИМфОЦИТЫ - 32%, ОЭ -46 М М/Ч, тромбоциты - 225.
Ofii ний анализ мочи от f)fi.fí?.?0?1 г.: прякиин — кигляя Б —Л ПЧДг/л гпптнпгть — 1Л?0 эпитрлий
Преобразованный контент:
нарушениями Гипертоническая болезнь Шстадия Контролируемая АГ ГМ/1Ж риск4 Целевой уровень АД менее 130 80 мм рт ст Проведено обследование Общий анализ крови от 03.02.2021 г Эритроциты 4.57 1012 л НЫ37 гл цв п 0.9 лейкоциты 5.73 109л П 7 39 Э 1 M 15 Лимфоциты 38 ОЭ 25 мм ч тромбоциты 200 Общий анализ крови от 06.02,2021 г Эритроциты 4,05 1012 л НЬ 135 г л цв п 1,0 лейкоциты 6.63 109лП2 62ЭЗМ6 Лимфоциты 27 ОЭ 40 мм ч тромбоциты 174 Общий анализ крови от 09.02.2021 г Эритроциты 4.51 1012 л НЬ 138 г л цв п 0.91 лейкоциты 7.21 109 лП2 58Э0М8 Лимфоциты 32 ОЭ 46 мм ч тромбоциты 225 Общий анализ мочи от 06.02,2021 г реакция кислая Б 0.033 г л плотность 1020 эпителий плоский 8 10 в п з лейкоциты 5 10 в 1 зр Общий анализ мочи от 09,02.2021 г реакция кислая Б 0 г л плотность 1016 эпителий плоский ед в п з лейкоциты 2 3 в п зр ураты незначит кол во Б X крови от 03.02.2021 г глюкоза 6,4
Код:
Íbace3e0e757d656f3ae1 c149а bc6bd9a 0aa89t Пациент П П
Рис. 2. Результат предобработки и обезличивания данных
Обработка данных
Для поиска в тексте требуемых данных разработаны специализированные словари аббревиатур. В словаре ключами являются кортежи, содержащие основные параметры записей, а значениями - списки дополнительных данных. Это обеспечивает удобное структурированное хранение и обработку данных.
После загрузки и преобразования данных в словарь они подвергаются обработке, включающей разбиение текста на части по датам. Для этого используется регулярное выражение, позволяющее находить даты в различных форматах. Помимо этого, производится поиск типов анализов, чтобы в дальнейшем применять методы обработки значений с применением словарей. Текст разделяется на фрагменты, что позволяет сгруппировать данные по временным интервалам.
Классификация типов диагностики осуществляется с использованием заранее подготовленного словаря типов диагностик и их возможных обозначений. Алгоритм поиска наиболее подходящего типа диагностики анализирует последовательности слов
в тексте и вычисляет коэффициент совпадения с ключевыми словами из словаря. Этот коэффициент рассчитывается на основе алгоритма 8едиепееМа1еИег, что обеспечивает высокую точность классификации. На рисунке 3 представлен пример словаря для поиска типа анализа.
types.dia^no^tik = {'OAK': ['OAK', 'Общий анализ крови", 'Об ан кр'], "ОАМ': 1'ОАМ', 'Общий анализ мочи', 'Об ан мочи'], * Б/Х": ["Б X *, "БАК", "Биохимический анализ крови'], ' Коаг удо гд.аща': [' Коагущграта', ' Крагул' I, 'Лечение': ['Лучение', *Леч"]>
Рис. 3. Словарь для поиска группы показателей
Классификация и анализ данных
Принимается контекст, в котором после лексемы следует числовое значение. Если число отсутствует - считается, что данный термин не является значимым. Например, сокращение «л» можно принять как производное слова «лейкоциты», однако можно распознать и как «литры». Поэтому, если за термином идет число, то это можно принять искомым термином.
Для каждого типа диагностики (общий анализ крови, биохимический анализ крови, коагулограмма) используются специализированные алгоритмы и словари. Алгоритмы анализируют текстовые данные и извлекают числовые значения, относящиеся к медицинским показателям. Это позволяет структурировать данные для дальнейшего анализа и интерпретации. На рисунке 4 представлен пример словаря для поиска терминов в рамках одного из типов анализов.
Рис. 4. Словарь поиска типа диагностики в группе показателей
Результирующие данные после обработки организуются в json-словарь и записываются в соответствующее поле БД. Данные, выгруженные в формате Microsoft Excel, представлены на рисунке 5.
Рис. 5. Данные, выгруженные в формате Microsoft Excel
Преимущества и недостатки
Преимущества разработанных алгоритмов включают автоматизацию процесса обработки данных, сокращение времени на анализ больших объемов информации и повышение точности классификации и извлечения данных. Высокая степень масштабируемости алгоритмов позволяет адаптировать их для работы с различными типами данных и текстов.
Однако существуют и определенные недостатки. Алгоритмы зависят от качества исходных данных, и входные структуры, представленные в табличном виде, могут существенно снизить точность классификации и анализа. Кроме того, специализированные алгоритмы могут не учитывать все возможные вариации и контексты использования терминов.
Тестирование и результаты
Тестирование алгоритмов проводилось на данных из медицинских отчетов, что позволило оценить их практическую применимость и эффективность. Алгоритмы продемонстрировали высокую точность классификации и извлечения данных. Для проверки использовались тексты различных типов диагностик. В большинстве случаев алгоритмы успешно определяли тип диагностики и извлекали необходимые числовые данные.
Результаты тестирования подтвердили, что предложенные подходы могут быть успешно использованы для автоматизации обработки медицинских данных. Для повышения универсальности и точности алгоритмов необходимо дальнейшее исследование и адаптация с учетом большего числа вариантов и контекстов.
Заключение
В результате предложенные алгоритмы и методы обработки данных представляют собой надежный и эффективный инструмент для автоматизации анализа медицинских данных. Их использование способствует повышению точности диагностики и ускорению обработки данных, что является ключевым фактором для улучшения качества медицинских услуг и оптимизации работы медицинских учреждений.
Библиографический список
1. Буч, Г. Объектно-ориентированный анализ и проектирование с примерами приложений на C++ / Г. Буч. - 2-е издание: перевод с английского. - Москва : Бином, Санкт-Петербург : Невский диалект, 1998. - 359 с.
2. Буч, Г. Язык UML. Руководство пользователя / Г. Буч, Д. Рамбо, А. Джекобсон. - Москва : ДМК Пресс, 2001. - 496 с.
3. Хомоненко, А. Д. Базы данных: учебник для вузов / А. Д. Хомоненко. -Санкт-Петербург : КОРОНА принт, 2000. - 416 с.