Попов А.И. Разработка программного инструментария для подготовки статистических выборок данных электрофизиологии желудочно-кишечного тракта // ИЗВ. ВУЗОВ. Приборостроение. - 2019. - Т. 62. - № 2. С. 185–191.

Популярно о болезнях ЖКТ Лекарства при болезнях ЖКТ Если лечение не помогает Адреса клиник

Авторы: Попов А.И.


Разработка программного инструментария для подготовки статистических выборок данных электрофизиологии желудочно-кишечного тракта

А. И. Попов

Северный (Арктический) федеральный университет имени М. В. Ломоносова
163002, Архангельск, Россия E-mail: alenеus@gmаil.com

Актуальным направлением развития электрофизиологических методов исследования пищеварительной системы человека является автоматизация процесса диагностики заболеваний. Соответствующие исследования требуют компьютерного анализа массивов экспериментальных данных. Однако технологические решения для организованного хранения и накопления таких массивов до сих пор отсутствуют. Предложена архитектура программной системы для формирования хранилищ данных электрогастрографии и электрогастроэнтерографии из разнотипных источников и подготовки статистических выборок для последующей компьютерной обработки. Предлагаемая архитектура базируется на шаблоне проектирования Mediating-controller MVC, обеспечивающем высокую степень декомпозиции системы. Разработанная на языке Python 3 система является свободно распространяемой.

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

  • Александр Игоревич Попов - Сведения об авторе: канд. техн. наук; Северный (Арктический) федеральный университет имени М. В. Ломоносова, кафедра прикладной информатики. E-mail: alenеus@gmаil.com

Ссылка для цитирования: Попов А. И. Разработка программного инструментария для подготовки статистических выборок данных электрофизиологии желудочно-кишечного тракта // Изв. вузов. Приборостроение. 2019. Т. 62, № 2. С. 185—191.

Development of software tools for preparation of statistical data samples of electrophysiology of gastrointestinal tract

А. I. Popov

Northern (Arctic) Federal University, 163002, Arkhangelsk, Russia E-mail: alenеus@gmаil.com

Automation of diseases diagnostics is an actual direction of development of electrophysiological studies of human digestive system. The relevant research work needs to include the procedures of computer analysis of experimental data arrays. However, there are no technological solutions for organized storing and accumulation of such arrays. An architecture of software system for formation of data warehouses of electrogastrography and electrogastroenterography from different types of sources and preparation of statistical samples for subsequent computer processing is proposed. The architecture is based on the design pattern of Mediating-controller MVC, which provides a high degree of decomposition of the system. The system developed in Python 3 is freely distributed.

Keywords: software system architecture, design pattern, model–view–controller, database, research automation, electrophysiology, gastro-intestinal tract


Введение. Электрогастрография (ЭГГ) [1—3] и электрогастроэнтерография (ЭГЭГ) [4, 5] — электрофизиологические методы исследования моторики желудочно-кишечного тракта (ЖКТ). Эти методы основаны на извлечении из электрических сигналов, регистрируемых на поверхности тела, информации о силе, частоте и ритмичности сокращений органов ЖКТ. Эта информация заключена в ряде диагностических показателей [6], вычисляемых с применением методов цифровой обработки сигналов. Несмотря на попытки устанавливать с помощью статистических методов связей различных заболеваний с разрабатываемыми диагностическими показателями [7—9], универсальные технологические решения для накопления экспериментальных данных отсутствуют.

Цель настоящей работы — усовершенствовать процесс подготовки массивов данных ЭГГ и ЭГЭГ к последующей компьютерной обработке при решении исследовательских задач.

В работе [10] представлен обзор современных публикаций в области компьютеризации электрофизиологических исследований пищеварительной системы. Предложена обобщенная иерархическая модель данных ЭГГ/ЭГЭГ-обследования — SME-модель. Обследование (examination) состоит из нескольких измерительных сеансов (measurement), содержащих один или несколько сигналов (signal), при этом каждому уровню модели соответствуют наборы описательных атрибутов и вычисляемых параметров. В настоящей работе предложена архитектура программной системы, обеспечивающая формирование из различных источников хранилищ исходных данных ЭГГ и ЭГЭГ, а также представлена свободная программная реализация системы — EGEGrouper [11].

Архитектура системы. Для разделения данных, интерфейса пользователя и управляющей логики широко используются архитектурный шаблон MVC (Model—View—Controller, Модель—Представление—Контроллер) [12] и различные его модификации. Согласно которому в системе выделяются компоненты, отвечающие за бизнес-логику (модель), обеспечение восприятия данных пользователем (представление) и предоставление точек входа для сценариев пользователя (контроллер). Контроллер направляет модели команды пользователя, а обновление отображаемых данных согласуется с их изменениями в модели. Большей независимости модели и представления друг от друга (они не связаны непосредственно) позволяет достичь использование шаблона Mediating-controller MVC, или MVA (Model—View— Adapter, Модель—Представление—Адаптер) [13, 14]. Здесь связующая роль полностью отводится контроллеру. Строение базовой части системы EGEGrouper соответствует шаблону MVA. Компоненты системы и связи между ними показаны на рис. 1; сплошными стрелками обозначены связи по управлению, пунктирными — потоки данных.


Рис. 1

В основе системы находится хранилище данных обследований в виде SME-конструкций и данных о принадлежности обследований к некоторым группам.

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

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

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

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

Для наполнения хранилища данными из расширяемого набора разнотипных источников используются импортеры. Получив команду о том, что нужно добавить в открытое хранилище данные из некоторого специфического источника, импортер извлекает данные, формируя на выходе список данных обследования в форме SME. Затем импортер дает контроллеру команду о добавлении данных. Импортеры „знают“ о контроллере, а контроллер „не знает“ об импортерах. Следовательно, добавление нового импортера в систему не требует модификации ее базовой части.

Рассмотрим несколько типовых сценариев работы с системой.

  1. Пользователю требуется получить информацию об измерительных сеансах, относящихся к некоторому обследованию. Пользователь выполняет соответствующее действие с интерфейсом. Модуль „Интерфейс пользователя“ вызывает соответствующий метод контроллера, контроллер — метод модели. При этом по цепочке передаются аргументы команды (в данном случае — номер требуемого обследования). Модель направляет запрос к хранилищу и возвращает данные. Контроллер получает данные и передает их соответствующему представлению для отображения SME-конструкции.
  2. Пользователь российской системы для проведения ЭГЭГ „Гастроскан-ГЭМ“ [5] имеет файл с данными, экспортированными из базы „Гастроскана“, и желает пополнить этими данными SME-хранилище. После действия пользователя с интерфейсом импортер получает команду, в которой содержится имя файла с данными. Импортер выполняет разбор файла, после чего возвращает список обследований и дает контроллеру команду о добавлении данных. Далее контроллер работает с моделью и представлениями обычным образом.
  3. С целью проверки гипотезы о различии средних значений некоторого диагностического показателя при помощи EGEGrouper сформированы две группы данных обследования. Требуется написать скрипт (см. листинг), в котором будут обработаны эти группы. Порядок действий в скрипте: импорт модели из библиотеки EGEGrouper; открытие хранилища и двукратный вызов метода, возвращающего список объектов обследований группы с указанным идентификатором; расчет значений показателя; проверка гипотезы.


Программная реализация. EGEGrouper реализован как Python3-пакет [15] и распространяется по лицензии GNU GPLv3.

Определен базовый класс для моделей, содержащий ряд абстрактных методов. Эти методы необходимо определять в дочерних классах — так, базовый класс задает требования к функционалу конкретных реализаций модели. В текущей версии EGEGrouper реализована модель для СУБД SQLite 3. Добавление новой модели сводится к наследованию от базового класса и реализации абстрактных методов.

Во время работы модели могут возникать исключения, например, желаемые действия противоречат состоянию модели (извлечение данных из закрытого хранилища). В этом случае контроллер формирует в соответствующем представлении сообщение об ошибке. Для сокращения однотипного кода, обрабатывающего исключения, в контроллере реализован декоратор [15] @model_can_grumble (модель может ворчать). В модели также используются декораторы для сопоставления состояния с желаемым действием и формирования исключений. Например, @do_if_storage_open (делать, если хранилище открыто).

Определен базовый класс для импортеров. В нем реализованы методы взаимодействия с контроллером, общие для всех импортеров, а также содержится один абстрактный метод для извлечения данных из указанного источника. Добавление нового импортера сводится к наследованию от базового класса и реализации этого метода в дочернем классе. Реализованы импортеры для базы данных „Гастроскан-ГЭМ“, SME-хранилищ и JSON-файла [16] с результатами обследования.

Пакет также содержит модули для отображения SME-объектов в экземпляры результатов обследований в Sqlite3, JSON и обратно.

Управление перечнем групп данных обследований включает в себя их добавление, удаление и редактирование. Для каждой группы можно задать название и описание. В одной группе может быть несколько массивов данных обследований, а данные обследования могут находиться в разных группах. Данные обследования не перемещаются при добавлении их в группу — в хранилище записывается только информация о том, что некоторый массив данных обследования следует считать находящимся в некоторой группе. Соответственно при удалении группы данные не теряются — они либо остаются в других группах, либо попадают в список негруппированных данных обследований. Для получения описательной статистики по группам имеется соответствующий модуль, представляющий собой надстройку над базовой MVC-конструкцией. Модуль предоставляет информацию о сбалансированности групп по полу и возрасту пациентов, а также о распределении результатов обследований по диагнозам.

EGEGrouper можно использовать как программное обеспечение для конечного пользователя. После установки пользователю доступны интерактивный интерфейс командной строки (igrouper) и графический интерфейс, построенный на базе стандартного пакета Python 3 — Tkinter [15] (tkgrouper, рис. 2).


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

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

Список литратуры

  1. Yin J., Chen J. D. Z. Electrogastrography: Methodology, Validation and Applications // J. of Neurogastroenterology and Motility. 2013. Vol. 19, N 1. P. 5—17. DOI: 10.5056/jnm.2013.19.1.5.
  2. Riezzo G., Russo F., Indrio F. Electrogastrography in adults and children: the strength, pitfalls, and clinical significance of the cutaneous recording of the gastric electrical activity // BioMed research international. 2013. P. 1—14. DOI: 10.1155/2013/282757.
  3. Arbizu R. A., Rodriguez L. Electrogastrography, Breath Tests, Ultrasonography, Transit Tests, and SmartPill // Pediatric Neurogastroenterology. Springer, 2017. P. 169—179.
  4. Kosenko P. M., Vavrinchuk S. A. Electrogastroenterography in patients with complicated peptic ulcer. Yelm, USA: Science Book Publishing House, 2013. 164 p.
  5. Электрогастроэнтерография: исследование электрической активности желудка и кишечника
  6. Попов А. И., Свиньин С. Ф. Применение финитных базисных сплайнов при восстановлении сигналов электрогастроэнтерографии // Тр. СПИИРАН. 2017. № 50. C. 93—111.
  7. Sharma P., Makharia G., Yadav R., Dwivedi S. N., Deepak K. K. Gastric myoelectrical activity in patients with inflammatory bowel disease // J. of Smooth Muscle Research. 2015. Vol. 51. P. 50—57. DOI: 10.1540/jsmr.51.50.
  8. Kayar Y., Danaliouglu A., Al Kafee A., Okkesim, S., Senturk H. Gastric myoelectrical activity abnormalities of electrogastrography in patients with functional dyspepsia // Turk J. Gastroenterol. 2016. Vol. 27. P. 415—420. DOI: 0.5152/tjg.2016.16281.
  9. Kim H. Y., Park S. J., Kim Y. H. Clinical Application of Electrogastrography in Patients with Stomach Cancer Who Undergo Distal Gastrectomy // J. of gastric cancer. 2014. Vol. 14, N 1. P. 47—53. DOI: 10.5230/jgc.2014.14.1.47.
  10. Попов А. И. Обобщенная концептуальная модель данных электрофизиологических исследований желудочно-кишечного тракта // Изв. вузов. Приборостроение. 2018. Т. 61, № 1. С. 84—89. 
  11. EGEGrouper [Электронный ресурс]
  12. MVC [Электронный ресурс]
  13. Kurniawan A. K. A., Hendradjaya B. Integration of metadata generator to Model View Adapter (MVA) architecture pattern // Advanced Informatics: Concept, Theory and Application (ICAICTA). Intern. Conf. of. IEEE. 2014. P. 117—122. DOI: 10.1109/ICAICTA.2014.7005926.
  14. Foster E. C., Shripad G. Web-Accessible Databases // Database Systems. Apress, Berkeley, CA. 2016. P. 391—401.
  15. Python 3 [Электронный ресурс]
  16. Introducing JSON [Электронный ресурс]
References

  1. Yin J., Chen J.D.Z. Journal of Neurogastroenterology and Motility, 2013, no. 1(19), pp. 5–17, DOI: 10.5056/jnm.2013.19.1.5.
  2. Riezzo G., Russo F., Indrio F. BioMed research international, 2013, рp. 1–14, DOI: 10.1155/2013/282757.
  3. Arbizu R.A., Rodriguez L. Pediatric Neurogastroenterology, Springer, Cham, 2017, рр. 169–179.
  4. Kosenko P.M., Vavrinchuk S.A. Electrogastroenterography in patients with complicated peptic ulcer, Yelm, USA, Science Book Publishing House, 2013, 164 p.
  5. gastroscan.ru
  6. Popov A.I., Svin’in S.F. Trudy SPIIRAN (SPIIRAS Proceedings), 2017, no. 50, pp. 93–111.
  7. Sharma P., Makharia G., Yadav R., Dwivedi S.N., Deepak K.K. Journal of Smooth Muscle Research, 2015, no. 51, pp. 50–57, DOI: 10.1540/jsmr.51.50.
  8. Kayar Y. , Danaliouglu A., Al Kafee A., Okkesim, S., Senturk H. Turk J. Gastroenterol, 2016, no. 27, pp. 415–420, DOI: 0.5152/tjg.2016.16281.
  9. Kim H.Y., Park S.J., Kim Y.H. Journal of gastric cancer, 2014, no. 1(14), pp. 47–53, DOI: 10.5230/jgc.2014.14.1.47.
  10. Popov A.I. Journal of Instrument Engineering, 2018, no. 1(61), pp. 84–89, DOI: 10.17586/0021-3454-2018-61-1-84-89. (in Russ.)
  11. EGEGrouper.
  12. MVC.
  13. Kurniawan A.K.A., Hendradjaya B. Intern. Conf. of Advanced Informatics: Concept, Theory and Application (ICAICTA), IEEE, 2014, рр. 117–122, DOI: 10.1109/ICAICTA.2014.7005926.
  14. Foster E.C., Shripad G. Database Systems, Apress, Berkeley, CA, 2016, рр. 391–401..Python 3.
  15. Introducing JSON.


Назад в раздел
Популярно о болезнях ЖКТ читайте в разделе "Пациентам"
Лекарства, применяемые при заболеваниях ЖКТ
Адреса клиник

Яндекс.Метрика
Логотип Исток-Системы

Информация на сайте www.gastroscan.ru предназначена для образовательных и научных целей. Условия использования.