# Приложения LLM и медицинские данные

> Использование больших языковых моделей с медицинскими данными: запрос и ответ контекстного API, облачные и локальные модели, агентные системы, извлечение против контекста и промптинг с указанием источника.

Source: https://developers.anpheros.com/ru/guides/llm-healthcare-data

**Приложение, использующее большую языковую модель с медицинскими данными, должно решить одну проблему, которую модель не может решить сама: какую часть записи пациента поместить в промпт и как ее пометить, чтобы модель могла отличить факты от заметок.** Anpheros решает эту проблему на стороне данных с помощью контекстного API: на основе пациента, задачи и лимита токенов он возвращает соответствующие разделы записи пациента HL7 FHIR R4, причем каждый элемент помечен своим источником. Ваше приложение отправляет этот контекст выбранной вами модели — размещенной или локальной.

**Как подключить LLM к медицинским данным FHIR?** Храните записи в FHIR-хранилище, к которому модель не имеет прямого доступа — с Anpheros, запись пациента HL7 FHIR R4 — запросите у него контекст с учетом бюджета и помеченный источником (`POST /v1/context`) и поместите этот контекст в промпт выбранной вами модели. Модель никогда не получает учетные данные базы данных или API; ваше приложение выполняет вызовы с согласия пациента.

Anpheros не запускает модели и не имеет нативной интеграции с каким-либо поставщиком моделей или локальным исполнителем.

## Шаблон

```
1. your app  ── POST /v1/context {patient, task, question, budget_tokens, format} ──►  Anpheros
2. Anpheros  ── sections + text + omitted + warnings + manifest_id ──────────────────►  your app
3. your app  ── system prompt + context + user question ─────────────────────────────►  the model
4. the model ── answer ───────────────────────────────────────────────────────────────►  your app
5. your app  ── optional write-back with author_type "ai" ──────────────────────────►  Anpheros
```

## Запрос контекста

```bash
curl -X POST https://platform.anpheros.com/v1/context -H "Authorization: Bearer $TOKEN" -H 'content-type: application/json' -d '{
  "patient": "'$PID'",
  "task": "medication review before a cardiology visit",
  "question": "How did blood pressure evolve over the last 3 months?",
  "budget_tokens": 1500,
  "format": "text"
}'
```

| Поле | Значение |
|---|---|
| `patient` | идентификатор пациента, видимый вашим учетным данным |
| `task`, `question` | что будет делать модель; платформа планирует, какие части записи релевантны |
| `needs` | необязательные явные потребности, например `["labs:4548-4", "vitals:trend:85354-9", "timeline:180d"]` |
| `budget_tokens` | размер контекста, 300–8 000 (по умолчанию 2 000) |
| `format` | `structured` (разделы JSON) или `text` (также возвращает готовый текстовый блок) |
| `window_days` | необязательное окно просмотра назад |

## Контекстный ответ

- `sections` — например, сводная карточка, состояния, лекарства, аллергии, иммунизации, результаты лабораторных исследований, жизненно важные показатели с еженедельными тенденциями и маркерами до/после лечения, симптомы, временная шкала и документы. **Каждый элемент несет `author_type` и `source`.**
- `omitted` — что не вписалось в бюджет; сообщите модели, что ее контекст является частичным.
- `warnings`, `provenance_note`.
- `text` — когда `format` является `text`.
- `manifest_id` — запись о том, какие разделы и источники были использованы, привязанная к журналу доступа.
- раздел `ai_notes` — значения, написанные ИИ ранее, появляются только там, отмеченные как непроверенные, никогда не смешиваются с клиническими разделами.

## Облачные модели

При использовании размещенной модели — от OpenAI, Anthropic, Google, xAI или другого поставщика — ваш бэкенд помещает контекст в запрос и вызывает API поставщика. Контекст покидает вашу инфраструктуру и передается этому поставщику, поэтому:

- убедитесь, что согласие пациента и ваше уведомление о конфиденциальности охватывают отправку данных поставщику;
- заключите с поставщиком соглашение об обработке данных, соответствующее медицинским данным;
- отправляйте только то, что необходимо для задачи — бюджет токенов и явные `needs` помогут в этом.

## Локальные модели

При использовании модели, которую вы запускаете самостоятельно — например, через Ollama или другой локальный runtime — единственным сетевым вызовом, передающим данные пациента, является вызов между вашим бэкендом и Anpheros; запрос и ответ остаются в вашей инфраструктуре. Меньшие локальные модели имеют меньшие контекстные окна: соответственно, ниже `budget_tokens` и предпочтительнее `format: "text"`.

## Агентные системы

Когда модель решает, какие вызовы совершать, предоставьте ей инструменты (контекст, поиск, временная шкала) вместо необработанных учетных данных, сузьте области действия и регистрируйте каждый `manifest_id` рядом с ответом. [AI-агенты и медицинские данные](https://developers.anpheros.com/ru/guides/ai-agents-medical-data)

## API контекста или собственный поиск?

Конвейер поиска по свободному тексту (создание эмбеддингов фрагментов документов и их поиск) полезен для неструктурированных заметок. Для структурированных медицинских данных API контекста обычно проще и безопаснее: он работает с кодированными ресурсами FHIR, сохраняет происхождение данных, знает о тенденциях и периодах лечения, уважает согласие и проходит аудит. Эти два подхода можно комбинировать — например, контекст из Anpheros плюс найденные фрагменты из управляемых вами документов.

## Промптинг с указанием происхождения данных

Сохраняйте метки в промпте и объясните модели, что они означают:

```
The context below comes from the patient's record. Each item is labelled with its author type
(patient, practitioner, device, import, derived) and source. Items under ai_notes were written by an
AI earlier and are not verified. Say which items your answer relies on. If the context is marked as
partial, say so. Do not give a diagnosis or change a treatment; suggest discussing it with a clinician.
```

## Связанные материалы

- [Приложения ИИ в здравоохранении](https://developers.anpheros.com/ru/guides/ai-healthcare)
- [Агенты ИИ и медицинские данные](https://developers.anpheros.com/ru/guides/ai-agents-medical-data)
- [Как создать медицинский чат-бот со структурированными данными](https://developers.anpheros.com/ru/guides/ai-medical-assistant)
- [Безопасность, конфиденциальность и местоположение данных](https://developers.anpheros.com/ru/guides/security)
