AI-система автоматической генерации плана лечения

Проектируем и внедряем системы искусственного интеллекта: от прототипа до production-ready решения. Наша команда объединяет экспертизу в машинном обучении, дата-инжиниринге и MLOps, чтобы AI работал не в лаборатории, а в реальном бизнесе.
Показано 1 из 1 услугВсе 1566 услуг
AI-система автоматической генерации плана лечения
Средняя
~2-4 недели
Часто задаваемые вопросы
Направления AI-разработки
Этапы разработки AI-решения
Последние работы
  • image_website-b2b-advance_0.png
    Разработка сайта компании B2B ADVANCE
    1218
  • image_web-applications_feedme_466_0.webp
    Разработка веб-приложения для компании FEEDME
    1161
  • image_websites_belfingroup_462_0.webp
    Разработка веб-сайта для компании БЕЛФИНГРУПП
    853
  • image_ecommerce_furnoro_435_0.webp
    Разработка интернет магазина для компании FURNORO
    1047
  • image_logo-advance_0.png
    Разработка логотипа компании B2B Advance
    561
  • image_crm_enviok_479_0.webp
    Разработка веб-приложения для компании Enviok
    825

AI-генерация плана стоматологического лечения

Составление плана лечения — рутинная но ответственная задача: врач анализирует снимки, данные осмотра, медицинскую историю, формирует последовательность процедур с кодами МКБ и МКБ-С, рассчитывает стоимость, создаёт документ для пациента. На всё это уходит 15–25 минут на пациента. AI-система не заменяет диагноз врача, но автоматизирует его документальное оформление и предлагает структурированный план на основе структурированных входных данных.

Что делает система

Врач после осмотра вводит или диктует: зубную формулу, выявленные патологии по зубам, приоритеты пациента. Система генерирует:

  • Полный план лечения с последовательностью процедур
  • Коды МКБ-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)

Интеграция с медицинскими снимками

Для клиник с цифровыми рентгенами — извлечение данных через 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
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"
        )

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

Сроки: базовый генератор плана: 3–4 недели; интеграция с МИС и рентген-анализ: 6–8 недель дополнительно.