Медичне NLP для видобування даних з історій хвороб на власному сервері

Медичне NLP для видобування даних з історій хвороб на власному сервері

Напрямки AI-розробки

Часті запитання

Останні роботи

  • image_website-b2b-advance_0.webp
    Розробка сайту компанії B2B ADVANCE
    1441
  • image_web-applications_feedme_466_0.webp
    Розробка веб-додатків для компанії FEEDME
    1302
  • image_websites_belfingroup_462_0.webp
    Розробка веб-сайту для компанії БЕЛФІНГРУП
    998
  • image_ecommerce_furnoro_435_0.webp
    Розробка інтернет магазину для компанії FURNORO
    1267
  • image_logo-advance_0.webp
    Розробка логотипу компанії B2B Advance
    714
  • image_crm_enviok_479_0.webp
    Розробка веб-додатків для компанії Enviok
    1006

Медичне NLP для видобування даних з історій хвороб на власному сервері

Лікарі витрачають до 30% робочого часу на заповнення паперів, але ключові клінічні дані залишаються в наративному тексті. Ми перетворюємо ці тексти в структуровані таблиці: діагнози, ліки, аналізи, процедури. За 6–8 місяців будуємо fully custom NLP-пайплайн під вашу МІС. Модель працює on-premise, безпека даних відповідає 152-ФЗ. Економія від автоматизації — від 3 до 8 млн грн на рік на клініку. Зв'яжіться з нами для безкоштовної консультації та оцінки вашого проєкту.

Як ми видобуваємо дані з історій хвороб за допомогою NLP?

Ми використовуємо комбінацію методів: Clinical NER на базі BERT, assertion detection для визначення контексту, temporal reasoning для хронології та нормалізацію термінів до стандартних класифікаторів. Кожен етап оптимізований під російськомовні медичні тексти.

Які проблеми вирішуємо?

Clinical NER: не просто пошук слів, а контекст

Стандартний regex не відрізнить «стенокардія» у списку перенесених хвороб від поточного діагнозу. Ми використовуємо Clinical BERT, fine-tuned на розміченому корпусі 10 000+ речень від лікарів. Точність entity-level F1 — 94% для найчастіших сутностей (діагноз, ліки, доза).

Assertion detection: де правда?

Запис «болей у грудях немає» — протилежність «стенокардія». Модель визначає чотири контексти: present, absent, uncertain, history. Помилка тут критична — ми досягли accuracy 97% на тестовому наборі.

Temporal reasoning: хронологія лікування

Лікарів хвилює хронологія: коли виявлено цукровий діабет, коли призначено Метформін, чи змінювалася доза. Без часової розгортки аналітика марна. Ми будуємо timeline подій за допомогою CRF-шару поверх BERT.

Нормалізація термінів: від тексту до коду

«СД2», «цукровий діабет 2 типу», «Diabetes mellitus type 2» — одне й те саме. Маппінг на МКХ-10 (E11) та UMLS CUI (C0011860) дає єдину картину для всієї клініки.

Як ми це робимо?

Використовуємо DeepPavlov/rubert-base-cased як базову модель. До навчаємо на корпусі виписок (5000 документів, розмічених лікарями). Inference на on-premise кластері з 4× A100 — latency p99 120 мс на історію хвороби.

Чому on-premise обов'язковий?

Медичні дані — особлива категорія (152-ФЗ, ст. 10). Передача в хмару закордонного вендора неможлива без деперсоналізації. Ми ставимо модель на ваш сервер або в російську хмару (Yandex Cloud, SberCloud). Жодної передачі за кордон.

Як боремося з галюцинаціями LLM?

Для safety-critical задач використовуємо правило: LLM тільки для генерації резюме, не для видобування. NER робимо окремим BERT-класифікатором. Ручний аудит обов'язковий до досягнення F1 > 95%.

Що краще: BERT чи LLM для видобування?

Критерій BERT (токен-класифікація) LLM (промптинг)
Точність F1 94–97% 70–85% (залежить від моделі)
Латенсі на документ 120 мс 2–5 с
Вартість інференсу Низька Висока (токени)
Галюцинації Немає Є (до 15% на рідкісних термінах)
Відповідність 152-ФЗ Так (on-premise) Вимагає донавчання

BERT перевершує LLM за точністю в середньому на 20%, а за швидкістю — у 30 разів. Тому для видобування даних використовуємо BERT, а LLM — тільки для генерації резюме під контролем людини.

Що входить в роботу

Процес впровадження складається з п'яти ключових етапів:

  1. Розмітка корпусу документів лікарями (1–2 місяці) — отримуєте розмічений корпус 5000 документів і baseline NER модель з F1 ~90%.
  2. Навчання повного пайплайну (3–4 місяці) — NER + assertion + нормалізація + деперсоналізація. Готовий Docker-образ з REST API.
  3. Інтеграція з МІС через HL7 FHIR або REST (5–6 місяців) — пілот на 100 історіях хвороби.
  4. Розгортання CDSS-модуля та дашбордів (7–8 місяців) — перевірка взаємодій ліків, аналітика.
  5. Навчання персоналу та документація — передача вихідного коду моделі.
Етап Що отримуєте
1–2 місяці Розмічений корпус 5000 документів, baseline NER модель F1 ~90%
3–4 місяці Повний пайплайн: NER + assertion + нормалізація + деперсоналізація. Docker-образ з REST API
5–6 місяців Інтеграція з МІС (налаштування HL7 FHIR або REST), пілот на 100 історіях
7–8 місяців CDSS модуль (перевірка взаємодій), дашборд аналітики, документація, навчання персоналу
Технічні вимоги
  • ОС: Ubuntu 20.04+
  • RAM: 64 GB+
  • GPU: 4× NVIDIA A100 80GB
  • CUDA 11.8
  • Docker 20.10+

Типові помилки та як їх уникнути

  • Використовувати готові моделі для англійської: на російських текстах F1 падає на 30–40%. Потрібно донавчати.
  • Ігнорувати деперсоналізацію: без неї не можна використовувати дані для навчання та аналітики.
  • Покладатися тільки на LLM: галюцинують на рідкісних термінах — обов'язковий human-in-the-loop.

Оцінка якості

Метрики: F1 по кожному типу сутностей, accuracy assertion detection, drug-dosage linkage accuracy. Для safety-critical застосувань — human validation > 95% F1.

Наші компетенції: 5 років досвіду в медичному NLP, 20+ впроваджень у приватні та державні клініки. Маємо сертифікати NVIDIA DLI та Bioinformatics. Гарантуємо досягнення цільових метрик.

Терміни та вартість

Терміни — від 6 до 8 місяців залежно від складності МІС та кількості типів сутностей. Вартість розраховується індивідуально. Типова економія від автоматизації — від 3 до 8 млн грн на рік на клініку. Отримайте безкоштовну оцінку вашого проєкту — замовте консультацію. У вас залишиться модель, код, документація та навчені лікарі.