<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Вызов врача на дом</title>
	<atom:link href="https://vracha-na-dom.ru/feed/" rel="self" type="application/rss+xml" />
	<link>https://vracha-na-dom.ru/</link>
	<description></description>
	<lastBuildDate>Fri, 11 Sep 2026 15:09:13 +0000</lastBuildDate>
	<language>ru-RU</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=7.1</generator>

<image>
	<url>https://vracha-na-dom.ru/wp-content/uploads/2025/01/vracha-na-dom-logo.png</url>
	<title>Вызов врача на дом</title>
	<link>https://vracha-na-dom.ru/</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>Калькулятор sPESI (упрощённый PESI)</title>
		<link>https://vracha-na-dom.ru/kalkulyatory/kalkulyator-spesi-uproshhyonnyj-pesi/</link>
		
		<dc:creator><![CDATA[Волкова Елена Андреевна]]></dc:creator>
		<pubDate>Fri, 11 Sep 2026 15:08:37 +0000</pubDate>
				<category><![CDATA[Калькуляторы]]></category>
		<category><![CDATA[Калькуляторы шкал риска и тяжести заболеваний]]></category>
		<guid isPermaLink="false">https://vracha-na-dom.ru/?p=6419</guid>

					<description><![CDATA[<p>Рассчитать риск при ТЭЛА по шкале sPESI онлайн Возраст пациента (лет): Критерий sPESI: возраст старше 80 лет (+1 балл). Частота сердечных сокращений (уд/мин): Критерий sPESI: ЧСС 110 уд/мин и выше (+1 балл). Укажите значение на момент поступления. Систолическое артериальное давление (мм рт. ст.): Критерий sPESI: систолическое АД ниже 100 мм рт. ст. (+1 балл). Верхнее [&#8230;]</p>
<p>Сообщение <a href="https://vracha-na-dom.ru/kalkulyatory/kalkulyator-spesi-uproshhyonnyj-pesi/">Калькулятор sPESI (упрощённый PESI)</a> появились сначала на <a href="https://vracha-na-dom.ru">Вызов врача на дом</a>.</p>
]]></description>
										<content:encoded><![CDATA[		<div data-elementor-type="wp-post" data-elementor-id="6419" class="elementor elementor-6419" data-elementor-settings="{&quot;element_pack_global_tooltip_width&quot;:{&quot;unit&quot;:&quot;px&quot;,&quot;size&quot;:&quot;&quot;,&quot;sizes&quot;:[]},&quot;element_pack_global_tooltip_width_tablet&quot;:{&quot;unit&quot;:&quot;px&quot;,&quot;size&quot;:&quot;&quot;,&quot;sizes&quot;:[]},&quot;element_pack_global_tooltip_width_mobile&quot;:{&quot;unit&quot;:&quot;px&quot;,&quot;size&quot;:&quot;&quot;,&quot;sizes&quot;:[]},&quot;element_pack_global_tooltip_padding&quot;:{&quot;unit&quot;:&quot;px&quot;,&quot;top&quot;:&quot;&quot;,&quot;right&quot;:&quot;&quot;,&quot;bottom&quot;:&quot;&quot;,&quot;left&quot;:&quot;&quot;,&quot;isLinked&quot;:true},&quot;element_pack_global_tooltip_padding_tablet&quot;:{&quot;unit&quot;:&quot;px&quot;,&quot;top&quot;:&quot;&quot;,&quot;right&quot;:&quot;&quot;,&quot;bottom&quot;:&quot;&quot;,&quot;left&quot;:&quot;&quot;,&quot;isLinked&quot;:true},&quot;element_pack_global_tooltip_padding_mobile&quot;:{&quot;unit&quot;:&quot;px&quot;,&quot;top&quot;:&quot;&quot;,&quot;right&quot;:&quot;&quot;,&quot;bottom&quot;:&quot;&quot;,&quot;left&quot;:&quot;&quot;,&quot;isLinked&quot;:true},&quot;element_pack_global_tooltip_border_radius&quot;:{&quot;unit&quot;:&quot;px&quot;,&quot;top&quot;:&quot;&quot;,&quot;right&quot;:&quot;&quot;,&quot;bottom&quot;:&quot;&quot;,&quot;left&quot;:&quot;&quot;,&quot;isLinked&quot;:true},&quot;element_pack_global_tooltip_border_radius_tablet&quot;:{&quot;unit&quot;:&quot;px&quot;,&quot;top&quot;:&quot;&quot;,&quot;right&quot;:&quot;&quot;,&quot;bottom&quot;:&quot;&quot;,&quot;left&quot;:&quot;&quot;,&quot;isLinked&quot;:true},&quot;element_pack_global_tooltip_border_radius_mobile&quot;:{&quot;unit&quot;:&quot;px&quot;,&quot;top&quot;:&quot;&quot;,&quot;right&quot;:&quot;&quot;,&quot;bottom&quot;:&quot;&quot;,&quot;left&quot;:&quot;&quot;,&quot;isLinked&quot;:true}}" data-elementor-post-type="post">
				<div class="elementor-element elementor-element-f7c7514 e-flex e-con-boxed e-con e-parent" data-id="f7c7514" data-element_type="container" data-settings="{&quot;ekit_has_onepagescroll_dot&quot;:&quot;yes&quot;}">
					<div class="e-con-inner">
				<div class="elementor-element elementor-element-86156a1 elementor-widget elementor-widget-html" data-id="86156a1" data-element_type="widget" data-settings="{&quot;ekit_we_effect_on&quot;:&quot;none&quot;}" data-widget_type="html.default">
				<div class="elementor-widget-container">
					<style>
.calculator-container {
    max-width: 100%;
    margin: 10px auto;
    padding: 10px;
    border: 1px solid #ddd;
    border-radius: 8px;
    background-color: #f9f9f9;
}
.calculator-input {
    margin: 15px 0;
}
.calculator-input label {
    display: block;
    margin-bottom: 25px;
    font-weight: bold;
}
.calculator-input input,
.calculator-input select {
    width: 100%;
    padding: 10px 18px;
    border: 1px solid #ccc;
    border-radius: 50px;
    font-size: 16px;
    box-sizing: border-box;
}
.input-hint {
    font-size: 13px;
    color: #666;
    margin-top: 4px;
}
.carb-toggle {
    display: flex;
    gap: 8px;
    margin-bottom: 8px;
}
.carb-toggle button {
    flex: 1;
    padding: 9px 8px;
    border: 2px solid #0457B5;
    border-radius: 50px;
    background: white;
    color: #0457B5;
    cursor: pointer;
    font-size: 14px;
    font-weight: bold;
    transition: background 0.15s, color 0.15s;
}
.carb-toggle button.active {
    background: #0457B5;
    color: white;
}
.calculate-btn {
    background-color: #0457B5;
    color: white;
    padding: 12px 20px;
    border: none;
    border-radius: 50px;
    cursor: pointer;
    font-size: 16px;
    width: 100%;
    margin-top: 10px;
}
.calculate-btn:hover {
    background-color: #034499;
}
.result {
    margin-top: 20px;
    padding: 15px;
    background-color: #f0f7ff;
    border-left: 4px solid #0457B5;
    display: none;
}
.result.active {
    display: block;
}
.result h3 {
    margin-top: 0;
    color: #0457B5;
}
.dose-highlight {
    font-size: 1.45rem;
    font-weight: bold;
    color: #0457B5;
}
.dose-row {
    background-color: #f0fbea;
    border-left: 3px solid #7BC15B;
    padding: 8px 12px;
    margin: 8px 0;
    border-radius: 0 4px 4px 0;
}
.dose-row-primary {
    background-color: #e8f0fb;
    border-left: 3px solid #0457B5;
    padding: 8px 12px;
    margin: 8px 0;
    border-radius: 0 4px 4px 0;
}
.dose-row-primary .dose-highlight {
    font-size: 1.7rem;
}
.dose-row-warn {
    background-color: #fff3cd;
    border-left: 3px solid #ffc107;
    padding: 8px 12px;
    margin: 8px 0;
    border-radius: 0 4px 4px 0;
}
.info-note {
    background-color: #f0fbea;
    border-left: 4px solid #7BC15B;
    padding: 10px;
    margin-top: 10px;
    font-size: 14px;
}
.info-note-risk {
    background-color: #fff3cd;
    border-left: 4px solid #ffc107;
    padding: 10px;
    margin-top: 10px;
    font-size: 14px;
}
.warning {
    background-color: #fff3cd;
    border-left: 4px solid #ffc107;
    padding: 10px;
    margin-top: 15px;
}
.error-block {
    background-color: #fde8e8;
    border-left: 4px solid #e53935;
    padding: 10px;
    margin-top: 15px;
    display: none;
    font-size: 14px;
}
.content-section {
    max-width: 100%;
    margin: 20px auto;
    padding: 20px;
    line-height: 1.6;
}
.content-section h2 {
    color: #0457B5;
    margin-top: 25px;
}
.content-section h3 {
    color: #333;
    margin-top: 25px;
}
.content-section ul {
    padding-left: 20px;
}
.content-section li {
    margin: 8px 0;
}
.dose-table {
    width: 100%;
    border-collapse: collapse;
    margin: 10px 0;
    font-size: 14px;
}
.dose-table th,
.dose-table td {
    border: 1px solid #ddd;
    padding: 8px 10px;
    text-align: left;
}
.dose-table th {
    background-color: #e8f0fb;
    font-weight: bold;
    color: #0457B5;
}
.dose-table tr:nth-child(even) {
    background-color: #f9f9f9;
}
.result-params {
    font-size: 14px;
    color: #444;
    margin-bottom: 12px;
    padding: 8px 10px;
    background: #f9f9f9;
    border-radius: 4px;
}
.result-params span {
    display: inline-block;
    margin-right: 16px;
}
.criteria-item {
    display: flex;
    align-items: center;
    padding: 6px 12px;
    margin: 4px 0;
    border-radius: 0 4px 4px 0;
    font-size: 14px;
}
.criteria-pos {
    background-color: #fff3cd;
    border-left: 3px solid #ffc107;
}
.criteria-neg {
    background-color: #f0fbea;
    border-left: 3px solid #7BC15B;
}
.criteria-icon {
    font-weight: bold;
    margin-right: 8px;
    font-size: 16px;
}
.criteria-pos .criteria-icon {
    color: #e65100;
}
.criteria-neg .criteria-icon {
    color: #7BC15B;
}
.fact-block {
    padding: 14px;
    margin: 14px 0;
    border-radius: 4px;
    font-size: 15px;
    line-height: 1.6;
}
.fact-opinion {
    background-color: #e8f0fb;
    border-left: 4px solid #0457B5;
}
.fact-history {
    background-color: #f5f0ff;
    border-left: 4px solid #7c4dff;
}
.fact-research {
    background-color: #e0f7fa;
    border-left: 4px solid #00acc1;
}
.fact-disclaimer {
    background-color: #fff3cd;
    border-left: 4px solid #ffc107;
}
</style>

<div class="content-section">
    <h2>Рассчитать риск при ТЭЛА по шкале sPESI онлайн</h2>

    <div class="calculator-container">

        <div class="calculator-input">
            <label for="spesiAge">
                Возраст пациента (лет):
            </label>
            <input type="number" id="spesiAge" min="18" max="120"
                   step="1" placeholder="Например: 72">
            <div class="input-hint">
                Критерий sPESI: возраст старше 80 лет (+1 балл).
            </div>
        </div>

        <div class="calculator-input">
            <label for="spesiHR">
                Частота сердечных сокращений (уд/мин):
            </label>
            <input type="number" id="spesiHR" min="20" max="300"
                   step="1" placeholder="Например: 96">
            <div class="input-hint">
                Критерий sPESI: ЧСС 110 уд/мин и выше (+1 балл).
                Укажите значение на момент поступления.
            </div>
        </div>

        <div class="calculator-input">
            <label for="spesiSBP">
                Систолическое артериальное давление (мм рт. ст.):
            </label>
            <input type="number" id="spesiSBP" min="30" max="300"
                   step="1" placeholder="Например: 125">
            <div class="input-hint">
                Критерий sPESI: систолическое АД ниже 100 мм рт. ст.
                (+1 балл). Верхнее число при измерении давления.
            </div>
        </div>

        <div class="calculator-input">
            <label for="spesiSpO2">
                Сатурация кислорода SpO2 (%):
            </label>
            <input type="number" id="spesiSpO2" min="30" max="100"
                   step="1" placeholder="Например: 95">
            <div class="input-hint">
                Критерий sPESI: SpO2 ниже 90% (+1 балл).
                Показание пульсоксиметра.
            </div>
        </div>

        <div class="calculator-input">
            <label>Активное злокачественное новообразование:</label>
            <div class="carb-toggle">
                <button id="btnCancerNo" class="active"
                        onclick="toggleCriterion('cancer', false)">
                    Нет
                </button>
                <button id="btnCancerYes"
                        onclick="toggleCriterion('cancer', true)">
                    Да
                </button>
            </div>
            <div class="input-hint">
                Онкологическое заболевание с активным лечением
                или диагнозом в течение последних 6 месяцев,
                а также наличие метастазов (+1 балл).
            </div>
        </div>

        <div class="calculator-input">
            <label>Хроническая сердечная недостаточность
            или хроническое заболевание легких:</label>
            <div class="carb-toggle">
                <button id="btnCardioNo" class="active"
                        onclick="toggleCriterion('cardio', false)">
                    Нет
                </button>
                <button id="btnCardioYes"
                        onclick="toggleCriterion('cardio', true)">
                    Да
                </button>
            </div>
            <div class="input-hint">
                Диагностированная ХСН или ХОБЛ, бронхиальная
                астма тяжелого течения, интерстициальные
                заболевания легких (+1 балл).
            </div>
        </div>

        <button class="calculate-btn" onclick="calculateSPESI()">
            Рассчитать sPESI
        </button>

        <div class="result" id="result">
            <h3>Результат оценки по sPESI</h3>

            <div class="result-params" id="resultParams"></div>

            <div id="criteriaList"></div>

            <div class="dose-row-primary" id="scoreBlock">
                <strong>Итоговый балл sPESI:</strong><br>
                <span class="dose-highlight" id="totalScore">-</span>
                <span id="scoreLabel"></span>
            </div>

            <div id="riskNote"></div>

            <div class="warning">
                <strong>Важно:</strong> Шкала sPESI оценивает
                риск 30-дневной летальности и помогает
                принять решение о месте лечения. Она не
                заменяет клиническое суждение врача
                и не учитывает дополнительные факторы:
                результаты КТ, эхокардиографии, уровень
                тропонина и NT-proBNP.
            </div>
        </div>

        <div class="error-block" id="errorBlock"></div>

    </div>

    <h3>Критерии оценки по шкале sPESI</h3>
    <p>Каждый критерий оценивают как «присутствует» или
    «отсутствует». За каждый положительный критерий
    начисляют 1 балл. Максимальный балл - 6.</p>

    <table class="dose-table">
        <thead>
            <tr>
                <th>Критерий</th>
                <th>Пороговое значение</th>
                <th>Баллы</th>
            </tr>
        </thead>
        <tbody>
            <tr>
                <td>Возраст</td>
                <td>Старше 80 лет</td>
                <td>+1</td>
            </tr>
            <tr>
                <td>Злокачественное новообразование</td>
                <td>Активный рак</td>
                <td>+1</td>
            </tr>
            <tr>
                <td>Сердечная недостаточность или хроническое заболевание легких</td>
                <td>ХСН или ХОБЛ в анамнезе</td>
                <td>+1</td>
            </tr>
            <tr>
                <td>Частота сердечных сокращений</td>
                <td>110 уд/мин и выше</td>
                <td>+1</td>
            </tr>
            <tr>
                <td>Систолическое АД</td>
                <td>Ниже 100 мм рт. ст.</td>
                <td>+1</td>
            </tr>
            <tr>
                <td>Сатурация кислорода</td>
                <td>SpO2 ниже 90%</td>
                <td>+1</td>
            </tr>
        </tbody>
    </table>

    <h3>Интерпретация результатов sPESI</h3>

    <table class="dose-table">
        <thead>
            <tr>
                <th>Балл sPESI</th>
                <th>Группа риска</th>
                <th>30-дневная летальность</th>
                <th>Тактика</th>
            </tr>
        </thead>
        <tbody>
            <tr>
                <td>0 баллов</td>
                <td>Низкий риск</td>
                <td>~1,0%</td>
                <td>Возможно амбулаторное лечение</td>
            </tr>
            <tr>
                <td>1 балл и более</td>
                <td>Высокий риск</td>
                <td>~10,9%</td>
                <td>Госпитализация, расширенное обследование</td>
            </tr>
        </tbody>
    </table>

    <h3>Что такое шкала sPESI</h3>
    <p>sPESI (simplified Pulmonary Embolism Severity Index) -
    упрощенная версия индекса тяжести тромбоэмболии легочной
    артерии. Шкалу разработали для быстрой стратификации
    риска у пациентов с подтвержденной ТЭЛА. Основная задача -
    определить, кому нужна госпитализация, а кого можно
    безопасно лечить амбулаторно.</p>

    <p>Оригинальный индекс PESI включает 11 параметров,
    часть из которых требует лабораторных данных.
    В 2010 году группа исследователей под руководством
    Давида Хименеса валидировала упрощенную версию из
    6 бинарных критериев. Эта версия сохранила точность
    прогноза, но стала проще в применении у постели
    пациента.</p>

    <h3>Описание калькулятора sPESI</h3>
    <p>Калькулятор принимает 6 параметров. Четыре из них -
    числовые: возраст, частота пульса, систолическое давление,
    сатурация кислорода. Два параметра - бинарные: наличие
    рака и наличие хронической сердечной или легочной
    патологии. Калькулятор автоматически сравнивает каждое
    значение с пороговым и начисляет баллы.</p>

    <p>На выходе вы видите разбивку по каждому критерию:
    какие сработали, какие нет. Итоговый балл определяет
    группу риска. При 0 баллов пациент попадает в группу
    низкого риска с 30-дневной летальностью около 1%.
    При 1 балле и более - в группу высокого риска
    с летальностью около 10,9%.</p>

    <h3>Чем sPESI отличается от полного PESI</h3>
    <p>Полный индекс PESI оперирует 11 переменными и выдает
    результат в 5 классах риска. Это дает более детальную
    градацию, но требует больше данных и времени. sPESI
    сжимает оценку до двух категорий: низкий или высокий
    риск. Для скрининговой задачи - определить, кому нужна
    госпитализация - этого достаточно.</p>

    <p>Прогностическая ценность отрицательного результата
    у обеих шкал сопоставима. Если sPESI = 0, вероятность
    тяжелых осложнений и смерти в ближайшие 30 дней
    минимальна. Именно поэтому европейские рекомендации
    ESC 2019 года включили sPESI как инструмент первичной
    стратификации при острой ТЭЛА.</p>

    <h3>Когда применять шкалу sPESI</h3>
    <p>Шкалу применяют сразу после подтверждения диагноза
    ТЭЛА - по результатам КТ-ангиографии легочных артерий
    или вентиляционно-перфузионной сцинтиграфии. Все
    6 параметров собирают при поступлении пациента.</p>

    <ul>
        <li>Приемное отделение - первичная сортировка
        пациентов с подтвержденной ТЭЛА</li>
        <li>Отделение интенсивной терапии - оценка
        тяжести при переводе</li>
        <li>Амбулаторное наблюдение - обоснование
        решения о раннем выписке пациентов низкого
        риска</li>
    </ul>

    <p>Шкалу не используют для диагностики ТЭЛА. Она не
    отвечает на вопрос «есть ли тромбоэмболия», а оценивает
    тяжесть уже установленного диагноза.</p>

    <h3>Дополнительные маркеры риска</h3>
    <p>sPESI - отправная точка. При высоком балле врач
    назначает дополнительные исследования для уточнения
    степени риска.</p>

    <ul>
        <li><strong>Тропонин I или T</strong> - маркер
        повреждения миокарда. Повышение при ТЭЛА говорит
        о перегрузке правого желудочка</li>
        <li><strong>NT-proBNP или BNP</strong> - маркер
        растяжения миокарда. Повышенный уровень указывает
        на правожелудочковую дисфункцию</li>
        <li><strong>Эхокардиография</strong> - оценивает
        размеры и функцию правого желудочка, давление
        в легочной артерии</li>
        <li><strong>КТ-ангиография</strong> - помимо
        самого тромба, показывает соотношение правого
        и левого желудочков (отношение ПЖ/ЛЖ более 0,9
        указывает на перегрузку)</li>
    </ul>

    <p>Комбинация sPESI = 0, нормального тропонина
    и нормальной эхокардиографии позволяет с высокой
    уверенностью отнести пациента к группе очень
    низкого риска.</p>

    <h3>Ограничения шкалы sPESI</h3>
    <p>Любая балльная система упрощает реальность. У sPESI
    есть конкретные слабые места, о которых стоит помнить.</p>

    <ul>
        <li>Шкала не учитывает визуализацию - объем тромба,
        степень обструкции легочного русла, состояние
        правого желудочка остаются за рамками оценки</li>
        <li>Биомаркеры не входят в расчет - повышенный
        тропонин или BNP могут изменить прогноз даже
        при sPESI = 0</li>
        <li>Бинарная классификация не различает умеренный
        и очень высокий риск - пациент с 1 баллом
        и пациент с 5 баллами попадают в одну группу</li>
        <li>Возрастной порог 80 лет не учитывает
        функциональное состояние пожилого пациента</li>
        <li>Шкала валидирована для гемодинамически
        стабильных пациентов. При шоке и стойкой
        гипотензии sPESI не применяют - таких больных
        сразу относят к группе высокого риска</li>
    </ul>

    <h3>Преимущества калькулятора</h3>
    <ul>
        <li>Быстрая оценка за один шаг - все 6 критериев
        вводятся в одну форму, результат появляется
        мгновенно</li>
        <li>Числовые значения проверяются автоматически -
        калькулятор сам сравнивает возраст, пульс,
        давление и сатурацию с пороговыми значениями</li>
        <li>Наглядная разбивка по критериям - видно,
        какие факторы риска присутствуют, а какие нет</li>
        <li>Интерпретация результата - не просто цифра
        балла, а группа риска с оценкой летальности
        и тактикой ведения</li>
        <li>Клинические рекомендации в зависимости
        от результата - разные пояснения для низкого
        и высокого риска</li>
    </ul>

    <h3>Когда нужна экстренная помощь</h3>
    <p>sPESI помогает стратифицировать стабильных пациентов.
    Но при некоторых клинических картинах медлить нельзя,
    и шкала уступает место экстренным протоколам.</p>

    <ul>
        <li>Систолическое давление ниже 90 мм рт. ст.
        более 15 минут - признак массивной ТЭЛА,
        рассмотреть тромболизис</li>
        <li>Потеря сознания, синкопе при подтвержденной
        ТЭЛА - высокая вероятность обструкции
        центральных ветвей</li>
        <li>Нарастающая одышка с падением сатурации
        ниже 85% несмотря на оксигенотерапию</li>
        <li>Остановка сердца на фоне ТЭЛА - показание
        к экстренному тромболизису или хирургической
        тромбэктомии</li>
        <li>Признаки правожелудочковой недостаточности -
        набухание яремных вен, гепатомегалия, отеки -
        при нестабильной гемодинамике</li>
    </ul>

    <h2>Факты и мнения о ТЭЛА и шкале sPESI</h2>

    <h3>Мнение специалиста</h3>
    <div class="fact-block fact-opinion">
        <p>Профессор Ставрос Константинидес, ведущий автор
        рекомендаций Европейского общества кардиологов (ESC)
        по диагностике и лечению ТЭЛА, неоднократно
        подчеркивал: упрощенные шкалы риска, такие как sPESI,
        принципиально изменили подход к ведению пациентов
        с тромбоэмболией. По его мнению, главная ценность
        sPESI - возможность быстро выделить группу низкого
        риска, где ранняя выписка и амбулаторное лечение
        безопасны и экономически оправданы. При этом профессор
        отмечает, что для пациентов промежуточного и высокого
        риска шкала - лишь первый шаг, после которого
        обязательно нужны биомаркеры и визуализация правого
        желудочка.</p>
    </div>

    <h3>Исторический факт</h3>
    <div class="fact-block fact-history">
        <p>Механизм тромбоэмболии впервые описал немецкий
        патолог Рудольф Вирхов в 1856 году. Именно он
        ввел термин «эмболия» и сформулировал знаменитую
        триаду: стаз крови, повреждение стенки сосуда
        и повышенная свертываемость. До Вирхова внезапную
        смерть от закупорки легочной артерии объясняли
        «сгущением крови» или «воспалением вен», а связь
        тромбоза глубоких вен с легочной катастрофой
        оставалась неочевидной. Триада Вирхова и сегодня
        лежит в основе понимания венозного тромбоэмболизма -
        спустя более 160 лет после публикации.</p>
    </div>

    <h3>Современное исследование</h3>
    <div class="fact-block fact-research">
        <p>Многоцентровое исследование HOME-PE, результаты
        которого опубликованы в журнале The Lancet,
        подтвердило безопасность амбулаторного лечения
        пациентов с ТЭЛА низкого риска по шкале sPESI.
        В исследовании участвовали более 1900 пациентов
        из 26 клиник. Среди тех, кого отнесли к группе
        низкого риска (sPESI = 0) и лечили дома,
        30-дневная летальность составила менее 1%,
        а частота рецидивов не отличалась от группы
        стационарного лечения. Эти данные укрепили
        позицию sPESI как инструмента для принятия
        решения о раннем выписке.</p>
    </div>

    <h3>Консультация с врачом</h3>
    <div class="fact-block fact-disclaimer">
        <p>Калькулятор sPESI предназначен для информационных
        и образовательных целей. Он не ставит диагноз,
        не назначает лечение и не заменяет очную консультацию
        врача. Тромбоэмболия легочной артерии - жизнеугрожающее
        состояние, которое требует профессиональной медицинской
        помощи. Все решения о госпитализации, терапии
        антикоагулянтами и тактике ведения принимает лечащий
        врач с учетом полной клинической картины, результатов
        обследования и индивидуальных особенностей пациента.
        При подозрении на ТЭЛА немедленно обратитесь
        за медицинской помощью.</p>
    </div>

</div>

<script>
let criterionCancer = false;
let criterionCardio = false;

function toggleCriterion(name, value) {
    if (name === 'cancer') {
        criterionCancer = value;
        document.getElementById('btnCancerYes')
            .classList.toggle('active', value);
        document.getElementById('btnCancerNo')
            .classList.toggle('active', !value);
    } else if (name === 'cardio') {
        criterionCardio = value;
        document.getElementById('btnCardioYes')
            .classList.toggle('active', value);
        document.getElementById('btnCardioNo')
            .classList.toggle('active', !value);
    }
    document.getElementById('result').classList.remove('active');
    document.getElementById('errorBlock').style.display = 'none';
}

function showError(msg) {
    var el = document.getElementById('errorBlock');
    el.textContent = msg;
    el.style.display = 'block';
}

function calculateSPESI() {
    var age = parseFloat(
        document.getElementById('spesiAge').value
    );
    var hr = parseFloat(
        document.getElementById('spesiHR').value
    );
    var sbp = parseFloat(
        document.getElementById('spesiSBP').value
    );
    var spo2 = parseFloat(
        document.getElementById('spesiSpO2').value
    );

    var resultDiv = document.getElementById('result');
    var errorDiv = document.getElementById('errorBlock');

    resultDiv.classList.remove('active');
    errorDiv.style.display = 'none';

    if (isNaN(age) || age < 18 || age > 120) {
        showError(
            'Введите возраст пациента от 18 до 120 лет.'
        );
        return;
    }
    if (isNaN(hr) || hr < 20 || hr > 300) {
        showError(
            'Введите частоту сердечных сокращений ' +
            'от 20 до 300 уд/мин.'
        );
        return;
    }
    if (isNaN(sbp) || sbp < 30 || sbp > 300) {
        showError(
            'Введите систолическое АД ' +
            'от 30 до 300 мм рт. ст.'
        );
        return;
    }
    if (isNaN(spo2) || spo2 < 30 || spo2 > 100) {
        showError(
            'Введите сатурацию кислорода от 30 до 100%.'
        );
        return;
    }

    var cAge = age > 80 ? 1 : 0;
    var cCancer = criterionCancer ? 1 : 0;
    var cCardio = criterionCardio ? 1 : 0;
    var cHR = hr >= 110 ? 1 : 0;
    var cSBP = sbp < 100 ? 1 : 0;
    var cSpO2 = spo2 < 90 ? 1 : 0;

    var totalScore = cAge + cCancer + cCardio +
                     cHR + cSBP + cSpO2;

    document.getElementById('resultParams').innerHTML =
        '<span>Возраст: <strong>' +
        Math.floor(age) + ' лет</strong></span>' +
        '<span>ЧСС: <strong>' +
        Math.floor(hr) + ' уд/мин</strong></span>' +
        '<span>АД сист.: <strong>' +
        Math.floor(sbp) + ' мм рт. ст.</strong></span>' +
        '<span>SpO2: <strong>' +
        Math.floor(spo2) + '%</strong></span>';

    var criteria = [
        {
            name: 'Возраст > 80 лет',
            detail: Math.floor(age) + ' лет',
            active: cAge
        },
        {
            name: 'ЧСС \u2265 110 уд/мин',
            detail: Math.floor(hr) + ' уд/мин',
            active: cHR
        },
        {
            name: 'Систолическое АД < 100 мм рт. ст.',
            detail: Math.floor(sbp) + ' мм рт. ст.',
            active: cSBP
        },
        {
            name: 'SpO2 < 90%',
            detail: Math.floor(spo2) + '%',
            active: cSpO2
        },
        {
            name: 'Злокачественное новообразование',
            detail: criterionCancer ? 'да' : 'нет',
            active: cCancer
        },
        {
            name: 'ХСН или хроническое заболевание легких',
            detail: criterionCardio ? 'да' : 'нет',
            active: cCardio
        }
    ];

    var listHTML = '';
    for (var i = 0; i < criteria.length; i++) {
        var c = criteria[i];
        var cls = c.active
            ? 'criteria-item criteria-pos'
            : 'criteria-item criteria-neg';
        var icon = c.active ? '+1' : '0';
        listHTML +=
            '<div class="' + cls + '">' +
            '<span class="criteria-icon">' + icon +
            '</span>' +
            '<span>' + c.name + ' (' + c.detail +
            ')</span>' +
            '</div>';
    }
    document.getElementById('criteriaList').innerHTML =
        listHTML;

    document.getElementById('totalScore').textContent =
        totalScore;

    var scoreLabel = document.getElementById('scoreLabel');
    var riskNoteDiv = document.getElementById('riskNote');

    if (totalScore === 0) {
        scoreLabel.innerHTML =
            ' &mdash; <strong style="color:#7BC15B">' +
            'Низкий риск</strong>';
        riskNoteDiv.innerHTML =
            '<div class="info-note">' +
            '<strong>Низкий риск (30-дневная летальность ' +
            '~1,0%)</strong><br>' +
            'Пациент может быть кандидатом для раннего ' +
            'выписки и амбулаторного лечения ' +
            'антикоагулянтами - при условии отсутствия ' +
            'других отягощающих факторов, стабильной ' +
            'гемодинамики и возможности наблюдения. ' +
            'Рекомендовано дополнительно оценить тропонин ' +
            'и функцию правого желудочка для исключения ' +
            'промежуточного риска.' +
            '</div>';
    } else {
        scoreLabel.innerHTML =
            ' &mdash; <strong style="color:#e65100">' +
            'Высокий риск</strong>';

        var riskText = '';
        if (totalScore >= 3) {
            riskText =
                '<strong>Высокий риск (30-дневная ' +
                'летальность ~10,9%)</strong><br>' +
                'Несколько факторов риска. Госпитализация ' +
                'обязательна. Провести полное обследование: ' +
                'тропонин, NT-proBNP, эхокардиография. ' +
                'Рассмотреть перевод в отделение интенсивной ' +
                'терапии. При нестабильной гемодинамике - ' +
                'оценить показания к тромболизису.';
        } else {
            riskText =
                '<strong>Высокий риск (30-дневная ' +
                'летальность ~10,9%)</strong><br>' +
                'Госпитализация показана. Назначить ' +
                'антикоагулянтную терапию, определить ' +
                'тропонин и NT-proBNP, провести ' +
                'эхокардиографию для оценки правого ' +
                'желудочка. Дальнейшая тактика зависит ' +
                'от результатов дообследования.';
        }

        riskNoteDiv.innerHTML =
            '<div class="info-note-risk">' +
            riskText + '</div>';
    }

    resultDiv.classList.add('active');
}
</script>				</div>
				</div>
					</div>
				</div>
				</div>
		<p>Сообщение <a href="https://vracha-na-dom.ru/kalkulyatory/kalkulyator-spesi-uproshhyonnyj-pesi/">Калькулятор sPESI (упрощённый PESI)</a> появились сначала на <a href="https://vracha-na-dom.ru">Вызов врача на дом</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Калькулятор PESI (тяжесть тромбоэмболии лёгочной артерии)</title>
		<link>https://vracha-na-dom.ru/kalkulyatory/kalkulyator-pesi-tyazhest-tromboembolii-lyogochnoj-arterii/</link>
		
		<dc:creator><![CDATA[Волкова Елена Андреевна]]></dc:creator>
		<pubDate>Fri, 11 Sep 2026 14:59:05 +0000</pubDate>
				<category><![CDATA[Калькуляторы]]></category>
		<category><![CDATA[Калькуляторы шкал риска и тяжести заболеваний]]></category>
		<guid isPermaLink="false">https://vracha-na-dom.ru/?p=6414</guid>

					<description><![CDATA[<p>Рассчитать индекс тяжести ТЭЛА (PESI) онлайн Возраст пациента (полных лет): В шкале PESI возраст напрямую переводится в баллы: сколько лет, столько и баллов. Чем старше пациент, тем выше риск. Пол пациента: Мужской Женский Мужской пол добавляет +10 баллов к общему индексу. Показатели жизненных функций Частота пульса (уд/мин): Пульс 110 и выше добавляет +20 баллов. Систолическое [&#8230;]</p>
<p>Сообщение <a href="https://vracha-na-dom.ru/kalkulyatory/kalkulyator-pesi-tyazhest-tromboembolii-lyogochnoj-arterii/">Калькулятор PESI (тяжесть тромбоэмболии лёгочной артерии)</a> появились сначала на <a href="https://vracha-na-dom.ru">Вызов врача на дом</a>.</p>
]]></description>
										<content:encoded><![CDATA[		<div data-elementor-type="wp-post" data-elementor-id="6414" class="elementor elementor-6414" data-elementor-settings="{&quot;element_pack_global_tooltip_width&quot;:{&quot;unit&quot;:&quot;px&quot;,&quot;size&quot;:&quot;&quot;,&quot;sizes&quot;:[]},&quot;element_pack_global_tooltip_width_tablet&quot;:{&quot;unit&quot;:&quot;px&quot;,&quot;size&quot;:&quot;&quot;,&quot;sizes&quot;:[]},&quot;element_pack_global_tooltip_width_mobile&quot;:{&quot;unit&quot;:&quot;px&quot;,&quot;size&quot;:&quot;&quot;,&quot;sizes&quot;:[]},&quot;element_pack_global_tooltip_padding&quot;:{&quot;unit&quot;:&quot;px&quot;,&quot;top&quot;:&quot;&quot;,&quot;right&quot;:&quot;&quot;,&quot;bottom&quot;:&quot;&quot;,&quot;left&quot;:&quot;&quot;,&quot;isLinked&quot;:true},&quot;element_pack_global_tooltip_padding_tablet&quot;:{&quot;unit&quot;:&quot;px&quot;,&quot;top&quot;:&quot;&quot;,&quot;right&quot;:&quot;&quot;,&quot;bottom&quot;:&quot;&quot;,&quot;left&quot;:&quot;&quot;,&quot;isLinked&quot;:true},&quot;element_pack_global_tooltip_padding_mobile&quot;:{&quot;unit&quot;:&quot;px&quot;,&quot;top&quot;:&quot;&quot;,&quot;right&quot;:&quot;&quot;,&quot;bottom&quot;:&quot;&quot;,&quot;left&quot;:&quot;&quot;,&quot;isLinked&quot;:true},&quot;element_pack_global_tooltip_border_radius&quot;:{&quot;unit&quot;:&quot;px&quot;,&quot;top&quot;:&quot;&quot;,&quot;right&quot;:&quot;&quot;,&quot;bottom&quot;:&quot;&quot;,&quot;left&quot;:&quot;&quot;,&quot;isLinked&quot;:true},&quot;element_pack_global_tooltip_border_radius_tablet&quot;:{&quot;unit&quot;:&quot;px&quot;,&quot;top&quot;:&quot;&quot;,&quot;right&quot;:&quot;&quot;,&quot;bottom&quot;:&quot;&quot;,&quot;left&quot;:&quot;&quot;,&quot;isLinked&quot;:true},&quot;element_pack_global_tooltip_border_radius_mobile&quot;:{&quot;unit&quot;:&quot;px&quot;,&quot;top&quot;:&quot;&quot;,&quot;right&quot;:&quot;&quot;,&quot;bottom&quot;:&quot;&quot;,&quot;left&quot;:&quot;&quot;,&quot;isLinked&quot;:true}}" data-elementor-post-type="post">
				<div class="elementor-element elementor-element-f7c7514 e-flex e-con-boxed e-con e-parent" data-id="f7c7514" data-element_type="container" data-settings="{&quot;ekit_has_onepagescroll_dot&quot;:&quot;yes&quot;}">
					<div class="e-con-inner">
				<div class="elementor-element elementor-element-86156a1 elementor-widget elementor-widget-html" data-id="86156a1" data-element_type="widget" data-settings="{&quot;ekit_we_effect_on&quot;:&quot;none&quot;}" data-widget_type="html.default">
				<div class="elementor-widget-container">
					<style>
.calculator-container {
    max-width: 100%;
    margin: 10px auto;
    padding: 10px;
    border: 1px solid #ddd;
    border-radius: 8px;
    background-color: #f9f9f9;
}
.calculator-input {
    margin: 15px 0;
}
.calculator-input label {
    display: block;
    margin-bottom: 25px;
    font-weight: bold;
}
.calculator-input input,
.calculator-input select {
    width: 100%;
    padding: 10px 18px;
    border: 1px solid #ccc;
    border-radius: 50px;
    font-size: 16px;
    box-sizing: border-box;
}
.input-hint {
    font-size: 13px;
    color: #666;
    margin-top: 4px;
}
.carb-toggle {
    display: flex;
    gap: 8px;
    margin-bottom: 8px;
}
.carb-toggle button {
    flex: 1;
    padding: 9px 8px;
    border: 2px solid #0457B5;
    border-radius: 50px;
    background: white;
    color: #0457B5;
    cursor: pointer;
    font-size: 14px;
    font-weight: bold;
    transition: background 0.15s, color 0.15s;
}
.carb-toggle button.active {
    background: #0457B5;
    color: white;
}
.checkbox-group {
    display: flex;
    flex-direction: column;
    gap: 10px;
    margin-top: 6px;
}
.checkbox-item {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    cursor: pointer;
    padding: 8px 12px;
    border: 1px solid #ddd;
    border-radius: 8px;
    background: white;
    transition: background 0.15s, border-color 0.15s;
}
.checkbox-item:hover {
    background: #f0f7ff;
    border-color: #0457B5;
}
.checkbox-item.checked {
    background: #e8f0fb;
    border-color: #0457B5;
}
.checkbox-item input[type="checkbox"] {
    width: 18px;
    height: 18px;
    margin-top: 2px;
    flex-shrink: 0;
    accent-color: #0457B5;
}
.checkbox-label {
    display: flex;
    flex-direction: column;
}
.checkbox-label-main {
    font-weight: bold;
    font-size: 15px;
}
.checkbox-label-points {
    font-size: 13px;
    color: #666;
}
.section-label {
    font-weight: bold;
    font-size: 15px;
    color: #333;
    margin-bottom: 8px;
    margin-top: 18px;
}
.calculate-btn {
    background-color: #0457B5;
    color: white;
    padding: 12px 20px;
    border: none;
    border-radius: 50px;
    cursor: pointer;
    font-size: 16px;
    width: 100%;
    margin-top: 10px;
}
.calculate-btn:hover {
    background-color: #034499;
}
.result {
    margin-top: 20px;
    padding: 15px;
    background-color: #f0f7ff;
    border-left: 4px solid #0457B5;
    display: none;
}
.result.active {
    display: block;
}
.result h3 {
    margin-top: 0;
    color: #0457B5;
}
.dose-highlight {
    font-size: 1.45rem;
    font-weight: bold;
    color: #0457B5;
}
.dose-row {
    background-color: #f0fbea;
    border-left: 3px solid #7BC15B;
    padding: 8px 12px;
    margin: 8px 0;
    border-radius: 0 4px 4px 0;
}
.dose-row-primary {
    background-color: #e8f0fb;
    border-left: 3px solid #0457B5;
    padding: 8px 12px;
    margin: 8px 0;
    border-radius: 0 4px 4px 0;
}
.dose-row-primary .dose-highlight {
    font-size: 1.7rem;
}
.dose-row-warning {
    background-color: #fff3cd;
    border-left: 3px solid #ffc107;
    padding: 8px 12px;
    margin: 8px 0;
    border-radius: 0 4px 4px 0;
}
.dose-row-danger {
    background-color: #fde8e8;
    border-left: 3px solid #e53935;
    padding: 8px 12px;
    margin: 8px 0;
    border-radius: 0 4px 4px 0;
}
.info-note {
    background-color: #f0fbea;
    border-left: 4px solid #7BC15B;
    padding: 10px;
    margin-top: 10px;
    font-size: 14px;
}
.warning {
    background-color: #fff3cd;
    border-left: 4px solid #ffc107;
    padding: 10px;
    margin-top: 15px;
}
.error-block {
    background-color: #fde8e8;
    border-left: 4px solid #e53935;
    padding: 10px;
    margin-top: 15px;
    display: none;
    font-size: 14px;
}
.content-section {
    max-width: 100%;
    margin: 20px auto;
    padding: 20px;
    line-height: 1.6;
}
.content-section h2 {
    color: #0457B5;
    margin-top: 25px;
}
.content-section h3 {
    color: #333;
    margin-top: 25px;
}
.content-section ul {
    padding-left: 20px;
}
.content-section li {
    margin: 8px 0;
}
.dose-table {
    width: 100%;
    border-collapse: collapse;
    margin: 10px 0;
    font-size: 14px;
}
.dose-table th,
.dose-table td {
    border: 1px solid #ddd;
    padding: 8px 10px;
    text-align: left;
}
.dose-table th {
    background-color: #e8f0fb;
    font-weight: bold;
    color: #0457B5;
}
.dose-table tr:nth-child(even) {
    background-color: #f9f9f9;
}
.result-params {
    font-size: 14px;
    color: #444;
    margin-bottom: 12px;
    padding: 8px 10px;
    background: #f9f9f9;
    border-radius: 4px;
}
.result-params span {
    display: inline-block;
    margin-right: 16px;
}
.points-breakdown {
    font-size: 14px;
    color: #444;
    margin: 10px 0;
    padding: 8px 10px;
    background: #f9f9f9;
    border-radius: 4px;
}
.points-breakdown div {
    padding: 3px 0;
    display: flex;
    justify-content: space-between;
}
.points-breakdown .points-value {
    font-weight: bold;
    color: #0457B5;
}
.risk-class-I, .risk-class-II {
    color: #2e7d32;
}
.risk-class-III {
    color: #e65100;
}
.risk-class-IV, .risk-class-V {
    color: #c62828;
}
.fact-block {
    padding: 14px;
    margin: 14px 0;
    border-radius: 6px;
}
.fact-opinion {
    background-color: #e8f0fb;
    border-left: 4px solid #0457B5;
}
.fact-history {
    background-color: #f0fbea;
    border-left: 4px solid #7BC15B;
}
.fact-research {
    background-color: #fff8e1;
    border-left: 4px solid #ffc107;
}
.fact-disclaimer {
    background-color: #fde8e8;
    border-left: 4px solid #e53935;
}
</style>

<div class="content-section">
    <h2>Рассчитать индекс тяжести ТЭЛА (PESI) онлайн</h2>

    <div class="calculator-container">

        <div class="calculator-input">
            <label for="pesiAge">
                Возраст пациента (полных лет):
            </label>
            <input type="number" id="pesiAge" min="18" max="120"
                   step="1" placeholder="Например: 65">
            <div class="input-hint">
                В шкале PESI возраст напрямую переводится в баллы: сколько лет, столько и баллов. Чем старше пациент, тем выше риск.
            </div>
        </div>

        <div class="calculator-input">
            <label>Пол пациента:</label>
            <div class="carb-toggle">
                <button id="btnMale" class="active"
                        onclick="switchSex('male')">
                    Мужской
                </button>
                <button id="btnFemale"
                        onclick="switchSex('female')">
                    Женский
                </button>
            </div>
            <div class="input-hint">
                Мужской пол добавляет +10 баллов к общему индексу.
            </div>
        </div>

        <div class="section-label">Показатели жизненных функций</div>

        <div class="calculator-input">
            <label for="pesiHR">
                Частота пульса (уд/мин):
            </label>
            <input type="number" id="pesiHR" min="20" max="250"
                   step="1" placeholder="Например: 92">
            <div class="input-hint">
                Пульс 110 и выше добавляет +20 баллов.
            </div>
        </div>

        <div class="calculator-input">
            <label for="pesiSBP">
                Систолическое артериальное давление (мм рт. ст.):
            </label>
            <input type="number" id="pesiSBP" min="30" max="300"
                   step="1" placeholder="Например: 120">
            <div class="input-hint">
                Верхнее давление ниже 100 мм рт. ст. добавляет +30 баллов. Измерьте тонометром в момент осмотра.
            </div>
        </div>

        <div class="calculator-input">
            <label for="pesiRR">
                Частота дыхания (в минуту):
            </label>
            <input type="number" id="pesiRR" min="4" max="60"
                   step="1" placeholder="Например: 18">
            <div class="input-hint">
                Частота дыхания 30 и выше добавляет +20 баллов. Считайте число вдохов за полную минуту.
            </div>
        </div>

        <div class="calculator-input">
            <label for="pesiTemp">
                Температура тела (&deg;C):
            </label>
            <input type="number" id="pesiTemp" min="30" max="43"
                   step="0.1" placeholder="Например: 36.6">
            <div class="input-hint">
                Температура ниже 36 &deg;C добавляет +20 баллов. Гипотермия говорит о тяжести состояния.
            </div>
        </div>

        <div class="calculator-input">
            <label for="pesiSpO2">
                Сатурация кислорода - SpO2 (%):
            </label>
            <input type="number" id="pesiSpO2" min="50" max="100"
                   step="1" placeholder="Например: 96">
            <div class="input-hint">
                SpO2 ниже 90% добавляет +20 баллов. Измерьте пульсоксиметром на пальце.
            </div>
        </div>

        <div class="section-label">Сопутствующие заболевания и клиника</div>

        <div class="checkbox-group">
            <label class="checkbox-item" id="wrap-cancer" onclick="toggleCheck('cancer')">
                <input type="checkbox" id="cancer">
                <span class="checkbox-label">
                    <span class="checkbox-label-main">Злокачественное новообразование</span>
                    <span class="checkbox-label-points">+30 баллов. Активный рак или лечение в последние 6 месяцев</span>
                </span>
            </label>

            <label class="checkbox-item" id="wrap-hf" onclick="toggleCheck('hf')">
                <input type="checkbox" id="hf">
                <span class="checkbox-label">
                    <span class="checkbox-label-main">Хроническая сердечная недостаточность</span>
                    <span class="checkbox-label-points">+10 баллов</span>
                </span>
            </label>

            <label class="checkbox-item" id="wrap-lung" onclick="toggleCheck('lung')">
                <input type="checkbox" id="lung">
                <span class="checkbox-label">
                    <span class="checkbox-label-main">Хроническое заболевание легких</span>
                    <span class="checkbox-label-points">+10 баллов. ХОБЛ, бронхиальная астма тяжелого течения и другие</span>
                </span>
            </label>

            <label class="checkbox-item" id="wrap-mental" onclick="toggleCheck('mental')">
                <input type="checkbox" id="mental">
                <span class="checkbox-label">
                    <span class="checkbox-label-main">Нарушение сознания</span>
                    <span class="checkbox-label-points">+60 баллов. Дезориентация, заторможенность, сопор, кома</span>
                </span>
            </label>
        </div>

        <button class="calculate-btn" onclick="calculatePESI()">
            Рассчитать индекс PESI
        </button>

        <div class="result" id="result">
            <h3>Результат расчета</h3>

            <div class="points-breakdown" id="pointsBreakdown"></div>

            <div id="scoreRow" class="dose-row-primary">
                <strong>Общий индекс PESI:</strong><br>
                <span class="dose-highlight" id="totalScore">-</span>
                &nbsp;баллов
            </div>

            <div id="classRow" class="dose-row">
                <strong>Класс риска:</strong><br>
                <span class="dose-highlight" id="riskClass">-</span>
            </div>

            <div id="mortalityRow" class="dose-row">
                <strong>30-дневная летальность:</strong><br>
                <span class="dose-highlight" id="mortality">-</span>
            </div>

            <div class="info-note" id="resultNote"></div>

            <div class="warning">
                <strong>Важно:</strong> Индекс PESI помогает оценить тяжесть состояния, но не заменяет клиническое решение врача. Тактику лечения определяет специалист с учетом КТ-ангиографии, эхокардиографии, уровня тропонина и BNP.
            </div>
        </div>

        <div class="error-block" id="errorBlock"></div>

    </div>

    <h3>Таблица классов риска PESI</h3>
    <p>Пять классов от очень низкого до очень высокого риска. Границы баллов и диапазоны 30-дневной летальности приведены по оригинальной работе Aujesky и соавторов.</p>

    <table class="dose-table">
        <thead>
            <tr>
                <th>Класс</th>
                <th>Баллы</th>
                <th>Уровень риска</th>
                <th>30-дневная летальность</th>
            </tr>
        </thead>
        <tbody>
            <tr>
                <td>I</td>
                <td>&le; 65</td>
                <td>Очень низкий</td>
                <td>0 - 1,6%</td>
            </tr>
            <tr>
                <td>II</td>
                <td>66 - 85</td>
                <td>Низкий</td>
                <td>1,7 - 3,5%</td>
            </tr>
            <tr>
                <td>III</td>
                <td>86 - 105</td>
                <td>Промежуточный</td>
                <td>3,2 - 7,1%</td>
            </tr>
            <tr>
                <td>IV</td>
                <td>106 - 125</td>
                <td>Высокий</td>
                <td>4,0 - 11,4%</td>
            </tr>
            <tr>
                <td>V</td>
                <td>&gt; 125</td>
                <td>Очень высокий</td>
                <td>10,0 - 24,5%</td>
            </tr>
        </tbody>
    </table>

    <h3>Таблица параметров и баллов шкалы PESI</h3>
    <p>Каждый параметр вносит фиксированное количество баллов. Исключение - возраст: он равен числу полных лет пациента.</p>

    <table class="dose-table">
        <thead>
            <tr>
                <th>Параметр</th>
                <th>Критерий</th>
                <th>Баллы</th>
            </tr>
        </thead>
        <tbody>
            <tr>
                <td>Возраст</td>
                <td>Число полных лет</td>
                <td>= возраст</td>
            </tr>
            <tr>
                <td>Мужской пол</td>
                <td>-</td>
                <td>+10</td>
            </tr>
            <tr>
                <td>Злокачественное новообразование</td>
                <td>Активный рак или лечение &le; 6 мес.</td>
                <td>+30</td>
            </tr>
            <tr>
                <td>Сердечная недостаточность</td>
                <td>В анамнезе</td>
                <td>+10</td>
            </tr>
            <tr>
                <td>Хроническое заболевание легких</td>
                <td>В анамнезе</td>
                <td>+10</td>
            </tr>
            <tr>
                <td>Пульс</td>
                <td>&ge; 110 уд/мин</td>
                <td>+20</td>
            </tr>
            <tr>
                <td>Систолическое АД</td>
                <td>&lt; 100 мм рт. ст.</td>
                <td>+30</td>
            </tr>
            <tr>
                <td>Частота дыхания</td>
                <td>&ge; 30 в минуту</td>
                <td>+20</td>
            </tr>
            <tr>
                <td>Температура тела</td>
                <td>&lt; 36 &deg;C</td>
                <td>+20</td>
            </tr>
            <tr>
                <td>Нарушение сознания</td>
                <td>Дезориентация, сопор, кома</td>
                <td>+60</td>
            </tr>
            <tr>
                <td>SpO2</td>
                <td>&lt; 90%</td>
                <td>+20</td>
            </tr>
        </tbody>
    </table>

    <h3>Что такое индекс PESI</h3>
    <p>PESI (Pulmonary Embolism Severity Index) - клиническая шкала для оценки тяжести тромбоэмболии легочной артерии. Ее разработал швейцарский врач Драгомир Ожески с коллегами и опубликовал в 2005 году. Шкала прогнозирует 30-дневную летальность на основе 11 параметров, которые врач может оценить у постели больного за пару минут.</p>

    <p>Главная задача PESI - разделить пациентов на группы риска. Пациенты I-II класса имеют низкий риск смерти, и часть из них можно лечить амбулаторно, без госпитализации. Пациенты III класса требуют наблюдения в стационаре. Классы IV и V указывают на тяжелое состояние: нужна интенсивная терапия, а иногда тромболизис или хирургическое вмешательство.</p>

    <p>PESI входит в рекомендации Европейского общества кардиологов (ESC) и Американского колледжа торакальных хирургов (ACCP) как инструмент первой линии для стратификации риска при ТЭЛА.</p>

    <h3>Описание калькулятора PESI</h3>
    <p>Калькулятор принимает возраст, пол, пять показателей жизненных функций и четыре клинических признака. По каждому параметру начисляет баллы согласно оригинальной шкале, суммирует их и определяет класс риска.</p>

    <p>На выходе - три ключевых результата. Общий индекс PESI в баллах показывает суммарную тяжесть. Класс риска (от I до V) переводит баллы в клиническую категорию. Диапазон 30-дневной летальности дает количественную оценку прогноза. Дополнительно калькулятор показывает разбивку баллов по каждому параметру, чтобы было видно, что больше всего влияет на результат.</p>

    <h3>Как рассчитывают индекс PESI</h3>
    <p>Подсчет линейный: все баллы складываются. Возраст берется напрямую - 72 года дают 72 балла. Остальные параметры работают по принципу «порог превышен - баллы начислены». Никаких весовых коэффициентов или сложных формул. Именно эта простота сделала шкалу популярной в приемных отделениях.</p>

    <p><strong>Пример:</strong> женщина 68 лет, пульс 115, давление 105/70, частота дыхания 24, температура 36,8 &deg;C, SpO2 93%, хроническая сердечная недостаточность, без рака и без нарушения сознания. Возраст: 68 баллов. Пол женский: 0. Пульс &ge;110: +20. Давление выше 100: 0. ЧД ниже 30: 0. Температура выше 36: 0. SpO2 выше 90: 0. ХСН: +10. Итого: 68 + 20 + 10 = 98 баллов, класс III, промежуточный риск.</p>

    <h3>Когда применяют шкалу PESI</h3>
    <p>Шкалу используют после подтверждения диагноза ТЭЛА - обычно по результатам КТ-ангиографии легочных артерий. PESI не ставит диагноз, а оценивает тяжесть уже выявленной эмболии.</p>

    <ul>
        <li>В приемном отделении - для решения о госпитализации или амбулаторном лечении</li>
        <li>В реанимации - для оценки необходимости тромболизиса у пациентов высокого риска</li>
        <li>При сортировке - для распределения ресурсов, когда несколько пациентов поступают одновременно</li>
        <li>В клинических исследованиях - для стандартизации групп при изучении новых методов лечения ТЭЛА</li>
    </ul>

    <h3>Отличия PESI от упрощенного sPESI</h3>
    <p>В 2010 году группа Хименеса предложила упрощенную версию - sPESI. Она содержит всего шесть бинарных критериев (каждый дает 1 балл): возраст старше 80, рак, ХСН или хроническое заболевание легких, пульс от 110, систолическое давление ниже 100, SpO2 ниже 90%. Результат: 0 баллов - низкий риск, 1 и более - высокий.</p>

    <p>sPESI проще запомнить и быстрее считать. Но у оригинального PESI есть преимущество: он дает пять классов риска вместо двух. Это полезно, когда нужна более точная градация - например, чтобы отличить промежуточный риск от высокого и решить вопрос о тромболитической терапии. Рекомендации ESC 2019 допускают использование обеих версий.</p>

    <h3>Преимущества калькулятора</h3>
    <ul>
        <li>Все 11 параметров PESI в одной форме - не нужно считать в уме или искать таблицу</li>
        <li>Автоматическое определение пороговых значений - калькулятор сам проверяет, превышен ли порог по пульсу, давлению, температуре, частоте дыхания и сатурации</li>
        <li>Разбивка баллов по параметрам - видно, какие факторы вносят наибольший вклад в общий результат</li>
        <li>Мгновенное определение класса риска от I до V с указанием диапазона 30-дневной летальности</li>
        <li>Клинические рекомендации в зависимости от класса - калькулятор подсказывает общую тактику</li>
        <li>Справочная таблица баллов рядом - удобно для обучения и перепроверки</li>
    </ul>

    <h3>Ограничения шкалы PESI</h3>
    <p>PESI отлично выделяет пациентов с низким риском, но хуже различает градации высокого. Два человека с одинаковым баллом V класса могут иметь совершенно разный прогноз в зависимости от размера тромба и функции правого желудочка.</p>

    <ul>
        <li>Шкала не учитывает данные визуализации - размер тромба, перегрузку правого желудочка на КТ или ЭхоКГ</li>
        <li>Не включает биомаркеры - тропонин и натрийуретический пептид (BNP/NT-proBNP), которые важны для оценки повреждения миокарда</li>
        <li>Не применима для нестабильных пациентов с шоком - они по определению относятся к высокому риску вне зависимости от баллов</li>
        <li>Валидирована преимущественно для взрослых старше 18 лет</li>
    </ul>

    <p>Поэтому в клинической практике PESI часто дополняют: после определения промежуточного риска (класс III) врач назначает ЭхоКГ и тропонин, чтобы решить - промежуточно-высокий это риск или промежуточно-низкий.</p>

    <h2>Факты и мнения о шкале PESI и тромбоэмболии легочной артерии</h2>

    <div class="fact-block fact-opinion">
        <strong>Мнение эксперта</strong>
        <p>Профессор Ставрос Константинидес (Университет Майнца, Германия), ведущий автор рекомендаций Европейского общества кардиологов по ТЭЛА, неоднократно подчеркивал: ключевая роль шкал PESI и sPESI - безопасное выявление пациентов низкого риска. По его оценке, до 30-50% пациентов с подтвержденной ТЭЛА можно лечить амбулаторно или выписать в ранние сроки, если индекс PESI соответствует I-II классу, а дополнительные маркеры (тропонин, ЭхоКГ) не вызывают тревоги. Такой подход сокращает необоснованные госпитализации и снижает нагрузку на стационар без ущерба для безопасности больного.</p>
    </div>

    <div class="fact-block fact-history">
        <strong>Исторический факт</strong>
        <p>Само понятие тромбоэмболии сформировал Рудольф Вирхов в 1856 году. Он описал три условия образования тромба - повреждение стенки сосуда, замедление кровотока и повышенная свертываемость крови. Эту триаду до сих пор называют триадой Вирхова. А первую хирургическую попытку извлечь тромб из легочной артерии предпринял Фридрих Тренделенбург в 1908 году. Операция не удалась, но идея выжила: его ученик Мартин Киршнер провел первую успешную тромбэктомию в 1924 году. С тех пор подход к ТЭЛА прошел путь от чисто хирургического к мультидисциплинарному - с антикоагулянтами, тромболизисом и стратификацией риска по шкалам вроде PESI.</p>
    </div>

    <div class="fact-block fact-research">
        <strong>Современные исследования</strong>
        <p>Крупное многоцентровое исследование HOME-PE, опубликованное в The Lancet, проверило безопасность амбулаторного лечения ТЭЛА у пациентов низкого риска. Более 1900 пациентов из 26 клиник были распределены на группы по критериям PESI (класс I-II) или Hestia. Результат: частота серьезных осложнений при домашнем лечении не превысила 1,3% за 30 дней наблюдения. Исследование подтвердило, что шкала PESI может служить надежным инструментом отбора для ранней выписки, при условии отсутствия дополнительных факторов риска.</p>
    </div>

    <div class="fact-block fact-disclaimer">
        <strong>Обратите внимание</strong>
        <p>Калькулятор PESI предназначен для информационных и образовательных целей. Он не заменяет осмотр врача, лабораторные анализы и инструментальное обследование. Тромбоэмболия легочной артерии - жизнеугрожающее состояние, которое требует немедленной медицинской помощи. Любые решения о тактике лечения, госпитализации или выписке принимает только лечащий врач на основании полной клинической картины. Если вы подозреваете у себя или близкого человека ТЭЛА - вызывайте скорую помощь.</p>
    </div>

</div>

<script>
let selectedSex = 'male';

function switchSex(sex) {
    selectedSex = sex;
    document.getElementById('btnMale')
        .classList.toggle('active', sex === 'male');
    document.getElementById('btnFemale')
        .classList.toggle('active', sex === 'female');

    document.getElementById('result').classList.remove('active');
    document.getElementById('errorBlock').style.display = 'none';
}

function toggleCheck(id) {
    var cb = document.getElementById(id);
    var wrap = document.getElementById('wrap-' + id);
    // Toggle handled by native label behavior
    setTimeout(function() {
        if (cb.checked) {
            wrap.classList.add('checked');
        } else {
            wrap.classList.remove('checked');
        }
    }, 10);
}

function showError(msg) {
    var el = document.getElementById('errorBlock');
    el.textContent = msg;
    el.style.display = 'block';
}

function calculatePESI() {
    var age = parseInt(document.getElementById('pesiAge').value);
    var hr = parseInt(document.getElementById('pesiHR').value);
    var sbp = parseInt(document.getElementById('pesiSBP').value);
    var rr = parseInt(document.getElementById('pesiRR').value);
    var temp = parseFloat(document.getElementById('pesiTemp').value);
    var spo2 = parseInt(document.getElementById('pesiSpO2').value);

    var cancer = document.getElementById('cancer').checked;
    var hf = document.getElementById('hf').checked;
    var lung = document.getElementById('lung').checked;
    var mental = document.getElementById('mental').checked;

    var resultDiv = document.getElementById('result');
    var errorDiv = document.getElementById('errorBlock');

    resultDiv.classList.remove('active');
    errorDiv.style.display = 'none';

    // Валидация
    if (isNaN(age) || age < 18 || age > 120) {
        showError('Введите возраст от 18 до 120 лет.');
        return;
    }
    if (isNaN(hr) || hr < 20 || hr > 250) {
        showError('Введите частоту пульса от 20 до 250 уд/мин.');
        return;
    }
    if (isNaN(sbp) || sbp < 30 || sbp > 300) {
        showError('Введите систолическое давление от 30 до 300 мм рт. ст.');
        return;
    }
    if (isNaN(rr) || rr < 4 || rr > 60) {
        showError('Введите частоту дыхания от 4 до 60 в минуту.');
        return;
    }
    if (isNaN(temp) || temp < 30 || temp > 43) {
        showError('Введите температуру тела от 30 до 43 \u00B0C.');
        return;
    }
    if (isNaN(spo2) || spo2 < 50 || spo2 > 100) {
        showError('Введите сатурацию (SpO2) от 50 до 100%.');
        return;
    }

    // Расчет баллов
    var points = {};
    points.age = age;
    points.sex = (selectedSex === 'male') ? 10 : 0;
    points.cancer = cancer ? 30 : 0;
    points.hf = hf ? 10 : 0;
    points.lung = lung ? 10 : 0;
    points.hr = (hr >= 110) ? 20 : 0;
    points.sbp = (sbp < 100) ? 30 : 0;
    points.rr = (rr >= 30) ? 20 : 0;
    points.temp = (temp < 36) ? 20 : 0;
    points.mental = mental ? 60 : 0;
    points.spo2 = (spo2 < 90) ? 20 : 0;

    var total = points.age + points.sex + points.cancer +
        points.hf + points.lung + points.hr + points.sbp +
        points.rr + points.temp + points.mental + points.spo2;

    // Разбивка
    var breakdownHTML = '';
    var items = [
        { label: 'Возраст (' + age + ' лет)', value: points.age },
        { label: 'Пол (' + (selectedSex === 'male' ? 'мужской' : 'женский') + ')', value: points.sex },
        { label: 'Пульс (' + hr + ' уд/мин)', value: points.hr },
        { label: 'Систолическое АД (' + sbp + ' мм рт. ст.)', value: points.sbp },
        { label: 'Частота дыхания (' + rr + '/мин)', value: points.rr },
        { label: 'Температура (' + temp.toFixed(1) + ' \u00B0C)', value: points.temp },
        { label: 'SpO2 (' + spo2 + '%)', value: points.spo2 },
        { label: 'Злокачественное новообразование', value: points.cancer },
        { label: 'Сердечная недостаточность', value: points.hf },
        { label: 'Хроническое заболевание легких', value: points.lung },
        { label: 'Нарушение сознания', value: points.mental }
    ];

    for (var i = 0; i < items.length; i++) {
        var sign = items[i].value > 0 ? '+' : '';
        var bold = items[i].value > 0 ? 'font-weight:bold;color:#0457B5;' : '';
        breakdownHTML += '<div><span>' + items[i].label + '</span>' +
            '<span class="points-value" style="' + bold + '">' +
            sign + items[i].value + '</span></div>';
    }

    document.getElementById('pointsBreakdown').innerHTML = breakdownHTML;

    // Класс риска
    var riskClass, riskLabel, mortality, colorClass;

    if (total <= 65) {
        riskClass = 'I';
        riskLabel = 'очень низкий';
        mortality = '0 - 1,6%';
        colorClass = 'risk-class-I';
    } else if (total <= 85) {
        riskClass = 'II';
        riskLabel = 'низкий';
        mortality = '1,7 - 3,5%';
        colorClass = 'risk-class-II';
    } else if (total <= 105) {
        riskClass = 'III';
        riskLabel = 'промежуточный';
        mortality = '3,2 - 7,1%';
        colorClass = 'risk-class-III';
    } else if (total <= 125) {
        riskClass = 'IV';
        riskLabel = 'высокий';
        mortality = '4,0 - 11,4%';
        colorClass = 'risk-class-IV';
    } else {
        riskClass = 'V';
        riskLabel = 'очень высокий';
        mortality = '10,0 - 24,5%';
        colorClass = 'risk-class-V';
    }

    document.getElementById('totalScore').textContent = total;
    document.getElementById('riskClass').textContent =
        riskClass + ' класс - ' + riskLabel + ' риск';
    document.getElementById('mortality').textContent = mortality;

    // Цветовое оформление строки класса
    var classRow = document.getElementById('classRow');
    classRow.className = '';

    if (riskClass === 'I' || riskClass === 'II') {
        classRow.className = 'dose-row';
    } else if (riskClass === 'III') {
        classRow.className = 'dose-row-warning';
    } else {
        classRow.className = 'dose-row-danger';
    }

    var mortalityRow = document.getElementById('mortalityRow');
    mortalityRow.className = '';
    if (riskClass === 'I' || riskClass === 'II') {
        mortalityRow.className = 'dose-row';
    } else if (riskClass === 'III') {
        mortalityRow.className = 'dose-row-warning';
    } else {
        mortalityRow.className = 'dose-row-danger';
    }

    // Рекомендация
    var note = '';
    if (riskClass === 'I' || riskClass === 'II') {
        note = 'Низкий риск. Согласно рекомендациям ESC, пациенты I-II класса PESI ' +
            'могут рассматриваться для ранней выписки или амбулаторного лечения ' +
            'при условии отсутствия дополнительных факторов риска, стабильной гемодинамики ' +
            'и возможности адекватного наблюдения. Решение принимает лечащий врач.';
    } else if (riskClass === 'III') {
        note = 'Промежуточный риск. Необходима госпитализация и дообследование: ' +
            'ЭхоКГ для оценки правого желудочка, тропонин и BNP/NT-proBNP. ' +
            'По результатам определяют подкатегорию - промежуточно-низкий или промежуточно-высокий риск, ' +
            'что влияет на тактику лечения.';
    } else {
        note = 'Высокий риск. Показана госпитализация в отделение интенсивной терапии, ' +
            'активная антикоагулянтная терапия, рассмотрение тромболизиса. ' +
            'При нестабильной гемодинамике или признаках шока - экстренный тромболизис ' +
            'или хирургическая тромбэктомия. Немедленно вызовите реанимационную бригаду.';
    }

    document.getElementById('resultNote').textContent = note;

    resultDiv.classList.add('active');
}
</script>				</div>
				</div>
					</div>
				</div>
				</div>
		<p>Сообщение <a href="https://vracha-na-dom.ru/kalkulyatory/kalkulyator-pesi-tyazhest-tromboembolii-lyogochnoj-arterii/">Калькулятор PESI (тяжесть тромбоэмболии лёгочной артерии)</a> появились сначала на <a href="https://vracha-na-dom.ru">Вызов врача на дом</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Калькулятор шкалы CRUSADE (риск кровотечения)</title>
		<link>https://vracha-na-dom.ru/kalkulyatory/kalkulyator-shkaly-crusade-risk-krovotecheniya/</link>
		
		<dc:creator><![CDATA[Волкова Елена Андреевна]]></dc:creator>
		<pubDate>Fri, 11 Sep 2026 14:50:40 +0000</pubDate>
				<category><![CDATA[Калькуляторы]]></category>
		<category><![CDATA[Калькуляторы шкал риска и тяжести заболеваний]]></category>
		<guid isPermaLink="false">https://vracha-na-dom.ru/?p=6408</guid>

					<description><![CDATA[<p>Рассчитать риск кровотечения по шкале CRUSADE онлайн Пол пациента: Мужской Женский Женский пол добавляет 8 баллов к общему результату. Также влияет на расчет клиренса креатинина по формуле Кокрофта-Голта. Возраст (лет): Возраст нужен для расчета клиренса креатинина. Сам по себе баллов не дает, но косвенно влияет через почечную функцию. Масса тела (кг): Масса тела используется в [&#8230;]</p>
<p>Сообщение <a href="https://vracha-na-dom.ru/kalkulyatory/kalkulyator-shkaly-crusade-risk-krovotecheniya/">Калькулятор шкалы CRUSADE (риск кровотечения)</a> появились сначала на <a href="https://vracha-na-dom.ru">Вызов врача на дом</a>.</p>
]]></description>
										<content:encoded><![CDATA[		<div data-elementor-type="wp-post" data-elementor-id="6408" class="elementor elementor-6408" data-elementor-settings="{&quot;element_pack_global_tooltip_width&quot;:{&quot;unit&quot;:&quot;px&quot;,&quot;size&quot;:&quot;&quot;,&quot;sizes&quot;:[]},&quot;element_pack_global_tooltip_width_tablet&quot;:{&quot;unit&quot;:&quot;px&quot;,&quot;size&quot;:&quot;&quot;,&quot;sizes&quot;:[]},&quot;element_pack_global_tooltip_width_mobile&quot;:{&quot;unit&quot;:&quot;px&quot;,&quot;size&quot;:&quot;&quot;,&quot;sizes&quot;:[]},&quot;element_pack_global_tooltip_padding&quot;:{&quot;unit&quot;:&quot;px&quot;,&quot;top&quot;:&quot;&quot;,&quot;right&quot;:&quot;&quot;,&quot;bottom&quot;:&quot;&quot;,&quot;left&quot;:&quot;&quot;,&quot;isLinked&quot;:true},&quot;element_pack_global_tooltip_padding_tablet&quot;:{&quot;unit&quot;:&quot;px&quot;,&quot;top&quot;:&quot;&quot;,&quot;right&quot;:&quot;&quot;,&quot;bottom&quot;:&quot;&quot;,&quot;left&quot;:&quot;&quot;,&quot;isLinked&quot;:true},&quot;element_pack_global_tooltip_padding_mobile&quot;:{&quot;unit&quot;:&quot;px&quot;,&quot;top&quot;:&quot;&quot;,&quot;right&quot;:&quot;&quot;,&quot;bottom&quot;:&quot;&quot;,&quot;left&quot;:&quot;&quot;,&quot;isLinked&quot;:true},&quot;element_pack_global_tooltip_border_radius&quot;:{&quot;unit&quot;:&quot;px&quot;,&quot;top&quot;:&quot;&quot;,&quot;right&quot;:&quot;&quot;,&quot;bottom&quot;:&quot;&quot;,&quot;left&quot;:&quot;&quot;,&quot;isLinked&quot;:true},&quot;element_pack_global_tooltip_border_radius_tablet&quot;:{&quot;unit&quot;:&quot;px&quot;,&quot;top&quot;:&quot;&quot;,&quot;right&quot;:&quot;&quot;,&quot;bottom&quot;:&quot;&quot;,&quot;left&quot;:&quot;&quot;,&quot;isLinked&quot;:true},&quot;element_pack_global_tooltip_border_radius_mobile&quot;:{&quot;unit&quot;:&quot;px&quot;,&quot;top&quot;:&quot;&quot;,&quot;right&quot;:&quot;&quot;,&quot;bottom&quot;:&quot;&quot;,&quot;left&quot;:&quot;&quot;,&quot;isLinked&quot;:true}}" data-elementor-post-type="post">
				<div class="elementor-element elementor-element-f7c7514 e-flex e-con-boxed e-con e-parent" data-id="f7c7514" data-element_type="container" data-settings="{&quot;ekit_has_onepagescroll_dot&quot;:&quot;yes&quot;}">
					<div class="e-con-inner">
				<div class="elementor-element elementor-element-86156a1 elementor-widget elementor-widget-html" data-id="86156a1" data-element_type="widget" data-settings="{&quot;ekit_we_effect_on&quot;:&quot;none&quot;}" data-widget_type="html.default">
				<div class="elementor-widget-container">
					<style>
    .calculator-container {
        max-width: 100%;
        margin: 10px auto;
        padding: 10px;
        border: 1px solid #ddd;
        border-radius: 8px;
        background-color: #f9f9f9;
    }
    .calculator-input {
        margin: 15px 0;
    }
    .calculator-input label {
        display: block;
        margin-bottom: 25px;
        font-weight: bold;
    }
    .calculator-input input,
    .calculator-input select {
        width: 100%;
        padding: 10px 18px;
        border: 1px solid #ccc;
        border-radius: 50px;
        font-size: 16px;
        box-sizing: border-box;
    }
    .input-hint {
        font-size: 13px;
        color: #666;
        margin-top: 4px;
    }
    .carb-toggle {
        display: flex;
        gap: 8px;
        margin-bottom: 8px;
    }
    .carb-toggle button {
        flex: 1;
        padding: 9px 8px;
        border: 2px solid #0457B5;
        border-radius: 50px;
        background: white;
        color: #0457B5;
        cursor: pointer;
        font-size: 14px;
        font-weight: bold;
        transition: background 0.15s, color 0.15s;
    }
    .carb-toggle button.active {
        background: #0457B5;
        color: white;
    }
    .calculate-btn {
        background-color: #0457B5;
        color: white;
        padding: 12px 20px;
        border: none;
        border-radius: 50px;
        cursor: pointer;
        font-size: 16px;
        width: 100%;
        margin-top: 10px;
    }
    .calculate-btn:hover {
        background-color: #034499;
    }
    .result {
        margin-top: 20px;
        padding: 15px;
        background-color: #f0f7ff;
        border-left: 4px solid #0457B5;
        display: none;
    }
    .result.active {
        display: block;
    }
    .result h3 {
        margin-top: 0;
        color: #0457B5;
    }
    .dose-highlight {
        font-size: 1.45rem;
        font-weight: bold;
        color: #0457B5;
    }
    .dose-row {
        background-color: #f0fbea;
        border-left: 3px solid #7BC15B;
        padding: 8px 12px;
        margin: 8px 0;
        border-radius: 0 4px 4px 0;
    }
    .dose-row-primary {
        background-color: #e8f0fb;
        border-left: 3px solid #0457B5;
        padding: 8px 12px;
        margin: 8px 0;
        border-radius: 0 4px 4px 0;
    }
    .dose-row-primary .dose-highlight {
        font-size: 1.7rem;
    }
    .info-note {
        background-color: #f0fbea;
        border-left: 4px solid #7BC15B;
        padding: 10px;
        margin-top: 10px;
        font-size: 14px;
    }
    .warning {
        background-color: #fff3cd;
        border-left: 4px solid #ffc107;
        padding: 10px;
        margin-top: 15px;
    }
    .error-block {
        background-color: #fde8e8;
        border-left: 4px solid #e53935;
        padding: 10px;
        margin-top: 15px;
        display: none;
        font-size: 14px;
    }
    .content-section {
        max-width: 100%;
        margin: 20px auto;
        padding: 20px;
        line-height: 1.6;
    }
    .content-section h2 {
        color: #0457B5;
        margin-top: 25px;
    }
    .content-section h3 {
        color: #333;
        margin-top: 25px;
    }
    .content-section ul {
        padding-left: 20px;
    }
    .content-section li {
        margin: 8px 0;
    }
    .dose-table {
        width: 100%;
        border-collapse: collapse;
        margin: 10px 0;
        font-size: 14px;
    }
    .dose-table th,
    .dose-table td {
        border: 1px solid #ddd;
        padding: 8px 10px;
        text-align: left;
    }
    .dose-table th {
        background-color: #e8f0fb;
        font-weight: bold;
        color: #0457B5;
    }
    .dose-table tr:nth-child(even) {
        background-color: #f9f9f9;
    }
    .result-params {
        font-size: 14px;
        color: #444;
        margin-bottom: 12px;
        padding: 8px 10px;
        background: #f9f9f9;
        border-radius: 4px;
    }
    .result-params span {
        display: inline-block;
        margin-right: 16px;
    }
    .score-breakdown {
        margin: 10px 0;
        font-size: 14px;
    }
    .score-breakdown-row {
        display: flex;
        justify-content: space-between;
        padding: 5px 0;
        border-bottom: 1px solid #eee;
    }
    .score-breakdown-row:last-child {
        border-bottom: none;
    }
    .score-breakdown-label {
        color: #555;
    }
    .score-breakdown-value {
        font-weight: bold;
        color: #0457B5;
    }
    .risk-very-low {
        background-color: #e8f5e9;
        border-left-color: #4caf50;
    }
    .risk-low {
        background-color: #f0fbea;
        border-left-color: #8bc34a;
    }
    .risk-moderate {
        background-color: #fff8e1;
        border-left-color: #ffc107;
    }
    .risk-high {
        background-color: #fff3e0;
        border-left-color: #ff9800;
    }
    .risk-very-high {
        background-color: #fde8e8;
        border-left-color: #e53935;
    }
    .fact-block {
        background-color: #f5f5f5;
        border-radius: 6px;
        padding: 14px 16px;
        margin: 14px 0;
    }
    .fact-block-title {
        font-weight: bold;
        color: #0457B5;
        margin-bottom: 6px;
    }
    .disclaimer-block {
        background-color: #fff3cd;
        border-left: 4px solid #ffc107;
        padding: 12px 16px;
        margin: 16px 0;
        border-radius: 0 6px 6px 0;
    }
</style>

<div class="content-section">
    <h2>Рассчитать риск кровотечения по шкале CRUSADE онлайн</h2>

    <div class="calculator-container">

        <div class="calculator-input">
            <label>Пол пациента:</label>
            <div class="carb-toggle">
                <button id="btnMale" class="active"
                        onclick="switchSex('male')">
                    Мужской
                </button>
                <button id="btnFemale"
                        onclick="switchSex('female')">
                    Женский
                </button>
            </div>
            <div class="input-hint">
                Женский пол добавляет 8 баллов к общему
                результату. Также влияет на расчет
                клиренса креатинина по формуле
                Кокрофта-Голта.
            </div>
        </div>

        <div class="calculator-input">
            <label for="age">
                Возраст (лет):
            </label>
            <input type="number" id="age" min="18" max="120"
                   step="1" placeholder="Например: 67">
            <div class="input-hint">
                Возраст нужен для расчета клиренса
                креатинина. Сам по себе баллов не дает,
                но косвенно влияет через почечную функцию.
            </div>
        </div>

        <div class="calculator-input">
            <label for="weight">
                Масса тела (кг):
            </label>
            <input type="number" id="weight" min="30" max="300"
                   step="0.5" placeholder="Например: 78">
            <div class="input-hint">
                Масса тела используется в формуле
                Кокрофта-Голта для оценки почечной функции.
            </div>
        </div>

        <div class="calculator-input">
            <label>Креатинин сыворотки:</label>
            <div class="carb-toggle">
                <button id="btnMkm" class="active"
                        onclick="switchCreatUnit('umol')">
                    мкмоль/л
                </button>
                <button id="btnMg"
                        onclick="switchCreatUnit('mgdl')">
                    мг/дл
                </button>
            </div>
            <input type="number" id="creatinine" min="0.1" max="2000"
                   step="0.1" placeholder="Например: 105">
            <div class="input-hint" id="creatHint">
                Стандартный анализ крови. Если значение
                в мкмоль/л, калькулятор переведет
                в мг/дл автоматически (деление на 88,4).
            </div>
        </div>

        <div class="calculator-input">
            <label for="hematocrit">
                Гематокрит (%):
            </label>
            <input type="number" id="hematocrit" min="10" max="65"
                   step="0.1" placeholder="Например: 39">
            <div class="input-hint">
                Базовый гематокрит при поступлении.
                Определяет один из ключевых параметров
                шкалы: низкий гематокрит повышает риск
                кровотечения.
            </div>
        </div>

        <div class="calculator-input">
            <label for="heartRate">
                Частота сердечных сокращений (уд/мин):
            </label>
            <input type="number" id="heartRate" min="20" max="250"
                   step="1" placeholder="Например: 82">
            <div class="input-hint">
                ЧСС при поступлении. Тахикардия выше
                100 уд/мин существенно добавляет баллы.
            </div>
        </div>

        <div class="calculator-input">
            <label for="systolicBP">
                Систолическое артериальное давление (мм рт.ст.):
            </label>
            <input type="number" id="systolicBP" min="40" max="300"
                   step="1" placeholder="Например: 140">
            <div class="input-hint">
                Систолическое АД при поступлении.
                Шкала учитывает и гипотонию (ниже 90),
                и гипертонию (выше 180) как факторы
                повышенного риска.
            </div>
        </div>

        <div class="calculator-input">
            <label>Признаки сердечной недостаточности
                при поступлении:</label>
            <div class="carb-toggle">
                <button id="btnChfNo" class="active"
                        onclick="switchChf(false)">
                    Нет
                </button>
                <button id="btnChfYes"
                        onclick="switchChf(true)">
                    Да
                </button>
            </div>
            <div class="input-hint">
                Одышка при нагрузке, ортопноэ, влажные хрипы
                более чем над третью легочных полей,
                набухание вен шеи, ритм галопа (S3),
                застой на рентгенограмме. Плюс 7 баллов.
            </div>
        </div>

        <div class="calculator-input">
            <label>Заболевание сосудов в анамнезе:</label>
            <div class="carb-toggle">
                <button id="btnVascNo" class="active"
                        onclick="switchVascular(false)">
                    Нет
                </button>
                <button id="btnVascYes"
                        onclick="switchVascular(true)">
                    Да
                </button>
            </div>
            <div class="input-hint">
                Периферическая артериальная болезнь
                или перенесенный инсульт. Плюс 6 баллов.
            </div>
        </div>

        <div class="calculator-input">
            <label>Сахарный диабет:</label>
            <div class="carb-toggle">
                <button id="btnDmNo" class="active"
                        onclick="switchDM(false)">
                    Нет
                </button>
                <button id="btnDmYes"
                        onclick="switchDM(true)">
                    Да
                </button>
            </div>
            <div class="input-hint">
                Диабет любого типа в анамнезе. Плюс 6 баллов.
            </div>
        </div>

        <button class="calculate-btn" onclick="calculateCRUSADE()">
            Рассчитать риск
        </button>

        <div class="result" id="result">
            <h3>Результат по шкале CRUSADE</h3>

            <div class="result-params" id="resultParams"></div>

            <div class="score-breakdown" id="scoreBreakdown"></div>

            <div class="dose-row-primary" id="totalScoreRow">
                <strong>Общий балл CRUSADE:</strong><br>
                <span class="dose-highlight" id="totalScore">-</span>
            </div>

            <div class="dose-row" id="riskRow">
                <strong>Категория риска:</strong><br>
                <span class="dose-highlight" id="riskCategory">-</span>
                <br>
                <span id="riskRate"></span>
            </div>

            <div class="info-note" id="resultNote"></div>

            <div class="warning">
                <strong>Важно:</strong> Шкала CRUSADE
                разработана для оценки исходного риска
                большого кровотечения у пациентов
                с ИМбпST (NSTEMI) в стационаре. Она помогает
                принять решение о тактике антитромботической
                терапии, но не заменяет клиническую оценку.
                Результат обсудите с лечащим кардиологом.
            </div>
        </div>

        <div class="error-block" id="errorBlock"></div>

    </div>

    <h3>Таблица баллов шкалы CRUSADE</h3>
    <p>Полная система подсчета баллов. Общая сумма
    определяет категорию риска большого внутрибольничного
    кровотечения. Максимально возможный балл - 96.</p>

    <table class="dose-table">
        <thead>
            <tr>
                <th>Параметр</th>
                <th>Диапазон значений</th>
                <th>Баллы</th>
            </tr>
        </thead>
        <tbody>
            <tr><td rowspan="5"><strong>Гематокрит</strong></td>
                <td>&lt; 31%</td><td>9</td></tr>
            <tr><td>31-33,9%</td><td>7</td></tr>
            <tr><td>34-36,9%</td><td>3</td></tr>
            <tr><td>37-39,9%</td><td>2</td></tr>
            <tr><td>40% и выше</td><td>0</td></tr>

            <tr><td rowspan="6"><strong>Клиренс креатинина</strong></td>
                <td>15 мл/мин и менее</td><td>39</td></tr>
            <tr><td>16-30 мл/мин</td><td>35</td></tr>
            <tr><td>31-60 мл/мин</td><td>28</td></tr>
            <tr><td>61-90 мл/мин</td><td>17</td></tr>
            <tr><td>91-120 мл/мин</td><td>7</td></tr>
            <tr><td>более 120 мл/мин</td><td>0</td></tr>

            <tr><td rowspan="7"><strong>ЧСС</strong></td>
                <td>70 уд/мин и менее</td><td>0</td></tr>
            <tr><td>71-80 уд/мин</td><td>1</td></tr>
            <tr><td>81-90 уд/мин</td><td>3</td></tr>
            <tr><td>91-100 уд/мин</td><td>6</td></tr>
            <tr><td>101-110 уд/мин</td><td>8</td></tr>
            <tr><td>111-120 уд/мин</td><td>10</td></tr>
            <tr><td>121 уд/мин и более</td><td>11</td></tr>

            <tr><td rowspan="6"><strong>Систолическое АД</strong></td>
                <td>90 мм рт.ст. и менее</td><td>10</td></tr>
            <tr><td>91-100 мм рт.ст.</td><td>8</td></tr>
            <tr><td>101-120 мм рт.ст.</td><td>5</td></tr>
            <tr><td>121-180 мм рт.ст.</td><td>1</td></tr>
            <tr><td>181-200 мм рт.ст.</td><td>3</td></tr>
            <tr><td>201 мм рт.ст. и более</td><td>5</td></tr>

            <tr><td rowspan="2"><strong>Пол</strong></td>
                <td>Мужской</td><td>0</td></tr>
            <tr><td>Женский</td><td>8</td></tr>

            <tr><td rowspan="2"><strong>Признаки ХСН</strong></td>
                <td>Нет</td><td>0</td></tr>
            <tr><td>Да</td><td>7</td></tr>

            <tr><td rowspan="2"><strong>Заболевание сосудов</strong></td>
                <td>Нет</td><td>0</td></tr>
            <tr><td>Да</td><td>6</td></tr>

            <tr><td rowspan="2"><strong>Сахарный диабет</strong></td>
                <td>Нет</td><td>0</td></tr>
            <tr><td>Да</td><td>6</td></tr>
        </tbody>
    </table>

    <h3>Категории риска и вероятность кровотечения</h3>
    <table class="dose-table">
        <thead>
            <tr>
                <th>Категория</th>
                <th>Балл CRUSADE</th>
                <th>Частота кровотечений</th>
            </tr>
        </thead>
        <tbody>
            <tr><td>Очень низкий</td><td>20 и менее</td><td>3,1%</td></tr>
            <tr><td>Низкий</td><td>21-30</td><td>5,5%</td></tr>
            <tr><td>Умеренный</td><td>31-40</td><td>8,6%</td></tr>
            <tr><td>Высокий</td><td>41-50</td><td>11,9%</td></tr>
            <tr><td>Очень высокий</td><td>более 50</td><td>19,5%</td></tr>
        </tbody>
    </table>

    <h3>Что такое шкала CRUSADE</h3>
    <p>CRUSADE - шкала оценки риска большого кровотечения
    у пациентов с острым коронарным синдромом без подъема
    сегмента ST (ИМбпST, он же NSTEMI). Название расшифровывается
    как Can Rapid risk stratification of Unstable angina patients
    Suppress ADverse outcomes with Early implementation of the
    ACC/AHA guidelines.</p>

    <p>Шкалу создали в 2009 году на основе данных почти
    90 тысяч пациентов из реестра CRUSADE, который работал
    в 485 клиниках США с 2001 по 2006 год. Авторы - группа
    кардиологов под руководством Sumeet Subherwal из Вашингтонского
    университета. Результаты опубликованы в журнале Circulation.</p>

    <p>Главная задача шкалы - дополнить оценку ишемического
    риска (шкалы TIMI, GRACE) оценкой геморрагического.
    Если пациент набирает высокий балл по CRUSADE, врач
    может выбрать менее агрессивную антитромботическую
    схему, использовать лучевой доступ вместо бедренного
    при коронарографии или уменьшить дозы антикоагулянтов.</p>

    <h3>Описание калькулятора</h3>
    <p>Калькулятор принимает десять входных значений.
    Шесть из них соответствуют параметрам шкалы напрямую:
    гематокрит, ЧСС, систолическое АД, пол, признаки
    сердечной недостаточности, заболевание сосудов,
    сахарный диабет. Три дополнительных поля - возраст,
    масса тела и креатинин сыворотки - нужны для расчета
    клиренса креатинина по формуле Кокрофта-Голта.
    Креатинин можно ввести в мкмоль/л или мг/дл.</p>

    <p>На выходе калькулятор показывает подробную
    расшифровку: сколько баллов дал каждый параметр,
    вычисленный клиренс креатинина, общий балл, категорию
    риска и статистическую вероятность большого кровотечения
    в стационаре по данным оригинального исследования.</p>

    <h3>Формула расчета клиренса креатинина</h3>
    <p>Калькулятор использует формулу Кокрофта-Голта,
    как и в оригинальном исследовании CRUSADE.</p>

    <p><strong>Для мужчин:</strong></p>
    <ul>
        <li>КлКр (мл/мин) = ((140 - возраст) x масса тела в кг) /
        (72 x креатинин в мг/дл)</li>
    </ul>

    <p><strong>Для женщин:</strong></p>
    <ul>
        <li>КлКр (мл/мин) = ((140 - возраст) x масса тела в кг) /
        (72 x креатинин в мг/дл) x 0,85</li>
    </ul>

    <p>Если креатинин введен в мкмоль/л, калькулятор
    переводит его в мг/дл делением на 88,4. Пример:
    креатинин 115 мкмоль/л = 115 / 88,4 = 1,30 мг/дл.
    Для мужчины 65 лет массой 80 кг: КлКр = ((140 - 65) x 80) /
    (72 x 1,30) = 6000 / 93,6 = 64,1 мл/мин.</p>

    <h3>Какие кровотечения считаются большими</h3>
    <p>В исследовании CRUSADE большое кровотечение
    определяли по четырем критериям: внутричерепное
    кровоизлияние, забрюшинное кровотечение, падение
    гематокрита на 12% и более от исходного, а также
    переливание эритроцитарной массы при определенных
    условиях. Именно для прогноза таких событий и создана
    шкала.</p>

    <p>Среди пациентов с большим кровотечением
    внутрибольничная смертность оказалась значительно
    выше, чем среди тех, кто кровотечения не перенес.
    Это подтверждает клиническую значимость оценки
    геморрагического риска до начала лечения.</p>

    <h3>Как интерпретировать результат</h3>
    <p>Балл CRUSADE от 1 до 20 говорит о минимальном
    риске - большое кровотечение случается примерно
    у 3 пациентов из 100. На противоположном полюсе -
    балл выше 50: кровотечение грозит почти каждому
    пятому пациенту (19,5%).</p>

    <p>Шкала не говорит, что кровотечение обязательно
    произойдет. Она показывает вероятность, основанную
    на статистике большой группы реальных пациентов.
    Врач использует эту информацию, чтобы взвесить
    пользу агрессивной антитромботической терапии против
    ее рисков.</p>

    <p>Важный нюанс: в модель намеренно не включены
    назначения врача (антикоагулянты, ингибиторы
    GP IIb/IIIa, инвазивная стратегия). Это сделано
    специально, чтобы шкала оценивала исходный риск
    до начала лечения и помогала выбрать терапию, а не
    описывала ее последствия.</p>

    <h3>Преимущества калькулятора</h3>
    <ul>
        <li>Автоматический расчет клиренса креатинина
        по Кокрофту-Голту - не нужно считать отдельно
        или искать результат в выписке</li>
        <li>Ввод креатинина в мкмоль/л или мг/дл
        с мгновенным пересчетом - подходит для
        лабораторий с разными стандартами отчетов</li>
        <li>Подробная расшифровка баллов по каждому
        параметру - видно, какой фактор вносит
        наибольший вклад</li>
        <li>Мгновенная категоризация с процентом
        вероятности кровотечения из оригинального
        исследования</li>
        <li>Валидация на 89 000 пациентов из
        485 клиник - это не теоретическая модель,
        а инструмент, проверенный на реальной
        клинической практике</li>
    </ul>

    <h3>Ограничения шкалы</h3>
    <p>CRUSADE разработана на популяции пациентов
    с NSTEMI из клиник США. При использовании
    в других популяциях точность может отличаться,
    хотя последующие исследования подтвердили
    работоспособность шкалы в азиатских и европейских
    когортах.</p>

    <p>Шкала не учитывает ряд факторов: прием
    варфарина или других пероральных антикоагулянтов
    на момент госпитализации, историю кровотечений
    в анамнезе, нарушения свертываемости.
    Пациенты на варфарине были исключены из
    оригинального исследования.</p>

    <p>С-статистика модели (0,71-0,72) показывает
    хорошую, но не идеальную дискриминацию.
    Шкала работает лучше для групповой стратификации,
    чем для точного индивидуального прогноза.
    Клиническое суждение врача остается
    решающим фактором.</p>

    <h2>Факты и мнения о шкале CRUSADE</h2>

    <div class="fact-block">
        <div class="fact-block-title">Мнение эксперта</div>
        <p>Профессор Карен Александер (Karen P. Alexander),
        один из авторов шкалы CRUSADE и кардиолог
        Университета Дьюка, доктор медицины, неоднократно
        отмечала в своих публикациях, что оценка риска
        кровотечения должна стать такой же рутинной
        частью ведения пациента с острым коронарным
        синдромом, как и оценка ишемического риска.
        По ее словам, предотвращение кровотечений - реальный
        и достижимый шаг к снижению смертности,
        особенно у пожилых пациентов с множественными
        факторами риска, где агрессивная антитромботическая
        терапия чаще приносит вред, чем пользу.</p>
    </div>

    <div class="fact-block">
        <div class="fact-block-title">Исторический факт</div>
        <p>Реестр CRUSADE начал работу в ноябре 2001 года
        как одна из крупнейших инициатив по улучшению
        качества лечения острого коронарного синдрома
        в США. За пять лет он собрал данные более чем
        118 тысяч пациентов из сотен клиник по всей стране.
        Изначально проект создавался не для разработки
        шкалы кровотечений, а для оценки соблюдения
        клинических рекомендаций ACC/AHA. Идея посчитать
        геморрагический риск появилась позже, когда
        анализ данных показал, что большие кровотечения
        в пятикратно повышают 30-дневную смертность.
        Шкала стала побочным, но, возможно, самым ценным
        результатом всего проекта.</p>
    </div>

    <div class="fact-block">
        <div class="fact-block-title">Современные исследования</div>
        <p>Исследование 2024 года на базе Тайского реестра
        чрескожных коронарных вмешательств (более 5 900
        пациентов с NSTEMI) показало, что упрощенная версия
        шкалы CRUSADE, использующая всего четыре параметра
        (гематокрит, клиренс креатинина, ЧСС и признаки
        сердечной недостаточности), прогнозирует кровотечение
        с С-статистикой 0,837 - даже точнее, чем полная
        восьмифакторная версия. Эти данные открывают путь
        к упрощению инструмента без потери точности,
        что особенно важно в условиях экстренной помощи,
        когда времени на сбор всех восьми параметров мало.</p>
    </div>

    <div class="disclaimer-block">
        <strong>Внимание:</strong> Калькулятор предназначен
        для информационных и образовательных целей.
        Результат не заменяет консультацию кардиолога
        или другого лечащего врача. Любые решения
        об антитромботической терапии, инвазивной стратегии
        и дозировании препаратов принимает только врач
        на основе полной клинической картины, анамнеза
        и результатов обследования. Если вы или ваш
        близкий находитесь в ситуации острого коронарного
        синдрома - обращайтесь за экстренной медицинской
        помощью.
    </div>

</div>

<script>
let patientSex = 'male';
let creatUnit = 'umol';
let hasChf = false;
let hasVascular = false;
let hasDM = false;

function switchSex(sex) {
    patientSex = sex;
    document.getElementById('btnMale')
        .classList.toggle('active', sex === 'male');
    document.getElementById('btnFemale')
        .classList.toggle('active', sex === 'female');
    hideResult();
}

function switchCreatUnit(unit) {
    creatUnit = unit;
    document.getElementById('btnMkm')
        .classList.toggle('active', unit === 'umol');
    document.getElementById('btnMg')
        .classList.toggle('active', unit === 'mgdl');

    var hintEl = document.getElementById('creatHint');
    var inputEl = document.getElementById('creatinine');

    if (unit === 'mgdl') {
        hintEl.textContent =
            'Стандартная единица измерения в США. ' +
            'Для перевода из мкмоль/л разделите на 88,4.';
        inputEl.placeholder = 'Например: 1.2';
    } else {
        hintEl.textContent =
            'Стандартный анализ крови. Если значение ' +
            'в мкмоль/л, калькулятор переведет ' +
            'в мг/дл автоматически (деление на 88,4).';
        inputEl.placeholder = 'Например: 105';
    }
    hideResult();
}

function switchChf(val) {
    hasChf = val;
    document.getElementById('btnChfNo')
        .classList.toggle('active', !val);
    document.getElementById('btnChfYes')
        .classList.toggle('active', val);
    hideResult();
}

function switchVascular(val) {
    hasVascular = val;
    document.getElementById('btnVascNo')
        .classList.toggle('active', !val);
    document.getElementById('btnVascYes')
        .classList.toggle('active', val);
    hideResult();
}

function switchDM(val) {
    hasDM = val;
    document.getElementById('btnDmNo')
        .classList.toggle('active', !val);
    document.getElementById('btnDmYes')
        .classList.toggle('active', val);
    hideResult();
}

function hideResult() {
    document.getElementById('result').classList.remove('active');
    document.getElementById('errorBlock').style.display = 'none';
}

function showError(msg) {
    var el = document.getElementById('errorBlock');
    el.textContent = msg;
    el.style.display = 'block';
}

function getHctScore(hct) {
    if (hct < 31) return 9;
    if (hct < 34) return 7;
    if (hct < 37) return 3;
    if (hct < 40) return 2;
    return 0;
}

function getCrClScore(crcl) {
    if (crcl <= 15) return 39;
    if (crcl <= 30) return 35;
    if (crcl <= 60) return 28;
    if (crcl <= 90) return 17;
    if (crcl <= 120) return 7;
    return 0;
}

function getHRScore(hr) {
    if (hr <= 70) return 0;
    if (hr <= 80) return 1;
    if (hr <= 90) return 3;
    if (hr <= 100) return 6;
    if (hr <= 110) return 8;
    if (hr <= 120) return 10;
    return 11;
}

function getSBPScore(sbp) {
    if (sbp <= 90) return 10;
    if (sbp <= 100) return 8;
    if (sbp <= 120) return 5;
    if (sbp <= 180) return 1;
    if (sbp <= 200) return 3;
    return 5;
}

function getRiskInfo(score) {
    if (score <= 20) return {
        cat: 'Очень низкий',
        rate: '3,1%',
        cls: 'risk-very-low'
    };
    if (score <= 30) return {
        cat: 'Низкий',
        rate: '5,5%',
        cls: 'risk-low'
    };
    if (score <= 40) return {
        cat: 'Умеренный',
        rate: '8,6%',
        cls: 'risk-moderate'
    };
    if (score <= 50) return {
        cat: 'Высокий',
        rate: '11,9%',
        cls: 'risk-high'
    };
    return {
        cat: 'Очень высокий',
        rate: '19,5%',
        cls: 'risk-very-high'
    };
}

function calculateCRUSADE() {
    var age = parseFloat(document.getElementById('age').value);
    var weight = parseFloat(document.getElementById('weight').value);
    var creatRaw = parseFloat(
        document.getElementById('creatinine').value
    );
    var hct = parseFloat(
        document.getElementById('hematocrit').value
    );
    var hr = parseFloat(
        document.getElementById('heartRate').value
    );
    var sbp = parseFloat(
        document.getElementById('systolicBP').value
    );

    var resultDiv = document.getElementById('result');
    var errorDiv = document.getElementById('errorBlock');

    resultDiv.classList.remove('active');
    errorDiv.style.display = 'none';

    if (isNaN(age) || age < 18 || age > 120) {
        showError('Введите возраст от 18 до 120 лет.');
        return;
    }
    if (isNaN(weight) || weight < 30 || weight > 300) {
        showError('Введите массу тела от 30 до 300 кг.');
        return;
    }
    if (isNaN(creatRaw) || creatRaw <= 0) {
        showError(
            'Введите уровень креатинина сыворотки. ' +
            'Значение должно быть больше нуля.'
        );
        return;
    }
    if (creatUnit === 'umol' && creatRaw > 2000) {
        showError(
            'Креатинин в мкмоль/л не может ' +
            'превышать 2000. Проверьте значение.'
        );
        return;
    }
    if (creatUnit === 'mgdl' && creatRaw > 25) {
        showError(
            'Креатинин в мг/дл не может ' +
            'превышать 25. Проверьте значение.'
        );
        return;
    }
    if (isNaN(hct) || hct < 10 || hct > 65) {
        showError(
            'Введите гематокрит от 10 до 65%. ' +
            'Значение берется из общего анализа крови.'
        );
        return;
    }
    if (isNaN(hr) || hr < 20 || hr > 250) {
        showError(
            'Введите ЧСС от 20 до 250 уд/мин.'
        );
        return;
    }
    if (isNaN(sbp) || sbp < 40 || sbp > 300) {
        showError(
            'Введите систолическое АД ' +
            'от 40 до 300 мм рт.ст.'
        );
        return;
    }

    // Расчет креатинина в мг/дл
    var creatMgDl = creatUnit === 'umol'
        ? creatRaw / 88.4
        : creatRaw;

    // Клиренс креатинина по Кокрофту-Голту
    var crcl = ((140 - age) * weight) / (72 * creatMgDl);
    if (patientSex === 'female') {
        crcl *= 0.85;
    }
    if (crcl < 0) crcl = 0;

    // Баллы по каждому параметру
    var hctScore = getHctScore(hct);
    var crclScore = getCrClScore(crcl);
    var hrScore = getHRScore(hr);
    var sbpScore = getSBPScore(sbp);
    var sexScore = patientSex === 'female' ? 8 : 0;
    var chfScore = hasChf ? 7 : 0;
    var vascScore = hasVascular ? 6 : 0;
    var dmScore = hasDM ? 6 : 0;

    var totalScore = hctScore + crclScore + hrScore +
        sbpScore + sexScore + chfScore + vascScore + dmScore;

    var risk = getRiskInfo(totalScore);

    // Отображение параметров
    var creatDisplay = creatUnit === 'umol'
        ? creatRaw.toFixed(0) + ' мкмоль/л (' +
          creatMgDl.toFixed(2) + ' мг/дл)'
        : creatRaw.toFixed(2) + ' мг/дл';

    document.getElementById('resultParams').innerHTML =
        '<span>Пол: <strong>' +
        (patientSex === 'female' ? 'женский' : 'мужской') +
        '</strong></span>' +
        '<span>Возраст: <strong>' +
        age.toFixed(0) + ' лет</strong></span>' +
        '<span>Креатинин: <strong>' +
        creatDisplay + '</strong></span><br>' +
        '<span>Клиренс креатинина: <strong>' +
        crcl.toFixed(1) + ' мл/мин</strong></span>';

    // Расшифровка баллов
    var rows = [
        ['Гематокрит (' + hct.toFixed(1) + '%)', hctScore],
        ['Клиренс креатинина (' +
         crcl.toFixed(1) + ' мл/мин)', crclScore],
        ['ЧСС (' + hr.toFixed(0) + ' уд/мин)', hrScore],
        ['Систолическое АД (' +
         sbp.toFixed(0) + ' мм рт.ст.)', sbpScore],
        ['Пол (' +
         (patientSex === 'female'
             ? 'женский' : 'мужской') + ')', sexScore],
        ['Признаки ХСН (' +
         (hasChf ? 'да' : 'нет') + ')', chfScore],
        ['Заболевание сосудов (' +
         (hasVascular ? 'да' : 'нет') + ')', vascScore],
        ['Сахарный диабет (' +
         (hasDM ? 'да' : 'нет') + ')', dmScore]
    ];

    var breakdownHtml = '';
    for (var i = 0; i < rows.length; i++) {
        breakdownHtml +=
            '<div class="score-breakdown-row">' +
            '<span class="score-breakdown-label">' +
            rows[i][0] + '</span>' +
            '<span class="score-breakdown-value">' +
            rows[i][1] + ' б.</span></div>';
    }
    document.getElementById('scoreBreakdown').innerHTML =
        breakdownHtml;

    document.getElementById('totalScore').textContent =
        totalScore + ' из 96';
    document.getElementById('riskCategory').textContent =
        risk.cat;
    document.getElementById('riskRate').textContent =
        'Вероятность большого кровотечения: ' + risk.rate;

    // Стилизация блока риска
    var riskRow = document.getElementById('riskRow');
    riskRow.className = 'dose-row ' + risk.cls;

    // Примечание
    var note = '';
    if (totalScore <= 20) {
        note =
            'Риск минимальный. Стандартная антитромботическая ' +
            'терапия обычно безопасна. Тем не менее ' +
            'решение о тактике принимает лечащий врач.';
    } else if (totalScore <= 30) {
        note =
            'Низкий риск кровотечения. Большинство пациентов ' +
            'хорошо переносят стандартные схемы лечения. ' +
            'Соблюдайте назначения кардиолога.';
    } else if (totalScore <= 40) {
        note =
            'Умеренный риск. Стоит обсудить с врачом ' +
            'выбор антитромботических препаратов ' +
            'и способ сосудистого доступа при коронарографии ' +
            '(лучевой доступ может снизить риск).';
    } else if (totalScore <= 50) {
        note =
            'Высокий риск кровотечения. Необходим тщательный ' +
            'подбор антикоагулянтов и дезагрегантов. ' +
            'Лучевой доступ при вмешательстве, контроль ' +
            'дозирования, мониторинг гемоглобина.';
    } else {
        note =
            'Очень высокий риск. Каждый пятый пациент ' +
            'в этой группе переносит большое кровотечение ' +
            'в стационаре. Требуется индивидуальный ' +
            'подход к антитромботической терапии, ' +
            'по возможности - менее агрессивные схемы ' +
            'и лучевой доступ для катетеризации.';
    }
    document.getElementById('resultNote').textContent = note;

    resultDiv.classList.add('active');
}
</script>				</div>
				</div>
					</div>
				</div>
				</div>
		<p>Сообщение <a href="https://vracha-na-dom.ru/kalkulyatory/kalkulyator-shkaly-crusade-risk-krovotecheniya/">Калькулятор шкалы CRUSADE (риск кровотечения)</a> появились сначала на <a href="https://vracha-na-dom.ru">Вызов врача на дом</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Калькулятор классификации Killip (сердечная недостаточность после инфаркта)</title>
		<link>https://vracha-na-dom.ru/kalkulyatory/kalkulyator-klassifikaczii-killip-serdechnaya-nedostatochnost-posle-infarkta/</link>
		
		<dc:creator><![CDATA[Волкова Елена Андреевна]]></dc:creator>
		<pubDate>Fri, 11 Sep 2026 14:40:53 +0000</pubDate>
				<category><![CDATA[Калькуляторы]]></category>
		<category><![CDATA[Калькуляторы шкал риска и тяжести заболеваний]]></category>
		<guid isPermaLink="false">https://vracha-na-dom.ru/?p=6403</guid>

					<description><![CDATA[<p>Рассчитать класс по Killip онлайн Отметьте клинические признаки, выявленные при осмотре пациента с острым инфарктом миокарда: Выберите все симптомы, которые присутствуют на момент осмотра. Если ни один признак не отмечен, калькулятор определит Killip I. Признаки умеренной сердечной недостаточности Класс Killip II &#8212; застой без отека легких Влажные хрипы в нижних отделах легких (менее половины легочных [&#8230;]</p>
<p>Сообщение <a href="https://vracha-na-dom.ru/kalkulyatory/kalkulyator-klassifikaczii-killip-serdechnaya-nedostatochnost-posle-infarkta/">Калькулятор классификации Killip (сердечная недостаточность после инфаркта)</a> появились сначала на <a href="https://vracha-na-dom.ru">Вызов врача на дом</a>.</p>
]]></description>
										<content:encoded><![CDATA[		<div data-elementor-type="wp-post" data-elementor-id="6403" class="elementor elementor-6403" data-elementor-settings="{&quot;element_pack_global_tooltip_width&quot;:{&quot;unit&quot;:&quot;px&quot;,&quot;size&quot;:&quot;&quot;,&quot;sizes&quot;:[]},&quot;element_pack_global_tooltip_width_tablet&quot;:{&quot;unit&quot;:&quot;px&quot;,&quot;size&quot;:&quot;&quot;,&quot;sizes&quot;:[]},&quot;element_pack_global_tooltip_width_mobile&quot;:{&quot;unit&quot;:&quot;px&quot;,&quot;size&quot;:&quot;&quot;,&quot;sizes&quot;:[]},&quot;element_pack_global_tooltip_padding&quot;:{&quot;unit&quot;:&quot;px&quot;,&quot;top&quot;:&quot;&quot;,&quot;right&quot;:&quot;&quot;,&quot;bottom&quot;:&quot;&quot;,&quot;left&quot;:&quot;&quot;,&quot;isLinked&quot;:true},&quot;element_pack_global_tooltip_padding_tablet&quot;:{&quot;unit&quot;:&quot;px&quot;,&quot;top&quot;:&quot;&quot;,&quot;right&quot;:&quot;&quot;,&quot;bottom&quot;:&quot;&quot;,&quot;left&quot;:&quot;&quot;,&quot;isLinked&quot;:true},&quot;element_pack_global_tooltip_padding_mobile&quot;:{&quot;unit&quot;:&quot;px&quot;,&quot;top&quot;:&quot;&quot;,&quot;right&quot;:&quot;&quot;,&quot;bottom&quot;:&quot;&quot;,&quot;left&quot;:&quot;&quot;,&quot;isLinked&quot;:true},&quot;element_pack_global_tooltip_border_radius&quot;:{&quot;unit&quot;:&quot;px&quot;,&quot;top&quot;:&quot;&quot;,&quot;right&quot;:&quot;&quot;,&quot;bottom&quot;:&quot;&quot;,&quot;left&quot;:&quot;&quot;,&quot;isLinked&quot;:true},&quot;element_pack_global_tooltip_border_radius_tablet&quot;:{&quot;unit&quot;:&quot;px&quot;,&quot;top&quot;:&quot;&quot;,&quot;right&quot;:&quot;&quot;,&quot;bottom&quot;:&quot;&quot;,&quot;left&quot;:&quot;&quot;,&quot;isLinked&quot;:true},&quot;element_pack_global_tooltip_border_radius_mobile&quot;:{&quot;unit&quot;:&quot;px&quot;,&quot;top&quot;:&quot;&quot;,&quot;right&quot;:&quot;&quot;,&quot;bottom&quot;:&quot;&quot;,&quot;left&quot;:&quot;&quot;,&quot;isLinked&quot;:true}}" data-elementor-post-type="post">
				<div class="elementor-element elementor-element-f7c7514 e-flex e-con-boxed e-con e-parent" data-id="f7c7514" data-element_type="container" data-settings="{&quot;ekit_has_onepagescroll_dot&quot;:&quot;yes&quot;}">
					<div class="e-con-inner">
				<div class="elementor-element elementor-element-86156a1 elementor-widget elementor-widget-html" data-id="86156a1" data-element_type="widget" data-settings="{&quot;ekit_we_effect_on&quot;:&quot;none&quot;}" data-widget_type="html.default">
				<div class="elementor-widget-container">
					<style>
.calculator-container {
    max-width: 100%;
    margin: 10px auto;
    padding: 10px;
    border: 1px solid #ddd;
    border-radius: 8px;
    background-color: #f9f9f9;
}
.calculator-input {
    margin: 15px 0;
}
.calculator-input label {
    display: block;
    margin-bottom: 10px;
    font-weight: bold;
}
.calculator-input input,
.calculator-input select {
    width: 100%;
    padding: 10px 18px;
    border: 1px solid #ccc;
    border-radius: 50px;
    font-size: 16px;
    box-sizing: border-box;
}
.input-hint {
    font-size: 13px;
    color: #666;
    margin-top: 4px;
}
.sign-group {
    margin: 18px 0 10px;
}
.sign-group-title {
    font-weight: bold;
    margin-bottom: 8px;
    font-size: 15px;
    color: #333;
}
.sign-item {
    display: flex;
    align-items: flex-start;
    padding: 10px 14px;
    margin: 6px 0;
    border: 2px solid #ddd;
    border-radius: 8px;
    cursor: pointer;
    transition: border-color 0.15s, background-color 0.15s;
    font-size: 15px;
    line-height: 1.4;
    user-select: none;
}
.sign-item:hover {
    border-color: #0457B5;
}
.sign-item.checked {
    border-color: #0457B5;
    background-color: #e8f0fb;
}
.sign-item input[type="checkbox"] {
    margin-right: 10px;
    margin-top: 2px;
    width: 18px;
    height: 18px;
    min-width: 18px;
    accent-color: #0457B5;
    cursor: pointer;
}
.sign-item span {
    cursor: pointer;
}
.sign-group-hint {
    font-size: 13px;
    color: #666;
    margin-top: 2px;
    margin-bottom: 6px;
}
.calculate-btn {
    background-color: #0457B5;
    color: white;
    padding: 12px 20px;
    border: none;
    border-radius: 50px;
    cursor: pointer;
    font-size: 16px;
    width: 100%;
    margin-top: 10px;
}
.calculate-btn:hover {
    background-color: #034499;
}
.result {
    margin-top: 20px;
    padding: 15px;
    background-color: #f0f7ff;
    border-left: 4px solid #0457B5;
    display: none;
}
.result.active {
    display: block;
}
.result h3 {
    margin-top: 0;
    color: #0457B5;
}
.dose-highlight {
    font-size: 1.45rem;
    font-weight: bold;
    color: #0457B5;
}
.dose-row {
    background-color: #f0fbea;
    border-left: 3px solid #7BC15B;
    padding: 8px 12px;
    margin: 8px 0;
    border-radius: 0 4px 4px 0;
}
.dose-row-primary {
    background-color: #e8f0fb;
    border-left: 3px solid #0457B5;
    padding: 8px 12px;
    margin: 8px 0;
    border-radius: 0 4px 4px 0;
}
.dose-row-primary .dose-highlight {
    font-size: 1.7rem;
}
.dose-row-danger {
    background-color: #fde8e8;
    border-left: 3px solid #e53935;
    padding: 8px 12px;
    margin: 8px 0;
    border-radius: 0 4px 4px 0;
}
.dose-row-danger .dose-highlight {
    color: #e53935;
    font-size: 1.7rem;
}
.dose-row-warning {
    background-color: #fff3cd;
    border-left: 3px solid #ffc107;
    padding: 8px 12px;
    margin: 8px 0;
    border-radius: 0 4px 4px 0;
}
.dose-row-warning .dose-highlight {
    color: #b8860b;
    font-size: 1.7rem;
}
.info-note {
    background-color: #f0fbea;
    border-left: 4px solid #7BC15B;
    padding: 10px;
    margin-top: 10px;
    font-size: 14px;
}
.warning {
    background-color: #fff3cd;
    border-left: 4px solid #ffc107;
    padding: 10px;
    margin-top: 15px;
}
.error-block {
    background-color: #fde8e8;
    border-left: 4px solid #e53935;
    padding: 10px;
    margin-top: 15px;
    display: none;
    font-size: 14px;
}
.content-section {
    max-width: 100%;
    margin: 20px auto;
    padding: 20px;
    line-height: 1.6;
}
.content-section h2 {
    color: #0457B5;
    margin-top: 25px;
}
.content-section h3 {
    color: #333;
    margin-top: 25px;
}
.content-section ul {
    padding-left: 20px;
}
.content-section li {
    margin: 8px 0;
}
.dose-table {
    width: 100%;
    border-collapse: collapse;
    margin: 10px 0;
    font-size: 14px;
}
.dose-table th,
.dose-table td {
    border: 1px solid #ddd;
    padding: 8px 10px;
    text-align: left;
}
.dose-table th {
    background-color: #e8f0fb;
    font-weight: bold;
    color: #0457B5;
}
.dose-table tr:nth-child(even) {
    background-color: #f9f9f9;
}
.result-params {
    font-size: 14px;
    color: #444;
    margin-bottom: 12px;
    padding: 8px 10px;
    background: #f9f9f9;
    border-radius: 4px;
}
.result-params span {
    display: inline-block;
    margin-right: 16px;
}
.killip-bar {
    display: flex;
    margin: 12px 0;
    border-radius: 6px;
    overflow: hidden;
    height: 8px;
    background: #e0e0e0;
}
.killip-bar-segment {
    height: 100%;
    transition: width 0.3s;
}
.mortality-meter {
    margin: 10px 0 6px;
    font-size: 14px;
}
.mortality-meter-bar {
    height: 18px;
    border-radius: 4px;
    background: linear-gradient(90deg, #7BC15B 0%, #ffc107 40%, #e53935 100%);
    position: relative;
    margin-top: 4px;
}
.mortality-meter-marker {
    position: absolute;
    top: -4px;
    width: 4px;
    height: 26px;
    background: #0457B5;
    border-radius: 2px;
    transition: left 0.4s;
}
.fact-card {
    background: #f9f9f9;
    border-radius: 8px;
    padding: 16px 18px;
    margin: 14px 0;
    border: 1px solid #e0e0e0;
}
.fact-card-label {
    font-weight: bold;
    color: #0457B5;
    font-size: 14px;
    margin-bottom: 6px;
    text-transform: uppercase;
    letter-spacing: 0.3px;
}
.disclaimer-block {
    background-color: #fff3cd;
    border-left: 4px solid #ffc107;
    padding: 14px 16px;
    margin-top: 18px;
    border-radius: 0 6px 6px 0;
    font-size: 14px;
}
</style>

<div class="content-section">
    <h2>Рассчитать класс по Killip онлайн</h2>

    <div class="calculator-container">

        <div class="calculator-input">
            <label>Отметьте клинические признаки, выявленные при осмотре пациента с острым инфарктом миокарда:</label>
            <div class="input-hint">Выберите все симптомы, которые присутствуют на момент осмотра. Если ни один признак не отмечен, калькулятор определит Killip I.</div>
        </div>

        <div class="sign-group">
            <div class="sign-group-title">Признаки умеренной сердечной недостаточности</div>
            <div class="sign-group-hint">Класс Killip II - застой без отека легких</div>

            <label class="sign-item" id="item_rales">
                <input type="checkbox" id="rales" onchange="toggleSign(this)">
                <span>Влажные хрипы в нижних отделах легких (менее половины легочных полей)</span>
            </label>

            <label class="sign-item" id="item_s3">
                <input type="checkbox" id="s3" onchange="toggleSign(this)">
                <span>Третий тон сердца (ритм галопа, S3)</span>
            </label>

            <label class="sign-item" id="item_jvd">
                <input type="checkbox" id="jvd" onchange="toggleSign(this)">
                <span>Набухание яремных вен</span>
            </label>
        </div>

        <div class="sign-group">
            <div class="sign-group-title">Признаки отека легких</div>
            <div class="sign-group-hint">Класс Killip III - тяжелая острая сердечная недостаточность</div>

            <label class="sign-item" id="item_pulm_edema">
                <input type="checkbox" id="pulm_edema" onchange="toggleSign(this)">
                <span>Хрипы более чем в половине легочных полей</span>
            </label>

            <label class="sign-item" id="item_orthopnea">
                <input type="checkbox" id="orthopnea" onchange="toggleSign(this)">
                <span>Ортопноэ, удушье, пенистая мокрота</span>
            </label>
        </div>

        <div class="sign-group">
            <div class="sign-group-title">Признаки кардиогенного шока</div>
            <div class="sign-group-hint">Класс Killip IV - критическое состояние</div>

            <label class="sign-item" id="item_hypotension">
                <input type="checkbox" id="hypotension" onchange="toggleSign(this)">
                <span>Систолическое АД ниже 90 мм рт.ст.</span>
            </label>

            <label class="sign-item" id="item_oliguria">
                <input type="checkbox" id="oliguria" onchange="toggleSign(this)">
                <span>Олигурия (диурез менее 20-30 мл/ч)</span>
            </label>

            <label class="sign-item" id="item_periphery">
                <input type="checkbox" id="periphery" onchange="toggleSign(this)">
                <span>Холодные влажные конечности, цианоз, мраморность кожи</span>
            </label>

            <label class="sign-item" id="item_mental">
                <input type="checkbox" id="mental" onchange="toggleSign(this)">
                <span>Нарушение сознания (заторможенность, спутанность)</span>
            </label>
        </div>

        <button class="calculate-btn" onclick="classifyKillip()">
            Определить класс по Killip
        </button>

        <div class="result" id="result">
            <h3>Результат классификации</h3>

            <div id="killipClassBlock" class="dose-row-primary">
                <strong>Класс по Killip:</strong><br>
                <span class="dose-highlight" id="killipClass">-</span>
            </div>

            <div id="killipDescBlock" class="dose-row">
                <span id="killipDesc"></span>
            </div>

            <div id="mortalityBlock" class="dose-row">
                <strong>Госпитальная летальность (Killip, 1967):</strong>
                <span class="dose-highlight" id="mortalityOrig">-</span><br>
                <strong>Современная летальность (эра реперфузии):</strong>
                <span class="dose-highlight" id="mortalityModern">-</span>
            </div>

            <div class="info-note" id="resultNote"></div>

            <div class="warning">
                <strong>Важно:</strong> Классификация Killip - инструмент
                первичной стратификации риска у постели пациента.
                Для полной оценки прогноза используйте комплексные
                шкалы (GRACE, TIMI), лабораторные данные
                и инструментальные исследования. Окончательное
                решение о тактике лечения принимает врач.
            </div>
        </div>

        <div class="error-block" id="errorBlock"></div>

    </div>

    <h3>Таблица классов Killip</h3>
    <p>Сводка по четырем классам с описанием клинических
    признаков и уровнем летальности. Данные оригинального
    исследования 1967 года сопоставлены с современными
    показателями в условиях реперфузионной терапии.</p>

    <table class="dose-table">
        <thead>
            <tr>
                <th>Класс</th>
                <th>Клинические признаки</th>
                <th>Летальность 1967</th>
                <th>Современная летальность</th>
            </tr>
        </thead>
        <tbody>
            <tr>
                <td><strong>I</strong></td>
                <td>Нет признаков сердечной недостаточности</td>
                <td>6%</td>
                <td>2-3%</td>
            </tr>
            <tr>
                <td><strong>II</strong></td>
                <td>Хрипы, S3, набухание яремных вен</td>
                <td>17%</td>
                <td>5-12%</td>
            </tr>
            <tr>
                <td><strong>III</strong></td>
                <td>Отек легких</td>
                <td>38%</td>
                <td>10-20%</td>
            </tr>
            <tr>
                <td><strong>IV</strong></td>
                <td>Кардиогенный шок</td>
                <td>81%</td>
                <td>40-60%</td>
            </tr>
        </tbody>
    </table>

    <h3>Что такое классификация Killip</h3>
    <p>Классификация Killip - система оценки тяжести
    сердечной недостаточности у пациентов с острым
    инфарктом миокарда. Врач осматривает пациента,
    фиксирует клинические признаки и относит его
    к одному из четырех классов. Чем выше класс,
    тем тяжелее состояние и хуже прогноз.</p>

    <p>Главное достоинство этого метода - скорость.
    Класс определяют в первые минуты контакта
    с пациентом, до получения анализов крови
    и результатов визуализации. Нужны только
    стетоскоп, тонометр и навык физикального
    обследования. Поэтому классификация остается
    одним из первых шагов оценки риска при остром
    коронарном синдроме.</p>

    <h3>Описание калькулятора классификации Killip</h3>
    <p>Калькулятор определяет класс по Killip на основе
    клинических признаков, которые вы отмечаете
    в форме. Признаки разделены на три группы:
    умеренная сердечная недостаточность (класс II),
    отек легких (класс III) и кардиогенный шок
    (класс IV). Если ни один признак не выбран -
    калькулятор присваивает класс I.</p>

    <p>На выходе - номер класса, его описание,
    уровень летальности по оригинальным данным 1967 года
    и по современным показателям с учетом реперфузионной
    терапии. Калькулятор выбирает наиболее тяжелый
    применимый класс: если отмечены признаки и шока,
    и отека легких - результат будет Killip IV.</p>

    <h3>Классы Killip - подробное описание</h3>

    <p><strong>Killip I - нет сердечной недостаточности.</strong>
    При аускультации легкие чистые, третьего тона нет,
    яремные вены не набухшие. Гемодинамика стабильна.
    В оригинальном исследовании в этот класс попали
    32% пациентов. Прогноз наиболее благоприятный.</p>

    <p><strong>Killip II - умеренная сердечная недостаточность.</strong>
    Влажные хрипы в нижних отделах легких (не более
    половины легочных полей), ритм галопа (третий тон, S3)
    или набухание яремных вен. Достаточно хотя бы
    одного из этих признаков. Летальность в 1967 году
    составляла 17% - втрое выше, чем при Killip I.</p>

    <p><strong>Killip III - отек легких.</strong>
    Хрипы выслушивают более чем в половине легочных полей.
    Типичны ортопноэ, одышка в покое, пенистая мокрота.
    Рентгенологически видны признаки альвеолярного
    отека. Пациент нуждается в кислороде, часто
    в неинвазивной вентиляции.</p>

    <p><strong>Killip IV - кардиогенный шок.</strong>
    Систолическое артериальное давление ниже 90 мм рт.ст.,
    периферическая вазоконстрикция (холодные влажные
    конечности, цианоз), олигурия, нарушение сознания.
    Крайняя степень насосной недостаточности сердца.
    В 1967 году летальность достигала 81%.</p>

    <h3>Когда применяют классификацию Killip</h3>
    <p>Классификацию используют при любом остром
    коронарном синдроме - как при инфаркте миокарда
    с подъемом сегмента ST (STEMI), так и без
    подъема (NSTEMI). Класс Killip входит как компонент
    в шкалу GRACE - одну из основных шкал оценки
    риска при остром коронарном синдроме.</p>

    <p>Определение класса помогает решить несколько
    задач сразу: оценить тяжесть состояния, обосновать
    объем мониторинга (палата, реанимация), выбрать
    агрессивность реперфузионной стратегии и начать
    разговор с пациентом и его семьей о прогнозе.</p>

    <ul>
        <li>Killip I-II - большинство пациентов.
        Стандартная реперфузия, наблюдение
        в кардиологическом отделении</li>
        <li>Killip III - перевод в отделение интенсивной
        терапии, кислородотерапия, рассмотрение
        вопроса об экстренной коронарной ангиографии</li>
        <li>Killip IV - реанимация, вазопрессоры,
        механическая поддержка кровообращения
        (внутриаортальная баллонная контрпульсация
        или ЭКМО при доступности), экстренное ЧКВ</li>
    </ul>

    <h3>Killip и другие шкалы оценки риска</h3>
    <p>Классификация Killip проста и быстра, но она
    учитывает только один фактор - степень сердечной
    недостаточности. Для более точной стратификации
    разработаны комплексные шкалы.</p>

    <p><strong>Шкала GRACE</strong> включает 8 параметров:
    возраст, частоту сердечных сокращений,
    систолическое давление, креатинин, класс Killip,
    остановку сердца при поступлении, отклонение
    сегмента ST и повышение кардиомаркеров.
    Она дает более детальный прогноз и рекомендована
    европейскими и российскими кардиологическими
    обществами.</p>

    <p><strong>Шкала TIMI</strong> оценивает риск при
    конкретных типах острого коронарного синдрома
    и включает анамнестические данные, ЭКГ-критерии
    и уровень тропонина.</p>

    <p>Killip остается важным компонентом обеих шкал
    и единственным инструментом, который можно
    применить до получения любых лабораторных
    результатов - за считаные секунды.</p>

    <h3>Преимущества калькулятора</h3>
    <ul>
        <li>Быстрое определение класса по набору
        клинических признаков - не нужно запоминать
        критерии каждого класса наизусть</li>
        <li>Автоматический выбор наиболее тяжелого
        применимого класса при наличии
        признаков нескольких уровней</li>
        <li>Сопоставление летальности по оригинальным
        данным 1967 года и по современным показателям -
        врач видит и исторический контекст,
        и актуальный прогноз</li>
        <li>Клинические рекомендации по тактике
        для каждого класса - от стандартного
        наблюдения до экстренных мер</li>
        <li>Справочная таблица классов рядом
        с калькулятором - удобно для обучения
        студентов и ординаторов</li>
    </ul>

    <h3>Ограничения классификации</h3>
    <p>Классификация Killip разработана для оценки
    пациентов с острым инфарктом миокарда. Она не
    предназначена для хронической сердечной
    недостаточности - там используют классификацию
    NYHA или стадии ACC/AHA.</p>

    <p>Еще одно ограничение: классификация не учитывает
    возраст, сопутствующие заболевания, функцию почек
    и данные ЭКГ. Два пациента с одинаковым классом
    Killip могут иметь совершенно разный прогноз,
    если у одного обширный передний инфаркт,
    а у другого - мелкоочаговый. Поэтому Killip
    применяют как первый шаг, а не как окончательную
    оценку риска.</p>


    <h2>Факты и мнения о классификации Killip</h2>

    <div class="fact-card">
        <div class="fact-card-label">Мнение эксперта</div>
        <p>Профессор Эрик Тополь, кардиолог, директор
        Института трансляционных исследований Scripps
        (Калифорния, США), один из ведущих мировых
        специалистов по острому коронарному синдрому,
        неоднократно подчеркивал непреходящую ценность
        физикального обследования в кардиологии.
        В исследовании, опубликованном в JAMA (2003),
        его группа проанализировала более 26 000 пациентов
        с острым коронарным синдромом без подъема ST
        и показала: класс Killip остается одним из
        сильнейших независимых предикторов смерти
        даже в условиях современной фармакотерапии
        и чрескожных коронарных вмешательств. По словам
        Тополя, несмотря на появление биомаркеров
        и визуализации, оценка врача у постели больного
        по-прежнему незаменима при первом контакте
        с пациентом.</p>
    </div>

    <div class="fact-card">
        <div class="fact-card-label">Исторический факт</div>
        <p>Классификацию предложили в 1967 году Томас Киллип III
        и Джон Кимболл из Нью-Йоркской больницы
        при Корнеллском медицинском центре.
        Работа вошла в историю не только благодаря шкале:
        Киллип и Кимболл одними из первых подтвердили,
        что лечение инфаркта в специализированном
        отделении коронарной помощи (coronary care unit)
        снижает летальность почти на 20% по сравнению
        с обычными терапевтическими палатами.
        До появления таких отделений в начале 1960-х годов
        пациентов с инфарктом нередко размещали
        в общих палатах, а кислородный тент считали
        основным методом лечения.
        Их статья, основанная на двухлетнем наблюдении
        250 пациентов, фактически помогла утвердить
        концепцию интенсивной кардиологической помощи
        в мировой практике.</p>
    </div>

    <div class="fact-card">
        <div class="fact-card-label">Современное исследование</div>
        <p>В 2025 году в European Heart Journal Open
        опубликован ретроспективный когортный анализ,
        оценивающий прогностическую ценность
        классификации Killip у пациентов с острым
        инфарктом миокарда в эпоху рутинного
        чрескожного коронарного вмешательства (ЧКВ).
        Результаты подтвердили: класс Killip II и выше
        остается независимым предиктором
        неблагоприятных исходов даже при своевременной
        реперфузии. Вместе с тем авторы отмечают,
        что для более точной стратификации среди
        пациентов низкого риска (Killip I-II)
        желательно дополнять физикальную оценку
        комплексными шкалами GRACE и TIMI.</p>
    </div>

    <div class="disclaimer-block">
        <strong>Обратитесь к врачу.</strong>
        Калькулятор классификации Killip - справочный
        инструмент для медицинских работников
        и студентов. Он не заменяет клинического суждения
        врача и не может служить основанием для
        самостоятельного принятия решений о лечении.
        При подозрении на инфаркт миокарда немедленно
        вызывайте скорую помощь. Диагностику
        и выбор тактики лечения проводит врач-кардиолог
        на основе полного обследования, включая ЭКГ,
        лабораторные маркеры и визуализацию.
    </div>
</div>

<script>
function toggleSign(checkbox) {
    var item = checkbox.closest('.sign-item');
    if (checkbox.checked) {
        item.classList.add('checked');
    } else {
        item.classList.remove('checked');
    }
    // Скрыть результат при изменении
    document.getElementById('result').classList.remove('active');
    document.getElementById('errorBlock').style.display = 'none';
}

function classifyKillip() {
    var resultDiv = document.getElementById('result');
    var errorDiv = document.getElementById('errorBlock');

    resultDiv.classList.remove('active');
    errorDiv.style.display = 'none';

    // Считываем признаки
    var hasRales = document.getElementById('rales').checked;
    var hasS3 = document.getElementById('s3').checked;
    var hasJVD = document.getElementById('jvd').checked;
    var hasPulmEdema = document.getElementById('pulm_edema').checked;
    var hasOrthopnea = document.getElementById('orthopnea').checked;
    var hasHypotension = document.getElementById('hypotension').checked;
    var hasOliguria = document.getElementById('oliguria').checked;
    var hasPeriphery = document.getElementById('periphery').checked;
    var hasMental = document.getElementById('mental').checked;

    // Определяем класс (от наиболее тяжелого к легкому)
    var killipClass = 1;
    var className = '';
    var classDesc = '';
    var mortalityOrig = '';
    var mortalityModern = '';
    var note = '';

    var shockSigns = hasHypotension || hasOliguria ||
                     hasPeriphery || hasMental;
    var edemaSigns = hasPulmEdema || hasOrthopnea;
    var hfSigns = hasRales || hasS3 || hasJVD;

    if (shockSigns) {
        killipClass = 4;
        className = 'Killip IV - кардиогенный шок';
        classDesc = 'Критическое состояние: систолическое АД ' +
            'ниже 90 мм рт.ст., признаки периферической ' +
            'гипоперфузии (олигурия, цианоз, холодные ' +
            'конечности), возможно нарушение сознания. ' +
            'Крайняя степень насосной недостаточности сердца.';
        mortalityOrig = '~81%';
        mortalityModern = '40-60%';
        note = 'Требуется экстренная помощь: реанимационное ' +
            'отделение, вазопрессоры, рассмотрение ' +
            'механической поддержки кровообращения ' +
            '(ВАБК, ЭКМО), экстренная коронарная ' +
            'ангиография и ЧКВ. Прогноз крайне серьезный ' +
            'даже при современном лечении.';
    } else if (edemaSigns) {
        killipClass = 3;
        className = 'Killip III - отек легких';
        classDesc = 'Острая сердечная недостаточность ' +
            'с отеком легких: хрипы более чем в половине ' +
            'легочных полей, ортопноэ, одышка в покое, ' +
            'возможна пенистая мокрота.';
        mortalityOrig = '~38%';
        mortalityModern = '10-20%';
        note = 'Необходимо отделение интенсивной терапии, ' +
            'кислородотерапия (при необходимости - ' +
            'неинвазивная вентиляция), петлевые диуретики, ' +
            'рассмотрение экстренной коронарной ' +
            'ангиографии. Контроль сатурации, ' +
            'артериального давления и диуреза.';
    } else if (hfSigns) {
        killipClass = 2;
        className = 'Killip II - умеренная сердечная недостаточность';
        classDesc = 'Признаки застоя без развернутого отека ' +
            'легких: влажные хрипы в нижних отделах легких ' +
            '(менее половины полей), третий тон (S3) ' +
            'или набухание яремных вен.';
        mortalityOrig = '~17%';
        mortalityModern = '5-12%';
        note = 'Пациент требует повышенного внимания. ' +
            'Летальность при Killip II втрое выше, ' +
            'чем при Killip I. Показана активная ' +
            'реперфузионная стратегия, диуретики ' +
            'при застое, ранняя ЭхоКГ для оценки ' +
            'фракции выброса и клапанной патологии.';
    } else {
        killipClass = 1;
        className = 'Killip I - нет сердечной недостаточности';
        classDesc = 'Отсутствие клинических признаков ' +
            'сердечной недостаточности: легкие чистые, ' +
            'нет третьего тона, яремные вены не набухшие, ' +
            'гемодинамика стабильна.';
        mortalityOrig = '~6%';
        mortalityModern = '2-3%';
        note = 'Наиболее благоприятный прогноз. ' +
            'Стандартная реперфузионная стратегия, ' +
            'наблюдение в кардиологическом отделении. ' +
            'Для уточнения риска рассчитайте шкалу GRACE, ' +
            'которая учтет возраст, ЧСС, давление, ' +
            'креатинин и другие параметры.';
    }

    // Выводим результат
    var classBlock = document.getElementById('killipClassBlock');
    document.getElementById('killipClass').textContent = className;

    // Меняем стиль блока в зависимости от класса
    classBlock.className = '';
    if (killipClass === 4) {
        classBlock.className = 'dose-row-danger';
    } else if (killipClass === 3) {
        classBlock.className = 'dose-row-warning';
    } else {
        classBlock.className = 'dose-row-primary';
    }

    document.getElementById('killipDesc').textContent = classDesc;
    document.getElementById('mortalityOrig').textContent =
        mortalityOrig;
    document.getElementById('mortalityModern').textContent =
        mortalityModern;
    document.getElementById('resultNote').textContent = note;

    resultDiv.classList.add('active');
}
</script>				</div>
				</div>
					</div>
				</div>
				</div>
		<p>Сообщение <a href="https://vracha-na-dom.ru/kalkulyatory/kalkulyator-klassifikaczii-killip-serdechnaya-nedostatochnost-posle-infarkta/">Калькулятор классификации Killip (сердечная недостаточность после инфаркта)</a> появились сначала на <a href="https://vracha-na-dom.ru">Вызов врача на дом</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Калькулятор шкалы HEART (риск при боли в груди)</title>
		<link>https://vracha-na-dom.ru/kalkulyatory/kalkulyator-shkaly-heart-risk-pri-boli-v-grudi/</link>
		
		<dc:creator><![CDATA[Волкова Елена Андреевна]]></dc:creator>
		<pubDate>Fri, 11 Sep 2026 14:17:01 +0000</pubDate>
				<category><![CDATA[Калькуляторы]]></category>
		<category><![CDATA[Калькуляторы шкал риска и тяжести заболеваний]]></category>
		<guid isPermaLink="false">https://vracha-na-dom.ru/?p=6398</guid>

					<description><![CDATA[<p>Рассчитать риск при боли в груди по шкале HEART онлайн H &#8212; Анамнез (характер боли): Выберите описание боли0 &#8212; Слабо подозрительный (нетипичные жалобы)1 &#8212; Умеренно подозрительный (частично типичная картина)2 &#8212; Высоко подозрительный (типичная ангинозная боль) Типичная ангинозная боль &#8212; давящая, сжимающая, за грудиной, отдает в левую руку или челюсть, возникает при нагрузке, проходит в покое [&#8230;]</p>
<p>Сообщение <a href="https://vracha-na-dom.ru/kalkulyatory/kalkulyator-shkaly-heart-risk-pri-boli-v-grudi/">Калькулятор шкалы HEART (риск при боли в груди)</a> появились сначала на <a href="https://vracha-na-dom.ru">Вызов врача на дом</a>.</p>
]]></description>
										<content:encoded><![CDATA[		<div data-elementor-type="wp-post" data-elementor-id="6398" class="elementor elementor-6398" data-elementor-settings="{&quot;element_pack_global_tooltip_width&quot;:{&quot;unit&quot;:&quot;px&quot;,&quot;size&quot;:&quot;&quot;,&quot;sizes&quot;:[]},&quot;element_pack_global_tooltip_width_tablet&quot;:{&quot;unit&quot;:&quot;px&quot;,&quot;size&quot;:&quot;&quot;,&quot;sizes&quot;:[]},&quot;element_pack_global_tooltip_width_mobile&quot;:{&quot;unit&quot;:&quot;px&quot;,&quot;size&quot;:&quot;&quot;,&quot;sizes&quot;:[]},&quot;element_pack_global_tooltip_padding&quot;:{&quot;unit&quot;:&quot;px&quot;,&quot;top&quot;:&quot;&quot;,&quot;right&quot;:&quot;&quot;,&quot;bottom&quot;:&quot;&quot;,&quot;left&quot;:&quot;&quot;,&quot;isLinked&quot;:true},&quot;element_pack_global_tooltip_padding_tablet&quot;:{&quot;unit&quot;:&quot;px&quot;,&quot;top&quot;:&quot;&quot;,&quot;right&quot;:&quot;&quot;,&quot;bottom&quot;:&quot;&quot;,&quot;left&quot;:&quot;&quot;,&quot;isLinked&quot;:true},&quot;element_pack_global_tooltip_padding_mobile&quot;:{&quot;unit&quot;:&quot;px&quot;,&quot;top&quot;:&quot;&quot;,&quot;right&quot;:&quot;&quot;,&quot;bottom&quot;:&quot;&quot;,&quot;left&quot;:&quot;&quot;,&quot;isLinked&quot;:true},&quot;element_pack_global_tooltip_border_radius&quot;:{&quot;unit&quot;:&quot;px&quot;,&quot;top&quot;:&quot;&quot;,&quot;right&quot;:&quot;&quot;,&quot;bottom&quot;:&quot;&quot;,&quot;left&quot;:&quot;&quot;,&quot;isLinked&quot;:true},&quot;element_pack_global_tooltip_border_radius_tablet&quot;:{&quot;unit&quot;:&quot;px&quot;,&quot;top&quot;:&quot;&quot;,&quot;right&quot;:&quot;&quot;,&quot;bottom&quot;:&quot;&quot;,&quot;left&quot;:&quot;&quot;,&quot;isLinked&quot;:true},&quot;element_pack_global_tooltip_border_radius_mobile&quot;:{&quot;unit&quot;:&quot;px&quot;,&quot;top&quot;:&quot;&quot;,&quot;right&quot;:&quot;&quot;,&quot;bottom&quot;:&quot;&quot;,&quot;left&quot;:&quot;&quot;,&quot;isLinked&quot;:true}}" data-elementor-post-type="post">
				<div class="elementor-element elementor-element-f7c7514 e-flex e-con-boxed e-con e-parent" data-id="f7c7514" data-element_type="container" data-settings="{&quot;ekit_has_onepagescroll_dot&quot;:&quot;yes&quot;}">
					<div class="e-con-inner">
				<div class="elementor-element elementor-element-86156a1 elementor-widget elementor-widget-html" data-id="86156a1" data-element_type="widget" data-settings="{&quot;ekit_we_effect_on&quot;:&quot;none&quot;}" data-widget_type="html.default">
				<div class="elementor-widget-container">
					<style>
    .calculator-container {
        max-width: 100%;
        margin: 10px auto;
        padding: 10px;
        border: 1px solid #ddd;
        border-radius: 8px;
        background-color: #f9f9f9;
    }
    .calculator-input {
        margin: 15px 0;
    }
    .calculator-input label {
        display: block;
        margin-bottom: 25px;
        font-weight: bold;
    }
    .calculator-input input,
    .calculator-input select {
        width: 100%;
        padding: 10px 18px;
        border: 1px solid #ccc;
        border-radius: 50px;
        font-size: 16px;
        box-sizing: border-box;
        -webkit-appearance: none;
        -moz-appearance: none;
        appearance: none;
        background: white url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%23666' stroke-width='1.5' fill='none'/%3E%3C/svg%3E") no-repeat right 16px center;
    }
    .calculator-input input {
        background-image: none;
    }
    .input-hint {
        font-size: 13px;
        color: #666;
        margin-top: 4px;
    }
    .calculate-btn {
        background-color: #0457B5;
        color: white;
        padding: 12px 20px;
        border: none;
        border-radius: 50px;
        cursor: pointer;
        font-size: 16px;
        width: 100%;
        margin-top: 10px;
    }
    .calculate-btn:hover {
        background-color: #034499;
    }
    .result {
        margin-top: 20px;
        padding: 15px;
        background-color: #f0f7ff;
        border-left: 4px solid #0457B5;
        display: none;
    }
    .result.active {
        display: block;
    }
    .result h3 {
        margin-top: 0;
        color: #0457B5;
    }
    .dose-highlight {
        font-size: 1.45rem;
        font-weight: bold;
        color: #0457B5;
    }
    .dose-row {
        background-color: #f0fbea;
        border-left: 3px solid #7BC15B;
        padding: 8px 12px;
        margin: 8px 0;
        border-radius: 0 4px 4px 0;
    }
    .dose-row-primary {
        background-color: #e8f0fb;
        border-left: 3px solid #0457B5;
        padding: 8px 12px;
        margin: 8px 0;
        border-radius: 0 4px 4px 0;
    }
    .dose-row-primary .dose-highlight {
        font-size: 1.7rem;
    }
    .risk-low {
        background-color: #f0fbea;
        border-left: 4px solid #7BC15B;
    }
    .risk-moderate {
        background-color: #fff8e1;
        border-left: 4px solid #ffc107;
    }
    .risk-high {
        background-color: #fde8e8;
        border-left: 4px solid #e53935;
    }
    .info-note {
        background-color: #f0fbea;
        border-left: 4px solid #7BC15B;
        padding: 10px;
        margin-top: 10px;
        font-size: 14px;
    }
    .warning {
        background-color: #fff3cd;
        border-left: 4px solid #ffc107;
        padding: 10px;
        margin-top: 15px;
    }
    .error-block {
        background-color: #fde8e8;
        border-left: 4px solid #e53935;
        padding: 10px;
        margin-top: 15px;
        display: none;
        font-size: 14px;
    }
    .content-section {
        max-width: 100%;
        margin: 20px auto;
        padding: 20px;
        line-height: 1.6;
    }
    .content-section h2 {
        color: #0457B5;
        margin-top: 25px;
    }
    .content-section h3 {
        color: #333;
        margin-top: 25px;
    }
    .content-section ul {
        padding-left: 20px;
    }
    .content-section li {
        margin: 8px 0;
    }
    .dose-table {
        width: 100%;
        border-collapse: collapse;
        margin: 10px 0;
        font-size: 14px;
    }
    .dose-table th,
    .dose-table td {
        border: 1px solid #ddd;
        padding: 8px 10px;
        text-align: left;
    }
    .dose-table th {
        background-color: #e8f0fb;
        font-weight: bold;
        color: #0457B5;
    }
    .dose-table tr:nth-child(even) {
        background-color: #f9f9f9;
    }
    .result-params {
        font-size: 14px;
        color: #444;
        margin-bottom: 12px;
        padding: 8px 10px;
        background: #f9f9f9;
        border-radius: 4px;
    }
    .result-params span {
        display: inline-block;
        margin-right: 16px;
    }
    .score-breakdown {
        display: flex;
        flex-wrap: wrap;
        gap: 6px;
        margin: 10px 0;
    }
    .score-chip {
        display: inline-block;
        padding: 4px 10px;
        border-radius: 20px;
        font-size: 13px;
        font-weight: bold;
        background-color: #e8f0fb;
        color: #0457B5;
    }
    .disclaimer-block {
        background-color: #f5f5f5;
        border: 1px solid #ddd;
        border-radius: 6px;
        padding: 14px 16px;
        margin-top: 20px;
        font-size: 14px;
        line-height: 1.5;
        color: #555;
    }
    .disclaimer-block strong {
        color: #333;
    }
    .fact-card {
        background-color: #fafafa;
        border-left: 3px solid #0457B5;
        padding: 12px 16px;
        margin: 14px 0;
        border-radius: 0 6px 6px 0;
    }
    .fact-card p {
        margin: 4px 0;
    }
    .fact-label {
        font-size: 12px;
        text-transform: uppercase;
        letter-spacing: 0.5px;
        color: #0457B5;
        font-weight: bold;
        margin-bottom: 4px;
    }
</style>

<div class="content-section">
    <h2>Рассчитать риск при боли в груди по шкале HEART онлайн</h2>

    <div class="calculator-container">

        <div class="calculator-input">
            <label for="history">
                H - Анамнез (характер боли):
            </label>
            <select id="history">
                <option value="" disabled selected>Выберите описание боли</option>
                <option value="0">0 - Слабо подозрительный (нетипичные жалобы)</option>
                <option value="1">1 - Умеренно подозрительный (частично типичная картина)</option>
                <option value="2">2 - Высоко подозрительный (типичная ангинозная боль)</option>
            </select>
            <div class="input-hint">
                Типичная ангинозная боль - давящая, сжимающая,
                за грудиной, отдает в левую руку или челюсть,
                возникает при нагрузке, проходит в покое или
                после нитроглицерина. Чем больше признаков
                совпадает, тем выше балл.
            </div>
        </div>

        <div class="calculator-input">
            <label for="ecg">
                E - ЭКГ (электрокардиограмма):
            </label>
            <select id="ecg">
                <option value="" disabled selected>Выберите результат ЭКГ</option>
                <option value="0">0 - Нормальная ЭКГ</option>
                <option value="1">1 - Неспецифические нарушения реполяризации</option>
                <option value="2">2 - Значимая девиация сегмента ST</option>
            </select>
            <div class="input-hint">
                Неспецифические изменения: блокада ножки пучка Гиса,
                гипертрофия левого желудочка, нарушения ритма,
                отклонения реполяризации без четкой связи с ишемией.
                Значимые: депрессия или элевация ST 1 мм и более.
            </div>
        </div>

        <div class="calculator-input">
            <label for="age">
                A - Возраст:
            </label>
            <select id="age">
                <option value="" disabled selected>Выберите возрастную группу</option>
                <option value="0">0 - Младше 45 лет</option>
                <option value="1">1 - От 45 до 64 лет</option>
                <option value="2">2 - 65 лет и старше</option>
            </select>
            <div class="input-hint">
                С возрастом вероятность коронарных событий
                растет. Возрастные границы в шкале фиксированы
                и не зависят от пола.
            </div>
        </div>

        <div class="calculator-input">
            <label for="riskFactors">
                R - Факторы риска:
            </label>
            <select id="riskFactors">
                <option value="" disabled selected>Выберите количество факторов</option>
                <option value="0">0 - Нет известных факторов риска</option>
                <option value="1">1 - Есть 1-2 фактора риска</option>
                <option value="2">2 - Три и более факторов или атеросклероз в анамнезе</option>
            </select>
            <div class="input-hint">
                Учитывают: артериальную гипертензию,
                гиперхолестеринемию, сахарный диабет,
                ожирение (ИМТ более 30), курение (текущее
                или в прошлом), наследственную отягощенность
                по сердечно-сосудистым заболеваниям. Перенесенный
                инфаркт, инсульт, стентирование или шунтирование -
                сразу 2 балла.
            </div>
        </div>

        <div class="calculator-input">
            <label for="troponin">
                T - Тропонин:
            </label>
            <select id="troponin">
                <option value="" disabled selected>Выберите уровень тропонина</option>
                <option value="0">0 - В пределах нормы (до верхней границы)</option>
                <option value="1">1 - Превышение в 1-3 раза от верхней границы</option>
                <option value="2">2 - Превышение более чем в 3 раза</option>
            </select>
            <div class="input-hint">
                Сравнивайте с верхней границей нормы вашей
                лаборатории. Для высокочувствительного тропонина
                пороговые значения другие - уточните у лечащего
                врача. Нормальный тропонин при первом заборе
                не исключает инфаркт: повторный анализ через
                3-6 часов обязателен.
            </div>
        </div>

        <button class="calculate-btn" onclick="calculateHEART()">
            Рассчитать риск
        </button>

        <div class="result" id="result">
            <h3>Результат по шкале HEART</h3>

            <div class="result-params" id="resultParams"></div>

            <div class="score-breakdown" id="scoreBreakdown"></div>

            <div class="dose-row-primary" id="totalScoreRow">
                <strong>Суммарный балл HEART:</strong><br>
                <span class="dose-highlight" id="totalScore">-</span>
                <span id="totalScoreMax">&nbsp;из 10</span>
            </div>

            <div id="riskCategory" class="dose-row" style="padding: 12px;">
                <strong id="riskTitle">-</strong><br>
                <span id="riskDescription">-</span>
            </div>

            <div id="riskAction" class="info-note"></div>

            <div class="warning">
                <strong>Важно:</strong> Шкала HEART - инструмент
                для предварительной оценки. Окончательное решение
                о тактике лечения принимает врач на основании
                полной клинической картины, результатов ЭКГ
                в динамике, серийного определения тропонина
                и других обследований. Не используйте результат
                как повод отказаться от медицинской помощи.
            </div>
        </div>

        <div class="error-block" id="errorBlock"></div>

    </div>

    <h3>Таблица интерпретации баллов HEART</h3>
    <p>Связь между суммарным баллом и вероятностью серьезного
    кардиального события (MACE) в течение 6 недель. Данные
    получены в многоцентровых валидационных исследованиях.</p>

    <table class="dose-table">
        <thead>
            <tr>
                <th>Баллы</th>
                <th>Категория риска</th>
                <th>Вероятность MACE</th>
                <th>Рекомендуемая тактика</th>
            </tr>
        </thead>
        <tbody>
            <tr>
                <td>0-3</td>
                <td>Низкий риск</td>
                <td>0,9-1,7%</td>
                <td>Рассмотреть раннюю выписку</td>
            </tr>
            <tr>
                <td>4-6</td>
                <td>Умеренный риск</td>
                <td>12-16,6%</td>
                <td>Госпитализация, дообследование</td>
            </tr>
            <tr>
                <td>7-10</td>
                <td>Высокий риск</td>
                <td>50-65%</td>
                <td>Ранняя инвазивная стратегия</td>
            </tr>
        </tbody>
    </table>

    <h3>Что такое шкала HEART</h3>
    <p>HEART - это аббревиатура из пяти английских слов:
    History (анамнез), ECG (электрокардиограмма), Age (возраст),
    Risk factors (факторы риска), Troponin (тропонин).
    Каждый компонент оценивают от 0 до 2 баллов. Суммарный
    результат - от 0 до 10.</p>

    <p>Шкалу разработал голландский кардиолог A. Jacob Six
    совместно с коллегами в 2008 году. Первую публикацию
    напечатали в Netherlands Heart Journal на основе анализа
    122 пациентов с болью в груди из отделения неотложной
    помощи больницы Zuwe Hofpoort в городе Вурден.</p>

    <p>Главная задача - быстро определить, можно ли безопасно
    выписать пациента с болью в груди или ему нужна
    госпитализация и углубленное обследование. Шкала
    особенно полезна в приемных отделениях, где врачу
    нужно принять решение за короткое время.</p>

    <h3>Описание калькулятора шкалы HEART</h3>
    <p>Калькулятор суммирует баллы по пяти компонентам
    и сразу показывает категорию риска: низкий, умеренный
    или высокий. Для каждой категории отображает вероятность
    серьезного кардиального события (MACE) в ближайшие
    6 недель и краткую рекомендацию по тактике.</p>

    <p>MACE - Major Adverse Cardiac Events, крупные
    неблагоприятные кардиальные события. Под ними
    понимают инфаркт миокарда, необходимость экстренного
    стентирования или коронарного шунтирования и смерть
    от сердечных причин.</p>

    <p>Под детализацией видно, сколько баллов дал каждый
    компонент. Это помогает разобраться, какой из пяти
    параметров вносит наибольший вклад в итоговый результат.</p>

    <h3>Как оценивать анамнез (H)</h3>
    <p>Анамнез - самый субъективный компонент шкалы.
    Врач оценивает, насколько жалобы пациента похожи
    на типичную стенокардию.</p>

    <p>Типичная ангинозная боль сочетает три признака:
    давящий или сжимающий характер за грудиной, связь
    с физической или эмоциональной нагрузкой, облегчение
    в покое или после нитроглицерина. Если совпадают все
    три - это 2 балла. Один-два признака из трех - 1 балл.
    Боль явно нетипичная (колющая, мгновенная, меняется
    при дыхании, воспроизводится при пальпации) - 0 баллов.</p>

    <p>Помимо характера боли учитывают сопутствующие
    симптомы: одышку, потливость, тошноту, иррадиацию
    в левую руку, шею или нижнюю челюсть. Их наличие
    сдвигает оценку вверх.</p>

    <h3>Как оценивать ЭКГ (E)</h3>
    <p>Нормальная ЭКГ без отклонений - 0 баллов.
    Неспецифические изменения (блокада левой ножки
    пучка Гиса, гипертрофия левого желудочка, ранняя
    реполяризация, нарушения ритма без ишемических
    признаков) - 1 балл. Значимые ишемические изменения -
    депрессия или элевация сегмента ST на 1 мм и более,
    новые инверсии зубца T - 2 балла.</p>

    <p>ЭКГ с кардиостимулятором или выраженной
    гипертрофией, где ишемию трудно оценить, обычно
    относят к 1 баллу. Окончательную трактовку проводит
    врач.</p>

    <h3>Возраст, факторы риска и тропонин (A, R, T)</h3>
    <p>Возраст - объективный и самый простой компонент.
    До 45 лет - 0, от 45 до 64 - 1, 65 и старше - 2 балла.
    Границы одинаковые для мужчин и женщин.</p>

    <p>К факторам риска относят шесть классических
    состояний: артериальную гипертензию,
    гиперхолестеринемию, сахарный диабет, ожирение
    (ИМТ больше 30), курение и отягощенную
    наследственность (инфаркт или инсульт у ближайших
    родственников до 65 лет). Если нет ни одного - 0 баллов,
    один-два - 1, три и более - 2. Перенесенный
    атеросклеротический процесс (инфаркт, стентирование,
    шунтирование, инсульт, поражение периферических
    артерий) автоматически дает 2 балла, даже если других
    факторов нет.</p>

    <p>Тропонин оценивают относительно верхней границы
    нормы конкретной лаборатории. Обратите внимание:
    для обычного и высокочувствительного тропонина
    пороговые значения различаются. Одно измерение
    в пределах нормы не исключает острый коронарный
    синдром - обязателен повторный забор через 3-6 часов.</p>

    <h3>HEART и другие шкалы: TIMI и GRACE</h3>
    <p>До появления HEART использовали шкалы TIMI
    и GRACE. Но они создавались для пациентов
    с уже подтвержденным острым коронарным синдромом.
    HEART разработали специально для приемного
    отделения - для всех, кто приходит с болью в груди,
    включая тех, у кого боль окажется некардиальной.</p>

    <p>Сравнительные исследования показывают, что HEART
    лучше выявляет пациентов низкого риска: при балле
    0-3 вероятность MACE не превышает 2%, и таких
    пациентов набирается до 30-40% от всех обратившихся.
    Это позволяет безопасно разгрузить приемное отделение
    без лишних госпитализаций и дорогостоящих обследований.</p>

    <h3>Ограничения шкалы HEART</h3>
    <p>Шкала не предназначена для пациентов с очевидным
    инфарктом с подъемом сегмента ST (STEMI) - таким
    пациентам показана экстренная реваскуляризация
    без балльных расчетов.</p>

    <ul>
        <li>Компонент "анамнез" зависит от интерпретации
        врача - разные специалисты могут поставить
        разный балл одному пациенту</li>
        <li>Шкала не учитывает ряд важных состояний:
        тромбоэмболию легочной артерии, расслоение
        аорты, перикардит - они вызывают боль в груди,
        но не входят в MACE</li>
        <li>Точность зависит от типа тропонинового
        теста и от времени забора крови относительно
        начала симптомов</li>
        <li>У молодых пациентов с атипичной болью
        и минимальными факторами шкала почти всегда
        дает низкий балл - но это не означает полное
        отсутствие патологии</li>
        <li>Валидация проводилась преимущественно
        в западноевропейских и североамериканских
        популяциях - для других регионов точность
        может отличаться</li>
    </ul>

    <h3>Преимущества калькулятора</h3>
    <ul>
        <li>Все пять компонентов собраны в одной форме -
        суммарный балл и категория риска рассчитываются
        автоматически, без ручного сложения</li>
        <li>Детализация по каждому компоненту - можно
        увидеть, какой параметр дает максимальный вклад
        в общий результат</li>
        <li>Сразу отображает вероятность MACE в процентах
        для соответствующей категории на основе
        многоцентровых данных</li>
        <li>Краткие рекомендации по тактике ведения -
        от рассмотрения выписки при низком риске
        до ранней инвазивной стратегии при высоком</li>
        <li>Подсказки к каждому полю объясняют критерии
        оценки - удобно при заполнении у постели
        пациента или при обучении</li>
        <li>Таблица интерпретации рядом позволяет
        быстро сверить расчет с опубликованными данными</li>
    </ul>

    <h3>Когда нужна экстренная помощь</h3>
    <p>Калькулятор не заменяет врачебную оценку и не должен
    задерживать вызов скорой. Вот ситуации, при которых
    нужна немедленная медицинская помощь.</p>

    <ul>
        <li>Давящая или жгучая боль за грудиной
        продолжительностью более 15-20 минут, не
        проходящая после отдыха</li>
        <li>Сильная одышка, холодный пот, страх
        смерти - классическая триада острого
        коронарного синдрома</li>
        <li>Потеря сознания или предобморочное состояние
        на фоне боли в груди</li>
        <li>Резкое падение артериального давления
        с головокружением и слабостью</li>
        <li>Подъем сегмента ST на ЭКГ - требует экстренного
        вмешательства в пределах 90-120 минут</li>
    </ul>

    <h2>Факты, мнения и исследования о шкале HEART</h2>

    <div class="fact-card">
        <div class="fact-label">Мнение специалиста</div>
        <p>Кардиолог A. Jacob Six (доктор медицины, PhD),
        создатель шкалы HEART, отмечал, что при разработке
        шкалы его команда намеренно отказалась от сложных
        математических моделей в пользу клинической интуиции
        и врачебного опыта. Шкалу строили так, чтобы врач
        приемного отделения мог за минуту оценить пять простых
        параметров и получить ответ: можно ли безопасно
        отпустить пациента домой. Парадоксально, но именно
        этот прагматичный подход превзошел по точности
        конкурирующие шкалы TIMI и GRACE, созданные
        на основе масштабных статистических моделей.
        При валидации C-статистика HEART показала 99%-ное
        совпадение расчетных весов с оптимальными.</p>
    </div>

    <div class="fact-card">
        <div class="fact-label">Исторический факт</div>
        <p>Шкала HEART родилась в 2008 году в маленькой
        голландской больнице Zuwe Hofpoort в городе Вурден
        с населением около 50 тысяч человек. Сама
        аббревиатура была подобрана не случайно: слово
        HEART ("сердце") легко запоминалось и создавало
        мнемоническую привязку к пяти компонентам оценки.
        Первую когорту составили всего 122 пациента. Спустя
        15 лет шкалу валидировали на десятках тысяч людей
        в больницах Европы, Азии, Австралии, Северной
        и Южной Америки. В 2017 году крупнейшее
        рандомизированное исследование HEART-Impact
        с участием 3648 пациентов из 10 голландских
        больниц подтвердило безопасность шкалы при
        принятии решений о ранней выписке.</p>
    </div>

    <div class="fact-card">
        <div class="fact-label">Современное исследование</div>
        <p>В 2025 году в European Heart Journal опубликовали
        работу группы под руководством Salah Al-Zaiti,
        где модель машинного обучения на основе 12
        параметров ЭКГ сравнили с классической шкалой
        HEART в когорте пациентов с острой болью в груди.
        Модель показала лучшие показатели чувствительности
        и предсказательной ценности при стратификации
        риска смертности. Авторы подчеркивают: алгоритмы
        машинного обучения способны дополнить, но пока
        не заменить клинические шкалы, поскольку требуют
        цифровой инфраструктуры, которой многие
        приемные отделения не располагают.</p>
    </div>

    <div class="disclaimer-block">
        <strong>Обратитесь к врачу.</strong> Калькулятор
        шкалы HEART - справочный инструмент. Он не ставит
        диагнозов и не заменяет очную врачебную консультацию.
        При боли в груди, одышке, нарушении сердечного ритма
        или плохом самочувствии вызовите скорую помощь
        или обратитесь в приемное отделение. Не откладывайте
        визит к кардиологу, даже если результат показывает
        низкий риск. Любые решения о лечении, обследовании
        или выписке принимает лечащий врач с учетом полной
        клинической картины.
    </div>
</div>

<script>
function showError(msg) {
    var el = document.getElementById('errorBlock');
    el.textContent = msg;
    el.style.display = 'block';
}

function calculateHEART() {
    var historyVal = document.getElementById('history').value;
    var ecgVal = document.getElementById('ecg').value;
    var ageVal = document.getElementById('age').value;
    var riskVal = document.getElementById('riskFactors').value;
    var tropVal = document.getElementById('troponin').value;

    var resultDiv = document.getElementById('result');
    var errorDiv = document.getElementById('errorBlock');

    resultDiv.classList.remove('active');
    errorDiv.style.display = 'none';

    if (historyVal === '' || ecgVal === '' ||
        ageVal === '' || riskVal === '' || tropVal === '') {
        showError(
            'Заполните все пять компонентов шкалы. ' +
            'Каждый параметр обязателен для расчета.'
        );
        return;
    }

    var h = parseInt(historyVal);
    var e = parseInt(ecgVal);
    var a = parseInt(ageVal);
    var r = parseInt(riskVal);
    var t = parseInt(tropVal);
    var total = h + e + a + r + t;

    // Детализация
    var labels = ['H (анамнез)', 'E (ЭКГ)',
                  'A (возраст)', 'R (факторы)',
                  'T (тропонин)'];
    var values = [h, e, a, r, t];
    var breakdownEl = document.getElementById('scoreBreakdown');
    breakdownEl.innerHTML = '';
    for (var i = 0; i < 5; i++) {
        var chip = document.createElement('span');
        chip.className = 'score-chip';
        chip.textContent = labels[i] + ': ' + values[i];
        breakdownEl.appendChild(chip);
    }

    // Параметры
    document.getElementById('resultParams').innerHTML =
        '<span>Компоненты: ' +
        'H=' + h + ' + E=' + e + ' + A=' + a +
        ' + R=' + r + ' + T=' + t + '</span>';

    // Суммарный балл
    document.getElementById('totalScore').textContent = total;

    // Категория риска
    var catEl = document.getElementById('riskCategory');
    var titleEl = document.getElementById('riskTitle');
    var descEl = document.getElementById('riskDescription');
    var actionEl = document.getElementById('riskAction');

    catEl.className = 'dose-row';

    if (total <= 3) {
        catEl.classList.add('risk-low');
        titleEl.textContent = 'Низкий риск';
        descEl.textContent =
            'Вероятность серьезного кардиального события ' +
            '(MACE) в ближайшие 6 недель: 0,9-1,7%.';
        actionEl.className = 'info-note risk-low';
        actionEl.innerHTML =
            '<strong>Тактика:</strong> ' +
            'Рассмотрите раннюю выписку с амбулаторным ' +
            'наблюдением. При нормальных серийных ' +
            'тропонинах и стабильном состоянии госпитализация ' +
            'может не потребоваться. Решение о выписке ' +
            'принимает врач. Повторите осмотр при усилении ' +
            'симптомов.';
    } else if (total <= 6) {
        catEl.classList.add('risk-moderate');
        titleEl.textContent = 'Умеренный риск';
        descEl.textContent =
            'Вероятность MACE: 12-16,6%. ' +
            'Необходимо наблюдение и дообследование.';
        actionEl.className = 'info-note risk-moderate';
        actionEl.innerHTML =
            '<strong>Тактика:</strong> ' +
            'Госпитализация для наблюдения. Серийное ' +
            'определение тропонина через 3-6 часов. ' +
            'ЭКГ в динамике. Рассмотрите нагрузочный тест, ' +
            'КТ-ангиографию коронарных артерий или другие ' +
            'неинвазивные методы для уточнения диагноза. ' +
            'Консультация кардиолога.';
    } else {
        catEl.classList.add('risk-high');
        titleEl.textContent = 'Высокий риск';
        descEl.textContent =
            'Вероятность MACE: 50-65%. ' +
            'Требуется экстренное обследование.';
        actionEl.className = 'info-note risk-high';
        actionEl.innerHTML =
            '<strong>Тактика:</strong> ' +
            'Экстренная госпитализация. Рассмотрите раннюю ' +
            'инвазивную стратегию: коронарографию ' +
            'с возможным стентированием. Интенсивное ' +
            'мониторирование. Начните антитромботическую ' +
            'терапию по протоколу лечения острого коронарного ' +
            'синдрома. Консультация интервенционного ' +
            'кардиолога.';
    }

    resultDiv.classList.add('active');
}
</script>				</div>
				</div>
					</div>
				</div>
				</div>
		<p>Сообщение <a href="https://vracha-na-dom.ru/kalkulyatory/kalkulyator-shkaly-heart-risk-pri-boli-v-grudi/">Калькулятор шкалы HEART (риск при боли в груди)</a> появились сначала на <a href="https://vracha-na-dom.ru">Вызов врача на дом</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Калькулятор критериев SIRS</title>
		<link>https://vracha-na-dom.ru/kalkulyatory/kalkulyator-kriteriev-sirs/</link>
		
		<dc:creator><![CDATA[Волкова Елена Андреевна]]></dc:creator>
		<pubDate>Fri, 11 Sep 2026 12:36:18 +0000</pubDate>
				<category><![CDATA[Калькуляторы]]></category>
		<category><![CDATA[Калькуляторы шкал риска и тяжести заболеваний]]></category>
		<guid isPermaLink="false">https://vracha-na-dom.ru/?p=6390</guid>

					<description><![CDATA[<p>Рассчитать критерии SIRS онлайн Температура тела (&#176;C): Измерьте термометром. Критерий SIRS: выше 38 &#176;C или ниже 36 &#176;C. Частота сердечных сокращений (уд/мин): Пульс в покое. Критерий SIRS: выше 90 ударов в минуту. Частота дыхания (дых/мин): Число вдохов за минуту в покое. Критерий SIRS: выше 20 дыхательных движений в минуту. PaCO2 (мм рт.ст.):необязательно Парциальное давление углекислого [&#8230;]</p>
<p>Сообщение <a href="https://vracha-na-dom.ru/kalkulyatory/kalkulyator-kriteriev-sirs/">Калькулятор критериев SIRS</a> появились сначала на <a href="https://vracha-na-dom.ru">Вызов врача на дом</a>.</p>
]]></description>
										<content:encoded><![CDATA[		<div data-elementor-type="wp-post" data-elementor-id="6390" class="elementor elementor-6390" data-elementor-settings="{&quot;element_pack_global_tooltip_width&quot;:{&quot;unit&quot;:&quot;px&quot;,&quot;size&quot;:&quot;&quot;,&quot;sizes&quot;:[]},&quot;element_pack_global_tooltip_width_tablet&quot;:{&quot;unit&quot;:&quot;px&quot;,&quot;size&quot;:&quot;&quot;,&quot;sizes&quot;:[]},&quot;element_pack_global_tooltip_width_mobile&quot;:{&quot;unit&quot;:&quot;px&quot;,&quot;size&quot;:&quot;&quot;,&quot;sizes&quot;:[]},&quot;element_pack_global_tooltip_padding&quot;:{&quot;unit&quot;:&quot;px&quot;,&quot;top&quot;:&quot;&quot;,&quot;right&quot;:&quot;&quot;,&quot;bottom&quot;:&quot;&quot;,&quot;left&quot;:&quot;&quot;,&quot;isLinked&quot;:true},&quot;element_pack_global_tooltip_padding_tablet&quot;:{&quot;unit&quot;:&quot;px&quot;,&quot;top&quot;:&quot;&quot;,&quot;right&quot;:&quot;&quot;,&quot;bottom&quot;:&quot;&quot;,&quot;left&quot;:&quot;&quot;,&quot;isLinked&quot;:true},&quot;element_pack_global_tooltip_padding_mobile&quot;:{&quot;unit&quot;:&quot;px&quot;,&quot;top&quot;:&quot;&quot;,&quot;right&quot;:&quot;&quot;,&quot;bottom&quot;:&quot;&quot;,&quot;left&quot;:&quot;&quot;,&quot;isLinked&quot;:true},&quot;element_pack_global_tooltip_border_radius&quot;:{&quot;unit&quot;:&quot;px&quot;,&quot;top&quot;:&quot;&quot;,&quot;right&quot;:&quot;&quot;,&quot;bottom&quot;:&quot;&quot;,&quot;left&quot;:&quot;&quot;,&quot;isLinked&quot;:true},&quot;element_pack_global_tooltip_border_radius_tablet&quot;:{&quot;unit&quot;:&quot;px&quot;,&quot;top&quot;:&quot;&quot;,&quot;right&quot;:&quot;&quot;,&quot;bottom&quot;:&quot;&quot;,&quot;left&quot;:&quot;&quot;,&quot;isLinked&quot;:true},&quot;element_pack_global_tooltip_border_radius_mobile&quot;:{&quot;unit&quot;:&quot;px&quot;,&quot;top&quot;:&quot;&quot;,&quot;right&quot;:&quot;&quot;,&quot;bottom&quot;:&quot;&quot;,&quot;left&quot;:&quot;&quot;,&quot;isLinked&quot;:true}}" data-elementor-post-type="post">
				<div class="elementor-element elementor-element-f7c7514 e-flex e-con-boxed e-con e-parent" data-id="f7c7514" data-element_type="container" data-settings="{&quot;ekit_has_onepagescroll_dot&quot;:&quot;yes&quot;}">
					<div class="e-con-inner">
				<div class="elementor-element elementor-element-86156a1 elementor-widget elementor-widget-html" data-id="86156a1" data-element_type="widget" data-settings="{&quot;ekit_we_effect_on&quot;:&quot;none&quot;}" data-widget_type="html.default">
				<div class="elementor-widget-container">
					<style>
    .calculator-container {
        max-width: 100%;
        margin: 10px auto;
        padding: 10px;
        border: 1px solid #ddd;
        border-radius: 8px;
        background-color: #f9f9f9;
    }
    .calculator-input {
        margin: 15px 0;
    }
    .calculator-input label {
        display: block;
        margin-bottom: 25px;
        font-weight: bold;
    }
    .calculator-input input,
    .calculator-input select {
        width: 100%;
        padding: 10px 18px;
        border: 1px solid #ccc;
        border-radius: 50px;
        font-size: 16px;
        box-sizing: border-box;
    }
    .input-hint {
        font-size: 13px;
        color: #666;
        margin-top: 4px;
    }
    .calculate-btn {
        background-color: #0457B5;
        color: white;
        padding: 12px 20px;
        border: none;
        border-radius: 50px;
        cursor: pointer;
        font-size: 16px;
        width: 100%;
        margin-top: 10px;
    }
    .calculate-btn:hover {
        background-color: #034499;
    }
    .result {
        margin-top: 20px;
        padding: 15px;
        background-color: #f0f7ff;
        border-left: 4px solid #0457B5;
        display: none;
    }
    .result.active {
        display: block;
    }
    .result h3 {
        margin-top: 0;
        color: #0457B5;
    }
    .criterion-item {
        padding: 8px 12px;
        margin: 6px 0;
        border-radius: 0 4px 4px 0;
        font-size: 14px;
    }
    .criterion-met {
        background-color: #fde8e8;
        border-left: 3px solid #e53935;
    }
    .criterion-unmet {
        background-color: #f0fbea;
        border-left: 3px solid #7BC15B;
    }
    .criterion-label {
        font-weight: bold;
    }
    .criterion-status {
        float: right;
        font-weight: bold;
    }
    .criterion-status-met {
        color: #e53935;
    }
    .criterion-status-unmet {
        color: #7BC15B;
    }
    .sirs-summary {
        padding: 12px;
        margin-top: 12px;
        border-radius: 0 4px 4px 0;
        font-size: 16px;
    }
    .sirs-positive {
        background-color: #fde8e8;
        border-left: 4px solid #e53935;
    }
    .sirs-negative {
        background-color: #f0fbea;
        border-left: 4px solid #7BC15B;
    }
    .sirs-count {
        font-size: 1.7rem;
        font-weight: bold;
    }
    .sirs-count-positive {
        color: #e53935;
    }
    .sirs-count-negative {
        color: #7BC15B;
    }
    .dose-highlight {
        font-size: 1.45rem;
        font-weight: bold;
        color: #0457B5;
    }
    .info-note {
        background-color: #f0fbea;
        border-left: 4px solid #7BC15B;
        padding: 10px;
        margin-top: 10px;
        font-size: 14px;
    }
    .warning {
        background-color: #fff3cd;
        border-left: 4px solid #ffc107;
        padding: 10px;
        margin-top: 15px;
    }
    .error-block {
        background-color: #fde8e8;
        border-left: 4px solid #e53935;
        padding: 10px;
        margin-top: 15px;
        display: none;
        font-size: 14px;
    }
    .content-section {
        max-width: 100%;
        margin: 20px auto;
        padding: 20px;
        line-height: 1.6;
    }
    .content-section h2 {
        color: #0457B5;
        margin-top: 25px;
    }
    .content-section h3 {
        color: #333;
        margin-top: 25px;
    }
    .content-section ul {
        padding-left: 20px;
    }
    .content-section li {
        margin: 8px 0;
    }
    .dose-table {
        width: 100%;
        border-collapse: collapse;
        margin: 10px 0;
        font-size: 14px;
    }
    .dose-table th,
    .dose-table td {
        border: 1px solid #ddd;
        padding: 8px 10px;
        text-align: left;
    }
    .dose-table th {
        background-color: #e8f0fb;
        font-weight: bold;
        color: #0457B5;
    }
    .dose-table tr:nth-child(even) {
        background-color: #f9f9f9;
    }
    .result-params {
        font-size: 14px;
        color: #444;
        margin-bottom: 12px;
        padding: 8px 10px;
        background: #f9f9f9;
        border-radius: 4px;
    }
    .result-params span {
        display: inline-block;
        margin-right: 16px;
    }
    .optional-label {
        font-size: 12px;
        color: #888;
        font-weight: normal;
        margin-left: 6px;
    }
    .fact-block {
        margin-top: 16px;
        padding: 14px;
        border-radius: 6px;
        font-size: 15px;
        line-height: 1.6;
    }
    .fact-opinion {
        background-color: #f0f7ff;
        border-left: 4px solid #0457B5;
    }
    .fact-history {
        background-color: #f9f5ee;
        border-left: 4px solid #d4a843;
    }
    .fact-research {
        background-color: #f0fbea;
        border-left: 4px solid #7BC15B;
    }
    .fact-disclaimer {
        background-color: #fff3cd;
        border-left: 4px solid #ffc107;
    }
    .fact-block-title {
        font-weight: bold;
        margin-bottom: 6px;
        font-size: 15px;
    }
</style>

<div class="content-section">
    <h2>Рассчитать критерии SIRS онлайн</h2>

    <div class="calculator-container">

        <div class="calculator-input">
            <label for="temperature">
                Температура тела (&deg;C):
            </label>
            <input type="number" id="temperature" min="34" max="42"
                   step="0.1" placeholder="Например: 38.5">
            <div class="input-hint">
                Измерьте термометром. Критерий SIRS: выше 38 &deg;C
                или ниже 36 &deg;C.
            </div>
        </div>

        <div class="calculator-input">
            <label for="heartRate">
                Частота сердечных сокращений (уд/мин):
            </label>
            <input type="number" id="heartRate" min="30" max="250"
                   step="1" placeholder="Например: 95">
            <div class="input-hint">
                Пульс в покое. Критерий SIRS: выше 90 ударов
                в минуту.
            </div>
        </div>

        <div class="calculator-input">
            <label for="respRate">
                Частота дыхания (дых/мин):
            </label>
            <input type="number" id="respRate" min="5" max="60"
                   step="1" placeholder="Например: 22">
            <div class="input-hint">
                Число вдохов за минуту в покое.
                Критерий SIRS: выше 20 дыхательных движений
                в минуту.
            </div>
        </div>

        <div class="calculator-input">
            <label for="paco2">
                PaCO2 (мм рт.ст.):<span class="optional-label">необязательно</span>
            </label>
            <input type="number" id="paco2" min="10" max="100"
                   step="0.1" placeholder="Оставьте пустым, если нет данных">
            <div class="input-hint">
                Парциальное давление углекислого газа
                в артериальной крови. Берут из газового анализа
                крови. Критерий SIRS: ниже 32 мм рт.ст.
                Если PaCO2 ниже порога - третий критерий выполнен,
                даже когда частота дыхания в норме.
            </div>
        </div>

        <div class="calculator-input">
            <label for="wbc">
                Лейкоциты (&times;10&sup9;/л):
            </label>
            <input type="number" id="wbc" min="0.1" max="100"
                   step="0.1" placeholder="Например: 14.2">
            <div class="input-hint">
                Общее число лейкоцитов из клинического
                анализа крови. Критерий SIRS: выше 12
                или ниже 4 &times;10&sup9;/л.
            </div>
        </div>

        <div class="calculator-input">
            <label for="bands">
                Палочкоядерные нейтрофилы (%):<span class="optional-label">необязательно</span>
            </label>
            <input type="number" id="bands" min="0" max="100"
                   step="0.1" placeholder="Оставьте пустым, если нет данных">
            <div class="input-hint">
                Процент незрелых (палочкоядерных) нейтрофилов
                из лейкоцитарной формулы. Критерий SIRS:
                выше 10%. Если палочкоядерных больше 10% -
                четвертый критерий выполнен, даже когда
                общее число лейкоцитов в норме.
            </div>
        </div>

        <button class="calculate-btn" onclick="calculateSIRS()">
            Оценить критерии SIRS
        </button>

        <div class="result" id="result">
            <h3>Результат оценки</h3>

            <div id="criteriaList"></div>

            <div id="sirsSummary"></div>

            <div id="resultNote" class="info-note" style="display:none;"></div>

            <div class="warning">
                <strong>Важно:</strong> Калькулятор проверяет
                формальное соответствие критериям SIRS.
                Положительный результат не равен диагнозу
                сепсиса и не заменяет клиническую оценку врача.
                SIRS может развиться без инфекции - после
                операции, при панкреатите, травме, ожогах.
            </div>
        </div>

        <div class="error-block" id="errorBlock"></div>

    </div>

    <h3>Таблица критериев SIRS</h3>
    <p>Четыре критерия синдрома системного воспалительного
    ответа. Для постановки SIRS нужно выполнение двух
    и более критериев одновременно.</p>

    <table class="dose-table">
        <thead>
            <tr>
                <th>Критерий</th>
                <th>Параметр</th>
                <th>Порог SIRS</th>
            </tr>
        </thead>
        <tbody>
            <tr>
                <td>1. Температура</td>
                <td>Температура тела, &deg;C</td>
                <td>&gt; 38 или &lt; 36</td>
            </tr>
            <tr>
                <td>2. Тахикардия</td>
                <td>ЧСС, уд/мин</td>
                <td>&gt; 90</td>
            </tr>
            <tr>
                <td>3. Тахипноэ</td>
                <td>ЧДД, дых/мин</td>
                <td>&gt; 20</td>
            </tr>
            <tr>
                <td>3 (альт.)</td>
                <td>PaCO2, мм рт.ст.</td>
                <td>&lt; 32</td>
            </tr>
            <tr>
                <td>4. Лейкоциты</td>
                <td>Лейкоциты, &times;10&sup9;/л</td>
                <td>&gt; 12 или &lt; 4</td>
            </tr>
            <tr>
                <td>4 (альт.)</td>
                <td>Палочкоядерные, %</td>
                <td>&gt; 10</td>
            </tr>
        </tbody>
    </table>

    <h3>Что такое синдром системного воспалительного ответа</h3>
    <p>SIRS - универсальная реакция организма на серьезное
    повреждение. Инфекция, травма, ожог, панкреатит,
    крупная операция - все это может запустить системное
    воспаление. Организм реагирует однотипно: меняется
    температура, учащаются пульс и дыхание, сдвигается
    формула крови.</p>

    <p>Термин предложили в 1991 году на согласительной
    конференции в Нортбруке (пригород Чикаго). До этого
    врачи описывали похожие состояния разными словами,
    и это мешало диагностике. Четыре критерия SIRS задали
    конкретные числовые пороги - стало возможно объективно
    зафиксировать, запущен ли системный воспалительный
    ответ у конкретного пациента.</p>

    <p>SIRS - не диагноз, а маркер. Два и более
    выполненных критерия из четырех сигнализируют,
    что воспалительная реакция вышла за пределы
    одного органа и затронула весь организм.
    Задача врача после этого - найти причину:
    инфекция, травма или что-то иное.</p>

    <h3>Как работает калькулятор критериев SIRS</h3>
    <p>Калькулятор принимает четыре обязательных
    и два дополнительных параметра. Обязательные:
    температура тела, частота сердечных сокращений,
    частота дыхания и уровень лейкоцитов.
    Дополнительные: PaCO2 из газового анализа
    артериальной крови и процент палочкоядерных
    нейтрофилов из лейкоцитарной формулы.</p>

    <p>По каждому параметру калькулятор проверяет,
    выходит ли значение за пороговые границы.
    Затем подсчитывает, сколько из четырех критериев
    выполнено. Третий критерий засчитывается,
    если ЧДД выше 20 или PaCO2 ниже 32 - достаточно
    одного из двух. По той же логике четвертый критерий
    выполнен, если лейкоциты вне нормы или
    палочкоядерных больше 10%.</p>

    <p>На выходе - визуальная разбивка по каждому
    из четырех критериев и общий итог: SIRS
    положительный (два и более) или отрицательный
    (меньше двух).</p>

    <h3>Четыре критерия подробно</h3>
    <p><strong>Температура тела.</strong> Лихорадка
    выше 38 &deg;C или гипотермия ниже 36 &deg;C.
    Оба отклонения говорят о системной реакции.
    Гипотермия встречается реже, но она прогностически
    более тревожна - часто сопровождает тяжелый
    сепсис у ослабленных и пожилых пациентов.</p>

    <p><strong>Частота сердечных сокращений.</strong>
    Тахикардия выше 90 ударов в минуту. Сердце
    ускоряет работу, чтобы поддержать кровоток
    на фоне воспаления, расширения сосудов
    и перераспределения жидкости. Важно измерять
    пульс в покое - физическая нагрузка, боль
    и тревога тоже поднимают частоту.</p>

    <p><strong>Дыхание.</strong> Тахипноэ - больше
    20 дыхательных движений в минуту. Или
    гипокапния - PaCO2 ниже 32 мм рт.ст. по данным
    газового анализа артериальной крови. Гипервентиляция
    возникает как компенсация метаболического ацидоза,
    который часто сопровождает системное воспаление.</p>

    <p><strong>Лейкоциты крови.</strong> Лейкоцитоз
    выше 12&times;10&sup9;/л, лейкопения ниже
    4&times;10&sup9;/л или сдвиг лейкоцитарной
    формулы влево - палочкоядерных нейтрофилов
    больше 10%. Костный мозг реагирует на воспаление,
    выбрасывая в кровь незрелые клетки.</p>

    <h3>SIRS и сепсис - в чем разница</h3>
    <p>SIRS - не синоним сепсиса. По классическому
    определению 1991 года, сепсис - это SIRS
    плюс подтвержденная или подозреваемая инфекция.
    Но SIRS может развиться и без микробного агента:
    после обширной операции, при тяжелом панкреатите,
    массивной кровопотере, ожогах, аутоиммунных
    обострениях.</p>

    <p>В 2016 году международная рабочая группа
    под руководством Мервина Сингера пересмотрела
    определение сепсиса (консенсус Sepsis-3,
    опубликован в JAMA). Сепсис теперь определяют
    по шкале SOFA - оценке органной дисфункции,
    а не по критериям SIRS. Для догоспитального
    скрининга предложили шкалу qSOFA.</p>

    <p>Однако SIRS по-прежнему используют в клинической
    практике. Его высокая чувствительность помогает
    на раннем этапе заподозрить системное воспаление
    и начать обследование раньше, чем разовьется
    органная недостаточность. Многие российские
    клинические рекомендации (включая утвержденные
    Минздравом в 2024 году) продолжают ссылаться
    на критерии SIRS как инструмент скрининга.</p>

    <h3>Клиническое значение SIRS</h3>
    <p>SIRS ценен прежде всего скоростью и простотой.
    Для оценки нужны термометр, пульсоксиметр или пальцы
    на запястье, секундомер и общий анализ крови.
    Никакого специального оборудования. Поэтому SIRS
    подходит для приемного покоя, палаты наблюдения
    и любого стационара.</p>

    <p>У метода есть ограничение: низкая специфичность.
    Два критерия SIRS выполняют многие пациенты
    в хирургических отделениях после плановых операций,
    при обострении хронических заболеваний
    и даже при сильной физической нагрузке.
    Поэтому положительный SIRS - повод для
    дальнейшего обследования, а не диагноз.</p>

    <p>Наибольшую пользу SIRS приносит в системах
    раннего предупреждения. Медсестра фиксирует
    витальные показатели, калькулятор или электронная
    карта автоматически считает критерии,
    и при двух и более срабатывает тревога -
    врач осматривает пациента раньше, чем состояние
    успело ухудшиться.</p>

    <h3>Преимущества калькулятора</h3>
    <ul>
        <li>Быстрая проверка всех четырех критериев
        по одной форме - не нужно помнить пороговые
        значения наизусть</li>
        <li>Учет дополнительных параметров (PaCO2
        и палочкоядерные) - если есть данные, калькулятор
        использует их при оценке третьего и четвертого
        критериев</li>
        <li>Визуальная разбивка - сразу видно, какие
        именно критерии выполнены, а какие нет</li>
        <li>Цветовая индикация - красный для отклонений,
        зеленый для нормы, итоговый блок меняет цвет
        в зависимости от результата</li>
        <li>Подсказки к каждому полю - напоминают
        пороговые значения и объясняют,
        откуда брать данные</li>
    </ul>

    <h3>Когда результат SIRS требует врача</h3>
    <p>Калькулятор оценивает критерии формально.
    Клиническое решение остается за специалистом.
    Вот ситуации, когда нужна консультация врача
    или вызов скорой.</p>

    <ul>
        <li>SIRS положительный и есть признаки инфекции -
        лихорадка, озноб, локальная боль, гнойное
        отделяемое, кашель с мокротой, дизурия</li>
        <li>Нарастание числа критериев за короткое время -
        был один, стало три</li>
        <li>Появление признаков органной дисфункции:
        спутанность сознания, снижение диуреза,
        падение давления ниже 90/60, одышка в покое</li>
        <li>Температура выше 39,5 &deg;C или ниже 35 &deg;C -
        крайние значения, особенно гипотермия</li>
        <li>SIRS после операции или инвазивной процедуры,
        если критерии появились впервые или их стало
        больше, чем в первые сутки</li>
        <li>SIRS у пациента с ослабленным иммунитетом -
        на фоне химиотерапии, после трансплантации,
        при ВИЧ-инфекции, при длительном приеме
        глюкокортикоидов</li>
        <li>Любая клиническая ситуация, в которой
        вам интуитивно кажется, что что-то не так -
        SIRS подтверждает это ощущение цифрами</li>
    </ul>

    <h2>Факты и мнения о критериях SIRS</h2>

    <div class="fact-block fact-opinion">
        <div class="fact-block-title">Мнение специалиста</div>
        <p>Академик РАН Борис Романович Гельфанд,
        заведовавший кафедрой анестезиологии и реаниматологии
        РНИМУ им. Н.И. Пирогова и написавший одно из основных
        российских руководств по сепсису, подчеркивал:
        инфекция - вечная проблема, которую невозможно
        решить окончательно, но с ней можно и нужно бороться.
        Гельфанд разработал для российской клинической
        практики терминологию и критерии диагностики
        различных форм реакции на инфекцию, опираясь
        в том числе на критерии SIRS. По его позиции,
        ранний скрининг с помощью простых клинических
        параметров остается ключевым инструментом:
        пропущенное начало системного воспаления стоит
        пациенту значительно дороже, чем ложная тревога.</p>
    </div>

    <div class="fact-block fact-history">
        <div class="fact-block-title">Исторический факт</div>
        <p>Термин SIRS появился в августе 1991 года
        на согласительной конференции Американской коллегии
        торакальных хирургов и Общества медицины критических
        состояний в Нортбруке (штат Иллинойс). Конференцию
        возглавил пульмонолог Роджер Боун из
        Rush-Presbyterian St. Luke's Medical Center
        в Чикаго. До этого врачи использовали размытые
        термины вроде "септицемия" и "заражение крови",
        а единых диагностических критериев не существовало.
        Итоговая статья вышла в журнале Chest в 1992 году
        и за три десятилетия стала одной из самых
        цитируемых работ в интенсивной терапии.</p>
    </div>

    <div class="fact-block fact-research">
        <div class="fact-block-title">Современное исследование</div>
        <p>В 2016 году международная рабочая группа
        во главе с Мервином Сингером опубликовала в JAMA
        новое определение сепсиса (Sepsis-3), в котором
        отказалась от критериев SIRS для диагностики
        сепсиса в пользу шкалы SOFA. Параллельное
        исследование Кристофера Сеймура (более 1,3 млн
        случаев) показало, что qSOFA лучше предсказывает
        госпитальную летальность, чем SIRS. Однако
        последующие работы подтвердили: чувствительность
        SIRS достигает 98-99% - почти ни один пациент
        с сепсисом не проходит мимо этих критериев.
        Проблема SIRS в другом: специфичность около 46%,
        то есть больше половины срабатываний ложные.
        Поэтому современная стратегия - использовать
        SIRS для скрининга, а SOFA и qSOFA - для
        подтверждения и оценки тяжести.</p>
    </div>

    <div class="fact-block fact-disclaimer">
        <div class="fact-block-title">Обратитесь к врачу</div>
        <p>Информация на этой странице носит справочный
        характер. Калькулятор не ставит диагноз и не назначает
        лечение. Критерии SIRS - инструмент скрининга,
        а не окончательная клиническая оценка. При подозрении
        на инфекцию, ухудшении самочувствия или выполнении
        двух и более критериев SIRS обратитесь к лечащему
        врачу или вызовите скорую помощь. Самостоятельная
        интерпретация результатов без медицинского образования
        может привести к ошибочным решениям.</p>
    </div>

</div>

<script>
function showError(msg) {
    var el = document.getElementById('errorBlock');
    el.textContent = msg;
    el.style.display = 'block';
}

function calculateSIRS() {
    var temp = parseFloat(
        document.getElementById('temperature').value
    );
    var hr = parseFloat(
        document.getElementById('heartRate').value
    );
    var rr = parseFloat(
        document.getElementById('respRate').value
    );
    var paco2Raw = document.getElementById('paco2').value.trim();
    var wbc = parseFloat(
        document.getElementById('wbc').value
    );
    var bandsRaw = document.getElementById('bands').value.trim();

    var resultDiv = document.getElementById('result');
    var errorDiv = document.getElementById('errorBlock');

    resultDiv.classList.remove('active');
    errorDiv.style.display = 'none';

    // Валидация обязательных полей
    if (isNaN(temp) || temp < 34 || temp > 42) {
        showError(
            'Введите температуру тела от 34 до 42 \u00B0C.'
        );
        return;
    }
    if (isNaN(hr) || hr < 30 || hr > 250) {
        showError(
            'Введите частоту сердечных сокращений ' +
            'от 30 до 250 ударов в минуту.'
        );
        return;
    }
    if (isNaN(rr) || rr < 5 || rr > 60) {
        showError(
            'Введите частоту дыхания ' +
            'от 5 до 60 дыхательных движений в минуту.'
        );
        return;
    }
    if (isNaN(wbc) || wbc < 0.1 || wbc > 100) {
        showError(
            'Введите уровень лейкоцитов ' +
            'от 0,1 до 100 \u00D710\u2079/л.'
        );
        return;
    }

    // Валидация необязательных полей (если заполнены)
    var paco2 = null;
    if (paco2Raw !== '') {
        paco2 = parseFloat(paco2Raw);
        if (isNaN(paco2) || paco2 < 10 || paco2 > 100) {
            showError(
                'PaCO2 должен быть от 10 до 100 мм рт.ст. ' +
                'Или оставьте поле пустым.'
            );
            return;
        }
    }

    var bands = null;
    if (bandsRaw !== '') {
        bands = parseFloat(bandsRaw);
        if (isNaN(bands) || bands < 0 || bands > 100) {
            showError(
                'Процент палочкоядерных нейтрофилов ' +
                'должен быть от 0 до 100. ' +
                'Или оставьте поле пустым.'
            );
            return;
        }
    }

    // Оценка критериев
    var criteria = 0;
    var items = [];

    // Критерий 1: Температура
    var tempMet = (temp > 38 || temp < 36);
    if (tempMet) criteria++;
    var tempReason = temp > 38
        ? temp.toFixed(1) + ' \u00B0C (выше 38)'
        : temp < 36
            ? temp.toFixed(1) + ' \u00B0C (ниже 36)'
            : temp.toFixed(1) + ' \u00B0C (в пределах 36-38)';
    items.push({
        name: 'Температура',
        met: tempMet,
        detail: tempReason
    });

    // Критерий 2: ЧСС
    var hrMet = (hr > 90);
    if (hrMet) criteria++;
    var hrReason = hrMet
        ? hr + ' уд/мин (выше 90)'
        : hr + ' уд/мин (90 и ниже)';
    items.push({
        name: 'ЧСС (тахикардия)',
        met: hrMet,
        detail: hrReason
    });

    // Критерий 3: Дыхание (ЧДД или PaCO2)
    var rrHigh = (rr > 20);
    var paco2Low = (paco2 !== null && paco2 < 32);
    var respMet = (rrHigh || paco2Low);
    if (respMet) criteria++;

    var respParts = [];
    if (rrHigh) {
        respParts.push('ЧДД ' + rr + ' (выше 20)');
    } else {
        respParts.push('ЧДД ' + rr + ' (20 и ниже)');
    }
    if (paco2 !== null) {
        if (paco2Low) {
            respParts.push(
                'PaCO2 ' + paco2.toFixed(1) + ' (ниже 32)'
            );
        } else {
            respParts.push(
                'PaCO2 ' + paco2.toFixed(1) + ' (32 и выше)'
            );
        }
    }
    items.push({
        name: 'Дыхание (тахипноэ / гипокапния)',
        met: respMet,
        detail: respParts.join('; ')
    });

    // Критерий 4: Лейкоциты (или палочкоядерные)
    var wbcHigh = (wbc > 12);
    var wbcLow = (wbc < 4);
    var bandsHigh = (bands !== null && bands > 10);
    var wbcMet = (wbcHigh || wbcLow || bandsHigh);
    if (wbcMet) criteria++;

    var wbcParts = [];
    if (wbcHigh) {
        wbcParts.push(
            wbc.toFixed(1) + '\u00D710\u2079/\u043B (выше 12)'
        );
    } else if (wbcLow) {
        wbcParts.push(
            wbc.toFixed(1) + '\u00D710\u2079/\u043B (ниже 4)'
        );
    } else {
        wbcParts.push(
            wbc.toFixed(1) + '\u00D710\u2079/\u043B (в норме)'
        );
    }
    if (bands !== null) {
        if (bandsHigh) {
            wbcParts.push(
                'палочкоядерные ' +
                bands.toFixed(1) + '% (выше 10%)'
            );
        } else {
            wbcParts.push(
                'палочкоядерные ' +
                bands.toFixed(1) + '% (10% и ниже)'
            );
        }
    }
    items.push({
        name: 'Лейкоциты крови',
        met: wbcMet,
        detail: wbcParts.join('; ')
    });

    // Рендер критериев
    var listHTML = '';
    for (var i = 0; i < items.length; i++) {
        var item = items[i];
        var rowClass = item.met
            ? 'criterion-item criterion-met'
            : 'criterion-item criterion-unmet';
        var statusClass = item.met
            ? 'criterion-status criterion-status-met'
            : 'criterion-status criterion-status-unmet';
        var statusText = item.met
            ? 'выполнен'
            : 'не выполнен';

        listHTML +=
            '<div class="' + rowClass + '">' +
            '<span class="criterion-status ' +
            statusClass + '">' + statusText + '</span>' +
            '<span class="criterion-label">' +
            item.name + '</span><br>' +
            '<span>' + item.detail + '</span>' +
            '</div>';
    }
    document.getElementById('criteriaList').innerHTML =
        listHTML;

    // Итог
    var isPositive = (criteria >= 2);
    var summaryClass = isPositive
        ? 'sirs-summary sirs-positive'
        : 'sirs-summary sirs-negative';
    var countClass = isPositive
        ? 'sirs-count sirs-count-positive'
        : 'sirs-count sirs-count-negative';
    var verdictText = isPositive
        ? 'SIRS положительный'
        : 'SIRS отрицательный';

    document.getElementById('sirsSummary').innerHTML =
        '<div class="' + summaryClass + '">' +
        'Выполнено критериев: ' +
        '<span class="' + countClass + '">' +
        criteria + ' из 4</span><br>' +
        '<strong>' + verdictText + '</strong>' +
        '</div>';

    // Примечание
    var noteEl = document.getElementById('resultNote');
    var note = '';

    if (criteria === 4) {
        note =
            'Все четыре критерия выполнены. ' +
            'Это указывает на выраженный системный ' +
            'воспалительный ответ. Необходима срочная ' +
            'консультация врача для поиска причины - ' +
            'инфекции, острого хирургического состояния ' +
            'или другого повреждения.';
    } else if (criteria === 3) {
        note =
            'Три из четырех критериев выполнены. ' +
            'Высокая вероятность значимого системного ' +
            'воспаления. Обратитесь к врачу для ' +
            'дальнейшего обследования - особенно если ' +
            'есть признаки инфекции.';
    } else if (criteria === 2) {
        note =
            'Два критерия выполнены - формально SIRS ' +
            'положительный. Оцените клинический контекст: ' +
            'если нет явной причины (недавняя операция, ' +
            'физическая нагрузка), обратитесь к врачу.';
    } else if (criteria === 1) {
        note =
            'Один критерий выполнен - SIRS формально ' +
            'не подтвержден. Но если состояние ухудшается, ' +
            'повторите оценку через несколько часов.';
    } else {
        note =
            'Ни один критерий не выполнен. ' +
            'На момент оценки признаков системного ' +
            'воспалительного ответа нет.';
    }

    noteEl.textContent = note;
    noteEl.style.display = 'block';

    resultDiv.classList.add('active');
}
</script>				</div>
				</div>
					</div>
				</div>
				</div>
		<p>Сообщение <a href="https://vracha-na-dom.ru/kalkulyatory/kalkulyator-kriteriev-sirs/">Калькулятор критериев SIRS</a> появились сначала на <a href="https://vracha-na-dom.ru">Вызов врача на дом</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Калькулятор qSOFA</title>
		<link>https://vracha-na-dom.ru/kalkulyatory/kalkulyator-qsofa/</link>
		
		<dc:creator><![CDATA[Волкова Елена Андреевна]]></dc:creator>
		<pubDate>Fri, 11 Sep 2026 12:26:01 +0000</pubDate>
				<category><![CDATA[Калькуляторы]]></category>
		<category><![CDATA[Калькуляторы шкал риска и тяжести заболеваний]]></category>
		<guid isPermaLink="false">https://vracha-na-dom.ru/?p=6385</guid>

					<description><![CDATA[<p>Рассчитать шкалу qSOFA онлайн Систолическое артериальное давление (мм рт. ст.): Верхнее число при измерении давления. По шкале qSOFA: 100 мм рт. ст. и ниже дает 1 балл. Частота дыхания (вдохов в минуту): Подсчитайте число вдохов за 60 секунд. Норма для взрослого &#8212; 12-20 в минуту. По шкале qSOFA: 22 вдоха в минуту и больше дает [&#8230;]</p>
<p>Сообщение <a href="https://vracha-na-dom.ru/kalkulyatory/kalkulyator-qsofa/">Калькулятор qSOFA</a> появились сначала на <a href="https://vracha-na-dom.ru">Вызов врача на дом</a>.</p>
]]></description>
										<content:encoded><![CDATA[		<div data-elementor-type="wp-post" data-elementor-id="6385" class="elementor elementor-6385" data-elementor-settings="{&quot;element_pack_global_tooltip_width&quot;:{&quot;unit&quot;:&quot;px&quot;,&quot;size&quot;:&quot;&quot;,&quot;sizes&quot;:[]},&quot;element_pack_global_tooltip_width_tablet&quot;:{&quot;unit&quot;:&quot;px&quot;,&quot;size&quot;:&quot;&quot;,&quot;sizes&quot;:[]},&quot;element_pack_global_tooltip_width_mobile&quot;:{&quot;unit&quot;:&quot;px&quot;,&quot;size&quot;:&quot;&quot;,&quot;sizes&quot;:[]},&quot;element_pack_global_tooltip_padding&quot;:{&quot;unit&quot;:&quot;px&quot;,&quot;top&quot;:&quot;&quot;,&quot;right&quot;:&quot;&quot;,&quot;bottom&quot;:&quot;&quot;,&quot;left&quot;:&quot;&quot;,&quot;isLinked&quot;:true},&quot;element_pack_global_tooltip_padding_tablet&quot;:{&quot;unit&quot;:&quot;px&quot;,&quot;top&quot;:&quot;&quot;,&quot;right&quot;:&quot;&quot;,&quot;bottom&quot;:&quot;&quot;,&quot;left&quot;:&quot;&quot;,&quot;isLinked&quot;:true},&quot;element_pack_global_tooltip_padding_mobile&quot;:{&quot;unit&quot;:&quot;px&quot;,&quot;top&quot;:&quot;&quot;,&quot;right&quot;:&quot;&quot;,&quot;bottom&quot;:&quot;&quot;,&quot;left&quot;:&quot;&quot;,&quot;isLinked&quot;:true},&quot;element_pack_global_tooltip_border_radius&quot;:{&quot;unit&quot;:&quot;px&quot;,&quot;top&quot;:&quot;&quot;,&quot;right&quot;:&quot;&quot;,&quot;bottom&quot;:&quot;&quot;,&quot;left&quot;:&quot;&quot;,&quot;isLinked&quot;:true},&quot;element_pack_global_tooltip_border_radius_tablet&quot;:{&quot;unit&quot;:&quot;px&quot;,&quot;top&quot;:&quot;&quot;,&quot;right&quot;:&quot;&quot;,&quot;bottom&quot;:&quot;&quot;,&quot;left&quot;:&quot;&quot;,&quot;isLinked&quot;:true},&quot;element_pack_global_tooltip_border_radius_mobile&quot;:{&quot;unit&quot;:&quot;px&quot;,&quot;top&quot;:&quot;&quot;,&quot;right&quot;:&quot;&quot;,&quot;bottom&quot;:&quot;&quot;,&quot;left&quot;:&quot;&quot;,&quot;isLinked&quot;:true}}" data-elementor-post-type="post">
				<div class="elementor-element elementor-element-f7c7514 e-flex e-con-boxed e-con e-parent" data-id="f7c7514" data-element_type="container" data-settings="{&quot;ekit_has_onepagescroll_dot&quot;:&quot;yes&quot;}">
					<div class="e-con-inner">
				<div class="elementor-element elementor-element-86156a1 elementor-widget elementor-widget-html" data-id="86156a1" data-element_type="widget" data-settings="{&quot;ekit_we_effect_on&quot;:&quot;none&quot;}" data-widget_type="html.default">
				<div class="elementor-widget-container">
					<style>
.calculator-container {
    max-width: 100%;
    margin: 10px auto;
    padding: 10px;
    border: 1px solid #ddd;
    border-radius: 8px;
    background-color: #f9f9f9;
}
.calculator-input {
    margin: 15px 0;
}
.calculator-input label {
    display: block;
    margin-bottom: 25px;
    font-weight: bold;
}
.calculator-input input,
.calculator-input select {
    width: 100%;
    padding: 10px 18px;
    border: 1px solid #ccc;
    border-radius: 50px;
    font-size: 16px;
    box-sizing: border-box;
}
.input-hint {
    font-size: 13px;
    color: #666;
    margin-top: 4px;
}
.carb-toggle {
    display: flex;
    gap: 8px;
    margin-bottom: 8px;
}
.carb-toggle button {
    flex: 1;
    padding: 9px 8px;
    border: 2px solid #0457B5;
    border-radius: 50px;
    background: white;
    color: #0457B5;
    cursor: pointer;
    font-size: 14px;
    font-weight: bold;
    transition: background 0.15s, color 0.15s;
}
.carb-toggle button.active {
    background: #0457B5;
    color: white;
}
.calculate-btn {
    background-color: #0457B5;
    color: white;
    padding: 12px 20px;
    border: none;
    border-radius: 50px;
    cursor: pointer;
    font-size: 16px;
    width: 100%;
    margin-top: 10px;
}
.calculate-btn:hover {
    background-color: #034499;
}
.result {
    margin-top: 20px;
    padding: 15px;
    background-color: #f0f7ff;
    border-left: 4px solid #0457B5;
    display: none;
}
.result.active {
    display: block;
}
.result h3 {
    margin-top: 0;
    color: #0457B5;
}
.dose-highlight {
    font-size: 1.45rem;
    font-weight: bold;
    color: #0457B5;
}
.dose-row {
    background-color: #f0fbea;
    border-left: 3px solid #7BC15B;
    padding: 8px 12px;
    margin: 8px 0;
    border-radius: 0 4px 4px 0;
}
.dose-row-primary {
    background-color: #e8f0fb;
    border-left: 3px solid #0457B5;
    padding: 8px 12px;
    margin: 8px 0;
    border-radius: 0 4px 4px 0;
}
.dose-row-primary .dose-highlight {
    font-size: 1.7rem;
}
.criterion-met {
    background-color: #fff3cd;
    border-left: 3px solid #ffc107;
    padding: 8px 12px;
    margin: 8px 0;
    border-radius: 0 4px 4px 0;
}
.criterion-not-met {
    background-color: #f0fbea;
    border-left: 3px solid #7BC15B;
    padding: 8px 12px;
    margin: 8px 0;
    border-radius: 0 4px 4px 0;
}
.info-note {
    background-color: #f0fbea;
    border-left: 4px solid #7BC15B;
    padding: 10px;
    margin-top: 10px;
    font-size: 14px;
}
.warning {
    background-color: #fff3cd;
    border-left: 4px solid #ffc107;
    padding: 10px;
    margin-top: 15px;
}
.error-block {
    background-color: #fde8e8;
    border-left: 4px solid #e53935;
    padding: 10px;
    margin-top: 15px;
    display: none;
    font-size: 14px;
}
.content-section {
    max-width: 100%;
    margin: 20px auto;
    padding: 20px;
    line-height: 1.6;
}
.content-section h2 {
    color: #0457B5;
    margin-top: 25px;
}
.content-section h3 {
    color: #333;
    margin-top: 25px;
}
.content-section ul {
    padding-left: 20px;
}
.content-section li {
    margin: 8px 0;
}
.dose-table {
    width: 100%;
    border-collapse: collapse;
    margin: 10px 0;
    font-size: 14px;
}
.dose-table th,
.dose-table td {
    border: 1px solid #ddd;
    padding: 8px 10px;
    text-align: left;
}
.dose-table th {
    background-color: #e8f0fb;
    font-weight: bold;
    color: #0457B5;
}
.dose-table tr:nth-child(even) {
    background-color: #f9f9f9;
}
.result-params {
    font-size: 14px;
    color: #444;
    margin-bottom: 12px;
    padding: 8px 10px;
    background: #f9f9f9;
    border-radius: 4px;
}
.result-params span {
    display: inline-block;
    margin-right: 16px;
}
.risk-high {
    background-color: #fde8e8;
    border-left: 4px solid #e53935;
    padding: 10px;
    margin-top: 10px;
    font-size: 14px;
}
.risk-low {
    background-color: #f0fbea;
    border-left: 4px solid #7BC15B;
    padding: 10px;
    margin-top: 10px;
    font-size: 14px;
}
.fact-block {
    background-color: #f9f9f9;
    border-radius: 8px;
    padding: 15px 18px;
    margin: 15px 0;
}
.fact-block h3 {
    margin-top: 5px;
}
.disclaimer-block {
    background-color: #fff3cd;
    border-left: 4px solid #ffc107;
    padding: 15px 18px;
    margin: 20px 0;
    border-radius: 0 8px 8px 0;
}
</style>

<div class="content-section">
    <h2>Рассчитать шкалу qSOFA онлайн</h2>

    <div class="calculator-container">

        <div class="calculator-input">
            <label for="sbp">
                Систолическое артериальное давление (мм рт. ст.):
            </label>
            <input type="number" id="sbp" min="30" max="300"
                   step="1" placeholder="Например: 95">
            <div class="input-hint">
                Верхнее число при измерении давления. По шкале
                qSOFA: 100 мм рт. ст. и ниже дает 1 балл.
            </div>
        </div>

        <div class="calculator-input">
            <label for="rr">
                Частота дыхания (вдохов в минуту):
            </label>
            <input type="number" id="rr" min="4" max="70"
                   step="1" placeholder="Например: 24">
            <div class="input-hint">
                Подсчитайте число вдохов за 60 секунд. Норма
                для взрослого - 12-20 в минуту. По шкале
                qSOFA: 22 вдоха в минуту и больше дает 1 балл.
            </div>
        </div>

        <div class="calculator-input">
            <label>Уровень сознания:</label>
            <div class="carb-toggle">
                <button id="btnClear" class="active"
                        onclick="switchMental('clear')">
                    Ясное (ШКГ = 15)
                </button>
                <button id="btnAltered"
                        onclick="switchMental('altered')">
                    Нарушено (ШКГ &lt; 15)
                </button>
            </div>
            <div class="input-hint">
                Любое изменение сознания: сонливость,
                спутанность, дезориентация, заторможенность,
                возбуждение. По шкале Глазго (ШКГ) - менее
                15 баллов. Если пациент полностью ориентирован
                и контактен - сознание ясное.
            </div>
        </div>

        <button class="calculate-btn" onclick="calculateQSOFA()">
            Рассчитать qSOFA
        </button>

        <div class="result" id="result">
            <h3>Результат оценки qSOFA</h3>

            <div class="result-params" id="resultParams"></div>

            <div class="dose-row-primary">
                <strong>Оценка по шкале qSOFA:</strong><br>
                <span class="dose-highlight" id="totalScore">-</span>
                &nbsp;из 3 баллов
            </div>

            <div id="criteriaBreakdown"></div>

            <div id="riskNote"></div>

            <div class="warning">
                <strong>Важно:</strong> qSOFA - инструмент
                прикроватного скрининга, а не диагноз. Оценка
                2 балла и выше указывает на повышенный риск
                неблагоприятного исхода, но сама по себе
                не подтверждает сепсис. Окончательный диагноз
                ставит врач по результатам осмотра, лабораторных
                анализов и полной шкалы SOFA.
            </div>
        </div>

        <div class="error-block" id="errorBlock"></div>

    </div>

    <h3>Таблица критериев qSOFA</h3>
    <p>Три параметра, каждый из которых оценивают
    в 0 или 1 балл. Лабораторные анализы не нужны -
    все определяют у постели пациента за 30-60 секунд.</p>

    <table class="dose-table">
        <thead>
            <tr>
                <th>Критерий</th>
                <th>Порог</th>
                <th>Балл</th>
            </tr>
        </thead>
        <tbody>
            <tr>
                <td>Систолическое АД</td>
                <td>100 мм рт. ст. и ниже</td>
                <td>1</td>
            </tr>
            <tr>
                <td>Частота дыхания</td>
                <td>22 в минуту и выше</td>
                <td>1</td>
            </tr>
            <tr>
                <td>Нарушение сознания</td>
                <td>ШКГ менее 15 баллов</td>
                <td>1</td>
            </tr>
        </tbody>
    </table>

    <h3>Что такое qSOFA</h3>
    <p>qSOFA (quick Sequential Organ Failure Assessment) -
    шкала быстрой оценки органной дисфункции у пациентов
    с подозрением на инфекцию. Ее предложили в 2016 году
    в рамках консенсуса Sepsis-3 как прикроватный
    инструмент, который не требует лабораторных исследований
    и занимает меньше минуты.</p>

    <p>Шкала включает три клинических параметра: артериальное
    давление, частоту дыхания и уровень сознания. Каждый
    параметр оценивают в 0 или 1 балл, максимум - 3 балла.
    Если набрано 2 балла и более, пациент нуждается
    в срочной углубленной оценке по полной шкале SOFA,
    измерении лактата и взятии посевов крови.</p>

    <p>qSOFA разработали для применения вне отделений
    реанимации - в приемных покоях, на вызовах скорой
    помощи и в общих палатах стационаров. В реанимации
    используют полную шкалу SOFA, которая учитывает
    шесть систем органов и требует лабораторных данных.</p>

    <h3>Как интерпретировать результат</h3>
    <p>Итоговая оценка делит пациентов на две группы риска.</p>

    <p><strong>0-1 балл:</strong> риск неблагоприятного исхода
    относительно низкий. Но если клинические подозрения
    на инфекцию остаются, продолжайте наблюдение
    и повторную оценку. qSOFA ниже 2 баллов не исключает
    сепсис - это важное ограничение шкалы.</p>

    <p><strong>2-3 балла:</strong> повышенный риск. По данным
    оригинального исследования (Singer и соавт., 2016),
    смертность в этой группе в 3-14 раз выше, чем у пациентов
    с 0-1 баллом. При таком результате необходимо начать
    полную оценку по шкале SOFA, взять посевы крови,
    измерить лактат и обсудить перевод в реанимацию.</p>

    <h3>Описание калькулятора qSOFA</h3>
    <p>Калькулятор принимает три параметра: систолическое
    артериальное давление в мм рт. ст., частоту дыхания
    в количестве вдохов в минуту и оценку сознания
    (ясное или нарушенное). На выходе - итоговый балл
    и разбивка по каждому критерию: видно, какие
    из трех пороговых значений превышены.</p>

    <p>Калькулятор подсвечивает встревоженные критерии
    желтым, а нормальные - зеленым. При оценке 2 и выше
    появляется предупреждение о высоком риске
    с рекомендацией дальнейших действий. При 0-1 балле -
    напоминание, что низкий балл не исключает инфекцию.</p>

    <h3>Чем qSOFA отличается от полной шкалы SOFA</h3>
    <p>Полная SOFA оценивает шесть систем органов:
    дыхание, свертывание крови, печень, сердечно-сосудистую
    систему, центральную нервную систему и почки. Для расчета
    нужны результаты анализов крови, данные о газовом
    составе крови и параметры вазопрессорной поддержки.
    Максимальный балл - 24. Повышение на 2 и более
    от исходного уровня указывает на сепсис по критериям
    Sepsis-3.</p>

    <p>qSOFA - упрощенная версия для быстрого скрининга.
    Три параметра вместо шести систем, ноль лабораторных
    тестов, оценка за полминуты вместо нескольких часов
    ожидания анализов. Но упрощение имеет цену: qSOFA
    менее чувствительна. Она хорошо выделяет пациентов
    с высоким риском смерти, но пропускает часть случаев
    сепсиса на ранней стадии.</p>

    <h3>Ограничения шкалы qSOFA</h3>
    <p>С момента публикации в 2016 году qSOFA активно
    исследовали в разных популяциях. Выяснилось несколько
    важных ограничений.</p>

    <ul>
        <li>Невысокая чувствительность - шкала специфична
        (мало ложноположительных результатов), но пропускает
        пациентов с ранним сепсисом, когда параметры еще
        не достигли пороговых значений</li>
        <li>Рекомендации Surviving Sepsis Campaign 2021 года
        не советуют использовать qSOFA как единственный
        инструмент скрининга - предлагают сочетать с другими
        шкалами (NEWS, MEWS) и измерением лактата</li>
        <li>Шкала не предназначена для пациентов в реанимации,
        где нужна полная SOFA</li>
        <li>У пациентов с хронической гипотензией
        или неврологическими заболеваниями базовые показатели
        могут искажать оценку</li>
        <li>qSOFA не заменяет клиническое суждение врача -
        при явных признаках тяжелой инфекции действовать
        нужно независимо от набранного балла</li>
    </ul>

    <h3>Когда использовать qSOFA</h3>
    <p>Шкала полезна в нескольких ситуациях: первичная
    оценка пациента с подозрением на инфекцию в приемном
    отделении, сортировка при массовом поступлении,
    повторная оценка при ухудшении состояния пациента
    в общей палате, прикроватный скрининг медсестрой
    при дежурстве.</p>

    <p>Важно: qSOFA задумана для взрослых пациентов
    (от 18 лет) вне реанимации. Для детей существуют
    отдельные критерии, для пациентов в ОРИТ - полная
    шкала SOFA.</p>

    <h3>Преимущества калькулятора</h3>
    <ul>
        <li>Моментальный расчет без ручного сложения -
        ввели три показателя и получили итоговый балл
        с интерпретацией</li>
        <li>Визуальная разбивка по критериям - сразу видно,
        какой параметр вызвал тревогу, а какой в норме</li>
        <li>Автоматическая стратификация риска - калькулятор
        сам определяет группу (низкий или высокий риск)
        и дает рекомендации по дальнейшим действиям</li>
        <li>Не требует запоминания пороговых значений -
        пороги (АД 100, ЧД 22, ШКГ 15) встроены
        в логику расчета</li>
        <li>Работает без интернета после загрузки
        страницы - все вычисления происходят
        на устройстве пользователя</li>
    </ul>

    <h2>Факты и мнения о шкале qSOFA</h2>

    <div class="fact-block">
        <h3>Мнение эксперта</h3>
        <p>Мервин Сингер, профессор интенсивной терапии
        Университетского колледжа Лондона и ведущий автор
        консенсуса Sepsis-3, неоднократно подчеркивал: qSOFA -
        прикроватный инструмент для быстрого выявления
        пациентов с инфекцией, которые с высокой вероятностью
        столкнутся с неблагоприятным исходом. Это не диагноз
        сепсиса и не замена полноценного обследования.
        В своей публикации в Intensive Care Medicine (2016)
        Сингер отмечал, что qSOFA требует только тонометр
        и часы, а значит доступна в любой клинике мира,
        включая страны с ограниченными ресурсами - в отличие
        от SIRS, для которой нужен анализ крови и газов.
        Он также настаивал, что результат ниже 2 баллов
        не должен откладывать обследование и лечение,
        если врач клинически подозревает сепсис.</p>
    </div>

    <div class="fact-block">
        <h3>Исторический факт</h3>
        <p>Оригинальную шкалу SOFA создали в 1994 году
        на консенсусной конференции Европейского общества
        интенсивной терапии (ESICM) в Париже. Ее автор -
        бельгийский реаниматолог Жан-Луи Венсан. Сначала
        шкала называлась Sepsis-related Organ Failure
        Assessment (оценка органной недостаточности,
        связанной с сепсисом). Она оценивала шесть систем
        органов и требовала лабораторных данных. Спустя
        22 года, в 2016 году, то же исследовательское
        сообщество предложило быструю прикроватную версию -
        qSOFA, а оригинальную шкалу переименовали
        в Sequential (последовательная), чтобы отразить
        ее использование не только при сепсисе, но и при
        других критических состояниях. Путь от полноценной
        шкалы из шести компонентов до экспресс-теста из трех
        занял больше двух десятилетий.</p>
    </div>

    <div class="fact-block">
        <h3>Современные исследования</h3>
        <p>В 2025-2026 годах несколько исследовательских
        групп работали над улучшением прогностической
        точности qSOFA. В частности, в журнале Frontiers
        in Medicine (2026) опубликовали исследование
        модифицированной шкалы SI-qSOFA, где к стандартным
        трем критериям добавили шоковый индекс (отношение
        частоты пульса к систолическому давлению). Авторы
        показали, что SI-qSOFA точнее стратифицирует риск
        внутрибольничной смертности, чем классическая qSOFA,
        за счет выявления скрытой циркуляторной дисфункции.
        Параллельно итальянская группа (PubMed, 2026) изучала
        сочетание qSOFA с уровнем лактата (шкала qSOFA-лактат)
        на 370 пациентах и подтвердила, что добавление лактата
        повышает прогностическую точность в отношении 30-дневной
        летальности. Эти работы показывают, что qSOFA остается
        активной площадкой для исследований, хотя ее роль
        смещается от самостоятельного скрининга к компоненту
        комбинированных инструментов.</p>
    </div>

    <div class="disclaimer-block">
        <p><strong>Внимание.</strong> Калькулятор qSOFA -
        вспомогательный инструмент, который не ставит
        диагноз и не назначает лечение. Любые решения
        о тактике ведения пациента принимает лечащий врач
        на основании осмотра, анамнеза, лабораторных
        и инструментальных исследований. Если вы подозреваете
        сепсис у себя или у близкого, немедленно вызовите
        скорую помощь или обратитесь в приемное отделение
        ближайшей больницы. Самолечение при подозрении
        на сепсис недопустимо.</p>
    </div>

</div>

<script>
let mentalStatus = 'clear';

function switchMental(status) {
    mentalStatus = status;
    document.getElementById('btnClear')
        .classList.toggle('active', status === 'clear');
    document.getElementById('btnAltered')
        .classList.toggle('active', status === 'altered');

    document.getElementById('result').classList.remove('active');
    document.getElementById('errorBlock').style.display = 'none';
}

function showError(msg) {
    var el = document.getElementById('errorBlock');
    el.textContent = msg;
    el.style.display = 'block';
}

function calculateQSOFA() {
    var sbp = parseFloat(
        document.getElementById('sbp').value
    );
    var rr = parseFloat(
        document.getElementById('rr').value
    );

    var resultDiv = document.getElementById('result');
    var errorDiv = document.getElementById('errorBlock');

    resultDiv.classList.remove('active');
    errorDiv.style.display = 'none';

    // Валидация
    if (isNaN(sbp) || sbp < 30 || sbp > 300) {
        showError(
            'Введите систолическое артериальное давление ' +
            'от 30 до 300 мм рт. ст.'
        );
        return;
    }
    if (isNaN(rr) || rr < 4 || rr > 70) {
        showError(
            'Введите частоту дыхания от 4 до 70 ' +
            'вдохов в минуту.'
        );
        return;
    }

    // Расчет критериев
    var sbpMet = sbp <= 100 ? 1 : 0;
    var rrMet = rr >= 22 ? 1 : 0;
    var mentalMet = mentalStatus === 'altered' ? 1 : 0;

    var totalScore = sbpMet + rrMet + mentalMet;

    // Параметры расчета
    document.getElementById('resultParams').innerHTML =
        '<span>АД сист.: <strong>' +
        sbp.toFixed(0) + ' мм рт. ст.</strong></span>' +
        '<span>ЧД: <strong>' +
        rr.toFixed(0) + '/мин</strong></span>' +
        '<span>Сознание: <strong>' +
        (mentalStatus === 'altered' ?
            'нарушено' : 'ясное') +
        '</strong></span>';

    // Итоговый балл
    document.getElementById('totalScore').textContent =
        totalScore;

    // Разбивка по критериям
    var breakdown = '';

    breakdown += '<div class="' +
        (sbpMet ? 'criterion-met' : 'criterion-not-met') +
        '">' +
        '<strong>Систолическое АД ' +
        (sbpMet ? '\u2264' : '>') +
        ' 100 мм рт. ст.</strong> ' +
        '(' + sbp.toFixed(0) + ' мм рт. ст.) - ' +
        '<strong>' + (sbpMet ? '+1 балл' : '0 баллов') +
        '</strong></div>';

    breakdown += '<div class="' +
        (rrMet ? 'criterion-met' : 'criterion-not-met') +
        '">' +
        '<strong>Частота дыхания ' +
        (rrMet ? '\u2265' : '<') +
        ' 22/мин</strong> ' +
        '(' + rr.toFixed(0) + '/мин) - ' +
        '<strong>' + (rrMet ? '+1 балл' : '0 баллов') +
        '</strong></div>';

    breakdown += '<div class="' +
        (mentalMet ? 'criterion-met' : 'criterion-not-met') +
        '">' +
        '<strong>Нарушение сознания (ШКГ < 15)</strong> ' +
        '(' + (mentalMet ? 'да' : 'нет') + ') - ' +
        '<strong>' + (mentalMet ? '+1 балл' : '0 баллов') +
        '</strong></div>';

    document.getElementById('criteriaBreakdown').innerHTML =
        breakdown;

    // Интерпретация риска
    var riskHtml = '';

    if (totalScore >= 2) {
        riskHtml =
            '<div class="risk-high">' +
            '<strong>Высокий риск.</strong> ' +
            'Оценка ' + totalScore + ' из 3 баллов ' +
            'связана с повышенной смертностью ' +
            '(в 3-14 раз выше по сравнению с оценкой 0-1). ' +
            'Рекомендовано: провести полную оценку по шкале ' +
            'SOFA, взять посевы крови, измерить лактат, ' +
            'начать эмпирическую антибактериальную терапию ' +
            'и рассмотреть перевод в реанимацию.' +
            '</div>';
    } else if (totalScore === 1) {
        riskHtml =
            '<div class="risk-low">' +
            '<strong>Относительно низкий риск.</strong> ' +
            'Оценка 1 балл. Вероятность неблагоприятного ' +
            'исхода ниже, чем при 2-3 баллах, но низкий ' +
            'балл не исключает сепсис. Если клинические ' +
            'подозрения на инфекцию сохраняются, ' +
            'продолжайте наблюдение, повторно оценивайте ' +
            'состояние и при ухудшении пересчитайте qSOFA.' +
            '</div>';
    } else {
        riskHtml =
            '<div class="risk-low">' +
            '<strong>Низкий риск по шкале qSOFA.</strong> ' +
            'Все три параметра в пределах пороговых значений. ' +
            'Однако qSOFA имеет ограниченную чувствительность. ' +
            'При клиническом подозрении на инфекцию ' +
            'руководствуйтесь результатами осмотра ' +
            'и лабораторных данных, а не только баллами ' +
            'шкалы.' +
            '</div>';
    }

    document.getElementById('riskNote').innerHTML = riskHtml;
    resultDiv.classList.add('active');
}
</script>				</div>
				</div>
					</div>
				</div>
				</div>
		<p>Сообщение <a href="https://vracha-na-dom.ru/kalkulyatory/kalkulyator-qsofa/">Калькулятор qSOFA</a> появились сначала на <a href="https://vracha-na-dom.ru">Вызов врача на дом</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Калькулятор шкалы SOFA</title>
		<link>https://vracha-na-dom.ru/kalkulyatory/kalkulyator-shkaly-sofa/</link>
		
		<dc:creator><![CDATA[Волкова Елена Андреевна]]></dc:creator>
		<pubDate>Fri, 11 Sep 2026 12:16:52 +0000</pubDate>
				<category><![CDATA[Калькуляторы]]></category>
		<category><![CDATA[Калькуляторы шкал риска и тяжести заболеваний]]></category>
		<guid isPermaLink="false">https://vracha-na-dom.ru/?p=6380</guid>

					<description><![CDATA[<p>Рассчитать баллы по шкале SOFA онлайн Дыхание &#8212; PaO2/FiO2 (мм рт. ст.): &#8805; 400 (0 баллов)300-399 (1 балл)200-299 (2 балла)100-199 + респираторная поддержка (3 балла)&#60; 100 + респираторная поддержка (4 балла) Индекс оксигенации: отношение парциального давления кислорода в артериальной крови к фракции вдыхаемого кислорода. При 3-4 баллах учитывают наличие ИВЛ или CPAP. Коагуляция &#8212; тромбоциты [&#8230;]</p>
<p>Сообщение <a href="https://vracha-na-dom.ru/kalkulyatory/kalkulyator-shkaly-sofa/">Калькулятор шкалы SOFA</a> появились сначала на <a href="https://vracha-na-dom.ru">Вызов врача на дом</a>.</p>
]]></description>
										<content:encoded><![CDATA[		<div data-elementor-type="wp-post" data-elementor-id="6380" class="elementor elementor-6380" data-elementor-settings="{&quot;element_pack_global_tooltip_width&quot;:{&quot;unit&quot;:&quot;px&quot;,&quot;size&quot;:&quot;&quot;,&quot;sizes&quot;:[]},&quot;element_pack_global_tooltip_width_tablet&quot;:{&quot;unit&quot;:&quot;px&quot;,&quot;size&quot;:&quot;&quot;,&quot;sizes&quot;:[]},&quot;element_pack_global_tooltip_width_mobile&quot;:{&quot;unit&quot;:&quot;px&quot;,&quot;size&quot;:&quot;&quot;,&quot;sizes&quot;:[]},&quot;element_pack_global_tooltip_padding&quot;:{&quot;unit&quot;:&quot;px&quot;,&quot;top&quot;:&quot;&quot;,&quot;right&quot;:&quot;&quot;,&quot;bottom&quot;:&quot;&quot;,&quot;left&quot;:&quot;&quot;,&quot;isLinked&quot;:true},&quot;element_pack_global_tooltip_padding_tablet&quot;:{&quot;unit&quot;:&quot;px&quot;,&quot;top&quot;:&quot;&quot;,&quot;right&quot;:&quot;&quot;,&quot;bottom&quot;:&quot;&quot;,&quot;left&quot;:&quot;&quot;,&quot;isLinked&quot;:true},&quot;element_pack_global_tooltip_padding_mobile&quot;:{&quot;unit&quot;:&quot;px&quot;,&quot;top&quot;:&quot;&quot;,&quot;right&quot;:&quot;&quot;,&quot;bottom&quot;:&quot;&quot;,&quot;left&quot;:&quot;&quot;,&quot;isLinked&quot;:true},&quot;element_pack_global_tooltip_border_radius&quot;:{&quot;unit&quot;:&quot;px&quot;,&quot;top&quot;:&quot;&quot;,&quot;right&quot;:&quot;&quot;,&quot;bottom&quot;:&quot;&quot;,&quot;left&quot;:&quot;&quot;,&quot;isLinked&quot;:true},&quot;element_pack_global_tooltip_border_radius_tablet&quot;:{&quot;unit&quot;:&quot;px&quot;,&quot;top&quot;:&quot;&quot;,&quot;right&quot;:&quot;&quot;,&quot;bottom&quot;:&quot;&quot;,&quot;left&quot;:&quot;&quot;,&quot;isLinked&quot;:true},&quot;element_pack_global_tooltip_border_radius_mobile&quot;:{&quot;unit&quot;:&quot;px&quot;,&quot;top&quot;:&quot;&quot;,&quot;right&quot;:&quot;&quot;,&quot;bottom&quot;:&quot;&quot;,&quot;left&quot;:&quot;&quot;,&quot;isLinked&quot;:true}}" data-elementor-post-type="post">
				<div class="elementor-element elementor-element-f7c7514 e-flex e-con-boxed e-con e-parent" data-id="f7c7514" data-element_type="container" data-settings="{&quot;ekit_has_onepagescroll_dot&quot;:&quot;yes&quot;}">
					<div class="e-con-inner">
				<div class="elementor-element elementor-element-86156a1 elementor-widget elementor-widget-html" data-id="86156a1" data-element_type="widget" data-settings="{&quot;ekit_we_effect_on&quot;:&quot;none&quot;}" data-widget_type="html.default">
				<div class="elementor-widget-container">
					<style>
.calculator-container {
    max-width: 100%;
    margin: 10px auto;
    padding: 10px;
    border: 1px solid #ddd;
    border-radius: 8px;
    background-color: #f9f9f9;
}
.calculator-input {
    margin: 15px 0;
}
.calculator-input label {
    display: block;
    margin-bottom: 25px;
    font-weight: bold;
}
.calculator-input input,
.calculator-input select {
    width: 100%;
    padding: 10px 18px;
    border: 1px solid #ccc;
    border-radius: 50px;
    font-size: 16px;
    box-sizing: border-box;
    background-color: #fff;
}
.input-hint {
    font-size: 13px;
    color: #666;
    margin-top: 4px;
}
.calculate-btn {
    background-color: #0457B5;
    color: white;
    padding: 12px 20px;
    border: none;
    border-radius: 50px;
    cursor: pointer;
    font-size: 16px;
    width: 100%;
    margin-top: 10px;
}
.calculate-btn:hover {
    background-color: #034499;
}
.result {
    margin-top: 20px;
    padding: 15px;
    background-color: #f0f7ff;
    border-left: 4px solid #0457B5;
    display: none;
}
.result.active {
    display: block;
}
.result h3 {
    margin-top: 0;
    color: #0457B5;
}
.dose-highlight {
    font-size: 1.45rem;
    font-weight: bold;
    color: #0457B5;
}
.dose-row {
    background-color: #f0fbea;
    border-left: 3px solid #7BC15B;
    padding: 8px 12px;
    margin: 8px 0;
    border-radius: 0 4px 4px 0;
}
.dose-row-primary {
    background-color: #e8f0fb;
    border-left: 3px solid #0457B5;
    padding: 8px 12px;
    margin: 8px 0;
    border-radius: 0 4px 4px 0;
}
.dose-row-primary .dose-highlight {
    font-size: 1.7rem;
}
.severity-low {
    background-color: #f0fbea;
    border-left: 3px solid #7BC15B;
    padding: 8px 12px;
    margin: 8px 0;
    border-radius: 0 4px 4px 0;
}
.severity-moderate {
    background-color: #fff8e1;
    border-left: 3px solid #f9a825;
    padding: 8px 12px;
    margin: 8px 0;
    border-radius: 0 4px 4px 0;
}
.severity-high {
    background-color: #fff3e0;
    border-left: 3px solid #e65100;
    padding: 8px 12px;
    margin: 8px 0;
    border-radius: 0 4px 4px 0;
}
.severity-critical {
    background-color: #fde8e8;
    border-left: 3px solid #c62828;
    padding: 8px 12px;
    margin: 8px 0;
    border-radius: 0 4px 4px 0;
}
.info-note {
    background-color: #f0fbea;
    border-left: 4px solid #7BC15B;
    padding: 10px;
    margin-top: 10px;
    font-size: 14px;
}
.warning {
    background-color: #fff3cd;
    border-left: 4px solid #ffc107;
    padding: 10px;
    margin-top: 15px;
}
.error-block {
    background-color: #fde8e8;
    border-left: 4px solid #e53935;
    padding: 10px;
    margin-top: 15px;
    display: none;
    font-size: 14px;
}
.organ-breakdown {
    width: 100%;
    border-collapse: collapse;
    margin: 10px 0;
    font-size: 14px;
}
.organ-breakdown td {
    padding: 6px 10px;
    border-bottom: 1px solid #e0e0e0;
}
.organ-breakdown td:last-child {
    text-align: right;
    font-weight: bold;
}
.organ-breakdown tr:last-child td {
    border-bottom: none;
}
.content-section {
    max-width: 100%;
    margin: 20px auto;
    padding: 20px;
    line-height: 1.6;
}
.content-section h2 {
    color: #0457B5;
    margin-top: 25px;
}
.content-section h3 {
    color: #333;
    margin-top: 25px;
}
.content-section ul {
    padding-left: 20px;
}
.content-section li {
    margin: 8px 0;
}
.dose-table {
    width: 100%;
    border-collapse: collapse;
    margin: 10px 0;
    font-size: 14px;
}
.dose-table th,
.dose-table td {
    border: 1px solid #ddd;
    padding: 8px 10px;
    text-align: left;
}
.dose-table th {
    background-color: #e8f0fb;
    font-weight: bold;
    color: #0457B5;
}
.dose-table tr:nth-child(even) {
    background-color: #f9f9f9;
}
.result-params {
    font-size: 14px;
    color: #444;
    margin-bottom: 12px;
    padding: 8px 10px;
    background: #f9f9f9;
    border-radius: 4px;
}
.fact-block {
    background-color: #f9f9f9;
    border-radius: 6px;
    padding: 14px 16px;
    margin: 14px 0;
}
.fact-block-title {
    font-weight: bold;
    color: #0457B5;
    margin-bottom: 6px;
}
.disclaimer-block {
    background-color: #fff3cd;
    border-left: 4px solid #ffc107;
    padding: 14px 16px;
    margin: 14px 0;
    border-radius: 0 6px 6px 0;
}
</style>

<div class="content-section">
    <h2>Рассчитать баллы по шкале SOFA онлайн</h2>

    <div class="calculator-container">

        <div class="calculator-input">
            <label for="sofa-resp">
                Дыхание - PaO2/FiO2 (мм рт. ст.):
            </label>
            <select id="sofa-resp">
                <option value="0">&ge; 400 (0 баллов)</option>
                <option value="1">300-399 (1 балл)</option>
                <option value="2">200-299 (2 балла)</option>
                <option value="3">100-199 + респираторная поддержка (3 балла)</option>
                <option value="4">&lt; 100 + респираторная поддержка (4 балла)</option>
            </select>
            <div class="input-hint">
                Индекс оксигенации: отношение парциального давления
                кислорода в артериальной крови к фракции
                вдыхаемого кислорода. При 3-4 баллах учитывают
                наличие ИВЛ или CPAP.
            </div>
        </div>

        <div class="calculator-input">
            <label for="sofa-coag">
                Коагуляция - тромбоциты (&times;10&#8313;/л):
            </label>
            <select id="sofa-coag">
                <option value="0">&ge; 150 (0 баллов)</option>
                <option value="1">100-149 (1 балл)</option>
                <option value="2">50-99 (2 балла)</option>
                <option value="3">20-49 (3 балла)</option>
                <option value="4">&lt; 20 (4 балла)</option>
            </select>
            <div class="input-hint">
                Количество тромбоцитов по клиническому
                анализу крови. Снижение отражает нарушение
                свертывающей системы.
            </div>
        </div>

        <div class="calculator-input">
            <label for="sofa-liver">
                Печень - билирубин (мкмоль/л):
            </label>
            <select id="sofa-liver">
                <option value="0">&lt; 20 (0 баллов)</option>
                <option value="1">20-32 (1 балл)</option>
                <option value="2">33-101 (2 балла)</option>
                <option value="3">102-204 (3 балла)</option>
                <option value="4">&gt; 204 (4 балла)</option>
            </select>
            <div class="input-hint">
                Общий билирубин сыворотки крови.
                Повышение указывает на печеночную
                дисфункцию или холестаз.
            </div>
        </div>

        <div class="calculator-input">
            <label for="sofa-cardio">
                Сердечно-сосудистая система:
            </label>
            <select id="sofa-cardio">
                <option value="0">АДср &ge; 70 мм рт. ст., без вазопрессоров (0 баллов)</option>
                <option value="1">АДср &lt; 70 мм рт. ст. (1 балл)</option>
                <option value="2">Дофамин &le; 5 или добутамин любая доза (2 балла)</option>
                <option value="3">Дофамин &gt; 5 / адреналин &le; 0,1 / норадреналин &le; 0,1 (3 балла)</option>
                <option value="4">Дофамин &gt; 15 / адреналин &gt; 0,1 / норадреналин &gt; 0,1 (4 балла)</option>
            </select>
            <div class="input-hint">
                АДср - среднее артериальное давление. Дозы
                вазопрессоров и инотропов указаны в мкг/кг/мин.
                Выбирайте вариант с наибольшим количеством баллов
                из подходящих.
            </div>
        </div>

        <div class="calculator-input">
            <label for="sofa-cns">
                ЦНС - шкала комы Глазго (баллы ШКГ):
            </label>
            <select id="sofa-cns">
                <option value="0">15 баллов (0 баллов SOFA)</option>
                <option value="1">13-14 баллов (1 балл SOFA)</option>
                <option value="2">10-12 баллов (2 балла SOFA)</option>
                <option value="3">6-9 баллов (3 балла SOFA)</option>
                <option value="4">&lt; 6 баллов (4 балла SOFA)</option>
            </select>
            <div class="input-hint">
                Оценка уровня сознания по шкале комы Глазго
                (Glasgow Coma Scale). Учитывают открывание глаз,
                речевую и двигательную реакцию.
            </div>
        </div>

        <div class="calculator-input">
            <label for="sofa-renal">
                Почки - креатинин (мкмоль/л) или диурез:
            </label>
            <select id="sofa-renal">
                <option value="0">&lt; 110 мкмоль/л (0 баллов)</option>
                <option value="1">110-170 мкмоль/л (1 балл)</option>
                <option value="2">171-299 мкмоль/л (2 балла)</option>
                <option value="3">300-440 мкмоль/л или диурез &lt; 500 мл/сут (3 балла)</option>
                <option value="4">&gt; 440 мкмоль/л или диурез &lt; 200 мл/сут (4 балла)</option>
            </select>
            <div class="input-hint">
                Креатинин сыворотки крови. При 3-4 баллах
                учитывают также суточный диурез. Выбирайте
                вариант с большим числом баллов, если подходят
                оба критерия.
            </div>
        </div>

        <button class="calculate-btn" onclick="calculateSOFA()">
            Рассчитать баллы SOFA
        </button>

        <div class="result" id="result">
            <h3>Результат оценки</h3>

            <div id="organBreakdown"></div>

            <div id="totalBlock" class="dose-row-primary">
                <strong>Общий балл SOFA:</strong><br>
                <span class="dose-highlight" id="totalScore">-</span>
                &nbsp;из 24
            </div>

            <div id="severityBlock"></div>

            <div id="mortalityBlock" class="info-note"></div>

            <div class="warning">
                <strong>Важно:</strong> Шкала SOFA предназначена
                для оценки тяжести органной дисфункции
                в условиях отделения реанимации. Результат
                не заменяет клиническое суждение врача.
                Прогноз зависит от динамики баллов, основного
                диагноза, возраста и сопутствующих заболеваний.
            </div>
        </div>

        <div class="error-block" id="errorBlock"></div>

    </div>

    <h3>Что такое шкала SOFA</h3>
    <p>Шкала SOFA (Sequential Organ Failure Assessment) - инструмент
    для оценки тяжести полиорганной недостаточности у пациентов
    в критическом состоянии. Она оценивает функцию шести
    систем органов: дыхательной, свертывающей, печени,
    сердечно-сосудистой, центральной нервной системы и почек.</p>

    <p>Каждая система получает от 0 до 4 баллов, где 0 - норма,
    а 4 - тяжелая недостаточность. Максимальная сумма - 24 балла.
    Чем выше итоговый балл, тем тяжелее состояние пациента
    и выше вероятность неблагоприятного исхода.</p>

    <p>Шкалу применяют в отделениях реанимации и интенсивной
    терапии (ОРИТ). Ее заполняют ежедневно, чтобы отслеживать
    динамику: ухудшение, стабилизацию или восстановление
    органных функций. Именно изменение баллов во времени
    (дельта SOFA) имеет большую прогностическую ценность,
    чем однократный замер.</p>

    <h3>Описание калькулятора</h3>
    <p>Калькулятор принимает шесть параметров - по одному на каждую
    систему органов. Для каждого параметра нужно выбрать диапазон
    значений из выпадающего списка. Баллы присваиваются
    автоматически по стандартным критериям шкалы.</p>

    <p>После расчета калькулятор показывает разбивку баллов
    по органам, общую сумму и приблизительный уровень риска
    летальности. Отдельно выделяет системы с максимальным
    баллом (3-4), которые требуют приоритетного внимания.</p>

    <h3>Критерии оценки по шкале SOFA</h3>
    <p>Полная таблица критериев для каждой системы органов.
    Используйте ее для сверки при заполнении калькулятора.</p>

    <table class="dose-table">
        <thead>
            <tr>
                <th>Система</th>
                <th>0 баллов</th>
                <th>1 балл</th>
                <th>2 балла</th>
                <th>3 балла</th>
                <th>4 балла</th>
            </tr>
        </thead>
        <tbody>
            <tr>
                <td><strong>Дыхание</strong><br>PaO2/FiO2</td>
                <td>&ge; 400</td>
                <td>300-399</td>
                <td>200-299</td>
                <td>100-199 + ИВЛ</td>
                <td>&lt; 100 + ИВЛ</td>
            </tr>
            <tr>
                <td><strong>Коагуляция</strong><br>Тромбоциты, &times;10&#8313;/л</td>
                <td>&ge; 150</td>
                <td>100-149</td>
                <td>50-99</td>
                <td>20-49</td>
                <td>&lt; 20</td>
            </tr>
            <tr>
                <td><strong>Печень</strong><br>Билирубин, мкмоль/л</td>
                <td>&lt; 20</td>
                <td>20-32</td>
                <td>33-101</td>
                <td>102-204</td>
                <td>&gt; 204</td>
            </tr>
            <tr>
                <td><strong>Сердечно-сосудистая</strong><br>Гемодинамика</td>
                <td>АДср &ge; 70</td>
                <td>АДср &lt; 70</td>
                <td>Дофамин &le; 5<br>или добутамин</td>
                <td>Дофамин &gt; 5<br>или НА/Адр &le; 0,1</td>
                <td>Дофамин &gt; 15<br>или НА/Адр &gt; 0,1</td>
            </tr>
            <tr>
                <td><strong>ЦНС</strong><br>Шкала Глазго</td>
                <td>15</td>
                <td>13-14</td>
                <td>10-12</td>
                <td>6-9</td>
                <td>&lt; 6</td>
            </tr>
            <tr>
                <td><strong>Почки</strong><br>Креатинин, мкмоль/л</td>
                <td>&lt; 110</td>
                <td>110-170</td>
                <td>171-299</td>
                <td>300-440<br>или &lt; 500 мл/сут</td>
                <td>&gt; 440<br>или &lt; 200 мл/сут</td>
            </tr>
        </tbody>
    </table>
    <p>НА - норадреналин, Адр - адреналин.
    Дозы вазопрессоров и инотропов - в мкг/кг/мин.
    При 3-4 баллах по дыхательной системе обязательно
    наличие респираторной поддержки (ИВЛ или CPAP).</p>

    <h3>Интерпретация результатов</h3>
    <p>Связь между суммой баллов SOFA и летальностью
    в ОРИТ подтверждена многочисленными исследованиями.
    Приблизительные ориентиры приведены в таблице ниже.
    Точные цифры зависят от профиля пациентов, диагноза
    и уровня клиники.</p>

    <table class="dose-table">
        <thead>
            <tr>
                <th>Баллы SOFA</th>
                <th>Уровень тяжести</th>
                <th>Приблизительная летальность в ОРИТ</th>
            </tr>
        </thead>
        <tbody>
            <tr>
                <td>0-6</td>
                <td>Низкий риск</td>
                <td>менее 10%</td>
            </tr>
            <tr>
                <td>7-9</td>
                <td>Умеренный риск</td>
                <td>15-20%</td>
            </tr>
            <tr>
                <td>10-12</td>
                <td>Высокий риск</td>
                <td>40-50%</td>
            </tr>
            <tr>
                <td>13-14</td>
                <td>Очень высокий риск</td>
                <td>50-60%</td>
            </tr>
            <tr>
                <td>15-24</td>
                <td>Критический</td>
                <td>более 80%</td>
            </tr>
        </tbody>
    </table>

    <p>Отдельное внимание - динамике. Нарастание SOFA на 2 и более
    баллов за 24-48 часов говорит о прогрессировании
    органной недостаточности и резко ухудшает прогноз.
    С 2016 года рост SOFA на 2+ балла при подозрении
    на инфекцию стал одним из критериев диагноза «сепсис»
    по определению Sepsis-3.</p>

    <h3>Применение в клинической практике</h3>
    <p>Шкала SOFA решает несколько задач в повседневной
    работе реаниматолога.</p>

    <ul>
        <li><strong>Мониторинг тяжести</strong> - ежедневный
        подсчет показывает, улучшается пациент или нет.
        Это объективнее субъективного впечатления
        дежурного врача</li>
        <li><strong>Диагностика сепсиса</strong> - по критериям
        Sepsis-3 сепсис определяют как подозрение на инфекцию
        плюс рост SOFA на 2 и более баллов от базового уровня</li>
        <li><strong>Прогнозирование исхода</strong> - начальный
        балл и его динамика за первые 48-96 часов помогают
        оценить вероятность выживания</li>
        <li><strong>Сравнение групп пациентов</strong> -
        в клинических исследованиях SOFA используют
        для стандартизации тяжести состояния при сравнении
        разных методов лечения</li>
        <li><strong>Распределение ресурсов</strong> -
        во время пандемии COVID-19 SOFA применяли
        для триажа, когда ресурсов ОРИТ не хватало</li>
    </ul>

    <h3>Ограничения шкалы</h3>
    <p>При всей полезности SOFA имеет ряд ограничений,
    о которых важно помнить при интерпретации.</p>

    <ul>
        <li>Шкала разработана для взрослых пациентов
        в ОРИТ - у детей нормы лабораторных показателей
        и гемодинамики другие</li>
        <li>Хронические заболевания (цирроз, хроническая
        болезнь почек) могут искажать базовый уровень
        показателей - важно оценивать изменение от исходного,
        а не абсолютные цифры</li>
        <li>Седация и медикаментозный сон затрудняют
        оценку ЦНС по шкале Глазго - балл может быть
        завышен из-за лекарств, а не из-за поражения мозга</li>
        <li>Одна и та же сумма баллов при разных комбинациях
        органных поражений может означать разный прогноз -
        4 балла по одной системе хуже, чем по 1 баллу
        в четырех</li>
        <li>Шкала не учитывает возраст, основной диагноз,
        сопутствующие заболевания и функциональный статус
        до поступления</li>
    </ul>

    <h3>Преимущества калькулятора</h3>
    <ul>
        <li>Расчет за один шаг - выберите значения для шести
        систем органов, и калькулятор сразу покажет сумму,
        уровень тяжести и приблизительный прогноз</li>
        <li>Разбивка по органам - видно, какие системы
        пострадали сильнее и куда направить внимание</li>
        <li>Выделение критических систем - органы с баллом
        3-4 подсвечиваются отдельно, чтобы не пропустить
        тяжелую дисфункцию в общей сумме</li>
        <li>Интерпретация результата - калькулятор сразу
        соотносит сумму с уровнем летальности
        по опубликованным данным</li>
        <li>Таблица критериев рядом с калькулятором -
        можно свериться, не переключаясь на другие источники</li>
    </ul>

    <h3>Когда однократной оценки SOFA недостаточно</h3>
    <p>Шкала SOFA дает наибольшую пользу при повторных
    оценках. Однократный подсчет - это срез в моменте.
    Он отвечает на вопрос «насколько тяжело сейчас»,
    но не показывает направление.</p>

    <p>Серийная оценка (каждые 24 часа) позволяет увидеть тренд:
    пациент выходит из органной недостаточности или погружается
    в нее глубже. Именно дельта SOFA - разница между текущим
    и начальным значением - лучше предсказывает исход,
    чем любой отдельный замер. Исследования показывают,
    что у пациентов с ростом SOFA за первые 48 часов
    летальность возрастает в 2-3 раза по сравнению
    с теми, у кого баллы снижаются или стабильны.</p>

    <h2>Факты и мнения о шкале SOFA</h2>

    <div class="fact-block">
        <div class="fact-block-title">Мнение создателя шкалы</div>
        <p>Жан-Луи Венсан, профессор интенсивной терапии
        Свободного университета Брюсселя и автор шкалы SOFA,
        неоднократно подчеркивал в своих публикациях, что шкала
        задумывалась не как инструмент прогноза, а как инструмент
        описания. По его мнению, главная ценность SOFA -
        возможность объективно и последовательно отслеживать
        динамику органной дисфункции у конкретного пациента,
        а не выставлять приговор по одному числу.
        Венсан также настаивал на том, что SOFA нельзя
        использовать изолированно для принятия решений
        о прекращении лечения.</p>
    </div>

    <div class="fact-block">
        <div class="fact-block-title">Исторический факт</div>
        <p>Шкалу SOFA разработали на консенсусной конференции
        Европейского общества интенсивной терапии (ESICM)
        в Париже в октябре 1994 года. Первоначально аббревиатура
        расшифровывалась как Sepsis-related Organ Failure
        Assessment - оценка органной недостаточности, связанной
        с сепсисом. Но довольно быстро клиницисты поняли,
        что шкала прекрасно работает и у пациентов без
        инфекции: при травме, ожогах, послеоперационных
        осложнениях. Тогда слово Sepsis-related заменили
        на Sequential - «последовательная». Первая публикация
        с валидацией шкалы вышла в журнале Intensive Care
        Medicine в 1996 году.</p>
    </div>

    <div class="fact-block">
        <div class="fact-block-title">Современные исследования</div>
        <p>В 2016 году международная рабочая группа Sepsis-3
        включила шкалу SOFA в новое определение сепсиса,
        опубликованное в JAMA. По обновленным критериям
        сепсис определяют как угрожающую жизни органную
        дисфункцию, вызванную нарушенным ответом организма
        на инфекцию, а саму дисфункцию фиксируют через рост
        SOFA на 2 и более баллов. Это решение опиралось
        на анализ более 1,2 миллиона историй болезни
        из электронных баз данных. Одновременно была предложена
        упрощенная прикроватная версия - qSOFA (quick SOFA),
        включающая всего три параметра: систолическое давление
        ниже 100 мм рт. ст., частоту дыхания 22 и выше,
        изменение сознания. qSOFA не заменяет полную шкалу,
        но помогает быстро выявить пациентов с риском
        сепсиса вне ОРИТ.</p>
    </div>

    <div class="disclaimer-block">
        <strong>Дисклеймер.</strong> Калькулятор предназначен
        для медицинских работников и носит справочный характер.
        Он не заменяет клиническое суждение, осмотр пациента
        и лабораторную диагностику. Любые решения о тактике
        лечения принимает лечащий врач с учетом полной
        клинической картины. Если вы не медицинский работник
        и читаете эту страницу из-за состояния близкого
        человека - обсудите все вопросы с лечащим
        врачом-реаниматологом.
    </div>

</div>

<script>
var organNames = [
    'Дыхание',
    'Коагуляция',
    'Печень',
    'Сердечно-сосудистая система',
    'ЦНС',
    'Почки'
];

var organIds = [
    'sofa-resp',
    'sofa-coag',
    'sofa-liver',
    'sofa-cardio',
    'sofa-cns',
    'sofa-renal'
];

function calculateSOFA() {
    var resultDiv = document.getElementById('result');
    var errorDiv = document.getElementById('errorBlock');

    resultDiv.classList.remove('active');
    errorDiv.style.display = 'none';

    var scores = [];
    var total = 0;

    for (var i = 0; i < organIds.length; i++) {
        var val = parseInt(
            document.getElementById(organIds[i]).value, 10
        );
        scores.push(val);
        total += val;
    }

    // Разбивка по органам
    var breakdownHTML = '<table class="organ-breakdown">';
    var criticalOrgans = [];

    for (var j = 0; j < organNames.length; j++) {
        var scoreColor = '#333';
        if (scores[j] >= 3) {
            scoreColor = '#c62828';
            criticalOrgans.push(organNames[j]);
        } else if (scores[j] === 2) {
            scoreColor = '#e65100';
        } else if (scores[j] === 1) {
            scoreColor = '#f9a825';
        } else {
            scoreColor = '#2e7d32';
        }

        breakdownHTML +=
            '<tr><td>' + organNames[j] + '</td>' +
            '<td style="color:' + scoreColor + '">' +
            scores[j] + ' из 4</td></tr>';
    }
    breakdownHTML += '</table>';

    document.getElementById('organBreakdown').innerHTML =
        breakdownHTML;

    // Общий балл
    document.getElementById('totalScore').textContent = total;

    // Уровень тяжести
    var severityText = '';
    var severityClass = '';
    var mortalityText = '';

    if (total <= 6) {
        severityText = 'Низкий риск';
        severityClass = 'severity-low';
        mortalityText =
            'При сумме 0-6 баллов приблизительная ' +
            'летальность в ОРИТ составляет менее 10%. ' +
            'Продолжайте мониторинг и повторную оценку ' +
            'каждые 24 часа для отслеживания динамики.';
    } else if (total <= 9) {
        severityText = 'Умеренный риск';
        severityClass = 'severity-moderate';
        mortalityText =
            'При сумме 7-9 баллов приблизительная ' +
            'летальность в ОРИТ составляет 15-20%. ' +
            'Рекомендована интенсификация мониторинга ' +
            'и повторная оценка через 24 часа ' +
            'для определения тренда.';
    } else if (total <= 12) {
        severityText = 'Высокий риск';
        severityClass = 'severity-high';
        mortalityText =
            'При сумме 10-12 баллов приблизительная ' +
            'летальность в ОРИТ составляет 40-50%. ' +
            'Необходима агрессивная терапия органной ' +
            'поддержки и частый пересмотр тактики лечения.';
    } else if (total <= 14) {
        severityText = 'Очень высокий риск';
        severityClass = 'severity-critical';
        mortalityText =
            'При сумме 13-14 баллов приблизительная ' +
            'летальность превышает 50-60%. ' +
            'Полиорганная недостаточность тяжелой степени. ' +
            'Критически важен контроль динамики SOFA ' +
            'и мультидисциплинарный подход к лечению.';
    } else {
        severityText = 'Критический';
        severityClass = 'severity-critical';
        mortalityText =
            'При сумме 15 и более баллов ' +
            'летальность превышает 80%. ' +
            'Тяжелейшая полиорганная недостаточность. ' +
            'Необходимо обсуждение тактики в составе ' +
            'мультидисциплинарной команды.';
    }

    var severityHTML =
        '<div class="' + severityClass + '">' +
        '<strong>Уровень тяжести:</strong> ' +
        severityText + '</div>';

    if (criticalOrgans.length > 0) {
        severityHTML +=
            '<div class="severity-critical" ' +
            'style="font-size:14px; margin-top:6px;">' +
            '<strong>Критическая дисфункция (3-4 балла):</strong> ' +
            criticalOrgans.join(', ') + '</div>';
    }

    document.getElementById('severityBlock').innerHTML =
        severityHTML;

    document.getElementById('mortalityBlock').textContent =
        mortalityText;

    resultDiv.classList.add('active');
}
</script>				</div>
				</div>
					</div>
				</div>
				</div>
		<p>Сообщение <a href="https://vracha-na-dom.ru/kalkulyatory/kalkulyator-shkaly-sofa/">Калькулятор шкалы SOFA</a> появились сначала на <a href="https://vracha-na-dom.ru">Вызов врача на дом</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Калькулятор шкалы APACHE II</title>
		<link>https://vracha-na-dom.ru/kalkulyatory/kalkulyator-shkaly-apache-ii/</link>
		
		<dc:creator><![CDATA[Волкова Елена Андреевна]]></dc:creator>
		<pubDate>Fri, 11 Sep 2026 11:58:39 +0000</pubDate>
				<category><![CDATA[Калькуляторы]]></category>
		<category><![CDATA[Калькуляторы шкал риска и тяжести заболеваний]]></category>
		<guid isPermaLink="false">https://vracha-na-dom.ru/?p=6374</guid>

					<description><![CDATA[<p>Рассчитать балл APACHE II онлайн Возраст Возраст пациента (полных лет): Полных лет на момент поступления в ОРИТ. Витальные показатели Ректальная температура (°C): Наихудшее значение за первые 24 часа в ОРИТ. Если измерение аксиллярное, прибавьте 0,5 °C. Среднее артериальное давление (мм рт. ст.): Формула: (систолическое + 2 x диастолическое) / 3. Наихудшее значение за 24 часа. [&#8230;]</p>
<p>Сообщение <a href="https://vracha-na-dom.ru/kalkulyatory/kalkulyator-shkaly-apache-ii/">Калькулятор шкалы APACHE II</a> появились сначала на <a href="https://vracha-na-dom.ru">Вызов врача на дом</a>.</p>
]]></description>
										<content:encoded><![CDATA[		<div data-elementor-type="wp-post" data-elementor-id="6374" class="elementor elementor-6374" data-elementor-settings="{&quot;element_pack_global_tooltip_width&quot;:{&quot;unit&quot;:&quot;px&quot;,&quot;size&quot;:&quot;&quot;,&quot;sizes&quot;:[]},&quot;element_pack_global_tooltip_width_tablet&quot;:{&quot;unit&quot;:&quot;px&quot;,&quot;size&quot;:&quot;&quot;,&quot;sizes&quot;:[]},&quot;element_pack_global_tooltip_width_mobile&quot;:{&quot;unit&quot;:&quot;px&quot;,&quot;size&quot;:&quot;&quot;,&quot;sizes&quot;:[]},&quot;element_pack_global_tooltip_padding&quot;:{&quot;unit&quot;:&quot;px&quot;,&quot;top&quot;:&quot;&quot;,&quot;right&quot;:&quot;&quot;,&quot;bottom&quot;:&quot;&quot;,&quot;left&quot;:&quot;&quot;,&quot;isLinked&quot;:true},&quot;element_pack_global_tooltip_padding_tablet&quot;:{&quot;unit&quot;:&quot;px&quot;,&quot;top&quot;:&quot;&quot;,&quot;right&quot;:&quot;&quot;,&quot;bottom&quot;:&quot;&quot;,&quot;left&quot;:&quot;&quot;,&quot;isLinked&quot;:true},&quot;element_pack_global_tooltip_padding_mobile&quot;:{&quot;unit&quot;:&quot;px&quot;,&quot;top&quot;:&quot;&quot;,&quot;right&quot;:&quot;&quot;,&quot;bottom&quot;:&quot;&quot;,&quot;left&quot;:&quot;&quot;,&quot;isLinked&quot;:true},&quot;element_pack_global_tooltip_border_radius&quot;:{&quot;unit&quot;:&quot;px&quot;,&quot;top&quot;:&quot;&quot;,&quot;right&quot;:&quot;&quot;,&quot;bottom&quot;:&quot;&quot;,&quot;left&quot;:&quot;&quot;,&quot;isLinked&quot;:true},&quot;element_pack_global_tooltip_border_radius_tablet&quot;:{&quot;unit&quot;:&quot;px&quot;,&quot;top&quot;:&quot;&quot;,&quot;right&quot;:&quot;&quot;,&quot;bottom&quot;:&quot;&quot;,&quot;left&quot;:&quot;&quot;,&quot;isLinked&quot;:true},&quot;element_pack_global_tooltip_border_radius_mobile&quot;:{&quot;unit&quot;:&quot;px&quot;,&quot;top&quot;:&quot;&quot;,&quot;right&quot;:&quot;&quot;,&quot;bottom&quot;:&quot;&quot;,&quot;left&quot;:&quot;&quot;,&quot;isLinked&quot;:true}}" data-elementor-post-type="post">
				<div class="elementor-element elementor-element-f7c7514 e-flex e-con-boxed e-con e-parent" data-id="f7c7514" data-element_type="container" data-settings="{&quot;ekit_has_onepagescroll_dot&quot;:&quot;yes&quot;}">
					<div class="e-con-inner">
				<div class="elementor-element elementor-element-86156a1 elementor-widget elementor-widget-html" data-id="86156a1" data-element_type="widget" data-settings="{&quot;ekit_we_effect_on&quot;:&quot;none&quot;}" data-widget_type="html.default">
				<div class="elementor-widget-container">
					<style>
.calculator-container {
    max-width: 100%;
    margin: 10px auto;
    padding: 10px;
    border: 1px solid #ddd;
    border-radius: 8px;
    background-color: #f9f9f9;
}
.calculator-input {
    margin: 15px 0;
}
.calculator-input label {
    display: block;
    margin-bottom: 25px;
    font-weight: bold;
}
.calculator-input input,
.calculator-input select {
    width: 100%;
    padding: 10px 18px;
    border: 1px solid #ccc;
    border-radius: 50px;
    font-size: 16px;
    box-sizing: border-box;
}
.input-hint {
    font-size: 13px;
    color: #666;
    margin-top: 4px;
}
.carb-toggle {
    display: flex;
    gap: 8px;
    margin-bottom: 8px;
}
.carb-toggle button {
    flex: 1;
    padding: 9px 8px;
    border: 2px solid #0457B5;
    border-radius: 50px;
    background: white;
    color: #0457B5;
    cursor: pointer;
    font-size: 14px;
    font-weight: bold;
    transition: background 0.15s, color 0.15s;
}
.carb-toggle button.active {
    background: #0457B5;
    color: white;
}
.calculate-btn {
    background-color: #0457B5;
    color: white;
    padding: 12px 20px;
    border: none;
    border-radius: 50px;
    cursor: pointer;
    font-size: 16px;
    width: 100%;
    margin-top: 10px;
}
.calculate-btn:hover {
    background-color: #034499;
}
.result {
    margin-top: 20px;
    padding: 15px;
    background-color: #f0f7ff;
    border-left: 4px solid #0457B5;
    display: none;
}
.result.active {
    display: block;
}
.result h3 {
    margin-top: 0;
    color: #0457B5;
}
.dose-highlight {
    font-size: 1.45rem;
    font-weight: bold;
    color: #0457B5;
}
.dose-row {
    background-color: #f0fbea;
    border-left: 3px solid #7BC15B;
    padding: 8px 12px;
    margin: 8px 0;
    border-radius: 0 4px 4px 0;
}
.dose-row-primary {
    background-color: #e8f0fb;
    border-left: 3px solid #0457B5;
    padding: 8px 12px;
    margin: 8px 0;
    border-radius: 0 4px 4px 0;
}
.dose-row-primary .dose-highlight {
    font-size: 1.7rem;
}
.info-note {
    background-color: #f0fbea;
    border-left: 4px solid #7BC15B;
    padding: 10px;
    margin-top: 10px;
    font-size: 14px;
}
.warning {
    background-color: #fff3cd;
    border-left: 4px solid #ffc107;
    padding: 10px;
    margin-top: 15px;
}
.error-block {
    background-color: #fde8e8;
    border-left: 4px solid #e53935;
    padding: 10px;
    margin-top: 15px;
    display: none;
    font-size: 14px;
}
.content-section {
    max-width: 100%;
    margin: 20px auto;
    padding: 20px;
    line-height: 1.6;
}
.content-section h2 {
    color: #0457B5;
    margin-top: 25px;
}
.content-section h3 {
    color: #333;
    margin-top: 25px;
}
.content-section ul {
    padding-left: 20px;
}
.content-section li {
    margin: 8px 0;
}
.dose-table {
    width: 100%;
    border-collapse: collapse;
    margin: 10px 0;
    font-size: 14px;
}
.dose-table th,
.dose-table td {
    border: 1px solid #ddd;
    padding: 8px 10px;
    text-align: left;
}
.dose-table th {
    background-color: #e8f0fb;
    font-weight: bold;
    color: #0457B5;
}
.dose-table tr:nth-child(even) {
    background-color: #f9f9f9;
}
.result-params {
    font-size: 14px;
    color: #444;
    margin-bottom: 12px;
    padding: 8px 10px;
    background: #f9f9f9;
    border-radius: 4px;
}
.result-params span {
    display: inline-block;
    margin-right: 16px;
}
.section-group {
    background: #fff;
    border: 1px solid #e0e0e0;
    border-radius: 6px;
    padding: 12px 14px;
    margin: 14px 0;
}
.section-group-title {
    font-weight: bold;
    color: #0457B5;
    font-size: 15px;
    margin-bottom: 6px;
    padding-bottom: 6px;
    border-bottom: 1px solid #eee;
}
.checkbox-row {
    display: flex;
    align-items: center;
    gap: 8px;
    margin: 8px 0;
}
.checkbox-row input[type="checkbox"] {
    width: auto;
    margin: 0;
}
.checkbox-row label {
    margin: 0;
    font-weight: normal;
    font-size: 14px;
}
.oxy-conditional {
    display: none;
}
.oxy-conditional.visible {
    display: block;
}
.chronic-details {
    display: none;
}
.chronic-details.visible {
    display: block;
}
.disclaimer-block {
    background-color: #f2f2f2;
    border-left: 4px solid #888;
    padding: 12px 14px;
    margin-top: 18px;
    font-size: 14px;
    color: #444;
}
</style>

<div class="content-section">
    <h2>Рассчитать балл APACHE II онлайн</h2>

    <div class="calculator-container">

        <div class="section-group">
            <div class="section-group-title">Возраст</div>
            <div class="calculator-input">
                <label for="apAge">Возраст пациента (полных лет):</label>
                <input type="number" id="apAge" min="1" max="120" step="1" placeholder="Например: 62">
                <div class="input-hint">Полных лет на момент поступления в ОРИТ.</div>
            </div>
        </div>

        <div class="section-group">
            <div class="section-group-title">Витальные показатели</div>

            <div class="calculator-input">
                <label for="apTemp">Ректальная температура (°C):</label>
                <input type="number" id="apTemp" min="25" max="45" step="0.1" placeholder="Например: 38.2">
                <div class="input-hint">Наихудшее значение за первые 24 часа в ОРИТ. Если измерение аксиллярное, прибавьте 0,5 °C.</div>
            </div>

            <div class="calculator-input">
                <label for="apMAP">Среднее артериальное давление (мм рт. ст.):</label>
                <input type="number" id="apMAP" min="10" max="300" step="1" placeholder="Например: 85">
                <div class="input-hint">Формула: (систолическое + 2 x диастолическое) / 3. Наихудшее значение за 24 часа.</div>
            </div>

            <div class="calculator-input">
                <label for="apHR">Частота сердечных сокращений (уд/мин):</label>
                <input type="number" id="apHR" min="0" max="300" step="1" placeholder="Например: 92">
                <div class="input-hint">Наихудшее значение за 24 часа. Учитывают и желудочковый, и суправентрикулярный ритм.</div>
            </div>

            <div class="calculator-input">
                <label for="apRR">Частота дыхания (дых/мин):</label>
                <input type="number" id="apRR" min="0" max="100" step="1" placeholder="Например: 18">
                <div class="input-hint">Наихудшее значение за 24 часа. При ИВЛ берут установленную или фактическую частоту.</div>
            </div>
        </div>

        <div class="section-group">
            <div class="section-group-title">Оксигенация</div>

            <div class="calculator-input">
                <label>Фракция кислорода во вдыхаемой смеси (FiO2):</label>
                <div class="carb-toggle">
                    <button id="btnFio2High" class="active" onclick="switchOxyMode('high')">FiO2 >= 0,5 (A-aDO2)</button>
                    <button id="btnFio2Low" onclick="switchOxyMode('low')">FiO2 < 0,5 (PaO2)</button>
                </div>
                <div class="input-hint">При FiO2 >= 0,5 используют альвеолярно-артериальный градиент (A-aDO2). При FiO2 < 0,5 - парциальное давление кислорода в артериальной крови (PaO2).</div>
            </div>

            <div class="calculator-input oxy-conditional visible" id="oxyHighBlock">
                <label for="apAaDO2">A-aDO2 (мм рт. ст.):</label>
                <input type="number" id="apAaDO2" min="0" max="900" step="1" placeholder="Например: 250">
                <div class="input-hint">Альвеолярно-артериальный градиент кислорода. Наихудшее значение за 24 часа.</div>
            </div>

            <div class="calculator-input oxy-conditional" id="oxyLowBlock">
                <label for="apPaO2">PaO2 (мм рт. ст.):</label>
                <input type="number" id="apPaO2" min="10" max="500" step="1" placeholder="Например: 75">
                <div class="input-hint">Парциальное давление кислорода в артериальной крови. Наихудшее значение за 24 часа.</div>
            </div>
        </div>

        <div class="section-group">
            <div class="section-group-title">Лабораторные показатели</div>

            <div class="calculator-input">
                <label for="apPH">pH артериальной крови:</label>
                <input type="number" id="apPH" min="6.5" max="8.0" step="0.01" placeholder="Например: 7.38">
                <div class="input-hint">Из газового анализа артериальной крови. Наихудшее значение за 24 часа.</div>
            </div>

            <div class="calculator-input">
                <label for="apNa">Натрий сыворотки (ммоль/л):</label>
                <input type="number" id="apNa" min="80" max="220" step="1" placeholder="Например: 140">
                <div class="input-hint">Наихудшее значение за 24 часа.</div>
            </div>

            <div class="calculator-input">
                <label for="apK">Калий сыворотки (ммоль/л):</label>
                <input type="number" id="apK" min="1" max="10" step="0.1" placeholder="Например: 4.2">
                <div class="input-hint">Наихудшее значение за 24 часа.</div>
            </div>

            <div class="calculator-input">
                <label for="apCreat">Креатинин сыворотки (мкмоль/л):</label>
                <input type="number" id="apCreat" min="10" max="1500" step="1" placeholder="Например: 95">
                <div class="input-hint">Наихудшее значение за 24 часа. Калькулятор переведет в мг/дл автоматически (1 мг/дл = 88,4 мкмоль/л).</div>
                <div class="checkbox-row" style="margin-top:8px;">
                    <input type="checkbox" id="apARF">
                    <label for="apARF">Острая почечная недостаточность (баллы удваиваются)</label>
                </div>
            </div>

            <div class="calculator-input">
                <label for="apHct">Гематокрит (%):</label>
                <input type="number" id="apHct" min="5" max="80" step="0.1" placeholder="Например: 38">
                <div class="input-hint">Наихудшее значение за 24 часа.</div>
            </div>

            <div class="calculator-input">
                <label for="apWBC">Лейкоциты (x10&#8313;/л):</label>
                <input type="number" id="apWBC" min="0" max="200" step="0.1" placeholder="Например: 11.5">
                <div class="input-hint">Наихудшее значение за 24 часа. Число совпадает с x10&#179;/мкл.</div>
            </div>
        </div>

        <div class="section-group">
            <div class="section-group-title">Шкала комы Глазго</div>
            <div class="calculator-input">
                <label for="apGCS">Балл по шкале Глазго (3-15):</label>
                <input type="number" id="apGCS" min="3" max="15" step="1" placeholder="Например: 15">
                <div class="input-hint">Если пациент в медикаментозной седации, используйте оценку до седации или примерный балл. 15 - ясное сознание, 3 - глубокая кома.</div>
            </div>
        </div>

        <div class="section-group">
            <div class="section-group-title">Хронические заболевания и тип госпитализации</div>

            <div class="calculator-input">
                <label>Тяжелая хроническая органная недостаточность или иммунодефицит:</label>
                <div class="carb-toggle">
                    <button id="btnChronicNo" class="active" onclick="switchChronic('no')">Нет</button>
                    <button id="btnChronicYes" onclick="switchChronic('yes')">Есть</button>
                </div>
                <div class="input-hint">Тяжелая патология, подтвержденная до текущей госпитализации: цирроз с портальной гипертензией или энцефалопатией, сердечная недостаточность IV класса NYHA, хроническая гипоксия или гиперкапния, хронический диализ, иммуносупрессия (химиотерапия, лучевая терапия, длительные стероиды, лейкоз, лимфома, СПИД).</div>
            </div>

            <div class="calculator-input chronic-details" id="chronicBlock">
                <label>Тип госпитализации:</label>
                <div class="carb-toggle">
                    <button id="btnAdmNonSurg" class="active" onclick="switchAdmType('nonsurg')">Нехирургическая или экстренная операция</button>
                    <button id="btnAdmElective" onclick="switchAdmType('elective')">Плановая операция</button>
                </div>
                <div class="input-hint">Нехирургическая госпитализация или экстренная операция: +5 баллов. Плановая операция: +2 балла.</div>
            </div>
        </div>

        <button class="calculate-btn" onclick="calculateAPACHE()">Рассчитать балл APACHE II</button>

        <div class="result" id="result">
            <h3>Результат расчета APACHE II</h3>

            <div class="result-params" id="resultParams"></div>

            <div class="dose-row">
                <strong>Баллы за острую физиологию (APS):</strong><br>
                <span class="dose-highlight" id="resAPS">-</span>
                &nbsp;из 60
            </div>

            <div class="dose-row">
                <strong>Баллы за возраст:</strong><br>
                <span class="dose-highlight" id="resAge">-</span>
                &nbsp;из 6
            </div>

            <div class="dose-row">
                <strong>Баллы за хронические заболевания:</strong><br>
                <span class="dose-highlight" id="resChronic">-</span>
                &nbsp;из 5
            </div>

            <div class="dose-row-primary">
                <strong>Итоговый балл APACHE II:</strong><br>
                <span class="dose-highlight" id="resTotal">-</span>
                &nbsp;из 71
            </div>

            <div class="dose-row" style="background-color:#fff3cd; border-left-color:#ffc107;">
                <strong>Ориентировочная госпитальная летальность:</strong><br>
                <span class="dose-highlight" id="resMortality" style="color:#c62828;">-</span>
            </div>

            <div class="info-note" id="resultNote"></div>

            <div class="warning">
                <strong>Важно:</strong> Прогноз летальности приведен как ориентировочный диапазон для нехирургических пациентов. Реальный прогноз зависит от основного диагноза, сопутствующих заболеваний и качества лечения. Шкала APACHE II не предназначена для принятия решений по конкретному пациенту - только для оценки тяжести состояния и сравнения групп.
            </div>
        </div>

        <div class="error-block" id="errorBlock"></div>
    </div>

    <h3>Таблица: балл APACHE II и прогнозируемая летальность</h3>
    <p>Ориентировочные показатели госпитальной летальности в зависимости от суммарного балла. Приведены усредненные значения по оригинальному исследованию Knaus et al. (1985) для нехирургических пациентов. Для хирургических пациентов и отдельных диагнозов цифры могут существенно отличаться.</p>

    <table class="dose-table">
        <thead>
            <tr>
                <th>Балл APACHE II</th>
                <th>Примерная летальность</th>
                <th>Тяжесть состояния</th>
            </tr>
        </thead>
        <tbody>
            <tr><td>0-4</td><td>~4%</td><td>Легкая</td></tr>
            <tr><td>5-9</td><td>~8%</td><td>Легкая-умеренная</td></tr>
            <tr><td>10-14</td><td>~15%</td><td>Умеренная</td></tr>
            <tr><td>15-19</td><td>~25%</td><td>Умеренно-тяжелая</td></tr>
            <tr><td>20-24</td><td>~40%</td><td>Тяжелая</td></tr>
            <tr><td>25-29</td><td>~55%</td><td>Очень тяжелая</td></tr>
            <tr><td>30-34</td><td>~73%</td><td>Крайне тяжелая</td></tr>
            <tr><td>35 и выше</td><td>~85%</td><td>Критическая</td></tr>
        </tbody>
    </table>

    <h3>Что такое шкала APACHE II</h3>
    <p>APACHE II (Acute Physiology and Chronic Health Evaluation II) - система оценки тяжести состояния пациентов в отделениях реанимации и интенсивной терапии. Разработана в 1985 году группой под руководством William Knaus в Университете Джорджа Вашингтона. Остается самой распространенной шкалой для ОРИТ в мире, несмотря на появление более новых версий.</p>

    <p>Суть проста: врач собирает 12 физиологических и лабораторных показателей за первые 24 часа пребывания в ОРИТ, прибавляет баллы за возраст и хронические болезни, получает число от 0 до 71. Чем выше балл, тем тяжелее состояние и тем выше вероятность неблагоприятного исхода.</p>

    <h3>Описание калькулятора APACHE II</h3>
    <p>Калькулятор принимает все параметры шкалы APACHE II и автоматически рассчитывает баллы по каждому компоненту. Креатинин вводится в мкмоль/л - стандартных единицах для российских лабораторий - и пересчитывается в мг/дл внутри формулы. Остальные параметры совпадают с международными единицами.</p>

    <p>На выходе - четыре числа. Баллы за острую физиологию (APS) отражают степень отклонения каждого показателя от нормы. Баллы за возраст добавляют от 0 до 6 пунктов. Баллы за хронические заболевания - 0, 2 или 5, в зависимости от наличия тяжелой хронической патологии и типа госпитализации. Итоговый балл - сумма трех компонентов. Рядом выводится ориентировочная летальность.</p>

    <h3>Параметры и правила оценки</h3>
    <p>Каждый из 12 физиологических показателей оценивается от 0 до 4 баллов. Ноль означает нормальный диапазон, четыре - крайнее отклонение в любую сторону. Берут наихудшее значение за первые 24 часа в ОРИТ - то, которое дает максимальное количество баллов.</p>

    <p><strong>Ректальная температура</strong> - при отклонении менее 1 градуса от нормы: 0 баллов. При тяжелой гипертермии выше 41 °C или гипотермии ниже 30 °C: 4 балла.</p>

    <p><strong>Среднее артериальное давление</strong> - норма 70-109 мм рт. ст. дает 0 баллов. Рассчитывается по формуле: (систолическое + 2 x диастолическое) / 3.</p>

    <p><strong>ЧСС и частота дыхания</strong> оцениваются по аналогичной логике. Крайние отклонения от нормы дают 4 балла, умеренные - 1-3.</p>

    <p><strong>Оксигенация</strong> оценивается по-разному в зависимости от фракции кислорода. При FiO2 >= 0,5 используют альвеолярно-артериальный градиент (A-aDO2). При FiO2 < 0,5 - парциальное давление кислорода (PaO2).</p>

    <p><strong>pH артериальной крови</strong> - кислотно-щелочное равновесие. Нормальный диапазон 7,33-7,49 дает 0 баллов.</p>

    <p><strong>Натрий, калий, креатинин</strong> - электролиты и показатель почечной функции. Для креатинина баллы удваиваются при острой почечной недостаточности.</p>

    <p><strong>Гематокрит и лейкоциты</strong> - показатели крови, отражающие кислородную емкость и воспалительный ответ.</p>

    <p><strong>Шкала комы Глазго</strong> вносит от 0 до 12 баллов по формуле: 15 минус GCS. При ясном сознании (GCS = 15) - 0 баллов, при глубокой коме (GCS = 3) - 12 баллов.</p>

    <h3>Баллы за возраст</h3>
    <p>Возраст вносит дополнительный вклад: до 44 лет - 0 баллов, 45-54 - 2, 55-64 - 3, 65-74 - 5, от 75 лет - 6 баллов. Логика простая: с возрастом резервы организма снижаются, и тот же набор отклонений у пожилого пациента опаснее, чем у молодого.</p>

    <h3>Хроническая патология</h3>
    <p>Если до текущей госпитализации у пациента подтверждена тяжелая хроническая недостаточность органов или иммунодефицитное состояние, добавляют 2 или 5 баллов. Плановая хирургическая госпитализация дает 2 балла, нехирургическая или экстренная хирургическая - 5. При отсутствии такой патологии - 0 баллов.</p>

    <p>К тяжелой хронической патологии относятся: цирроз печени с портальной гипертензией или печеночной энцефалопатией, хроническая сердечная недостаточность IV класса NYHA, хроническая дыхательная недостаточность с гипоксией или гиперкапнией, хронический гемодиализ, состояния с подавленным иммунитетом (длительная иммуносупрессия, химиотерапия, лучевая терапия, лейкозы, лимфомы, СПИД).</p>

    <h3>Ограничения шкалы APACHE II</h3>
    <p>APACHE II создавалась для групповых сравнений - оценки качества работы ОРИТ, стратификации пациентов в клинических исследованиях, сравнения результатов между стационарами. Применять ее как единственный инструмент прогноза для конкретного пациента неправильно.</p>

    <ul>
        <li>Шкала не учитывает основной диагноз - а он сильно влияет на прогноз при одинаковом балле. Пациент с 20 баллами после плановой кардиохирургии и пациент с 20 баллами при сепсисе имеют совершенно разные шансы</li>
        <li>Валидация проводилась на американской популяции 1980-х годов. С тех пор стандарты интенсивной терапии существенно изменились</li>
        <li>Шкала берет показатели только за первые 24 часа. Динамика состояния на вторые-третьи сутки может полностью изменить прогноз, но APACHE II ее не учитывает</li>
        <li>Пациенты на седации получают заниженный балл по шкале Глазго, что может искажать результат</li>
        <li>Существуют более новые версии (APACHE III, APACHE IV) и альтернативные шкалы (SAPS, SOFA), которые точнее для отдельных категорий больных</li>
    </ul>

    <h3>Преимущества калькулятора</h3>
    <ul>
        <li>Все 12 физиологических параметров, возраст и хронический статус - в одной форме. Не нужно вручную сверяться с таблицей баллов для каждого показателя</li>
        <li>Креатинин вводится в мкмоль/л - не нужно переводить в мг/дл перед расчетом</li>
        <li>Раздельный вывод компонентов (APS, возраст, хронические заболевания) - видно, за счет чего набирается итоговый балл</li>
        <li>Автоматический подбор метода оценки оксигенации по FiO2 - переключение между A-aDO2 и PaO2</li>
        <li>Учет острой почечной недостаточности для удвоения баллов креатинина</li>
        <li>Ориентировочная летальность выводится сразу рядом с баллом</li>
    </ul>

    <h2>Факты и мнения о шкале APACHE II</h2>

    <h3>Мнение специалиста</h3>
    <p>Жан-Луи Венсан (Jean-Louis Vincent), профессор интенсивной терапии Университетской клиники Эразме в Брюсселе, доктор медицинских наук и один из наиболее цитируемых специалистов в мировой реаниматологии, неоднократно подчеркивал: шкалы тяжести создавались для сравнения групп пациентов, а не для предсказания судьбы конкретного человека. По его словам, использование APACHE II или любой другой балльной системы как основания для отказа в лечении отдельному пациенту - грубая ошибка. Прогностическая точность на уровне популяции не переносится на конкретного больного. Два пациента с одинаковым баллом могут иметь радикально разные исходы.</p>

    <h3>Из истории шкалы</h3>
    <p>До появления шкалы APACHE в 1981 году у реаниматологов не было единого языка для описания тяжести состояния. Один врач говорил "тяжелый", другой - "крайне тяжелый", и сравнить результаты двух отделений было невозможно. Первая версия APACHE включала 34 физиологических параметра, и заполнение занимало так много времени, что шкалу почти не использовали на практике. В 1985 году William Knaus с коллегами опубликовали APACHE II - упрощенную версию с 12 параметрами, валидированную на 5815 пациентах из 13 американских больниц. Именно эта простота сделала шкалу стандартом: ее стали применять в клиниках по всему миру, от Токио до Сан-Паулу. Публикация 1985 года в журнале Critical Care Medicine стала одной из самых цитируемых статей в истории медицины интенсивной терапии.</p>

    <h3>Современные исследования</h3>
    <p>В 2020-х годах активно исследуется точность прогнозирования с помощью моделей машинного обучения в сравнении с классическими шкалами. Ряд работ, опубликованных в журналах Critical Care и Intensive Care Medicine в 2022-2024 годах, показал, что алгоритмы на основе нейронных сетей и градиентного бустинга могут превосходить APACHE II по площади под ROC-кривой при прогнозировании госпитальной летальности в ОРИТ. Однако исследователи отмечают, что ML-модели требуют больших обучающих выборок, плохо переносятся между клиниками и остаются "черными ящиками" для врачей. APACHE II, при всех ограничениях, прозрачна и воспроизводима: любой врач в любой точке мира может рассчитать балл одинаково, и за 40 лет накоплена огромная база данных для сравнения.</p>

    <div class="disclaimer-block">
        <strong>Внимание.</strong> Калькулятор предназначен для справочных и образовательных целей. Он не заменяет клиническое суждение врача. Все решения по лечению и прогнозу должны приниматься квалифицированным реаниматологом или лечащим врачом на основании полной клинической картины. Если вы сомневаетесь в интерпретации результата или в тактике лечения, проконсультируйтесь со специалистом.
    </div>
</div>

<script>
let oxyMode = 'high';
let chronicMode = 'no';
let admType = 'nonsurg';

function switchOxyMode(mode) {
    oxyMode = mode;
    document.getElementById('btnFio2High')
        .classList.toggle('active', mode === 'high');
    document.getElementById('btnFio2Low')
        .classList.toggle('active', mode === 'low');

    document.getElementById('oxyHighBlock')
        .classList.toggle('visible', mode === 'high');
    document.getElementById('oxyLowBlock')
        .classList.toggle('visible', mode === 'low');

    document.getElementById('result').classList.remove('active');
    document.getElementById('errorBlock').style.display = 'none';
}

function switchChronic(mode) {
    chronicMode = mode;
    document.getElementById('btnChronicNo')
        .classList.toggle('active', mode === 'no');
    document.getElementById('btnChronicYes')
        .classList.toggle('active', mode === 'yes');

    document.getElementById('chronicBlock')
        .classList.toggle('visible', mode === 'yes');

    document.getElementById('result').classList.remove('active');
    document.getElementById('errorBlock').style.display = 'none';
}

function switchAdmType(type) {
    admType = type;
    document.getElementById('btnAdmNonSurg')
        .classList.toggle('active', type === 'nonsurg');
    document.getElementById('btnAdmElective')
        .classList.toggle('active', type === 'elective');
}

function showError(msg) {
    var el = document.getElementById('errorBlock');
    el.textContent = msg;
    el.style.display = 'block';
}

function scoreTemp(t) {
    if (t >= 41) return 4;
    if (t >= 39) return 3;
    if (t >= 38.5) return 1;
    if (t >= 36) return 0;
    if (t >= 34) return 1;
    if (t >= 32) return 2;
    if (t >= 30) return 3;
    return 4;
}

function scoreMAP(m) {
    if (m >= 160) return 4;
    if (m >= 130) return 3;
    if (m >= 110) return 2;
    if (m >= 70) return 0;
    if (m >= 50) return 2;
    return 4;
}

function scoreHR(h) {
    if (h >= 180) return 4;
    if (h >= 140) return 3;
    if (h >= 110) return 2;
    if (h >= 70) return 0;
    if (h >= 55) return 2;
    if (h >= 40) return 3;
    return 4;
}

function scoreRR(r) {
    if (r >= 50) return 4;
    if (r >= 35) return 3;
    if (r >= 25) return 1;
    if (r >= 12) return 0;
    if (r >= 10) return 1;
    if (r >= 6) return 2;
    return 4;
}

function scoreOxy(fio2High, val) {
    if (fio2High) {
        if (val >= 500) return 4;
        if (val >= 350) return 3;
        if (val >= 200) return 2;
        return 0;
    } else {
        if (val > 70) return 0;
        if (val >= 61) return 1;
        if (val >= 55) return 3;
        return 4;
    }
}

function scorePH(p) {
    if (p >= 7.7) return 4;
    if (p >= 7.6) return 3;
    if (p >= 7.5) return 1;
    if (p >= 7.33) return 0;
    if (p >= 7.25) return 2;
    if (p >= 7.15) return 3;
    return 4;
}

function scoreNa(n) {
    if (n >= 180) return 4;
    if (n >= 160) return 3;
    if (n >= 155) return 2;
    if (n >= 150) return 1;
    if (n >= 130) return 0;
    if (n >= 120) return 2;
    if (n >= 111) return 3;
    return 4;
}

function scoreK(k) {
    if (k >= 7.0) return 4;
    if (k >= 6.0) return 3;
    if (k >= 5.5) return 1;
    if (k >= 3.5) return 0;
    if (k >= 3.0) return 1;
    if (k >= 2.5) return 2;
    return 4;
}

function scoreCreat(mgdl, arf) {
    var s;
    if (mgdl >= 3.5) s = 4;
    else if (mgdl >= 2.0) s = 3;
    else if (mgdl >= 1.5) s = 2;
    else if (mgdl >= 0.6) s = 0;
    else s = 2;
    return arf ? s * 2 : s;
}

function scoreHct(h) {
    if (h >= 60) return 4;
    if (h >= 50) return 2;
    if (h >= 46) return 1;
    if (h >= 30) return 0;
    if (h >= 20) return 2;
    return 4;
}

function scoreWBC(w) {
    if (w >= 40) return 4;
    if (w >= 20) return 2;
    if (w >= 15) return 1;
    if (w >= 3) return 0;
    if (w >= 1) return 2;
    return 4;
}

function scoreAge(a) {
    if (a <= 44) return 0;
    if (a <= 54) return 2;
    if (a <= 64) return 3;
    if (a <= 74) return 5;
    return 6;
}

function getMortality(total) {
    if (total <= 4)  return '~4%';
    if (total <= 9)  return '~8%';
    if (total <= 14) return '~15%';
    if (total <= 19) return '~25%';
    if (total <= 24) return '~40%';
    if (total <= 29) return '~55%';
    if (total <= 34) return '~73%';
    return '~85%';
}

function calculateAPACHE() {
    var resultDiv = document.getElementById('result');
    var errorDiv  = document.getElementById('errorBlock');
    resultDiv.classList.remove('active');
    errorDiv.style.display = 'none';

    var age  = parseInt(document.getElementById('apAge').value);
    var temp = parseFloat(document.getElementById('apTemp').value);
    var map  = parseFloat(document.getElementById('apMAP').value);
    var hr   = parseFloat(document.getElementById('apHR').value);
    var rr   = parseFloat(document.getElementById('apRR').value);
    var ph   = parseFloat(document.getElementById('apPH').value);
    var na   = parseFloat(document.getElementById('apNa').value);
    var k    = parseFloat(document.getElementById('apK').value);
    var creatUmol = parseFloat(
        document.getElementById('apCreat').value
    );
    var arf  = document.getElementById('apARF').checked;
    var hct  = parseFloat(document.getElementById('apHct').value);
    var wbc  = parseFloat(document.getElementById('apWBC').value);
    var gcs  = parseInt(document.getElementById('apGCS').value);

    var oxyVal;
    if (oxyMode === 'high') {
        oxyVal = parseFloat(
            document.getElementById('apAaDO2').value
        );
    } else {
        oxyVal = parseFloat(
            document.getElementById('apPaO2').value
        );
    }

    // Валидация
    if (isNaN(age) || age < 1 || age > 120) {
        showError('Введите возраст пациента от 1 до 120 лет.');
        return;
    }
    if (isNaN(temp) || temp < 25 || temp > 45) {
        showError(
            'Введите температуру от 25 до 45 °C.'
        );
        return;
    }
    if (isNaN(map) || map < 10 || map > 300) {
        showError(
            'Введите среднее артериальное давление ' +
            'от 10 до 300 мм рт. ст.'
        );
        return;
    }
    if (isNaN(hr) || hr < 0 || hr > 300) {
        showError('Введите ЧСС от 0 до 300 уд/мин.');
        return;
    }
    if (isNaN(rr) || rr < 0 || rr > 100) {
        showError('Введите частоту дыхания от 0 до 100 дых/мин.');
        return;
    }
    if (isNaN(oxyVal) || oxyVal < 0) {
        if (oxyMode === 'high') {
            showError('Введите значение A-aDO2.');
        } else {
            showError('Введите значение PaO2.');
        }
        return;
    }
    if (isNaN(ph) || ph < 6.5 || ph > 8.0) {
        showError('Введите pH артериальной крови от 6,5 до 8,0.');
        return;
    }
    if (isNaN(na) || na < 80 || na > 220) {
        showError('Введите натрий сыворотки от 80 до 220 ммоль/л.');
        return;
    }
    if (isNaN(k) || k < 1 || k > 10) {
        showError('Введите калий сыворотки от 1 до 10 ммоль/л.');
        return;
    }
    if (isNaN(creatUmol) || creatUmol < 10 || creatUmol > 1500) {
        showError(
            'Введите креатинин от 10 до 1500 мкмоль/л.'
        );
        return;
    }
    if (isNaN(hct) || hct < 5 || hct > 80) {
        showError('Введите гематокрит от 5 до 80%.');
        return;
    }
    if (isNaN(wbc) || wbc < 0 || wbc > 200) {
        showError(
            'Введите лейкоциты от 0 до 200 (x10\u2079/л).'
        );
        return;
    }
    if (isNaN(gcs) || gcs < 3 || gcs > 15) {
        showError(
            'Введите балл по шкале Глазго от 3 до 15.'
        );
        return;
    }

    // Расчет
    var creatMgDl = creatUmol / 88.4;

    var sTemp  = scoreTemp(temp);
    var sMAP   = scoreMAP(map);
    var sHR    = scoreHR(hr);
    var sRR    = scoreRR(rr);
    var sOxy   = scoreOxy(oxyMode === 'high', oxyVal);
    var sPH    = scorePH(ph);
    var sNa    = scoreNa(na);
    var sK     = scoreK(k);
    var sCreat = scoreCreat(creatMgDl, arf);
    var sHct   = scoreHct(hct);
    var sWBC   = scoreWBC(wbc);
    var sGCS   = 15 - gcs;

    var aps = sTemp + sMAP + sHR + sRR + sOxy +
              sPH + sNa + sK + sCreat + sHct + sWBC + sGCS;

    var agePts = scoreAge(age);

    var chronicPts = 0;
    if (chronicMode === 'yes') {
        chronicPts = admType === 'elective' ? 2 : 5;
    }

    var total = aps + agePts + chronicPts;
    var mortality = getMortality(total);

    // Вывод
    document.getElementById('resultParams').innerHTML =
        '<span>Темп: <strong>' + sTemp + '</strong></span>' +
        '<span>АДср: <strong>' + sMAP + '</strong></span>' +
        '<span>ЧСС: <strong>' + sHR + '</strong></span>' +
        '<span>ЧД: <strong>' + sRR + '</strong></span>' +
        '<span>O\u2082: <strong>' + sOxy + '</strong></span>' +
        '<span>pH: <strong>' + sPH + '</strong></span>' +
        '<span>Na: <strong>' + sNa + '</strong></span>' +
        '<span>K: <strong>' + sK + '</strong></span>' +
        '<span>Креат: <strong>' + sCreat + '</strong></span>' +
        '<span>Hct: <strong>' + sHct + '</strong></span>' +
        '<span>WBC: <strong>' + sWBC + '</strong></span>' +
        '<span>GCS(15-): <strong>' + sGCS + '</strong></span>';

    document.getElementById('resAPS').textContent = aps;
    document.getElementById('resAge').textContent = agePts;
    document.getElementById('resChronic').textContent = chronicPts;
    document.getElementById('resTotal').textContent = total;
    document.getElementById('resMortality').textContent = mortality;

    // Пояснение
    var note = '';
    if (total >= 25) {
        note = 'Балл выше 25 указывает на крайне тяжелое состояние ' +
            'с высокой вероятностью неблагоприятного исхода. ' +
            'Требуется максимально интенсивная терапия и постоянный ' +
            'мониторинг. Прогноз зависит от основного диагноза ' +
            'и ответа на лечение.';
    } else if (total >= 15) {
        note = 'Умеренно-тяжелое или тяжелое состояние. ' +
            'Пациент нуждается в интенсивном наблюдении. ' +
            'Рассмотрите пересчет через 24 часа для оценки динамики.';
    } else if (total >= 10) {
        note = 'Умеренная тяжесть состояния. Прогноз при адекватном ' +
            'лечении относительно благоприятный, но требует контроля.';
    } else {
        note = 'Относительно нетяжелое состояние по шкале APACHE II. ' +
            'Низкий балл не исключает серьезной патологии - ' +
            'клиническая оценка остается приоритетом.';
    }

    document.getElementById('resultNote').textContent = note;
    resultDiv.classList.add('active');
}
</script>				</div>
				</div>
					</div>
				</div>
				</div>
		<p>Сообщение <a href="https://vracha-na-dom.ru/kalkulyatory/kalkulyator-shkaly-apache-ii/">Калькулятор шкалы APACHE II</a> появились сначала на <a href="https://vracha-na-dom.ru">Вызов врача на дом</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Калькулятор суточной протеинурии</title>
		<link>https://vracha-na-dom.ru/kalkulyatory/kalkulyator-sutochnoj-proteinurii/</link>
		
		<dc:creator><![CDATA[Волкова Елена Андреевна]]></dc:creator>
		<pubDate>Fri, 11 Sep 2026 09:50:15 +0000</pubDate>
				<category><![CDATA[Калькуляторы]]></category>
		<category><![CDATA[Калькуляторы лабораторных анализов]]></category>
		<guid isPermaLink="false">https://vracha-na-dom.ru/?p=6369</guid>

					<description><![CDATA[<p>Рассчитать суточную протеинурию онлайн Метод определения: Суточный сбор мочи Разовая порция мочи Суточный сбор &#8212; золотой стандарт оценки протеинурии. Собирайте всю мочу за 24 часа в одну емкость. Объем суточной мочи (мл): Общий объем мочи, собранной за 24 часа. Норма для взрослого &#8212; от 800 до 2000 мл. Указан на бланке анализа или измерьте мерным [&#8230;]</p>
<p>Сообщение <a href="https://vracha-na-dom.ru/kalkulyatory/kalkulyator-sutochnoj-proteinurii/">Калькулятор суточной протеинурии</a> появились сначала на <a href="https://vracha-na-dom.ru">Вызов врача на дом</a>.</p>
]]></description>
										<content:encoded><![CDATA[		<div data-elementor-type="wp-post" data-elementor-id="6369" class="elementor elementor-6369" data-elementor-settings="{&quot;element_pack_global_tooltip_width&quot;:{&quot;unit&quot;:&quot;px&quot;,&quot;size&quot;:&quot;&quot;,&quot;sizes&quot;:[]},&quot;element_pack_global_tooltip_width_tablet&quot;:{&quot;unit&quot;:&quot;px&quot;,&quot;size&quot;:&quot;&quot;,&quot;sizes&quot;:[]},&quot;element_pack_global_tooltip_width_mobile&quot;:{&quot;unit&quot;:&quot;px&quot;,&quot;size&quot;:&quot;&quot;,&quot;sizes&quot;:[]},&quot;element_pack_global_tooltip_padding&quot;:{&quot;unit&quot;:&quot;px&quot;,&quot;top&quot;:&quot;&quot;,&quot;right&quot;:&quot;&quot;,&quot;bottom&quot;:&quot;&quot;,&quot;left&quot;:&quot;&quot;,&quot;isLinked&quot;:true},&quot;element_pack_global_tooltip_padding_tablet&quot;:{&quot;unit&quot;:&quot;px&quot;,&quot;top&quot;:&quot;&quot;,&quot;right&quot;:&quot;&quot;,&quot;bottom&quot;:&quot;&quot;,&quot;left&quot;:&quot;&quot;,&quot;isLinked&quot;:true},&quot;element_pack_global_tooltip_padding_mobile&quot;:{&quot;unit&quot;:&quot;px&quot;,&quot;top&quot;:&quot;&quot;,&quot;right&quot;:&quot;&quot;,&quot;bottom&quot;:&quot;&quot;,&quot;left&quot;:&quot;&quot;,&quot;isLinked&quot;:true},&quot;element_pack_global_tooltip_border_radius&quot;:{&quot;unit&quot;:&quot;px&quot;,&quot;top&quot;:&quot;&quot;,&quot;right&quot;:&quot;&quot;,&quot;bottom&quot;:&quot;&quot;,&quot;left&quot;:&quot;&quot;,&quot;isLinked&quot;:true},&quot;element_pack_global_tooltip_border_radius_tablet&quot;:{&quot;unit&quot;:&quot;px&quot;,&quot;top&quot;:&quot;&quot;,&quot;right&quot;:&quot;&quot;,&quot;bottom&quot;:&quot;&quot;,&quot;left&quot;:&quot;&quot;,&quot;isLinked&quot;:true},&quot;element_pack_global_tooltip_border_radius_mobile&quot;:{&quot;unit&quot;:&quot;px&quot;,&quot;top&quot;:&quot;&quot;,&quot;right&quot;:&quot;&quot;,&quot;bottom&quot;:&quot;&quot;,&quot;left&quot;:&quot;&quot;,&quot;isLinked&quot;:true}}" data-elementor-post-type="post">
				<div class="elementor-element elementor-element-f7c7514 e-flex e-con-boxed e-con e-parent" data-id="f7c7514" data-element_type="container" data-settings="{&quot;ekit_has_onepagescroll_dot&quot;:&quot;yes&quot;}">
					<div class="e-con-inner">
				<div class="elementor-element elementor-element-86156a1 elementor-widget elementor-widget-html" data-id="86156a1" data-element_type="widget" data-settings="{&quot;ekit_we_effect_on&quot;:&quot;none&quot;}" data-widget_type="html.default">
				<div class="elementor-widget-container">
					<style>
.calculator-container {
    max-width: 100%;
    margin: 10px auto;
    padding: 10px;
    border: 1px solid #ddd;
    border-radius: 8px;
    background-color: #f9f9f9;
}
.calculator-input {
    margin: 15px 0;
}
.calculator-input label {
    display: block;
    margin-bottom: 25px;
    font-weight: bold;
}
.calculator-input input,
.calculator-input select {
    width: 100%;
    padding: 10px 18px;
    border: 1px solid #ccc;
    border-radius: 50px;
    font-size: 16px;
    box-sizing: border-box;
}
.input-hint {
    font-size: 13px;
    color: #666;
    margin-top: 4px;
}
.carb-toggle {
    display: flex;
    gap: 8px;
    margin-bottom: 8px;
}
.carb-toggle button {
    flex: 1;
    padding: 9px 8px;
    border: 2px solid #0457B5;
    border-radius: 50px;
    background: white;
    color: #0457B5;
    cursor: pointer;
    font-size: 14px;
    font-weight: bold;
    transition: background 0.15s, color 0.15s;
}
.carb-toggle button.active {
    background: #0457B5;
    color: white;
}
.calculate-btn {
    background-color: #0457B5;
    color: white;
    padding: 12px 20px;
    border: none;
    border-radius: 50px;
    cursor: pointer;
    font-size: 16px;
    width: 100%;
    margin-top: 10px;
}
.calculate-btn:hover {
    background-color: #034499;
}
.result {
    margin-top: 20px;
    padding: 15px;
    background-color: #f0f7ff;
    border-left: 4px solid #0457B5;
    display: none;
}
.result.active {
    display: block;
}
.result h3 {
    margin-top: 0;
    color: #0457B5;
}
.dose-highlight {
    font-size: 1.45rem;
    font-weight: bold;
    color: #0457B5;
}
.dose-row {
    background-color: #f0fbea;
    border-left: 3px solid #7BC15B;
    padding: 8px 12px;
    margin: 8px 0;
    border-radius: 0 4px 4px 0;
}
.dose-row-primary {
    background-color: #e8f0fb;
    border-left: 3px solid #0457B5;
    padding: 8px 12px;
    margin: 8px 0;
    border-radius: 0 4px 4px 0;
}
.dose-row-primary .dose-highlight {
    font-size: 1.7rem;
}
.info-note {
    background-color: #f0fbea;
    border-left: 4px solid #7BC15B;
    padding: 10px;
    margin-top: 10px;
    font-size: 14px;
}
.warning {
    background-color: #fff3cd;
    border-left: 4px solid #ffc107;
    padding: 10px;
    margin-top: 15px;
}
.error-block {
    background-color: #fde8e8;
    border-left: 4px solid #e53935;
    padding: 10px;
    margin-top: 15px;
    display: none;
    font-size: 14px;
}
.content-section {
    max-width: 100%;
    margin: 20px auto;
    padding: 20px;
    line-height: 1.6;
}
.content-section h2 {
    color: #0457B5;
    margin-top: 25px;
}
.content-section h3 {
    color: #333;
    margin-top: 25px;
}
.content-section ul {
    padding-left: 20px;
}
.content-section li {
    margin: 8px 0;
}
.dose-table {
    width: 100%;
    border-collapse: collapse;
    margin: 10px 0;
    font-size: 14px;
}
.dose-table th,
.dose-table td {
    border: 1px solid #ddd;
    padding: 8px 10px;
    text-align: left;
}
.dose-table th {
    background-color: #e8f0fb;
    font-weight: bold;
    color: #0457B5;
}
.dose-table tr:nth-child(even) {
    background-color: #f9f9f9;
}
.result-params {
    font-size: 14px;
    color: #444;
    margin-bottom: 12px;
    padding: 8px 10px;
    background: #f9f9f9;
    border-radius: 4px;
}
.result-params span {
    display: inline-block;
    margin-right: 16px;
}
.hidden {
    display: none;
}
.fact-block {
    margin: 18px 0;
    padding: 12px 14px;
    border-radius: 6px;
}
.fact-block-expert {
    background-color: #f0f7ff;
    border-left: 4px solid #0457B5;
}
.fact-block-history {
    background-color: #faf5ee;
    border-left: 4px solid #c59a3e;
}
.fact-block-research {
    background-color: #f0fbea;
    border-left: 4px solid #7BC15B;
}
.fact-block-disclaimer {
    background-color: #fff3cd;
    border-left: 4px solid #ffc107;
}
.fact-block strong {
    display: block;
    margin-bottom: 4px;
}
</style>

<div class="content-section">
    <h2>Рассчитать суточную протеинурию онлайн</h2>

    <div class="calculator-container">

        <div class="calculator-input">
            <label>Метод определения:</label>
            <div class="carb-toggle">
                <button id="btnDaily" class="active"
                        onclick="switchMethod('daily')">
                    Суточный сбор мочи
                </button>
                <button id="btnSpot"
                        onclick="switchMethod('spot')">
                    Разовая порция мочи
                </button>
            </div>
            <div class="input-hint" id="methodHint">
                Суточный сбор - золотой стандарт оценки
                протеинурии. Собирайте всю мочу за 24 часа
                в одну емкость.
            </div>
        </div>

        <div id="dailyFields">
            <div class="calculator-input">
                <label for="urineVolume">
                    Объем суточной мочи (мл):
                </label>
                <input type="number" id="urineVolume"
                       min="100" max="10000" step="10"
                       placeholder="Например: 1500">
                <div class="input-hint">
                    Общий объем мочи, собранной за 24 часа.
                    Норма для взрослого - от 800 до 2000 мл.
                    Указан на бланке анализа или измерьте
                    мерным стаканом.
                </div>
            </div>

            <div class="calculator-input">
                <label for="proteinConc">
                    Концентрация белка в моче (г/л):
                </label>
                <input type="number" id="proteinConc"
                       min="0.001" max="30" step="0.001"
                       placeholder="Например: 0.15">
                <div class="input-hint">
                    Значение из результата лабораторного
                    анализа суточной мочи. Обычно указано
                    в г/л. Если в бланке мг/л - разделите
                    число на 1000.
                </div>
            </div>
        </div>

        <div id="spotFields" class="hidden">
            <div class="calculator-input">
                <label for="spotProtein">
                    Белок в разовой порции мочи (г/л):
                </label>
                <input type="number" id="spotProtein"
                       min="0.001" max="30" step="0.001"
                       placeholder="Например: 0.3">
                <div class="input-hint">
                    Концентрация белка из бланка анализа.
                    Если указана в мг/л - разделите на 1000.
                    Если в мг/дл - разделите на 100.
                </div>
            </div>

            <div class="calculator-input">
                <label for="spotCreatinine">
                    Креатинин в разовой порции мочи (ммоль/л):
                </label>
                <input type="number" id="spotCreatinine"
                       min="0.1" max="50" step="0.1"
                       placeholder="Например: 8.5">
                <div class="input-hint">
                    Концентрация креатинина из того же
                    анализа мочи. Должна быть в ммоль/л.
                    Если указана в мг/дл - умножьте
                    на 0,0884.
                </div>
            </div>

            <div class="calculator-input">
                <label>Пол пациента:</label>
                <div class="carb-toggle">
                    <button id="btnMale" class="active"
                            onclick="switchSex('male')">
                        Мужской
                    </button>
                    <button id="btnFemale"
                            onclick="switchSex('female')">
                        Женский
                    </button>
                </div>
                <div class="input-hint">
                    Пол влияет на расчетную суточную
                    экскрецию креатинина: у мужчин она
                    выше. Это уточняет пересчет
                    в суточные значения.
                </div>
            </div>
        </div>

        <button class="calculate-btn"
                onclick="calculateProteinuria()">
            Рассчитать протеинурию
        </button>

        <div class="result" id="result">
            <h3>Результат расчета</h3>

            <div class="result-params" id="resultParams"></div>

            <div class="dose-row-primary">
                <strong>Суточная протеинурия:</strong><br>
                <span class="dose-highlight"
                      id="dailyProtein">-</span>
            </div>

            <div class="dose-row" id="pcrRow"
                 style="display:none;">
                <strong>Белково-креатининовое
                соотношение (ПКС):</strong><br>
                <span class="dose-highlight"
                      id="pcrValue">-</span>
                &nbsp;мг/ммоль
            </div>

            <div class="dose-row">
                <strong>Степень протеинурии:</strong><br>
                <span class="dose-highlight"
                      id="classification">-</span>
            </div>

            <div class="info-note" id="resultNote"></div>

            <div class="warning">
                <strong>Важно:</strong> Расчет носит
                ориентировочный характер. Разовая
                порция мочи дает приблизительную оценку -
                суточный сбор точнее. Интерпретирует
                результат и назначает лечение только
                нефролог или терапевт. Не ставьте
                диагноз самостоятельно.
            </div>
        </div>

        <div class="error-block" id="errorBlock"></div>

    </div>

    <h3>Таблица степеней протеинурии</h3>
    <p>Классификация по суточной потере белка с мочой.
    Границы ориентировочные - врач оценивает результат
    в контексте клинической картины, возраста и
    сопутствующих болезней.</p>

    <table class="dose-table">
        <thead>
            <tr>
                <th>Суточный белок</th>
                <th>ПКС (мг/ммоль)</th>
                <th>Степень</th>
                <th>Что делать</th>
            </tr>
        </thead>
        <tbody>
            <tr>
                <td>менее 0,15 г/сут</td>
                <td>менее 15</td>
                <td>Норма</td>
                <td>Плановое наблюдение</td>
            </tr>
            <tr>
                <td>0,15-0,3 г/сут</td>
                <td>15-30</td>
                <td>Минимальная</td>
                <td>Повторный анализ через 1-3 месяца</td>
            </tr>
            <tr>
                <td>0,3-1,0 г/сут</td>
                <td>30-100</td>
                <td>Умеренная</td>
                <td>Консультация нефролога</td>
            </tr>
            <tr>
                <td>1,0-3,5 г/сут</td>
                <td>100-350</td>
                <td>Выраженная</td>
                <td>Обследование у нефролога</td>
            </tr>
            <tr>
                <td>более 3,5 г/сут</td>
                <td>более 350</td>
                <td>Нефротическая</td>
                <td>Срочная помощь нефролога</td>
            </tr>
        </tbody>
    </table>

    <h3>Что такое протеинурия</h3>
    <p>Протеинурия - появление белка в моче выше
    нормы. Здоровые почки фильтруют кровь и возвращают
    белок обратно в кровоток. Когда фильтрационный
    барьер повреждается, белковые молекулы проходят
    в мочу. Чем больше белка теряется, тем серьезнее
    поражение почек.</p>

    <p>Небольшое количество белка в моче
    (до 150 мг в сутки) - вариант нормы. Это следы
    альбумина и мелких белков, которые проскакивают
    через фильтр даже у здоровых людей. Но когда потеря
    превышает 300 мг в сутки, это сигнал о проблемах
    с почками, артериальном давлении или системных
    заболеваниях. Протеинурия выше 3,5 г в сутки
    называется нефротической - она сопровождается
    отеками, снижением альбумина в крови и повышением
    холестерина.</p>

    <h3>Описание калькулятора суточной протеинурии</h3>
    <p>Калькулятор работает двумя способами. Первый -
    по суточному сбору мочи: вы вводите объем мочи
    за 24 часа и концентрацию белка, а калькулятор
    перемножает их и показывает суточную потерю.
    Это самый точный метод.</p>

    <p>Второй способ - по разовой порции мочи.
    Калькулятор рассчитывает белково-креатининовое
    соотношение (ПКС) и пересчитывает его
    в ориентировочную суточную протеинурию. Для этого
    нужны концентрация белка и креатинина в одном
    образце мочи, а также пол пациента - он влияет
    на расчетную экскрецию креатинина за сутки.</p>

    <p>В обоих случаях калькулятор показывает степень
    протеинурии и дает краткую рекомендацию - нужна ли
    консультация нефролога или достаточно наблюдения.</p>

    <h3>Формулы расчета</h3>
    <p>Калькулятор строится на стандартных формулах,
    которые используют в клинической нефрологии.</p>

    <p><strong>Суточный сбор мочи:</strong></p>
    <ul>
        <li>Суточная протеинурия (г/сут) = концентрация
        белка (г/л) x объем мочи (мл) / 1000</li>
        <li>Пример: белок 0,25 г/л, объем 1600 мл.
        Суточная потеря = 0,25 x 1600 / 1000 = 0,4 г/сут</li>
    </ul>

    <p><strong>Разовая порция мочи (метод ПКС):</strong></p>
    <ul>
        <li>ПКС (мг/ммоль) = белок мочи (мг/л) /
        креатинин мочи (ммоль/л)</li>
        <li>Белок в мг/л = белок в г/л x 1000</li>
        <li>Ориентировочная суточная протеинурия (г/сут)
        = ПКС x расчетная суточная экскреция
        креатинина (ммоль/сут) / 1000</li>
    </ul>

    <p><strong>Средняя суточная экскреция
    креатинина:</strong></p>
    <ul>
        <li>Мужчины - около 14 ммоль/сут
        (зависит от мышечной массы и возраста)</li>
        <li>Женщины - около 10 ммоль/сут</li>
    </ul>

    <p><strong>Пример для разовой порции:</strong>
    белок 0,3 г/л (300 мг/л), креатинин 5,0 ммоль/л,
    мужчина. ПКС = 300 / 5,0 = 60 мг/ммоль.
    Ориентировочная суточная потеря = 60 x 14 / 1000
    = 0,84 г/сут. Умеренная протеинурия.</p>

    <h3>Суточный сбор и разовая порция - в чем разница</h3>
    <p>Суточный сбор считается золотым стандартом.
    Пациент собирает всю мочу за 24 часа в одну емкость,
    лаборатория измеряет общий объем и концентрацию
    белка. Результат - прямой подсчет потери за сутки.</p>

    <p>Проблема суточного сбора в том, что его сложно
    выполнить правильно. Пациенты забывают собрать
    часть порций, неточно фиксируют время, хранят
    мочу при комнатной температуре. Все это снижает
    достоверность. По разным оценкам, до трети суточных
    сборов содержат ошибки.</p>

    <p>Поэтому в повседневной практике чаще используют
    разовую порцию с расчетом белково-креатининового
    соотношения. Метод проще и воспроизводимее. Лучше
    всего подходит утренняя порция мочи - она меньше
    зависит от физической нагрузки, приема пищи
    и положения тела. Корреляция ПКС с суточным
    сбором в большинстве исследований превышает 0,9.</p>

    <h3>Причины протеинурии</h3>
    <p>Белок в моче появляется по разным причинам,
    и не все из них требуют лечения.</p>

    <ul>
        <li><strong>Функциональная</strong> - после
        интенсивной физической нагрузки, лихорадки,
        переохлаждения или эмоционального стресса.
        Проходит самостоятельно за 24-48 часов</li>
        <li><strong>Ортостатическая</strong> - появляется
        при длительном стоянии, отсутствует в утренней
        порции. Часто встречается у подростков
        и молодых людей. Обычно не требует лечения</li>
        <li><strong>Гломерулярная</strong> - повреждение
        клубочков почек при гломерулонефрите, диабетической
        нефропатии, амилоидозе, волчанке. Может быть
        от умеренной до нефротической</li>
        <li><strong>Тубулярная</strong> - нарушение
        обратного всасывания белка в канальцах.
        Обычно умеренная, менее 1 г/сут. Встречается
        при пиелонефрите, токсическом повреждении
        почек, некоторых наследственных болезнях</li>
        <li><strong>Переполнения</strong> - избыток
        легких белков в крови (например, белок
        Бенс-Джонса при миеломной болезни). Почки
        здоровы, но не справляются с фильтрацией
        аномально большого количества белка</li>
    </ul>

    <h3>Когда протеинурия опасна</h3>
    <p>Белок в моче - не просто маркер повреждения.
    Он сам ускоряет разрушение почек. Проходя через
    канальцы, белковые молекулы вызывают воспаление
    и фиброз почечной ткани. Чем выше протеинурия,
    тем быстрее снижается функция почек.</p>

    <p>Кроме того, протеинурия повышает риск
    сердечно-сосудистых осложнений. Потеря белка
    более 0,5 г/сут удваивает вероятность инфаркта
    и инсульта по сравнению с людьми без протеинурии -
    даже при одинаковом уровне артериального давления
    и холестерина.</p>

    <h3>Как правильно собрать суточную мочу</h3>
    <p>Точность результата зависит от правильного сбора.
    Частые ошибки - пропуск порций, неверный
    учет первой и последней порций, хранение
    при неправильной температуре.</p>

    <ul>
        <li>Утром в день начала сбора опорожните
        мочевой пузырь в унитаз - эту порцию
        не собирайте. Запишите время</li>
        <li>Все последующие порции мочи в течение
        24 часов собирайте в одну чистую емкость</li>
        <li>На следующее утро, ровно через 24 часа
        от начала, соберите последнюю порцию
        в ту же емкость</li>
        <li>Храните емкость в прохладном месте
        (холодильник, 2-8 градусов)</li>
        <li>Измерьте общий объем и перемешайте.
        Отлейте 50-100 мл в лабораторный контейнер
        и отнесите в лабораторию. Укажите общий
        объем на бланке</li>
    </ul>

    <h3>Преимущества калькулятора</h3>
    <ul>
        <li>Два метода расчета в одном инструменте -
        по суточному сбору и по разовой порции мочи
        с пересчетом через белково-креатининовое
        соотношение</li>
        <li>Автоматическая классификация степени
        протеинурии по принятым клиническим границам -
        от нормы до нефротического уровня</li>
        <li>Учет пола при расчете по разовой
        порции - корректирует оценку суточной экскреции
        креатинина для большей точности</li>
        <li>Рекомендация по тактике рядом
        с каждым результатом - понятно, нужно ли идти
        к врачу или достаточно пересдать анализ</li>
        <li>Справочная таблица степеней протеинурии
        с порогами для ПКС и суточного белка -
        можно сравнить результат с нормой без поиска
        информации</li>
    </ul>

    <h3>Когда нужен нефролог, а не калькулятор</h3>
    <p>Калькулятор помогает оценить степень протеинурии
    по готовым результатам анализа. Он не ставит
    диагноз и не заменяет врача. Вот ситуации, когда
    нужна очная консультация нефролога.</p>

    <ul>
        <li>Белок в моче обнаруживают повторно -
        два и более анализов с интервалом 1-3 месяца
        подтверждают протеинурию</li>
        <li>Суточная потеря белка выше 1 г -
        нужно установить причину и начать лечение</li>
        <li>Нефротический уровень (более 3,5 г/сут) -
        требует неотложного обследования, возможно
        биопсии почки</li>
        <li>Протеинурия сочетается с повышенным
        давлением, отеками, изменением цвета мочи
        или снижением скорости клубочковой
        фильтрации</li>
        <li>Сахарный диабет с нарастающей
        протеинурией - признак прогрессирования
        диабетической нефропатии</li>
        <li>Беременность с протеинурией выше 0,3 г/сут -
        один из критериев преэклампсии, особенно
        в сочетании с повышенным давлением</li>
        <li>Снижение уровня альбумина в крови ниже
        25 г/л на фоне протеинурии - признак
        нефротического синдрома</li>
    </ul>

    <h2>Факты и мнения о протеинурии</h2>

    <div class="fact-block fact-block-expert">
        <strong>Мнение нефролога</strong>
        <p>Академик РАМН Н.А. Мухин, один из основателей
        российской школы нефрологии, последовательно
        подчеркивал в своих работах: протеинурия - не
        просто лабораторный симптом, а самостоятельный
        фактор прогрессирования болезни почек. Белок,
        проходя через канальцы, запускает каскад
        воспалительных реакций и фиброза. Именно
        поэтому снижение протеинурии стало одной из
        главных целей нефропротективной терапии -
        наряду с контролем давления и уровня глюкозы.</p>
    </div>

    <div class="fact-block fact-block-history">
        <strong>Исторический факт</strong>
        <p>Белок в моче впервые научились определять
        в XVII веке. В 1694 году голландский врач
        Фредерик Деккерс обнаружил, что моча некоторых
        больных сворачивается при нагревании с уксусной
        кислотой. Но связь между белком в моче и болезнью
        почек установил только Ричард Брайт в 1827 году.
        Работая в лондонской больнице Гая, он кипятил
        образцы мочи над свечой, наблюдал помутнение
        от белка, а затем сопоставлял находки с результатами
        вскрытий. Болезни почек более ста лет называли
        «болезнью Брайта» - до появления современной
        классификации нефрологических заболеваний.</p>
    </div>

    <div class="fact-block fact-block-research">
        <strong>Современные исследования</strong>
        <p>Крупное международное исследование EMPA-KIDNEY,
        результаты которого опубликованы в 2023 году,
        подтвердило: ингибиторы SGLT2 (глифлозины)
        снижают протеинурию и замедляют потерю функции
        почек у пациентов с хронической болезнью почек -
        в том числе без сахарного диабета. Этот класс
        препаратов, изначально разработанный для контроля
        глюкозы, изменил подход к нефропротекции и вошел
        в обновленные клинические рекомендации KDIGO
        как стандарт лечения протеинурической нефропатии.</p>
    </div>

    <div class="fact-block fact-block-disclaimer">
        <strong>Обратитесь к врачу</strong>
        <p>Калькулятор предназначен для ориентировочной
        оценки и не заменяет консультацию нефролога
        или терапевта. Интерпретация результатов анализа
        мочи требует учета клинической картины, истории
        болезни, приема лекарств и других обследований.
        Если у вас обнаружен белок в моче - обратитесь
        к врачу для полноценной диагностики и подбора
        лечения. Не принимайте медицинских решений
        на основе одного только расчета.</p>
    </div>
</div>

<script>
let currentMethod = 'daily';
let currentSex = 'male';

function switchMethod(method) {
    currentMethod = method;
    document.getElementById('btnDaily')
        .classList.toggle('active', method === 'daily');
    document.getElementById('btnSpot')
        .classList.toggle('active', method === 'spot');

    const dailyFields = document.getElementById('dailyFields');
    const spotFields = document.getElementById('spotFields');
    const hint = document.getElementById('methodHint');

    if (method === 'daily') {
        dailyFields.classList.remove('hidden');
        spotFields.classList.add('hidden');
        hint.textContent =
            'Суточный сбор - золотой стандарт оценки ' +
            'протеинурии. Собирайте всю мочу за 24 часа ' +
            'в одну емкость.';
    } else {
        dailyFields.classList.add('hidden');
        spotFields.classList.remove('hidden');
        hint.textContent =
            'Разовая порция с расчетом ' +
            'белково-креатининового соотношения. ' +
            'Лучше использовать утреннюю мочу.';
    }

    document.getElementById('result')
        .classList.remove('active');
    document.getElementById('errorBlock')
        .style.display = 'none';
}

function switchSex(sex) {
    currentSex = sex;
    document.getElementById('btnMale')
        .classList.toggle('active', sex === 'male');
    document.getElementById('btnFemale')
        .classList.toggle('active', sex === 'female');
}

function showError(msg) {
    const el = document.getElementById('errorBlock');
    el.textContent = msg;
    el.style.display = 'block';
}

function getClassification(dailyG) {
    if (dailyG < 0.15) {
        return {
            level: 'Норма',
            note: 'Суточная потеря белка в пределах нормы ' +
                  '(менее 150 мг/сут). ' +
                  'Специальных мер не требуется. ' +
                  'Продолжайте плановое наблюдение.'
        };
    } else if (dailyG < 0.3) {
        return {
            level: 'Минимальная протеинурия',
            note: 'Небольшое превышение нормы. ' +
                  'Рекомендуется пересдать анализ ' +
                  'через 1-3 месяца, чтобы исключить ' +
                  'функциональные причины (физическая ' +
                  'нагрузка, лихорадка, стресс). ' +
                  'Если результат подтверждается - ' +
                  'обратитесь к терапевту.'
        };
    } else if (dailyG < 1.0) {
        return {
            level: 'Умеренная протеинурия',
            note: 'Потеря белка 0,3-1,0 г/сут. ' +
                  'Рекомендуется консультация ' +
                  'нефролога для выяснения причины. ' +
                  'Может потребоваться дополнительное ' +
                  'обследование: УЗИ почек, расчет ' +
                  'скорости клубочковой фильтрации, ' +
                  'биохимический анализ крови.'
        };
    } else if (dailyG < 3.5) {
        return {
            level: 'Выраженная протеинурия',
            note: 'Значимая потеря белка. ' +
                  'Необходимо обследование у нефролога ' +
                  'в ближайшее время. На этом уровне ' +
                  'высок риск прогрессирования болезни ' +
                  'почек. Контролируйте артериальное ' +
                  'давление, уровень альбумина ' +
                  'и креатинина в крови.'
        };
    } else {
        return {
            level: 'Нефротическая протеинурия',
            note: 'Потеря белка превышает 3,5 г/сут - ' +
                  'это порог нефротического синдрома. ' +
                  'Требуется срочная консультация ' +
                  'нефролога, возможно - биопсия почки. ' +
                  'Обратите внимание на отеки, особенно ' +
                  'на лице и ногах. Не откладывайте визит.'
        };
    }
}

function calculateProteinuria() {
    const resultDiv = document.getElementById('result');
    const errorDiv = document.getElementById('errorBlock');
    const pcrRow = document.getElementById('pcrRow');

    resultDiv.classList.remove('active');
    errorDiv.style.display = 'none';
    pcrRow.style.display = 'none';

    if (currentMethod === 'daily') {
        const volume = parseFloat(
            document.getElementById('urineVolume').value
        );
        const proteinConc = parseFloat(
            document.getElementById('proteinConc').value
        );

        if (isNaN(volume) || volume < 100 || volume > 10000) {
            showError(
                'Введите объем суточной мочи ' +
                'от 100 до 10 000 мл. У взрослого ' +
                'нормальный диурез - 800-2000 мл.'
            );
            return;
        }
        if (isNaN(proteinConc) ||
            proteinConc <= 0 || proteinConc > 30) {
            showError(
                'Введите концентрацию белка в моче ' +
                'от 0,001 до 30 г/л. Значение указано ' +
                'в результатах анализа.'
            );
            return;
        }

        const dailyProteinG = proteinConc * volume / 1000;
        const dailyProteinMg = dailyProteinG * 1000;

        const cls = getClassification(dailyProteinG);

        document.getElementById('resultParams').innerHTML =
            '<span>Метод: <strong>суточный сбор' +
            '</strong></span>' +
            '<span>Объем: <strong>' +
            volume.toFixed(0) + ' мл</strong></span>' +
            '<span>Белок: <strong>' +
            proteinConc.toFixed(3) + ' г/л</strong></span>';

        let displayStr;
        if (dailyProteinG >= 1) {
            displayStr = dailyProteinG.toFixed(2) + ' г/сут' +
                ' (' + dailyProteinMg.toFixed(0) + ' мг/сут)';
        } else {
            displayStr = dailyProteinMg.toFixed(0) + ' мг/сут' +
                ' (' + dailyProteinG.toFixed(3) + ' г/сут)';
        }

        document.getElementById('dailyProtein')
            .textContent = displayStr;
        document.getElementById('classification')
            .textContent = cls.level;
        document.getElementById('resultNote')
            .textContent = cls.note;

    } else {
        const spotProtein = parseFloat(
            document.getElementById('spotProtein').value
        );
        const spotCreatinine = parseFloat(
            document.getElementById('spotCreatinine').value
        );

        if (isNaN(spotProtein) ||
            spotProtein <= 0 || spotProtein > 30) {
            showError(
                'Введите концентрацию белка в моче ' +
                'от 0,001 до 30 г/л. Значение указано ' +
                'в бланке анализа.'
            );
            return;
        }
        if (isNaN(spotCreatinine) ||
            spotCreatinine < 0.1 || spotCreatinine > 50) {
            showError(
                'Введите концентрацию креатинина мочи ' +
                'от 0,1 до 50 ммоль/л. Если в бланке ' +
                'указано в мг/дл - умножьте на 0,0884.'
            );
            return;
        }

        const proteinMgL = spotProtein * 1000;
        const pcr = proteinMgL / spotCreatinine;

        const dailyCreatinine = currentSex === 'male'
            ? 14 : 10;

        const estDailyG = pcr * dailyCreatinine / 1000;
        const estDailyMg = estDailyG * 1000;

        const cls = getClassification(estDailyG);

        const sexLabel = currentSex === 'male'
            ? 'мужской' : 'женский';

        document.getElementById('resultParams').innerHTML =
            '<span>Метод: <strong>разовая порция' +
            '</strong></span>' +
            '<span>Белок: <strong>' +
            spotProtein.toFixed(3) + ' г/л (' +
            proteinMgL.toFixed(0) + ' мг/л)</strong></span>' +
            '<span>Креатинин: <strong>' +
            spotCreatinine.toFixed(1) +
            ' ммоль/л</strong></span>' +
            '<span>Пол: <strong>' +
            sexLabel + '</strong></span>' +
            '<span>Расч. экскреция креатинина: <strong>' +
            dailyCreatinine + ' ммоль/сут</strong></span>';

        document.getElementById('pcrValue')
            .textContent = pcr.toFixed(1);
        pcrRow.style.display = 'block';

        let displayStr;
        if (estDailyG >= 1) {
            displayStr = '~' + estDailyG.toFixed(2) +
                ' г/сут (' + estDailyMg.toFixed(0) +
                ' мг/сут)';
        } else {
            displayStr = '~' + estDailyMg.toFixed(0) +
                ' мг/сут (' + estDailyG.toFixed(3) +
                ' г/сут)';
        }

        document.getElementById('dailyProtein')
            .textContent = displayStr;
        document.getElementById('classification')
            .textContent = cls.level;

        let noteText = cls.note +
            ' Оценка по разовой порции ориентировочна - ' +
            'для подтверждения рекомендуется суточный ' +
            'сбор мочи.';
        document.getElementById('resultNote')
            .textContent = noteText;
    }

    resultDiv.classList.add('active');
}
</script>				</div>
				</div>
					</div>
				</div>
				</div>
		<p>Сообщение <a href="https://vracha-na-dom.ru/kalkulyatory/kalkulyator-sutochnoj-proteinurii/">Калькулятор суточной протеинурии</a> появились сначала на <a href="https://vracha-na-dom.ru">Вызов врача на дом</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Калькулятор нормы удельного веса мочи</title>
		<link>https://vracha-na-dom.ru/kalkulyatory/kalkulyator-normy-udelnogo-vesa-mochi/</link>
		
		<dc:creator><![CDATA[Волкова Елена Андреевна]]></dc:creator>
		<pubDate>Fri, 11 Sep 2026 09:41:54 +0000</pubDate>
				<category><![CDATA[Калькуляторы]]></category>
		<category><![CDATA[Калькуляторы лабораторных анализов]]></category>
		<guid isPermaLink="false">https://vracha-na-dom.ru/?p=6364</guid>

					<description><![CDATA[<p>Рассчитать норму удельного веса мочи онлайн Возрастная группа: Новорожденный (0-28 дней)Грудной ребенок (1 мес &#8212; 2 года)Ребенок (2-12 лет)Подросток (12-18 лет)Взрослый (18-60 лет)Пожилой (старше 60 лет)Беременная Нормы удельного веса различаются в зависимости от возраста. У детей до 2 лет почки еще не способны концентрировать мочу так же, как у взрослых. Удельный вес мочи (г/мл): Значение [&#8230;]</p>
<p>Сообщение <a href="https://vracha-na-dom.ru/kalkulyatory/kalkulyator-normy-udelnogo-vesa-mochi/">Калькулятор нормы удельного веса мочи</a> появились сначала на <a href="https://vracha-na-dom.ru">Вызов врача на дом</a>.</p>
]]></description>
										<content:encoded><![CDATA[		<div data-elementor-type="wp-post" data-elementor-id="6364" class="elementor elementor-6364" data-elementor-settings="{&quot;element_pack_global_tooltip_width&quot;:{&quot;unit&quot;:&quot;px&quot;,&quot;size&quot;:&quot;&quot;,&quot;sizes&quot;:[]},&quot;element_pack_global_tooltip_width_tablet&quot;:{&quot;unit&quot;:&quot;px&quot;,&quot;size&quot;:&quot;&quot;,&quot;sizes&quot;:[]},&quot;element_pack_global_tooltip_width_mobile&quot;:{&quot;unit&quot;:&quot;px&quot;,&quot;size&quot;:&quot;&quot;,&quot;sizes&quot;:[]},&quot;element_pack_global_tooltip_padding&quot;:{&quot;unit&quot;:&quot;px&quot;,&quot;top&quot;:&quot;&quot;,&quot;right&quot;:&quot;&quot;,&quot;bottom&quot;:&quot;&quot;,&quot;left&quot;:&quot;&quot;,&quot;isLinked&quot;:true},&quot;element_pack_global_tooltip_padding_tablet&quot;:{&quot;unit&quot;:&quot;px&quot;,&quot;top&quot;:&quot;&quot;,&quot;right&quot;:&quot;&quot;,&quot;bottom&quot;:&quot;&quot;,&quot;left&quot;:&quot;&quot;,&quot;isLinked&quot;:true},&quot;element_pack_global_tooltip_padding_mobile&quot;:{&quot;unit&quot;:&quot;px&quot;,&quot;top&quot;:&quot;&quot;,&quot;right&quot;:&quot;&quot;,&quot;bottom&quot;:&quot;&quot;,&quot;left&quot;:&quot;&quot;,&quot;isLinked&quot;:true},&quot;element_pack_global_tooltip_border_radius&quot;:{&quot;unit&quot;:&quot;px&quot;,&quot;top&quot;:&quot;&quot;,&quot;right&quot;:&quot;&quot;,&quot;bottom&quot;:&quot;&quot;,&quot;left&quot;:&quot;&quot;,&quot;isLinked&quot;:true},&quot;element_pack_global_tooltip_border_radius_tablet&quot;:{&quot;unit&quot;:&quot;px&quot;,&quot;top&quot;:&quot;&quot;,&quot;right&quot;:&quot;&quot;,&quot;bottom&quot;:&quot;&quot;,&quot;left&quot;:&quot;&quot;,&quot;isLinked&quot;:true},&quot;element_pack_global_tooltip_border_radius_mobile&quot;:{&quot;unit&quot;:&quot;px&quot;,&quot;top&quot;:&quot;&quot;,&quot;right&quot;:&quot;&quot;,&quot;bottom&quot;:&quot;&quot;,&quot;left&quot;:&quot;&quot;,&quot;isLinked&quot;:true}}" data-elementor-post-type="post">
				<div class="elementor-element elementor-element-f7c7514 e-flex e-con-boxed e-con e-parent" data-id="f7c7514" data-element_type="container" data-settings="{&quot;ekit_has_onepagescroll_dot&quot;:&quot;yes&quot;}">
					<div class="e-con-inner">
				<div class="elementor-element elementor-element-86156a1 elementor-widget elementor-widget-html" data-id="86156a1" data-element_type="widget" data-settings="{&quot;ekit_we_effect_on&quot;:&quot;none&quot;}" data-widget_type="html.default">
				<div class="elementor-widget-container">
					<style>
.calculator-container {
    max-width: 100%;
    margin: 10px auto;
    padding: 10px;
    border: 1px solid #ddd;
    border-radius: 8px;
    background-color: #f9f9f9;
}
.calculator-input {
    margin: 15px 0;
}
.calculator-input label {
    display: block;
    margin-bottom: 25px;
    font-weight: bold;
}
.calculator-input input,
.calculator-input select {
    width: 100%;
    padding: 10px 18px;
    border: 1px solid #ccc;
    border-radius: 50px;
    font-size: 16px;
    box-sizing: border-box;
}
.input-hint {
    font-size: 13px;
    color: #666;
    margin-top: 4px;
}
.sample-toggle {
    display: flex;
    gap: 8px;
    margin-bottom: 8px;
}
.sample-toggle button {
    flex: 1;
    padding: 9px 8px;
    border: 2px solid #0457B5;
    border-radius: 50px;
    background: white;
    color: #0457B5;
    cursor: pointer;
    font-size: 14px;
    font-weight: bold;
    transition: background 0.15s, color 0.15s;
}
.sample-toggle button.active {
    background: #0457B5;
    color: white;
}
.calculate-btn {
    background-color: #0457B5;
    color: white;
    padding: 12px 20px;
    border: none;
    border-radius: 50px;
    cursor: pointer;
    font-size: 16px;
    width: 100%;
    margin-top: 10px;
}
.calculate-btn:hover {
    background-color: #034499;
}
.result {
    margin-top: 20px;
    padding: 15px;
    background-color: #f0f7ff;
    border-left: 4px solid #0457B5;
    display: none;
}
.result.active {
    display: block;
}
.result h3 {
    margin-top: 0;
    color: #0457B5;
}
.dose-highlight {
    font-size: 1.45rem;
    font-weight: bold;
    color: #0457B5;
}
.dose-row {
    background-color: #f0fbea;
    border-left: 3px solid #7BC15B;
    padding: 8px 12px;
    margin: 8px 0;
    border-radius: 0 4px 4px 0;
}
.dose-row-primary {
    background-color: #e8f0fb;
    border-left: 3px solid #0457B5;
    padding: 8px 12px;
    margin: 8px 0;
    border-radius: 0 4px 4px 0;
}
.dose-row-primary .dose-highlight {
    font-size: 1.7rem;
}
.dose-row-warning {
    background-color: #fff3cd;
    border-left: 3px solid #ffc107;
    padding: 8px 12px;
    margin: 8px 0;
    border-radius: 0 4px 4px 0;
}
.dose-row-danger {
    background-color: #fde8e8;
    border-left: 3px solid #e53935;
    padding: 8px 12px;
    margin: 8px 0;
    border-radius: 0 4px 4px 0;
}
.info-note {
    background-color: #f0fbea;
    border-left: 4px solid #7BC15B;
    padding: 10px;
    margin-top: 10px;
    font-size: 14px;
}
.warning {
    background-color: #fff3cd;
    border-left: 4px solid #ffc107;
    padding: 10px;
    margin-top: 15px;
}
.error-block {
    background-color: #fde8e8;
    border-left: 4px solid #e53935;
    padding: 10px;
    margin-top: 15px;
    display: none;
    font-size: 14px;
}
.content-section {
    max-width: 100%;
    margin: 20px auto;
    padding: 20px;
    line-height: 1.6;
}
.content-section h2 {
    color: #0457B5;
    margin-top: 25px;
}
.content-section h3 {
    color: #333;
    margin-top: 25px;
}
.content-section ul {
    padding-left: 20px;
}
.content-section li {
    margin: 8px 0;
}
.dose-table {
    width: 100%;
    border-collapse: collapse;
    margin: 10px 0;
    font-size: 14px;
}
.dose-table th,
.dose-table td {
    border: 1px solid #ddd;
    padding: 8px 10px;
    text-align: left;
}
.dose-table th {
    background-color: #e8f0fb;
    font-weight: bold;
    color: #0457B5;
}
.dose-table tr:nth-child(even) {
    background-color: #f9f9f9;
}
.result-params {
    font-size: 14px;
    color: #444;
    margin-bottom: 12px;
    padding: 8px 10px;
    background: #f9f9f9;
    border-radius: 4px;
}
.result-params span {
    display: inline-block;
    margin-right: 16px;
}
.status-normal { color: #2e7d32; font-weight: bold; }
.status-low { color: #e65100; font-weight: bold; }
.status-high { color: #c62828; font-weight: bold; }
.status-iso { color: #ad1457; font-weight: bold; }
.fact-block {
    background: #f7f9fc;
    border-radius: 6px;
    padding: 14px 16px;
    margin: 14px 0;
}
.fact-block-title {
    font-weight: bold;
    color: #0457B5;
    margin-bottom: 6px;
}
.disclaimer-block {
    background-color: #fff3cd;
    border-left: 4px solid #ffc107;
    padding: 12px 16px;
    margin-top: 18px;
    font-size: 14px;
    border-radius: 0 6px 6px 0;
}
</style>

<div class="content-section">
    <h2>Рассчитать норму удельного веса мочи онлайн</h2>

    <div class="calculator-container">

        <div class="calculator-input">
            <label for="ageGroup">
                Возрастная группа:
            </label>
            <select id="ageGroup">
                <option value="newborn">Новорожденный (0-28 дней)</option>
                <option value="infant">Грудной ребенок (1 мес - 2 года)</option>
                <option value="child">Ребенок (2-12 лет)</option>
                <option value="teen">Подросток (12-18 лет)</option>
                <option value="adult" selected>Взрослый (18-60 лет)</option>
                <option value="elderly">Пожилой (старше 60 лет)</option>
                <option value="pregnant">Беременная</option>
            </select>
            <div class="input-hint">
                Нормы удельного веса различаются в зависимости
                от возраста. У детей до 2 лет почки еще не способны
                концентрировать мочу так же, как у взрослых.
            </div>
        </div>

        <div class="calculator-input">
            <label for="sgValue">
                Удельный вес мочи (г/мл):
            </label>
            <input type="number" id="sgValue" min="1.000" max="1.060"
                   step="0.001" placeholder="Например: 1.015">
            <div class="input-hint">
                Значение из бланка общего анализа мочи.
                Обозначают как SG (specific gravity)
                или «относительная плотность». Обычно
                число вида 1.0ХХ.
            </div>
        </div>

        <div class="calculator-input">
            <label>Тип образца мочи:</label>
            <div class="sample-toggle">
                <button id="btnMorning" class="active"
                        onclick="switchSampleType('morning')">
                    Утренняя порция
                </button>
                <button id="btnRandom"
                        onclick="switchSampleType('random')">
                    Случайная порция
                </button>
            </div>
            <div class="input-hint" id="sampleHint">
                Утренняя порция более информативна: после
                ночи моча максимально концентрирована.
                Именно ее чаще всего сдают на общий анализ.
            </div>
        </div>

        <button class="calculate-btn" onclick="calculateSG()">
            Проверить результат
        </button>

        <div class="result" id="result">
            <h3>Результат оценки</h3>

            <div class="result-params" id="resultParams"></div>

            <div id="normRow" class="dose-row">
                <strong>Референсный диапазон:</strong><br>
                <span class="dose-highlight" id="normRange">-</span>
            </div>

            <div id="statusRow" class="dose-row-primary">
                <strong>Оценка:</strong><br>
                <span class="dose-highlight" id="statusText">-</span>
            </div>

            <div id="causesBlock" class="dose-row" style="display:none;">
                <strong>Возможные причины:</strong><br>
                <span id="causesText"></span>
            </div>

            <div class="info-note" id="resultNote"></div>

            <div class="warning">
                <strong>Важно:</strong> Калькулятор сравнивает
                введенное значение с референсными нормами.
                Интерпретировать результат должен врач
                с учетом других показателей анализа,
                питьевого режима, приема лекарств
                и клинической картины.
            </div>
        </div>

        <div class="error-block" id="errorBlock"></div>

    </div>

    <h3>Нормы удельного веса мочи по возрасту</h3>
    <p>Референсные значения зависят от возраста. У новорожденных
    почки еще незрелы, и моча разбавлена сильнее. С возрастом
    концентрационная способность нарастает и достигает
    максимума у взрослых. После 60 лет она начинает
    снижаться.</p>

    <table class="dose-table">
        <thead>
            <tr>
                <th>Возрастная группа</th>
                <th>Норма (г/мл)</th>
                <th>Примечание</th>
            </tr>
        </thead>
        <tbody>
            <tr>
                <td>Новорожденный (0-28 дней)</td>
                <td>1.002 - 1.020</td>
                <td>Почки функционально незрелые</td>
            </tr>
            <tr>
                <td>Грудной ребенок (1 мес - 2 года)</td>
                <td>1.002 - 1.015</td>
                <td>Преобладает жидкая пища</td>
            </tr>
            <tr>
                <td>Ребенок (2-12 лет)</td>
                <td>1.002 - 1.025</td>
                <td>Постепенное созревание функции</td>
            </tr>
            <tr>
                <td>Подросток (12-18 лет)</td>
                <td>1.005 - 1.028</td>
                <td>Нормы приближаются к взрослым</td>
            </tr>
            <tr>
                <td>Взрослый (18-60 лет)</td>
                <td>1.005 - 1.028</td>
                <td>Утренняя порция обычно 1.015-1.025</td>
            </tr>
            <tr>
                <td>Пожилой (старше 60 лет)</td>
                <td>1.005 - 1.026</td>
                <td>Снижение концентрационной способности</td>
            </tr>
            <tr>
                <td>Беременная</td>
                <td>1.003 - 1.030</td>
                <td>Диапазон шире из-за гормональных изменений</td>
            </tr>
        </tbody>
    </table>

    <h3>Что такое удельный вес мочи</h3>
    <p>Удельный вес мочи (относительная плотность, SG) -
    показатель того, насколько моча насыщена растворенными
    веществами. Проще говоря, он показывает, насколько
    «густая» или «жидкая» моча по сравнению с чистой водой.</p>

    <p>Чистая вода имеет плотность 1.000 г/мл. Все, что
    растворено в моче - мочевина, креатинин, соли, глюкоза,
    белок - увеличивает плотность выше этой отметки.
    Нормальная моча взрослого колеблется от 1.005
    до 1.028 г/мл в зависимости от того, сколько жидкости
    выпил человек и как работают почки.</p>

    <p>По сути, удельный вес - это индикатор концентрационной
    функции почек. Здоровые почки умеют и разводить мочу
    (когда воды много), и концентрировать ее (когда воды мало).
    Если эта способность нарушена, удельный вес застревает
    в узком коридоре - и это первый сигнал проблемы.</p>

    <h3>Описание калькулятора</h3>
    <p>Калькулятор принимает три параметра: возрастную группу,
    значение удельного веса из бланка анализа и тип
    образца (утренняя или случайная порция). По этим данным
    он определяет референсный диапазон, сравнивает
    с введенным значением и выдает оценку.</p>

    <p>Результат включает четыре блока. Референсный
    диапазон - норма для выбранного возраста. Оценка -
    вписывается ли показатель в норму или выходит за нее.
    Возможные причины отклонений - если значение не в норме.
    И рекомендация - что стоит сделать дальше.</p>

    <p>Калькулятор не ставит диагноз. Он помогает быстро
    понять, нормальный ли результат, и подсказывает,
    о чем стоит спросить врача на приеме.</p>

    <h3>Что влияет на удельный вес мочи</h3>
    <p>Плотность мочи меняется в течение дня. Утром,
    после ночного голодания и ограничения жидкости,
    моча наиболее концентрирована. Днем, особенно
    после нескольких стаканов воды, она разбавляется.</p>

    <ul>
        <li><strong>Объем выпитой жидкости</strong> -
        главный фактор. Больше воды - ниже удельный вес,
        и наоборот</li>
        <li><strong>Питание</strong> - соленая и белковая
        пища повышают плотность. Фрукты и овощи
        с высоким содержанием воды снижают</li>
        <li><strong>Физическая нагрузка и потоотделение</strong> -
        при потере жидкости через пот моча становится
        более концентрированной</li>
        <li><strong>Температура воздуха</strong> -
        в жару потоотделение усиливается, объем мочи
        снижается, плотность растет</li>
        <li><strong>Лекарственные препараты</strong> -
        мочегонные снижают плотность,
        рентгеноконтрастные средства и некоторые
        антибиотики повышают</li>
    </ul>

    <h3>Когда удельный вес ниже нормы (гипостенурия)</h3>
    <p>Гипостенурия - плотность мочи ниже нижней границы
    нормы для данного возраста. Почки разводят мочу,
    но не могут достаточно ее концентрировать.</p>

    <ul>
        <li>Обильное питье - самая частая и безобидная причина.
        Выпили 3 литра воды за день - удельный вес 1.003,
        и это нормальная реакция здоровых почек</li>
        <li>Хроническая болезнь почек - при поражении
        канальцев почка теряет способность концентрировать
        мочу, плотность стабильно снижена</li>
        <li>Несахарный диабет - дефицит антидиуретического
        гормона (вазопрессина) или нечувствительность
        к нему. Человек выделяет до 10-15 литров разведенной
        мочи в сутки</li>
        <li>Прием мочегонных препаратов - диуретики
        искусственно увеличивают объем мочи и снижают
        ее плотность</li>
        <li>Психогенная полидипсия - навязчивое потребление
        воды, иногда связанное с психическими расстройствами</li>
    </ul>

    <h3>Когда удельный вес выше нормы (гиперстенурия)</h3>
    <p>Гиперстенурия - плотность выше верхней границы
    нормы. Моча перенасыщена растворенными веществами.</p>

    <ul>
        <li>Обезвоживание - рвота, диарея, высокая
        температура, недостаточное питье. Почки экономят
        воду и выделяют максимально концентрированную мочу</li>
        <li>Сахарный диабет - глюкоза попадает в мочу
        и повышает ее плотность. Каждые 10 г/л глюкозы
        увеличивают удельный вес приблизительно на 0.004</li>
        <li>Протеинурия - белок в моче при воспалении
        почек, нефротическом синдроме, гестозе беременных.
        Каждые 4 г/л белка добавляют около 0.001
        к удельному весу</li>
        <li>Сердечная недостаточность - задержка жидкости
        в тканях, уменьшение объема мочи, повышение
        ее плотности</li>
        <li>Токсикоз беременных - потеря жидкости
        при рвоте в первом триместре</li>
    </ul>

    <h3>Изостенурия - особый случай</h3>
    <p>Если удельный вес мочи стабильно держится около
    1.010-1.012 г/мл и почти не колеблется в течение суток,
    это называют изостенурией. Плотность мочи совпадает
    с плотностью первичного фильтрата - безбелковой
    плазмы крови. Почки теряют способность и разводить,
    и концентрировать мочу.</p>

    <p>Изостенурия - серьезный признак. Она встречается
    при тяжелых формах почечной недостаточности,
    хроническом пиелонефрите с поражением канальцев,
    далеко зашедшем гломерулонефрите. Для ее подтверждения
    назначают пробу Зимницкого - суточный сбор мочи
    каждые 3 часа (8 порций), в каждой измеряют объем
    и плотность.</p>

    <h3>Проба Зимницкого: зачем и как</h3>
    <p>Если в разовом анализе мочи удельный вес вызывает
    вопросы, врач назначает пробу Зимницкого. Это более
    точный способ оценить концентрационную функцию почек.</p>

    <p>Суть пробы: в течение суток пациент собирает
    мочу каждые 3 часа в отдельную емкость. Получается
    8 порций. В каждой измеряют объем и относительную
    плотность. Норма: колебания удельного веса от порции
    к порции не менее 0.012-0.016, хотя бы одна порция
    с плотностью выше 1.020, дневной диурез преобладает
    над ночным.</p>

    <p>Если во всех восьми порциях плотность монотонно
    низкая и не превышает 1.012 - это гипоизостенурия.
    Она указывает на серьезное нарушение функции почек
    и требует углубленного обследования: биохимического
    анализа крови (креатинин, мочевина, СКФ), УЗИ почек,
    а иногда и биопсии.</p>

    <h3>Как правильно собирать мочу для анализа</h3>
    <p>Точность результата зависит от правильности
    сбора материала. Несколько простых правил.</p>

    <ul>
        <li>Для общего анализа собирают среднюю порцию
        утренней мочи - первое мочеиспускание после сна</li>
        <li>Перед сбором тщательно вымойте наружные
        половые органы. Используйте чистый контейнер
        из аптеки с крышкой</li>
        <li>Начните мочеиспускание в унитаз, через
        1-2 секунды подставьте контейнер,
        заполните его на 50-100 мл, завершите
        мочеиспускание в унитаз</li>
        <li>Доставьте образец в лабораторию в течение
        1,5-2 часов. Длительное хранение искажает
        результаты - бактерии размножаются, соли
        выпадают в осадок</li>
        <li>Накануне не пейте слишком много или слишком
        мало жидкости - придерживайтесь обычного
        режима. Избегайте алкоголя, интенсивных
        тренировок, красящих продуктов (свекла, морковь)</li>
    </ul>

    <h3>Преимущества калькулятора</h3>
    <ul>
        <li>Учитывает возрастные нормы - от новорожденных
        до пожилых, включая беременных. Одно и то же
        значение 1.003 нормально для грудного ребенка,
        но может говорить о проблеме у взрослого</li>
        <li>Различает утреннюю и случайную порции мочи -
        интерпретация разная, потому что утренняя
        моча в норме концентрированнее</li>
        <li>Показывает возможные причины отклонений -
        от банального обильного питья до признаков
        болезни почек</li>
        <li>Дает конкретные рекомендации - что стоит
        сделать дальше, какие анализы обсудить с врачом</li>
        <li>Определяет изостенурию - критически важный
        признак, который в разовом анализе легко пропустить</li>
    </ul>

    <h2>Факты и мнения об удельном весе мочи</h2>

    <div class="fact-block">
        <div class="fact-block-title">Мнение специалиста</div>
        <p>Профессор Е.М. Шилов, доктор медицинских наук,
        автор учебного пособия «Нефрология» для системы
        послевузовского образования, подчеркивает: снижение
        максимального удельного веса мочи ниже 1.018 в пробе
        Зимницкого - ранний маркер нарушения концентрационной
        функции почек. Этот показатель может сигнализировать
        о проблеме задолго до того, как уровень креатинина
        в крови выйдет за пределы нормы. Именно поэтому
        оценку плотности мочи не стоит рассматривать
        как формальность - это простой и чувствительный
        инструмент раннего скрининга почечных заболеваний.</p>
    </div>

    <div class="fact-block">
        <div class="fact-block-title">Исторический факт</div>
        <p>Исследование мочи - одна из древнейших медицинских
        практик. Еще в текстах Гиппократа (IV век до н.э.)
        описано, как по цвету и прозрачности мочи можно
        судить о здоровье. К XIV веку в Европе визуальная
        оценка мочи (уроскопия) стала главным диагностическим
        методом: мочу приносили врачу в специальной
        стеклянной колбе - матуле. Она стала символом
        врачебной профессии и украшала гравюры
        и картины вплоть до XVIII века. Врач Жиль де Корбейль,
        личный медик короля Франции Филиппа-Августа,
        описал 20 разновидностей мочи и связал каждую
        с определенным состоянием организма. А в 1090 году
        Иерусалимский кодекс даже предусматривал штраф
        для врачей, которые не изучили мочу пациента
        перед лечением.</p>
    </div>

    <div class="fact-block">
        <div class="fact-block-title">Современное исследование</div>
        <p>В 2024 году в журнале Nutrients опубликованы
        результаты крупного проспективного исследования
        Kailuan (Китай), в котором проанализировали связь
        между удельным весом мочи и риском развития
        сахарного диабета 2 типа. Ученые наблюдали
        за участниками с 2006 по 2020 год и обнаружили:
        хронически повышенная концентрация мочи (удельный
        вес выше 1.020) статистически ассоциирована
        с повышенным риском диабета. Результаты добавляют
        аргументов в пользу того, что привычный питьевой
        режим и простой анализ мочи могут служить
        инструментами скрининга метаболических нарушений.</p>
    </div>

    <div class="disclaimer-block">
        <strong>Обратитесь к врачу.</strong>
        Калькулятор помогает сориентироваться в результатах,
        но не ставит диагноз. Один показатель удельного
        веса без контекста мало что значит: врач учитывает
        питьевой режим, другие параметры мочи (белок,
        глюкозу, лейкоциты, эритроциты), биохимию крови
        и клинические симптомы. Если удельный вес
        вне нормы - обсудите результат с терапевтом
        или нефрологом. Не начинайте и не прекращайте
        лечение на основе калькулятора.
    </div>

</div>

<script>
let sampleType = 'morning';

const norms = {
    newborn:  { min: 1.002, max: 1.020, label: 'Новорожденный (0-28 дней)' },
    infant:   { min: 1.002, max: 1.015, label: 'Грудной ребенок (1 мес - 2 года)' },
    child:    { min: 1.002, max: 1.025, label: 'Ребенок (2-12 лет)' },
    teen:     { min: 1.005, max: 1.028, label: 'Подросток (12-18 лет)' },
    adult:    { min: 1.005, max: 1.028, label: 'Взрослый (18-60 лет)' },
    elderly:  { min: 1.005, max: 1.026, label: 'Пожилой (старше 60 лет)' },
    pregnant: { min: 1.003, max: 1.030, label: 'Беременная' }
};

function switchSampleType(type) {
    sampleType = type;
    document.getElementById('btnMorning')
        .classList.toggle('active', type === 'morning');
    document.getElementById('btnRandom')
        .classList.toggle('active', type === 'random');

    var hintEl = document.getElementById('sampleHint');
    if (type === 'morning') {
        hintEl.textContent =
            'Утренняя порция более информативна: после ' +
            'ночи моча максимально концентрирована. ' +
            'Именно ее чаще всего сдают на общий анализ.';
    } else {
        hintEl.textContent =
            'Случайная порция - моча, собранная в любое ' +
            'время дня. Менее информативна из-за влияния ' +
            'выпитой жидкости. Нормы те же, но интерпретация мягче.';
    }

    document.getElementById('result').classList.remove('active');
    document.getElementById('errorBlock').style.display = 'none';
}

function showError(msg) {
    var el = document.getElementById('errorBlock');
    el.textContent = msg;
    el.style.display = 'block';
}

function calculateSG() {
    var ageGroup = document.getElementById('ageGroup').value;
    var sgRaw = document.getElementById('sgValue').value;
    var sgValue = parseFloat(sgRaw);

    var resultDiv = document.getElementById('result');
    var errorDiv = document.getElementById('errorBlock');

    resultDiv.classList.remove('active');
    errorDiv.style.display = 'none';

    // Валидация
    if (!sgRaw || sgRaw.trim() === '') {
        showError(
            'Введите значение удельного веса мочи из бланка анализа. ' +
            'Обычно это число вида 1.0ХХ, например 1.015.'
        );
        return;
    }

    if (isNaN(sgValue) || sgValue < 1.000 || sgValue > 1.060) {
        showError(
            'Удельный вес мочи должен быть от 1.000 до 1.060. ' +
            'Проверьте, правильно ли вы переписали число из бланка.'
        );
        return;
    }

    var norm = norms[ageGroup];
    var normMin = norm.min;
    var normMax = norm.max;

    // Параметры расчета
    document.getElementById('resultParams').innerHTML =
        '<span>Группа: <strong>' + norm.label + '</strong></span>' +
        '<span>Образец: <strong>' +
        (sampleType === 'morning' ? 'Утренняя порция' : 'Случайная порция') +
        '</strong></span>' +
        '<span>Удельный вес: <strong>' + sgValue.toFixed(3) + '</strong></span>';

    // Нормы
    document.getElementById('normRange').textContent =
        normMin.toFixed(3) + ' - ' + normMax.toFixed(3) + ' г/мл';

    // Оценка
    var statusEl = document.getElementById('statusText');
    var statusRow = document.getElementById('statusRow');
    var causesBlock = document.getElementById('causesBlock');
    var causesText = document.getElementById('causesText');
    var note = '';

    // Сброс классов
    statusRow.className = 'dose-row-primary';
    causesBlock.style.display = 'none';
    causesText.innerHTML = '';

    // Изостенурия
    if (sgValue >= 1.008 && sgValue <= 1.012) {
        var isIso = true;
    } else {
        var isIso = false;
    }

    if (sgValue >= normMin && sgValue <= normMax) {
        // В норме
        statusEl.innerHTML = '<span class="status-normal">В пределах нормы</span>';
        statusRow.className = 'dose-row';

        if (isIso && (ageGroup === 'adult' || ageGroup === 'elderly' || ageGroup === 'teen')) {
            causesBlock.style.display = 'block';
            causesBlock.className = 'dose-row-warning';
            causesText.innerHTML =
                'Значение формально в норме, но находится в зоне ' +
                'изостенурии (1.008-1.012). Если плотность стабильно ' +
                'держится в этом диапазоне и не колеблется в течение суток, ' +
                'это может указывать на снижение концентрационной ' +
                'способности почек. Рекомендуется проба Зимницкого.';

            note = 'Уточните у врача, нужна ли проба Зимницкого для ' +
                'оценки концентрационной функции почек в динамике.';
        } else if (sampleType === 'morning' && sgValue < 1.010 &&
                   (ageGroup === 'adult' || ageGroup === 'teen' || ageGroup === 'elderly')) {
            note = 'Для утренней порции значение ниже 1.010 непривычно - ' +
                'после ночи моча обычно концентрированнее. Если вы выпили ' +
                'много жидкости перед сном, это объясняет результат. ' +
                'В ином случае стоит обсудить с врачом.';
        } else {
            note = 'Удельный вес мочи в пределах возрастной нормы. ' +
                'Концентрационная функция почек не вызывает ' +
                'вопросов по этому показателю.';
        }

    } else if (sgValue < normMin) {
        // Ниже нормы - гипостенурия
        statusEl.innerHTML = '<span class="status-low">Ниже нормы (гипостенурия)</span>';
        statusRow.className = 'dose-row-warning';
        causesBlock.style.display = 'block';
        causesBlock.className = 'dose-row-warning';

        var causes = [];
        if (sampleType === 'random') {
            causes.push('Обильное питье в течение дня - самая частая причина');
        } else {
            causes.push('Большой объем жидкости перед сном');
        }
        causes.push('Хроническая болезнь почек (нарушение канальцевой функции)');
        causes.push('Несахарный диабет (центральный или нефрогенный)');
        causes.push('Прием мочегонных препаратов');

        if (ageGroup === 'pregnant') {
            causes.push('Увеличение объема циркулирующей крови при беременности');
        }

        causesText.innerHTML = causes.join('<br>');

        if (isIso && (ageGroup === 'adult' || ageGroup === 'elderly')) {
            note = 'Значение в зоне изостенурии. Это может означать, что ' +
                'почки утратили способность концентрировать и разводить мочу. ' +
                'Рекомендуется проба Зимницкого и консультация нефролога.';
        } else if (sampleType === 'morning') {
            note = 'Разведенная утренняя моча - повод обратить внимание. ' +
                'Если это повторяется, обсудите с терапевтом. ' +
                'Возможно, потребуется проба Зимницкого или анализ крови ' +
                'на креатинин и мочевину.';
        } else {
            note = 'При случайном сборе низкий удельный вес часто связан ' +
                'с обильным питьем. Если значение повторяется при повторных ' +
                'анализах или в утренней порции - покажите результат врачу.';
        }

    } else {
        // Выше нормы - гиперстенурия
        statusEl.innerHTML = '<span class="status-high">Выше нормы (гиперстенурия)</span>';
        statusRow.className = 'dose-row-danger';
        causesBlock.style.display = 'block';
        causesBlock.className = 'dose-row-danger';

        var causes = [];
        causes.push('Обезвоживание (недостаточное питье, рвота, диарея, лихорадка)');
        causes.push('Сахарный диабет (глюкоза в моче повышает плотность)');
        causes.push('Белок в моче (протеинурия при воспалении почек)');
        causes.push('Сердечная недостаточность (задержка жидкости, отеки)');

        if (ageGroup === 'pregnant') {
            causes.push('Токсикоз первого триместра с потерей жидкости');
            causes.push('Гестоз (преэклампсия) - белок в моче');
        }

        if (sgValue > 1.035) {
            causes.push('Введение рентгеноконтрастных препаратов (временное повышение)');
        }

        causesText.innerHTML = causes.join('<br>');

        if (sgValue > 1.035) {
            note = 'Значение значительно выше нормы. Проверьте, ' +
                'не вводились ли рентгеноконтрастные вещества ' +
                'в последние 24-48 часов - они резко повышают ' +
                'удельный вес. Если нет - обязательно обратитесь ' +
                'к врачу, сдайте биохимический анализ крови ' +
                'и анализ мочи на глюкозу и белок.';
        } else if (ageGroup === 'pregnant') {
            note = 'При беременности повышенный удельный вес может ' +
                'указывать на обезвоживание или протеинурию. ' +
                'Сообщите результат акушеру-гинекологу. ' +
                'Убедитесь, что пьете достаточно жидкости.';
        } else {
            note = 'Повышенная плотность мочи чаще всего связана ' +
                'с обезвоживанием. Попробуйте увеличить потребление ' +
                'воды и пересдать анализ. Если значение сохраняется - ' +
                'обратитесь к терапевту для исключения диабета ' +
                'и заболеваний почек.';
        }
    }

    document.getElementById('resultNote').textContent = note;
    resultDiv.classList.add('active');
}
</script>				</div>
				</div>
					</div>
				</div>
				</div>
		<p>Сообщение <a href="https://vracha-na-dom.ru/kalkulyatory/kalkulyator-normy-udelnogo-vesa-mochi/">Калькулятор нормы удельного веса мочи</a> появились сначала на <a href="https://vracha-na-dom.ru">Вызов врача на дом</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Калькулятор нормы прокальцитонина</title>
		<link>https://vracha-na-dom.ru/kalkulyatory/kalkulyator-normy-prokalczitonina/</link>
		
		<dc:creator><![CDATA[Волкова Елена Андреевна]]></dc:creator>
		<pubDate>Fri, 11 Sep 2026 09:28:14 +0000</pubDate>
				<category><![CDATA[Калькуляторы]]></category>
		<category><![CDATA[Калькуляторы лабораторных анализов]]></category>
		<guid isPermaLink="false">https://vracha-na-dom.ru/?p=6359</guid>

					<description><![CDATA[<p>Рассчитать норму прокальцитонина онлайн Уровень прокальцитонина (нг/мл): Значение из результата анализа крови. Указано в бланке лаборатории в нг/мл (ng/mL) или мкг/л (мкг/л = нг/мл). Возрастная группа: Взрослый / ребенок Новорожденный (0-72 ч) У взрослых и детей старше 72 часов жизни используют стандартные референсные значения. Клиническая ситуация: Подозрение на инфекцию После операции Контроль лечения Выберите ситуацию, [&#8230;]</p>
<p>Сообщение <a href="https://vracha-na-dom.ru/kalkulyatory/kalkulyator-normy-prokalczitonina/">Калькулятор нормы прокальцитонина</a> появились сначала на <a href="https://vracha-na-dom.ru">Вызов врача на дом</a>.</p>
]]></description>
										<content:encoded><![CDATA[		<div data-elementor-type="wp-post" data-elementor-id="6359" class="elementor elementor-6359" data-elementor-settings="{&quot;element_pack_global_tooltip_width&quot;:{&quot;unit&quot;:&quot;px&quot;,&quot;size&quot;:&quot;&quot;,&quot;sizes&quot;:[]},&quot;element_pack_global_tooltip_width_tablet&quot;:{&quot;unit&quot;:&quot;px&quot;,&quot;size&quot;:&quot;&quot;,&quot;sizes&quot;:[]},&quot;element_pack_global_tooltip_width_mobile&quot;:{&quot;unit&quot;:&quot;px&quot;,&quot;size&quot;:&quot;&quot;,&quot;sizes&quot;:[]},&quot;element_pack_global_tooltip_padding&quot;:{&quot;unit&quot;:&quot;px&quot;,&quot;top&quot;:&quot;&quot;,&quot;right&quot;:&quot;&quot;,&quot;bottom&quot;:&quot;&quot;,&quot;left&quot;:&quot;&quot;,&quot;isLinked&quot;:true},&quot;element_pack_global_tooltip_padding_tablet&quot;:{&quot;unit&quot;:&quot;px&quot;,&quot;top&quot;:&quot;&quot;,&quot;right&quot;:&quot;&quot;,&quot;bottom&quot;:&quot;&quot;,&quot;left&quot;:&quot;&quot;,&quot;isLinked&quot;:true},&quot;element_pack_global_tooltip_padding_mobile&quot;:{&quot;unit&quot;:&quot;px&quot;,&quot;top&quot;:&quot;&quot;,&quot;right&quot;:&quot;&quot;,&quot;bottom&quot;:&quot;&quot;,&quot;left&quot;:&quot;&quot;,&quot;isLinked&quot;:true},&quot;element_pack_global_tooltip_border_radius&quot;:{&quot;unit&quot;:&quot;px&quot;,&quot;top&quot;:&quot;&quot;,&quot;right&quot;:&quot;&quot;,&quot;bottom&quot;:&quot;&quot;,&quot;left&quot;:&quot;&quot;,&quot;isLinked&quot;:true},&quot;element_pack_global_tooltip_border_radius_tablet&quot;:{&quot;unit&quot;:&quot;px&quot;,&quot;top&quot;:&quot;&quot;,&quot;right&quot;:&quot;&quot;,&quot;bottom&quot;:&quot;&quot;,&quot;left&quot;:&quot;&quot;,&quot;isLinked&quot;:true},&quot;element_pack_global_tooltip_border_radius_mobile&quot;:{&quot;unit&quot;:&quot;px&quot;,&quot;top&quot;:&quot;&quot;,&quot;right&quot;:&quot;&quot;,&quot;bottom&quot;:&quot;&quot;,&quot;left&quot;:&quot;&quot;,&quot;isLinked&quot;:true}}" data-elementor-post-type="post">
				<div class="elementor-element elementor-element-f7c7514 e-flex e-con-boxed e-con e-parent" data-id="f7c7514" data-element_type="container" data-settings="{&quot;ekit_has_onepagescroll_dot&quot;:&quot;yes&quot;}">
					<div class="e-con-inner">
				<div class="elementor-element elementor-element-86156a1 elementor-widget elementor-widget-html" data-id="86156a1" data-element_type="widget" data-settings="{&quot;ekit_we_effect_on&quot;:&quot;none&quot;}" data-widget_type="html.default">
				<div class="elementor-widget-container">
					<style>
.calculator-container {
    max-width: 100%;
    margin: 10px auto;
    padding: 10px;
    border: 1px solid #ddd;
    border-radius: 8px;
    background-color: #f9f9f9;
}
.calculator-input {
    margin: 15px 0;
}
.calculator-input label {
    display: block;
    margin-bottom: 25px;
    font-weight: bold;
}
.calculator-input input,
.calculator-input select {
    width: 100%;
    padding: 10px 18px;
    border: 1px solid #ccc;
    border-radius: 50px;
    font-size: 16px;
    box-sizing: border-box;
}
.input-hint {
    font-size: 13px;
    color: #666;
    margin-top: 4px;
}
.carb-toggle {
    display: flex;
    gap: 8px;
    margin-bottom: 8px;
}
.carb-toggle button {
    flex: 1;
    padding: 9px 8px;
    border: 2px solid #0457B5;
    border-radius: 50px;
    background: white;
    color: #0457B5;
    cursor: pointer;
    font-size: 14px;
    font-weight: bold;
    transition: background 0.15s, color 0.15s;
}
.carb-toggle button.active {
    background: #0457B5;
    color: white;
}
.calculate-btn {
    background-color: #0457B5;
    color: white;
    padding: 12px 20px;
    border: none;
    border-radius: 50px;
    cursor: pointer;
    font-size: 16px;
    width: 100%;
    margin-top: 10px;
}
.calculate-btn:hover {
    background-color: #034499;
}
.result {
    margin-top: 20px;
    padding: 15px;
    background-color: #f0f7ff;
    border-left: 4px solid #0457B5;
    display: none;
}
.result.active {
    display: block;
}
.result h3 {
    margin-top: 0;
    color: #0457B5;
}
.dose-highlight {
    font-size: 1.45rem;
    font-weight: bold;
    color: #0457B5;
}
.dose-row {
    background-color: #f0fbea;
    border-left: 3px solid #7BC15B;
    padding: 8px 12px;
    margin: 8px 0;
    border-radius: 0 4px 4px 0;
}
.dose-row-primary {
    background-color: #e8f0fb;
    border-left: 3px solid #0457B5;
    padding: 8px 12px;
    margin: 8px 0;
    border-radius: 0 4px 4px 0;
}
.dose-row-primary .dose-highlight {
    font-size: 1.7rem;
}
.risk-normal {
    background-color: #f0fbea;
    border-left: 4px solid #7BC15B;
    padding: 10px 12px;
    margin: 8px 0;
    border-radius: 0 4px 4px 0;
}
.risk-borderline {
    background-color: #fffde7;
    border-left: 4px solid #fdd835;
    padding: 10px 12px;
    margin: 8px 0;
    border-radius: 0 4px 4px 0;
}
.risk-elevated {
    background-color: #fff3cd;
    border-left: 4px solid #ff9800;
    padding: 10px 12px;
    margin: 8px 0;
    border-radius: 0 4px 4px 0;
}
.risk-high {
    background-color: #fbe9e7;
    border-left: 4px solid #ff5722;
    padding: 10px 12px;
    margin: 8px 0;
    border-radius: 0 4px 4px 0;
}
.risk-critical {
    background-color: #fde8e8;
    border-left: 4px solid #e53935;
    padding: 10px 12px;
    margin: 8px 0;
    border-radius: 0 4px 4px 0;
}
.risk-highlight {
    font-size: 1.5rem;
    font-weight: bold;
}
.risk-normal .risk-highlight { color: #388E3C; }
.risk-borderline .risk-highlight { color: #F9A825; }
.risk-elevated .risk-highlight { color: #EF6C00; }
.risk-high .risk-highlight { color: #E64A19; }
.risk-critical .risk-highlight { color: #C62828; }
.info-note {
    background-color: #f0fbea;
    border-left: 4px solid #7BC15B;
    padding: 10px;
    margin-top: 10px;
    font-size: 14px;
}
.warning {
    background-color: #fff3cd;
    border-left: 4px solid #ffc107;
    padding: 10px;
    margin-top: 15px;
}
.error-block {
    background-color: #fde8e8;
    border-left: 4px solid #e53935;
    padding: 10px;
    margin-top: 15px;
    display: none;
    font-size: 14px;
}
.content-section {
    max-width: 100%;
    margin: 20px auto;
    padding: 20px;
    line-height: 1.6;
}
.content-section h2 {
    color: #0457B5;
    margin-top: 25px;
}
.content-section h3 {
    color: #333;
    margin-top: 25px;
}
.content-section ul {
    padding-left: 20px;
}
.content-section li {
    margin: 8px 0;
}
.dose-table {
    width: 100%;
    border-collapse: collapse;
    margin: 10px 0;
    font-size: 14px;
}
.dose-table th,
.dose-table td {
    border: 1px solid #ddd;
    padding: 8px 10px;
    text-align: left;
}
.dose-table th {
    background-color: #e8f0fb;
    font-weight: bold;
    color: #0457B5;
}
.dose-table tr:nth-child(even) {
    background-color: #f9f9f9;
}
.result-params {
    font-size: 14px;
    color: #444;
    margin-bottom: 12px;
    padding: 8px 10px;
    background: #f9f9f9;
    border-radius: 4px;
}
.result-params span {
    display: inline-block;
    margin-right: 16px;
}
.fact-block {
    background-color: #f9f9f9;
    border-radius: 6px;
    padding: 14px 16px;
    margin: 14px 0;
}
.fact-block-title {
    font-weight: bold;
    color: #0457B5;
    margin-bottom: 6px;
}
.disclaimer-block {
    background-color: #fff3cd;
    border-left: 4px solid #ffc107;
    padding: 12px 16px;
    margin: 18px 0;
    font-size: 14px;
}
</style>

<div class="content-section">
    <h2>Рассчитать норму прокальцитонина онлайн</h2>

    <div class="calculator-container">

        <div class="calculator-input">
            <label for="pctLevel">
                Уровень прокальцитонина (нг/мл):
            </label>
            <input type="number" id="pctLevel" min="0" max="500"
                   step="0.01" placeholder="Например: 0.35">
            <div class="input-hint">
                Значение из результата анализа крови.
                Указано в бланке лаборатории в нг/мл
                (ng/mL) или мкг/л (мкг/л = нг/мл).
            </div>
        </div>

        <div class="calculator-input">
            <label>Возрастная группа:</label>
            <div class="carb-toggle">
                <button id="btnAdult" class="active"
                        onclick="switchAge('adult')">
                    Взрослый / ребенок
                </button>
                <button id="btnNewborn"
                        onclick="switchAge('newborn')">
                    Новорожденный (0-72 ч)
                </button>
            </div>
            <div class="input-hint" id="ageHint">
                У взрослых и детей старше 72 часов жизни
                используют стандартные референсные значения.
            </div>
        </div>

        <div class="calculator-input">
            <label>Клиническая ситуация:</label>
            <div class="carb-toggle">
                <button id="btnInfection" class="active"
                        onclick="switchContext('infection')">
                    Подозрение на инфекцию
                </button>
                <button id="btnSurgery"
                        onclick="switchContext('surgery')">
                    После операции
                </button>
                <button id="btnMonitor"
                        onclick="switchContext('monitor')">
                    Контроль лечения
                </button>
            </div>
            <div class="input-hint" id="contextHint">
                Выберите ситуацию, при которой сдан анализ.
                Интерпретация зависит от клинического контекста.
            </div>
        </div>

        <button class="calculate-btn" onclick="calculatePCT()">
            Оценить результат
        </button>

        <div class="result" id="result">
            <h3>Интерпретация результата</h3>

            <div class="result-params" id="resultParams"></div>

            <div id="riskBlock" class="risk-normal">
                <strong>Уровень риска:</strong><br>
                <span class="risk-highlight" id="riskLevel">-</span>
            </div>

            <div class="dose-row-primary">
                <strong>Интерпретация:</strong><br>
                <span id="interpretation">-</span>
            </div>

            <div class="dose-row">
                <strong>Рекомендация:</strong><br>
                <span id="recommendation">-</span>
            </div>

            <div class="info-note" id="resultNote"></div>

            <div class="warning">
                <strong>Важно:</strong> Калькулятор дает
                ориентировочную оценку по референсным
                значениям. Окончательную интерпретацию
                проводит лечащий врач с учетом клинической
                картины, других анализов и динамики
                состояния пациента.
            </div>
        </div>

        <div class="error-block" id="errorBlock"></div>

    </div>

    <h3>Таблица референсных значений прокальцитонина</h3>
    <p>Стандартные пороговые значения ПКТ для оценки
    вероятности бактериальной инфекции у взрослых
    и детей старше 72 часов жизни.</p>

    <table class="dose-table">
        <thead>
            <tr>
                <th>ПКТ (нг/мл)</th>
                <th>Уровень риска</th>
                <th>Вероятность бактериальной инфекции</th>
            </tr>
        </thead>
        <tbody>
            <tr>
                <td>&lt; 0,05</td>
                <td>Норма</td>
                <td>Практически исключена</td>
            </tr>
            <tr>
                <td>0,05 - 0,10</td>
                <td>Норма</td>
                <td>Очень низкая</td>
            </tr>
            <tr>
                <td>0,10 - 0,25</td>
                <td>Пограничный</td>
                <td>Низкая, локальная инфекция возможна</td>
            </tr>
            <tr>
                <td>0,25 - 0,50</td>
                <td>Повышенный</td>
                <td>Умеренная, системная инфекция возможна</td>
            </tr>
            <tr>
                <td>0,50 - 2,0</td>
                <td>Высокий</td>
                <td>Высокая, системная инфекция вероятна</td>
            </tr>
            <tr>
                <td>2,0 - 10,0</td>
                <td>Очень высокий</td>
                <td>Сепсис вероятен</td>
            </tr>
            <tr>
                <td>&gt; 10,0</td>
                <td>Критический</td>
                <td>Тяжелый сепсис или септический шок</td>
            </tr>
        </tbody>
    </table>

    <h3>Что такое прокальцитонин</h3>
    <p>Прокальцитонин (ПКТ, PCT) - белок-предшественник
    гормона кальцитонина. В здоровом организме его
    концентрация в крови минимальна: менее 0,05 нг/мл.
    При бактериальной инфекции клетки разных органов -
    печени, легких, почек, жировой ткани - начинают
    массово вырабатывать ПКТ. Уровень в крови может
    вырасти в тысячи раз за 6-12 часов.</p>

    <p>Главная ценность маркера - он помогает отличить
    бактериальную инфекцию от вирусной. При вирусных
    заболеваниях, аутоиммунных воспалениях и аллергических
    реакциях прокальцитонин обычно остается низким.
    Это принципиально отличает его от С-реактивного белка
    (СРБ) и скорости оседания эритроцитов (СОЭ), которые
    реагируют на любое воспаление.</p>

    <p>ПКТ также используют для оценки тяжести инфекции.
    Чем выше показатель, тем вероятнее системный процесс -
    сепсис. При адекватной терапии антибиотиками уровень
    ПКТ снижается, что позволяет контролировать
    эффективность лечения и принимать решение
    об отмене антибиотиков.</p>

    <h3>Описание калькулятора нормы прокальцитонина</h3>
    <p>Калькулятор принимает три параметра: уровень ПКТ
    из лабораторного анализа, возрастную группу пациента
    и клиническую ситуацию. На основе этих данных
    он сопоставляет результат с референсными порогами
    и выдает интерпретацию.</p>

    <p>На выходе - оценка уровня риска, расшифровка
    значения и практическая рекомендация. Калькулятор
    учитывает, что у новорожденных в первые 72 часа жизни
    ПКТ физиологически повышен и нормальные пороги
    не работают. Также корректирует интерпретацию для
    послеоперационных пациентов - у них умеренный рост
    ПКТ не всегда означает инфекцию.</p>

    <p>Пороговые значения основаны на рекомендациях
    международных руководств по сепсису и антибиотикотерапии.
    Основные точки отсечения: 0,25 нг/мл - порог для
    рассмотрения антибиотиков, 0,5 нг/мл - порог
    вероятной системной инфекции, 2,0 нг/мл - порог
    высокого риска сепсиса.</p>

    <h3>Когда назначают анализ на прокальцитонин</h3>
    <p>Анализ на ПКТ не входит в стандартный набор
    обследований. Врач назначает его при конкретных
    клинических вопросах.</p>

    <ul>
        <li><strong>Подозрение на сепсис</strong> -
        лихорадка, озноб, тахикардия, снижение давления,
        нарушение сознания. ПКТ помогает подтвердить
        или исключить бактериальную природу процесса</li>
        <li><strong>Дифференциальная диагностика</strong> -
        отличить бактериальную пневмонию от вирусной,
        бактериальный менингит от вирусного, инфекционный
        артрит от аутоиммунного</li>
        <li><strong>Решение об антибиотиках</strong> -
        начинать ли терапию при неясной клинической
        картине. ПКТ ниже 0,25 нг/мл часто позволяет
        отказаться от антибиотиков при инфекции
        дыхательных путей</li>
        <li><strong>Контроль лечения</strong> -
        снижение ПКТ на 80% от пикового значения или
        до уровня менее 0,25 нг/мл служит ориентиром
        для прекращения антибиотикотерапии</li>
        <li><strong>Послеоперационный мониторинг</strong> -
        выявление инфекционных осложнений после хирургических
        вмешательств, когда другие маркеры воспаления
        повышены из-за самой операции</li>
        <li><strong>Мониторинг у новорожденных</strong> -
        ранний неонатальный сепсис, когда клинические
        признаки размыты и неспецифичны</li>
    </ul>

    <h3>Что влияет на уровень прокальцитонина</h3>
    <p>ПКТ - специфичный маркер, но не абсолютный.
    Ряд состояний может повысить его без бактериальной
    инфекции или, наоборот, занизить при реальном
    инфекционном процессе.</p>

    <p>Повышают ПКТ без инфекции: обширные травмы и ожоги,
    большие хирургические вмешательства (особенно на органах
    брюшной полости), тяжелый панкреатит, кардиогенный шок,
    тепловой удар, некоторые виды рака (медуллярный рак
    щитовидной железы, мелкоклеточный рак легкого).
    У новорожденных в первые 48-72 часа жизни ПКТ
    поднимается физиологически до 2-3 нг/мл.</p>

    <p>Занижают ПКТ при инфекции: ранняя стадия процесса
    (первые 3-6 часов), локализованные инфекции без
    системного ответа (абсцесс, цистит), прием некоторых
    иммуносупрессивных препаратов. При грибковых
    и паразитарных инфекциях ПКТ обычно повышен
    слабо или умеренно.</p>

    <h3>Преимущества калькулятора</h3>
    <ul>
        <li>Быстрая расшифровка результата - достаточно
        ввести значение из анализа, и калькулятор
        покажет, попадает ли оно в норму</li>
        <li>Учет возраста - калькулятор знает,
        что у новорожденных нормы отличаются от
        взрослых, и корректирует оценку</li>
        <li>Учет клинического контекста - интерпретация
        меняется в зависимости от того, сдан ли анализ
        при подозрении на инфекцию, после операции
        или для контроля антибиотиков</li>
        <li>Цветовая индикация уровня риска - от зеленого
        (норма) до красного (критический) для наглядности</li>
        <li>Конкретные рекомендации - не только
        расшифровка, но и ориентир для дальнейших
        действий</li>
        <li>Справочная таблица рядом - можно сравнить
        свой результат со стандартными пороговыми
        значениями</li>
    </ul>

    <h3>Когда калькулятор не заменит врача</h3>
    <p>Прокальцитонин - один из параметров в общей
    клинической картине. Калькулятор помогает
    расшифровать число, но не ставит диагноз.</p>

    <ul>
        <li>Высокий ПКТ при стабильном самочувствии -
        нужно разобраться в причине, может быть
        ложноположительный результат</li>
        <li>Нормальный ПКТ при тяжелом состоянии -
        не исключает инфекцию, особенно на ранних
        стадиях или при локализованном процессе</li>
        <li>Новорожденные - физиологический подъем ПКТ
        требует индивидуальной оценки неонатологом
        с учетом факторов риска</li>
        <li>Иммунодефицитные состояния - реакция ПКТ
        может быть ослаблена, нужна комплексная оценка</li>
        <li>Решение об антибиотиках - назначение
        и отмена только по согласованию с врачом,
        калькулятор дает ориентир, а не назначение</li>
    </ul>

    <h2>Факты и мнения о прокальцитонине</h2>

    <div class="fact-block">
        <div class="fact-block-title">Мнение специалиста</div>
        <p>Профессор Филипп Шютц (Philipp Schuetz), доктор
        медицины, руководитель отделения эндокринологии
        и общей внутренней медицины Университетской клиники
        Аарау (Швейцария), один из ведущих исследователей
        прокальцитонина, неоднократно подчеркивал
        в своих публикациях: алгоритмы назначения
        антибиотиков с опорой на динамику ПКТ позволяют
        сократить длительность антибиотикотерапии без
        ухудшения исходов лечения. По его мнению,
        главная сила маркера - не в однократном замере,
        а в серийном контроле: падение ПКТ на 80% и более
        от пика - надежный сигнал для врача, что антибиотики
        можно отменять. Это помогает снизить лекарственную
        нагрузку на пациента и замедлить рост
        антибиотикорезистентности.</p>
    </div>

    <div class="fact-block">
        <div class="fact-block-title">Исторический факт</div>
        <p>Прокальцитонин открыли как предшественник
        гормона кальцитонина еще в 1975 году, но его
        связь с инфекциями оставалась неизвестной почти
        20 лет. Переломный момент наступил в 1993 году,
        когда французская группа под руководством
        M. Assicot опубликовала в журнале The Lancet
        результаты наблюдения за детьми с тяжелыми
        бактериальными инфекциями. Исследователи обнаружили,
        что ПКТ взлетает при бактериальном сепсисе,
        но остается низким при вирусных заболеваниях.
        Этот случайно замеченный феномен перевернул
        представление о диагностике инфекций и за
        следующие три десятилетия превратил прокальцитонин
        из малоизвестного белка в один из главных
        биомаркеров экстренной медицины.</p>
    </div>

    <div class="fact-block">
        <div class="fact-block-title">Современные исследования</div>
        <p>Крупный метаанализ, обобщивший данные 26
        рандомизированных клинических испытаний с участием
        более 6 700 пациентов в отделениях интенсивной
        терапии, подтвердил, что стратегия назначения
        и отмены антибиотиков под контролем прокальцитонина
        сокращает продолжительность курса в среднем
        на 2 дня и снижает 28-дневную летальность
        по сравнению со стандартным подходом. Результаты
        опубликованы в базе Cochrane Library
        и стали одним из аргументов для включения
        ПКТ-протоколов в международные рекомендации
        по лечению сепсиса.</p>
    </div>

    <div class="disclaimer-block">
        <strong>Внимание:</strong> Материалы на этой
        странице носят информационно-справочный характер
        и не заменяют медицинскую консультацию.
        Интерпретацию результатов анализа на прокальцитонин
        проводит лечащий врач - терапевт, инфекционист
        или реаниматолог - с учетом полной клинической
        картины. Не принимайте решений о лечении
        на основе одного показателя. При тяжелом
        состоянии, высокой температуре или подозрении
        на сепсис обратитесь за медицинской помощью
        немедленно.
    </div>

</div>

<script>
let ageGroup = 'adult';
let clinContext = 'infection';

function switchAge(group) {
    ageGroup = group;
    document.getElementById('btnAdult')
        .classList.toggle('active', group === 'adult');
    document.getElementById('btnNewborn')
        .classList.toggle('active', group === 'newborn');

    const hint = document.getElementById('ageHint');
    if (group === 'newborn') {
        hint.textContent =
            'У новорожденных в первые 48-72 часа жизни ' +
            'ПКТ физиологически повышен до 2-3 нг/мл. ' +
            'Стандартные пороги не применимы.';
    } else {
        hint.textContent =
            'У взрослых и детей старше 72 часов жизни ' +
            'используют стандартные референсные значения.';
    }

    document.getElementById('result').classList.remove('active');
    document.getElementById('errorBlock').style.display = 'none';
}

function switchContext(ctx) {
    clinContext = ctx;
    document.getElementById('btnInfection')
        .classList.toggle('active', ctx === 'infection');
    document.getElementById('btnSurgery')
        .classList.toggle('active', ctx === 'surgery');
    document.getElementById('btnMonitor')
        .classList.toggle('active', ctx === 'monitor');

    const hint = document.getElementById('contextHint');
    if (ctx === 'surgery') {
        hint.textContent =
            'После операции ПКТ может умеренно повышаться ' +
            'без инфекции. Оценка скорректирована.';
    } else if (ctx === 'monitor') {
        hint.textContent =
            'При контроле лечения важна динамика: ' +
            'снижение ПКТ на 80% от пика говорит ' +
            'об эффективности антибиотиков.';
    } else {
        hint.textContent =
            'Выберите ситуацию, при которой сдан анализ. ' +
            'Интерпретация зависит от клинического контекста.';
    }

    document.getElementById('result').classList.remove('active');
    document.getElementById('errorBlock').style.display = 'none';
}

function showError(msg) {
    const el = document.getElementById('errorBlock');
    el.textContent = msg;
    el.style.display = 'block';
}

function calculatePCT() {
    const pct = parseFloat(
        document.getElementById('pctLevel').value
    );

    const resultDiv = document.getElementById('result');
    const errorDiv = document.getElementById('errorBlock');

    resultDiv.classList.remove('active');
    errorDiv.style.display = 'none';

    if (isNaN(pct) || pct < 0 || pct > 500) {
        showError(
            'Введите уровень прокальцитонина от 0 до 500 нг/мл. ' +
            'Значение указано в результатах лабораторного анализа.'
        );
        return;
    }

    // Параметры расчета
    var ageLabel = ageGroup === 'newborn'
        ? 'Новорожденный (0-72 ч)' : 'Взрослый / ребенок';
    var ctxLabel = '';
    if (clinContext === 'infection') ctxLabel = 'Подозрение на инфекцию';
    else if (clinContext === 'surgery') ctxLabel = 'После операции';
    else ctxLabel = 'Контроль лечения';

    document.getElementById('resultParams').innerHTML =
        '<span>ПКТ: <strong>' + pct.toFixed(2) +
        ' нг/мл</strong></span>' +
        '<span>Группа: <strong>' + ageLabel +
        '</strong></span>' +
        '<span>Контекст: <strong>' + ctxLabel +
        '</strong></span>';

    var riskClass = '';
    var riskText = '';
    var interpText = '';
    var recoText = '';
    var noteText = '';

    if (ageGroup === 'newborn') {
        // Новорожденные 0-72 часа
        if (pct < 0.5) {
            riskClass = 'risk-normal';
            riskText = 'Норма для новорожденного';
            interpText =
                'Уровень ПКТ в пределах нормы для первых ' +
                'дней жизни. Бактериальная инфекция маловероятна.';
            recoText =
                'Стандартное наблюдение. При наличии ' +
                'клинических симптомов - повторный контроль ' +
                'через 12-24 часа.';
        } else if (pct < 2.0) {
            riskClass = 'risk-borderline';
            riskText = 'Пограничный (возможна физиологическая норма)';
            interpText =
                'У новорожденных ПКТ физиологически повышается ' +
                'в первые 24-48 часов жизни до 2-3 нг/мл. ' +
                'Этот уровень может быть вариантом нормы, ' +
                'но может указывать и на начало инфекции.';
            recoText =
                'Оценить факторы риска инфекции: ' +
                'длительный безводный период, лихорадка ' +
                'у матери, недоношенность. Повторить ПКТ ' +
                'через 12-24 часа и оценить динамику.';
            noteText =
                'У здоровых новорожденных ПКТ достигает ' +
                'пика к 24 часам жизни и снижается к 72 часам. ' +
                'Рост после 48 часов или отсутствие снижения ' +
                'к 72 часам - настораживающий признак.';
        } else if (pct < 10.0) {
            riskClass = 'risk-high';
            riskText = 'Высокий';
            interpText =
                'Уровень ПКТ выше физиологической нормы ' +
                'даже для первых дней жизни. Вероятность ' +
                'неонатального сепсиса повышена.';
            recoText =
                'Необходима срочная оценка неонатологом. ' +
                'Расширенное обследование: посев крови, ' +
                'общий анализ крови с лейкоцитарной формулой, ' +
                'СРБ. Эмпирическая антибиотикотерапия ' +
                'до получения результатов посева.';
        } else {
            riskClass = 'risk-critical';
            riskText = 'Критический';
            interpText =
                'Крайне высокий уровень ПКТ. Высокая ' +
                'вероятность тяжелого неонатального ' +
                'сепсиса или септического шока.';
            recoText =
                'Экстренная помощь. Немедленное начало ' +
                'интенсивной терапии и антибиотиков ' +
                'широкого спектра. Перевод в отделение ' +
                'реанимации новорожденных.';
        }
    } else if (clinContext === 'surgery') {
        // Послеоперационный контекст
        if (pct < 0.10) {
            riskClass = 'risk-normal';
            riskText = 'Норма';
            interpText =
                'ПКТ в пределах нормы. Послеоперационные ' +
                'инфекционные осложнения маловероятны.';
            recoText =
                'Стандартное послеоперационное наблюдение. ' +
                'Повторный контроль по клиническим показаниям.';
        } else if (pct < 0.50) {
            riskClass = 'risk-borderline';
            riskText = 'Пограничный (может быть реакция на операцию)';
            interpText =
                'Умеренный подъем ПКТ после операции - ' +
                'частое явление, особенно после обширных ' +
                'вмешательств на органах брюшной полости, ' +
                'грудной клетки и при использовании ' +
                'искусственного кровообращения. Не обязательно ' +
                'указывает на инфекцию.';
            recoText =
                'Повторить ПКТ через 24-48 часов. Если уровень ' +
                'снижается - хирургическая реакция. Если растет - ' +
                'рассмотреть инфекционное осложнение.';
            noteText =
                'После крупных операций ПКТ может подняться ' +
                'до 0,5-2,0 нг/мл в первые 1-2 суток ' +
                'и затем снижается. Стойкий рост после ' +
                '3-го дня - тревожный признак.';
        } else if (pct < 2.0) {
            riskClass = 'risk-elevated';
            riskText = 'Повышенный';
            interpText =
                'Уровень выше ожидаемого для неосложненного ' +
                'послеоперационного периода. Возможно ' +
                'инфекционное осложнение.';
            recoText =
                'Расширенное обследование: посев крови, ' +
                'посев из раны, КТ при необходимости. ' +
                'Рассмотреть назначение антибиотиков. ' +
                'Контроль ПКТ каждые 24 часа.';
        } else if (pct < 10.0) {
            riskClass = 'risk-high';
            riskText = 'Высокий';
            interpText =
                'Высокий ПКТ после операции. Вероятно ' +
                'инфекционное осложнение: несостоятельность ' +
                'анастомоза, перитонит, абсцесс, ' +
                'катетер-ассоциированная инфекция.';
            recoText =
                'Активный поиск источника инфекции. ' +
                'Антибиотикотерапия широкого спектра. ' +
                'Возможна необходимость повторного ' +
                'хирургического вмешательства.';
        } else {
            riskClass = 'risk-critical';
            riskText = 'Критический';
            interpText =
                'Крайне высокий уровень. Тяжелое ' +
                'послеоперационное инфекционное осложнение ' +
                'или сепсис.';
            recoText =
                'Экстренные меры. Интенсивная терапия, ' +
                'гемодинамическая поддержка, ' +
                'антибиотики максимального спектра. ' +
                'Срочный поиск и устранение источника.';
        }
    } else if (clinContext === 'monitor') {
        // Контроль антибиотикотерапии
        if (pct < 0.10) {
            riskClass = 'risk-normal';
            riskText = 'Норма (целевой уровень достигнут)';
            interpText =
                'ПКТ снизился до нормальных значений. ' +
                'Инфекция, вероятно, под контролем.';
            recoText =
                'Обсудите с врачом возможность отмены ' +
                'антибиотиков. При ПКТ ниже 0,1 нг/мл ' +
                'и стабильном состоянии продолжение ' +
                'антибиотикотерапии обычно не требуется.';
        } else if (pct < 0.25) {
            riskClass = 'risk-normal';
            riskText = 'Снижен (хорошая динамика)';
            interpText =
                'ПКТ в зоне низкого риска. Если уровень ' +
                'снизился на 80% и более от пикового ' +
                'значения - антибиотики работают.';
            recoText =
                'Рассмотреть прекращение антибиотиков ' +
                'при стабильном клиническом состоянии. ' +
                'Контрольный замер через 24-48 часов ' +
                'для подтверждения тренда.';
            noteText =
                'Правило 80%: если ПКТ снизился на 80% ' +
                'от максимального значения или опустился ' +
                'ниже 0,25 нг/мл - это ориентир ' +
                'для отмены антибиотиков.';
        } else if (pct < 0.50) {
            riskClass = 'risk-borderline';
            riskText = 'Пограничный';
            interpText =
                'Уровень снижен, но еще не достиг ' +
                'целевого порога. Если тренд нисходящий - ' +
                'лечение эффективно.';
            recoText =
                'Продолжить текущую терапию. Повторить ПКТ ' +
                'через 24-48 часов. При устойчивом снижении - ' +
                'рассмотреть отмену. При стагнации или росте - ' +
                'пересмотреть схему.';
        } else if (pct < 2.0) {
            riskClass = 'risk-elevated';
            riskText = 'Повышенный (инфекция сохраняется)';
            interpText =
                'ПКТ остается повышенным. Инфекционный ' +
                'процесс не полностью контролируется ' +
                'текущей терапией.';
            recoText =
                'Пересмотреть выбор антибиотиков. ' +
                'Убедиться в адекватности дозировки. ' +
                'Исключить недренированный очаг инфекции. ' +
                'Повторный посев крови.';
        } else {
            riskClass = 'risk-high';
            riskText = 'Высокий (терапия неэффективна)';
            interpText =
                'ПКТ высокий на фоне лечения. Текущая ' +
                'антибиотикотерапия, вероятно, неэффективна ' +
                'или есть неустраненный источник инфекции.';
            recoText =
                'Смена антибиотиков. Расширенная ' +
                'диагностика: КТ, повторные посевы, ' +
                'поиск абсцессов и инфицированных ' +
                'инородных тел. Консилиум.';
        }
    } else {
        // Стандартная интерпретация - подозрение на инфекцию
        if (pct < 0.05) {
            riskClass = 'risk-normal';
            riskText = 'Норма';
            interpText =
                'Прокальцитонин в пределах нормы. ' +
                'Системная бактериальная инфекция ' +
                'практически исключена.';
            recoText =
                'Антибиотики, как правило, не показаны. ' +
                'Рассмотреть вирусную или неинфекционную ' +
                'природу симптомов.';
        } else if (pct < 0.10) {
            riskClass = 'risk-normal';
            riskText = 'Норма';
            interpText =
                'ПКТ в пределах нормальных значений. ' +
                'Системная бактериальная инфекция ' +
                'маловероятна. Локальная инфекция ' +
                'не исключена полностью.';
            recoText =
                'Антибиотики обычно не нужны. ' +
                'При сохранении симптомов - повторить ' +
                'ПКТ через 6-12 часов.';
        } else if (pct < 0.25) {
            riskClass = 'risk-borderline';
            riskText = 'Пограничный';
            interpText =
                'Небольшое повышение ПКТ. Возможна ' +
                'локальная бактериальная инфекция. ' +
                'Системная инфекция маловероятна, ' +
                'но не исключена.';
            recoText =
                'Антибиотики обычно не рекомендованы. ' +
                'Повторить ПКТ через 6-12 часов, ' +
                'если состояние не улучшается. ' +
                'Динамика важнее однократного значения.';
            noteText =
                '0,25 нг/мл - ключевой порог: ниже него ' +
                'антибиотики при инфекциях нижних ' +
                'дыхательных путей обычно не назначают. ' +
                'Выше - рассматривают.';
        } else if (pct < 0.50) {
            riskClass = 'risk-elevated';
            riskText = 'Повышенный';
            interpText =
                'ПКТ повышен. Возможна системная ' +
                'бактериальная инфекция. Вероятность ' +
                'умеренная.';
            recoText =
                'Рассмотреть назначение антибиотиков. ' +
                'Дополнительное обследование: ' +
                'общий анализ крови, СРБ, посев крови, ' +
                'рентген или КТ по показаниям. ' +
                'Повторить ПКТ через 12-24 часа.';
        } else if (pct < 2.0) {
            riskClass = 'risk-high';
            riskText = 'Высокий';
            interpText =
                'ПКТ значительно повышен. Высокая ' +
                'вероятность системной бактериальной ' +
                'инфекции. Сепсис возможен.';
            recoText =
                'Антибиотикотерапия показана. ' +
                'Посев крови до начала антибиотиков. ' +
                'Поиск источника инфекции. ' +
                'Контроль ПКТ каждые 24-48 часов.';
        } else if (pct < 10.0) {
            riskClass = 'risk-high';
            riskText = 'Очень высокий';
            interpText =
                'Выраженный подъем ПКТ. Тяжелая ' +
                'бактериальная инфекция с системным ответом. ' +
                'Сепсис весьма вероятен.';
            recoText =
                'Немедленная антибиотикотерапия ' +
                'широкого спектра. Гемодинамический ' +
                'мониторинг. Посев крови. ' +
                'Интенсивное наблюдение. ' +
                'При нестабильности - перевод в реанимацию.';
        } else {
            riskClass = 'risk-critical';
            riskText = 'Критический';
            interpText =
                'Крайне высокий уровень ПКТ. ' +
                'Тяжелый сепсис или септический шок. ' +
                'Множественная органная дисфункция ' +
                'вероятна.';
            recoText =
                'Экстренная помощь. Реанимация. ' +
                'Максимально агрессивная ' +
                'антибиотикотерапия, инфузионная терапия, ' +
                'вазопрессоры при необходимости. ' +
                'Каждый час промедления увеличивает ' +
                'летальность.';
        }
    }

    // Отображение результатов
    var riskBlock = document.getElementById('riskBlock');
    riskBlock.className = riskClass;
    document.getElementById('riskLevel').textContent = riskText;
    document.getElementById('interpretation').textContent = interpText;
    document.getElementById('recommendation').textContent = recoText;

    var noteEl = document.getElementById('resultNote');
    if (noteText) {
        noteEl.textContent = noteText;
        noteEl.style.display = 'block';
    } else {
        noteEl.style.display = 'none';
    }

    resultDiv.classList.add('active');
}
</script>				</div>
				</div>
					</div>
				</div>
				</div>
		<p>Сообщение <a href="https://vracha-na-dom.ru/kalkulyatory/kalkulyator-normy-prokalczitonina/">Калькулятор нормы прокальцитонина</a> появились сначала на <a href="https://vracha-na-dom.ru">Вызов врача на дом</a>.</p>
]]></content:encoded>
					
		
		
			</item>
	</channel>
</rss>
