| name | profiles |
| description | Профили членов семьи: создание, переключение, список, удаление.
Триггеры: «профили», «переключись на», «профиль жены», «добавь профиль», «чей профиль», «switch profile»
|
Profiles — управление профилями членов семьи
Назначение
Система ведёт медкарты нескольких человек. Этот скилл создаёт профили,
переключает активный и показывает, чьи данные сейчас в работе.
Рамка: .claude/shared/profile-resolution.md — читается первой.
Workflow
Показать список
Прочитать Data/profiles/_active.json и каталоги Data/profiles/*/.
Для каждого — profile.json → имя, возраст, пол, связь.
Профили:
▶ owner Владелец М, 34 года активный
wife Супруга Ж, 32 года
son Сын М, 8 лет педиатрический режим
Переключиться: /profiles переключись на wife
Возраст вычисляется из date_of_birth в момент обращения, не хранится.
Переключить активный профиль
- Проверить, что профиль существует. Нет — показать список и остановиться
- Подтвердить у пользователя: «Переключаю активный профиль на «Супруга».
Все последующие чтения и записи пойдут в её карту. Продолжить?»
- Обновить
Data/profiles/_active.json: поле active, switched_at,
добавить запись в history[]
- Подтвердить сменившимся состоянием:
Активный профиль: Супруга (wife)
Ж, 32 года · 4 анализа · 2 визита · последняя запись 12.07.2026
Молча не переключать никогда — пользователь должен знать, в чью карту
пойдёт следующая запись.
Разовое обращение без переключения
«Покажи анализы сына» при активном профиле владельца — прочитать данные
профиля son, не меняя активный. Обязательно назвать это явно:
Смотрю профиль сына (активный остаётся — владелец)
Разовое обращение — только на чтение. Любая запись требует либо
переключения, либо явного подтверждения целевого профиля.
Создать профиль
Спросить по очереди:
- Идентификатор — латиница, цифры, дефис, 2–32 символа.
Предложить по связи:
wife, son, daughter, mother, father.
Фамилию и полное имя в идентификатор не класть — он попадает в пути
файлов и в вывод. Проверить, что не занят
- Отображаемое имя — как обращаться
- Связь —
self · spouse · child · parent · other
- Дата рождения — ISO 8601. Обязательна: от неё зависят референсы,
скрининг и педиатрический режим
- Пол — по
.claude/shared/sex-specific.md: sex для медицинских
выводов, при необходимости gender_identity и hormone_therapy
- Основание ведения профиля — см. ниже
Затем создать каталог Data/profiles/<id>/ со структурой из Блока 5
рамки и развернуть шаблоны. Активный профиль не менять — предложить
переключиться отдельным шагом.
Основание (consent)
Для профиля, отличного от владельца, поле обязательно:
| Связь | basis | Что подтверждается |
|---|
| Свой | self | — |
| Взрослый член семьи | informed | Человек знает, что его медданные ведутся в этой системе |
| Ребёнок или недееспособный | legal_guardian | Вы законный представитель |
Спросить прямо, без формализма:
Профиль другого человека — вопрос не технический. Супруга знает, что её
анализы будут храниться и разбираться здесь? Для ребёнка — вы законный
представитель?
Отказ отвечать — не создавать профиль. Поле ничего не доказывает
юридически; оно существует, чтобы вопрос был задан осознанно.
Записать:
"consent": {
"basis": "informed",
"recorded_at": "2026-08-06",
"note": "супруга уведомлена, ведение по её просьбе"
}
Если профиль детский
При возрасте младше 18 сказать прямо, что включается педиатрический
контур и чем он отличается:
Профиль детский — включён педиатрический режим.
Референсы берутся по возрасту, а не взрослые: у растущего ребёнка
щелочная фосфатаза втрое выше взрослой нормы, и это норма.
Рост и вес читаются перцентилями, прививки — по возрастному календарю.
Разбор ведёт педиатр; профильные специалисты подключаются, но
взрослые интервалы к анализам не применяют.
Удалить профиль
Удаление необратимо и уничтожает всю медкарту человека.
- Показать, что именно будет удалено: количество анализов, визитов,
протоколов, размер каталога
- Потребовать ввести идентификатор профиля вручную — не «да»
- Предложить сначала сделать копию каталога и дождаться подтверждения,
что копия сделана
- Активный профиль удалить нельзя — сначала переключиться на другой
- Профиль владельца удалить нельзя
Формат _active.json
{
"version": 1,
"active": "owner",
"switched_at": "2026-08-06T10:00:00",
"history": [
{ "profile": "wife", "at": "2026-08-05T18:20:00" },
{ "profile": "owner", "at": "2026-08-06T10:00:00" }
]
}
history[] — последние 20 переключений. Нужна, чтобы восстановить, в чей
профиль ушла запись, если ошибка обнаружилась позже.
Правила
- Рамка
profile-resolution.md читается до всего остального
- Переключение — только с подтверждением, никогда молча
- Разовое обращение к чужому профилю — только чтение, и всегда с оговоркой
- Идентификатор без фамилии и полного имени
- Дата рождения обязательна: без неё не работают ни референсы, ни скрининг
consent обязателен для всех профилей, кроме владельца
- Данные профилей не смешиваются: наследственность идёт через
family_history, а не через чтение чужих карт
- Удаление — с ручным вводом идентификатора и предложением копии
- Критерий завершения:
_active.json валиден, у каждого профиля есть
profile.json с датой рождения и полом, check-integrity.py проходит
⚕️ Информация носит справочный характер. Для принятия решений о лечении обратитесь к врачу.