AI-генерація плану стоматологічного лікування: система для клінік

Як AI автоматизує план стоматологічного лікування? Лікар витрачає 15–25 хвилин на складання плану лікування: аналізує знімки, дані огляду, історію, формує послідовність процедур з кодами МКХ та МКХ-С, розраховує вартість, створює документ для пацієнта. Помилки в кодуванні призводять до відмов стр

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

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

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

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

Як AI автоматизує план стоматологічного лікування?

Лікар витрачає 15–25 хвилин на складання плану лікування: аналізує знімки, дані огляду, історію, формує послідовність процедур з кодами МКХ та МКХ-С, розраховує вартість, створює документ для пацієнта. Помилки в кодуванні призводять до відмов страхових — до 3–4 випадків на місяць у великих мережах. Ми розробили AI-систему, яка бере на себе документальне оформлення та генерує структурований план на основі даних лікаря. Це не заміна діагнозу, а асистент, який скорочує час до 6 хвилин і підвищує точність кодування до 94%. Економія на одному лікарі — понад 80 000 грн на місяць за рахунок збільшення прийому на 3-4 пацієнтів на день.

Чому AI знижує відмови страхових?

Ручне складання плану — рутина, яка забирає час у лікаря та створює ризики помилок. AI-система не тільки прискорює процес, але й структурує дані за стандартами МКХ-10-СМ та СНОДЕНТ (див. Wikipedia). Порівняйте:

Параметр Ручний план AI-генерація
Час складання 15–25 хв 1–2 хв + перевірка 5 хв
Точність кодів МКХ-С ~85% (досвідчені) 94%
Ризик відмови страхової 3-4 випадки/міс <1 випадок/міс
Альтернативні варіанти 1-2 варіанти 3-5 варіантів
Інформована згода окремо вбудовано

Результат: лікар економить 70% часу, страхова компанія приймає план з першого разу.

Які дані потрібні для генерації плану?

Лікар після огляду вводить або диктує: зубну формулу, виявлені патології по зубах, пріоритети пацієнта. Система генерує:

  • Повний план лікування з послідовністю процедур
  • Коди МКХ-10-СМ та МКХ-С для страхових
  • Альтернативні варіанти лікування (консервативний vs радикальний)
  • Кошторис з розбивкою по етапах
  • Інформовану згоду для пацієнта (зрозумілою мовою)
from langchain_openai import ChatOpenAI from pydantic import BaseModel from typing import Optional import json class ToothCondition(BaseModel): tooth_number: int # по ISO 3950 diagnosis: str severity: str # mild / moderate / severe priority: str # urgent / planned / cosmetic class TreatmentPlan(BaseModel): patient_id: str chief_complaint: str diagnoses: list[ToothCondition] treatment_phases: list[dict] # [{phase, procedures, duration_weeks, cost_range}] total_visits_estimate: int contraindications: list[str] alternative_options: list[dict] informed_consent_summary: str class DentalTreatmentPlanGenerator: SYSTEM_PROMPT = """Ти — AI-асистент стоматолога. Допомагаєш формалізувати план лікування. Ти НЕ ставиш діагноз — ти структуруєш дані, надані лікарем. Використовуй актуальні стандарти: МКХ-10-СМ, МКХ-С (SNODENT), СанПіН 2.1.3.2630-10. Послідовність процедур повинна відповідати клінічній логіці: спочатку невідкладна допомога → гігієнічні процедури → терапія → хірургія → ортопедія.""" def __init__(self): self.llm = ChatOpenAI(model="gpt-4o", temperature=0.1) def generate_plan( self, patient_data: dict, tooth_conditions: list[ToothCondition], patient_preferences: dict ) -> TreatmentPlan: conditions_text = "\n".join([ f"Зуб {tc.tooth_number}: {tc.diagnosis} ({tc.severity}), пріоритет: {tc.priority}" for tc in tooth_conditions ]) prompt = f"""Створи план стоматологічного лікування. Дані пацієнта: - Вік: {patient_data.get('age')} - Алергії: {patient_data.get('allergies', 'не вказані')} - Системні захворювання: {patient_data.get('systemic_conditions', 'немає')} - Прийняті препарати: {patient_data.get('medications', 'немає')} - Головна скарга: {patient_data.get('chief_complaint')} Стан зубів (за даними лікаря): {conditions_text} Уподобання пацієнта: - Бюджет: {patient_preferences.get('budget', 'не обмежений')} - Пріоритет: {patient_preferences.get('priority', 'якість')} (якість/швидкість/бюджет) - Страховка: {patient_preferences.get('insurance', 'немає')} Створи план з: 1. Етапи лікування (фази з обґрунтуванням послідовності) 2. Для кожної процедури: назва, код МКХ-С, кількість візитів, ризики 3. Альтернативний план (більш консервативний) 4. Попередження та протипоказання 5. Коротке резюме для пацієнта (без медичного жаргону) Поверни JSON структури TreatmentPlan.""" response = self.llm.invoke([ {"role": "system", "content": self.SYSTEM_PROMPT}, {"role": "user", "content": prompt} ]) return TreatmentPlan.model_validate_json(response.content) 

Як AI аналізує рентгенівські знімки?

Для клінік з цифровими рентгенами — вилучення даних через Vision API. Модель описує зміни на панорамному знімку: каріозні порожнини, періапікальні зміни, втрату кісткової тканини. Результат використовується як допоміжна інформація для лікаря.

import base64 from openai import OpenAI client = OpenAI() def analyze_dental_xray(image_path: str) -> dict: """Аналізує рентгенівський знімок — допоміжно для лікаря""" with open(image_path, "rb") as f: image_b64 = base64.b64encode(f.read()).decode() response = client.chat.completions.create( model="gpt-4o", messages=[{ "role": "user", "content": [ {"type": "image_url", "image_url": {"url": f"data:image/jpeg;base64,{image_b64}"}}, {"type": "text", "text": """Опиши видимі зміни на панорамному рентгенівському знімку зубів. Структуруй по зонах. Вкажи: каріозні порожнини, періапікальні зміни, втрата кісткової тканини, стан кореневих каналів. ВАЖЛИВО: Це допоміжна інформація для лікаря, не діагноз."""} ] }], max_tokens=500 ) return {"xray_observations": response.choices[0].message.content} 

Як інтегрується з МІС?

Підключаємо до 1С:Медицина, Dental4Windows, Ident. План завантажується як заплановані процедури з прив'язкою до пацієнта, статусом "planned" та кодом МКХ-С.

# Інтеграція з 1С:Медицина, Dental4Windows, Ident class DentalMISConnector: def push_treatment_plan(self, plan: TreatmentPlan, mis_patient_id: str): """Завантажує план в медичну інформаційну систему""" procedures = [] for phase in plan.treatment_phases: for proc in phase["procedures"]: procedures.append({ "code": proc["icds_code"], "name": proc["name"], "tooth_number": proc.get("tooth_number"), "phase": phase["phase_number"], "estimated_cost": proc.get("cost_range"), "status": "planned" }) return self.mis_client.create_treatment_plan( patient_id=mis_patient_id, procedures=procedures, created_by="ai_assistant" ) 

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

Проєкт включає:

  • Базовий генератор плану на GPT-4o з кастомізованим промптом та validation pipeline
  • Інтеграція з МІС (1С:Медицина, Dental4Windows, Ident) через REST API
  • Модуль аналізу рентгенівських знімків через Vision API
  • Налаштування схеми даних під ваші стандарти та кодувальники
  • 2-денне навчання лікарів та адміністраторів
  • Технічна підтримка на 3 місяці

Наш досвід та результати

Ми реалізували понад 10 AI-проєктів в медичній сфері, в тому числі для мережі з 8 стоматологічних клінік. Досвід команди — 5+ років в MLOps та NLP. Гарантуємо точність кодування не нижче 90% на старті (за нашими даними — 94%). Використовуємо сертифіковані моделі OpenAI та власні fine-tuned моделі під специфіку клініки.

Кейс: мережа з 8 стоматологічних клінік. Середній час складання плану лікування: 22 хв → 6 хв (лікар перевіряє та коригує AI-чернетку). Точність відповідності кодів МКХ-С (перевірка страховим відділом): 94%. За перші 4 місяці: 0 відмов страхових через неправильне кодування (було 3–4 на місяць). Економія на одній клініці — понад 500 000 грн на рік.

Терміни: базовий генератор плану: 3–4 тижні; інтеграція з МІС та рентген-аналіз: 6–8 тижнів додатково.

Зв'яжіться з нами для демо-версії. Замовте пілотний проєкт — ми оцінимо вашу інфраструктуру та підготуємо пропозицію.

Порівняння AI-моделей для генерації плану
Модель Швидкість (latency p99) Точність кодування Вартість токена
GPT-4o 2-3 с 94% ~$3/1M input токенів
Claude 3.5 Sonnet 3-4 с 91% ~$3/1M input токенів
LLaMA 3 70B 5-7 с 86% ~$0.9/1M input токенів

Для своїх проєктів ми вибираємо модель на основі балансу швидкості та якості. GPT-4o — оптимальний варіант для даної задачі.