Статьи

Как графические базы данных могут помочь при назначении лекарств

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

Насколько сложно выбрать правильный препарат

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

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

Модель данных графика для назначения лекарств

Чтобы продемонстрировать, как использовать графики для предоставления рекомендаций по лекарственным препаратам, мы будем использовать проект  GraphGist,  созданный  Альберто Роке Карризо Фернандесом  и  Луисом Мартинесом Менендесом . В нем подробно рассказывается о новой компьютерной системе для выдачи лекарств в HUCA (Центральная больница Астурии). Их отличная работа основана на  Neo4j , графической базе данных с открытым исходным кодом.

Как они решили представить сложность взаимодействия лекарств? Они использовали модель данных графа. График — это способ представления данных в виде узлов, связанных между собой ребрами. Модель графа, которую мы собираемся увидеть, основана на анатомической функциональной области, на которую воздействуют лекарства, она называется  Анатомо-терапевтической химической классификационной системой  (ATC).

В классификации 5 уровней информации:

  • функциональная область: орган или система, на которую воздействует наркотик;
  • механизм действия: специфическое биохимическое взаимодействие, посредством которого лекарственное вещество производит свое действие;
  • активные ингредиенты: вещество в фармацевтическом препарате или биологически активном пестициде
  • Дозировка: соответствующие дозы лекарств;
  • фармацевтическая специальность: коммерческий препарат;

Вот схема, которая показывает, как моделируются данные о препарате:

Альберто Роке Карризо Фернандес и Луис Мартинес Менендес придумали эту замечательную модель. Они также создали небольшой набор данных, который включает в себя несколько лекарств, хранящихся в графике. Вы  можете скачать  его здесь, если хотите.

Классификация УВД с первого взгляда

Этот набор данных поможет нам продемонстрировать сложные запросы, поддерживаемые графическими технологиями.

График поиска лекарств

Мы можем использовать структуру графика наших данных, чтобы задавать вопросы о связях определенного объекта. Например, мы могли бы хотеть знать активные ингредиенты данного механизма действия. Чтобы получить результат, мы будем использовать Cypher, язык запросов, оптимизированный для графиков:

MATCH (n:MechanismOfAction)–>(i:ActiveIngredient)WHERE n.name=’Antithrombotic: Heparin and derivatives’
RETURN i.name AS `Name`

Ответ на наш вопрос — Бемипарина и Дальтепарин. Это 2 активных компонента антитромботического механизма действия. Здесь мы просто посмотрели прямые связи данного узла в нашем графе.

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

MATCH (n:MechanismOfAction)-[*]->(i:PharmaceuticalSpeciality)WITH n, min(i.price) AS Price
MATCH (n)-[*]->(i:PharmaceuticalSpeciality)
WHERE i.price = Price
RETURN n.name AS `Mechanism of action`, i.name AS `Medicine`, Price
ORDER BY n.name ASC

Результат:

Механизм действия Лекарство Цена
Против язвы: антагонисты Н2-рецепторов Эвиантрина 12 таблеток 2
Антиаритмические. Класс III Дронедарон 60 таблеток 100
Антитромботические: гепарин и его производные Шприцы Hibor 3500 UI 30 предварительно заряженные 0,2 мл 160

Это был бы хороший список лекарств, которые больница хотела бы рекомендовать своим врачам.

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

Давайте теперь скажем, что как врач мы хотим назначить пациенту противоязвенное средство. К сожалению, у него небольшая аллергия. Мы не должны назначать препарат, содержащий действующее вещество Фамотидин. Это означает, что нам нужно найти противоязвенный препарат, который не содержит фамотидин. Еще раз, чтобы получить ответ, нам нужно путешествовать по нашему графику. За исключением того, что на этот раз нам придется отказаться от всех путей, проходящих через Фамотидин.

Давайте посмотрим, как это сделать:

MATCH (n:MechanismOfAction)–>(a:ActiveIngredient)-[*]->(i:PharmaceuticalSpeciality)
WHERE a.name <> ‘Famotidine’
AND n.name = ‘Anti ulcer: H2 receptor antagonists’
RETURN i.name AS `Medicine`, i.price AS Price
ORDER BY Price ASC

Мы получаем 4 результата, в том числе «Terposen 28 таблеток», который является самым дешевым.

Эти несколько запросов должны показать потенциал поиска лекарств по рецепту на основе графиков. Мы работали с очень маленьким набором данных здесь. Врачи и больницы имеют дело с гораздо большим количеством данных. Графические технологии могут помочь нам ответить на их вопросы быстрее и точнее.

Правильное употребление наркотиков — это тяжело и опасно Это подразумевает понимание сложных взаимодействий. Человеческий мозг не предназначен для этого. Даже традиционным базам данных трудно работать со связанными данными. С графическими технологиями, наоборот, запрос связанных данных может быть очень естественным. Попробуйте, если вы работаете с графическими данными!