Видеолекции ХОБЛ для интернов: говорящий аватар + TTS (РУ/ҚЗ), 2 лекции по 10-15 мин

This commit is contained in:
Dauren777 2026-06-30 09:23:56 +00:00
parent e1a6f19272
commit 74fb1f9cc8
3 changed files with 699 additions and 0 deletions

173
AGENTS.md Normal file
View File

@ -0,0 +1,173 @@
<!-- vibe42-agents-version: v3-guided-2026-06-01 -->
# Vibe42 — учебная песочница для лендингов
Workspace юзера `Amanbayeva_Nazym`. Это **учебная среда**, где обычные люди (не разработчики) пробуют сделать свой первый сайт.
---
## 🎯 ТВОЯ РОЛЬ
Ты — **гид и помощник**, а не слепой исполнитель. Цель сессии — чтобы юзер вышел с:
1. **рабочим лендингом**, опубликованным по адресу `https://pages.git.vibe42.kz/Amanbayeva_Nazym/<repo>/`,
2. ощущением «это было легко» — без серверов, БД, токенов, конфигов.
Юзер не разработчик. Ему важен **результат, который видно в браузере**, а не код.
---
## 🗺 СЦЕНАРИЙ ПЕРВОГО ЗАХОДА (юзер только зашёл, ещё ничего нет)
1. Поздоровайся коротко: «Привет! Тут за 10 минут собираем лендинг и публикуем его в интернете. О чём хочешь сделать?»
2. Если он не знает — предложи **4 конкретных идеи** (выбирай близкие к нему, не абстрактные):
- Промо хобби (фотография / музыка / спорт)
- Резюме / personal page с контактами
- Афиша мероприятия (концерт, день рождения, мастер-класс)
- Меню заведения / прайс услуг
- Лендинг продукта или будущего проекта (waitlist)
3. Уточни **2 короткие детали**: стиль (тёмный/светлый/яркий) и главную цель (рассказать / собрать заявку / показать работы).
4. Сразу делай `./new-project <name>` и собирай страницу. Не спрашивай разрешения на каждый шаг.
---
## 💬 ЕСЛИ ЮЗЕР ОТВЕЧАЕТ РАСПЛЫВЧАТО
Юзер говорит «сделай что-нибудь» / «ну хз» / «сюрприз» → **не делай ничего абстрактного**.
Скажи: «Давай определимся, я задам 3 коротких вопроса:
1. Это для тебя лично, для проекта/бизнеса, или для события?
2. Главная цель — рассказать о чём-то / собрать заявку / показать портфолио?
3. Любимое настроение — строгое тёмное, лёгкое светлое, яркое цветное?»
После ответов **сразу** предложи 2 конкретных варианта названия+структуры. Дай выбрать и иди делать.
---
## 🚫 ЕСЛИ ЮЗЕР ХОЧЕТ СЛОЖНОЕ — ПЕРЕФОРМУЛИРУЙ В ЛЕНДИНГ
| Запрос | Что делаем вместо |
|--------|-------------------|
| «магазин с корзиной» | лендинг с товарами + кнопка «купить» = ссылка на WhatsApp / Telegram |
| «соцсеть» | лендинг будущего проекта + waitlist-форма (Formspree / Getform) |
| «блог с админкой» | personal-page + ссылки на статьи в Telegram/Medium |
| «приложение для записи» | лендинг услуги + ссылка на Calendly / WhatsApp |
| «сайт с входом юзеров» | публичный лендинг без логина (нам логин не нужен) |
| «бот в Telegram» | лендинг с описанием бота + кнопка `t.me/...` |
**Не говори «это невозможно».** Скажи: «У нас песочница только для статических сайтов. Давай сделаем лендинг, который покажет твою идею — а кнопки/формы свяжем с готовыми сервисами (WhatsApp, Telegram, Formspree)». Юзер счастлив, результат за 15 минут.
---
## 📐 ШАБЛОНЫ СТРАНИЦ (выбирай под идею юзера)
### A — Промо продукта/услуги
**Секции:** Hero (заголовок + подзаголовок + CTA-кнопка) → 3-4 преимущества (иконка emoji + текст) → социальное доказательство (отзыв или цифра) → CTA (кнопка/телефон/мессенджер).
### B — Personal / резюме
**Секции:** Hero (фото-аватарка + имя + одна фраза «кто я») → О себе (1-2 абзаца) → 3-5 карточек проектов/опыта → Контакты (email, telegram, github как ссылки-кнопки).
### C — Афиша мероприятия
**Секции:** Hero (название + дата + место крупно) → Программа (список с временем) → Локация (картинка-placeholder + адрес) → Регистрация (форма Formspree или контакт).
### D — Меню / прайс
**Секции:** Hero (название + слоган) → Меню/прайс (категории с ценами) → Контакты (телефон, адрес, часы работы, карта-картинка).
### E — Waitlist для будущего проекта
**Секции:** Hero (название проекта + одна фраза + email-форма) → 3 фичи «что будет» → FAQ (3 пункта) → CTA (та же email-форма).
Все шаблоны — **одна страница, прокрутка вниз**. Никаких роутов, ничего динамического.
---
## ⚡ РИТУАЛ ПОСЛЕ ПЕРВОГО ЗАПУСКА
Как только готов первый рабочий вариант (даже грубый):
1. **Сразу запушь:**
```bash
git add -A
git commit -m "v1"
git push origin HEAD:pages
```
2. **ОБЯЗАТЕЛЬНО** дай юзеру ссылку **жирно**:
> 🎉 Готово! Твой лендинг здесь: **https://pages.git.vibe42.kz/Amanbayeva_Nazym/<repo>/**
3. Скажи: «Открой в новой вкладке, посмотри. Что хочешь поменять?»
4. Дальше короткие итерации: правка → push → новый URL-показ. Каждые 2-3 правки — push.
---
## ⚠️ ЖЕЛЕЗНЫЕ ПРАВИЛА (НЕ нарушать никогда)
1. **Только статика — HTML + CSS + JS в браузере.**
2. **Никакого бэкенда.** Никаких Node/Express/FastAPI/Django/PHP/Go-серверов. Никаких БД. Никакого Redis.
3. **Никакой аутентификации / OAuth / JWT.**
4. **Никакого Docker, nginx, sudo, системных настроек.**
5. **Никаких тяжёлых сборщиков** (`npm install` дерево на 500МБ). Tailwind — только через CDN.
6. **НИКОГДА `git init` в workspace root (`/workspaces/Amanbayeva_Nazym`)** — это папка-контейнер юзера, не репозиторий.
---
## ✅ ВСЕГДА работай через `./new-project`
Если юзер сказал «сделай сайт NAME» / «создай проект NAME»:
```bash
cd /workspaces/Amanbayeva_Nazym
./new-project NAME # создаёт repo в Gitea + клонит локально в ./NAME/
cd NAME
# теперь создавай index.html / style.css / script.js внутри ./NAME
```
`./new-project` сам создаёт repo, клонит, и копирует туда `AGENTS.md` + `design.md`.
---
## 🌐 Git и публикация
**НЕТ GitHub.** Self-hosted git: **https://git.vibe42.kz**
- Профиль юзера: https://git.vibe42.kz/Amanbayeva_Nazym
- Pages (живые лендинги): https://pages.git.vibe42.kz/Amanbayeva_Nazym/<repo>/
- Креды уже в `/workspaces/Amanbayeva_Nazym/.git-credentials` — git push/clone работают без пароля
- **НЕ спрашивай юзера про GitHub URL / токен** — их не нужно
### Опубликовать лендинг
```bash
git add -A
git commit -m "site"
git push origin HEAD:pages
```
Ветка **`pages`** (Caddy её обслуживает; `gh-pages` тоже работает как fallback). Push → лендинг доступен мгновенно.
---
## 🔧 Когда что-то идёт не так
- **Pages 404** → запушь ветку `pages` снова: `git push origin HEAD:pages -f`
- **Не дёргай Gitea API типа `/repos/.../pages`, `/settings/pages`, `/deploy_keys`** — их нет
- **Не пытайся «настроить Pages через UI Gitea»** — Pages у нас работают только через push в ветку `pages`
- Запуталось — сделай новый чистый проект через `./new-project NAME-v2`, перенеси туда работающий index.html
---
## ❌ Чего НЕ делать НИКОГДА
- ❌ `git init` в workspace root
- ❌ `npm install` с прод-зависимостями (express/mongoose/pg/prisma/next/nuxt)
- ❌ Создавать `server.js` / `app.py` / `main.go` как backend
- ❌ Использовать `gh` CLI или GitHub API
- ❌ Вызывать Gitea Pages-API (его нет)
- ❌ Долгое отлаживание Pages — почти всегда решение «push HEAD:pages»
- ❌ Просить юзера ввести токен/URL/пароль — всё уже настроено
- ❌ Задавать юзеру 10 вопросов подряд (максимум 2-3 за раз)
- ❌ Показывать юзеру голый код больше 1 раза — ему важен результат, а не как написано
- ❌ Предлагать «давай сначала дизайн в Figma» — мы делаем сразу в HTML
- ❌ Говорить «это сложно» — переформулируй в простое
- ❌ Зависать в обсуждениях — сделай первый вариант грубо, потом итерируй
---
## 🎨 design.md
Рядом лежит `design.md` с готовой палитрой, типографикой и стартер-шаблоном `index.html`. **Начинай с него.** Не выдумывай новые цвета — модифицируй существующие.

110
design.md Normal file
View File

@ -0,0 +1,110 @@
<!-- vibe42-design-version: v1-2026-06-01 -->
# Design system — Vibe42 песочница
Базовые цвета и типографика для лендингов. Можно отклоняться, но начинай с этого.
## Палитра
| Token | Hex | Использование |
|-------|-----|---------------|
| `--ink` | `#0F1218` | Тёмный фон / основной текст |
| `--cyan` | `#00E5FF` | Основной акцент (кнопки, лого) |
| `--cyan-50` | `#E8FCFF` | Светлая подложка для акцентов |
| `--white` | `#FFFFFF` | Основной фон |
| `--gray-500` | `#5B6573` | Вторичный текст |
| `--gray-100` | `#F2F4F7` | Сепараторы / тонкие фоны |
## Типографика
```css
font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Inter, system-ui, sans-serif;
```
| Уровень | Размер | Вес | line-height |
|---------|--------|-----|-------------|
| h1 (hero) | 56px | 800 | 1.05 |
| h2 (section) | 36px | 700 | 1.15 |
| h3 | 22px | 700 | 1.3 |
| body | 17px | 400 | 1.6 |
| small | 14px | 400 | 1.5 |
На мобиле — h1 уменьши до 36px, h2 до 28px.
## Лейаут
- max-width контента: **1140px** (контейнер с padding по бокам)
- секция: `padding: 80px 24px` (мобила: `48px 20px`)
- gap между блоками внутри секции: `24-32px`
- border-radius: `8px` (кнопки, карточки), `16px` (большие карточки)
## Кнопки
```css
.btn-primary {
background: var(--cyan); color: var(--ink);
padding: 14px 28px; border-radius: 8px;
font-weight: 700; text-decoration: none;
display: inline-block;
}
.btn-secondary {
background: transparent; color: var(--ink);
border: 2px solid var(--ink);
padding: 12px 26px; border-radius: 8px;
}
```
## Стартер `index.html`
```html
<!DOCTYPE html>
<html lang="ru">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width,initial-scale=1">
<title>Мой проект</title>
<style>
:root{--ink:#0F1218;--cyan:#00E5FF;--cyan-50:#E8FCFF;--white:#fff;--gray-500:#5B6573;--gray-100:#F2F4F7}
*{box-sizing:border-box;margin:0;padding:0}
body{font:17px/1.6 -apple-system,BlinkMacSystemFont,"Segoe UI",Inter,system-ui,sans-serif;color:var(--ink);background:var(--white)}
.container{max-width:1140px;margin:0 auto;padding:80px 24px}
.hero{background:var(--ink);color:var(--white)}
.hero h1{font-size:56px;font-weight:800;line-height:1.05;margin-bottom:24px}
.hero p{font-size:20px;color:#9aa3b2;max-width:600px;margin-bottom:32px}
.btn{display:inline-block;background:var(--cyan);color:var(--ink);padding:14px 28px;border-radius:8px;font-weight:700;text-decoration:none}
.btn:hover{background:#1be5ff}
.section h2{font-size:36px;font-weight:700;margin-bottom:24px}
.card{background:var(--gray-100);border-radius:16px;padding:32px;margin-bottom:16px}
@media (max-width:640px){.hero h1{font-size:36px}.section h2{font-size:28px}.container{padding:48px 20px}}
</style>
</head>
<body>
<section class="hero">
<div class="container">
<h1>Заголовок проекта</h1>
<p>Подзаголовок — пара предложений о чём это.</p>
<a class="btn" href="#section">Начать</a>
</div>
</section>
<section id="section" class="section">
<div class="container">
<h2>Секция</h2>
<div class="card">Контент карточки.</div>
<div class="card">Контент карточки.</div>
</div>
</section>
</body>
</html>
```
## Чем НЕ пользоваться
- Bootstrap, Material UI, Chakra, Ant Design — слишком тяжело и не нужно для лендинга
- Font Awesome — используй emoji (🚀 ⚡ ✨) или inline SVG
- jQuery — vanilla JS более чем достаточно
## Чем МОЖНО (если очень надо)
- **Tailwind через CDN**: `<script src="https://cdn.tailwindcss.com"></script>` — для прототипа OK
- **Lottie animations через CDN**
- **Placeholder картинки**: `https://picsum.photos/800/600`, `https://placehold.co/600x400`
- **Шрифты Google Fonts через `<link>`** в head

416
index.html Normal file
View File

@ -0,0 +1,416 @@
<!DOCTYPE html>
<html lang="ru">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width,initial-scale=1">
<title>Видеолекции по ХОБЛ для интернов · говорящий аватар</title>
<style>
:root{--ink:#0F1218;--cyan:#00E5FF;--cyan-50:#E8FCFF;--gray-500:#5B6573;--gray-100:#F2F4F7;--gray-200:#E4E8EE;--green:#16C784;--amber:#F5A623;--red:#EA3943}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font:16px/1.6 -apple-system,BlinkMacSystemFont,"Segoe UI",Inter,system-ui,sans-serif;color:var(--ink);background:#f7f8fa}
.topbar{position:sticky;top:0;z-index:50;background:var(--ink);color:#fff}
.topbar-inner{max-width:1180px;margin:0 auto;padding:12px 20px;display:flex;align-items:center;gap:14px;flex-wrap:wrap}
.brand{font-weight:800;font-size:17px;display:flex;align-items:center;gap:9px}
.brand .mk{width:30px;height:30px;border-radius:8px;background:rgba(0,229,255,.14);display:grid;place-items:center;color:var(--cyan);font-size:16px;border:1px solid rgba(0,229,255,.3)}
.spacer{flex:1}
.seg{display:flex;background:#1a1f2a;border-radius:8px;padding:3px;gap:2px}
.seg button{background:transparent;border:none;color:#9aa3b2;font-size:13px;font-weight:700;padding:7px 13px;border-radius:6px;cursor:pointer;font-family:inherit}
.seg button.active{background:var(--cyan);color:var(--ink)}
.wrap{max-width:1180px;margin:0 auto;padding:20px}
.kznote{background:var(--amber);color:#3a2a00;font-size:13px;padding:9px 14px;border-radius:8px;margin-bottom:14px;display:none}
.kznote.show{display:block}
.lect-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px;margin-bottom:18px}
.lect-card{background:#fff;border:1px solid var(--gray-200);border-radius:14px;padding:18px;cursor:pointer;transition:border-color .12s,transform .05s}
.lect-card:hover{border-color:var(--ink)}
.lect-card.active{border-color:var(--cyan);box-shadow:0 0 0 3px var(--cyan-50)}
.lect-card .lic{font-size:26px}
.lect-card h3{font-size:17px;font-weight:700;margin:6px 0 4px}
.lect-card .meta{font-size:13px;color:var(--gray-500)}
.lect-card .aud{display:inline-block;font-size:11px;font-weight:700;padding:3px 8px;border-radius:6px;margin-top:8px}
.lect-card .aud.i{background:var(--cyan-50);color:#0a6b7a}
.lect-card .aud.p{background:#fde8ef;color:#a51d26}
.player{background:#fff;border:1px solid var(--gray-200);border-radius:16px;padding:22px;margin-bottom:18px}
.player-top{display:grid;grid-template-columns:200px 1fr;gap:24px;align-items:start}
.avatar-box{display:flex;flex-direction:column;align-items:center;gap:8px}
.avatar-svg{width:170px;height:170px}
.aname{font-size:13px;color:var(--gray-500);font-weight:600;text-align:center}
.aname .live{display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--gray-300);margin-right:5px;vertical-align:middle}
.aname .live.on{background:var(--green);box-shadow:0 0 0 3px rgba(22,199,132,.2)}
.slide-box{min-height:230px}
.slide-tag{font-size:12px;font-weight:700;color:var(--cyan);text-transform:uppercase;letter-spacing:.04em;margin-bottom:6px}
.slide-box h2{font-size:24px;font-weight:800;margin-bottom:12px;letter-spacing:-.01em}
.slide-box p{font-size:17px;color:var(--ink);line-height:1.65}
.slide-box p .hl{background:var(--cyan-50);padding:1px 4px;border-radius:3px}
.controls{display:flex;align-items:center;gap:12px;margin-top:18px;flex-wrap:wrap}
.cbtn{background:var(--ink);color:#fff;border:none;width:46px;height:46px;border-radius:50%;font-size:18px;cursor:pointer;display:grid;place-items:center}
.cbtn.ghost{background:#fff;color:var(--ink);border:1.5px solid var(--gray-200);width:auto;padding:0 16px;border-radius:23px;font-size:14px;font-weight:700;height:40px}
.cbtn.big{width:54px;height:54px;font-size:22px;background:var(--cyan);color:var(--ink)}
.cbtn:hover{opacity:.88}
.progress{flex:1;min-width:160px;height:8px;background:var(--gray-100);border-radius:6px;overflow:hidden}
.progress-fill{height:100%;background:var(--cyan);width:0;transition:width .2s}
.slide-counter{font-size:13px;color:var(--gray-500);font-weight:600;white-space:nowrap}
.rate{display:flex;align-items:center;gap:6px;font-size:13px;color:var(--gray-500)}
.rate select{padding:5px 8px;border:1px solid var(--gray-200);border-radius:6px;font-size:13px}
.tabs{display:flex;gap:4px;border-bottom:1px solid var(--gray-200);margin-bottom:14px}
.tabs button{background:none;border:none;font-size:15px;font-weight:600;color:var(--gray-500);padding:10px 16px;border-bottom:2px solid transparent;cursor:pointer}
.tabs button.active{color:var(--ink);border-bottom-color:var(--cyan)}
.script{background:#fff;border:1px solid var(--gray-200);border-radius:14px;padding:24px}
.script h3{font-size:20px;font-weight:800;margin-bottom:4px}
.script .slen{font-size:13px;color:var(--gray-500);margin-bottom:16px}
.script .sslide{margin-bottom:18px}
.script .sslide h4{font-size:16px;font-weight:700;color:var(--ink);margin-bottom:4px}
.script .sslide .sn{color:var(--cyan);font-weight:800;margin-right:6px}
.script .sslide p{font-size:15px;color:var(--gray-500);line-height:1.6}
.script-actions{display:flex;gap:10px;margin-bottom:16px;flex-wrap:wrap}
.btn{display:inline-flex;align-items:center;gap:8px;background:var(--cyan);color:var(--ink);padding:10px 18px;border-radius:8px;font-weight:700;border:none;cursor:pointer;font-size:14px;font-family:inherit;text-decoration:none}
.btn.ghost{background:#fff;color:var(--ink);border:1.5px solid var(--gray-200)}
.btn:hover{opacity:.9}
.hidden{display:none!important}
.footer{padding:24px 0;color:var(--gray-500);font-size:13px;text-align:center}
@media(max-width:760px){
.player-top{grid-template-columns:1fr}
.avatar-svg{width:130px;height:130px}
.lect-grid{grid-template-columns:1fr}
.slide-box h2{font-size:20px}
}
</style>
</head>
<body>
<header class="topbar">
<div class="topbar-inner">
<div class="brand"><span class="mk">🎬</span><span id="brandTxt">ХОБЛ лекции</span></div>
<div class="spacer"></div>
<div class="seg" id="langSeg">
<button data-lang="ru" class="active">РУ</button>
<button data-lang="kz">ҚЗ</button>
</div>
</div>
</header>
<div class="wrap">
<div class="kznote" id="kzNote"></div>
<div class="lect-grid" id="lectGrid"></div>
<div class="player">
<div class="player-top">
<div class="avatar-box">
<svg class="avatar-svg" viewBox="0 0 200 200" id="avatar">
<defs><radialGradient id="g" cx="50%" cy="40%" r="60%"><stop offset="0%" stop-color="#1bf0ff"/><stop offset="100%" stop-color="#00b8d4"/></radialGradient></defs>
<circle cx="100" cy="100" r="96" fill="url(#g)"/>
<circle cx="100" cy="100" r="96" fill="none" stroke="#0F1218" stroke-width="3" opacity=".15"/>
<ellipse cx="72" cy="86" rx="9" ry="11" fill="#0F1218" id="eyeL"/>
<ellipse cx="128" cy="86" rx="9" ry="11" fill="#0F1218" id="eyeR"/>
<path d="M60 64 Q72 56 84 64" stroke="#0F1218" stroke-width="4" fill="none" stroke-linecap="round"/>
<path d="M116 64 Q128 56 140 64" stroke="#0F1218" stroke-width="4" fill="none" stroke-linecap="round"/>
<path id="mouth" d="M82 128 Q100 138 118 128" stroke="#0F1218" stroke-width="5" fill="none" stroke-linecap="round"/>
<circle cx="60" cy="120" r="7" fill="#0F1218" opacity=".12"/>
<circle cx="140" cy="120" r="7" fill="#0F1218" opacity=".12"/>
</svg>
<div class="aname"><span class="live" id="liveDot"></span><span id="avatarName">Доктор Айбөпе</span></div>
</div>
<div class="slide-box" id="slideBox"></div>
</div>
<div class="controls">
<button class="cbtn big" id="playBtn" title="Play/Pause"></button>
<button class="cbtn" id="prevBtn" title="Назад"></button>
<button class="cbtn" id="nextBtn" title="Вперёд"></button>
<div class="progress"><div class="progress-fill" id="pfill"></div></div>
<div class="slide-counter" id="counter">— / —</div>
<div class="rate"><select id="rateSel"><option value="0.9">0.9×</option><option value="1" selected>1.0×</option><option value="1.1">1.1×</option></select></div>
</div>
</div>
<div class="tabs">
<button id="tabView" class="active">📺 Плеер</button>
<button id="tabScript">📄 Сценарий лекции</button>
</div>
<div class="script hidden" id="scriptPanel"></div>
<div class="footer">Видеолекции по ХОБЛ · говорящий аватар + синтез речи браузера · контент основан на GOLD 2024 и клиническом протоколе МЗ РК · материал носит образовательный характер</div>
</div>
<script>
"use strict";
/* =================== ДАННЫЕ ЛЕКЦИЙ =================== */
var LECTURES={
patients:{
"p-intro":{
ru:{title:"Знакомство с ХОБЛ",dur:"≈12 мин",slides:[
{h:"Здравствуйте!",t:"Меня зовут доктор Айбөпе, и сегодня мы поговорим о хронической обструктивной болезни лёгких, сокращённо ХОБЛ. Это одна из самых частых болезней лёгких во всём мире. Если у вас или у близкого человека диагностирована ХОБЛ — не пугайтесь. Понимание болезни это первый шаг к тому, чтобы жить полной жизнью. За эту лекцию мы разберём, что такое ХОБЛ, откуда она берётся, как проявляется и что с ней делать."},
{h:"Что такое ХОБЛ",t:"ХОБЛ это хроническое воспаление дыхательных путей. Из-за постоянного раздражения бронхи сужаются и теряют способность нормально расширяться, а альвеолы — крошечные воздушные мешочки лёгких — разрушаются. Воздух застревает в лёгких, и вам становится трудно выдохнуть. Отсюда главный симптом — одышка. Важно: эти изменения необратимы. Полностью вылечить ХОБЛ нельзя, но её можно контролировать и замедлить."},
{h:"Откуда берётся ХОБЛ",t:"В восьмидесяти-девяноста процентах случаев причина одна — курение. И активное, и пассивное. Табачный дым годами повреждает лёгкие. Другие причины: профессиональная пыль и химикаты на работе, загрязнённый воздух в доме при использовании дров и угля, а также редкая генетическая причина — дефицит альфа-один-антитрипсина. Если вы курите — знайте: отказ от курения это самое эффективное лечение, на любой стадии болезни."},
{h:"Как проявляется ХОБЛ",t:"Болезнь развивается медленно, годами. Сначала появляется кашель по утрам с небольшим количеством мокроты. Потом присоединяется одышка — сначала при нагрузке, подъёме по лестнице, а позже и в покое. Могут быть свистящие хрипы и повышенная утомляемость. Многие считают кашель курильщика нормой и приходят к врачу поздно. Если вы кашляете больше трёх месяцев в году или задыхаетесь при ходьбе — обратитесь к врачу."},
{h:"Чем ХОБЛ отличается от астмы",t:"И ХОБЛ, и астма вызывают одышку, но они разные. При астме бронхоспазм обратим — лекарство быстро расширяет бронхи, и человек чувствует себя здоровым между приступами. При ХОБЛ сужение бронхов стойкое и необратимое. Астма чаще начинается в молодости, ХОБЛ — у людей старше сорока, обычно курильщиков. Бывает и смешанный вариант, но принцип лечения определяет врач по спирометрии."},
{h:"Можно ли вылечить ХОБЛ",t:"Полностью вылечить ХОБЛ нельзя, потому что разрушенные ткани лёгких не восстанавливаются. Но это не приговор. Современное лечение позволяет контролировать симптомы, снизить одышку, уменьшить число обострений и госпитализаций и сохранить активность на долгие годы. Ключевое — выполнять назначения врача и не бросать лечение, даже когда стало легче."},
{h:"Что замедляет болезнь",t:"Главное — отказаться от курения. Это замедляет прогрессирование болезни сильнее любых лекарств. Далее — регулярная базисная ингаляционная терапия, вакцинация от гриппа и пневмококка, дыхательная гимнастика и физическая активность, правильное питание. Избегайте задымленных помещений, холодного воздуха и респираторных инфекций. Всё это вместе реально улучшает прогноз."},
{h:"Стадии простыми словами",t:"ХОБЛ бывает разной степени тяжести — от лёгкой до очень тяжёлой. Степень определяет врач по спирометрии — тесту, где вы сильно дышите в прибор. Чем ниже показатель, тем тяжелее. Но важно не только число: учитывают ваши симптомы, одышку и частоту обострений. От этого зависит, какие лекарства нужны и как часто наблюдаться. Не бойтесь спирометрии — это простой и безболезненный тест."},
{h:"Зачем измерять SpO₂ и вести дневник",t:"Пульсоксиметр — маленький прибор на палец — показывает насыщение крови кислородом, SpO₂. Норма девяносто пять и выше. Если ниже — сообщите врачу. Дневник пациента помогает и вам, и врачу: вы записываете SpO₂, давление, пульс, одышку и приём лекарств. Так видно динамику и ранние признаки ухудшения. Ведите его два-три раза в день — это занимает пару минут, но спасает от госпитализаций."},
{h:"Светофор: зелёная, жёлтая, красная зона",t:"Чтобы не паниковать, используйте правило светофора. Зелёная зона — SpO₂ девяносто пять и выше, обычное самочувствие: продолжаете лечение. Жёлтая — SpO₂ от девяноста до девяноста четырёх: примените спасательный ингалятор и свяжитесь с медсестрой. Красная — SpO₂ ниже девяноста: увеличьте кислород по схеме, примите бронхолитик и вызывайте скорую. Этот план вы согласуете с врачом и повесите на видном месте."},
{h:"Когда срочно к врачу",t:"Вызывайте скорую, если: сатурация ниже восьмидесяти восьми процентов держится дольше пяти минут, одышка в покое не проходит после ингалятора пятнадцать-двадцать минут, появилась синюшность губ, спутанность сознания или боли в груди, а также при температуре выше тридцати восьми с половиной с нарастающей одышкой. Не терпите ухудшение — раннее действие спасает жизнь и снижает риск госпитализации."},
{h:"Главное занятие",t:"Подведём итог. ХОБЛ это хроническая болезнь, вызванная в основном курением. Полностью она не лечится, но контролируется. Главные шаги: бросить курить, принимать базисную терапию каждый день, вести дневник, действовать по светофору и не пропускать визиты к врачу. Вы — главный участник своей команды лечения. Спасибо за внимание и берегите лёгкие!"}
]},
kz:{title:"ХОБЛ-мен танысу",dur:"≈12 мин",slides:[
{h:"Сәлеметсіз бе!",t:"Менің атым — дәрігер Айбөпе, және бүгін біз сырқаттық обструктивті өкпе ауруы, қысқаша ХОБЛ туралы әңгімелесеміз. Бұл бүкіл әлемде ең жиі кездесетін өкпе ауруларының бірі. Егер сізге немесе жақын адамыңызға ХОБЛ диагнозы қойылса — қорықпаңыз. Ауруды түсіну — толық өмір сүруге қадам. Бұл дәрісте ХОБЛ дегеніміз не, қайдан пайда болады, қалай көрінеді және онымен не істеу керектігін талқилаймыз."},
{h:"ХОБЛ дегеніміз не",t:"ХОБЛ — тыныс жолдарының созылмалы қабынуы. Тұрақты тітіркенуден бронхтар тарылып, қалыпты кеңейе алмайды, ал альвеолалар — өкпенің кішкентай ауа сақтауыштары — бұзылады. Ауа өкпеде қалып қояды, дем шығару қиындайды. Мұнан басты белгі — ентігу шығады. Маңыздысы: бұл өзгерістер қайтымсыз. ХОБЛ-ді толық емдеуге болмайды, бірақ бақылап, баяулатуға болады."},
{h:"ХОБЛ қайдан пайда болады",t:"Жағдайлардың сексен-тоқсан пайызында бір ғана себеп бар — темекі шегу. Ол активті де, пассивті де. Түтін жылдар бойы өкпені зақымдайды. Басқа себептер: жұмыстағы шаң мен химикаттар, отын мен көмір қолданғанда үйдегі лас ауа, сондай-ақ сирек генетикалық себеп — альфа-бір-антитрипсин тапшылығы. Егер темекі шексеңіз — біліңіз: темекіні тастау — кез келген сатыдағы ең тиімді ем."},
{h:"ХОБЛ қалай көрінеді",t:"Ауру бірте-бірте, жылдар бойы дамиды. Алдымен таңертең аз ғана қақырықпен жөтел пайда болады. Сосын ентігу қосылады — алдымен жүктемеде, баспалдақпен көтерілгенде, кейін тыныштықта. Ысқырықты тыныс пен шаршағыштық болуы мүмкін. Көпшілік темекі шегушінің жөтелін қалыпты санап, дәрігерге кеш барады. Жылына үш айдан астам жөтелсеңіз немесе жүргенде ентіксеңіз — дәрігерге барыңыз."},
{h:"ХОБЛ астадан айырмашылығы",t:"ХОБЛ де, аста да ентігу болады, бірақ олар әртүрлі. Астада бронх тарылуы қайтымды — дәрі тез кеңейтеді, адам ұстамалар арасында сау сезінеді. ХОБЛ-де тарылуы тұрақты әрі қайтымсыз. Аста жиі жас кезде басталады, ХОБЛ — қырық жастан асқандарда, әдетте темекі шегушілерде. Аралас түрі де болады, бірақ ем принципін спирометрия бойынша дәрігер анықтайды."},
{h:"ХОБЛ-ді емдеп бола ма",t:"ХОБЛ-ді толық емдеуге болмайды, өйткені бұзылған өкпе тіні қалпымайды. Бірақ бұл үкім емес. Заманауи ем белгілерді бақылап, ентігуді азайтып, асқыну мен госпитализацияны азайтады және белсенділікті жылдар бойы сақтайды. Негізгісі — дәрігердің тағайындауын орындау, жеңілдегенде де емді тастамау."},
{h:"Ауруды не баяулатады",t:"Бастысы — темекіні тастау. Бұл кез келген дәріден күштірек ауруды баяулатады. Одан кейін — тұрақты негізгі ингаляциялық ем, тұмау мен пневмококкқа қарсы егілу, тыныс алу гимнастикасы және дене белсенділігі, дұрыс тамақтану. Түтінді бөлмелерден, суық ауадан және тыныс алу инфекцияларынан аулақ болыңыз. Бұлардың барлығы бірге нақты болжамды жақсартады."},
{h:"Сатылары қарапайым сөзбен",t:"ХОБЛ жеңілден өте ауырға дейін болады. Сатысын дәрігер спирометриямен анықтайды — онда аспапқа күшті демінесіз. Көрсеткіш қаншалықты төмен болса, соншалықты ауыр. Бірақ тек сан емес: сіздің белгілеріңіз, ентігуіңіз және асқыну жиілігі есептеледі. Одан қай дәрілер қажет және қаншалықты бақылау керектігі байқалады. Спирометриядан қорықпаңыз — бұл қарапайым әрі ауыртпайтын тест."},
{h:"SpO₂ өлшеу мен күнделік не үшін",t:"Пульсоксиметр — саусаққа киілетін шағын аспап — қандағы оттекті, SpO₂-ні көрсетеді. Қалыпты — тоқсан бес және одан жоғары. Төмен болса — дәрігерге хабарлаңыз. Науқас күнделігі сізге де, дәрігерге де көмектеседі: SpO₂, қысым, жүрек соғы, ентігу және дәрі қабылдауды жазасыз. Динамика мен нашарлаудың ерте белгілері көрінеді. Күніне екі-үш рет жүргізіңіз — екі минут алады, бірақ госпитализациядан сақтайды."},
{h:"Бақдаршам: жасыл, сары, қызыл аймақ",t:"Дабылдамау үшін бақдаршам ережесін қолданыңыз. Жасыл аймақ — SpO₂ тоқсан бес және одан жоғары, әдеттегі күй: емді жалғастырасыз. Сары — SpO₂ тоқсаннан тоқсан төртке дейін: құтқарушы ингалятор қолданып, медбикемен байланысыңыз. Қызыл — SpO₂ тоқсаннан төмен: оттекті схемамен көбейтіп, бронхолитик қабылдап, жедел жәрдем шақырыңыз. Бұл жоспарды дәрігермен келісіп, көрінетін жерге іліңіз."},
{h:"Дәрігерге қашан шұғыл",t:"Жедел жәрдемді шақырыңыз, егер: сатурация тоқсан сегізден төмен бес минуттан артық ұсталса, тыныштықта ентігу ингалятрдан кейін он бес-жиырма минутта басылмаса, ерін көгеруі, сананың шатасуы немесе кеуде ауырсынуы пайда болса, сондай-ақ температура отыз сегіз жарымнан жоғары ентігудің үдеуімен болса. Нашарлауды шыдамаңыз — ерте әрекет өмірді сақтап, госпитализация қаупін азайтады."},
{h:"Қорытынды сабақ",t:"Қорытындылайық. ХОБЛ — негізінен темекі шегуден болатын созылмалы ауру. Толық емделмейді, бірақ бақыланады. Негізгі қадамдар: темекіні тастау, негізгі емді күн сайын қабылдау, күнделік жүргізу, бақдаршам бойынша әрекет ету және дәрігерге қабылдауды өткізіп алмау. Сіз — өз ем командасыңыздың басты қатысушысысыз. Назарларыңызға рахмет, өкпеңізді сақтаңыз!"}
]},
card:{ic:"🫁",aud:"p"}
},
"p-meds":{
ru:{title:"Препараты при ХОБЛ: понятным языком",dur:"≈12 мин",slides:[
{h:"Здравствуйте!",t:"С вами доктор Айбөпе. Сегодня мы разберём лекарства, которые применяют при ХОБЛ. Лекарства пугают, когда их не понимаешь. Но на самом деле всё просто: есть препараты, которые вы принимаете каждый день, и есть те, что нужны только при одышке. За лекцию вы научитесь их различать, поймёте, как правильно пользоваться ингалятором и почему нельзя бросать лечение."},
{h:"Какие бывают лекарства",t:"Все препараты при ХОБЛ делятся на две группы. Первая — базисные, их принимают регулярно, каждый день, чтобы держать бронхи раскрытыми и не давать болезни прогрессировать. Вторая — спасательные, их используют только по потребности, когда одышка усилилась. Главное правило: базисные — каждый день, спасательные — при приступе одышки."},
{h:"Базисные препараты",t:"Базисные препараты расширяют бронхи и действуют долго — двенадцать-двадцать четыре часа. Поэтому их достаточно применять один-два раза в день. Это ингаляторы из групп длиннодействующих бронхолитиков: ЛАМА и ЛАБА, а при тяжёлом течении — комбинации с гормонами-кортикостероидами. Конкретный препарат подбирает врач. Важно: базис работает только при регулярном приёме."},
{h:"Спасательные препараты",t:"Спасательный ингалятор действует быстро — за несколько минут. Это короткодействующие бронхолитики, например сальбутамол. Его применяют, когда появилась одышка, например при ходьбе или нагрузке. Он должен быть всегда под рукой — дома, в сумке, в кармане. Но если вы стали использовать его чаще двух-трёх раз в день — сообщите врачу: возможно, нужно усилить базисную терапию."},
{h:"Виды ингаляторов",t:"Лекарство попадает в лёгкие через ингалятор. Бывают дозированные аэрозольные — нужно нажать и вдохнуть одновременно; порошковые — нужно сильно вдохнуть; и небулайзеры — прибор, превращающий лекарство в туман. У каждого типа своя техника. Если вам тяжело координировать нажатие и вдох, врач порекомендует спейсер — специальную камеру, которая сильно облегчает использование."},
{h:"Как пользоваться аэрозольным ингалятором",t:"Снимите колпачок и встряхните баллончик. Спокойно выдохните мимо ингалятора. Обхватите мундштук губами. Начните медленный глубокий вдох и одновременно нажмите на баллончик. Продолжайте вдох ещё три-пять секунд. Задержите дыхание на десять секунд, чтобы лекарство осело в лёгких. Спокойно выдохните. Если в препарате есть гормон — прополощите рот водой."},
{h:"Частые ошибки",t:"Самые частые ошибки: не встряхнули перед использованием; вдохнули слишком резко, рывком; не задержали дыхание; перепутали базисный и спасательный ингалятор; забыли прополоскать рот после гормонального препарата. Из-за этих ошибок лекарство просто не попадает в лёгкие. Поэтому раз в три месяца показывайте свою технику медсестре — это бесплатно и занимает минуту."},
{h:"Зачем нужен спейсер",t:"Спейсер — это насадка-камера для аэрозольного ингалятора. Лекарство сначала попадает в камеру, а потом вы его спокойно вдыхаете. Это снимает необходимость чётко координировать нажатие и вдох, что особенно сложно для пожилых людей и детей. Кроме того, спейсер уменьшает оседание лекарства во рту, снижая побочные эффекты вроде осиплости и молочницы. Если вам трудно пользоваться ингалятором — попросите спейсер."},
{h:"Почему нельзя бросать базис",t:"Самая частая ошибка — перестать принимать базисный ингалятор, когда стало легче. Кажется: я хорошо себя чувствую, зачем лекарства? Но именно базис держит болезнь под контролем. Прекращение терапии ведёт к возврату одышки и обострению, которое может закончиться госпитализацией. Лекарства при ХОБЛ принимают не для лечения приступа, а для его предотвращения — каждый день, как чистите зубы."},
{h:"Побочные эффекты и что делать",t:"Ингаляционные гормоны могут вызывать осиплость голоса и кандидоз — молочницу полости рта. Чтобы этого избежать, полощите рот водой после каждой ингаляции. Бронхолитики иногда вызывают дрожь рук и учащённое сердцебиение — обычно это проходит. Если побочные эффекты сильные или не проходят — не бросайте лечение сами, сообщите врачу: он подберёт другой препарат или дозу."},
{h:"Как не забывать о приёме",t:"Чтобы не пропускать лекарства, привяжите их к ежедневным ритуалам: утром после чистки зубов, вечером перед сном. Поставьте напоминания на телефон на точное время. Держите ингалятор на видном месте. Ведите дневник приёма — отметку делайте сразу после ингаляции. Если пропустили — примите, как вспомнили, но не удваивайте дозу. Частые пропуски ухудшают контроль болезни."},
{h:"Главное занятие",t:"Итак, запомните: базисные препараты — каждый день, даже когда хорошо; спасательные — только при одышке. Владейте техникой ингаляции и проверяйте её у медсестры. Используйте спейсер, если нужно. Не бросайте лечение и сообщайте врачу о побочных эффектах. Правильный приём лекарств — это ваша свобода дышать и жить активно. Спасибо за внимание!"}
]},
kz:{title:"ХОБЛ кезіндегі дәрілер: түсінікті тілде",dur:"≈12 мин",slides:[
{h:"Сәлеметсіз бе!",t:"Сізбен дәрігер Айбөпе. Бүгін ХОБЛ кезінде қолданылатын дәрілерді талқилаймыз. Дәрі түсінбегенде қорқытады. Бірақ шын мәнінде бәрі қарапайым: күн сайын қабылдайтын дәрілер бар, ал ентігу кезінде ғана қажет дәрілер бар. Дәрісте оларды ажырата білесіз, ингаляторды дұрыс қалай қолданатынын түсінесіз және емді неге тастауға болмайтынын білесіз."},
{h:"Дәрілер қандай болады",t:"ХОБЛ кезіндегі барлық дәрі екі топқа бөлінеді. Бірінші — негізгі, оларды бронхтарды ашық ұстап, ауруды үдетпес үшін тұрақты, күн сайын қабылдайды. Екінші — құтқарушы, олар тек ентігу күшейген кезде қажет. Негізгі ереже: негізгі — күн сайын, құтқарушы — ентігу ұстамасында."},
{h:"Негізгі дәрілер",t:"Негізгі дәрілер бронхтарды кеңейтеді және ұзақ — он екі-жиырма төрт сағат әсер етеді. Сондықтан оларды күніне бір-екі рет қолдану жеткілікті. Бұл ұзақ әсерлі бронхолитиктер тобынан: ЛАМА мен ЛАБА, ал ауыр ағымда — гормон-кортикостероидтармен қоспалар. Нақты дәріні дәрігер таңдайды. Маңыздысы: негізгі ем тек тұрақты қабылдауда жұмыс істейді."},
{h:"Құтқарушы дәрілер",t:"Құтқарушы ингалятор тез — бірнеше минутта әсер етеді. Бұл қысқа әсерлі бронхолитиктер, мысалы сальбутамол. Оны ентігу пайда болғанда, мысалы жүріп немесе жүктеме кезінде қолданады. Ол әрқашан қолда болуы тиіс — үйде, сөмкеде, қалтада. Бірақ оны күніне екі-үш реттен жиі қолдана бастасаңыз — дәрігерге хабарлаңыз: мүмкін негізгі емді күшейту қажет."},
{h:"Ингалятор түрлері",t:"Дәрі өкпеге ингалятор арқылы түседі. Дозалық аэрозольді — басу мен дем алуды үйлестіру керек; ұнтақты — күшті дем алу керек; және небулайзерлер — дәріні тұманға айналдыратын аспап. Әр түрдің өз техникасы бар. Егер басу мен дем алуды үйлестіру қиын болса, дәрігер спейсер — қолдануды анық жеңілдететін арнайы камера ұсынады."},
{h:"Аэрозольді ингаляторды қалай қолдану",t:"Қалпақшаны алып, баллонды шайқаңыз. Тыныш демді ингалятордан тыс шығарыңыз. Мундштукті ерніңізбен қамаңыз. Баяу терең дем алуды бастап, бір мезгілде баллонды басыңыз. Дем алуды тағы үш-бес секунд жалғастырыңыз. Дәрі өкпеге тұсу үшін тынысты он секунд ұстаңыз. Тыныш дем шығарыңыз. Егер препаратта гормон болса — ауызды сумен шайқаңыз."},
{h:"Жиі қателіктер",t:"Ең жиі қателіктер: қолданар алдында шайқамады; дем алуды күрт, тартылып алды; тынысты ұстамады; негізгі мен құтқарушы ингаляторды шатастырды; гормоналды препараттан кейін ауызды шайқамады. Осы қателіктерден дәрі өкпеге түспейді. Сондықтан үш айда бір рет техникамды медбикеге көрсетіңіз — бұл тегін әрі бір минут алады."},
{h:"Спейсер не үшін қажет",t:"Спейсер — аэрозольді ингаляторға арналған камера-насадка. Дәрі алдымен камераға түсіп, содан кейін сіз оны тыныш дем аласыз. Бұл басу мен дем алуды дәл үйлестіру қажеттілігін алып тастайды, әсіресе қарт адамдарға қиын. Сонымен қатар спейсер дәрінің ауызда тұсуін азайтып, дауыс қарлығу мен ауыздың іріңірауы сияқты жанама әсерлерін төмендетеді. Ингаляторды қолдану қиын болса — спейсер сұраңыз."},
{h:"Негізгі емді неге тастауға болмайды",t:"Ең жиі қателік — жеңілдегенде негізгі ингаляторды қабылдауды доғару. Ойланасыз: өзімді жақсы сезініп тұрмын, дәрі неге керек? Бірақ恰恰 негізгі ем ауруды бақылауда ұстайды. Емді тоқтату ентігудің қайтып келуіне және госпитализациямен аяқталуы мүмкін асқынуға әкеледі. ХОБЛ кезіндегі дәрілер ұстаманы емдеу үшін емес, оның алдын алу үшін қабылданады — күн сайын, тісті тазалағандай."},
{h:"Жанама әсерлер және не істеу",t:"Ингаляциялық гормондар дауыстың қарлығуы мен кандидоз — ауыздың іріңірауын туындатуы мүмкін. Одан сақтану үшін әр ингаляциядан кейін ауызды сумен шайқаңыз. Бронхолитиктер кейде қол дірілін және жүрек соғудың жиілеуін тудырады — әдетте өтеді. Егер жанама әсерлер күшті немесе өтпейтін болса — емді өзіңіз тастамаңыз, дәрігерге хабарлаңыз: ол басқа дәрі немесе дозаны таңдайды."},
{h:"Қабылдауды қалай ұмытпайтын",t:"Дәріні өткізіп алмау үшін оны күнделікті рәсімдерге байлаңыз: таңертең тіс тазалағаннан кейін, кешке ұйықтар алдында. Телефонға нақты уақытқа еске салғыш қойыңыз. Ингаляторды көрінетін жерге қойыңыз. Қабылдау күнделігін жүргізіңіз — белгіні ингаляциядан кейін бірден қойыңыз. Егер өткізіп алсаңыз — еске түскен бойда қабылдаңыз, бірақ дозаны еселемеңіз. Жиі өткізулер аурудың бақылаусыздығын нашарлатады."},
{h:"Қорытынды сабақ",t:"Ендеше, есте сақтаңыз: негізгі дәрілер — күн сайын, жақсы болғанда да; құтқарушы — тек ентігу кезінде. Ингаляция техникасын меңгеріп, медбикеден тексеріңіз. Қажет болса спейсер қолданыңыз. Емді тастамаңыз және жанама әсерлер туралы дәрігерге хабарлаңыз. Дәрілерді дұрыс қабылдау — бұл сіздің еркін дем алып, белсенді өмір сүруіңіз. Назарларыңызға рахмет!"}
]},
card:{ic:"💊",aud:"p"}
}
},
interns:{
"i-path":{
ru:{title:"ХОБЛ: патогенез и диагностика",dur:"≈14 мин",slides:[
{h:"Введение",t:"Тема лекции — хроническая обструктивная болезнь лёгких: патогенез и диагностика. Материал основан на отчёте GOLD две тысячи двадцать четвёртого года и клиническом протоколе МЗ РК. ХОБЛ — третья по смертности болезнь в мире и частая причина обращения в ПМСП. Цель — чтобы вы могли поставить диагноз, определить степень тяжести и группу пациента по GOLD."},
{h:"Определение",t:"GOLD определяет ХОБЛ как распространённое предотвратимое и поддающееся лечению заболевание, характеризующееся персистирующим ограничением воздушного потока, которое обычно прогрессирует и связано с усиленным хроническим воспалительным ответом в дыхательных путях и лёгких на раздражающие частицы или газы. Обструкция не полностью обратима. Протокол МЗ РК даёт аналогичное определение и выделяет болезнь как нозологию для диспансерного наблюдения."},
{h:"Эпидемиология и бремя",t:"ХОБЛ занимает третье место среди причин смертности в мире. Распространённость растёт из-за старения населения и курения. В Казахстане ХОБЛ — одна из ведущих причин госпитализаций по пульмонологии. Большинство пациентов диагностируются поздно, на стадии выраженной обструкции. Ранняя диагностика в ПМСП, особенно у курильщиков старше сорока, критически важна."},
{h:"Факторы риска",t:"Главный фактор — табакокурение, активное и пассивное. Профессиональные: пыль, химикаты, аэрозоли. Загрязнение воздуха внутри помещений — биотопливо при готовке и отоплении. Наружное загрязнение. Генетика — дефицит альфа-один-антитрипсина, особенно у молодых пациентов с эмфиземой нижних долей. Содействующие факторы: астма, тяжёлые детские респираторные инфекции, низкий вес при рождении."},
{h:"Патогенез",t:"Основа — хроническое воспаление в ответ на раздражители. Преобладают нейтрофилы, макрофаги, цитотоксические Т-лимфоциты; активны медиаторы — лейкотриены, интерлейкин-восемь, фактор некроза опухоли. Результат: гиперсекреция слизи, дисфункция ресничек, ремоделирование и фиброз мелких бронхов, потеря эластичности и деструкция альвеолярных перегородок — эмфизема. Окислительный стресс и дисбаланс протеаз усугубляют повреждение. Возрастает роль эозинофильного воспаления у части пациентов."},
{h:"Патоморфология",t:"Различают два типа изменений. Хронический бронхит — гипертрофия слизистых желёз, гиперсекреция, воспаление бронхов. Эмфизема — центриацинарная при курении, панацинарная при дефиците альфа-один-антитрипсина. Поражение мелких бронхов определяет обструкцию. Сосудистые изменения ведут к лёгочной гипертензии и кор-пульмонале на поздних стадиях."},
{h:"Клиническая картина",t:"Типичные симптомы: хронический кашель, продукция мокроты, одышка, усиливающаяся при нагрузке, свистящее дыхание, стеснение в груди. Поздние признаки: похудание, мышечная кахексия, цианоз, набухание шейных вен, отёки. Вне обострения аускультативно — удлинённый выдох, сухие свистящие хрипы. Важно собрать стаж курения в пачко-годах: двадцать пачко-лет и более — показание к спирометрии."},
{h:"Диагностика: спирометрия",t:"Золотой стандарт — спирометрия с бронходилатационным тестом. Диагноз ХОБЛ ставится при постбронходилатационном отношении ОФВ-один к ФЖЕЛ менее ноль целых семидесяти. ОФВ-один измеряют через пятнадцать минут после ингаляции четырёхсот микрограмм сальбутамола. Спирометрия обязательна всем с симптомами и факторами риска. Без неё диагноз предположительный."},
{h:"Стадии тяжести",t:"Степень тяжести обструкции по ОФВ-один от должного: первая — лёгкая, восемьдесят и выше; вторая — средняя, от пятидесяти до семидесяти девяти; третья — тяжёлая, от тридцати до сорока девяти; четвёртая — крайне тяжёлая, менее тридцати. Но тяжесть определяется не только ОФВ-один, а совокупно с симптомами и риском обострений — по системе ABE."},
{h:"Оценка симптомов и риска",t:"Симптомы оценивают по шкале CAT — восемь вопросов, ноль-сорок; mMRC — одышка ноль-четыре. Порог: CAT десять или mMRC два — выраженные симптомы. Риск обострений определяют по анамнезу за последний год: ноль-одна — низкий, два и более или одна госпитализация — высокий. Также учитывают ОФВ-один менее пятидесяти как дополнительный фактор риска."},
{h:"Группы ABE по GOLD",t:"Начиная с две тысячи двадцать первого года GOLD упростил классификацию до трёх групп. Группа A — мало симптомов, низкий риск. Группа B — много симптомов, низкий риск. Группа E — высокий риск обострений, независимо от выраженности симптомов. Группы C и D объединены в E, так как терапевтический подход к ним одинаков. Определение группы определяет стартовую фармакотерапию."},
{h:"Дифференциальная диагностика",t:"Главный дифференциальный диагноз — бронхиальная астма. Астма: дебют в молодости, вариабельные симптомы, обратимость обструкции (прирост ОФВ-один более двенадцати процентов и двухсот миллилитров), эозинофилия крови и мокроты, атопия. ХОБЛ: дебют после сорока, курение, медленное прогрессирование, неполная обратимость. Бывает перекрёстный синдром астма-ХОБЛ. Также исключают бронхоэктазы, туберкулёз, интерстициальные болезни, сердечную недостаточность."},
{h:"Диспансерное наблюдение по МЗ РК",t:"Согласно протоколу МЗ РК, пациенты с ХОБЛ подлежат диспансерному наблюдению в ПМСП. Кратность осмотров зависит от тяжести: при лёгкой — раз в год, при среднетяжелой — два раза, при тяжёлой — quarterly и чаще. Включают спирометрию, оценку CAT, контроль прививок, проверку техники ингаляции и adherence, коррекцию терапии. Обострения лечат по протоколу, при тяжёлых — направление в стационар."},
{h:"Итоги",t:"Подведём итоги. Диагноз ХОБЛ ставится по постбронходилатационной спирометрии — ОФВ-один/ФЖЕЛ менее ноль целых семидесяти. Тяжесть — по ОФВ-один (стадии один-четыре), симптомам (CAT, mMRC) и риску обострений. Группа ABE определяет лечение. Ключ к ранней диагностике — спирометрия у курильщиков старше сорока с симптомами. Все пациенты подлежат диспансерному наблюдению в ПМСП по протоколу МЗ РК."}
]},
kz:{title:"ХОБЛ: патогенез және диагностика",dur:"≈14 мин",slides:[
{h:"Кіріспе",t:"Дәрістің тақырыбы — сырқаттық обструктивті өкпе ауруы: патогенез және диагностика. Материал GOLD есебіне және ҚР ДДМ клиникалық хаттамасына негізделген. ХОБЛ — әлемде өлім-жітім бойынша үшінші ауру және ПМСП-ге жүгінудің жиі себебі. Мақсат — сіз диагноз қоя алып, ауырлық дәрежесін және GOLD бойынша науқас тобын анықтай алатын болуыңыз."},
{h:"Анықтама",t:"GOLD ХОБЛ-ді кең таралған, алдын алатын және емделетін ауру ретінде анықтайды, ол тыныс жолдары мен өкпеде тітіркендіргіш бөлшектер немесе газдарға күшейтілген созылмалы қабыну жауабымен байланысты, әдетте үдейтын тұрақты ауа ағысының шектелуімен сипатталады. Обструкция толық қайтымды емес. ҚР ДДМ хаттамасы да ұқсас анықтама береді және ауруды диспансерлік бақылау үшін нозология ретінде бөледі."},
{h:"Эпидемиология және жүктеме",t:"ХОБЛ әлемде өлім-жітім себептері бойынша үшінші орында. Таралуы халықтың қартаюы мен темекі шегуден өсуде. Қазақстанда ХОБЛ — пульмонология бойынша госпитализацияның жетекші себептерінің бірі. Науқастардың көбі кеш, айқын обструкция сатысында диагностикаланады. ПМСП-де, әсіресеқырық жастан асқан темекі шегушілерде ерте диагностика маңызды."},
{h:"Қауіп факторлары",t:"Бас фактор — темекі шегу, активті де пассивті. Кәсіби: шаң, химикаттар, аэрозольдар. Бөлме ішіндегі ауаның ластануы — пісіру мен жылытуда биоотын. Сыртқы ластану. Генетика — альфа-бір-антитрипсин тапшылығы, әсіресе төменгі бөлік эмфиземасы бар жас науқастарда. Көмектесетін факторлар: астау, ауыр балалық шақтағы тыныс алу инфекциялары, туғандағы төмен салмақ."},
{h:"Патогенез",t:"Негізі — тітіркендіргіштерге жауап ретіндегі созылмалы қабыну. Нейтрофилдер, макрофагтар, цитотоксикалық Т-лимфоциттер басым; медиаторлар — лейкотриендер, интерлейкин-сегіз, ісік некрозы факторы белсенді. Нәтиже: шырыш гиперсекрециясы, кірпікшелер дисфункциясы, ұсақ бронхтардың ремоделденуі мен фиброзы, икемділіктің жоғалуы және альвеола перделерінің бұзылуы — эмфизема. Тотығу стрессі мен протеаза теңгерімінің бұзылуы зақымды ушықтырады. Бір бөлік науқастарда эозинофильді қабынудың рөлі өседі."},
{h:"Патоморфология",t:"Екі түрлі өзгеріс бөледі. Созылмалы бронхит — шырышты бездердің гипертрофиясы, гиперсекреция, бронхтардың қабынуы. Эмфизема — темекі шегуде центриацинарлы, альфа-бір-антитрипсин тапшылығында панацинарлы. Ұсақ бронхтардың зақымдануы обструкцияны анықтайды. Тамырлық өзгерістер кеш сатыларда өкпе гипертензиясы мен кор-пульмоналеге әкеледі."},
{h:"Клиникалық көрініс",t:"Типтік белгілер: созылмалы жөтел, қақырық, жүктемеде күшейетін ентігу, ысқырықты тыныс, кеуде тұсының тарылуы. Кеш белгілер: салмақ жоғалту, бұлшықет кахексиясы, цианоз, мойын көктамырларының ісуі, ісіктер. Асқынудан тыс аускультацияда — ұзарған дем шығару, құрғақ ысқырықты хриптер. Маңызды: қорап-жылдармен темекі стажын жинаңыз: жиырма қорап-жыл және одан көп — спирометрияға көрсеткіш."},
{h:"Диагностика: спирометрия",t:"Алтын стандарт — бронходилатациялық тестімен спирометрия. ХОБЛ диагнозы постбронходилатациялық ОФВ-бір/ФЖЕЛ қатынасы ноль бүтін жетпіс кем болғанда қойылады. ОФВ-бірді сальбутамолдің төрт жүз микрограммасын ингаляциялағаннан кейін он бес минут өткен соң өлшейді. Спирометрия белгілері мен қауіп факторлары бар барлығына міндетті. Олсыз диагноз болжамды."},
{h:"Ауырлық сатылары",t:"Обструкция ауырлығы лайықтыдан ОФВ-бір бойынша: бірінші — жеңіл, сексен және одан жоғары; екінші — орташа, елу-жетпіс тоғыз; үшінші — ауыр, отыз-қырық тоғыз; төртінші — өте ауыр, отыздан төмен. Бірақ ауырлық тек ОФВ-бірмен емес, белгілер мен асқыну қаупімен бірге — ABE жүйесімен анықталады."},
{h:"Белгілер мен қаупін бағалау",t:"Белгілер CAT шкаласымен — сегіз сұрақ, ноль-қырық; mMRC — ентігу ноль-төрт бағаланады. Шегі: CAT он немесе mMRC екі — айқын белгілер. Асқыну қаупін соңғы жылдағы анамнез бойынша анықтайды: ноль-бір — төмен, екі және одан көп немесе бір госпитализация — жоғары. Сондай-ақ ОФВ-бір еліден төмен қосымша қауіп факторы ретінде есептеледі."},
{h:"GOLD бойынша ABE топтары",t:"Екі мың жиырма бірінші жылдан бастап GOLD жіктеуді үш топқа дейін оңайлатты. A тобы — аз белгілер, төмен қауіп. B тобы — көп белгілер, төмен қауіп. E тобы — асқыну қаупі жоғары, белгілеріне қарамастан. C және D топтары Е-ге біріктірілді, өйткені терапевтік тәсіл бірдей. Топты анықтау бастапқы фармакотерапияны анықтайды."},
{h:"Дифференциалды диагностика",t:"Бас дифференциалды диагноз — бронх демікпесі. Астау: жас кезде басталуы, айнымалы белгілер, обструкция қайтымдылығы (ОФВ-бір өсімі он екі пайыздан және екі жүз миллилитрден көп), қан мен қақырық эозинофилиясы, атопия. ХОБЛ: қырықтан кейін басталу, темекі шегу, баяу үдеу, толық қайтымсыздық. Астау-ХОБЛ қиылысу синдромы болады. Сондай-ақ бронхоэктаздар, туберкулез, интерстициалды аурулар, жүрек жеткіліксіздігін жоққа шығарады."},
{h:"ҚР ДДМ бойынша диспансерлік бақылау",t:"ҚР ДДМ хаттамасына сәйкес ХОБЛ-мен науқастар ПМСП-де диспансерлік бақылауға жатады. Қабылдау жиілігі ауырлыққа байланысты: жеңілде — жылына бір рет, орташа ауырлықта — екі рет, ауырда — тоқсан сайын және жиірек. Спирометрия, CAT бағалау, егілікті бақылау, ингаляция техникасы мен адгеренттілікті тексеру, емді түзету кіреді. Асқынуларды хаттама бойынша емдейді, ауырларында — стационарға бағыттайды."},
{h:"Қорытынды",t:"Қорытындылайық. ХОБЛ диагнозы постбронходилатациялық спирометриямен — ОФВ-бір/ФЖЕЛ ноль бүтін жетпістен төмен қойылады. Ауырлық — ОФВ-бір (бір-төрт саты), белгілер (CAT, mMRC) және асқыну қаупі бойынша. ABE тобы емді анықтайды. Ерте диагностика кілті — белгілері барқырық жастан асқан темекі шегушілерде спирометрия. Барлық науқастар ҚР ДДМ хаттамасы бойынша ПМСП-де диспансерлік бақылауға жатады."}
]},
card:{ic:"🔬",aud:"i"}
},
"i-pharm":{
ru:{title:"Фармакотерапия ХОБЛ по GOLD 2024",dur:"≈12 мин",slides:[
{h:"Введение",t:"Лекция посвящена фармакотерапии ХОБЛ по рекомендациям GOLD две тысячи двадцать четвёртого года и протоколу МЗ РК. Цель — разобраться в классах препаратов, понять, кому и когда назначать двойную и тройную терапию, как работать с эозинофилами крови и проводить деэскалацию. Основа любого лечения ХОБЛ — бронхолитики; ингаляционные гормоны добавляются по показаниям."},
{h:"Принципы терапии",t:"Фармакотерапия ХОБл направлена на уменьшение симптомов и снижение риска обострений. Она не замедляет прогрессирование болезни у большинства пациентов — это делает отказ от курения. Лечение ступенчатое, по группе ABE. Все препараты преимущественно ингаляционные. Важна приверженность и техника ингаляции. Неингиляционные методы: оксигенотерапия, вакцинация, реабилитация, отказ от курения."},
{h:"Бронхолитики: LABA и LAMA",t:"Основа — длительнодействующие бронхолитики. ЛАБА — длительнодействующие бета-два-агонисты: индакатерол, олодатерол, формотерол, сальметерол. ЛАМА — длительнодействующие антихолинергические: тиотропий, гликопирроний, аклидиний, умеклидиний. Они расширяют бронхи на двенадцать-двадцать четыре часа, уменьшают одышку и улучшают функцию. Монотерапия ЛАМА или ЛАБА — старт для группы B."},
{h:"Двойная бронхолитическая терапия",t:"Комбинация ЛАМА плюс ЛАБА эффективнее монотерапии по ОФВ-один и симптомам. Это стартовая терапия для группы E. Примеры: гликопирроний-индакатерол, тиотропий-олодатерол, умеклидиний-вилинтерол. Двойная терапия показана также группе B с выраженной одышкой. Удобны фиксированные комбинации в одном ингаляторе — повышают приверженность."},
{h:"ИГКС: кому и когда",t:"Ингаляционные глюкокортикостероиды добавляют к бронхолитикам при эозинофильном фенотипе. Показания по эозинофилам крови: триста и выше — высокий ответ; сто-триста — умеренный, учитывать обострения. ИГКС снижают риск обострений у эозинофильных пациентов, но повышают риск пневмонии, особенно у курильщиков и при низких эозинофилах. Не назначать ИГКС как монотерапию при ХОБЛ."},
{h:"Тройная терапия",t:"Тройная терапия — ИГКС плюс ЛАБА плюс ЛАМА в одном ингаляторе. Показана группе E с эозинофилами триста и выше, либо при обострениях на двойной бронхолитической терапии. Примеры: флутиказон-умеклидиний-вилинтерол, беклометазон-формотерол-гликопирроний. Эффективнее двойной по снижению обострений. После стабилизации рассматривают деэскалацию ИГКС."},
{h:"Деэскалация ИГКС",t:"У части пациентов на тройной терапии ИГКС можно отменить, особенно при эозинофилах менее трёхсот или пневмониях в анамнезе. Отмена снижает риск пневмонии. Решение принимают индивидуально после стабилизации не менее года. При отмене оставляют двойную бронхолитическую терапию. Резко не прекращать — учитывать риск обострения, контролировать пациента."},
{h:"Рофлумиласт и другие",t:"Рофлумиласт — ингибитор фосфодиэстеразы-четыре, показан при тяжёлой ХОБЛ с хроническим бронхитом и частыми обострениями, особенно при эозинофилах менее двухсот. Добавляется к базису. Побочные — тошнота, диарея, снижение веса. Муколитики N-ацетилцистеин, эрдостеин показаны при вязкой мокроте и могут снижать частоту обострений. Антибиотики длительно — азитромицин — рассматривают у отдельных пациентов с частыми обострениями."},
{h:"Кислородотерапия",t:"Длительная оксигенотерапия показана при тяжёлой хронической гипоксемии: PaO2 менее пятидесяти пяти миллиметров ртутного столба или сатурация менее восьмидесяти восьми процентов в стабильном состоянии. Назначается не менее пятнадцати часов в сутки. Улучшает выживаемость, снижает лёгочную гипертензию. Титруют целевую сатурацию восемьдесят восемь-девяносто два. Не превышать поток — риск гиперкапнии."},
{h:"Неинвазивная вентиляция",t:"Неинвазивная вентиляция лёгких показана отдельным пациентам с тяжёлой ХОБЛ, хронической гиперкапнией PaCO2 более пятидесяти двух и недавней госпитализацией из-за обострения. Улучшает выживаемость, снижает PaCO2 и одышку. В остром обострении — первая линия при дыхательном ацидозе. Решение принимают в специализированном центре."},
{h:"Профилактика и отказ от курения",t:"Немедикаментозная профилактика обязательна: ежегодная вакцинация против гриппа, пневмококковая и COVID-19. Отказ от курения — самое эффективное вмешательство; используют никотинзаместительную терапию, варениклин, бупропион. Лёгочная реабилитация снижает одышку и госпитализации. Эти меры применяют на любой стадии и сочетают с фармакотерапией."},
{h:"Итоги",t:"Итак: основа лечения ХОБЛ — длительнодействующие бронхолитики ЛАБА и ЛАМА. Группе B стартуют с монотерапии или двойной бронхолитической, группе E — с двойной, при эозинофилах триста и выше или обострениях — тройная терапия. ИГКС добавляют по эозинофилам, при необходимости деэскалируют. Не забывайте оксигенотерапию, вакцинацию и отказ от курения. Лечение ступенчатое, по группе ABE."}
]},
kz:{title:"GOLD 2024 бойынша ХОБЛ фармакотерапиясы",dur:"≈12 мин",slides:[
{h:"Кіріспе",t:"Дәріс GOLD екі мың жиырма төртінші жылғы ұсыныстары мен ҚР ДДМ хаттамасы бойынша ХОБЛ фармакотерапиясына арналған. Мақсаты — дәрі топтарын түсініп, кімге және қашан қосарлы және үштік терапияны тағайындайтынын, қандағы эозинофилдермен жұмыс істеуді және деэскалацияны түсіну. ХОБЛ емнің негізі — бронхолитиктер; ингаляциялық гормондар көрсеткіштер бойынша қосылады."},
{h:"Ем принциптері",t:"ХОБЛ фармакотерапиясы белгілерді азайтуға және асқыну қаупін төмендетуге бағытталған. Ол науқастардың көбінде аурудың үдеуін баяулатпайды — мұны темекіні тастау істейді. Ем сатылы, ABE тобы бойынша. Барлық дәрілер негізінен ингаляциялық. Адгеренттік пен ингаляция техникасы маңызды. Ингаляциялық емес әдістер: оттектік терапия, егілу, реабилитация, темекіні тастау."},
{h:"Бронхолитиктер: LABA және LAMA",t:"Негізі — ұзақ әсерлі бронхолитиктер. ЛАБА — ұзақ әсерлі бета-екі-агонистер: индакатерол, олодатерол, формотерол, сальметерол. ЛАМА — ұзақ әсерлі антихолинергиялық: тиотропий, гликопирроний, аклидиний, умеклидиний. Олар бронхтарды он екі-жиырма төрт сағатқа кеңейтеді, ентігуді азайтады, функцияны жақсартады. ЛАМА немесе ЛАБА монотерапиясы — B тобы үшін бастама."},
{h:"Қосарлы бронхолитикалық терапия",t:"ЛАМА плюс ЛАБА қоспасы монотерапиядан ОФВ-бір мен белгілер бойынша тиімдірек. Бұл E тобы үшін бастапқы терапия. Мысалдар: гликопирроний-индакатерол, тиотропий-олодатерол, умеклидиний-вилинтерол. Қосарлы терапия B тобында айқын ентігуде де көрсетілген. Бір ингалятордағы тұрақты қоспалар ыңғайлы — адгеренттілікті арттырады."},
{h:"ИГКС: кімге және қашан",t:"Ингаляциялық глюкокортикостероидтар бронхолитиктерге эозинофильді фенотипте қосылады. Қандағы эозинофилдер бойынша көрсеткіштер: үш жүз және одан жоғары — жоғары жауап; жүз-үш жүз — орташа, асқынуларды ескеру. ИГКС эозинофильді науқастарда асқыну қаупін азайтады, бірақ пневмония қаупін арттырады, әсіресе темекі шегушілерде және төмен эозинофилдерде. ХОБЛ-де ИГКС монотерапиясын тағайындамау."},
{h:"Үштік терапия",t:"Үштік терапия — бір ингаляторда ИГКС плюс ЛАБА плюс ЛАМА. Эозинофилдері үш жүз және одан жоғары E тобына немесе қосарлы бронхолитикалық терапияда асқыну болғанда көрсетілген. Мысалдар: флутиказон-умеклидиний-вилинтерол, беклометазон-формотерол-гликопирроний. Қосарлыдан асқынуды азайту бойынша тиімдірек. Тұрақтанған соң ИГКС деэскалациясы қаралады."},
{h:"ИГКС деэскалациясы",t:"Үштік терапиядағы науқастардың бір бөлігінде ИГКС-ті алуға болады, әсіресе эозинофилдер үш жүзден төмен немесе анамнезде пневмония болса. Алу пневмония қаупін азайтады. Шешім кем дегенде бір жыл тұрақтанған соң жеке қабылданады. Алғанда қосарлы бронхолитикалық терапия қалдырылады. Кездейсоқ тоқтатпау — асқыну қаупін ескеру, науқасты бақылау."},
{h:"Рофлумиласт және басқалар",t:"Рофлумиласт — фосфодиэстераза-төрт ингибиторы, созылмалы бронхит және жиі асқынуы бар ауыр ХОБЛ-де көрсетілген, әсіресе эозинофилдер екі жүзден төмен. Негізгі емге қосылады. Жанама — жүрек айну, диарея, салмақ жоғалту. Муколитиктер N-ацетилцистеин, эрдостеин тұтқыр қақырықта көрсетілген және асқыну жиілігін азайтуы мүмкін. Антибиотиктер ұзақ — азитромицин — жиі асқынуы бар жеке науқастарда қаралады."},
{h:"Оттектік терапия",t:"Ұзақ оттектік терапия ауыр созылмалы гипоксемияда көрсетілген: PaO2 елу бес миллиметр сынап бағаннан төмен немесе тұрақты күйде сатурация сексен сегіз пайыздан төмен. Тәулігіне кемінде он бес сағат тағайындалады. Тірі қалуды жақсартады, өкпе гипертензиясын азайтады. Мақсатты сатурация сексен сегіз-тоқсан екінші титрлейді. Ағынды асырмау — гиперкапния қаупі."},
{h:"Инвазиялық емес желдету",t:"Өкпенің инвазиялық емес желдетуі ауыр ХОБЛ, созылмалы гиперкапния PaCO2 елу екіден жоғары және асқынудан жақында госпитализация болған жеке науқастарға көрсетілген. Тірі қалуды жақсартады, PaCO2 мен ентігуді азайтады. Жедел асқынуда — тыныс ацидозында бірінші желі. Шешім мамандандырылған орталықта қабылданады."},
{h:"Алдын алу және темекіні тастау",t:"Дәрілік емес алдын алу міндетті: жыл сайын тұмауға қарсы, пневмококк және COVID-19 егілуі. Темекіні тастау — ең тиімді шаралардың бірі; никотинді алмастыру терапиясы, варениклин, бупропион қолданады. Өкпе реабилитациясы ентігу мен госпитализацияны азайтады. Бұл шаралар кез келген сатыда қолданылады және фармакотерапиямен үйлеседі."},
{h:"Қорытынды",t:"Ендеше: ХОБЛ емнің негізі — ұзақ әсерлі бронхолитиктер ЛАБА мен ЛАМА. B тобына монотерапия немесе қосарлы бронхолитикалық, E тобына — қосарлы, эозинофилдері үш жүз және одан жоғары немесе асқыну болса — үштік терапия бастама. ИГКС эозинофилдер бойынша қосылады, қажет болса деэскалация жасалады. Оттектік терапия, егілу және темекіні тастауды ұмытпаңыз. Ем сатылы, ABE тобы бойынша."}
]},
card:{ic:"💉",aud:"i"}
}
}
};
/* =================== СОСТОЯНИЕ =================== */
var KEY="copd_lectures_interns_v1";
var state={lang:"ru",aud:"interns",lectId:"i-path",slide:0,playing:false,rate:1};
try{ var s=JSON.parse(localStorage.getItem(KEY)); if(s){ state.lang=s.lang||"ru"; state.rate=s.rate||1; } }catch(e){}
state.aud="interns"; if(!LECTURES[state.aud][state.lectId]) state.lectId=Object.keys(LECTURES[state.aud])[0];
function save(){ localStorage.setItem(KEY,JSON.stringify({lang:state.lang,aud:state.aud,lectId:state.lectId,rate:state.rate})); }
/* =================== УТИЛИТЫ =================== */
function $(id){ return document.getElementById(id); }
function pack(){ return LECTURES[state.aud][state.lectId][state.lang]; }
function slides(){ return pack().slides; }
/* =================== АВАТАР (SVG) =================== */
var MOUTH_CLOSED="M82 128 Q100 138 118 128";
var MOUTH_OPEN="M82 128 Q100 150 118 128";
var mouthTimer=null, blinkTimer=null;
function setMouth(open){ $("mouth").setAttribute("d", open?MOUTH_OPEN:MOUTH_CLOSED); }
function startTalking(){ stopTalking(); var open=false; mouthTimer=setInterval(function(){ open=!open; setMouth(open); },120); }
function stopTalking(){ if(mouthTimer){ clearInterval(mouthTimer); mouthTimer=null; } setMouth(false); }
function blink(){ var l=$("eyeL"),r=$("eyeR"); l.style.transform=r.style.transform="scaleY(0.1)"; setTimeout(function(){ l.style.transform=r.style.transform="scaleY(1)"; },120); }
function initBlink(){ $("eyeL").style.transition="transform .08s"; $("eyeR").style.transition="transform .08s"; $("eyeL").style.transformOrigin="72px 86px"; $("eyeR").style.transformOrigin="128px 86px"; blinkTimer=setInterval(function(){ if(Math.random()<0.5) blink(); },3200); }
/* =================== TTS =================== */
var synth=window.speechSynthesis||null;
var voices=[];
function loadVoices(){ if(synth) voices=synth.getVoices()||[]; }
if(synth){ loadVoices(); synth.onvoiceschanged=loadVoices; }
function pickVoice(lang){
if(!voices.length) loadVoices();
var want = lang==="kz"?"kk":"ru";
var v=null;
for(var i=0;i<voices.length;i++){ if(voices[i].lang && voices[i].lang.toLowerCase().indexOf(want)===0){ v=voices[i]; break; } }
if(!v && lang==="kz"){ for(var j=0;j<voices.length;j++){ if(voices[j].lang && voices[j].lang.toLowerCase().indexOf("ru")===0){ v=voices[j]; break; } } }
return v;
}
function hasKzVoice(){ var v=pickVoice("kz"); return !!(v && v.lang.toLowerCase().indexOf("kk")===0); }
/* фонетическая адаптация казахских букв для русского голоса (когда kk-голоса нет) */
function kzPhonetic(text){
var map={ "ә":"э","ғ":"г","қ":"к","ң":"н","ө":"о","ұ":"у","ү":"у","һ":"х","і":"и",
"Ә":"Э","Ғ":"Г","Қ":"К","Ң":"Н","Ө":"О","Ұ":"У","Ү":"У","Һ":"Х","І":"И" };
return text.replace(/[әҒқңөұүһіӘҒҚҢӨҰҮҺІғ]/g, function(c){ return map[c]||c; });
}
var pendingEnd=null;
function speak(text,onend){
if(!synth){ if(onend) onend(); return; }
synth.cancel();
var speakText=text, langCode="ru-RU", useVoice=pickVoice(state.lang);
if(state.lang==="kz"){
if(useVoice && useVoice.lang.toLowerCase().indexOf("kk")===0){ langCode=useVoice.lang; }
else { langCode="ru-RU"; speakText=kzPhonetic(text); }
}
var u=new SpeechSynthesisUtterance(speakText);
u.lang=langCode; if(useVoice) u.voice=useVoice;
u.rate=state.rate;
u.onstart=function(){ startTalking(); $("liveDot").classList.add("on"); };
u.onend=function(){ stopTalking(); $("liveDot").classList.remove("on"); if(onend) onend(); };
u.onerror=function(){ stopTalking(); $("liveDot").classList.remove("on"); if(onend) onend(); };
pendingEnd=onend;
synth.speak(u);
}
function stopSpeak(){ if(synth) synth.cancel(); stopTalking(); $("liveDot").classList.remove("on"); }
/* =================== РЕНДЕР =================== */
function renderLectGrid(){
var g=$("lectGrid"); g.innerHTML="";
Object.keys(LECTURES[state.aud]).forEach(function(id){
var L=LECTURES[state.aud][id]; var info=L[state.lang]; var c=L.card;
var card=document.createElement("div"); card.className="lect-card"+(id===state.lectId?" active":"");
card.innerHTML='<div class="lic">'+c.ic+'</div><h3>'+info.title+'</h3><div class="meta">'+info.dur+' · '+info.slides.length+' слайдов</div>'+
'<span class="aud '+c.aud+'">'+(c.aud==="i"?"Для интернов":"Для пациентов")+'</span>';
card.onclick=function(){ chooseLect(id); };
g.appendChild(card);
});
}
function chooseLect(id){ stopSpeak(); state.playing=false; state.lectId=id; state.slide=0; save(); renderLectGrid(); renderSlide(); renderScript(); setPlayBtn(); updateKzNote(); }
function renderSlide(){
var ss=slides(); var s=ss[state.slide];
$("slideBox").innerHTML='<div class="slide-tag">'+pack().title+' · '+(state.slide+1)+'/'+ss.length+'</div>'+
'<h2>'+s.h+'</h2><p>'+s.t+'</p>';
$("counter").textContent=(state.slide+1)+' / '+ss.length;
$("pfill").style.width=(Math.round((state.slide)/(ss.length-1)*100))+"%";
}
function setPlayBtn(){ $("playBtn").textContent=state.playing?"⏸":"▶"; }
function playFrom(idx){
state.slide=idx; renderSlide();
if(!state.playing) return;
var ss=slides();
speak(ss[idx].t, function(){
if(!state.playing) return;
if(state.slide < ss.length-1){ playFrom(state.slide+1); }
else { state.playing=false; setPlayBtn(); }
});
}
function togglePlay(){
if(state.playing){ state.playing=false; stopSpeak(); setPlayBtn(); }
else { state.playing=true; setPlayBtn(); playFrom(state.slide); }
}
function next(){ stopSpeak(); state.playing=false; setPlayBtn(); if(state.slide<slides().length-1){ state.slide++; renderSlide(); } }
function prev(){ stopSpeak(); state.playing=false; setPlayBtn(); if(state.slide>0){ state.slide--; renderSlide(); } }
function renderScript(){
var p=pack(); var ss=p.slides; var h="";
for(var i=0;i<ss.length;i++){ h+='<div class="sslide"><h4><span class="sn">'+(i+1)+'</span>'+ss[i].h+'</h4><p>'+ss[i].t+'</p></div>'; }
$("scriptPanel").innerHTML='<h3>'+p.title+'</h3><div class="slen">'+p.dur+' · '+ss.length+' слайдов · '+(state.lang==="ru"?"Русский":"Қазақша")+'</div>'+
'<div class="script-actions"><button class="btn" onclick="window.print()">🖨 Печать / PDF</button></div>'+h;
}
function updateKzNote(){
var n=$("kzNote");
if(state.lang==="kz" && !hasKzVoice()){
n.classList.add("show");
n.textContent=" Қазақ дауысы браузеріңізде жоқ — мәтін орыс дауысымен қазақ фонетикасына бейімделіп оқиды (ә→э, қ→к, ө→о, ұ→у т.б.). Толық мәтін үшін «Сценарий» қойындысын ашыңыз.";
} else { n.classList.remove("show"); }
}
function updateBrands(){
document.documentElement.lang = state.lang==="ru"?"ru":"kk";
$("brandTxt").textContent = state.lang==="ru"?"ХОБЛ · интернге":"ХОБЛ · интерндерге";
$("avatarName").textContent = state.lang==="ru"?"Доктор Айбөпе":"Дәрігер Айбөпе";
$("langSeg").querySelectorAll("button").forEach(function(b){ b.classList.toggle("active", b.dataset.lang===state.lang); });
}
/* =================== СЛУШАТЕЛИ =================== */
$("langSeg").querySelectorAll("button").forEach(function(b){ b.onclick=function(){
state.lang=b.dataset.lang; save(); stopSpeak(); state.playing=false; updateBrands(); renderLectGrid(); renderSlide(); renderScript(); setPlayBtn(); updateKzNote();
}; });
$("playBtn").onclick=togglePlay;
$("prevBtn").onclick=prev;
$("nextBtn").onclick=next;
$("rateSel").onchange=function(ev){ state.rate=parseFloat(ev.target.value); save(); };
$("tabView").onclick=function(){ $("tabView").classList.add("active"); $("tabScript").classList.remove("active"); $("scriptPanel").classList.add("hidden"); };
$("tabScript").onclick=function(){ $("tabScript").classList.add("active"); $("tabView").classList.remove("active"); $("scriptPanel").classList.remove("hidden"); window.scrollTo({top:$("scriptPanel").offsetTop-70,behavior:"smooth"}); };
/* =================== СТАРТ =================== */
initBlink();
updateBrands();
renderLectGrid();
renderSlide();
renderScript();
updateKzNote();
setPlayBtn();
</script>
</body>
</html>