Pharmacy Advisor
Не «спроси LLM, опасно ли X с Y» — а explicit knowledge graph traversal над DrugBank + РЛС + ATC. Для каждой потенциальной interaction виден reasoning path («X ингибирует CYP3A4 → Y накапливается → токсичность»). Поверх — проверка age-weight-dosing, замены на generic'и, противопоказания по диагнозам пациента.
Провизор в аптеке за 3 минуты должен проверить рецепт + анамнез пациента + лекарства, которые он уже принимает. На рутинных случаях справляется по памяти, на сложных — пропускает. Pharmacy Advisor закрывает «сложные» случаи: построил graph над тысячами препаратов с типами взаимодействий, traversal находит риски, которых провизор может не помнить (особенно когда у пациента 5+ препаратов).
Explicit graph traversal — видны причинно-следственные цепочки
LLM-only подход даёт «X и Y нельзя» без объяснения. Knowledge graph даёт reasoning path: «Кларитромицин (макролид) ингибирует CYP3A4 → Симвастатин метаболизируется через CYP3A4 → симвастатин накапливается → риск миопатии / рабдомиолиза». Провизор видит механизм, может проверить — и доверие к системе растёт.
Пошаговая архитектура
Построение knowledge graph
Один раз: DrugBank (15K препаратов, 200K interactions) + РЛС (RU-специфика, торговые названия) → Neo4j. Узлы: препараты, ATC-классы, CYP-pathways, indications, contraindications, age/weight-restrictions.
Ввод данных пациента
Список текущих препаратов (можно OCR с рецепта/карты) + возраст/вес + диагнозы (если есть) + аллергии. LLM-парсер извлекает структурированные сущности из свободного текста.
Graph traversal
Для каждой пары (drug-A, drug-B) — поиск всех путей с длиной ≤2 в графе. Найденные пути — кандидаты на reasoning chain.
Severity scoring
Каждой path присваивается severity (major / moderate / minor) на основе типа interaction + клинической релевантности. Ранжирование по riskScore.
Generic-замены
Параллельно: для каждого препарата — поиск generic'ов с такой же ATC-классификацией (часто дешевле, иногда без проблемных взаимодействий).
Dosing check
Сверка дозы с age/weight-кривыми (особенно педиатрия + гериатрия). Renal/hepatic adjustments если есть данные.
Финальный отчёт
Карточка пациента с цветовой картой interactions, объяснением каждого риска (reasoning path), предложенными заменами/дозировкой.
Стек, который не запирает
Neo4j или RDFLib для knowledge graph (15K препаратов × 200K связей)
Источники данных: DrugBank XML dump + РЛС-парсер (наш custom scraper) + ATC справочник ВОЗ
GigaChat или YandexGPT для NLP-парсинга рецептов и анамнеза
PaddleOCR для рукописных рецептов (опционально, качество ниже)
Severity-engine: rule-based + ML (gradient boosting на исторических provisor-исправлениях)
Веб-UI для провизора с inline-объяснениями (открывается в кассовой системе)
Идеально для
- Аптечные сети с консультативным сервисом
- Частные клиники с собственной аптекой
- Телемедицина — проверка рецептов после онлайн-приёма
- Гериатрические центры — у пациентов 5-15 препаратов одновременно
Границы кейса
- Не выписывает рецепт — это работа врача
- Не отменяет назначения врача — только предупреждает провизора и пациента
- Не работает с биодобавками и БАДами без ATC-кода (но можно добавить custom-сущности)
- Не заменяет клинического фармаколога в сложных случаях
Частые вопросы
DrugBank (международный стандарт, 15K препаратов) + РЛС для RU-специфики (торговые названия, особенности доступности). Обновление еженедельное.
Что ещё может пригодиться
Покажем на ваших данных
за 1-2 недели
Подключаемся к ограниченной выборке, разворачиваем PoC на ваших реальных кейсах. Оценка качества, точности и UX — на вашей специфике, не на наших красивых демо.