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

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

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

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

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

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

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

Еще

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

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

IDR: 170206314   |   УДК: 004.422.8   |   DOI: 10.18287/2223-9537-2024-14-3-344-354

Information system based on a pharmaceutical ontology

To automate the workflow of a pharmacy, an information system based on a pharmaceutical ontology is proposed. The entities in the developed ontology include drugs, symptoms, and diseases. Instructions for medicines, drugs and their analogues are used as sources to describe relationships between entities. The main properties of each drug are described by its characteristics: name, expiration date, pharmacological group, storage location, dispensing form, manufacturer, price, etc. Key features of the designed information system include the ability to search for medicines and drugs available in the pharmacy and included in the ontology by symptom or disease, and restricting the sale of medicines that have contraindications for the buyer. The functioning of most modules of the information system is carried out using an ontology inference engine. For each specific process, an automatic check of the consistency of restrictions in the ontology is performed, taking into account the specifics of storage, dispensing, and sale of pharmaceuticals. A distinctive feature of the developed information system is its capability to perform semantic searches on pharmaceutical ontology objects.

Еще

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

В настоящее время широко используются информационные системы (ИС), автоматизирующие разнообразные бизнес-процессы [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.
Еще