Open source технологии для развития медицинских информационных систем
Николай Курбатов, аналитик данных, Beltel Datanomics
Сегодня здравоохранение неразрывно связано с информационными технологиями. В медицине цифровая трансформация и развитие существующих технологий – актуальная задача, которая оптимизирует работу персонала, повышает эффективность и качество лечения пациентов.
Все информационные системы начинаются с хранения и передачи данных, и медицинские ИТ-системы не исключение. Учитывая масштабы любой системы здравоохранения, мы приходим к огромному количеству данных, которые необходимо безопасно хранить, быстро извлекать, передавать и своевременно масштабировать. В такой системе много потенциальных точек отказа, которые нужно предусмотреть и устранить. Поэтому проектирование и реализация подобных информационных систем сложная и дорогостоящая задача.
Оптимизировать затраты при реализации такого проекта позволит использование бесплатных технологий с открытым исходным кодом. Такие open source проекты постоянно развиваются и обладают большой гибкостью. В данной статье команда Beltel Datanomics рассказывает об одних из самых популярных open source технологиях для создания и развития медицинских информационных систем.
Немного о медицинских данных
Что из себя представляют медицинские данные? Это все документы, которые позволяют сделать заключения о здоровье человека: электронные карты пациентов, результаты анализов (документы, таблицы, снимки в различных форматах), медицинские справочники и др. Практически все медицинские данные содержат персональные данные, что накладывает дополнительные требования к системе хранения.
Существуют готовые open source проекты для хранения электронных карт пациентов в формате HL7. Один из таких проектов – [1] c ядром PostgreSQL. Системах с реляционной СУБД (система управления базами данных) в качестве ядра обеспечат надежное хранение данных в виде таблиц. В таких системах есть несколько недостатков: много таблиц, различных связей между ними и дорогая операция полнотекстового поиска. Например, если потребуется выполнить поиск карт с некоторыми ключевыми словами в заключении врача, то для большого количества данных это будет работать долго.
Выходом из данной ситуации будет использование NoSQL (Not Only SQL) СУБД, которые ориентированы на хранение и поиск документов в большой коллекции.
Движки для хранения и поиска медицинских данных
MongoDB
Одной из самых мощных и широко использующихся баз данных на рынке является MongoDB. Это СУБД с открытым исходным кодом, которая использует модель данных, ориентированную на хранение документов. MongoDB поддерживает язык запросов NoSQL для различных операций с данными.
NoSQL означает, что СУБД не использует концепцию строк и столбцов для хранения данных; вместо этого она хранит данные в документах и поддерживает коллекцию документов. Данные, хранящиеся в документе, состоят из набора пар ключ-значение и позволяют масштабировать их по вертикали и сохраняют их в формате BSON (двоичный JSON).
MongoDB позволяет изменять схемы без каких-либо простоев, может масштабироваться и обладает нужными средствами безопасности. Однако у MongoDB ограниченный функционал полнотекстового поиска, которого недостаточно для реализации автозаполнения при поиске. Если в тексте, поиске допущены ошибки, или грамматическая форма ключевого слова в поиске и в БД будут отличаться, то MongoDB выдаст неправильный результат.
Чтобы решить эту проблему нужно подключать технологии поиска для выполнения многофункциональной полнотекстовой индексации данных. Такими технологиями являются Elasticsearch и OpenSearch.
Elasticsearch
Elasticsearch – это инструмент, предназначенный для хранения, индексации данных и обеспечения поиска, близкого к реальному времени. Это распределенная поисковая система, способная индексировать данные огромного размера. Данный продукт обладает обширным функционалом для поиска документов.
Elasticsearch можно использовать в качестве поисковой и аналитической системы для всех типов данных, таких как числовые, текстовые, геопространственные, неструктурированные и структурированные. Elasticsearch известен своей скоростью, масштабируемостью, RestAPI и распределенным характером.
Безопасность в бесплатной версии Elasticsearch ограничивается управлением доступов только для учетных записей пользователей, которые существуют в Elasticsearch. Это ограничение затрудняет внедрение большинством организаций, поскольку они используют централизованную систему управления пользователями, такие как LDAP или OpenID.
OpenSearch
Пакет поиска и аналитики OpenSearch предлагает пользователям хранилище данных и поисковую систему, а также визуализацию и пользовательский интерфейс, что упрощает сбор, поиск, визуализацию и анализ данных. Благодаря открытому исходному коду OpenSearch отличается высокой гибкостью, скоростью и экономичностью. Существует несколько доступных плагинов для расширения и расширения функциональности.
OpenSearch включает в себя контроль доступа для централизованного управления пользователями, включая LDAP и OpenID. В дополнении к этому существуют плагины, которые предоставляют полный набор средств безопасности. Например, плагины включают в себя ряд функций для аутентификации, контроля доступа и ведения журнала аудита, соответствия требованиям. Плагин Security Analytics предоставляет средства для управления информацией и событиями безопасности (SIEM), созданное специально для OpenSearch. Его можно использовать для обнаружения, анализа и реагирования на различные угрозы безопасности.
Open source проекты для анализа медицинских данных
После построения надежного, быстрого и безопасного хранилища данных необходимы инструменты для анализа и визуализации этих медицинских данных. Для визуализации базовой медицинской аналитики есть бесплатные BI продукты, таким является DataLens. О визуализации медицинских данных мы рассказываем в статье [2].
В таких областях как рентгенография, томография, эндоскопия, микроскопия и др. наиболее актуален анализ изображений различного формата.
Зачастую медицинские графические данные это не только файлы с изображениями, но и различные метаданные (например, формат DICOM). Для просмотра таких данных требуются специальные инструменты. Есть много продуктов, которые можно бесплатно интегрировать в проекты, для удобного просмотра данных [3, 4].
Есть и продукты для глубоко анализа изображений с целью построения предиктивных моделей на базе AI. Одним из таких является open source проект MONAI [5]. Представляет собой фреймворк для анализа медицинских изображений, состоящий из трех продуктов: MONAI Label, MONAI Core и MONAI Deploy. Первый продукт в списке – инструмент для маркировки изображений и обучения. Он позволяет пользователям создавать аннотированные наборы данных и создавать модели аннотаций AI для клинической оценки. MONAI Core – проект для построения и обучения AI моделей для задач классификации, сегментирования, детектирования. MONAI Deploy – пакет для ввода моделей в промышленную эксплуатацию.
Заключение
Развитие информационных технологий в медицине – важная и сложная задача, которая требует времени и значительных ресурсов. Некоторые возможности для построения таких надежных и высоконагруженных систем предоставляют open source проекты. Эти продукты постоянно развиваются и обеспечивают прозрачную архитектуру информационной системы, поэтому такие системы проще обслуживать, развивать, при необходимости переносить в другие среды исполнения.
Список литературы
[1] https://www.health-samurai.io/fhirbase
[2] https://datanomics.ru/artciles/bi-proekty-v-zdravoohranenii-realizatsiya-v-yandex-datalens/
[3] https://github.com/cornerstonejs/cornerstone