Информационная система на основе фармацевтической онтологии

Обложка

Цитировать

Полный текст

Аннотация

Для автоматизации рабочих процессов аптечного пункта предлагается информационная система на основе фармацевтической онтологии. Сущностями в разработанной онтологии являются лекарственные средства, симптомы и заболевания. В качестве источников описаний отношений между сущностями используются инструкции к лекарственным средствам, препаратам и их аналогам. Основные свойства препарата описываются его характеристиками: название, срок годности, фармакологическая группа, место хранения, форма отпуска, производитель, цена и др. Особенностями спроектированной информационной системы являются: возможность поиска лекарственных средств и препаратов из числа имеющихся в аптеке и внесённых в онтологию по симптому или заболеванию; ограничение продажи лекарственных средств, имеющих противопоказания у покупателя. Функционирование большинства модулей информационной системы осуществляется с использованием машины логического вывода онтологии. Для каждого конкретного процесса проводится автоматическая проверка согласованности ограничений в онтологии с учётом специфики хранения, отпуска и продажи фармацевтических препаратов. К особенности разработанной информационной системы можно отнести её способность осуществлять семантический поиск по объектам фармацевтической онтологии.

Полный текст

Введение

В настоящее время широко используются информационные системы (ИС), автоматизирующие разнообразные бизнес-процессы [1-3]. ИС, основанные на базах знаний (БЗ), позволяют в деятельности аптек экономить время фармацевта при выполнении ежедневных рутинных операций, регулировать большинство рабочих процессов в фармацевтической организации, сократить количество ошибок, связанных с человеческим фактором. Такие задачи, как работа с поставщиками, контроль остатков препаратов, заказ товара, продажа лекарственных средств (ЛС) и др. выполняются практически одновременно, поэтому управлять работой фармацевтической организации без ИС трудно. Сложности могут возникнуть и с номенклатурой, т.к. ЛС могут выпускаться в различных дозировках и формах, предназначаться для различных категорий пользователей. Для автоматизации процессов требуется специальное программное обеспечение, которое учитывает специфику фармацевтической отрасли, например, «1С: Розница 8. Аптека»1, «М-АПТЕКА плюс»2, «F3 TAIL»3 и др. [4, 5].

В статье предлагается подход к построению ИС с использованием БЗ о лекарственных препаратах и товарах аптечного ассортимента (ТАА) в виде предметной онтологии. Решается задача автоматизации большинства ежедневных операций, выполняемых фармацевтом в аптечном пункте, таких как работа с ценами и рекламными акциями, консультирование покупателей, контроль остатков товара и т.д. В разработанной ИС реализован алгоритм семантического поиска по объектам фармацевтической онтологии, что позволяет с помощью графического интерфейса с подсказками вести поиск ЛС и их аналогов по симптомам или описаниям болезней, вносить необходимые изменения в данные о группах товаров, а также ограничивать продажу ЛС на основе указанных противопоказаний.

1 Онтологии предметных областей (ПрО)

Онтологию можно построить как некую иерархическую структуру классов, связанных понятиями, представив её в графическом виде. Данная связь реализуется с помощью триплета: субъект – отношение – объект [6, 7].

На основе онтологий создаются БЗ, которые являются необходимыми составляющими ИС [8]. Так, в работе [9] предложена ИС, основанная на онтологии взаимодействия лекарств, которая помогает врачам и фармацевтам учитывать побочные эффекты. В ней заложены семантические отношения между заболеваниями, ЛС, механизмами действия, физиологическими эффектами, дозами, способами введения и т.д. Такая ИС может быть полезна фармацевтам при учёте взаимодействия лекарств на организм пациента. В статье [10] описаны разработанная на основе онтологий ИС и её внедрение в клиническую практику. ИС генерирует оповещения при выявлении ошибок в назначении лекарств согласно данным пациента. В работе [11] рассматривается система электронного здравоохранения на основе онтологии ПрО. ИС предоставляет информацию о ближайшей больнице, лучшей машине скорой помощи, лаборатории, сведения о соответствующем отделении или враче путём сбора информации от пользователей и т.д.

В данной статье ИС «UlPharma» разработана на основе фармацевтической онтологии, построенной средствами библиотеки owlready24 языка Python5. Редактор онтологий Protégé6 позволяет представить её в виде графа, проверить иерархию онтологии, а также выявить неточности, связанные, например, с названиями ЛС. На рисунке 1 показан фрагмент фармацевтической онтологии в виде графа, описывающего классы и их отношения. Некоторые экземпляры (а) и свойства (б, в) фармацевтической онтологии (конкретные препараты, болезни и симптомы) приведены на рисунке 2. При составлении данной онтологии указывались два конкретных свойства (рисунки 2б и 2в): Domain – это набор классов, к экземплярам которых применимо данное свойство; Range – это тип значений, которые они принимают.

 

Рисунок 1 – Фрагмент фармацевтической онтологии в виде графа

 

Рисунок 2 – Некоторые экземпляры (а) и свойства (б, в) фармацевтической онтологии

 

Экземпляры классов взаимодействуют друг с другом через свойства объектов (object_property, см. рисунок 2б). Свойства экземпляров, значениями которых являются число, дата или строка, задаются с помощью data_properties (рисунок 2в).

В ИС использованы следующие особенности онтологии:

  • в класс «Остаток» после запуска машины логического вывода (МЛВ), согласно правилу ((осталось some xsd:integer[> 0]) and (осталось some xsd:integer[<= 2])), попадают экземпляры (ЛС и ТАА), которых мало или которые закончились;
  • в класс «Срок годности» после запуска МЛВ, согласно правилу (ЛС and (годен_до some xsd:date[<= "2024-06-10"^^xsd:date])), попадают ЛС и ТАА срок годности которых заканчивается в ближайшие два месяца, начиная с даты обращения;
  • в класс «Списание» после запуска МЛВ попадают ЛС и ТАА, которые были забракованы вследствие нарушения целостности упаковки. Все ЛС разделены по соответствующим фармакологическим группам согласно свойствам экземпляров (тип: str);
  • после запуска МЛВ, с учётом правил для эквивалентности классов, происходит наполнение экземплярами (ЛС и ТАА) классов условия хранения (сухое, тёмное или прохладное место) и условия отпуска из аптек (без рецепта и по рецепту).

В ИС предусмотрено своевременное пополнение новых наименований ЛС и ТАА, которые можно добавить через соответствующее меню программы.

2 Выбор программных средств для ИС

Наиболее известными средствами для создания и редактирования онтологий являются Protégé, Fluent Editor и библиотека Owlready2 для языка программирования Python [12-14]. Protégé поддерживает язык описания онтологий OWL и позволяет генерировать HTML-документы, которые отражают структуру онтологии, а сложные ограничения можно реализовать с помощью Manchester Syntax [15]. Использование языка программирования Python удобно в связи с наличием возможности работы как с онтологиями (библиотека Owlready2), так и с графикой (библиотека tkinter[7]) [16, 17].

Для конечного пользователя является важным наличие русского языка в программе. Поэтому создание русскоязычных онтологий, которые могут быть положены в основу русскоязычных ИС, является актуальной задачей [18].

Для создания ИС выбрана интегрированная среда разработки PyCharm[8], которая предоставляет пользователю комплекс средств для написания кода с возможностью выявления ошибок в нём и визуальный отладчик.

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

3 Функциональность разработанной ИС

Главное окно разработанной ИС «UlPharma» для автоматизации работы аптеки на основе фармацевтической онтологии состоит из девяти основных вкладок (рисунок 3).

 

Рисунок 3 – Главное окно информационной системы UlPharma

 

Каждая вкладка (раздел) имеет заголовок с описанием выполняемой функции.

В разделе «Продажа» содержится текстовое поле, которое предназначено для внесения названия ЛС, и поле для занесения необходимого количества для продажи (рисунок 4). В нижней части окна раздела расположены функциональные кнопки. Кнопка «Цена» выводит на экран цену интересующего наименования и цену по акции, если такая имеется на соответствующую фармакологическую группу. Кнопкой «Продажа» выводятся сведения о реализации потребителю выбранного наименования и соответствующего ему количества товара. Активация этой кнопки происходит уменьшение запасов выбранного товара в аптеке. Кнопка «Очистить» служит для очистки всех полей ввода от находящейся в них информации на случай неправильных или ошибочно введённых данных. Кнопкой «Закрыть» закрывается текущая вкладка.

 

Рисунок 4 – Раздел «Продажа»

 

Одним из способов привлечения клиентов является проведение акций или скидок на выбранные группы товаров [19]. Раздел «Акции» предназначен сведений об акциях на выбранные группы (категории) товаров (см. рисунок 5). В данном разделе в поле вносится необходимый размер скидки, а из раскрывающегося списка выбирается та фармакологическая группа, к которой применяется скидка. Кнопки «Отменить» и «Закрыть» служат для удаления информации из поля ввода и закрытия окна. Активация скидки происходит с применением правил, являющихся импликацией между предпосылкой и следствием. Например, при активации определённой скидки для фармакологической группы «Простудные» действует следующее правило: 

 

Рисунок 5 – Раздел «Акции»

 

Apteka.rule = Apteka.Imp().set_as_rule("Простудные(?p), цена(?p, ?c), divide(?div, ?c, 100), multiply(?mul, ?div, 0), subtract(?sub, ?c, ?mul) -> цена_по_акции(?p, ?sub)"). Применение данного правила происходит после запуска МЛВ для онтологии, т.е. у всех ЛС, которые относятся к фармакологической группе простудные, цена уменьшается на 10%. С использованием подобных правил можно вводить ограничения на цены большого числа наименований, отвечающих определённым условиям.

Раздел «Поступление» связан с добавлением в БЗ нового наименования и его характеристик (рисунок 6). На вкладке есть несколько текстовых полей, в которые можно занести название ЛС, его фармакологическую группу, условия отпуска, место хранения, название фирмы-производителя, цену на товар, срок годности и количество. Некоторые позиции представлены раскрывающимися списками (например, из условий хранения можно выбрать сухое, тёмное или прохладное место, а для условий отпуска - без рецепта и по рецепту.

 

Рисунок 6 – Раздел «Поступление»

 

Раздел «Симптомы» позволяет получать доступ к ЛС и их аналогам по введённому симптому или заболеванию (рисунок 7). Внутри вкладки находится поле для ввода текстовой информации и функциональные кнопки поиска, очистки полей и закрытия активного окна. Поиск по симптомам осуществляется с помощью БЗ и МЛВ, что позволяет найти доступные в фармацевтической онтологии болезни и симптомы, которые входят в показания к применению имеющихся в наличии ЛС. Если перед продажей необходимо отобрать препараты с учётом их противопоказаний [20], то используется кнопка «Противопоказание» (например, при кашле можно применять Ацц, Гербион или Мукалтин; если выбрать противопоказание, связанное с язвенной болезнью желудка, то останется один препарат, соответствующий этим критериям отбора – Гербион).

 

Рисунок 7 – Раздел «Симптомы»

 

В разделе «Остаток» (рисунок 8а) можно получить информацию о товарах, которых мало или которые закончились, а в разделе «Срок годности» (рисунок 8б) - информацию о товарах, срок годности которых заканчивается в ближайшее время. Процесс осуществляется с помощью МЛВ библиотеки Owlready2 фармацевтической онтологии и модуля datetime Python9, после запуска которого в определённую группу попадают товары, оставшиеся в количествах один, два или закончившиеся.

  

Рисунок 8 – Разделы «Остаток» (а), «Срок годности» (б) и «Списание» (в)

 

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

В разделе «Справка» можно получить необходимую информацию об интересующем препарате (рисунок 9). Данная вкладка содержит текстовое поле, предназначенное для ввода названия препарата, и поля для вывода информации о препарате и его аналогах.

 

Рисунок 9 – Пример запроса в разделе «Справка»

 

В раздел «Поставщики» (рисунок 10) вносится информация о поставщиках и фирмах-производителях ЛС, по которой можно сравнивать цены у различных поставщиков. 

 

Рисунок 10 – Раздел «Поставщики»

 

4 Сравнение с аналогами

В данной ПрО разработано и используется различное программное обеспечение. В таблице 1 приведены данные для сравнительного анализа наиболее известных программных продуктов для автоматизации работы аптек и аптечных пунктов с ИС UlPharma.

 

Таблица 1 – Основные характеристики программных продуктов для автоматизации работы аптек

Характеристики и функции

Название программы

1С: Розница 8. Аптека

F3 TAIL

Эприка10

М Аптека

плюс

UlPharma

Стоимость, руб.

26500

19800

18000

25000

0

Учёт лекарственных средств

+

+

+

+

+

Формирование заказа у поставщиков

+

+

+

+

+

Инвентаризация остатков

+

+

+

+

+

Работа с ценами

+

+

+

+

+

Поиск аналогов лекарственных средств

+

+

+

+

+

Работа со справочником

+

+

Учёт наличия противопоказаний

+

Проверка фармацевтической онтологии на непротиворечивость

+

 

В основе предлагаемой ИС лежит OWL-онтология, что позволяет добиться согласованности и непротиворечивости данных. Под согласованностью понимается такое состояние данных, при котором на их основе обеспечивается корректный логический вывод. Непротиворечивость означает, что в ИС отсутствуют данные, противоречащие друг другу. Нарушение непротиворечивости данных при игнорировании предупреждения об ошибке может, например, привести к тому, что из определённых в онтологии аксиом будут выведены неправильные утверждения, имеющие негативные последствия. В онтологиях предусмотрены автоматический поиск ошибок и выявление новых отношений.

ИС UlPharma является автономным бесплатным приложением, способным запускаться с USB-накопителя. Преимуществом предлагаемой ИС перед SaaS11-системами, к которым относится «Киберис12», является возможность самостоятельной актуализации БЗ ИС при отсутствии у пользователя компетенций в области программирования путём внесения данных о новых препаратах, болезнях, диагнозах и др. ИС UlPharma позволяет ограничивать продажу ЛС на основе указанных противопоказаний непосредственно на этапе продажи, минуя поиск соответствующей информации по каждому наименованию в справочнике. ИС содержит только ЛС, прошедшие государственную регистрацию [21]. Предлагаемая онтология может использоваться в русскоязычных ИС без применения дополнительных средств перевода и проверки на наличие ЛС в госреестре.

Из анализа представленных в статье ИС видно, что каждая ИС является многофункциональной и предназначена для нескольких сфер деятельности аптечной организации, однако в этих ИС возможность ограничения отпуска ЛС и ТАА с учётом указанных противопоказаний на этапе продажи отсутствует.

Заключение

В результате исследования разработана фармацевтическая онтология и заполнена БЗ на основе этой модели, которая использовалась в специализированной ИС UlPharma. БЗ выполнена на русском языке, имеет открытый доступ и содержит только препараты из государственного реестра ЛС РФ.

Разработанная ИС UlPharma с использованием созданной БЗ на основе фармацевтической онтологии может применяться для автоматизации основных процессов в аптечной организации. Отличительной особенностью данной ИС является возможность семантического поиска по объектам онтологии и ограничения на отпуск ЛС, на основе указанных противопоказаний с помощью определяемых классов и аксиом онтологии, непосредственно на этапе продажи.

 

1 1С: Розница 8. Аптека – отраслевое решение для автоматизации аптек и аптечных пунктов.
 https://solutions.1c.ru/catalog/drugstore.

2 Программный комплекс «М-АПТЕКА плюс» предназначен для автоматизации аптек и аптечных сетей.
 https://m-apteka.com/.

3 F3 TAIL – программа для автоматизации аптек и розничной торговли. https://www.spargo.ru/app/f3tail/.

4 owlready2 – пакет для онтологического программирования на Python. https://owlready2.readthedocs.io/en/v0.42/.

5 Python – высокоуровневый язык программирования. https://www.python.org/.

6 Protégé – свободный, открытый редактор онтологий и фреймворк для построения баз знаний. https://protege.stanford.edu/.

7 Tkinter – стандартная библиотека Python для создания приложений с графическим интерфейсом. https://docs.python.org/3/library/tkinter.html.

8 PyCharm – кроссплатформенная интегрированная среда разработки. https://www.jetbrains.com/ru-ru/pycharm/.

9 Модуль datetime предоставляет инструменты для обработки времени и даты разными способами в Python. https://docs.python.org/3/library/datetime.html.

10 Эприка – совместный продукт национального фармдистрибьютора АО ЦВ ПРОТЕК и лидера отечественного рынка автоматизации товарно-складского учета аптек «Спарго Технологии». https://protek.ru/partners/servisy-dlya-aptek/eprika/.

11 SaaS (software as a service — программное обеспечение как услуга) — модель обслуживания, при которой подписчикам предоставляется программное обеспечение, полностью обслуживаемое провайдером.

12 Киберис - медицинский ассистент на основе искусственного интеллекта для диагностики и персонифицированной терапии, подбора аналогов лекарств, проверки безопасности назначений и автозаполнения медкарты. https://kiberis.ru/.

×

Об авторах

Вадим Сергеевич Мошкин

Ульяновский государственный технический университет (УлГТУ)

Автор, ответственный за переписку.
Email: v.moshkin@ulstu.ru
ORCID iD: 0000-0002-9258-4909
Scopus Author ID: 57190250573
ResearcherId: L-3578-2016

к.т.н. (2017 г.), доцент кафедры «Информационные системы», проректор по цифровой трансформации, вице-президент Российской ассоциации искусственного интеллекта

Россия, Ульяновск

Игорь Александрович Щукарев

Ульяновский государственный технический университет (УлГТУ)

Email: blacxpress@gmail.com
ORCID iD: 0000-0002-8860-8103
Scopus Author ID: 56565459600
ResearcherId: AAH-6813-2019

к.ф.-м.н. (2017), доцент кафедры «Информационные технологии и общенаучные дисциплины»

Россия, Ульяновск

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

  1. Аветисян Т.В., Львович Я.Е. Преображенский А.П. Особенности информационных систем на предприятиях // Вопросы науки. 2023. № 2. С.8-15.
  2. Николаева И.М., Захарова И.Н. Сравнительный анализ систем автоматизации процессов управления персоналом по критерию функциональной полноты // Вопросы устойчивого развития общества. 2022. № 6. С.1321-1326.
  3. Чистяков В.В., Ромашкова О.Н. Анализ информационных систем, используемых для управления в сфере фармации // Современная наука: актуальные проблемы теории и практики. Серия: Естественные и технические науки. 2019. № 5. С.105-108.
  4. Исаев М.И., Алдамов А.И. Проектирование информационной системы для автоматизации аптечной среды // Экономика: вчера, сегодня, завтра. 2022. №11. С.243-248.
  5. Ауесбек Д.А., Абдрахманов Р.Б. Разработка информационно-справочной системы аптеки // Перспективы науки. 2021. № 6. С.21-24.
  6. Антонов А.А., Быков А.Н., Чернышев С.А. Обзор существующих способов формирования онтологии предметной области при моделировании // Международный журнал информационных технологий и энергоэффективности. 2021. № 4. С.12-17.
  7. Sartabanova, Zh.E., Dimitrov V.T., Sarsimbaeva S.M. Applying the knowledge base of CWE weaknesses insoftware design // Journal of Mathematics, Mechanics and Computer Science. 2020. Vol. 108(4). P.72-80. doi: 10.26577/JMMCS.2020.v108.i4.06.
  8. Khaimuldin A., Mukatayev T., Assanova N. Ontology construction in rule-based expert systems // Вопросы устойчивого развития общества. 2022. №. 6. С.1180-1191.
  9. Naz. T., Akhtar M., Shahzad S.K., Maria Fasli M., Iqbal M.W., Naqvi M.R. Ontology-driven advanced drug-drug interaction // Computers & Electrical Engineering. 2020. Vol. 86(5). P.106695. doi: 10.1016/j.compeleceng.2020.106695.
  10. Calvo-Cidoncha E., Camacho-Hernando C., Feu F. OntoPharma: ontology based clinical decision support system to reduce medication prescribing errors // BMC Med Inform Decis Mak. 2022. Vol.22. 12 p. doi: 10.1186/s12911-022-01979-3.
  11. Subbulakshmi S., Krishnan A., Sreereshmi R. Contextual Aware Dynamic Healthcare Service Composition Based on Semantic Web Ontology // 2nd International Conference on Intelligent Computing, Instrumentation and Control Technologies (Kannur, India). 2019. P.1474-1479. doi: 10.1109/ICICICT46008.2019.8993303.
  12. Горобец Е.А., Диязитдинова А.Р. Применение онтологического подхода при проектировании медицинского мобильного приложения // Инфокоммуникационные технологии. 2021. № 2. С.224-231.
  13. Weichbroth P. Fluent Editor and Controlled Natural Language in Ontology Development // International Journal on Artificial Intelligence Tools. 2019. Vol.28(4). P.1940007. doi: 10.1142/S0218213019400074.
  14. Иванов П.И., Мышкина И.Ю., Грудцына Л.Ю. Обзор библиотеки Owlready2 для работы с онтологиями на языке Python // Научно-технический вестник Поволжья. 2022. № 12. С.139-141.
  15. Ovciņņikova J. Ontology export patterns in OWLGrEd Editor // Baltic Journal of Modern Computing. 2020. Vol.8(3). P.444-460. doi: 10.22364/bjmc.2020.8.3.04.
  16. Dli M.I., Vlasova E.A., Sokolov A.M., Morgunova E.V. Creation of a chemical-technological system digital twin using the Python language // Journal of Applied Informatics. 2021. Vol.16(1). P.22-31. doi: 10.37791/2687-0649-2021-16-1-22-31.
  17. Jean-Baptiste L. Ontologies With Python: Programming Owl 2.0 Ontologies With Python and Owlready2. NY: Apress, 2020. 344 p.
  18. Щукарев И.А. Особенности работы с русскоязычными онтологиями с помощью библиотеки Owlready2 на языке Python // Программные продукты и системы. 2023. № 2. С.223–227. doi: 10.15827/0236-235X.142.223-227.
  19. Бурдина Е.С., Уткина А.В. Влияние дисконтных программ на уровень прибыли аптеки // Известия ГГТУ. Медицина, фармация. 2020. № 4. С.78-79.
  20. Марцевич С.Ю., Лукина Ю.В., Драпкина О.М. Основные принципы комбинированной медикаментозной терапии - фокус на межлекарственное взаимодействие // Кардиоваскулярная терапия и профилактика. 2021. № 7. С. 172-178. doi: 10.15829/1728-8800-2021-3031.
  21. Ковальская Г.Н., Михалевич Е.Н. Государственный реестр лекарственных средств: межлекарственное взаимодействие // Вопросы обеспечения качества лекарственных средств. 2019. № 3. С. 59-65.

Дополнительные файлы

Доп. файлы
Действие
1. JATS XML
2. Рисунок 1 – Фрагмент фармацевтической онтологии в виде графа

Скачать (474KB)
3. Рисунок 2 – Некоторые экземпляры (а) и свойства (б, в) фармацевтической онтологии

4. Рисунок 3 – Главное окно информационной системы UlPharma

Скачать (724KB)
5. Рисунок 4 – Раздел «Продажа»

Скачать (131KB)
6. Рисунок 5 – Раздел «Акции»

Скачать (116KB)
7. Рисунок 6 – Раздел «Поступление»

Скачать (240KB)
8. Рисунок 7 – Раздел «Симптомы»

Скачать (167KB)
9. Рисунок 8 – Разделы «Остаток» (а), «Срок годности» (б) и «Списание» (в)

Скачать (372KB)
10. Рисунок 9 – Пример запроса в разделе «Справка»

Скачать (190KB)
11. Рисунок 10 – Раздел «Поставщики»

Скачать (179KB)

© Мошкин В.С., Щукарев И.А., 2024

Creative Commons License
Эта статья доступна по лицензии Creative Commons Attribution 4.0 International License.

Согласие на обработку персональных данных

 

Используя сайт https://journals.rcsi.science, я (далее – «Пользователь» или «Субъект персональных данных») даю согласие на обработку персональных данных на этом сайте (текст Согласия) и на обработку персональных данных с помощью сервиса «Яндекс.Метрика» (текст Согласия).