Lab Order — поиск и сравнение лабораторий

SkillDev tools

Where to get lab tests: OMS pathway, price comparison of labs (Gemotest, Invitro), ordering links. Result interpretation — in /labs. Triggers: «найди анализы», «где сдать», «сравни цены», «lab order», «сколько стоит анализ», «есть ли по ОМС»

Available today. Use it from your connected AI after setup.

Connect ahel once, and every AI you use reads what you have installed.

Then ask your AI: use the Lab Order — поиск и сравнение лабораторий skill

What this skill tells your AI

The instructions your AI receives, as published by alxyrgin/health-os in .claude/skills/lab-order/SKILL.md and read by ahel’s review.

Профиль. До чтения и записи определи активный профиль по .claude/shared/profile-resolution.md. Короткий путь Data/X в этом файле означает Data/profiles/<активный>/X — буквально по нему писать нельзя. Перед записью назови, в чей профиль она идёт.

Назначение

Найти конкретные анализы: где сдать и почём. Проверить путь по ОМС, сравнить цены частных лабораторий (Гемотест, Инвитро и др.), дать прямые ссылки для заказа. Автоматически обновить задачу в Todoist со сводкой и ссылками.

Границы скилла: /lab-order — до сдачи (где сдать, сколько стоит, как подготовиться). /labs — после сдачи (расшифровка результатов, тренды маркеров, динамика, влияние на гипотезы). Файлы с результатами загружаются через Inbox/ + /inbox.

Запрос пользователя

$ARGUMENTS

Workflow

1. Определить список анализов

Из запроса пользователя или из контекста:

  • Если указана цель (например, «перед гематологом») → сформировать список на основе Data/goals/YYYY.json milestones и медицинского контекста
  • Если указаны конкретные анализы → использовать их
  • Если указан milestone → взять описание milestone

Если список формируется не по назначению врача, а по цели — прямо сказать об этом: «Список собран по цели, а не по направлению врача. Врач может назначить иначе». Не расширять список «на всякий случай»: каждый лишний маркер — деньги и лишний повод для тревоги из-за пограничного результата.

2. ОМС-путь (проверять первым)

Приоритет ОМС — зафиксированное правило пользователя. Прежде чем сравнивать цены частных лабораторий, проверить, положен ли анализ бесплатно.

Прочитать Data/context/environment.jsonhealthcare_access (страховка, ДМС).

Проверить в Data/goals/YYYY.json: у связанного milestone может стоять oms_available: true — тогда платный путь заведомо не единственный.

WebSearch: [название анализа] по ОМС [город] направление поликлиника

Выяснить по каждому анализу из списка:

  • Входит ли в программу госгарантий ОМС
  • Нужно ли направление (форма 057/у) и от какого врача — терапевта или профильного специалиста
  • Где сдают: своя поликлиника по прикреплению или централизованная лаборатория
  • Сроки: сколько ждать направления и сколько — результат
  • Ограничения: кратность в год, только по показаниям, только определённые группы

Показывать ОМС-путь первым, до таблицы цен. Даже если пользователь спросил «сколько стоит» — сначала строка «часть из этого бесплатна по ОМС», потом цены.

Формат блока:

### ОМС-путь

| Анализ | По ОМС | Что нужно |
|--------|--------|-----------|
| [Анализ 1] | ✅ да | Направление от терапевта, поликлиника по прикреплению, ~[срок] |
| [Анализ 2] | ⚠️ по показаниям | [какие показания] |
| [Анализ 3] | ❌ нет | Только платно |

Бесплатно можно закрыть: [N из M] анализов.
Что останется платным: [список]

Если по ОМС доступно всё — так и написать, и не разворачивать сравнение платных цен без отдельной просьбы.

Если ДМС есть (healthcare_access.dms: true) — добавить третий путь: что покрывается по dms_details.

Не отговаривать от платного пути: он быстрее и часто удобнее. Задача — показать оба варианта и дать выбрать, а не решить за пользователя.

3. Поиск по лабораториям

ВАЖНО: двухэтапная верификация цен!

Для КАЖДОГО анализа:

Этап 1 — WebSearch (найти URL страницы анализа):

  • site:gemotest.ru [название анализа] цена москва
  • site:invitro.ru [название анализа] цена москва
  • Из результатов — извлечь URL страницы анализа

Этап 2 — WebFetch (проверить реальную цену на странице):

  • Для КАЖДОГО найденного URL → WebFetch(url, "Найди точную цену анализа в рублях")
  • Использовать ТОЛЬКО цену со страницы, НЕ из поискового snippet
  • Search snippets часто показывают неверные цены (старые, из другого региона, рекламные)

Комплексы — искать отдельно:

  • site:gemotest.ru [ключевые слова] комплекс акция
  • site:invitro.ru [ключевые слова] комплекс профиль
  • Также проверять через WebFetch!

Другие лабы (по запросу): Хеликс, KDL, Ситилаб — аналогично

Взятие крови — отдельная услуга, платится один раз за визит и входит в итог. Её цену проверять так же, как цену анализа: WebSearch → WebFetch страницы лаборатории. Она меняется и различается по регионам и филиалам.

Ни одной цены в этом файле нет и быть не должно. Любое число в итоговой таблице — с проверенной страницы лаборатории на сегодняшнюю дату. Если страница не отдаёт цену — писать «уточнять», а не подставлять запомненное значение.

4. Поиск комплексов

Ключевая оптимизация — найти готовые пакеты, где несколько анализов вместе дешевле:

  • Искать по ключевым словам цели: «анемия», «гормоны», «обследование» и т.д.
  • Сравнить цену комплекса vs сумму поштучно
  • Рассчитать экономию

5. Показать пользователю

Показать сравнительную таблицу в чате:

## Сравнение цен — [цель]
Дата поиска: YYYY-MM-DD

Сначала блок «ОМС-путь» из шага 2, затем эта таблица — по тому, что осталось платным.

| Анализ | Гемотест | Инвитро |
|--------|----------|---------|
| ОАК развёрнутый | [цена] ₽ | [цена] ₽ |
| ... | | |
| **Итого поштучно** | **[сумма] ₽** | **[сумма] ₽** |
| **Взятие крови** | **[цена со страницы] ₽** | **[цена со страницы] ₽** |
| **ИТОГО** | **[сумма] ₽** | **[сумма] ₽** |

### Комплексы
- [Название] — [цена] ₽ (vs [сумма поштучно] ₽, экономия [X] ₽)
  [ссылка]

### Рекомендация
Дешевле в [лаб]: [сумма] ₽ (экономия [X] ₽ vs [другая лаб])

Все ячейки — плейсхолдеры. Подставлять только проверенные через WebFetch значения; непроверенное — «уточнять».

6. Обновить задачу в Todoist

Если есть связанная задача (найти по тексту или по todoist_task_id из milestone):

6a. Обновить description задачи — краткая сводка

Через MCP update-tasks обновить description задачи:

## Список анализов

**Обязательно:**
- [ ] [Анализ 1]
- [ ] [Анализ 2]
...

**Желательно:**
- [ ] [Анализ N]

## Где сдать

**Рекомендация: [Лаборатория]** (~[сумма] ₽)

| Анализ | Цена |
|--------|------|
| [Анализ 1] | [цена] ₽ |
| ... | |
| Взятие крови | [цена] ₽ |
| **Итого** | **[сумма] ₽** |

💡 Комплекс «[название]» — [цена] ₽ (экономия [X] ₽)

## Подготовка
- Натощак (8–12 ч)
- Утром до 10:00
- Не тренироваться накануне
- Паспорт (для ОМС — ещё полис и направление)
6b. Добавить комментарий — подробные ссылки

Через MCP add-comments добавить комментарий к задаче:

## Ссылки на анализы (поиск [дата])

### Гемотест (итого ~[сумма] ₽)
- [Анализ 1]([ссылка]) — [цена] ₽
- [Анализ 2]([ссылка]) — [цена] ₽
...
💡 Комплекс: [Название]([ссылка]) — [цена] ₽

### Инвитро (итого ~[сумма] ₽)
- [Анализ 1]([ссылка]) — [цена] ₽
- [Анализ 2]([ссылка]) — [цена] ₽
...
💡 Комплекс: [Название]([ссылка]) — [цена] ₽

### Сравнение
Дешевле: [лаборатория] на [X] ₽

> Цены из поиска на [дата]. Могут отличаться — проверь на сайте.

7. Обновить milestone (если есть)

Если анализы связаны с milestone в Data/goals/YYYY.json:

  • Добавить todoist_task_id если ещё не привязан
  • Обновить cost_estimate_rub на основе найденных цен

8. Записать расход (после сдачи)

После того как пользователь сообщит, что сдал:

  • Спросить: сколько заплатил, какая лаборатория, ОМС или платно
  • Append одной строкой в Data/costs/YYYY.jsonl
  • Обновить cost_actual_rub у связанного milestone

Схема записи — в .claude/shared/data-schemas.md, раздел о Data/costs/YYYY.jsonl. Не изобретать свой набор полей: файл агрегируют /traction и /status, и запись с другими ключами ломает разбивку расходов.

Обязательные поля: ts, kr, type, description, payment, cost_rub, clinic, visit_ref.

Для анализов: typelab, clinic — название лаборатории, paymentoms при бесплатной сдаче (тогда cost_rub0) или private. Сдача по ОМС тоже записывается: нулевая строка показывает, что направление сработало, и отличает «бесплатно» от «не сдавал».

Связанные скиллы

СкиллКогда
/lab-orderДо сдачи: где сдать, положено ли по ОМС, почём, как подготовиться
/labsПосле сдачи: расшифровка, отклонения, тренды маркеров, влияние на гипотезы
/inboxЗагрузка файлов с результатами — PDF, сканы, фото из Inbox/

Если пользователь просит расшифровать результат — это /labs, не этот скилл. Если спрашивает, где сдать уже расшифрованное повторно, — снова сюда.

Правила

  • ОМС первым — бесплатный путь показывать до сравнения платных цен, даже если спросили только про цену
  • Ни одной зашитой цены в скилле. Каждое число — с проверенной страницы лаборатории, с датой проверки
  • Цены могут отличаться от актуальных. Всегда указывать дату поиска
  • Если комплекс дешевле отдельных анализов — рекомендовать комплекс и считать итого с комплексом
  • Не рекомендовать лабораторию по качеству — только по цене и удобству
  • Ссылки — только прямые с сайтов лабораторий (из WebSearch)
  • Всегда добавлять стоимость взятия крови к итогу — по проверенной цене
  • Расход писать по схеме из .claude/shared/data-schemas.md, включая нулевые записи по ОМС
  • В Todoist: description — краткая сводка + чеклист, comment — подробные ссылки

Критерий завершения: ОМС-путь проверен и показан первым, по каждому анализу сказано, положен ли он бесплатно и что для этого нужно; каждая цена в выдаче получена через WebFetch страницы лаборатории либо помечена «уточнять»; взятие крови учтено в итоге; указана дата поиска; при записи расхода строка содержит все восемь полей схемы и файл остаётся валидным JSONL.

⚕️ Информация носит справочный характер. Для принятия решений о лечении обратитесь к врачу.

Signals

GitHub stars
38
Forks
6
Last commit
Aug 2026
Advanced
Catalog kind
skill
Gateway key
lab-order
Source
github.com/alxyrgin/health-os