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

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

Журнал: Онтология проектирования @ontology-of-designing

Рубрика: Прикладные онтологии проектирования

Статья в выпуске: 3 (53) т.14, 2024 года.

Бесплатный доступ

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

Еще

Информационная система, семантический поиск, аптека, онтология, база знаний, симптом, заболевание, лекарственное средство

Короткий адрес: https://sciup.org/170206314

IDR: 170206314   |   DOI: 10.18287/2223-9537-2024-14-3-344-354

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

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

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

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

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

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

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

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

  • 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/ .


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


    а)


    Individuals

    Annotationproperties Datatypes

    Data properties

    Classes Object properties


    [Annotations: применяется_при


    Annotations О


    Object property hierarchy: прим E] ED В В IS |


    Ti G M            Asserted ▼


    ▼ ™owl:topObjectProperty j..... " имеет_противопок азание


    CharacteristlElIIlBBE | Description: применяетсяпри


    Дприменяетсяпри


    ■■ является_аналогом


    Functional

    Inverse functional

    • □    Transitive

    Symmetric

    Asymmetric

    • □    Reflexive

    Irreflexive


    Equivalent To ^

    SubProperty Of О

    Inverse Of ^

    Domains (intersection) 0

    Лекарственные_средства

    Ranges (intersection) Q

    Показания_к_применению


    б)


    = “ применяется при — Annotations Usage

    Data property hierarchy: годен^ИТВШН

    T2 Ct ^ О Asserted -


    ▼-■ ow ktopDataPro perty

    .....группа

    .....■ место_хранения

    .....□ осталось

    .....■ по_рецепту

    ..... производитель

    .....списание

    ..... цена

    .....□ цена_по_акции


    CharaDDSBEl Description: годен_до



    в)


    Equivalent То 0

    SubProperty Of Q

    Domains (intersection) О

    Лекарственные_средства

    Ranges Q

    xsd:date

    Disjoint With ©


    Рисунок 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 ), так и с графикой (библиотека tkinter7 ) [16, 17].

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

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

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

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

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

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

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

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

Одним из способов привлечения клиентов является проведение акций или скидок на выбранные группы товаров [19]. Раздел «Акции » предназначен сведений об акциях на выбранные группы (категории) товаров (см. рисунок 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%. С использованием подобных правил можно вводить ограничения на цены большого числа наименований, отвечающих определённым условиям.

? Акции

Величина скидки:    10      ~| %

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

Выберите категорию : |Щ!ВЯИМ                             -

Применить             Отменить              Закрыть

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

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

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

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

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

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

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

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

а)

б)

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

в)

9 Модуль datetime предоставляет инструменты для обработки времени и даты разными способами в Python.

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

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

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

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

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

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

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

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

F3

TAIL

Эприка 10

М Аптека плюс

UlPharma

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

26500

19800

18000

25000

0

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

+

+

+

+

+

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

+

+

+

+

+

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

+

+

+

+

+

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

+

+

+

+

+

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

+

+

+

+

+

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

+

+

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

+

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

+

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

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

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

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

Заключение

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

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

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

  • Аветисян Т.В., Львович Я.Е. Преображенский А.П. Особенности информационных систем на предприятиях // Вопросы науки. 2023. № 2. С.8-15.
  • Николаева И.М., Захарова И.Н. Сравнительный анализ систем автоматизации процессов управления персоналом по критерию функциональной полноты // Вопросы устойчивого развития общества. 2022. № 6. 0.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.
  • Ovcinnikova 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-06492021-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.
Еще
Статья научная