Информационная система на основе фармацевтической онтологии
- Авторы: Мошкин В.С.1, Щукарев И.А.1
-
Учреждения:
- Ульяновский государственный технический университет (УлГТУ)
- Выпуск: Том 14, № 3 (2024)
- Страницы: 344-354
- Раздел: ПРИКЛАДНЫЕ ОНТОЛОГИИ ПРОЕКТИРОВАНИЯ
- URL: https://journals.rcsi.science/2223-9537/article/view/352508
- DOI: https://doi.org/10.18287/2223-9537-2024-14-3-344-354
- ID: 352508
Цитировать
Полный текст
Аннотация
Для автоматизации рабочих процессов аптечного пункта предлагается информационная система на основе фармацевтической онтологии. Сущностями в разработанной онтологии являются лекарственные средства, симптомы и заболевания. В качестве источников описаний отношений между сущностями используются инструкции к лекарственным средствам, препаратам и их аналогам. Основные свойства препарата описываются его характеристиками: название, срок годности, фармакологическая группа, место хранения, форма отпуска, производитель, цена и др. Особенностями спроектированной информационной системы являются: возможность поиска лекарственных средств и препаратов из числа имеющихся в аптеке и внесённых в онтологию по симптому или заболеванию; ограничение продажи лекарственных средств, имеющих противопоказания у покупателя. Функционирование большинства модулей информационной системы осуществляется с использованием машины логического вывода онтологии. Для каждого конкретного процесса проводится автоматическая проверка согласованности ограничений в онтологии с учётом специфики хранения, отпуска и продажи фармацевтических препаратов. К особенности разработанной информационной системы можно отнести её способность осуществлять семантический поиск по объектам фармацевтической онтологии.
Ключевые слова
Полный текст
Введение
В настоящее время широко используются информационные системы (ИС), автоматизирующие разнообразные бизнес-процессы [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), доцент кафедры «Информационные технологии и общенаучные дисциплины»
Россия, УльяновскСписок литературы
- Аветисян Т.В., Львович Я.Е. Преображенский А.П. Особенности информационных систем на предприятиях // Вопросы науки. 2023. № 2. С.8-15.
- Николаева И.М., Захарова И.Н. Сравнительный анализ систем автоматизации процессов управления персоналом по критерию функциональной полноты // Вопросы устойчивого развития общества. 2022. № 6. С.1321-1326.
- Чистяков В.В., Ромашкова О.Н. Анализ информационных систем, используемых для управления в сфере фармации // Современная наука: актуальные проблемы теории и практики. Серия: Естественные и технические науки. 2019. № 5. С.105-108.
- Исаев М.И., Алдамов А.И. Проектирование информационной системы для автоматизации аптечной среды // Экономика: вчера, сегодня, завтра. 2022. №11. С.243-248.
- Ауесбек Д.А., Абдрахманов Р.Б. Разработка информационно-справочной системы аптеки // Перспективы науки. 2021. № 6. С.21-24.
- Антонов А.А., Быков А.Н., Чернышев С.А. Обзор существующих способов формирования онтологии предметной области при моделировании // Международный журнал информационных технологий и энергоэффективности. 2021. № 4. С.12-17.
- 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.
- Khaimuldin A., Mukatayev T., Assanova N. Ontology construction in rule-based expert systems // Вопросы устойчивого развития общества. 2022. №. 6. С.1180-1191.
- 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.
- 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.
- 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.
- Горобец Е.А., Диязитдинова А.Р. Применение онтологического подхода при проектировании медицинского мобильного приложения // Инфокоммуникационные технологии. 2021. № 2. С.224-231.
- 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.
- Иванов П.И., Мышкина И.Ю., Грудцына Л.Ю. Обзор библиотеки Owlready2 для работы с онтологиями на языке Python // Научно-технический вестник Поволжья. 2022. № 12. С.139-141.
- 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.
- 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.
- Jean-Baptiste L. Ontologies With Python: Programming Owl 2.0 Ontologies With Python and Owlready2. NY: Apress, 2020. 344 p.
- Щукарев И.А. Особенности работы с русскоязычными онтологиями с помощью библиотеки Owlready2 на языке Python // Программные продукты и системы. 2023. № 2. С.223–227. doi: 10.15827/0236-235X.142.223-227.
- Бурдина Е.С., Уткина А.В. Влияние дисконтных программ на уровень прибыли аптеки // Известия ГГТУ. Медицина, фармация. 2020. № 4. С.78-79.
- Марцевич С.Ю., Лукина Ю.В., Драпкина О.М. Основные принципы комбинированной медикаментозной терапии - фокус на межлекарственное взаимодействие // Кардиоваскулярная терапия и профилактика. 2021. № 7. С. 172-178. doi: 10.15829/1728-8800-2021-3031.
- Ковальская Г.Н., Михалевич Е.Н. Государственный реестр лекарственных средств: межлекарственное взаимодействие // Вопросы обеспечения качества лекарственных средств. 2019. № 3. С. 59-65.
Дополнительные файлы











